@objectstack/spec 3.0.3 → 3.0.5
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/{index-CQMwv2XR.d.mts → index-DqAoreZC.d.mts} +58 -2
- package/dist/{index-EQCE4QcX.d.ts → index-DwefKBPG.d.ts} +58 -2
- package/dist/index.d.mts +154 -4
- package/dist/index.d.ts +154 -4
- package/dist/index.js +103 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +101 -5
- package/dist/index.mjs.map +1 -1
- package/dist/kernel/index.d.mts +1 -1
- package/dist/kernel/index.d.ts +1 -1
- package/dist/kernel/index.js +42 -2
- package/dist/kernel/index.js.map +1 -1
- package/dist/kernel/index.mjs +42 -3
- package/dist/kernel/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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- package/json-schema/data/FieldMapping.json +2 -2
- package/json-schema/data/FieldNode.json +2 -2
- package/json-schema/data/FieldReference.json +2 -2
- package/json-schema/data/FieldType.json +2 -2
- package/json-schema/data/FileAttachmentConfig.json +2 -2
- package/json-schema/data/FilterCondition.json +2 -2
- package/json-schema/data/FormatValidation.json +2 -2
- package/json-schema/data/FullTextSearch.json +2 -2
- package/json-schema/data/HookContext.json +2 -2
- package/json-schema/data/HookEvent.json +2 -2
- package/json-schema/data/Index.json +2 -2
- package/json-schema/data/JSONValidation.json +2 -2
- package/json-schema/data/JoinNode.json +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 +2 -2
- package/json-schema/data/ObjectCapabilities.json +2 -2
- package/json-schema/data/ObjectExtension.json +2 -2
- 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 +54 -3
- 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 +52 -0
- 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 +4 -3
- 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 +3042 -2938
- 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/MetadataIconContribution.json +2 -2
- package/json-schema/studio/MetadataViewerContribution.json +2 -2
- package/json-schema/studio/PanelContribution.json +2 -2
- package/json-schema/studio/PanelLocation.json +2 -2
- package/json-schema/studio/SidebarGroupContribution.json +2 -2
- package/json-schema/studio/StudioPluginContributions.json +2 -2
- package/json-schema/studio/StudioPluginManifest.json +2 -2
- package/json-schema/studio/ViewMode.json +2 -2
- package/json-schema/system/AccessControlConfig.json +2 -2
- package/json-schema/system/AddFieldOperation.json +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- package/json-schema/system/ModifyFieldOperation.json +2 -2
- package/json-schema/system/MultipartUploadConfig.json +2 -2
- package/json-schema/system/MutualTLSConfig.json +2 -2
- package/json-schema/system/NotificationChannel.json +2 -2
- package/json-schema/system/NotificationConfig.json +2 -2
- package/json-schema/system/ORSet.json +2 -2
- package/json-schema/system/ORSetElement.json +2 -2
- package/json-schema/system/OTComponent.json +2 -2
- package/json-schema/system/OTOperation.json +2 -2
- package/json-schema/system/OTOperationType.json +2 -2
- package/json-schema/system/OTTransformResult.json +2 -2
- package/json-schema/system/ObjectMetadata.json +2 -2
- package/json-schema/system/ObjectStorageConfig.json +2 -2
- package/json-schema/system/ObjectTranslationData.json +2 -2
- package/json-schema/system/OnceSchedule.json +2 -2
- package/json-schema/system/OpenTelemetryCompatibility.json +2 -2
- package/json-schema/system/OtelExporterType.json +2 -2
- package/json-schema/system/PCIDSSConfig.json +2 -2
- package/json-schema/system/PNCounter.json +2 -2
- package/json-schema/system/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 +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/kernel/cli-extension.zod.ts","../../src/kernel/context.zod.ts","../../src/kernel/dev-plugin.zod.ts","../../src/shared/identifiers.zod.ts","../../src/kernel/events/core.zod.ts","../../src/kernel/events/handlers.zod.ts","../../src/kernel/events/queue.zod.ts","../../src/kernel/events/dlq.zod.ts","../../src/kernel/events/integrations.zod.ts","../../src/kernel/events/bus.zod.ts","../../src/kernel/feature.zod.ts","../../src/kernel/plugin-capability.zod.ts","../../src/kernel/plugin-loading.zod.ts","../../src/kernel/plugin.zod.ts","../../src/data/dataset.zod.ts","../../src/kernel/manifest.zod.ts","../../src/kernel/metadata-customization.zod.ts","../../src/kernel/metadata-loader.zod.ts","../../src/kernel/metadata-plugin.zod.ts","../../src/kernel/package-registry.zod.ts","../../src/kernel/package-upgrade.zod.ts","../../src/kernel/plugin-lifecycle-advanced.zod.ts","../../src/kernel/plugin-lifecycle-events.zod.ts","../../src/kernel/plugin-runtime.zod.ts","../../src/kernel/plugin-security-advanced.zod.ts","../../src/kernel/plugin-structure.zod.ts","../../src/kernel/plugin-validator.zod.ts","../../src/kernel/plugin-versioning.zod.ts","../../src/kernel/service-registry.zod.ts","../../src/kernel/startup-orchestrator.zod.ts","../../src/kernel/plugin-registry.zod.ts","../../src/kernel/plugin-security.zod.ts","../../src/kernel/execution-context.zod.ts"],"names":["z"],"mappings":"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","file":"index.mjs","sourcesContent":["// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # CLI Extension Protocol\n * \n * Defines the contract for plugins that extend the ObjectStack CLI with\n * custom commands. This enables third-party packages (e.g., marketplace,\n * deployment tools) to register new top-level or nested CLI commands.\n * \n * ## How It Works\n * \n * 1. **Declare** — Plugin's manifest declares `contributes.commands` entries.\n * 2. **Discover** — The CLI scans installed plugins for command contributions.\n * 3. **Load** — The CLI dynamically imports the plugin module and registers\n * exported Commander.js `Command` instances.\n * \n * ## Plugin Module Contract\n * \n * The plugin must export commands in one of these forms:\n * \n * ```typescript\n * // Form 1: Named export array\n * export const commands = [marketplaceCommand, deployCommand];\n * \n * // Form 2: Default export (single command)\n * export default marketplaceCommand;\n * \n * // Form 3: Default export (array)\n * export default [marketplaceCommand, deployCommand];\n * ```\n * \n * @example\n * ```typescript\n * // In @acme/plugin-marketplace/src/cli.ts\n * import { Command } from 'commander';\n * \n * const marketplaceCommand = new Command('marketplace')\n * .description('Manage marketplace applications')\n * .addCommand(\n * new Command('publish')\n * .description('Publish app to marketplace')\n * .action(async () => { ... })\n * )\n * .addCommand(\n * new Command('search')\n * .description('Search marketplace apps')\n * .argument('<query>', 'Search query')\n * .action(async (query) => { ... })\n * );\n * \n * export const commands = [marketplaceCommand];\n * ```\n */\n\n/**\n * Schema for a CLI Command Contribution declaration in the manifest.\n * \n * This is the declarative metadata — the actual Commander.js `Command`\n * objects are loaded at runtime from the plugin's module.\n */\nexport const CLICommandContributionSchema = z.object({\n /** \n * CLI command name. Must be a valid identifier: lowercase alphanumeric with hyphens.\n * This becomes a top-level subcommand of the `os` CLI.\n * \n * @example \"marketplace\"\n * @example \"deploy\"\n * @example \"cloud-sync\"\n */\n name: z.string()\n .regex(/^[a-z][a-z0-9-]*$/, 'Command name must be lowercase alphanumeric with hyphens')\n .describe('CLI command name'),\n\n /** Brief description shown in `os --help` output. */\n description: z.string().optional().describe('Command description for help text'),\n\n /** \n * Module path that exports the Commander.js command(s).\n * Relative to the plugin package root. If omitted, the CLI \n * imports from the package's main entry point.\n * \n * The module must export one of:\n * - `export const commands: Command[]`\n * - `export default Command | Command[]`\n * \n * @example \"./dist/cli.js\"\n * @example \"./cli\"\n */\n module: z.string().optional().describe('Module path exporting Commander.js commands'),\n});\n\n/**\n * Schema for the CLI Extension module contract.\n * Validates the shape of what a plugin module should export for CLI integration.\n */\nexport const CLIExtensionExportSchema = z.object({\n /** Named export: array of Commander.js Command instances */\n commands: z.array(z.unknown()).optional()\n .describe('Array of Commander.js Command instances'),\n\n /** Default export: single Command or array of Commands */\n default: z.union([\n z.unknown(),\n z.array(z.unknown()),\n ]).optional()\n .describe('Default export: Command or Command[]'),\n});\n\n// ─── Types ───────────────────────────────────────────────────────────\n\nexport type CLICommandContribution = z.infer<typeof CLICommandContributionSchema>;\nexport type CLIExtensionExport = z.infer<typeof CLIExtensionExportSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Runtime Mode Enum\n * Defines the operating mode of the kernel\n */\nexport const RuntimeMode = z.enum([\n 'development', // Hot-reload, verbose logging\n 'production', // Optimized, strict security\n 'test', // Mocked interfaces\n 'provisioning' // Setup/Migration mode\n]).describe('Kernel operating mode');\n\nexport type RuntimeMode = z.infer<typeof RuntimeMode>;\n\n/**\n * Kernel Context Schema\n * Defines the static environment information available to the Kernel at boot.\n */\nexport const KernelContextSchema = z.object({\n /**\n * Instance Identity\n */\n instanceId: z.string().uuid().describe('Unique UUID for this running kernel process'),\n \n /**\n * Environment Metadata\n */\n mode: RuntimeMode.default('production'),\n version: z.string().describe('Kernel version'),\n appName: z.string().optional().describe('Host application name'),\n \n /**\n * Paths\n */\n cwd: z.string().describe('Current working directory'),\n workspaceRoot: z.string().optional().describe('Workspace root if different from cwd'),\n \n /**\n * Telemetry\n */\n startTime: z.number().int().describe('Boot timestamp (ms)'),\n \n /**\n * Feature Flags (Global)\n */\n features: z.record(z.string(), z.boolean()).default({}).describe('Global feature toggles')\n});\n\nexport type KernelContext = z.infer<typeof KernelContextSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # Dev Mode Plugin Protocol\n *\n * Defines the schema for a development-mode plugin that automatically enables\n * all platform services for local simulation. When loaded as a `devPlugin`,\n * the kernel bootstraps every subsystem (data, UI, API, auth, events, jobs, …)\n * using in-memory or stub implementations so that developers can exercise the\n * full stack without external dependencies.\n *\n * Design goals:\n * - Zero-config by default: `devPlugins: ['@objectstack/plugin-dev']`\n * - Every service can be overridden or disabled individually\n * - Preset profiles (minimal / standard / full) for common scenarios\n *\n * Inspired by:\n * - Spring Boot DevTools (auto-configuration)\n * - Next.js Dev Server (HMR + mock APIs)\n * - Vite Plugin Dev Mode (instant startup)\n */\n\n// ============================================================================\n// Dev Service Override\n// ============================================================================\n\n/**\n * Dev Service Override Schema\n *\n * Allows fine-grained control over a single service in development mode.\n * Each override targets a service by name and specifies whether it should\n * be enabled, which implementation strategy to use, and optional config.\n */\nexport const DevServiceOverrideSchema = z.object({\n /** Service identifier (e.g. 'auth', 'eventBus', 'fileStorage') */\n service: z.string().min(1).describe('Target service identifier'),\n\n /** Whether this service is enabled in dev mode */\n enabled: z.boolean().default(true).describe('Enable or disable this service'),\n\n /**\n * Implementation strategy for the service in dev mode.\n * - mock: Use a mock/stub that records calls (for assertions)\n * - memory: Use a real but in-memory implementation (e.g. SQLite, Map)\n * - stub: Use a static/no-op implementation\n * - passthrough: Use the real production implementation (for integration testing)\n */\n strategy: z.enum(['mock', 'memory', 'stub', 'passthrough']).default('memory')\n .describe('Implementation strategy for development'),\n\n /** Optional per-service configuration (strategy-specific) */\n config: z.record(z.string(), z.unknown()).optional()\n .describe('Strategy-specific configuration for this service override'),\n});\n\nexport type DevServiceOverride = z.infer<typeof DevServiceOverrideSchema>;\n\n// ============================================================================\n// Dev Fixture Configuration\n// ============================================================================\n\n/**\n * Dev Fixture Config Schema\n *\n * Configures automatic seed/fixture data loading in development mode.\n * Fixtures provide a reproducible dataset for local development and demos.\n */\nexport const DevFixtureConfigSchema = z.object({\n /** Whether to load fixtures on startup */\n enabled: z.boolean().default(true).describe('Load fixture data on startup'),\n\n /**\n * Glob patterns pointing to fixture files\n * (e.g. `[\"./fixtures/*.json\", \"./test/data/*.yml\"]`)\n */\n paths: z.array(z.string()).optional()\n .describe('Glob patterns for fixture files'),\n\n /** Whether to reset data before loading fixtures */\n resetBeforeLoad: z.boolean().default(true)\n .describe('Clear existing data before loading fixtures'),\n\n /**\n * Environment tag filter – only load fixtures tagged for these environments.\n * When omitted, all fixtures are loaded.\n */\n envFilter: z.array(z.string()).optional()\n .describe('Only load fixtures matching these environment tags'),\n});\n\nexport type DevFixtureConfig = z.infer<typeof DevFixtureConfigSchema>;\n\n// ============================================================================\n// Dev Tools Configuration\n// ============================================================================\n\n/**\n * Dev Tools Config Schema\n *\n * Optional developer tooling that can be enabled alongside the dev plugin.\n */\nexport const DevToolsConfigSchema = z.object({\n /** Enable hot-module replacement / live reload */\n hotReload: z.boolean().default(true).describe('Enable HMR / live-reload'),\n\n /** Enable request inspector UI for debugging HTTP traffic */\n requestInspector: z.boolean().default(false).describe('Enable request inspector'),\n\n /** Enable an in-browser database explorer */\n dbExplorer: z.boolean().default(false).describe('Enable database explorer UI'),\n\n /** Enable verbose logging across all services */\n verboseLogging: z.boolean().default(true).describe('Enable verbose logging'),\n\n /** Enable OpenAPI / Swagger documentation endpoint */\n apiDocs: z.boolean().default(true).describe('Serve OpenAPI docs at /_dev/docs'),\n\n /** Enable a mail catcher for outbound email (like MailHog) */\n mailCatcher: z.boolean().default(false).describe('Capture outbound emails in dev'),\n});\n\nexport type DevToolsConfig = z.infer<typeof DevToolsConfigSchema>;\n\n// ============================================================================\n// Dev Plugin Preset\n// ============================================================================\n\n/**\n * Dev Plugin Preset\n *\n * Predefined configuration profiles for common development scenarios.\n * - minimal: Only core data services (fast startup, low memory)\n * - standard: Core + API + auth + events (typical full-stack dev)\n * - full: Every service enabled, including background jobs and AI agents\n */\nexport const DevPluginPreset = z.enum([\n 'minimal',\n 'standard',\n 'full',\n]).describe('Predefined dev configuration profile');\n\nexport type DevPluginPreset = z.infer<typeof DevPluginPreset>;\n\n// ============================================================================\n// Dev Plugin Configuration\n// ============================================================================\n\n/**\n * Dev Plugin Config Schema\n *\n * Top-level configuration for the development-mode plugin.\n * This is the shape of the configuration payload that\n * `@objectstack/plugin-dev` (or equivalent) understands.\n *\n * The outer wiring (e.g. how a stack declares `devPlugins`) is defined\n * by the stack/manifest schemas; this type only describes the plugin's\n * own config object.\n *\n * @example Minimal usage (zero-config)\n * ```ts\n * const devConfig: DevPluginConfig = {};\n * ```\n *\n * @example With preset\n * ```ts\n * const devConfig: DevPluginConfig = {\n * preset: 'full',\n * };\n * ```\n *\n * @example Fine-grained overrides\n * ```ts\n * const devConfig: DevPluginConfig = {\n * preset: 'standard',\n * services: {\n * auth: { enabled: true, strategy: 'mock' },\n * fileStorage: { enabled: false },\n * },\n * fixtures: { paths: ['./fixtures/*.json'] },\n * tools: { dbExplorer: true },\n * };\n * ```\n */\nexport const DevPluginConfigSchema = z.object({\n /**\n * Configuration preset.\n * When provided, services and tools are pre-configured for the selected\n * profile. Individual `services` and `tools` settings override the preset.\n * @default 'standard'\n */\n preset: DevPluginPreset.default('standard')\n .describe('Base configuration preset'),\n\n /**\n * Per-service overrides.\n * Keys are service names; values configure the dev strategy.\n * Only services explicitly listed here override the preset defaults.\n */\n services: z.record(\n z.string().min(1),\n DevServiceOverrideSchema.omit({ service: true }),\n ).optional().describe('Per-service dev overrides keyed by service name'),\n\n /** Fixture / seed data configuration */\n fixtures: DevFixtureConfigSchema.optional()\n .describe('Fixture data loading configuration'),\n\n /** Developer tooling configuration */\n tools: DevToolsConfigSchema.optional()\n .describe('Developer tooling settings'),\n\n /**\n * Port for the dev-tools UI dashboard.\n * Serves a lightweight web dashboard for inspecting services, events,\n * and request logs during development.\n * @default 4400\n */\n port: z.number().int().min(1).max(65535).default(4400)\n .describe('Port for the dev-tools dashboard'),\n\n /**\n * Auto-open the dev-tools dashboard in the default browser on startup.\n */\n open: z.boolean().default(false)\n .describe('Auto-open dev dashboard in browser'),\n\n /**\n * Seed a default admin user for development.\n * When enabled, the dev plugin creates a pre-authenticated admin user\n * so that developers can bypass login flows.\n */\n seedAdminUser: z.boolean().default(true)\n .describe('Create a default admin user for development'),\n\n /**\n * Simulated latency (ms) to add to service calls.\n * Helps developers build UIs that handle loading states correctly.\n * Set to 0 to disable.\n */\n simulatedLatency: z.number().int().min(0).default(0)\n .describe('Artificial latency (ms) added to service calls'),\n});\n\nexport type DevPluginConfig = z.infer<typeof DevPluginConfigSchema>;\nexport type DevPluginConfigInput = z.input<typeof DevPluginConfigSchema>;\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 { EventNameSchema } from '../../shared/identifiers.zod';\n\n// ==========================================\n// Event Priority\n// ==========================================\n\n/**\n * Event Priority Enum\n * Priority levels for event processing\n * Lower numbers = higher priority\n */\nexport const EventPriority = z.enum([\n 'critical', // 0 - Process immediately, block if necessary\n 'high', // 1 - Process soon, minimal delay\n 'normal', // 2 - Default priority\n 'low', // 3 - Process when resources available\n 'background', // 4 - Process during idle time\n]);\n\nexport type EventPriority = z.infer<typeof EventPriority>;\n\n/**\n * Event Priority Values\n * Maps priority names to numeric values for sorting\n */\nexport const EVENT_PRIORITY_VALUES: Record<EventPriority, number> = {\n critical: 0,\n high: 1,\n normal: 2,\n low: 3,\n background: 4,\n};\n\n// ==========================================\n// Event Metadata\n// ==========================================\n\n/**\n * Event Metadata Schema\n * Metadata associated with every event\n */\nexport const EventMetadataSchema = z.object({\n source: z.string().describe('Event source (e.g., plugin name, system component)'),\n timestamp: z.string().datetime().describe('ISO 8601 datetime when event was created'),\n userId: z.string().optional().describe('User who triggered the event'),\n tenantId: z.string().optional().describe('Tenant identifier for multi-tenant systems'),\n correlationId: z.string().optional().describe('Correlation ID for event tracing'),\n causationId: z.string().optional().describe('ID of the event that caused this event'),\n priority: EventPriority.optional().default('normal').describe('Event priority'),\n});\n\n// ==========================================\n// Event Schema\n// ==========================================\n\n/**\n * Event Type Definition Schema\n * Defines the structure of an event type\n * \n * @example\n * {\n * \"name\": \"order.created\",\n * \"version\": \"1.0.0\",\n * \"schema\": {\n * \"type\": \"object\",\n * \"properties\": {\n * \"orderId\": { \"type\": \"string\" },\n * \"customerId\": { \"type\": \"string\" },\n * \"total\": { \"type\": \"number\" }\n * }\n * }\n * }\n */\nexport const EventTypeDefinitionSchema = z.object({\n name: EventNameSchema.describe('Event type name (lowercase with dots)'),\n version: z.string().default('1.0.0').describe('Event schema version'),\n schema: z.unknown().optional().describe('JSON Schema for event payload validation'),\n description: z.string().optional().describe('Event type description'),\n deprecated: z.boolean().optional().default(false).describe('Whether this event type is deprecated'),\n tags: z.array(z.string()).optional().describe('Event type tags'),\n});\n\nexport type EventTypeDefinition = z.infer<typeof EventTypeDefinitionSchema>;\n\n/**\n * Event Schema\n * Base schema for all events in the system\n * \n * Event names follow dot notation for namespacing (e.g., 'user.created', 'order.paid').\n * This aligns with industry standards for event-driven architectures and message queues.\n */\nexport const EventSchema = z.object({\n /**\n * Event identifier (for tracking and deduplication)\n */\n id: z.string().optional().describe('Unique event identifier'),\n \n /**\n * Event name\n */\n name: EventNameSchema.describe('Event name (lowercase with dots, e.g., user.created, order.paid)'),\n \n /**\n * Event payload\n */\n payload: z.unknown().describe('Event payload schema'),\n \n /**\n * Event metadata\n */\n metadata: EventMetadataSchema.describe('Event metadata'),\n});\n\nexport type Event = z.infer<typeof EventSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n// ==========================================\n// Event Handlers\n// ==========================================\n\n/**\n * Event Handler Schema\n * Defines how to handle a specific event\n */\nexport const EventHandlerSchema = z.object({\n /**\n * Handler identifier\n */\n id: z.string().optional().describe('Unique handler identifier'),\n \n /**\n * Event name pattern\n */\n eventName: z.string().describe('Name of event to handle (supports wildcards like user.*)'),\n \n /**\n * Handler function\n */\n handler: z.unknown()\n .describe('Handler function'),\n \n /**\n * Execution priority\n */\n priority: z.number().int().default(0).describe('Execution priority (lower numbers execute first)'),\n \n /**\n * Async execution\n */\n async: z.boolean().default(true).describe('Execute in background (true) or block (false)'),\n \n /**\n * Retry configuration\n */\n retry: z.object({\n maxRetries: z.number().int().min(0).default(3).describe('Maximum retry attempts'),\n backoffMs: z.number().int().positive().default(1000).describe('Initial backoff delay'),\n backoffMultiplier: z.number().positive().default(2).describe('Backoff multiplier'),\n }).optional().describe('Retry policy for failed handlers'),\n \n /**\n * Timeout\n */\n timeoutMs: z.number().int().positive().optional().describe('Handler timeout in milliseconds'),\n \n /**\n * Filter function\n */\n filter: z.unknown()\n .optional()\n .describe('Optional filter to determine if handler should execute'),\n});\n\nexport type EventHandler = z.infer<typeof EventHandlerSchema>;\n\n/**\n * Event Route Schema\n * Routes events from one pattern to multiple targets with optional transformation\n */\nexport const EventRouteSchema = z.object({\n from: z.string().describe('Source event pattern (supports wildcards, e.g., user.* or *.created)'),\n to: z.array(z.string()).describe('Target event names to route to'),\n transform: z.unknown().optional().describe('Optional function to transform payload'),\n});\n\nexport type EventRoute = z.infer<typeof EventRouteSchema>;\n\n/**\n * Event Persistence Schema\n * Configuration for persisting events to storage\n */\nexport const EventPersistenceSchema = z.object({\n enabled: z.boolean().default(false).describe('Enable event persistence'),\n retention: z.number().int().positive().describe('Days to retain persisted events'),\n filter: z.unknown().optional().describe('Optional filter function to select which events to persist'),\n storage: z.enum(['database', 'file', 's3', 'custom']).default('database')\n .describe('Storage backend for persisted events'),\n});\n\nexport type EventPersistence = z.infer<typeof EventPersistenceSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n// ==========================================\n// Event Queue\n// ==========================================\n\n/**\n * Event Queue Configuration Schema\n * Configuration for async event processing queue\n * \n * @example\n * {\n * \"name\": \"event_queue\",\n * \"concurrency\": 10,\n * \"retryPolicy\": {\n * \"maxRetries\": 3,\n * \"backoffStrategy\": \"exponential\"\n * }\n * }\n */\nexport const EventQueueConfigSchema = z.object({\n /**\n * Queue name\n */\n name: z.string().default('events').describe('Event queue name'),\n \n /**\n * Concurrency\n */\n concurrency: z.number().int().min(1).default(10).describe('Max concurrent event handlers'),\n \n /**\n * Retry policy\n */\n retryPolicy: z.object({\n maxRetries: z.number().int().min(0).default(3).describe('Max retries for failed events'),\n backoffStrategy: z.enum(['fixed', 'linear', 'exponential']).default('exponential')\n .describe('Backoff strategy'),\n initialDelayMs: z.number().int().positive().default(1000).describe('Initial retry delay'),\n maxDelayMs: z.number().int().positive().default(60000).describe('Maximum retry delay'),\n }).optional().describe('Default retry policy for events'),\n \n /**\n * Dead letter queue\n */\n deadLetterQueue: z.string().optional().describe('Dead letter queue name for failed events'),\n \n /**\n * Enable priority processing\n */\n priorityEnabled: z.boolean().default(true).describe('Process events based on priority'),\n});\n\nexport type EventQueueConfig = z.infer<typeof EventQueueConfigSchema>;\n\n// ==========================================\n// Event Replay\n// ==========================================\n\n/**\n * Event Replay Configuration Schema\n * Configuration for replaying historical events\n * \n * @example\n * {\n * \"fromTimestamp\": \"2024-01-01T00:00:00Z\",\n * \"toTimestamp\": \"2024-01-31T23:59:59Z\",\n * \"eventTypes\": [\"order.created\", \"order.updated\"],\n * \"speed\": 10\n * }\n */\nexport const EventReplayConfigSchema = z.object({\n /**\n * Start timestamp\n */\n fromTimestamp: z.string().datetime().describe('Start timestamp for replay (ISO 8601)'),\n \n /**\n * End timestamp\n */\n toTimestamp: z.string().datetime().optional().describe('End timestamp for replay (ISO 8601)'),\n \n /**\n * Event types to replay\n */\n eventTypes: z.array(z.string()).optional().describe('Event types to replay (empty = all)'),\n \n /**\n * Event filters\n */\n filters: z.record(z.string(), z.unknown()).optional().describe('Additional filters for event selection'),\n \n /**\n * Replay speed multiplier\n */\n speed: z.number().positive().default(1).describe('Replay speed multiplier (1 = real-time)'),\n \n /**\n * Target handlers\n */\n targetHandlers: z.array(z.string()).optional().describe('Handler IDs to execute (empty = all)'),\n});\n\nexport type EventReplayConfig = z.infer<typeof EventReplayConfigSchema>;\n\n// ==========================================\n// Event Sourcing\n// ==========================================\n\n/**\n * Event Sourcing Configuration Schema\n * Configuration for event sourcing pattern\n * \n * Event sourcing stores all changes to application state as a sequence of events.\n * The current state can be reconstructed by replaying the events.\n * \n * @example\n * {\n * \"enabled\": true,\n * \"snapshotInterval\": 100,\n * \"retention\": 365\n * }\n */\nexport const EventSourcingConfigSchema = z.object({\n /**\n * Enable event sourcing\n */\n enabled: z.boolean().default(false).describe('Enable event sourcing'),\n \n /**\n * Snapshot interval\n */\n snapshotInterval: z.number().int().positive().default(100)\n .describe('Create snapshot every N events'),\n \n /**\n * Snapshot retention\n */\n snapshotRetention: z.number().int().positive().default(10)\n .describe('Number of snapshots to retain'),\n \n /**\n * Event retention\n */\n retention: z.number().int().positive().default(365)\n .describe('Days to retain events'),\n \n /**\n * Aggregate types\n */\n aggregateTypes: z.array(z.string()).optional()\n .describe('Aggregate types to enable event sourcing for'),\n \n /**\n * Storage configuration\n */\n storage: z.object({\n type: z.enum(['database', 'file', 's3', 'eventstore']).default('database')\n .describe('Storage backend'),\n options: z.record(z.string(), z.unknown()).optional().describe('Storage-specific options'),\n }).optional().describe('Event store configuration'),\n});\n\nexport type EventSourcingConfig = z.infer<typeof EventSourcingConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { EventSchema } from './core.zod';\n\n// ==========================================\n// Dead Letter Queue\n// ==========================================\n\n/**\n * Dead Letter Queue Entry Schema\n * Represents a failed event in the dead letter queue\n */\nexport const DeadLetterQueueEntrySchema = z.object({\n /**\n * Entry identifier\n */\n id: z.string().describe('Unique entry identifier'),\n \n /**\n * Original event\n */\n event: EventSchema.describe('Original event'),\n \n /**\n * Failure reason\n */\n error: z.object({\n message: z.string().describe('Error message'),\n stack: z.string().optional().describe('Error stack trace'),\n code: z.string().optional().describe('Error code'),\n }).describe('Failure details'),\n \n /**\n * Retry count\n */\n retries: z.number().int().min(0).describe('Number of retry attempts'),\n \n /**\n * Timestamps\n */\n firstFailedAt: z.string().datetime().describe('When event first failed'),\n lastFailedAt: z.string().datetime().describe('When event last failed'),\n \n /**\n * Handler that failed\n */\n failedHandler: z.string().optional().describe('Handler ID that failed'),\n});\n\nexport type DeadLetterQueueEntry = z.infer<typeof DeadLetterQueueEntrySchema>;\n\n// ==========================================\n// Event Log\n// ==========================================\n\n/**\n * Event Log Entry Schema\n * Represents a logged event\n */\nexport const EventLogEntrySchema = z.object({\n /**\n * Log entry ID\n */\n id: z.string().describe('Unique log entry identifier'),\n \n /**\n * Event\n */\n event: EventSchema.describe('The event'),\n \n /**\n * Status\n */\n status: z.enum(['pending', 'processing', 'completed', 'failed']).describe('Processing status'),\n \n /**\n * Handlers executed\n */\n handlersExecuted: z.array(z.object({\n handlerId: z.string().describe('Handler identifier'),\n status: z.enum(['success', 'failed', 'timeout']).describe('Handler execution status'),\n durationMs: z.number().int().optional().describe('Execution duration'),\n error: z.string().optional().describe('Error message if failed'),\n })).optional().describe('Handlers that processed this event'),\n \n /**\n * Timestamps\n */\n receivedAt: z.string().datetime().describe('When event was received'),\n processedAt: z.string().datetime().optional().describe('When event was processed'),\n \n /**\n * Total duration\n */\n totalDurationMs: z.number().int().optional().describe('Total processing time'),\n});\n\nexport type EventLogEntry = z.infer<typeof EventLogEntrySchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n// ==========================================\n// Webhook Integration\n// ==========================================\n\n/**\n * Event Webhook Configuration Schema\n * Configuration for sending events to webhooks\n * \n * @example\n * {\n * \"eventPattern\": \"order.*\",\n * \"url\": \"https://api.example.com/webhooks/orders\",\n * \"method\": \"POST\",\n * \"headers\": { \"Authorization\": \"Bearer token\" }\n * }\n */\nexport const EventWebhookConfigSchema = z.object({\n /**\n * Webhook identifier\n */\n id: z.string().optional().describe('Unique webhook identifier'),\n \n /**\n * Event pattern to match\n */\n eventPattern: z.string().describe('Event name pattern (supports wildcards)'),\n \n /**\n * Target URL\n */\n url: z.string().url().describe('Webhook endpoint URL'),\n \n /**\n * HTTP method\n */\n method: z.enum(['GET', 'POST', 'PUT', 'PATCH']).default('POST').describe('HTTP method'),\n \n /**\n * Headers\n */\n headers: z.record(z.string(), z.string()).optional().describe('HTTP headers'),\n \n /**\n * Authentication\n */\n authentication: z.object({\n type: z.enum(['none', 'bearer', 'basic', 'api-key']).describe('Auth type'),\n credentials: z.record(z.string(), z.string()).optional().describe('Auth credentials'),\n }).optional().describe('Authentication configuration'),\n \n /**\n * Retry policy\n */\n retryPolicy: z.object({\n maxRetries: z.number().int().min(0).default(3).describe('Max retry attempts'),\n backoffStrategy: z.enum(['fixed', 'linear', 'exponential']).default('exponential'),\n initialDelayMs: z.number().int().positive().default(1000).describe('Initial retry delay'),\n maxDelayMs: z.number().int().positive().default(60000).describe('Max retry delay'),\n }).optional().describe('Retry policy'),\n \n /**\n * Timeout\n */\n timeoutMs: z.number().int().positive().default(30000).describe('Request timeout in milliseconds'),\n \n /**\n * Event transformation\n */\n transform: z.unknown()\n .optional()\n .describe('Transform event before sending'),\n \n /**\n * Enabled\n */\n enabled: z.boolean().default(true).describe('Whether webhook is enabled'),\n});\n\nexport type EventWebhookConfig = z.infer<typeof EventWebhookConfigSchema>;\n\n// ==========================================\n// Message Queue Integration\n// ==========================================\n\n/**\n * Event Message Queue Configuration Schema\n * Configuration for publishing events to message queues\n * \n * @example\n * {\n * \"provider\": \"kafka\",\n * \"topic\": \"events\",\n * \"eventPattern\": \"*\",\n * \"partitionKey\": \"metadata.tenantId\"\n * }\n */\nexport const EventMessageQueueConfigSchema = z.object({\n /**\n * Provider\n */\n provider: z.enum(['kafka', 'rabbitmq', 'aws-sqs', 'redis-pubsub', 'google-pubsub', 'azure-service-bus'])\n .describe('Message queue provider'),\n \n /**\n * Topic/Queue name\n */\n topic: z.string().describe('Topic or queue name'),\n \n /**\n * Event pattern\n */\n eventPattern: z.string().default('*').describe('Event name pattern to publish (supports wildcards)'),\n \n /**\n * Partition key\n */\n partitionKey: z.string().optional().describe('JSON path for partition key (e.g., \"metadata.tenantId\")'),\n \n /**\n * Message format\n */\n format: z.enum(['json', 'avro', 'protobuf']).default('json').describe('Message serialization format'),\n \n /**\n * Include metadata\n */\n includeMetadata: z.boolean().default(true).describe('Include event metadata in message'),\n \n /**\n * Compression\n */\n compression: z.enum(['none', 'gzip', 'snappy', 'lz4']).default('none').describe('Message compression'),\n \n /**\n * Batch size\n */\n batchSize: z.number().int().min(1).default(1).describe('Batch size for publishing'),\n \n /**\n * Flush interval\n */\n flushIntervalMs: z.number().int().positive().default(1000).describe('Flush interval for batching'),\n});\n\nexport type EventMessageQueueConfig = z.infer<typeof EventMessageQueueConfigSchema>;\n\n// ==========================================\n// Real-time Notifications\n// ==========================================\n\n/**\n * Real-time Notification Configuration Schema\n * Configuration for real-time event notifications via WebSocket/SSE\n * \n * @example\n * {\n * \"enabled\": true,\n * \"protocol\": \"websocket\",\n * \"eventPattern\": \"notification.*\",\n * \"userFilter\": true\n * }\n */\nexport const RealTimeNotificationConfigSchema = z.object({\n /**\n * Enable real-time notifications\n */\n enabled: z.boolean().default(true).describe('Enable real-time notifications'),\n \n /**\n * Protocol\n */\n protocol: z.enum(['websocket', 'sse', 'long-polling']).default('websocket')\n .describe('Real-time protocol'),\n \n /**\n * Event pattern\n */\n eventPattern: z.string().default('*').describe('Event pattern to broadcast'),\n \n /**\n * User-specific filtering\n */\n userFilter: z.boolean().default(true).describe('Filter events by user'),\n \n /**\n * Tenant-specific filtering\n */\n tenantFilter: z.boolean().default(true).describe('Filter events by tenant'),\n \n /**\n * Channels\n */\n channels: z.array(z.object({\n name: z.string().describe('Channel name'),\n eventPattern: z.string().describe('Event pattern for channel'),\n filter: z.unknown()\n .optional()\n .describe('Additional filter function'),\n })).optional().describe('Named channels for event broadcasting'),\n \n /**\n * Rate limiting\n */\n rateLimit: z.object({\n maxEventsPerSecond: z.number().int().positive().describe('Max events per second per client'),\n windowMs: z.number().int().positive().default(1000).describe('Rate limit window'),\n }).optional().describe('Rate limiting configuration'),\n});\n\nexport type RealTimeNotificationConfig = z.infer<typeof RealTimeNotificationConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { EventTypeDefinitionSchema } from './core.zod';\nimport { EventHandlerSchema, EventPersistenceSchema } from './handlers.zod';\nimport { EventQueueConfigSchema, EventSourcingConfigSchema } from './queue.zod';\nimport { EventWebhookConfigSchema, EventMessageQueueConfigSchema, RealTimeNotificationConfigSchema } from './integrations.zod';\n\n// ==========================================\n// Complete Event Bus Configuration\n// ==========================================\n\n/**\n * Event Bus Configuration Schema\n * Complete configuration for the event bus system\n * \n * @example\n * {\n * \"persistence\": { \"enabled\": true, \"retention\": 365 },\n * \"queue\": { \"concurrency\": 20 },\n * \"eventSourcing\": { \"enabled\": true },\n * \"webhooks\": [],\n * \"messageQueue\": { \"provider\": \"kafka\", \"topic\": \"events\" },\n * \"realtime\": { \"enabled\": true, \"protocol\": \"websocket\" }\n * }\n */\nexport const EventBusConfigSchema = z.object({\n /**\n * Event persistence\n */\n persistence: EventPersistenceSchema.optional().describe('Event persistence configuration'),\n \n /**\n * Event queue\n */\n queue: EventQueueConfigSchema.optional().describe('Event queue configuration'),\n \n /**\n * Event sourcing\n */\n eventSourcing: EventSourcingConfigSchema.optional().describe('Event sourcing configuration'),\n \n /**\n * Event replay\n */\n replay: z.object({\n enabled: z.boolean().default(true).describe('Enable event replay capability'),\n }).optional().describe('Event replay configuration'),\n \n /**\n * Webhooks\n */\n webhooks: z.array(EventWebhookConfigSchema).optional().describe('Webhook configurations'),\n \n /**\n * Message queue integration\n */\n messageQueue: EventMessageQueueConfigSchema.optional().describe('Message queue integration'),\n \n /**\n * Real-time notifications\n */\n realtime: RealTimeNotificationConfigSchema.optional().describe('Real-time notification configuration'),\n \n /**\n * Event type definitions\n */\n eventTypes: z.array(EventTypeDefinitionSchema).optional().describe('Event type definitions'),\n \n /**\n * Global handlers\n */\n handlers: z.array(EventHandlerSchema).optional().describe('Global event handlers'),\n});\n\nexport type EventBusConfig = z.infer<typeof EventBusConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\n\n/**\n * Feature Rollout Strategy\n */\nexport const FeatureStrategy = z.enum([\n 'boolean', // Simple On/Off\n 'percentage', // Gradual rollout (0-100%)\n 'user_list', // Specific users\n 'group', // Specific groups/roles\n 'custom' // Custom constraint/script\n]);\n\n/**\n * Feature Flag Protocol\n * \n * Manages feature toggles and gradual rollouts.\n * Used for CI/CD, A/B Testing, and Trunk-Based Development.\n */\nexport const FeatureFlagSchema = z.object({\n name: SnakeCaseIdentifierSchema.describe('Feature key (snake_case)'),\n label: z.string().optional().describe('Display label'),\n description: z.string().optional(),\n \n /** Default state */\n enabled: z.boolean().default(false).describe('Is globally enabled'),\n \n /** Rollout Strategy */\n strategy: FeatureStrategy.default('boolean'),\n \n /** Strategy Configuration */\n conditions: z.object({\n percentage: z.number().min(0).max(100).optional(),\n users: z.array(z.string()).optional(),\n groups: z.array(z.string()).optional(),\n expression: z.string().optional().describe('Custom formula expression')\n }).optional(),\n \n /** Integration */\n environment: z.enum(['dev', 'staging', 'prod', 'all']).default('all')\n .describe('Environment validity'),\n \n /** Expiration */\n expiresAt: z.string().datetime().optional().describe('Feature flag expiration date'),\n});\n\nexport const FeatureFlag = Object.assign(FeatureFlagSchema, {\n create: <T extends z.input<typeof FeatureFlagSchema>>(config: T) => config,\n});\n\nexport type FeatureFlag = z.infer<typeof FeatureFlagSchema>;\nexport type FeatureFlagInput = z.input<typeof FeatureFlagSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # Plugin Capability Protocol\n * \n * Defines the standard way plugins declare their capabilities, implementations,\n * and conformance levels to ensure interoperability across vendors.\n * \n * Based on the Protocol-Oriented Architecture pattern similar to:\n * - Kubernetes CRDs (Custom Resource Definitions)\n * - OSGi Service Registry\n * - Eclipse Extension Points\n */\n\n/**\n * Capability Conformance Level\n * Indicates how completely a plugin implements a given protocol.\n */\nexport const CapabilityConformanceLevelSchema = z.enum([\n 'full', // Complete implementation of all protocol features\n 'partial', // Subset implementation with specific features listed\n 'experimental', // Unstable/preview implementation\n 'deprecated', // Still supported but scheduled for removal\n]).describe('Level of protocol conformance');\n\n/**\n * Protocol Version Schema\n * Uses semantic versioning to track protocol evolution.\n */\nexport const ProtocolVersionSchema = z.object({\n major: z.number().int().min(0),\n minor: z.number().int().min(0),\n patch: z.number().int().min(0),\n}).describe('Semantic version of the protocol');\n\n/**\n * Protocol Reference\n * Uniquely identifies a protocol/interface that a plugin can implement.\n * \n * Examples:\n * - com.objectstack.protocol.storage.v1\n * - com.objectstack.protocol.auth.oauth2.v2\n * - com.acme.protocol.payment.stripe.v1\n */\nexport const ProtocolReferenceSchema = z.object({\n /**\n * Protocol identifier using reverse domain notation.\n * Format: {domain}.protocol.{category}.{name}[.{subcategory}].v{major}\n */\n id: z.string()\n .regex(/^([a-z][a-z0-9]*\\.)+protocol\\.[a-z][a-z0-9._]*\\.v\\d+$/)\n .describe('Unique protocol identifier (e.g., com.objectstack.protocol.storage.v1)'),\n \n /**\n * Human-readable protocol name\n */\n label: z.string(),\n \n /**\n * Protocol version\n */\n version: ProtocolVersionSchema,\n \n /**\n * Detailed protocol specification URL or file reference\n */\n specification: z.string().optional().describe('URL or path to protocol specification'),\n \n /**\n * Brief description of what this protocol defines\n */\n description: z.string().optional(),\n});\n\n/**\n * Protocol Feature\n * Represents a specific capability within a protocol.\n */\nexport const ProtocolFeatureSchema = z.object({\n name: z.string().describe('Feature identifier within the protocol'),\n enabled: z.boolean().default(true),\n description: z.string().optional(),\n sinceVersion: z.string().optional().describe('Version when this feature was added'),\n deprecatedSince: z.string().optional().describe('Version when deprecated'),\n});\n\n/**\n * Plugin Capability Declaration\n * Documents what protocols a plugin implements and to what extent.\n */\nexport const PluginCapabilitySchema = z.object({\n /**\n * The protocol being implemented\n */\n protocol: ProtocolReferenceSchema,\n \n /**\n * Conformance level\n */\n conformance: CapabilityConformanceLevelSchema.default('full'),\n \n /**\n * Specific features implemented (required if conformance is 'partial')\n */\n implementedFeatures: z.array(z.string()).optional().describe('List of implemented feature names'),\n \n /**\n * Optional feature flags indicating advanced capabilities\n */\n features: z.array(ProtocolFeatureSchema).optional(),\n \n /**\n * Custom metadata for vendor-specific information\n */\n metadata: z.record(z.string(), z.unknown()).optional(),\n \n /**\n * Testing/Certification status\n */\n certified: z.boolean().default(false).describe('Has passed official conformance tests'),\n certificationDate: z.string().datetime().optional(),\n});\n\n/**\n * Plugin Interface Declaration\n * Defines the contract for services this plugin provides to other plugins.\n */\nexport const PluginInterfaceSchema = z.object({\n /**\n * Unique interface identifier\n * Format: {plugin-id}.interface.{name}\n */\n id: z.string()\n .regex(/^([a-z][a-z0-9]*\\.)+interface\\.[a-z][a-z0-9._]+$/)\n .describe('Unique interface identifier'),\n \n /**\n * Interface name\n */\n name: z.string(),\n \n /**\n * Description of what this interface provides\n */\n description: z.string().optional(),\n \n /**\n * Interface version\n */\n version: ProtocolVersionSchema,\n \n /**\n * Methods exposed by this interface\n */\n methods: z.array(z.object({\n name: z.string().describe('Method name'),\n description: z.string().optional(),\n parameters: z.array(z.object({\n name: z.string(),\n type: z.string().describe('Type notation (e.g., string, number, User)'),\n required: z.boolean().default(true),\n description: z.string().optional(),\n })).optional(),\n returnType: z.string().optional().describe('Return value type'),\n async: z.boolean().default(false).describe('Whether method returns a Promise'),\n })),\n \n /**\n * Events emitted by this interface\n */\n events: z.array(z.object({\n name: z.string().describe('Event name'),\n description: z.string().optional(),\n payload: z.string().optional().describe('Event payload type'),\n })).optional(),\n \n /**\n * Stability level\n */\n stability: z.enum(['stable', 'beta', 'alpha', 'experimental']).default('stable'),\n});\n\n/**\n * Plugin Dependency Declaration\n * Specifies what other plugins or capabilities this plugin requires.\n */\nexport const PluginDependencySchema = z.object({\n /**\n * Plugin ID using reverse domain notation\n */\n pluginId: z.string()\n .regex(/^([a-z][a-z0-9]*\\.)+[a-z][a-z0-9-]+$/)\n .describe('Required plugin identifier'),\n \n /**\n * Version constraint (supports semver ranges)\n * Examples: \"1.0.0\", \"^1.2.3\", \">=2.0.0 <3.0.0\"\n */\n version: z.string().describe('Semantic version constraint'),\n \n /**\n * Whether this dependency is optional\n */\n optional: z.boolean().default(false),\n \n /**\n * Reason for the dependency\n */\n reason: z.string().optional(),\n \n /**\n * Minimum required capabilities from the dependency\n */\n requiredCapabilities: z.array(z.string()).optional().describe('Protocol IDs the dependency must support'),\n});\n\n/**\n * Extension Point Declaration\n * Defines hooks where other plugins can extend this plugin's functionality.\n */\nexport const ExtensionPointSchema = z.object({\n /**\n * Extension point identifier\n */\n id: z.string()\n .regex(/^([a-z][a-z0-9]*\\.)+extension\\.[a-z][a-z0-9._]+$/)\n .describe('Unique extension point identifier'),\n \n /**\n * Extension point name\n */\n name: z.string(),\n \n /**\n * Description\n */\n description: z.string().optional(),\n \n /**\n * Type of extension point\n */\n type: z.enum([\n 'action', // Plugins can register executable actions\n 'hook', // Plugins can listen to lifecycle events\n 'widget', // Plugins can contribute UI widgets\n 'provider', // Plugins can provide data/services\n 'transformer', // Plugins can transform data\n 'validator', // Plugins can validate data\n 'decorator', // Plugins can enhance/wrap functionality\n ]),\n \n /**\n * Expected interface contract for extensions\n */\n contract: z.object({\n input: z.string().optional().describe('Input type/schema'),\n output: z.string().optional().describe('Output type/schema'),\n signature: z.string().optional().describe('Function signature if applicable'),\n }).optional(),\n \n /**\n * Cardinality\n */\n cardinality: z.enum(['single', 'multiple']).default('multiple')\n .describe('Whether multiple extensions can register to this point'),\n});\n\n/**\n * Complete Plugin Capability Manifest\n * This is included in the main plugin manifest to declare all capabilities.\n */\nexport const PluginCapabilityManifestSchema = z.object({\n /**\n * Protocols this plugin implements\n */\n implements: z.array(PluginCapabilitySchema).optional()\n .describe('List of protocols this plugin conforms to'),\n \n /**\n * Interfaces this plugin exposes to other plugins\n */\n provides: z.array(PluginInterfaceSchema).optional()\n .describe('Services/APIs this plugin offers to others'),\n \n /**\n * Dependencies on other plugins\n */\n requires: z.array(PluginDependencySchema).optional()\n .describe('Required plugins and their capabilities'),\n \n /**\n * Extension points this plugin defines\n */\n extensionPoints: z.array(ExtensionPointSchema).optional()\n .describe('Points where other plugins can extend this plugin'),\n \n /**\n * Extensions this plugin contributes to other plugins\n */\n extensions: z.array(z.object({\n targetPluginId: z.string().describe('Plugin ID being extended'),\n extensionPointId: z.string().describe('Extension point identifier'),\n implementation: z.string().describe('Path to implementation module'),\n priority: z.number().int().default(100).describe('Registration priority (lower = higher priority)'),\n })).optional().describe('Extensions contributed to other plugins'),\n});\n\n// Export types\nexport type CapabilityConformanceLevel = z.infer<typeof CapabilityConformanceLevelSchema>;\nexport type ProtocolVersion = z.infer<typeof ProtocolVersionSchema>;\nexport type ProtocolReference = z.infer<typeof ProtocolReferenceSchema>;\nexport type ProtocolFeature = z.infer<typeof ProtocolFeatureSchema>;\nexport type PluginCapability = z.infer<typeof PluginCapabilitySchema>;\nexport type PluginInterface = z.infer<typeof PluginInterfaceSchema>;\nexport type PluginDependency = z.infer<typeof PluginDependencySchema>;\nexport type ExtensionPoint = z.infer<typeof ExtensionPointSchema>;\nexport type PluginCapabilityManifest = z.infer<typeof PluginCapabilityManifestSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # Plugin Loading Protocol\n * \n * Defines the enhanced plugin loading mechanism for the microkernel architecture.\n * Inspired by industry best practices from:\n * - Kubernetes CRDs and Operators\n * - OSGi Dynamic Module System\n * - Eclipse Plugin Framework\n * - Webpack Module Federation\n * \n * This protocol enables:\n * - Lazy loading and code splitting\n * - Dynamic imports and parallel initialization\n * - Capability-based discovery\n * - Hot reload in development\n * - Advanced caching strategies\n */\n\n/**\n * Plugin Loading Strategy\n * Determines how and when a plugin is loaded into memory\n */\nexport const PluginLoadingStrategySchema = z.enum([\n 'eager', // Load immediately during bootstrap (critical plugins)\n 'lazy', // Load on first use (feature plugins)\n 'parallel', // Load in parallel with other plugins\n 'deferred', // Load after initial bootstrap complete\n 'on-demand', // Load only when explicitly requested\n]).describe('Plugin loading strategy');\n\n/**\n * Plugin Preloading Configuration\n * Configures preloading behavior for faster activation\n */\nexport const PluginPreloadConfigSchema = z.object({\n /**\n * Enable preloading for this plugin\n */\n enabled: z.boolean().default(false),\n \n /**\n * Preload priority (lower = higher priority)\n */\n priority: z.number().int().min(0).default(100),\n \n /**\n * Resources to preload\n */\n resources: z.array(z.enum([\n 'metadata', // Plugin manifest and metadata\n 'dependencies', // Plugin dependencies\n 'assets', // Static assets (icons, translations)\n 'code', // JavaScript code chunks\n 'services', // Service definitions\n ])).optional(),\n \n /**\n * Conditions for preloading\n */\n conditions: z.object({\n /**\n * Preload only on specific routes\n */\n routes: z.array(z.string()).optional(),\n \n /**\n * Preload only for specific user roles\n */\n roles: z.array(z.string()).optional(),\n \n /**\n * Preload based on device type\n */\n deviceType: z.array(z.enum(['desktop', 'mobile', 'tablet'])).optional(),\n \n /**\n * Network connection quality threshold\n */\n minNetworkSpeed: z.enum(['slow-2g', '2g', '3g', '4g']).optional(),\n }).optional(),\n}).describe('Plugin preloading configuration');\n\n/**\n * Plugin Code Splitting Configuration\n * Configures how plugin code is split for optimal loading\n */\nexport const PluginCodeSplittingSchema = z.object({\n /**\n * Enable code splitting for this plugin\n */\n enabled: z.boolean().default(true),\n \n /**\n * Split strategy\n */\n strategy: z.enum([\n 'route', // Split by UI routes\n 'feature', // Split by feature modules\n 'size', // Split by bundle size threshold\n 'custom', // Custom split points defined by plugin\n ]).default('feature'),\n \n /**\n * Chunk naming strategy\n */\n chunkNaming: z.enum(['hashed', 'named', 'sequential']).default('hashed'),\n \n /**\n * Maximum chunk size in KB\n */\n maxChunkSize: z.number().int().min(10).optional().describe('Max chunk size in KB'),\n \n /**\n * Shared dependencies optimization\n */\n sharedDependencies: z.object({\n enabled: z.boolean().default(true),\n /**\n * Minimum times a module must be shared before extraction\n */\n minChunks: z.number().int().min(1).default(2),\n }).optional(),\n}).describe('Plugin code splitting configuration');\n\n/**\n * Plugin Dynamic Import Configuration\n * Configures dynamic import behavior for runtime module loading\n */\nexport const PluginDynamicImportSchema = z.object({\n /**\n * Enable dynamic imports\n */\n enabled: z.boolean().default(true),\n \n /**\n * Import mode\n */\n mode: z.enum([\n 'async', // Asynchronous import (recommended)\n 'sync', // Synchronous import (blocking)\n 'eager', // Eager evaluation\n 'lazy', // Lazy evaluation\n ]).default('async'),\n \n /**\n * Prefetch strategy\n */\n prefetch: z.boolean().default(false).describe('Prefetch module in idle time'),\n \n /**\n * Preload strategy\n */\n preload: z.boolean().default(false).describe('Preload module in parallel with parent'),\n \n /**\n * Webpack magic comments support\n */\n webpackChunkName: z.string().optional().describe('Custom chunk name for webpack'),\n \n /**\n * Import timeout in milliseconds\n */\n timeout: z.number().int().min(100).default(30000).describe('Dynamic import timeout (ms)'),\n \n /**\n * Retry configuration on import failure\n */\n retry: z.object({\n enabled: z.boolean().default(true),\n maxAttempts: z.number().int().min(1).max(10).default(3),\n backoffMs: z.number().int().min(0).default(1000).describe('Exponential backoff base delay'),\n }).optional(),\n}).describe('Plugin dynamic import configuration');\n\n/**\n * Plugin Initialization Configuration\n * Configures how plugin initialization is executed\n */\nexport const PluginInitializationSchema = z.object({\n /**\n * Initialization mode\n */\n mode: z.enum([\n 'sync', // Synchronous initialization\n 'async', // Asynchronous initialization\n 'parallel', // Parallel with other plugins\n 'sequential', // Must complete before next plugin\n ]).default('async'),\n \n /**\n * Initialization timeout in milliseconds\n */\n timeout: z.number().int().min(100).default(30000),\n \n /**\n * Startup priority (lower = higher priority, earlier initialization)\n */\n priority: z.number().int().min(0).default(100),\n \n /**\n * Whether to continue bootstrap if this plugin fails\n */\n critical: z.boolean().default(false).describe('If true, kernel bootstrap fails if plugin fails'),\n \n /**\n * Retry configuration on initialization failure\n */\n retry: z.object({\n enabled: z.boolean().default(false),\n maxAttempts: z.number().int().min(1).max(5).default(3),\n backoffMs: z.number().int().min(0).default(1000),\n }).optional(),\n \n /**\n * Health check interval for monitoring\n */\n healthCheckInterval: z.number().int().min(0).optional().describe('Health check interval in ms (0 = disabled)'),\n}).describe('Plugin initialization configuration');\n\n/**\n * Plugin Dependency Resolution Configuration\n * Advanced dependency resolution using semantic versioning\n */\nexport const PluginDependencyResolutionSchema = z.object({\n /**\n * Dependency resolution strategy\n */\n strategy: z.enum([\n 'strict', // Exact version match required\n 'compatible', // Semver compatible versions (^)\n 'latest', // Always use latest compatible\n 'pinned', // Lock to specific version\n ]).default('compatible'),\n \n /**\n * Peer dependency handling\n */\n peerDependencies: z.object({\n /**\n * Whether to resolve peer dependencies\n */\n resolve: z.boolean().default(true),\n \n /**\n * Action on missing peer dependency\n */\n onMissing: z.enum(['error', 'warn', 'ignore']).default('warn'),\n \n /**\n * Action on peer version mismatch\n */\n onMismatch: z.enum(['error', 'warn', 'ignore']).default('warn'),\n }).optional(),\n \n /**\n * Optional dependency handling\n */\n optionalDependencies: z.object({\n /**\n * Whether to attempt loading optional dependencies\n */\n load: z.boolean().default(true),\n \n /**\n * Action on optional dependency load failure\n */\n onFailure: z.enum(['warn', 'ignore']).default('warn'),\n }).optional(),\n \n /**\n * Conflict resolution\n */\n conflictResolution: z.enum([\n 'fail', // Fail on any version conflict\n 'latest', // Use latest version\n 'oldest', // Use oldest version\n 'manual', // Require manual resolution\n ]).default('latest'),\n \n /**\n * Circular dependency handling\n */\n circularDependencies: z.enum([\n 'error', // Throw error on circular dependency\n 'warn', // Warn but continue\n 'allow', // Allow circular dependencies\n ]).default('warn'),\n}).describe('Plugin dependency resolution configuration');\n\n/**\n * Plugin Hot Reload Configuration\n * Enables hot module replacement for development and production environments.\n * \n * Production mode adds safety features: health validation, rollback on failure,\n * connection draining, and concurrency control for zero-downtime reloads.\n */\nexport const PluginHotReloadSchema = z.object({\n /**\n * Enable hot reload\n */\n enabled: z.boolean().default(false),\n \n /**\n * Target environment for hot reload behavior\n */\n environment: z.enum([\n 'development', // Fast reload with relaxed safety (file watchers, no health validation)\n 'staging', // Production-like reload with validation but relaxed rollback\n 'production', // Full safety: health validation, rollback, connection draining\n ]).default('development').describe('Target environment controlling safety level'),\n \n /**\n * Hot reload strategy\n */\n strategy: z.enum([\n 'full', // Full plugin reload (destroy and reinitialize)\n 'partial', // Partial reload (update changed modules only)\n 'state-preserve', // Preserve plugin state during reload\n ]).default('full'),\n \n /**\n * Files to watch for changes\n */\n watchPatterns: z.array(z.string()).optional().describe('Glob patterns for files to watch'),\n \n /**\n * Files to ignore\n */\n ignorePatterns: z.array(z.string()).optional().describe('Glob patterns for files to ignore'),\n \n /**\n * Debounce delay in milliseconds\n */\n debounceMs: z.number().int().min(0).default(300),\n \n /**\n * Whether to preserve state during reload\n */\n preserveState: z.boolean().default(false),\n \n /**\n * State serialization\n */\n stateSerialization: z.object({\n enabled: z.boolean().default(false),\n /**\n * Path to state serialization handler\n */\n handler: z.string().optional(),\n }).optional(),\n \n /**\n * Hooks for hot reload lifecycle\n */\n hooks: z.object({\n beforeReload: z.string().optional().describe('Function to call before reload'),\n afterReload: z.string().optional().describe('Function to call after reload'),\n onError: z.string().optional().describe('Function to call on reload error'),\n }).optional(),\n \n /**\n * Production safety configuration\n * Applied when environment is 'staging' or 'production'\n */\n productionSafety: z.object({\n /**\n * Validate plugin health before completing reload\n */\n healthValidation: z.boolean().default(true)\n .describe('Run health checks after reload before accepting traffic'),\n \n /**\n * Automatically rollback to previous version on reload failure\n */\n rollbackOnFailure: z.boolean().default(true)\n .describe('Auto-rollback if reloaded plugin fails health check'),\n \n /**\n * Maximum time to wait for health validation after reload (ms)\n */\n healthTimeout: z.number().int().min(1000).default(30000)\n .describe('Health check timeout after reload in ms'),\n \n /**\n * Drain active connections before reload\n */\n drainConnections: z.boolean().default(true)\n .describe('Gracefully drain active requests before reloading'),\n \n /**\n * Maximum time to wait for connection draining (ms)\n */\n drainTimeout: z.number().int().min(0).default(15000)\n .describe('Max wait time for connection draining in ms'),\n \n /**\n * Maximum number of concurrent plugin reloads\n */\n maxConcurrentReloads: z.number().int().min(1).default(1)\n .describe('Limit concurrent reloads to prevent system instability'),\n \n /**\n * Minimum interval between reloads of the same plugin (ms)\n */\n minReloadInterval: z.number().int().min(1000).default(5000)\n .describe('Cooldown period between reloads of the same plugin'),\n }).optional(),\n}).describe('Plugin hot reload configuration');\n\n/**\n * Plugin Caching Configuration\n * Configures caching strategy for faster subsequent loads\n */\nexport const PluginCachingSchema = z.object({\n /**\n * Enable caching\n */\n enabled: z.boolean().default(true),\n \n /**\n * Cache storage type\n */\n storage: z.enum([\n 'memory', // In-memory cache (fastest, not persistent)\n 'disk', // Disk cache (persistent)\n 'indexeddb', // Browser IndexedDB (persistent, browser only)\n 'hybrid', // Memory + Disk hybrid\n ]).default('memory'),\n \n /**\n * Cache key strategy\n */\n keyStrategy: z.enum([\n 'version', // Cache by plugin version\n 'hash', // Cache by content hash\n 'timestamp', // Cache by last modified timestamp\n ]).default('version'),\n \n /**\n * Cache TTL in seconds\n */\n ttl: z.number().int().min(0).optional().describe('Time to live in seconds (0 = infinite)'),\n \n /**\n * Maximum cache size in MB\n */\n maxSize: z.number().int().min(1).optional().describe('Max cache size in MB'),\n \n /**\n * Cache invalidation triggers\n */\n invalidateOn: z.array(z.enum([\n 'version-change',\n 'dependency-change',\n 'manual',\n 'error',\n ])).optional(),\n \n /**\n * Compression\n */\n compression: z.object({\n enabled: z.boolean().default(false),\n algorithm: z.enum(['gzip', 'brotli', 'deflate']).default('gzip'),\n }).optional(),\n}).describe('Plugin caching configuration');\n\n/**\n * Plugin Sandboxing Configuration\n * Security isolation for plugins with configurable scope.\n * \n * Supports isolation beyond automation scripts: any plugin can be sandboxed\n * with process-level isolation and inter-plugin communication (IPC).\n */\nexport const PluginSandboxingSchema = z.object({\n /**\n * Enable sandboxing\n */\n enabled: z.boolean().default(false),\n \n /**\n * Isolation scope - which plugins are subject to sandboxing\n */\n scope: z.enum([\n 'automation-only', // Sandbox automation/scripting plugins only (current behavior)\n 'untrusted-only', // Sandbox plugins below a trust threshold\n 'all-plugins', // Sandbox all plugins (maximum isolation)\n ]).default('automation-only').describe('Which plugins are subject to isolation'),\n \n /**\n * Sandbox isolation level\n */\n isolationLevel: z.enum([\n 'none', // No isolation\n 'process', // Separate process (Node.js worker threads)\n 'vm', // VM context isolation\n 'iframe', // iframe isolation (browser)\n 'web-worker', // Web Worker (browser)\n ]).default('none'),\n \n /**\n * Allowed capabilities\n */\n allowedCapabilities: z.array(z.string()).optional().describe('List of allowed capability IDs'),\n \n /**\n * Resource quotas\n */\n resourceQuotas: z.object({\n /**\n * Maximum memory usage in MB\n */\n maxMemoryMB: z.number().int().min(1).optional(),\n \n /**\n * Maximum CPU time in milliseconds\n */\n maxCpuTimeMs: z.number().int().min(100).optional(),\n \n /**\n * Maximum number of file descriptors\n */\n maxFileDescriptors: z.number().int().min(1).optional(),\n \n /**\n * Maximum network bandwidth in KB/s\n */\n maxNetworkKBps: z.number().int().min(1).optional(),\n }).optional(),\n \n /**\n * Permissions\n */\n permissions: z.object({\n /**\n * Allowed API access\n */\n allowedAPIs: z.array(z.string()).optional(),\n \n /**\n * Allowed file system paths\n */\n allowedPaths: z.array(z.string()).optional(),\n \n /**\n * Allowed network endpoints\n */\n allowedEndpoints: z.array(z.string()).optional(),\n \n /**\n * Allowed environment variables\n */\n allowedEnvVars: z.array(z.string()).optional(),\n }).optional(),\n \n /**\n * Inter-Plugin Communication (IPC) configuration\n * Enables isolated plugins to communicate with the kernel and other plugins\n */\n ipc: z.object({\n /**\n * Enable IPC for sandboxed plugins\n */\n enabled: z.boolean().default(true)\n .describe('Allow sandboxed plugins to communicate via IPC'),\n \n /**\n * IPC transport mechanism\n */\n transport: z.enum([\n 'message-port', // MessagePort (worker threads / Web Workers)\n 'unix-socket', // Unix domain sockets (process isolation)\n 'tcp', // TCP sockets (container isolation)\n 'memory', // Shared memory channel (in-process VM)\n ]).default('message-port')\n .describe('IPC transport for cross-boundary communication'),\n \n /**\n * Maximum message size in bytes\n */\n maxMessageSize: z.number().int().min(1024).default(1048576)\n .describe('Maximum IPC message size in bytes (default 1MB)'),\n \n /**\n * Message timeout in milliseconds\n */\n timeout: z.number().int().min(100).default(30000)\n .describe('IPC message response timeout in ms'),\n \n /**\n * Allowed service calls through IPC\n */\n allowedServices: z.array(z.string()).optional()\n .describe('Service names the sandboxed plugin may invoke via IPC'),\n }).optional(),\n}).describe('Plugin sandboxing configuration');\n\n/**\n * Plugin Performance Monitoring Configuration\n * Telemetry and performance tracking\n */\nexport const PluginPerformanceMonitoringSchema = z.object({\n /**\n * Enable performance monitoring\n */\n enabled: z.boolean().default(false),\n \n /**\n * Metrics to collect\n */\n metrics: z.array(z.enum([\n 'load-time',\n 'init-time',\n 'memory-usage',\n 'cpu-usage',\n 'api-calls',\n 'error-rate',\n 'cache-hit-rate',\n ])).optional(),\n \n /**\n * Sampling rate (0-1, where 1 = 100%)\n */\n samplingRate: z.number().min(0).max(1).default(1),\n \n /**\n * Reporting interval in seconds\n */\n reportingInterval: z.number().int().min(1).default(60),\n \n /**\n * Performance budget thresholds\n */\n budgets: z.object({\n /**\n * Maximum load time in milliseconds\n */\n maxLoadTimeMs: z.number().int().min(0).optional(),\n \n /**\n * Maximum init time in milliseconds\n */\n maxInitTimeMs: z.number().int().min(0).optional(),\n \n /**\n * Maximum memory usage in MB\n */\n maxMemoryMB: z.number().int().min(0).optional(),\n }).optional(),\n \n /**\n * Action on budget violation\n */\n onBudgetViolation: z.enum(['warn', 'error', 'ignore']).default('warn'),\n}).describe('Plugin performance monitoring configuration');\n\n/**\n * Complete Plugin Loading Configuration\n * Combines all loading-related configurations\n */\nexport const PluginLoadingConfigSchema = z.object({\n /**\n * Loading strategy\n */\n strategy: PluginLoadingStrategySchema.default('lazy'),\n \n /**\n * Preloading configuration\n */\n preload: PluginPreloadConfigSchema.optional(),\n \n /**\n * Code splitting configuration\n */\n codeSplitting: PluginCodeSplittingSchema.optional(),\n \n /**\n * Dynamic import configuration\n */\n dynamicImport: PluginDynamicImportSchema.optional(),\n \n /**\n * Initialization configuration\n */\n initialization: PluginInitializationSchema.optional(),\n \n /**\n * Dependency resolution configuration\n */\n dependencyResolution: PluginDependencyResolutionSchema.optional(),\n \n /**\n * Hot reload configuration (development and production)\n */\n hotReload: PluginHotReloadSchema.optional(),\n \n /**\n * Caching configuration\n */\n caching: PluginCachingSchema.optional(),\n \n /**\n * Sandboxing configuration\n */\n sandboxing: PluginSandboxingSchema.optional(),\n \n /**\n * Performance monitoring\n */\n monitoring: PluginPerformanceMonitoringSchema.optional(),\n}).describe('Complete plugin loading configuration');\n\n/**\n * Plugin Loading Event\n * Emitted during plugin loading lifecycle\n */\nexport const PluginLoadingEventSchema = z.object({\n /**\n * Event type\n */\n type: z.enum([\n 'load-started',\n 'load-completed',\n 'load-failed',\n 'init-started',\n 'init-completed',\n 'init-failed',\n 'preload-started',\n 'preload-completed',\n 'cache-hit',\n 'cache-miss',\n 'hot-reload',\n 'dynamic-load', // Plugin loaded at runtime\n 'dynamic-unload', // Plugin unloaded at runtime\n 'dynamic-discover', // Plugin discovered via registry\n ]),\n \n /**\n * Plugin identifier\n */\n pluginId: z.string(),\n \n /**\n * Timestamp\n */\n timestamp: z.number().int().min(0),\n \n /**\n * Duration in milliseconds\n */\n durationMs: z.number().int().min(0).optional(),\n \n /**\n * Additional metadata\n */\n metadata: z.record(z.string(), z.unknown()).optional(),\n \n /**\n * Error if event represents a failure\n */\n error: z.object({\n message: z.string(),\n code: z.string().optional(),\n stack: z.string().optional(),\n }).optional(),\n}).describe('Plugin loading lifecycle event');\n\n/**\n * Plugin Loading State\n * Tracks the current loading state of a plugin\n */\nexport const PluginLoadingStateSchema = z.object({\n /**\n * Plugin identifier\n */\n pluginId: z.string(),\n \n /**\n * Current state\n */\n state: z.enum([\n 'pending', // Not yet loaded\n 'loading', // Currently loading\n 'loaded', // Code loaded, not initialized\n 'initializing', // Currently initializing\n 'ready', // Fully initialized and ready\n 'failed', // Failed to load or initialize\n 'reloading', // Hot reloading in progress\n 'unloading', // Being unloaded at runtime\n 'unloaded', // Successfully unloaded (dynamic loading)\n ]),\n \n /**\n * Load progress (0-100)\n */\n progress: z.number().min(0).max(100).default(0),\n \n /**\n * Loading start time\n */\n startedAt: z.number().int().min(0).optional(),\n \n /**\n * Loading completion time\n */\n completedAt: z.number().int().min(0).optional(),\n \n /**\n * Last error\n */\n lastError: z.string().optional(),\n \n /**\n * Retry count\n */\n retryCount: z.number().int().min(0).default(0),\n}).describe('Plugin loading state');\n\n// Export types\nexport type PluginLoadingStrategy = z.infer<typeof PluginLoadingStrategySchema>;\nexport type PluginPreloadConfig = z.infer<typeof PluginPreloadConfigSchema>;\nexport type PluginCodeSplitting = z.infer<typeof PluginCodeSplittingSchema>;\nexport type PluginDynamicImport = z.infer<typeof PluginDynamicImportSchema>;\nexport type PluginInitialization = z.infer<typeof PluginInitializationSchema>;\nexport type PluginDependencyResolution = z.infer<typeof PluginDependencyResolutionSchema>;\nexport type PluginHotReload = z.infer<typeof PluginHotReloadSchema>;\nexport type PluginCaching = z.infer<typeof PluginCachingSchema>;\nexport type PluginSandboxing = z.infer<typeof PluginSandboxingSchema>;\nexport type PluginPerformanceMonitoring = z.infer<typeof PluginPerformanceMonitoringSchema>;\nexport type PluginLoadingConfig = z.infer<typeof PluginLoadingConfigSchema>;\nexport type PluginLoadingEvent = z.infer<typeof PluginLoadingEventSchema>;\nexport type PluginLoadingState = z.infer<typeof PluginLoadingStateSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n// Service method interfaces use z.function() instead of z.any() for type safety.\n// Generic data fields use z.unknown() for type safety.\nexport const PluginContextSchema = z.object({\n ql: z.object({\n object: z.function().describe('Get object handle for method chaining'),\n query: z.function().describe('Execute a query'),\n }).passthrough().describe('ObjectQL Engine Interface'),\n\n os: z.object({\n getCurrentUser: z.function().describe('Get the current authenticated user'),\n getConfig: z.function().describe('Get platform configuration'),\n }).passthrough().describe('ObjectStack Kernel Interface'),\n\n logger: z.object({\n debug: z.function().describe('Log debug message'),\n info: z.function().describe('Log info message'),\n warn: z.function().describe('Log warning message'),\n error: z.function().describe('Log error message'),\n }).passthrough().describe('Logger Interface'),\n\n storage: z.object({\n get: z.function().describe('Get a value from storage'),\n set: z.function().describe('Set a value in storage'),\n delete: z.function().describe('Delete a value from storage'),\n }).passthrough().describe('Storage Interface'),\n\n i18n: z.object({\n t: z.function().describe('Translate a key'),\n getLocale: z.function().describe('Get current locale'),\n }).passthrough().describe('Internationalization Interface'),\n\n metadata: z.record(z.string(), z.unknown()),\n events: z.record(z.string(), z.unknown()),\n \n app: z.object({\n router: z.object({\n get: z.function().describe('Register GET route handler'),\n post: z.function().describe('Register POST route handler'),\n use: z.function().describe('Register middleware'),\n }).passthrough()\n }).passthrough().describe('App Framework Interface'),\n\n drivers: z.object({\n register: z.function().describe('Register a driver'),\n }).passthrough().describe('Driver Registry'),\n});\n\nexport type PluginContextData = z.infer<typeof PluginContextSchema>;\nexport type PluginContext = PluginContextData;\n\nexport const PluginLifecycleSchema = z.object({\n onInstall: z.function().optional().describe('Called when plugin is installed'),\n \n onEnable: z.function().optional().describe('Called when plugin is enabled'),\n \n onDisable: z.function().optional().describe('Called when plugin is disabled'),\n \n onUninstall: z.function().optional().describe('Called when plugin is uninstalled'),\n \n onUpgrade: z.function().optional().describe('Called when plugin is upgraded'),\n});\n\nexport type PluginLifecycleHooks = z.infer<typeof PluginLifecycleSchema>;\n\n/**\n * Shared Plugin Types\n * These are the specialized plugin types common between Manifest (Package) and Plugin (Runtime).\n */\nexport const CORE_PLUGIN_TYPES = [\n 'ui', // Frontend: Serves static assets/SPA (e.g. Console, Studio)\n 'driver', // Connectivity: Database or Storage adapters (e.g. SQL, S3)\n 'server', // Protocol: HTTP/RPC Servers (e.g. Hono, GraphQL)\n 'app', // Business: Vertical Solution Bundle (Metadata + Logic)\n 'theme', // Appearance: UI Overrides & CSS Variables\n 'agent', // AI: Autonomous Agent & Tool Definitions\n 'objectql' // Core: ObjectQL Engine Data Provider\n] as const;\n\nexport const PluginSchema = PluginLifecycleSchema.extend({\n id: z.string().min(1).optional().describe('Unique Plugin ID (e.g. com.example.crm)'),\n type: z.enum([\n 'standard', // Default: General purpose backend logic (Service, Hook, etc.)\n ...CORE_PLUGIN_TYPES\n ]).default('standard').optional().describe('Plugin Type categorization for runtime behavior'),\n \n staticPath: z.string().optional().describe('Absolute path to static assets (Required for type=\"ui-plugin\")'),\n slug: z.string().regex(/^[a-z0-9-_]+$/).optional().describe('URL path segment (Required for type=\"ui-plugin\")'),\n default: z.boolean().optional().describe('Serve at root path (Only one \"ui-plugin\" can be default)'),\n \n version: z.string().regex(/^\\d+\\.\\d+\\.\\d+$/).optional().describe('Semantic Version'),\n description: z.string().optional(),\n author: z.string().optional(),\n homepage: z.string().url().optional(),\n});\n\nexport type PluginDefinition = z.infer<typeof PluginSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Data Import Strategy\n * Defines how the engine handles existing records.\n */\nexport const DatasetMode = z.enum([\n 'insert', // Try to insert, fail on duplicate\n 'update', // Only update found records, ignore new\n 'upsert', // Create new or Update existing (Standard)\n 'replace', // Delete ALL records in object then insert (Dangerous - use for cache tables)\n 'ignore' // Try to insert, silently skip duplicates\n]);\n\n/**\n * Dataset Schema (Seed Data / Fixtures)\n * \n * Standardized format for transporting data.\n * Used for:\n * 1. System Bootstrapping (Admin accounts, Standard Roles)\n * 2. Reference Data (Countries, Currencies)\n * 3. Demo/Test Data\n */\nexport const DatasetSchema = z.object({\n /** \n * Target Object \n * The machine name of the object to populate.\n */\n object: z.string().regex(/^[a-z_][a-z0-9_]*$/).describe('Target Object Name'),\n\n /** \n * Idempotency Key (The \"Upsert\" Key)\n * The field used to check if a record already exists.\n * Best Practice: Use a natural key like 'code', 'slug', 'username' or 'external_id'.\n * Standard: '_id' (internal ID) is rarely used for portable seed data.\n */\n externalId: z.string().default('name').describe('Field match for uniqueness check'),\n\n /** \n * Import Strategy\n */\n mode: DatasetMode.default('upsert').describe('Conflict resolution strategy'),\n\n /**\n * Environment Scope\n * - 'all': Always load\n * - 'dev': Only for development/demo\n * - 'test': Only for CI/CD tests\n */\n env: z.array(z.enum(['prod', 'dev', 'test'])).default(['prod', 'dev', 'test']).describe('Applicable environments'),\n\n /** \n * The Payload\n * Array of raw JSON objects matching the Object Schema.\n */\n records: z.array(z.record(z.string(), z.unknown())).describe('Data records'),\n});\n\n/** Parsed/output type — all defaults are applied (env, mode, externalId always present) */\nexport type Dataset = z.infer<typeof DatasetSchema>;\n\n/** Input type — fields with defaults (env, mode, externalId) are optional */\nexport type DatasetInput = z.input<typeof DatasetSchema>;\n\nexport type DatasetImportMode = z.infer<typeof DatasetMode>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { PluginCapabilityManifestSchema } from './plugin-capability.zod';\nimport { PluginLoadingConfigSchema } from './plugin-loading.zod';\nimport { CORE_PLUGIN_TYPES } from './plugin.zod';\nimport { DatasetSchema } from '../data/dataset.zod';\n\n/**\n * Schema for the ObjectStack Manifest.\n * This defines the structure of a package configuration in the ObjectStack ecosystem.\n * All packages (apps, plugins, drivers, modules) must conform to this schema.\n * \n * @example App Package\n * ```yaml\n * id: com.acme.crm\n * version: 1.0.0\n * type: app\n * name: Acme CRM\n * description: Customer Relationship Management system\n * permissions:\n * - system.user.read\n * - system.object.create\n * objects:\n * - \"./src/objects/*.object.yml\"\n * ```\n */\nexport const ManifestSchema = z.object({\n /** \n * Unique package identifier using reverse domain notation.\n * Must be unique across the entire ecosystem.\n * \n * @example \"com.steedos.crm\"\n * @example \"org.apache.superset\"\n */\n id: z.string().describe('Unique package identifier (reverse domain style)'),\n \n /**\n * Short namespace identifier for metadata scoping.\n * Used as a prefix for objects and other metadata to prevent naming collisions\n * across packages from different vendors.\n * \n * Rules:\n * - 2-20 characters, lowercase letters, digits, and underscores only.\n * - Must be unique within a running instance.\n * - Platform-reserved namespaces (no prefix applied): \"base\", \"system\".\n * - FQN (Fully Qualified Name) = `{namespace}__{short_name}` (double underscore separator).\n * \n * @example \"crm\" → objects become crm__account, crm__deal\n * @example \"todo\" → objects become todo__task\n * @example \"base\" → objects keep short name (platform reserved)\n */\n namespace: z.string()\n .regex(/^[a-z][a-z0-9_]{1,19}$/, 'Namespace must be 2-20 chars, lowercase alphanumeric + underscore')\n .optional()\n .describe('Short namespace identifier for metadata scoping (e.g. \"crm\", \"todo\")'),\n \n /** \n * Package version following semantic versioning (major.minor.patch).\n * \n * @example \"1.0.0\"\n * @example \"2.1.0-beta.1\"\n */\n version: z.string().regex(/^\\d+\\.\\d+\\.\\d+$/).describe('Package version (semantic versioning)'),\n \n /** \n * Type of the package in the ObjectStack ecosystem.\n * - plugin: General-purpose functionality extension (Runtime: standard)\n * - app: Business application package\n * - driver: Connectivity adapter\n * - server: Protocol gateway (Hono, GraphQL)\n * - ui: Frontend package (Static/SPA)\n * - theme: UI Theme\n * - agent: AI Agent\n * - module: Reusable code library/shared module\n * - objectql: Core engine\n * - adapter: Host adapter (Express, Fastify)\n */\n type: z.enum([\n 'plugin', \n ...CORE_PLUGIN_TYPES,\n 'module', \n 'gateway', // Deprecated: use 'server'\n 'adapter'\n ]).describe('Type of package'),\n \n /** \n * Human-readable name of the package.\n * Displayed in the UI for users.\n * \n * @example \"Project Management\"\n */\n name: z.string().describe('Human-readable package name'),\n \n /** \n * Brief description of the package functionality.\n * Displayed in the marketplace and plugin manager.\n */\n description: z.string().optional().describe('Package description'),\n \n /** \n * Array of permission strings that the package requires.\n * These form the \"Scope\" requested by the package at installation.\n * \n * @example [\"system.user.read\", \"system.data.write\"]\n */\n permissions: z.array(z.string()).optional().describe('Array of required permission strings'),\n \n /** \n * Glob patterns specifying ObjectQL schemas files.\n * Matches `*.object.yml` or `*.object.ts` files to load business objects.\n * \n * @example [\"./src/objects/*.object.yml\"]\n */\n objects: z.array(z.string()).optional().describe('Glob patterns for ObjectQL schemas files'),\n\n /**\n * Defines system level DataSources.\n * Matches `*.datasource.yml` files.\n * \n * @example [\"./src/datasources/*.datasource.mongo.yml\"]\n */\n datasources: z.array(z.string()).optional().describe('Glob patterns for Datasource definitions'),\n\n /**\n * Package Dependencies.\n * Map of package IDs to version requirements.\n * \n * @example { \"@steedos/plugin-auth\": \"^2.0.0\" }\n */\n dependencies: z.record(z.string(), z.string()).optional().describe('Package dependencies'),\n\n /**\n * Plugin Configuration Schema.\n * Defines the settings this plugin exposes to the user via UI/ENV.\n * Uses a simplified JSON Schema format.\n * \n * @example\n * {\n * \"title\": \"Stripe Config\",\n * \"properties\": {\n * \"apiKey\": { \"type\": \"string\", \"secret\": true },\n * \"currency\": { \"type\": \"string\", \"default\": \"USD\" }\n * }\n * }\n */\n configuration: z.object({\n title: z.string().optional(),\n properties: z.record(z.string(), z.object({\n type: z.enum(['string', 'number', 'boolean', 'array', 'object']).describe('Data type of the setting'),\n default: z.unknown().optional().describe('Default value'),\n description: z.string().optional().describe('Tooltip description'),\n required: z.boolean().optional().describe('Is this setting required?'),\n secret: z.boolean().optional().describe('If true, value is encrypted/masked (e.g. API Keys)'),\n enum: z.array(z.string()).optional().describe('Allowed values for select inputs'),\n })).describe('Map of configuration keys to their definitions')\n }).optional().describe('Plugin configuration settings'),\n\n /**\n * Contribution Points (VS Code Style).\n * formalized way to extend the platform capabilities.\n */\n contributes: z.object({\n /**\n * Register new Metadata Kinds (CRDs).\n * Enables the system to parse and validate new file types.\n * Example: Registering a BI plugin to handle *.report.ts\n */\n kinds: z.array(z.object({\n id: z.string().describe('The generic identifier of the kind (e.g., \"sys.bi.report\")'),\n globs: z.array(z.string()).describe('File patterns to watch (e.g., [\"**/*.report.ts\"])'),\n description: z.string().optional().describe('Description of what this kind represents'),\n })).optional().describe('New Metadata Types to recognize'),\n\n /**\n * Register System Hooks.\n * Declares that this plugin listens to specific system events.\n */\n events: z.array(z.string()).optional().describe('Events this plugin listens to'),\n\n /**\n * Register UI Menus.\n */\n menus: z.record(z.string(), z.array(z.object({\n id: z.string(),\n label: z.string(),\n command: z.string().optional(),\n }))).optional().describe('UI Menu contributions'),\n\n /**\n * Register Custom Themes.\n */\n themes: z.array(z.object({\n id: z.string(),\n label: z.string(),\n path: z.string(),\n })).optional().describe('Theme contributions'),\n\n /**\n * Register Translations.\n * Path to translation files (e.g. \"locales/en.json\").\n */\n translations: z.array(z.object({\n locale: z.string(),\n path: z.string(),\n })).optional().describe('Translation resources'),\n\n /**\n * Register Server Actions.\n * Invocable functions exposed to Flows or API.\n */\n actions: z.array(z.object({\n name: z.string().describe('Unique action name'),\n label: z.string().optional(),\n description: z.string().optional(),\n input: z.unknown().optional().describe('Input validation schema'),\n output: z.unknown().optional().describe('Output schema'),\n })).optional().describe('Exposed server actions'),\n\n /**\n * Register Storage Drivers.\n * Enables connecting to new types of datasources.\n */\n drivers: z.array(z.object({\n id: z.string().describe('Driver unique identifier (e.g. \"postgres\", \"mongo\")'),\n label: z.string().describe('Human readable name'),\n description: z.string().optional(),\n })).optional().describe('Driver contributions'),\n\n /**\n * Register Custom Field Types.\n * Extends the data model with new widget types.\n */\n fieldTypes: z.array(z.object({\n name: z.string().describe('Unique field type name (e.g. \"vector\")'),\n label: z.string().describe('Display label'),\n description: z.string().optional(),\n })).optional().describe('Field Type contributions'),\n \n /**\n * Register Custom Query Operators/Functions.\n * Extends ObjectQL with new functions (e.g. distance()).\n */\n functions: z.array(z.object({\n name: z.string().describe('Function name (e.g. \"distance\")'),\n description: z.string().optional(),\n args: z.array(z.string()).optional().describe('Argument types'),\n returnType: z.string().optional(),\n })).optional().describe('Query Function contributions'),\n\n /**\n * Register API Route Namespaces.\n * Declares the API endpoints this plugin provides to the HttpDispatcher.\n * The kernel routes matching prefixes to this plugin's handler.\n * \n * @example\n * routes: [\n * { prefix: '/api/v1/ai', service: 'ai', methods: ['aiNlq', 'aiChat'] }\n * ]\n */\n routes: z.array(z.object({\n /** URL path prefix (e.g. \"/api/v1/ai\") */\n prefix: z.string().regex(/^\\//).describe('API path prefix'),\n /** Service name this plugin provides */\n service: z.string().describe('Service name this plugin provides'),\n /** Protocol method names implemented */\n methods: z.array(z.string()).optional()\n .describe('Protocol method names implemented (e.g. [\"aiNlq\", \"aiChat\"])'),\n })).optional().describe('API route contributions to HttpDispatcher'),\n\n /**\n * Register CLI Commands.\n * Allows plugins to extend the ObjectStack CLI with custom commands.\n * Each command entry declares metadata; the actual Commander.js command\n * is resolved at runtime by importing the plugin's module.\n * \n * The plugin package must export a `commands` array of Commander.js `Command` instances\n * from its main entry point or from the path specified in `module`.\n * \n * @example\n * ```yaml\n * commands:\n * - name: marketplace\n * description: \"Manage marketplace apps\"\n * module: \"./cli\" # optional, defaults to package main\n * - name: deploy\n * description: \"Deploy to cloud\"\n * ```\n */\n commands: z.array(z.object({\n /** CLI command name (e.g., \"marketplace\", \"deploy\"). Must be a valid CLI identifier. */\n name: z.string()\n .regex(/^[a-z][a-z0-9-]*$/, 'Command name must be lowercase alphanumeric with hyphens')\n .describe('CLI command name'),\n /** Brief description shown in `os --help` */\n description: z.string().optional().describe('Command description for help text'),\n /** \n * Optional module path (relative to package root) that exports the Commander.js commands.\n * If omitted, the CLI will import from the package's main entry point.\n * The module must export a `commands` array of Commander.js `Command` instances,\n * or a single `Command` instance as default export.\n */\n module: z.string().optional().describe('Module path exporting Commander.js commands'),\n })).optional().describe('CLI command contributions'),\n }).optional().describe('Platform contributions'),\n\n /** \n * Initial data seeding configuration.\n * Defines default records to be inserted when the package is installed.\n * \n * Uses the standard DatasetSchema which supports idempotent upsert via\n * `externalId`, environment scoping via `env`, and multiple conflict\n * resolution modes.\n * \n * @deprecated Prefer using the top-level `data` field on the Stack Definition\n * (defineStack({ data: [...] })) for better visibility and metadata registration.\n * This field is retained for backward compatibility with manifest-only packages.\n */\n data: z.array(DatasetSchema).optional().describe('Initial seed data (prefer top-level data field)'),\n\n /**\n * Plugin Capability Manifest.\n * Declares protocols implemented, interfaces provided, dependencies, and extension points.\n * This enables plugin interoperability and automatic discovery.\n */\n capabilities: PluginCapabilityManifestSchema.optional()\n .describe('Plugin capability declarations for interoperability'),\n\n /** \n * Extension points contributed by this package.\n * Allows packages to extend UI components, add functionality, etc.\n */\n extensions: z.record(z.string(), z.unknown()).optional().describe('Extension points and contributions'),\n\n /**\n * Plugin Loading Configuration.\n * Configures how the plugin is loaded, initialized, and managed at runtime.\n * Includes strategies for lazy loading, code splitting, caching, and hot reload.\n */\n loading: PluginLoadingConfigSchema.optional()\n .describe('Plugin loading and runtime behavior configuration'),\n});\n\n/**\n * TypeScript type inferred from the ManifestSchema.\n * Use this type for type-safe manifest handling in TypeScript code.\n */\nexport type ObjectStackManifest = z.infer<typeof ManifestSchema>;\nexport type ObjectStackManifestInput = z.input<typeof ManifestSchema>;\n\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # Metadata Customization Layer Protocol\n * \n * Defines the overlay system for managing user customizations on top of\n * package-delivered metadata. This protocol solves the critical challenge\n * of separating \"vendor-managed\" metadata from \"customer-customized\" metadata,\n * enabling safe package upgrades without losing user changes.\n * \n * ## Architecture Alignment\n * - **Salesforce**: Managed vs Unmanaged metadata components\n * - **ServiceNow**: Update Sets with collision detection\n * - **WordPress**: Parent/child theme overlay model\n * - **Kubernetes**: Strategic merge patch for resource customization\n * \n * ## Three-Layer Model\n * ```\n * ┌─────────────────────────────────┐\n * │ User Layer (scope: user) │ ← Personal overrides (per-user)\n * ├─────────────────────────────────┤\n * │ Platform Layer (scope: platform)│ ← Admin customizations (per-tenant)\n * ├─────────────────────────────────┤\n * │ System Layer (scope: system) │ ← Package-delivered metadata (read-only)\n * └─────────────────────────────────┘\n * ```\n * \n * ## Merge Resolution Order\n * Effective metadata = System ← merge(Platform) ← merge(User)\n * Each layer only stores the delta (changed fields), not the full definition.\n */\n\n// ==========================================\n// Customization Tracking\n// ==========================================\n\n/**\n * Customization Origin\n * Identifies who created the customization.\n */\nexport const CustomizationOriginSchema = z.enum([\n 'package', // Delivered by a plugin package (system layer, read-only)\n 'admin', // Created/modified by platform admin via UI\n 'user', // Created/modified by end user via UI\n 'migration', // Created during data migration\n 'api', // Created via API\n]);\n\n/**\n * Field-Level Change Tracking\n * Records exactly which fields were modified by the customer.\n */\nexport const FieldChangeSchema = z.object({\n /** JSON path to the changed field (e.g. \"fields.status.label\") */\n path: z.string().describe('JSON path to the changed field'),\n\n /** Original value from the package (for diff/rollback) */\n originalValue: z.unknown().optional().describe('Original value from the package'),\n\n /** Current customized value */\n currentValue: z.unknown().describe('Current customized value'),\n\n /** Who made this change */\n changedBy: z.string().optional().describe('User or admin who made this change'),\n\n /** When this change was made */\n changedAt: z.string().datetime().optional().describe('Timestamp of the change'),\n});\n\n/**\n * Metadata Overlay Schema\n * \n * Represents a customization layer on top of package-delivered metadata.\n * Each overlay stores only the delta (changed fields) relative to the base definition.\n * \n * During package upgrades, the system performs a 3-way merge:\n * 1. Old package version (base)\n * 2. New package version (theirs)\n * 3. Customer customizations (ours)\n * \n * @example\n * ```yaml\n * # Package delivers: object \"crm__account\" with field \"status\" label \"Status\"\n * # Admin changes label to \"Account Status\"\n * # Overlay record:\n * baseType: object\n * baseName: crm__account\n * packageId: com.acme.crm\n * packageVersion: \"1.0.0\"\n * changes:\n * - path: \"fields.status.label\"\n * originalValue: \"Status\"\n * currentValue: \"Account Status\"\n * ```\n */\nexport const MetadataOverlaySchema = z.object({\n /** Primary key */\n id: z.string().describe('Overlay record ID (UUID)'),\n\n /** The metadata type being customized (e.g. \"object\", \"view\", \"flow\") */\n baseType: z.string().describe('Metadata type being customized'),\n\n /** The metadata name being customized (e.g. \"crm__account\") */\n baseName: z.string().describe('Metadata name being customized'),\n\n /** Package that owns the base metadata (null for platform-created metadata) */\n packageId: z.string().optional().describe('Package ID that delivered the base metadata'),\n\n /** Package version when the customization was made (for upgrade diffing) */\n packageVersion: z.string().optional().describe('Package version when overlay was created'),\n\n /** Customization scope */\n scope: z.enum(['platform', 'user']).default('platform')\n .describe('Customization scope (platform=admin, user=personal)'),\n\n /** Tenant ID for multi-tenant isolation */\n tenantId: z.string().optional().describe('Tenant identifier'),\n\n /** Owner user ID (for user-scope overlays) */\n owner: z.string().optional().describe('Owner user ID for user-scope overlays'),\n\n /**\n * The overlay payload.\n * Contains only the changed fields, using JSON Merge Patch semantics (RFC 7396).\n * - To modify a field: include the field with its new value\n * - To delete a field: set its value to null\n * - Omitted fields remain unchanged from base\n */\n patch: z.record(z.string(), z.unknown()).describe('JSON Merge Patch payload (changed fields only)'),\n\n /**\n * Detailed change tracking for each modified field.\n * Enables field-level conflict detection during upgrades.\n */\n changes: z.array(FieldChangeSchema).optional()\n .describe('Field-level change tracking for conflict detection'),\n\n /** Whether this overlay is currently active */\n active: z.boolean().default(true).describe('Whether this overlay is active'),\n\n /** Audit timestamps */\n createdAt: z.string().datetime().optional(),\n createdBy: z.string().optional(),\n updatedAt: z.string().datetime().optional(),\n updatedBy: z.string().optional(),\n});\n\n// ==========================================\n// Merge & Conflict Resolution\n// ==========================================\n\n/**\n * Merge Conflict\n * Represents a conflict between package update and customer customization.\n */\nexport const MergeConflictSchema = z.object({\n /** JSON path to the conflicting field */\n path: z.string().describe('JSON path to the conflicting field'),\n\n /** Value in the old package version */\n baseValue: z.unknown().describe('Value in the old package version'),\n\n /** Value in the new package version */\n incomingValue: z.unknown().describe('Value in the new package version'),\n\n /** Customer's customized value */\n customValue: z.unknown().describe('Customer customized value'),\n\n /** Suggested resolution strategy */\n suggestedResolution: z.enum([\n 'keep-custom', // Keep customer's customization\n 'accept-incoming', // Accept package update\n 'manual', // Requires manual resolution\n ]).describe('Suggested resolution strategy'),\n\n /** Reason for the suggested resolution */\n reason: z.string().optional().describe('Explanation for the suggested resolution'),\n});\n\n/**\n * Merge Strategy Configuration\n * Controls how metadata merging behaves during package upgrades.\n */\nexport const MergeStrategyConfigSchema = z.object({\n /** Default strategy when no field-level rule matches */\n defaultStrategy: z.enum([\n 'keep-custom', // Preserve all customer customizations (safe)\n 'accept-incoming', // Accept all package updates (overwrite)\n 'three-way-merge', // Intelligent 3-way merge with conflict detection\n ]).default('three-way-merge').describe('Default merge strategy'),\n\n /** \n * Field paths that should always accept incoming package updates.\n * Use for fields that the package vendor considers \"owned\" and should not be customized.\n * @example [\"fields.*.type\", \"triggers.*\"]\n */\n alwaysAcceptIncoming: z.array(z.string()).optional()\n .describe('Field paths that always accept package updates'),\n\n /**\n * Field paths where customer customizations always win.\n * Use for UI-facing fields like labels, descriptions, help text.\n * @example [\"fields.*.label\", \"fields.*.helpText\", \"description\"]\n */\n alwaysKeepCustom: z.array(z.string()).optional()\n .describe('Field paths where customer customizations always win'),\n\n /** Whether to automatically resolve non-conflicting changes */\n autoResolveNonConflicting: z.boolean().default(true)\n .describe('Auto-resolve changes that do not conflict'),\n});\n\n/**\n * Merge Result\n * Result of a 3-way merge operation during package upgrade.\n */\nexport const MergeResultSchema = z.object({\n /** Whether the merge completed successfully (no unresolved conflicts) */\n success: z.boolean().describe('Whether merge completed without unresolved conflicts'),\n\n /** The merged metadata payload */\n mergedMetadata: z.record(z.string(), z.unknown()).optional()\n .describe('Merged metadata result'),\n\n /** Updated overlay with remaining customizations */\n updatedOverlay: z.record(z.string(), z.unknown()).optional()\n .describe('Updated overlay after merge'),\n\n /** List of conflicts that require manual resolution */\n conflicts: z.array(MergeConflictSchema).optional()\n .describe('Unresolved merge conflicts'),\n\n /** Summary of automatically resolved changes */\n autoResolved: z.array(z.object({\n path: z.string(),\n resolution: z.string(),\n description: z.string().optional(),\n })).optional().describe('Summary of auto-resolved changes'),\n\n /** Statistics */\n stats: z.object({\n totalFields: z.number().int().min(0).describe('Total fields evaluated'),\n unchanged: z.number().int().min(0).describe('Fields with no changes'),\n autoResolved: z.number().int().min(0).describe('Fields auto-resolved'),\n conflicts: z.number().int().min(0).describe('Fields with conflicts'),\n }).optional(),\n});\n\n// ==========================================\n// Customization Management\n// ==========================================\n\n/**\n * Customizable Metadata Policy\n * Defines what parts of a metadata item can be customized by admins/users.\n * Package vendors use this to control customization boundaries.\n */\nexport const CustomizationPolicySchema = z.object({\n /** Metadata type this policy applies to */\n metadataType: z.string().describe('Metadata type (e.g. \"object\", \"view\")'),\n\n /** Whether customization is allowed at all for this type */\n allowCustomization: z.boolean().default(true),\n\n /**\n * Field paths that are locked (cannot be customized).\n * @example [\"name\", \"type\", \"fields.*.type\"]\n */\n lockedFields: z.array(z.string()).optional()\n .describe('Field paths that cannot be customized'),\n\n /**\n * Field paths that are customizable.\n * If specified, only these fields can be customized (whitelist mode).\n * @example [\"label\", \"description\", \"fields.*.label\", \"fields.*.helpText\"]\n */\n customizableFields: z.array(z.string()).optional()\n .describe('Field paths that can be customized (whitelist)'),\n\n /**\n * Whether users can add new fields to package objects.\n * When true, admins can extend package objects with custom fields.\n */\n allowAddFields: z.boolean().default(true)\n .describe('Whether admins can add new fields to package objects'),\n\n /**\n * Whether users can delete package-delivered fields.\n * Typically false — fields can only be hidden, not deleted.\n */\n allowDeleteFields: z.boolean().default(false)\n .describe('Whether admins can delete package-delivered fields'),\n});\n\n// ==========================================\n// Export Types\n// ==========================================\n\nexport type CustomizationOrigin = z.infer<typeof CustomizationOriginSchema>;\nexport type FieldChange = z.infer<typeof FieldChangeSchema>;\nexport type MetadataOverlay = z.infer<typeof MetadataOverlaySchema>;\nexport type MergeConflict = z.infer<typeof MergeConflictSchema>;\nexport type MergeStrategyConfig = z.infer<typeof MergeStrategyConfigSchema>;\nexport type MergeResult = z.infer<typeof MergeResultSchema>;\nexport type CustomizationPolicy = z.infer<typeof CustomizationPolicySchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # Metadata Loader Protocol\n * \n * Defines the standard interface for loading and saving metadata in ObjectStack.\n * This protocol enables consistent metadata operations across different storage backends\n * (filesystem, HTTP, S3, databases) and serialization formats (JSON, YAML, TypeScript).\n */\n\n/**\n * Metadata Format Enum\n * Supported serialization formats for metadata\n */\nexport const MetadataFormatSchema = z.enum(['json', 'yaml', 'typescript', 'javascript']);\n\n/**\n * Metadata Statistics\n * Information about a metadata item without loading its full content\n */\nexport const MetadataStatsSchema = z.object({\n /**\n * Size of the metadata file in bytes\n */\n size: z.number().int().min(0).describe('File size in bytes'),\n \n /**\n * Last modification timestamp\n */\n modifiedAt: z.string().datetime().describe('Last modified date'),\n \n /**\n * ETag for cache validation\n * Used for conditional requests (If-None-Match header)\n */\n etag: z.string().describe('Entity tag for cache validation'),\n \n /**\n * Serialization format\n */\n format: MetadataFormatSchema.describe('Serialization format'),\n \n /**\n * Full file path (if applicable)\n */\n path: z.string().optional().describe('File system path'),\n \n /**\n * Additional metadata provider-specific properties\n */\n metadata: z.record(z.string(), z.unknown()).optional().describe('Provider-specific metadata'),\n});\n\n/**\n * Metadata Load Options\n */\nexport const MetadataLoadOptionsSchema = z.object({\n /**\n * Glob patterns to match files\n * Example: [\"**\\/*.object.ts\", \"**\\/*.object.json\"]\n */\n patterns: z.array(z.string()).optional().describe('File glob patterns'),\n \n /**\n * If-None-Match header for conditional loading\n * Only load if ETag doesn't match\n */\n ifNoneMatch: z.string().optional().describe('ETag for conditional request'),\n \n /**\n * If-Modified-Since header for conditional loading\n */\n ifModifiedSince: z.string().datetime().optional().describe('Only load if modified after this date'),\n \n /**\n * Whether to validate against Zod schema\n */\n validate: z.boolean().default(true).describe('Validate against schema'),\n \n /**\n * Whether to use cache if available\n */\n useCache: z.boolean().default(true).describe('Enable caching'),\n \n /**\n * Filter function (serialized as string)\n * Example: \"(item) => item.name.startsWith('sys_')\"\n */\n filter: z.string().optional().describe('Filter predicate as string'),\n \n /**\n * Maximum number of items to load\n */\n limit: z.number().int().min(1).optional().describe('Maximum items to load'),\n \n /**\n * Recursively search subdirectories\n */\n recursive: z.boolean().default(true).describe('Search subdirectories'),\n});\n\n/**\n * Metadata Save Options\n */\nexport const MetadataSaveOptionsSchema = z.object({\n /**\n * Serialization format\n */\n format: MetadataFormatSchema.default('typescript').describe('Output format'),\n \n /**\n * Prettify output (formatted with indentation)\n */\n prettify: z.boolean().default(true).describe('Format with indentation'),\n \n /**\n * Indentation size (spaces)\n */\n indent: z.number().int().min(0).max(8).default(2).describe('Indentation spaces'),\n \n /**\n * Sort object keys alphabetically\n */\n sortKeys: z.boolean().default(false).describe('Sort object keys'),\n \n /**\n * Include default values in output\n */\n includeDefaults: z.boolean().default(false).describe('Include default values'),\n \n /**\n * Create backup before overwriting\n */\n backup: z.boolean().default(false).describe('Create backup file'),\n \n /**\n * Overwrite if exists\n */\n overwrite: z.boolean().default(true).describe('Overwrite existing file'),\n \n /**\n * Atomic write (write to temp file, then rename)\n */\n atomic: z.boolean().default(true).describe('Use atomic write operation'),\n \n /**\n * Custom file path (overrides default location)\n */\n path: z.string().optional().describe('Custom output path'),\n});\n\n/**\n * Metadata Export Options\n */\nexport const MetadataExportOptionsSchema = z.object({\n /**\n * Output file path\n */\n output: z.string().describe('Output file path'),\n \n /**\n * Export format\n */\n format: MetadataFormatSchema.default('json').describe('Export format'),\n \n /**\n * Filter predicate as string\n */\n filter: z.string().optional().describe('Filter items to export'),\n \n /**\n * Include statistics in export\n */\n includeStats: z.boolean().default(false).describe('Include metadata statistics'),\n \n /**\n * Compress output\n */\n compress: z.boolean().default(false).describe('Compress output (gzip)'),\n \n /**\n * Pretty print output\n */\n prettify: z.boolean().default(true).describe('Pretty print output'),\n});\n\n/**\n * Metadata Import Options\n */\nexport const MetadataImportOptionsSchema = z.object({\n /**\n * Conflict resolution strategy\n */\n conflictResolution: z.enum(['skip', 'overwrite', 'merge', 'fail'])\n .default('merge')\n .describe('How to handle existing items'),\n \n /**\n * Validate items against schema\n */\n validate: z.boolean().default(true).describe('Validate before import'),\n \n /**\n * Dry run (don't actually save)\n */\n dryRun: z.boolean().default(false).describe('Simulate import without saving'),\n \n /**\n * Continue on errors\n */\n continueOnError: z.boolean().default(false).describe('Continue if validation fails'),\n \n /**\n * Transform function (as string)\n * Example: \"(item) => ({ ...item, imported: true })\"\n */\n transform: z.string().optional().describe('Transform items before import'),\n});\n\n/**\n * Metadata Loader Result\n * Result of a metadata load operation\n */\nexport const MetadataLoadResultSchema = z.object({\n /**\n * Loaded data\n */\n data: z.unknown().nullable().describe('Loaded metadata'),\n \n /**\n * Whether data came from cache (304 Not Modified)\n */\n fromCache: z.boolean().default(false).describe('Loaded from cache'),\n \n /**\n * Not modified (conditional request matched)\n */\n notModified: z.boolean().default(false).describe('Not modified since last request'),\n \n /**\n * ETag of loaded data\n */\n etag: z.string().optional().describe('Entity tag'),\n \n /**\n * Statistics about loaded data\n */\n stats: MetadataStatsSchema.optional().describe('Metadata statistics'),\n \n /**\n * Load time in milliseconds\n */\n loadTime: z.number().min(0).optional().describe('Load duration in ms'),\n});\n\n/**\n * Metadata Save Result\n */\nexport const MetadataSaveResultSchema = z.object({\n /**\n * Whether save was successful\n */\n success: z.boolean().describe('Save successful'),\n \n /**\n * Path where file was saved\n */\n path: z.string().describe('Output path'),\n \n /**\n * Generated ETag\n */\n etag: z.string().optional().describe('Generated entity tag'),\n \n /**\n * File size in bytes\n */\n size: z.number().int().min(0).optional().describe('File size'),\n \n /**\n * Save time in milliseconds\n */\n saveTime: z.number().min(0).optional().describe('Save duration in ms'),\n \n /**\n * Backup path (if created)\n */\n backupPath: z.string().optional().describe('Backup file path'),\n});\n\n/**\n * Metadata Watch Event\n */\nexport const MetadataWatchEventSchema = z.object({\n /**\n * Event type\n */\n type: z.enum(['added', 'changed', 'deleted']).describe('Event type'),\n \n /**\n * Metadata type (e.g., 'object', 'view', 'app')\n */\n metadataType: z.string().describe('Type of metadata'),\n \n /**\n * Item name/identifier\n */\n name: z.string().describe('Item identifier'),\n \n /**\n * Full file path\n */\n path: z.string().describe('File path'),\n \n /**\n * Loaded item data (for added/changed events)\n */\n data: z.unknown().optional().describe('Item data'),\n \n /**\n * Timestamp\n */\n timestamp: z.string().datetime().describe('Event timestamp'),\n});\n\n/**\n * Metadata Collection Info\n * Summary of a metadata collection\n */\nexport const MetadataCollectionInfoSchema = z.object({\n /**\n * Collection type (e.g., 'object', 'view', 'app')\n */\n type: z.string().describe('Collection type'),\n \n /**\n * Total items in collection\n */\n count: z.number().int().min(0).describe('Number of items'),\n \n /**\n * Formats found in collection\n */\n formats: z.array(MetadataFormatSchema).describe('Formats in collection'),\n \n /**\n * Total size in bytes\n */\n totalSize: z.number().int().min(0).optional().describe('Total size in bytes'),\n \n /**\n * Last modified timestamp\n */\n lastModified: z.string().datetime().optional().describe('Last modification date'),\n \n /**\n * Collection location (path or URL)\n */\n location: z.string().optional().describe('Collection location'),\n});\n\n/**\n * Metadata Loader Interface Contract\n * Defines the standard methods all metadata loaders must implement\n */\nexport const MetadataLoaderContractSchema = z.object({\n /**\n * Loader name/identifier\n */\n name: z.string().describe('Loader identifier'),\n\n /**\n * Protocol handled by this loader (e.g. 'file:', 'http:', 's3:', 'datasource:')\n */\n protocol: z.enum(['file:', 'http:', 's3:', 'datasource:', 'memory:']).describe('Protocol identifier'),\n\n /**\n * Detailed capabilities\n */\n capabilities: z.object({\n read: z.boolean().default(true),\n write: z.boolean().default(false),\n watch: z.boolean().default(false),\n list: z.boolean().default(true),\n }).describe('Loader capabilities'),\n \n /**\n * Supported formats\n */\n supportedFormats: z.array(MetadataFormatSchema).describe('Supported formats'),\n \n /**\n * Whether loader supports watching for changes\n */\n supportsWatch: z.boolean().default(false).describe('Supports file watching'),\n \n /**\n * Whether loader supports saving\n */\n supportsWrite: z.boolean().default(true).describe('Supports write operations'),\n \n /**\n * Whether loader supports caching\n */\n supportsCache: z.boolean().default(true).describe('Supports caching'),\n});\n\n/**\n * Metadata Fallback Strategy\n * Determines behavior when the primary datasource is unavailable.\n */\nexport const MetadataFallbackStrategySchema = z.enum([\n 'filesystem', // Fall back to filesystem-based loading\n 'memory', // Fall back to in-memory storage\n 'none', // No fallback — fail immediately\n]);\n\n/**\n * Metadata Manager Configuration\n */\nexport const MetadataManagerConfigSchema = z.object({\n /**\n * Datasource Name Reference\n * References a DatasourceSchema.name (e.g. 'default').\n * At runtime, resolved from kernel service `driver.{name}` to obtain the actual driver.\n */\n datasource: z.string().optional().describe('Datasource name reference for database persistence'),\n\n /**\n * Metadata Table Name\n * The database table used for metadata storage when datasource is configured.\n */\n tableName: z.string().default('sys_metadata').describe('Database table name for metadata storage'),\n\n /**\n * Fallback Strategy\n * Determines behavior when the primary datasource is unavailable.\n */\n fallback: MetadataFallbackStrategySchema.default('none').describe('Fallback strategy when datasource is unavailable'),\n\n /**\n * Root directory for metadata (for filesystem loaders)\n */\n rootDir: z.string().optional().describe('Root directory path'),\n \n /**\n * Enabled serialization formats\n */\n formats: z.array(MetadataFormatSchema).default(['typescript', 'json', 'yaml']).describe('Enabled formats'),\n \n /**\n * Cache configuration\n */\n cache: z.object({\n enabled: z.boolean().default(true).describe('Enable caching'),\n ttl: z.number().int().min(0).default(3600).describe('Cache TTL in seconds'),\n maxSize: z.number().int().min(0).optional().describe('Max cache size in bytes'),\n }).optional().describe('Cache settings'),\n \n /**\n * Watch for file changes\n */\n watch: z.boolean().default(false).describe('Enable file watching'),\n \n /**\n * Watch options\n */\n watchOptions: z.object({\n ignored: z.array(z.string()).optional().describe('Patterns to ignore'),\n persistent: z.boolean().default(true).describe('Keep process running'),\n ignoreInitial: z.boolean().default(true).describe('Ignore initial add events'),\n }).optional().describe('File watcher options'),\n \n /**\n * Validation settings\n */\n validation: z.object({\n strict: z.boolean().default(true).describe('Strict validation'),\n throwOnError: z.boolean().default(true).describe('Throw on validation error'),\n }).optional().describe('Validation settings'),\n \n /**\n * Loader-specific options\n */\n loaderOptions: z.record(z.string(), z.unknown()).optional().describe('Loader-specific configuration'),\n});\n\n// Export types\nexport type MetadataFormat = z.infer<typeof MetadataFormatSchema>;\nexport type MetadataStats = z.infer<typeof MetadataStatsSchema>;\nexport type MetadataLoadOptions = z.input<typeof MetadataLoadOptionsSchema>;\nexport type MetadataSaveOptions = z.infer<typeof MetadataSaveOptionsSchema>;\nexport type MetadataExportOptions = z.infer<typeof MetadataExportOptionsSchema>;\nexport type MetadataImportOptions = z.infer<typeof MetadataImportOptionsSchema>;\nexport type MetadataLoadResult = z.infer<typeof MetadataLoadResultSchema>;\nexport type MetadataSaveResult = z.infer<typeof MetadataSaveResultSchema>;\nexport type MetadataWatchEvent = z.infer<typeof MetadataWatchEventSchema>;\nexport type MetadataCollectionInfo = z.infer<typeof MetadataCollectionInfoSchema>;\nexport type MetadataLoaderContract = z.input<typeof MetadataLoaderContractSchema>;\nexport type MetadataManagerConfig = z.input<typeof MetadataManagerConfigSchema>;\nexport type MetadataFallbackStrategy = z.infer<typeof MetadataFallbackStrategySchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { MetadataManagerConfigSchema } from './metadata-loader.zod';\nimport { MergeStrategyConfigSchema, CustomizationPolicySchema } from './metadata-customization.zod';\n\n/**\n * # Metadata Plugin Protocol\n *\n * Defines the specification for the **Metadata Plugin** — the central authority\n * responsible for managing ALL metadata across the ObjectStack platform.\n *\n * ## Architecture\n * The Metadata Plugin consolidates all scattered metadata operations into a single,\n * cohesive plugin that \"takes over\" the entire platform's metadata management:\n *\n * ```\n * ┌──────────────────────────────────────────────────────────────────┐\n * │ Metadata Plugin │\n * │ │\n * │ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────┐ │\n * │ │ Type Registry │ │ Loader │ │ Customization Layer │ │\n * │ │ (all types) │ │ (file/db/s3)│ │ (overlay / merge) │ │\n * │ └──────────────┘ └──────────────┘ └──────────────────────┘ │\n * │ │\n * │ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────┐ │\n * │ │ Persistence │ │ Query │ │ Lifecycle │ │\n * │ │ (db records) │ │ (search) │ │ (validate/deploy) │ │\n * │ └──────────────┘ └──────────────┘ └──────────────────────┘ │\n * └──────────────────────────────────────────────────────────────────┘\n * ```\n *\n * ## Alignment\n * - **Salesforce**: Metadata API (deploy, retrieve, describe)\n * - **ServiceNow**: System Dictionary + Metadata API\n * - **Kubernetes**: API Server + CRD Registry\n *\n * ## References\n * - kernel/metadata-loader.zod.ts — Storage backend protocol\n * - kernel/metadata-customization.zod.ts — Overlay/merge protocol\n * - system/metadata-persistence.zod.ts — Database record format\n * - contracts/metadata-service.ts — Service interface\n */\n\n// ==========================================\n// Metadata Type Registry\n// ==========================================\n\n/**\n * Platform Metadata Type Enum\n *\n * The canonical list of all metadata types managed by the platform.\n * Each type maps to a specific Zod schema (e.g., ObjectSchema, ViewSchema).\n * Plugins can extend this registry via `contributes.kinds` in the manifest.\n */\nexport const MetadataTypeSchema = z.enum([\n // Data Protocol\n 'object', // Business entity definition (ObjectSchema)\n 'field', // Standalone field definition (FieldSchema)\n 'trigger', // Data-layer event triggers (TriggerSchema)\n 'validation', // Validation rules (ValidationSchema)\n 'hook', // Data hooks (HookSchema)\n\n // UI Protocol\n 'view', // List/form views (ViewSchema)\n 'page', // Standalone pages (PageSchema)\n 'dashboard', // Dashboard layouts (DashboardSchema)\n 'app', // Application shell (AppSchema)\n 'action', // UI/Server actions (ActionSchema)\n 'report', // Report definitions (ReportSchema)\n\n // Automation Protocol\n 'flow', // Visual logic flows (FlowSchema)\n 'workflow', // State machines (WorkflowSchema)\n 'approval', // Approval processes (ApprovalSchema)\n\n // System Protocol\n 'datasource', // Data connections (DatasourceSchema)\n 'translation', // i18n resources (TranslationSchema)\n 'router', // API routes\n 'function', // Serverless functions\n 'service', // Service definitions\n\n // Security Protocol\n 'permission', // Permission sets (PermissionSetSchema)\n 'profile', // User profiles (ProfileSchema)\n 'role', // Security roles\n\n // AI Protocol\n 'agent', // AI agent definitions (AgentSchema)\n]);\n\nexport type MetadataType = z.infer<typeof MetadataTypeSchema>;\n\n// ==========================================\n// Type Registry Entry\n// ==========================================\n\n/**\n * Metadata Type Registry Entry\n *\n * Describes a registered metadata type, including its validation schema,\n * file patterns, and capabilities. Used by the metadata plugin to:\n * 1. Discover metadata files on disk\n * 2. Validate metadata payloads\n * 3. Determine storage behavior\n */\nexport const MetadataTypeRegistryEntrySchema = z.object({\n /** Metadata type identifier (e.g., 'object', 'view') */\n type: MetadataTypeSchema.describe('Metadata type identifier'),\n\n /** Human-readable label */\n label: z.string().describe('Display label for the metadata type'),\n\n /** Brief description */\n description: z.string().optional().describe('Description of the metadata type'),\n\n /**\n * File glob patterns for this type.\n * Used to discover metadata files on disk.\n * @example [\"**\\/*.object.ts\", \"**\\/*.object.yml\"]\n */\n filePatterns: z.array(z.string()).describe('Glob patterns to discover files of this type'),\n\n /**\n * Whether this type supports the customization overlay system.\n * When true, platform/user overlays can be applied on top of package-delivered metadata.\n */\n supportsOverlay: z.boolean().default(true).describe('Whether overlay customization is supported'),\n\n /**\n * Whether metadata of this type can be created at runtime via API.\n * Some types (e.g., 'object') may be restricted to deployment-only.\n */\n allowRuntimeCreate: z.boolean().default(true).describe('Allow runtime creation via API'),\n\n /**\n * Whether this type supports versioning.\n * When true, changes are tracked with version history.\n */\n supportsVersioning: z.boolean().default(false).describe('Whether version history is tracked'),\n\n /**\n * Priority order for loading (lower = earlier).\n * Objects load before views, views before dashboards.\n */\n loadOrder: z.number().int().min(0).default(100).describe('Loading priority (lower = earlier)'),\n\n /** The domain this type belongs to */\n domain: z.enum(['data', 'ui', 'automation', 'system', 'security', 'ai'])\n .describe('Protocol domain'),\n});\n\nexport type MetadataTypeRegistryEntry = z.infer<typeof MetadataTypeRegistryEntrySchema>;\n\n// ==========================================\n// Metadata Query Protocol\n// ==========================================\n\n/**\n * Metadata Query Schema\n *\n * Standard protocol for searching and filtering metadata items.\n * Used by the metadata service to support advanced metadata discovery.\n */\nexport const MetadataQuerySchema = z.object({\n /** Filter by metadata type(s) */\n types: z.array(MetadataTypeSchema).optional().describe('Filter by metadata types'),\n\n /** Filter by namespace(s) */\n namespaces: z.array(z.string()).optional().describe('Filter by namespaces'),\n\n /** Filter by package ID */\n packageId: z.string().optional().describe('Filter by owning package'),\n\n /** Full-text search across name, label, description */\n search: z.string().optional().describe('Full-text search query'),\n\n /** Filter by scope */\n scope: z.enum(['system', 'platform', 'user']).optional().describe('Filter by scope'),\n\n /** Filter by state */\n state: z.enum(['draft', 'active', 'archived', 'deprecated']).optional().describe('Filter by lifecycle state'),\n\n /** Filter by tags */\n tags: z.array(z.string()).optional().describe('Filter by tags'),\n\n /** Sort field */\n sortBy: z.enum(['name', 'type', 'updatedAt', 'createdAt']).default('name').describe('Sort field'),\n\n /** Sort direction */\n sortOrder: z.enum(['asc', 'desc']).default('asc').describe('Sort direction'),\n\n /** Pagination: page number (1-based) */\n page: z.number().int().min(1).default(1).describe('Page number'),\n\n /** Pagination: items per page */\n pageSize: z.number().int().min(1).max(500).default(50).describe('Items per page'),\n});\n\nexport type MetadataQuery = z.input<typeof MetadataQuerySchema>;\n\n/**\n * Metadata Query Result\n */\nexport const MetadataQueryResultSchema = z.object({\n /** Matched items */\n items: z.array(z.object({\n type: z.string().describe('Metadata type'),\n name: z.string().describe('Item name'),\n namespace: z.string().optional().describe('Namespace'),\n label: z.string().optional().describe('Display label'),\n scope: z.enum(['system', 'platform', 'user']).optional(),\n state: z.enum(['draft', 'active', 'archived', 'deprecated']).optional(),\n packageId: z.string().optional(),\n updatedAt: z.string().datetime().optional(),\n })).describe('Matched metadata items'),\n\n /** Total count (for pagination) */\n total: z.number().int().min(0).describe('Total matching items'),\n\n /** Current page */\n page: z.number().int().min(1).describe('Current page'),\n\n /** Page size */\n pageSize: z.number().int().min(1).describe('Page size'),\n});\n\nexport type MetadataQueryResult = z.infer<typeof MetadataQueryResultSchema>;\n\n// ==========================================\n// Metadata Lifecycle Events\n// ==========================================\n\n/**\n * Metadata Event Schema\n *\n * Events emitted by the metadata plugin when metadata changes.\n * Enables reactive patterns across the platform (cache invalidation,\n * UI refresh, dependency tracking, etc.).\n */\nexport const MetadataEventSchema = z.object({\n /** Event type */\n event: z.enum([\n 'metadata.registered',\n 'metadata.updated',\n 'metadata.unregistered',\n 'metadata.validated',\n 'metadata.deployed',\n 'metadata.overlay.applied',\n 'metadata.overlay.removed',\n 'metadata.imported',\n 'metadata.exported',\n ]).describe('Event type'),\n\n /** Metadata type */\n metadataType: MetadataTypeSchema.describe('Metadata type'),\n\n /** Item name */\n name: z.string().describe('Metadata item name'),\n\n /** Namespace */\n namespace: z.string().optional().describe('Namespace'),\n\n /** Package ID (if package-managed) */\n packageId: z.string().optional().describe('Owning package ID'),\n\n /** Timestamp */\n timestamp: z.string().datetime().describe('Event timestamp'),\n\n /** Actor who caused the event */\n actor: z.string().optional().describe('User or system that triggered the event'),\n\n /** Additional event-specific payload */\n payload: z.record(z.string(), z.unknown()).optional().describe('Event-specific payload'),\n});\n\nexport type MetadataEvent = z.infer<typeof MetadataEventSchema>;\n\n// ==========================================\n// Metadata Validation\n// ==========================================\n\n/**\n * Metadata Validation Result\n */\nexport const MetadataValidationResultSchema = z.object({\n /** Whether validation passed */\n valid: z.boolean().describe('Whether the metadata is valid'),\n\n /** Validation errors */\n errors: z.array(z.object({\n path: z.string().describe('JSON path to the invalid field'),\n message: z.string().describe('Error description'),\n code: z.string().optional().describe('Error code'),\n })).optional().describe('Validation errors'),\n\n /** Validation warnings (non-blocking) */\n warnings: z.array(z.object({\n path: z.string().describe('JSON path to the field'),\n message: z.string().describe('Warning description'),\n })).optional().describe('Validation warnings'),\n});\n\nexport type MetadataValidationResult = z.infer<typeof MetadataValidationResultSchema>;\n\n// ==========================================\n// Metadata Plugin Configuration\n// ==========================================\n\n/**\n * Metadata Plugin Configuration\n *\n * The unified configuration for the metadata plugin, combining\n * storage, caching, customization, and type registry settings.\n */\nexport const MetadataPluginConfigSchema = z.object({\n /**\n * Storage configuration.\n * References MetadataManagerConfigSchema for the underlying storage backend.\n */\n storage: MetadataManagerConfigSchema.describe('Storage backend configuration'),\n\n /**\n * Default customization policies per metadata type.\n * Controls what parts of metadata can be customized by admins/users.\n */\n customizationPolicies: z.array(CustomizationPolicySchema).optional()\n .describe('Default customization policies per type'),\n\n /**\n * Merge strategy for package upgrades.\n */\n mergeStrategy: MergeStrategyConfigSchema.optional()\n .describe('Merge strategy for package upgrades'),\n\n /**\n * Additional metadata type registrations.\n * Used by plugins to register custom metadata types beyond the built-in set.\n */\n additionalTypes: z.array(MetadataTypeRegistryEntrySchema.omit({ type: true }).extend({\n type: z.string().describe('Custom metadata type identifier'),\n })).optional().describe('Additional custom metadata types'),\n\n /**\n * Enable metadata change events.\n * When true, the plugin emits events on every metadata change.\n */\n enableEvents: z.boolean().default(true).describe('Emit metadata change events'),\n\n /**\n * Enable metadata validation on write operations.\n * When true, all metadata is validated against its type schema before saving.\n */\n validateOnWrite: z.boolean().default(true).describe('Validate metadata on write'),\n\n /**\n * Enable metadata versioning.\n * When true, changes to metadata are tracked with version history.\n */\n enableVersioning: z.boolean().default(false).describe('Track metadata version history'),\n\n /**\n * Maximum number of metadata items to keep in memory cache.\n */\n cacheMaxItems: z.number().int().min(0).default(10000).describe('Max items in memory cache'),\n});\n\nexport type MetadataPluginConfig = z.input<typeof MetadataPluginConfigSchema>;\n\n// ==========================================\n// Metadata Plugin Manifest\n// ==========================================\n\n/**\n * Metadata Plugin Manifest\n *\n * The complete manifest for the Metadata Plugin, declaring its identity,\n * capabilities, and configuration. This is the \"contract\" between the\n * metadata plugin and the kernel.\n */\nexport const MetadataPluginManifestSchema = z.object({\n /** Plugin identifier */\n id: z.literal('com.objectstack.metadata').describe('Metadata plugin ID'),\n\n /** Plugin name */\n name: z.literal('ObjectStack Metadata Service').describe('Plugin name'),\n\n /** Plugin version */\n version: z.string().regex(/^\\d+\\.\\d+\\.\\d+$/).describe('Plugin version'),\n\n /** Plugin type */\n type: z.literal('standard').describe('Plugin type'),\n\n /** Plugin description */\n description: z.string().default('Core metadata management service for ObjectStack platform')\n .describe('Plugin description'),\n\n /**\n * Capabilities this plugin provides.\n * The kernel uses this to route metadata requests to this plugin.\n */\n capabilities: z.object({\n /** Supports CRUD operations on metadata */\n crud: z.boolean().default(true).describe('Supports metadata CRUD'),\n\n /** Supports metadata query/search */\n query: z.boolean().default(true).describe('Supports metadata query'),\n\n /** Supports the overlay/customization system */\n overlay: z.boolean().default(true).describe('Supports customization overlays'),\n\n /** Supports file watching for hot reload */\n watch: z.boolean().default(false).describe('Supports file watching'),\n\n /** Supports bulk import/export */\n importExport: z.boolean().default(true).describe('Supports import/export'),\n\n /** Supports metadata validation */\n validation: z.boolean().default(true).describe('Supports schema validation'),\n\n /** Supports metadata versioning */\n versioning: z.boolean().default(false).describe('Supports version history'),\n\n /** Supports metadata events */\n events: z.boolean().default(true).describe('Emits metadata events'),\n }).describe('Plugin capabilities'),\n\n /** Plugin configuration */\n config: MetadataPluginConfigSchema.optional().describe('Plugin configuration'),\n});\n\nexport type MetadataPluginManifest = z.input<typeof MetadataPluginManifestSchema>;\n\n// ==========================================\n// Built-in Type Registry Defaults\n// ==========================================\n\n/**\n * Default Type Registry\n *\n * The built-in metadata type registry with default configurations.\n * Plugins extend this via `contributes.kinds` in the manifest.\n */\nexport const DEFAULT_METADATA_TYPE_REGISTRY: MetadataTypeRegistryEntry[] = [\n // Data Protocol (load first)\n { type: 'object', label: 'Object', filePatterns: ['**/*.object.ts', '**/*.object.yml', '**/*.object.json'], supportsOverlay: true, allowRuntimeCreate: false, supportsVersioning: true, loadOrder: 10, domain: 'data' },\n { type: 'field', label: 'Field', filePatterns: ['**/*.field.ts', '**/*.field.yml'], supportsOverlay: true, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 20, domain: 'data' },\n { type: 'trigger', label: 'Trigger', filePatterns: ['**/*.trigger.ts', '**/*.trigger.yml'], supportsOverlay: false, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 30, domain: 'data' },\n { type: 'validation', label: 'Validation Rule', filePatterns: ['**/*.validation.ts', '**/*.validation.yml'], supportsOverlay: false, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 30, domain: 'data' },\n { type: 'hook', label: 'Hook', filePatterns: ['**/*.hook.ts', '**/*.hook.yml'], supportsOverlay: false, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 30, domain: 'data' },\n\n // UI Protocol\n { type: 'view', label: 'View', filePatterns: ['**/*.view.ts', '**/*.view.yml', '**/*.view.json'], supportsOverlay: true, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 50, domain: 'ui' },\n { type: 'page', label: 'Page', filePatterns: ['**/*.page.ts', '**/*.page.yml'], supportsOverlay: true, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 50, domain: 'ui' },\n { type: 'dashboard', label: 'Dashboard', filePatterns: ['**/*.dashboard.ts', '**/*.dashboard.yml', '**/*.dashboard.json'], supportsOverlay: true, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 60, domain: 'ui' },\n { type: 'app', label: 'Application', filePatterns: ['**/*.app.ts', '**/*.app.yml', '**/*.app.json'], supportsOverlay: true, allowRuntimeCreate: false, supportsVersioning: true, loadOrder: 70, domain: 'ui' },\n { type: 'action', label: 'Action', filePatterns: ['**/*.action.ts', '**/*.action.yml'], supportsOverlay: false, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 50, domain: 'ui' },\n { type: 'report', label: 'Report', filePatterns: ['**/*.report.ts', '**/*.report.yml'], supportsOverlay: true, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 60, domain: 'ui' },\n\n // Automation Protocol\n { type: 'flow', label: 'Flow', filePatterns: ['**/*.flow.ts', '**/*.flow.yml', '**/*.flow.json'], supportsOverlay: false, allowRuntimeCreate: true, supportsVersioning: true, loadOrder: 80, domain: 'automation' },\n { type: 'workflow', label: 'Workflow', filePatterns: ['**/*.workflow.ts', '**/*.workflow.yml'], supportsOverlay: false, allowRuntimeCreate: true, supportsVersioning: true, loadOrder: 80, domain: 'automation' },\n { type: 'approval', label: 'Approval Process', filePatterns: ['**/*.approval.ts', '**/*.approval.yml'], supportsOverlay: false, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 80, domain: 'automation' },\n\n // System Protocol\n { type: 'datasource', label: 'Datasource', filePatterns: ['**/*.datasource.ts', '**/*.datasource.yml'], supportsOverlay: false, allowRuntimeCreate: false, supportsVersioning: false, loadOrder: 5, domain: 'system' },\n { type: 'translation', label: 'Translation', filePatterns: ['**/*.translation.ts', '**/*.translation.yml', '**/*.translation.json'], supportsOverlay: true, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 90, domain: 'system' },\n { type: 'router', label: 'Router', filePatterns: ['**/*.router.ts'], supportsOverlay: false, allowRuntimeCreate: false, supportsVersioning: false, loadOrder: 40, domain: 'system' },\n { type: 'function', label: 'Function', filePatterns: ['**/*.function.ts'], supportsOverlay: false, allowRuntimeCreate: false, supportsVersioning: false, loadOrder: 40, domain: 'system' },\n { type: 'service', label: 'Service', filePatterns: ['**/*.service.ts'], supportsOverlay: false, allowRuntimeCreate: false, supportsVersioning: false, loadOrder: 40, domain: 'system' },\n\n // Security Protocol\n { type: 'permission', label: 'Permission Set', filePatterns: ['**/*.permission.ts', '**/*.permission.yml'], supportsOverlay: true, allowRuntimeCreate: true, supportsVersioning: true, loadOrder: 15, domain: 'security' },\n { type: 'profile', label: 'Profile', filePatterns: ['**/*.profile.ts', '**/*.profile.yml'], supportsOverlay: true, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 15, domain: 'security' },\n { type: 'role', label: 'Role', filePatterns: ['**/*.role.ts', '**/*.role.yml'], supportsOverlay: true, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 15, domain: 'security' },\n\n // AI Protocol\n { type: 'agent', label: 'AI Agent', filePatterns: ['**/*.agent.ts', '**/*.agent.yml'], supportsOverlay: false, allowRuntimeCreate: true, supportsVersioning: true, loadOrder: 90, domain: 'ai' },\n];\n\n// ==========================================\n// Bulk Operation Types\n// ==========================================\n\n/**\n * Bulk Register Request\n */\nexport const MetadataBulkRegisterRequestSchema = z.object({\n /** Items to register */\n items: z.array(z.object({\n type: z.string().describe('Metadata type'),\n name: z.string().describe('Item name'),\n data: z.record(z.string(), z.unknown()).describe('Metadata payload'),\n namespace: z.string().optional().describe('Namespace'),\n })).min(1).describe('Items to register'),\n\n /** Continue on individual item failure */\n continueOnError: z.boolean().default(false).describe('Continue if individual item fails'),\n\n /** Validate items before registering */\n validate: z.boolean().default(true).describe('Validate before register'),\n});\n\nexport type MetadataBulkRegisterRequest = z.input<typeof MetadataBulkRegisterRequestSchema>;\n\n/**\n * Bulk Operation Result\n */\nexport const MetadataBulkResultSchema = z.object({\n /** Total items processed */\n total: z.number().int().min(0).describe('Total items processed'),\n\n /** Successfully processed items */\n succeeded: z.number().int().min(0).describe('Successfully processed'),\n\n /** Failed items */\n failed: z.number().int().min(0).describe('Failed items'),\n\n /** Per-item error details */\n errors: z.array(z.object({\n type: z.string().describe('Metadata type'),\n name: z.string().describe('Item name'),\n error: z.string().describe('Error message'),\n })).optional().describe('Per-item errors'),\n});\n\nexport type MetadataBulkResult = z.infer<typeof MetadataBulkResultSchema>;\n\n// ==========================================\n// Metadata Dependency\n// ==========================================\n\n/**\n * Metadata Dependency Schema\n *\n * Tracks dependencies between metadata items.\n * Used for impact analysis and safe deletion checks.\n */\nexport const MetadataDependencySchema = z.object({\n /** Source metadata type */\n sourceType: z.string().describe('Dependent metadata type'),\n\n /** Source metadata name */\n sourceName: z.string().describe('Dependent metadata name'),\n\n /** Target metadata type */\n targetType: z.string().describe('Referenced metadata type'),\n\n /** Target metadata name */\n targetName: z.string().describe('Referenced metadata name'),\n\n /** Dependency kind */\n kind: z.enum(['reference', 'extends', 'includes', 'triggers'])\n .describe('How the dependency is formed'),\n});\n\nexport type MetadataDependency = z.infer<typeof MetadataDependencySchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { ManifestSchema } from './manifest.zod';\n\n/**\n * # Package Registry Protocol\n * \n * Defines the runtime state and lifecycle operations for installed packages.\n * \n * ## Key Distinction: Package vs App\n * - **Package (Manifest)**: The unit of installation — a deployable artifact containing\n * metadata (objects, actions, flows, etc.) and optionally one or more Apps.\n * - **App (AppSchema)**: A UI navigation shell defined inside a package.\n * \n * A package may contain:\n * - Zero apps (pure functionality plugin, e.g. a storage driver)\n * - One app (typical business application)\n * - Multiple apps (suite of applications)\n * \n * ## Architecture Alignment\n * - **Salesforce**: Managed Packages with install/uninstall lifecycle\n * - **VS Code**: Extension marketplace with enable/disable per-workspace\n * - **Kubernetes**: Helm charts with release state tracking\n * - **npm**: Package registry with install/uninstall/version management\n */\n\n// ==========================================\n// Package Status & Lifecycle\n// ==========================================\n\n/**\n * Package installation status.\n */\nexport const PackageStatusEnum = z.enum([\n 'installed', // Successfully installed and enabled\n 'disabled', // Installed but disabled (metadata not active)\n 'installing', // Installation in progress\n 'upgrading', // Upgrade in progress\n 'uninstalling', // Removal in progress\n 'error', // Installation or runtime error\n]);\nexport type PackageStatus = z.infer<typeof PackageStatusEnum>;\n\n/**\n * Installed Package Schema\n * \n * Wraps a ManifestSchema with runtime lifecycle state.\n * This is the \"row\" in the installed packages table.\n */\nexport const InstalledPackageSchema = z.object({\n /** \n * The full package manifest (source of truth for package definition).\n */\n manifest: ManifestSchema,\n\n /**\n * Current lifecycle status.\n */\n status: PackageStatusEnum.default('installed'),\n\n /**\n * Whether the package is currently enabled (active).\n * When disabled, the package's metadata is not loaded into the registry.\n */\n enabled: z.boolean().default(true),\n\n /**\n * ISO 8601 timestamp of when the package was installed.\n */\n installedAt: z.string().datetime().optional(),\n\n /**\n * ISO 8601 timestamp of last update.\n */\n updatedAt: z.string().datetime().optional(),\n\n /**\n * The currently installed version string.\n * Mirrors manifest.version for quick access without parsing the full manifest.\n */\n installedVersion: z.string().optional()\n .describe('Currently installed version for quick access'),\n\n /**\n * The previously installed version (before last upgrade).\n * Useful for rollback and upgrade tracking.\n */\n previousVersion: z.string().optional()\n .describe('Version before the last upgrade'),\n\n /**\n * ISO 8601 timestamp of when the package was last enabled/disabled.\n */\n statusChangedAt: z.string().datetime().optional(),\n\n /**\n * Error message if status is 'error'.\n */\n errorMessage: z.string().optional(),\n\n /**\n * Configuration values set by the user for this package.\n * Keys correspond to the package's `configuration.properties`.\n */\n settings: z.record(z.string(), z.unknown()).optional(),\n});\nexport type InstalledPackage = z.infer<typeof InstalledPackageSchema>;\n\n// ==========================================\n// Package Registry Request/Response Schemas\n// ==========================================\n\n/**\n * List Packages Request\n */\nexport const ListPackagesRequestSchema = z.object({\n /** Filter by status */\n status: PackageStatusEnum.optional(),\n /** Filter by package type */\n type: ManifestSchema.shape.type.optional(),\n /** Filter by enabled state */\n enabled: z.boolean().optional(),\n});\nexport type ListPackagesRequest = z.infer<typeof ListPackagesRequestSchema>;\n\n/**\n * List Packages Response\n */\nexport const ListPackagesResponseSchema = z.object({\n packages: z.array(InstalledPackageSchema),\n total: z.number(),\n});\nexport type ListPackagesResponse = z.infer<typeof ListPackagesResponseSchema>;\n\n/**\n * Get Package Request\n */\nexport const GetPackageRequestSchema = z.object({\n /** Package ID (reverse domain identifier from manifest) */\n id: z.string(),\n});\nexport type GetPackageRequest = z.infer<typeof GetPackageRequestSchema>;\n\n/**\n * Get Package Response\n */\nexport const GetPackageResponseSchema = z.object({\n package: InstalledPackageSchema,\n});\nexport type GetPackageResponse = z.infer<typeof GetPackageResponseSchema>;\n\n/**\n * Install Package Request\n * \n * Accepts a full manifest to install. In a production system,\n * this might also accept a package ID to fetch from a marketplace.\n */\nexport const InstallPackageRequestSchema = z.object({\n /** The package manifest to install */\n manifest: ManifestSchema,\n /** Optional: user-provided settings at install time */\n settings: z.record(z.string(), z.unknown()).optional(),\n /** Whether to enable immediately after install (default: true) */\n enableOnInstall: z.boolean().default(true),\n});\nexport type InstallPackageRequest = z.infer<typeof InstallPackageRequestSchema>;\n\n/**\n * Install Package Response\n */\nexport const InstallPackageResponseSchema = z.object({\n package: InstalledPackageSchema,\n message: z.string().optional(),\n});\nexport type InstallPackageResponse = z.infer<typeof InstallPackageResponseSchema>;\n\n/**\n * Uninstall Package Request\n */\nexport const UninstallPackageRequestSchema = z.object({\n /** Package ID to uninstall */\n id: z.string(),\n});\nexport type UninstallPackageRequest = z.infer<typeof UninstallPackageRequestSchema>;\n\n/**\n * Uninstall Package Response\n */\nexport const UninstallPackageResponseSchema = z.object({\n id: z.string(),\n success: z.boolean(),\n message: z.string().optional(),\n});\nexport type UninstallPackageResponse = z.infer<typeof UninstallPackageResponseSchema>;\n\n/**\n * Enable Package Request\n */\nexport const EnablePackageRequestSchema = z.object({\n /** Package ID to enable */\n id: z.string(),\n});\nexport type EnablePackageRequest = z.infer<typeof EnablePackageRequestSchema>;\n\n/**\n * Enable Package Response\n */\nexport const EnablePackageResponseSchema = z.object({\n package: InstalledPackageSchema,\n message: z.string().optional(),\n});\nexport type EnablePackageResponse = z.infer<typeof EnablePackageResponseSchema>;\n\n/**\n * Disable Package Request\n */\nexport const DisablePackageRequestSchema = z.object({\n /** Package ID to disable */\n id: z.string(),\n});\nexport type DisablePackageRequest = z.infer<typeof DisablePackageRequestSchema>;\n\n/**\n * Disable Package Response\n */\nexport const DisablePackageResponseSchema = z.object({\n package: InstalledPackageSchema,\n message: z.string().optional(),\n});\nexport type DisablePackageResponse = z.infer<typeof DisablePackageResponseSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { ManifestSchema } from './manifest.zod';\n\n/**\n * # Package Upgrade Protocol\n * \n * Defines the complete lifecycle for upgrading installed packages,\n * including pre-upgrade analysis, snapshot/backup, execution, validation,\n * and rollback capabilities.\n * \n * ## Architecture Alignment\n * - **Salesforce**: Managed Package upgrade with push upgrades and subscriber control\n * - **ServiceNow**: Update Sets with preview, commit, and back-out support\n * - **Helm**: Helm upgrade with rollback to previous release\n * - **Kubernetes**: Rolling update with readiness probes and automatic rollback\n * \n * ## Upgrade Flow\n * ```\n * 1. PreCheck → Validate compatibility, check dependencies\n * 2. Plan → Generate upgrade plan with metadata diff\n * 3. Snapshot → Backup current state (metadata + customizations)\n * 4. Execute → Apply new package metadata with 3-way merge\n * 5. Validate → Run post-upgrade health checks\n * 6. Commit → Finalize upgrade (or Rollback on failure)\n * ```\n */\n\n// ==========================================\n// Upgrade Plan & Analysis\n// ==========================================\n\n/**\n * Metadata Change Type\n * Type of change detected between package versions.\n */\nexport const MetadataChangeTypeSchema = z.enum([\n 'added', // New metadata item added in new version\n 'modified', // Existing metadata item modified\n 'removed', // Metadata item removed in new version\n 'renamed', // Metadata item renamed\n]);\n\n/**\n * Metadata Diff Item\n * Describes a single metadata change between two package versions.\n */\nexport const MetadataDiffItemSchema = z.object({\n /** Metadata type (e.g. \"object\", \"view\", \"flow\") */\n type: z.string().describe('Metadata type'),\n\n /** Metadata name */\n name: z.string().describe('Metadata name'),\n\n /** Type of change */\n changeType: MetadataChangeTypeSchema,\n\n /** Whether this change has potential conflicts with customizations */\n hasConflict: z.boolean().default(false)\n .describe('Whether this change may conflict with customizations'),\n\n /** Human-readable summary of the change */\n summary: z.string().optional().describe('Human-readable change summary'),\n\n /** Previous name (for renames) */\n previousName: z.string().optional().describe('Previous name if renamed'),\n});\n\n/**\n * Upgrade Impact Level\n * Indicates the severity of impact the upgrade will have.\n */\nexport const UpgradeImpactLevelSchema = z.enum([\n 'none', // No impact, seamless upgrade\n 'low', // Minor changes, no user action needed\n 'medium', // Some changes that may affect workflows\n 'high', // Significant changes, user review recommended\n 'critical', // Breaking changes, manual intervention required\n]);\n\n/**\n * Upgrade Plan Schema\n * The analysis result before executing an upgrade.\n * Generated by comparing old version metadata with new version metadata.\n */\nexport const UpgradePlanSchema = z.object({\n /** Package being upgraded */\n packageId: z.string().describe('Package identifier'),\n\n /** Current installed version */\n fromVersion: z.string().describe('Currently installed version'),\n\n /** Target version to upgrade to */\n toVersion: z.string().describe('Target upgrade version'),\n\n /** Overall impact level */\n impactLevel: UpgradeImpactLevelSchema,\n\n /** List of all metadata changes between versions */\n changes: z.array(MetadataDiffItemSchema).describe('All metadata changes'),\n\n /** Number of customer customizations that may be affected */\n affectedCustomizations: z.number().int().min(0).default(0)\n .describe('Count of customizations that may be affected'),\n\n /** Whether any migration scripts need to run */\n requiresMigration: z.boolean().default(false)\n .describe('Whether data migration scripts are needed'),\n\n /** Migration script paths (relative to package root) */\n migrationScripts: z.array(z.string()).optional()\n .describe('Paths to migration scripts'),\n\n /** Dependencies that also need upgrading */\n dependencyUpgrades: z.array(z.object({\n packageId: z.string(),\n fromVersion: z.string(),\n toVersion: z.string(),\n })).optional().describe('Dependent packages that also need upgrading'),\n\n /** Estimated upgrade duration in seconds */\n estimatedDuration: z.number().int().min(0).optional()\n .describe('Estimated upgrade duration in seconds'),\n\n /** Human-readable summary */\n summary: z.string().optional().describe('Human-readable upgrade summary'),\n});\n\n// ==========================================\n// Upgrade Snapshot (Pre-Upgrade Backup)\n// ==========================================\n\n/**\n * Upgrade Snapshot Schema\n * Captures the complete state before an upgrade for rollback capability.\n */\nexport const UpgradeSnapshotSchema = z.object({\n /** Snapshot ID (UUID) */\n id: z.string().describe('Snapshot identifier'),\n\n /** Package being upgraded */\n packageId: z.string().describe('Package identifier'),\n\n /** Version being upgraded from */\n fromVersion: z.string().describe('Version before upgrade'),\n\n /** Version being upgraded to */\n toVersion: z.string().describe('Target upgrade version'),\n\n /** Tenant ID */\n tenantId: z.string().optional().describe('Tenant identifier'),\n\n /** Complete manifest of the old package version */\n previousManifest: ManifestSchema,\n\n /**\n * Snapshot of all metadata records owned by this package.\n * Stored as array of { type, name, metadata } tuples.\n */\n metadataSnapshot: z.array(z.object({\n type: z.string(),\n name: z.string(),\n metadata: z.record(z.string(), z.unknown()),\n })).describe('Snapshot of all package metadata'),\n\n /**\n * Snapshot of all customer customizations (overlays) for this package's metadata.\n */\n customizationSnapshot: z.array(z.record(z.string(), z.unknown())).optional()\n .describe('Snapshot of customer customizations'),\n\n /** When the snapshot was created */\n createdAt: z.string().datetime().describe('Snapshot creation timestamp'),\n\n /** Expiry time for snapshot cleanup */\n expiresAt: z.string().datetime().optional().describe('Snapshot expiry timestamp'),\n});\n\n// ==========================================\n// Upgrade Request/Response\n// ==========================================\n\n/**\n * Upgrade Package Request\n */\nexport const UpgradePackageRequestSchema = z.object({\n /** Package ID to upgrade */\n packageId: z.string().describe('Package ID to upgrade'),\n\n /** Target version (if omitted, upgrades to latest) */\n targetVersion: z.string().optional().describe('Target version (defaults to latest)'),\n\n /** New manifest for the target version */\n manifest: ManifestSchema.optional().describe('New manifest (if installing from local)'),\n\n /** Whether to create a pre-upgrade snapshot */\n createSnapshot: z.boolean().default(true)\n .describe('Whether to create a pre-upgrade backup snapshot'),\n\n /** Merge strategy for handling customizations */\n mergeStrategy: z.enum([\n 'keep-custom',\n 'accept-incoming',\n 'three-way-merge',\n ]).default('three-way-merge').describe('How to handle customer customizations'),\n\n /** Whether to run in dry-run mode (preview only, no changes) */\n dryRun: z.boolean().default(false)\n .describe('Preview upgrade without making changes'),\n\n /** Whether to skip pre-upgrade validation */\n skipValidation: z.boolean().default(false)\n .describe('Skip pre-upgrade compatibility checks'),\n});\n\n/**\n * Upgrade Phase\n * Current phase of the upgrade process.\n */\nexport const UpgradePhaseSchema = z.enum([\n 'pending', // Upgrade requested but not started\n 'analyzing', // Generating upgrade plan\n 'snapshot', // Creating pre-upgrade snapshot\n 'executing', // Applying metadata changes\n 'migrating', // Running migration scripts\n 'validating', // Post-upgrade validation\n 'completed', // Upgrade completed successfully\n 'failed', // Upgrade failed\n 'rolling-back', // Rollback in progress\n 'rolled-back', // Rollback completed\n]);\n\n/**\n * Upgrade Package Response\n */\nexport const UpgradePackageResponseSchema = z.object({\n /** Whether the upgrade was successful */\n success: z.boolean().describe('Whether the upgrade succeeded'),\n\n /** Current upgrade phase */\n phase: UpgradePhaseSchema,\n\n /** The upgrade plan that was executed */\n plan: UpgradePlanSchema.optional().describe('Upgrade plan'),\n\n /** Snapshot ID for rollback */\n snapshotId: z.string().optional().describe('Snapshot ID for rollback'),\n\n /** Merge conflicts that need manual resolution (if any) */\n conflicts: z.array(z.object({\n path: z.string(),\n baseValue: z.unknown(),\n incomingValue: z.unknown(),\n customValue: z.unknown(),\n })).optional().describe('Unresolved merge conflicts'),\n\n /** Error message (if failed) */\n errorMessage: z.string().optional(),\n\n /** Human-readable summary */\n message: z.string().optional(),\n});\n\n// ==========================================\n// Rollback\n// ==========================================\n\n/**\n * Rollback Package Request\n */\nexport const RollbackPackageRequestSchema = z.object({\n /** Package ID to rollback */\n packageId: z.string().describe('Package ID to rollback'),\n\n /** Snapshot ID to restore from */\n snapshotId: z.string().describe('Snapshot ID to restore from'),\n\n /** Whether to also rollback customizations */\n rollbackCustomizations: z.boolean().default(true)\n .describe('Whether to restore pre-upgrade customizations'),\n});\n\n/**\n * Rollback Package Response\n */\nexport const RollbackPackageResponseSchema = z.object({\n /** Whether the rollback was successful */\n success: z.boolean(),\n\n /** Restored version */\n restoredVersion: z.string().optional().describe('Version restored to'),\n\n /** Message */\n message: z.string().optional(),\n});\n\n// ==========================================\n// Export Types\n// ==========================================\n\nexport type MetadataChangeType = z.infer<typeof MetadataChangeTypeSchema>;\nexport type MetadataDiffItem = z.infer<typeof MetadataDiffItemSchema>;\nexport type UpgradeImpactLevel = z.infer<typeof UpgradeImpactLevelSchema>;\nexport type UpgradePlan = z.infer<typeof UpgradePlanSchema>;\nexport type UpgradeSnapshot = z.infer<typeof UpgradeSnapshotSchema>;\nexport type UpgradePackageRequest = z.infer<typeof UpgradePackageRequestSchema>;\nexport type UpgradePhase = z.infer<typeof UpgradePhaseSchema>;\nexport type UpgradePackageResponse = z.infer<typeof UpgradePackageResponseSchema>;\nexport type RollbackPackageRequest = z.infer<typeof RollbackPackageRequestSchema>;\nexport type RollbackPackageResponse = z.infer<typeof RollbackPackageResponseSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # Advanced Plugin Lifecycle Protocol\n * \n * Defines advanced lifecycle management capabilities including:\n * - Hot reload and live updates\n * - Graceful degradation and fallback mechanisms\n * - Health monitoring and auto-recovery\n * - State preservation during updates\n * \n * This protocol extends the basic plugin lifecycle with enterprise-grade\n * features for production environments.\n */\n\n/**\n * Plugin Health Status\n * Represents the current operational state of a plugin\n */\nexport const PluginHealthStatusSchema = z.enum([\n 'healthy', // Plugin is operating normally\n 'degraded', // Plugin is operational but with reduced functionality\n 'unhealthy', // Plugin has critical issues but still running\n 'failed', // Plugin has failed and is not operational\n 'recovering', // Plugin is in recovery process\n 'unknown', // Health status cannot be determined\n]).describe('Current health status of the plugin');\n\n/**\n * Plugin Health Check Configuration\n * Defines how to check plugin health\n */\nexport const PluginHealthCheckSchema = z.object({\n /**\n * Health check interval in milliseconds\n */\n interval: z.number().int().min(1000).default(30000)\n .describe('How often to perform health checks (default: 30s)'),\n \n /**\n * Timeout for health check in milliseconds\n */\n timeout: z.number().int().min(100).default(5000)\n .describe('Maximum time to wait for health check response'),\n \n /**\n * Number of consecutive failures before marking as unhealthy\n */\n failureThreshold: z.number().int().min(1).default(3)\n .describe('Consecutive failures needed to mark unhealthy'),\n \n /**\n * Number of consecutive successes to recover from unhealthy state\n */\n successThreshold: z.number().int().min(1).default(1)\n .describe('Consecutive successes needed to mark healthy'),\n \n /**\n * Custom health check function name or endpoint\n */\n checkMethod: z.string().optional()\n .describe('Method name to call for health check'),\n \n /**\n * Enable automatic restart on failure\n */\n autoRestart: z.boolean().default(false)\n .describe('Automatically restart plugin on health check failure'),\n \n /**\n * Maximum number of restart attempts\n */\n maxRestartAttempts: z.number().int().min(0).default(3)\n .describe('Maximum restart attempts before giving up'),\n \n /**\n * Backoff strategy for restarts\n */\n restartBackoff: z.enum(['fixed', 'linear', 'exponential']).default('exponential')\n .describe('Backoff strategy for restart delays'),\n});\n\n/**\n * Plugin Health Report\n * Detailed health information from a plugin\n */\nexport const PluginHealthReportSchema = z.object({\n /**\n * Overall health status\n */\n status: PluginHealthStatusSchema,\n \n /**\n * Timestamp of the health check\n */\n timestamp: z.string().datetime(),\n \n /**\n * Human-readable message about health status\n */\n message: z.string().optional(),\n \n /**\n * Detailed metrics\n */\n metrics: z.object({\n uptime: z.number().describe('Plugin uptime in milliseconds'),\n memoryUsage: z.number().optional().describe('Memory usage in bytes'),\n cpuUsage: z.number().optional().describe('CPU usage percentage'),\n activeConnections: z.number().optional().describe('Number of active connections'),\n errorRate: z.number().optional().describe('Error rate (errors per minute)'),\n responseTime: z.number().optional().describe('Average response time in ms'),\n }).partial().optional(),\n \n /**\n * List of checks performed\n */\n checks: z.array(z.object({\n name: z.string().describe('Check name'),\n status: z.enum(['passed', 'failed', 'warning']),\n message: z.string().optional(),\n data: z.record(z.string(), z.unknown()).optional(),\n })).optional(),\n \n /**\n * Dependencies health\n */\n dependencies: z.array(z.object({\n pluginId: z.string(),\n status: PluginHealthStatusSchema,\n message: z.string().optional(),\n })).optional(),\n});\n\n/**\n * Distributed State Configuration\n * Configuration for distributed state management in cluster environments\n */\nexport const DistributedStateConfigSchema = z.object({\n /**\n * Distributed cache provider\n */\n provider: z.enum(['redis', 'etcd', 'custom'])\n .describe('Distributed state backend provider'),\n \n /**\n * Connection URL or endpoints\n */\n endpoints: z.array(z.string()).optional()\n .describe('Backend connection endpoints'),\n \n /**\n * Key prefix for namespacing\n */\n keyPrefix: z.string().optional()\n .describe('Prefix for all keys (e.g., \"plugin:my-plugin:\")'),\n \n /**\n * Time to live in seconds\n */\n ttl: z.number().int().min(0).optional()\n .describe('State expiration time in seconds'),\n \n /**\n * Authentication configuration\n */\n auth: z.object({\n username: z.string().optional(),\n password: z.string().optional(),\n token: z.string().optional(),\n certificate: z.string().optional(),\n }).optional(),\n \n /**\n * Replication settings\n */\n replication: z.object({\n enabled: z.boolean().default(true),\n minReplicas: z.number().int().min(1).default(1),\n }).optional(),\n \n /**\n * Custom provider configuration\n */\n customConfig: z.record(z.string(), z.unknown()).optional()\n .describe('Provider-specific configuration'),\n});\n\n/**\n * Hot Reload Configuration\n * Controls how plugins handle live updates\n */\nexport const HotReloadConfigSchema = z.object({\n /**\n * Enable hot reload capability\n */\n enabled: z.boolean().default(false),\n \n /**\n * Watch file patterns for auto-reload\n */\n watchPatterns: z.array(z.string()).optional()\n .describe('Glob patterns to watch for changes'),\n \n /**\n * Debounce delay before reloading (milliseconds)\n */\n debounceDelay: z.number().int().min(0).default(1000)\n .describe('Wait time after change detection before reload'),\n \n /**\n * Preserve plugin state during reload\n */\n preserveState: z.boolean().default(true)\n .describe('Keep plugin state across reloads'),\n \n /**\n * State serialization strategy\n */\n stateStrategy: z.enum(['memory', 'disk', 'distributed', 'none']).default('memory')\n .describe('How to preserve state during reload'),\n \n /**\n * Distributed state configuration (required when stateStrategy is \"distributed\")\n */\n distributedConfig: DistributedStateConfigSchema.optional()\n .describe('Configuration for distributed state management'),\n \n /**\n * Graceful shutdown timeout\n */\n shutdownTimeout: z.number().int().min(0).default(30000)\n .describe('Maximum time to wait for graceful shutdown'),\n \n /**\n * Pre-reload hooks\n */\n beforeReload: z.array(z.string()).optional()\n .describe('Hook names to call before reload'),\n \n /**\n * Post-reload hooks\n */\n afterReload: z.array(z.string()).optional()\n .describe('Hook names to call after reload'),\n});\n\n/**\n * Graceful Degradation Configuration\n * Defines how plugin degrades when dependencies fail\n */\nexport const GracefulDegradationSchema = z.object({\n /**\n * Enable graceful degradation\n */\n enabled: z.boolean().default(true),\n \n /**\n * Fallback mode when dependencies fail\n */\n fallbackMode: z.enum([\n 'minimal', // Provide minimal functionality\n 'cached', // Use cached data\n 'readonly', // Allow read-only operations\n 'offline', // Offline mode with local data\n 'disabled', // Disable plugin functionality\n ]).default('minimal'),\n \n /**\n * Critical dependencies that must be available\n */\n criticalDependencies: z.array(z.string()).optional()\n .describe('Plugin IDs that are required for operation'),\n \n /**\n * Optional dependencies that can fail\n */\n optionalDependencies: z.array(z.string()).optional()\n .describe('Plugin IDs that are nice to have but not required'),\n \n /**\n * Feature flags for degraded mode\n */\n degradedFeatures: z.array(z.object({\n feature: z.string().describe('Feature name'),\n enabled: z.boolean().describe('Whether feature is available in degraded mode'),\n reason: z.string().optional(),\n })).optional(),\n \n /**\n * Automatic recovery attempts\n */\n autoRecovery: z.object({\n enabled: z.boolean().default(true),\n retryInterval: z.number().int().min(1000).default(60000)\n .describe('Interval between recovery attempts (ms)'),\n maxAttempts: z.number().int().min(0).default(5)\n .describe('Maximum recovery attempts before giving up'),\n }).optional(),\n});\n\n/**\n * Plugin Update Strategy\n * Defines how plugin handles version updates\n */\nexport const PluginUpdateStrategySchema = z.object({\n /**\n * Update mode\n */\n mode: z.enum([\n 'manual', // Manual updates only\n 'automatic', // Automatic updates\n 'scheduled', // Scheduled update windows\n 'rolling', // Rolling updates with zero downtime\n ]).default('manual'),\n \n /**\n * Version constraints for automatic updates\n */\n autoUpdateConstraints: z.object({\n major: z.boolean().default(false).describe('Allow major version updates'),\n minor: z.boolean().default(true).describe('Allow minor version updates'),\n patch: z.boolean().default(true).describe('Allow patch version updates'),\n }).optional(),\n \n /**\n * Update schedule (for scheduled mode)\n */\n schedule: z.object({\n /**\n * Cron expression for update window\n */\n cron: z.string().optional(),\n \n /**\n * Timezone for schedule\n */\n timezone: z.string().default('UTC'),\n \n /**\n * Maintenance window duration in minutes\n */\n maintenanceWindow: z.number().int().min(1).default(60),\n }).optional(),\n \n /**\n * Rollback configuration\n */\n rollback: z.object({\n enabled: z.boolean().default(true),\n \n /**\n * Automatic rollback on failure\n */\n automatic: z.boolean().default(true),\n \n /**\n * Keep N previous versions for rollback\n */\n keepVersions: z.number().int().min(1).default(3),\n \n /**\n * Rollback timeout in milliseconds\n */\n timeout: z.number().int().min(1000).default(30000),\n }).optional(),\n \n /**\n * Pre-update validation\n */\n validation: z.object({\n /**\n * Run compatibility checks before update\n */\n checkCompatibility: z.boolean().default(true),\n \n /**\n * Run tests before applying update\n */\n runTests: z.boolean().default(false),\n \n /**\n * Test suite to run\n */\n testSuite: z.string().optional(),\n }).optional(),\n});\n\n/**\n * Plugin State Snapshot\n * Captures plugin state for preservation during updates/reloads\n */\nexport const PluginStateSnapshotSchema = z.object({\n /**\n * Plugin identifier\n */\n pluginId: z.string(),\n \n /**\n * Version at time of snapshot\n */\n version: z.string(),\n \n /**\n * Snapshot timestamp\n */\n timestamp: z.string().datetime(),\n \n /**\n * Serialized state data\n */\n state: z.record(z.string(), z.unknown()),\n \n /**\n * State metadata\n */\n metadata: z.object({\n checksum: z.string().optional().describe('State checksum for verification'),\n compressed: z.boolean().default(false),\n encryption: z.string().optional().describe('Encryption algorithm if encrypted'),\n }).optional(),\n});\n\n/**\n * Advanced Plugin Lifecycle Configuration\n * Complete configuration for advanced lifecycle management\n */\nexport const AdvancedPluginLifecycleConfigSchema = z.object({\n /**\n * Health monitoring configuration\n */\n health: PluginHealthCheckSchema.optional(),\n \n /**\n * Hot reload configuration\n */\n hotReload: HotReloadConfigSchema.optional(),\n \n /**\n * Graceful degradation configuration\n */\n degradation: GracefulDegradationSchema.optional(),\n \n /**\n * Update strategy\n */\n updates: PluginUpdateStrategySchema.optional(),\n \n /**\n * Resource limits\n */\n resources: z.object({\n maxMemory: z.number().int().optional().describe('Maximum memory in bytes'),\n maxCpu: z.number().min(0).max(100).optional().describe('Maximum CPU percentage'),\n maxConnections: z.number().int().optional().describe('Maximum concurrent connections'),\n timeout: z.number().int().optional().describe('Operation timeout in milliseconds'),\n }).optional(),\n \n /**\n * Monitoring and observability\n */\n observability: z.object({\n enableMetrics: z.boolean().default(true),\n enableTracing: z.boolean().default(true),\n enableProfiling: z.boolean().default(false),\n metricsInterval: z.number().int().min(1000).default(60000)\n .describe('Metrics collection interval in ms'),\n }).optional(),\n});\n\n// Export types\nexport type PluginHealthStatus = z.infer<typeof PluginHealthStatusSchema>;\nexport type PluginHealthCheck = z.infer<typeof PluginHealthCheckSchema>;\nexport type PluginHealthReport = z.infer<typeof PluginHealthReportSchema>;\nexport type DistributedStateConfig = z.infer<typeof DistributedStateConfigSchema>;\nexport type HotReloadConfig = z.infer<typeof HotReloadConfigSchema>;\nexport type GracefulDegradation = z.infer<typeof GracefulDegradationSchema>;\nexport type PluginUpdateStrategy = z.infer<typeof PluginUpdateStrategySchema>;\nexport type PluginStateSnapshot = z.infer<typeof PluginStateSnapshotSchema>;\nexport type AdvancedPluginLifecycleConfig = z.infer<typeof AdvancedPluginLifecycleConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Plugin Lifecycle Events Protocol\n * \n * Zod schemas for plugin lifecycle event data structures.\n * These schemas align with the IPluginLifecycleEvents contract interface.\n * \n * Following ObjectStack \"Zod First\" principle - all data structures\n * must have Zod schemas for runtime validation and JSON Schema generation.\n */\n\n// ============================================================================\n// Event Payload Schemas\n// ============================================================================\n\n/**\n * Event Phase Enum\n * Lifecycle phase where an error occurred\n */\nexport const EventPhaseSchema = z.enum(['init', 'start', 'destroy'])\n .describe('Plugin lifecycle phase');\n\nexport type EventPhase = z.infer<typeof EventPhaseSchema>;\n\n/**\n * Plugin Event Base Schema\n * Common fields for all plugin events\n */\nexport const PluginEventBaseSchema = z.object({\n /**\n * Plugin name\n */\n pluginName: z.string().describe('Name of the plugin'),\n \n /**\n * Event timestamp (Unix milliseconds)\n */\n timestamp: z.number().int().describe('Unix timestamp in milliseconds when event occurred'),\n});\n\n/**\n * Plugin Registered Event Schema\n * \n * @example\n * {\n * \"pluginName\": \"crm-plugin\",\n * \"timestamp\": 1706659200000,\n * \"version\": \"1.0.0\"\n * }\n */\nexport const PluginRegisteredEventSchema = PluginEventBaseSchema.extend({\n /**\n * Plugin version (optional)\n */\n version: z.string().optional().describe('Plugin version'),\n});\n\nexport type PluginRegisteredEvent = z.infer<typeof PluginRegisteredEventSchema>;\n\n/**\n * Plugin Lifecycle Phase Event Schema\n * For init, start, destroy phases\n * \n * @example\n * {\n * \"pluginName\": \"crm-plugin\",\n * \"timestamp\": 1706659200000,\n * \"duration\": 1250,\n * \"phase\": \"init\"\n * }\n */\nexport const PluginLifecyclePhaseEventSchema = PluginEventBaseSchema.extend({\n /**\n * Duration of the phase (milliseconds)\n */\n duration: z.number().min(0).optional().describe('Duration of the lifecycle phase in milliseconds'),\n \n /**\n * Lifecycle phase\n */\n phase: EventPhaseSchema.optional().describe('Lifecycle phase'),\n});\n\nexport type PluginLifecyclePhaseEvent = z.infer<typeof PluginLifecyclePhaseEventSchema>;\n\n/**\n * Plugin Error Event Schema\n * When a plugin encounters an error\n * \n * @example\n * {\n * \"pluginName\": \"crm-plugin\",\n * \"timestamp\": 1706659200000,\n * \"error\": Error(\"Connection failed\"),\n * \"phase\": \"start\",\n * \"errorMessage\": \"Connection failed\",\n * \"errorStack\": \"Error: Connection failed\\n at ...\"\n * }\n */\nexport const PluginErrorEventSchema = PluginEventBaseSchema.extend({\n /**\n * Error object\n */\n error: z.object({\n name: z.string().describe('Error class name'),\n message: z.string().describe('Error message'),\n stack: z.string().optional().describe('Stack trace'),\n code: z.string().optional().describe('Error code'),\n }).describe('Serializable error representation'),\n \n /**\n * Lifecycle phase where error occurred\n */\n phase: EventPhaseSchema.describe('Lifecycle phase where error occurred'),\n \n /**\n * Error message (for serialization)\n */\n errorMessage: z.string().optional().describe('Error message'),\n \n /**\n * Error stack trace (for debugging)\n */\n errorStack: z.string().optional().describe('Error stack trace'),\n});\n\nexport type PluginErrorEvent = z.infer<typeof PluginErrorEventSchema>;\n\n// ============================================================================\n// Service Event Schemas\n// ============================================================================\n\n/**\n * Service Registered Event Schema\n * \n * @example\n * {\n * \"serviceName\": \"database\",\n * \"timestamp\": 1706659200000,\n * \"serviceType\": \"IDataEngine\"\n * }\n */\nexport const ServiceRegisteredEventSchema = z.object({\n /**\n * Service name\n */\n serviceName: z.string().describe('Name of the registered service'),\n \n /**\n * Event timestamp (Unix milliseconds)\n */\n timestamp: z.number().int().describe('Unix timestamp in milliseconds'),\n \n /**\n * Service type (optional)\n */\n serviceType: z.string().optional().describe('Type or interface name of the service'),\n});\n\nexport type ServiceRegisteredEvent = z.infer<typeof ServiceRegisteredEventSchema>;\n\n/**\n * Service Unregistered Event Schema\n * \n * @example\n * {\n * \"serviceName\": \"database\",\n * \"timestamp\": 1706659200000\n * }\n */\nexport const ServiceUnregisteredEventSchema = z.object({\n /**\n * Service name\n */\n serviceName: z.string().describe('Name of the unregistered service'),\n \n /**\n * Event timestamp (Unix milliseconds)\n */\n timestamp: z.number().int().describe('Unix timestamp in milliseconds'),\n});\n\nexport type ServiceUnregisteredEvent = z.infer<typeof ServiceUnregisteredEventSchema>;\n\n// ============================================================================\n// Hook Event Schemas\n// ============================================================================\n\n/**\n * Hook Registered Event Schema\n * \n * @example\n * {\n * \"hookName\": \"data.beforeInsert\",\n * \"timestamp\": 1706659200000,\n * \"handlerCount\": 3\n * }\n */\nexport const HookRegisteredEventSchema = z.object({\n /**\n * Hook name\n */\n hookName: z.string().describe('Name of the hook'),\n \n /**\n * Event timestamp (Unix milliseconds)\n */\n timestamp: z.number().int().describe('Unix timestamp in milliseconds'),\n \n /**\n * Number of handlers registered for this hook\n */\n handlerCount: z.number().int().min(0).describe('Number of handlers registered for this hook'),\n});\n\nexport type HookRegisteredEvent = z.infer<typeof HookRegisteredEventSchema>;\n\n/**\n * Hook Triggered Event Schema\n * \n * @example\n * {\n * \"hookName\": \"data.beforeInsert\",\n * \"timestamp\": 1706659200000,\n * \"args\": [{ \"object\": \"customer\", \"data\": {...} }],\n * \"handlerCount\": 3\n * }\n */\nexport const HookTriggeredEventSchema = z.object({\n /**\n * Hook name\n */\n hookName: z.string().describe('Name of the hook'),\n \n /**\n * Event timestamp (Unix milliseconds)\n */\n timestamp: z.number().int().describe('Unix timestamp in milliseconds'),\n \n /**\n * Arguments passed to the hook\n */\n args: z.array(z.unknown()).describe('Arguments passed to the hook handlers'),\n \n /**\n * Number of handlers that will handle this event\n */\n handlerCount: z.number().int().min(0).optional().describe('Number of handlers that will handle this event'),\n});\n\nexport type HookTriggeredEvent = z.infer<typeof HookTriggeredEventSchema>;\n\n// ============================================================================\n// Kernel Event Schemas\n// ============================================================================\n\n/**\n * Kernel Event Base Schema\n * Common fields for kernel events\n */\nexport const KernelEventBaseSchema = z.object({\n /**\n * Event timestamp (Unix milliseconds)\n */\n timestamp: z.number().int().describe('Unix timestamp in milliseconds'),\n});\n\n/**\n * Kernel Ready Event Schema\n * \n * @example\n * {\n * \"timestamp\": 1706659200000,\n * \"duration\": 5400,\n * \"pluginCount\": 12\n * }\n */\nexport const KernelReadyEventSchema = KernelEventBaseSchema.extend({\n /**\n * Total initialization duration (milliseconds)\n */\n duration: z.number().min(0).optional().describe('Total initialization duration in milliseconds'),\n \n /**\n * Number of plugins initialized\n */\n pluginCount: z.number().int().min(0).optional().describe('Number of plugins initialized'),\n});\n\nexport type KernelReadyEvent = z.infer<typeof KernelReadyEventSchema>;\n\n/**\n * Kernel Shutdown Event Schema\n * \n * @example\n * {\n * \"timestamp\": 1706659200000,\n * \"reason\": \"SIGTERM received\"\n * }\n */\nexport const KernelShutdownEventSchema = KernelEventBaseSchema.extend({\n /**\n * Shutdown reason (optional)\n */\n reason: z.string().optional().describe('Reason for kernel shutdown'),\n});\n\nexport type KernelShutdownEvent = z.infer<typeof KernelShutdownEventSchema>;\n\n// ============================================================================\n// Event Type Registry\n// ============================================================================\n\n/**\n * Plugin Lifecycle Event Type Enum\n * All possible plugin lifecycle event types\n */\nexport const PluginLifecycleEventType = z.enum([\n 'kernel:ready',\n 'kernel:shutdown',\n 'kernel:before-init',\n 'kernel:after-init',\n 'plugin:registered',\n 'plugin:before-init',\n 'plugin:init',\n 'plugin:after-init',\n 'plugin:before-start',\n 'plugin:started',\n 'plugin:after-start',\n 'plugin:before-destroy',\n 'plugin:destroyed',\n 'plugin:after-destroy',\n 'plugin:error',\n 'service:registered',\n 'service:unregistered',\n 'hook:registered',\n 'hook:triggered',\n]).describe('Plugin lifecycle event type');\n\nexport type PluginLifecycleEventType = z.infer<typeof PluginLifecycleEventType>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # Plugin Runtime Management Protocol\n * \n * Defines the protocol for dynamic plugin loading, unloading, and discovery\n * at runtime. Addresses the \"Dynamic Loading\" gap in the microkernel architecture\n * by enabling plugins to be loaded and unloaded without restarting the kernel.\n * \n * Inspired by:\n * - OSGi Dynamic Module System (bundle lifecycle)\n * - Kubernetes Operator pattern (reconciliation loop)\n * - VS Code Extension Host (activation events)\n * \n * This protocol enables:\n * - Runtime load/unload of plugins without kernel restart\n * - Plugin discovery from registries and local filesystem\n * - Activation events (load plugin only when needed)\n * - Safe unload with dependency awareness\n */\n\n/**\n * Dynamic Plugin Operation Type\n * Operations that can be performed on plugins at runtime\n */\nexport const DynamicPluginOperationSchema = z.enum([\n 'load', // Load and initialize a plugin at runtime\n 'unload', // Gracefully unload a running plugin\n 'reload', // Unload then load (e.g., version upgrade)\n 'enable', // Enable a loaded but disabled plugin\n 'disable', // Disable a running plugin without unloading\n]).describe('Runtime plugin operation type');\n\n/**\n * Plugin Source\n * Where to resolve a plugin for dynamic loading\n */\nexport const PluginSourceSchema = z.object({\n /**\n * Source type\n */\n type: z.enum([\n 'npm', // npm registry package\n 'local', // Local filesystem path\n 'url', // Remote URL (tarball or module)\n 'registry', // ObjectStack plugin registry\n 'git', // Git repository\n ]).describe('Plugin source type'),\n \n /**\n * Source location (package name, path, URL, or git repo)\n */\n location: z.string().describe('Package name, file path, URL, or git repository'),\n \n /**\n * Version constraint (semver range)\n */\n version: z.string().optional().describe('Semver version range (e.g., \"^1.0.0\")'),\n \n /**\n * Integrity hash for verification\n */\n integrity: z.string().optional().describe('Subresource Integrity hash (e.g., \"sha384-...\")'),\n}).describe('Plugin source location for dynamic resolution');\n\n/**\n * Activation Event\n * Defines when a dynamically available plugin should be activated.\n * Plugins remain dormant until an activation event fires.\n */\nexport const ActivationEventSchema = z.object({\n /**\n * Event type\n */\n type: z.enum([\n 'onCommand', // Activate when a specific command is executed\n 'onRoute', // Activate when a URL route is matched\n 'onObject', // Activate when a specific object type is accessed\n 'onEvent', // Activate when a system event fires\n 'onService', // Activate when a service is requested\n 'onSchedule', // Activate on a cron schedule\n 'onStartup', // Activate immediately on kernel startup\n ]).describe('Trigger type for lazy activation'),\n \n /**\n * Pattern to match (command name, route glob, object name, event pattern, etc.)\n */\n pattern: z.string().describe('Match pattern for the activation trigger'),\n}).describe('Lazy activation trigger for a dynamic plugin');\n\n/**\n * Dynamic Load Request\n * Request to load a plugin at runtime\n */\nexport const DynamicLoadRequestSchema = z.object({\n /**\n * Plugin identifier to load\n */\n pluginId: z.string().describe('Unique plugin identifier'),\n \n /**\n * Plugin source\n */\n source: PluginSourceSchema,\n \n /**\n * Activation events (if omitted, plugin activates immediately)\n */\n activationEvents: z.array(ActivationEventSchema).optional()\n .describe('Lazy activation triggers; if omitted plugin starts immediately'),\n \n /**\n * Configuration overrides for the plugin\n */\n config: z.record(z.string(), z.unknown()).optional()\n .describe('Runtime configuration overrides'),\n \n /**\n * Loading priority (lower = higher priority)\n */\n priority: z.number().int().min(0).default(100)\n .describe('Loading priority (lower is higher)'),\n \n /**\n * Whether to enable sandboxing for this dynamically loaded plugin\n */\n sandbox: z.boolean().default(false)\n .describe('Run in an isolated sandbox'),\n \n /**\n * Timeout for the load operation in milliseconds\n */\n timeout: z.number().int().min(1000).default(60000)\n .describe('Maximum time to complete loading in ms'),\n}).describe('Request to dynamically load a plugin at runtime');\n\n/**\n * Dynamic Unload Request\n * Request to unload a plugin at runtime\n */\nexport const DynamicUnloadRequestSchema = z.object({\n /**\n * Plugin identifier to unload\n */\n pluginId: z.string().describe('Plugin to unload'),\n \n /**\n * Unload strategy\n */\n strategy: z.enum([\n 'graceful', // Wait for in-flight requests, then unload\n 'forceful', // Unload immediately, cancel pending work\n 'drain', // Stop accepting new work, finish existing, then unload\n ]).default('graceful').describe('How to handle in-flight work during unload'),\n \n /**\n * Timeout for the unload operation in milliseconds\n */\n timeout: z.number().int().min(1000).default(30000)\n .describe('Maximum time to complete unloading in ms'),\n \n /**\n * Whether to remove cached artifacts\n */\n cleanupCache: z.boolean().default(false)\n .describe('Remove cached code and assets after unload'),\n \n /**\n * Action for dependents: plugins that depend on this one\n */\n dependentAction: z.enum([\n 'cascade', // Also unload dependent plugins\n 'warn', // Warn about dependents but proceed\n 'block', // Block unload if dependents exist\n ]).default('block').describe('How to handle plugins that depend on this one'),\n}).describe('Request to dynamically unload a plugin at runtime');\n\n/**\n * Dynamic Plugin Operation Result\n * Result of a dynamic load/unload/reload operation\n */\nexport const DynamicPluginResultSchema = z.object({\n /**\n * Whether the operation succeeded\n */\n success: z.boolean(),\n \n /**\n * The operation that was performed\n */\n operation: DynamicPluginOperationSchema,\n \n /**\n * Plugin identifier\n */\n pluginId: z.string(),\n \n /**\n * Operation duration in milliseconds\n */\n durationMs: z.number().int().min(0).optional(),\n \n /**\n * Resulting plugin version (for load/reload)\n */\n version: z.string().optional(),\n \n /**\n * Error details if operation failed\n */\n error: z.object({\n code: z.string().describe('Machine-readable error code'),\n message: z.string().describe('Human-readable error message'),\n details: z.record(z.string(), z.unknown()).optional(),\n }).optional(),\n \n /**\n * Warnings (e.g., dependents affected)\n */\n warnings: z.array(z.string()).optional(),\n}).describe('Result of a dynamic plugin operation');\n\n/**\n * Plugin Discovery Source\n * Defines where to discover available plugins at runtime\n */\nexport const PluginDiscoverySourceSchema = z.object({\n /**\n * Discovery source type\n */\n type: z.enum([\n 'registry', // ObjectStack plugin registry API\n 'npm', // npm registry search\n 'directory', // Local filesystem directory scan\n 'url', // Remote manifest URL\n ]).describe('Discovery source type'),\n \n /**\n * Source endpoint or path\n */\n endpoint: z.string().describe('Registry URL, directory path, or manifest URL'),\n \n /**\n * Polling interval in milliseconds (0 = manual only)\n */\n pollInterval: z.number().int().min(0).default(0)\n .describe('How often to re-scan for new plugins (0 = manual)'),\n \n /**\n * Filter criteria for discovered plugins\n */\n filter: z.object({\n /**\n * Only discover plugins matching these tags\n */\n tags: z.array(z.string()).optional(),\n \n /**\n * Only discover plugins from these vendors\n */\n vendors: z.array(z.string()).optional(),\n \n /**\n * Minimum trust level\n */\n minTrustLevel: z.enum(['verified', 'trusted', 'community', 'untrusted']).optional(),\n }).optional(),\n}).describe('Source for runtime plugin discovery');\n\n/**\n * Plugin Discovery Configuration\n * Controls how the kernel discovers available plugins at runtime\n */\nexport const PluginDiscoveryConfigSchema = z.object({\n /**\n * Enable runtime plugin discovery\n */\n enabled: z.boolean().default(false),\n \n /**\n * Discovery sources\n */\n sources: z.array(PluginDiscoverySourceSchema).default([]),\n \n /**\n * Auto-load discovered plugins matching criteria\n */\n autoLoad: z.boolean().default(false)\n .describe('Automatically load newly discovered plugins'),\n \n /**\n * Require approval before loading discovered plugins\n */\n requireApproval: z.boolean().default(true)\n .describe('Require admin approval before loading discovered plugins'),\n}).describe('Runtime plugin discovery configuration');\n\n/**\n * Dynamic Loading Configuration\n * Top-level configuration for the dynamic plugin loading subsystem\n */\nexport const DynamicLoadingConfigSchema = z.object({\n /**\n * Enable dynamic loading/unloading at runtime\n */\n enabled: z.boolean().default(false)\n .describe('Enable runtime load/unload of plugins'),\n \n /**\n * Maximum number of dynamically loaded plugins\n */\n maxDynamicPlugins: z.number().int().min(1).default(50)\n .describe('Upper limit on runtime-loaded plugins'),\n \n /**\n * Plugin discovery configuration\n */\n discovery: PluginDiscoveryConfigSchema.optional(),\n \n /**\n * Default sandbox policy for dynamically loaded plugins\n */\n defaultSandbox: z.boolean().default(true)\n .describe('Sandbox dynamically loaded plugins by default'),\n \n /**\n * Allowed plugin sources (empty = all allowed)\n */\n allowedSources: z.array(z.enum(['npm', 'local', 'url', 'registry', 'git'])).optional()\n .describe('Restrict which source types are permitted'),\n \n /**\n * Require integrity verification for remote plugins\n */\n requireIntegrity: z.boolean().default(true)\n .describe('Require integrity hash verification for remote sources'),\n \n /**\n * Global timeout for dynamic operations in milliseconds\n */\n operationTimeout: z.number().int().min(1000).default(60000)\n .describe('Default timeout for load/unload operations in ms'),\n}).describe('Dynamic plugin loading subsystem configuration');\n\n// Export types\nexport type DynamicPluginOperation = z.infer<typeof DynamicPluginOperationSchema>;\nexport type PluginSource = z.infer<typeof PluginSourceSchema>;\nexport type ActivationEvent = z.infer<typeof ActivationEventSchema>;\nexport type DynamicLoadRequest = z.infer<typeof DynamicLoadRequestSchema>;\nexport type DynamicUnloadRequest = z.infer<typeof DynamicUnloadRequestSchema>;\nexport type DynamicPluginResult = z.infer<typeof DynamicPluginResultSchema>;\nexport type PluginDiscoverySource = z.infer<typeof PluginDiscoverySourceSchema>;\nexport type PluginDiscoveryConfig = z.infer<typeof PluginDiscoveryConfigSchema>;\nexport type DynamicLoadingConfig = z.infer<typeof DynamicLoadingConfigSchema>;\n\n// Export input types for schemas with defaults\nexport type DynamicLoadRequestInput = z.input<typeof DynamicLoadRequestSchema>;\nexport type DynamicUnloadRequestInput = z.input<typeof DynamicUnloadRequestSchema>;\nexport type DynamicLoadingConfigInput = z.input<typeof DynamicLoadingConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # Plugin Security and Sandboxing Protocol\n * \n * Defines comprehensive security mechanisms for plugin isolation, permission\n * management, and threat protection in the ObjectStack ecosystem.\n * \n * Features:\n * - Fine-grained permission system\n * - Resource access control\n * - Sandboxing and isolation\n * - Security scanning and verification\n * - Runtime security monitoring\n */\n\n/**\n * Permission Scope\n * Defines the scope of a permission\n */\nexport const PermissionScopeSchema = z.enum([\n 'global', // Applies to entire system\n 'tenant', // Applies to specific tenant\n 'user', // Applies to specific user\n 'resource', // Applies to specific resource\n 'plugin', // Applies within plugin boundaries\n]).describe('Scope of permission application');\n\n/**\n * Permission Action\n * Standard CRUD + extended actions\n */\nexport const PermissionActionSchema = z.enum([\n 'create', // Create new resources\n 'read', // Read existing resources\n 'update', // Update existing resources\n 'delete', // Delete resources\n 'execute', // Execute operations/functions\n 'manage', // Full management rights\n 'configure', // Configuration changes\n 'share', // Share with others\n 'export', // Export data\n 'import', // Import data\n 'admin', // Administrative access\n]).describe('Type of action being permitted');\n\n/**\n * Resource Type\n * Types of resources that can be accessed\n */\nexport const ResourceTypeSchema = z.enum([\n 'data.object', // ObjectQL objects\n 'data.record', // Individual records\n 'data.field', // Specific fields\n 'ui.view', // UI views\n 'ui.dashboard', // Dashboards\n 'ui.report', // Reports\n 'system.config', // System configuration\n 'system.plugin', // Other plugins\n 'system.api', // API endpoints\n 'system.service', // System services\n 'storage.file', // File storage\n 'storage.database', // Database access\n 'network.http', // HTTP requests\n 'network.websocket', // WebSocket connections\n 'process.spawn', // Process spawning\n 'process.env', // Environment variables\n]).describe('Type of resource being accessed');\n\n/**\n * Permission Definition\n * Defines a single permission requirement\n */\nexport const PermissionSchema = z.object({\n /**\n * Permission identifier\n */\n id: z.string().describe('Unique permission identifier'),\n \n /**\n * Resource type\n */\n resource: ResourceTypeSchema,\n \n /**\n * Allowed actions\n */\n actions: z.array(PermissionActionSchema),\n \n /**\n * Permission scope\n */\n scope: PermissionScopeSchema.default('plugin'),\n \n /**\n * Resource filter\n */\n filter: z.object({\n /**\n * Specific resource IDs\n */\n resourceIds: z.array(z.string()).optional(),\n \n /**\n * Filter condition\n */\n condition: z.string().optional().describe('Filter expression (e.g., owner = currentUser)'),\n \n /**\n * Field-level access\n */\n fields: z.array(z.string()).optional().describe('Allowed fields for data resources'),\n }).optional(),\n \n /**\n * Human-readable description\n */\n description: z.string(),\n \n /**\n * Whether this permission is required or optional\n */\n required: z.boolean().default(true),\n \n /**\n * Justification for permission\n */\n justification: z.string().optional().describe('Why this permission is needed'),\n});\n\n/**\n * Permission Set\n * Collection of permissions for a plugin\n */\nexport const PermissionSetSchema = z.object({\n /**\n * All permissions required by plugin\n */\n permissions: z.array(PermissionSchema),\n \n /**\n * Permission groups for easier management\n */\n groups: z.array(z.object({\n name: z.string().describe('Group name'),\n description: z.string(),\n permissions: z.array(z.string()).describe('Permission IDs in this group'),\n })).optional(),\n \n /**\n * Default grant strategy\n */\n defaultGrant: z.enum([\n 'prompt', // Always prompt user\n 'allow', // Allow by default\n 'deny', // Deny by default\n 'inherit', // Inherit from parent\n ]).default('prompt'),\n});\n\n/**\n * Runtime Configuration\n * Defines the execution environment for plugin isolation\n */\nexport const RuntimeConfigSchema = z.object({\n /**\n * Runtime engine type\n */\n engine: z.enum([\n 'v8-isolate', // V8 isolate-based isolation (lightweight, fast)\n 'wasm', // WebAssembly-based isolation (secure, portable)\n 'container', // Container-based isolation (Docker, podman)\n 'process', // Process-based isolation (traditional)\n ]).default('v8-isolate')\n .describe('Execution environment engine'),\n \n /**\n * Engine-specific configuration\n */\n engineConfig: z.object({\n /**\n * WASM-specific settings (when engine is \"wasm\")\n */\n wasm: z.object({\n /**\n * Maximum memory pages (64KB per page)\n */\n maxMemoryPages: z.number().int().min(1).max(65536).optional()\n .describe('Maximum WASM memory pages (64KB each)'),\n \n /**\n * Instruction execution limit\n */\n instructionLimit: z.number().int().min(1).optional()\n .describe('Maximum instructions before timeout'),\n \n /**\n * Enable SIMD instructions\n */\n enableSimd: z.boolean().default(false)\n .describe('Enable WebAssembly SIMD support'),\n \n /**\n * Enable threads\n */\n enableThreads: z.boolean().default(false)\n .describe('Enable WebAssembly threads'),\n \n /**\n * Enable bulk memory operations\n */\n enableBulkMemory: z.boolean().default(true)\n .describe('Enable bulk memory operations'),\n }).optional(),\n \n /**\n * Container-specific settings (when engine is \"container\")\n */\n container: z.object({\n /**\n * Container image\n */\n image: z.string().optional()\n .describe('Container image to use'),\n \n /**\n * Container runtime\n */\n runtime: z.enum(['docker', 'podman', 'containerd']).default('docker'),\n \n /**\n * Resource limits\n */\n resources: z.object({\n cpuLimit: z.string().optional().describe('CPU limit (e.g., \"0.5\", \"2\")'),\n memoryLimit: z.string().optional().describe('Memory limit (e.g., \"512m\", \"1g\")'),\n }).optional(),\n \n /**\n * Network mode\n */\n networkMode: z.enum(['none', 'bridge', 'host']).default('bridge'),\n }).optional(),\n \n /**\n * V8 Isolate-specific settings (when engine is \"v8-isolate\")\n */\n v8Isolate: z.object({\n /**\n * Heap size limit in MB\n */\n heapSizeMb: z.number().int().min(1).optional(),\n \n /**\n * Enable snapshot\n */\n enableSnapshot: z.boolean().default(true),\n }).optional(),\n }).optional(),\n \n /**\n * General resource limits (applies to all engines)\n */\n resourceLimits: z.object({\n /**\n * Maximum memory in bytes\n */\n maxMemory: z.number().int().optional()\n .describe('Maximum memory allocation'),\n \n /**\n * Maximum CPU percentage\n */\n maxCpu: z.number().min(0).max(100).optional()\n .describe('Maximum CPU usage percentage'),\n \n /**\n * Execution timeout in milliseconds\n */\n timeout: z.number().int().min(0).optional()\n .describe('Maximum execution time'),\n }).optional(),\n});\n\n/**\n * Sandbox Configuration\n * Defines how plugin is isolated\n */\nexport const SandboxConfigSchema = z.object({\n /**\n * Enable sandboxing\n */\n enabled: z.boolean().default(true),\n \n /**\n * Sandboxing level\n */\n level: z.enum([\n 'none', // No sandboxing\n 'minimal', // Basic isolation\n 'standard', // Standard sandboxing\n 'strict', // Strict isolation\n 'paranoid', // Maximum isolation\n ]).default('standard'),\n \n /**\n * Runtime environment configuration\n */\n runtime: RuntimeConfigSchema.optional()\n .describe('Execution environment and isolation settings'),\n \n /**\n * File system access\n */\n filesystem: z.object({\n mode: z.enum(['none', 'readonly', 'restricted', 'full']).default('restricted'),\n allowedPaths: z.array(z.string()).optional().describe('Whitelisted paths'),\n deniedPaths: z.array(z.string()).optional().describe('Blacklisted paths'),\n maxFileSize: z.number().int().optional().describe('Maximum file size in bytes'),\n }).optional(),\n \n /**\n * Network access\n */\n network: z.object({\n mode: z.enum(['none', 'local', 'restricted', 'full']).default('restricted'),\n allowedHosts: z.array(z.string()).optional().describe('Whitelisted hosts'),\n deniedHosts: z.array(z.string()).optional().describe('Blacklisted hosts'),\n allowedPorts: z.array(z.number()).optional().describe('Allowed port numbers'),\n maxConnections: z.number().int().optional(),\n }).optional(),\n \n /**\n * Process execution\n */\n process: z.object({\n allowSpawn: z.boolean().default(false).describe('Allow spawning child processes'),\n allowedCommands: z.array(z.string()).optional().describe('Whitelisted commands'),\n timeout: z.number().int().optional().describe('Process timeout in ms'),\n }).optional(),\n \n /**\n * Memory limits\n */\n memory: z.object({\n maxHeap: z.number().int().optional().describe('Maximum heap size in bytes'),\n maxStack: z.number().int().optional().describe('Maximum stack size in bytes'),\n }).optional(),\n \n /**\n * CPU limits\n */\n cpu: z.object({\n maxCpuPercent: z.number().min(0).max(100).optional(),\n maxThreads: z.number().int().optional(),\n }).optional(),\n \n /**\n * Environment variables\n */\n environment: z.object({\n mode: z.enum(['none', 'readonly', 'restricted', 'full']).default('readonly'),\n allowedVars: z.array(z.string()).optional(),\n deniedVars: z.array(z.string()).optional(),\n }).optional(),\n});\n\n/**\n * Security Vulnerability\n * Represents a known security vulnerability\n */\nexport const KernelSecurityVulnerabilitySchema = z.object({\n /**\n * CVE identifier\n */\n cve: z.string().optional(),\n \n /**\n * Vulnerability identifier\n */\n id: z.string(),\n \n /**\n * Severity level\n */\n severity: z.enum(['critical', 'high', 'medium', 'low', 'info']),\n \n /**\n * Category (e.g., SAST, DAST, Dependency)\n */\n category: z.string().optional(),\n\n /**\n * Title\n */\n title: z.string(),\n \n /**\n * Location of the vulnerability\n */\n location: z.string().optional(),\n\n /**\n * Remediation steps\n */\n remediation: z.string().optional(),\n\n /**\n * Description\n */\n description: z.string(),\n \n /**\n * Affected versions\n */\n affectedVersions: z.array(z.string()),\n \n /**\n * Fixed in versions\n */\n fixedIn: z.array(z.string()).optional(),\n \n /**\n * CVSS score\n */\n cvssScore: z.number().min(0).max(10).optional(),\n \n /**\n * Exploit availability\n */\n exploitAvailable: z.boolean().default(false),\n \n /**\n * Patch available\n */\n patchAvailable: z.boolean().default(false),\n \n /**\n * Workaround\n */\n workaround: z.string().optional(),\n \n /**\n * References\n */\n references: z.array(z.string()).optional(),\n \n /**\n * Discovered date\n */\n discoveredDate: z.string().datetime().optional(),\n \n /**\n * Published date\n */\n publishedDate: z.string().datetime().optional(),\n});\n\n/**\n * Security Scan Result\n * Result of security scanning\n */\nexport const KernelSecurityScanResultSchema = z.object({\n /**\n * Scan timestamp\n */\n timestamp: z.string().datetime(),\n \n /**\n * Scanner information\n */\n scanner: z.object({\n name: z.string(),\n version: z.string(),\n }),\n \n /**\n * Overall status\n */\n status: z.enum(['passed', 'failed', 'warning']),\n \n /**\n * Vulnerabilities found\n */\n vulnerabilities: z.array(KernelSecurityVulnerabilitySchema).optional(),\n \n /**\n * Code quality issues\n */\n codeIssues: z.array(z.object({\n severity: z.enum(['error', 'warning', 'info']),\n type: z.string().describe('Issue type (e.g., sql-injection, xss)'),\n file: z.string(),\n line: z.number().int().optional(),\n message: z.string(),\n suggestion: z.string().optional(),\n })).optional(),\n \n /**\n * Dependency vulnerabilities\n */\n dependencyVulnerabilities: z.array(z.object({\n package: z.string(),\n version: z.string(),\n vulnerability: KernelSecurityVulnerabilitySchema,\n })).optional(),\n \n /**\n * License compliance\n */\n licenseCompliance: z.object({\n status: z.enum(['compliant', 'non-compliant', 'unknown']),\n issues: z.array(z.object({\n package: z.string(),\n license: z.string(),\n reason: z.string(),\n })).optional(),\n }).optional(),\n \n /**\n * Summary statistics\n */\n summary: z.object({\n totalVulnerabilities: z.number().int(),\n criticalCount: z.number().int(),\n highCount: z.number().int(),\n mediumCount: z.number().int(),\n lowCount: z.number().int(),\n infoCount: z.number().int(),\n }),\n});\n\n/**\n * Security Policy\n * Defines security policies for plugin\n */\nexport const KernelSecurityPolicySchema = z.object({\n /**\n * Content Security Policy\n */\n csp: z.object({\n directives: z.record(z.string(), z.array(z.string())).optional(),\n reportOnly: z.boolean().default(false),\n }).optional(),\n \n /**\n * CORS policy\n */\n cors: z.object({\n allowedOrigins: z.array(z.string()),\n allowedMethods: z.array(z.string()),\n allowedHeaders: z.array(z.string()),\n allowCredentials: z.boolean().default(false),\n maxAge: z.number().int().optional(),\n }).optional(),\n \n /**\n * Rate limiting\n */\n rateLimit: z.object({\n enabled: z.boolean().default(true),\n maxRequests: z.number().int(),\n windowMs: z.number().int().describe('Time window in milliseconds'),\n strategy: z.enum(['fixed', 'sliding', 'token-bucket']).default('sliding'),\n }).optional(),\n \n /**\n * Authentication requirements\n */\n authentication: z.object({\n required: z.boolean().default(true),\n methods: z.array(z.enum(['jwt', 'oauth2', 'api-key', 'session', 'certificate'])),\n tokenExpiration: z.number().int().optional().describe('Token expiration in seconds'),\n }).optional(),\n \n /**\n * Encryption requirements\n */\n encryption: z.object({\n dataAtRest: z.boolean().default(false).describe('Encrypt data at rest'),\n dataInTransit: z.boolean().default(true).describe('Enforce HTTPS/TLS'),\n algorithm: z.string().optional().describe('Encryption algorithm'),\n minKeyLength: z.number().int().optional().describe('Minimum key length in bits'),\n }).optional(),\n \n /**\n * Audit logging\n */\n auditLog: z.object({\n enabled: z.boolean().default(true),\n events: z.array(z.string()).optional().describe('Events to log'),\n retention: z.number().int().optional().describe('Log retention in days'),\n }).optional(),\n});\n\n/**\n * Plugin Trust Level\n * Indicates trust level of plugin\n */\nexport const PluginTrustLevelSchema = z.enum([\n 'verified', // Official/verified plugin\n 'trusted', // Trusted third-party\n 'community', // Community plugin\n 'untrusted', // Unverified plugin\n 'blocked', // Blocked/malicious\n]).describe('Trust level of the plugin');\n\n/**\n * Plugin Security Manifest\n * Complete security information for plugin\n */\nexport const PluginSecurityManifestSchema = z.object({\n /**\n * Plugin identifier\n */\n pluginId: z.string(),\n \n /**\n * Trust level\n */\n trustLevel: PluginTrustLevelSchema,\n \n /**\n * Required permissions\n */\n permissions: PermissionSetSchema,\n \n /**\n * Sandbox configuration\n */\n sandbox: SandboxConfigSchema,\n \n /**\n * Security policy\n */\n policy: KernelSecurityPolicySchema.optional(),\n \n /**\n * Security scan results\n */\n scanResults: z.array(KernelSecurityScanResultSchema).optional(),\n \n /**\n * Known vulnerabilities\n */\n vulnerabilities: z.array(KernelSecurityVulnerabilitySchema).optional(),\n \n /**\n * Code signing\n */\n codeSigning: z.object({\n signed: z.boolean(),\n signature: z.string().optional(),\n certificate: z.string().optional(),\n algorithm: z.string().optional(),\n timestamp: z.string().datetime().optional(),\n }).optional(),\n \n /**\n * Security certifications\n */\n certifications: z.array(z.object({\n name: z.string().describe('Certification name (e.g., SOC 2, ISO 27001)'),\n issuer: z.string(),\n issuedDate: z.string().datetime(),\n expiryDate: z.string().datetime().optional(),\n certificateUrl: z.string().url().optional(),\n })).optional(),\n \n /**\n * Security contact\n */\n securityContact: z.object({\n email: z.string().email().optional(),\n url: z.string().url().optional(),\n pgpKey: z.string().optional(),\n }).optional(),\n \n /**\n * Vulnerability disclosure policy\n */\n vulnerabilityDisclosure: z.object({\n policyUrl: z.string().url().optional(),\n responseTime: z.number().int().optional().describe('Expected response time in hours'),\n bugBounty: z.boolean().default(false),\n }).optional(),\n});\n\n// Export types\nexport type PermissionScope = z.infer<typeof PermissionScopeSchema>;\nexport type PermissionAction = z.infer<typeof PermissionActionSchema>;\nexport type ResourceType = z.infer<typeof ResourceTypeSchema>;\nexport type Permission = z.infer<typeof PermissionSchema>;\nexport type PermissionSet = z.infer<typeof PermissionSetSchema>;\nexport type RuntimeConfig = z.infer<typeof RuntimeConfigSchema>;\nexport type SandboxConfig = z.infer<typeof SandboxConfigSchema>;\nexport type KernelSecurityVulnerability = z.infer<typeof KernelSecurityVulnerabilitySchema>;\nexport type KernelSecurityScanResult = z.infer<typeof KernelSecurityScanResultSchema>;\nexport type KernelSecurityPolicy = z.infer<typeof KernelSecurityPolicySchema>;\nexport type PluginTrustLevel = z.infer<typeof PluginTrustLevelSchema>;\nexport type PluginSecurityManifest = z.infer<typeof PluginSecurityManifestSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * ObjectStack Plugin Structure Standards (OPS)\n * \n * Formal Zod definitions for the Plugin Directory Structure and File Naming conventions.\n * This can be used by the CLI or IDE extensions to lint project structure.\n * \n * @see PLUGIN_STANDARDS.md\n */\n\n// REGEX: snake_case identifiers\nconst SNAKE_CASE_REGEX = /^[a-z][a-z0-9_]*$/;\n\n// REGEX: Standard File Suffixes\nconst OPS_FILE_SUFFIX_REGEX = /\\.(object|field|trigger|function|view|page|dashboard|flow|app|router|service)\\.ts$/;\n\n/**\n * Validates a single file path against OPS Naming Conventions.\n * \n * @example Valid Paths\n * - \"src/crm/lead.object.ts\"\n * - \"src/finance/invoice_payment.trigger.ts\"\n * - \"src/index.ts\"\n * \n * @example Invalid Paths\n * - \"src/CRM/LeadObject.ts\" (PascalCase)\n * - \"src/utils/helper.js\" (Wrong extension)\n */\nexport const OpsFilePathSchema = z.string().describe('Validates a file path against OPS naming conventions').superRefine((path, ctx) => {\n // 1. Must be in src/\n if (!path.startsWith('src/')) {\n // Non-source files (package.json, config) are ignored by this specific validator\n // or handled separately.\n return; \n }\n\n const parts = path.split('/');\n \n // 2. Validate Domain Directory (src/[domain])\n if (parts.length > 2) {\n const domainDir = parts[1];\n if (!SNAKE_CASE_REGEX.test(domainDir)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Domain directory '${domainDir}' must be lowercase snake_case`\n });\n }\n }\n\n // 3. Validate Filename suffix\n const filename = parts[parts.length - 1];\n \n // Skip index.ts and utility files if they don't match the specific resource pattern\n // But strict OPS encourages explicit suffixes for resources.\n if (filename === 'index.ts' || filename === 'main.ts') return;\n\n if (!SNAKE_CASE_REGEX.test(filename.split('.')[0])) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Filename '${filename}' base name must be lowercase snake_case`\n });\n }\n\n if (!OPS_FILE_SUFFIX_REGEX.test(filename)) {\n // We allow other files, but we warn or mark them as non-standard resources\n // For strict mode:\n // ctx.addIssue({\n // code: z.ZodIssueCode.custom,\n // message: `Filename '${filename}' does not end with a valid semantic suffix (.object.ts, .view.ts, etc.)`\n // });\n }\n});\n\n/**\n * Schema for a \"Scanned Module\" structure.\n * Represents the contents of a domain folder.\n */\nexport const OpsDomainModuleSchema = z.object({\n name: z.string().regex(SNAKE_CASE_REGEX).describe('Module name (snake_case)'),\n files: z.array(z.string()).describe('List of files in this module'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Custom metadata key-value pairs for extensibility'),\n}).describe('Scanned domain module representing a plugin folder').superRefine((module, ctx) => {\n // Rule: Must have an index.ts\n if (!module.files.includes('index.ts')) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Module '${module.name}' is missing an 'index.ts' entry point.`\n });\n }\n});\n\n/**\n * Schema for a full Plugin Project Layout\n */\nexport const OpsPluginStructureSchema = z.object({\n root: z.string().describe('Root directory path of the plugin project'),\n files: z.array(z.string()).describe('List of all file paths relative to root'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Custom metadata key-value pairs for extensibility'),\n}).describe('Full plugin project layout validated against OPS conventions').superRefine((project, ctx) => {\n // Check for configuration file\n if (!project.files.includes('objectstack.config.ts')) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"Missing 'objectstack.config.ts' configuration file.\"\n });\n }\n \n // Validate each source file individually\n project.files.filter(f => f.startsWith('src/')).forEach(file => {\n const result = OpsFilePathSchema.safeParse(file);\n if (!result.success) {\n result.error.issues.forEach(issue => {\n ctx.addIssue({ ...issue, path: [file] });\n })\n }\n });\n});\n\nexport type OpsFilePath = z.infer<typeof OpsFilePathSchema>;\nexport type OpsDomainModule = z.infer<typeof OpsDomainModuleSchema>;\nexport type OpsPluginStructure = z.infer<typeof OpsPluginStructureSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Plugin Validator Protocol\n * \n * Zod schemas for plugin validation data structures.\n * These schemas align with the IPluginValidator contract interface.\n * \n * Following ObjectStack \"Zod First\" principle - all data structures\n * must have Zod schemas for runtime validation and JSON Schema generation.\n */\n\n// ============================================================================\n// Validation Result Schemas\n// ============================================================================\n\n/**\n * Validation Error Schema\n * Represents a single validation error\n * \n * @example\n * {\n * \"field\": \"version\",\n * \"message\": \"Invalid semver format\",\n * \"code\": \"INVALID_VERSION\"\n * }\n */\nexport const ValidationErrorSchema = z.object({\n /**\n * Field that failed validation\n */\n field: z.string().describe('Field name that failed validation'),\n \n /**\n * Human-readable error message\n */\n message: z.string().describe('Human-readable error message'),\n \n /**\n * Machine-readable error code (optional)\n */\n code: z.string().optional().describe('Machine-readable error code'),\n});\n\nexport type ValidationError = z.infer<typeof ValidationErrorSchema>;\n\n/**\n * Validation Warning Schema\n * Represents a non-fatal validation warning\n * \n * @example\n * {\n * \"field\": \"description\",\n * \"message\": \"Description is empty\",\n * \"code\": \"MISSING_DESCRIPTION\"\n * }\n */\nexport const ValidationWarningSchema = z.object({\n /**\n * Field with warning\n */\n field: z.string().describe('Field name with warning'),\n \n /**\n * Human-readable warning message\n */\n message: z.string().describe('Human-readable warning message'),\n \n /**\n * Machine-readable warning code (optional)\n */\n code: z.string().optional().describe('Machine-readable warning code'),\n});\n\nexport type ValidationWarning = z.infer<typeof ValidationWarningSchema>;\n\n/**\n * Validation Result Schema\n * Result of plugin validation operation\n * \n * @example\n * {\n * \"valid\": false,\n * \"errors\": [{\n * \"field\": \"name\",\n * \"message\": \"Plugin name is required\",\n * \"code\": \"REQUIRED_FIELD\"\n * }],\n * \"warnings\": [{\n * \"field\": \"description\",\n * \"message\": \"Description is recommended\",\n * \"code\": \"MISSING_DESCRIPTION\"\n * }]\n * }\n */\nexport const ValidationResultSchema = z.object({\n /**\n * Whether validation passed\n */\n valid: z.boolean().describe('Whether the plugin passed validation'),\n \n /**\n * Validation errors (if any)\n */\n errors: z.array(ValidationErrorSchema).optional().describe('Validation errors'),\n \n /**\n * Validation warnings (non-fatal issues)\n */\n warnings: z.array(ValidationWarningSchema).optional().describe('Validation warnings'),\n});\n\nexport type ValidationResult = z.infer<typeof ValidationResultSchema>;\n\n// ============================================================================\n// Plugin Metadata Schema\n// ============================================================================\n\n/**\n * Plugin Schema\n * Metadata structure for a plugin\n * \n * This aligns with and extends the existing PluginSchema from plugin.zod.ts\n * \n * @example\n * {\n * \"name\": \"crm-plugin\",\n * \"version\": \"1.0.0\",\n * \"dependencies\": [\"core-plugin\"]\n * }\n */\nexport const PluginMetadataSchema = z.object({\n /**\n * Unique plugin identifier (snake_case)\n */\n name: z.string().min(1).describe('Unique plugin identifier'),\n \n /**\n * Plugin version (semver)\n */\n version: z.string().regex(/^\\d+\\.\\d+\\.\\d+$/).optional().describe('Semantic version (e.g., 1.0.0)'),\n \n /**\n * Plugin dependencies (array of plugin names)\n */\n dependencies: z.array(z.string()).optional().describe('Array of plugin names this plugin depends on'),\n \n /**\n * Plugin signature for cryptographic verification (optional)\n */\n signature: z.string().optional().describe('Cryptographic signature for plugin verification'),\n \n /**\n * Additional plugin metadata\n */\n}).passthrough().describe('Plugin metadata for validation');\n\nexport type PluginMetadata = z.infer<typeof PluginMetadataSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # Plugin Versioning and Compatibility Protocol\n * \n * Defines comprehensive versioning, compatibility checking, and dependency\n * resolution mechanisms for the plugin ecosystem.\n * \n * Based on semantic versioning (SemVer) with extensions for:\n * - Compatibility matrices\n * - Breaking change detection\n * - Migration paths\n * - Multi-version support\n */\n\n/**\n * Semantic Version Schema\n * Standard SemVer format with optional pre-release and build metadata\n */\nexport const SemanticVersionSchema = z.object({\n major: z.number().int().min(0).describe('Major version (breaking changes)'),\n minor: z.number().int().min(0).describe('Minor version (backward compatible features)'),\n patch: z.number().int().min(0).describe('Patch version (backward compatible fixes)'),\n preRelease: z.string().optional().describe('Pre-release identifier (alpha, beta, rc.1)'),\n build: z.string().optional().describe('Build metadata'),\n}).describe('Semantic version number');\n\n/**\n * Version Constraint Schema\n * Defines version requirements using SemVer ranges\n */\nexport const VersionConstraintSchema = z.union([\n z.string().regex(/^[\\d.]+$/).describe('Exact version: `1.2.3`'),\n z.string().regex(/^\\^[\\d.]+$/).describe('Compatible with: `^1.2.3` (`>=1.2.3 <2.0.0`)'),\n z.string().regex(/^~[\\d.]+$/).describe('Approximately: `~1.2.3` (`>=1.2.3 <1.3.0`)'),\n z.string().regex(/^>=[\\d.]+$/).describe('Greater than or equal: `>=1.2.3`'),\n z.string().regex(/^>[\\d.]+$/).describe('Greater than: `>1.2.3`'),\n z.string().regex(/^<=[\\d.]+$/).describe('Less than or equal: `<=1.2.3`'),\n z.string().regex(/^<[\\d.]+$/).describe('Less than: `<1.2.3`'),\n z.string().regex(/^[\\d.]+ - [\\d.]+$/).describe('Range: `1.2.3 - 2.3.4`'),\n z.literal('*').describe('Any version'),\n z.literal('latest').describe('Latest stable version'),\n]);\n\n/**\n * Compatibility Level\n * Describes the level of compatibility between versions\n */\nexport const CompatibilityLevelSchema = z.enum([\n 'fully-compatible', // 100% compatible, drop-in replacement\n 'backward-compatible', // Backward compatible, new features added\n 'deprecated-compatible', // Compatible but uses deprecated features\n 'breaking-changes', // Breaking changes, migration required\n 'incompatible', // Completely incompatible\n]).describe('Compatibility level between versions');\n\n/**\n * Breaking Change\n * Documents a breaking change in a version\n */\nexport const BreakingChangeSchema = z.object({\n /**\n * Version where the change was introduced\n */\n introducedIn: z.string().describe('Version that introduced this breaking change'),\n \n /**\n * Type of breaking change\n */\n type: z.enum([\n 'api-removed', // API removed\n 'api-renamed', // API renamed\n 'api-signature-changed', // Function signature changed\n 'behavior-changed', // Behavior changed\n 'dependency-changed', // Dependency requirement changed\n 'configuration-changed', // Configuration schema changed\n 'protocol-changed', // Protocol implementation changed\n ]),\n \n /**\n * What was changed\n */\n description: z.string(),\n \n /**\n * Migration guide\n */\n migrationGuide: z.string().optional().describe('How to migrate from old to new'),\n \n /**\n * Deprecated in version\n */\n deprecatedIn: z.string().optional().describe('Version where old API was deprecated'),\n \n /**\n * Will be removed in version\n */\n removedIn: z.string().optional().describe('Version where old API will be removed'),\n \n /**\n * Automated migration available\n */\n automatedMigration: z.boolean().default(false)\n .describe('Whether automated migration tool is available'),\n \n /**\n * Impact severity\n */\n severity: z.enum(['critical', 'major', 'minor']).describe('Impact severity'),\n});\n\n/**\n * Deprecation Notice\n * Information about deprecated features\n */\nexport const DeprecationNoticeSchema = z.object({\n /**\n * Feature or API being deprecated\n */\n feature: z.string().describe('Deprecated feature identifier'),\n \n /**\n * Version when deprecated\n */\n deprecatedIn: z.string(),\n \n /**\n * Planned removal version\n */\n removeIn: z.string().optional(),\n \n /**\n * Reason for deprecation\n */\n reason: z.string(),\n \n /**\n * Recommended alternative\n */\n alternative: z.string().optional().describe('What to use instead'),\n \n /**\n * Migration path\n */\n migrationPath: z.string().optional().describe('How to migrate to alternative'),\n});\n\n/**\n * Compatibility Matrix Entry\n * Maps compatibility between different plugin versions\n */\nexport const CompatibilityMatrixEntrySchema = z.object({\n /**\n * Source version\n */\n from: z.string().describe('Version being upgraded from'),\n \n /**\n * Target version\n */\n to: z.string().describe('Version being upgraded to'),\n \n /**\n * Compatibility level\n */\n compatibility: CompatibilityLevelSchema,\n \n /**\n * Breaking changes list\n */\n breakingChanges: z.array(BreakingChangeSchema).optional(),\n \n /**\n * Migration required\n */\n migrationRequired: z.boolean().default(false),\n \n /**\n * Migration complexity\n */\n migrationComplexity: z.enum(['trivial', 'simple', 'moderate', 'complex', 'major']).optional(),\n \n /**\n * Estimated migration time in hours\n */\n estimatedMigrationTime: z.number().optional(),\n \n /**\n * Migration script available\n */\n migrationScript: z.string().optional().describe('Path to migration script'),\n \n /**\n * Test coverage for migration\n */\n testCoverage: z.number().min(0).max(100).optional()\n .describe('Percentage of migration covered by tests'),\n});\n\n/**\n * Plugin Compatibility Matrix\n * Complete compatibility information for a plugin\n */\nexport const PluginCompatibilityMatrixSchema = z.object({\n /**\n * Plugin identifier\n */\n pluginId: z.string(),\n \n /**\n * Current version\n */\n currentVersion: z.string(),\n \n /**\n * Compatibility entries\n */\n compatibilityMatrix: z.array(CompatibilityMatrixEntrySchema),\n \n /**\n * Supported versions\n */\n supportedVersions: z.array(z.object({\n version: z.string(),\n supported: z.boolean(),\n endOfLife: z.string().datetime().optional().describe('End of support date'),\n securitySupport: z.boolean().default(false).describe('Still receives security updates'),\n })),\n \n /**\n * Minimum compatible version\n */\n minimumCompatibleVersion: z.string().optional()\n .describe('Oldest version that can be directly upgraded'),\n});\n\n/**\n * Dependency Conflict\n * Represents a conflict in plugin dependencies at the kernel level.\n * Models plugin-to-plugin dependency conflicts with typed conflict categories.\n * \n * @see hub/plugin-security.zod.ts DependencyConflictSchema for hub-level package version conflicts\n * which focuses on marketplace registry resolution.\n */\nexport const DependencyConflictSchema = z.object({\n /**\n * Type of conflict\n */\n type: z.enum([\n 'version-mismatch', // Different versions required\n 'missing-dependency', // Required dependency not found\n 'circular-dependency', // Circular dependency detected\n 'incompatible-versions', // Incompatible versions required by different plugins\n 'conflicting-interfaces', // Plugins implement conflicting interfaces\n ]),\n \n /**\n * Plugins involved in conflict\n */\n plugins: z.array(z.object({\n pluginId: z.string(),\n version: z.string(),\n requirement: z.string().optional().describe('What this plugin requires'),\n })),\n \n /**\n * Conflict description\n */\n description: z.string(),\n \n /**\n * Possible resolutions\n */\n resolutions: z.array(z.object({\n strategy: z.enum([\n 'upgrade', // Upgrade one or more plugins\n 'downgrade', // Downgrade one or more plugins\n 'replace', // Replace with alternative plugin\n 'disable', // Disable conflicting plugin\n 'manual', // Manual intervention required\n ]),\n description: z.string(),\n automaticResolution: z.boolean().default(false),\n riskLevel: z.enum(['low', 'medium', 'high']),\n })).optional(),\n \n /**\n * Severity of conflict\n */\n severity: z.enum(['critical', 'error', 'warning', 'info']),\n});\n\n/**\n * Dependency Resolution Result\n * Result of dependency resolution process\n */\nexport const DependencyResolutionResultSchema = z.object({\n /**\n * Resolution successful\n */\n success: z.boolean(),\n \n /**\n * Resolved plugin versions\n */\n resolved: z.array(z.object({\n pluginId: z.string(),\n version: z.string(),\n resolvedVersion: z.string(),\n })).optional(),\n \n /**\n * Conflicts found\n */\n conflicts: z.array(DependencyConflictSchema).optional(),\n \n /**\n * Warnings\n */\n warnings: z.array(z.string()).optional(),\n \n /**\n * Installation order (topologically sorted)\n */\n installationOrder: z.array(z.string()).optional()\n .describe('Plugin IDs in order they should be installed'),\n \n /**\n * Dependency graph\n */\n dependencyGraph: z.record(z.string(), z.array(z.string())).optional()\n .describe('Map of plugin ID to its dependencies'),\n});\n\n/**\n * Multi-Version Support Configuration\n * Allows running multiple versions of a plugin simultaneously\n */\nexport const MultiVersionSupportSchema = z.object({\n /**\n * Enable multi-version support\n */\n enabled: z.boolean().default(false),\n \n /**\n * Maximum concurrent versions\n */\n maxConcurrentVersions: z.number().int().min(1).default(2)\n .describe('How many versions can run at the same time'),\n \n /**\n * Version selection strategy\n */\n selectionStrategy: z.enum([\n 'latest', // Always use latest version\n 'stable', // Use latest stable version\n 'compatible', // Use version compatible with dependencies\n 'pinned', // Use pinned version\n 'canary', // Use canary/preview version\n 'custom', // Custom selection logic\n ]).default('latest'),\n \n /**\n * Version routing rules\n */\n routing: z.array(z.object({\n condition: z.string().describe('Routing condition (e.g., tenant, user, feature flag)'),\n version: z.string().describe('Version to use when condition matches'),\n priority: z.number().int().default(100).describe('Rule priority'),\n })).optional(),\n \n /**\n * Gradual rollout configuration\n */\n rollout: z.object({\n enabled: z.boolean().default(false),\n strategy: z.enum(['percentage', 'blue-green', 'canary']),\n percentage: z.number().min(0).max(100).optional()\n .describe('Percentage of traffic to new version'),\n duration: z.number().int().optional()\n .describe('Rollout duration in milliseconds'),\n }).optional(),\n});\n\n/**\n * Plugin Version Metadata\n * Complete version information for a plugin\n */\nexport const PluginVersionMetadataSchema = z.object({\n /**\n * Plugin identifier\n */\n pluginId: z.string(),\n \n /**\n * Version number\n */\n version: SemanticVersionSchema,\n \n /**\n * Version string (computed)\n */\n versionString: z.string().describe('Full version string (e.g., 1.2.3-beta.1+build.123)'),\n \n /**\n * Release date\n */\n releaseDate: z.string().datetime(),\n \n /**\n * Release notes\n */\n releaseNotes: z.string().optional(),\n \n /**\n * Breaking changes\n */\n breakingChanges: z.array(BreakingChangeSchema).optional(),\n \n /**\n * Deprecations\n */\n deprecations: z.array(DeprecationNoticeSchema).optional(),\n \n /**\n * Compatibility matrix\n */\n compatibilityMatrix: z.array(CompatibilityMatrixEntrySchema).optional(),\n \n /**\n * Security vulnerabilities fixed\n */\n securityFixes: z.array(z.object({\n cve: z.string().optional().describe('CVE identifier'),\n severity: z.enum(['critical', 'high', 'medium', 'low']),\n description: z.string(),\n fixedIn: z.string().describe('Version where vulnerability was fixed'),\n })).optional(),\n \n /**\n * Download statistics\n */\n statistics: z.object({\n downloads: z.number().int().min(0).optional(),\n installations: z.number().int().min(0).optional(),\n ratings: z.number().min(0).max(5).optional(),\n }).optional(),\n \n /**\n * Support status\n */\n support: z.object({\n status: z.enum(['active', 'maintenance', 'deprecated', 'eol']),\n endOfLife: z.string().datetime().optional(),\n securitySupport: z.boolean().default(true),\n }),\n});\n\n// Export types\nexport type SemanticVersion = z.infer<typeof SemanticVersionSchema>;\nexport type VersionConstraint = z.infer<typeof VersionConstraintSchema>;\nexport type CompatibilityLevel = z.infer<typeof CompatibilityLevelSchema>;\nexport type BreakingChange = z.infer<typeof BreakingChangeSchema>;\nexport type DeprecationNotice = z.infer<typeof DeprecationNoticeSchema>;\nexport type CompatibilityMatrixEntry = z.infer<typeof CompatibilityMatrixEntrySchema>;\nexport type PluginCompatibilityMatrix = z.infer<typeof PluginCompatibilityMatrixSchema>;\nexport type DependencyConflict = z.infer<typeof DependencyConflictSchema>;\nexport type DependencyResolutionResult = z.infer<typeof DependencyResolutionResultSchema>;\nexport type MultiVersionSupport = z.infer<typeof MultiVersionSupportSchema>;\nexport type PluginVersionMetadata = z.infer<typeof PluginVersionMetadataSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Service Registry Protocol\n * \n * Zod schemas for service registry data structures.\n * These schemas align with the IServiceRegistry contract interface.\n * \n * Following ObjectStack \"Zod First\" principle - all data structures\n * must have Zod schemas for runtime validation and JSON Schema generation.\n * \n * Note: IServiceRegistry itself is a runtime interface (methods only),\n * so it correctly remains a TypeScript interface. This file contains\n * schemas for configuration and metadata related to service registry.\n */\n\n// ============================================================================\n// Service Metadata Schemas\n// ============================================================================\n\n/**\n * Service Scope Type Enum\n * Different service scoping strategies\n */\nexport const ServiceScopeType = z.enum([\n 'singleton', // Single instance shared across the application\n 'transient', // New instance created each time\n 'scoped', // Instance per scope (request, session, transaction, etc.)\n]).describe('Service scope type');\n\nexport type ServiceScopeType = z.infer<typeof ServiceScopeType>;\n\n/**\n * Service Metadata Schema\n * Metadata about a registered service\n * \n * @example\n * {\n * \"name\": \"database\",\n * \"scope\": \"singleton\",\n * \"type\": \"IDataEngine\",\n * \"registeredAt\": 1706659200000\n * }\n */\nexport const ServiceMetadataSchema = z.object({\n /**\n * Service name (unique identifier)\n */\n name: z.string().min(1).describe('Unique service name identifier'),\n \n /**\n * Service scope type\n */\n scope: ServiceScopeType.optional().default('singleton')\n .describe('Service scope type'),\n \n /**\n * Service type or interface name (optional)\n */\n type: z.string().optional().describe('Service type or interface name'),\n \n /**\n * Registration timestamp (Unix milliseconds)\n */\n registeredAt: z.number().int().optional()\n .describe('Unix timestamp in milliseconds when service was registered'),\n \n /**\n * Additional metadata\n */\n metadata: z.record(z.string(), z.unknown()).optional()\n .describe('Additional service-specific metadata'),\n});\n\nexport type ServiceMetadata = z.infer<typeof ServiceMetadataSchema>;\n\n// ============================================================================\n// Service Registry Configuration Schemas\n// ============================================================================\n\n/**\n * Service Registry Configuration Schema\n * Configuration for service registry behavior\n * \n * @example\n * {\n * \"strictMode\": true,\n * \"allowOverwrite\": false,\n * \"enableLogging\": true,\n * \"scopeTypes\": [\"singleton\", \"transient\", \"request\", \"session\"]\n * }\n */\nexport const ServiceRegistryConfigSchema = z.object({\n /**\n * Strict mode: throw errors on invalid operations\n * @default true\n */\n strictMode: z.boolean().optional().default(true)\n .describe('Throw errors on invalid operations (duplicate registration, service not found, etc.)'),\n \n /**\n * Allow overwriting existing services\n * @default false\n */\n allowOverwrite: z.boolean().optional().default(false)\n .describe('Allow overwriting existing service registrations'),\n \n /**\n * Enable logging for service operations\n * @default false\n */\n enableLogging: z.boolean().optional().default(false)\n .describe('Enable logging for service registration and retrieval'),\n \n /**\n * Custom scope types (beyond singleton, transient, scoped)\n * @default ['singleton', 'transient', 'scoped']\n */\n scopeTypes: z.array(z.string()).optional()\n .describe('Supported scope types'),\n \n /**\n * Maximum number of services (prevent memory leaks)\n */\n maxServices: z.number().int().min(1).optional()\n .describe('Maximum number of services that can be registered'),\n});\n\nexport type ServiceRegistryConfig = z.infer<typeof ServiceRegistryConfigSchema>;\nexport type ServiceRegistryConfigInput = z.input<typeof ServiceRegistryConfigSchema>;\n\n// ============================================================================\n// Service Factory Schemas\n// ============================================================================\n\n/**\n * Service Factory Registration Schema\n * Configuration for registering a service factory\n * \n * @example\n * {\n * \"name\": \"logger\",\n * \"scope\": \"singleton\",\n * \"factoryType\": \"sync\"\n * }\n */\nexport const ServiceFactoryRegistrationSchema = z.object({\n /**\n * Service name (unique identifier)\n */\n name: z.string().min(1).describe('Unique service name identifier'),\n \n /**\n * Service scope type\n */\n scope: ServiceScopeType.optional().default('singleton')\n .describe('Service scope type'),\n \n /**\n * Factory type (sync or async)\n */\n factoryType: z.enum(['sync', 'async']).optional().default('sync')\n .describe('Whether factory is synchronous or asynchronous'),\n \n /**\n * Whether this is a singleton (cache factory result)\n */\n singleton: z.boolean().optional().default(true)\n .describe('Whether to cache the factory result (singleton pattern)'),\n});\n\nexport type ServiceFactoryRegistration = z.infer<typeof ServiceFactoryRegistrationSchema>;\n\n// ============================================================================\n// Scoped Service Schemas\n// ============================================================================\n\n/**\n * Scope Configuration Schema\n * Configuration for creating a new scope\n * \n * @example\n * {\n * \"scopeType\": \"request\",\n * \"scopeId\": \"req-12345\",\n * \"metadata\": {\n * \"userId\": \"user-123\",\n * \"requestId\": \"req-12345\"\n * }\n * }\n */\nexport const ScopeConfigSchema = z.object({\n /**\n * Type of scope (request, session, transaction, etc.)\n */\n scopeType: z.string().describe('Type of scope'),\n \n /**\n * Scope identifier (optional, auto-generated if not provided)\n */\n scopeId: z.string().optional().describe('Unique scope identifier'),\n \n /**\n * Scope metadata (context information)\n */\n metadata: z.record(z.string(), z.unknown()).optional()\n .describe('Scope-specific context metadata'),\n});\n\nexport type ScopeConfig = z.infer<typeof ScopeConfigSchema>;\n\n/**\n * Scope Info Schema\n * Information about an active scope\n * \n * @example\n * {\n * \"scopeId\": \"req-12345\",\n * \"scopeType\": \"request\",\n * \"createdAt\": 1706659200000,\n * \"serviceCount\": 5,\n * \"metadata\": {\n * \"userId\": \"user-123\"\n * }\n * }\n */\nexport const ScopeInfoSchema = z.object({\n /**\n * Scope identifier\n */\n scopeId: z.string().describe('Unique scope identifier'),\n \n /**\n * Type of scope\n */\n scopeType: z.string().describe('Type of scope'),\n \n /**\n * Creation timestamp (Unix milliseconds)\n */\n createdAt: z.number().int().describe('Unix timestamp in milliseconds when scope was created'),\n \n /**\n * Number of services in this scope\n */\n serviceCount: z.number().int().min(0).optional()\n .describe('Number of services registered in this scope'),\n \n /**\n * Scope metadata\n */\n metadata: z.record(z.string(), z.unknown()).optional()\n .describe('Scope-specific context metadata'),\n});\n\nexport type ScopeInfo = z.infer<typeof ScopeInfoSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Startup Orchestrator Protocol\n * \n * Zod schemas for plugin startup orchestration data structures.\n * These schemas align with the IStartupOrchestrator contract interface.\n * \n * Following ObjectStack \"Zod First\" principle - all data structures\n * must have Zod schemas for runtime validation and JSON Schema generation.\n */\n\n// ============================================================================\n// Startup Configuration Schemas\n// ============================================================================\n\n/**\n * Startup Options Schema\n * Configuration for plugin startup orchestration\n * \n * @example\n * {\n * \"timeout\": 30000,\n * \"rollbackOnFailure\": true,\n * \"healthCheck\": false,\n * \"parallel\": false\n * }\n */\nexport const StartupOptionsSchema = z.object({\n /**\n * Maximum time (ms) to wait for each plugin to start\n * @default 30000 (30 seconds)\n */\n timeout: z.number().int().min(0).optional().default(30000)\n .describe('Maximum time in milliseconds to wait for each plugin to start'),\n \n /**\n * Whether to rollback (destroy) already-started plugins on failure\n * @default true\n */\n rollbackOnFailure: z.boolean().optional().default(true)\n .describe('Whether to rollback already-started plugins if any plugin fails'),\n \n /**\n * Whether to run health checks after startup\n * @default false\n */\n healthCheck: z.boolean().optional().default(false)\n .describe('Whether to run health checks after plugin startup'),\n \n /**\n * Whether to run plugins in parallel (if dependencies allow)\n * @default false (sequential startup)\n */\n parallel: z.boolean().optional().default(false)\n .describe('Whether to start plugins in parallel when dependencies allow'),\n \n /**\n * Custom context to pass to plugin lifecycle methods\n */\n context: z.unknown().optional().describe('Custom context object to pass to plugin lifecycle methods'),\n});\n\nexport type StartupOptions = z.infer<typeof StartupOptionsSchema>;\nexport type StartupOptionsInput = z.input<typeof StartupOptionsSchema>;\n\n// ============================================================================\n// Health Status Schemas\n// ============================================================================\n\n/**\n * Health Status Schema\n * Health status for a plugin\n * \n * @example\n * {\n * \"healthy\": true,\n * \"timestamp\": 1706659200000,\n * \"details\": {\n * \"databaseConnected\": true,\n * \"memoryUsage\": 45.2\n * }\n * }\n */\nexport const HealthStatusSchema = z.object({\n /**\n * Whether the plugin is healthy\n */\n healthy: z.boolean().describe('Whether the plugin is healthy'),\n \n /**\n * Health check timestamp (Unix milliseconds)\n */\n timestamp: z.number().int().describe('Unix timestamp in milliseconds when health check was performed'),\n \n /**\n * Optional health details (plugin-specific)\n */\n details: z.record(z.string(), z.unknown()).optional().describe('Optional plugin-specific health details'),\n \n /**\n * Optional error message if unhealthy\n */\n message: z.string().optional().describe('Error message if plugin is unhealthy'),\n});\n\nexport type HealthStatus = z.infer<typeof HealthStatusSchema>;\n\n// ============================================================================\n// Startup Result Schemas\n// ============================================================================\n\n/**\n * Plugin Startup Result Schema\n * Result of a single plugin startup operation\n * \n * @example\n * {\n * \"plugin\": { \"name\": \"crm-plugin\", \"version\": \"1.0.0\" },\n * \"success\": true,\n * \"duration\": 1250,\n * \"health\": {\n * \"healthy\": true,\n * \"timestamp\": 1706659200000\n * }\n * }\n */\nexport const PluginStartupResultSchema = z.object({\n /**\n * Plugin that was started\n */\n plugin: z.object({\n name: z.string(),\n version: z.string().optional(),\n }).passthrough().describe('Plugin metadata'),\n \n /**\n * Whether startup was successful\n */\n success: z.boolean().describe('Whether the plugin started successfully'),\n \n /**\n * Time taken to start (milliseconds)\n */\n duration: z.number().min(0).describe('Time taken to start the plugin in milliseconds'),\n \n /**\n * Error if startup failed\n */\n error: z.object({\n name: z.string().describe('Error class name'),\n message: z.string().describe('Error message'),\n stack: z.string().optional().describe('Stack trace'),\n code: z.string().optional().describe('Error code'),\n }).optional().describe('Serializable error representation if startup failed'),\n \n /**\n * Health status after startup (if healthCheck enabled)\n */\n health: HealthStatusSchema.optional().describe('Health status after startup if health check was enabled'),\n});\n\nexport type PluginStartupResult = z.infer<typeof PluginStartupResultSchema>;\n\n// ============================================================================\n// Startup Orchestration Result Schema\n// ============================================================================\n\n/**\n * Startup Orchestration Result Schema\n * Overall result of orchestrating startup for multiple plugins\n * \n * @example\n * {\n * \"results\": [\n * { \"plugin\": { \"name\": \"plugin1\" }, \"success\": true, \"duration\": 1200 },\n * { \"plugin\": { \"name\": \"plugin2\" }, \"success\": true, \"duration\": 850 }\n * ],\n * \"totalDuration\": 2050,\n * \"allSuccessful\": true\n * }\n */\nexport const StartupOrchestrationResultSchema = z.object({\n /**\n * Individual plugin startup results\n */\n results: z.array(PluginStartupResultSchema).describe('Startup results for each plugin'),\n \n /**\n * Total time taken for all plugins (milliseconds)\n */\n totalDuration: z.number().min(0).describe('Total time taken for all plugins in milliseconds'),\n \n /**\n * Whether all plugins started successfully\n */\n allSuccessful: z.boolean().describe('Whether all plugins started successfully'),\n \n /**\n * Plugins that were rolled back (if rollbackOnFailure was enabled)\n */\n rolledBack: z.array(z.string()).optional().describe('Names of plugins that were rolled back'),\n});\n\nexport type StartupOrchestrationResult = z.infer<typeof StartupOrchestrationResultSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { PluginCapabilityManifestSchema } from './plugin-capability.zod';\n\n/**\n * # Plugin Registry Protocol\n * \n * Defines the schema for the plugin discovery and registry system.\n * This enables plugins from different vendors to be discovered, validated,\n * and composed together in the ObjectStack ecosystem.\n */\n\n/**\n * Plugin Vendor Information\n */\nexport const PluginVendorSchema = z.object({\n /**\n * Vendor identifier (reverse domain notation)\n * Example: \"com.acme\", \"org.apache\", \"com.objectstack\"\n */\n id: z.string()\n .regex(/^[a-z][a-z0-9]*(\\.[a-z][a-z0-9]*)+$/)\n .describe('Vendor identifier (reverse domain)'),\n \n /**\n * Vendor display name\n */\n name: z.string(),\n \n /**\n * Vendor website\n */\n website: z.string().url().optional(),\n \n /**\n * Contact email\n */\n email: z.string().email().optional(),\n \n /**\n * Verification status\n */\n verified: z.boolean().default(false).describe('Whether vendor is verified by ObjectStack'),\n \n /**\n * Trust level\n */\n trustLevel: z.enum(['official', 'verified', 'community', 'unverified']).default('unverified'),\n});\n\n/**\n * Plugin Quality Metrics\n */\nexport const PluginQualityMetricsSchema = z.object({\n /**\n * Test coverage percentage\n */\n testCoverage: z.number().min(0).max(100).optional(),\n \n /**\n * Documentation score (0-100)\n */\n documentationScore: z.number().min(0).max(100).optional(),\n \n /**\n * Code quality score (0-100)\n */\n codeQuality: z.number().min(0).max(100).optional(),\n \n /**\n * Security scan status\n */\n securityScan: z.object({\n lastScanDate: z.string().datetime().optional(),\n vulnerabilities: z.object({\n critical: z.number().int().min(0).default(0),\n high: z.number().int().min(0).default(0),\n medium: z.number().int().min(0).default(0),\n low: z.number().int().min(0).default(0),\n }).optional(),\n passed: z.boolean().default(false),\n }).optional(),\n \n /**\n * Conformance test results\n */\n conformanceTests: z.array(z.object({\n protocolId: z.string().describe('Protocol being tested'),\n passed: z.boolean(),\n totalTests: z.number().int().min(0),\n passedTests: z.number().int().min(0),\n lastRunDate: z.string().datetime().optional(),\n })).optional(),\n});\n\n/**\n * Plugin Usage Statistics\n */\nexport const PluginStatisticsSchema = z.object({\n /**\n * Total downloads\n */\n downloads: z.number().int().min(0).default(0),\n \n /**\n * Downloads in the last 30 days\n */\n downloadsLastMonth: z.number().int().min(0).default(0),\n \n /**\n * Number of active installations\n */\n activeInstallations: z.number().int().min(0).default(0),\n \n /**\n * User ratings\n */\n ratings: z.object({\n average: z.number().min(0).max(5).default(0),\n count: z.number().int().min(0).default(0),\n distribution: z.object({\n '5': z.number().int().min(0).default(0),\n '4': z.number().int().min(0).default(0),\n '3': z.number().int().min(0).default(0),\n '2': z.number().int().min(0).default(0),\n '1': z.number().int().min(0).default(0),\n }).optional(),\n }).optional(),\n \n /**\n * GitHub stars (if open source)\n */\n stars: z.number().int().min(0).optional(),\n \n /**\n * Number of dependent plugins\n */\n dependents: z.number().int().min(0).default(0),\n});\n\n/**\n * Plugin Registry Entry\n * Complete metadata for a plugin in the registry.\n */\nexport const PluginRegistryEntrySchema = z.object({\n /**\n * Plugin identifier (must match manifest.id)\n */\n id: z.string()\n .regex(/^([a-z][a-z0-9]*\\.)+[a-z][a-z0-9-]+$/)\n .describe('Plugin identifier (reverse domain notation)'),\n \n /**\n * Current version\n */\n version: z.string().regex(/^\\d+\\.\\d+\\.\\d+$/),\n \n /**\n * Plugin display name\n */\n name: z.string(),\n \n /**\n * Short description\n */\n description: z.string().optional(),\n \n /**\n * Detailed documentation/README\n */\n readme: z.string().optional(),\n \n /**\n * Plugin type/category\n */\n category: z.enum([\n 'data', // Data management, storage, databases\n 'integration', // External service integrations\n 'ui', // UI components and themes\n 'analytics', // Analytics and reporting\n 'security', // Security, auth, compliance\n 'automation', // Workflows and automation\n 'ai', // AI/ML capabilities\n 'utility', // General utilities\n 'driver', // Database/storage drivers\n 'gateway', // API gateways\n 'adapter', // Runtime adapters\n ]).optional(),\n \n /**\n * Tags for categorization\n */\n tags: z.array(z.string()).optional(),\n \n /**\n * Vendor information\n */\n vendor: PluginVendorSchema,\n \n /**\n * Capability manifest (what the plugin implements/provides)\n */\n capabilities: PluginCapabilityManifestSchema.optional(),\n \n /**\n * Compatibility information\n */\n compatibility: z.object({\n /**\n * Minimum ObjectStack version required\n */\n minObjectStackVersion: z.string().optional(),\n \n /**\n * Maximum ObjectStack version supported\n */\n maxObjectStackVersion: z.string().optional(),\n \n /**\n * Node.js version requirement\n */\n nodeVersion: z.string().optional(),\n \n /**\n * Supported platforms\n */\n platforms: z.array(z.enum(['linux', 'darwin', 'win32', 'browser'])).optional(),\n }).optional(),\n \n /**\n * Links and resources\n */\n links: z.object({\n homepage: z.string().url().optional(),\n repository: z.string().url().optional(),\n documentation: z.string().url().optional(),\n bugs: z.string().url().optional(),\n changelog: z.string().url().optional(),\n }).optional(),\n \n /**\n * Media assets\n */\n media: z.object({\n icon: z.string().url().optional(),\n logo: z.string().url().optional(),\n screenshots: z.array(z.string().url()).optional(),\n video: z.string().url().optional(),\n }).optional(),\n \n /**\n * Quality metrics\n */\n quality: PluginQualityMetricsSchema.optional(),\n \n /**\n * Usage statistics\n */\n statistics: PluginStatisticsSchema.optional(),\n \n /**\n * License information\n */\n license: z.string().optional().describe('SPDX license identifier'),\n \n /**\n * Pricing (if commercial)\n */\n pricing: z.object({\n model: z.enum(['free', 'freemium', 'paid', 'enterprise']),\n price: z.number().min(0).optional(),\n currency: z.string().default('USD').optional(),\n billingPeriod: z.enum(['one-time', 'monthly', 'yearly']).optional(),\n }).optional(),\n \n /**\n * Publication dates\n */\n publishedAt: z.string().datetime().optional(),\n updatedAt: z.string().datetime().optional(),\n \n /**\n * Deprecation status\n */\n deprecated: z.boolean().default(false),\n deprecationMessage: z.string().optional(),\n replacedBy: z.string().optional().describe('Plugin ID that replaces this one'),\n \n /**\n * Feature flags\n */\n flags: z.object({\n experimental: z.boolean().default(false),\n beta: z.boolean().default(false),\n featured: z.boolean().default(false),\n verified: z.boolean().default(false),\n }).optional(),\n});\n\n/**\n * Plugin Search Filters\n */\nexport const PluginSearchFiltersSchema = z.object({\n /**\n * Search query\n */\n query: z.string().optional(),\n \n /**\n * Filter by category\n */\n category: z.array(z.string()).optional(),\n \n /**\n * Filter by tags\n */\n tags: z.array(z.string()).optional(),\n \n /**\n * Filter by vendor trust level\n */\n trustLevel: z.array(z.enum(['official', 'verified', 'community', 'unverified'])).optional(),\n \n /**\n * Filter by protocols implemented\n */\n implementsProtocols: z.array(z.string()).optional(),\n \n /**\n * Filter by pricing model\n */\n pricingModel: z.array(z.enum(['free', 'freemium', 'paid', 'enterprise'])).optional(),\n \n /**\n * Minimum rating\n */\n minRating: z.number().min(0).max(5).optional(),\n \n /**\n * Sort options\n */\n sortBy: z.enum([\n 'relevance',\n 'downloads',\n 'rating',\n 'updated',\n 'name',\n ]).optional(),\n \n /**\n * Sort order\n */\n sortOrder: z.enum(['asc', 'desc']).default('desc').optional(),\n \n /**\n * Pagination\n */\n page: z.number().int().min(1).default(1).optional(),\n limit: z.number().int().min(1).max(100).default(20).optional(),\n});\n\n/**\n * Plugin Installation Configuration\n */\nexport const PluginInstallConfigSchema = z.object({\n /**\n * Plugin identifier to install\n */\n pluginId: z.string(),\n \n /**\n * Version to install (supports semver ranges)\n */\n version: z.string().optional().describe('Defaults to latest'),\n \n /**\n * Plugin-specific configuration values\n */\n config: z.record(z.string(), z.unknown()).optional(),\n \n /**\n * Whether to auto-update\n */\n autoUpdate: z.boolean().default(false).optional(),\n \n /**\n * Installation options\n */\n options: z.object({\n /**\n * Skip dependency installation\n */\n skipDependencies: z.boolean().default(false).optional(),\n \n /**\n * Force reinstall\n */\n force: z.boolean().default(false).optional(),\n \n /**\n * Installation target\n */\n target: z.enum(['system', 'space', 'user']).default('space').optional(),\n }).optional(),\n});\n\n// Export types\nexport type PluginVendor = z.infer<typeof PluginVendorSchema>;\nexport type PluginVendorInput = z.input<typeof PluginVendorSchema>;\nexport type PluginQualityMetrics = z.infer<typeof PluginQualityMetricsSchema>;\nexport type PluginQualityMetricsInput = z.input<typeof PluginQualityMetricsSchema>;\nexport type PluginStatistics = z.infer<typeof PluginStatisticsSchema>;\nexport type PluginStatisticsInput = z.input<typeof PluginStatisticsSchema>;\nexport type PluginRegistryEntry = z.infer<typeof PluginRegistryEntrySchema>;\nexport type PluginRegistryEntryInput = z.input<typeof PluginRegistryEntrySchema>;\nexport type PluginSearchFilters = z.infer<typeof PluginSearchFiltersSchema>;\nexport type PluginSearchFiltersInput = z.input<typeof PluginSearchFiltersSchema>;\nexport type PluginInstallConfig = z.infer<typeof PluginInstallConfigSchema>;\nexport type PluginInstallConfigInput = z.input<typeof PluginInstallConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # Plugin Security & Dependency Resolution Protocol\n * \n * Provides comprehensive security scanning, vulnerability management,\n * and dependency resolution for the ObjectStack plugin ecosystem.\n * \n * Features:\n * - CVE/vulnerability scanning\n * - Dependency graph resolution\n * - Semantic version conflict detection\n * - Supply chain security\n * - Plugin sandboxing policies\n * - Trust and verification workflows\n */\n\n// ============================================================================\n// Security Scanning\n// ============================================================================\n\n/**\n * Vulnerability Severity\n */\nexport const VulnerabilitySeverity = z.enum([\n 'critical',\n 'high',\n 'medium',\n 'low',\n 'info',\n]).describe('Severity level of a security vulnerability');\n\nexport type VulnerabilitySeverity = z.infer<typeof VulnerabilitySeverity>;\n\n/**\n * Security Vulnerability\n */\nexport const SecurityVulnerabilitySchema = z.object({\n /**\n * CVE identifier (if applicable)\n */\n cve: z.string().regex(/^CVE-\\d{4}-\\d+$/).optional().describe('CVE identifier'),\n \n /**\n * Vulnerability identifier (GHSA, SNYK, etc.)\n */\n id: z.string().describe('Vulnerability ID'),\n \n /**\n * Title\n */\n title: z.string().describe('Short title summarizing the vulnerability'),\n \n /**\n * Description\n */\n description: z.string().describe('Detailed description of the vulnerability'),\n \n /**\n * Severity\n */\n severity: VulnerabilitySeverity.describe('Severity level of this vulnerability'),\n \n /**\n * CVSS score (0-10)\n */\n cvss: z.number().min(0).max(10).optional().describe('CVSS score ranging from 0 to 10'),\n \n /**\n * Affected package\n */\n package: z.object({\n name: z.string().describe('Name of the affected package'),\n version: z.string().describe('Version of the affected package'),\n ecosystem: z.string().optional().describe('Package ecosystem (e.g., npm, pip, maven)'),\n }).describe('Affected package information'),\n \n /**\n * Vulnerable version range\n */\n vulnerableVersions: z.string().describe('Semver range of vulnerable versions'),\n \n /**\n * Patched versions\n */\n patchedVersions: z.string().optional().describe('Semver range of patched versions'),\n \n /**\n * References\n */\n references: z.array(z.object({\n type: z.enum(['advisory', 'article', 'report', 'web']).describe('Type of reference source'),\n url: z.string().url().describe('URL of the reference'),\n })).default([]).describe('External references related to the vulnerability'),\n \n /**\n * CWE (Common Weakness Enumeration)\n */\n cwe: z.array(z.string()).default([]).describe('CWE identifiers associated with this vulnerability'),\n \n /**\n * Published date\n */\n publishedAt: z.string().datetime().optional().describe('ISO 8601 date when the vulnerability was published'),\n \n /**\n * Mitigation advice\n */\n mitigation: z.string().optional().describe('Recommended steps to mitigate the vulnerability'),\n}).describe('A known security vulnerability in a package dependency');\n\nexport type SecurityVulnerability = z.infer<typeof SecurityVulnerabilitySchema>;\n\n/**\n * Security Scan Result\n */\nexport const SecurityScanResultSchema = z.object({\n /**\n * Scan identifier\n */\n scanId: z.string().uuid().describe('Unique identifier for this security scan'),\n \n /**\n * Plugin being scanned\n */\n plugin: z.object({\n id: z.string().describe('Plugin identifier'),\n version: z.string().describe('Plugin version that was scanned'),\n }).describe('Plugin that was scanned'),\n \n /**\n * Scan timestamp\n */\n scannedAt: z.string().datetime().describe('ISO 8601 timestamp when the scan was performed'),\n \n /**\n * Scanner information\n */\n scanner: z.object({\n name: z.string().describe('Scanner name (e.g., snyk, osv, trivy)'),\n version: z.string().describe('Version of the scanner tool'),\n }).describe('Information about the scanner tool used'),\n \n /**\n * Scan status\n */\n status: z.enum(['passed', 'failed', 'warning']).describe('Overall result status of the security scan'),\n \n /**\n * Vulnerabilities found\n */\n vulnerabilities: z.array(SecurityVulnerabilitySchema).describe('List of vulnerabilities discovered during the scan'),\n \n /**\n * Vulnerability summary\n */\n summary: z.object({\n critical: z.number().int().min(0).default(0).describe('Count of critical severity vulnerabilities'),\n high: z.number().int().min(0).default(0).describe('Count of high severity vulnerabilities'),\n medium: z.number().int().min(0).default(0).describe('Count of medium severity vulnerabilities'),\n low: z.number().int().min(0).default(0).describe('Count of low severity vulnerabilities'),\n info: z.number().int().min(0).default(0).describe('Count of informational severity vulnerabilities'),\n total: z.number().int().min(0).default(0).describe('Total count of all vulnerabilities'),\n }).describe('Summary counts of vulnerabilities by severity'),\n \n /**\n * License compliance issues\n */\n licenseIssues: z.array(z.object({\n package: z.string().describe('Name of the package with a license issue'),\n license: z.string().describe('License identifier of the package'),\n reason: z.string().describe('Reason the license is flagged'),\n severity: z.enum(['error', 'warning', 'info']).describe('Severity of the license compliance issue'),\n })).default([]).describe('License compliance issues found during the scan'),\n \n /**\n * Code quality issues\n */\n codeQuality: z.object({\n score: z.number().min(0).max(100).optional().describe('Overall code quality score from 0 to 100'),\n issues: z.array(z.object({\n type: z.enum(['security', 'quality', 'style']).describe('Category of the code quality issue'),\n severity: z.enum(['error', 'warning', 'info']).describe('Severity of the code quality issue'),\n message: z.string().describe('Description of the code quality issue'),\n file: z.string().optional().describe('File path where the issue was found'),\n line: z.number().int().optional().describe('Line number where the issue was found'),\n })).default([]).describe('List of individual code quality issues'),\n }).optional().describe('Code quality analysis results'),\n \n /**\n * Next scan scheduled\n */\n nextScanAt: z.string().datetime().optional().describe('ISO 8601 timestamp for the next scheduled scan'),\n}).describe('Result of a security scan performed on a plugin');\n\nexport type SecurityScanResult = z.infer<typeof SecurityScanResultSchema>;\n\n/**\n * Security Policy\n */\nexport const SecurityPolicySchema = z.object({\n /**\n * Policy identifier\n */\n id: z.string().describe('Unique identifier for the security policy'),\n \n /**\n * Policy name\n */\n name: z.string().describe('Human-readable name of the security policy'),\n \n /**\n * Automatic scanning\n */\n autoScan: z.object({\n enabled: z.boolean().default(true).describe('Whether automatic scanning is enabled'),\n frequency: z.enum(['on-publish', 'daily', 'weekly', 'monthly']).default('daily').describe('How often automatic scans are performed'),\n }).describe('Automatic security scanning configuration'),\n \n /**\n * Vulnerability thresholds\n */\n thresholds: z.object({\n /**\n * Block plugin if critical vulnerabilities exceed this\n */\n maxCritical: z.number().int().min(0).default(0).describe('Maximum allowed critical vulnerabilities before blocking'),\n \n /**\n * Block plugin if high vulnerabilities exceed this\n */\n maxHigh: z.number().int().min(0).default(0).describe('Maximum allowed high vulnerabilities before blocking'),\n \n /**\n * Warn if medium vulnerabilities exceed this\n */\n maxMedium: z.number().int().min(0).default(5).describe('Maximum allowed medium vulnerabilities before warning'),\n }).describe('Vulnerability count thresholds for policy enforcement'),\n \n /**\n * Allowed licenses\n */\n allowedLicenses: z.array(z.string()).default([\n 'MIT',\n 'Apache-2.0',\n 'BSD-3-Clause',\n 'BSD-2-Clause',\n 'ISC',\n ]).describe('List of SPDX license identifiers that are permitted'),\n \n /**\n * Prohibited licenses\n */\n prohibitedLicenses: z.array(z.string()).default([\n 'GPL-3.0',\n 'AGPL-3.0',\n ]).describe('List of SPDX license identifiers that are prohibited'),\n \n /**\n * Code signing requirements\n */\n codeSigning: z.object({\n required: z.boolean().default(false).describe('Whether code signing is required for plugins'),\n allowedSigners: z.array(z.string()).default([]).describe('List of trusted signer identities'),\n }).optional().describe('Code signing requirements for plugin artifacts'),\n \n /**\n * Sandbox restrictions\n */\n sandbox: z.object({\n /**\n * Restrict network access\n */\n networkAccess: z.enum(['none', 'localhost', 'allowlist', 'all']).default('all').describe('Level of network access granted to the plugin'),\n \n /**\n * Allowed network destinations (if allowlist)\n */\n allowedDestinations: z.array(z.string()).default([]).describe('Permitted network destinations when using allowlist mode'),\n \n /**\n * File system access\n */\n filesystemAccess: z.enum(['none', 'read-only', 'temp-only', 'full']).default('full').describe('Level of file system access granted to the plugin'),\n \n /**\n * Maximum memory (MB)\n */\n maxMemoryMB: z.number().int().positive().optional().describe('Maximum memory allocation in megabytes'),\n \n /**\n * Maximum CPU time (seconds)\n */\n maxCPUSeconds: z.number().int().positive().optional().describe('Maximum CPU time allowed in seconds'),\n }).optional().describe('Sandbox restrictions for plugin execution'),\n}).describe('Security policy governing plugin scanning and enforcement');\n\nexport type SecurityPolicy = z.infer<typeof SecurityPolicySchema>;\n\n// ============================================================================\n// Dependency Resolution\n// ============================================================================\n\n/**\n * Package Dependency\n */\nexport const PackageDependencySchema = z.object({\n /**\n * Package name/ID\n */\n name: z.string().describe('Package name or identifier'),\n \n /**\n * Version constraint (semver range)\n */\n versionConstraint: z.string().describe('Semver range (e.g., `^1.0.0`, `>=2.0.0 <3.0.0`)'),\n \n /**\n * Dependency type\n */\n type: z.enum(['required', 'optional', 'peer', 'dev']).default('required').describe('Category of the dependency relationship'),\n \n /**\n * Resolved version (filled during resolution)\n */\n resolvedVersion: z.string().optional().describe('Concrete version resolved during dependency resolution'),\n}).describe('A package dependency with its version constraint');\n\nexport type PackageDependency = z.infer<typeof PackageDependencySchema>;\n\n/**\n * Dependency Graph Node\n */\nexport const DependencyGraphNodeSchema = z.object({\n /**\n * Package identifier\n */\n id: z.string().describe('Unique identifier of the package'),\n \n /**\n * Package version\n */\n version: z.string().describe('Resolved version of the package'),\n \n /**\n * Dependencies of this package\n */\n dependencies: z.array(PackageDependencySchema).default([]).describe('Dependencies required by this package'),\n \n /**\n * Depth in dependency tree\n */\n depth: z.number().int().min(0).describe('Depth level in the dependency tree (0 = root)'),\n \n /**\n * Whether this is a direct dependency\n */\n isDirect: z.boolean().describe('Whether this is a direct (top-level) dependency'),\n \n /**\n * Package metadata\n */\n metadata: z.object({\n name: z.string().describe('Display name of the package'),\n description: z.string().optional().describe('Short description of the package'),\n license: z.string().optional().describe('SPDX license identifier of the package'),\n homepage: z.string().url().optional().describe('Homepage URL of the package'),\n }).optional().describe('Additional metadata about the package'),\n}).describe('A node in the dependency graph representing a resolved package');\n\nexport type DependencyGraphNode = z.infer<typeof DependencyGraphNodeSchema>;\n\n/**\n * Dependency Graph\n */\nexport const DependencyGraphSchema = z.object({\n /**\n * Root package\n */\n root: z.object({\n id: z.string().describe('Identifier of the root package'),\n version: z.string().describe('Version of the root package'),\n }).describe('Root package of the dependency graph'),\n \n /**\n * All nodes in the graph\n */\n nodes: z.array(DependencyGraphNodeSchema).describe('All resolved package nodes in the dependency graph'),\n \n /**\n * Edges (dependency relationships)\n */\n edges: z.array(z.object({\n from: z.string().describe('Package ID'),\n to: z.string().describe('Package ID'),\n constraint: z.string().describe('Version constraint'),\n })).describe('Directed edges representing dependency relationships'),\n \n /**\n * Resolution statistics\n */\n stats: z.object({\n totalDependencies: z.number().int().min(0).describe('Total number of resolved dependencies'),\n directDependencies: z.number().int().min(0).describe('Number of direct (top-level) dependencies'),\n maxDepth: z.number().int().min(0).describe('Maximum depth of the dependency tree'),\n }).describe('Summary statistics for the dependency graph'),\n}).describe('Complete dependency graph for a package and its transitive dependencies');\n\nexport type DependencyGraph = z.infer<typeof DependencyGraphSchema>;\n\n/**\n * Dependency Conflict\n * \n * Hub-level dependency conflict detected during plugin resolution.\n * Focuses on package version conflicts across the marketplace/registry.\n * \n * @see kernel/plugin-versioning.zod.ts DependencyConflictSchema for kernel-level plugin conflicts\n * which models plugin-to-plugin conflicts with richer resolution strategies.\n */\nexport const PackageDependencyConflictSchema = z.object({\n /**\n * Package with conflict\n */\n package: z.string().describe('Name of the package with conflicting version requirements'),\n \n /**\n * Conflicting versions\n */\n conflicts: z.array(z.object({\n version: z.string().describe('Conflicting version of the package'),\n requestedBy: z.array(z.string()).describe('Packages that require this version'),\n constraint: z.string().describe('Semver constraint that produced this version requirement'),\n })).describe('List of conflicting version requirements'),\n \n /**\n * Suggested resolution\n */\n resolution: z.object({\n strategy: z.enum(['pick-highest', 'pick-lowest', 'manual']).describe('Strategy used to resolve the conflict'),\n version: z.string().optional().describe('Resolved version selected by the strategy'),\n reason: z.string().optional().describe('Explanation of why this resolution was chosen'),\n }).optional().describe('Suggested resolution for the conflict'),\n \n /**\n * Severity\n */\n severity: z.enum(['error', 'warning', 'info']).describe('Severity level of the dependency conflict'),\n}).describe('A detected conflict between dependency version requirements');\n\nexport type PackageDependencyConflict = z.infer<typeof PackageDependencyConflictSchema>;\n\n/**\n * Dependency Resolution Result\n */\nexport const PackageDependencyResolutionResultSchema = z.object({\n /**\n * Resolution status\n */\n status: z.enum(['success', 'conflict', 'error']).describe('Overall status of the dependency resolution'),\n \n /**\n * Resolved dependency graph\n */\n graph: DependencyGraphSchema.optional().describe('Resolved dependency graph if resolution succeeded'),\n \n /**\n * Conflicts detected\n */\n conflicts: z.array(PackageDependencyConflictSchema).default([]).describe('List of dependency conflicts detected during resolution'),\n \n /**\n * Errors encountered\n */\n errors: z.array(z.object({\n package: z.string().describe('Name of the package that caused the error'),\n error: z.string().describe('Error message describing what went wrong'),\n })).default([]).describe('Errors encountered during dependency resolution'),\n \n /**\n * Installation order (topological sort)\n */\n installOrder: z.array(z.string()).default([]).describe('Topologically sorted list of package IDs for installation'),\n \n /**\n * Resolution time (ms)\n */\n resolvedIn: z.number().int().min(0).optional().describe('Time taken to resolve dependencies in milliseconds'),\n}).describe('Result of a dependency resolution process');\n\nexport type PackageDependencyResolutionResult = z.infer<typeof PackageDependencyResolutionResultSchema>;\n\n// ============================================================================\n// Supply Chain Security\n// ============================================================================\n\n/**\n * SBOM (Software Bill of Materials) Entry\n */\nexport const SBOMEntrySchema = z.object({\n /**\n * Component name\n */\n name: z.string().describe('Name of the software component'),\n \n /**\n * Component version\n */\n version: z.string().describe('Version of the software component'),\n \n /**\n * Package URL (purl)\n */\n purl: z.string().optional().describe('Package URL identifier'),\n \n /**\n * License\n */\n license: z.string().optional().describe('SPDX license identifier of the component'),\n \n /**\n * Hashes\n */\n hashes: z.object({\n sha256: z.string().optional().describe('SHA-256 hash of the component artifact'),\n sha512: z.string().optional().describe('SHA-512 hash of the component artifact'),\n }).optional().describe('Cryptographic hashes for integrity verification'),\n \n /**\n * Supplier\n */\n supplier: z.object({\n name: z.string().describe('Name of the component supplier'),\n url: z.string().url().optional().describe('URL of the component supplier'),\n }).optional().describe('Supplier information for the component'),\n \n /**\n * External references\n */\n externalRefs: z.array(z.object({\n type: z.enum(['website', 'repository', 'documentation', 'issue-tracker']).describe('Type of external reference'),\n url: z.string().url().describe('URL of the external reference'),\n })).default([]).describe('External references related to the component'),\n}).describe('A single entry in a Software Bill of Materials');\n\nexport type SBOMEntry = z.infer<typeof SBOMEntrySchema>;\n\n/**\n * Software Bill of Materials (SBOM)\n */\nexport const SBOMSchema = z.object({\n /**\n * SBOM format\n */\n format: z.enum(['spdx', 'cyclonedx']).default('cyclonedx').describe('SBOM standard format used'),\n \n /**\n * SBOM version\n */\n version: z.string().describe('Version of the SBOM specification'),\n \n /**\n * Plugin metadata\n */\n plugin: z.object({\n id: z.string().describe('Plugin identifier'),\n version: z.string().describe('Plugin version'),\n name: z.string().describe('Human-readable plugin name'),\n }).describe('Metadata about the plugin this SBOM describes'),\n \n /**\n * Components (dependencies)\n */\n components: z.array(SBOMEntrySchema).describe('List of software components included in the plugin'),\n \n /**\n * Generation timestamp\n */\n generatedAt: z.string().datetime().describe('ISO 8601 timestamp when the SBOM was generated'),\n \n /**\n * Generator tool\n */\n generator: z.object({\n name: z.string().describe('Name of the SBOM generator tool'),\n version: z.string().describe('Version of the SBOM generator tool'),\n }).optional().describe('Tool used to generate this SBOM'),\n}).describe('Software Bill of Materials for a plugin');\n\nexport type SBOM = z.infer<typeof SBOMSchema>;\n\n/**\n * Plugin Provenance\n * Verifiable chain of custody for plugin artifacts\n */\nexport const PluginProvenanceSchema = z.object({\n /**\n * Plugin identifier\n */\n pluginId: z.string().describe('Unique identifier of the plugin'),\n \n /**\n * Plugin version\n */\n version: z.string().describe('Version of the plugin artifact'),\n \n /**\n * Build information\n */\n build: z.object({\n /**\n * Build timestamp\n */\n timestamp: z.string().datetime().describe('ISO 8601 timestamp when the build was produced'),\n \n /**\n * Build environment\n */\n environment: z.object({\n os: z.string().describe('Operating system used for the build'),\n arch: z.string().describe('CPU architecture used for the build'),\n nodeVersion: z.string().describe('Node.js version used for the build'),\n }).optional().describe('Environment details where the build was executed'),\n \n /**\n * Source repository\n */\n source: z.object({\n repository: z.string().url().describe('URL of the source repository'),\n commit: z.string().regex(/^[a-f0-9]{40}$/).describe('Full SHA-1 commit hash of the source'),\n branch: z.string().optional().describe('Branch name the build was produced from'),\n tag: z.string().optional().describe('Git tag associated with the build'),\n }).optional().describe('Source repository information for the build'),\n \n /**\n * Builder identity\n */\n builder: z.object({\n name: z.string().describe('Name of the person or system that produced the build'),\n email: z.string().email().optional().describe('Email address of the builder'),\n }).optional().describe('Identity of the builder who produced the artifact'),\n }).describe('Build provenance information'),\n \n /**\n * Artifact hashes\n */\n artifacts: z.array(z.object({\n filename: z.string().describe('Name of the artifact file'),\n sha256: z.string().describe('SHA-256 hash of the artifact'),\n size: z.number().int().positive().describe('Size of the artifact in bytes'),\n })).describe('List of build artifacts with integrity hashes'),\n \n /**\n * Signatures\n */\n signatures: z.array(z.object({\n algorithm: z.enum(['rsa', 'ecdsa', 'ed25519']).describe('Cryptographic algorithm used for signing'),\n publicKey: z.string().describe('Public key used to verify the signature'),\n signature: z.string().describe('Digital signature value'),\n signedBy: z.string().describe('Identity of the signer'),\n timestamp: z.string().datetime().describe('ISO 8601 timestamp when the signature was created'),\n })).default([]).describe('Cryptographic signatures for the plugin artifact'),\n \n /**\n * Attestations\n */\n attestations: z.array(z.object({\n type: z.enum(['code-review', 'security-scan', 'test-results', 'ci-build']).describe('Type of attestation'),\n status: z.enum(['passed', 'failed']).describe('Result status of the attestation'),\n url: z.string().url().optional().describe('URL with details about the attestation'),\n timestamp: z.string().datetime().describe('ISO 8601 timestamp when the attestation was issued'),\n })).default([]).describe('Verification attestations for the plugin'),\n}).describe('Verifiable provenance and chain of custody for a plugin artifact');\n\nexport type PluginProvenance = z.infer<typeof PluginProvenanceSchema>;\n\n// ============================================================================\n// Trust & Verification\n// ============================================================================\n\n/**\n * Plugin Trust Score\n */\nexport const PluginTrustScoreSchema = z.object({\n /**\n * Plugin identifier\n */\n pluginId: z.string().describe('Unique identifier of the plugin'),\n \n /**\n * Overall trust score (0-100)\n */\n score: z.number().min(0).max(100).describe('Overall trust score from 0 to 100'),\n \n /**\n * Score components\n */\n components: z.object({\n /**\n * Vendor reputation (0-100)\n */\n vendorReputation: z.number().min(0).max(100).describe('Vendor reputation score from 0 to 100'),\n \n /**\n * Security scan results (0-100)\n */\n securityScore: z.number().min(0).max(100).describe('Security scan results score from 0 to 100'),\n \n /**\n * Code quality (0-100)\n */\n codeQuality: z.number().min(0).max(100).describe('Code quality score from 0 to 100'),\n \n /**\n * Community engagement (0-100)\n */\n communityScore: z.number().min(0).max(100).describe('Community engagement score from 0 to 100'),\n \n /**\n * Update frequency (0-100)\n */\n maintenanceScore: z.number().min(0).max(100).describe('Maintenance and update frequency score from 0 to 100'),\n }).describe('Individual score components contributing to the overall trust score'),\n \n /**\n * Trust level\n */\n level: z.enum(['verified', 'trusted', 'neutral', 'untrusted', 'blocked']).describe('Computed trust level based on the overall score'),\n \n /**\n * Verification badges\n */\n badges: z.array(z.enum([\n 'official', // Official ObjectStack plugin\n 'verified-vendor', // Verified vendor\n 'security-scanned', // Passed security scan\n 'code-signed', // Digitally signed\n 'open-source', // Open source\n 'popular', // High downloads\n ])).default([]).describe('Verification badges earned by the plugin'),\n \n /**\n * Last updated\n */\n updatedAt: z.string().datetime().describe('ISO 8601 timestamp when the trust score was last updated'),\n}).describe('Trust score and verification status for a plugin');\n\nexport type PluginTrustScore = z.infer<typeof PluginTrustScoreSchema>;\n\n// ============================================================================\n// Export All\n// ============================================================================\n\nexport const PluginSecurityProtocol = {\n VulnerabilitySeverity,\n SecurityVulnerability: SecurityVulnerabilitySchema,\n SecurityScanResult: SecurityScanResultSchema,\n SecurityPolicy: SecurityPolicySchema,\n PackageDependency: PackageDependencySchema,\n DependencyGraphNode: DependencyGraphNodeSchema,\n DependencyGraph: DependencyGraphSchema,\n DependencyConflict: PackageDependencyConflictSchema,\n DependencyResolutionResult: PackageDependencyResolutionResultSchema,\n SBOMEntry: SBOMEntrySchema,\n SBOM: SBOMSchema,\n PluginProvenance: PluginProvenanceSchema,\n PluginTrustScore: PluginTrustScoreSchema,\n} as const;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Execution Context Schema\n * \n * Defines the runtime context that flows from HTTP request → data operations.\n * This is the \"identity + environment\" envelope that every data operation can carry.\n * \n * Design:\n * - All fields are optional for backward compatibility\n * - `isSystem` bypasses permission checks (for internal/migration operations)\n * - `transaction` carries the database transaction handle for atomicity\n * - `traceId` enables distributed tracing across microservices\n * \n * Usage:\n * engine.find('account', { context: { userId: '...', tenantId: '...' } })\n */\nexport const ExecutionContextSchema = z.object({\n /** Current user ID (resolved from session) */\n userId: z.string().optional(),\n \n /** Current organization/tenant ID (resolved from session.activeOrganizationId) */\n tenantId: z.string().optional(),\n \n /** User role names (resolved from Member + Role) */\n roles: z.array(z.string()).default([]),\n \n /** Aggregated permission names (resolved from PermissionSet) */\n permissions: z.array(z.string()).default([]),\n \n /** Whether this is a system-level operation (bypasses permission checks) */\n isSystem: z.boolean().default(false),\n \n /** Raw access token (for external API call pass-through) */\n accessToken: z.string().optional(),\n \n /** Database transaction handle */\n transaction: z.unknown().optional(),\n \n /** Request trace ID (for distributed tracing) */\n traceId: z.string().optional(),\n});\n\nexport type ExecutionContext = z.infer<typeof ExecutionContextSchema>;\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/kernel/cli-extension.zod.ts","../../src/kernel/context.zod.ts","../../src/kernel/dev-plugin.zod.ts","../../src/shared/identifiers.zod.ts","../../src/kernel/events/core.zod.ts","../../src/kernel/events/handlers.zod.ts","../../src/kernel/events/queue.zod.ts","../../src/kernel/events/dlq.zod.ts","../../src/kernel/events/integrations.zod.ts","../../src/kernel/events/bus.zod.ts","../../src/kernel/feature.zod.ts","../../src/kernel/plugin-capability.zod.ts","../../src/kernel/plugin-loading.zod.ts","../../src/kernel/plugin.zod.ts","../../src/data/dataset.zod.ts","../../src/kernel/manifest.zod.ts","../../src/kernel/metadata-customization.zod.ts","../../src/kernel/metadata-loader.zod.ts","../../src/kernel/metadata-plugin.zod.ts","../../src/kernel/package-registry.zod.ts","../../src/kernel/package-upgrade.zod.ts","../../src/kernel/plugin-lifecycle-advanced.zod.ts","../../src/kernel/plugin-lifecycle-events.zod.ts","../../src/kernel/plugin-runtime.zod.ts","../../src/kernel/plugin-security-advanced.zod.ts","../../src/kernel/plugin-structure.zod.ts","../../src/kernel/plugin-validator.zod.ts","../../src/kernel/plugin-versioning.zod.ts","../../src/kernel/service-registry.zod.ts","../../src/kernel/startup-orchestrator.zod.ts","../../src/kernel/plugin-registry.zod.ts","../../src/kernel/plugin-security.zod.ts","../../src/kernel/execution-context.zod.ts"],"names":["z"],"mappings":"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","file":"index.mjs","sourcesContent":["// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # CLI Extension Protocol\n * \n * Defines the contract for plugins that extend the ObjectStack CLI with\n * custom commands. This enables third-party packages (e.g., marketplace,\n * deployment tools) to register new top-level or nested CLI commands.\n * \n * ## How It Works\n * \n * 1. **Declare** — Plugin's manifest declares `contributes.commands` entries.\n * 2. **Discover** — The CLI scans installed plugins for command contributions.\n * 3. **Load** — The CLI dynamically imports the plugin module and registers\n * exported Commander.js `Command` instances.\n * \n * ## Plugin Module Contract\n * \n * The plugin must export commands in one of these forms:\n * \n * ```typescript\n * // Form 1: Named export array\n * export const commands = [marketplaceCommand, deployCommand];\n * \n * // Form 2: Default export (single command)\n * export default marketplaceCommand;\n * \n * // Form 3: Default export (array)\n * export default [marketplaceCommand, deployCommand];\n * ```\n * \n * @example\n * ```typescript\n * // In @acme/plugin-marketplace/src/cli.ts\n * import { Command } from 'commander';\n * \n * const marketplaceCommand = new Command('marketplace')\n * .description('Manage marketplace applications')\n * .addCommand(\n * new Command('publish')\n * .description('Publish app to marketplace')\n * .action(async () => { ... })\n * )\n * .addCommand(\n * new Command('search')\n * .description('Search marketplace apps')\n * .argument('<query>', 'Search query')\n * .action(async (query) => { ... })\n * );\n * \n * export const commands = [marketplaceCommand];\n * ```\n */\n\n/**\n * Schema for a CLI Command Contribution declaration in the manifest.\n * \n * This is the declarative metadata — the actual Commander.js `Command`\n * objects are loaded at runtime from the plugin's module.\n */\nexport const CLICommandContributionSchema = z.object({\n /** \n * CLI command name. Must be a valid identifier: lowercase alphanumeric with hyphens.\n * This becomes a top-level subcommand of the `os` CLI.\n * \n * @example \"marketplace\"\n * @example \"deploy\"\n * @example \"cloud-sync\"\n */\n name: z.string()\n .regex(/^[a-z][a-z0-9-]*$/, 'Command name must be lowercase alphanumeric with hyphens')\n .describe('CLI command name'),\n\n /** Brief description shown in `os --help` output. */\n description: z.string().optional().describe('Command description for help text'),\n\n /** \n * Module path that exports the Commander.js command(s).\n * Relative to the plugin package root. If omitted, the CLI \n * imports from the package's main entry point.\n * \n * The module must export one of:\n * - `export const commands: Command[]`\n * - `export default Command | Command[]`\n * \n * @example \"./dist/cli.js\"\n * @example \"./cli\"\n */\n module: z.string().optional().describe('Module path exporting Commander.js commands'),\n});\n\n/**\n * Schema for the CLI Extension module contract.\n * Validates the shape of what a plugin module should export for CLI integration.\n */\nexport const CLIExtensionExportSchema = z.object({\n /** Named export: array of Commander.js Command instances */\n commands: z.array(z.unknown()).optional()\n .describe('Array of Commander.js Command instances'),\n\n /** Default export: single Command or array of Commands */\n default: z.union([\n z.unknown(),\n z.array(z.unknown()),\n ]).optional()\n .describe('Default export: Command or Command[]'),\n});\n\n// ─── Types ───────────────────────────────────────────────────────────\n\nexport type CLICommandContribution = z.infer<typeof CLICommandContributionSchema>;\nexport type CLIExtensionExport = z.infer<typeof CLIExtensionExportSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Runtime Mode Enum\n * Defines the operating mode of the kernel\n */\nexport const RuntimeMode = z.enum([\n 'development', // Hot-reload, verbose logging\n 'production', // Optimized, strict security\n 'test', // Mocked interfaces\n 'provisioning', // Setup/Migration mode\n 'preview', // Demo/preview mode — bypass auth, simulate admin identity\n]).describe('Kernel operating mode');\n\nexport type RuntimeMode = z.infer<typeof RuntimeMode>;\n\n/**\n * Preview Mode Configuration Schema\n *\n * Configures the kernel's preview/demo mode behaviour.\n * When `mode` is set to `'preview'`, the platform skips authentication\n * screens and optionally simulates an admin identity so that visitors\n * (e.g. app-marketplace customers) can explore the system without\n * registering or logging in.\n *\n * **Security note:** preview mode should NEVER be used in production.\n * The runtime must enforce this constraint.\n *\n * @example\n * ```ts\n * const ctx = KernelContextSchema.parse({\n * instanceId: '550e8400-e29b-41d4-a716-446655440000',\n * mode: 'preview',\n * version: '1.0.0',\n * cwd: '/app',\n * startTime: Date.now(),\n * previewMode: {\n * autoLogin: true,\n * simulatedRole: 'admin',\n * },\n * });\n * ```\n */\nexport const PreviewModeConfigSchema = z.object({\n /**\n * Automatically log in as a simulated user on startup.\n * When enabled, the frontend skips login/registration screens entirely.\n */\n autoLogin: z.boolean().default(true)\n .describe('Auto-login as simulated user, skipping login/registration pages'),\n\n /**\n * Role of the simulated user.\n * Determines the permission level of the auto-created preview session.\n */\n simulatedRole: z.enum(['admin', 'user', 'viewer']).default('admin')\n .describe('Permission role for the simulated preview user'),\n\n /**\n * Display name for the simulated user shown in the UI.\n */\n simulatedUserName: z.string().default('Preview User')\n .describe('Display name for the simulated preview user'),\n\n /**\n * Whether the preview session is read-only.\n * When true, all write operations (create, update, delete) are blocked.\n */\n readOnly: z.boolean().default(false)\n .describe('Restrict the preview session to read-only operations'),\n\n /**\n * Session duration in seconds. After expiry the preview session ends.\n * 0 means no expiration.\n */\n expiresInSeconds: z.number().int().min(0).default(0)\n .describe('Preview session duration in seconds (0 = no expiration)'),\n\n /**\n * Optional banner message shown in the UI to indicate preview mode.\n * Useful for marketplace demos so visitors know they are in a sandbox.\n */\n bannerMessage: z.string().optional()\n .describe('Banner message displayed in the UI during preview mode'),\n});\n\nexport type PreviewModeConfig = z.infer<typeof PreviewModeConfigSchema>;\n\n/**\n * Kernel Context Schema\n * Defines the static environment information available to the Kernel at boot.\n */\nexport const KernelContextSchema = z.object({\n /**\n * Instance Identity\n */\n instanceId: z.string().uuid().describe('Unique UUID for this running kernel process'),\n \n /**\n * Environment Metadata\n */\n mode: RuntimeMode.default('production'),\n version: z.string().describe('Kernel version'),\n appName: z.string().optional().describe('Host application name'),\n \n /**\n * Paths\n */\n cwd: z.string().describe('Current working directory'),\n workspaceRoot: z.string().optional().describe('Workspace root if different from cwd'),\n \n /**\n * Telemetry\n */\n startTime: z.number().int().describe('Boot timestamp (ms)'),\n \n /**\n * Feature Flags (Global)\n */\n features: z.record(z.string(), z.boolean()).default({}).describe('Global feature toggles'),\n\n /**\n * Preview Mode Configuration.\n * Only relevant when `mode` is `'preview'`. Configures auto-login,\n * simulated identity, read-only restrictions, and UI banner.\n */\n previewMode: PreviewModeConfigSchema.optional()\n .describe('Preview/demo mode configuration (used when mode is \"preview\")'),\n});\n\nexport type KernelContext = z.infer<typeof KernelContextSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # Dev Mode Plugin Protocol\n *\n * Defines the schema for a development-mode plugin that automatically enables\n * all platform services for local simulation. When loaded as a `devPlugin`,\n * the kernel bootstraps every subsystem (data, UI, API, auth, events, jobs, …)\n * using in-memory or stub implementations so that developers can exercise the\n * full stack without external dependencies.\n *\n * Design goals:\n * - Zero-config by default: `devPlugins: ['@objectstack/plugin-dev']`\n * - Every service can be overridden or disabled individually\n * - Preset profiles (minimal / standard / full) for common scenarios\n *\n * Inspired by:\n * - Spring Boot DevTools (auto-configuration)\n * - Next.js Dev Server (HMR + mock APIs)\n * - Vite Plugin Dev Mode (instant startup)\n */\n\n// ============================================================================\n// Dev Service Override\n// ============================================================================\n\n/**\n * Dev Service Override Schema\n *\n * Allows fine-grained control over a single service in development mode.\n * Each override targets a service by name and specifies whether it should\n * be enabled, which implementation strategy to use, and optional config.\n */\nexport const DevServiceOverrideSchema = z.object({\n /** Service identifier (e.g. 'auth', 'eventBus', 'fileStorage') */\n service: z.string().min(1).describe('Target service identifier'),\n\n /** Whether this service is enabled in dev mode */\n enabled: z.boolean().default(true).describe('Enable or disable this service'),\n\n /**\n * Implementation strategy for the service in dev mode.\n * - mock: Use a mock/stub that records calls (for assertions)\n * - memory: Use a real but in-memory implementation (e.g. SQLite, Map)\n * - stub: Use a static/no-op implementation\n * - passthrough: Use the real production implementation (for integration testing)\n */\n strategy: z.enum(['mock', 'memory', 'stub', 'passthrough']).default('memory')\n .describe('Implementation strategy for development'),\n\n /** Optional per-service configuration (strategy-specific) */\n config: z.record(z.string(), z.unknown()).optional()\n .describe('Strategy-specific configuration for this service override'),\n});\n\nexport type DevServiceOverride = z.infer<typeof DevServiceOverrideSchema>;\n\n// ============================================================================\n// Dev Fixture Configuration\n// ============================================================================\n\n/**\n * Dev Fixture Config Schema\n *\n * Configures automatic seed/fixture data loading in development mode.\n * Fixtures provide a reproducible dataset for local development and demos.\n */\nexport const DevFixtureConfigSchema = z.object({\n /** Whether to load fixtures on startup */\n enabled: z.boolean().default(true).describe('Load fixture data on startup'),\n\n /**\n * Glob patterns pointing to fixture files\n * (e.g. `[\"./fixtures/*.json\", \"./test/data/*.yml\"]`)\n */\n paths: z.array(z.string()).optional()\n .describe('Glob patterns for fixture files'),\n\n /** Whether to reset data before loading fixtures */\n resetBeforeLoad: z.boolean().default(true)\n .describe('Clear existing data before loading fixtures'),\n\n /**\n * Environment tag filter – only load fixtures tagged for these environments.\n * When omitted, all fixtures are loaded.\n */\n envFilter: z.array(z.string()).optional()\n .describe('Only load fixtures matching these environment tags'),\n});\n\nexport type DevFixtureConfig = z.infer<typeof DevFixtureConfigSchema>;\n\n// ============================================================================\n// Dev Tools Configuration\n// ============================================================================\n\n/**\n * Dev Tools Config Schema\n *\n * Optional developer tooling that can be enabled alongside the dev plugin.\n */\nexport const DevToolsConfigSchema = z.object({\n /** Enable hot-module replacement / live reload */\n hotReload: z.boolean().default(true).describe('Enable HMR / live-reload'),\n\n /** Enable request inspector UI for debugging HTTP traffic */\n requestInspector: z.boolean().default(false).describe('Enable request inspector'),\n\n /** Enable an in-browser database explorer */\n dbExplorer: z.boolean().default(false).describe('Enable database explorer UI'),\n\n /** Enable verbose logging across all services */\n verboseLogging: z.boolean().default(true).describe('Enable verbose logging'),\n\n /** Enable OpenAPI / Swagger documentation endpoint */\n apiDocs: z.boolean().default(true).describe('Serve OpenAPI docs at /_dev/docs'),\n\n /** Enable a mail catcher for outbound email (like MailHog) */\n mailCatcher: z.boolean().default(false).describe('Capture outbound emails in dev'),\n});\n\nexport type DevToolsConfig = z.infer<typeof DevToolsConfigSchema>;\n\n// ============================================================================\n// Dev Plugin Preset\n// ============================================================================\n\n/**\n * Dev Plugin Preset\n *\n * Predefined configuration profiles for common development scenarios.\n * - minimal: Only core data services (fast startup, low memory)\n * - standard: Core + API + auth + events (typical full-stack dev)\n * - full: Every service enabled, including background jobs and AI agents\n */\nexport const DevPluginPreset = z.enum([\n 'minimal',\n 'standard',\n 'full',\n]).describe('Predefined dev configuration profile');\n\nexport type DevPluginPreset = z.infer<typeof DevPluginPreset>;\n\n// ============================================================================\n// Dev Plugin Configuration\n// ============================================================================\n\n/**\n * Dev Plugin Config Schema\n *\n * Top-level configuration for the development-mode plugin.\n * This is the shape of the configuration payload that\n * `@objectstack/plugin-dev` (or equivalent) understands.\n *\n * The outer wiring (e.g. how a stack declares `devPlugins`) is defined\n * by the stack/manifest schemas; this type only describes the plugin's\n * own config object.\n *\n * @example Minimal usage (zero-config)\n * ```ts\n * const devConfig: DevPluginConfig = {};\n * ```\n *\n * @example With preset\n * ```ts\n * const devConfig: DevPluginConfig = {\n * preset: 'full',\n * };\n * ```\n *\n * @example Fine-grained overrides\n * ```ts\n * const devConfig: DevPluginConfig = {\n * preset: 'standard',\n * services: {\n * auth: { enabled: true, strategy: 'mock' },\n * fileStorage: { enabled: false },\n * },\n * fixtures: { paths: ['./fixtures/*.json'] },\n * tools: { dbExplorer: true },\n * };\n * ```\n */\nexport const DevPluginConfigSchema = z.object({\n /**\n * Configuration preset.\n * When provided, services and tools are pre-configured for the selected\n * profile. Individual `services` and `tools` settings override the preset.\n * @default 'standard'\n */\n preset: DevPluginPreset.default('standard')\n .describe('Base configuration preset'),\n\n /**\n * Per-service overrides.\n * Keys are service names; values configure the dev strategy.\n * Only services explicitly listed here override the preset defaults.\n */\n services: z.record(\n z.string().min(1),\n DevServiceOverrideSchema.omit({ service: true }),\n ).optional().describe('Per-service dev overrides keyed by service name'),\n\n /** Fixture / seed data configuration */\n fixtures: DevFixtureConfigSchema.optional()\n .describe('Fixture data loading configuration'),\n\n /** Developer tooling configuration */\n tools: DevToolsConfigSchema.optional()\n .describe('Developer tooling settings'),\n\n /**\n * Port for the dev-tools UI dashboard.\n * Serves a lightweight web dashboard for inspecting services, events,\n * and request logs during development.\n * @default 4400\n */\n port: z.number().int().min(1).max(65535).default(4400)\n .describe('Port for the dev-tools dashboard'),\n\n /**\n * Auto-open the dev-tools dashboard in the default browser on startup.\n */\n open: z.boolean().default(false)\n .describe('Auto-open dev dashboard in browser'),\n\n /**\n * Seed a default admin user for development.\n * When enabled, the dev plugin creates a pre-authenticated admin user\n * so that developers can bypass login flows.\n */\n seedAdminUser: z.boolean().default(true)\n .describe('Create a default admin user for development'),\n\n /**\n * Simulated latency (ms) to add to service calls.\n * Helps developers build UIs that handle loading states correctly.\n * Set to 0 to disable.\n */\n simulatedLatency: z.number().int().min(0).default(0)\n .describe('Artificial latency (ms) added to service calls'),\n});\n\nexport type DevPluginConfig = z.infer<typeof DevPluginConfigSchema>;\nexport type DevPluginConfigInput = z.input<typeof DevPluginConfigSchema>;\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 { EventNameSchema } from '../../shared/identifiers.zod';\n\n// ==========================================\n// Event Priority\n// ==========================================\n\n/**\n * Event Priority Enum\n * Priority levels for event processing\n * Lower numbers = higher priority\n */\nexport const EventPriority = z.enum([\n 'critical', // 0 - Process immediately, block if necessary\n 'high', // 1 - Process soon, minimal delay\n 'normal', // 2 - Default priority\n 'low', // 3 - Process when resources available\n 'background', // 4 - Process during idle time\n]);\n\nexport type EventPriority = z.infer<typeof EventPriority>;\n\n/**\n * Event Priority Values\n * Maps priority names to numeric values for sorting\n */\nexport const EVENT_PRIORITY_VALUES: Record<EventPriority, number> = {\n critical: 0,\n high: 1,\n normal: 2,\n low: 3,\n background: 4,\n};\n\n// ==========================================\n// Event Metadata\n// ==========================================\n\n/**\n * Event Metadata Schema\n * Metadata associated with every event\n */\nexport const EventMetadataSchema = z.object({\n source: z.string().describe('Event source (e.g., plugin name, system component)'),\n timestamp: z.string().datetime().describe('ISO 8601 datetime when event was created'),\n userId: z.string().optional().describe('User who triggered the event'),\n tenantId: z.string().optional().describe('Tenant identifier for multi-tenant systems'),\n correlationId: z.string().optional().describe('Correlation ID for event tracing'),\n causationId: z.string().optional().describe('ID of the event that caused this event'),\n priority: EventPriority.optional().default('normal').describe('Event priority'),\n});\n\n// ==========================================\n// Event Schema\n// ==========================================\n\n/**\n * Event Type Definition Schema\n * Defines the structure of an event type\n * \n * @example\n * {\n * \"name\": \"order.created\",\n * \"version\": \"1.0.0\",\n * \"schema\": {\n * \"type\": \"object\",\n * \"properties\": {\n * \"orderId\": { \"type\": \"string\" },\n * \"customerId\": { \"type\": \"string\" },\n * \"total\": { \"type\": \"number\" }\n * }\n * }\n * }\n */\nexport const EventTypeDefinitionSchema = z.object({\n name: EventNameSchema.describe('Event type name (lowercase with dots)'),\n version: z.string().default('1.0.0').describe('Event schema version'),\n schema: z.unknown().optional().describe('JSON Schema for event payload validation'),\n description: z.string().optional().describe('Event type description'),\n deprecated: z.boolean().optional().default(false).describe('Whether this event type is deprecated'),\n tags: z.array(z.string()).optional().describe('Event type tags'),\n});\n\nexport type EventTypeDefinition = z.infer<typeof EventTypeDefinitionSchema>;\n\n/**\n * Event Schema\n * Base schema for all events in the system\n * \n * Event names follow dot notation for namespacing (e.g., 'user.created', 'order.paid').\n * This aligns with industry standards for event-driven architectures and message queues.\n */\nexport const EventSchema = z.object({\n /**\n * Event identifier (for tracking and deduplication)\n */\n id: z.string().optional().describe('Unique event identifier'),\n \n /**\n * Event name\n */\n name: EventNameSchema.describe('Event name (lowercase with dots, e.g., user.created, order.paid)'),\n \n /**\n * Event payload\n */\n payload: z.unknown().describe('Event payload schema'),\n \n /**\n * Event metadata\n */\n metadata: EventMetadataSchema.describe('Event metadata'),\n});\n\nexport type Event = z.infer<typeof EventSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n// ==========================================\n// Event Handlers\n// ==========================================\n\n/**\n * Event Handler Schema\n * Defines how to handle a specific event\n */\nexport const EventHandlerSchema = z.object({\n /**\n * Handler identifier\n */\n id: z.string().optional().describe('Unique handler identifier'),\n \n /**\n * Event name pattern\n */\n eventName: z.string().describe('Name of event to handle (supports wildcards like user.*)'),\n \n /**\n * Handler function\n */\n handler: z.unknown()\n .describe('Handler function'),\n \n /**\n * Execution priority\n */\n priority: z.number().int().default(0).describe('Execution priority (lower numbers execute first)'),\n \n /**\n * Async execution\n */\n async: z.boolean().default(true).describe('Execute in background (true) or block (false)'),\n \n /**\n * Retry configuration\n */\n retry: z.object({\n maxRetries: z.number().int().min(0).default(3).describe('Maximum retry attempts'),\n backoffMs: z.number().int().positive().default(1000).describe('Initial backoff delay'),\n backoffMultiplier: z.number().positive().default(2).describe('Backoff multiplier'),\n }).optional().describe('Retry policy for failed handlers'),\n \n /**\n * Timeout\n */\n timeoutMs: z.number().int().positive().optional().describe('Handler timeout in milliseconds'),\n \n /**\n * Filter function\n */\n filter: z.unknown()\n .optional()\n .describe('Optional filter to determine if handler should execute'),\n});\n\nexport type EventHandler = z.infer<typeof EventHandlerSchema>;\n\n/**\n * Event Route Schema\n * Routes events from one pattern to multiple targets with optional transformation\n */\nexport const EventRouteSchema = z.object({\n from: z.string().describe('Source event pattern (supports wildcards, e.g., user.* or *.created)'),\n to: z.array(z.string()).describe('Target event names to route to'),\n transform: z.unknown().optional().describe('Optional function to transform payload'),\n});\n\nexport type EventRoute = z.infer<typeof EventRouteSchema>;\n\n/**\n * Event Persistence Schema\n * Configuration for persisting events to storage\n */\nexport const EventPersistenceSchema = z.object({\n enabled: z.boolean().default(false).describe('Enable event persistence'),\n retention: z.number().int().positive().describe('Days to retain persisted events'),\n filter: z.unknown().optional().describe('Optional filter function to select which events to persist'),\n storage: z.enum(['database', 'file', 's3', 'custom']).default('database')\n .describe('Storage backend for persisted events'),\n});\n\nexport type EventPersistence = z.infer<typeof EventPersistenceSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n// ==========================================\n// Event Queue\n// ==========================================\n\n/**\n * Event Queue Configuration Schema\n * Configuration for async event processing queue\n * \n * @example\n * {\n * \"name\": \"event_queue\",\n * \"concurrency\": 10,\n * \"retryPolicy\": {\n * \"maxRetries\": 3,\n * \"backoffStrategy\": \"exponential\"\n * }\n * }\n */\nexport const EventQueueConfigSchema = z.object({\n /**\n * Queue name\n */\n name: z.string().default('events').describe('Event queue name'),\n \n /**\n * Concurrency\n */\n concurrency: z.number().int().min(1).default(10).describe('Max concurrent event handlers'),\n \n /**\n * Retry policy\n */\n retryPolicy: z.object({\n maxRetries: z.number().int().min(0).default(3).describe('Max retries for failed events'),\n backoffStrategy: z.enum(['fixed', 'linear', 'exponential']).default('exponential')\n .describe('Backoff strategy'),\n initialDelayMs: z.number().int().positive().default(1000).describe('Initial retry delay'),\n maxDelayMs: z.number().int().positive().default(60000).describe('Maximum retry delay'),\n }).optional().describe('Default retry policy for events'),\n \n /**\n * Dead letter queue\n */\n deadLetterQueue: z.string().optional().describe('Dead letter queue name for failed events'),\n \n /**\n * Enable priority processing\n */\n priorityEnabled: z.boolean().default(true).describe('Process events based on priority'),\n});\n\nexport type EventQueueConfig = z.infer<typeof EventQueueConfigSchema>;\n\n// ==========================================\n// Event Replay\n// ==========================================\n\n/**\n * Event Replay Configuration Schema\n * Configuration for replaying historical events\n * \n * @example\n * {\n * \"fromTimestamp\": \"2024-01-01T00:00:00Z\",\n * \"toTimestamp\": \"2024-01-31T23:59:59Z\",\n * \"eventTypes\": [\"order.created\", \"order.updated\"],\n * \"speed\": 10\n * }\n */\nexport const EventReplayConfigSchema = z.object({\n /**\n * Start timestamp\n */\n fromTimestamp: z.string().datetime().describe('Start timestamp for replay (ISO 8601)'),\n \n /**\n * End timestamp\n */\n toTimestamp: z.string().datetime().optional().describe('End timestamp for replay (ISO 8601)'),\n \n /**\n * Event types to replay\n */\n eventTypes: z.array(z.string()).optional().describe('Event types to replay (empty = all)'),\n \n /**\n * Event filters\n */\n filters: z.record(z.string(), z.unknown()).optional().describe('Additional filters for event selection'),\n \n /**\n * Replay speed multiplier\n */\n speed: z.number().positive().default(1).describe('Replay speed multiplier (1 = real-time)'),\n \n /**\n * Target handlers\n */\n targetHandlers: z.array(z.string()).optional().describe('Handler IDs to execute (empty = all)'),\n});\n\nexport type EventReplayConfig = z.infer<typeof EventReplayConfigSchema>;\n\n// ==========================================\n// Event Sourcing\n// ==========================================\n\n/**\n * Event Sourcing Configuration Schema\n * Configuration for event sourcing pattern\n * \n * Event sourcing stores all changes to application state as a sequence of events.\n * The current state can be reconstructed by replaying the events.\n * \n * @example\n * {\n * \"enabled\": true,\n * \"snapshotInterval\": 100,\n * \"retention\": 365\n * }\n */\nexport const EventSourcingConfigSchema = z.object({\n /**\n * Enable event sourcing\n */\n enabled: z.boolean().default(false).describe('Enable event sourcing'),\n \n /**\n * Snapshot interval\n */\n snapshotInterval: z.number().int().positive().default(100)\n .describe('Create snapshot every N events'),\n \n /**\n * Snapshot retention\n */\n snapshotRetention: z.number().int().positive().default(10)\n .describe('Number of snapshots to retain'),\n \n /**\n * Event retention\n */\n retention: z.number().int().positive().default(365)\n .describe('Days to retain events'),\n \n /**\n * Aggregate types\n */\n aggregateTypes: z.array(z.string()).optional()\n .describe('Aggregate types to enable event sourcing for'),\n \n /**\n * Storage configuration\n */\n storage: z.object({\n type: z.enum(['database', 'file', 's3', 'eventstore']).default('database')\n .describe('Storage backend'),\n options: z.record(z.string(), z.unknown()).optional().describe('Storage-specific options'),\n }).optional().describe('Event store configuration'),\n});\n\nexport type EventSourcingConfig = z.infer<typeof EventSourcingConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { EventSchema } from './core.zod';\n\n// ==========================================\n// Dead Letter Queue\n// ==========================================\n\n/**\n * Dead Letter Queue Entry Schema\n * Represents a failed event in the dead letter queue\n */\nexport const DeadLetterQueueEntrySchema = z.object({\n /**\n * Entry identifier\n */\n id: z.string().describe('Unique entry identifier'),\n \n /**\n * Original event\n */\n event: EventSchema.describe('Original event'),\n \n /**\n * Failure reason\n */\n error: z.object({\n message: z.string().describe('Error message'),\n stack: z.string().optional().describe('Error stack trace'),\n code: z.string().optional().describe('Error code'),\n }).describe('Failure details'),\n \n /**\n * Retry count\n */\n retries: z.number().int().min(0).describe('Number of retry attempts'),\n \n /**\n * Timestamps\n */\n firstFailedAt: z.string().datetime().describe('When event first failed'),\n lastFailedAt: z.string().datetime().describe('When event last failed'),\n \n /**\n * Handler that failed\n */\n failedHandler: z.string().optional().describe('Handler ID that failed'),\n});\n\nexport type DeadLetterQueueEntry = z.infer<typeof DeadLetterQueueEntrySchema>;\n\n// ==========================================\n// Event Log\n// ==========================================\n\n/**\n * Event Log Entry Schema\n * Represents a logged event\n */\nexport const EventLogEntrySchema = z.object({\n /**\n * Log entry ID\n */\n id: z.string().describe('Unique log entry identifier'),\n \n /**\n * Event\n */\n event: EventSchema.describe('The event'),\n \n /**\n * Status\n */\n status: z.enum(['pending', 'processing', 'completed', 'failed']).describe('Processing status'),\n \n /**\n * Handlers executed\n */\n handlersExecuted: z.array(z.object({\n handlerId: z.string().describe('Handler identifier'),\n status: z.enum(['success', 'failed', 'timeout']).describe('Handler execution status'),\n durationMs: z.number().int().optional().describe('Execution duration'),\n error: z.string().optional().describe('Error message if failed'),\n })).optional().describe('Handlers that processed this event'),\n \n /**\n * Timestamps\n */\n receivedAt: z.string().datetime().describe('When event was received'),\n processedAt: z.string().datetime().optional().describe('When event was processed'),\n \n /**\n * Total duration\n */\n totalDurationMs: z.number().int().optional().describe('Total processing time'),\n});\n\nexport type EventLogEntry = z.infer<typeof EventLogEntrySchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n// ==========================================\n// Webhook Integration\n// ==========================================\n\n/**\n * Event Webhook Configuration Schema\n * Configuration for sending events to webhooks\n * \n * @example\n * {\n * \"eventPattern\": \"order.*\",\n * \"url\": \"https://api.example.com/webhooks/orders\",\n * \"method\": \"POST\",\n * \"headers\": { \"Authorization\": \"Bearer token\" }\n * }\n */\nexport const EventWebhookConfigSchema = z.object({\n /**\n * Webhook identifier\n */\n id: z.string().optional().describe('Unique webhook identifier'),\n \n /**\n * Event pattern to match\n */\n eventPattern: z.string().describe('Event name pattern (supports wildcards)'),\n \n /**\n * Target URL\n */\n url: z.string().url().describe('Webhook endpoint URL'),\n \n /**\n * HTTP method\n */\n method: z.enum(['GET', 'POST', 'PUT', 'PATCH']).default('POST').describe('HTTP method'),\n \n /**\n * Headers\n */\n headers: z.record(z.string(), z.string()).optional().describe('HTTP headers'),\n \n /**\n * Authentication\n */\n authentication: z.object({\n type: z.enum(['none', 'bearer', 'basic', 'api-key']).describe('Auth type'),\n credentials: z.record(z.string(), z.string()).optional().describe('Auth credentials'),\n }).optional().describe('Authentication configuration'),\n \n /**\n * Retry policy\n */\n retryPolicy: z.object({\n maxRetries: z.number().int().min(0).default(3).describe('Max retry attempts'),\n backoffStrategy: z.enum(['fixed', 'linear', 'exponential']).default('exponential'),\n initialDelayMs: z.number().int().positive().default(1000).describe('Initial retry delay'),\n maxDelayMs: z.number().int().positive().default(60000).describe('Max retry delay'),\n }).optional().describe('Retry policy'),\n \n /**\n * Timeout\n */\n timeoutMs: z.number().int().positive().default(30000).describe('Request timeout in milliseconds'),\n \n /**\n * Event transformation\n */\n transform: z.unknown()\n .optional()\n .describe('Transform event before sending'),\n \n /**\n * Enabled\n */\n enabled: z.boolean().default(true).describe('Whether webhook is enabled'),\n});\n\nexport type EventWebhookConfig = z.infer<typeof EventWebhookConfigSchema>;\n\n// ==========================================\n// Message Queue Integration\n// ==========================================\n\n/**\n * Event Message Queue Configuration Schema\n * Configuration for publishing events to message queues\n * \n * @example\n * {\n * \"provider\": \"kafka\",\n * \"topic\": \"events\",\n * \"eventPattern\": \"*\",\n * \"partitionKey\": \"metadata.tenantId\"\n * }\n */\nexport const EventMessageQueueConfigSchema = z.object({\n /**\n * Provider\n */\n provider: z.enum(['kafka', 'rabbitmq', 'aws-sqs', 'redis-pubsub', 'google-pubsub', 'azure-service-bus'])\n .describe('Message queue provider'),\n \n /**\n * Topic/Queue name\n */\n topic: z.string().describe('Topic or queue name'),\n \n /**\n * Event pattern\n */\n eventPattern: z.string().default('*').describe('Event name pattern to publish (supports wildcards)'),\n \n /**\n * Partition key\n */\n partitionKey: z.string().optional().describe('JSON path for partition key (e.g., \"metadata.tenantId\")'),\n \n /**\n * Message format\n */\n format: z.enum(['json', 'avro', 'protobuf']).default('json').describe('Message serialization format'),\n \n /**\n * Include metadata\n */\n includeMetadata: z.boolean().default(true).describe('Include event metadata in message'),\n \n /**\n * Compression\n */\n compression: z.enum(['none', 'gzip', 'snappy', 'lz4']).default('none').describe('Message compression'),\n \n /**\n * Batch size\n */\n batchSize: z.number().int().min(1).default(1).describe('Batch size for publishing'),\n \n /**\n * Flush interval\n */\n flushIntervalMs: z.number().int().positive().default(1000).describe('Flush interval for batching'),\n});\n\nexport type EventMessageQueueConfig = z.infer<typeof EventMessageQueueConfigSchema>;\n\n// ==========================================\n// Real-time Notifications\n// ==========================================\n\n/**\n * Real-time Notification Configuration Schema\n * Configuration for real-time event notifications via WebSocket/SSE\n * \n * @example\n * {\n * \"enabled\": true,\n * \"protocol\": \"websocket\",\n * \"eventPattern\": \"notification.*\",\n * \"userFilter\": true\n * }\n */\nexport const RealTimeNotificationConfigSchema = z.object({\n /**\n * Enable real-time notifications\n */\n enabled: z.boolean().default(true).describe('Enable real-time notifications'),\n \n /**\n * Protocol\n */\n protocol: z.enum(['websocket', 'sse', 'long-polling']).default('websocket')\n .describe('Real-time protocol'),\n \n /**\n * Event pattern\n */\n eventPattern: z.string().default('*').describe('Event pattern to broadcast'),\n \n /**\n * User-specific filtering\n */\n userFilter: z.boolean().default(true).describe('Filter events by user'),\n \n /**\n * Tenant-specific filtering\n */\n tenantFilter: z.boolean().default(true).describe('Filter events by tenant'),\n \n /**\n * Channels\n */\n channels: z.array(z.object({\n name: z.string().describe('Channel name'),\n eventPattern: z.string().describe('Event pattern for channel'),\n filter: z.unknown()\n .optional()\n .describe('Additional filter function'),\n })).optional().describe('Named channels for event broadcasting'),\n \n /**\n * Rate limiting\n */\n rateLimit: z.object({\n maxEventsPerSecond: z.number().int().positive().describe('Max events per second per client'),\n windowMs: z.number().int().positive().default(1000).describe('Rate limit window'),\n }).optional().describe('Rate limiting configuration'),\n});\n\nexport type RealTimeNotificationConfig = z.infer<typeof RealTimeNotificationConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { EventTypeDefinitionSchema } from './core.zod';\nimport { EventHandlerSchema, EventPersistenceSchema } from './handlers.zod';\nimport { EventQueueConfigSchema, EventSourcingConfigSchema } from './queue.zod';\nimport { EventWebhookConfigSchema, EventMessageQueueConfigSchema, RealTimeNotificationConfigSchema } from './integrations.zod';\n\n// ==========================================\n// Complete Event Bus Configuration\n// ==========================================\n\n/**\n * Event Bus Configuration Schema\n * Complete configuration for the event bus system\n * \n * @example\n * {\n * \"persistence\": { \"enabled\": true, \"retention\": 365 },\n * \"queue\": { \"concurrency\": 20 },\n * \"eventSourcing\": { \"enabled\": true },\n * \"webhooks\": [],\n * \"messageQueue\": { \"provider\": \"kafka\", \"topic\": \"events\" },\n * \"realtime\": { \"enabled\": true, \"protocol\": \"websocket\" }\n * }\n */\nexport const EventBusConfigSchema = z.object({\n /**\n * Event persistence\n */\n persistence: EventPersistenceSchema.optional().describe('Event persistence configuration'),\n \n /**\n * Event queue\n */\n queue: EventQueueConfigSchema.optional().describe('Event queue configuration'),\n \n /**\n * Event sourcing\n */\n eventSourcing: EventSourcingConfigSchema.optional().describe('Event sourcing configuration'),\n \n /**\n * Event replay\n */\n replay: z.object({\n enabled: z.boolean().default(true).describe('Enable event replay capability'),\n }).optional().describe('Event replay configuration'),\n \n /**\n * Webhooks\n */\n webhooks: z.array(EventWebhookConfigSchema).optional().describe('Webhook configurations'),\n \n /**\n * Message queue integration\n */\n messageQueue: EventMessageQueueConfigSchema.optional().describe('Message queue integration'),\n \n /**\n * Real-time notifications\n */\n realtime: RealTimeNotificationConfigSchema.optional().describe('Real-time notification configuration'),\n \n /**\n * Event type definitions\n */\n eventTypes: z.array(EventTypeDefinitionSchema).optional().describe('Event type definitions'),\n \n /**\n * Global handlers\n */\n handlers: z.array(EventHandlerSchema).optional().describe('Global event handlers'),\n});\n\nexport type EventBusConfig = z.infer<typeof EventBusConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { SnakeCaseIdentifierSchema } from '../shared/identifiers.zod';\n\n/**\n * Feature Rollout Strategy\n */\nexport const FeatureStrategy = z.enum([\n 'boolean', // Simple On/Off\n 'percentage', // Gradual rollout (0-100%)\n 'user_list', // Specific users\n 'group', // Specific groups/roles\n 'custom' // Custom constraint/script\n]);\n\n/**\n * Feature Flag Protocol\n * \n * Manages feature toggles and gradual rollouts.\n * Used for CI/CD, A/B Testing, and Trunk-Based Development.\n */\nexport const FeatureFlagSchema = z.object({\n name: SnakeCaseIdentifierSchema.describe('Feature key (snake_case)'),\n label: z.string().optional().describe('Display label'),\n description: z.string().optional(),\n \n /** Default state */\n enabled: z.boolean().default(false).describe('Is globally enabled'),\n \n /** Rollout Strategy */\n strategy: FeatureStrategy.default('boolean'),\n \n /** Strategy Configuration */\n conditions: z.object({\n percentage: z.number().min(0).max(100).optional(),\n users: z.array(z.string()).optional(),\n groups: z.array(z.string()).optional(),\n expression: z.string().optional().describe('Custom formula expression')\n }).optional(),\n \n /** Integration */\n environment: z.enum(['dev', 'staging', 'prod', 'all']).default('all')\n .describe('Environment validity'),\n \n /** Expiration */\n expiresAt: z.string().datetime().optional().describe('Feature flag expiration date'),\n});\n\nexport const FeatureFlag = Object.assign(FeatureFlagSchema, {\n create: <T extends z.input<typeof FeatureFlagSchema>>(config: T) => config,\n});\n\nexport type FeatureFlag = z.infer<typeof FeatureFlagSchema>;\nexport type FeatureFlagInput = z.input<typeof FeatureFlagSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # Plugin Capability Protocol\n * \n * Defines the standard way plugins declare their capabilities, implementations,\n * and conformance levels to ensure interoperability across vendors.\n * \n * Based on the Protocol-Oriented Architecture pattern similar to:\n * - Kubernetes CRDs (Custom Resource Definitions)\n * - OSGi Service Registry\n * - Eclipse Extension Points\n */\n\n/**\n * Capability Conformance Level\n * Indicates how completely a plugin implements a given protocol.\n */\nexport const CapabilityConformanceLevelSchema = z.enum([\n 'full', // Complete implementation of all protocol features\n 'partial', // Subset implementation with specific features listed\n 'experimental', // Unstable/preview implementation\n 'deprecated', // Still supported but scheduled for removal\n]).describe('Level of protocol conformance');\n\n/**\n * Protocol Version Schema\n * Uses semantic versioning to track protocol evolution.\n */\nexport const ProtocolVersionSchema = z.object({\n major: z.number().int().min(0),\n minor: z.number().int().min(0),\n patch: z.number().int().min(0),\n}).describe('Semantic version of the protocol');\n\n/**\n * Protocol Reference\n * Uniquely identifies a protocol/interface that a plugin can implement.\n * \n * Examples:\n * - com.objectstack.protocol.storage.v1\n * - com.objectstack.protocol.auth.oauth2.v2\n * - com.acme.protocol.payment.stripe.v1\n */\nexport const ProtocolReferenceSchema = z.object({\n /**\n * Protocol identifier using reverse domain notation.\n * Format: {domain}.protocol.{category}.{name}[.{subcategory}].v{major}\n */\n id: z.string()\n .regex(/^([a-z][a-z0-9]*\\.)+protocol\\.[a-z][a-z0-9._]*\\.v\\d+$/)\n .describe('Unique protocol identifier (e.g., com.objectstack.protocol.storage.v1)'),\n \n /**\n * Human-readable protocol name\n */\n label: z.string(),\n \n /**\n * Protocol version\n */\n version: ProtocolVersionSchema,\n \n /**\n * Detailed protocol specification URL or file reference\n */\n specification: z.string().optional().describe('URL or path to protocol specification'),\n \n /**\n * Brief description of what this protocol defines\n */\n description: z.string().optional(),\n});\n\n/**\n * Protocol Feature\n * Represents a specific capability within a protocol.\n */\nexport const ProtocolFeatureSchema = z.object({\n name: z.string().describe('Feature identifier within the protocol'),\n enabled: z.boolean().default(true),\n description: z.string().optional(),\n sinceVersion: z.string().optional().describe('Version when this feature was added'),\n deprecatedSince: z.string().optional().describe('Version when deprecated'),\n});\n\n/**\n * Plugin Capability Declaration\n * Documents what protocols a plugin implements and to what extent.\n */\nexport const PluginCapabilitySchema = z.object({\n /**\n * The protocol being implemented\n */\n protocol: ProtocolReferenceSchema,\n \n /**\n * Conformance level\n */\n conformance: CapabilityConformanceLevelSchema.default('full'),\n \n /**\n * Specific features implemented (required if conformance is 'partial')\n */\n implementedFeatures: z.array(z.string()).optional().describe('List of implemented feature names'),\n \n /**\n * Optional feature flags indicating advanced capabilities\n */\n features: z.array(ProtocolFeatureSchema).optional(),\n \n /**\n * Custom metadata for vendor-specific information\n */\n metadata: z.record(z.string(), z.unknown()).optional(),\n \n /**\n * Testing/Certification status\n */\n certified: z.boolean().default(false).describe('Has passed official conformance tests'),\n certificationDate: z.string().datetime().optional(),\n});\n\n/**\n * Plugin Interface Declaration\n * Defines the contract for services this plugin provides to other plugins.\n */\nexport const PluginInterfaceSchema = z.object({\n /**\n * Unique interface identifier\n * Format: {plugin-id}.interface.{name}\n */\n id: z.string()\n .regex(/^([a-z][a-z0-9]*\\.)+interface\\.[a-z][a-z0-9._]+$/)\n .describe('Unique interface identifier'),\n \n /**\n * Interface name\n */\n name: z.string(),\n \n /**\n * Description of what this interface provides\n */\n description: z.string().optional(),\n \n /**\n * Interface version\n */\n version: ProtocolVersionSchema,\n \n /**\n * Methods exposed by this interface\n */\n methods: z.array(z.object({\n name: z.string().describe('Method name'),\n description: z.string().optional(),\n parameters: z.array(z.object({\n name: z.string(),\n type: z.string().describe('Type notation (e.g., string, number, User)'),\n required: z.boolean().default(true),\n description: z.string().optional(),\n })).optional(),\n returnType: z.string().optional().describe('Return value type'),\n async: z.boolean().default(false).describe('Whether method returns a Promise'),\n })),\n \n /**\n * Events emitted by this interface\n */\n events: z.array(z.object({\n name: z.string().describe('Event name'),\n description: z.string().optional(),\n payload: z.string().optional().describe('Event payload type'),\n })).optional(),\n \n /**\n * Stability level\n */\n stability: z.enum(['stable', 'beta', 'alpha', 'experimental']).default('stable'),\n});\n\n/**\n * Plugin Dependency Declaration\n * Specifies what other plugins or capabilities this plugin requires.\n */\nexport const PluginDependencySchema = z.object({\n /**\n * Plugin ID using reverse domain notation\n */\n pluginId: z.string()\n .regex(/^([a-z][a-z0-9]*\\.)+[a-z][a-z0-9-]+$/)\n .describe('Required plugin identifier'),\n \n /**\n * Version constraint (supports semver ranges)\n * Examples: \"1.0.0\", \"^1.2.3\", \">=2.0.0 <3.0.0\"\n */\n version: z.string().describe('Semantic version constraint'),\n \n /**\n * Whether this dependency is optional\n */\n optional: z.boolean().default(false),\n \n /**\n * Reason for the dependency\n */\n reason: z.string().optional(),\n \n /**\n * Minimum required capabilities from the dependency\n */\n requiredCapabilities: z.array(z.string()).optional().describe('Protocol IDs the dependency must support'),\n});\n\n/**\n * Extension Point Declaration\n * Defines hooks where other plugins can extend this plugin's functionality.\n */\nexport const ExtensionPointSchema = z.object({\n /**\n * Extension point identifier\n */\n id: z.string()\n .regex(/^([a-z][a-z0-9]*\\.)+extension\\.[a-z][a-z0-9._]+$/)\n .describe('Unique extension point identifier'),\n \n /**\n * Extension point name\n */\n name: z.string(),\n \n /**\n * Description\n */\n description: z.string().optional(),\n \n /**\n * Type of extension point\n */\n type: z.enum([\n 'action', // Plugins can register executable actions\n 'hook', // Plugins can listen to lifecycle events\n 'widget', // Plugins can contribute UI widgets\n 'provider', // Plugins can provide data/services\n 'transformer', // Plugins can transform data\n 'validator', // Plugins can validate data\n 'decorator', // Plugins can enhance/wrap functionality\n ]),\n \n /**\n * Expected interface contract for extensions\n */\n contract: z.object({\n input: z.string().optional().describe('Input type/schema'),\n output: z.string().optional().describe('Output type/schema'),\n signature: z.string().optional().describe('Function signature if applicable'),\n }).optional(),\n \n /**\n * Cardinality\n */\n cardinality: z.enum(['single', 'multiple']).default('multiple')\n .describe('Whether multiple extensions can register to this point'),\n});\n\n/**\n * Complete Plugin Capability Manifest\n * This is included in the main plugin manifest to declare all capabilities.\n */\nexport const PluginCapabilityManifestSchema = z.object({\n /**\n * Protocols this plugin implements\n */\n implements: z.array(PluginCapabilitySchema).optional()\n .describe('List of protocols this plugin conforms to'),\n \n /**\n * Interfaces this plugin exposes to other plugins\n */\n provides: z.array(PluginInterfaceSchema).optional()\n .describe('Services/APIs this plugin offers to others'),\n \n /**\n * Dependencies on other plugins\n */\n requires: z.array(PluginDependencySchema).optional()\n .describe('Required plugins and their capabilities'),\n \n /**\n * Extension points this plugin defines\n */\n extensionPoints: z.array(ExtensionPointSchema).optional()\n .describe('Points where other plugins can extend this plugin'),\n \n /**\n * Extensions this plugin contributes to other plugins\n */\n extensions: z.array(z.object({\n targetPluginId: z.string().describe('Plugin ID being extended'),\n extensionPointId: z.string().describe('Extension point identifier'),\n implementation: z.string().describe('Path to implementation module'),\n priority: z.number().int().default(100).describe('Registration priority (lower = higher priority)'),\n })).optional().describe('Extensions contributed to other plugins'),\n});\n\n// Export types\nexport type CapabilityConformanceLevel = z.infer<typeof CapabilityConformanceLevelSchema>;\nexport type ProtocolVersion = z.infer<typeof ProtocolVersionSchema>;\nexport type ProtocolReference = z.infer<typeof ProtocolReferenceSchema>;\nexport type ProtocolFeature = z.infer<typeof ProtocolFeatureSchema>;\nexport type PluginCapability = z.infer<typeof PluginCapabilitySchema>;\nexport type PluginInterface = z.infer<typeof PluginInterfaceSchema>;\nexport type PluginDependency = z.infer<typeof PluginDependencySchema>;\nexport type ExtensionPoint = z.infer<typeof ExtensionPointSchema>;\nexport type PluginCapabilityManifest = z.infer<typeof PluginCapabilityManifestSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # Plugin Loading Protocol\n * \n * Defines the enhanced plugin loading mechanism for the microkernel architecture.\n * Inspired by industry best practices from:\n * - Kubernetes CRDs and Operators\n * - OSGi Dynamic Module System\n * - Eclipse Plugin Framework\n * - Webpack Module Federation\n * \n * This protocol enables:\n * - Lazy loading and code splitting\n * - Dynamic imports and parallel initialization\n * - Capability-based discovery\n * - Hot reload in development\n * - Advanced caching strategies\n */\n\n/**\n * Plugin Loading Strategy\n * Determines how and when a plugin is loaded into memory\n */\nexport const PluginLoadingStrategySchema = z.enum([\n 'eager', // Load immediately during bootstrap (critical plugins)\n 'lazy', // Load on first use (feature plugins)\n 'parallel', // Load in parallel with other plugins\n 'deferred', // Load after initial bootstrap complete\n 'on-demand', // Load only when explicitly requested\n]).describe('Plugin loading strategy');\n\n/**\n * Plugin Preloading Configuration\n * Configures preloading behavior for faster activation\n */\nexport const PluginPreloadConfigSchema = z.object({\n /**\n * Enable preloading for this plugin\n */\n enabled: z.boolean().default(false),\n \n /**\n * Preload priority (lower = higher priority)\n */\n priority: z.number().int().min(0).default(100),\n \n /**\n * Resources to preload\n */\n resources: z.array(z.enum([\n 'metadata', // Plugin manifest and metadata\n 'dependencies', // Plugin dependencies\n 'assets', // Static assets (icons, translations)\n 'code', // JavaScript code chunks\n 'services', // Service definitions\n ])).optional(),\n \n /**\n * Conditions for preloading\n */\n conditions: z.object({\n /**\n * Preload only on specific routes\n */\n routes: z.array(z.string()).optional(),\n \n /**\n * Preload only for specific user roles\n */\n roles: z.array(z.string()).optional(),\n \n /**\n * Preload based on device type\n */\n deviceType: z.array(z.enum(['desktop', 'mobile', 'tablet'])).optional(),\n \n /**\n * Network connection quality threshold\n */\n minNetworkSpeed: z.enum(['slow-2g', '2g', '3g', '4g']).optional(),\n }).optional(),\n}).describe('Plugin preloading configuration');\n\n/**\n * Plugin Code Splitting Configuration\n * Configures how plugin code is split for optimal loading\n */\nexport const PluginCodeSplittingSchema = z.object({\n /**\n * Enable code splitting for this plugin\n */\n enabled: z.boolean().default(true),\n \n /**\n * Split strategy\n */\n strategy: z.enum([\n 'route', // Split by UI routes\n 'feature', // Split by feature modules\n 'size', // Split by bundle size threshold\n 'custom', // Custom split points defined by plugin\n ]).default('feature'),\n \n /**\n * Chunk naming strategy\n */\n chunkNaming: z.enum(['hashed', 'named', 'sequential']).default('hashed'),\n \n /**\n * Maximum chunk size in KB\n */\n maxChunkSize: z.number().int().min(10).optional().describe('Max chunk size in KB'),\n \n /**\n * Shared dependencies optimization\n */\n sharedDependencies: z.object({\n enabled: z.boolean().default(true),\n /**\n * Minimum times a module must be shared before extraction\n */\n minChunks: z.number().int().min(1).default(2),\n }).optional(),\n}).describe('Plugin code splitting configuration');\n\n/**\n * Plugin Dynamic Import Configuration\n * Configures dynamic import behavior for runtime module loading\n */\nexport const PluginDynamicImportSchema = z.object({\n /**\n * Enable dynamic imports\n */\n enabled: z.boolean().default(true),\n \n /**\n * Import mode\n */\n mode: z.enum([\n 'async', // Asynchronous import (recommended)\n 'sync', // Synchronous import (blocking)\n 'eager', // Eager evaluation\n 'lazy', // Lazy evaluation\n ]).default('async'),\n \n /**\n * Prefetch strategy\n */\n prefetch: z.boolean().default(false).describe('Prefetch module in idle time'),\n \n /**\n * Preload strategy\n */\n preload: z.boolean().default(false).describe('Preload module in parallel with parent'),\n \n /**\n * Webpack magic comments support\n */\n webpackChunkName: z.string().optional().describe('Custom chunk name for webpack'),\n \n /**\n * Import timeout in milliseconds\n */\n timeout: z.number().int().min(100).default(30000).describe('Dynamic import timeout (ms)'),\n \n /**\n * Retry configuration on import failure\n */\n retry: z.object({\n enabled: z.boolean().default(true),\n maxAttempts: z.number().int().min(1).max(10).default(3),\n backoffMs: z.number().int().min(0).default(1000).describe('Exponential backoff base delay'),\n }).optional(),\n}).describe('Plugin dynamic import configuration');\n\n/**\n * Plugin Initialization Configuration\n * Configures how plugin initialization is executed\n */\nexport const PluginInitializationSchema = z.object({\n /**\n * Initialization mode\n */\n mode: z.enum([\n 'sync', // Synchronous initialization\n 'async', // Asynchronous initialization\n 'parallel', // Parallel with other plugins\n 'sequential', // Must complete before next plugin\n ]).default('async'),\n \n /**\n * Initialization timeout in milliseconds\n */\n timeout: z.number().int().min(100).default(30000),\n \n /**\n * Startup priority (lower = higher priority, earlier initialization)\n */\n priority: z.number().int().min(0).default(100),\n \n /**\n * Whether to continue bootstrap if this plugin fails\n */\n critical: z.boolean().default(false).describe('If true, kernel bootstrap fails if plugin fails'),\n \n /**\n * Retry configuration on initialization failure\n */\n retry: z.object({\n enabled: z.boolean().default(false),\n maxAttempts: z.number().int().min(1).max(5).default(3),\n backoffMs: z.number().int().min(0).default(1000),\n }).optional(),\n \n /**\n * Health check interval for monitoring\n */\n healthCheckInterval: z.number().int().min(0).optional().describe('Health check interval in ms (0 = disabled)'),\n}).describe('Plugin initialization configuration');\n\n/**\n * Plugin Dependency Resolution Configuration\n * Advanced dependency resolution using semantic versioning\n */\nexport const PluginDependencyResolutionSchema = z.object({\n /**\n * Dependency resolution strategy\n */\n strategy: z.enum([\n 'strict', // Exact version match required\n 'compatible', // Semver compatible versions (^)\n 'latest', // Always use latest compatible\n 'pinned', // Lock to specific version\n ]).default('compatible'),\n \n /**\n * Peer dependency handling\n */\n peerDependencies: z.object({\n /**\n * Whether to resolve peer dependencies\n */\n resolve: z.boolean().default(true),\n \n /**\n * Action on missing peer dependency\n */\n onMissing: z.enum(['error', 'warn', 'ignore']).default('warn'),\n \n /**\n * Action on peer version mismatch\n */\n onMismatch: z.enum(['error', 'warn', 'ignore']).default('warn'),\n }).optional(),\n \n /**\n * Optional dependency handling\n */\n optionalDependencies: z.object({\n /**\n * Whether to attempt loading optional dependencies\n */\n load: z.boolean().default(true),\n \n /**\n * Action on optional dependency load failure\n */\n onFailure: z.enum(['warn', 'ignore']).default('warn'),\n }).optional(),\n \n /**\n * Conflict resolution\n */\n conflictResolution: z.enum([\n 'fail', // Fail on any version conflict\n 'latest', // Use latest version\n 'oldest', // Use oldest version\n 'manual', // Require manual resolution\n ]).default('latest'),\n \n /**\n * Circular dependency handling\n */\n circularDependencies: z.enum([\n 'error', // Throw error on circular dependency\n 'warn', // Warn but continue\n 'allow', // Allow circular dependencies\n ]).default('warn'),\n}).describe('Plugin dependency resolution configuration');\n\n/**\n * Plugin Hot Reload Configuration\n * Enables hot module replacement for development and production environments.\n * \n * Production mode adds safety features: health validation, rollback on failure,\n * connection draining, and concurrency control for zero-downtime reloads.\n */\nexport const PluginHotReloadSchema = z.object({\n /**\n * Enable hot reload\n */\n enabled: z.boolean().default(false),\n \n /**\n * Target environment for hot reload behavior\n */\n environment: z.enum([\n 'development', // Fast reload with relaxed safety (file watchers, no health validation)\n 'staging', // Production-like reload with validation but relaxed rollback\n 'production', // Full safety: health validation, rollback, connection draining\n ]).default('development').describe('Target environment controlling safety level'),\n \n /**\n * Hot reload strategy\n */\n strategy: z.enum([\n 'full', // Full plugin reload (destroy and reinitialize)\n 'partial', // Partial reload (update changed modules only)\n 'state-preserve', // Preserve plugin state during reload\n ]).default('full'),\n \n /**\n * Files to watch for changes\n */\n watchPatterns: z.array(z.string()).optional().describe('Glob patterns for files to watch'),\n \n /**\n * Files to ignore\n */\n ignorePatterns: z.array(z.string()).optional().describe('Glob patterns for files to ignore'),\n \n /**\n * Debounce delay in milliseconds\n */\n debounceMs: z.number().int().min(0).default(300),\n \n /**\n * Whether to preserve state during reload\n */\n preserveState: z.boolean().default(false),\n \n /**\n * State serialization\n */\n stateSerialization: z.object({\n enabled: z.boolean().default(false),\n /**\n * Path to state serialization handler\n */\n handler: z.string().optional(),\n }).optional(),\n \n /**\n * Hooks for hot reload lifecycle\n */\n hooks: z.object({\n beforeReload: z.string().optional().describe('Function to call before reload'),\n afterReload: z.string().optional().describe('Function to call after reload'),\n onError: z.string().optional().describe('Function to call on reload error'),\n }).optional(),\n \n /**\n * Production safety configuration\n * Applied when environment is 'staging' or 'production'\n */\n productionSafety: z.object({\n /**\n * Validate plugin health before completing reload\n */\n healthValidation: z.boolean().default(true)\n .describe('Run health checks after reload before accepting traffic'),\n \n /**\n * Automatically rollback to previous version on reload failure\n */\n rollbackOnFailure: z.boolean().default(true)\n .describe('Auto-rollback if reloaded plugin fails health check'),\n \n /**\n * Maximum time to wait for health validation after reload (ms)\n */\n healthTimeout: z.number().int().min(1000).default(30000)\n .describe('Health check timeout after reload in ms'),\n \n /**\n * Drain active connections before reload\n */\n drainConnections: z.boolean().default(true)\n .describe('Gracefully drain active requests before reloading'),\n \n /**\n * Maximum time to wait for connection draining (ms)\n */\n drainTimeout: z.number().int().min(0).default(15000)\n .describe('Max wait time for connection draining in ms'),\n \n /**\n * Maximum number of concurrent plugin reloads\n */\n maxConcurrentReloads: z.number().int().min(1).default(1)\n .describe('Limit concurrent reloads to prevent system instability'),\n \n /**\n * Minimum interval between reloads of the same plugin (ms)\n */\n minReloadInterval: z.number().int().min(1000).default(5000)\n .describe('Cooldown period between reloads of the same plugin'),\n }).optional(),\n}).describe('Plugin hot reload configuration');\n\n/**\n * Plugin Caching Configuration\n * Configures caching strategy for faster subsequent loads\n */\nexport const PluginCachingSchema = z.object({\n /**\n * Enable caching\n */\n enabled: z.boolean().default(true),\n \n /**\n * Cache storage type\n */\n storage: z.enum([\n 'memory', // In-memory cache (fastest, not persistent)\n 'disk', // Disk cache (persistent)\n 'indexeddb', // Browser IndexedDB (persistent, browser only)\n 'hybrid', // Memory + Disk hybrid\n ]).default('memory'),\n \n /**\n * Cache key strategy\n */\n keyStrategy: z.enum([\n 'version', // Cache by plugin version\n 'hash', // Cache by content hash\n 'timestamp', // Cache by last modified timestamp\n ]).default('version'),\n \n /**\n * Cache TTL in seconds\n */\n ttl: z.number().int().min(0).optional().describe('Time to live in seconds (0 = infinite)'),\n \n /**\n * Maximum cache size in MB\n */\n maxSize: z.number().int().min(1).optional().describe('Max cache size in MB'),\n \n /**\n * Cache invalidation triggers\n */\n invalidateOn: z.array(z.enum([\n 'version-change',\n 'dependency-change',\n 'manual',\n 'error',\n ])).optional(),\n \n /**\n * Compression\n */\n compression: z.object({\n enabled: z.boolean().default(false),\n algorithm: z.enum(['gzip', 'brotli', 'deflate']).default('gzip'),\n }).optional(),\n}).describe('Plugin caching configuration');\n\n/**\n * Plugin Sandboxing Configuration\n * Security isolation for plugins with configurable scope.\n * \n * Supports isolation beyond automation scripts: any plugin can be sandboxed\n * with process-level isolation and inter-plugin communication (IPC).\n */\nexport const PluginSandboxingSchema = z.object({\n /**\n * Enable sandboxing\n */\n enabled: z.boolean().default(false),\n \n /**\n * Isolation scope - which plugins are subject to sandboxing\n */\n scope: z.enum([\n 'automation-only', // Sandbox automation/scripting plugins only (current behavior)\n 'untrusted-only', // Sandbox plugins below a trust threshold\n 'all-plugins', // Sandbox all plugins (maximum isolation)\n ]).default('automation-only').describe('Which plugins are subject to isolation'),\n \n /**\n * Sandbox isolation level\n */\n isolationLevel: z.enum([\n 'none', // No isolation\n 'process', // Separate process (Node.js worker threads)\n 'vm', // VM context isolation\n 'iframe', // iframe isolation (browser)\n 'web-worker', // Web Worker (browser)\n ]).default('none'),\n \n /**\n * Allowed capabilities\n */\n allowedCapabilities: z.array(z.string()).optional().describe('List of allowed capability IDs'),\n \n /**\n * Resource quotas\n */\n resourceQuotas: z.object({\n /**\n * Maximum memory usage in MB\n */\n maxMemoryMB: z.number().int().min(1).optional(),\n \n /**\n * Maximum CPU time in milliseconds\n */\n maxCpuTimeMs: z.number().int().min(100).optional(),\n \n /**\n * Maximum number of file descriptors\n */\n maxFileDescriptors: z.number().int().min(1).optional(),\n \n /**\n * Maximum network bandwidth in KB/s\n */\n maxNetworkKBps: z.number().int().min(1).optional(),\n }).optional(),\n \n /**\n * Permissions\n */\n permissions: z.object({\n /**\n * Allowed API access\n */\n allowedAPIs: z.array(z.string()).optional(),\n \n /**\n * Allowed file system paths\n */\n allowedPaths: z.array(z.string()).optional(),\n \n /**\n * Allowed network endpoints\n */\n allowedEndpoints: z.array(z.string()).optional(),\n \n /**\n * Allowed environment variables\n */\n allowedEnvVars: z.array(z.string()).optional(),\n }).optional(),\n \n /**\n * Inter-Plugin Communication (IPC) configuration\n * Enables isolated plugins to communicate with the kernel and other plugins\n */\n ipc: z.object({\n /**\n * Enable IPC for sandboxed plugins\n */\n enabled: z.boolean().default(true)\n .describe('Allow sandboxed plugins to communicate via IPC'),\n \n /**\n * IPC transport mechanism\n */\n transport: z.enum([\n 'message-port', // MessagePort (worker threads / Web Workers)\n 'unix-socket', // Unix domain sockets (process isolation)\n 'tcp', // TCP sockets (container isolation)\n 'memory', // Shared memory channel (in-process VM)\n ]).default('message-port')\n .describe('IPC transport for cross-boundary communication'),\n \n /**\n * Maximum message size in bytes\n */\n maxMessageSize: z.number().int().min(1024).default(1048576)\n .describe('Maximum IPC message size in bytes (default 1MB)'),\n \n /**\n * Message timeout in milliseconds\n */\n timeout: z.number().int().min(100).default(30000)\n .describe('IPC message response timeout in ms'),\n \n /**\n * Allowed service calls through IPC\n */\n allowedServices: z.array(z.string()).optional()\n .describe('Service names the sandboxed plugin may invoke via IPC'),\n }).optional(),\n}).describe('Plugin sandboxing configuration');\n\n/**\n * Plugin Performance Monitoring Configuration\n * Telemetry and performance tracking\n */\nexport const PluginPerformanceMonitoringSchema = z.object({\n /**\n * Enable performance monitoring\n */\n enabled: z.boolean().default(false),\n \n /**\n * Metrics to collect\n */\n metrics: z.array(z.enum([\n 'load-time',\n 'init-time',\n 'memory-usage',\n 'cpu-usage',\n 'api-calls',\n 'error-rate',\n 'cache-hit-rate',\n ])).optional(),\n \n /**\n * Sampling rate (0-1, where 1 = 100%)\n */\n samplingRate: z.number().min(0).max(1).default(1),\n \n /**\n * Reporting interval in seconds\n */\n reportingInterval: z.number().int().min(1).default(60),\n \n /**\n * Performance budget thresholds\n */\n budgets: z.object({\n /**\n * Maximum load time in milliseconds\n */\n maxLoadTimeMs: z.number().int().min(0).optional(),\n \n /**\n * Maximum init time in milliseconds\n */\n maxInitTimeMs: z.number().int().min(0).optional(),\n \n /**\n * Maximum memory usage in MB\n */\n maxMemoryMB: z.number().int().min(0).optional(),\n }).optional(),\n \n /**\n * Action on budget violation\n */\n onBudgetViolation: z.enum(['warn', 'error', 'ignore']).default('warn'),\n}).describe('Plugin performance monitoring configuration');\n\n/**\n * Complete Plugin Loading Configuration\n * Combines all loading-related configurations\n */\nexport const PluginLoadingConfigSchema = z.object({\n /**\n * Loading strategy\n */\n strategy: PluginLoadingStrategySchema.default('lazy'),\n \n /**\n * Preloading configuration\n */\n preload: PluginPreloadConfigSchema.optional(),\n \n /**\n * Code splitting configuration\n */\n codeSplitting: PluginCodeSplittingSchema.optional(),\n \n /**\n * Dynamic import configuration\n */\n dynamicImport: PluginDynamicImportSchema.optional(),\n \n /**\n * Initialization configuration\n */\n initialization: PluginInitializationSchema.optional(),\n \n /**\n * Dependency resolution configuration\n */\n dependencyResolution: PluginDependencyResolutionSchema.optional(),\n \n /**\n * Hot reload configuration (development and production)\n */\n hotReload: PluginHotReloadSchema.optional(),\n \n /**\n * Caching configuration\n */\n caching: PluginCachingSchema.optional(),\n \n /**\n * Sandboxing configuration\n */\n sandboxing: PluginSandboxingSchema.optional(),\n \n /**\n * Performance monitoring\n */\n monitoring: PluginPerformanceMonitoringSchema.optional(),\n}).describe('Complete plugin loading configuration');\n\n/**\n * Plugin Loading Event\n * Emitted during plugin loading lifecycle\n */\nexport const PluginLoadingEventSchema = z.object({\n /**\n * Event type\n */\n type: z.enum([\n 'load-started',\n 'load-completed',\n 'load-failed',\n 'init-started',\n 'init-completed',\n 'init-failed',\n 'preload-started',\n 'preload-completed',\n 'cache-hit',\n 'cache-miss',\n 'hot-reload',\n 'dynamic-load', // Plugin loaded at runtime\n 'dynamic-unload', // Plugin unloaded at runtime\n 'dynamic-discover', // Plugin discovered via registry\n ]),\n \n /**\n * Plugin identifier\n */\n pluginId: z.string(),\n \n /**\n * Timestamp\n */\n timestamp: z.number().int().min(0),\n \n /**\n * Duration in milliseconds\n */\n durationMs: z.number().int().min(0).optional(),\n \n /**\n * Additional metadata\n */\n metadata: z.record(z.string(), z.unknown()).optional(),\n \n /**\n * Error if event represents a failure\n */\n error: z.object({\n message: z.string(),\n code: z.string().optional(),\n stack: z.string().optional(),\n }).optional(),\n}).describe('Plugin loading lifecycle event');\n\n/**\n * Plugin Loading State\n * Tracks the current loading state of a plugin\n */\nexport const PluginLoadingStateSchema = z.object({\n /**\n * Plugin identifier\n */\n pluginId: z.string(),\n \n /**\n * Current state\n */\n state: z.enum([\n 'pending', // Not yet loaded\n 'loading', // Currently loading\n 'loaded', // Code loaded, not initialized\n 'initializing', // Currently initializing\n 'ready', // Fully initialized and ready\n 'failed', // Failed to load or initialize\n 'reloading', // Hot reloading in progress\n 'unloading', // Being unloaded at runtime\n 'unloaded', // Successfully unloaded (dynamic loading)\n ]),\n \n /**\n * Load progress (0-100)\n */\n progress: z.number().min(0).max(100).default(0),\n \n /**\n * Loading start time\n */\n startedAt: z.number().int().min(0).optional(),\n \n /**\n * Loading completion time\n */\n completedAt: z.number().int().min(0).optional(),\n \n /**\n * Last error\n */\n lastError: z.string().optional(),\n \n /**\n * Retry count\n */\n retryCount: z.number().int().min(0).default(0),\n}).describe('Plugin loading state');\n\n// Export types\nexport type PluginLoadingStrategy = z.infer<typeof PluginLoadingStrategySchema>;\nexport type PluginPreloadConfig = z.infer<typeof PluginPreloadConfigSchema>;\nexport type PluginCodeSplitting = z.infer<typeof PluginCodeSplittingSchema>;\nexport type PluginDynamicImport = z.infer<typeof PluginDynamicImportSchema>;\nexport type PluginInitialization = z.infer<typeof PluginInitializationSchema>;\nexport type PluginDependencyResolution = z.infer<typeof PluginDependencyResolutionSchema>;\nexport type PluginHotReload = z.infer<typeof PluginHotReloadSchema>;\nexport type PluginCaching = z.infer<typeof PluginCachingSchema>;\nexport type PluginSandboxing = z.infer<typeof PluginSandboxingSchema>;\nexport type PluginPerformanceMonitoring = z.infer<typeof PluginPerformanceMonitoringSchema>;\nexport type PluginLoadingConfig = z.infer<typeof PluginLoadingConfigSchema>;\nexport type PluginLoadingEvent = z.infer<typeof PluginLoadingEventSchema>;\nexport type PluginLoadingState = z.infer<typeof PluginLoadingStateSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n// Service method interfaces use z.function() instead of z.any() for type safety.\n// Generic data fields use z.unknown() for type safety.\nexport const PluginContextSchema = z.object({\n ql: z.object({\n object: z.function().describe('Get object handle for method chaining'),\n query: z.function().describe('Execute a query'),\n }).passthrough().describe('ObjectQL Engine Interface'),\n\n os: z.object({\n getCurrentUser: z.function().describe('Get the current authenticated user'),\n getConfig: z.function().describe('Get platform configuration'),\n }).passthrough().describe('ObjectStack Kernel Interface'),\n\n logger: z.object({\n debug: z.function().describe('Log debug message'),\n info: z.function().describe('Log info message'),\n warn: z.function().describe('Log warning message'),\n error: z.function().describe('Log error message'),\n }).passthrough().describe('Logger Interface'),\n\n storage: z.object({\n get: z.function().describe('Get a value from storage'),\n set: z.function().describe('Set a value in storage'),\n delete: z.function().describe('Delete a value from storage'),\n }).passthrough().describe('Storage Interface'),\n\n i18n: z.object({\n t: z.function().describe('Translate a key'),\n getLocale: z.function().describe('Get current locale'),\n }).passthrough().describe('Internationalization Interface'),\n\n metadata: z.record(z.string(), z.unknown()),\n events: z.record(z.string(), z.unknown()),\n \n app: z.object({\n router: z.object({\n get: z.function().describe('Register GET route handler'),\n post: z.function().describe('Register POST route handler'),\n use: z.function().describe('Register middleware'),\n }).passthrough()\n }).passthrough().describe('App Framework Interface'),\n\n drivers: z.object({\n register: z.function().describe('Register a driver'),\n }).passthrough().describe('Driver Registry'),\n});\n\nexport type PluginContextData = z.infer<typeof PluginContextSchema>;\nexport type PluginContext = PluginContextData;\n\nexport const PluginLifecycleSchema = z.object({\n onInstall: z.function().optional().describe('Called when plugin is installed'),\n \n onEnable: z.function().optional().describe('Called when plugin is enabled'),\n \n onDisable: z.function().optional().describe('Called when plugin is disabled'),\n \n onUninstall: z.function().optional().describe('Called when plugin is uninstalled'),\n \n onUpgrade: z.function().optional().describe('Called when plugin is upgraded'),\n});\n\nexport type PluginLifecycleHooks = z.infer<typeof PluginLifecycleSchema>;\n\n/**\n * Shared Plugin Types\n * These are the specialized plugin types common between Manifest (Package) and Plugin (Runtime).\n */\nexport const CORE_PLUGIN_TYPES = [\n 'ui', // Frontend: Serves static assets/SPA (e.g. Console, Studio)\n 'driver', // Connectivity: Database or Storage adapters (e.g. SQL, S3)\n 'server', // Protocol: HTTP/RPC Servers (e.g. Hono, GraphQL)\n 'app', // Business: Vertical Solution Bundle (Metadata + Logic)\n 'theme', // Appearance: UI Overrides & CSS Variables\n 'agent', // AI: Autonomous Agent & Tool Definitions\n 'objectql' // Core: ObjectQL Engine Data Provider\n] as const;\n\nexport const PluginSchema = PluginLifecycleSchema.extend({\n id: z.string().min(1).optional().describe('Unique Plugin ID (e.g. com.example.crm)'),\n type: z.enum([\n 'standard', // Default: General purpose backend logic (Service, Hook, etc.)\n ...CORE_PLUGIN_TYPES\n ]).default('standard').optional().describe('Plugin Type categorization for runtime behavior'),\n \n staticPath: z.string().optional().describe('Absolute path to static assets (Required for type=\"ui-plugin\")'),\n slug: z.string().regex(/^[a-z0-9-_]+$/).optional().describe('URL path segment (Required for type=\"ui-plugin\")'),\n default: z.boolean().optional().describe('Serve at root path (Only one \"ui-plugin\" can be default)'),\n \n version: z.string().regex(/^\\d+\\.\\d+\\.\\d+$/).optional().describe('Semantic Version'),\n description: z.string().optional(),\n author: z.string().optional(),\n homepage: z.string().url().optional(),\n});\n\nexport type PluginDefinition = z.infer<typeof PluginSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Data Import Strategy\n * Defines how the engine handles existing records.\n */\nexport const DatasetMode = z.enum([\n 'insert', // Try to insert, fail on duplicate\n 'update', // Only update found records, ignore new\n 'upsert', // Create new or Update existing (Standard)\n 'replace', // Delete ALL records in object then insert (Dangerous - use for cache tables)\n 'ignore' // Try to insert, silently skip duplicates\n]);\n\n/**\n * Dataset Schema (Seed Data / Fixtures)\n * \n * Standardized format for transporting data.\n * Used for:\n * 1. System Bootstrapping (Admin accounts, Standard Roles)\n * 2. Reference Data (Countries, Currencies)\n * 3. Demo/Test Data\n */\nexport const DatasetSchema = z.object({\n /** \n * Target Object \n * The machine name of the object to populate.\n */\n object: z.string().regex(/^[a-z_][a-z0-9_]*$/).describe('Target Object Name'),\n\n /** \n * Idempotency Key (The \"Upsert\" Key)\n * The field used to check if a record already exists.\n * Best Practice: Use a natural key like 'code', 'slug', 'username' or 'external_id'.\n * Standard: '_id' (internal ID) is rarely used for portable seed data.\n */\n externalId: z.string().default('name').describe('Field match for uniqueness check'),\n\n /** \n * Import Strategy\n */\n mode: DatasetMode.default('upsert').describe('Conflict resolution strategy'),\n\n /**\n * Environment Scope\n * - 'all': Always load\n * - 'dev': Only for development/demo\n * - 'test': Only for CI/CD tests\n */\n env: z.array(z.enum(['prod', 'dev', 'test'])).default(['prod', 'dev', 'test']).describe('Applicable environments'),\n\n /** \n * The Payload\n * Array of raw JSON objects matching the Object Schema.\n */\n records: z.array(z.record(z.string(), z.unknown())).describe('Data records'),\n});\n\n/** Parsed/output type — all defaults are applied (env, mode, externalId always present) */\nexport type Dataset = z.infer<typeof DatasetSchema>;\n\n/** Input type — fields with defaults (env, mode, externalId) are optional */\nexport type DatasetInput = z.input<typeof DatasetSchema>;\n\nexport type DatasetImportMode = z.infer<typeof DatasetMode>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { PluginCapabilityManifestSchema } from './plugin-capability.zod';\nimport { PluginLoadingConfigSchema } from './plugin-loading.zod';\nimport { CORE_PLUGIN_TYPES } from './plugin.zod';\nimport { DatasetSchema } from '../data/dataset.zod';\n\n/**\n * Schema for the ObjectStack Manifest.\n * This defines the structure of a package configuration in the ObjectStack ecosystem.\n * All packages (apps, plugins, drivers, modules) must conform to this schema.\n * \n * @example App Package\n * ```yaml\n * id: com.acme.crm\n * version: 1.0.0\n * type: app\n * name: Acme CRM\n * description: Customer Relationship Management system\n * permissions:\n * - system.user.read\n * - system.object.create\n * objects:\n * - \"./src/objects/*.object.yml\"\n * ```\n */\nexport const ManifestSchema = z.object({\n /** \n * Unique package identifier using reverse domain notation.\n * Must be unique across the entire ecosystem.\n * \n * @example \"com.steedos.crm\"\n * @example \"org.apache.superset\"\n */\n id: z.string().describe('Unique package identifier (reverse domain style)'),\n \n /**\n * Short namespace identifier for metadata scoping.\n * Used as a prefix for objects and other metadata to prevent naming collisions\n * across packages from different vendors.\n * \n * Rules:\n * - 2-20 characters, lowercase letters, digits, and underscores only.\n * - Must be unique within a running instance.\n * - Platform-reserved namespaces (no prefix applied): \"base\", \"system\".\n * - FQN (Fully Qualified Name) = `{namespace}__{short_name}` (double underscore separator).\n * \n * @example \"crm\" → objects become crm__account, crm__deal\n * @example \"todo\" → objects become todo__task\n * @example \"base\" → objects keep short name (platform reserved)\n */\n namespace: z.string()\n .regex(/^[a-z][a-z0-9_]{1,19}$/, 'Namespace must be 2-20 chars, lowercase alphanumeric + underscore')\n .optional()\n .describe('Short namespace identifier for metadata scoping (e.g. \"crm\", \"todo\")'),\n \n /** \n * Package version following semantic versioning (major.minor.patch).\n * \n * @example \"1.0.0\"\n * @example \"2.1.0-beta.1\"\n */\n version: z.string().regex(/^\\d+\\.\\d+\\.\\d+$/).describe('Package version (semantic versioning)'),\n \n /** \n * Type of the package in the ObjectStack ecosystem.\n * - plugin: General-purpose functionality extension (Runtime: standard)\n * - app: Business application package\n * - driver: Connectivity adapter\n * - server: Protocol gateway (Hono, GraphQL)\n * - ui: Frontend package (Static/SPA)\n * - theme: UI Theme\n * - agent: AI Agent\n * - module: Reusable code library/shared module\n * - objectql: Core engine\n * - adapter: Host adapter (Express, Fastify)\n */\n type: z.enum([\n 'plugin', \n ...CORE_PLUGIN_TYPES,\n 'module', \n 'gateway', // Deprecated: use 'server'\n 'adapter'\n ]).describe('Type of package'),\n \n /** \n * Human-readable name of the package.\n * Displayed in the UI for users.\n * \n * @example \"Project Management\"\n */\n name: z.string().describe('Human-readable package name'),\n \n /** \n * Brief description of the package functionality.\n * Displayed in the marketplace and plugin manager.\n */\n description: z.string().optional().describe('Package description'),\n \n /** \n * Array of permission strings that the package requires.\n * These form the \"Scope\" requested by the package at installation.\n * \n * @example [\"system.user.read\", \"system.data.write\"]\n */\n permissions: z.array(z.string()).optional().describe('Array of required permission strings'),\n \n /** \n * Glob patterns specifying ObjectQL schemas files.\n * Matches `*.object.yml` or `*.object.ts` files to load business objects.\n * \n * @example [\"./src/objects/*.object.yml\"]\n */\n objects: z.array(z.string()).optional().describe('Glob patterns for ObjectQL schemas files'),\n\n /**\n * Defines system level DataSources.\n * Matches `*.datasource.yml` files.\n * \n * @example [\"./src/datasources/*.datasource.mongo.yml\"]\n */\n datasources: z.array(z.string()).optional().describe('Glob patterns for Datasource definitions'),\n\n /**\n * Package Dependencies.\n * Map of package IDs to version requirements.\n * \n * @example { \"@steedos/plugin-auth\": \"^2.0.0\" }\n */\n dependencies: z.record(z.string(), z.string()).optional().describe('Package dependencies'),\n\n /**\n * Plugin Configuration Schema.\n * Defines the settings this plugin exposes to the user via UI/ENV.\n * Uses a simplified JSON Schema format.\n * \n * @example\n * {\n * \"title\": \"Stripe Config\",\n * \"properties\": {\n * \"apiKey\": { \"type\": \"string\", \"secret\": true },\n * \"currency\": { \"type\": \"string\", \"default\": \"USD\" }\n * }\n * }\n */\n configuration: z.object({\n title: z.string().optional(),\n properties: z.record(z.string(), z.object({\n type: z.enum(['string', 'number', 'boolean', 'array', 'object']).describe('Data type of the setting'),\n default: z.unknown().optional().describe('Default value'),\n description: z.string().optional().describe('Tooltip description'),\n required: z.boolean().optional().describe('Is this setting required?'),\n secret: z.boolean().optional().describe('If true, value is encrypted/masked (e.g. API Keys)'),\n enum: z.array(z.string()).optional().describe('Allowed values for select inputs'),\n })).describe('Map of configuration keys to their definitions')\n }).optional().describe('Plugin configuration settings'),\n\n /**\n * Contribution Points (VS Code Style).\n * formalized way to extend the platform capabilities.\n */\n contributes: z.object({\n /**\n * Register new Metadata Kinds (CRDs).\n * Enables the system to parse and validate new file types.\n * Example: Registering a BI plugin to handle *.report.ts\n */\n kinds: z.array(z.object({\n id: z.string().describe('The generic identifier of the kind (e.g., \"sys.bi.report\")'),\n globs: z.array(z.string()).describe('File patterns to watch (e.g., [\"**/*.report.ts\"])'),\n description: z.string().optional().describe('Description of what this kind represents'),\n })).optional().describe('New Metadata Types to recognize'),\n\n /**\n * Register System Hooks.\n * Declares that this plugin listens to specific system events.\n */\n events: z.array(z.string()).optional().describe('Events this plugin listens to'),\n\n /**\n * Register UI Menus.\n */\n menus: z.record(z.string(), z.array(z.object({\n id: z.string(),\n label: z.string(),\n command: z.string().optional(),\n }))).optional().describe('UI Menu contributions'),\n\n /**\n * Register Custom Themes.\n */\n themes: z.array(z.object({\n id: z.string(),\n label: z.string(),\n path: z.string(),\n })).optional().describe('Theme contributions'),\n\n /**\n * Register Translations.\n * Path to translation files (e.g. \"locales/en.json\").\n */\n translations: z.array(z.object({\n locale: z.string(),\n path: z.string(),\n })).optional().describe('Translation resources'),\n\n /**\n * Register Server Actions.\n * Invocable functions exposed to Flows or API.\n */\n actions: z.array(z.object({\n name: z.string().describe('Unique action name'),\n label: z.string().optional(),\n description: z.string().optional(),\n input: z.unknown().optional().describe('Input validation schema'),\n output: z.unknown().optional().describe('Output schema'),\n })).optional().describe('Exposed server actions'),\n\n /**\n * Register Storage Drivers.\n * Enables connecting to new types of datasources.\n */\n drivers: z.array(z.object({\n id: z.string().describe('Driver unique identifier (e.g. \"postgres\", \"mongo\")'),\n label: z.string().describe('Human readable name'),\n description: z.string().optional(),\n })).optional().describe('Driver contributions'),\n\n /**\n * Register Custom Field Types.\n * Extends the data model with new widget types.\n */\n fieldTypes: z.array(z.object({\n name: z.string().describe('Unique field type name (e.g. \"vector\")'),\n label: z.string().describe('Display label'),\n description: z.string().optional(),\n })).optional().describe('Field Type contributions'),\n \n /**\n * Register Custom Query Operators/Functions.\n * Extends ObjectQL with new functions (e.g. distance()).\n */\n functions: z.array(z.object({\n name: z.string().describe('Function name (e.g. \"distance\")'),\n description: z.string().optional(),\n args: z.array(z.string()).optional().describe('Argument types'),\n returnType: z.string().optional(),\n })).optional().describe('Query Function contributions'),\n\n /**\n * Register API Route Namespaces.\n * Declares the API endpoints this plugin provides to the HttpDispatcher.\n * The kernel routes matching prefixes to this plugin's handler.\n * \n * @example\n * routes: [\n * { prefix: '/api/v1/ai', service: 'ai', methods: ['aiNlq', 'aiChat'] }\n * ]\n */\n routes: z.array(z.object({\n /** URL path prefix (e.g. \"/api/v1/ai\") */\n prefix: z.string().regex(/^\\//).describe('API path prefix'),\n /** Service name this plugin provides */\n service: z.string().describe('Service name this plugin provides'),\n /** Protocol method names implemented */\n methods: z.array(z.string()).optional()\n .describe('Protocol method names implemented (e.g. [\"aiNlq\", \"aiChat\"])'),\n })).optional().describe('API route contributions to HttpDispatcher'),\n\n /**\n * Register CLI Commands.\n * Allows plugins to extend the ObjectStack CLI with custom commands.\n * Each command entry declares metadata; the actual Commander.js command\n * is resolved at runtime by importing the plugin's module.\n * \n * The plugin package must export a `commands` array of Commander.js `Command` instances\n * from its main entry point or from the path specified in `module`.\n * \n * @example\n * ```yaml\n * commands:\n * - name: marketplace\n * description: \"Manage marketplace apps\"\n * module: \"./cli\" # optional, defaults to package main\n * - name: deploy\n * description: \"Deploy to cloud\"\n * ```\n */\n commands: z.array(z.object({\n /** CLI command name (e.g., \"marketplace\", \"deploy\"). Must be a valid CLI identifier. */\n name: z.string()\n .regex(/^[a-z][a-z0-9-]*$/, 'Command name must be lowercase alphanumeric with hyphens')\n .describe('CLI command name'),\n /** Brief description shown in `os --help` */\n description: z.string().optional().describe('Command description for help text'),\n /** \n * Optional module path (relative to package root) that exports the Commander.js commands.\n * If omitted, the CLI will import from the package's main entry point.\n * The module must export a `commands` array of Commander.js `Command` instances,\n * or a single `Command` instance as default export.\n */\n module: z.string().optional().describe('Module path exporting Commander.js commands'),\n })).optional().describe('CLI command contributions'),\n }).optional().describe('Platform contributions'),\n\n /** \n * Initial data seeding configuration.\n * Defines default records to be inserted when the package is installed.\n * \n * Uses the standard DatasetSchema which supports idempotent upsert via\n * `externalId`, environment scoping via `env`, and multiple conflict\n * resolution modes.\n * \n * @deprecated Prefer using the top-level `data` field on the Stack Definition\n * (defineStack({ data: [...] })) for better visibility and metadata registration.\n * This field is retained for backward compatibility with manifest-only packages.\n */\n data: z.array(DatasetSchema).optional().describe('Initial seed data (prefer top-level data field)'),\n\n /**\n * Plugin Capability Manifest.\n * Declares protocols implemented, interfaces provided, dependencies, and extension points.\n * This enables plugin interoperability and automatic discovery.\n */\n capabilities: PluginCapabilityManifestSchema.optional()\n .describe('Plugin capability declarations for interoperability'),\n\n /** \n * Extension points contributed by this package.\n * Allows packages to extend UI components, add functionality, etc.\n */\n extensions: z.record(z.string(), z.unknown()).optional().describe('Extension points and contributions'),\n\n /**\n * Plugin Loading Configuration.\n * Configures how the plugin is loaded, initialized, and managed at runtime.\n * Includes strategies for lazy loading, code splitting, caching, and hot reload.\n */\n loading: PluginLoadingConfigSchema.optional()\n .describe('Plugin loading and runtime behavior configuration'),\n});\n\n/**\n * TypeScript type inferred from the ManifestSchema.\n * Use this type for type-safe manifest handling in TypeScript code.\n */\nexport type ObjectStackManifest = z.infer<typeof ManifestSchema>;\nexport type ObjectStackManifestInput = z.input<typeof ManifestSchema>;\n\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # Metadata Customization Layer Protocol\n * \n * Defines the overlay system for managing user customizations on top of\n * package-delivered metadata. This protocol solves the critical challenge\n * of separating \"vendor-managed\" metadata from \"customer-customized\" metadata,\n * enabling safe package upgrades without losing user changes.\n * \n * ## Architecture Alignment\n * - **Salesforce**: Managed vs Unmanaged metadata components\n * - **ServiceNow**: Update Sets with collision detection\n * - **WordPress**: Parent/child theme overlay model\n * - **Kubernetes**: Strategic merge patch for resource customization\n * \n * ## Three-Layer Model\n * ```\n * ┌─────────────────────────────────┐\n * │ User Layer (scope: user) │ ← Personal overrides (per-user)\n * ├─────────────────────────────────┤\n * │ Platform Layer (scope: platform)│ ← Admin customizations (per-tenant)\n * ├─────────────────────────────────┤\n * │ System Layer (scope: system) │ ← Package-delivered metadata (read-only)\n * └─────────────────────────────────┘\n * ```\n * \n * ## Merge Resolution Order\n * Effective metadata = System ← merge(Platform) ← merge(User)\n * Each layer only stores the delta (changed fields), not the full definition.\n */\n\n// ==========================================\n// Customization Tracking\n// ==========================================\n\n/**\n * Customization Origin\n * Identifies who created the customization.\n */\nexport const CustomizationOriginSchema = z.enum([\n 'package', // Delivered by a plugin package (system layer, read-only)\n 'admin', // Created/modified by platform admin via UI\n 'user', // Created/modified by end user via UI\n 'migration', // Created during data migration\n 'api', // Created via API\n]);\n\n/**\n * Field-Level Change Tracking\n * Records exactly which fields were modified by the customer.\n */\nexport const FieldChangeSchema = z.object({\n /** JSON path to the changed field (e.g. \"fields.status.label\") */\n path: z.string().describe('JSON path to the changed field'),\n\n /** Original value from the package (for diff/rollback) */\n originalValue: z.unknown().optional().describe('Original value from the package'),\n\n /** Current customized value */\n currentValue: z.unknown().describe('Current customized value'),\n\n /** Who made this change */\n changedBy: z.string().optional().describe('User or admin who made this change'),\n\n /** When this change was made */\n changedAt: z.string().datetime().optional().describe('Timestamp of the change'),\n});\n\n/**\n * Metadata Overlay Schema\n * \n * Represents a customization layer on top of package-delivered metadata.\n * Each overlay stores only the delta (changed fields) relative to the base definition.\n * \n * During package upgrades, the system performs a 3-way merge:\n * 1. Old package version (base)\n * 2. New package version (theirs)\n * 3. Customer customizations (ours)\n * \n * @example\n * ```yaml\n * # Package delivers: object \"crm__account\" with field \"status\" label \"Status\"\n * # Admin changes label to \"Account Status\"\n * # Overlay record:\n * baseType: object\n * baseName: crm__account\n * packageId: com.acme.crm\n * packageVersion: \"1.0.0\"\n * changes:\n * - path: \"fields.status.label\"\n * originalValue: \"Status\"\n * currentValue: \"Account Status\"\n * ```\n */\nexport const MetadataOverlaySchema = z.object({\n /** Primary key */\n id: z.string().describe('Overlay record ID (UUID)'),\n\n /** The metadata type being customized (e.g. \"object\", \"view\", \"flow\") */\n baseType: z.string().describe('Metadata type being customized'),\n\n /** The metadata name being customized (e.g. \"crm__account\") */\n baseName: z.string().describe('Metadata name being customized'),\n\n /** Package that owns the base metadata (null for platform-created metadata) */\n packageId: z.string().optional().describe('Package ID that delivered the base metadata'),\n\n /** Package version when the customization was made (for upgrade diffing) */\n packageVersion: z.string().optional().describe('Package version when overlay was created'),\n\n /** Customization scope */\n scope: z.enum(['platform', 'user']).default('platform')\n .describe('Customization scope (platform=admin, user=personal)'),\n\n /** Tenant ID for multi-tenant isolation */\n tenantId: z.string().optional().describe('Tenant identifier'),\n\n /** Owner user ID (for user-scope overlays) */\n owner: z.string().optional().describe('Owner user ID for user-scope overlays'),\n\n /**\n * The overlay payload.\n * Contains only the changed fields, using JSON Merge Patch semantics (RFC 7396).\n * - To modify a field: include the field with its new value\n * - To delete a field: set its value to null\n * - Omitted fields remain unchanged from base\n */\n patch: z.record(z.string(), z.unknown()).describe('JSON Merge Patch payload (changed fields only)'),\n\n /**\n * Detailed change tracking for each modified field.\n * Enables field-level conflict detection during upgrades.\n */\n changes: z.array(FieldChangeSchema).optional()\n .describe('Field-level change tracking for conflict detection'),\n\n /** Whether this overlay is currently active */\n active: z.boolean().default(true).describe('Whether this overlay is active'),\n\n /** Audit timestamps */\n createdAt: z.string().datetime().optional(),\n createdBy: z.string().optional(),\n updatedAt: z.string().datetime().optional(),\n updatedBy: z.string().optional(),\n});\n\n// ==========================================\n// Merge & Conflict Resolution\n// ==========================================\n\n/**\n * Merge Conflict\n * Represents a conflict between package update and customer customization.\n */\nexport const MergeConflictSchema = z.object({\n /** JSON path to the conflicting field */\n path: z.string().describe('JSON path to the conflicting field'),\n\n /** Value in the old package version */\n baseValue: z.unknown().describe('Value in the old package version'),\n\n /** Value in the new package version */\n incomingValue: z.unknown().describe('Value in the new package version'),\n\n /** Customer's customized value */\n customValue: z.unknown().describe('Customer customized value'),\n\n /** Suggested resolution strategy */\n suggestedResolution: z.enum([\n 'keep-custom', // Keep customer's customization\n 'accept-incoming', // Accept package update\n 'manual', // Requires manual resolution\n ]).describe('Suggested resolution strategy'),\n\n /** Reason for the suggested resolution */\n reason: z.string().optional().describe('Explanation for the suggested resolution'),\n});\n\n/**\n * Merge Strategy Configuration\n * Controls how metadata merging behaves during package upgrades.\n */\nexport const MergeStrategyConfigSchema = z.object({\n /** Default strategy when no field-level rule matches */\n defaultStrategy: z.enum([\n 'keep-custom', // Preserve all customer customizations (safe)\n 'accept-incoming', // Accept all package updates (overwrite)\n 'three-way-merge', // Intelligent 3-way merge with conflict detection\n ]).default('three-way-merge').describe('Default merge strategy'),\n\n /** \n * Field paths that should always accept incoming package updates.\n * Use for fields that the package vendor considers \"owned\" and should not be customized.\n * @example [\"fields.*.type\", \"triggers.*\"]\n */\n alwaysAcceptIncoming: z.array(z.string()).optional()\n .describe('Field paths that always accept package updates'),\n\n /**\n * Field paths where customer customizations always win.\n * Use for UI-facing fields like labels, descriptions, help text.\n * @example [\"fields.*.label\", \"fields.*.helpText\", \"description\"]\n */\n alwaysKeepCustom: z.array(z.string()).optional()\n .describe('Field paths where customer customizations always win'),\n\n /** Whether to automatically resolve non-conflicting changes */\n autoResolveNonConflicting: z.boolean().default(true)\n .describe('Auto-resolve changes that do not conflict'),\n});\n\n/**\n * Merge Result\n * Result of a 3-way merge operation during package upgrade.\n */\nexport const MergeResultSchema = z.object({\n /** Whether the merge completed successfully (no unresolved conflicts) */\n success: z.boolean().describe('Whether merge completed without unresolved conflicts'),\n\n /** The merged metadata payload */\n mergedMetadata: z.record(z.string(), z.unknown()).optional()\n .describe('Merged metadata result'),\n\n /** Updated overlay with remaining customizations */\n updatedOverlay: z.record(z.string(), z.unknown()).optional()\n .describe('Updated overlay after merge'),\n\n /** List of conflicts that require manual resolution */\n conflicts: z.array(MergeConflictSchema).optional()\n .describe('Unresolved merge conflicts'),\n\n /** Summary of automatically resolved changes */\n autoResolved: z.array(z.object({\n path: z.string(),\n resolution: z.string(),\n description: z.string().optional(),\n })).optional().describe('Summary of auto-resolved changes'),\n\n /** Statistics */\n stats: z.object({\n totalFields: z.number().int().min(0).describe('Total fields evaluated'),\n unchanged: z.number().int().min(0).describe('Fields with no changes'),\n autoResolved: z.number().int().min(0).describe('Fields auto-resolved'),\n conflicts: z.number().int().min(0).describe('Fields with conflicts'),\n }).optional(),\n});\n\n// ==========================================\n// Customization Management\n// ==========================================\n\n/**\n * Customizable Metadata Policy\n * Defines what parts of a metadata item can be customized by admins/users.\n * Package vendors use this to control customization boundaries.\n */\nexport const CustomizationPolicySchema = z.object({\n /** Metadata type this policy applies to */\n metadataType: z.string().describe('Metadata type (e.g. \"object\", \"view\")'),\n\n /** Whether customization is allowed at all for this type */\n allowCustomization: z.boolean().default(true),\n\n /**\n * Field paths that are locked (cannot be customized).\n * @example [\"name\", \"type\", \"fields.*.type\"]\n */\n lockedFields: z.array(z.string()).optional()\n .describe('Field paths that cannot be customized'),\n\n /**\n * Field paths that are customizable.\n * If specified, only these fields can be customized (whitelist mode).\n * @example [\"label\", \"description\", \"fields.*.label\", \"fields.*.helpText\"]\n */\n customizableFields: z.array(z.string()).optional()\n .describe('Field paths that can be customized (whitelist)'),\n\n /**\n * Whether users can add new fields to package objects.\n * When true, admins can extend package objects with custom fields.\n */\n allowAddFields: z.boolean().default(true)\n .describe('Whether admins can add new fields to package objects'),\n\n /**\n * Whether users can delete package-delivered fields.\n * Typically false — fields can only be hidden, not deleted.\n */\n allowDeleteFields: z.boolean().default(false)\n .describe('Whether admins can delete package-delivered fields'),\n});\n\n// ==========================================\n// Export Types\n// ==========================================\n\nexport type CustomizationOrigin = z.infer<typeof CustomizationOriginSchema>;\nexport type FieldChange = z.infer<typeof FieldChangeSchema>;\nexport type MetadataOverlay = z.infer<typeof MetadataOverlaySchema>;\nexport type MergeConflict = z.infer<typeof MergeConflictSchema>;\nexport type MergeStrategyConfig = z.infer<typeof MergeStrategyConfigSchema>;\nexport type MergeResult = z.infer<typeof MergeResultSchema>;\nexport type CustomizationPolicy = z.infer<typeof CustomizationPolicySchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # Metadata Loader Protocol\n * \n * Defines the standard interface for loading and saving metadata in ObjectStack.\n * This protocol enables consistent metadata operations across different storage backends\n * (filesystem, HTTP, S3, databases) and serialization formats (JSON, YAML, TypeScript).\n */\n\n/**\n * Metadata Format Enum\n * Supported serialization formats for metadata\n */\nexport const MetadataFormatSchema = z.enum(['json', 'yaml', 'typescript', 'javascript']);\n\n/**\n * Metadata Statistics\n * Information about a metadata item without loading its full content\n */\nexport const MetadataStatsSchema = z.object({\n /**\n * Size of the metadata file in bytes\n */\n size: z.number().int().min(0).describe('File size in bytes'),\n \n /**\n * Last modification timestamp\n */\n modifiedAt: z.string().datetime().describe('Last modified date'),\n \n /**\n * ETag for cache validation\n * Used for conditional requests (If-None-Match header)\n */\n etag: z.string().describe('Entity tag for cache validation'),\n \n /**\n * Serialization format\n */\n format: MetadataFormatSchema.describe('Serialization format'),\n \n /**\n * Full file path (if applicable)\n */\n path: z.string().optional().describe('File system path'),\n \n /**\n * Additional metadata provider-specific properties\n */\n metadata: z.record(z.string(), z.unknown()).optional().describe('Provider-specific metadata'),\n});\n\n/**\n * Metadata Load Options\n */\nexport const MetadataLoadOptionsSchema = z.object({\n /**\n * Glob patterns to match files\n * Example: [\"**\\/*.object.ts\", \"**\\/*.object.json\"]\n */\n patterns: z.array(z.string()).optional().describe('File glob patterns'),\n \n /**\n * If-None-Match header for conditional loading\n * Only load if ETag doesn't match\n */\n ifNoneMatch: z.string().optional().describe('ETag for conditional request'),\n \n /**\n * If-Modified-Since header for conditional loading\n */\n ifModifiedSince: z.string().datetime().optional().describe('Only load if modified after this date'),\n \n /**\n * Whether to validate against Zod schema\n */\n validate: z.boolean().default(true).describe('Validate against schema'),\n \n /**\n * Whether to use cache if available\n */\n useCache: z.boolean().default(true).describe('Enable caching'),\n \n /**\n * Filter function (serialized as string)\n * Example: \"(item) => item.name.startsWith('sys_')\"\n */\n filter: z.string().optional().describe('Filter predicate as string'),\n \n /**\n * Maximum number of items to load\n */\n limit: z.number().int().min(1).optional().describe('Maximum items to load'),\n \n /**\n * Recursively search subdirectories\n */\n recursive: z.boolean().default(true).describe('Search subdirectories'),\n});\n\n/**\n * Metadata Save Options\n */\nexport const MetadataSaveOptionsSchema = z.object({\n /**\n * Serialization format\n */\n format: MetadataFormatSchema.default('typescript').describe('Output format'),\n \n /**\n * Prettify output (formatted with indentation)\n */\n prettify: z.boolean().default(true).describe('Format with indentation'),\n \n /**\n * Indentation size (spaces)\n */\n indent: z.number().int().min(0).max(8).default(2).describe('Indentation spaces'),\n \n /**\n * Sort object keys alphabetically\n */\n sortKeys: z.boolean().default(false).describe('Sort object keys'),\n \n /**\n * Include default values in output\n */\n includeDefaults: z.boolean().default(false).describe('Include default values'),\n \n /**\n * Create backup before overwriting\n */\n backup: z.boolean().default(false).describe('Create backup file'),\n \n /**\n * Overwrite if exists\n */\n overwrite: z.boolean().default(true).describe('Overwrite existing file'),\n \n /**\n * Atomic write (write to temp file, then rename)\n */\n atomic: z.boolean().default(true).describe('Use atomic write operation'),\n \n /**\n * Custom file path (overrides default location)\n */\n path: z.string().optional().describe('Custom output path'),\n});\n\n/**\n * Metadata Export Options\n */\nexport const MetadataExportOptionsSchema = z.object({\n /**\n * Output file path\n */\n output: z.string().describe('Output file path'),\n \n /**\n * Export format\n */\n format: MetadataFormatSchema.default('json').describe('Export format'),\n \n /**\n * Filter predicate as string\n */\n filter: z.string().optional().describe('Filter items to export'),\n \n /**\n * Include statistics in export\n */\n includeStats: z.boolean().default(false).describe('Include metadata statistics'),\n \n /**\n * Compress output\n */\n compress: z.boolean().default(false).describe('Compress output (gzip)'),\n \n /**\n * Pretty print output\n */\n prettify: z.boolean().default(true).describe('Pretty print output'),\n});\n\n/**\n * Metadata Import Options\n */\nexport const MetadataImportOptionsSchema = z.object({\n /**\n * Conflict resolution strategy\n */\n conflictResolution: z.enum(['skip', 'overwrite', 'merge', 'fail'])\n .default('merge')\n .describe('How to handle existing items'),\n \n /**\n * Validate items against schema\n */\n validate: z.boolean().default(true).describe('Validate before import'),\n \n /**\n * Dry run (don't actually save)\n */\n dryRun: z.boolean().default(false).describe('Simulate import without saving'),\n \n /**\n * Continue on errors\n */\n continueOnError: z.boolean().default(false).describe('Continue if validation fails'),\n \n /**\n * Transform function (as string)\n * Example: \"(item) => ({ ...item, imported: true })\"\n */\n transform: z.string().optional().describe('Transform items before import'),\n});\n\n/**\n * Metadata Loader Result\n * Result of a metadata load operation\n */\nexport const MetadataLoadResultSchema = z.object({\n /**\n * Loaded data\n */\n data: z.unknown().nullable().describe('Loaded metadata'),\n \n /**\n * Whether data came from cache (304 Not Modified)\n */\n fromCache: z.boolean().default(false).describe('Loaded from cache'),\n \n /**\n * Not modified (conditional request matched)\n */\n notModified: z.boolean().default(false).describe('Not modified since last request'),\n \n /**\n * ETag of loaded data\n */\n etag: z.string().optional().describe('Entity tag'),\n \n /**\n * Statistics about loaded data\n */\n stats: MetadataStatsSchema.optional().describe('Metadata statistics'),\n \n /**\n * Load time in milliseconds\n */\n loadTime: z.number().min(0).optional().describe('Load duration in ms'),\n});\n\n/**\n * Metadata Save Result\n */\nexport const MetadataSaveResultSchema = z.object({\n /**\n * Whether save was successful\n */\n success: z.boolean().describe('Save successful'),\n \n /**\n * Path where file was saved\n */\n path: z.string().describe('Output path'),\n \n /**\n * Generated ETag\n */\n etag: z.string().optional().describe('Generated entity tag'),\n \n /**\n * File size in bytes\n */\n size: z.number().int().min(0).optional().describe('File size'),\n \n /**\n * Save time in milliseconds\n */\n saveTime: z.number().min(0).optional().describe('Save duration in ms'),\n \n /**\n * Backup path (if created)\n */\n backupPath: z.string().optional().describe('Backup file path'),\n});\n\n/**\n * Metadata Watch Event\n */\nexport const MetadataWatchEventSchema = z.object({\n /**\n * Event type\n */\n type: z.enum(['added', 'changed', 'deleted']).describe('Event type'),\n \n /**\n * Metadata type (e.g., 'object', 'view', 'app')\n */\n metadataType: z.string().describe('Type of metadata'),\n \n /**\n * Item name/identifier\n */\n name: z.string().describe('Item identifier'),\n \n /**\n * Full file path\n */\n path: z.string().describe('File path'),\n \n /**\n * Loaded item data (for added/changed events)\n */\n data: z.unknown().optional().describe('Item data'),\n \n /**\n * Timestamp\n */\n timestamp: z.string().datetime().describe('Event timestamp'),\n});\n\n/**\n * Metadata Collection Info\n * Summary of a metadata collection\n */\nexport const MetadataCollectionInfoSchema = z.object({\n /**\n * Collection type (e.g., 'object', 'view', 'app')\n */\n type: z.string().describe('Collection type'),\n \n /**\n * Total items in collection\n */\n count: z.number().int().min(0).describe('Number of items'),\n \n /**\n * Formats found in collection\n */\n formats: z.array(MetadataFormatSchema).describe('Formats in collection'),\n \n /**\n * Total size in bytes\n */\n totalSize: z.number().int().min(0).optional().describe('Total size in bytes'),\n \n /**\n * Last modified timestamp\n */\n lastModified: z.string().datetime().optional().describe('Last modification date'),\n \n /**\n * Collection location (path or URL)\n */\n location: z.string().optional().describe('Collection location'),\n});\n\n/**\n * Metadata Loader Interface Contract\n * Defines the standard methods all metadata loaders must implement\n */\nexport const MetadataLoaderContractSchema = z.object({\n /**\n * Loader name/identifier\n */\n name: z.string().describe('Loader identifier'),\n\n /**\n * Protocol handled by this loader (e.g. 'file:', 'http:', 's3:', 'datasource:')\n */\n protocol: z.enum(['file:', 'http:', 's3:', 'datasource:', 'memory:']).describe('Protocol identifier'),\n\n /**\n * Detailed capabilities\n */\n capabilities: z.object({\n read: z.boolean().default(true),\n write: z.boolean().default(false),\n watch: z.boolean().default(false),\n list: z.boolean().default(true),\n }).describe('Loader capabilities'),\n \n /**\n * Supported formats\n */\n supportedFormats: z.array(MetadataFormatSchema).describe('Supported formats'),\n \n /**\n * Whether loader supports watching for changes\n */\n supportsWatch: z.boolean().default(false).describe('Supports file watching'),\n \n /**\n * Whether loader supports saving\n */\n supportsWrite: z.boolean().default(true).describe('Supports write operations'),\n \n /**\n * Whether loader supports caching\n */\n supportsCache: z.boolean().default(true).describe('Supports caching'),\n});\n\n/**\n * Metadata Fallback Strategy\n * Determines behavior when the primary datasource is unavailable.\n */\nexport const MetadataFallbackStrategySchema = z.enum([\n 'filesystem', // Fall back to filesystem-based loading\n 'memory', // Fall back to in-memory storage\n 'none', // No fallback — fail immediately\n]);\n\n/**\n * Metadata Manager Configuration\n */\nexport const MetadataManagerConfigSchema = z.object({\n /**\n * Datasource Name Reference\n * References a DatasourceSchema.name (e.g. 'default').\n * At runtime, resolved from kernel service `driver.{name}` to obtain the actual driver.\n */\n datasource: z.string().optional().describe('Datasource name reference for database persistence'),\n\n /**\n * Metadata Table Name\n * The database table used for metadata storage when datasource is configured.\n */\n tableName: z.string().default('sys_metadata').describe('Database table name for metadata storage'),\n\n /**\n * Fallback Strategy\n * Determines behavior when the primary datasource is unavailable.\n */\n fallback: MetadataFallbackStrategySchema.default('none').describe('Fallback strategy when datasource is unavailable'),\n\n /**\n * Root directory for metadata (for filesystem loaders)\n */\n rootDir: z.string().optional().describe('Root directory path'),\n \n /**\n * Enabled serialization formats\n */\n formats: z.array(MetadataFormatSchema).default(['typescript', 'json', 'yaml']).describe('Enabled formats'),\n \n /**\n * Cache configuration\n */\n cache: z.object({\n enabled: z.boolean().default(true).describe('Enable caching'),\n ttl: z.number().int().min(0).default(3600).describe('Cache TTL in seconds'),\n maxSize: z.number().int().min(0).optional().describe('Max cache size in bytes'),\n }).optional().describe('Cache settings'),\n \n /**\n * Watch for file changes\n */\n watch: z.boolean().default(false).describe('Enable file watching'),\n \n /**\n * Watch options\n */\n watchOptions: z.object({\n ignored: z.array(z.string()).optional().describe('Patterns to ignore'),\n persistent: z.boolean().default(true).describe('Keep process running'),\n ignoreInitial: z.boolean().default(true).describe('Ignore initial add events'),\n }).optional().describe('File watcher options'),\n \n /**\n * Validation settings\n */\n validation: z.object({\n strict: z.boolean().default(true).describe('Strict validation'),\n throwOnError: z.boolean().default(true).describe('Throw on validation error'),\n }).optional().describe('Validation settings'),\n \n /**\n * Loader-specific options\n */\n loaderOptions: z.record(z.string(), z.unknown()).optional().describe('Loader-specific configuration'),\n});\n\n// Export types\nexport type MetadataFormat = z.infer<typeof MetadataFormatSchema>;\nexport type MetadataStats = z.infer<typeof MetadataStatsSchema>;\nexport type MetadataLoadOptions = z.input<typeof MetadataLoadOptionsSchema>;\nexport type MetadataSaveOptions = z.infer<typeof MetadataSaveOptionsSchema>;\nexport type MetadataExportOptions = z.infer<typeof MetadataExportOptionsSchema>;\nexport type MetadataImportOptions = z.infer<typeof MetadataImportOptionsSchema>;\nexport type MetadataLoadResult = z.infer<typeof MetadataLoadResultSchema>;\nexport type MetadataSaveResult = z.infer<typeof MetadataSaveResultSchema>;\nexport type MetadataWatchEvent = z.infer<typeof MetadataWatchEventSchema>;\nexport type MetadataCollectionInfo = z.infer<typeof MetadataCollectionInfoSchema>;\nexport type MetadataLoaderContract = z.input<typeof MetadataLoaderContractSchema>;\nexport type MetadataManagerConfig = z.input<typeof MetadataManagerConfigSchema>;\nexport type MetadataFallbackStrategy = z.infer<typeof MetadataFallbackStrategySchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { MetadataManagerConfigSchema } from './metadata-loader.zod';\nimport { MergeStrategyConfigSchema, CustomizationPolicySchema } from './metadata-customization.zod';\n\n/**\n * # Metadata Plugin Protocol\n *\n * Defines the specification for the **Metadata Plugin** — the central authority\n * responsible for managing ALL metadata across the ObjectStack platform.\n *\n * ## Architecture\n * The Metadata Plugin consolidates all scattered metadata operations into a single,\n * cohesive plugin that \"takes over\" the entire platform's metadata management:\n *\n * ```\n * ┌──────────────────────────────────────────────────────────────────┐\n * │ Metadata Plugin │\n * │ │\n * │ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────┐ │\n * │ │ Type Registry │ │ Loader │ │ Customization Layer │ │\n * │ │ (all types) │ │ (file/db/s3)│ │ (overlay / merge) │ │\n * │ └──────────────┘ └──────────────┘ └──────────────────────┘ │\n * │ │\n * │ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────┐ │\n * │ │ Persistence │ │ Query │ │ Lifecycle │ │\n * │ │ (db records) │ │ (search) │ │ (validate/deploy) │ │\n * │ └──────────────┘ └──────────────┘ └──────────────────────┘ │\n * └──────────────────────────────────────────────────────────────────┘\n * ```\n *\n * ## Alignment\n * - **Salesforce**: Metadata API (deploy, retrieve, describe)\n * - **ServiceNow**: System Dictionary + Metadata API\n * - **Kubernetes**: API Server + CRD Registry\n *\n * ## References\n * - kernel/metadata-loader.zod.ts — Storage backend protocol\n * - kernel/metadata-customization.zod.ts — Overlay/merge protocol\n * - system/metadata-persistence.zod.ts — Database record format\n * - contracts/metadata-service.ts — Service interface\n */\n\n// ==========================================\n// Metadata Type Registry\n// ==========================================\n\n/**\n * Platform Metadata Type Enum\n *\n * The canonical list of all metadata types managed by the platform.\n * Each type maps to a specific Zod schema (e.g., ObjectSchema, ViewSchema).\n * Plugins can extend this registry via `contributes.kinds` in the manifest.\n */\nexport const MetadataTypeSchema = z.enum([\n // Data Protocol\n 'object', // Business entity definition (ObjectSchema)\n 'field', // Standalone field definition (FieldSchema)\n 'trigger', // Data-layer event triggers (TriggerSchema)\n 'validation', // Validation rules (ValidationSchema)\n 'hook', // Data hooks (HookSchema)\n\n // UI Protocol\n 'view', // List/form views (ViewSchema)\n 'page', // Standalone pages (PageSchema)\n 'dashboard', // Dashboard layouts (DashboardSchema)\n 'app', // Application shell (AppSchema)\n 'action', // UI/Server actions (ActionSchema)\n 'report', // Report definitions (ReportSchema)\n\n // Automation Protocol\n 'flow', // Visual logic flows (FlowSchema)\n 'workflow', // State machines (WorkflowSchema)\n 'approval', // Approval processes (ApprovalSchema)\n\n // System Protocol\n 'datasource', // Data connections (DatasourceSchema)\n 'translation', // i18n resources (TranslationSchema)\n 'router', // API routes\n 'function', // Serverless functions\n 'service', // Service definitions\n\n // Security Protocol\n 'permission', // Permission sets (PermissionSetSchema)\n 'profile', // User profiles (ProfileSchema)\n 'role', // Security roles\n\n // AI Protocol\n 'agent', // AI agent definitions (AgentSchema)\n]);\n\nexport type MetadataType = z.infer<typeof MetadataTypeSchema>;\n\n// ==========================================\n// Type Registry Entry\n// ==========================================\n\n/**\n * Metadata Type Registry Entry\n *\n * Describes a registered metadata type, including its validation schema,\n * file patterns, and capabilities. Used by the metadata plugin to:\n * 1. Discover metadata files on disk\n * 2. Validate metadata payloads\n * 3. Determine storage behavior\n */\nexport const MetadataTypeRegistryEntrySchema = z.object({\n /** Metadata type identifier (e.g., 'object', 'view') */\n type: MetadataTypeSchema.describe('Metadata type identifier'),\n\n /** Human-readable label */\n label: z.string().describe('Display label for the metadata type'),\n\n /** Brief description */\n description: z.string().optional().describe('Description of the metadata type'),\n\n /**\n * File glob patterns for this type.\n * Used to discover metadata files on disk.\n * @example [\"**\\/*.object.ts\", \"**\\/*.object.yml\"]\n */\n filePatterns: z.array(z.string()).describe('Glob patterns to discover files of this type'),\n\n /**\n * Whether this type supports the customization overlay system.\n * When true, platform/user overlays can be applied on top of package-delivered metadata.\n */\n supportsOverlay: z.boolean().default(true).describe('Whether overlay customization is supported'),\n\n /**\n * Whether metadata of this type can be created at runtime via API.\n * Some types (e.g., 'object') may be restricted to deployment-only.\n */\n allowRuntimeCreate: z.boolean().default(true).describe('Allow runtime creation via API'),\n\n /**\n * Whether this type supports versioning.\n * When true, changes are tracked with version history.\n */\n supportsVersioning: z.boolean().default(false).describe('Whether version history is tracked'),\n\n /**\n * Priority order for loading (lower = earlier).\n * Objects load before views, views before dashboards.\n */\n loadOrder: z.number().int().min(0).default(100).describe('Loading priority (lower = earlier)'),\n\n /** The domain this type belongs to */\n domain: z.enum(['data', 'ui', 'automation', 'system', 'security', 'ai'])\n .describe('Protocol domain'),\n});\n\nexport type MetadataTypeRegistryEntry = z.infer<typeof MetadataTypeRegistryEntrySchema>;\n\n// ==========================================\n// Metadata Query Protocol\n// ==========================================\n\n/**\n * Metadata Query Schema\n *\n * Standard protocol for searching and filtering metadata items.\n * Used by the metadata service to support advanced metadata discovery.\n */\nexport const MetadataQuerySchema = z.object({\n /** Filter by metadata type(s) */\n types: z.array(MetadataTypeSchema).optional().describe('Filter by metadata types'),\n\n /** Filter by namespace(s) */\n namespaces: z.array(z.string()).optional().describe('Filter by namespaces'),\n\n /** Filter by package ID */\n packageId: z.string().optional().describe('Filter by owning package'),\n\n /** Full-text search across name, label, description */\n search: z.string().optional().describe('Full-text search query'),\n\n /** Filter by scope */\n scope: z.enum(['system', 'platform', 'user']).optional().describe('Filter by scope'),\n\n /** Filter by state */\n state: z.enum(['draft', 'active', 'archived', 'deprecated']).optional().describe('Filter by lifecycle state'),\n\n /** Filter by tags */\n tags: z.array(z.string()).optional().describe('Filter by tags'),\n\n /** Sort field */\n sortBy: z.enum(['name', 'type', 'updatedAt', 'createdAt']).default('name').describe('Sort field'),\n\n /** Sort direction */\n sortOrder: z.enum(['asc', 'desc']).default('asc').describe('Sort direction'),\n\n /** Pagination: page number (1-based) */\n page: z.number().int().min(1).default(1).describe('Page number'),\n\n /** Pagination: items per page */\n pageSize: z.number().int().min(1).max(500).default(50).describe('Items per page'),\n});\n\nexport type MetadataQuery = z.input<typeof MetadataQuerySchema>;\n\n/**\n * Metadata Query Result\n */\nexport const MetadataQueryResultSchema = z.object({\n /** Matched items */\n items: z.array(z.object({\n type: z.string().describe('Metadata type'),\n name: z.string().describe('Item name'),\n namespace: z.string().optional().describe('Namespace'),\n label: z.string().optional().describe('Display label'),\n scope: z.enum(['system', 'platform', 'user']).optional(),\n state: z.enum(['draft', 'active', 'archived', 'deprecated']).optional(),\n packageId: z.string().optional(),\n updatedAt: z.string().datetime().optional(),\n })).describe('Matched metadata items'),\n\n /** Total count (for pagination) */\n total: z.number().int().min(0).describe('Total matching items'),\n\n /** Current page */\n page: z.number().int().min(1).describe('Current page'),\n\n /** Page size */\n pageSize: z.number().int().min(1).describe('Page size'),\n});\n\nexport type MetadataQueryResult = z.infer<typeof MetadataQueryResultSchema>;\n\n// ==========================================\n// Metadata Lifecycle Events\n// ==========================================\n\n/**\n * Metadata Event Schema\n *\n * Events emitted by the metadata plugin when metadata changes.\n * Enables reactive patterns across the platform (cache invalidation,\n * UI refresh, dependency tracking, etc.).\n */\nexport const MetadataEventSchema = z.object({\n /** Event type */\n event: z.enum([\n 'metadata.registered',\n 'metadata.updated',\n 'metadata.unregistered',\n 'metadata.validated',\n 'metadata.deployed',\n 'metadata.overlay.applied',\n 'metadata.overlay.removed',\n 'metadata.imported',\n 'metadata.exported',\n ]).describe('Event type'),\n\n /** Metadata type */\n metadataType: MetadataTypeSchema.describe('Metadata type'),\n\n /** Item name */\n name: z.string().describe('Metadata item name'),\n\n /** Namespace */\n namespace: z.string().optional().describe('Namespace'),\n\n /** Package ID (if package-managed) */\n packageId: z.string().optional().describe('Owning package ID'),\n\n /** Timestamp */\n timestamp: z.string().datetime().describe('Event timestamp'),\n\n /** Actor who caused the event */\n actor: z.string().optional().describe('User or system that triggered the event'),\n\n /** Additional event-specific payload */\n payload: z.record(z.string(), z.unknown()).optional().describe('Event-specific payload'),\n});\n\nexport type MetadataEvent = z.infer<typeof MetadataEventSchema>;\n\n// ==========================================\n// Metadata Validation\n// ==========================================\n\n/**\n * Metadata Validation Result\n */\nexport const MetadataValidationResultSchema = z.object({\n /** Whether validation passed */\n valid: z.boolean().describe('Whether the metadata is valid'),\n\n /** Validation errors */\n errors: z.array(z.object({\n path: z.string().describe('JSON path to the invalid field'),\n message: z.string().describe('Error description'),\n code: z.string().optional().describe('Error code'),\n })).optional().describe('Validation errors'),\n\n /** Validation warnings (non-blocking) */\n warnings: z.array(z.object({\n path: z.string().describe('JSON path to the field'),\n message: z.string().describe('Warning description'),\n })).optional().describe('Validation warnings'),\n});\n\nexport type MetadataValidationResult = z.infer<typeof MetadataValidationResultSchema>;\n\n// ==========================================\n// Metadata Plugin Configuration\n// ==========================================\n\n/**\n * Metadata Plugin Configuration\n *\n * The unified configuration for the metadata plugin, combining\n * storage, caching, customization, and type registry settings.\n */\nexport const MetadataPluginConfigSchema = z.object({\n /**\n * Storage configuration.\n * References MetadataManagerConfigSchema for the underlying storage backend.\n */\n storage: MetadataManagerConfigSchema.describe('Storage backend configuration'),\n\n /**\n * Default customization policies per metadata type.\n * Controls what parts of metadata can be customized by admins/users.\n */\n customizationPolicies: z.array(CustomizationPolicySchema).optional()\n .describe('Default customization policies per type'),\n\n /**\n * Merge strategy for package upgrades.\n */\n mergeStrategy: MergeStrategyConfigSchema.optional()\n .describe('Merge strategy for package upgrades'),\n\n /**\n * Additional metadata type registrations.\n * Used by plugins to register custom metadata types beyond the built-in set.\n */\n additionalTypes: z.array(MetadataTypeRegistryEntrySchema.omit({ type: true }).extend({\n type: z.string().describe('Custom metadata type identifier'),\n })).optional().describe('Additional custom metadata types'),\n\n /**\n * Enable metadata change events.\n * When true, the plugin emits events on every metadata change.\n */\n enableEvents: z.boolean().default(true).describe('Emit metadata change events'),\n\n /**\n * Enable metadata validation on write operations.\n * When true, all metadata is validated against its type schema before saving.\n */\n validateOnWrite: z.boolean().default(true).describe('Validate metadata on write'),\n\n /**\n * Enable metadata versioning.\n * When true, changes to metadata are tracked with version history.\n */\n enableVersioning: z.boolean().default(false).describe('Track metadata version history'),\n\n /**\n * Maximum number of metadata items to keep in memory cache.\n */\n cacheMaxItems: z.number().int().min(0).default(10000).describe('Max items in memory cache'),\n});\n\nexport type MetadataPluginConfig = z.input<typeof MetadataPluginConfigSchema>;\n\n// ==========================================\n// Metadata Plugin Manifest\n// ==========================================\n\n/**\n * Metadata Plugin Manifest\n *\n * The complete manifest for the Metadata Plugin, declaring its identity,\n * capabilities, and configuration. This is the \"contract\" between the\n * metadata plugin and the kernel.\n */\nexport const MetadataPluginManifestSchema = z.object({\n /** Plugin identifier */\n id: z.literal('com.objectstack.metadata').describe('Metadata plugin ID'),\n\n /** Plugin name */\n name: z.literal('ObjectStack Metadata Service').describe('Plugin name'),\n\n /** Plugin version */\n version: z.string().regex(/^\\d+\\.\\d+\\.\\d+$/).describe('Plugin version'),\n\n /** Plugin type */\n type: z.literal('standard').describe('Plugin type'),\n\n /** Plugin description */\n description: z.string().default('Core metadata management service for ObjectStack platform')\n .describe('Plugin description'),\n\n /**\n * Capabilities this plugin provides.\n * The kernel uses this to route metadata requests to this plugin.\n */\n capabilities: z.object({\n /** Supports CRUD operations on metadata */\n crud: z.boolean().default(true).describe('Supports metadata CRUD'),\n\n /** Supports metadata query/search */\n query: z.boolean().default(true).describe('Supports metadata query'),\n\n /** Supports the overlay/customization system */\n overlay: z.boolean().default(true).describe('Supports customization overlays'),\n\n /** Supports file watching for hot reload */\n watch: z.boolean().default(false).describe('Supports file watching'),\n\n /** Supports bulk import/export */\n importExport: z.boolean().default(true).describe('Supports import/export'),\n\n /** Supports metadata validation */\n validation: z.boolean().default(true).describe('Supports schema validation'),\n\n /** Supports metadata versioning */\n versioning: z.boolean().default(false).describe('Supports version history'),\n\n /** Supports metadata events */\n events: z.boolean().default(true).describe('Emits metadata events'),\n }).describe('Plugin capabilities'),\n\n /** Plugin configuration */\n config: MetadataPluginConfigSchema.optional().describe('Plugin configuration'),\n});\n\nexport type MetadataPluginManifest = z.input<typeof MetadataPluginManifestSchema>;\n\n// ==========================================\n// Built-in Type Registry Defaults\n// ==========================================\n\n/**\n * Default Type Registry\n *\n * The built-in metadata type registry with default configurations.\n * Plugins extend this via `contributes.kinds` in the manifest.\n */\nexport const DEFAULT_METADATA_TYPE_REGISTRY: MetadataTypeRegistryEntry[] = [\n // Data Protocol (load first)\n { type: 'object', label: 'Object', filePatterns: ['**/*.object.ts', '**/*.object.yml', '**/*.object.json'], supportsOverlay: true, allowRuntimeCreate: false, supportsVersioning: true, loadOrder: 10, domain: 'data' },\n { type: 'field', label: 'Field', filePatterns: ['**/*.field.ts', '**/*.field.yml'], supportsOverlay: true, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 20, domain: 'data' },\n { type: 'trigger', label: 'Trigger', filePatterns: ['**/*.trigger.ts', '**/*.trigger.yml'], supportsOverlay: false, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 30, domain: 'data' },\n { type: 'validation', label: 'Validation Rule', filePatterns: ['**/*.validation.ts', '**/*.validation.yml'], supportsOverlay: false, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 30, domain: 'data' },\n { type: 'hook', label: 'Hook', filePatterns: ['**/*.hook.ts', '**/*.hook.yml'], supportsOverlay: false, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 30, domain: 'data' },\n\n // UI Protocol\n { type: 'view', label: 'View', filePatterns: ['**/*.view.ts', '**/*.view.yml', '**/*.view.json'], supportsOverlay: true, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 50, domain: 'ui' },\n { type: 'page', label: 'Page', filePatterns: ['**/*.page.ts', '**/*.page.yml'], supportsOverlay: true, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 50, domain: 'ui' },\n { type: 'dashboard', label: 'Dashboard', filePatterns: ['**/*.dashboard.ts', '**/*.dashboard.yml', '**/*.dashboard.json'], supportsOverlay: true, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 60, domain: 'ui' },\n { type: 'app', label: 'Application', filePatterns: ['**/*.app.ts', '**/*.app.yml', '**/*.app.json'], supportsOverlay: true, allowRuntimeCreate: false, supportsVersioning: true, loadOrder: 70, domain: 'ui' },\n { type: 'action', label: 'Action', filePatterns: ['**/*.action.ts', '**/*.action.yml'], supportsOverlay: false, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 50, domain: 'ui' },\n { type: 'report', label: 'Report', filePatterns: ['**/*.report.ts', '**/*.report.yml'], supportsOverlay: true, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 60, domain: 'ui' },\n\n // Automation Protocol\n { type: 'flow', label: 'Flow', filePatterns: ['**/*.flow.ts', '**/*.flow.yml', '**/*.flow.json'], supportsOverlay: false, allowRuntimeCreate: true, supportsVersioning: true, loadOrder: 80, domain: 'automation' },\n { type: 'workflow', label: 'Workflow', filePatterns: ['**/*.workflow.ts', '**/*.workflow.yml'], supportsOverlay: false, allowRuntimeCreate: true, supportsVersioning: true, loadOrder: 80, domain: 'automation' },\n { type: 'approval', label: 'Approval Process', filePatterns: ['**/*.approval.ts', '**/*.approval.yml'], supportsOverlay: false, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 80, domain: 'automation' },\n\n // System Protocol\n { type: 'datasource', label: 'Datasource', filePatterns: ['**/*.datasource.ts', '**/*.datasource.yml'], supportsOverlay: false, allowRuntimeCreate: false, supportsVersioning: false, loadOrder: 5, domain: 'system' },\n { type: 'translation', label: 'Translation', filePatterns: ['**/*.translation.ts', '**/*.translation.yml', '**/*.translation.json'], supportsOverlay: true, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 90, domain: 'system' },\n { type: 'router', label: 'Router', filePatterns: ['**/*.router.ts'], supportsOverlay: false, allowRuntimeCreate: false, supportsVersioning: false, loadOrder: 40, domain: 'system' },\n { type: 'function', label: 'Function', filePatterns: ['**/*.function.ts'], supportsOverlay: false, allowRuntimeCreate: false, supportsVersioning: false, loadOrder: 40, domain: 'system' },\n { type: 'service', label: 'Service', filePatterns: ['**/*.service.ts'], supportsOverlay: false, allowRuntimeCreate: false, supportsVersioning: false, loadOrder: 40, domain: 'system' },\n\n // Security Protocol\n { type: 'permission', label: 'Permission Set', filePatterns: ['**/*.permission.ts', '**/*.permission.yml'], supportsOverlay: true, allowRuntimeCreate: true, supportsVersioning: true, loadOrder: 15, domain: 'security' },\n { type: 'profile', label: 'Profile', filePatterns: ['**/*.profile.ts', '**/*.profile.yml'], supportsOverlay: true, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 15, domain: 'security' },\n { type: 'role', label: 'Role', filePatterns: ['**/*.role.ts', '**/*.role.yml'], supportsOverlay: true, allowRuntimeCreate: true, supportsVersioning: false, loadOrder: 15, domain: 'security' },\n\n // AI Protocol\n { type: 'agent', label: 'AI Agent', filePatterns: ['**/*.agent.ts', '**/*.agent.yml'], supportsOverlay: false, allowRuntimeCreate: true, supportsVersioning: true, loadOrder: 90, domain: 'ai' },\n];\n\n// ==========================================\n// Bulk Operation Types\n// ==========================================\n\n/**\n * Bulk Register Request\n */\nexport const MetadataBulkRegisterRequestSchema = z.object({\n /** Items to register */\n items: z.array(z.object({\n type: z.string().describe('Metadata type'),\n name: z.string().describe('Item name'),\n data: z.record(z.string(), z.unknown()).describe('Metadata payload'),\n namespace: z.string().optional().describe('Namespace'),\n })).min(1).describe('Items to register'),\n\n /** Continue on individual item failure */\n continueOnError: z.boolean().default(false).describe('Continue if individual item fails'),\n\n /** Validate items before registering */\n validate: z.boolean().default(true).describe('Validate before register'),\n});\n\nexport type MetadataBulkRegisterRequest = z.input<typeof MetadataBulkRegisterRequestSchema>;\n\n/**\n * Bulk Operation Result\n */\nexport const MetadataBulkResultSchema = z.object({\n /** Total items processed */\n total: z.number().int().min(0).describe('Total items processed'),\n\n /** Successfully processed items */\n succeeded: z.number().int().min(0).describe('Successfully processed'),\n\n /** Failed items */\n failed: z.number().int().min(0).describe('Failed items'),\n\n /** Per-item error details */\n errors: z.array(z.object({\n type: z.string().describe('Metadata type'),\n name: z.string().describe('Item name'),\n error: z.string().describe('Error message'),\n })).optional().describe('Per-item errors'),\n});\n\nexport type MetadataBulkResult = z.infer<typeof MetadataBulkResultSchema>;\n\n// ==========================================\n// Metadata Dependency\n// ==========================================\n\n/**\n * Metadata Dependency Schema\n *\n * Tracks dependencies between metadata items.\n * Used for impact analysis and safe deletion checks.\n */\nexport const MetadataDependencySchema = z.object({\n /** Source metadata type */\n sourceType: z.string().describe('Dependent metadata type'),\n\n /** Source metadata name */\n sourceName: z.string().describe('Dependent metadata name'),\n\n /** Target metadata type */\n targetType: z.string().describe('Referenced metadata type'),\n\n /** Target metadata name */\n targetName: z.string().describe('Referenced metadata name'),\n\n /** Dependency kind */\n kind: z.enum(['reference', 'extends', 'includes', 'triggers'])\n .describe('How the dependency is formed'),\n});\n\nexport type MetadataDependency = z.infer<typeof MetadataDependencySchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { ManifestSchema } from './manifest.zod';\n\n/**\n * # Package Registry Protocol\n * \n * Defines the runtime state and lifecycle operations for installed packages.\n * \n * ## Key Distinction: Package vs App\n * - **Package (Manifest)**: The unit of installation — a deployable artifact containing\n * metadata (objects, actions, flows, etc.) and optionally one or more Apps.\n * - **App (AppSchema)**: A UI navigation shell defined inside a package.\n * \n * A package may contain:\n * - Zero apps (pure functionality plugin, e.g. a storage driver)\n * - One app (typical business application)\n * - Multiple apps (suite of applications)\n * \n * ## Architecture Alignment\n * - **Salesforce**: Managed Packages with install/uninstall lifecycle\n * - **VS Code**: Extension marketplace with enable/disable per-workspace\n * - **Kubernetes**: Helm charts with release state tracking\n * - **npm**: Package registry with install/uninstall/version management\n */\n\n// ==========================================\n// Package Status & Lifecycle\n// ==========================================\n\n/**\n * Package installation status.\n */\nexport const PackageStatusEnum = z.enum([\n 'installed', // Successfully installed and enabled\n 'disabled', // Installed but disabled (metadata not active)\n 'installing', // Installation in progress\n 'upgrading', // Upgrade in progress\n 'uninstalling', // Removal in progress\n 'error', // Installation or runtime error\n]);\nexport type PackageStatus = z.infer<typeof PackageStatusEnum>;\n\n/**\n * Installed Package Schema\n * \n * Wraps a ManifestSchema with runtime lifecycle state.\n * This is the \"row\" in the installed packages table.\n */\nexport const InstalledPackageSchema = z.object({\n /** \n * The full package manifest (source of truth for package definition).\n */\n manifest: ManifestSchema,\n\n /**\n * Current lifecycle status.\n */\n status: PackageStatusEnum.default('installed'),\n\n /**\n * Whether the package is currently enabled (active).\n * When disabled, the package's metadata is not loaded into the registry.\n */\n enabled: z.boolean().default(true),\n\n /**\n * ISO 8601 timestamp of when the package was installed.\n */\n installedAt: z.string().datetime().optional(),\n\n /**\n * ISO 8601 timestamp of last update.\n */\n updatedAt: z.string().datetime().optional(),\n\n /**\n * The currently installed version string.\n * Mirrors manifest.version for quick access without parsing the full manifest.\n */\n installedVersion: z.string().optional()\n .describe('Currently installed version for quick access'),\n\n /**\n * The previously installed version (before last upgrade).\n * Useful for rollback and upgrade tracking.\n */\n previousVersion: z.string().optional()\n .describe('Version before the last upgrade'),\n\n /**\n * ISO 8601 timestamp of when the package was last enabled/disabled.\n */\n statusChangedAt: z.string().datetime().optional(),\n\n /**\n * Error message if status is 'error'.\n */\n errorMessage: z.string().optional(),\n\n /**\n * Configuration values set by the user for this package.\n * Keys correspond to the package's `configuration.properties`.\n */\n settings: z.record(z.string(), z.unknown()).optional(),\n});\nexport type InstalledPackage = z.infer<typeof InstalledPackageSchema>;\n\n// ==========================================\n// Package Registry Request/Response Schemas\n// ==========================================\n\n/**\n * List Packages Request\n */\nexport const ListPackagesRequestSchema = z.object({\n /** Filter by status */\n status: PackageStatusEnum.optional(),\n /** Filter by package type */\n type: ManifestSchema.shape.type.optional(),\n /** Filter by enabled state */\n enabled: z.boolean().optional(),\n});\nexport type ListPackagesRequest = z.infer<typeof ListPackagesRequestSchema>;\n\n/**\n * List Packages Response\n */\nexport const ListPackagesResponseSchema = z.object({\n packages: z.array(InstalledPackageSchema),\n total: z.number(),\n});\nexport type ListPackagesResponse = z.infer<typeof ListPackagesResponseSchema>;\n\n/**\n * Get Package Request\n */\nexport const GetPackageRequestSchema = z.object({\n /** Package ID (reverse domain identifier from manifest) */\n id: z.string(),\n});\nexport type GetPackageRequest = z.infer<typeof GetPackageRequestSchema>;\n\n/**\n * Get Package Response\n */\nexport const GetPackageResponseSchema = z.object({\n package: InstalledPackageSchema,\n});\nexport type GetPackageResponse = z.infer<typeof GetPackageResponseSchema>;\n\n/**\n * Install Package Request\n * \n * Accepts a full manifest to install. In a production system,\n * this might also accept a package ID to fetch from a marketplace.\n */\nexport const InstallPackageRequestSchema = z.object({\n /** The package manifest to install */\n manifest: ManifestSchema,\n /** Optional: user-provided settings at install time */\n settings: z.record(z.string(), z.unknown()).optional(),\n /** Whether to enable immediately after install (default: true) */\n enableOnInstall: z.boolean().default(true),\n});\nexport type InstallPackageRequest = z.infer<typeof InstallPackageRequestSchema>;\n\n/**\n * Install Package Response\n */\nexport const InstallPackageResponseSchema = z.object({\n package: InstalledPackageSchema,\n message: z.string().optional(),\n});\nexport type InstallPackageResponse = z.infer<typeof InstallPackageResponseSchema>;\n\n/**\n * Uninstall Package Request\n */\nexport const UninstallPackageRequestSchema = z.object({\n /** Package ID to uninstall */\n id: z.string(),\n});\nexport type UninstallPackageRequest = z.infer<typeof UninstallPackageRequestSchema>;\n\n/**\n * Uninstall Package Response\n */\nexport const UninstallPackageResponseSchema = z.object({\n id: z.string(),\n success: z.boolean(),\n message: z.string().optional(),\n});\nexport type UninstallPackageResponse = z.infer<typeof UninstallPackageResponseSchema>;\n\n/**\n * Enable Package Request\n */\nexport const EnablePackageRequestSchema = z.object({\n /** Package ID to enable */\n id: z.string(),\n});\nexport type EnablePackageRequest = z.infer<typeof EnablePackageRequestSchema>;\n\n/**\n * Enable Package Response\n */\nexport const EnablePackageResponseSchema = z.object({\n package: InstalledPackageSchema,\n message: z.string().optional(),\n});\nexport type EnablePackageResponse = z.infer<typeof EnablePackageResponseSchema>;\n\n/**\n * Disable Package Request\n */\nexport const DisablePackageRequestSchema = z.object({\n /** Package ID to disable */\n id: z.string(),\n});\nexport type DisablePackageRequest = z.infer<typeof DisablePackageRequestSchema>;\n\n/**\n * Disable Package Response\n */\nexport const DisablePackageResponseSchema = z.object({\n package: InstalledPackageSchema,\n message: z.string().optional(),\n});\nexport type DisablePackageResponse = z.infer<typeof DisablePackageResponseSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { ManifestSchema } from './manifest.zod';\n\n/**\n * # Package Upgrade Protocol\n * \n * Defines the complete lifecycle for upgrading installed packages,\n * including pre-upgrade analysis, snapshot/backup, execution, validation,\n * and rollback capabilities.\n * \n * ## Architecture Alignment\n * - **Salesforce**: Managed Package upgrade with push upgrades and subscriber control\n * - **ServiceNow**: Update Sets with preview, commit, and back-out support\n * - **Helm**: Helm upgrade with rollback to previous release\n * - **Kubernetes**: Rolling update with readiness probes and automatic rollback\n * \n * ## Upgrade Flow\n * ```\n * 1. PreCheck → Validate compatibility, check dependencies\n * 2. Plan → Generate upgrade plan with metadata diff\n * 3. Snapshot → Backup current state (metadata + customizations)\n * 4. Execute → Apply new package metadata with 3-way merge\n * 5. Validate → Run post-upgrade health checks\n * 6. Commit → Finalize upgrade (or Rollback on failure)\n * ```\n */\n\n// ==========================================\n// Upgrade Plan & Analysis\n// ==========================================\n\n/**\n * Metadata Change Type\n * Type of change detected between package versions.\n */\nexport const MetadataChangeTypeSchema = z.enum([\n 'added', // New metadata item added in new version\n 'modified', // Existing metadata item modified\n 'removed', // Metadata item removed in new version\n 'renamed', // Metadata item renamed\n]);\n\n/**\n * Metadata Diff Item\n * Describes a single metadata change between two package versions.\n */\nexport const MetadataDiffItemSchema = z.object({\n /** Metadata type (e.g. \"object\", \"view\", \"flow\") */\n type: z.string().describe('Metadata type'),\n\n /** Metadata name */\n name: z.string().describe('Metadata name'),\n\n /** Type of change */\n changeType: MetadataChangeTypeSchema,\n\n /** Whether this change has potential conflicts with customizations */\n hasConflict: z.boolean().default(false)\n .describe('Whether this change may conflict with customizations'),\n\n /** Human-readable summary of the change */\n summary: z.string().optional().describe('Human-readable change summary'),\n\n /** Previous name (for renames) */\n previousName: z.string().optional().describe('Previous name if renamed'),\n});\n\n/**\n * Upgrade Impact Level\n * Indicates the severity of impact the upgrade will have.\n */\nexport const UpgradeImpactLevelSchema = z.enum([\n 'none', // No impact, seamless upgrade\n 'low', // Minor changes, no user action needed\n 'medium', // Some changes that may affect workflows\n 'high', // Significant changes, user review recommended\n 'critical', // Breaking changes, manual intervention required\n]);\n\n/**\n * Upgrade Plan Schema\n * The analysis result before executing an upgrade.\n * Generated by comparing old version metadata with new version metadata.\n */\nexport const UpgradePlanSchema = z.object({\n /** Package being upgraded */\n packageId: z.string().describe('Package identifier'),\n\n /** Current installed version */\n fromVersion: z.string().describe('Currently installed version'),\n\n /** Target version to upgrade to */\n toVersion: z.string().describe('Target upgrade version'),\n\n /** Overall impact level */\n impactLevel: UpgradeImpactLevelSchema,\n\n /** List of all metadata changes between versions */\n changes: z.array(MetadataDiffItemSchema).describe('All metadata changes'),\n\n /** Number of customer customizations that may be affected */\n affectedCustomizations: z.number().int().min(0).default(0)\n .describe('Count of customizations that may be affected'),\n\n /** Whether any migration scripts need to run */\n requiresMigration: z.boolean().default(false)\n .describe('Whether data migration scripts are needed'),\n\n /** Migration script paths (relative to package root) */\n migrationScripts: z.array(z.string()).optional()\n .describe('Paths to migration scripts'),\n\n /** Dependencies that also need upgrading */\n dependencyUpgrades: z.array(z.object({\n packageId: z.string(),\n fromVersion: z.string(),\n toVersion: z.string(),\n })).optional().describe('Dependent packages that also need upgrading'),\n\n /** Estimated upgrade duration in seconds */\n estimatedDuration: z.number().int().min(0).optional()\n .describe('Estimated upgrade duration in seconds'),\n\n /** Human-readable summary */\n summary: z.string().optional().describe('Human-readable upgrade summary'),\n});\n\n// ==========================================\n// Upgrade Snapshot (Pre-Upgrade Backup)\n// ==========================================\n\n/**\n * Upgrade Snapshot Schema\n * Captures the complete state before an upgrade for rollback capability.\n */\nexport const UpgradeSnapshotSchema = z.object({\n /** Snapshot ID (UUID) */\n id: z.string().describe('Snapshot identifier'),\n\n /** Package being upgraded */\n packageId: z.string().describe('Package identifier'),\n\n /** Version being upgraded from */\n fromVersion: z.string().describe('Version before upgrade'),\n\n /** Version being upgraded to */\n toVersion: z.string().describe('Target upgrade version'),\n\n /** Tenant ID */\n tenantId: z.string().optional().describe('Tenant identifier'),\n\n /** Complete manifest of the old package version */\n previousManifest: ManifestSchema,\n\n /**\n * Snapshot of all metadata records owned by this package.\n * Stored as array of { type, name, metadata } tuples.\n */\n metadataSnapshot: z.array(z.object({\n type: z.string(),\n name: z.string(),\n metadata: z.record(z.string(), z.unknown()),\n })).describe('Snapshot of all package metadata'),\n\n /**\n * Snapshot of all customer customizations (overlays) for this package's metadata.\n */\n customizationSnapshot: z.array(z.record(z.string(), z.unknown())).optional()\n .describe('Snapshot of customer customizations'),\n\n /** When the snapshot was created */\n createdAt: z.string().datetime().describe('Snapshot creation timestamp'),\n\n /** Expiry time for snapshot cleanup */\n expiresAt: z.string().datetime().optional().describe('Snapshot expiry timestamp'),\n});\n\n// ==========================================\n// Upgrade Request/Response\n// ==========================================\n\n/**\n * Upgrade Package Request\n */\nexport const UpgradePackageRequestSchema = z.object({\n /** Package ID to upgrade */\n packageId: z.string().describe('Package ID to upgrade'),\n\n /** Target version (if omitted, upgrades to latest) */\n targetVersion: z.string().optional().describe('Target version (defaults to latest)'),\n\n /** New manifest for the target version */\n manifest: ManifestSchema.optional().describe('New manifest (if installing from local)'),\n\n /** Whether to create a pre-upgrade snapshot */\n createSnapshot: z.boolean().default(true)\n .describe('Whether to create a pre-upgrade backup snapshot'),\n\n /** Merge strategy for handling customizations */\n mergeStrategy: z.enum([\n 'keep-custom',\n 'accept-incoming',\n 'three-way-merge',\n ]).default('three-way-merge').describe('How to handle customer customizations'),\n\n /** Whether to run in dry-run mode (preview only, no changes) */\n dryRun: z.boolean().default(false)\n .describe('Preview upgrade without making changes'),\n\n /** Whether to skip pre-upgrade validation */\n skipValidation: z.boolean().default(false)\n .describe('Skip pre-upgrade compatibility checks'),\n});\n\n/**\n * Upgrade Phase\n * Current phase of the upgrade process.\n */\nexport const UpgradePhaseSchema = z.enum([\n 'pending', // Upgrade requested but not started\n 'analyzing', // Generating upgrade plan\n 'snapshot', // Creating pre-upgrade snapshot\n 'executing', // Applying metadata changes\n 'migrating', // Running migration scripts\n 'validating', // Post-upgrade validation\n 'completed', // Upgrade completed successfully\n 'failed', // Upgrade failed\n 'rolling-back', // Rollback in progress\n 'rolled-back', // Rollback completed\n]);\n\n/**\n * Upgrade Package Response\n */\nexport const UpgradePackageResponseSchema = z.object({\n /** Whether the upgrade was successful */\n success: z.boolean().describe('Whether the upgrade succeeded'),\n\n /** Current upgrade phase */\n phase: UpgradePhaseSchema,\n\n /** The upgrade plan that was executed */\n plan: UpgradePlanSchema.optional().describe('Upgrade plan'),\n\n /** Snapshot ID for rollback */\n snapshotId: z.string().optional().describe('Snapshot ID for rollback'),\n\n /** Merge conflicts that need manual resolution (if any) */\n conflicts: z.array(z.object({\n path: z.string(),\n baseValue: z.unknown(),\n incomingValue: z.unknown(),\n customValue: z.unknown(),\n })).optional().describe('Unresolved merge conflicts'),\n\n /** Error message (if failed) */\n errorMessage: z.string().optional(),\n\n /** Human-readable summary */\n message: z.string().optional(),\n});\n\n// ==========================================\n// Rollback\n// ==========================================\n\n/**\n * Rollback Package Request\n */\nexport const RollbackPackageRequestSchema = z.object({\n /** Package ID to rollback */\n packageId: z.string().describe('Package ID to rollback'),\n\n /** Snapshot ID to restore from */\n snapshotId: z.string().describe('Snapshot ID to restore from'),\n\n /** Whether to also rollback customizations */\n rollbackCustomizations: z.boolean().default(true)\n .describe('Whether to restore pre-upgrade customizations'),\n});\n\n/**\n * Rollback Package Response\n */\nexport const RollbackPackageResponseSchema = z.object({\n /** Whether the rollback was successful */\n success: z.boolean(),\n\n /** Restored version */\n restoredVersion: z.string().optional().describe('Version restored to'),\n\n /** Message */\n message: z.string().optional(),\n});\n\n// ==========================================\n// Export Types\n// ==========================================\n\nexport type MetadataChangeType = z.infer<typeof MetadataChangeTypeSchema>;\nexport type MetadataDiffItem = z.infer<typeof MetadataDiffItemSchema>;\nexport type UpgradeImpactLevel = z.infer<typeof UpgradeImpactLevelSchema>;\nexport type UpgradePlan = z.infer<typeof UpgradePlanSchema>;\nexport type UpgradeSnapshot = z.infer<typeof UpgradeSnapshotSchema>;\nexport type UpgradePackageRequest = z.infer<typeof UpgradePackageRequestSchema>;\nexport type UpgradePhase = z.infer<typeof UpgradePhaseSchema>;\nexport type UpgradePackageResponse = z.infer<typeof UpgradePackageResponseSchema>;\nexport type RollbackPackageRequest = z.infer<typeof RollbackPackageRequestSchema>;\nexport type RollbackPackageResponse = z.infer<typeof RollbackPackageResponseSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # Advanced Plugin Lifecycle Protocol\n * \n * Defines advanced lifecycle management capabilities including:\n * - Hot reload and live updates\n * - Graceful degradation and fallback mechanisms\n * - Health monitoring and auto-recovery\n * - State preservation during updates\n * \n * This protocol extends the basic plugin lifecycle with enterprise-grade\n * features for production environments.\n */\n\n/**\n * Plugin Health Status\n * Represents the current operational state of a plugin\n */\nexport const PluginHealthStatusSchema = z.enum([\n 'healthy', // Plugin is operating normally\n 'degraded', // Plugin is operational but with reduced functionality\n 'unhealthy', // Plugin has critical issues but still running\n 'failed', // Plugin has failed and is not operational\n 'recovering', // Plugin is in recovery process\n 'unknown', // Health status cannot be determined\n]).describe('Current health status of the plugin');\n\n/**\n * Plugin Health Check Configuration\n * Defines how to check plugin health\n */\nexport const PluginHealthCheckSchema = z.object({\n /**\n * Health check interval in milliseconds\n */\n interval: z.number().int().min(1000).default(30000)\n .describe('How often to perform health checks (default: 30s)'),\n \n /**\n * Timeout for health check in milliseconds\n */\n timeout: z.number().int().min(100).default(5000)\n .describe('Maximum time to wait for health check response'),\n \n /**\n * Number of consecutive failures before marking as unhealthy\n */\n failureThreshold: z.number().int().min(1).default(3)\n .describe('Consecutive failures needed to mark unhealthy'),\n \n /**\n * Number of consecutive successes to recover from unhealthy state\n */\n successThreshold: z.number().int().min(1).default(1)\n .describe('Consecutive successes needed to mark healthy'),\n \n /**\n * Custom health check function name or endpoint\n */\n checkMethod: z.string().optional()\n .describe('Method name to call for health check'),\n \n /**\n * Enable automatic restart on failure\n */\n autoRestart: z.boolean().default(false)\n .describe('Automatically restart plugin on health check failure'),\n \n /**\n * Maximum number of restart attempts\n */\n maxRestartAttempts: z.number().int().min(0).default(3)\n .describe('Maximum restart attempts before giving up'),\n \n /**\n * Backoff strategy for restarts\n */\n restartBackoff: z.enum(['fixed', 'linear', 'exponential']).default('exponential')\n .describe('Backoff strategy for restart delays'),\n});\n\n/**\n * Plugin Health Report\n * Detailed health information from a plugin\n */\nexport const PluginHealthReportSchema = z.object({\n /**\n * Overall health status\n */\n status: PluginHealthStatusSchema,\n \n /**\n * Timestamp of the health check\n */\n timestamp: z.string().datetime(),\n \n /**\n * Human-readable message about health status\n */\n message: z.string().optional(),\n \n /**\n * Detailed metrics\n */\n metrics: z.object({\n uptime: z.number().describe('Plugin uptime in milliseconds'),\n memoryUsage: z.number().optional().describe('Memory usage in bytes'),\n cpuUsage: z.number().optional().describe('CPU usage percentage'),\n activeConnections: z.number().optional().describe('Number of active connections'),\n errorRate: z.number().optional().describe('Error rate (errors per minute)'),\n responseTime: z.number().optional().describe('Average response time in ms'),\n }).partial().optional(),\n \n /**\n * List of checks performed\n */\n checks: z.array(z.object({\n name: z.string().describe('Check name'),\n status: z.enum(['passed', 'failed', 'warning']),\n message: z.string().optional(),\n data: z.record(z.string(), z.unknown()).optional(),\n })).optional(),\n \n /**\n * Dependencies health\n */\n dependencies: z.array(z.object({\n pluginId: z.string(),\n status: PluginHealthStatusSchema,\n message: z.string().optional(),\n })).optional(),\n});\n\n/**\n * Distributed State Configuration\n * Configuration for distributed state management in cluster environments\n */\nexport const DistributedStateConfigSchema = z.object({\n /**\n * Distributed cache provider\n */\n provider: z.enum(['redis', 'etcd', 'custom'])\n .describe('Distributed state backend provider'),\n \n /**\n * Connection URL or endpoints\n */\n endpoints: z.array(z.string()).optional()\n .describe('Backend connection endpoints'),\n \n /**\n * Key prefix for namespacing\n */\n keyPrefix: z.string().optional()\n .describe('Prefix for all keys (e.g., \"plugin:my-plugin:\")'),\n \n /**\n * Time to live in seconds\n */\n ttl: z.number().int().min(0).optional()\n .describe('State expiration time in seconds'),\n \n /**\n * Authentication configuration\n */\n auth: z.object({\n username: z.string().optional(),\n password: z.string().optional(),\n token: z.string().optional(),\n certificate: z.string().optional(),\n }).optional(),\n \n /**\n * Replication settings\n */\n replication: z.object({\n enabled: z.boolean().default(true),\n minReplicas: z.number().int().min(1).default(1),\n }).optional(),\n \n /**\n * Custom provider configuration\n */\n customConfig: z.record(z.string(), z.unknown()).optional()\n .describe('Provider-specific configuration'),\n});\n\n/**\n * Hot Reload Configuration\n * Controls how plugins handle live updates\n */\nexport const HotReloadConfigSchema = z.object({\n /**\n * Enable hot reload capability\n */\n enabled: z.boolean().default(false),\n \n /**\n * Watch file patterns for auto-reload\n */\n watchPatterns: z.array(z.string()).optional()\n .describe('Glob patterns to watch for changes'),\n \n /**\n * Debounce delay before reloading (milliseconds)\n */\n debounceDelay: z.number().int().min(0).default(1000)\n .describe('Wait time after change detection before reload'),\n \n /**\n * Preserve plugin state during reload\n */\n preserveState: z.boolean().default(true)\n .describe('Keep plugin state across reloads'),\n \n /**\n * State serialization strategy\n */\n stateStrategy: z.enum(['memory', 'disk', 'distributed', 'none']).default('memory')\n .describe('How to preserve state during reload'),\n \n /**\n * Distributed state configuration (required when stateStrategy is \"distributed\")\n */\n distributedConfig: DistributedStateConfigSchema.optional()\n .describe('Configuration for distributed state management'),\n \n /**\n * Graceful shutdown timeout\n */\n shutdownTimeout: z.number().int().min(0).default(30000)\n .describe('Maximum time to wait for graceful shutdown'),\n \n /**\n * Pre-reload hooks\n */\n beforeReload: z.array(z.string()).optional()\n .describe('Hook names to call before reload'),\n \n /**\n * Post-reload hooks\n */\n afterReload: z.array(z.string()).optional()\n .describe('Hook names to call after reload'),\n});\n\n/**\n * Graceful Degradation Configuration\n * Defines how plugin degrades when dependencies fail\n */\nexport const GracefulDegradationSchema = z.object({\n /**\n * Enable graceful degradation\n */\n enabled: z.boolean().default(true),\n \n /**\n * Fallback mode when dependencies fail\n */\n fallbackMode: z.enum([\n 'minimal', // Provide minimal functionality\n 'cached', // Use cached data\n 'readonly', // Allow read-only operations\n 'offline', // Offline mode with local data\n 'disabled', // Disable plugin functionality\n ]).default('minimal'),\n \n /**\n * Critical dependencies that must be available\n */\n criticalDependencies: z.array(z.string()).optional()\n .describe('Plugin IDs that are required for operation'),\n \n /**\n * Optional dependencies that can fail\n */\n optionalDependencies: z.array(z.string()).optional()\n .describe('Plugin IDs that are nice to have but not required'),\n \n /**\n * Feature flags for degraded mode\n */\n degradedFeatures: z.array(z.object({\n feature: z.string().describe('Feature name'),\n enabled: z.boolean().describe('Whether feature is available in degraded mode'),\n reason: z.string().optional(),\n })).optional(),\n \n /**\n * Automatic recovery attempts\n */\n autoRecovery: z.object({\n enabled: z.boolean().default(true),\n retryInterval: z.number().int().min(1000).default(60000)\n .describe('Interval between recovery attempts (ms)'),\n maxAttempts: z.number().int().min(0).default(5)\n .describe('Maximum recovery attempts before giving up'),\n }).optional(),\n});\n\n/**\n * Plugin Update Strategy\n * Defines how plugin handles version updates\n */\nexport const PluginUpdateStrategySchema = z.object({\n /**\n * Update mode\n */\n mode: z.enum([\n 'manual', // Manual updates only\n 'automatic', // Automatic updates\n 'scheduled', // Scheduled update windows\n 'rolling', // Rolling updates with zero downtime\n ]).default('manual'),\n \n /**\n * Version constraints for automatic updates\n */\n autoUpdateConstraints: z.object({\n major: z.boolean().default(false).describe('Allow major version updates'),\n minor: z.boolean().default(true).describe('Allow minor version updates'),\n patch: z.boolean().default(true).describe('Allow patch version updates'),\n }).optional(),\n \n /**\n * Update schedule (for scheduled mode)\n */\n schedule: z.object({\n /**\n * Cron expression for update window\n */\n cron: z.string().optional(),\n \n /**\n * Timezone for schedule\n */\n timezone: z.string().default('UTC'),\n \n /**\n * Maintenance window duration in minutes\n */\n maintenanceWindow: z.number().int().min(1).default(60),\n }).optional(),\n \n /**\n * Rollback configuration\n */\n rollback: z.object({\n enabled: z.boolean().default(true),\n \n /**\n * Automatic rollback on failure\n */\n automatic: z.boolean().default(true),\n \n /**\n * Keep N previous versions for rollback\n */\n keepVersions: z.number().int().min(1).default(3),\n \n /**\n * Rollback timeout in milliseconds\n */\n timeout: z.number().int().min(1000).default(30000),\n }).optional(),\n \n /**\n * Pre-update validation\n */\n validation: z.object({\n /**\n * Run compatibility checks before update\n */\n checkCompatibility: z.boolean().default(true),\n \n /**\n * Run tests before applying update\n */\n runTests: z.boolean().default(false),\n \n /**\n * Test suite to run\n */\n testSuite: z.string().optional(),\n }).optional(),\n});\n\n/**\n * Plugin State Snapshot\n * Captures plugin state for preservation during updates/reloads\n */\nexport const PluginStateSnapshotSchema = z.object({\n /**\n * Plugin identifier\n */\n pluginId: z.string(),\n \n /**\n * Version at time of snapshot\n */\n version: z.string(),\n \n /**\n * Snapshot timestamp\n */\n timestamp: z.string().datetime(),\n \n /**\n * Serialized state data\n */\n state: z.record(z.string(), z.unknown()),\n \n /**\n * State metadata\n */\n metadata: z.object({\n checksum: z.string().optional().describe('State checksum for verification'),\n compressed: z.boolean().default(false),\n encryption: z.string().optional().describe('Encryption algorithm if encrypted'),\n }).optional(),\n});\n\n/**\n * Advanced Plugin Lifecycle Configuration\n * Complete configuration for advanced lifecycle management\n */\nexport const AdvancedPluginLifecycleConfigSchema = z.object({\n /**\n * Health monitoring configuration\n */\n health: PluginHealthCheckSchema.optional(),\n \n /**\n * Hot reload configuration\n */\n hotReload: HotReloadConfigSchema.optional(),\n \n /**\n * Graceful degradation configuration\n */\n degradation: GracefulDegradationSchema.optional(),\n \n /**\n * Update strategy\n */\n updates: PluginUpdateStrategySchema.optional(),\n \n /**\n * Resource limits\n */\n resources: z.object({\n maxMemory: z.number().int().optional().describe('Maximum memory in bytes'),\n maxCpu: z.number().min(0).max(100).optional().describe('Maximum CPU percentage'),\n maxConnections: z.number().int().optional().describe('Maximum concurrent connections'),\n timeout: z.number().int().optional().describe('Operation timeout in milliseconds'),\n }).optional(),\n \n /**\n * Monitoring and observability\n */\n observability: z.object({\n enableMetrics: z.boolean().default(true),\n enableTracing: z.boolean().default(true),\n enableProfiling: z.boolean().default(false),\n metricsInterval: z.number().int().min(1000).default(60000)\n .describe('Metrics collection interval in ms'),\n }).optional(),\n});\n\n// Export types\nexport type PluginHealthStatus = z.infer<typeof PluginHealthStatusSchema>;\nexport type PluginHealthCheck = z.infer<typeof PluginHealthCheckSchema>;\nexport type PluginHealthReport = z.infer<typeof PluginHealthReportSchema>;\nexport type DistributedStateConfig = z.infer<typeof DistributedStateConfigSchema>;\nexport type HotReloadConfig = z.infer<typeof HotReloadConfigSchema>;\nexport type GracefulDegradation = z.infer<typeof GracefulDegradationSchema>;\nexport type PluginUpdateStrategy = z.infer<typeof PluginUpdateStrategySchema>;\nexport type PluginStateSnapshot = z.infer<typeof PluginStateSnapshotSchema>;\nexport type AdvancedPluginLifecycleConfig = z.infer<typeof AdvancedPluginLifecycleConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Plugin Lifecycle Events Protocol\n * \n * Zod schemas for plugin lifecycle event data structures.\n * These schemas align with the IPluginLifecycleEvents contract interface.\n * \n * Following ObjectStack \"Zod First\" principle - all data structures\n * must have Zod schemas for runtime validation and JSON Schema generation.\n */\n\n// ============================================================================\n// Event Payload Schemas\n// ============================================================================\n\n/**\n * Event Phase Enum\n * Lifecycle phase where an error occurred\n */\nexport const EventPhaseSchema = z.enum(['init', 'start', 'destroy'])\n .describe('Plugin lifecycle phase');\n\nexport type EventPhase = z.infer<typeof EventPhaseSchema>;\n\n/**\n * Plugin Event Base Schema\n * Common fields for all plugin events\n */\nexport const PluginEventBaseSchema = z.object({\n /**\n * Plugin name\n */\n pluginName: z.string().describe('Name of the plugin'),\n \n /**\n * Event timestamp (Unix milliseconds)\n */\n timestamp: z.number().int().describe('Unix timestamp in milliseconds when event occurred'),\n});\n\n/**\n * Plugin Registered Event Schema\n * \n * @example\n * {\n * \"pluginName\": \"crm-plugin\",\n * \"timestamp\": 1706659200000,\n * \"version\": \"1.0.0\"\n * }\n */\nexport const PluginRegisteredEventSchema = PluginEventBaseSchema.extend({\n /**\n * Plugin version (optional)\n */\n version: z.string().optional().describe('Plugin version'),\n});\n\nexport type PluginRegisteredEvent = z.infer<typeof PluginRegisteredEventSchema>;\n\n/**\n * Plugin Lifecycle Phase Event Schema\n * For init, start, destroy phases\n * \n * @example\n * {\n * \"pluginName\": \"crm-plugin\",\n * \"timestamp\": 1706659200000,\n * \"duration\": 1250,\n * \"phase\": \"init\"\n * }\n */\nexport const PluginLifecyclePhaseEventSchema = PluginEventBaseSchema.extend({\n /**\n * Duration of the phase (milliseconds)\n */\n duration: z.number().min(0).optional().describe('Duration of the lifecycle phase in milliseconds'),\n \n /**\n * Lifecycle phase\n */\n phase: EventPhaseSchema.optional().describe('Lifecycle phase'),\n});\n\nexport type PluginLifecyclePhaseEvent = z.infer<typeof PluginLifecyclePhaseEventSchema>;\n\n/**\n * Plugin Error Event Schema\n * When a plugin encounters an error\n * \n * @example\n * {\n * \"pluginName\": \"crm-plugin\",\n * \"timestamp\": 1706659200000,\n * \"error\": Error(\"Connection failed\"),\n * \"phase\": \"start\",\n * \"errorMessage\": \"Connection failed\",\n * \"errorStack\": \"Error: Connection failed\\n at ...\"\n * }\n */\nexport const PluginErrorEventSchema = PluginEventBaseSchema.extend({\n /**\n * Error object\n */\n error: z.object({\n name: z.string().describe('Error class name'),\n message: z.string().describe('Error message'),\n stack: z.string().optional().describe('Stack trace'),\n code: z.string().optional().describe('Error code'),\n }).describe('Serializable error representation'),\n \n /**\n * Lifecycle phase where error occurred\n */\n phase: EventPhaseSchema.describe('Lifecycle phase where error occurred'),\n \n /**\n * Error message (for serialization)\n */\n errorMessage: z.string().optional().describe('Error message'),\n \n /**\n * Error stack trace (for debugging)\n */\n errorStack: z.string().optional().describe('Error stack trace'),\n});\n\nexport type PluginErrorEvent = z.infer<typeof PluginErrorEventSchema>;\n\n// ============================================================================\n// Service Event Schemas\n// ============================================================================\n\n/**\n * Service Registered Event Schema\n * \n * @example\n * {\n * \"serviceName\": \"database\",\n * \"timestamp\": 1706659200000,\n * \"serviceType\": \"IDataEngine\"\n * }\n */\nexport const ServiceRegisteredEventSchema = z.object({\n /**\n * Service name\n */\n serviceName: z.string().describe('Name of the registered service'),\n \n /**\n * Event timestamp (Unix milliseconds)\n */\n timestamp: z.number().int().describe('Unix timestamp in milliseconds'),\n \n /**\n * Service type (optional)\n */\n serviceType: z.string().optional().describe('Type or interface name of the service'),\n});\n\nexport type ServiceRegisteredEvent = z.infer<typeof ServiceRegisteredEventSchema>;\n\n/**\n * Service Unregistered Event Schema\n * \n * @example\n * {\n * \"serviceName\": \"database\",\n * \"timestamp\": 1706659200000\n * }\n */\nexport const ServiceUnregisteredEventSchema = z.object({\n /**\n * Service name\n */\n serviceName: z.string().describe('Name of the unregistered service'),\n \n /**\n * Event timestamp (Unix milliseconds)\n */\n timestamp: z.number().int().describe('Unix timestamp in milliseconds'),\n});\n\nexport type ServiceUnregisteredEvent = z.infer<typeof ServiceUnregisteredEventSchema>;\n\n// ============================================================================\n// Hook Event Schemas\n// ============================================================================\n\n/**\n * Hook Registered Event Schema\n * \n * @example\n * {\n * \"hookName\": \"data.beforeInsert\",\n * \"timestamp\": 1706659200000,\n * \"handlerCount\": 3\n * }\n */\nexport const HookRegisteredEventSchema = z.object({\n /**\n * Hook name\n */\n hookName: z.string().describe('Name of the hook'),\n \n /**\n * Event timestamp (Unix milliseconds)\n */\n timestamp: z.number().int().describe('Unix timestamp in milliseconds'),\n \n /**\n * Number of handlers registered for this hook\n */\n handlerCount: z.number().int().min(0).describe('Number of handlers registered for this hook'),\n});\n\nexport type HookRegisteredEvent = z.infer<typeof HookRegisteredEventSchema>;\n\n/**\n * Hook Triggered Event Schema\n * \n * @example\n * {\n * \"hookName\": \"data.beforeInsert\",\n * \"timestamp\": 1706659200000,\n * \"args\": [{ \"object\": \"customer\", \"data\": {...} }],\n * \"handlerCount\": 3\n * }\n */\nexport const HookTriggeredEventSchema = z.object({\n /**\n * Hook name\n */\n hookName: z.string().describe('Name of the hook'),\n \n /**\n * Event timestamp (Unix milliseconds)\n */\n timestamp: z.number().int().describe('Unix timestamp in milliseconds'),\n \n /**\n * Arguments passed to the hook\n */\n args: z.array(z.unknown()).describe('Arguments passed to the hook handlers'),\n \n /**\n * Number of handlers that will handle this event\n */\n handlerCount: z.number().int().min(0).optional().describe('Number of handlers that will handle this event'),\n});\n\nexport type HookTriggeredEvent = z.infer<typeof HookTriggeredEventSchema>;\n\n// ============================================================================\n// Kernel Event Schemas\n// ============================================================================\n\n/**\n * Kernel Event Base Schema\n * Common fields for kernel events\n */\nexport const KernelEventBaseSchema = z.object({\n /**\n * Event timestamp (Unix milliseconds)\n */\n timestamp: z.number().int().describe('Unix timestamp in milliseconds'),\n});\n\n/**\n * Kernel Ready Event Schema\n * \n * @example\n * {\n * \"timestamp\": 1706659200000,\n * \"duration\": 5400,\n * \"pluginCount\": 12\n * }\n */\nexport const KernelReadyEventSchema = KernelEventBaseSchema.extend({\n /**\n * Total initialization duration (milliseconds)\n */\n duration: z.number().min(0).optional().describe('Total initialization duration in milliseconds'),\n \n /**\n * Number of plugins initialized\n */\n pluginCount: z.number().int().min(0).optional().describe('Number of plugins initialized'),\n});\n\nexport type KernelReadyEvent = z.infer<typeof KernelReadyEventSchema>;\n\n/**\n * Kernel Shutdown Event Schema\n * \n * @example\n * {\n * \"timestamp\": 1706659200000,\n * \"reason\": \"SIGTERM received\"\n * }\n */\nexport const KernelShutdownEventSchema = KernelEventBaseSchema.extend({\n /**\n * Shutdown reason (optional)\n */\n reason: z.string().optional().describe('Reason for kernel shutdown'),\n});\n\nexport type KernelShutdownEvent = z.infer<typeof KernelShutdownEventSchema>;\n\n// ============================================================================\n// Event Type Registry\n// ============================================================================\n\n/**\n * Plugin Lifecycle Event Type Enum\n * All possible plugin lifecycle event types\n */\nexport const PluginLifecycleEventType = z.enum([\n 'kernel:ready',\n 'kernel:shutdown',\n 'kernel:before-init',\n 'kernel:after-init',\n 'plugin:registered',\n 'plugin:before-init',\n 'plugin:init',\n 'plugin:after-init',\n 'plugin:before-start',\n 'plugin:started',\n 'plugin:after-start',\n 'plugin:before-destroy',\n 'plugin:destroyed',\n 'plugin:after-destroy',\n 'plugin:error',\n 'service:registered',\n 'service:unregistered',\n 'hook:registered',\n 'hook:triggered',\n]).describe('Plugin lifecycle event type');\n\nexport type PluginLifecycleEventType = z.infer<typeof PluginLifecycleEventType>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # Plugin Runtime Management Protocol\n * \n * Defines the protocol for dynamic plugin loading, unloading, and discovery\n * at runtime. Addresses the \"Dynamic Loading\" gap in the microkernel architecture\n * by enabling plugins to be loaded and unloaded without restarting the kernel.\n * \n * Inspired by:\n * - OSGi Dynamic Module System (bundle lifecycle)\n * - Kubernetes Operator pattern (reconciliation loop)\n * - VS Code Extension Host (activation events)\n * \n * This protocol enables:\n * - Runtime load/unload of plugins without kernel restart\n * - Plugin discovery from registries and local filesystem\n * - Activation events (load plugin only when needed)\n * - Safe unload with dependency awareness\n */\n\n/**\n * Dynamic Plugin Operation Type\n * Operations that can be performed on plugins at runtime\n */\nexport const DynamicPluginOperationSchema = z.enum([\n 'load', // Load and initialize a plugin at runtime\n 'unload', // Gracefully unload a running plugin\n 'reload', // Unload then load (e.g., version upgrade)\n 'enable', // Enable a loaded but disabled plugin\n 'disable', // Disable a running plugin without unloading\n]).describe('Runtime plugin operation type');\n\n/**\n * Plugin Source\n * Where to resolve a plugin for dynamic loading\n */\nexport const PluginSourceSchema = z.object({\n /**\n * Source type\n */\n type: z.enum([\n 'npm', // npm registry package\n 'local', // Local filesystem path\n 'url', // Remote URL (tarball or module)\n 'registry', // ObjectStack plugin registry\n 'git', // Git repository\n ]).describe('Plugin source type'),\n \n /**\n * Source location (package name, path, URL, or git repo)\n */\n location: z.string().describe('Package name, file path, URL, or git repository'),\n \n /**\n * Version constraint (semver range)\n */\n version: z.string().optional().describe('Semver version range (e.g., \"^1.0.0\")'),\n \n /**\n * Integrity hash for verification\n */\n integrity: z.string().optional().describe('Subresource Integrity hash (e.g., \"sha384-...\")'),\n}).describe('Plugin source location for dynamic resolution');\n\n/**\n * Activation Event\n * Defines when a dynamically available plugin should be activated.\n * Plugins remain dormant until an activation event fires.\n */\nexport const ActivationEventSchema = z.object({\n /**\n * Event type\n */\n type: z.enum([\n 'onCommand', // Activate when a specific command is executed\n 'onRoute', // Activate when a URL route is matched\n 'onObject', // Activate when a specific object type is accessed\n 'onEvent', // Activate when a system event fires\n 'onService', // Activate when a service is requested\n 'onSchedule', // Activate on a cron schedule\n 'onStartup', // Activate immediately on kernel startup\n ]).describe('Trigger type for lazy activation'),\n \n /**\n * Pattern to match (command name, route glob, object name, event pattern, etc.)\n */\n pattern: z.string().describe('Match pattern for the activation trigger'),\n}).describe('Lazy activation trigger for a dynamic plugin');\n\n/**\n * Dynamic Load Request\n * Request to load a plugin at runtime\n */\nexport const DynamicLoadRequestSchema = z.object({\n /**\n * Plugin identifier to load\n */\n pluginId: z.string().describe('Unique plugin identifier'),\n \n /**\n * Plugin source\n */\n source: PluginSourceSchema,\n \n /**\n * Activation events (if omitted, plugin activates immediately)\n */\n activationEvents: z.array(ActivationEventSchema).optional()\n .describe('Lazy activation triggers; if omitted plugin starts immediately'),\n \n /**\n * Configuration overrides for the plugin\n */\n config: z.record(z.string(), z.unknown()).optional()\n .describe('Runtime configuration overrides'),\n \n /**\n * Loading priority (lower = higher priority)\n */\n priority: z.number().int().min(0).default(100)\n .describe('Loading priority (lower is higher)'),\n \n /**\n * Whether to enable sandboxing for this dynamically loaded plugin\n */\n sandbox: z.boolean().default(false)\n .describe('Run in an isolated sandbox'),\n \n /**\n * Timeout for the load operation in milliseconds\n */\n timeout: z.number().int().min(1000).default(60000)\n .describe('Maximum time to complete loading in ms'),\n}).describe('Request to dynamically load a plugin at runtime');\n\n/**\n * Dynamic Unload Request\n * Request to unload a plugin at runtime\n */\nexport const DynamicUnloadRequestSchema = z.object({\n /**\n * Plugin identifier to unload\n */\n pluginId: z.string().describe('Plugin to unload'),\n \n /**\n * Unload strategy\n */\n strategy: z.enum([\n 'graceful', // Wait for in-flight requests, then unload\n 'forceful', // Unload immediately, cancel pending work\n 'drain', // Stop accepting new work, finish existing, then unload\n ]).default('graceful').describe('How to handle in-flight work during unload'),\n \n /**\n * Timeout for the unload operation in milliseconds\n */\n timeout: z.number().int().min(1000).default(30000)\n .describe('Maximum time to complete unloading in ms'),\n \n /**\n * Whether to remove cached artifacts\n */\n cleanupCache: z.boolean().default(false)\n .describe('Remove cached code and assets after unload'),\n \n /**\n * Action for dependents: plugins that depend on this one\n */\n dependentAction: z.enum([\n 'cascade', // Also unload dependent plugins\n 'warn', // Warn about dependents but proceed\n 'block', // Block unload if dependents exist\n ]).default('block').describe('How to handle plugins that depend on this one'),\n}).describe('Request to dynamically unload a plugin at runtime');\n\n/**\n * Dynamic Plugin Operation Result\n * Result of a dynamic load/unload/reload operation\n */\nexport const DynamicPluginResultSchema = z.object({\n /**\n * Whether the operation succeeded\n */\n success: z.boolean(),\n \n /**\n * The operation that was performed\n */\n operation: DynamicPluginOperationSchema,\n \n /**\n * Plugin identifier\n */\n pluginId: z.string(),\n \n /**\n * Operation duration in milliseconds\n */\n durationMs: z.number().int().min(0).optional(),\n \n /**\n * Resulting plugin version (for load/reload)\n */\n version: z.string().optional(),\n \n /**\n * Error details if operation failed\n */\n error: z.object({\n code: z.string().describe('Machine-readable error code'),\n message: z.string().describe('Human-readable error message'),\n details: z.record(z.string(), z.unknown()).optional(),\n }).optional(),\n \n /**\n * Warnings (e.g., dependents affected)\n */\n warnings: z.array(z.string()).optional(),\n}).describe('Result of a dynamic plugin operation');\n\n/**\n * Plugin Discovery Source\n * Defines where to discover available plugins at runtime\n */\nexport const PluginDiscoverySourceSchema = z.object({\n /**\n * Discovery source type\n */\n type: z.enum([\n 'registry', // ObjectStack plugin registry API\n 'npm', // npm registry search\n 'directory', // Local filesystem directory scan\n 'url', // Remote manifest URL\n ]).describe('Discovery source type'),\n \n /**\n * Source endpoint or path\n */\n endpoint: z.string().describe('Registry URL, directory path, or manifest URL'),\n \n /**\n * Polling interval in milliseconds (0 = manual only)\n */\n pollInterval: z.number().int().min(0).default(0)\n .describe('How often to re-scan for new plugins (0 = manual)'),\n \n /**\n * Filter criteria for discovered plugins\n */\n filter: z.object({\n /**\n * Only discover plugins matching these tags\n */\n tags: z.array(z.string()).optional(),\n \n /**\n * Only discover plugins from these vendors\n */\n vendors: z.array(z.string()).optional(),\n \n /**\n * Minimum trust level\n */\n minTrustLevel: z.enum(['verified', 'trusted', 'community', 'untrusted']).optional(),\n }).optional(),\n}).describe('Source for runtime plugin discovery');\n\n/**\n * Plugin Discovery Configuration\n * Controls how the kernel discovers available plugins at runtime\n */\nexport const PluginDiscoveryConfigSchema = z.object({\n /**\n * Enable runtime plugin discovery\n */\n enabled: z.boolean().default(false),\n \n /**\n * Discovery sources\n */\n sources: z.array(PluginDiscoverySourceSchema).default([]),\n \n /**\n * Auto-load discovered plugins matching criteria\n */\n autoLoad: z.boolean().default(false)\n .describe('Automatically load newly discovered plugins'),\n \n /**\n * Require approval before loading discovered plugins\n */\n requireApproval: z.boolean().default(true)\n .describe('Require admin approval before loading discovered plugins'),\n}).describe('Runtime plugin discovery configuration');\n\n/**\n * Dynamic Loading Configuration\n * Top-level configuration for the dynamic plugin loading subsystem\n */\nexport const DynamicLoadingConfigSchema = z.object({\n /**\n * Enable dynamic loading/unloading at runtime\n */\n enabled: z.boolean().default(false)\n .describe('Enable runtime load/unload of plugins'),\n \n /**\n * Maximum number of dynamically loaded plugins\n */\n maxDynamicPlugins: z.number().int().min(1).default(50)\n .describe('Upper limit on runtime-loaded plugins'),\n \n /**\n * Plugin discovery configuration\n */\n discovery: PluginDiscoveryConfigSchema.optional(),\n \n /**\n * Default sandbox policy for dynamically loaded plugins\n */\n defaultSandbox: z.boolean().default(true)\n .describe('Sandbox dynamically loaded plugins by default'),\n \n /**\n * Allowed plugin sources (empty = all allowed)\n */\n allowedSources: z.array(z.enum(['npm', 'local', 'url', 'registry', 'git'])).optional()\n .describe('Restrict which source types are permitted'),\n \n /**\n * Require integrity verification for remote plugins\n */\n requireIntegrity: z.boolean().default(true)\n .describe('Require integrity hash verification for remote sources'),\n \n /**\n * Global timeout for dynamic operations in milliseconds\n */\n operationTimeout: z.number().int().min(1000).default(60000)\n .describe('Default timeout for load/unload operations in ms'),\n}).describe('Dynamic plugin loading subsystem configuration');\n\n// Export types\nexport type DynamicPluginOperation = z.infer<typeof DynamicPluginOperationSchema>;\nexport type PluginSource = z.infer<typeof PluginSourceSchema>;\nexport type ActivationEvent = z.infer<typeof ActivationEventSchema>;\nexport type DynamicLoadRequest = z.infer<typeof DynamicLoadRequestSchema>;\nexport type DynamicUnloadRequest = z.infer<typeof DynamicUnloadRequestSchema>;\nexport type DynamicPluginResult = z.infer<typeof DynamicPluginResultSchema>;\nexport type PluginDiscoverySource = z.infer<typeof PluginDiscoverySourceSchema>;\nexport type PluginDiscoveryConfig = z.infer<typeof PluginDiscoveryConfigSchema>;\nexport type DynamicLoadingConfig = z.infer<typeof DynamicLoadingConfigSchema>;\n\n// Export input types for schemas with defaults\nexport type DynamicLoadRequestInput = z.input<typeof DynamicLoadRequestSchema>;\nexport type DynamicUnloadRequestInput = z.input<typeof DynamicUnloadRequestSchema>;\nexport type DynamicLoadingConfigInput = z.input<typeof DynamicLoadingConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # Plugin Security and Sandboxing Protocol\n * \n * Defines comprehensive security mechanisms for plugin isolation, permission\n * management, and threat protection in the ObjectStack ecosystem.\n * \n * Features:\n * - Fine-grained permission system\n * - Resource access control\n * - Sandboxing and isolation\n * - Security scanning and verification\n * - Runtime security monitoring\n */\n\n/**\n * Permission Scope\n * Defines the scope of a permission\n */\nexport const PermissionScopeSchema = z.enum([\n 'global', // Applies to entire system\n 'tenant', // Applies to specific tenant\n 'user', // Applies to specific user\n 'resource', // Applies to specific resource\n 'plugin', // Applies within plugin boundaries\n]).describe('Scope of permission application');\n\n/**\n * Permission Action\n * Standard CRUD + extended actions\n */\nexport const PermissionActionSchema = z.enum([\n 'create', // Create new resources\n 'read', // Read existing resources\n 'update', // Update existing resources\n 'delete', // Delete resources\n 'execute', // Execute operations/functions\n 'manage', // Full management rights\n 'configure', // Configuration changes\n 'share', // Share with others\n 'export', // Export data\n 'import', // Import data\n 'admin', // Administrative access\n]).describe('Type of action being permitted');\n\n/**\n * Resource Type\n * Types of resources that can be accessed\n */\nexport const ResourceTypeSchema = z.enum([\n 'data.object', // ObjectQL objects\n 'data.record', // Individual records\n 'data.field', // Specific fields\n 'ui.view', // UI views\n 'ui.dashboard', // Dashboards\n 'ui.report', // Reports\n 'system.config', // System configuration\n 'system.plugin', // Other plugins\n 'system.api', // API endpoints\n 'system.service', // System services\n 'storage.file', // File storage\n 'storage.database', // Database access\n 'network.http', // HTTP requests\n 'network.websocket', // WebSocket connections\n 'process.spawn', // Process spawning\n 'process.env', // Environment variables\n]).describe('Type of resource being accessed');\n\n/**\n * Permission Definition\n * Defines a single permission requirement\n */\nexport const PermissionSchema = z.object({\n /**\n * Permission identifier\n */\n id: z.string().describe('Unique permission identifier'),\n \n /**\n * Resource type\n */\n resource: ResourceTypeSchema,\n \n /**\n * Allowed actions\n */\n actions: z.array(PermissionActionSchema),\n \n /**\n * Permission scope\n */\n scope: PermissionScopeSchema.default('plugin'),\n \n /**\n * Resource filter\n */\n filter: z.object({\n /**\n * Specific resource IDs\n */\n resourceIds: z.array(z.string()).optional(),\n \n /**\n * Filter condition\n */\n condition: z.string().optional().describe('Filter expression (e.g., owner = currentUser)'),\n \n /**\n * Field-level access\n */\n fields: z.array(z.string()).optional().describe('Allowed fields for data resources'),\n }).optional(),\n \n /**\n * Human-readable description\n */\n description: z.string(),\n \n /**\n * Whether this permission is required or optional\n */\n required: z.boolean().default(true),\n \n /**\n * Justification for permission\n */\n justification: z.string().optional().describe('Why this permission is needed'),\n});\n\n/**\n * Permission Set\n * Collection of permissions for a plugin\n */\nexport const PermissionSetSchema = z.object({\n /**\n * All permissions required by plugin\n */\n permissions: z.array(PermissionSchema),\n \n /**\n * Permission groups for easier management\n */\n groups: z.array(z.object({\n name: z.string().describe('Group name'),\n description: z.string(),\n permissions: z.array(z.string()).describe('Permission IDs in this group'),\n })).optional(),\n \n /**\n * Default grant strategy\n */\n defaultGrant: z.enum([\n 'prompt', // Always prompt user\n 'allow', // Allow by default\n 'deny', // Deny by default\n 'inherit', // Inherit from parent\n ]).default('prompt'),\n});\n\n/**\n * Runtime Configuration\n * Defines the execution environment for plugin isolation\n */\nexport const RuntimeConfigSchema = z.object({\n /**\n * Runtime engine type\n */\n engine: z.enum([\n 'v8-isolate', // V8 isolate-based isolation (lightweight, fast)\n 'wasm', // WebAssembly-based isolation (secure, portable)\n 'container', // Container-based isolation (Docker, podman)\n 'process', // Process-based isolation (traditional)\n ]).default('v8-isolate')\n .describe('Execution environment engine'),\n \n /**\n * Engine-specific configuration\n */\n engineConfig: z.object({\n /**\n * WASM-specific settings (when engine is \"wasm\")\n */\n wasm: z.object({\n /**\n * Maximum memory pages (64KB per page)\n */\n maxMemoryPages: z.number().int().min(1).max(65536).optional()\n .describe('Maximum WASM memory pages (64KB each)'),\n \n /**\n * Instruction execution limit\n */\n instructionLimit: z.number().int().min(1).optional()\n .describe('Maximum instructions before timeout'),\n \n /**\n * Enable SIMD instructions\n */\n enableSimd: z.boolean().default(false)\n .describe('Enable WebAssembly SIMD support'),\n \n /**\n * Enable threads\n */\n enableThreads: z.boolean().default(false)\n .describe('Enable WebAssembly threads'),\n \n /**\n * Enable bulk memory operations\n */\n enableBulkMemory: z.boolean().default(true)\n .describe('Enable bulk memory operations'),\n }).optional(),\n \n /**\n * Container-specific settings (when engine is \"container\")\n */\n container: z.object({\n /**\n * Container image\n */\n image: z.string().optional()\n .describe('Container image to use'),\n \n /**\n * Container runtime\n */\n runtime: z.enum(['docker', 'podman', 'containerd']).default('docker'),\n \n /**\n * Resource limits\n */\n resources: z.object({\n cpuLimit: z.string().optional().describe('CPU limit (e.g., \"0.5\", \"2\")'),\n memoryLimit: z.string().optional().describe('Memory limit (e.g., \"512m\", \"1g\")'),\n }).optional(),\n \n /**\n * Network mode\n */\n networkMode: z.enum(['none', 'bridge', 'host']).default('bridge'),\n }).optional(),\n \n /**\n * V8 Isolate-specific settings (when engine is \"v8-isolate\")\n */\n v8Isolate: z.object({\n /**\n * Heap size limit in MB\n */\n heapSizeMb: z.number().int().min(1).optional(),\n \n /**\n * Enable snapshot\n */\n enableSnapshot: z.boolean().default(true),\n }).optional(),\n }).optional(),\n \n /**\n * General resource limits (applies to all engines)\n */\n resourceLimits: z.object({\n /**\n * Maximum memory in bytes\n */\n maxMemory: z.number().int().optional()\n .describe('Maximum memory allocation'),\n \n /**\n * Maximum CPU percentage\n */\n maxCpu: z.number().min(0).max(100).optional()\n .describe('Maximum CPU usage percentage'),\n \n /**\n * Execution timeout in milliseconds\n */\n timeout: z.number().int().min(0).optional()\n .describe('Maximum execution time'),\n }).optional(),\n});\n\n/**\n * Sandbox Configuration\n * Defines how plugin is isolated\n */\nexport const SandboxConfigSchema = z.object({\n /**\n * Enable sandboxing\n */\n enabled: z.boolean().default(true),\n \n /**\n * Sandboxing level\n */\n level: z.enum([\n 'none', // No sandboxing\n 'minimal', // Basic isolation\n 'standard', // Standard sandboxing\n 'strict', // Strict isolation\n 'paranoid', // Maximum isolation\n ]).default('standard'),\n \n /**\n * Runtime environment configuration\n */\n runtime: RuntimeConfigSchema.optional()\n .describe('Execution environment and isolation settings'),\n \n /**\n * File system access\n */\n filesystem: z.object({\n mode: z.enum(['none', 'readonly', 'restricted', 'full']).default('restricted'),\n allowedPaths: z.array(z.string()).optional().describe('Whitelisted paths'),\n deniedPaths: z.array(z.string()).optional().describe('Blacklisted paths'),\n maxFileSize: z.number().int().optional().describe('Maximum file size in bytes'),\n }).optional(),\n \n /**\n * Network access\n */\n network: z.object({\n mode: z.enum(['none', 'local', 'restricted', 'full']).default('restricted'),\n allowedHosts: z.array(z.string()).optional().describe('Whitelisted hosts'),\n deniedHosts: z.array(z.string()).optional().describe('Blacklisted hosts'),\n allowedPorts: z.array(z.number()).optional().describe('Allowed port numbers'),\n maxConnections: z.number().int().optional(),\n }).optional(),\n \n /**\n * Process execution\n */\n process: z.object({\n allowSpawn: z.boolean().default(false).describe('Allow spawning child processes'),\n allowedCommands: z.array(z.string()).optional().describe('Whitelisted commands'),\n timeout: z.number().int().optional().describe('Process timeout in ms'),\n }).optional(),\n \n /**\n * Memory limits\n */\n memory: z.object({\n maxHeap: z.number().int().optional().describe('Maximum heap size in bytes'),\n maxStack: z.number().int().optional().describe('Maximum stack size in bytes'),\n }).optional(),\n \n /**\n * CPU limits\n */\n cpu: z.object({\n maxCpuPercent: z.number().min(0).max(100).optional(),\n maxThreads: z.number().int().optional(),\n }).optional(),\n \n /**\n * Environment variables\n */\n environment: z.object({\n mode: z.enum(['none', 'readonly', 'restricted', 'full']).default('readonly'),\n allowedVars: z.array(z.string()).optional(),\n deniedVars: z.array(z.string()).optional(),\n }).optional(),\n});\n\n/**\n * Security Vulnerability\n * Represents a known security vulnerability\n */\nexport const KernelSecurityVulnerabilitySchema = z.object({\n /**\n * CVE identifier\n */\n cve: z.string().optional(),\n \n /**\n * Vulnerability identifier\n */\n id: z.string(),\n \n /**\n * Severity level\n */\n severity: z.enum(['critical', 'high', 'medium', 'low', 'info']),\n \n /**\n * Category (e.g., SAST, DAST, Dependency)\n */\n category: z.string().optional(),\n\n /**\n * Title\n */\n title: z.string(),\n \n /**\n * Location of the vulnerability\n */\n location: z.string().optional(),\n\n /**\n * Remediation steps\n */\n remediation: z.string().optional(),\n\n /**\n * Description\n */\n description: z.string(),\n \n /**\n * Affected versions\n */\n affectedVersions: z.array(z.string()),\n \n /**\n * Fixed in versions\n */\n fixedIn: z.array(z.string()).optional(),\n \n /**\n * CVSS score\n */\n cvssScore: z.number().min(0).max(10).optional(),\n \n /**\n * Exploit availability\n */\n exploitAvailable: z.boolean().default(false),\n \n /**\n * Patch available\n */\n patchAvailable: z.boolean().default(false),\n \n /**\n * Workaround\n */\n workaround: z.string().optional(),\n \n /**\n * References\n */\n references: z.array(z.string()).optional(),\n \n /**\n * Discovered date\n */\n discoveredDate: z.string().datetime().optional(),\n \n /**\n * Published date\n */\n publishedDate: z.string().datetime().optional(),\n});\n\n/**\n * Security Scan Result\n * Result of security scanning\n */\nexport const KernelSecurityScanResultSchema = z.object({\n /**\n * Scan timestamp\n */\n timestamp: z.string().datetime(),\n \n /**\n * Scanner information\n */\n scanner: z.object({\n name: z.string(),\n version: z.string(),\n }),\n \n /**\n * Overall status\n */\n status: z.enum(['passed', 'failed', 'warning']),\n \n /**\n * Vulnerabilities found\n */\n vulnerabilities: z.array(KernelSecurityVulnerabilitySchema).optional(),\n \n /**\n * Code quality issues\n */\n codeIssues: z.array(z.object({\n severity: z.enum(['error', 'warning', 'info']),\n type: z.string().describe('Issue type (e.g., sql-injection, xss)'),\n file: z.string(),\n line: z.number().int().optional(),\n message: z.string(),\n suggestion: z.string().optional(),\n })).optional(),\n \n /**\n * Dependency vulnerabilities\n */\n dependencyVulnerabilities: z.array(z.object({\n package: z.string(),\n version: z.string(),\n vulnerability: KernelSecurityVulnerabilitySchema,\n })).optional(),\n \n /**\n * License compliance\n */\n licenseCompliance: z.object({\n status: z.enum(['compliant', 'non-compliant', 'unknown']),\n issues: z.array(z.object({\n package: z.string(),\n license: z.string(),\n reason: z.string(),\n })).optional(),\n }).optional(),\n \n /**\n * Summary statistics\n */\n summary: z.object({\n totalVulnerabilities: z.number().int(),\n criticalCount: z.number().int(),\n highCount: z.number().int(),\n mediumCount: z.number().int(),\n lowCount: z.number().int(),\n infoCount: z.number().int(),\n }),\n});\n\n/**\n * Security Policy\n * Defines security policies for plugin\n */\nexport const KernelSecurityPolicySchema = z.object({\n /**\n * Content Security Policy\n */\n csp: z.object({\n directives: z.record(z.string(), z.array(z.string())).optional(),\n reportOnly: z.boolean().default(false),\n }).optional(),\n \n /**\n * CORS policy\n */\n cors: z.object({\n allowedOrigins: z.array(z.string()),\n allowedMethods: z.array(z.string()),\n allowedHeaders: z.array(z.string()),\n allowCredentials: z.boolean().default(false),\n maxAge: z.number().int().optional(),\n }).optional(),\n \n /**\n * Rate limiting\n */\n rateLimit: z.object({\n enabled: z.boolean().default(true),\n maxRequests: z.number().int(),\n windowMs: z.number().int().describe('Time window in milliseconds'),\n strategy: z.enum(['fixed', 'sliding', 'token-bucket']).default('sliding'),\n }).optional(),\n \n /**\n * Authentication requirements\n */\n authentication: z.object({\n required: z.boolean().default(true),\n methods: z.array(z.enum(['jwt', 'oauth2', 'api-key', 'session', 'certificate'])),\n tokenExpiration: z.number().int().optional().describe('Token expiration in seconds'),\n }).optional(),\n \n /**\n * Encryption requirements\n */\n encryption: z.object({\n dataAtRest: z.boolean().default(false).describe('Encrypt data at rest'),\n dataInTransit: z.boolean().default(true).describe('Enforce HTTPS/TLS'),\n algorithm: z.string().optional().describe('Encryption algorithm'),\n minKeyLength: z.number().int().optional().describe('Minimum key length in bits'),\n }).optional(),\n \n /**\n * Audit logging\n */\n auditLog: z.object({\n enabled: z.boolean().default(true),\n events: z.array(z.string()).optional().describe('Events to log'),\n retention: z.number().int().optional().describe('Log retention in days'),\n }).optional(),\n});\n\n/**\n * Plugin Trust Level\n * Indicates trust level of plugin\n */\nexport const PluginTrustLevelSchema = z.enum([\n 'verified', // Official/verified plugin\n 'trusted', // Trusted third-party\n 'community', // Community plugin\n 'untrusted', // Unverified plugin\n 'blocked', // Blocked/malicious\n]).describe('Trust level of the plugin');\n\n/**\n * Plugin Security Manifest\n * Complete security information for plugin\n */\nexport const PluginSecurityManifestSchema = z.object({\n /**\n * Plugin identifier\n */\n pluginId: z.string(),\n \n /**\n * Trust level\n */\n trustLevel: PluginTrustLevelSchema,\n \n /**\n * Required permissions\n */\n permissions: PermissionSetSchema,\n \n /**\n * Sandbox configuration\n */\n sandbox: SandboxConfigSchema,\n \n /**\n * Security policy\n */\n policy: KernelSecurityPolicySchema.optional(),\n \n /**\n * Security scan results\n */\n scanResults: z.array(KernelSecurityScanResultSchema).optional(),\n \n /**\n * Known vulnerabilities\n */\n vulnerabilities: z.array(KernelSecurityVulnerabilitySchema).optional(),\n \n /**\n * Code signing\n */\n codeSigning: z.object({\n signed: z.boolean(),\n signature: z.string().optional(),\n certificate: z.string().optional(),\n algorithm: z.string().optional(),\n timestamp: z.string().datetime().optional(),\n }).optional(),\n \n /**\n * Security certifications\n */\n certifications: z.array(z.object({\n name: z.string().describe('Certification name (e.g., SOC 2, ISO 27001)'),\n issuer: z.string(),\n issuedDate: z.string().datetime(),\n expiryDate: z.string().datetime().optional(),\n certificateUrl: z.string().url().optional(),\n })).optional(),\n \n /**\n * Security contact\n */\n securityContact: z.object({\n email: z.string().email().optional(),\n url: z.string().url().optional(),\n pgpKey: z.string().optional(),\n }).optional(),\n \n /**\n * Vulnerability disclosure policy\n */\n vulnerabilityDisclosure: z.object({\n policyUrl: z.string().url().optional(),\n responseTime: z.number().int().optional().describe('Expected response time in hours'),\n bugBounty: z.boolean().default(false),\n }).optional(),\n});\n\n// Export types\nexport type PermissionScope = z.infer<typeof PermissionScopeSchema>;\nexport type PermissionAction = z.infer<typeof PermissionActionSchema>;\nexport type ResourceType = z.infer<typeof ResourceTypeSchema>;\nexport type Permission = z.infer<typeof PermissionSchema>;\nexport type PermissionSet = z.infer<typeof PermissionSetSchema>;\nexport type RuntimeConfig = z.infer<typeof RuntimeConfigSchema>;\nexport type SandboxConfig = z.infer<typeof SandboxConfigSchema>;\nexport type KernelSecurityVulnerability = z.infer<typeof KernelSecurityVulnerabilitySchema>;\nexport type KernelSecurityScanResult = z.infer<typeof KernelSecurityScanResultSchema>;\nexport type KernelSecurityPolicy = z.infer<typeof KernelSecurityPolicySchema>;\nexport type PluginTrustLevel = z.infer<typeof PluginTrustLevelSchema>;\nexport type PluginSecurityManifest = z.infer<typeof PluginSecurityManifestSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * ObjectStack Plugin Structure Standards (OPS)\n * \n * Formal Zod definitions for the Plugin Directory Structure and File Naming conventions.\n * This can be used by the CLI or IDE extensions to lint project structure.\n * \n * @see PLUGIN_STANDARDS.md\n */\n\n// REGEX: snake_case identifiers\nconst SNAKE_CASE_REGEX = /^[a-z][a-z0-9_]*$/;\n\n// REGEX: Standard File Suffixes\nconst OPS_FILE_SUFFIX_REGEX = /\\.(object|field|trigger|function|view|page|dashboard|flow|app|router|service)\\.ts$/;\n\n/**\n * Validates a single file path against OPS Naming Conventions.\n * \n * @example Valid Paths\n * - \"src/crm/lead.object.ts\"\n * - \"src/finance/invoice_payment.trigger.ts\"\n * - \"src/index.ts\"\n * \n * @example Invalid Paths\n * - \"src/CRM/LeadObject.ts\" (PascalCase)\n * - \"src/utils/helper.js\" (Wrong extension)\n */\nexport const OpsFilePathSchema = z.string().describe('Validates a file path against OPS naming conventions').superRefine((path, ctx) => {\n // 1. Must be in src/\n if (!path.startsWith('src/')) {\n // Non-source files (package.json, config) are ignored by this specific validator\n // or handled separately.\n return; \n }\n\n const parts = path.split('/');\n \n // 2. Validate Domain Directory (src/[domain])\n if (parts.length > 2) {\n const domainDir = parts[1];\n if (!SNAKE_CASE_REGEX.test(domainDir)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Domain directory '${domainDir}' must be lowercase snake_case`\n });\n }\n }\n\n // 3. Validate Filename suffix\n const filename = parts[parts.length - 1];\n \n // Skip index.ts and utility files if they don't match the specific resource pattern\n // But strict OPS encourages explicit suffixes for resources.\n if (filename === 'index.ts' || filename === 'main.ts') return;\n\n if (!SNAKE_CASE_REGEX.test(filename.split('.')[0])) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Filename '${filename}' base name must be lowercase snake_case`\n });\n }\n\n if (!OPS_FILE_SUFFIX_REGEX.test(filename)) {\n // We allow other files, but we warn or mark them as non-standard resources\n // For strict mode:\n // ctx.addIssue({\n // code: z.ZodIssueCode.custom,\n // message: `Filename '${filename}' does not end with a valid semantic suffix (.object.ts, .view.ts, etc.)`\n // });\n }\n});\n\n/**\n * Schema for a \"Scanned Module\" structure.\n * Represents the contents of a domain folder.\n */\nexport const OpsDomainModuleSchema = z.object({\n name: z.string().regex(SNAKE_CASE_REGEX).describe('Module name (snake_case)'),\n files: z.array(z.string()).describe('List of files in this module'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Custom metadata key-value pairs for extensibility'),\n}).describe('Scanned domain module representing a plugin folder').superRefine((module, ctx) => {\n // Rule: Must have an index.ts\n if (!module.files.includes('index.ts')) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Module '${module.name}' is missing an 'index.ts' entry point.`\n });\n }\n});\n\n/**\n * Schema for a full Plugin Project Layout\n */\nexport const OpsPluginStructureSchema = z.object({\n root: z.string().describe('Root directory path of the plugin project'),\n files: z.array(z.string()).describe('List of all file paths relative to root'),\n metadata: z.record(z.string(), z.unknown()).optional().describe('Custom metadata key-value pairs for extensibility'),\n}).describe('Full plugin project layout validated against OPS conventions').superRefine((project, ctx) => {\n // Check for configuration file\n if (!project.files.includes('objectstack.config.ts')) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"Missing 'objectstack.config.ts' configuration file.\"\n });\n }\n \n // Validate each source file individually\n project.files.filter(f => f.startsWith('src/')).forEach(file => {\n const result = OpsFilePathSchema.safeParse(file);\n if (!result.success) {\n result.error.issues.forEach(issue => {\n ctx.addIssue({ ...issue, path: [file] });\n })\n }\n });\n});\n\nexport type OpsFilePath = z.infer<typeof OpsFilePathSchema>;\nexport type OpsDomainModule = z.infer<typeof OpsDomainModuleSchema>;\nexport type OpsPluginStructure = z.infer<typeof OpsPluginStructureSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Plugin Validator Protocol\n * \n * Zod schemas for plugin validation data structures.\n * These schemas align with the IPluginValidator contract interface.\n * \n * Following ObjectStack \"Zod First\" principle - all data structures\n * must have Zod schemas for runtime validation and JSON Schema generation.\n */\n\n// ============================================================================\n// Validation Result Schemas\n// ============================================================================\n\n/**\n * Validation Error Schema\n * Represents a single validation error\n * \n * @example\n * {\n * \"field\": \"version\",\n * \"message\": \"Invalid semver format\",\n * \"code\": \"INVALID_VERSION\"\n * }\n */\nexport const ValidationErrorSchema = z.object({\n /**\n * Field that failed validation\n */\n field: z.string().describe('Field name that failed validation'),\n \n /**\n * Human-readable error message\n */\n message: z.string().describe('Human-readable error message'),\n \n /**\n * Machine-readable error code (optional)\n */\n code: z.string().optional().describe('Machine-readable error code'),\n});\n\nexport type ValidationError = z.infer<typeof ValidationErrorSchema>;\n\n/**\n * Validation Warning Schema\n * Represents a non-fatal validation warning\n * \n * @example\n * {\n * \"field\": \"description\",\n * \"message\": \"Description is empty\",\n * \"code\": \"MISSING_DESCRIPTION\"\n * }\n */\nexport const ValidationWarningSchema = z.object({\n /**\n * Field with warning\n */\n field: z.string().describe('Field name with warning'),\n \n /**\n * Human-readable warning message\n */\n message: z.string().describe('Human-readable warning message'),\n \n /**\n * Machine-readable warning code (optional)\n */\n code: z.string().optional().describe('Machine-readable warning code'),\n});\n\nexport type ValidationWarning = z.infer<typeof ValidationWarningSchema>;\n\n/**\n * Validation Result Schema\n * Result of plugin validation operation\n * \n * @example\n * {\n * \"valid\": false,\n * \"errors\": [{\n * \"field\": \"name\",\n * \"message\": \"Plugin name is required\",\n * \"code\": \"REQUIRED_FIELD\"\n * }],\n * \"warnings\": [{\n * \"field\": \"description\",\n * \"message\": \"Description is recommended\",\n * \"code\": \"MISSING_DESCRIPTION\"\n * }]\n * }\n */\nexport const ValidationResultSchema = z.object({\n /**\n * Whether validation passed\n */\n valid: z.boolean().describe('Whether the plugin passed validation'),\n \n /**\n * Validation errors (if any)\n */\n errors: z.array(ValidationErrorSchema).optional().describe('Validation errors'),\n \n /**\n * Validation warnings (non-fatal issues)\n */\n warnings: z.array(ValidationWarningSchema).optional().describe('Validation warnings'),\n});\n\nexport type ValidationResult = z.infer<typeof ValidationResultSchema>;\n\n// ============================================================================\n// Plugin Metadata Schema\n// ============================================================================\n\n/**\n * Plugin Schema\n * Metadata structure for a plugin\n * \n * This aligns with and extends the existing PluginSchema from plugin.zod.ts\n * \n * @example\n * {\n * \"name\": \"crm-plugin\",\n * \"version\": \"1.0.0\",\n * \"dependencies\": [\"core-plugin\"]\n * }\n */\nexport const PluginMetadataSchema = z.object({\n /**\n * Unique plugin identifier (snake_case)\n */\n name: z.string().min(1).describe('Unique plugin identifier'),\n \n /**\n * Plugin version (semver)\n */\n version: z.string().regex(/^\\d+\\.\\d+\\.\\d+$/).optional().describe('Semantic version (e.g., 1.0.0)'),\n \n /**\n * Plugin dependencies (array of plugin names)\n */\n dependencies: z.array(z.string()).optional().describe('Array of plugin names this plugin depends on'),\n \n /**\n * Plugin signature for cryptographic verification (optional)\n */\n signature: z.string().optional().describe('Cryptographic signature for plugin verification'),\n \n /**\n * Additional plugin metadata\n */\n}).passthrough().describe('Plugin metadata for validation');\n\nexport type PluginMetadata = z.infer<typeof PluginMetadataSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # Plugin Versioning and Compatibility Protocol\n * \n * Defines comprehensive versioning, compatibility checking, and dependency\n * resolution mechanisms for the plugin ecosystem.\n * \n * Based on semantic versioning (SemVer) with extensions for:\n * - Compatibility matrices\n * - Breaking change detection\n * - Migration paths\n * - Multi-version support\n */\n\n/**\n * Semantic Version Schema\n * Standard SemVer format with optional pre-release and build metadata\n */\nexport const SemanticVersionSchema = z.object({\n major: z.number().int().min(0).describe('Major version (breaking changes)'),\n minor: z.number().int().min(0).describe('Minor version (backward compatible features)'),\n patch: z.number().int().min(0).describe('Patch version (backward compatible fixes)'),\n preRelease: z.string().optional().describe('Pre-release identifier (alpha, beta, rc.1)'),\n build: z.string().optional().describe('Build metadata'),\n}).describe('Semantic version number');\n\n/**\n * Version Constraint Schema\n * Defines version requirements using SemVer ranges\n */\nexport const VersionConstraintSchema = z.union([\n z.string().regex(/^[\\d.]+$/).describe('Exact version: `1.2.3`'),\n z.string().regex(/^\\^[\\d.]+$/).describe('Compatible with: `^1.2.3` (`>=1.2.3 <2.0.0`)'),\n z.string().regex(/^~[\\d.]+$/).describe('Approximately: `~1.2.3` (`>=1.2.3 <1.3.0`)'),\n z.string().regex(/^>=[\\d.]+$/).describe('Greater than or equal: `>=1.2.3`'),\n z.string().regex(/^>[\\d.]+$/).describe('Greater than: `>1.2.3`'),\n z.string().regex(/^<=[\\d.]+$/).describe('Less than or equal: `<=1.2.3`'),\n z.string().regex(/^<[\\d.]+$/).describe('Less than: `<1.2.3`'),\n z.string().regex(/^[\\d.]+ - [\\d.]+$/).describe('Range: `1.2.3 - 2.3.4`'),\n z.literal('*').describe('Any version'),\n z.literal('latest').describe('Latest stable version'),\n]);\n\n/**\n * Compatibility Level\n * Describes the level of compatibility between versions\n */\nexport const CompatibilityLevelSchema = z.enum([\n 'fully-compatible', // 100% compatible, drop-in replacement\n 'backward-compatible', // Backward compatible, new features added\n 'deprecated-compatible', // Compatible but uses deprecated features\n 'breaking-changes', // Breaking changes, migration required\n 'incompatible', // Completely incompatible\n]).describe('Compatibility level between versions');\n\n/**\n * Breaking Change\n * Documents a breaking change in a version\n */\nexport const BreakingChangeSchema = z.object({\n /**\n * Version where the change was introduced\n */\n introducedIn: z.string().describe('Version that introduced this breaking change'),\n \n /**\n * Type of breaking change\n */\n type: z.enum([\n 'api-removed', // API removed\n 'api-renamed', // API renamed\n 'api-signature-changed', // Function signature changed\n 'behavior-changed', // Behavior changed\n 'dependency-changed', // Dependency requirement changed\n 'configuration-changed', // Configuration schema changed\n 'protocol-changed', // Protocol implementation changed\n ]),\n \n /**\n * What was changed\n */\n description: z.string(),\n \n /**\n * Migration guide\n */\n migrationGuide: z.string().optional().describe('How to migrate from old to new'),\n \n /**\n * Deprecated in version\n */\n deprecatedIn: z.string().optional().describe('Version where old API was deprecated'),\n \n /**\n * Will be removed in version\n */\n removedIn: z.string().optional().describe('Version where old API will be removed'),\n \n /**\n * Automated migration available\n */\n automatedMigration: z.boolean().default(false)\n .describe('Whether automated migration tool is available'),\n \n /**\n * Impact severity\n */\n severity: z.enum(['critical', 'major', 'minor']).describe('Impact severity'),\n});\n\n/**\n * Deprecation Notice\n * Information about deprecated features\n */\nexport const DeprecationNoticeSchema = z.object({\n /**\n * Feature or API being deprecated\n */\n feature: z.string().describe('Deprecated feature identifier'),\n \n /**\n * Version when deprecated\n */\n deprecatedIn: z.string(),\n \n /**\n * Planned removal version\n */\n removeIn: z.string().optional(),\n \n /**\n * Reason for deprecation\n */\n reason: z.string(),\n \n /**\n * Recommended alternative\n */\n alternative: z.string().optional().describe('What to use instead'),\n \n /**\n * Migration path\n */\n migrationPath: z.string().optional().describe('How to migrate to alternative'),\n});\n\n/**\n * Compatibility Matrix Entry\n * Maps compatibility between different plugin versions\n */\nexport const CompatibilityMatrixEntrySchema = z.object({\n /**\n * Source version\n */\n from: z.string().describe('Version being upgraded from'),\n \n /**\n * Target version\n */\n to: z.string().describe('Version being upgraded to'),\n \n /**\n * Compatibility level\n */\n compatibility: CompatibilityLevelSchema,\n \n /**\n * Breaking changes list\n */\n breakingChanges: z.array(BreakingChangeSchema).optional(),\n \n /**\n * Migration required\n */\n migrationRequired: z.boolean().default(false),\n \n /**\n * Migration complexity\n */\n migrationComplexity: z.enum(['trivial', 'simple', 'moderate', 'complex', 'major']).optional(),\n \n /**\n * Estimated migration time in hours\n */\n estimatedMigrationTime: z.number().optional(),\n \n /**\n * Migration script available\n */\n migrationScript: z.string().optional().describe('Path to migration script'),\n \n /**\n * Test coverage for migration\n */\n testCoverage: z.number().min(0).max(100).optional()\n .describe('Percentage of migration covered by tests'),\n});\n\n/**\n * Plugin Compatibility Matrix\n * Complete compatibility information for a plugin\n */\nexport const PluginCompatibilityMatrixSchema = z.object({\n /**\n * Plugin identifier\n */\n pluginId: z.string(),\n \n /**\n * Current version\n */\n currentVersion: z.string(),\n \n /**\n * Compatibility entries\n */\n compatibilityMatrix: z.array(CompatibilityMatrixEntrySchema),\n \n /**\n * Supported versions\n */\n supportedVersions: z.array(z.object({\n version: z.string(),\n supported: z.boolean(),\n endOfLife: z.string().datetime().optional().describe('End of support date'),\n securitySupport: z.boolean().default(false).describe('Still receives security updates'),\n })),\n \n /**\n * Minimum compatible version\n */\n minimumCompatibleVersion: z.string().optional()\n .describe('Oldest version that can be directly upgraded'),\n});\n\n/**\n * Dependency Conflict\n * Represents a conflict in plugin dependencies at the kernel level.\n * Models plugin-to-plugin dependency conflicts with typed conflict categories.\n * \n * @see hub/plugin-security.zod.ts DependencyConflictSchema for hub-level package version conflicts\n * which focuses on marketplace registry resolution.\n */\nexport const DependencyConflictSchema = z.object({\n /**\n * Type of conflict\n */\n type: z.enum([\n 'version-mismatch', // Different versions required\n 'missing-dependency', // Required dependency not found\n 'circular-dependency', // Circular dependency detected\n 'incompatible-versions', // Incompatible versions required by different plugins\n 'conflicting-interfaces', // Plugins implement conflicting interfaces\n ]),\n \n /**\n * Plugins involved in conflict\n */\n plugins: z.array(z.object({\n pluginId: z.string(),\n version: z.string(),\n requirement: z.string().optional().describe('What this plugin requires'),\n })),\n \n /**\n * Conflict description\n */\n description: z.string(),\n \n /**\n * Possible resolutions\n */\n resolutions: z.array(z.object({\n strategy: z.enum([\n 'upgrade', // Upgrade one or more plugins\n 'downgrade', // Downgrade one or more plugins\n 'replace', // Replace with alternative plugin\n 'disable', // Disable conflicting plugin\n 'manual', // Manual intervention required\n ]),\n description: z.string(),\n automaticResolution: z.boolean().default(false),\n riskLevel: z.enum(['low', 'medium', 'high']),\n })).optional(),\n \n /**\n * Severity of conflict\n */\n severity: z.enum(['critical', 'error', 'warning', 'info']),\n});\n\n/**\n * Dependency Resolution Result\n * Result of dependency resolution process\n */\nexport const DependencyResolutionResultSchema = z.object({\n /**\n * Resolution successful\n */\n success: z.boolean(),\n \n /**\n * Resolved plugin versions\n */\n resolved: z.array(z.object({\n pluginId: z.string(),\n version: z.string(),\n resolvedVersion: z.string(),\n })).optional(),\n \n /**\n * Conflicts found\n */\n conflicts: z.array(DependencyConflictSchema).optional(),\n \n /**\n * Warnings\n */\n warnings: z.array(z.string()).optional(),\n \n /**\n * Installation order (topologically sorted)\n */\n installationOrder: z.array(z.string()).optional()\n .describe('Plugin IDs in order they should be installed'),\n \n /**\n * Dependency graph\n */\n dependencyGraph: z.record(z.string(), z.array(z.string())).optional()\n .describe('Map of plugin ID to its dependencies'),\n});\n\n/**\n * Multi-Version Support Configuration\n * Allows running multiple versions of a plugin simultaneously\n */\nexport const MultiVersionSupportSchema = z.object({\n /**\n * Enable multi-version support\n */\n enabled: z.boolean().default(false),\n \n /**\n * Maximum concurrent versions\n */\n maxConcurrentVersions: z.number().int().min(1).default(2)\n .describe('How many versions can run at the same time'),\n \n /**\n * Version selection strategy\n */\n selectionStrategy: z.enum([\n 'latest', // Always use latest version\n 'stable', // Use latest stable version\n 'compatible', // Use version compatible with dependencies\n 'pinned', // Use pinned version\n 'canary', // Use canary/preview version\n 'custom', // Custom selection logic\n ]).default('latest'),\n \n /**\n * Version routing rules\n */\n routing: z.array(z.object({\n condition: z.string().describe('Routing condition (e.g., tenant, user, feature flag)'),\n version: z.string().describe('Version to use when condition matches'),\n priority: z.number().int().default(100).describe('Rule priority'),\n })).optional(),\n \n /**\n * Gradual rollout configuration\n */\n rollout: z.object({\n enabled: z.boolean().default(false),\n strategy: z.enum(['percentage', 'blue-green', 'canary']),\n percentage: z.number().min(0).max(100).optional()\n .describe('Percentage of traffic to new version'),\n duration: z.number().int().optional()\n .describe('Rollout duration in milliseconds'),\n }).optional(),\n});\n\n/**\n * Plugin Version Metadata\n * Complete version information for a plugin\n */\nexport const PluginVersionMetadataSchema = z.object({\n /**\n * Plugin identifier\n */\n pluginId: z.string(),\n \n /**\n * Version number\n */\n version: SemanticVersionSchema,\n \n /**\n * Version string (computed)\n */\n versionString: z.string().describe('Full version string (e.g., 1.2.3-beta.1+build.123)'),\n \n /**\n * Release date\n */\n releaseDate: z.string().datetime(),\n \n /**\n * Release notes\n */\n releaseNotes: z.string().optional(),\n \n /**\n * Breaking changes\n */\n breakingChanges: z.array(BreakingChangeSchema).optional(),\n \n /**\n * Deprecations\n */\n deprecations: z.array(DeprecationNoticeSchema).optional(),\n \n /**\n * Compatibility matrix\n */\n compatibilityMatrix: z.array(CompatibilityMatrixEntrySchema).optional(),\n \n /**\n * Security vulnerabilities fixed\n */\n securityFixes: z.array(z.object({\n cve: z.string().optional().describe('CVE identifier'),\n severity: z.enum(['critical', 'high', 'medium', 'low']),\n description: z.string(),\n fixedIn: z.string().describe('Version where vulnerability was fixed'),\n })).optional(),\n \n /**\n * Download statistics\n */\n statistics: z.object({\n downloads: z.number().int().min(0).optional(),\n installations: z.number().int().min(0).optional(),\n ratings: z.number().min(0).max(5).optional(),\n }).optional(),\n \n /**\n * Support status\n */\n support: z.object({\n status: z.enum(['active', 'maintenance', 'deprecated', 'eol']),\n endOfLife: z.string().datetime().optional(),\n securitySupport: z.boolean().default(true),\n }),\n});\n\n// Export types\nexport type SemanticVersion = z.infer<typeof SemanticVersionSchema>;\nexport type VersionConstraint = z.infer<typeof VersionConstraintSchema>;\nexport type CompatibilityLevel = z.infer<typeof CompatibilityLevelSchema>;\nexport type BreakingChange = z.infer<typeof BreakingChangeSchema>;\nexport type DeprecationNotice = z.infer<typeof DeprecationNoticeSchema>;\nexport type CompatibilityMatrixEntry = z.infer<typeof CompatibilityMatrixEntrySchema>;\nexport type PluginCompatibilityMatrix = z.infer<typeof PluginCompatibilityMatrixSchema>;\nexport type DependencyConflict = z.infer<typeof DependencyConflictSchema>;\nexport type DependencyResolutionResult = z.infer<typeof DependencyResolutionResultSchema>;\nexport type MultiVersionSupport = z.infer<typeof MultiVersionSupportSchema>;\nexport type PluginVersionMetadata = z.infer<typeof PluginVersionMetadataSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Service Registry Protocol\n * \n * Zod schemas for service registry data structures.\n * These schemas align with the IServiceRegistry contract interface.\n * \n * Following ObjectStack \"Zod First\" principle - all data structures\n * must have Zod schemas for runtime validation and JSON Schema generation.\n * \n * Note: IServiceRegistry itself is a runtime interface (methods only),\n * so it correctly remains a TypeScript interface. This file contains\n * schemas for configuration and metadata related to service registry.\n */\n\n// ============================================================================\n// Service Metadata Schemas\n// ============================================================================\n\n/**\n * Service Scope Type Enum\n * Different service scoping strategies\n */\nexport const ServiceScopeType = z.enum([\n 'singleton', // Single instance shared across the application\n 'transient', // New instance created each time\n 'scoped', // Instance per scope (request, session, transaction, etc.)\n]).describe('Service scope type');\n\nexport type ServiceScopeType = z.infer<typeof ServiceScopeType>;\n\n/**\n * Service Metadata Schema\n * Metadata about a registered service\n * \n * @example\n * {\n * \"name\": \"database\",\n * \"scope\": \"singleton\",\n * \"type\": \"IDataEngine\",\n * \"registeredAt\": 1706659200000\n * }\n */\nexport const ServiceMetadataSchema = z.object({\n /**\n * Service name (unique identifier)\n */\n name: z.string().min(1).describe('Unique service name identifier'),\n \n /**\n * Service scope type\n */\n scope: ServiceScopeType.optional().default('singleton')\n .describe('Service scope type'),\n \n /**\n * Service type or interface name (optional)\n */\n type: z.string().optional().describe('Service type or interface name'),\n \n /**\n * Registration timestamp (Unix milliseconds)\n */\n registeredAt: z.number().int().optional()\n .describe('Unix timestamp in milliseconds when service was registered'),\n \n /**\n * Additional metadata\n */\n metadata: z.record(z.string(), z.unknown()).optional()\n .describe('Additional service-specific metadata'),\n});\n\nexport type ServiceMetadata = z.infer<typeof ServiceMetadataSchema>;\n\n// ============================================================================\n// Service Registry Configuration Schemas\n// ============================================================================\n\n/**\n * Service Registry Configuration Schema\n * Configuration for service registry behavior\n * \n * @example\n * {\n * \"strictMode\": true,\n * \"allowOverwrite\": false,\n * \"enableLogging\": true,\n * \"scopeTypes\": [\"singleton\", \"transient\", \"request\", \"session\"]\n * }\n */\nexport const ServiceRegistryConfigSchema = z.object({\n /**\n * Strict mode: throw errors on invalid operations\n * @default true\n */\n strictMode: z.boolean().optional().default(true)\n .describe('Throw errors on invalid operations (duplicate registration, service not found, etc.)'),\n \n /**\n * Allow overwriting existing services\n * @default false\n */\n allowOverwrite: z.boolean().optional().default(false)\n .describe('Allow overwriting existing service registrations'),\n \n /**\n * Enable logging for service operations\n * @default false\n */\n enableLogging: z.boolean().optional().default(false)\n .describe('Enable logging for service registration and retrieval'),\n \n /**\n * Custom scope types (beyond singleton, transient, scoped)\n * @default ['singleton', 'transient', 'scoped']\n */\n scopeTypes: z.array(z.string()).optional()\n .describe('Supported scope types'),\n \n /**\n * Maximum number of services (prevent memory leaks)\n */\n maxServices: z.number().int().min(1).optional()\n .describe('Maximum number of services that can be registered'),\n});\n\nexport type ServiceRegistryConfig = z.infer<typeof ServiceRegistryConfigSchema>;\nexport type ServiceRegistryConfigInput = z.input<typeof ServiceRegistryConfigSchema>;\n\n// ============================================================================\n// Service Factory Schemas\n// ============================================================================\n\n/**\n * Service Factory Registration Schema\n * Configuration for registering a service factory\n * \n * @example\n * {\n * \"name\": \"logger\",\n * \"scope\": \"singleton\",\n * \"factoryType\": \"sync\"\n * }\n */\nexport const ServiceFactoryRegistrationSchema = z.object({\n /**\n * Service name (unique identifier)\n */\n name: z.string().min(1).describe('Unique service name identifier'),\n \n /**\n * Service scope type\n */\n scope: ServiceScopeType.optional().default('singleton')\n .describe('Service scope type'),\n \n /**\n * Factory type (sync or async)\n */\n factoryType: z.enum(['sync', 'async']).optional().default('sync')\n .describe('Whether factory is synchronous or asynchronous'),\n \n /**\n * Whether this is a singleton (cache factory result)\n */\n singleton: z.boolean().optional().default(true)\n .describe('Whether to cache the factory result (singleton pattern)'),\n});\n\nexport type ServiceFactoryRegistration = z.infer<typeof ServiceFactoryRegistrationSchema>;\n\n// ============================================================================\n// Scoped Service Schemas\n// ============================================================================\n\n/**\n * Scope Configuration Schema\n * Configuration for creating a new scope\n * \n * @example\n * {\n * \"scopeType\": \"request\",\n * \"scopeId\": \"req-12345\",\n * \"metadata\": {\n * \"userId\": \"user-123\",\n * \"requestId\": \"req-12345\"\n * }\n * }\n */\nexport const ScopeConfigSchema = z.object({\n /**\n * Type of scope (request, session, transaction, etc.)\n */\n scopeType: z.string().describe('Type of scope'),\n \n /**\n * Scope identifier (optional, auto-generated if not provided)\n */\n scopeId: z.string().optional().describe('Unique scope identifier'),\n \n /**\n * Scope metadata (context information)\n */\n metadata: z.record(z.string(), z.unknown()).optional()\n .describe('Scope-specific context metadata'),\n});\n\nexport type ScopeConfig = z.infer<typeof ScopeConfigSchema>;\n\n/**\n * Scope Info Schema\n * Information about an active scope\n * \n * @example\n * {\n * \"scopeId\": \"req-12345\",\n * \"scopeType\": \"request\",\n * \"createdAt\": 1706659200000,\n * \"serviceCount\": 5,\n * \"metadata\": {\n * \"userId\": \"user-123\"\n * }\n * }\n */\nexport const ScopeInfoSchema = z.object({\n /**\n * Scope identifier\n */\n scopeId: z.string().describe('Unique scope identifier'),\n \n /**\n * Type of scope\n */\n scopeType: z.string().describe('Type of scope'),\n \n /**\n * Creation timestamp (Unix milliseconds)\n */\n createdAt: z.number().int().describe('Unix timestamp in milliseconds when scope was created'),\n \n /**\n * Number of services in this scope\n */\n serviceCount: z.number().int().min(0).optional()\n .describe('Number of services registered in this scope'),\n \n /**\n * Scope metadata\n */\n metadata: z.record(z.string(), z.unknown()).optional()\n .describe('Scope-specific context metadata'),\n});\n\nexport type ScopeInfo = z.infer<typeof ScopeInfoSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Startup Orchestrator Protocol\n * \n * Zod schemas for plugin startup orchestration data structures.\n * These schemas align with the IStartupOrchestrator contract interface.\n * \n * Following ObjectStack \"Zod First\" principle - all data structures\n * must have Zod schemas for runtime validation and JSON Schema generation.\n */\n\n// ============================================================================\n// Startup Configuration Schemas\n// ============================================================================\n\n/**\n * Startup Options Schema\n * Configuration for plugin startup orchestration\n * \n * @example\n * {\n * \"timeout\": 30000,\n * \"rollbackOnFailure\": true,\n * \"healthCheck\": false,\n * \"parallel\": false\n * }\n */\nexport const StartupOptionsSchema = z.object({\n /**\n * Maximum time (ms) to wait for each plugin to start\n * @default 30000 (30 seconds)\n */\n timeout: z.number().int().min(0).optional().default(30000)\n .describe('Maximum time in milliseconds to wait for each plugin to start'),\n \n /**\n * Whether to rollback (destroy) already-started plugins on failure\n * @default true\n */\n rollbackOnFailure: z.boolean().optional().default(true)\n .describe('Whether to rollback already-started plugins if any plugin fails'),\n \n /**\n * Whether to run health checks after startup\n * @default false\n */\n healthCheck: z.boolean().optional().default(false)\n .describe('Whether to run health checks after plugin startup'),\n \n /**\n * Whether to run plugins in parallel (if dependencies allow)\n * @default false (sequential startup)\n */\n parallel: z.boolean().optional().default(false)\n .describe('Whether to start plugins in parallel when dependencies allow'),\n \n /**\n * Custom context to pass to plugin lifecycle methods\n */\n context: z.unknown().optional().describe('Custom context object to pass to plugin lifecycle methods'),\n});\n\nexport type StartupOptions = z.infer<typeof StartupOptionsSchema>;\nexport type StartupOptionsInput = z.input<typeof StartupOptionsSchema>;\n\n// ============================================================================\n// Health Status Schemas\n// ============================================================================\n\n/**\n * Health Status Schema\n * Health status for a plugin\n * \n * @example\n * {\n * \"healthy\": true,\n * \"timestamp\": 1706659200000,\n * \"details\": {\n * \"databaseConnected\": true,\n * \"memoryUsage\": 45.2\n * }\n * }\n */\nexport const HealthStatusSchema = z.object({\n /**\n * Whether the plugin is healthy\n */\n healthy: z.boolean().describe('Whether the plugin is healthy'),\n \n /**\n * Health check timestamp (Unix milliseconds)\n */\n timestamp: z.number().int().describe('Unix timestamp in milliseconds when health check was performed'),\n \n /**\n * Optional health details (plugin-specific)\n */\n details: z.record(z.string(), z.unknown()).optional().describe('Optional plugin-specific health details'),\n \n /**\n * Optional error message if unhealthy\n */\n message: z.string().optional().describe('Error message if plugin is unhealthy'),\n});\n\nexport type HealthStatus = z.infer<typeof HealthStatusSchema>;\n\n// ============================================================================\n// Startup Result Schemas\n// ============================================================================\n\n/**\n * Plugin Startup Result Schema\n * Result of a single plugin startup operation\n * \n * @example\n * {\n * \"plugin\": { \"name\": \"crm-plugin\", \"version\": \"1.0.0\" },\n * \"success\": true,\n * \"duration\": 1250,\n * \"health\": {\n * \"healthy\": true,\n * \"timestamp\": 1706659200000\n * }\n * }\n */\nexport const PluginStartupResultSchema = z.object({\n /**\n * Plugin that was started\n */\n plugin: z.object({\n name: z.string(),\n version: z.string().optional(),\n }).passthrough().describe('Plugin metadata'),\n \n /**\n * Whether startup was successful\n */\n success: z.boolean().describe('Whether the plugin started successfully'),\n \n /**\n * Time taken to start (milliseconds)\n */\n duration: z.number().min(0).describe('Time taken to start the plugin in milliseconds'),\n \n /**\n * Error if startup failed\n */\n error: z.object({\n name: z.string().describe('Error class name'),\n message: z.string().describe('Error message'),\n stack: z.string().optional().describe('Stack trace'),\n code: z.string().optional().describe('Error code'),\n }).optional().describe('Serializable error representation if startup failed'),\n \n /**\n * Health status after startup (if healthCheck enabled)\n */\n health: HealthStatusSchema.optional().describe('Health status after startup if health check was enabled'),\n});\n\nexport type PluginStartupResult = z.infer<typeof PluginStartupResultSchema>;\n\n// ============================================================================\n// Startup Orchestration Result Schema\n// ============================================================================\n\n/**\n * Startup Orchestration Result Schema\n * Overall result of orchestrating startup for multiple plugins\n * \n * @example\n * {\n * \"results\": [\n * { \"plugin\": { \"name\": \"plugin1\" }, \"success\": true, \"duration\": 1200 },\n * { \"plugin\": { \"name\": \"plugin2\" }, \"success\": true, \"duration\": 850 }\n * ],\n * \"totalDuration\": 2050,\n * \"allSuccessful\": true\n * }\n */\nexport const StartupOrchestrationResultSchema = z.object({\n /**\n * Individual plugin startup results\n */\n results: z.array(PluginStartupResultSchema).describe('Startup results for each plugin'),\n \n /**\n * Total time taken for all plugins (milliseconds)\n */\n totalDuration: z.number().min(0).describe('Total time taken for all plugins in milliseconds'),\n \n /**\n * Whether all plugins started successfully\n */\n allSuccessful: z.boolean().describe('Whether all plugins started successfully'),\n \n /**\n * Plugins that were rolled back (if rollbackOnFailure was enabled)\n */\n rolledBack: z.array(z.string()).optional().describe('Names of plugins that were rolled back'),\n});\n\nexport type StartupOrchestrationResult = z.infer<typeof StartupOrchestrationResultSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\nimport { PluginCapabilityManifestSchema } from './plugin-capability.zod';\n\n/**\n * # Plugin Registry Protocol\n * \n * Defines the schema for the plugin discovery and registry system.\n * This enables plugins from different vendors to be discovered, validated,\n * and composed together in the ObjectStack ecosystem.\n */\n\n/**\n * Plugin Vendor Information\n */\nexport const PluginVendorSchema = z.object({\n /**\n * Vendor identifier (reverse domain notation)\n * Example: \"com.acme\", \"org.apache\", \"com.objectstack\"\n */\n id: z.string()\n .regex(/^[a-z][a-z0-9]*(\\.[a-z][a-z0-9]*)+$/)\n .describe('Vendor identifier (reverse domain)'),\n \n /**\n * Vendor display name\n */\n name: z.string(),\n \n /**\n * Vendor website\n */\n website: z.string().url().optional(),\n \n /**\n * Contact email\n */\n email: z.string().email().optional(),\n \n /**\n * Verification status\n */\n verified: z.boolean().default(false).describe('Whether vendor is verified by ObjectStack'),\n \n /**\n * Trust level\n */\n trustLevel: z.enum(['official', 'verified', 'community', 'unverified']).default('unverified'),\n});\n\n/**\n * Plugin Quality Metrics\n */\nexport const PluginQualityMetricsSchema = z.object({\n /**\n * Test coverage percentage\n */\n testCoverage: z.number().min(0).max(100).optional(),\n \n /**\n * Documentation score (0-100)\n */\n documentationScore: z.number().min(0).max(100).optional(),\n \n /**\n * Code quality score (0-100)\n */\n codeQuality: z.number().min(0).max(100).optional(),\n \n /**\n * Security scan status\n */\n securityScan: z.object({\n lastScanDate: z.string().datetime().optional(),\n vulnerabilities: z.object({\n critical: z.number().int().min(0).default(0),\n high: z.number().int().min(0).default(0),\n medium: z.number().int().min(0).default(0),\n low: z.number().int().min(0).default(0),\n }).optional(),\n passed: z.boolean().default(false),\n }).optional(),\n \n /**\n * Conformance test results\n */\n conformanceTests: z.array(z.object({\n protocolId: z.string().describe('Protocol being tested'),\n passed: z.boolean(),\n totalTests: z.number().int().min(0),\n passedTests: z.number().int().min(0),\n lastRunDate: z.string().datetime().optional(),\n })).optional(),\n});\n\n/**\n * Plugin Usage Statistics\n */\nexport const PluginStatisticsSchema = z.object({\n /**\n * Total downloads\n */\n downloads: z.number().int().min(0).default(0),\n \n /**\n * Downloads in the last 30 days\n */\n downloadsLastMonth: z.number().int().min(0).default(0),\n \n /**\n * Number of active installations\n */\n activeInstallations: z.number().int().min(0).default(0),\n \n /**\n * User ratings\n */\n ratings: z.object({\n average: z.number().min(0).max(5).default(0),\n count: z.number().int().min(0).default(0),\n distribution: z.object({\n '5': z.number().int().min(0).default(0),\n '4': z.number().int().min(0).default(0),\n '3': z.number().int().min(0).default(0),\n '2': z.number().int().min(0).default(0),\n '1': z.number().int().min(0).default(0),\n }).optional(),\n }).optional(),\n \n /**\n * GitHub stars (if open source)\n */\n stars: z.number().int().min(0).optional(),\n \n /**\n * Number of dependent plugins\n */\n dependents: z.number().int().min(0).default(0),\n});\n\n/**\n * Plugin Registry Entry\n * Complete metadata for a plugin in the registry.\n */\nexport const PluginRegistryEntrySchema = z.object({\n /**\n * Plugin identifier (must match manifest.id)\n */\n id: z.string()\n .regex(/^([a-z][a-z0-9]*\\.)+[a-z][a-z0-9-]+$/)\n .describe('Plugin identifier (reverse domain notation)'),\n \n /**\n * Current version\n */\n version: z.string().regex(/^\\d+\\.\\d+\\.\\d+$/),\n \n /**\n * Plugin display name\n */\n name: z.string(),\n \n /**\n * Short description\n */\n description: z.string().optional(),\n \n /**\n * Detailed documentation/README\n */\n readme: z.string().optional(),\n \n /**\n * Plugin type/category\n */\n category: z.enum([\n 'data', // Data management, storage, databases\n 'integration', // External service integrations\n 'ui', // UI components and themes\n 'analytics', // Analytics and reporting\n 'security', // Security, auth, compliance\n 'automation', // Workflows and automation\n 'ai', // AI/ML capabilities\n 'utility', // General utilities\n 'driver', // Database/storage drivers\n 'gateway', // API gateways\n 'adapter', // Runtime adapters\n ]).optional(),\n \n /**\n * Tags for categorization\n */\n tags: z.array(z.string()).optional(),\n \n /**\n * Vendor information\n */\n vendor: PluginVendorSchema,\n \n /**\n * Capability manifest (what the plugin implements/provides)\n */\n capabilities: PluginCapabilityManifestSchema.optional(),\n \n /**\n * Compatibility information\n */\n compatibility: z.object({\n /**\n * Minimum ObjectStack version required\n */\n minObjectStackVersion: z.string().optional(),\n \n /**\n * Maximum ObjectStack version supported\n */\n maxObjectStackVersion: z.string().optional(),\n \n /**\n * Node.js version requirement\n */\n nodeVersion: z.string().optional(),\n \n /**\n * Supported platforms\n */\n platforms: z.array(z.enum(['linux', 'darwin', 'win32', 'browser'])).optional(),\n }).optional(),\n \n /**\n * Links and resources\n */\n links: z.object({\n homepage: z.string().url().optional(),\n repository: z.string().url().optional(),\n documentation: z.string().url().optional(),\n bugs: z.string().url().optional(),\n changelog: z.string().url().optional(),\n }).optional(),\n \n /**\n * Media assets\n */\n media: z.object({\n icon: z.string().url().optional(),\n logo: z.string().url().optional(),\n screenshots: z.array(z.string().url()).optional(),\n video: z.string().url().optional(),\n }).optional(),\n \n /**\n * Quality metrics\n */\n quality: PluginQualityMetricsSchema.optional(),\n \n /**\n * Usage statistics\n */\n statistics: PluginStatisticsSchema.optional(),\n \n /**\n * License information\n */\n license: z.string().optional().describe('SPDX license identifier'),\n \n /**\n * Pricing (if commercial)\n */\n pricing: z.object({\n model: z.enum(['free', 'freemium', 'paid', 'enterprise']),\n price: z.number().min(0).optional(),\n currency: z.string().default('USD').optional(),\n billingPeriod: z.enum(['one-time', 'monthly', 'yearly']).optional(),\n }).optional(),\n \n /**\n * Publication dates\n */\n publishedAt: z.string().datetime().optional(),\n updatedAt: z.string().datetime().optional(),\n \n /**\n * Deprecation status\n */\n deprecated: z.boolean().default(false),\n deprecationMessage: z.string().optional(),\n replacedBy: z.string().optional().describe('Plugin ID that replaces this one'),\n \n /**\n * Feature flags\n */\n flags: z.object({\n experimental: z.boolean().default(false),\n beta: z.boolean().default(false),\n featured: z.boolean().default(false),\n verified: z.boolean().default(false),\n }).optional(),\n});\n\n/**\n * Plugin Search Filters\n */\nexport const PluginSearchFiltersSchema = z.object({\n /**\n * Search query\n */\n query: z.string().optional(),\n \n /**\n * Filter by category\n */\n category: z.array(z.string()).optional(),\n \n /**\n * Filter by tags\n */\n tags: z.array(z.string()).optional(),\n \n /**\n * Filter by vendor trust level\n */\n trustLevel: z.array(z.enum(['official', 'verified', 'community', 'unverified'])).optional(),\n \n /**\n * Filter by protocols implemented\n */\n implementsProtocols: z.array(z.string()).optional(),\n \n /**\n * Filter by pricing model\n */\n pricingModel: z.array(z.enum(['free', 'freemium', 'paid', 'enterprise'])).optional(),\n \n /**\n * Minimum rating\n */\n minRating: z.number().min(0).max(5).optional(),\n \n /**\n * Sort options\n */\n sortBy: z.enum([\n 'relevance',\n 'downloads',\n 'rating',\n 'updated',\n 'name',\n ]).optional(),\n \n /**\n * Sort order\n */\n sortOrder: z.enum(['asc', 'desc']).default('desc').optional(),\n \n /**\n * Pagination\n */\n page: z.number().int().min(1).default(1).optional(),\n limit: z.number().int().min(1).max(100).default(20).optional(),\n});\n\n/**\n * Plugin Installation Configuration\n */\nexport const PluginInstallConfigSchema = z.object({\n /**\n * Plugin identifier to install\n */\n pluginId: z.string(),\n \n /**\n * Version to install (supports semver ranges)\n */\n version: z.string().optional().describe('Defaults to latest'),\n \n /**\n * Plugin-specific configuration values\n */\n config: z.record(z.string(), z.unknown()).optional(),\n \n /**\n * Whether to auto-update\n */\n autoUpdate: z.boolean().default(false).optional(),\n \n /**\n * Installation options\n */\n options: z.object({\n /**\n * Skip dependency installation\n */\n skipDependencies: z.boolean().default(false).optional(),\n \n /**\n * Force reinstall\n */\n force: z.boolean().default(false).optional(),\n \n /**\n * Installation target\n */\n target: z.enum(['system', 'space', 'user']).default('space').optional(),\n }).optional(),\n});\n\n// Export types\nexport type PluginVendor = z.infer<typeof PluginVendorSchema>;\nexport type PluginVendorInput = z.input<typeof PluginVendorSchema>;\nexport type PluginQualityMetrics = z.infer<typeof PluginQualityMetricsSchema>;\nexport type PluginQualityMetricsInput = z.input<typeof PluginQualityMetricsSchema>;\nexport type PluginStatistics = z.infer<typeof PluginStatisticsSchema>;\nexport type PluginStatisticsInput = z.input<typeof PluginStatisticsSchema>;\nexport type PluginRegistryEntry = z.infer<typeof PluginRegistryEntrySchema>;\nexport type PluginRegistryEntryInput = z.input<typeof PluginRegistryEntrySchema>;\nexport type PluginSearchFilters = z.infer<typeof PluginSearchFiltersSchema>;\nexport type PluginSearchFiltersInput = z.input<typeof PluginSearchFiltersSchema>;\nexport type PluginInstallConfig = z.infer<typeof PluginInstallConfigSchema>;\nexport type PluginInstallConfigInput = z.input<typeof PluginInstallConfigSchema>;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * # Plugin Security & Dependency Resolution Protocol\n * \n * Provides comprehensive security scanning, vulnerability management,\n * and dependency resolution for the ObjectStack plugin ecosystem.\n * \n * Features:\n * - CVE/vulnerability scanning\n * - Dependency graph resolution\n * - Semantic version conflict detection\n * - Supply chain security\n * - Plugin sandboxing policies\n * - Trust and verification workflows\n */\n\n// ============================================================================\n// Security Scanning\n// ============================================================================\n\n/**\n * Vulnerability Severity\n */\nexport const VulnerabilitySeverity = z.enum([\n 'critical',\n 'high',\n 'medium',\n 'low',\n 'info',\n]).describe('Severity level of a security vulnerability');\n\nexport type VulnerabilitySeverity = z.infer<typeof VulnerabilitySeverity>;\n\n/**\n * Security Vulnerability\n */\nexport const SecurityVulnerabilitySchema = z.object({\n /**\n * CVE identifier (if applicable)\n */\n cve: z.string().regex(/^CVE-\\d{4}-\\d+$/).optional().describe('CVE identifier'),\n \n /**\n * Vulnerability identifier (GHSA, SNYK, etc.)\n */\n id: z.string().describe('Vulnerability ID'),\n \n /**\n * Title\n */\n title: z.string().describe('Short title summarizing the vulnerability'),\n \n /**\n * Description\n */\n description: z.string().describe('Detailed description of the vulnerability'),\n \n /**\n * Severity\n */\n severity: VulnerabilitySeverity.describe('Severity level of this vulnerability'),\n \n /**\n * CVSS score (0-10)\n */\n cvss: z.number().min(0).max(10).optional().describe('CVSS score ranging from 0 to 10'),\n \n /**\n * Affected package\n */\n package: z.object({\n name: z.string().describe('Name of the affected package'),\n version: z.string().describe('Version of the affected package'),\n ecosystem: z.string().optional().describe('Package ecosystem (e.g., npm, pip, maven)'),\n }).describe('Affected package information'),\n \n /**\n * Vulnerable version range\n */\n vulnerableVersions: z.string().describe('Semver range of vulnerable versions'),\n \n /**\n * Patched versions\n */\n patchedVersions: z.string().optional().describe('Semver range of patched versions'),\n \n /**\n * References\n */\n references: z.array(z.object({\n type: z.enum(['advisory', 'article', 'report', 'web']).describe('Type of reference source'),\n url: z.string().url().describe('URL of the reference'),\n })).default([]).describe('External references related to the vulnerability'),\n \n /**\n * CWE (Common Weakness Enumeration)\n */\n cwe: z.array(z.string()).default([]).describe('CWE identifiers associated with this vulnerability'),\n \n /**\n * Published date\n */\n publishedAt: z.string().datetime().optional().describe('ISO 8601 date when the vulnerability was published'),\n \n /**\n * Mitigation advice\n */\n mitigation: z.string().optional().describe('Recommended steps to mitigate the vulnerability'),\n}).describe('A known security vulnerability in a package dependency');\n\nexport type SecurityVulnerability = z.infer<typeof SecurityVulnerabilitySchema>;\n\n/**\n * Security Scan Result\n */\nexport const SecurityScanResultSchema = z.object({\n /**\n * Scan identifier\n */\n scanId: z.string().uuid().describe('Unique identifier for this security scan'),\n \n /**\n * Plugin being scanned\n */\n plugin: z.object({\n id: z.string().describe('Plugin identifier'),\n version: z.string().describe('Plugin version that was scanned'),\n }).describe('Plugin that was scanned'),\n \n /**\n * Scan timestamp\n */\n scannedAt: z.string().datetime().describe('ISO 8601 timestamp when the scan was performed'),\n \n /**\n * Scanner information\n */\n scanner: z.object({\n name: z.string().describe('Scanner name (e.g., snyk, osv, trivy)'),\n version: z.string().describe('Version of the scanner tool'),\n }).describe('Information about the scanner tool used'),\n \n /**\n * Scan status\n */\n status: z.enum(['passed', 'failed', 'warning']).describe('Overall result status of the security scan'),\n \n /**\n * Vulnerabilities found\n */\n vulnerabilities: z.array(SecurityVulnerabilitySchema).describe('List of vulnerabilities discovered during the scan'),\n \n /**\n * Vulnerability summary\n */\n summary: z.object({\n critical: z.number().int().min(0).default(0).describe('Count of critical severity vulnerabilities'),\n high: z.number().int().min(0).default(0).describe('Count of high severity vulnerabilities'),\n medium: z.number().int().min(0).default(0).describe('Count of medium severity vulnerabilities'),\n low: z.number().int().min(0).default(0).describe('Count of low severity vulnerabilities'),\n info: z.number().int().min(0).default(0).describe('Count of informational severity vulnerabilities'),\n total: z.number().int().min(0).default(0).describe('Total count of all vulnerabilities'),\n }).describe('Summary counts of vulnerabilities by severity'),\n \n /**\n * License compliance issues\n */\n licenseIssues: z.array(z.object({\n package: z.string().describe('Name of the package with a license issue'),\n license: z.string().describe('License identifier of the package'),\n reason: z.string().describe('Reason the license is flagged'),\n severity: z.enum(['error', 'warning', 'info']).describe('Severity of the license compliance issue'),\n })).default([]).describe('License compliance issues found during the scan'),\n \n /**\n * Code quality issues\n */\n codeQuality: z.object({\n score: z.number().min(0).max(100).optional().describe('Overall code quality score from 0 to 100'),\n issues: z.array(z.object({\n type: z.enum(['security', 'quality', 'style']).describe('Category of the code quality issue'),\n severity: z.enum(['error', 'warning', 'info']).describe('Severity of the code quality issue'),\n message: z.string().describe('Description of the code quality issue'),\n file: z.string().optional().describe('File path where the issue was found'),\n line: z.number().int().optional().describe('Line number where the issue was found'),\n })).default([]).describe('List of individual code quality issues'),\n }).optional().describe('Code quality analysis results'),\n \n /**\n * Next scan scheduled\n */\n nextScanAt: z.string().datetime().optional().describe('ISO 8601 timestamp for the next scheduled scan'),\n}).describe('Result of a security scan performed on a plugin');\n\nexport type SecurityScanResult = z.infer<typeof SecurityScanResultSchema>;\n\n/**\n * Security Policy\n */\nexport const SecurityPolicySchema = z.object({\n /**\n * Policy identifier\n */\n id: z.string().describe('Unique identifier for the security policy'),\n \n /**\n * Policy name\n */\n name: z.string().describe('Human-readable name of the security policy'),\n \n /**\n * Automatic scanning\n */\n autoScan: z.object({\n enabled: z.boolean().default(true).describe('Whether automatic scanning is enabled'),\n frequency: z.enum(['on-publish', 'daily', 'weekly', 'monthly']).default('daily').describe('How often automatic scans are performed'),\n }).describe('Automatic security scanning configuration'),\n \n /**\n * Vulnerability thresholds\n */\n thresholds: z.object({\n /**\n * Block plugin if critical vulnerabilities exceed this\n */\n maxCritical: z.number().int().min(0).default(0).describe('Maximum allowed critical vulnerabilities before blocking'),\n \n /**\n * Block plugin if high vulnerabilities exceed this\n */\n maxHigh: z.number().int().min(0).default(0).describe('Maximum allowed high vulnerabilities before blocking'),\n \n /**\n * Warn if medium vulnerabilities exceed this\n */\n maxMedium: z.number().int().min(0).default(5).describe('Maximum allowed medium vulnerabilities before warning'),\n }).describe('Vulnerability count thresholds for policy enforcement'),\n \n /**\n * Allowed licenses\n */\n allowedLicenses: z.array(z.string()).default([\n 'MIT',\n 'Apache-2.0',\n 'BSD-3-Clause',\n 'BSD-2-Clause',\n 'ISC',\n ]).describe('List of SPDX license identifiers that are permitted'),\n \n /**\n * Prohibited licenses\n */\n prohibitedLicenses: z.array(z.string()).default([\n 'GPL-3.0',\n 'AGPL-3.0',\n ]).describe('List of SPDX license identifiers that are prohibited'),\n \n /**\n * Code signing requirements\n */\n codeSigning: z.object({\n required: z.boolean().default(false).describe('Whether code signing is required for plugins'),\n allowedSigners: z.array(z.string()).default([]).describe('List of trusted signer identities'),\n }).optional().describe('Code signing requirements for plugin artifacts'),\n \n /**\n * Sandbox restrictions\n */\n sandbox: z.object({\n /**\n * Restrict network access\n */\n networkAccess: z.enum(['none', 'localhost', 'allowlist', 'all']).default('all').describe('Level of network access granted to the plugin'),\n \n /**\n * Allowed network destinations (if allowlist)\n */\n allowedDestinations: z.array(z.string()).default([]).describe('Permitted network destinations when using allowlist mode'),\n \n /**\n * File system access\n */\n filesystemAccess: z.enum(['none', 'read-only', 'temp-only', 'full']).default('full').describe('Level of file system access granted to the plugin'),\n \n /**\n * Maximum memory (MB)\n */\n maxMemoryMB: z.number().int().positive().optional().describe('Maximum memory allocation in megabytes'),\n \n /**\n * Maximum CPU time (seconds)\n */\n maxCPUSeconds: z.number().int().positive().optional().describe('Maximum CPU time allowed in seconds'),\n }).optional().describe('Sandbox restrictions for plugin execution'),\n}).describe('Security policy governing plugin scanning and enforcement');\n\nexport type SecurityPolicy = z.infer<typeof SecurityPolicySchema>;\n\n// ============================================================================\n// Dependency Resolution\n// ============================================================================\n\n/**\n * Package Dependency\n */\nexport const PackageDependencySchema = z.object({\n /**\n * Package name/ID\n */\n name: z.string().describe('Package name or identifier'),\n \n /**\n * Version constraint (semver range)\n */\n versionConstraint: z.string().describe('Semver range (e.g., `^1.0.0`, `>=2.0.0 <3.0.0`)'),\n \n /**\n * Dependency type\n */\n type: z.enum(['required', 'optional', 'peer', 'dev']).default('required').describe('Category of the dependency relationship'),\n \n /**\n * Resolved version (filled during resolution)\n */\n resolvedVersion: z.string().optional().describe('Concrete version resolved during dependency resolution'),\n}).describe('A package dependency with its version constraint');\n\nexport type PackageDependency = z.infer<typeof PackageDependencySchema>;\n\n/**\n * Dependency Graph Node\n */\nexport const DependencyGraphNodeSchema = z.object({\n /**\n * Package identifier\n */\n id: z.string().describe('Unique identifier of the package'),\n \n /**\n * Package version\n */\n version: z.string().describe('Resolved version of the package'),\n \n /**\n * Dependencies of this package\n */\n dependencies: z.array(PackageDependencySchema).default([]).describe('Dependencies required by this package'),\n \n /**\n * Depth in dependency tree\n */\n depth: z.number().int().min(0).describe('Depth level in the dependency tree (0 = root)'),\n \n /**\n * Whether this is a direct dependency\n */\n isDirect: z.boolean().describe('Whether this is a direct (top-level) dependency'),\n \n /**\n * Package metadata\n */\n metadata: z.object({\n name: z.string().describe('Display name of the package'),\n description: z.string().optional().describe('Short description of the package'),\n license: z.string().optional().describe('SPDX license identifier of the package'),\n homepage: z.string().url().optional().describe('Homepage URL of the package'),\n }).optional().describe('Additional metadata about the package'),\n}).describe('A node in the dependency graph representing a resolved package');\n\nexport type DependencyGraphNode = z.infer<typeof DependencyGraphNodeSchema>;\n\n/**\n * Dependency Graph\n */\nexport const DependencyGraphSchema = z.object({\n /**\n * Root package\n */\n root: z.object({\n id: z.string().describe('Identifier of the root package'),\n version: z.string().describe('Version of the root package'),\n }).describe('Root package of the dependency graph'),\n \n /**\n * All nodes in the graph\n */\n nodes: z.array(DependencyGraphNodeSchema).describe('All resolved package nodes in the dependency graph'),\n \n /**\n * Edges (dependency relationships)\n */\n edges: z.array(z.object({\n from: z.string().describe('Package ID'),\n to: z.string().describe('Package ID'),\n constraint: z.string().describe('Version constraint'),\n })).describe('Directed edges representing dependency relationships'),\n \n /**\n * Resolution statistics\n */\n stats: z.object({\n totalDependencies: z.number().int().min(0).describe('Total number of resolved dependencies'),\n directDependencies: z.number().int().min(0).describe('Number of direct (top-level) dependencies'),\n maxDepth: z.number().int().min(0).describe('Maximum depth of the dependency tree'),\n }).describe('Summary statistics for the dependency graph'),\n}).describe('Complete dependency graph for a package and its transitive dependencies');\n\nexport type DependencyGraph = z.infer<typeof DependencyGraphSchema>;\n\n/**\n * Dependency Conflict\n * \n * Hub-level dependency conflict detected during plugin resolution.\n * Focuses on package version conflicts across the marketplace/registry.\n * \n * @see kernel/plugin-versioning.zod.ts DependencyConflictSchema for kernel-level plugin conflicts\n * which models plugin-to-plugin conflicts with richer resolution strategies.\n */\nexport const PackageDependencyConflictSchema = z.object({\n /**\n * Package with conflict\n */\n package: z.string().describe('Name of the package with conflicting version requirements'),\n \n /**\n * Conflicting versions\n */\n conflicts: z.array(z.object({\n version: z.string().describe('Conflicting version of the package'),\n requestedBy: z.array(z.string()).describe('Packages that require this version'),\n constraint: z.string().describe('Semver constraint that produced this version requirement'),\n })).describe('List of conflicting version requirements'),\n \n /**\n * Suggested resolution\n */\n resolution: z.object({\n strategy: z.enum(['pick-highest', 'pick-lowest', 'manual']).describe('Strategy used to resolve the conflict'),\n version: z.string().optional().describe('Resolved version selected by the strategy'),\n reason: z.string().optional().describe('Explanation of why this resolution was chosen'),\n }).optional().describe('Suggested resolution for the conflict'),\n \n /**\n * Severity\n */\n severity: z.enum(['error', 'warning', 'info']).describe('Severity level of the dependency conflict'),\n}).describe('A detected conflict between dependency version requirements');\n\nexport type PackageDependencyConflict = z.infer<typeof PackageDependencyConflictSchema>;\n\n/**\n * Dependency Resolution Result\n */\nexport const PackageDependencyResolutionResultSchema = z.object({\n /**\n * Resolution status\n */\n status: z.enum(['success', 'conflict', 'error']).describe('Overall status of the dependency resolution'),\n \n /**\n * Resolved dependency graph\n */\n graph: DependencyGraphSchema.optional().describe('Resolved dependency graph if resolution succeeded'),\n \n /**\n * Conflicts detected\n */\n conflicts: z.array(PackageDependencyConflictSchema).default([]).describe('List of dependency conflicts detected during resolution'),\n \n /**\n * Errors encountered\n */\n errors: z.array(z.object({\n package: z.string().describe('Name of the package that caused the error'),\n error: z.string().describe('Error message describing what went wrong'),\n })).default([]).describe('Errors encountered during dependency resolution'),\n \n /**\n * Installation order (topological sort)\n */\n installOrder: z.array(z.string()).default([]).describe('Topologically sorted list of package IDs for installation'),\n \n /**\n * Resolution time (ms)\n */\n resolvedIn: z.number().int().min(0).optional().describe('Time taken to resolve dependencies in milliseconds'),\n}).describe('Result of a dependency resolution process');\n\nexport type PackageDependencyResolutionResult = z.infer<typeof PackageDependencyResolutionResultSchema>;\n\n// ============================================================================\n// Supply Chain Security\n// ============================================================================\n\n/**\n * SBOM (Software Bill of Materials) Entry\n */\nexport const SBOMEntrySchema = z.object({\n /**\n * Component name\n */\n name: z.string().describe('Name of the software component'),\n \n /**\n * Component version\n */\n version: z.string().describe('Version of the software component'),\n \n /**\n * Package URL (purl)\n */\n purl: z.string().optional().describe('Package URL identifier'),\n \n /**\n * License\n */\n license: z.string().optional().describe('SPDX license identifier of the component'),\n \n /**\n * Hashes\n */\n hashes: z.object({\n sha256: z.string().optional().describe('SHA-256 hash of the component artifact'),\n sha512: z.string().optional().describe('SHA-512 hash of the component artifact'),\n }).optional().describe('Cryptographic hashes for integrity verification'),\n \n /**\n * Supplier\n */\n supplier: z.object({\n name: z.string().describe('Name of the component supplier'),\n url: z.string().url().optional().describe('URL of the component supplier'),\n }).optional().describe('Supplier information for the component'),\n \n /**\n * External references\n */\n externalRefs: z.array(z.object({\n type: z.enum(['website', 'repository', 'documentation', 'issue-tracker']).describe('Type of external reference'),\n url: z.string().url().describe('URL of the external reference'),\n })).default([]).describe('External references related to the component'),\n}).describe('A single entry in a Software Bill of Materials');\n\nexport type SBOMEntry = z.infer<typeof SBOMEntrySchema>;\n\n/**\n * Software Bill of Materials (SBOM)\n */\nexport const SBOMSchema = z.object({\n /**\n * SBOM format\n */\n format: z.enum(['spdx', 'cyclonedx']).default('cyclonedx').describe('SBOM standard format used'),\n \n /**\n * SBOM version\n */\n version: z.string().describe('Version of the SBOM specification'),\n \n /**\n * Plugin metadata\n */\n plugin: z.object({\n id: z.string().describe('Plugin identifier'),\n version: z.string().describe('Plugin version'),\n name: z.string().describe('Human-readable plugin name'),\n }).describe('Metadata about the plugin this SBOM describes'),\n \n /**\n * Components (dependencies)\n */\n components: z.array(SBOMEntrySchema).describe('List of software components included in the plugin'),\n \n /**\n * Generation timestamp\n */\n generatedAt: z.string().datetime().describe('ISO 8601 timestamp when the SBOM was generated'),\n \n /**\n * Generator tool\n */\n generator: z.object({\n name: z.string().describe('Name of the SBOM generator tool'),\n version: z.string().describe('Version of the SBOM generator tool'),\n }).optional().describe('Tool used to generate this SBOM'),\n}).describe('Software Bill of Materials for a plugin');\n\nexport type SBOM = z.infer<typeof SBOMSchema>;\n\n/**\n * Plugin Provenance\n * Verifiable chain of custody for plugin artifacts\n */\nexport const PluginProvenanceSchema = z.object({\n /**\n * Plugin identifier\n */\n pluginId: z.string().describe('Unique identifier of the plugin'),\n \n /**\n * Plugin version\n */\n version: z.string().describe('Version of the plugin artifact'),\n \n /**\n * Build information\n */\n build: z.object({\n /**\n * Build timestamp\n */\n timestamp: z.string().datetime().describe('ISO 8601 timestamp when the build was produced'),\n \n /**\n * Build environment\n */\n environment: z.object({\n os: z.string().describe('Operating system used for the build'),\n arch: z.string().describe('CPU architecture used for the build'),\n nodeVersion: z.string().describe('Node.js version used for the build'),\n }).optional().describe('Environment details where the build was executed'),\n \n /**\n * Source repository\n */\n source: z.object({\n repository: z.string().url().describe('URL of the source repository'),\n commit: z.string().regex(/^[a-f0-9]{40}$/).describe('Full SHA-1 commit hash of the source'),\n branch: z.string().optional().describe('Branch name the build was produced from'),\n tag: z.string().optional().describe('Git tag associated with the build'),\n }).optional().describe('Source repository information for the build'),\n \n /**\n * Builder identity\n */\n builder: z.object({\n name: z.string().describe('Name of the person or system that produced the build'),\n email: z.string().email().optional().describe('Email address of the builder'),\n }).optional().describe('Identity of the builder who produced the artifact'),\n }).describe('Build provenance information'),\n \n /**\n * Artifact hashes\n */\n artifacts: z.array(z.object({\n filename: z.string().describe('Name of the artifact file'),\n sha256: z.string().describe('SHA-256 hash of the artifact'),\n size: z.number().int().positive().describe('Size of the artifact in bytes'),\n })).describe('List of build artifacts with integrity hashes'),\n \n /**\n * Signatures\n */\n signatures: z.array(z.object({\n algorithm: z.enum(['rsa', 'ecdsa', 'ed25519']).describe('Cryptographic algorithm used for signing'),\n publicKey: z.string().describe('Public key used to verify the signature'),\n signature: z.string().describe('Digital signature value'),\n signedBy: z.string().describe('Identity of the signer'),\n timestamp: z.string().datetime().describe('ISO 8601 timestamp when the signature was created'),\n })).default([]).describe('Cryptographic signatures for the plugin artifact'),\n \n /**\n * Attestations\n */\n attestations: z.array(z.object({\n type: z.enum(['code-review', 'security-scan', 'test-results', 'ci-build']).describe('Type of attestation'),\n status: z.enum(['passed', 'failed']).describe('Result status of the attestation'),\n url: z.string().url().optional().describe('URL with details about the attestation'),\n timestamp: z.string().datetime().describe('ISO 8601 timestamp when the attestation was issued'),\n })).default([]).describe('Verification attestations for the plugin'),\n}).describe('Verifiable provenance and chain of custody for a plugin artifact');\n\nexport type PluginProvenance = z.infer<typeof PluginProvenanceSchema>;\n\n// ============================================================================\n// Trust & Verification\n// ============================================================================\n\n/**\n * Plugin Trust Score\n */\nexport const PluginTrustScoreSchema = z.object({\n /**\n * Plugin identifier\n */\n pluginId: z.string().describe('Unique identifier of the plugin'),\n \n /**\n * Overall trust score (0-100)\n */\n score: z.number().min(0).max(100).describe('Overall trust score from 0 to 100'),\n \n /**\n * Score components\n */\n components: z.object({\n /**\n * Vendor reputation (0-100)\n */\n vendorReputation: z.number().min(0).max(100).describe('Vendor reputation score from 0 to 100'),\n \n /**\n * Security scan results (0-100)\n */\n securityScore: z.number().min(0).max(100).describe('Security scan results score from 0 to 100'),\n \n /**\n * Code quality (0-100)\n */\n codeQuality: z.number().min(0).max(100).describe('Code quality score from 0 to 100'),\n \n /**\n * Community engagement (0-100)\n */\n communityScore: z.number().min(0).max(100).describe('Community engagement score from 0 to 100'),\n \n /**\n * Update frequency (0-100)\n */\n maintenanceScore: z.number().min(0).max(100).describe('Maintenance and update frequency score from 0 to 100'),\n }).describe('Individual score components contributing to the overall trust score'),\n \n /**\n * Trust level\n */\n level: z.enum(['verified', 'trusted', 'neutral', 'untrusted', 'blocked']).describe('Computed trust level based on the overall score'),\n \n /**\n * Verification badges\n */\n badges: z.array(z.enum([\n 'official', // Official ObjectStack plugin\n 'verified-vendor', // Verified vendor\n 'security-scanned', // Passed security scan\n 'code-signed', // Digitally signed\n 'open-source', // Open source\n 'popular', // High downloads\n ])).default([]).describe('Verification badges earned by the plugin'),\n \n /**\n * Last updated\n */\n updatedAt: z.string().datetime().describe('ISO 8601 timestamp when the trust score was last updated'),\n}).describe('Trust score and verification status for a plugin');\n\nexport type PluginTrustScore = z.infer<typeof PluginTrustScoreSchema>;\n\n// ============================================================================\n// Export All\n// ============================================================================\n\nexport const PluginSecurityProtocol = {\n VulnerabilitySeverity,\n SecurityVulnerability: SecurityVulnerabilitySchema,\n SecurityScanResult: SecurityScanResultSchema,\n SecurityPolicy: SecurityPolicySchema,\n PackageDependency: PackageDependencySchema,\n DependencyGraphNode: DependencyGraphNodeSchema,\n DependencyGraph: DependencyGraphSchema,\n DependencyConflict: PackageDependencyConflictSchema,\n DependencyResolutionResult: PackageDependencyResolutionResultSchema,\n SBOMEntry: SBOMEntrySchema,\n SBOM: SBOMSchema,\n PluginProvenance: PluginProvenanceSchema,\n PluginTrustScore: PluginTrustScoreSchema,\n} as const;\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\nimport { z } from 'zod';\n\n/**\n * Execution Context Schema\n * \n * Defines the runtime context that flows from HTTP request → data operations.\n * This is the \"identity + environment\" envelope that every data operation can carry.\n * \n * Design:\n * - All fields are optional for backward compatibility\n * - `isSystem` bypasses permission checks (for internal/migration operations)\n * - `transaction` carries the database transaction handle for atomicity\n * - `traceId` enables distributed tracing across microservices\n * \n * Usage:\n * engine.find('account', { context: { userId: '...', tenantId: '...' } })\n */\nexport const ExecutionContextSchema = z.object({\n /** Current user ID (resolved from session) */\n userId: z.string().optional(),\n \n /** Current organization/tenant ID (resolved from session.activeOrganizationId) */\n tenantId: z.string().optional(),\n \n /** User role names (resolved from Member + Role) */\n roles: z.array(z.string()).default([]),\n \n /** Aggregated permission names (resolved from PermissionSet) */\n permissions: z.array(z.string()).default([]),\n \n /** Whether this is a system-level operation (bypasses permission checks) */\n isSystem: z.boolean().default(false),\n \n /** Raw access token (for external API call pass-through) */\n accessToken: z.string().optional(),\n \n /** Database transaction handle */\n transaction: z.unknown().optional(),\n \n /** Request trace ID (for distributed tracing) */\n traceId: z.string().optional(),\n});\n\nexport type ExecutionContext = z.infer<typeof ExecutionContextSchema>;\n"]}
|