@objectstack/spec 0.2.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +127 -5
- package/dist/ai/conversation.zod.d.ts +1059 -0
- package/dist/ai/conversation.zod.d.ts.map +1 -0
- package/dist/ai/conversation.zod.js +248 -0
- package/dist/ai/cost.zod.d.ts +2025 -0
- package/dist/ai/cost.zod.d.ts.map +1 -0
- package/dist/ai/cost.zod.js +324 -0
- package/dist/ai/index.d.ts +22 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +37 -0
- package/dist/ai/model-registry.zod.d.ts +1389 -0
- package/dist/ai/model-registry.zod.d.ts.map +1 -0
- package/dist/ai/model-registry.zod.js +164 -0
- package/dist/ai/nlq.zod.d.ts +1126 -0
- package/dist/ai/nlq.zod.d.ts.map +1 -0
- package/dist/ai/nlq.zod.js +246 -0
- package/dist/ai/predictive.zod.d.ts +838 -0
- package/dist/ai/predictive.zod.d.ts.map +1 -0
- package/dist/ai/predictive.zod.js +244 -0
- package/dist/ai/rag-pipeline.zod.d.ts +1034 -0
- package/dist/ai/rag-pipeline.zod.d.ts.map +1 -0
- package/dist/ai/rag-pipeline.zod.js +244 -0
- package/dist/ai/workflow-automation.zod.d.ts +590 -0
- package/dist/ai/workflow-automation.zod.d.ts.map +1 -0
- package/dist/ai/workflow-automation.zod.js +197 -0
- package/dist/api/contract.zod.d.ts +22 -22
- package/dist/api/index.d.ts +9 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +24 -0
- package/dist/data/field.zod.d.ts +409 -4
- package/dist/data/field.zod.d.ts.map +1 -1
- package/dist/data/field.zod.js +28 -2
- package/dist/data/index.d.ts +21 -0
- package/dist/data/index.d.ts.map +1 -0
- package/dist/data/index.js +36 -0
- package/dist/data/mapping.zod.d.ts +6 -6
- package/dist/data/object.zod.d.ts +80 -10
- package/dist/data/object.zod.d.ts.map +1 -1
- package/dist/data/query.zod.d.ts +386 -3
- package/dist/data/query.zod.d.ts.map +1 -1
- package/dist/data/query.zod.js +386 -3
- package/dist/data/validation.zod.d.ts +349 -0
- package/dist/data/validation.zod.d.ts.map +1 -1
- package/dist/data/validation.zod.js +395 -0
- package/dist/data/workflow.zod.d.ts +809 -18
- package/dist/data/workflow.zod.d.ts.map +1 -1
- package/dist/data/workflow.zod.js +115 -7
- package/dist/index.d.ts +36 -41
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +64 -49
- package/dist/system/api.zod.d.ts +4 -4
- package/dist/system/audit.zod.d.ts +1172 -0
- package/dist/system/audit.zod.d.ts.map +1 -0
- package/dist/system/audit.zod.js +596 -0
- package/dist/system/auth-protocol.d.ts +175 -0
- package/dist/system/auth-protocol.d.ts.map +1 -0
- package/dist/system/auth-protocol.js +60 -0
- package/dist/system/auth.zod.d.ts +1089 -57
- package/dist/system/auth.zod.d.ts.map +1 -1
- package/dist/system/auth.zod.js +135 -1
- package/dist/system/driver.zod.d.ts +4 -4
- package/dist/system/events.zod.d.ts +177 -0
- package/dist/system/events.zod.d.ts.map +1 -0
- package/dist/system/events.zod.js +51 -0
- package/dist/system/identity.zod.d.ts +234 -180
- package/dist/system/identity.zod.d.ts.map +1 -1
- package/dist/system/identity.zod.js +168 -51
- package/dist/system/index.d.ts +33 -0
- package/dist/system/index.d.ts.map +1 -0
- package/dist/system/index.js +48 -0
- package/dist/system/job.zod.d.ts +237 -0
- package/dist/system/job.zod.d.ts.map +1 -0
- package/dist/system/job.zod.js +82 -0
- package/dist/system/organization.zod.d.ts +179 -0
- package/dist/system/organization.zod.d.ts.map +1 -0
- package/dist/system/organization.zod.js +129 -0
- package/dist/system/realtime.zod.d.ts +135 -0
- package/dist/system/realtime.zod.d.ts.map +1 -0
- package/dist/system/realtime.zod.js +83 -0
- package/dist/system/tenant.zod.d.ts +1151 -0
- package/dist/system/tenant.zod.d.ts.map +1 -0
- package/dist/system/tenant.zod.js +498 -0
- package/dist/system/webhook.zod.d.ts +2 -2
- package/dist/ui/action.zod.d.ts +10 -10
- package/dist/ui/index.d.ts +17 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +32 -0
- package/dist/ui/theme.zod.d.ts +18 -18
- package/dist/ui/widget.zod.d.ts +40 -5
- package/dist/ui/widget.zod.d.ts.map +1 -1
- package/json-schema/README.md +127 -0
- package/json-schema/ai/AITask.json +123 -0
- package/json-schema/ai/AITaskType.json +21 -0
- package/json-schema/ai/AIWorkflowAutomation.json +379 -0
- package/json-schema/ai/AIWorkflowExecutionResult.json +105 -0
- package/json-schema/ai/AIWorkflowTrigger.json +18 -0
- package/json-schema/ai/BatchAIWorkflowExecution.json +48 -0
- package/json-schema/ai/BillingPeriod.json +18 -0
- package/json-schema/ai/BudgetLimit.json +111 -0
- package/json-schema/ai/BudgetStatus.json +91 -0
- package/json-schema/ai/BudgetType.json +17 -0
- package/json-schema/ai/ChunkingStrategy.json +133 -0
- package/json-schema/ai/ConversationAnalytics.json +86 -0
- package/json-schema/ai/ConversationContext.json +48 -0
- package/json-schema/ai/ConversationMessage.json +209 -0
- package/json-schema/ai/ConversationSession.json +458 -0
- package/json-schema/ai/ConversationSummary.json +73 -0
- package/json-schema/ai/CostAlert.json +107 -0
- package/json-schema/ai/CostAlertType.json +16 -0
- package/json-schema/ai/CostAnalytics.json +589 -0
- package/json-schema/ai/CostBreakdownDimension.json +20 -0
- package/json-schema/ai/CostBreakdownEntry.json +60 -0
- package/json-schema/ai/CostEntry.json +106 -0
- package/json-schema/ai/CostMetricType.json +17 -0
- package/json-schema/ai/CostOptimizationRecommendation.json +100 -0
- package/json-schema/ai/CostQueryFilters.json +112 -0
- package/json-schema/ai/CostReport.json +964 -0
- package/json-schema/ai/DocumentChunk.json +97 -0
- package/json-schema/ai/DocumentLoaderConfig.json +69 -0
- package/json-schema/ai/DocumentMetadata.json +61 -0
- package/json-schema/ai/EmbeddingModel.json +57 -0
- package/json-schema/ai/Entity.json +55 -0
- package/json-schema/ai/EvaluationMetrics.json +64 -0
- package/json-schema/ai/FieldSynonymConfig.json +39 -0
- package/json-schema/ai/FunctionCall.json +28 -0
- package/json-schema/ai/Hyperparameters.json +80 -0
- package/json-schema/ai/MessageContent.json +46 -0
- package/json-schema/ai/MessageContentType.json +16 -0
- package/json-schema/ai/MessagePruningEvent.json +92 -0
- package/json-schema/ai/MessageRole.json +16 -0
- package/json-schema/ai/ModelCapability.json +47 -0
- package/json-schema/ai/ModelConfig.json +181 -0
- package/json-schema/ai/ModelDrift.json +73 -0
- package/json-schema/ai/ModelFeature.json +71 -0
- package/json-schema/ai/ModelLimits.json +45 -0
- package/json-schema/ai/ModelPricing.json +28 -0
- package/json-schema/ai/ModelProvider.json +19 -0
- package/json-schema/ai/ModelRegistry.json +427 -0
- package/json-schema/ai/ModelRegistryEntry.json +239 -0
- package/json-schema/ai/ModelSelectionCriteria.json +50 -0
- package/json-schema/ai/NLQAnalytics.json +106 -0
- package/json-schema/ai/NLQFieldMapping.json +40 -0
- package/json-schema/ai/NLQModelConfig.json +78 -0
- package/json-schema/ai/NLQParseResult.json +252 -0
- package/json-schema/ai/NLQRequest.json +110 -0
- package/json-schema/ai/NLQResponse.json +288 -0
- package/json-schema/ai/NLQTrainingExample.json +120 -0
- package/json-schema/ai/PostProcessingAction.json +41 -0
- package/json-schema/ai/PredictionRequest.json +39 -0
- package/json-schema/ai/PredictionResult.json +82 -0
- package/json-schema/ai/PredictiveModel.json +445 -0
- package/json-schema/ai/PredictiveModelType.json +18 -0
- package/json-schema/ai/PromptTemplate.json +163 -0
- package/json-schema/ai/PromptVariable.json +56 -0
- package/json-schema/ai/QueryContext.json +72 -0
- package/json-schema/ai/QueryIntent.json +21 -0
- package/json-schema/ai/QueryTemplate.json +81 -0
- package/json-schema/ai/RAGPipelineConfig.json +552 -0
- package/json-schema/ai/RAGPipelineStatus.json +66 -0
- package/json-schema/ai/RAGQueryRequest.json +64 -0
- package/json-schema/ai/RAGQueryResponse.json +108 -0
- package/json-schema/ai/RerankingConfig.json +34 -0
- package/json-schema/ai/RetrievalStrategy.json +121 -0
- package/json-schema/ai/Timeframe.json +68 -0
- package/json-schema/ai/TokenBudgetConfig.json +92 -0
- package/json-schema/ai/TokenBudgetStrategy.json +16 -0
- package/json-schema/ai/TokenUsageStats.json +66 -0
- package/json-schema/ai/ToolCall.json +49 -0
- package/json-schema/ai/TrainingConfig.json +88 -0
- package/json-schema/ai/VectorStoreConfig.json +82 -0
- package/json-schema/ai/VectorStoreProvider.json +21 -0
- package/json-schema/ai/WorkflowFieldCondition.json +33 -0
- package/json-schema/ai/WorkflowSchedule.json +51 -0
- package/json-schema/data/CustomScriptAction.json +49 -0
- package/json-schema/{Field.json → data/Field.json} +50 -1
- package/json-schema/{FieldType.json → data/FieldType.json} +4 -1
- package/json-schema/data/HttpCallAction.json +81 -0
- package/json-schema/{Object.json → data/Object.json} +50 -1
- package/json-schema/data/PushNotificationAction.json +59 -0
- package/json-schema/data/SlackMessageAction.json +45 -0
- package/json-schema/data/SmsNotificationAction.json +50 -0
- package/json-schema/data/TaskCreationAction.json +59 -0
- package/json-schema/data/TeamsMessageAction.json +45 -0
- package/json-schema/data/WebhookTriggerAction.json +58 -0
- package/json-schema/data/WorkflowAction.json +465 -0
- package/json-schema/data/WorkflowRule.json +509 -0
- package/json-schema/system/Account.json +87 -0
- package/json-schema/system/AuditConfig.json +587 -0
- package/json-schema/system/AuditEvent.json +232 -0
- package/json-schema/system/AuditEventActor.json +48 -0
- package/json-schema/system/AuditEventChange.json +25 -0
- package/json-schema/system/AuditEventFilter.json +127 -0
- package/json-schema/system/AuditEventSeverity.json +19 -0
- package/json-schema/system/AuditEventTarget.json +33 -0
- package/json-schema/system/AuditEventType.json +53 -0
- package/json-schema/system/AuditRetentionPolicy.json +73 -0
- package/json-schema/system/AuditStorageConfig.json +60 -0
- package/json-schema/{AuthConfig.json → system/AuthConfig.json} +235 -0
- package/json-schema/system/CronSchedule.json +29 -0
- package/json-schema/system/DatabaseLevelIsolationStrategy.json +139 -0
- package/json-schema/system/DatabaseMapping.json +48 -0
- package/json-schema/system/EnterpriseAuthConfig.json +172 -0
- package/json-schema/system/Event.json +52 -0
- package/json-schema/system/EventHandler.json +29 -0
- package/json-schema/system/EventMetadata.json +33 -0
- package/json-schema/system/EventPersistence.json +25 -0
- package/json-schema/system/EventRoute.json +27 -0
- package/json-schema/system/IntervalSchedule.json +25 -0
- package/json-schema/system/Invitation.json +69 -0
- package/json-schema/system/InvitationStatus.json +15 -0
- package/json-schema/system/Job.json +127 -0
- package/json-schema/system/JobExecution.json +49 -0
- package/json-schema/system/JobExecutionStatus.json +15 -0
- package/json-schema/{LDAPConfig.json → system/LDAPConfig.json} +22 -5
- package/json-schema/system/LevelIsolationStrategySchema.json +93 -0
- package/json-schema/system/Member.json +46 -0
- package/json-schema/{OIDCConfig.json → system/OIDCConfig.json} +18 -3
- package/json-schema/system/OnceSchedule.json +25 -0
- package/json-schema/system/Organization.json +52 -0
- package/json-schema/system/Presence.json +40 -0
- package/json-schema/system/PresenceStatus.json +14 -0
- package/json-schema/system/RealtimeAction.json +14 -0
- package/json-schema/system/RealtimeEvent.json +51 -0
- package/json-schema/system/RealtimeEventType.json +15 -0
- package/json-schema/system/RetryPolicy.json +30 -0
- package/json-schema/system/RowLevelIsolationStrategy.json +74 -0
- package/json-schema/{SAMLConfig.json → system/SAMLConfig.json} +17 -3
- package/json-schema/system/Schedule.json +71 -0
- package/json-schema/system/Session.json +63 -0
- package/json-schema/{StandardAuthProvider.json → system/StandardAuthProvider.json} +235 -0
- package/json-schema/system/Subscription.json +65 -0
- package/json-schema/system/SubscriptionEvent.json +32 -0
- package/json-schema/system/SuspiciousActivityRule.json +175 -0
- package/json-schema/system/Tenant.json +61 -0
- package/json-schema/system/TenantIsolationConfig.json +298 -0
- package/json-schema/system/TenantIsolationLevel.json +14 -0
- package/json-schema/system/TenantQuota.json +27 -0
- package/json-schema/system/TenantSecurityPolicy.json +115 -0
- package/json-schema/system/TransportProtocol.json +14 -0
- package/json-schema/system/User.json +51 -0
- package/json-schema/system/VerificationToken.json +36 -0
- package/json-schema/{Action.json → ui/Action.json} +4 -1
- package/json-schema/{ActionParam.json → ui/ActionParam.json} +4 -1
- package/json-schema/{FieldWidgetProps.json → ui/FieldWidgetProps.json} +50 -1
- package/package.json +38 -12
- package/json-schema/AuthProtocol.json +0 -17
- package/json-schema/AuthProvider.json +0 -171
- package/json-schema/AuthenticationConfig.json +0 -601
- package/json-schema/AuthenticationProvider.json +0 -617
- package/json-schema/MenuItem.json +0 -28
- package/json-schema/WorkflowAction.json +0 -84
- package/json-schema/WorkflowRule.json +0 -128
- /package/json-schema/{AIKnowledge.json → ai/AIKnowledge.json} +0 -0
- /package/json-schema/{AIModelConfig.json → ai/AIModelConfig.json} +0 -0
- /package/json-schema/{AITool.json → ai/AITool.json} +0 -0
- /package/json-schema/{Agent.json → ai/Agent.json} +0 -0
- /package/json-schema/{ApiError.json → api/ApiError.json} +0 -0
- /package/json-schema/{BaseResponse.json → api/BaseResponse.json} +0 -0
- /package/json-schema/{BulkRequest.json → api/BulkRequest.json} +0 -0
- /package/json-schema/{BulkResponse.json → api/BulkResponse.json} +0 -0
- /package/json-schema/{CreateRequest.json → api/CreateRequest.json} +0 -0
- /package/json-schema/{DeleteResponse.json → api/DeleteResponse.json} +0 -0
- /package/json-schema/{ExportRequest.json → api/ExportRequest.json} +0 -0
- /package/json-schema/{ListRecordResponse.json → api/ListRecordResponse.json} +0 -0
- /package/json-schema/{ModificationResult.json → api/ModificationResult.json} +0 -0
- /package/json-schema/{RecordData.json → api/RecordData.json} +0 -0
- /package/json-schema/{SingleRecordResponse.json → api/SingleRecordResponse.json} +0 -0
- /package/json-schema/{UpdateRequest.json → api/UpdateRequest.json} +0 -0
- /package/json-schema/{Address.json → data/Address.json} +0 -0
- /package/json-schema/{AggregationFunction.json → data/AggregationFunction.json} +0 -0
- /package/json-schema/{AggregationNode.json → data/AggregationNode.json} +0 -0
- /package/json-schema/{AsyncValidation.json → data/AsyncValidation.json} +0 -0
- /package/json-schema/{ComparisonOperator.json → data/ComparisonOperator.json} +0 -0
- /package/json-schema/{ConditionalValidation.json → data/ConditionalValidation.json} +0 -0
- /package/json-schema/{CrossFieldValidation.json → data/CrossFieldValidation.json} +0 -0
- /package/json-schema/{CustomValidator.json → data/CustomValidator.json} +0 -0
- /package/json-schema/{Dataset.json → data/Dataset.json} +0 -0
- /package/json-schema/{DatasetMode.json → data/DatasetMode.json} +0 -0
- /package/json-schema/{EmailAlertAction.json → data/EmailAlertAction.json} +0 -0
- /package/json-schema/{EqualityOperator.json → data/EqualityOperator.json} +0 -0
- /package/json-schema/{FieldMapping.json → data/FieldMapping.json} +0 -0
- /package/json-schema/{FieldNode.json → data/FieldNode.json} +0 -0
- /package/json-schema/{FieldOperators.json → data/FieldOperators.json} +0 -0
- /package/json-schema/{FieldPermission.json → data/FieldPermission.json} +0 -0
- /package/json-schema/{FieldUpdateAction.json → data/FieldUpdateAction.json} +0 -0
- /package/json-schema/{FilterCondition.json → data/FilterCondition.json} +0 -0
- /package/json-schema/{FilterNode.json → data/FilterNode.json} +0 -0
- /package/json-schema/{FilterOperator.json → data/FilterOperator.json} +0 -0
- /package/json-schema/{Flow.json → data/Flow.json} +0 -0
- /package/json-schema/{FlowEdge.json → data/FlowEdge.json} +0 -0
- /package/json-schema/{FlowNode.json → data/FlowNode.json} +0 -0
- /package/json-schema/{FlowNodeAction.json → data/FlowNodeAction.json} +0 -0
- /package/json-schema/{FlowVariable.json → data/FlowVariable.json} +0 -0
- /package/json-schema/{FormatValidation.json → data/FormatValidation.json} +0 -0
- /package/json-schema/{Index.json → data/Index.json} +0 -0
- /package/json-schema/{JoinNode.json → data/JoinNode.json} +0 -0
- /package/json-schema/{JoinType.json → data/JoinType.json} +0 -0
- /package/json-schema/{LocationCoordinates.json → data/LocationCoordinates.json} +0 -0
- /package/json-schema/{LogicOperator.json → data/LogicOperator.json} +0 -0
- /package/json-schema/{Mapping.json → data/Mapping.json} +0 -0
- /package/json-schema/{NormalizedFilter.json → data/NormalizedFilter.json} +0 -0
- /package/json-schema/{OWDModel.json → data/OWDModel.json} +0 -0
- /package/json-schema/{ObjectCapabilities.json → data/ObjectCapabilities.json} +0 -0
- /package/json-schema/{ObjectPermission.json → data/ObjectPermission.json} +0 -0
- /package/json-schema/{PermissionSet.json → data/PermissionSet.json} +0 -0
- /package/json-schema/{Query.json → data/Query.json} +0 -0
- /package/json-schema/{QueryFilter.json → data/QueryFilter.json} +0 -0
- /package/json-schema/{RangeOperator.json → data/RangeOperator.json} +0 -0
- /package/json-schema/{ScriptValidation.json → data/ScriptValidation.json} +0 -0
- /package/json-schema/{SelectOption.json → data/SelectOption.json} +0 -0
- /package/json-schema/{SetOperator.json → data/SetOperator.json} +0 -0
- /package/json-schema/{SharingLevel.json → data/SharingLevel.json} +0 -0
- /package/json-schema/{SharingRule.json → data/SharingRule.json} +0 -0
- /package/json-schema/{SharingRuleType.json → data/SharingRuleType.json} +0 -0
- /package/json-schema/{SortNode.json → data/SortNode.json} +0 -0
- /package/json-schema/{SpecialOperator.json → data/SpecialOperator.json} +0 -0
- /package/json-schema/{StateMachineValidation.json → data/StateMachineValidation.json} +0 -0
- /package/json-schema/{StringOperator.json → data/StringOperator.json} +0 -0
- /package/json-schema/{TransformType.json → data/TransformType.json} +0 -0
- /package/json-schema/{Trigger.json → data/Trigger.json} +0 -0
- /package/json-schema/{TriggerAction.json → data/TriggerAction.json} +0 -0
- /package/json-schema/{TriggerContext.json → data/TriggerContext.json} +0 -0
- /package/json-schema/{TriggerTiming.json → data/TriggerTiming.json} +0 -0
- /package/json-schema/{UniquenessValidation.json → data/UniquenessValidation.json} +0 -0
- /package/json-schema/{ValidationRule.json → data/ValidationRule.json} +0 -0
- /package/json-schema/{WindowFunction.json → data/WindowFunction.json} +0 -0
- /package/json-schema/{WindowFunctionNode.json → data/WindowFunctionNode.json} +0 -0
- /package/json-schema/{WindowSpec.json → data/WindowSpec.json} +0 -0
- /package/json-schema/{WorkflowTriggerType.json → data/WorkflowTriggerType.json} +0 -0
- /package/json-schema/{AccountLinkingConfig.json → system/AccountLinkingConfig.json} +0 -0
- /package/json-schema/{ApiCapabilities.json → system/ApiCapabilities.json} +0 -0
- /package/json-schema/{ApiEndpoint.json → system/ApiEndpoint.json} +0 -0
- /package/json-schema/{ApiMapping.json → system/ApiMapping.json} +0 -0
- /package/json-schema/{ApiRoutes.json → system/ApiRoutes.json} +0 -0
- /package/json-schema/{AuditPolicy.json → system/AuditPolicy.json} +0 -0
- /package/json-schema/{AuthPluginConfig.json → system/AuthPluginConfig.json} +0 -0
- /package/json-schema/{AuthStrategy.json → system/AuthStrategy.json} +0 -0
- /package/json-schema/{CSRFConfig.json → system/CSRFConfig.json} +0 -0
- /package/json-schema/{DatabaseAdapter.json → system/DatabaseAdapter.json} +0 -0
- /package/json-schema/{Datasource.json → system/Datasource.json} +0 -0
- /package/json-schema/{DatasourceCapabilities.json → system/DatasourceCapabilities.json} +0 -0
- /package/json-schema/{Discovery.json → system/Discovery.json} +0 -0
- /package/json-schema/{DriverCapabilities.json → system/DriverCapabilities.json} +0 -0
- /package/json-schema/{DriverDefinition.json → system/DriverDefinition.json} +0 -0
- /package/json-schema/{DriverInterface.json → system/DriverInterface.json} +0 -0
- /package/json-schema/{DriverOptions.json → system/DriverOptions.json} +0 -0
- /package/json-schema/{DriverType.json → system/DriverType.json} +0 -0
- /package/json-schema/{EmailPasswordConfig.json → system/EmailPasswordConfig.json} +0 -0
- /package/json-schema/{Feature.json → system/Feature.json} +0 -0
- /package/json-schema/{HttpMethod.json → system/HttpMethod.json} +0 -0
- /package/json-schema/{I18nContext.json → system/I18nContext.json} +0 -0
- /package/json-schema/{License.json → system/License.json} +0 -0
- /package/json-schema/{Locale.json → system/Locale.json} +0 -0
- /package/json-schema/{Logger.json → system/Logger.json} +0 -0
- /package/json-schema/{MagicLinkConfig.json → system/MagicLinkConfig.json} +0 -0
- /package/json-schema/{Manifest.json → system/Manifest.json} +0 -0
- /package/json-schema/{MetricType.json → system/MetricType.json} +0 -0
- /package/json-schema/{NetworkPolicy.json → system/NetworkPolicy.json} +0 -0
- /package/json-schema/{OAuthProvider.json → system/OAuthProvider.json} +0 -0
- /package/json-schema/{ObjectQLClient.json → system/ObjectQLClient.json} +0 -0
- /package/json-schema/{PasskeyConfig.json → system/PasskeyConfig.json} +0 -0
- /package/json-schema/{PasswordPolicy.json → system/PasswordPolicy.json} +0 -0
- /package/json-schema/{Plan.json → system/Plan.json} +0 -0
- /package/json-schema/{Plugin.json → system/Plugin.json} +0 -0
- /package/json-schema/{PluginContext.json → system/PluginContext.json} +0 -0
- /package/json-schema/{PluginLifecycle.json → system/PluginLifecycle.json} +0 -0
- /package/json-schema/{Policy.json → system/Policy.json} +0 -0
- /package/json-schema/{RateLimit.json → system/RateLimit.json} +0 -0
- /package/json-schema/{RateLimitConfig.json → system/RateLimitConfig.json} +0 -0
- /package/json-schema/{Role.json → system/Role.json} +0 -0
- /package/json-schema/{Router.json → system/Router.json} +0 -0
- /package/json-schema/{Scheduler.json → system/Scheduler.json} +0 -0
- /package/json-schema/{ScopedStorage.json → system/ScopedStorage.json} +0 -0
- /package/json-schema/{SessionConfig.json → system/SessionConfig.json} +0 -0
- /package/json-schema/{SessionPolicy.json → system/SessionPolicy.json} +0 -0
- /package/json-schema/{SystemAPI.json → system/SystemAPI.json} +0 -0
- /package/json-schema/{Territory.json → system/Territory.json} +0 -0
- /package/json-schema/{TerritoryModel.json → system/TerritoryModel.json} +0 -0
- /package/json-schema/{TerritoryType.json → system/TerritoryType.json} +0 -0
- /package/json-schema/{TranslationBundle.json → system/TranslationBundle.json} +0 -0
- /package/json-schema/{TranslationData.json → system/TranslationData.json} +0 -0
- /package/json-schema/{TwoFactorConfig.json → system/TwoFactorConfig.json} +0 -0
- /package/json-schema/{UserFieldMapping.json → system/UserFieldMapping.json} +0 -0
- /package/json-schema/{Webhook.json → system/Webhook.json} +0 -0
- /package/json-schema/{WebhookReceiver.json → system/WebhookReceiver.json} +0 -0
- /package/json-schema/{WebhookTriggerType.json → system/WebhookTriggerType.json} +0 -0
- /package/json-schema/{Animation.json → ui/Animation.json} +0 -0
- /package/json-schema/{App.json → ui/App.json} +0 -0
- /package/json-schema/{AppBranding.json → ui/AppBranding.json} +0 -0
- /package/json-schema/{BorderRadius.json → ui/BorderRadius.json} +0 -0
- /package/json-schema/{Breakpoints.json → ui/Breakpoints.json} +0 -0
- /package/json-schema/{CalendarConfig.json → ui/CalendarConfig.json} +0 -0
- /package/json-schema/{ChartType.json → ui/ChartType.json} +0 -0
- /package/json-schema/{ColorPalette.json → ui/ColorPalette.json} +0 -0
- /package/json-schema/{Dashboard.json → ui/Dashboard.json} +0 -0
- /package/json-schema/{DashboardNavItem.json → ui/DashboardNavItem.json} +0 -0
- /package/json-schema/{DashboardWidget.json → ui/DashboardWidget.json} +0 -0
- /package/json-schema/{FormSection.json → ui/FormSection.json} +0 -0
- /package/json-schema/{FormView.json → ui/FormView.json} +0 -0
- /package/json-schema/{GanttConfig.json → ui/GanttConfig.json} +0 -0
- /package/json-schema/{GroupNavItem.json → ui/GroupNavItem.json} +0 -0
- /package/json-schema/{KanbanConfig.json → ui/KanbanConfig.json} +0 -0
- /package/json-schema/{ListView.json → ui/ListView.json} +0 -0
- /package/json-schema/{NavigationItem.json → ui/NavigationItem.json} +0 -0
- /package/json-schema/{ObjectNavItem.json → ui/ObjectNavItem.json} +0 -0
- /package/json-schema/{Page.json → ui/Page.json} +0 -0
- /package/json-schema/{PageComponent.json → ui/PageComponent.json} +0 -0
- /package/json-schema/{PageNavItem.json → ui/PageNavItem.json} +0 -0
- /package/json-schema/{PageRegion.json → ui/PageRegion.json} +0 -0
- /package/json-schema/{Report.json → ui/Report.json} +0 -0
- /package/json-schema/{ReportChart.json → ui/ReportChart.json} +0 -0
- /package/json-schema/{ReportColumn.json → ui/ReportColumn.json} +0 -0
- /package/json-schema/{ReportGrouping.json → ui/ReportGrouping.json} +0 -0
- /package/json-schema/{ReportType.json → ui/ReportType.json} +0 -0
- /package/json-schema/{Shadow.json → ui/Shadow.json} +0 -0
- /package/json-schema/{Spacing.json → ui/Spacing.json} +0 -0
- /package/json-schema/{Theme.json → ui/Theme.json} +0 -0
- /package/json-schema/{ThemeMode.json → ui/ThemeMode.json} +0 -0
- /package/json-schema/{Typography.json → ui/Typography.json} +0 -0
- /package/json-schema/{UrlNavItem.json → ui/UrlNavItem.json} +0 -0
- /package/json-schema/{View.json → ui/View.json} +0 -0
- /package/json-schema/{ZIndex.json → ui/ZIndex.json} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"predictive.zod.d.ts","sourceRoot":"","sources":["../../src/ai/predictive.zod.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ModelDriftSchema = exports.PredictionResultSchema = exports.PredictionRequestSchema = exports.PredictiveModelSchema = exports.EvaluationMetricsSchema = exports.TrainingConfigSchema = exports.HyperparametersSchema = exports.ModelFeatureSchema = exports.PredictiveModelTypeSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
/**
|
|
6
|
+
* Predictive Analytics Protocol
|
|
7
|
+
*
|
|
8
|
+
* Defines predictive models and machine learning configurations for
|
|
9
|
+
* data-driven decision making and forecasting in ObjectStack applications.
|
|
10
|
+
*
|
|
11
|
+
* Use Cases:
|
|
12
|
+
* - Lead scoring and conversion prediction
|
|
13
|
+
* - Customer churn prediction
|
|
14
|
+
* - Sales forecasting
|
|
15
|
+
* - Demand forecasting
|
|
16
|
+
* - Anomaly detection in operational data
|
|
17
|
+
* - Customer segmentation and clustering
|
|
18
|
+
* - Price optimization
|
|
19
|
+
* - Recommendation systems
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* Predictive Model Types
|
|
23
|
+
*/
|
|
24
|
+
exports.PredictiveModelTypeSchema = zod_1.z.enum([
|
|
25
|
+
'classification', // Binary or multi-class classification
|
|
26
|
+
'regression', // Numerical prediction
|
|
27
|
+
'clustering', // Unsupervised grouping
|
|
28
|
+
'forecasting', // Time-series prediction
|
|
29
|
+
'anomaly_detection', // Outlier detection
|
|
30
|
+
'recommendation', // Item or action recommendation
|
|
31
|
+
'ranking', // Ordering items by relevance
|
|
32
|
+
]);
|
|
33
|
+
/**
|
|
34
|
+
* Model Feature Definition
|
|
35
|
+
* Describes an input feature for a predictive model
|
|
36
|
+
*/
|
|
37
|
+
exports.ModelFeatureSchema = zod_1.z.object({
|
|
38
|
+
/** Feature Identity */
|
|
39
|
+
name: zod_1.z.string().regex(/^[a-z_][a-z0-9_]*$/).describe('Feature name (snake_case)'),
|
|
40
|
+
label: zod_1.z.string().optional().describe('Human-readable label'),
|
|
41
|
+
/** Data Source */
|
|
42
|
+
field: zod_1.z.string().describe('Source field name'),
|
|
43
|
+
object: zod_1.z.string().optional().describe('Source object (if different from target)'),
|
|
44
|
+
/** Feature Type */
|
|
45
|
+
dataType: zod_1.z.enum(['numeric', 'categorical', 'text', 'datetime', 'boolean']).describe('Feature data type'),
|
|
46
|
+
/** Feature Engineering */
|
|
47
|
+
transformation: zod_1.z.enum([
|
|
48
|
+
'none',
|
|
49
|
+
'normalize', // Normalize to 0-1 range
|
|
50
|
+
'standardize', // Z-score standardization
|
|
51
|
+
'one_hot_encode', // One-hot encoding for categorical
|
|
52
|
+
'label_encode', // Label encoding for categorical
|
|
53
|
+
'log_transform', // Logarithmic transformation
|
|
54
|
+
'binning', // Discretize continuous values
|
|
55
|
+
'embedding', // Text/categorical embedding
|
|
56
|
+
]).optional().default('none'),
|
|
57
|
+
/** Configuration */
|
|
58
|
+
required: zod_1.z.boolean().optional().default(true),
|
|
59
|
+
defaultValue: zod_1.z.any().optional(),
|
|
60
|
+
/** Metadata */
|
|
61
|
+
description: zod_1.z.string().optional(),
|
|
62
|
+
importance: zod_1.z.number().optional().describe('Feature importance score (0-1)'),
|
|
63
|
+
});
|
|
64
|
+
/**
|
|
65
|
+
* Model Hyperparameters
|
|
66
|
+
* Configuration specific to model algorithms
|
|
67
|
+
*/
|
|
68
|
+
exports.HyperparametersSchema = zod_1.z.object({
|
|
69
|
+
/** General Parameters */
|
|
70
|
+
learningRate: zod_1.z.number().optional().describe('Learning rate for training'),
|
|
71
|
+
epochs: zod_1.z.number().int().optional().describe('Number of training epochs'),
|
|
72
|
+
batchSize: zod_1.z.number().int().optional().describe('Training batch size'),
|
|
73
|
+
/** Tree-based Models (Random Forest, XGBoost, etc.) */
|
|
74
|
+
maxDepth: zod_1.z.number().int().optional().describe('Maximum tree depth'),
|
|
75
|
+
numTrees: zod_1.z.number().int().optional().describe('Number of trees in ensemble'),
|
|
76
|
+
minSamplesSplit: zod_1.z.number().int().optional().describe('Minimum samples to split node'),
|
|
77
|
+
minSamplesLeaf: zod_1.z.number().int().optional().describe('Minimum samples in leaf node'),
|
|
78
|
+
/** Neural Networks */
|
|
79
|
+
hiddenLayers: zod_1.z.array(zod_1.z.number().int()).optional().describe('Hidden layer sizes'),
|
|
80
|
+
activation: zod_1.z.string().optional().describe('Activation function'),
|
|
81
|
+
dropout: zod_1.z.number().optional().describe('Dropout rate'),
|
|
82
|
+
/** Regularization */
|
|
83
|
+
l1Regularization: zod_1.z.number().optional().describe('L1 regularization strength'),
|
|
84
|
+
l2Regularization: zod_1.z.number().optional().describe('L2 regularization strength'),
|
|
85
|
+
/** Clustering */
|
|
86
|
+
numClusters: zod_1.z.number().int().optional().describe('Number of clusters (k-means, etc.)'),
|
|
87
|
+
/** Time Series */
|
|
88
|
+
seasonalPeriod: zod_1.z.number().int().optional().describe('Seasonal period for time series'),
|
|
89
|
+
forecastHorizon: zod_1.z.number().int().optional().describe('Number of periods to forecast'),
|
|
90
|
+
/** Additional custom parameters */
|
|
91
|
+
custom: zod_1.z.record(zod_1.z.any()).optional().describe('Algorithm-specific parameters'),
|
|
92
|
+
});
|
|
93
|
+
/**
|
|
94
|
+
* Model Training Configuration
|
|
95
|
+
*/
|
|
96
|
+
exports.TrainingConfigSchema = zod_1.z.object({
|
|
97
|
+
/** Data Split */
|
|
98
|
+
trainingDataRatio: zod_1.z.number().min(0).max(1).optional().default(0.8).describe('Proportion of data for training'),
|
|
99
|
+
validationDataRatio: zod_1.z.number().min(0).max(1).optional().default(0.1).describe('Proportion for validation'),
|
|
100
|
+
testDataRatio: zod_1.z.number().min(0).max(1).optional().default(0.1).describe('Proportion for testing'),
|
|
101
|
+
/** Data Filtering */
|
|
102
|
+
dataFilter: zod_1.z.string().optional().describe('Formula to filter training data'),
|
|
103
|
+
minRecords: zod_1.z.number().int().optional().default(100).describe('Minimum records required'),
|
|
104
|
+
maxRecords: zod_1.z.number().int().optional().describe('Maximum records to use'),
|
|
105
|
+
/** Training Strategy */
|
|
106
|
+
strategy: zod_1.z.enum(['full', 'incremental', 'online', 'transfer_learning']).optional().default('full'),
|
|
107
|
+
crossValidation: zod_1.z.boolean().optional().default(true),
|
|
108
|
+
folds: zod_1.z.number().int().min(2).max(10).optional().default(5).describe('Cross-validation folds'),
|
|
109
|
+
/** Early Stopping */
|
|
110
|
+
earlyStoppingEnabled: zod_1.z.boolean().optional().default(true),
|
|
111
|
+
earlyStoppingPatience: zod_1.z.number().int().optional().default(10).describe('Epochs without improvement before stopping'),
|
|
112
|
+
/** Resource Limits */
|
|
113
|
+
maxTrainingTime: zod_1.z.number().optional().describe('Maximum training time in seconds'),
|
|
114
|
+
gpuEnabled: zod_1.z.boolean().optional().default(false),
|
|
115
|
+
/** Reproducibility */
|
|
116
|
+
randomSeed: zod_1.z.number().int().optional().describe('Random seed for reproducibility'),
|
|
117
|
+
});
|
|
118
|
+
/**
|
|
119
|
+
* Model Evaluation Metrics
|
|
120
|
+
*/
|
|
121
|
+
exports.EvaluationMetricsSchema = zod_1.z.object({
|
|
122
|
+
/** Classification Metrics */
|
|
123
|
+
accuracy: zod_1.z.number().optional(),
|
|
124
|
+
precision: zod_1.z.number().optional(),
|
|
125
|
+
recall: zod_1.z.number().optional(),
|
|
126
|
+
f1Score: zod_1.z.number().optional(),
|
|
127
|
+
auc: zod_1.z.number().optional().describe('Area Under ROC Curve'),
|
|
128
|
+
/** Regression Metrics */
|
|
129
|
+
mse: zod_1.z.number().optional().describe('Mean Squared Error'),
|
|
130
|
+
rmse: zod_1.z.number().optional().describe('Root Mean Squared Error'),
|
|
131
|
+
mae: zod_1.z.number().optional().describe('Mean Absolute Error'),
|
|
132
|
+
r2Score: zod_1.z.number().optional().describe('R-squared score'),
|
|
133
|
+
/** Clustering Metrics */
|
|
134
|
+
silhouetteScore: zod_1.z.number().optional(),
|
|
135
|
+
daviesBouldinIndex: zod_1.z.number().optional(),
|
|
136
|
+
/** Time Series Metrics */
|
|
137
|
+
mape: zod_1.z.number().optional().describe('Mean Absolute Percentage Error'),
|
|
138
|
+
smape: zod_1.z.number().optional().describe('Symmetric MAPE'),
|
|
139
|
+
/** Additional Metrics */
|
|
140
|
+
custom: zod_1.z.record(zod_1.z.number()).optional(),
|
|
141
|
+
});
|
|
142
|
+
/**
|
|
143
|
+
* Predictive Model Schema
|
|
144
|
+
* Complete definition of a predictive model
|
|
145
|
+
*/
|
|
146
|
+
exports.PredictiveModelSchema = zod_1.z.object({
|
|
147
|
+
/** Identity */
|
|
148
|
+
name: zod_1.z.string().regex(/^[a-z_][a-z0-9_]*$/).describe('Model unique identifier (snake_case)'),
|
|
149
|
+
label: zod_1.z.string().describe('Model display name'),
|
|
150
|
+
description: zod_1.z.string().optional(),
|
|
151
|
+
/** Model Type */
|
|
152
|
+
type: exports.PredictiveModelTypeSchema,
|
|
153
|
+
algorithm: zod_1.z.string().optional().describe('Specific algorithm (e.g., "random_forest", "xgboost", "lstm")'),
|
|
154
|
+
/** Target Object & Field */
|
|
155
|
+
objectName: zod_1.z.string().describe('Target object for predictions'),
|
|
156
|
+
target: zod_1.z.string().describe('Target field to predict'),
|
|
157
|
+
targetType: zod_1.z.enum(['numeric', 'categorical', 'binary']).optional().describe('Target field type'),
|
|
158
|
+
/** Features */
|
|
159
|
+
features: zod_1.z.array(exports.ModelFeatureSchema).describe('Input features for the model'),
|
|
160
|
+
/** Hyperparameters */
|
|
161
|
+
hyperparameters: exports.HyperparametersSchema.optional(),
|
|
162
|
+
/** Training Configuration */
|
|
163
|
+
training: exports.TrainingConfigSchema.optional(),
|
|
164
|
+
/** Model Performance */
|
|
165
|
+
metrics: exports.EvaluationMetricsSchema.optional().describe('Evaluation metrics from last training'),
|
|
166
|
+
/** Deployment */
|
|
167
|
+
deploymentStatus: zod_1.z.enum(['draft', 'training', 'trained', 'deployed', 'deprecated']).optional().default('draft'),
|
|
168
|
+
version: zod_1.z.string().optional().default('1.0.0'),
|
|
169
|
+
/** Prediction Configuration */
|
|
170
|
+
predictionField: zod_1.z.string().optional().describe('Field to store predictions'),
|
|
171
|
+
confidenceField: zod_1.z.string().optional().describe('Field to store confidence scores'),
|
|
172
|
+
updateTrigger: zod_1.z.enum(['on_create', 'on_update', 'manual', 'scheduled']).optional().default('on_create'),
|
|
173
|
+
/** Retraining */
|
|
174
|
+
autoRetrain: zod_1.z.boolean().optional().default(false),
|
|
175
|
+
retrainSchedule: zod_1.z.string().optional().describe('Cron expression for auto-retraining'),
|
|
176
|
+
retrainThreshold: zod_1.z.number().optional().describe('Performance threshold to trigger retraining'),
|
|
177
|
+
/** Explainability */
|
|
178
|
+
enableExplainability: zod_1.z.boolean().optional().default(false).describe('Generate feature importance & explanations'),
|
|
179
|
+
/** Monitoring */
|
|
180
|
+
enableMonitoring: zod_1.z.boolean().optional().default(true),
|
|
181
|
+
alertOnDrift: zod_1.z.boolean().optional().default(true).describe('Alert when model drift is detected'),
|
|
182
|
+
/** Access Control */
|
|
183
|
+
active: zod_1.z.boolean().optional().default(true),
|
|
184
|
+
owner: zod_1.z.string().optional().describe('User ID of model owner'),
|
|
185
|
+
permissions: zod_1.z.array(zod_1.z.string()).optional().describe('User/group IDs with access'),
|
|
186
|
+
/** Metadata */
|
|
187
|
+
tags: zod_1.z.array(zod_1.z.string()).optional(),
|
|
188
|
+
category: zod_1.z.string().optional().describe('Model category (e.g., "sales", "marketing", "operations")'),
|
|
189
|
+
lastTrainedAt: zod_1.z.string().optional().describe('ISO timestamp'),
|
|
190
|
+
createdAt: zod_1.z.string().optional().describe('ISO timestamp'),
|
|
191
|
+
updatedAt: zod_1.z.string().optional().describe('ISO timestamp'),
|
|
192
|
+
});
|
|
193
|
+
/**
|
|
194
|
+
* Prediction Request
|
|
195
|
+
* Request for making predictions using a trained model
|
|
196
|
+
*/
|
|
197
|
+
exports.PredictionRequestSchema = zod_1.z.object({
|
|
198
|
+
modelName: zod_1.z.string().describe('Model to use for prediction'),
|
|
199
|
+
recordIds: zod_1.z.array(zod_1.z.string()).optional().describe('Specific records to predict (if not provided, uses all)'),
|
|
200
|
+
inputData: zod_1.z.record(zod_1.z.any()).optional().describe('Direct input data (alternative to recordIds)'),
|
|
201
|
+
returnConfidence: zod_1.z.boolean().optional().default(true),
|
|
202
|
+
returnExplanation: zod_1.z.boolean().optional().default(false),
|
|
203
|
+
});
|
|
204
|
+
/**
|
|
205
|
+
* Prediction Result
|
|
206
|
+
* Result of a prediction request
|
|
207
|
+
*/
|
|
208
|
+
exports.PredictionResultSchema = zod_1.z.object({
|
|
209
|
+
modelName: zod_1.z.string(),
|
|
210
|
+
modelVersion: zod_1.z.string(),
|
|
211
|
+
recordId: zod_1.z.string().optional(),
|
|
212
|
+
prediction: zod_1.z.any().describe('The predicted value'),
|
|
213
|
+
confidence: zod_1.z.number().optional().describe('Confidence score (0-1)'),
|
|
214
|
+
probabilities: zod_1.z.record(zod_1.z.number()).optional().describe('Class probabilities (for classification)'),
|
|
215
|
+
explanation: zod_1.z.object({
|
|
216
|
+
topFeatures: zod_1.z.array(zod_1.z.object({
|
|
217
|
+
feature: zod_1.z.string(),
|
|
218
|
+
importance: zod_1.z.number(),
|
|
219
|
+
value: zod_1.z.any(),
|
|
220
|
+
})).optional(),
|
|
221
|
+
reasoning: zod_1.z.string().optional(),
|
|
222
|
+
}).optional(),
|
|
223
|
+
metadata: zod_1.z.object({
|
|
224
|
+
executionTime: zod_1.z.number().optional().describe('Execution time in milliseconds'),
|
|
225
|
+
timestamp: zod_1.z.string().optional().describe('ISO timestamp'),
|
|
226
|
+
}).optional(),
|
|
227
|
+
});
|
|
228
|
+
/**
|
|
229
|
+
* Model Drift Detection
|
|
230
|
+
* Monitoring for model performance degradation
|
|
231
|
+
*/
|
|
232
|
+
exports.ModelDriftSchema = zod_1.z.object({
|
|
233
|
+
modelName: zod_1.z.string(),
|
|
234
|
+
driftType: zod_1.z.enum(['feature_drift', 'prediction_drift', 'performance_drift']),
|
|
235
|
+
severity: zod_1.z.enum(['low', 'medium', 'high', 'critical']),
|
|
236
|
+
detectedAt: zod_1.z.string().describe('ISO timestamp'),
|
|
237
|
+
metrics: zod_1.z.object({
|
|
238
|
+
driftScore: zod_1.z.number().describe('Drift magnitude (0-1)'),
|
|
239
|
+
affectedFeatures: zod_1.z.array(zod_1.z.string()).optional(),
|
|
240
|
+
performanceChange: zod_1.z.number().optional().describe('Change in performance metric'),
|
|
241
|
+
}),
|
|
242
|
+
recommendation: zod_1.z.string().optional(),
|
|
243
|
+
autoRetrainTriggered: zod_1.z.boolean().optional().default(false),
|
|
244
|
+
});
|