From 8525b5de92939596bdb6ddde219687dce9999afe Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 23 Jan 2026 15:49:14 +0000 Subject: [PATCH 1/3] Initial plan From cfd12a14dae095ea91b877b35a15a426cafb6109 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 23 Jan 2026 15:52:10 +0000 Subject: [PATCH 2/3] Organize JSON schema generation by category (data, ui, system, ai, api) Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com> --- .../json-schema/AuthenticationConfig.json | 601 ----------------- .../json-schema/AuthenticationProvider.json | 617 ------------------ packages/spec/json-schema/MenuItem.json | 28 - .../json-schema/{ => ai}/AIKnowledge.json | 0 .../json-schema/{ => ai}/AIModelConfig.json | 0 .../spec/json-schema/{ => ai}/AITask.json | 0 .../spec/json-schema/{ => ai}/AITaskType.json | 0 .../spec/json-schema/{ => ai}/AITool.json | 0 .../{ => ai}/AIWorkflowAutomation.json | 0 .../{ => ai}/AIWorkflowExecutionResult.json | 0 .../{ => ai}/AIWorkflowTrigger.json | 0 packages/spec/json-schema/{ => ai}/Agent.json | 0 .../{ => ai}/BatchAIWorkflowExecution.json | 0 .../json-schema/{ => ai}/BillingPeriod.json | 0 .../json-schema/{ => ai}/BudgetLimit.json | 0 .../json-schema/{ => ai}/BudgetStatus.json | 0 .../spec/json-schema/{ => ai}/BudgetType.json | 0 .../{ => ai}/ChunkingStrategy.json | 0 .../{ => ai}/ConversationAnalytics.json | 0 .../{ => ai}/ConversationContext.json | 0 .../{ => ai}/ConversationMessage.json | 0 .../{ => ai}/ConversationSession.json | 0 .../{ => ai}/ConversationSummary.json | 0 .../spec/json-schema/{ => ai}/CostAlert.json | 0 .../json-schema/{ => ai}/CostAlertType.json | 0 .../json-schema/{ => ai}/CostAnalytics.json | 0 .../{ => ai}/CostBreakdownDimension.json | 0 .../{ => ai}/CostBreakdownEntry.json | 0 .../spec/json-schema/{ => ai}/CostEntry.json | 0 .../json-schema/{ => ai}/CostMetricType.json | 0 .../CostOptimizationRecommendation.json | 0 .../{ => ai}/CostQueryFilters.json | 0 .../spec/json-schema/{ => ai}/CostReport.json | 0 .../json-schema/{ => ai}/DocumentChunk.json | 0 .../{ => ai}/DocumentLoaderConfig.json | 0 .../{ => ai}/DocumentMetadata.json | 0 .../json-schema/{ => ai}/EmbeddingModel.json | 0 .../spec/json-schema/{ => ai}/Entity.json | 0 .../{ => ai}/EvaluationMetrics.json | 0 .../{ => ai}/FieldSynonymConfig.json | 0 .../json-schema/{ => ai}/FunctionCall.json | 0 .../json-schema/{ => ai}/Hyperparameters.json | 0 .../json-schema/{ => ai}/MessageContent.json | 0 .../{ => ai}/MessageContentType.json | 0 .../{ => ai}/MessagePruningEvent.json | 0 .../json-schema/{ => ai}/MessageRole.json | 0 .../json-schema/{ => ai}/ModelCapability.json | 0 .../json-schema/{ => ai}/ModelConfig.json | 0 .../spec/json-schema/{ => ai}/ModelDrift.json | 0 .../json-schema/{ => ai}/ModelFeature.json | 0 .../json-schema/{ => ai}/ModelLimits.json | 0 .../json-schema/{ => ai}/ModelPricing.json | 0 .../json-schema/{ => ai}/ModelProvider.json | 0 .../json-schema/{ => ai}/ModelRegistry.json | 0 .../{ => ai}/ModelRegistryEntry.json | 0 .../{ => ai}/ModelSelectionCriteria.json | 0 .../json-schema/{ => ai}/NLQAnalytics.json | 0 .../json-schema/{ => ai}/NLQFieldMapping.json | 0 .../json-schema/{ => ai}/NLQModelConfig.json | 0 .../json-schema/{ => ai}/NLQParseResult.json | 0 .../spec/json-schema/{ => ai}/NLQRequest.json | 0 .../json-schema/{ => ai}/NLQResponse.json | 0 .../{ => ai}/NLQTrainingExample.json | 0 .../{ => ai}/PostProcessingAction.json | 0 .../{ => ai}/PredictionRequest.json | 0 .../{ => ai}/PredictionResult.json | 0 .../json-schema/{ => ai}/PredictiveModel.json | 0 .../{ => ai}/PredictiveModelType.json | 0 .../json-schema/{ => ai}/PromptTemplate.json | 0 .../json-schema/{ => ai}/PromptVariable.json | 0 .../json-schema/{ => ai}/QueryContext.json | 0 .../json-schema/{ => ai}/QueryIntent.json | 0 .../json-schema/{ => ai}/QueryTemplate.json | 0 .../{ => ai}/RAGPipelineConfig.json | 0 .../{ => ai}/RAGPipelineStatus.json | 0 .../json-schema/{ => ai}/RAGQueryRequest.json | 0 .../{ => ai}/RAGQueryResponse.json | 0 .../json-schema/{ => ai}/RerankingConfig.json | 0 .../{ => ai}/RetrievalStrategy.json | 0 .../spec/json-schema/{ => ai}/Timeframe.json | 0 .../{ => ai}/TokenBudgetConfig.json | 0 .../{ => ai}/TokenBudgetStrategy.json | 0 .../json-schema/{ => ai}/TokenUsageStats.json | 0 .../spec/json-schema/{ => ai}/ToolCall.json | 0 .../json-schema/{ => ai}/TrainingConfig.json | 0 .../{ => ai}/VectorStoreConfig.json | 0 .../{ => ai}/VectorStoreProvider.json | 0 .../{ => ai}/WorkflowFieldCondition.json | 0 .../{ => ai}/WorkflowSchedule.json | 0 .../spec/json-schema/{ => api}/ApiError.json | 0 .../json-schema/{ => api}/BaseResponse.json | 0 .../json-schema/{ => api}/BulkRequest.json | 0 .../json-schema/{ => api}/BulkResponse.json | 0 .../json-schema/{ => api}/CreateRequest.json | 0 .../json-schema/{ => api}/DeleteResponse.json | 0 .../json-schema/{ => api}/ExportRequest.json | 0 .../{ => api}/ListRecordResponse.json | 0 .../{ => api}/ModificationResult.json | 0 .../json-schema/{ => api}/RecordData.json | 0 .../{ => api}/SingleRecordResponse.json | 0 .../json-schema/{ => api}/UpdateRequest.json | 0 .../spec/json-schema/{ => data}/Address.json | 0 .../{ => data}/AggregationFunction.json | 0 .../{ => data}/AggregationNode.json | 0 .../{ => data}/AsyncValidation.json | 0 .../{ => data}/ComparisonOperator.json | 0 .../{ => data}/ConditionalValidation.json | 0 .../{ => data}/CrossFieldValidation.json | 0 .../{ => data}/CustomScriptAction.json | 0 .../{ => data}/CustomValidator.json | 0 .../spec/json-schema/{ => data}/Dataset.json | 0 .../json-schema/{ => data}/DatasetMode.json | 0 .../{ => data}/EmailAlertAction.json | 0 .../{ => data}/EqualityOperator.json | 0 .../spec/json-schema/{ => data}/Field.json | 0 .../json-schema/{ => data}/FieldMapping.json | 0 .../json-schema/{ => data}/FieldNode.json | 0 .../{ => data}/FieldOperators.json | 0 .../{ => data}/FieldPermission.json | 0 .../json-schema/{ => data}/FieldType.json | 0 .../{ => data}/FieldUpdateAction.json | 0 .../{ => data}/FilterCondition.json | 0 .../json-schema/{ => data}/FilterNode.json | 0 .../{ => data}/FilterOperator.json | 0 .../spec/json-schema/{ => data}/Flow.json | 0 .../spec/json-schema/{ => data}/FlowEdge.json | 0 .../spec/json-schema/{ => data}/FlowNode.json | 0 .../{ => data}/FlowNodeAction.json | 0 .../json-schema/{ => data}/FlowVariable.json | 0 .../{ => data}/FormatValidation.json | 0 .../{ => data}/HttpCallAction.json | 0 .../spec/json-schema/{ => data}/Index.json | 0 .../spec/json-schema/{ => data}/JoinNode.json | 0 .../spec/json-schema/{ => data}/JoinType.json | 0 .../{ => data}/LocationCoordinates.json | 0 .../json-schema/{ => data}/LogicOperator.json | 0 .../spec/json-schema/{ => data}/Mapping.json | 0 .../{ => data}/NormalizedFilter.json | 0 .../spec/json-schema/{ => data}/OWDModel.json | 0 .../spec/json-schema/{ => data}/Object.json | 0 .../{ => data}/ObjectCapabilities.json | 0 .../{ => data}/ObjectPermission.json | 0 .../json-schema/{ => data}/PermissionSet.json | 0 .../{ => data}/PushNotificationAction.json | 0 .../spec/json-schema/{ => data}/Query.json | 0 .../json-schema/{ => data}/QueryFilter.json | 0 .../json-schema/{ => data}/RangeOperator.json | 0 .../{ => data}/ScriptValidation.json | 0 .../json-schema/{ => data}/SelectOption.json | 0 .../json-schema/{ => data}/SetOperator.json | 0 .../json-schema/{ => data}/SharingLevel.json | 0 .../json-schema/{ => data}/SharingRule.json | 0 .../{ => data}/SharingRuleType.json | 0 .../{ => data}/SlackMessageAction.json | 0 .../{ => data}/SmsNotificationAction.json | 0 .../spec/json-schema/{ => data}/SortNode.json | 0 .../{ => data}/SpecialOperator.json | 0 .../{ => data}/StateMachineValidation.json | 0 .../{ => data}/StringOperator.json | 0 .../{ => data}/TaskCreationAction.json | 0 .../{ => data}/TeamsMessageAction.json | 0 .../json-schema/{ => data}/TransformType.json | 0 .../spec/json-schema/{ => data}/Trigger.json | 0 .../json-schema/{ => data}/TriggerAction.json | 0 .../{ => data}/TriggerContext.json | 0 .../json-schema/{ => data}/TriggerTiming.json | 0 .../{ => data}/UniquenessValidation.json | 0 .../{ => data}/ValidationRule.json | 0 .../{ => data}/WebhookTriggerAction.json | 0 .../{ => data}/WindowFunction.json | 0 .../{ => data}/WindowFunctionNode.json | 0 .../json-schema/{ => data}/WindowSpec.json | 0 .../{ => data}/WorkflowAction.json | 0 .../json-schema/{ => data}/WorkflowRule.json | 0 .../{ => data}/WorkflowTriggerType.json | 0 .../json-schema/{ => system}/Account.json | 0 .../{ => system}/AccountLinkingConfig.json | 0 .../{ => system}/ApiCapabilities.json | 0 .../json-schema/{ => system}/ApiEndpoint.json | 0 .../json-schema/{ => system}/ApiMapping.json | 0 .../json-schema/{ => system}/ApiRoutes.json | 0 .../json-schema/{ => system}/AuditConfig.json | 0 .../json-schema/{ => system}/AuditEvent.json | 0 .../{ => system}/AuditEventActor.json | 0 .../{ => system}/AuditEventChange.json | 0 .../{ => system}/AuditEventFilter.json | 0 .../{ => system}/AuditEventSeverity.json | 0 .../{ => system}/AuditEventTarget.json | 0 .../{ => system}/AuditEventType.json | 0 .../json-schema/{ => system}/AuditPolicy.json | 0 .../{ => system}/AuditRetentionPolicy.json | 0 .../{ => system}/AuditStorageConfig.json | 0 .../json-schema/{ => system}/AuthConfig.json | 0 .../{ => system}/AuthPluginConfig.json | 0 .../{ => system}/AuthStrategy.json | 0 .../json-schema/{ => system}/CSRFConfig.json | 0 .../{ => system}/CronSchedule.json | 0 .../{ => system}/DatabaseAdapter.json | 0 .../DatabaseLevelIsolationStrategy.json | 0 .../{ => system}/DatabaseMapping.json | 0 .../json-schema/{ => system}/Datasource.json | 0 .../{ => system}/DatasourceCapabilities.json | 0 .../json-schema/{ => system}/Discovery.json | 0 .../{ => system}/DriverCapabilities.json | 0 .../{ => system}/DriverDefinition.json | 0 .../{ => system}/DriverInterface.json | 0 .../{ => system}/DriverOptions.json | 0 .../json-schema/{ => system}/DriverType.json | 0 .../{ => system}/EmailPasswordConfig.json | 0 .../{ => system}/EnterpriseAuthConfig.json | 0 .../spec/json-schema/{ => system}/Event.json | 0 .../{ => system}/EventHandler.json | 0 .../{ => system}/EventMetadata.json | 0 .../{ => system}/EventPersistence.json | 0 .../json-schema/{ => system}/EventRoute.json | 0 .../json-schema/{ => system}/Feature.json | 0 .../json-schema/{ => system}/HttpMethod.json | 0 .../json-schema/{ => system}/I18nContext.json | 0 .../{ => system}/IntervalSchedule.json | 0 .../json-schema/{ => system}/Invitation.json | 0 .../{ => system}/InvitationStatus.json | 0 .../spec/json-schema/{ => system}/Job.json | 0 .../{ => system}/JobExecution.json | 0 .../{ => system}/JobExecutionStatus.json | 0 .../json-schema/{ => system}/LDAPConfig.json | 0 .../LevelIsolationStrategySchema.json | 0 .../json-schema/{ => system}/License.json | 0 .../spec/json-schema/{ => system}/Locale.json | 0 .../spec/json-schema/{ => system}/Logger.json | 0 .../{ => system}/MagicLinkConfig.json | 0 .../json-schema/{ => system}/Manifest.json | 0 .../spec/json-schema/{ => system}/Member.json | 0 .../json-schema/{ => system}/MetricType.json | 0 .../{ => system}/NetworkPolicy.json | 0 .../{ => system}/OAuthProvider.json | 0 .../json-schema/{ => system}/OIDCConfig.json | 0 .../{ => system}/ObjectQLClient.json | 0 .../{ => system}/OnceSchedule.json | 0 .../{ => system}/Organization.json | 0 .../{ => system}/PasskeyConfig.json | 0 .../{ => system}/PasswordPolicy.json | 0 .../spec/json-schema/{ => system}/Plan.json | 0 .../spec/json-schema/{ => system}/Plugin.json | 0 .../{ => system}/PluginContext.json | 0 .../{ => system}/PluginLifecycle.json | 0 .../spec/json-schema/{ => system}/Policy.json | 0 .../json-schema/{ => system}/Presence.json | 0 .../{ => system}/PresenceStatus.json | 0 .../json-schema/{ => system}/RateLimit.json | 0 .../{ => system}/RateLimitConfig.json | 0 .../{ => system}/RealtimeAction.json | 0 .../{ => system}/RealtimeEvent.json | 0 .../{ => system}/RealtimeEventType.json | 0 .../json-schema/{ => system}/RetryPolicy.json | 0 .../spec/json-schema/{ => system}/Role.json | 0 .../spec/json-schema/{ => system}/Router.json | 0 .../RowLevelIsolationStrategy.json | 0 .../json-schema/{ => system}/SAMLConfig.json | 0 .../json-schema/{ => system}/Schedule.json | 0 .../json-schema/{ => system}/Scheduler.json | 0 .../{ => system}/ScopedStorage.json | 0 .../json-schema/{ => system}/Session.json | 0 .../{ => system}/SessionConfig.json | 0 .../{ => system}/SessionPolicy.json | 0 .../{ => system}/StandardAuthProvider.json | 0 .../{ => system}/Subscription.json | 0 .../{ => system}/SubscriptionEvent.json | 0 .../{ => system}/SuspiciousActivityRule.json | 0 .../json-schema/{ => system}/SystemAPI.json | 0 .../spec/json-schema/{ => system}/Tenant.json | 0 .../{ => system}/TenantIsolationConfig.json | 0 .../{ => system}/TenantIsolationLevel.json | 0 .../json-schema/{ => system}/TenantQuota.json | 0 .../{ => system}/TenantSecurityPolicy.json | 0 .../json-schema/{ => system}/Territory.json | 0 .../{ => system}/TerritoryModel.json | 0 .../{ => system}/TerritoryType.json | 0 .../{ => system}/TranslationBundle.json | 0 .../{ => system}/TranslationData.json | 0 .../{ => system}/TransportProtocol.json | 0 .../{ => system}/TwoFactorConfig.json | 0 .../spec/json-schema/{ => system}/User.json | 0 .../{ => system}/UserFieldMapping.json | 0 .../{ => system}/VerificationToken.json | 0 .../json-schema/{ => system}/Webhook.json | 0 .../{ => system}/WebhookReceiver.json | 0 .../{ => system}/WebhookTriggerType.json | 0 .../spec/json-schema/{ => ui}/Action.json | 0 .../json-schema/{ => ui}/ActionParam.json | 0 .../spec/json-schema/{ => ui}/Animation.json | 0 packages/spec/json-schema/{ => ui}/App.json | 0 .../json-schema/{ => ui}/AppBranding.json | 0 .../json-schema/{ => ui}/BorderRadius.json | 0 .../json-schema/{ => ui}/Breakpoints.json | 0 .../json-schema/{ => ui}/CalendarConfig.json | 0 .../spec/json-schema/{ => ui}/ChartType.json | 0 .../json-schema/{ => ui}/ColorPalette.json | 0 .../spec/json-schema/{ => ui}/Dashboard.json | 0 .../{ => ui}/DashboardNavItem.json | 0 .../json-schema/{ => ui}/DashboardWidget.json | 0 .../{ => ui}/FieldWidgetProps.json | 0 .../json-schema/{ => ui}/FormSection.json | 0 .../spec/json-schema/{ => ui}/FormView.json | 0 .../json-schema/{ => ui}/GanttConfig.json | 0 .../json-schema/{ => ui}/GroupNavItem.json | 0 .../json-schema/{ => ui}/KanbanConfig.json | 0 .../spec/json-schema/{ => ui}/ListView.json | 0 .../json-schema/{ => ui}/NavigationItem.json | 0 .../json-schema/{ => ui}/ObjectNavItem.json | 0 packages/spec/json-schema/{ => ui}/Page.json | 0 .../json-schema/{ => ui}/PageComponent.json | 0 .../json-schema/{ => ui}/PageNavItem.json | 0 .../spec/json-schema/{ => ui}/PageRegion.json | 0 .../spec/json-schema/{ => ui}/Report.json | 0 .../json-schema/{ => ui}/ReportChart.json | 0 .../json-schema/{ => ui}/ReportColumn.json | 0 .../json-schema/{ => ui}/ReportGrouping.json | 0 .../spec/json-schema/{ => ui}/ReportType.json | 0 .../spec/json-schema/{ => ui}/Shadow.json | 0 .../spec/json-schema/{ => ui}/Spacing.json | 0 packages/spec/json-schema/{ => ui}/Theme.json | 0 .../spec/json-schema/{ => ui}/ThemeMode.json | 0 .../spec/json-schema/{ => ui}/Typography.json | 0 .../spec/json-schema/{ => ui}/UrlNavItem.json | 0 packages/spec/json-schema/{ => ui}/View.json | 0 .../spec/json-schema/{ => ui}/ZIndex.json | 0 packages/spec/scripts/build-schemas.ts | 14 +- 327 files changed, 11 insertions(+), 1249 deletions(-) delete mode 100644 packages/spec/json-schema/AuthenticationConfig.json delete mode 100644 packages/spec/json-schema/AuthenticationProvider.json delete mode 100644 packages/spec/json-schema/MenuItem.json rename packages/spec/json-schema/{ => ai}/AIKnowledge.json (100%) rename packages/spec/json-schema/{ => ai}/AIModelConfig.json (100%) rename packages/spec/json-schema/{ => ai}/AITask.json (100%) rename packages/spec/json-schema/{ => ai}/AITaskType.json (100%) rename packages/spec/json-schema/{ => ai}/AITool.json (100%) rename packages/spec/json-schema/{ => ai}/AIWorkflowAutomation.json (100%) rename packages/spec/json-schema/{ => ai}/AIWorkflowExecutionResult.json (100%) rename packages/spec/json-schema/{ => ai}/AIWorkflowTrigger.json (100%) rename packages/spec/json-schema/{ => ai}/Agent.json (100%) rename packages/spec/json-schema/{ => ai}/BatchAIWorkflowExecution.json (100%) rename packages/spec/json-schema/{ => ai}/BillingPeriod.json (100%) rename packages/spec/json-schema/{ => ai}/BudgetLimit.json (100%) rename packages/spec/json-schema/{ => ai}/BudgetStatus.json (100%) rename packages/spec/json-schema/{ => ai}/BudgetType.json (100%) rename packages/spec/json-schema/{ => ai}/ChunkingStrategy.json (100%) rename packages/spec/json-schema/{ => ai}/ConversationAnalytics.json (100%) rename packages/spec/json-schema/{ => ai}/ConversationContext.json (100%) rename packages/spec/json-schema/{ => ai}/ConversationMessage.json (100%) rename packages/spec/json-schema/{ => ai}/ConversationSession.json (100%) rename packages/spec/json-schema/{ => ai}/ConversationSummary.json (100%) rename packages/spec/json-schema/{ => ai}/CostAlert.json (100%) rename packages/spec/json-schema/{ => ai}/CostAlertType.json (100%) rename packages/spec/json-schema/{ => ai}/CostAnalytics.json (100%) rename packages/spec/json-schema/{ => ai}/CostBreakdownDimension.json (100%) rename packages/spec/json-schema/{ => ai}/CostBreakdownEntry.json (100%) rename packages/spec/json-schema/{ => ai}/CostEntry.json (100%) rename packages/spec/json-schema/{ => ai}/CostMetricType.json (100%) rename packages/spec/json-schema/{ => ai}/CostOptimizationRecommendation.json (100%) rename packages/spec/json-schema/{ => ai}/CostQueryFilters.json (100%) rename packages/spec/json-schema/{ => ai}/CostReport.json (100%) rename packages/spec/json-schema/{ => ai}/DocumentChunk.json (100%) rename packages/spec/json-schema/{ => ai}/DocumentLoaderConfig.json (100%) rename packages/spec/json-schema/{ => ai}/DocumentMetadata.json (100%) rename packages/spec/json-schema/{ => ai}/EmbeddingModel.json (100%) rename packages/spec/json-schema/{ => ai}/Entity.json (100%) rename packages/spec/json-schema/{ => ai}/EvaluationMetrics.json (100%) rename packages/spec/json-schema/{ => ai}/FieldSynonymConfig.json (100%) rename packages/spec/json-schema/{ => ai}/FunctionCall.json (100%) rename packages/spec/json-schema/{ => ai}/Hyperparameters.json (100%) rename packages/spec/json-schema/{ => ai}/MessageContent.json (100%) rename packages/spec/json-schema/{ => ai}/MessageContentType.json (100%) rename packages/spec/json-schema/{ => ai}/MessagePruningEvent.json (100%) rename packages/spec/json-schema/{ => ai}/MessageRole.json (100%) rename packages/spec/json-schema/{ => ai}/ModelCapability.json (100%) rename packages/spec/json-schema/{ => ai}/ModelConfig.json (100%) rename packages/spec/json-schema/{ => ai}/ModelDrift.json (100%) rename packages/spec/json-schema/{ => ai}/ModelFeature.json (100%) rename packages/spec/json-schema/{ => ai}/ModelLimits.json (100%) rename packages/spec/json-schema/{ => ai}/ModelPricing.json (100%) rename packages/spec/json-schema/{ => ai}/ModelProvider.json (100%) rename packages/spec/json-schema/{ => ai}/ModelRegistry.json (100%) rename packages/spec/json-schema/{ => ai}/ModelRegistryEntry.json (100%) rename packages/spec/json-schema/{ => ai}/ModelSelectionCriteria.json (100%) rename packages/spec/json-schema/{ => ai}/NLQAnalytics.json (100%) rename packages/spec/json-schema/{ => ai}/NLQFieldMapping.json (100%) rename packages/spec/json-schema/{ => ai}/NLQModelConfig.json (100%) rename packages/spec/json-schema/{ => ai}/NLQParseResult.json (100%) rename packages/spec/json-schema/{ => ai}/NLQRequest.json (100%) rename packages/spec/json-schema/{ => ai}/NLQResponse.json (100%) rename packages/spec/json-schema/{ => ai}/NLQTrainingExample.json (100%) rename packages/spec/json-schema/{ => ai}/PostProcessingAction.json (100%) rename packages/spec/json-schema/{ => ai}/PredictionRequest.json (100%) rename packages/spec/json-schema/{ => ai}/PredictionResult.json (100%) rename packages/spec/json-schema/{ => ai}/PredictiveModel.json (100%) rename packages/spec/json-schema/{ => ai}/PredictiveModelType.json (100%) rename packages/spec/json-schema/{ => ai}/PromptTemplate.json (100%) rename packages/spec/json-schema/{ => ai}/PromptVariable.json (100%) rename packages/spec/json-schema/{ => ai}/QueryContext.json (100%) rename packages/spec/json-schema/{ => ai}/QueryIntent.json (100%) rename packages/spec/json-schema/{ => ai}/QueryTemplate.json (100%) rename packages/spec/json-schema/{ => ai}/RAGPipelineConfig.json (100%) rename packages/spec/json-schema/{ => ai}/RAGPipelineStatus.json (100%) rename packages/spec/json-schema/{ => ai}/RAGQueryRequest.json (100%) rename packages/spec/json-schema/{ => ai}/RAGQueryResponse.json (100%) rename packages/spec/json-schema/{ => ai}/RerankingConfig.json (100%) rename packages/spec/json-schema/{ => ai}/RetrievalStrategy.json (100%) rename packages/spec/json-schema/{ => ai}/Timeframe.json (100%) rename packages/spec/json-schema/{ => ai}/TokenBudgetConfig.json (100%) rename packages/spec/json-schema/{ => ai}/TokenBudgetStrategy.json (100%) rename packages/spec/json-schema/{ => ai}/TokenUsageStats.json (100%) rename packages/spec/json-schema/{ => ai}/ToolCall.json (100%) rename packages/spec/json-schema/{ => ai}/TrainingConfig.json (100%) rename packages/spec/json-schema/{ => ai}/VectorStoreConfig.json (100%) rename packages/spec/json-schema/{ => ai}/VectorStoreProvider.json (100%) rename packages/spec/json-schema/{ => ai}/WorkflowFieldCondition.json (100%) rename packages/spec/json-schema/{ => ai}/WorkflowSchedule.json (100%) rename packages/spec/json-schema/{ => api}/ApiError.json (100%) rename packages/spec/json-schema/{ => api}/BaseResponse.json (100%) rename packages/spec/json-schema/{ => api}/BulkRequest.json (100%) rename packages/spec/json-schema/{ => api}/BulkResponse.json (100%) rename packages/spec/json-schema/{ => api}/CreateRequest.json (100%) rename packages/spec/json-schema/{ => api}/DeleteResponse.json (100%) rename packages/spec/json-schema/{ => api}/ExportRequest.json (100%) rename packages/spec/json-schema/{ => api}/ListRecordResponse.json (100%) rename packages/spec/json-schema/{ => api}/ModificationResult.json (100%) rename packages/spec/json-schema/{ => api}/RecordData.json (100%) rename packages/spec/json-schema/{ => api}/SingleRecordResponse.json (100%) rename packages/spec/json-schema/{ => api}/UpdateRequest.json (100%) rename packages/spec/json-schema/{ => data}/Address.json (100%) rename packages/spec/json-schema/{ => data}/AggregationFunction.json (100%) rename packages/spec/json-schema/{ => data}/AggregationNode.json (100%) rename packages/spec/json-schema/{ => data}/AsyncValidation.json (100%) rename packages/spec/json-schema/{ => data}/ComparisonOperator.json (100%) rename packages/spec/json-schema/{ => data}/ConditionalValidation.json (100%) rename packages/spec/json-schema/{ => data}/CrossFieldValidation.json (100%) rename packages/spec/json-schema/{ => data}/CustomScriptAction.json (100%) rename packages/spec/json-schema/{ => data}/CustomValidator.json (100%) rename packages/spec/json-schema/{ => data}/Dataset.json (100%) rename packages/spec/json-schema/{ => data}/DatasetMode.json (100%) rename packages/spec/json-schema/{ => data}/EmailAlertAction.json (100%) rename packages/spec/json-schema/{ => data}/EqualityOperator.json (100%) rename packages/spec/json-schema/{ => data}/Field.json (100%) rename packages/spec/json-schema/{ => data}/FieldMapping.json (100%) rename packages/spec/json-schema/{ => data}/FieldNode.json (100%) rename packages/spec/json-schema/{ => data}/FieldOperators.json (100%) rename packages/spec/json-schema/{ => data}/FieldPermission.json (100%) rename packages/spec/json-schema/{ => data}/FieldType.json (100%) rename packages/spec/json-schema/{ => data}/FieldUpdateAction.json (100%) rename packages/spec/json-schema/{ => data}/FilterCondition.json (100%) rename packages/spec/json-schema/{ => data}/FilterNode.json (100%) rename packages/spec/json-schema/{ => data}/FilterOperator.json (100%) rename packages/spec/json-schema/{ => data}/Flow.json (100%) rename packages/spec/json-schema/{ => data}/FlowEdge.json (100%) rename packages/spec/json-schema/{ => data}/FlowNode.json (100%) rename packages/spec/json-schema/{ => data}/FlowNodeAction.json (100%) rename packages/spec/json-schema/{ => data}/FlowVariable.json (100%) rename packages/spec/json-schema/{ => data}/FormatValidation.json (100%) rename packages/spec/json-schema/{ => data}/HttpCallAction.json (100%) rename packages/spec/json-schema/{ => data}/Index.json (100%) rename packages/spec/json-schema/{ => data}/JoinNode.json (100%) rename packages/spec/json-schema/{ => data}/JoinType.json (100%) rename packages/spec/json-schema/{ => data}/LocationCoordinates.json (100%) rename packages/spec/json-schema/{ => data}/LogicOperator.json (100%) rename packages/spec/json-schema/{ => data}/Mapping.json (100%) rename packages/spec/json-schema/{ => data}/NormalizedFilter.json (100%) rename packages/spec/json-schema/{ => data}/OWDModel.json (100%) rename packages/spec/json-schema/{ => data}/Object.json (100%) rename packages/spec/json-schema/{ => data}/ObjectCapabilities.json (100%) rename packages/spec/json-schema/{ => data}/ObjectPermission.json (100%) rename packages/spec/json-schema/{ => data}/PermissionSet.json (100%) rename packages/spec/json-schema/{ => data}/PushNotificationAction.json (100%) rename packages/spec/json-schema/{ => data}/Query.json (100%) rename packages/spec/json-schema/{ => data}/QueryFilter.json (100%) rename packages/spec/json-schema/{ => data}/RangeOperator.json (100%) rename packages/spec/json-schema/{ => data}/ScriptValidation.json (100%) rename packages/spec/json-schema/{ => data}/SelectOption.json (100%) rename packages/spec/json-schema/{ => data}/SetOperator.json (100%) rename packages/spec/json-schema/{ => data}/SharingLevel.json (100%) rename packages/spec/json-schema/{ => data}/SharingRule.json (100%) rename packages/spec/json-schema/{ => data}/SharingRuleType.json (100%) rename packages/spec/json-schema/{ => data}/SlackMessageAction.json (100%) rename packages/spec/json-schema/{ => data}/SmsNotificationAction.json (100%) rename packages/spec/json-schema/{ => data}/SortNode.json (100%) rename packages/spec/json-schema/{ => data}/SpecialOperator.json (100%) rename packages/spec/json-schema/{ => data}/StateMachineValidation.json (100%) rename packages/spec/json-schema/{ => data}/StringOperator.json (100%) rename packages/spec/json-schema/{ => data}/TaskCreationAction.json (100%) rename packages/spec/json-schema/{ => data}/TeamsMessageAction.json (100%) rename packages/spec/json-schema/{ => data}/TransformType.json (100%) rename packages/spec/json-schema/{ => data}/Trigger.json (100%) rename packages/spec/json-schema/{ => data}/TriggerAction.json (100%) rename packages/spec/json-schema/{ => data}/TriggerContext.json (100%) rename packages/spec/json-schema/{ => data}/TriggerTiming.json (100%) rename packages/spec/json-schema/{ => data}/UniquenessValidation.json (100%) rename packages/spec/json-schema/{ => data}/ValidationRule.json (100%) rename packages/spec/json-schema/{ => data}/WebhookTriggerAction.json (100%) rename packages/spec/json-schema/{ => data}/WindowFunction.json (100%) rename packages/spec/json-schema/{ => data}/WindowFunctionNode.json (100%) rename packages/spec/json-schema/{ => data}/WindowSpec.json (100%) rename packages/spec/json-schema/{ => data}/WorkflowAction.json (100%) rename packages/spec/json-schema/{ => data}/WorkflowRule.json (100%) rename packages/spec/json-schema/{ => data}/WorkflowTriggerType.json (100%) rename packages/spec/json-schema/{ => system}/Account.json (100%) rename packages/spec/json-schema/{ => system}/AccountLinkingConfig.json (100%) rename packages/spec/json-schema/{ => system}/ApiCapabilities.json (100%) rename packages/spec/json-schema/{ => system}/ApiEndpoint.json (100%) rename packages/spec/json-schema/{ => system}/ApiMapping.json (100%) rename packages/spec/json-schema/{ => system}/ApiRoutes.json (100%) rename packages/spec/json-schema/{ => system}/AuditConfig.json (100%) rename packages/spec/json-schema/{ => system}/AuditEvent.json (100%) rename packages/spec/json-schema/{ => system}/AuditEventActor.json (100%) rename packages/spec/json-schema/{ => system}/AuditEventChange.json (100%) rename packages/spec/json-schema/{ => system}/AuditEventFilter.json (100%) rename packages/spec/json-schema/{ => system}/AuditEventSeverity.json (100%) rename packages/spec/json-schema/{ => system}/AuditEventTarget.json (100%) rename packages/spec/json-schema/{ => system}/AuditEventType.json (100%) rename packages/spec/json-schema/{ => system}/AuditPolicy.json (100%) rename packages/spec/json-schema/{ => system}/AuditRetentionPolicy.json (100%) rename packages/spec/json-schema/{ => system}/AuditStorageConfig.json (100%) rename packages/spec/json-schema/{ => system}/AuthConfig.json (100%) rename packages/spec/json-schema/{ => system}/AuthPluginConfig.json (100%) rename packages/spec/json-schema/{ => system}/AuthStrategy.json (100%) rename packages/spec/json-schema/{ => system}/CSRFConfig.json (100%) rename packages/spec/json-schema/{ => system}/CronSchedule.json (100%) rename packages/spec/json-schema/{ => system}/DatabaseAdapter.json (100%) rename packages/spec/json-schema/{ => system}/DatabaseLevelIsolationStrategy.json (100%) rename packages/spec/json-schema/{ => system}/DatabaseMapping.json (100%) rename packages/spec/json-schema/{ => system}/Datasource.json (100%) rename packages/spec/json-schema/{ => system}/DatasourceCapabilities.json (100%) rename packages/spec/json-schema/{ => system}/Discovery.json (100%) rename packages/spec/json-schema/{ => system}/DriverCapabilities.json (100%) rename packages/spec/json-schema/{ => system}/DriverDefinition.json (100%) rename packages/spec/json-schema/{ => system}/DriverInterface.json (100%) rename packages/spec/json-schema/{ => system}/DriverOptions.json (100%) rename packages/spec/json-schema/{ => system}/DriverType.json (100%) rename packages/spec/json-schema/{ => system}/EmailPasswordConfig.json (100%) rename packages/spec/json-schema/{ => system}/EnterpriseAuthConfig.json (100%) rename packages/spec/json-schema/{ => system}/Event.json (100%) rename packages/spec/json-schema/{ => system}/EventHandler.json (100%) rename packages/spec/json-schema/{ => system}/EventMetadata.json (100%) rename packages/spec/json-schema/{ => system}/EventPersistence.json (100%) rename packages/spec/json-schema/{ => system}/EventRoute.json (100%) rename packages/spec/json-schema/{ => system}/Feature.json (100%) rename packages/spec/json-schema/{ => system}/HttpMethod.json (100%) rename packages/spec/json-schema/{ => system}/I18nContext.json (100%) rename packages/spec/json-schema/{ => system}/IntervalSchedule.json (100%) rename packages/spec/json-schema/{ => system}/Invitation.json (100%) rename packages/spec/json-schema/{ => system}/InvitationStatus.json (100%) rename packages/spec/json-schema/{ => system}/Job.json (100%) rename packages/spec/json-schema/{ => system}/JobExecution.json (100%) rename packages/spec/json-schema/{ => system}/JobExecutionStatus.json (100%) rename packages/spec/json-schema/{ => system}/LDAPConfig.json (100%) rename packages/spec/json-schema/{ => system}/LevelIsolationStrategySchema.json (100%) rename packages/spec/json-schema/{ => system}/License.json (100%) rename packages/spec/json-schema/{ => system}/Locale.json (100%) rename packages/spec/json-schema/{ => system}/Logger.json (100%) rename packages/spec/json-schema/{ => system}/MagicLinkConfig.json (100%) rename packages/spec/json-schema/{ => system}/Manifest.json (100%) rename packages/spec/json-schema/{ => system}/Member.json (100%) rename packages/spec/json-schema/{ => system}/MetricType.json (100%) rename packages/spec/json-schema/{ => system}/NetworkPolicy.json (100%) rename packages/spec/json-schema/{ => system}/OAuthProvider.json (100%) rename packages/spec/json-schema/{ => system}/OIDCConfig.json (100%) rename packages/spec/json-schema/{ => system}/ObjectQLClient.json (100%) rename packages/spec/json-schema/{ => system}/OnceSchedule.json (100%) rename packages/spec/json-schema/{ => system}/Organization.json (100%) rename packages/spec/json-schema/{ => system}/PasskeyConfig.json (100%) rename packages/spec/json-schema/{ => system}/PasswordPolicy.json (100%) rename packages/spec/json-schema/{ => system}/Plan.json (100%) rename packages/spec/json-schema/{ => system}/Plugin.json (100%) rename packages/spec/json-schema/{ => system}/PluginContext.json (100%) rename packages/spec/json-schema/{ => system}/PluginLifecycle.json (100%) rename packages/spec/json-schema/{ => system}/Policy.json (100%) rename packages/spec/json-schema/{ => system}/Presence.json (100%) rename packages/spec/json-schema/{ => system}/PresenceStatus.json (100%) rename packages/spec/json-schema/{ => system}/RateLimit.json (100%) rename packages/spec/json-schema/{ => system}/RateLimitConfig.json (100%) rename packages/spec/json-schema/{ => system}/RealtimeAction.json (100%) rename packages/spec/json-schema/{ => system}/RealtimeEvent.json (100%) rename packages/spec/json-schema/{ => system}/RealtimeEventType.json (100%) rename packages/spec/json-schema/{ => system}/RetryPolicy.json (100%) rename packages/spec/json-schema/{ => system}/Role.json (100%) rename packages/spec/json-schema/{ => system}/Router.json (100%) rename packages/spec/json-schema/{ => system}/RowLevelIsolationStrategy.json (100%) rename packages/spec/json-schema/{ => system}/SAMLConfig.json (100%) rename packages/spec/json-schema/{ => system}/Schedule.json (100%) rename packages/spec/json-schema/{ => system}/Scheduler.json (100%) rename packages/spec/json-schema/{ => system}/ScopedStorage.json (100%) rename packages/spec/json-schema/{ => system}/Session.json (100%) rename packages/spec/json-schema/{ => system}/SessionConfig.json (100%) rename packages/spec/json-schema/{ => system}/SessionPolicy.json (100%) rename packages/spec/json-schema/{ => system}/StandardAuthProvider.json (100%) rename packages/spec/json-schema/{ => system}/Subscription.json (100%) rename packages/spec/json-schema/{ => system}/SubscriptionEvent.json (100%) rename packages/spec/json-schema/{ => system}/SuspiciousActivityRule.json (100%) rename packages/spec/json-schema/{ => system}/SystemAPI.json (100%) rename packages/spec/json-schema/{ => system}/Tenant.json (100%) rename packages/spec/json-schema/{ => system}/TenantIsolationConfig.json (100%) rename packages/spec/json-schema/{ => system}/TenantIsolationLevel.json (100%) rename packages/spec/json-schema/{ => system}/TenantQuota.json (100%) rename packages/spec/json-schema/{ => system}/TenantSecurityPolicy.json (100%) rename packages/spec/json-schema/{ => system}/Territory.json (100%) rename packages/spec/json-schema/{ => system}/TerritoryModel.json (100%) rename packages/spec/json-schema/{ => system}/TerritoryType.json (100%) rename packages/spec/json-schema/{ => system}/TranslationBundle.json (100%) rename packages/spec/json-schema/{ => system}/TranslationData.json (100%) rename packages/spec/json-schema/{ => system}/TransportProtocol.json (100%) rename packages/spec/json-schema/{ => system}/TwoFactorConfig.json (100%) rename packages/spec/json-schema/{ => system}/User.json (100%) rename packages/spec/json-schema/{ => system}/UserFieldMapping.json (100%) rename packages/spec/json-schema/{ => system}/VerificationToken.json (100%) rename packages/spec/json-schema/{ => system}/Webhook.json (100%) rename packages/spec/json-schema/{ => system}/WebhookReceiver.json (100%) rename packages/spec/json-schema/{ => system}/WebhookTriggerType.json (100%) rename packages/spec/json-schema/{ => ui}/Action.json (100%) rename packages/spec/json-schema/{ => ui}/ActionParam.json (100%) rename packages/spec/json-schema/{ => ui}/Animation.json (100%) rename packages/spec/json-schema/{ => ui}/App.json (100%) rename packages/spec/json-schema/{ => ui}/AppBranding.json (100%) rename packages/spec/json-schema/{ => ui}/BorderRadius.json (100%) rename packages/spec/json-schema/{ => ui}/Breakpoints.json (100%) rename packages/spec/json-schema/{ => ui}/CalendarConfig.json (100%) rename packages/spec/json-schema/{ => ui}/ChartType.json (100%) rename packages/spec/json-schema/{ => ui}/ColorPalette.json (100%) rename packages/spec/json-schema/{ => ui}/Dashboard.json (100%) rename packages/spec/json-schema/{ => ui}/DashboardNavItem.json (100%) rename packages/spec/json-schema/{ => ui}/DashboardWidget.json (100%) rename packages/spec/json-schema/{ => ui}/FieldWidgetProps.json (100%) rename packages/spec/json-schema/{ => ui}/FormSection.json (100%) rename packages/spec/json-schema/{ => ui}/FormView.json (100%) rename packages/spec/json-schema/{ => ui}/GanttConfig.json (100%) rename packages/spec/json-schema/{ => ui}/GroupNavItem.json (100%) rename packages/spec/json-schema/{ => ui}/KanbanConfig.json (100%) rename packages/spec/json-schema/{ => ui}/ListView.json (100%) rename packages/spec/json-schema/{ => ui}/NavigationItem.json (100%) rename packages/spec/json-schema/{ => ui}/ObjectNavItem.json (100%) rename packages/spec/json-schema/{ => ui}/Page.json (100%) rename packages/spec/json-schema/{ => ui}/PageComponent.json (100%) rename packages/spec/json-schema/{ => ui}/PageNavItem.json (100%) rename packages/spec/json-schema/{ => ui}/PageRegion.json (100%) rename packages/spec/json-schema/{ => ui}/Report.json (100%) rename packages/spec/json-schema/{ => ui}/ReportChart.json (100%) rename packages/spec/json-schema/{ => ui}/ReportColumn.json (100%) rename packages/spec/json-schema/{ => ui}/ReportGrouping.json (100%) rename packages/spec/json-schema/{ => ui}/ReportType.json (100%) rename packages/spec/json-schema/{ => ui}/Shadow.json (100%) rename packages/spec/json-schema/{ => ui}/Spacing.json (100%) rename packages/spec/json-schema/{ => ui}/Theme.json (100%) rename packages/spec/json-schema/{ => ui}/ThemeMode.json (100%) rename packages/spec/json-schema/{ => ui}/Typography.json (100%) rename packages/spec/json-schema/{ => ui}/UrlNavItem.json (100%) rename packages/spec/json-schema/{ => ui}/View.json (100%) rename packages/spec/json-schema/{ => ui}/ZIndex.json (100%) diff --git a/packages/spec/json-schema/AuthenticationConfig.json b/packages/spec/json-schema/AuthenticationConfig.json deleted file mode 100644 index 15e1effbe..000000000 --- a/packages/spec/json-schema/AuthenticationConfig.json +++ /dev/null @@ -1,601 +0,0 @@ -{ - "$ref": "#/definitions/AuthenticationConfig", - "definitions": { - "AuthenticationConfig": { - "type": "object", - "properties": { - "name": { - "type": "string", - "pattern": "^[a-z_][a-z0-9_]*$", - "description": "Configuration name (snake_case)" - }, - "label": { - "type": "string", - "description": "Display label" - }, - "strategies": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "email_password", - "magic_link", - "oauth", - "passkey", - "otp", - "anonymous" - ] - }, - "minItems": 1, - "description": "Enabled authentication strategies" - }, - "baseUrl": { - "type": "string", - "format": "uri", - "description": "Application base URL" - }, - "secret": { - "type": "string", - "minLength": 32, - "description": "Secret key for signing (min 32 chars)" - }, - "emailPassword": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true - }, - "requireEmailVerification": { - "type": "boolean", - "default": true, - "description": "Require email verification before login" - }, - "minPasswordLength": { - "type": "number", - "minimum": 6, - "maximum": 128, - "default": 8, - "description": "Minimum password length" - }, - "requirePasswordComplexity": { - "type": "boolean", - "default": true, - "description": "Require uppercase, lowercase, numbers, symbols" - }, - "allowPasswordReset": { - "type": "boolean", - "default": true, - "description": "Enable password reset functionality" - }, - "passwordResetExpiry": { - "type": "number", - "default": 3600, - "description": "Password reset token expiry in seconds" - } - }, - "additionalProperties": false - }, - "magicLink": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true - }, - "expiryTime": { - "type": "number", - "default": 900, - "description": "Magic link expiry time in seconds (default 15 min)" - } - }, - "additionalProperties": false - }, - "passkey": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": false - }, - "rpName": { - "type": "string", - "description": "Relying Party name" - }, - "rpId": { - "type": "string", - "description": "Relying Party ID (defaults to domain)" - }, - "allowedOrigins": { - "type": "array", - "items": { - "type": "string", - "format": "uri" - }, - "description": "Allowed origins for WebAuthn" - }, - "userVerification": { - "type": "string", - "enum": [ - "required", - "preferred", - "discouraged" - ], - "default": "preferred" - }, - "attestation": { - "type": "string", - "enum": [ - "none", - "indirect", - "direct", - "enterprise" - ], - "default": "none" - } - }, - "required": [ - "rpName" - ], - "additionalProperties": false - }, - "oauth": { - "type": "object", - "properties": { - "providers": { - "type": "array", - "items": { - "type": "object", - "properties": { - "provider": { - "type": "string", - "enum": [ - "google", - "github", - "facebook", - "twitter", - "linkedin", - "microsoft", - "apple", - "discord", - "gitlab", - "custom" - ], - "description": "OAuth provider type" - }, - "clientId": { - "type": "string", - "description": "OAuth client ID" - }, - "clientSecret": { - "type": "string", - "description": "OAuth client secret (typically from ENV)" - }, - "scopes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Requested OAuth scopes" - }, - "redirectUri": { - "type": "string", - "format": "uri", - "description": "OAuth callback URL" - }, - "enabled": { - "type": "boolean", - "default": true, - "description": "Whether this provider is enabled" - }, - "displayName": { - "type": "string", - "description": "Display name for the provider button" - }, - "icon": { - "type": "string", - "description": "Icon URL or identifier" - } - }, - "required": [ - "provider", - "clientId", - "clientSecret" - ], - "additionalProperties": false - }, - "minItems": 1 - } - }, - "required": [ - "providers" - ], - "additionalProperties": false - }, - "session": { - "type": "object", - "properties": { - "expiresIn": { - "type": "number", - "default": 604800, - "description": "Session expiry in seconds (default 7 days)" - }, - "updateAge": { - "type": "number", - "default": 86400, - "description": "Session update interval in seconds (default 1 day)" - }, - "cookieName": { - "type": "string", - "default": "session_token", - "description": "Session cookie name" - }, - "cookieSecure": { - "type": "boolean", - "default": true, - "description": "Use secure cookies (HTTPS only)" - }, - "cookieSameSite": { - "type": "string", - "enum": [ - "strict", - "lax", - "none" - ], - "default": "lax", - "description": "SameSite cookie attribute" - }, - "cookieDomain": { - "type": "string", - "description": "Cookie domain" - }, - "cookiePath": { - "type": "string", - "default": "/", - "description": "Cookie path" - }, - "cookieHttpOnly": { - "type": "boolean", - "default": true, - "description": "HttpOnly cookie attribute" - } - }, - "additionalProperties": false, - "default": {} - }, - "rateLimit": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true - }, - "maxAttempts": { - "type": "number", - "default": 5, - "description": "Maximum login attempts" - }, - "windowMs": { - "type": "number", - "default": 900000, - "description": "Time window in milliseconds (default 15 min)" - }, - "blockDuration": { - "type": "number", - "default": 900000, - "description": "Block duration after max attempts in ms" - }, - "skipSuccessfulRequests": { - "type": "boolean", - "default": false, - "description": "Only count failed requests" - } - }, - "additionalProperties": false, - "default": {} - }, - "csrf": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true - }, - "tokenLength": { - "type": "number", - "default": 32, - "description": "CSRF token length" - }, - "cookieName": { - "type": "string", - "default": "csrf_token", - "description": "CSRF cookie name" - }, - "headerName": { - "type": "string", - "default": "X-CSRF-Token", - "description": "CSRF header name" - } - }, - "additionalProperties": false, - "default": {} - }, - "accountLinking": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true, - "description": "Allow account linking" - }, - "autoLink": { - "type": "boolean", - "default": false, - "description": "Automatically link accounts with same email" - }, - "requireVerification": { - "type": "boolean", - "default": true, - "description": "Require email verification before linking" - } - }, - "additionalProperties": false, - "default": {} - }, - "twoFactor": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": false - }, - "issuer": { - "type": "string", - "description": "TOTP issuer name" - }, - "qrCodeSize": { - "type": "number", - "default": 200, - "description": "QR code size in pixels" - }, - "backupCodes": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true - }, - "count": { - "type": "number", - "default": 10, - "description": "Number of backup codes to generate" - } - }, - "additionalProperties": false - } - }, - "additionalProperties": false - }, - "userFieldMapping": { - "type": "object", - "properties": { - "id": { - "type": "string", - "default": "id", - "description": "User ID field" - }, - "email": { - "type": "string", - "default": "email", - "description": "Email field" - }, - "name": { - "type": "string", - "default": "name", - "description": "Name field" - }, - "image": { - "type": "string", - "default": "image", - "description": "Profile image field" - }, - "emailVerified": { - "type": "string", - "default": "email_verified", - "description": "Email verification status field" - }, - "createdAt": { - "type": "string", - "default": "created_at", - "description": "Created timestamp field" - }, - "updatedAt": { - "type": "string", - "default": "updated_at", - "description": "Updated timestamp field" - } - }, - "additionalProperties": false, - "default": {} - }, - "database": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "prisma", - "drizzle", - "kysely", - "custom" - ], - "description": "Database adapter type" - }, - "connectionString": { - "type": "string", - "description": "Database connection string" - }, - "tablePrefix": { - "type": "string", - "default": "auth_", - "description": "Prefix for auth tables" - }, - "schema": { - "type": "string", - "description": "Database schema name" - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "plugins": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Plugin name" - }, - "enabled": { - "type": "boolean", - "default": true - }, - "options": { - "type": "object", - "additionalProperties": {}, - "description": "Plugin-specific options" - } - }, - "required": [ - "name" - ], - "additionalProperties": false - }, - "default": [] - }, - "hooks": { - "type": "object", - "properties": {}, - "additionalProperties": false, - "description": "Authentication lifecycle hooks" - }, - "security": { - "type": "object", - "properties": { - "allowedOrigins": { - "type": "array", - "items": { - "type": "string" - }, - "description": "CORS allowed origins" - }, - "trustProxy": { - "type": "boolean", - "default": false, - "description": "Trust proxy headers" - }, - "ipRateLimiting": { - "type": "boolean", - "default": true, - "description": "Enable IP-based rate limiting" - }, - "sessionFingerprinting": { - "type": "boolean", - "default": true, - "description": "Enable session fingerprinting" - }, - "maxSessions": { - "type": "number", - "default": 5, - "description": "Maximum concurrent sessions per user" - } - }, - "additionalProperties": false, - "description": "Advanced security settings" - }, - "email": { - "type": "object", - "properties": { - "from": { - "type": "string", - "format": "email", - "description": "From email address" - }, - "fromName": { - "type": "string", - "description": "From name" - }, - "provider": { - "type": "string", - "enum": [ - "smtp", - "sendgrid", - "mailgun", - "ses", - "resend", - "custom" - ], - "description": "Email provider" - }, - "config": { - "type": "object", - "additionalProperties": {}, - "description": "Provider-specific configuration" - } - }, - "required": [ - "from", - "provider" - ], - "additionalProperties": false, - "description": "Email configuration" - }, - "ui": { - "type": "object", - "properties": { - "brandName": { - "type": "string", - "description": "Brand name displayed in auth UI" - }, - "logo": { - "type": "string", - "description": "Logo URL" - }, - "primaryColor": { - "type": "string", - "description": "Primary brand color (hex)" - }, - "customCss": { - "type": "string", - "description": "Custom CSS for auth pages" - } - }, - "additionalProperties": false, - "description": "UI customization" - }, - "active": { - "type": "boolean", - "default": true, - "description": "Whether this provider is active" - }, - "allowRegistration": { - "type": "boolean", - "default": true, - "description": "Allow new user registration" - } - }, - "required": [ - "name", - "label", - "strategies", - "baseUrl", - "secret" - ], - "additionalProperties": false - } - }, - "$schema": "http://json-schema.org/draft-07/schema#" -} \ No newline at end of file diff --git a/packages/spec/json-schema/AuthenticationProvider.json b/packages/spec/json-schema/AuthenticationProvider.json deleted file mode 100644 index 394907760..000000000 --- a/packages/spec/json-schema/AuthenticationProvider.json +++ /dev/null @@ -1,617 +0,0 @@ -{ - "$ref": "#/definitions/AuthenticationProvider", - "definitions": { - "AuthenticationProvider": { - "type": "object", - "properties": { - "type": { - "type": "string", - "const": "authentication", - "description": "Provider type identifier" - }, - "config": { - "type": "object", - "properties": { - "name": { - "type": "string", - "pattern": "^[a-z_][a-z0-9_]*$", - "description": "Configuration name (snake_case)" - }, - "label": { - "type": "string", - "description": "Display label" - }, - "strategies": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "email_password", - "magic_link", - "oauth", - "passkey", - "otp", - "anonymous" - ] - }, - "minItems": 1, - "description": "Enabled authentication strategies" - }, - "baseUrl": { - "type": "string", - "format": "uri", - "description": "Application base URL" - }, - "secret": { - "type": "string", - "minLength": 32, - "description": "Secret key for signing (min 32 chars)" - }, - "emailPassword": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true - }, - "requireEmailVerification": { - "type": "boolean", - "default": true, - "description": "Require email verification before login" - }, - "minPasswordLength": { - "type": "number", - "minimum": 6, - "maximum": 128, - "default": 8, - "description": "Minimum password length" - }, - "requirePasswordComplexity": { - "type": "boolean", - "default": true, - "description": "Require uppercase, lowercase, numbers, symbols" - }, - "allowPasswordReset": { - "type": "boolean", - "default": true, - "description": "Enable password reset functionality" - }, - "passwordResetExpiry": { - "type": "number", - "default": 3600, - "description": "Password reset token expiry in seconds" - } - }, - "additionalProperties": false - }, - "magicLink": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true - }, - "expiryTime": { - "type": "number", - "default": 900, - "description": "Magic link expiry time in seconds (default 15 min)" - } - }, - "additionalProperties": false - }, - "passkey": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": false - }, - "rpName": { - "type": "string", - "description": "Relying Party name" - }, - "rpId": { - "type": "string", - "description": "Relying Party ID (defaults to domain)" - }, - "allowedOrigins": { - "type": "array", - "items": { - "type": "string", - "format": "uri" - }, - "description": "Allowed origins for WebAuthn" - }, - "userVerification": { - "type": "string", - "enum": [ - "required", - "preferred", - "discouraged" - ], - "default": "preferred" - }, - "attestation": { - "type": "string", - "enum": [ - "none", - "indirect", - "direct", - "enterprise" - ], - "default": "none" - } - }, - "required": [ - "rpName" - ], - "additionalProperties": false - }, - "oauth": { - "type": "object", - "properties": { - "providers": { - "type": "array", - "items": { - "type": "object", - "properties": { - "provider": { - "type": "string", - "enum": [ - "google", - "github", - "facebook", - "twitter", - "linkedin", - "microsoft", - "apple", - "discord", - "gitlab", - "custom" - ], - "description": "OAuth provider type" - }, - "clientId": { - "type": "string", - "description": "OAuth client ID" - }, - "clientSecret": { - "type": "string", - "description": "OAuth client secret (typically from ENV)" - }, - "scopes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Requested OAuth scopes" - }, - "redirectUri": { - "type": "string", - "format": "uri", - "description": "OAuth callback URL" - }, - "enabled": { - "type": "boolean", - "default": true, - "description": "Whether this provider is enabled" - }, - "displayName": { - "type": "string", - "description": "Display name for the provider button" - }, - "icon": { - "type": "string", - "description": "Icon URL or identifier" - } - }, - "required": [ - "provider", - "clientId", - "clientSecret" - ], - "additionalProperties": false - }, - "minItems": 1 - } - }, - "required": [ - "providers" - ], - "additionalProperties": false - }, - "session": { - "type": "object", - "properties": { - "expiresIn": { - "type": "number", - "default": 604800, - "description": "Session expiry in seconds (default 7 days)" - }, - "updateAge": { - "type": "number", - "default": 86400, - "description": "Session update interval in seconds (default 1 day)" - }, - "cookieName": { - "type": "string", - "default": "session_token", - "description": "Session cookie name" - }, - "cookieSecure": { - "type": "boolean", - "default": true, - "description": "Use secure cookies (HTTPS only)" - }, - "cookieSameSite": { - "type": "string", - "enum": [ - "strict", - "lax", - "none" - ], - "default": "lax", - "description": "SameSite cookie attribute" - }, - "cookieDomain": { - "type": "string", - "description": "Cookie domain" - }, - "cookiePath": { - "type": "string", - "default": "/", - "description": "Cookie path" - }, - "cookieHttpOnly": { - "type": "boolean", - "default": true, - "description": "HttpOnly cookie attribute" - } - }, - "additionalProperties": false, - "default": {} - }, - "rateLimit": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true - }, - "maxAttempts": { - "type": "number", - "default": 5, - "description": "Maximum login attempts" - }, - "windowMs": { - "type": "number", - "default": 900000, - "description": "Time window in milliseconds (default 15 min)" - }, - "blockDuration": { - "type": "number", - "default": 900000, - "description": "Block duration after max attempts in ms" - }, - "skipSuccessfulRequests": { - "type": "boolean", - "default": false, - "description": "Only count failed requests" - } - }, - "additionalProperties": false, - "default": {} - }, - "csrf": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true - }, - "tokenLength": { - "type": "number", - "default": 32, - "description": "CSRF token length" - }, - "cookieName": { - "type": "string", - "default": "csrf_token", - "description": "CSRF cookie name" - }, - "headerName": { - "type": "string", - "default": "X-CSRF-Token", - "description": "CSRF header name" - } - }, - "additionalProperties": false, - "default": {} - }, - "accountLinking": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true, - "description": "Allow account linking" - }, - "autoLink": { - "type": "boolean", - "default": false, - "description": "Automatically link accounts with same email" - }, - "requireVerification": { - "type": "boolean", - "default": true, - "description": "Require email verification before linking" - } - }, - "additionalProperties": false, - "default": {} - }, - "twoFactor": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": false - }, - "issuer": { - "type": "string", - "description": "TOTP issuer name" - }, - "qrCodeSize": { - "type": "number", - "default": 200, - "description": "QR code size in pixels" - }, - "backupCodes": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true - }, - "count": { - "type": "number", - "default": 10, - "description": "Number of backup codes to generate" - } - }, - "additionalProperties": false - } - }, - "additionalProperties": false - }, - "userFieldMapping": { - "type": "object", - "properties": { - "id": { - "type": "string", - "default": "id", - "description": "User ID field" - }, - "email": { - "type": "string", - "default": "email", - "description": "Email field" - }, - "name": { - "type": "string", - "default": "name", - "description": "Name field" - }, - "image": { - "type": "string", - "default": "image", - "description": "Profile image field" - }, - "emailVerified": { - "type": "string", - "default": "email_verified", - "description": "Email verification status field" - }, - "createdAt": { - "type": "string", - "default": "created_at", - "description": "Created timestamp field" - }, - "updatedAt": { - "type": "string", - "default": "updated_at", - "description": "Updated timestamp field" - } - }, - "additionalProperties": false, - "default": {} - }, - "database": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "prisma", - "drizzle", - "kysely", - "custom" - ], - "description": "Database adapter type" - }, - "connectionString": { - "type": "string", - "description": "Database connection string" - }, - "tablePrefix": { - "type": "string", - "default": "auth_", - "description": "Prefix for auth tables" - }, - "schema": { - "type": "string", - "description": "Database schema name" - } - }, - "required": [ - "type" - ], - "additionalProperties": false - }, - "plugins": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Plugin name" - }, - "enabled": { - "type": "boolean", - "default": true - }, - "options": { - "type": "object", - "additionalProperties": {}, - "description": "Plugin-specific options" - } - }, - "required": [ - "name" - ], - "additionalProperties": false - }, - "default": [] - }, - "hooks": { - "type": "object", - "properties": {}, - "additionalProperties": false, - "description": "Authentication lifecycle hooks" - }, - "security": { - "type": "object", - "properties": { - "allowedOrigins": { - "type": "array", - "items": { - "type": "string" - }, - "description": "CORS allowed origins" - }, - "trustProxy": { - "type": "boolean", - "default": false, - "description": "Trust proxy headers" - }, - "ipRateLimiting": { - "type": "boolean", - "default": true, - "description": "Enable IP-based rate limiting" - }, - "sessionFingerprinting": { - "type": "boolean", - "default": true, - "description": "Enable session fingerprinting" - }, - "maxSessions": { - "type": "number", - "default": 5, - "description": "Maximum concurrent sessions per user" - } - }, - "additionalProperties": false, - "description": "Advanced security settings" - }, - "email": { - "type": "object", - "properties": { - "from": { - "type": "string", - "format": "email", - "description": "From email address" - }, - "fromName": { - "type": "string", - "description": "From name" - }, - "provider": { - "type": "string", - "enum": [ - "smtp", - "sendgrid", - "mailgun", - "ses", - "resend", - "custom" - ], - "description": "Email provider" - }, - "config": { - "type": "object", - "additionalProperties": {}, - "description": "Provider-specific configuration" - } - }, - "required": [ - "from", - "provider" - ], - "additionalProperties": false, - "description": "Email configuration" - }, - "ui": { - "type": "object", - "properties": { - "brandName": { - "type": "string", - "description": "Brand name displayed in auth UI" - }, - "logo": { - "type": "string", - "description": "Logo URL" - }, - "primaryColor": { - "type": "string", - "description": "Primary brand color (hex)" - }, - "customCss": { - "type": "string", - "description": "Custom CSS for auth pages" - } - }, - "additionalProperties": false, - "description": "UI customization" - }, - "active": { - "type": "boolean", - "default": true, - "description": "Whether this provider is active" - }, - "allowRegistration": { - "type": "boolean", - "default": true, - "description": "Allow new user registration" - } - }, - "required": [ - "name", - "label", - "strategies", - "baseUrl", - "secret" - ], - "additionalProperties": false, - "description": "Authentication configuration" - } - }, - "required": [ - "type", - "config" - ], - "additionalProperties": false - } - }, - "$schema": "http://json-schema.org/draft-07/schema#" -} \ No newline at end of file diff --git a/packages/spec/json-schema/MenuItem.json b/packages/spec/json-schema/MenuItem.json deleted file mode 100644 index 0ca39758b..000000000 --- a/packages/spec/json-schema/MenuItem.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "$ref": "#/definitions/MenuItem", - "definitions": { - "MenuItem": { - "type": "object", - "properties": { - "label": { - "type": "string", - "description": "Display label for the menu item" - }, - "path": { - "type": "string", - "description": "Navigation path (route) for the menu item" - }, - "icon": { - "type": "string", - "description": "Optional icon identifier for the menu item" - } - }, - "required": [ - "label", - "path" - ], - "additionalProperties": false - } - }, - "$schema": "http://json-schema.org/draft-07/schema#" -} \ No newline at end of file diff --git a/packages/spec/json-schema/AIKnowledge.json b/packages/spec/json-schema/ai/AIKnowledge.json similarity index 100% rename from packages/spec/json-schema/AIKnowledge.json rename to packages/spec/json-schema/ai/AIKnowledge.json diff --git a/packages/spec/json-schema/AIModelConfig.json b/packages/spec/json-schema/ai/AIModelConfig.json similarity index 100% rename from packages/spec/json-schema/AIModelConfig.json rename to packages/spec/json-schema/ai/AIModelConfig.json diff --git a/packages/spec/json-schema/AITask.json b/packages/spec/json-schema/ai/AITask.json similarity index 100% rename from packages/spec/json-schema/AITask.json rename to packages/spec/json-schema/ai/AITask.json diff --git a/packages/spec/json-schema/AITaskType.json b/packages/spec/json-schema/ai/AITaskType.json similarity index 100% rename from packages/spec/json-schema/AITaskType.json rename to packages/spec/json-schema/ai/AITaskType.json diff --git a/packages/spec/json-schema/AITool.json b/packages/spec/json-schema/ai/AITool.json similarity index 100% rename from packages/spec/json-schema/AITool.json rename to packages/spec/json-schema/ai/AITool.json diff --git a/packages/spec/json-schema/AIWorkflowAutomation.json b/packages/spec/json-schema/ai/AIWorkflowAutomation.json similarity index 100% rename from packages/spec/json-schema/AIWorkflowAutomation.json rename to packages/spec/json-schema/ai/AIWorkflowAutomation.json diff --git a/packages/spec/json-schema/AIWorkflowExecutionResult.json b/packages/spec/json-schema/ai/AIWorkflowExecutionResult.json similarity index 100% rename from packages/spec/json-schema/AIWorkflowExecutionResult.json rename to packages/spec/json-schema/ai/AIWorkflowExecutionResult.json diff --git a/packages/spec/json-schema/AIWorkflowTrigger.json b/packages/spec/json-schema/ai/AIWorkflowTrigger.json similarity index 100% rename from packages/spec/json-schema/AIWorkflowTrigger.json rename to packages/spec/json-schema/ai/AIWorkflowTrigger.json diff --git a/packages/spec/json-schema/Agent.json b/packages/spec/json-schema/ai/Agent.json similarity index 100% rename from packages/spec/json-schema/Agent.json rename to packages/spec/json-schema/ai/Agent.json diff --git a/packages/spec/json-schema/BatchAIWorkflowExecution.json b/packages/spec/json-schema/ai/BatchAIWorkflowExecution.json similarity index 100% rename from packages/spec/json-schema/BatchAIWorkflowExecution.json rename to packages/spec/json-schema/ai/BatchAIWorkflowExecution.json diff --git a/packages/spec/json-schema/BillingPeriod.json b/packages/spec/json-schema/ai/BillingPeriod.json similarity index 100% rename from packages/spec/json-schema/BillingPeriod.json rename to packages/spec/json-schema/ai/BillingPeriod.json diff --git a/packages/spec/json-schema/BudgetLimit.json b/packages/spec/json-schema/ai/BudgetLimit.json similarity index 100% rename from packages/spec/json-schema/BudgetLimit.json rename to packages/spec/json-schema/ai/BudgetLimit.json diff --git a/packages/spec/json-schema/BudgetStatus.json b/packages/spec/json-schema/ai/BudgetStatus.json similarity index 100% rename from packages/spec/json-schema/BudgetStatus.json rename to packages/spec/json-schema/ai/BudgetStatus.json diff --git a/packages/spec/json-schema/BudgetType.json b/packages/spec/json-schema/ai/BudgetType.json similarity index 100% rename from packages/spec/json-schema/BudgetType.json rename to packages/spec/json-schema/ai/BudgetType.json diff --git a/packages/spec/json-schema/ChunkingStrategy.json b/packages/spec/json-schema/ai/ChunkingStrategy.json similarity index 100% rename from packages/spec/json-schema/ChunkingStrategy.json rename to packages/spec/json-schema/ai/ChunkingStrategy.json diff --git a/packages/spec/json-schema/ConversationAnalytics.json b/packages/spec/json-schema/ai/ConversationAnalytics.json similarity index 100% rename from packages/spec/json-schema/ConversationAnalytics.json rename to packages/spec/json-schema/ai/ConversationAnalytics.json diff --git a/packages/spec/json-schema/ConversationContext.json b/packages/spec/json-schema/ai/ConversationContext.json similarity index 100% rename from packages/spec/json-schema/ConversationContext.json rename to packages/spec/json-schema/ai/ConversationContext.json diff --git a/packages/spec/json-schema/ConversationMessage.json b/packages/spec/json-schema/ai/ConversationMessage.json similarity index 100% rename from packages/spec/json-schema/ConversationMessage.json rename to packages/spec/json-schema/ai/ConversationMessage.json diff --git a/packages/spec/json-schema/ConversationSession.json b/packages/spec/json-schema/ai/ConversationSession.json similarity index 100% rename from packages/spec/json-schema/ConversationSession.json rename to packages/spec/json-schema/ai/ConversationSession.json diff --git a/packages/spec/json-schema/ConversationSummary.json b/packages/spec/json-schema/ai/ConversationSummary.json similarity index 100% rename from packages/spec/json-schema/ConversationSummary.json rename to packages/spec/json-schema/ai/ConversationSummary.json diff --git a/packages/spec/json-schema/CostAlert.json b/packages/spec/json-schema/ai/CostAlert.json similarity index 100% rename from packages/spec/json-schema/CostAlert.json rename to packages/spec/json-schema/ai/CostAlert.json diff --git a/packages/spec/json-schema/CostAlertType.json b/packages/spec/json-schema/ai/CostAlertType.json similarity index 100% rename from packages/spec/json-schema/CostAlertType.json rename to packages/spec/json-schema/ai/CostAlertType.json diff --git a/packages/spec/json-schema/CostAnalytics.json b/packages/spec/json-schema/ai/CostAnalytics.json similarity index 100% rename from packages/spec/json-schema/CostAnalytics.json rename to packages/spec/json-schema/ai/CostAnalytics.json diff --git a/packages/spec/json-schema/CostBreakdownDimension.json b/packages/spec/json-schema/ai/CostBreakdownDimension.json similarity index 100% rename from packages/spec/json-schema/CostBreakdownDimension.json rename to packages/spec/json-schema/ai/CostBreakdownDimension.json diff --git a/packages/spec/json-schema/CostBreakdownEntry.json b/packages/spec/json-schema/ai/CostBreakdownEntry.json similarity index 100% rename from packages/spec/json-schema/CostBreakdownEntry.json rename to packages/spec/json-schema/ai/CostBreakdownEntry.json diff --git a/packages/spec/json-schema/CostEntry.json b/packages/spec/json-schema/ai/CostEntry.json similarity index 100% rename from packages/spec/json-schema/CostEntry.json rename to packages/spec/json-schema/ai/CostEntry.json diff --git a/packages/spec/json-schema/CostMetricType.json b/packages/spec/json-schema/ai/CostMetricType.json similarity index 100% rename from packages/spec/json-schema/CostMetricType.json rename to packages/spec/json-schema/ai/CostMetricType.json diff --git a/packages/spec/json-schema/CostOptimizationRecommendation.json b/packages/spec/json-schema/ai/CostOptimizationRecommendation.json similarity index 100% rename from packages/spec/json-schema/CostOptimizationRecommendation.json rename to packages/spec/json-schema/ai/CostOptimizationRecommendation.json diff --git a/packages/spec/json-schema/CostQueryFilters.json b/packages/spec/json-schema/ai/CostQueryFilters.json similarity index 100% rename from packages/spec/json-schema/CostQueryFilters.json rename to packages/spec/json-schema/ai/CostQueryFilters.json diff --git a/packages/spec/json-schema/CostReport.json b/packages/spec/json-schema/ai/CostReport.json similarity index 100% rename from packages/spec/json-schema/CostReport.json rename to packages/spec/json-schema/ai/CostReport.json diff --git a/packages/spec/json-schema/DocumentChunk.json b/packages/spec/json-schema/ai/DocumentChunk.json similarity index 100% rename from packages/spec/json-schema/DocumentChunk.json rename to packages/spec/json-schema/ai/DocumentChunk.json diff --git a/packages/spec/json-schema/DocumentLoaderConfig.json b/packages/spec/json-schema/ai/DocumentLoaderConfig.json similarity index 100% rename from packages/spec/json-schema/DocumentLoaderConfig.json rename to packages/spec/json-schema/ai/DocumentLoaderConfig.json diff --git a/packages/spec/json-schema/DocumentMetadata.json b/packages/spec/json-schema/ai/DocumentMetadata.json similarity index 100% rename from packages/spec/json-schema/DocumentMetadata.json rename to packages/spec/json-schema/ai/DocumentMetadata.json diff --git a/packages/spec/json-schema/EmbeddingModel.json b/packages/spec/json-schema/ai/EmbeddingModel.json similarity index 100% rename from packages/spec/json-schema/EmbeddingModel.json rename to packages/spec/json-schema/ai/EmbeddingModel.json diff --git a/packages/spec/json-schema/Entity.json b/packages/spec/json-schema/ai/Entity.json similarity index 100% rename from packages/spec/json-schema/Entity.json rename to packages/spec/json-schema/ai/Entity.json diff --git a/packages/spec/json-schema/EvaluationMetrics.json b/packages/spec/json-schema/ai/EvaluationMetrics.json similarity index 100% rename from packages/spec/json-schema/EvaluationMetrics.json rename to packages/spec/json-schema/ai/EvaluationMetrics.json diff --git a/packages/spec/json-schema/FieldSynonymConfig.json b/packages/spec/json-schema/ai/FieldSynonymConfig.json similarity index 100% rename from packages/spec/json-schema/FieldSynonymConfig.json rename to packages/spec/json-schema/ai/FieldSynonymConfig.json diff --git a/packages/spec/json-schema/FunctionCall.json b/packages/spec/json-schema/ai/FunctionCall.json similarity index 100% rename from packages/spec/json-schema/FunctionCall.json rename to packages/spec/json-schema/ai/FunctionCall.json diff --git a/packages/spec/json-schema/Hyperparameters.json b/packages/spec/json-schema/ai/Hyperparameters.json similarity index 100% rename from packages/spec/json-schema/Hyperparameters.json rename to packages/spec/json-schema/ai/Hyperparameters.json diff --git a/packages/spec/json-schema/MessageContent.json b/packages/spec/json-schema/ai/MessageContent.json similarity index 100% rename from packages/spec/json-schema/MessageContent.json rename to packages/spec/json-schema/ai/MessageContent.json diff --git a/packages/spec/json-schema/MessageContentType.json b/packages/spec/json-schema/ai/MessageContentType.json similarity index 100% rename from packages/spec/json-schema/MessageContentType.json rename to packages/spec/json-schema/ai/MessageContentType.json diff --git a/packages/spec/json-schema/MessagePruningEvent.json b/packages/spec/json-schema/ai/MessagePruningEvent.json similarity index 100% rename from packages/spec/json-schema/MessagePruningEvent.json rename to packages/spec/json-schema/ai/MessagePruningEvent.json diff --git a/packages/spec/json-schema/MessageRole.json b/packages/spec/json-schema/ai/MessageRole.json similarity index 100% rename from packages/spec/json-schema/MessageRole.json rename to packages/spec/json-schema/ai/MessageRole.json diff --git a/packages/spec/json-schema/ModelCapability.json b/packages/spec/json-schema/ai/ModelCapability.json similarity index 100% rename from packages/spec/json-schema/ModelCapability.json rename to packages/spec/json-schema/ai/ModelCapability.json diff --git a/packages/spec/json-schema/ModelConfig.json b/packages/spec/json-schema/ai/ModelConfig.json similarity index 100% rename from packages/spec/json-schema/ModelConfig.json rename to packages/spec/json-schema/ai/ModelConfig.json diff --git a/packages/spec/json-schema/ModelDrift.json b/packages/spec/json-schema/ai/ModelDrift.json similarity index 100% rename from packages/spec/json-schema/ModelDrift.json rename to packages/spec/json-schema/ai/ModelDrift.json diff --git a/packages/spec/json-schema/ModelFeature.json b/packages/spec/json-schema/ai/ModelFeature.json similarity index 100% rename from packages/spec/json-schema/ModelFeature.json rename to packages/spec/json-schema/ai/ModelFeature.json diff --git a/packages/spec/json-schema/ModelLimits.json b/packages/spec/json-schema/ai/ModelLimits.json similarity index 100% rename from packages/spec/json-schema/ModelLimits.json rename to packages/spec/json-schema/ai/ModelLimits.json diff --git a/packages/spec/json-schema/ModelPricing.json b/packages/spec/json-schema/ai/ModelPricing.json similarity index 100% rename from packages/spec/json-schema/ModelPricing.json rename to packages/spec/json-schema/ai/ModelPricing.json diff --git a/packages/spec/json-schema/ModelProvider.json b/packages/spec/json-schema/ai/ModelProvider.json similarity index 100% rename from packages/spec/json-schema/ModelProvider.json rename to packages/spec/json-schema/ai/ModelProvider.json diff --git a/packages/spec/json-schema/ModelRegistry.json b/packages/spec/json-schema/ai/ModelRegistry.json similarity index 100% rename from packages/spec/json-schema/ModelRegistry.json rename to packages/spec/json-schema/ai/ModelRegistry.json diff --git a/packages/spec/json-schema/ModelRegistryEntry.json b/packages/spec/json-schema/ai/ModelRegistryEntry.json similarity index 100% rename from packages/spec/json-schema/ModelRegistryEntry.json rename to packages/spec/json-schema/ai/ModelRegistryEntry.json diff --git a/packages/spec/json-schema/ModelSelectionCriteria.json b/packages/spec/json-schema/ai/ModelSelectionCriteria.json similarity index 100% rename from packages/spec/json-schema/ModelSelectionCriteria.json rename to packages/spec/json-schema/ai/ModelSelectionCriteria.json diff --git a/packages/spec/json-schema/NLQAnalytics.json b/packages/spec/json-schema/ai/NLQAnalytics.json similarity index 100% rename from packages/spec/json-schema/NLQAnalytics.json rename to packages/spec/json-schema/ai/NLQAnalytics.json diff --git a/packages/spec/json-schema/NLQFieldMapping.json b/packages/spec/json-schema/ai/NLQFieldMapping.json similarity index 100% rename from packages/spec/json-schema/NLQFieldMapping.json rename to packages/spec/json-schema/ai/NLQFieldMapping.json diff --git a/packages/spec/json-schema/NLQModelConfig.json b/packages/spec/json-schema/ai/NLQModelConfig.json similarity index 100% rename from packages/spec/json-schema/NLQModelConfig.json rename to packages/spec/json-schema/ai/NLQModelConfig.json diff --git a/packages/spec/json-schema/NLQParseResult.json b/packages/spec/json-schema/ai/NLQParseResult.json similarity index 100% rename from packages/spec/json-schema/NLQParseResult.json rename to packages/spec/json-schema/ai/NLQParseResult.json diff --git a/packages/spec/json-schema/NLQRequest.json b/packages/spec/json-schema/ai/NLQRequest.json similarity index 100% rename from packages/spec/json-schema/NLQRequest.json rename to packages/spec/json-schema/ai/NLQRequest.json diff --git a/packages/spec/json-schema/NLQResponse.json b/packages/spec/json-schema/ai/NLQResponse.json similarity index 100% rename from packages/spec/json-schema/NLQResponse.json rename to packages/spec/json-schema/ai/NLQResponse.json diff --git a/packages/spec/json-schema/NLQTrainingExample.json b/packages/spec/json-schema/ai/NLQTrainingExample.json similarity index 100% rename from packages/spec/json-schema/NLQTrainingExample.json rename to packages/spec/json-schema/ai/NLQTrainingExample.json diff --git a/packages/spec/json-schema/PostProcessingAction.json b/packages/spec/json-schema/ai/PostProcessingAction.json similarity index 100% rename from packages/spec/json-schema/PostProcessingAction.json rename to packages/spec/json-schema/ai/PostProcessingAction.json diff --git a/packages/spec/json-schema/PredictionRequest.json b/packages/spec/json-schema/ai/PredictionRequest.json similarity index 100% rename from packages/spec/json-schema/PredictionRequest.json rename to packages/spec/json-schema/ai/PredictionRequest.json diff --git a/packages/spec/json-schema/PredictionResult.json b/packages/spec/json-schema/ai/PredictionResult.json similarity index 100% rename from packages/spec/json-schema/PredictionResult.json rename to packages/spec/json-schema/ai/PredictionResult.json diff --git a/packages/spec/json-schema/PredictiveModel.json b/packages/spec/json-schema/ai/PredictiveModel.json similarity index 100% rename from packages/spec/json-schema/PredictiveModel.json rename to packages/spec/json-schema/ai/PredictiveModel.json diff --git a/packages/spec/json-schema/PredictiveModelType.json b/packages/spec/json-schema/ai/PredictiveModelType.json similarity index 100% rename from packages/spec/json-schema/PredictiveModelType.json rename to packages/spec/json-schema/ai/PredictiveModelType.json diff --git a/packages/spec/json-schema/PromptTemplate.json b/packages/spec/json-schema/ai/PromptTemplate.json similarity index 100% rename from packages/spec/json-schema/PromptTemplate.json rename to packages/spec/json-schema/ai/PromptTemplate.json diff --git a/packages/spec/json-schema/PromptVariable.json b/packages/spec/json-schema/ai/PromptVariable.json similarity index 100% rename from packages/spec/json-schema/PromptVariable.json rename to packages/spec/json-schema/ai/PromptVariable.json diff --git a/packages/spec/json-schema/QueryContext.json b/packages/spec/json-schema/ai/QueryContext.json similarity index 100% rename from packages/spec/json-schema/QueryContext.json rename to packages/spec/json-schema/ai/QueryContext.json diff --git a/packages/spec/json-schema/QueryIntent.json b/packages/spec/json-schema/ai/QueryIntent.json similarity index 100% rename from packages/spec/json-schema/QueryIntent.json rename to packages/spec/json-schema/ai/QueryIntent.json diff --git a/packages/spec/json-schema/QueryTemplate.json b/packages/spec/json-schema/ai/QueryTemplate.json similarity index 100% rename from packages/spec/json-schema/QueryTemplate.json rename to packages/spec/json-schema/ai/QueryTemplate.json diff --git a/packages/spec/json-schema/RAGPipelineConfig.json b/packages/spec/json-schema/ai/RAGPipelineConfig.json similarity index 100% rename from packages/spec/json-schema/RAGPipelineConfig.json rename to packages/spec/json-schema/ai/RAGPipelineConfig.json diff --git a/packages/spec/json-schema/RAGPipelineStatus.json b/packages/spec/json-schema/ai/RAGPipelineStatus.json similarity index 100% rename from packages/spec/json-schema/RAGPipelineStatus.json rename to packages/spec/json-schema/ai/RAGPipelineStatus.json diff --git a/packages/spec/json-schema/RAGQueryRequest.json b/packages/spec/json-schema/ai/RAGQueryRequest.json similarity index 100% rename from packages/spec/json-schema/RAGQueryRequest.json rename to packages/spec/json-schema/ai/RAGQueryRequest.json diff --git a/packages/spec/json-schema/RAGQueryResponse.json b/packages/spec/json-schema/ai/RAGQueryResponse.json similarity index 100% rename from packages/spec/json-schema/RAGQueryResponse.json rename to packages/spec/json-schema/ai/RAGQueryResponse.json diff --git a/packages/spec/json-schema/RerankingConfig.json b/packages/spec/json-schema/ai/RerankingConfig.json similarity index 100% rename from packages/spec/json-schema/RerankingConfig.json rename to packages/spec/json-schema/ai/RerankingConfig.json diff --git a/packages/spec/json-schema/RetrievalStrategy.json b/packages/spec/json-schema/ai/RetrievalStrategy.json similarity index 100% rename from packages/spec/json-schema/RetrievalStrategy.json rename to packages/spec/json-schema/ai/RetrievalStrategy.json diff --git a/packages/spec/json-schema/Timeframe.json b/packages/spec/json-schema/ai/Timeframe.json similarity index 100% rename from packages/spec/json-schema/Timeframe.json rename to packages/spec/json-schema/ai/Timeframe.json diff --git a/packages/spec/json-schema/TokenBudgetConfig.json b/packages/spec/json-schema/ai/TokenBudgetConfig.json similarity index 100% rename from packages/spec/json-schema/TokenBudgetConfig.json rename to packages/spec/json-schema/ai/TokenBudgetConfig.json diff --git a/packages/spec/json-schema/TokenBudgetStrategy.json b/packages/spec/json-schema/ai/TokenBudgetStrategy.json similarity index 100% rename from packages/spec/json-schema/TokenBudgetStrategy.json rename to packages/spec/json-schema/ai/TokenBudgetStrategy.json diff --git a/packages/spec/json-schema/TokenUsageStats.json b/packages/spec/json-schema/ai/TokenUsageStats.json similarity index 100% rename from packages/spec/json-schema/TokenUsageStats.json rename to packages/spec/json-schema/ai/TokenUsageStats.json diff --git a/packages/spec/json-schema/ToolCall.json b/packages/spec/json-schema/ai/ToolCall.json similarity index 100% rename from packages/spec/json-schema/ToolCall.json rename to packages/spec/json-schema/ai/ToolCall.json diff --git a/packages/spec/json-schema/TrainingConfig.json b/packages/spec/json-schema/ai/TrainingConfig.json similarity index 100% rename from packages/spec/json-schema/TrainingConfig.json rename to packages/spec/json-schema/ai/TrainingConfig.json diff --git a/packages/spec/json-schema/VectorStoreConfig.json b/packages/spec/json-schema/ai/VectorStoreConfig.json similarity index 100% rename from packages/spec/json-schema/VectorStoreConfig.json rename to packages/spec/json-schema/ai/VectorStoreConfig.json diff --git a/packages/spec/json-schema/VectorStoreProvider.json b/packages/spec/json-schema/ai/VectorStoreProvider.json similarity index 100% rename from packages/spec/json-schema/VectorStoreProvider.json rename to packages/spec/json-schema/ai/VectorStoreProvider.json diff --git a/packages/spec/json-schema/WorkflowFieldCondition.json b/packages/spec/json-schema/ai/WorkflowFieldCondition.json similarity index 100% rename from packages/spec/json-schema/WorkflowFieldCondition.json rename to packages/spec/json-schema/ai/WorkflowFieldCondition.json diff --git a/packages/spec/json-schema/WorkflowSchedule.json b/packages/spec/json-schema/ai/WorkflowSchedule.json similarity index 100% rename from packages/spec/json-schema/WorkflowSchedule.json rename to packages/spec/json-schema/ai/WorkflowSchedule.json diff --git a/packages/spec/json-schema/ApiError.json b/packages/spec/json-schema/api/ApiError.json similarity index 100% rename from packages/spec/json-schema/ApiError.json rename to packages/spec/json-schema/api/ApiError.json diff --git a/packages/spec/json-schema/BaseResponse.json b/packages/spec/json-schema/api/BaseResponse.json similarity index 100% rename from packages/spec/json-schema/BaseResponse.json rename to packages/spec/json-schema/api/BaseResponse.json diff --git a/packages/spec/json-schema/BulkRequest.json b/packages/spec/json-schema/api/BulkRequest.json similarity index 100% rename from packages/spec/json-schema/BulkRequest.json rename to packages/spec/json-schema/api/BulkRequest.json diff --git a/packages/spec/json-schema/BulkResponse.json b/packages/spec/json-schema/api/BulkResponse.json similarity index 100% rename from packages/spec/json-schema/BulkResponse.json rename to packages/spec/json-schema/api/BulkResponse.json diff --git a/packages/spec/json-schema/CreateRequest.json b/packages/spec/json-schema/api/CreateRequest.json similarity index 100% rename from packages/spec/json-schema/CreateRequest.json rename to packages/spec/json-schema/api/CreateRequest.json diff --git a/packages/spec/json-schema/DeleteResponse.json b/packages/spec/json-schema/api/DeleteResponse.json similarity index 100% rename from packages/spec/json-schema/DeleteResponse.json rename to packages/spec/json-schema/api/DeleteResponse.json diff --git a/packages/spec/json-schema/ExportRequest.json b/packages/spec/json-schema/api/ExportRequest.json similarity index 100% rename from packages/spec/json-schema/ExportRequest.json rename to packages/spec/json-schema/api/ExportRequest.json diff --git a/packages/spec/json-schema/ListRecordResponse.json b/packages/spec/json-schema/api/ListRecordResponse.json similarity index 100% rename from packages/spec/json-schema/ListRecordResponse.json rename to packages/spec/json-schema/api/ListRecordResponse.json diff --git a/packages/spec/json-schema/ModificationResult.json b/packages/spec/json-schema/api/ModificationResult.json similarity index 100% rename from packages/spec/json-schema/ModificationResult.json rename to packages/spec/json-schema/api/ModificationResult.json diff --git a/packages/spec/json-schema/RecordData.json b/packages/spec/json-schema/api/RecordData.json similarity index 100% rename from packages/spec/json-schema/RecordData.json rename to packages/spec/json-schema/api/RecordData.json diff --git a/packages/spec/json-schema/SingleRecordResponse.json b/packages/spec/json-schema/api/SingleRecordResponse.json similarity index 100% rename from packages/spec/json-schema/SingleRecordResponse.json rename to packages/spec/json-schema/api/SingleRecordResponse.json diff --git a/packages/spec/json-schema/UpdateRequest.json b/packages/spec/json-schema/api/UpdateRequest.json similarity index 100% rename from packages/spec/json-schema/UpdateRequest.json rename to packages/spec/json-schema/api/UpdateRequest.json diff --git a/packages/spec/json-schema/Address.json b/packages/spec/json-schema/data/Address.json similarity index 100% rename from packages/spec/json-schema/Address.json rename to packages/spec/json-schema/data/Address.json diff --git a/packages/spec/json-schema/AggregationFunction.json b/packages/spec/json-schema/data/AggregationFunction.json similarity index 100% rename from packages/spec/json-schema/AggregationFunction.json rename to packages/spec/json-schema/data/AggregationFunction.json diff --git a/packages/spec/json-schema/AggregationNode.json b/packages/spec/json-schema/data/AggregationNode.json similarity index 100% rename from packages/spec/json-schema/AggregationNode.json rename to packages/spec/json-schema/data/AggregationNode.json diff --git a/packages/spec/json-schema/AsyncValidation.json b/packages/spec/json-schema/data/AsyncValidation.json similarity index 100% rename from packages/spec/json-schema/AsyncValidation.json rename to packages/spec/json-schema/data/AsyncValidation.json diff --git a/packages/spec/json-schema/ComparisonOperator.json b/packages/spec/json-schema/data/ComparisonOperator.json similarity index 100% rename from packages/spec/json-schema/ComparisonOperator.json rename to packages/spec/json-schema/data/ComparisonOperator.json diff --git a/packages/spec/json-schema/ConditionalValidation.json b/packages/spec/json-schema/data/ConditionalValidation.json similarity index 100% rename from packages/spec/json-schema/ConditionalValidation.json rename to packages/spec/json-schema/data/ConditionalValidation.json diff --git a/packages/spec/json-schema/CrossFieldValidation.json b/packages/spec/json-schema/data/CrossFieldValidation.json similarity index 100% rename from packages/spec/json-schema/CrossFieldValidation.json rename to packages/spec/json-schema/data/CrossFieldValidation.json diff --git a/packages/spec/json-schema/CustomScriptAction.json b/packages/spec/json-schema/data/CustomScriptAction.json similarity index 100% rename from packages/spec/json-schema/CustomScriptAction.json rename to packages/spec/json-schema/data/CustomScriptAction.json diff --git a/packages/spec/json-schema/CustomValidator.json b/packages/spec/json-schema/data/CustomValidator.json similarity index 100% rename from packages/spec/json-schema/CustomValidator.json rename to packages/spec/json-schema/data/CustomValidator.json diff --git a/packages/spec/json-schema/Dataset.json b/packages/spec/json-schema/data/Dataset.json similarity index 100% rename from packages/spec/json-schema/Dataset.json rename to packages/spec/json-schema/data/Dataset.json diff --git a/packages/spec/json-schema/DatasetMode.json b/packages/spec/json-schema/data/DatasetMode.json similarity index 100% rename from packages/spec/json-schema/DatasetMode.json rename to packages/spec/json-schema/data/DatasetMode.json diff --git a/packages/spec/json-schema/EmailAlertAction.json b/packages/spec/json-schema/data/EmailAlertAction.json similarity index 100% rename from packages/spec/json-schema/EmailAlertAction.json rename to packages/spec/json-schema/data/EmailAlertAction.json diff --git a/packages/spec/json-schema/EqualityOperator.json b/packages/spec/json-schema/data/EqualityOperator.json similarity index 100% rename from packages/spec/json-schema/EqualityOperator.json rename to packages/spec/json-schema/data/EqualityOperator.json diff --git a/packages/spec/json-schema/Field.json b/packages/spec/json-schema/data/Field.json similarity index 100% rename from packages/spec/json-schema/Field.json rename to packages/spec/json-schema/data/Field.json diff --git a/packages/spec/json-schema/FieldMapping.json b/packages/spec/json-schema/data/FieldMapping.json similarity index 100% rename from packages/spec/json-schema/FieldMapping.json rename to packages/spec/json-schema/data/FieldMapping.json diff --git a/packages/spec/json-schema/FieldNode.json b/packages/spec/json-schema/data/FieldNode.json similarity index 100% rename from packages/spec/json-schema/FieldNode.json rename to packages/spec/json-schema/data/FieldNode.json diff --git a/packages/spec/json-schema/FieldOperators.json b/packages/spec/json-schema/data/FieldOperators.json similarity index 100% rename from packages/spec/json-schema/FieldOperators.json rename to packages/spec/json-schema/data/FieldOperators.json diff --git a/packages/spec/json-schema/FieldPermission.json b/packages/spec/json-schema/data/FieldPermission.json similarity index 100% rename from packages/spec/json-schema/FieldPermission.json rename to packages/spec/json-schema/data/FieldPermission.json diff --git a/packages/spec/json-schema/FieldType.json b/packages/spec/json-schema/data/FieldType.json similarity index 100% rename from packages/spec/json-schema/FieldType.json rename to packages/spec/json-schema/data/FieldType.json diff --git a/packages/spec/json-schema/FieldUpdateAction.json b/packages/spec/json-schema/data/FieldUpdateAction.json similarity index 100% rename from packages/spec/json-schema/FieldUpdateAction.json rename to packages/spec/json-schema/data/FieldUpdateAction.json diff --git a/packages/spec/json-schema/FilterCondition.json b/packages/spec/json-schema/data/FilterCondition.json similarity index 100% rename from packages/spec/json-schema/FilterCondition.json rename to packages/spec/json-schema/data/FilterCondition.json diff --git a/packages/spec/json-schema/FilterNode.json b/packages/spec/json-schema/data/FilterNode.json similarity index 100% rename from packages/spec/json-schema/FilterNode.json rename to packages/spec/json-schema/data/FilterNode.json diff --git a/packages/spec/json-schema/FilterOperator.json b/packages/spec/json-schema/data/FilterOperator.json similarity index 100% rename from packages/spec/json-schema/FilterOperator.json rename to packages/spec/json-schema/data/FilterOperator.json diff --git a/packages/spec/json-schema/Flow.json b/packages/spec/json-schema/data/Flow.json similarity index 100% rename from packages/spec/json-schema/Flow.json rename to packages/spec/json-schema/data/Flow.json diff --git a/packages/spec/json-schema/FlowEdge.json b/packages/spec/json-schema/data/FlowEdge.json similarity index 100% rename from packages/spec/json-schema/FlowEdge.json rename to packages/spec/json-schema/data/FlowEdge.json diff --git a/packages/spec/json-schema/FlowNode.json b/packages/spec/json-schema/data/FlowNode.json similarity index 100% rename from packages/spec/json-schema/FlowNode.json rename to packages/spec/json-schema/data/FlowNode.json diff --git a/packages/spec/json-schema/FlowNodeAction.json b/packages/spec/json-schema/data/FlowNodeAction.json similarity index 100% rename from packages/spec/json-schema/FlowNodeAction.json rename to packages/spec/json-schema/data/FlowNodeAction.json diff --git a/packages/spec/json-schema/FlowVariable.json b/packages/spec/json-schema/data/FlowVariable.json similarity index 100% rename from packages/spec/json-schema/FlowVariable.json rename to packages/spec/json-schema/data/FlowVariable.json diff --git a/packages/spec/json-schema/FormatValidation.json b/packages/spec/json-schema/data/FormatValidation.json similarity index 100% rename from packages/spec/json-schema/FormatValidation.json rename to packages/spec/json-schema/data/FormatValidation.json diff --git a/packages/spec/json-schema/HttpCallAction.json b/packages/spec/json-schema/data/HttpCallAction.json similarity index 100% rename from packages/spec/json-schema/HttpCallAction.json rename to packages/spec/json-schema/data/HttpCallAction.json diff --git a/packages/spec/json-schema/Index.json b/packages/spec/json-schema/data/Index.json similarity index 100% rename from packages/spec/json-schema/Index.json rename to packages/spec/json-schema/data/Index.json diff --git a/packages/spec/json-schema/JoinNode.json b/packages/spec/json-schema/data/JoinNode.json similarity index 100% rename from packages/spec/json-schema/JoinNode.json rename to packages/spec/json-schema/data/JoinNode.json diff --git a/packages/spec/json-schema/JoinType.json b/packages/spec/json-schema/data/JoinType.json similarity index 100% rename from packages/spec/json-schema/JoinType.json rename to packages/spec/json-schema/data/JoinType.json diff --git a/packages/spec/json-schema/LocationCoordinates.json b/packages/spec/json-schema/data/LocationCoordinates.json similarity index 100% rename from packages/spec/json-schema/LocationCoordinates.json rename to packages/spec/json-schema/data/LocationCoordinates.json diff --git a/packages/spec/json-schema/LogicOperator.json b/packages/spec/json-schema/data/LogicOperator.json similarity index 100% rename from packages/spec/json-schema/LogicOperator.json rename to packages/spec/json-schema/data/LogicOperator.json diff --git a/packages/spec/json-schema/Mapping.json b/packages/spec/json-schema/data/Mapping.json similarity index 100% rename from packages/spec/json-schema/Mapping.json rename to packages/spec/json-schema/data/Mapping.json diff --git a/packages/spec/json-schema/NormalizedFilter.json b/packages/spec/json-schema/data/NormalizedFilter.json similarity index 100% rename from packages/spec/json-schema/NormalizedFilter.json rename to packages/spec/json-schema/data/NormalizedFilter.json diff --git a/packages/spec/json-schema/OWDModel.json b/packages/spec/json-schema/data/OWDModel.json similarity index 100% rename from packages/spec/json-schema/OWDModel.json rename to packages/spec/json-schema/data/OWDModel.json diff --git a/packages/spec/json-schema/Object.json b/packages/spec/json-schema/data/Object.json similarity index 100% rename from packages/spec/json-schema/Object.json rename to packages/spec/json-schema/data/Object.json diff --git a/packages/spec/json-schema/ObjectCapabilities.json b/packages/spec/json-schema/data/ObjectCapabilities.json similarity index 100% rename from packages/spec/json-schema/ObjectCapabilities.json rename to packages/spec/json-schema/data/ObjectCapabilities.json diff --git a/packages/spec/json-schema/ObjectPermission.json b/packages/spec/json-schema/data/ObjectPermission.json similarity index 100% rename from packages/spec/json-schema/ObjectPermission.json rename to packages/spec/json-schema/data/ObjectPermission.json diff --git a/packages/spec/json-schema/PermissionSet.json b/packages/spec/json-schema/data/PermissionSet.json similarity index 100% rename from packages/spec/json-schema/PermissionSet.json rename to packages/spec/json-schema/data/PermissionSet.json diff --git a/packages/spec/json-schema/PushNotificationAction.json b/packages/spec/json-schema/data/PushNotificationAction.json similarity index 100% rename from packages/spec/json-schema/PushNotificationAction.json rename to packages/spec/json-schema/data/PushNotificationAction.json diff --git a/packages/spec/json-schema/Query.json b/packages/spec/json-schema/data/Query.json similarity index 100% rename from packages/spec/json-schema/Query.json rename to packages/spec/json-schema/data/Query.json diff --git a/packages/spec/json-schema/QueryFilter.json b/packages/spec/json-schema/data/QueryFilter.json similarity index 100% rename from packages/spec/json-schema/QueryFilter.json rename to packages/spec/json-schema/data/QueryFilter.json diff --git a/packages/spec/json-schema/RangeOperator.json b/packages/spec/json-schema/data/RangeOperator.json similarity index 100% rename from packages/spec/json-schema/RangeOperator.json rename to packages/spec/json-schema/data/RangeOperator.json diff --git a/packages/spec/json-schema/ScriptValidation.json b/packages/spec/json-schema/data/ScriptValidation.json similarity index 100% rename from packages/spec/json-schema/ScriptValidation.json rename to packages/spec/json-schema/data/ScriptValidation.json diff --git a/packages/spec/json-schema/SelectOption.json b/packages/spec/json-schema/data/SelectOption.json similarity index 100% rename from packages/spec/json-schema/SelectOption.json rename to packages/spec/json-schema/data/SelectOption.json diff --git a/packages/spec/json-schema/SetOperator.json b/packages/spec/json-schema/data/SetOperator.json similarity index 100% rename from packages/spec/json-schema/SetOperator.json rename to packages/spec/json-schema/data/SetOperator.json diff --git a/packages/spec/json-schema/SharingLevel.json b/packages/spec/json-schema/data/SharingLevel.json similarity index 100% rename from packages/spec/json-schema/SharingLevel.json rename to packages/spec/json-schema/data/SharingLevel.json diff --git a/packages/spec/json-schema/SharingRule.json b/packages/spec/json-schema/data/SharingRule.json similarity index 100% rename from packages/spec/json-schema/SharingRule.json rename to packages/spec/json-schema/data/SharingRule.json diff --git a/packages/spec/json-schema/SharingRuleType.json b/packages/spec/json-schema/data/SharingRuleType.json similarity index 100% rename from packages/spec/json-schema/SharingRuleType.json rename to packages/spec/json-schema/data/SharingRuleType.json diff --git a/packages/spec/json-schema/SlackMessageAction.json b/packages/spec/json-schema/data/SlackMessageAction.json similarity index 100% rename from packages/spec/json-schema/SlackMessageAction.json rename to packages/spec/json-schema/data/SlackMessageAction.json diff --git a/packages/spec/json-schema/SmsNotificationAction.json b/packages/spec/json-schema/data/SmsNotificationAction.json similarity index 100% rename from packages/spec/json-schema/SmsNotificationAction.json rename to packages/spec/json-schema/data/SmsNotificationAction.json diff --git a/packages/spec/json-schema/SortNode.json b/packages/spec/json-schema/data/SortNode.json similarity index 100% rename from packages/spec/json-schema/SortNode.json rename to packages/spec/json-schema/data/SortNode.json diff --git a/packages/spec/json-schema/SpecialOperator.json b/packages/spec/json-schema/data/SpecialOperator.json similarity index 100% rename from packages/spec/json-schema/SpecialOperator.json rename to packages/spec/json-schema/data/SpecialOperator.json diff --git a/packages/spec/json-schema/StateMachineValidation.json b/packages/spec/json-schema/data/StateMachineValidation.json similarity index 100% rename from packages/spec/json-schema/StateMachineValidation.json rename to packages/spec/json-schema/data/StateMachineValidation.json diff --git a/packages/spec/json-schema/StringOperator.json b/packages/spec/json-schema/data/StringOperator.json similarity index 100% rename from packages/spec/json-schema/StringOperator.json rename to packages/spec/json-schema/data/StringOperator.json diff --git a/packages/spec/json-schema/TaskCreationAction.json b/packages/spec/json-schema/data/TaskCreationAction.json similarity index 100% rename from packages/spec/json-schema/TaskCreationAction.json rename to packages/spec/json-schema/data/TaskCreationAction.json diff --git a/packages/spec/json-schema/TeamsMessageAction.json b/packages/spec/json-schema/data/TeamsMessageAction.json similarity index 100% rename from packages/spec/json-schema/TeamsMessageAction.json rename to packages/spec/json-schema/data/TeamsMessageAction.json diff --git a/packages/spec/json-schema/TransformType.json b/packages/spec/json-schema/data/TransformType.json similarity index 100% rename from packages/spec/json-schema/TransformType.json rename to packages/spec/json-schema/data/TransformType.json diff --git a/packages/spec/json-schema/Trigger.json b/packages/spec/json-schema/data/Trigger.json similarity index 100% rename from packages/spec/json-schema/Trigger.json rename to packages/spec/json-schema/data/Trigger.json diff --git a/packages/spec/json-schema/TriggerAction.json b/packages/spec/json-schema/data/TriggerAction.json similarity index 100% rename from packages/spec/json-schema/TriggerAction.json rename to packages/spec/json-schema/data/TriggerAction.json diff --git a/packages/spec/json-schema/TriggerContext.json b/packages/spec/json-schema/data/TriggerContext.json similarity index 100% rename from packages/spec/json-schema/TriggerContext.json rename to packages/spec/json-schema/data/TriggerContext.json diff --git a/packages/spec/json-schema/TriggerTiming.json b/packages/spec/json-schema/data/TriggerTiming.json similarity index 100% rename from packages/spec/json-schema/TriggerTiming.json rename to packages/spec/json-schema/data/TriggerTiming.json diff --git a/packages/spec/json-schema/UniquenessValidation.json b/packages/spec/json-schema/data/UniquenessValidation.json similarity index 100% rename from packages/spec/json-schema/UniquenessValidation.json rename to packages/spec/json-schema/data/UniquenessValidation.json diff --git a/packages/spec/json-schema/ValidationRule.json b/packages/spec/json-schema/data/ValidationRule.json similarity index 100% rename from packages/spec/json-schema/ValidationRule.json rename to packages/spec/json-schema/data/ValidationRule.json diff --git a/packages/spec/json-schema/WebhookTriggerAction.json b/packages/spec/json-schema/data/WebhookTriggerAction.json similarity index 100% rename from packages/spec/json-schema/WebhookTriggerAction.json rename to packages/spec/json-schema/data/WebhookTriggerAction.json diff --git a/packages/spec/json-schema/WindowFunction.json b/packages/spec/json-schema/data/WindowFunction.json similarity index 100% rename from packages/spec/json-schema/WindowFunction.json rename to packages/spec/json-schema/data/WindowFunction.json diff --git a/packages/spec/json-schema/WindowFunctionNode.json b/packages/spec/json-schema/data/WindowFunctionNode.json similarity index 100% rename from packages/spec/json-schema/WindowFunctionNode.json rename to packages/spec/json-schema/data/WindowFunctionNode.json diff --git a/packages/spec/json-schema/WindowSpec.json b/packages/spec/json-schema/data/WindowSpec.json similarity index 100% rename from packages/spec/json-schema/WindowSpec.json rename to packages/spec/json-schema/data/WindowSpec.json diff --git a/packages/spec/json-schema/WorkflowAction.json b/packages/spec/json-schema/data/WorkflowAction.json similarity index 100% rename from packages/spec/json-schema/WorkflowAction.json rename to packages/spec/json-schema/data/WorkflowAction.json diff --git a/packages/spec/json-schema/WorkflowRule.json b/packages/spec/json-schema/data/WorkflowRule.json similarity index 100% rename from packages/spec/json-schema/WorkflowRule.json rename to packages/spec/json-schema/data/WorkflowRule.json diff --git a/packages/spec/json-schema/WorkflowTriggerType.json b/packages/spec/json-schema/data/WorkflowTriggerType.json similarity index 100% rename from packages/spec/json-schema/WorkflowTriggerType.json rename to packages/spec/json-schema/data/WorkflowTriggerType.json diff --git a/packages/spec/json-schema/Account.json b/packages/spec/json-schema/system/Account.json similarity index 100% rename from packages/spec/json-schema/Account.json rename to packages/spec/json-schema/system/Account.json diff --git a/packages/spec/json-schema/AccountLinkingConfig.json b/packages/spec/json-schema/system/AccountLinkingConfig.json similarity index 100% rename from packages/spec/json-schema/AccountLinkingConfig.json rename to packages/spec/json-schema/system/AccountLinkingConfig.json diff --git a/packages/spec/json-schema/ApiCapabilities.json b/packages/spec/json-schema/system/ApiCapabilities.json similarity index 100% rename from packages/spec/json-schema/ApiCapabilities.json rename to packages/spec/json-schema/system/ApiCapabilities.json diff --git a/packages/spec/json-schema/ApiEndpoint.json b/packages/spec/json-schema/system/ApiEndpoint.json similarity index 100% rename from packages/spec/json-schema/ApiEndpoint.json rename to packages/spec/json-schema/system/ApiEndpoint.json diff --git a/packages/spec/json-schema/ApiMapping.json b/packages/spec/json-schema/system/ApiMapping.json similarity index 100% rename from packages/spec/json-schema/ApiMapping.json rename to packages/spec/json-schema/system/ApiMapping.json diff --git a/packages/spec/json-schema/ApiRoutes.json b/packages/spec/json-schema/system/ApiRoutes.json similarity index 100% rename from packages/spec/json-schema/ApiRoutes.json rename to packages/spec/json-schema/system/ApiRoutes.json diff --git a/packages/spec/json-schema/AuditConfig.json b/packages/spec/json-schema/system/AuditConfig.json similarity index 100% rename from packages/spec/json-schema/AuditConfig.json rename to packages/spec/json-schema/system/AuditConfig.json diff --git a/packages/spec/json-schema/AuditEvent.json b/packages/spec/json-schema/system/AuditEvent.json similarity index 100% rename from packages/spec/json-schema/AuditEvent.json rename to packages/spec/json-schema/system/AuditEvent.json diff --git a/packages/spec/json-schema/AuditEventActor.json b/packages/spec/json-schema/system/AuditEventActor.json similarity index 100% rename from packages/spec/json-schema/AuditEventActor.json rename to packages/spec/json-schema/system/AuditEventActor.json diff --git a/packages/spec/json-schema/AuditEventChange.json b/packages/spec/json-schema/system/AuditEventChange.json similarity index 100% rename from packages/spec/json-schema/AuditEventChange.json rename to packages/spec/json-schema/system/AuditEventChange.json diff --git a/packages/spec/json-schema/AuditEventFilter.json b/packages/spec/json-schema/system/AuditEventFilter.json similarity index 100% rename from packages/spec/json-schema/AuditEventFilter.json rename to packages/spec/json-schema/system/AuditEventFilter.json diff --git a/packages/spec/json-schema/AuditEventSeverity.json b/packages/spec/json-schema/system/AuditEventSeverity.json similarity index 100% rename from packages/spec/json-schema/AuditEventSeverity.json rename to packages/spec/json-schema/system/AuditEventSeverity.json diff --git a/packages/spec/json-schema/AuditEventTarget.json b/packages/spec/json-schema/system/AuditEventTarget.json similarity index 100% rename from packages/spec/json-schema/AuditEventTarget.json rename to packages/spec/json-schema/system/AuditEventTarget.json diff --git a/packages/spec/json-schema/AuditEventType.json b/packages/spec/json-schema/system/AuditEventType.json similarity index 100% rename from packages/spec/json-schema/AuditEventType.json rename to packages/spec/json-schema/system/AuditEventType.json diff --git a/packages/spec/json-schema/AuditPolicy.json b/packages/spec/json-schema/system/AuditPolicy.json similarity index 100% rename from packages/spec/json-schema/AuditPolicy.json rename to packages/spec/json-schema/system/AuditPolicy.json diff --git a/packages/spec/json-schema/AuditRetentionPolicy.json b/packages/spec/json-schema/system/AuditRetentionPolicy.json similarity index 100% rename from packages/spec/json-schema/AuditRetentionPolicy.json rename to packages/spec/json-schema/system/AuditRetentionPolicy.json diff --git a/packages/spec/json-schema/AuditStorageConfig.json b/packages/spec/json-schema/system/AuditStorageConfig.json similarity index 100% rename from packages/spec/json-schema/AuditStorageConfig.json rename to packages/spec/json-schema/system/AuditStorageConfig.json diff --git a/packages/spec/json-schema/AuthConfig.json b/packages/spec/json-schema/system/AuthConfig.json similarity index 100% rename from packages/spec/json-schema/AuthConfig.json rename to packages/spec/json-schema/system/AuthConfig.json diff --git a/packages/spec/json-schema/AuthPluginConfig.json b/packages/spec/json-schema/system/AuthPluginConfig.json similarity index 100% rename from packages/spec/json-schema/AuthPluginConfig.json rename to packages/spec/json-schema/system/AuthPluginConfig.json diff --git a/packages/spec/json-schema/AuthStrategy.json b/packages/spec/json-schema/system/AuthStrategy.json similarity index 100% rename from packages/spec/json-schema/AuthStrategy.json rename to packages/spec/json-schema/system/AuthStrategy.json diff --git a/packages/spec/json-schema/CSRFConfig.json b/packages/spec/json-schema/system/CSRFConfig.json similarity index 100% rename from packages/spec/json-schema/CSRFConfig.json rename to packages/spec/json-schema/system/CSRFConfig.json diff --git a/packages/spec/json-schema/CronSchedule.json b/packages/spec/json-schema/system/CronSchedule.json similarity index 100% rename from packages/spec/json-schema/CronSchedule.json rename to packages/spec/json-schema/system/CronSchedule.json diff --git a/packages/spec/json-schema/DatabaseAdapter.json b/packages/spec/json-schema/system/DatabaseAdapter.json similarity index 100% rename from packages/spec/json-schema/DatabaseAdapter.json rename to packages/spec/json-schema/system/DatabaseAdapter.json diff --git a/packages/spec/json-schema/DatabaseLevelIsolationStrategy.json b/packages/spec/json-schema/system/DatabaseLevelIsolationStrategy.json similarity index 100% rename from packages/spec/json-schema/DatabaseLevelIsolationStrategy.json rename to packages/spec/json-schema/system/DatabaseLevelIsolationStrategy.json diff --git a/packages/spec/json-schema/DatabaseMapping.json b/packages/spec/json-schema/system/DatabaseMapping.json similarity index 100% rename from packages/spec/json-schema/DatabaseMapping.json rename to packages/spec/json-schema/system/DatabaseMapping.json diff --git a/packages/spec/json-schema/Datasource.json b/packages/spec/json-schema/system/Datasource.json similarity index 100% rename from packages/spec/json-schema/Datasource.json rename to packages/spec/json-schema/system/Datasource.json diff --git a/packages/spec/json-schema/DatasourceCapabilities.json b/packages/spec/json-schema/system/DatasourceCapabilities.json similarity index 100% rename from packages/spec/json-schema/DatasourceCapabilities.json rename to packages/spec/json-schema/system/DatasourceCapabilities.json diff --git a/packages/spec/json-schema/Discovery.json b/packages/spec/json-schema/system/Discovery.json similarity index 100% rename from packages/spec/json-schema/Discovery.json rename to packages/spec/json-schema/system/Discovery.json diff --git a/packages/spec/json-schema/DriverCapabilities.json b/packages/spec/json-schema/system/DriverCapabilities.json similarity index 100% rename from packages/spec/json-schema/DriverCapabilities.json rename to packages/spec/json-schema/system/DriverCapabilities.json diff --git a/packages/spec/json-schema/DriverDefinition.json b/packages/spec/json-schema/system/DriverDefinition.json similarity index 100% rename from packages/spec/json-schema/DriverDefinition.json rename to packages/spec/json-schema/system/DriverDefinition.json diff --git a/packages/spec/json-schema/DriverInterface.json b/packages/spec/json-schema/system/DriverInterface.json similarity index 100% rename from packages/spec/json-schema/DriverInterface.json rename to packages/spec/json-schema/system/DriverInterface.json diff --git a/packages/spec/json-schema/DriverOptions.json b/packages/spec/json-schema/system/DriverOptions.json similarity index 100% rename from packages/spec/json-schema/DriverOptions.json rename to packages/spec/json-schema/system/DriverOptions.json diff --git a/packages/spec/json-schema/DriverType.json b/packages/spec/json-schema/system/DriverType.json similarity index 100% rename from packages/spec/json-schema/DriverType.json rename to packages/spec/json-schema/system/DriverType.json diff --git a/packages/spec/json-schema/EmailPasswordConfig.json b/packages/spec/json-schema/system/EmailPasswordConfig.json similarity index 100% rename from packages/spec/json-schema/EmailPasswordConfig.json rename to packages/spec/json-schema/system/EmailPasswordConfig.json diff --git a/packages/spec/json-schema/EnterpriseAuthConfig.json b/packages/spec/json-schema/system/EnterpriseAuthConfig.json similarity index 100% rename from packages/spec/json-schema/EnterpriseAuthConfig.json rename to packages/spec/json-schema/system/EnterpriseAuthConfig.json diff --git a/packages/spec/json-schema/Event.json b/packages/spec/json-schema/system/Event.json similarity index 100% rename from packages/spec/json-schema/Event.json rename to packages/spec/json-schema/system/Event.json diff --git a/packages/spec/json-schema/EventHandler.json b/packages/spec/json-schema/system/EventHandler.json similarity index 100% rename from packages/spec/json-schema/EventHandler.json rename to packages/spec/json-schema/system/EventHandler.json diff --git a/packages/spec/json-schema/EventMetadata.json b/packages/spec/json-schema/system/EventMetadata.json similarity index 100% rename from packages/spec/json-schema/EventMetadata.json rename to packages/spec/json-schema/system/EventMetadata.json diff --git a/packages/spec/json-schema/EventPersistence.json b/packages/spec/json-schema/system/EventPersistence.json similarity index 100% rename from packages/spec/json-schema/EventPersistence.json rename to packages/spec/json-schema/system/EventPersistence.json diff --git a/packages/spec/json-schema/EventRoute.json b/packages/spec/json-schema/system/EventRoute.json similarity index 100% rename from packages/spec/json-schema/EventRoute.json rename to packages/spec/json-schema/system/EventRoute.json diff --git a/packages/spec/json-schema/Feature.json b/packages/spec/json-schema/system/Feature.json similarity index 100% rename from packages/spec/json-schema/Feature.json rename to packages/spec/json-schema/system/Feature.json diff --git a/packages/spec/json-schema/HttpMethod.json b/packages/spec/json-schema/system/HttpMethod.json similarity index 100% rename from packages/spec/json-schema/HttpMethod.json rename to packages/spec/json-schema/system/HttpMethod.json diff --git a/packages/spec/json-schema/I18nContext.json b/packages/spec/json-schema/system/I18nContext.json similarity index 100% rename from packages/spec/json-schema/I18nContext.json rename to packages/spec/json-schema/system/I18nContext.json diff --git a/packages/spec/json-schema/IntervalSchedule.json b/packages/spec/json-schema/system/IntervalSchedule.json similarity index 100% rename from packages/spec/json-schema/IntervalSchedule.json rename to packages/spec/json-schema/system/IntervalSchedule.json diff --git a/packages/spec/json-schema/Invitation.json b/packages/spec/json-schema/system/Invitation.json similarity index 100% rename from packages/spec/json-schema/Invitation.json rename to packages/spec/json-schema/system/Invitation.json diff --git a/packages/spec/json-schema/InvitationStatus.json b/packages/spec/json-schema/system/InvitationStatus.json similarity index 100% rename from packages/spec/json-schema/InvitationStatus.json rename to packages/spec/json-schema/system/InvitationStatus.json diff --git a/packages/spec/json-schema/Job.json b/packages/spec/json-schema/system/Job.json similarity index 100% rename from packages/spec/json-schema/Job.json rename to packages/spec/json-schema/system/Job.json diff --git a/packages/spec/json-schema/JobExecution.json b/packages/spec/json-schema/system/JobExecution.json similarity index 100% rename from packages/spec/json-schema/JobExecution.json rename to packages/spec/json-schema/system/JobExecution.json diff --git a/packages/spec/json-schema/JobExecutionStatus.json b/packages/spec/json-schema/system/JobExecutionStatus.json similarity index 100% rename from packages/spec/json-schema/JobExecutionStatus.json rename to packages/spec/json-schema/system/JobExecutionStatus.json diff --git a/packages/spec/json-schema/LDAPConfig.json b/packages/spec/json-schema/system/LDAPConfig.json similarity index 100% rename from packages/spec/json-schema/LDAPConfig.json rename to packages/spec/json-schema/system/LDAPConfig.json diff --git a/packages/spec/json-schema/LevelIsolationStrategySchema.json b/packages/spec/json-schema/system/LevelIsolationStrategySchema.json similarity index 100% rename from packages/spec/json-schema/LevelIsolationStrategySchema.json rename to packages/spec/json-schema/system/LevelIsolationStrategySchema.json diff --git a/packages/spec/json-schema/License.json b/packages/spec/json-schema/system/License.json similarity index 100% rename from packages/spec/json-schema/License.json rename to packages/spec/json-schema/system/License.json diff --git a/packages/spec/json-schema/Locale.json b/packages/spec/json-schema/system/Locale.json similarity index 100% rename from packages/spec/json-schema/Locale.json rename to packages/spec/json-schema/system/Locale.json diff --git a/packages/spec/json-schema/Logger.json b/packages/spec/json-schema/system/Logger.json similarity index 100% rename from packages/spec/json-schema/Logger.json rename to packages/spec/json-schema/system/Logger.json diff --git a/packages/spec/json-schema/MagicLinkConfig.json b/packages/spec/json-schema/system/MagicLinkConfig.json similarity index 100% rename from packages/spec/json-schema/MagicLinkConfig.json rename to packages/spec/json-schema/system/MagicLinkConfig.json diff --git a/packages/spec/json-schema/Manifest.json b/packages/spec/json-schema/system/Manifest.json similarity index 100% rename from packages/spec/json-schema/Manifest.json rename to packages/spec/json-schema/system/Manifest.json diff --git a/packages/spec/json-schema/Member.json b/packages/spec/json-schema/system/Member.json similarity index 100% rename from packages/spec/json-schema/Member.json rename to packages/spec/json-schema/system/Member.json diff --git a/packages/spec/json-schema/MetricType.json b/packages/spec/json-schema/system/MetricType.json similarity index 100% rename from packages/spec/json-schema/MetricType.json rename to packages/spec/json-schema/system/MetricType.json diff --git a/packages/spec/json-schema/NetworkPolicy.json b/packages/spec/json-schema/system/NetworkPolicy.json similarity index 100% rename from packages/spec/json-schema/NetworkPolicy.json rename to packages/spec/json-schema/system/NetworkPolicy.json diff --git a/packages/spec/json-schema/OAuthProvider.json b/packages/spec/json-schema/system/OAuthProvider.json similarity index 100% rename from packages/spec/json-schema/OAuthProvider.json rename to packages/spec/json-schema/system/OAuthProvider.json diff --git a/packages/spec/json-schema/OIDCConfig.json b/packages/spec/json-schema/system/OIDCConfig.json similarity index 100% rename from packages/spec/json-schema/OIDCConfig.json rename to packages/spec/json-schema/system/OIDCConfig.json diff --git a/packages/spec/json-schema/ObjectQLClient.json b/packages/spec/json-schema/system/ObjectQLClient.json similarity index 100% rename from packages/spec/json-schema/ObjectQLClient.json rename to packages/spec/json-schema/system/ObjectQLClient.json diff --git a/packages/spec/json-schema/OnceSchedule.json b/packages/spec/json-schema/system/OnceSchedule.json similarity index 100% rename from packages/spec/json-schema/OnceSchedule.json rename to packages/spec/json-schema/system/OnceSchedule.json diff --git a/packages/spec/json-schema/Organization.json b/packages/spec/json-schema/system/Organization.json similarity index 100% rename from packages/spec/json-schema/Organization.json rename to packages/spec/json-schema/system/Organization.json diff --git a/packages/spec/json-schema/PasskeyConfig.json b/packages/spec/json-schema/system/PasskeyConfig.json similarity index 100% rename from packages/spec/json-schema/PasskeyConfig.json rename to packages/spec/json-schema/system/PasskeyConfig.json diff --git a/packages/spec/json-schema/PasswordPolicy.json b/packages/spec/json-schema/system/PasswordPolicy.json similarity index 100% rename from packages/spec/json-schema/PasswordPolicy.json rename to packages/spec/json-schema/system/PasswordPolicy.json diff --git a/packages/spec/json-schema/Plan.json b/packages/spec/json-schema/system/Plan.json similarity index 100% rename from packages/spec/json-schema/Plan.json rename to packages/spec/json-schema/system/Plan.json diff --git a/packages/spec/json-schema/Plugin.json b/packages/spec/json-schema/system/Plugin.json similarity index 100% rename from packages/spec/json-schema/Plugin.json rename to packages/spec/json-schema/system/Plugin.json diff --git a/packages/spec/json-schema/PluginContext.json b/packages/spec/json-schema/system/PluginContext.json similarity index 100% rename from packages/spec/json-schema/PluginContext.json rename to packages/spec/json-schema/system/PluginContext.json diff --git a/packages/spec/json-schema/PluginLifecycle.json b/packages/spec/json-schema/system/PluginLifecycle.json similarity index 100% rename from packages/spec/json-schema/PluginLifecycle.json rename to packages/spec/json-schema/system/PluginLifecycle.json diff --git a/packages/spec/json-schema/Policy.json b/packages/spec/json-schema/system/Policy.json similarity index 100% rename from packages/spec/json-schema/Policy.json rename to packages/spec/json-schema/system/Policy.json diff --git a/packages/spec/json-schema/Presence.json b/packages/spec/json-schema/system/Presence.json similarity index 100% rename from packages/spec/json-schema/Presence.json rename to packages/spec/json-schema/system/Presence.json diff --git a/packages/spec/json-schema/PresenceStatus.json b/packages/spec/json-schema/system/PresenceStatus.json similarity index 100% rename from packages/spec/json-schema/PresenceStatus.json rename to packages/spec/json-schema/system/PresenceStatus.json diff --git a/packages/spec/json-schema/RateLimit.json b/packages/spec/json-schema/system/RateLimit.json similarity index 100% rename from packages/spec/json-schema/RateLimit.json rename to packages/spec/json-schema/system/RateLimit.json diff --git a/packages/spec/json-schema/RateLimitConfig.json b/packages/spec/json-schema/system/RateLimitConfig.json similarity index 100% rename from packages/spec/json-schema/RateLimitConfig.json rename to packages/spec/json-schema/system/RateLimitConfig.json diff --git a/packages/spec/json-schema/RealtimeAction.json b/packages/spec/json-schema/system/RealtimeAction.json similarity index 100% rename from packages/spec/json-schema/RealtimeAction.json rename to packages/spec/json-schema/system/RealtimeAction.json diff --git a/packages/spec/json-schema/RealtimeEvent.json b/packages/spec/json-schema/system/RealtimeEvent.json similarity index 100% rename from packages/spec/json-schema/RealtimeEvent.json rename to packages/spec/json-schema/system/RealtimeEvent.json diff --git a/packages/spec/json-schema/RealtimeEventType.json b/packages/spec/json-schema/system/RealtimeEventType.json similarity index 100% rename from packages/spec/json-schema/RealtimeEventType.json rename to packages/spec/json-schema/system/RealtimeEventType.json diff --git a/packages/spec/json-schema/RetryPolicy.json b/packages/spec/json-schema/system/RetryPolicy.json similarity index 100% rename from packages/spec/json-schema/RetryPolicy.json rename to packages/spec/json-schema/system/RetryPolicy.json diff --git a/packages/spec/json-schema/Role.json b/packages/spec/json-schema/system/Role.json similarity index 100% rename from packages/spec/json-schema/Role.json rename to packages/spec/json-schema/system/Role.json diff --git a/packages/spec/json-schema/Router.json b/packages/spec/json-schema/system/Router.json similarity index 100% rename from packages/spec/json-schema/Router.json rename to packages/spec/json-schema/system/Router.json diff --git a/packages/spec/json-schema/RowLevelIsolationStrategy.json b/packages/spec/json-schema/system/RowLevelIsolationStrategy.json similarity index 100% rename from packages/spec/json-schema/RowLevelIsolationStrategy.json rename to packages/spec/json-schema/system/RowLevelIsolationStrategy.json diff --git a/packages/spec/json-schema/SAMLConfig.json b/packages/spec/json-schema/system/SAMLConfig.json similarity index 100% rename from packages/spec/json-schema/SAMLConfig.json rename to packages/spec/json-schema/system/SAMLConfig.json diff --git a/packages/spec/json-schema/Schedule.json b/packages/spec/json-schema/system/Schedule.json similarity index 100% rename from packages/spec/json-schema/Schedule.json rename to packages/spec/json-schema/system/Schedule.json diff --git a/packages/spec/json-schema/Scheduler.json b/packages/spec/json-schema/system/Scheduler.json similarity index 100% rename from packages/spec/json-schema/Scheduler.json rename to packages/spec/json-schema/system/Scheduler.json diff --git a/packages/spec/json-schema/ScopedStorage.json b/packages/spec/json-schema/system/ScopedStorage.json similarity index 100% rename from packages/spec/json-schema/ScopedStorage.json rename to packages/spec/json-schema/system/ScopedStorage.json diff --git a/packages/spec/json-schema/Session.json b/packages/spec/json-schema/system/Session.json similarity index 100% rename from packages/spec/json-schema/Session.json rename to packages/spec/json-schema/system/Session.json diff --git a/packages/spec/json-schema/SessionConfig.json b/packages/spec/json-schema/system/SessionConfig.json similarity index 100% rename from packages/spec/json-schema/SessionConfig.json rename to packages/spec/json-schema/system/SessionConfig.json diff --git a/packages/spec/json-schema/SessionPolicy.json b/packages/spec/json-schema/system/SessionPolicy.json similarity index 100% rename from packages/spec/json-schema/SessionPolicy.json rename to packages/spec/json-schema/system/SessionPolicy.json diff --git a/packages/spec/json-schema/StandardAuthProvider.json b/packages/spec/json-schema/system/StandardAuthProvider.json similarity index 100% rename from packages/spec/json-schema/StandardAuthProvider.json rename to packages/spec/json-schema/system/StandardAuthProvider.json diff --git a/packages/spec/json-schema/Subscription.json b/packages/spec/json-schema/system/Subscription.json similarity index 100% rename from packages/spec/json-schema/Subscription.json rename to packages/spec/json-schema/system/Subscription.json diff --git a/packages/spec/json-schema/SubscriptionEvent.json b/packages/spec/json-schema/system/SubscriptionEvent.json similarity index 100% rename from packages/spec/json-schema/SubscriptionEvent.json rename to packages/spec/json-schema/system/SubscriptionEvent.json diff --git a/packages/spec/json-schema/SuspiciousActivityRule.json b/packages/spec/json-schema/system/SuspiciousActivityRule.json similarity index 100% rename from packages/spec/json-schema/SuspiciousActivityRule.json rename to packages/spec/json-schema/system/SuspiciousActivityRule.json diff --git a/packages/spec/json-schema/SystemAPI.json b/packages/spec/json-schema/system/SystemAPI.json similarity index 100% rename from packages/spec/json-schema/SystemAPI.json rename to packages/spec/json-schema/system/SystemAPI.json diff --git a/packages/spec/json-schema/Tenant.json b/packages/spec/json-schema/system/Tenant.json similarity index 100% rename from packages/spec/json-schema/Tenant.json rename to packages/spec/json-schema/system/Tenant.json diff --git a/packages/spec/json-schema/TenantIsolationConfig.json b/packages/spec/json-schema/system/TenantIsolationConfig.json similarity index 100% rename from packages/spec/json-schema/TenantIsolationConfig.json rename to packages/spec/json-schema/system/TenantIsolationConfig.json diff --git a/packages/spec/json-schema/TenantIsolationLevel.json b/packages/spec/json-schema/system/TenantIsolationLevel.json similarity index 100% rename from packages/spec/json-schema/TenantIsolationLevel.json rename to packages/spec/json-schema/system/TenantIsolationLevel.json diff --git a/packages/spec/json-schema/TenantQuota.json b/packages/spec/json-schema/system/TenantQuota.json similarity index 100% rename from packages/spec/json-schema/TenantQuota.json rename to packages/spec/json-schema/system/TenantQuota.json diff --git a/packages/spec/json-schema/TenantSecurityPolicy.json b/packages/spec/json-schema/system/TenantSecurityPolicy.json similarity index 100% rename from packages/spec/json-schema/TenantSecurityPolicy.json rename to packages/spec/json-schema/system/TenantSecurityPolicy.json diff --git a/packages/spec/json-schema/Territory.json b/packages/spec/json-schema/system/Territory.json similarity index 100% rename from packages/spec/json-schema/Territory.json rename to packages/spec/json-schema/system/Territory.json diff --git a/packages/spec/json-schema/TerritoryModel.json b/packages/spec/json-schema/system/TerritoryModel.json similarity index 100% rename from packages/spec/json-schema/TerritoryModel.json rename to packages/spec/json-schema/system/TerritoryModel.json diff --git a/packages/spec/json-schema/TerritoryType.json b/packages/spec/json-schema/system/TerritoryType.json similarity index 100% rename from packages/spec/json-schema/TerritoryType.json rename to packages/spec/json-schema/system/TerritoryType.json diff --git a/packages/spec/json-schema/TranslationBundle.json b/packages/spec/json-schema/system/TranslationBundle.json similarity index 100% rename from packages/spec/json-schema/TranslationBundle.json rename to packages/spec/json-schema/system/TranslationBundle.json diff --git a/packages/spec/json-schema/TranslationData.json b/packages/spec/json-schema/system/TranslationData.json similarity index 100% rename from packages/spec/json-schema/TranslationData.json rename to packages/spec/json-schema/system/TranslationData.json diff --git a/packages/spec/json-schema/TransportProtocol.json b/packages/spec/json-schema/system/TransportProtocol.json similarity index 100% rename from packages/spec/json-schema/TransportProtocol.json rename to packages/spec/json-schema/system/TransportProtocol.json diff --git a/packages/spec/json-schema/TwoFactorConfig.json b/packages/spec/json-schema/system/TwoFactorConfig.json similarity index 100% rename from packages/spec/json-schema/TwoFactorConfig.json rename to packages/spec/json-schema/system/TwoFactorConfig.json diff --git a/packages/spec/json-schema/User.json b/packages/spec/json-schema/system/User.json similarity index 100% rename from packages/spec/json-schema/User.json rename to packages/spec/json-schema/system/User.json diff --git a/packages/spec/json-schema/UserFieldMapping.json b/packages/spec/json-schema/system/UserFieldMapping.json similarity index 100% rename from packages/spec/json-schema/UserFieldMapping.json rename to packages/spec/json-schema/system/UserFieldMapping.json diff --git a/packages/spec/json-schema/VerificationToken.json b/packages/spec/json-schema/system/VerificationToken.json similarity index 100% rename from packages/spec/json-schema/VerificationToken.json rename to packages/spec/json-schema/system/VerificationToken.json diff --git a/packages/spec/json-schema/Webhook.json b/packages/spec/json-schema/system/Webhook.json similarity index 100% rename from packages/spec/json-schema/Webhook.json rename to packages/spec/json-schema/system/Webhook.json diff --git a/packages/spec/json-schema/WebhookReceiver.json b/packages/spec/json-schema/system/WebhookReceiver.json similarity index 100% rename from packages/spec/json-schema/WebhookReceiver.json rename to packages/spec/json-schema/system/WebhookReceiver.json diff --git a/packages/spec/json-schema/WebhookTriggerType.json b/packages/spec/json-schema/system/WebhookTriggerType.json similarity index 100% rename from packages/spec/json-schema/WebhookTriggerType.json rename to packages/spec/json-schema/system/WebhookTriggerType.json diff --git a/packages/spec/json-schema/Action.json b/packages/spec/json-schema/ui/Action.json similarity index 100% rename from packages/spec/json-schema/Action.json rename to packages/spec/json-schema/ui/Action.json diff --git a/packages/spec/json-schema/ActionParam.json b/packages/spec/json-schema/ui/ActionParam.json similarity index 100% rename from packages/spec/json-schema/ActionParam.json rename to packages/spec/json-schema/ui/ActionParam.json diff --git a/packages/spec/json-schema/Animation.json b/packages/spec/json-schema/ui/Animation.json similarity index 100% rename from packages/spec/json-schema/Animation.json rename to packages/spec/json-schema/ui/Animation.json diff --git a/packages/spec/json-schema/App.json b/packages/spec/json-schema/ui/App.json similarity index 100% rename from packages/spec/json-schema/App.json rename to packages/spec/json-schema/ui/App.json diff --git a/packages/spec/json-schema/AppBranding.json b/packages/spec/json-schema/ui/AppBranding.json similarity index 100% rename from packages/spec/json-schema/AppBranding.json rename to packages/spec/json-schema/ui/AppBranding.json diff --git a/packages/spec/json-schema/BorderRadius.json b/packages/spec/json-schema/ui/BorderRadius.json similarity index 100% rename from packages/spec/json-schema/BorderRadius.json rename to packages/spec/json-schema/ui/BorderRadius.json diff --git a/packages/spec/json-schema/Breakpoints.json b/packages/spec/json-schema/ui/Breakpoints.json similarity index 100% rename from packages/spec/json-schema/Breakpoints.json rename to packages/spec/json-schema/ui/Breakpoints.json diff --git a/packages/spec/json-schema/CalendarConfig.json b/packages/spec/json-schema/ui/CalendarConfig.json similarity index 100% rename from packages/spec/json-schema/CalendarConfig.json rename to packages/spec/json-schema/ui/CalendarConfig.json diff --git a/packages/spec/json-schema/ChartType.json b/packages/spec/json-schema/ui/ChartType.json similarity index 100% rename from packages/spec/json-schema/ChartType.json rename to packages/spec/json-schema/ui/ChartType.json diff --git a/packages/spec/json-schema/ColorPalette.json b/packages/spec/json-schema/ui/ColorPalette.json similarity index 100% rename from packages/spec/json-schema/ColorPalette.json rename to packages/spec/json-schema/ui/ColorPalette.json diff --git a/packages/spec/json-schema/Dashboard.json b/packages/spec/json-schema/ui/Dashboard.json similarity index 100% rename from packages/spec/json-schema/Dashboard.json rename to packages/spec/json-schema/ui/Dashboard.json diff --git a/packages/spec/json-schema/DashboardNavItem.json b/packages/spec/json-schema/ui/DashboardNavItem.json similarity index 100% rename from packages/spec/json-schema/DashboardNavItem.json rename to packages/spec/json-schema/ui/DashboardNavItem.json diff --git a/packages/spec/json-schema/DashboardWidget.json b/packages/spec/json-schema/ui/DashboardWidget.json similarity index 100% rename from packages/spec/json-schema/DashboardWidget.json rename to packages/spec/json-schema/ui/DashboardWidget.json diff --git a/packages/spec/json-schema/FieldWidgetProps.json b/packages/spec/json-schema/ui/FieldWidgetProps.json similarity index 100% rename from packages/spec/json-schema/FieldWidgetProps.json rename to packages/spec/json-schema/ui/FieldWidgetProps.json diff --git a/packages/spec/json-schema/FormSection.json b/packages/spec/json-schema/ui/FormSection.json similarity index 100% rename from packages/spec/json-schema/FormSection.json rename to packages/spec/json-schema/ui/FormSection.json diff --git a/packages/spec/json-schema/FormView.json b/packages/spec/json-schema/ui/FormView.json similarity index 100% rename from packages/spec/json-schema/FormView.json rename to packages/spec/json-schema/ui/FormView.json diff --git a/packages/spec/json-schema/GanttConfig.json b/packages/spec/json-schema/ui/GanttConfig.json similarity index 100% rename from packages/spec/json-schema/GanttConfig.json rename to packages/spec/json-schema/ui/GanttConfig.json diff --git a/packages/spec/json-schema/GroupNavItem.json b/packages/spec/json-schema/ui/GroupNavItem.json similarity index 100% rename from packages/spec/json-schema/GroupNavItem.json rename to packages/spec/json-schema/ui/GroupNavItem.json diff --git a/packages/spec/json-schema/KanbanConfig.json b/packages/spec/json-schema/ui/KanbanConfig.json similarity index 100% rename from packages/spec/json-schema/KanbanConfig.json rename to packages/spec/json-schema/ui/KanbanConfig.json diff --git a/packages/spec/json-schema/ListView.json b/packages/spec/json-schema/ui/ListView.json similarity index 100% rename from packages/spec/json-schema/ListView.json rename to packages/spec/json-schema/ui/ListView.json diff --git a/packages/spec/json-schema/NavigationItem.json b/packages/spec/json-schema/ui/NavigationItem.json similarity index 100% rename from packages/spec/json-schema/NavigationItem.json rename to packages/spec/json-schema/ui/NavigationItem.json diff --git a/packages/spec/json-schema/ObjectNavItem.json b/packages/spec/json-schema/ui/ObjectNavItem.json similarity index 100% rename from packages/spec/json-schema/ObjectNavItem.json rename to packages/spec/json-schema/ui/ObjectNavItem.json diff --git a/packages/spec/json-schema/Page.json b/packages/spec/json-schema/ui/Page.json similarity index 100% rename from packages/spec/json-schema/Page.json rename to packages/spec/json-schema/ui/Page.json diff --git a/packages/spec/json-schema/PageComponent.json b/packages/spec/json-schema/ui/PageComponent.json similarity index 100% rename from packages/spec/json-schema/PageComponent.json rename to packages/spec/json-schema/ui/PageComponent.json diff --git a/packages/spec/json-schema/PageNavItem.json b/packages/spec/json-schema/ui/PageNavItem.json similarity index 100% rename from packages/spec/json-schema/PageNavItem.json rename to packages/spec/json-schema/ui/PageNavItem.json diff --git a/packages/spec/json-schema/PageRegion.json b/packages/spec/json-schema/ui/PageRegion.json similarity index 100% rename from packages/spec/json-schema/PageRegion.json rename to packages/spec/json-schema/ui/PageRegion.json diff --git a/packages/spec/json-schema/Report.json b/packages/spec/json-schema/ui/Report.json similarity index 100% rename from packages/spec/json-schema/Report.json rename to packages/spec/json-schema/ui/Report.json diff --git a/packages/spec/json-schema/ReportChart.json b/packages/spec/json-schema/ui/ReportChart.json similarity index 100% rename from packages/spec/json-schema/ReportChart.json rename to packages/spec/json-schema/ui/ReportChart.json diff --git a/packages/spec/json-schema/ReportColumn.json b/packages/spec/json-schema/ui/ReportColumn.json similarity index 100% rename from packages/spec/json-schema/ReportColumn.json rename to packages/spec/json-schema/ui/ReportColumn.json diff --git a/packages/spec/json-schema/ReportGrouping.json b/packages/spec/json-schema/ui/ReportGrouping.json similarity index 100% rename from packages/spec/json-schema/ReportGrouping.json rename to packages/spec/json-schema/ui/ReportGrouping.json diff --git a/packages/spec/json-schema/ReportType.json b/packages/spec/json-schema/ui/ReportType.json similarity index 100% rename from packages/spec/json-schema/ReportType.json rename to packages/spec/json-schema/ui/ReportType.json diff --git a/packages/spec/json-schema/Shadow.json b/packages/spec/json-schema/ui/Shadow.json similarity index 100% rename from packages/spec/json-schema/Shadow.json rename to packages/spec/json-schema/ui/Shadow.json diff --git a/packages/spec/json-schema/Spacing.json b/packages/spec/json-schema/ui/Spacing.json similarity index 100% rename from packages/spec/json-schema/Spacing.json rename to packages/spec/json-schema/ui/Spacing.json diff --git a/packages/spec/json-schema/Theme.json b/packages/spec/json-schema/ui/Theme.json similarity index 100% rename from packages/spec/json-schema/Theme.json rename to packages/spec/json-schema/ui/Theme.json diff --git a/packages/spec/json-schema/ThemeMode.json b/packages/spec/json-schema/ui/ThemeMode.json similarity index 100% rename from packages/spec/json-schema/ThemeMode.json rename to packages/spec/json-schema/ui/ThemeMode.json diff --git a/packages/spec/json-schema/Typography.json b/packages/spec/json-schema/ui/Typography.json similarity index 100% rename from packages/spec/json-schema/Typography.json rename to packages/spec/json-schema/ui/Typography.json diff --git a/packages/spec/json-schema/UrlNavItem.json b/packages/spec/json-schema/ui/UrlNavItem.json similarity index 100% rename from packages/spec/json-schema/UrlNavItem.json rename to packages/spec/json-schema/ui/UrlNavItem.json diff --git a/packages/spec/json-schema/View.json b/packages/spec/json-schema/ui/View.json similarity index 100% rename from packages/spec/json-schema/View.json rename to packages/spec/json-schema/ui/View.json diff --git a/packages/spec/json-schema/ZIndex.json b/packages/spec/json-schema/ui/ZIndex.json similarity index 100% rename from packages/spec/json-schema/ZIndex.json rename to packages/spec/json-schema/ui/ZIndex.json diff --git a/packages/spec/scripts/build-schemas.ts b/packages/spec/scripts/build-schemas.ts index 755beec39..ad452d5b5 100644 --- a/packages/spec/scripts/build-schemas.ts +++ b/packages/spec/scripts/build-schemas.ts @@ -17,8 +17,16 @@ let count = 0; // Protocol now exports namespaces (Data, UI, System, AI, API) // We need to iterate through each namespace -for (const [_namespaceName, namespaceExports] of Object.entries(Protocol)) { +for (const [namespaceName, namespaceExports] of Object.entries(Protocol)) { if (typeof namespaceExports === 'object' && namespaceExports !== null) { + // Create category subdirectory (e.g., data, ui, system, ai, api) + const categoryDir = path.join(OUT_DIR, namespaceName.toLowerCase()); + if (!fs.existsSync(categoryDir)) { + fs.mkdirSync(categoryDir, { recursive: true }); + } + + console.log(`\n[${namespaceName}]`); + // Iterate over all exports in each namespace for (const [key, value] of Object.entries(namespaceExports)) { // Check if it looks like a Zod Schema @@ -32,10 +40,10 @@ for (const [_namespaceName, namespaceExports] of Object.entries(Protocol)) { }); const fileName = `${schemaName}.json`; - const filePath = path.join(OUT_DIR, fileName); + const filePath = path.join(categoryDir, fileName); fs.writeFileSync(filePath, JSON.stringify(jsonSchema, null, 2)); - console.log(`✓ ${fileName}`); + console.log(`✓ ${namespaceName.toLowerCase()}/${fileName}`); count++; } } From 8ae3d928f9c95dd320e89d8629a52085fc3d2d73 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 23 Jan 2026 15:53:20 +0000 Subject: [PATCH 3/3] Add README documentation for categorized JSON schema structure Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com> --- packages/spec/json-schema/README.md | 127 ++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 packages/spec/json-schema/README.md diff --git a/packages/spec/json-schema/README.md b/packages/spec/json-schema/README.md new file mode 100644 index 000000000..88b58175c --- /dev/null +++ b/packages/spec/json-schema/README.md @@ -0,0 +1,127 @@ +# JSON Schema Directory + +This directory contains auto-generated JSON schemas for all ObjectStack protocols, organized by category. + +## Directory Structure + +The schemas are organized into the following categories matching the protocol structure: + +``` +json-schema/ +├── data/ # Data Protocol - Business Logic & Data Modeling (74 schemas) +├── ui/ # UI Protocol - Presentation & Interaction (39 schemas) +├── system/ # System Protocol - Runtime Configuration & Security (112 schemas) +├── ai/ # AI Protocol - AI/ML Capabilities (86 schemas) +└── api/ # API Protocol - API Contracts & Envelopes (12 schemas) +``` + +## Categories + +### 📊 Data Protocol (`data/`) +Core business logic and data modeling schemas: +- Object, Field, Validation +- Query (AST), Mapping (ETL) +- Permission, Sharing, Flow, Workflow + +**Example schemas:** `Field.json`, `Object.json`, `Query.json`, `ValidationRule.json` + +### 🎨 UI Protocol (`ui/`) +Presentation and interaction schemas: +- App, Page, View (Grid/Kanban/Calendar/Gantt) +- Dashboard (Widgets), Report +- Action (Triggers), Theme + +**Example schemas:** `App.json`, `View.json`, `Dashboard.json`, `Theme.json` + +### ⚙️ System Protocol (`system/`) +Runtime configuration and security schemas: +- Manifest (Config), Datasource, Driver +- Role (Hierarchy), Identity (Auth) +- Webhook (Integration), Policy (Compliance) +- Plugin Architecture, Audit, Tenant Management + +**Example schemas:** `Manifest.json`, `AuthConfig.json`, `Datasource.json`, `AuditEvent.json` + +### 🤖 AI Protocol (`ai/`) +AI/ML capabilities schemas: +- Agent Configuration +- Model Registry & Selection +- RAG Pipeline, NLQ (Natural Language Query) +- Workflow Automation, Predictive Analytics +- Conversation Memory & Token Management +- Cost Tracking & Budget Management + +**Example schemas:** `Agent.json`, `ModelRegistry.json`, `RAGPipelineConfig.json`, `NLQRequest.json` + +### 🔌 API Protocol (`api/`) +API contracts and envelopes: +- Request/Response schemas +- Error handling +- Bulk operations + +**Example schemas:** `ApiEndpoint.json`, `BaseResponse.json`, `BulkRequest.json` + +## Generation + +These schemas are automatically generated from Zod schemas during the build process: + +```bash +npm run gen:schema +``` + +The generation script is located at `scripts/build-schemas.ts`. + +## Usage + +### In TypeScript/JavaScript Projects + +You can reference these JSON schemas for validation, documentation, or IDE support: + +```typescript +import fieldSchema from '@objectstack/spec/json-schema/data/Field.json'; +``` + +### In JSON Schema Tools + +Use these schemas with any JSON Schema validator or documentation generator: + +```bash +ajv validate -s json-schema/data/Field.json -d myfield.json +``` + +### In IDEs + +Many IDEs support JSON schema validation. You can reference these schemas in your configuration files: + +```json +{ + "$schema": "./node_modules/@objectstack/spec/json-schema/data/Object.json" +} +``` + +## Schema Format + +All schemas are generated with: +- **Format:** JSON Schema Draft 7 +- **Strategy:** Self-contained (no external `$ref`s) +- **Naming:** PascalCase matching the TypeScript type names + +## Conventions + +- **Configuration Keys (Properties):** `camelCase` (e.g., `maxLength`, `referenceFilters`) +- **Machine Names (Data Values):** `snake_case` (e.g., `name: 'first_name'`, `object: 'project_task'`) + +## Contributing + +Do not manually edit these files. They are auto-generated from the Zod schemas in `src/`. + +To update schemas: +1. Edit the corresponding `.zod.ts` file in `src/{category}/` +2. Run `npm run gen:schema` +3. Commit both the Zod source and generated JSON schemas + +--- + +**Total Schemas:** 325 (as of latest build) + +For more information, see the main [README](../README.md).