@objectstack/spec 0.6.1 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/agent-action.zod.d.ts +2231 -0
- package/dist/ai/agent-action.zod.d.ts.map +1 -0
- package/dist/ai/agent-action.zod.js +401 -0
- package/dist/ai/agent.zod.d.ts +8 -8
- package/dist/ai/conversation.zod.d.ts +100 -66
- package/dist/ai/conversation.zod.d.ts.map +1 -1
- package/dist/ai/conversation.zod.js +5 -5
- package/dist/ai/cost.zod.d.ts +279 -207
- package/dist/ai/cost.zod.d.ts.map +1 -1
- package/dist/ai/cost.zod.js +25 -1
- package/dist/ai/index.d.ts +1 -0
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +1 -0
- package/dist/ai/model-registry.zod.d.ts +131 -131
- package/dist/ai/nlq.zod.d.ts +72 -45
- package/dist/ai/nlq.zod.d.ts.map +1 -1
- package/dist/ai/nlq.zod.js +4 -0
- package/dist/ai/orchestration.zod.d.ts +69 -43
- package/dist/ai/orchestration.zod.d.ts.map +1 -1
- package/dist/ai/orchestration.zod.js +3 -0
- package/dist/ai/predictive.zod.d.ts +88 -62
- package/dist/ai/predictive.zod.d.ts.map +1 -1
- package/dist/ai/predictive.zod.js +3 -0
- package/dist/ai/rag-pipeline.zod.d.ts +98 -72
- package/dist/ai/rag-pipeline.zod.d.ts.map +1 -1
- package/dist/ai/rag-pipeline.zod.js +4 -1
- package/dist/api/batch.zod.d.ts +1029 -0
- package/dist/api/batch.zod.d.ts.map +1 -0
- package/dist/api/batch.zod.js +196 -0
- package/dist/api/contract.zod.d.ts +96 -0
- package/dist/api/contract.zod.d.ts.map +1 -1
- package/dist/api/discovery.zod.d.ts +16 -16
- package/dist/api/endpoint.zod.d.ts +29 -28
- package/dist/api/endpoint.zod.d.ts.map +1 -1
- package/dist/api/endpoint.zod.js +4 -7
- package/dist/api/errors.zod.d.ts +364 -0
- package/dist/api/errors.zod.d.ts.map +1 -0
- package/dist/api/errors.zod.js +296 -0
- package/dist/api/graphql.zod.d.ts +5727 -0
- package/dist/api/graphql.zod.d.ts.map +1 -0
- package/dist/api/graphql.zod.js +724 -0
- package/dist/api/http-cache.zod.d.ts +439 -0
- package/dist/api/http-cache.zod.d.ts.map +1 -0
- package/dist/api/http-cache.zod.js +219 -0
- package/dist/api/index.d.ts +11 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +13 -1
- package/dist/api/odata.zod.d.ts +4 -4
- package/dist/api/protocol.zod.d.ts +9375 -0
- package/dist/api/protocol.zod.d.ts.map +1 -0
- package/dist/api/protocol.zod.js +376 -0
- package/dist/api/realtime.zod.d.ts +2 -2
- package/dist/api/rest-server.zod.d.ts +2330 -0
- package/dist/api/rest-server.zod.d.ts.map +1 -0
- package/dist/api/rest-server.zod.js +424 -0
- package/dist/api/router.zod.d.ts +39 -32
- package/dist/api/router.zod.d.ts.map +1 -1
- package/dist/api/router.zod.js +5 -23
- package/dist/api/view-storage.zod.d.ts +8220 -0
- package/dist/api/view-storage.zod.d.ts.map +1 -0
- package/dist/api/view-storage.zod.js +243 -0
- package/dist/api/websocket.zod.d.ts +1740 -0
- package/dist/api/websocket.zod.d.ts.map +1 -0
- package/dist/api/websocket.zod.js +470 -0
- package/dist/auth/config.zod.d.ts +655 -304
- package/dist/auth/config.zod.d.ts.map +1 -1
- package/dist/auth/config.zod.js +149 -7
- package/dist/auth/identity.zod.d.ts +9 -9
- package/dist/auth/organization.zod.d.ts +6 -6
- package/dist/auth/policy.zod.d.ts +3 -3
- package/dist/auth/scim.zod.d.ts +83 -83
- package/dist/automation/approval.zod.d.ts +18 -18
- package/dist/automation/etl.zod.d.ts +53 -23
- package/dist/automation/etl.zod.d.ts.map +1 -1
- package/dist/automation/etl.zod.js +31 -1
- package/dist/automation/flow.zod.d.ts +26 -26
- package/dist/automation/index.d.ts +1 -1
- package/dist/automation/index.d.ts.map +1 -1
- package/dist/automation/index.js +1 -1
- package/dist/automation/sync.zod.d.ts +381 -166
- package/dist/automation/sync.zod.d.ts.map +1 -1
- package/dist/automation/sync.zod.js +38 -31
- package/dist/automation/{connector.zod.d.ts → trigger-registry.zod.d.ts} +77 -62
- package/dist/automation/trigger-registry.zod.d.ts.map +1 -0
- package/dist/automation/{connector.zod.js → trigger-registry.zod.js} +36 -21
- package/dist/automation/webhook.zod.d.ts +106 -19
- package/dist/automation/webhook.zod.d.ts.map +1 -1
- package/dist/automation/webhook.zod.js +58 -13
- package/dist/automation/workflow.zod.d.ts +1089 -265
- package/dist/automation/workflow.zod.d.ts.map +1 -1
- package/dist/automation/workflow.zod.js +3 -6
- package/dist/contracts/data-engine.d.ts +61 -0
- package/dist/contracts/data-engine.d.ts.map +1 -0
- package/dist/contracts/data-engine.js +2 -0
- package/dist/contracts/http-server.d.ts +119 -0
- package/dist/contracts/http-server.d.ts.map +1 -0
- package/dist/contracts/http-server.js +12 -0
- package/dist/contracts/index.d.ts +14 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +29 -0
- package/dist/contracts/logger.d.ts +63 -0
- package/dist/contracts/logger.d.ts.map +1 -0
- package/dist/contracts/logger.js +2 -0
- package/dist/contracts/plugin-lifecycle-events.d.ts +150 -0
- package/dist/contracts/plugin-lifecycle-events.d.ts.map +1 -0
- package/dist/contracts/plugin-lifecycle-events.js +10 -0
- package/dist/contracts/plugin-validator.d.ts +106 -0
- package/dist/contracts/plugin-validator.d.ts.map +1 -0
- package/dist/contracts/plugin-validator.js +8 -0
- package/dist/contracts/service-registry.d.ts +94 -0
- package/dist/contracts/service-registry.d.ts.map +1 -0
- package/dist/contracts/service-registry.js +11 -0
- package/dist/contracts/startup-orchestrator.d.ts +122 -0
- package/dist/contracts/startup-orchestrator.d.ts.map +1 -0
- package/dist/contracts/startup-orchestrator.js +2 -0
- package/dist/data/data-engine.zod.d.ts +2636 -0
- package/dist/data/data-engine.zod.d.ts.map +1 -0
- package/dist/data/data-engine.zod.js +282 -0
- package/dist/data/document.zod.d.ts +746 -0
- package/dist/data/document.zod.d.ts.map +1 -0
- package/dist/data/document.zod.js +326 -0
- package/dist/data/driver/mongo.zod.d.ts +82 -0
- package/dist/data/driver/mongo.zod.d.ts.map +1 -0
- package/dist/data/driver/mongo.zod.js +68 -0
- package/dist/{system → data}/driver/postgres.zod.d.ts +4 -4
- package/dist/data/driver/postgres.zod.d.ts.map +1 -0
- package/dist/data/driver-nosql.zod.d.ts +1008 -0
- package/dist/data/driver-nosql.zod.d.ts.map +1 -0
- package/dist/data/driver-nosql.zod.js +417 -0
- package/dist/data/driver-sql.zod.d.ts +652 -0
- package/dist/data/driver-sql.zod.d.ts.map +1 -0
- package/dist/data/driver-sql.zod.js +150 -0
- package/dist/{system → data}/driver.zod.d.ts +1538 -249
- package/dist/data/driver.zod.d.ts.map +1 -0
- package/dist/{system → data}/driver.zod.js +137 -13
- package/dist/data/external-lookup.zod.d.ts +662 -0
- package/dist/data/external-lookup.zod.d.ts.map +1 -0
- package/dist/data/external-lookup.zod.js +223 -0
- package/dist/data/field.zod.d.ts +3896 -107
- package/dist/data/field.zod.d.ts.map +1 -1
- package/dist/data/field.zod.js +161 -2
- package/dist/data/hook.zod.d.ts +4 -4
- package/dist/data/index.d.ts +7 -0
- package/dist/data/index.d.ts.map +1 -1
- package/dist/data/index.js +9 -0
- package/dist/data/mapping.zod.d.ts +85 -17
- package/dist/data/mapping.zod.d.ts.map +1 -1
- package/dist/data/object.zod.d.ts +2117 -77
- package/dist/data/object.zod.d.ts.map +1 -1
- package/dist/data/object.zod.js +128 -15
- package/dist/data/query.zod.d.ts +112 -0
- package/dist/data/query.zod.d.ts.map +1 -1
- package/dist/data/query.zod.js +47 -1
- package/dist/data/validation.zod.d.ts +2 -2
- package/dist/hub/composer.zod.d.ts +868 -68
- package/dist/hub/composer.zod.d.ts.map +1 -1
- package/dist/hub/index.d.ts +1 -0
- package/dist/hub/index.d.ts.map +1 -1
- package/dist/hub/index.js +1 -0
- package/dist/hub/license.zod.d.ts +2 -2
- package/dist/hub/marketplace.zod.d.ts +2 -2
- package/dist/hub/plugin-registry.zod.d.ts +1681 -0
- package/dist/hub/plugin-registry.zod.d.ts.map +1 -0
- package/dist/hub/plugin-registry.zod.js +350 -0
- package/dist/hub/space.zod.d.ts +19 -19
- package/dist/hub/tenant.zod.d.ts +44 -44
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -1
- package/dist/integration/connector/database.zod.d.ts +1666 -0
- package/dist/integration/connector/database.zod.d.ts.map +1 -0
- package/dist/integration/connector/database.zod.js +303 -0
- package/dist/integration/connector/file-storage.zod.d.ts +1386 -0
- package/dist/integration/connector/file-storage.zod.d.ts.map +1 -0
- package/dist/integration/connector/file-storage.zod.js +346 -0
- package/dist/integration/connector/message-queue.zod.d.ts +1729 -0
- package/dist/integration/connector/message-queue.zod.d.ts.map +1 -0
- package/dist/integration/connector/message-queue.zod.js +428 -0
- package/dist/integration/connector/saas.zod.d.ts +1440 -0
- package/dist/integration/connector/saas.zod.d.ts.map +1 -0
- package/dist/integration/connector/saas.zod.js +224 -0
- package/dist/integration/connector.zod.d.ts +1571 -0
- package/dist/integration/connector.zod.d.ts.map +1 -0
- package/dist/integration/connector.zod.js +426 -0
- package/dist/integration/index.d.ts +15 -0
- package/dist/integration/index.d.ts.map +1 -0
- package/dist/integration/index.js +32 -0
- package/dist/permission/permission.zod.d.ts +140 -6
- package/dist/permission/permission.zod.d.ts.map +1 -1
- package/dist/permission/permission.zod.js +48 -0
- package/dist/permission/rls.zod.d.ts +8 -8
- package/dist/permission/sharing.zod.d.ts +14 -14
- package/dist/shared/http.zod.d.ts +140 -0
- package/dist/shared/http.zod.d.ts.map +1 -0
- package/dist/shared/http.zod.js +133 -0
- package/dist/shared/index.d.ts +2 -0
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +2 -0
- package/dist/shared/mapping.zod.d.ts +226 -0
- package/dist/shared/mapping.zod.d.ts.map +1 -0
- package/dist/shared/mapping.zod.js +103 -0
- package/dist/stack.zod.d.ts +9222 -1785
- package/dist/stack.zod.d.ts.map +1 -1
- package/dist/system/audit.zod.d.ts +35 -35
- package/dist/system/cache.zod.d.ts +151 -0
- package/dist/system/cache.zod.d.ts.map +1 -0
- package/dist/system/cache.zod.js +57 -0
- package/dist/system/change-management.zod.d.ts +626 -0
- package/dist/system/change-management.zod.d.ts.map +1 -0
- package/dist/system/change-management.zod.js +329 -0
- package/dist/system/collaboration.zod.d.ts +2099 -0
- package/dist/system/collaboration.zod.d.ts.map +1 -0
- package/dist/system/collaboration.zod.js +392 -0
- package/dist/system/compliance.zod.d.ts +366 -0
- package/dist/system/compliance.zod.d.ts.map +1 -0
- package/dist/system/compliance.zod.js +70 -0
- package/dist/system/context.zod.d.ts +5 -5
- package/dist/system/encryption.zod.d.ts +227 -0
- package/dist/system/encryption.zod.d.ts.map +1 -0
- package/dist/system/encryption.zod.js +43 -0
- package/dist/system/feature.zod.d.ts +12 -12
- package/dist/system/http-server.zod.d.ts +735 -0
- package/dist/system/http-server.zod.d.ts.map +1 -0
- package/dist/system/http-server.zod.js +300 -0
- package/dist/system/index.d.ts +20 -6
- package/dist/system/index.d.ts.map +1 -1
- package/dist/system/index.js +32 -7
- package/dist/system/job.zod.d.ts +2 -2
- package/dist/system/logging.zod.d.ts +2186 -0
- package/dist/system/logging.zod.d.ts.map +1 -0
- package/dist/system/logging.zod.js +564 -0
- package/dist/system/manifest.zod.d.ts +659 -14
- package/dist/system/manifest.zod.d.ts.map +1 -1
- package/dist/system/manifest.zod.js +8 -0
- package/dist/system/masking.zod.d.ts +87 -0
- package/dist/system/masking.zod.d.ts.map +1 -0
- package/dist/system/masking.zod.js +30 -0
- package/dist/system/message-queue.zod.d.ts +177 -0
- package/dist/system/message-queue.zod.d.ts.map +1 -0
- package/dist/system/message-queue.zod.js +46 -0
- package/dist/system/metadata-loader.zod.d.ts +641 -0
- package/dist/system/metadata-loader.zod.d.ts.map +1 -0
- package/dist/system/metadata-loader.zod.js +373 -0
- package/dist/system/metrics.zod.d.ts +1965 -0
- package/dist/system/metrics.zod.d.ts.map +1 -0
- package/dist/system/metrics.zod.js +585 -0
- package/dist/system/notification.zod.d.ts +725 -0
- package/dist/system/notification.zod.d.ts.map +1 -0
- package/dist/system/notification.zod.js +335 -0
- package/dist/system/object-storage.zod.d.ts +1722 -0
- package/dist/system/object-storage.zod.d.ts.map +1 -0
- package/dist/system/object-storage.zod.js +591 -0
- package/dist/system/plugin-capability.zod.d.ts +1130 -0
- package/dist/system/plugin-capability.zod.d.ts.map +1 -0
- package/dist/system/plugin-capability.zod.js +271 -0
- package/dist/system/plugin-lifecycle-events.zod.d.ts +382 -0
- package/dist/system/plugin-lifecycle-events.zod.d.ts.map +1 -0
- package/dist/system/plugin-lifecycle-events.zod.js +284 -0
- package/dist/system/plugin-validator.zod.d.ts +245 -0
- package/dist/system/plugin-validator.zod.d.ts.map +1 -0
- package/dist/system/plugin-validator.zod.js +136 -0
- package/dist/system/plugin.zod.d.ts +86 -86
- package/dist/system/search-engine.zod.d.ts +256 -0
- package/dist/system/search-engine.zod.d.ts.map +1 -0
- package/dist/system/search-engine.zod.js +50 -0
- package/dist/system/service-registry.zod.d.ts +247 -0
- package/dist/system/service-registry.zod.d.ts.map +1 -0
- package/dist/system/service-registry.zod.js +218 -0
- package/dist/system/startup-orchestrator.zod.d.ts +376 -0
- package/dist/system/startup-orchestrator.zod.d.ts.map +1 -0
- package/dist/system/startup-orchestrator.zod.js +171 -0
- package/dist/system/tracing.zod.d.ts +1881 -0
- package/dist/system/tracing.zod.d.ts.map +1 -0
- package/dist/system/tracing.zod.js +567 -0
- package/dist/ui/action.zod.d.ts +10 -10
- package/dist/ui/app.zod.d.ts +6 -6
- package/dist/ui/chart.zod.d.ts +41 -0
- package/dist/ui/chart.zod.d.ts.map +1 -0
- package/dist/ui/chart.zod.js +66 -0
- package/dist/ui/component.zod.d.ts +2 -2
- package/dist/ui/dashboard.zod.d.ts +108 -18
- package/dist/ui/dashboard.zod.d.ts.map +1 -1
- package/dist/ui/dashboard.zod.js +5 -25
- package/dist/ui/index.d.ts +3 -1
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +3 -1
- package/dist/ui/page.zod.d.ts +2 -2
- package/dist/ui/page.zod.js +1 -1
- package/dist/ui/report.zod.d.ts +62 -12
- package/dist/ui/report.zod.d.ts.map +1 -1
- package/dist/ui/report.zod.js +5 -5
- package/dist/ui/theme.zod.d.ts +6 -6
- package/dist/ui/view.zod.d.ts +316 -316
- package/dist/ui/widget.zod.d.ts +825 -31
- package/dist/ui/widget.zod.d.ts.map +1 -1
- package/json-schema/ai/AIOperationCost.json +79 -0
- package/json-schema/ai/AIOrchestrationExecutionResult.json +32 -0
- package/json-schema/ai/AgentAction.json +436 -0
- package/json-schema/ai/AgentActionResult.json +69 -0
- package/json-schema/ai/AgentActionSequence.json +492 -0
- package/json-schema/ai/AgentActionSequenceResult.json +143 -0
- package/json-schema/ai/ComponentActionParams.json +77 -0
- package/json-schema/ai/ComponentActionType.json +20 -0
- package/json-schema/ai/ConversationMessage.json +12 -2
- package/json-schema/ai/ConversationSession.json +44 -2
- package/json-schema/ai/DataActionParams.json +38 -0
- package/json-schema/ai/DataActionType.json +18 -0
- package/json-schema/ai/FormActionParams.json +36 -0
- package/json-schema/ai/FormActionType.json +20 -0
- package/json-schema/ai/IntentActionMapping.json +491 -0
- package/json-schema/ai/NLQResponse.json +32 -0
- package/json-schema/ai/NavigationActionParams.json +56 -0
- package/json-schema/ai/NavigationActionType.json +21 -0
- package/json-schema/ai/PredictionResult.json +32 -0
- package/json-schema/ai/RAGQueryResponse.json +34 -1
- package/json-schema/ai/TokenUsage.json +32 -0
- package/json-schema/ai/UIActionType.json +63 -0
- package/json-schema/ai/ViewActionParams.json +74 -0
- package/json-schema/ai/ViewActionType.json +21 -0
- package/json-schema/ai/WorkflowActionParams.json +61 -0
- package/json-schema/ai/WorkflowActionType.json +18 -0
- package/json-schema/api/AckMessage.json +46 -0
- package/json-schema/api/ApiEndpoint.json +4 -3
- package/json-schema/api/BatchDataRequest.json +93 -0
- package/json-schema/api/BatchDataResponse.json +144 -0
- package/json-schema/api/BatchEndpointsConfig.json +56 -0
- package/json-schema/api/BatchOperationResult.json +57 -0
- package/json-schema/api/BatchOperationType.json +15 -0
- package/json-schema/api/BatchOptions.json +32 -0
- package/json-schema/api/BatchRecord.json +25 -0
- package/json-schema/api/BatchUpdateRequest.json +78 -0
- package/json-schema/api/BatchUpdateResponse.json +144 -0
- package/json-schema/api/CacheControl.json +42 -0
- package/json-schema/api/CacheDirective.json +17 -0
- package/json-schema/api/CacheInvalidationRequest.json +43 -0
- package/json-schema/api/CacheInvalidationResponse.json +31 -0
- package/json-schema/api/CacheInvalidationTarget.json +17 -0
- package/json-schema/api/CreateDataRequest.json +25 -0
- package/json-schema/api/CreateDataResponse.json +30 -0
- package/json-schema/api/CreateManyDataRequest.json +28 -0
- package/json-schema/api/CreateManyDataResponse.json +33 -0
- package/json-schema/api/CreateViewRequest.json +1042 -0
- package/json-schema/api/CrudEndpointPattern.json +41 -0
- package/json-schema/api/CrudEndpointsConfig.json +106 -0
- package/json-schema/api/CrudOperation.json +16 -0
- package/json-schema/api/CursorMessage.json +139 -0
- package/json-schema/api/CursorPosition.json +112 -0
- package/json-schema/api/DeleteDataRequest.json +24 -0
- package/json-schema/api/DeleteDataResponse.json +29 -0
- package/json-schema/api/DeleteManyDataRequest.json +54 -0
- package/json-schema/api/DeleteManyDataResponse.json +144 -0
- package/json-schema/api/DeleteManyRequest.json +51 -0
- package/json-schema/api/DeleteViewRequest.json +19 -0
- package/json-schema/api/DeleteViewResponse.json +19 -0
- package/json-schema/api/DocumentState.json +49 -0
- package/json-schema/api/ETag.json +24 -0
- package/json-schema/api/EditMessage.json +135 -0
- package/json-schema/api/EditOperation.json +108 -0
- package/json-schema/api/EditOperationType.json +14 -0
- package/json-schema/api/EndpointRegistry.json +284 -0
- package/json-schema/api/EnhancedApiError.json +226 -0
- package/json-schema/api/ErrorCategory.json +20 -0
- package/json-schema/api/ErrorMessage.json +44 -0
- package/json-schema/api/ErrorResponse.json +259 -0
- package/json-schema/api/EventFilter.json +65 -0
- package/json-schema/api/EventFilterCondition.json +42 -0
- package/json-schema/api/EventMessage.json +55 -0
- package/json-schema/api/EventPattern.json +12 -0
- package/json-schema/api/EventSubscription.json +105 -0
- package/json-schema/api/ExportRequest.json +110 -0
- package/json-schema/api/FieldError.json +88 -0
- package/json-schema/api/FilterOperator.json +24 -0
- package/json-schema/api/FindDataRequest.json +509 -0
- package/json-schema/api/FindDataResponse.json +36 -0
- package/json-schema/api/GeneratedEndpoint.json +88 -0
- package/json-schema/api/GetDataRequest.json +24 -0
- package/json-schema/api/GetDataResponse.json +30 -0
- package/json-schema/api/GetDiscoveryRequest.json +11 -0
- package/json-schema/api/GetDiscoveryResponse.json +38 -0
- package/json-schema/api/GetMetaItemCachedRequest.json +77 -0
- package/json-schema/api/GetMetaItemCachedResponse.json +85 -0
- package/json-schema/api/GetMetaItemRequest.json +24 -0
- package/json-schema/api/GetMetaItemResponse.json +27 -0
- package/json-schema/api/GetMetaItemsRequest.json +19 -0
- package/json-schema/api/GetMetaItemsResponse.json +24 -0
- package/json-schema/api/GetMetaTypesRequest.json +11 -0
- package/json-schema/api/GetMetaTypesResponse.json +22 -0
- package/json-schema/api/GetUiViewRequest.json +28 -0
- package/json-schema/api/GetUiViewResponse.json +31 -0
- package/json-schema/api/GetViewRequest.json +19 -0
- package/json-schema/api/GetViewResponse.json +1103 -0
- package/json-schema/api/GraphQLConfig.json +1389 -0
- package/json-schema/api/GraphQLDataLoaderConfig.json +101 -0
- package/json-schema/api/GraphQLDirectiveConfig.json +108 -0
- package/json-schema/api/GraphQLDirectiveLocation.json +30 -0
- package/json-schema/api/GraphQLMutationConfig.json +180 -0
- package/json-schema/api/GraphQLPersistedQuery.json +151 -0
- package/json-schema/api/GraphQLQueryComplexity.json +83 -0
- package/json-schema/api/GraphQLQueryConfig.json +231 -0
- package/json-schema/api/GraphQLQueryDepthLimit.json +44 -0
- package/json-schema/api/GraphQLRateLimit.json +138 -0
- package/json-schema/api/GraphQLResolverConfig.json +98 -0
- package/json-schema/api/GraphQLScalarType.json +32 -0
- package/json-schema/api/GraphQLSubscriptionConfig.json +118 -0
- package/json-schema/api/GraphQLTypeConfig.json +113 -0
- package/json-schema/api/ListViewsRequest.json +58 -0
- package/json-schema/api/ListViewsResponse.json +1132 -0
- package/json-schema/api/MetadataCacheRequest.json +58 -0
- package/json-schema/api/MetadataCacheResponse.json +85 -0
- package/json-schema/api/MetadataEndpointsConfig.json +54 -0
- package/json-schema/api/ObjectStackProtocol.json +11 -0
- package/json-schema/api/PingMessage.json +31 -0
- package/json-schema/api/PongMessage.json +36 -0
- package/json-schema/api/PresenceMessage.json +92 -0
- package/json-schema/api/PresenceState.json +65 -0
- package/json-schema/api/PresenceUpdate.json +35 -0
- package/json-schema/api/RateLimit.json +4 -3
- package/json-schema/api/RestApiConfig.json +127 -0
- package/json-schema/api/RestServerConfig.json +401 -0
- package/json-schema/api/RetryStrategy.json +15 -0
- package/json-schema/api/RouteGenerationConfig.json +71 -0
- package/json-schema/api/RouterConfig.json +22 -9
- package/json-schema/api/SavedView.json +1074 -0
- package/json-schema/api/SimpleCursorPosition.json +53 -0
- package/json-schema/api/SimplePresenceState.json +44 -0
- package/json-schema/api/StandardErrorCode.json +62 -0
- package/json-schema/api/SubscribeMessage.json +132 -0
- package/json-schema/api/UnsubscribeMessage.json +47 -0
- package/json-schema/api/UnsubscribeRequest.json +20 -0
- package/json-schema/api/UpdateDataRequest.json +30 -0
- package/json-schema/api/UpdateDataResponse.json +30 -0
- package/json-schema/api/UpdateManyDataRequest.json +70 -0
- package/json-schema/api/UpdateManyDataResponse.json +144 -0
- package/json-schema/api/UpdateManyRequest.json +67 -0
- package/json-schema/api/UpdateViewRequest.json +1041 -0
- package/json-schema/api/ViewColumn.json +58 -0
- package/json-schema/api/ViewLayout.json +125 -0
- package/json-schema/api/ViewResponse.json +1103 -0
- package/json-schema/api/ViewType.json +19 -0
- package/json-schema/api/ViewVisibility.json +15 -0
- package/json-schema/api/WebSocketConfig.json +63 -0
- package/json-schema/api/WebSocketEvent.json +40 -0
- package/json-schema/api/WebSocketMessage.json +707 -0
- package/json-schema/api/WebSocketMessageType.json +21 -0
- package/json-schema/api/WebSocketPresenceStatus.json +15 -0
- package/json-schema/api/WebSocketServerConfig.json +42 -0
- package/json-schema/auth/APIKey.json +34 -0
- package/json-schema/auth/ApplicationAuthConfig.json +841 -0
- package/json-schema/auth/AuthConfig.json +158 -730
- package/json-schema/auth/BasicAuth.json +30 -0
- package/json-schema/auth/BearerAuth.json +25 -0
- package/json-schema/auth/JWTAuth.json +66 -0
- package/json-schema/auth/NoAuth.json +20 -0
- package/json-schema/auth/OAuth2.json +62 -0
- package/json-schema/auth/SAMLAuth.json +64 -0
- package/json-schema/automation/DataDestinationConfig.json +120 -14
- package/json-schema/automation/DataSyncConfig.json +120 -14
- package/json-schema/automation/TimeTrigger.json +166 -31
- package/json-schema/automation/Webhook.json +99 -16
- package/json-schema/automation/WebhookTriggerAction.json +166 -31
- package/json-schema/automation/WorkflowAction.json +166 -31
- package/json-schema/automation/WorkflowRule.json +332 -62
- package/json-schema/data/AggregationPipeline.json +99 -0
- package/json-schema/data/AggregationStage.json +25 -0
- package/json-schema/data/ApiMethod.json +25 -0
- package/json-schema/data/CDCConfig.json +37 -0
- package/json-schema/data/ComputedFieldCache.json +33 -0
- package/json-schema/data/ConsistencyLevel.json +17 -0
- package/json-schema/data/DataEngineAggregateOptions.json +80 -0
- package/json-schema/data/DataEngineAggregateRequest.json +98 -0
- package/json-schema/data/DataEngineBatchRequest.json +699 -0
- package/json-schema/data/DataEngineContract.json +12 -0
- package/json-schema/data/DataEngineCountOptions.json +44 -0
- package/json-schema/data/DataEngineCountRequest.json +61 -0
- package/json-schema/data/DataEngineDeleteOptions.json +48 -0
- package/json-schema/data/DataEngineDeleteRequest.json +68 -0
- package/json-schema/data/DataEngineExecuteRequest.json +24 -0
- package/json-schema/data/DataEngineFilter.json +37 -0
- package/json-schema/data/DataEngineFindOneRequest.json +133 -0
- package/json-schema/data/DataEngineFindRequest.json +133 -0
- package/json-schema/data/DataEngineInsertOptions.json +17 -0
- package/json-schema/data/DataEngineInsertRequest.json +50 -0
- package/json-schema/data/DataEngineQueryOptions.json +116 -0
- package/json-schema/data/DataEngineRequest.json +1372 -0
- package/json-schema/data/DataEngineSort.json +54 -0
- package/json-schema/data/DataEngineUpdateOptions.json +56 -0
- package/json-schema/data/DataEngineUpdateRequest.json +81 -0
- package/json-schema/data/DataEngineVectorFindRequest.json +74 -0
- package/json-schema/data/DataQualityRules.json +45 -0
- package/json-schema/data/DataTypeMapping.json +51 -0
- package/json-schema/data/Document.json +292 -0
- package/json-schema/data/DocumentTemplate.json +78 -0
- package/json-schema/data/DocumentValidationSchema.json +39 -0
- package/json-schema/data/DocumentVersion.json +50 -0
- package/json-schema/data/DriverCapabilities.json +180 -0
- package/json-schema/data/DriverConfig.json +243 -0
- package/json-schema/data/DriverInterface.json +199 -0
- package/json-schema/data/ESignatureConfig.json +74 -0
- package/json-schema/data/ExternalDataSource.json +68 -0
- package/json-schema/data/ExternalFieldMapping.json +151 -0
- package/json-schema/data/ExternalLookup.json +327 -0
- package/json-schema/data/Field.json +435 -1
- package/json-schema/data/FieldMapping.json +83 -0
- package/json-schema/data/FileAttachmentConfig.json +219 -0
- package/json-schema/data/FullTextSearch.json +60 -0
- package/json-schema/data/Index.json +14 -7
- package/json-schema/data/JoinNode.json +55 -0
- package/json-schema/data/Mapping.json +639 -0
- package/json-schema/data/NoSQLDataTypeMapping.json +63 -0
- package/json-schema/data/NoSQLDatabaseType.json +19 -0
- package/json-schema/data/NoSQLDriverConfig.json +452 -0
- package/json-schema/data/NoSQLIndex.json +87 -0
- package/json-schema/data/NoSQLIndexType.json +19 -0
- package/json-schema/data/NoSQLOperationType.json +22 -0
- package/json-schema/data/NoSQLQueryOptions.json +61 -0
- package/json-schema/data/NoSQLTransactionOptions.json +47 -0
- package/json-schema/data/Object.json +606 -8
- package/json-schema/data/PartitioningConfig.json +38 -0
- package/json-schema/data/PoolConfig.json +36 -0
- package/json-schema/data/Query.json +55 -0
- package/json-schema/data/ReplicationConfig.json +46 -0
- package/json-schema/data/SQLDialect.json +17 -0
- package/json-schema/data/SQLDriverConfig.json +325 -0
- package/json-schema/data/SSLConfig.json +29 -0
- package/json-schema/data/ShardingConfig.json +35 -0
- package/json-schema/data/SoftDeleteConfig.json +29 -0
- package/json-schema/data/TenancyConfig.json +39 -0
- package/json-schema/data/TransformType.json +18 -0
- package/json-schema/data/VersioningConfig.json +39 -0
- package/json-schema/hub/ComposerResponse.json +405 -0
- package/json-schema/hub/PluginInstallConfig.json +53 -0
- package/json-schema/hub/PluginQualityMetrics.json +101 -0
- package/json-schema/hub/PluginRegistryEntry.json +833 -0
- package/json-schema/hub/PluginSearchFilters.json +91 -0
- package/json-schema/hub/PluginStatistics.json +84 -0
- package/json-schema/hub/PluginVendor.json +47 -0
- package/json-schema/integration/AckMode.json +15 -0
- package/json-schema/integration/ApiVersionConfig.json +32 -0
- package/json-schema/integration/Authentication.json +269 -0
- package/json-schema/integration/CdcConfig.json +55 -0
- package/json-schema/integration/ConflictResolution.json +16 -0
- package/json-schema/integration/Connector.json +919 -0
- package/json-schema/integration/ConnectorStatus.json +16 -0
- package/json-schema/integration/ConnectorType.json +18 -0
- package/json-schema/integration/ConsumerConfig.json +67 -0
- package/json-schema/integration/DataSyncConfig.json +79 -0
- package/json-schema/integration/DatabaseConnector.json +1372 -0
- package/json-schema/integration/DatabasePoolConfig.json +53 -0
- package/json-schema/integration/DatabaseProvider.json +24 -0
- package/json-schema/integration/DatabaseTable.json +216 -0
- package/json-schema/integration/DeliveryGuarantee.json +15 -0
- package/json-schema/integration/DlqConfig.json +37 -0
- package/json-schema/integration/FieldMapping.json +170 -0
- package/json-schema/integration/FieldTransform.json +36 -0
- package/json-schema/integration/FileAccessPattern.json +17 -0
- package/json-schema/integration/FileFilterConfig.json +50 -0
- package/json-schema/integration/FileMetadataConfig.json +41 -0
- package/json-schema/integration/FileStorageConnector.json +1240 -0
- package/json-schema/integration/FileStorageProvider.json +23 -0
- package/json-schema/integration/FileVersioningConfig.json +28 -0
- package/json-schema/integration/MessageFormat.json +18 -0
- package/json-schema/integration/MessageQueueConnector.json +1325 -0
- package/json-schema/integration/MessageQueueProvider.json +25 -0
- package/json-schema/integration/MultipartUploadConfig.json +36 -0
- package/json-schema/integration/ProducerConfig.json +72 -0
- package/json-schema/integration/RateLimitConfig.json +69 -0
- package/json-schema/integration/RateLimitStrategy.json +16 -0
- package/json-schema/integration/RetryConfig.json +73 -0
- package/json-schema/integration/RetryStrategy.json +16 -0
- package/json-schema/integration/SaasConnector.json +1267 -0
- package/json-schema/integration/SaasObjectType.json +218 -0
- package/json-schema/integration/SaasProvider.json +24 -0
- package/json-schema/integration/SslConfig.json +34 -0
- package/json-schema/integration/StorageBucket.json +99 -0
- package/json-schema/integration/SyncStrategy.json +16 -0
- package/json-schema/integration/TopicQueue.json +252 -0
- package/json-schema/integration/WebhookConfig.json +201 -0
- package/json-schema/integration/WebhookEvent.json +20 -0
- package/json-schema/integration/WebhookSignatureAlgorithm.json +15 -0
- package/json-schema/permission/PermissionSet.json +80 -0
- package/json-schema/shared/CorsConfig.json +57 -0
- package/json-schema/shared/FieldMapping.json +142 -0
- package/json-schema/shared/HttpMethod.json +18 -0
- package/json-schema/shared/RateLimitConfig.json +27 -0
- package/json-schema/shared/StaticMount.json +28 -0
- package/json-schema/shared/TransformType.json +120 -0
- package/json-schema/system/AccessControlConfig.json +106 -0
- package/json-schema/system/AnalyzerConfig.json +41 -0
- package/json-schema/system/AuditLogConfig.json +48 -0
- package/json-schema/system/AwarenessEvent.json +51 -0
- package/json-schema/system/AwarenessSession.json +117 -0
- package/json-schema/system/AwarenessUpdate.json +35 -0
- package/json-schema/system/AwarenessUserState.json +77 -0
- package/json-schema/system/BucketConfig.json +332 -0
- package/json-schema/system/CRDTMergeResult.json +295 -0
- package/json-schema/system/CRDTState.json +258 -0
- package/json-schema/system/CRDTType.json +20 -0
- package/json-schema/system/CacheConfig.json +121 -0
- package/json-schema/system/CacheInvalidation.json +43 -0
- package/json-schema/system/CacheStrategy.json +16 -0
- package/json-schema/system/CacheTier.json +52 -0
- package/json-schema/system/CapabilityConformanceLevel.json +16 -0
- package/json-schema/system/ChangeImpact.json +55 -0
- package/json-schema/system/ChangePriority.json +15 -0
- package/json-schema/system/ChangeRequest.json +313 -0
- package/json-schema/system/ChangeStatus.json +21 -0
- package/json-schema/system/ChangeType.json +15 -0
- package/json-schema/system/CollaborationMode.json +15 -0
- package/json-schema/system/CollaborationSession.json +575 -0
- package/json-schema/system/CollaborationSessionConfig.json +86 -0
- package/json-schema/system/CollaborativeCursor.json +189 -0
- package/json-schema/system/ComplianceConfig.json +202 -0
- package/json-schema/system/ConsoleDestinationConfig.json +29 -0
- package/json-schema/system/ConsumerConfig.json +34 -0
- package/json-schema/system/CounterOperation.json +30 -0
- package/json-schema/system/CursorColorPreset.json +21 -0
- package/json-schema/system/CursorSelection.json +66 -0
- package/json-schema/system/CursorStyle.json +59 -0
- package/json-schema/system/CursorUpdate.json +101 -0
- package/json-schema/system/DeadLetterQueue.json +26 -0
- package/json-schema/system/EmailTemplate.json +69 -0
- package/json-schema/system/EncryptionAlgorithm.json +14 -0
- package/json-schema/system/EncryptionConfig.json +93 -0
- package/json-schema/system/EventPhase.json +15 -0
- package/json-schema/system/ExtendedLogLevel.json +18 -0
- package/json-schema/system/ExtensionPoint.json +67 -0
- package/json-schema/system/ExternalServiceDestinationConfig.json +51 -0
- package/json-schema/system/FacetConfig.json +30 -0
- package/json-schema/system/FieldEncryption.json +110 -0
- package/json-schema/system/FileDestinationConfig.json +56 -0
- package/json-schema/system/FileMetadata.json +14 -7
- package/json-schema/system/GCounter.json +28 -0
- package/json-schema/system/GDPRConfig.json +71 -0
- package/json-schema/system/HIPAAConfig.json +45 -0
- package/json-schema/system/HealthStatus.json +33 -0
- package/json-schema/system/HistogramBucketConfig.json +92 -0
- package/json-schema/system/HookRegisteredEvent.json +30 -0
- package/json-schema/system/HookTriggeredEvent.json +34 -0
- package/json-schema/system/HttpDestinationConfig.json +111 -0
- package/json-schema/system/HttpServerConfig.json +156 -0
- package/json-schema/system/InAppNotification.json +48 -0
- package/json-schema/system/KernelEventBase.json +19 -0
- package/json-schema/system/KernelReadyEvent.json +29 -0
- package/json-schema/system/KernelShutdownEvent.json +23 -0
- package/json-schema/system/KeyManagementProvider.json +16 -0
- package/json-schema/system/KeyRotationPolicy.json +29 -0
- package/json-schema/system/LWWRegister.json +51 -0
- package/json-schema/system/LifecycleAction.json +15 -0
- package/json-schema/system/LifecyclePolicyConfig.json +84 -0
- package/json-schema/system/LifecyclePolicyRule.json +68 -0
- package/json-schema/system/LogDestination.json +295 -0
- package/json-schema/system/LogDestinationType.json +26 -0
- package/json-schema/system/LogEnrichmentConfig.json +59 -0
- package/json-schema/system/LoggerConfig.json +4 -0
- package/json-schema/system/LoggingConfig.json +613 -0
- package/json-schema/system/Manifest.json +405 -0
- package/json-schema/system/MaskingConfig.json +77 -0
- package/json-schema/system/MaskingRule.json +57 -0
- package/json-schema/system/MaskingStrategy.json +18 -0
- package/json-schema/system/MessageQueueConfig.json +143 -0
- package/json-schema/system/MessageQueueProvider.json +17 -0
- package/json-schema/system/MetadataCollectionInfo.json +53 -0
- package/json-schema/system/MetadataExportOptions.json +49 -0
- package/json-schema/system/MetadataFormat.json +15 -0
- package/json-schema/system/MetadataImportOptions.json +42 -0
- package/json-schema/system/MetadataLoadOptions.json +52 -0
- package/json-schema/system/MetadataLoadResult.json +86 -0
- package/json-schema/system/MetadataLoaderContract.json +48 -0
- package/json-schema/system/MetadataManagerConfig.json +108 -0
- package/json-schema/system/MetadataSaveOptions.json +64 -0
- package/json-schema/system/MetadataSaveResult.json +42 -0
- package/json-schema/system/MetadataStats.json +51 -0
- package/json-schema/system/MetadataWatchEvent.json +48 -0
- package/json-schema/system/MetricAggregationConfig.json +69 -0
- package/json-schema/system/MetricAggregationType.json +25 -0
- package/json-schema/system/MetricDataPoint.json +135 -0
- package/json-schema/system/MetricDefinition.json +193 -0
- package/json-schema/system/MetricExportConfig.json +93 -0
- package/json-schema/system/MetricLabels.json +13 -0
- package/json-schema/system/MetricType.json +16 -0
- package/json-schema/system/MetricUnit.json +32 -0
- package/json-schema/system/MetricsConfig.json +718 -0
- package/json-schema/system/MiddlewareConfig.json +70 -0
- package/json-schema/system/MiddlewareType.json +18 -0
- package/json-schema/system/MultipartUploadConfig.json +49 -0
- package/json-schema/system/NotificationChannel.json +18 -0
- package/json-schema/system/NotificationConfig.json +343 -0
- package/json-schema/system/ORSet.json +57 -0
- package/json-schema/system/ORSetElement.json +39 -0
- package/json-schema/system/OTComponent.json +76 -0
- package/json-schema/system/OTOperation.json +128 -0
- package/json-schema/system/OTOperationType.json +14 -0
- package/json-schema/system/OTTransformResult.json +150 -0
- package/json-schema/system/ObjectMetadata.json +90 -0
- package/json-schema/system/ObjectStorageConfig.json +475 -0
- package/json-schema/system/OpenTelemetryCompatibility.json +196 -0
- package/json-schema/system/OtelExporterType.json +22 -0
- package/json-schema/system/PCIDSSConfig.json +47 -0
- package/json-schema/system/PNCounter.json +37 -0
- package/json-schema/system/PluginCapability.json +127 -0
- package/json-schema/system/PluginCapabilityManifest.json +410 -0
- package/json-schema/system/PluginDependency.json +39 -0
- package/json-schema/system/PluginErrorEvent.json +46 -0
- package/json-schema/system/PluginEventBase.json +24 -0
- package/json-schema/system/PluginInterface.json +141 -0
- package/json-schema/system/PluginLifecycleEventType.json +31 -0
- package/json-schema/system/PluginLifecyclePhaseEvent.json +38 -0
- package/json-schema/system/PluginMetadata.json +37 -0
- package/json-schema/system/PluginRegisteredEvent.json +28 -0
- package/json-schema/system/PluginStartupResult.json +73 -0
- package/json-schema/system/PresignedUrlConfig.json +49 -0
- package/json-schema/system/ProtocolFeature.json +34 -0
- package/json-schema/system/ProtocolReference.json +56 -0
- package/json-schema/system/ProtocolVersion.json +30 -0
- package/json-schema/system/PushNotification.json +60 -0
- package/json-schema/system/RollbackPlan.json +51 -0
- package/json-schema/system/RouteHandlerMetadata.json +85 -0
- package/json-schema/system/SMSTemplate.json +36 -0
- package/json-schema/system/SamplingDecision.json +15 -0
- package/json-schema/system/SamplingStrategyType.json +20 -0
- package/json-schema/system/ScopeConfig.json +28 -0
- package/json-schema/system/ScopeInfo.json +39 -0
- package/json-schema/system/SearchConfig.json +195 -0
- package/json-schema/system/SearchIndexConfig.json +78 -0
- package/json-schema/system/SearchProvider.json +16 -0
- package/json-schema/system/ServerCapabilities.json +63 -0
- package/json-schema/system/ServerEvent.json +39 -0
- package/json-schema/system/ServerEventType.json +18 -0
- package/json-schema/system/ServerStatus.json +93 -0
- package/json-schema/system/ServiceFactoryRegistration.json +44 -0
- package/json-schema/system/ServiceLevelIndicator.json +105 -0
- package/json-schema/system/ServiceLevelObjective.json +170 -0
- package/json-schema/system/ServiceMetadata.json +43 -0
- package/json-schema/system/ServiceRegisteredEvent.json +28 -0
- package/json-schema/system/ServiceRegistryConfig.json +39 -0
- package/json-schema/system/ServiceScopeType.json +15 -0
- package/json-schema/system/ServiceUnregisteredEvent.json +24 -0
- package/json-schema/system/Span.json +387 -0
- package/json-schema/system/SpanAttributeValue.json +38 -0
- package/json-schema/system/SpanAttributes.json +42 -0
- package/json-schema/system/SpanEvent.json +62 -0
- package/json-schema/system/SpanKind.json +17 -0
- package/json-schema/system/SpanLink.json +110 -0
- package/json-schema/system/SpanStatus.json +15 -0
- package/json-schema/system/StartupOptions.json +36 -0
- package/json-schema/system/StartupOrchestrationResult.json +104 -0
- package/json-schema/system/StorageAcl.json +18 -0
- package/json-schema/system/StorageClass.json +17 -0
- package/json-schema/system/StorageConnection.json +62 -0
- package/json-schema/system/StorageProvider.json +21 -0
- package/json-schema/system/StorageScope.json +5 -1
- package/json-schema/system/StructuredLogEntry.json +191 -0
- package/json-schema/system/TextCRDTOperation.json +52 -0
- package/json-schema/system/TextCRDTState.json +105 -0
- package/json-schema/system/TimeSeries.json +69 -0
- package/json-schema/system/TimeSeriesDataPoint.json +33 -0
- package/json-schema/system/TopicConfig.json +39 -0
- package/json-schema/system/TraceContext.json +64 -0
- package/json-schema/system/TraceContextPropagation.json +79 -0
- package/json-schema/system/TraceFlags.json +12 -0
- package/json-schema/system/TracePropagationFormat.json +19 -0
- package/json-schema/system/TraceSamplingConfig.json +186 -0
- package/json-schema/system/TraceState.json +23 -0
- package/json-schema/system/TracingConfig.json +536 -0
- package/json-schema/system/UserActivityStatus.json +15 -0
- package/json-schema/system/ValidationError.json +28 -0
- package/json-schema/system/ValidationResult.json +71 -0
- package/json-schema/system/ValidationWarning.json +28 -0
- package/json-schema/system/VectorClock.json +23 -0
- package/json-schema/ui/ChartConfig.json +74 -0
- package/json-schema/ui/ChartType.json +21 -8
- package/json-schema/ui/Dashboard.json +90 -8
- package/json-schema/ui/DashboardWidget.json +90 -8
- package/json-schema/ui/FieldWidgetProps.json +435 -1
- package/json-schema/ui/Page.json +1 -1
- package/json-schema/ui/PageComponent.json +1 -1
- package/json-schema/ui/PageRegion.json +1 -1
- package/json-schema/ui/Report.json +48 -5
- package/json-schema/ui/ReportChart.json +48 -5
- package/package.json +5 -1
- package/dist/api/protocol.d.ts +0 -65
- package/dist/api/protocol.d.ts.map +0 -1
- package/dist/api/protocol.js +0 -8
- package/dist/automation/connector.zod.d.ts.map +0 -1
- package/dist/system/data-engine.zod.d.ts +0 -59
- package/dist/system/data-engine.zod.d.ts.map +0 -1
- package/dist/system/data-engine.zod.js +0 -38
- package/dist/system/driver/mongo.zod.d.ts +0 -107
- package/dist/system/driver/mongo.zod.d.ts.map +0 -1
- package/dist/system/driver/mongo.zod.js +0 -80
- package/dist/system/driver/postgres.zod.d.ts.map +0 -1
- package/dist/system/driver.zod.d.ts.map +0 -1
- package/dist/system/logger.zod.d.ts +0 -111
- package/dist/system/logger.zod.d.ts.map +0 -1
- package/dist/system/logger.zod.js +0 -75
- package/dist/system/scoped-storage.zod.d.ts +0 -81
- package/dist/system/scoped-storage.zod.d.ts.map +0 -1
- package/dist/system/scoped-storage.zod.js +0 -66
- package/dist/ui/block.zod.d.ts +0 -265
- package/dist/ui/block.zod.d.ts.map +0 -1
- package/dist/ui/block.zod.js +0 -90
- package/json-schema/automation/FieldMapping.json +0 -36
- package/json-schema/system/DataEngineFilter.json +0 -11
- package/json-schema/system/DataEngineQueryOptions.json +0 -48
- package/json-schema/system/DriverCapabilities.json +0 -79
- package/json-schema/system/DriverInterface.json +0 -98
- package/json-schema/system/MongoConfig.json +0 -82
- package/json-schema/system/PostgresConfig.json +0 -98
- package/json-schema/system/ScopedStorageConfig.json +0 -54
- package/json-schema/system/StorageAdapterType.json +0 -17
- /package/dist/{system → data}/driver/postgres.zod.js +0 -0
- /package/json-schema/{system → data}/DriverOptions.json +0 -0
|
@@ -0,0 +1,724 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mapFieldTypeToGraphQL = exports.GraphQLConfig = exports.GraphQLConfigSchema = exports.GraphQLPersistedQuerySchema = exports.GraphQLRateLimitSchema = exports.GraphQLQueryComplexitySchema = exports.GraphQLQueryDepthLimitSchema = exports.GraphQLDirectiveConfigSchema = exports.GraphQLDirectiveLocation = exports.GraphQLDataLoaderConfigSchema = exports.GraphQLResolverConfigSchema = exports.GraphQLSubscriptionConfigSchema = exports.GraphQLMutationConfigSchema = exports.GraphQLQueryConfigSchema = exports.GraphQLTypeConfigSchema = exports.GraphQLScalarType = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
/**
|
|
6
|
+
* GraphQL Protocol Support
|
|
7
|
+
*
|
|
8
|
+
* GraphQL is a query language for APIs and a runtime for executing those queries.
|
|
9
|
+
* It provides a complete and understandable description of the data in your API,
|
|
10
|
+
* gives clients the power to ask for exactly what they need, and enables powerful
|
|
11
|
+
* developer tools.
|
|
12
|
+
*
|
|
13
|
+
* ## Overview
|
|
14
|
+
*
|
|
15
|
+
* GraphQL provides:
|
|
16
|
+
* - Type-safe schema definition
|
|
17
|
+
* - Precise data fetching (no over/under-fetching)
|
|
18
|
+
* - Introspection and documentation
|
|
19
|
+
* - Real-time subscriptions
|
|
20
|
+
* - Batched queries with DataLoader
|
|
21
|
+
*
|
|
22
|
+
* ## Use Cases
|
|
23
|
+
*
|
|
24
|
+
* 1. **Modern API Development**
|
|
25
|
+
* - Mobile and web applications
|
|
26
|
+
* - Microservices federation
|
|
27
|
+
* - Real-time dashboards
|
|
28
|
+
*
|
|
29
|
+
* 2. **Data Aggregation**
|
|
30
|
+
* - Multi-source data integration
|
|
31
|
+
* - Complex nested queries
|
|
32
|
+
* - Efficient data loading
|
|
33
|
+
*
|
|
34
|
+
* 3. **Developer Experience**
|
|
35
|
+
* - Self-documenting API
|
|
36
|
+
* - Type safety and validation
|
|
37
|
+
* - GraphQL playground
|
|
38
|
+
*
|
|
39
|
+
* @see https://graphql.org/
|
|
40
|
+
* @see https://spec.graphql.org/
|
|
41
|
+
*
|
|
42
|
+
* @example GraphQL Query
|
|
43
|
+
* ```graphql
|
|
44
|
+
* query GetCustomer($id: ID!) {
|
|
45
|
+
* customer(id: $id) {
|
|
46
|
+
* id
|
|
47
|
+
* name
|
|
48
|
+
* email
|
|
49
|
+
* orders(limit: 10, status: "active") {
|
|
50
|
+
* id
|
|
51
|
+
* total
|
|
52
|
+
* items {
|
|
53
|
+
* product {
|
|
54
|
+
* name
|
|
55
|
+
* price
|
|
56
|
+
* }
|
|
57
|
+
* }
|
|
58
|
+
* }
|
|
59
|
+
* }
|
|
60
|
+
* }
|
|
61
|
+
* ```
|
|
62
|
+
*
|
|
63
|
+
* @example GraphQL Mutation
|
|
64
|
+
* ```graphql
|
|
65
|
+
* mutation CreateOrder($input: CreateOrderInput!) {
|
|
66
|
+
* createOrder(input: $input) {
|
|
67
|
+
* id
|
|
68
|
+
* orderNumber
|
|
69
|
+
* status
|
|
70
|
+
* }
|
|
71
|
+
* }
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
// ==========================================
|
|
75
|
+
// 1. GraphQL Type System
|
|
76
|
+
// ==========================================
|
|
77
|
+
/**
|
|
78
|
+
* GraphQL Scalar Types
|
|
79
|
+
*
|
|
80
|
+
* Built-in scalar types in GraphQL plus custom scalars.
|
|
81
|
+
*/
|
|
82
|
+
exports.GraphQLScalarType = zod_1.z.enum([
|
|
83
|
+
// Built-in GraphQL Scalars
|
|
84
|
+
'ID',
|
|
85
|
+
'String',
|
|
86
|
+
'Int',
|
|
87
|
+
'Float',
|
|
88
|
+
'Boolean',
|
|
89
|
+
// Extended Scalars (common custom types)
|
|
90
|
+
'DateTime',
|
|
91
|
+
'Date',
|
|
92
|
+
'Time',
|
|
93
|
+
'JSON',
|
|
94
|
+
'JSONObject',
|
|
95
|
+
'Upload',
|
|
96
|
+
'URL',
|
|
97
|
+
'Email',
|
|
98
|
+
'PhoneNumber',
|
|
99
|
+
'Currency',
|
|
100
|
+
'Decimal',
|
|
101
|
+
'BigInt',
|
|
102
|
+
'Long',
|
|
103
|
+
'UUID',
|
|
104
|
+
'Base64',
|
|
105
|
+
'Void',
|
|
106
|
+
]);
|
|
107
|
+
/**
|
|
108
|
+
* GraphQL Type Configuration
|
|
109
|
+
*
|
|
110
|
+
* Configuration for generating GraphQL types from Object definitions.
|
|
111
|
+
*/
|
|
112
|
+
exports.GraphQLTypeConfigSchema = zod_1.z.object({
|
|
113
|
+
/** Type name in GraphQL schema */
|
|
114
|
+
name: zod_1.z.string().describe('GraphQL type name (PascalCase recommended)'),
|
|
115
|
+
/** Source Object name */
|
|
116
|
+
object: zod_1.z.string().describe('Source ObjectQL object name'),
|
|
117
|
+
/** Description for GraphQL schema documentation */
|
|
118
|
+
description: zod_1.z.string().optional().describe('Type description'),
|
|
119
|
+
/** Fields to include/exclude */
|
|
120
|
+
fields: zod_1.z.object({
|
|
121
|
+
/** Include only these fields (allow list) */
|
|
122
|
+
include: zod_1.z.array(zod_1.z.string()).optional().describe('Fields to include'),
|
|
123
|
+
/** Exclude these fields (deny list) */
|
|
124
|
+
exclude: zod_1.z.array(zod_1.z.string()).optional().describe('Fields to exclude (e.g., sensitive fields)'),
|
|
125
|
+
/** Custom field mappings */
|
|
126
|
+
mappings: zod_1.z.record(zod_1.z.object({
|
|
127
|
+
graphqlName: zod_1.z.string().optional().describe('Custom GraphQL field name'),
|
|
128
|
+
graphqlType: zod_1.z.string().optional().describe('Override GraphQL type'),
|
|
129
|
+
description: zod_1.z.string().optional().describe('Field description'),
|
|
130
|
+
deprecationReason: zod_1.z.string().optional().describe('Why field is deprecated'),
|
|
131
|
+
nullable: zod_1.z.boolean().optional().describe('Override nullable'),
|
|
132
|
+
})).optional().describe('Field-level customizations'),
|
|
133
|
+
}).optional().describe('Field configuration'),
|
|
134
|
+
/** Interfaces this type implements */
|
|
135
|
+
interfaces: zod_1.z.array(zod_1.z.string()).optional().describe('GraphQL interface names'),
|
|
136
|
+
/** Whether this is an interface definition */
|
|
137
|
+
isInterface: zod_1.z.boolean().optional().default(false).describe('Define as GraphQL interface'),
|
|
138
|
+
/** Custom directives */
|
|
139
|
+
directives: zod_1.z.array(zod_1.z.object({
|
|
140
|
+
name: zod_1.z.string().describe('Directive name'),
|
|
141
|
+
args: zod_1.z.record(zod_1.z.any()).optional().describe('Directive arguments'),
|
|
142
|
+
})).optional().describe('GraphQL directives'),
|
|
143
|
+
});
|
|
144
|
+
// ==========================================
|
|
145
|
+
// 2. Query Generation Configuration
|
|
146
|
+
// ==========================================
|
|
147
|
+
/**
|
|
148
|
+
* GraphQL Query Configuration
|
|
149
|
+
*
|
|
150
|
+
* Configuration for auto-generating query fields from Objects.
|
|
151
|
+
*/
|
|
152
|
+
exports.GraphQLQueryConfigSchema = zod_1.z.object({
|
|
153
|
+
/** Query name */
|
|
154
|
+
name: zod_1.z.string().describe('Query field name (camelCase recommended)'),
|
|
155
|
+
/** Source Object */
|
|
156
|
+
object: zod_1.z.string().describe('Source ObjectQL object name'),
|
|
157
|
+
/** Query type: single record or list */
|
|
158
|
+
type: zod_1.z.enum(['get', 'list', 'search']).describe('Query type'),
|
|
159
|
+
/** Description */
|
|
160
|
+
description: zod_1.z.string().optional().describe('Query description'),
|
|
161
|
+
/** Input arguments */
|
|
162
|
+
args: zod_1.z.record(zod_1.z.object({
|
|
163
|
+
type: zod_1.z.string().describe('GraphQL type (e.g., "ID!", "String", "Int")'),
|
|
164
|
+
description: zod_1.z.string().optional().describe('Argument description'),
|
|
165
|
+
defaultValue: zod_1.z.any().optional().describe('Default value'),
|
|
166
|
+
})).optional().describe('Query arguments'),
|
|
167
|
+
/** Filtering configuration */
|
|
168
|
+
filtering: zod_1.z.object({
|
|
169
|
+
enabled: zod_1.z.boolean().default(true).describe('Allow filtering'),
|
|
170
|
+
fields: zod_1.z.array(zod_1.z.string()).optional().describe('Filterable fields'),
|
|
171
|
+
operators: zod_1.z.array(zod_1.z.enum([
|
|
172
|
+
'eq', 'ne', 'gt', 'gte', 'lt', 'lte',
|
|
173
|
+
'in', 'notIn', 'contains', 'startsWith', 'endsWith',
|
|
174
|
+
'isNull', 'isNotNull',
|
|
175
|
+
])).optional().describe('Allowed filter operators'),
|
|
176
|
+
}).optional().describe('Filtering capabilities'),
|
|
177
|
+
/** Sorting configuration */
|
|
178
|
+
sorting: zod_1.z.object({
|
|
179
|
+
enabled: zod_1.z.boolean().default(true).describe('Allow sorting'),
|
|
180
|
+
fields: zod_1.z.array(zod_1.z.string()).optional().describe('Sortable fields'),
|
|
181
|
+
defaultSort: zod_1.z.object({
|
|
182
|
+
field: zod_1.z.string(),
|
|
183
|
+
direction: zod_1.z.enum(['ASC', 'DESC']),
|
|
184
|
+
}).optional().describe('Default sort order'),
|
|
185
|
+
}).optional().describe('Sorting capabilities'),
|
|
186
|
+
/** Pagination configuration */
|
|
187
|
+
pagination: zod_1.z.object({
|
|
188
|
+
enabled: zod_1.z.boolean().default(true).describe('Enable pagination'),
|
|
189
|
+
type: zod_1.z.enum(['offset', 'cursor', 'relay']).default('offset').describe('Pagination style'),
|
|
190
|
+
defaultLimit: zod_1.z.number().int().min(1).default(20).describe('Default page size'),
|
|
191
|
+
maxLimit: zod_1.z.number().int().min(1).default(100).describe('Maximum page size'),
|
|
192
|
+
}).optional().describe('Pagination configuration'),
|
|
193
|
+
/** Field selection */
|
|
194
|
+
fields: zod_1.z.object({
|
|
195
|
+
/** Always include these fields */
|
|
196
|
+
required: zod_1.z.array(zod_1.z.string()).optional().describe('Required fields (always returned)'),
|
|
197
|
+
/** Allow selecting these fields */
|
|
198
|
+
selectable: zod_1.z.array(zod_1.z.string()).optional().describe('Selectable fields'),
|
|
199
|
+
}).optional().describe('Field selection configuration'),
|
|
200
|
+
/** Authorization */
|
|
201
|
+
authRequired: zod_1.z.boolean().default(true).describe('Require authentication'),
|
|
202
|
+
permissions: zod_1.z.array(zod_1.z.string()).optional().describe('Required permissions'),
|
|
203
|
+
/** Caching */
|
|
204
|
+
cache: zod_1.z.object({
|
|
205
|
+
enabled: zod_1.z.boolean().default(false).describe('Enable caching'),
|
|
206
|
+
ttl: zod_1.z.number().int().min(0).optional().describe('Cache TTL in seconds'),
|
|
207
|
+
key: zod_1.z.string().optional().describe('Cache key template'),
|
|
208
|
+
}).optional().describe('Query caching'),
|
|
209
|
+
});
|
|
210
|
+
// ==========================================
|
|
211
|
+
// 3. Mutation Generation Configuration
|
|
212
|
+
// ==========================================
|
|
213
|
+
/**
|
|
214
|
+
* GraphQL Mutation Configuration
|
|
215
|
+
*
|
|
216
|
+
* Configuration for auto-generating mutation fields from Objects.
|
|
217
|
+
*/
|
|
218
|
+
exports.GraphQLMutationConfigSchema = zod_1.z.object({
|
|
219
|
+
/** Mutation name */
|
|
220
|
+
name: zod_1.z.string().describe('Mutation field name (camelCase recommended)'),
|
|
221
|
+
/** Source Object */
|
|
222
|
+
object: zod_1.z.string().describe('Source ObjectQL object name'),
|
|
223
|
+
/** Mutation type */
|
|
224
|
+
type: zod_1.z.enum(['create', 'update', 'delete', 'upsert', 'custom']).describe('Mutation type'),
|
|
225
|
+
/** Description */
|
|
226
|
+
description: zod_1.z.string().optional().describe('Mutation description'),
|
|
227
|
+
/** Input type configuration */
|
|
228
|
+
input: zod_1.z.object({
|
|
229
|
+
/** Input type name */
|
|
230
|
+
typeName: zod_1.z.string().optional().describe('Custom input type name'),
|
|
231
|
+
/** Fields to include in input */
|
|
232
|
+
fields: zod_1.z.object({
|
|
233
|
+
include: zod_1.z.array(zod_1.z.string()).optional().describe('Fields to include'),
|
|
234
|
+
exclude: zod_1.z.array(zod_1.z.string()).optional().describe('Fields to exclude'),
|
|
235
|
+
required: zod_1.z.array(zod_1.z.string()).optional().describe('Required input fields'),
|
|
236
|
+
}).optional().describe('Input field configuration'),
|
|
237
|
+
/** Validation */
|
|
238
|
+
validation: zod_1.z.object({
|
|
239
|
+
enabled: zod_1.z.boolean().default(true).describe('Enable input validation'),
|
|
240
|
+
rules: zod_1.z.array(zod_1.z.string()).optional().describe('Custom validation rules'),
|
|
241
|
+
}).optional().describe('Input validation'),
|
|
242
|
+
}).optional().describe('Input configuration'),
|
|
243
|
+
/** Return type configuration */
|
|
244
|
+
output: zod_1.z.object({
|
|
245
|
+
/** Type of output */
|
|
246
|
+
type: zod_1.z.enum(['object', 'payload', 'boolean', 'custom']).default('object').describe('Output type'),
|
|
247
|
+
/** Include success/error envelope */
|
|
248
|
+
includeEnvelope: zod_1.z.boolean().optional().default(false).describe('Wrap in success/error payload'),
|
|
249
|
+
/** Custom output type */
|
|
250
|
+
customType: zod_1.z.string().optional().describe('Custom output type name'),
|
|
251
|
+
}).optional().describe('Output configuration'),
|
|
252
|
+
/** Transaction handling */
|
|
253
|
+
transaction: zod_1.z.object({
|
|
254
|
+
enabled: zod_1.z.boolean().default(true).describe('Use database transaction'),
|
|
255
|
+
isolationLevel: zod_1.z.enum(['read_uncommitted', 'read_committed', 'repeatable_read', 'serializable']).optional().describe('Transaction isolation level'),
|
|
256
|
+
}).optional().describe('Transaction configuration'),
|
|
257
|
+
/** Authorization */
|
|
258
|
+
authRequired: zod_1.z.boolean().default(true).describe('Require authentication'),
|
|
259
|
+
permissions: zod_1.z.array(zod_1.z.string()).optional().describe('Required permissions'),
|
|
260
|
+
/** Hooks */
|
|
261
|
+
hooks: zod_1.z.object({
|
|
262
|
+
before: zod_1.z.array(zod_1.z.string()).optional().describe('Pre-mutation hooks'),
|
|
263
|
+
after: zod_1.z.array(zod_1.z.string()).optional().describe('Post-mutation hooks'),
|
|
264
|
+
}).optional().describe('Lifecycle hooks'),
|
|
265
|
+
});
|
|
266
|
+
// ==========================================
|
|
267
|
+
// 4. Subscription Configuration
|
|
268
|
+
// ==========================================
|
|
269
|
+
/**
|
|
270
|
+
* GraphQL Subscription Configuration
|
|
271
|
+
*
|
|
272
|
+
* Configuration for real-time GraphQL subscriptions.
|
|
273
|
+
*/
|
|
274
|
+
exports.GraphQLSubscriptionConfigSchema = zod_1.z.object({
|
|
275
|
+
/** Subscription name */
|
|
276
|
+
name: zod_1.z.string().describe('Subscription field name (camelCase recommended)'),
|
|
277
|
+
/** Source Object */
|
|
278
|
+
object: zod_1.z.string().describe('Source ObjectQL object name'),
|
|
279
|
+
/** Subscription trigger events */
|
|
280
|
+
events: zod_1.z.array(zod_1.z.enum(['created', 'updated', 'deleted', 'custom'])).describe('Events to subscribe to'),
|
|
281
|
+
/** Description */
|
|
282
|
+
description: zod_1.z.string().optional().describe('Subscription description'),
|
|
283
|
+
/** Filtering */
|
|
284
|
+
filter: zod_1.z.object({
|
|
285
|
+
enabled: zod_1.z.boolean().default(true).describe('Allow filtering subscriptions'),
|
|
286
|
+
fields: zod_1.z.array(zod_1.z.string()).optional().describe('Filterable fields'),
|
|
287
|
+
}).optional().describe('Subscription filtering'),
|
|
288
|
+
/** Payload configuration */
|
|
289
|
+
payload: zod_1.z.object({
|
|
290
|
+
/** Include the modified entity */
|
|
291
|
+
includeEntity: zod_1.z.boolean().default(true).describe('Include entity in payload'),
|
|
292
|
+
/** Include previous values (for updates) */
|
|
293
|
+
includePreviousValues: zod_1.z.boolean().optional().default(false).describe('Include previous field values'),
|
|
294
|
+
/** Include mutation metadata */
|
|
295
|
+
includeMeta: zod_1.z.boolean().optional().default(true).describe('Include metadata (timestamp, user, etc.)'),
|
|
296
|
+
}).optional().describe('Payload configuration'),
|
|
297
|
+
/** Authorization */
|
|
298
|
+
authRequired: zod_1.z.boolean().default(true).describe('Require authentication'),
|
|
299
|
+
permissions: zod_1.z.array(zod_1.z.string()).optional().describe('Required permissions'),
|
|
300
|
+
/** Rate limiting for subscriptions */
|
|
301
|
+
rateLimit: zod_1.z.object({
|
|
302
|
+
enabled: zod_1.z.boolean().default(true).describe('Enable rate limiting'),
|
|
303
|
+
maxSubscriptionsPerUser: zod_1.z.number().int().min(1).default(10).describe('Max concurrent subscriptions per user'),
|
|
304
|
+
throttleMs: zod_1.z.number().int().min(0).optional().describe('Throttle interval in milliseconds'),
|
|
305
|
+
}).optional().describe('Subscription rate limiting'),
|
|
306
|
+
});
|
|
307
|
+
// ==========================================
|
|
308
|
+
// 5. Resolver Configuration
|
|
309
|
+
// ==========================================
|
|
310
|
+
/**
|
|
311
|
+
* GraphQL Resolver Configuration
|
|
312
|
+
*
|
|
313
|
+
* Configuration for custom resolver logic.
|
|
314
|
+
*/
|
|
315
|
+
exports.GraphQLResolverConfigSchema = zod_1.z.object({
|
|
316
|
+
/** Field path (e.g., "Query.users", "Mutation.createUser") */
|
|
317
|
+
path: zod_1.z.string().describe('Resolver path (Type.field)'),
|
|
318
|
+
/** Resolver implementation type */
|
|
319
|
+
type: zod_1.z.enum(['datasource', 'computed', 'script', 'proxy']).describe('Resolver implementation type'),
|
|
320
|
+
/** Implementation details */
|
|
321
|
+
implementation: zod_1.z.object({
|
|
322
|
+
/** For datasource type */
|
|
323
|
+
datasource: zod_1.z.string().optional().describe('Datasource ID'),
|
|
324
|
+
query: zod_1.z.string().optional().describe('Query/SQL to execute'),
|
|
325
|
+
/** For computed type */
|
|
326
|
+
expression: zod_1.z.string().optional().describe('Computation expression'),
|
|
327
|
+
dependencies: zod_1.z.array(zod_1.z.string()).optional().describe('Dependent fields'),
|
|
328
|
+
/** For script type */
|
|
329
|
+
script: zod_1.z.string().optional().describe('Script ID or inline code'),
|
|
330
|
+
/** For proxy type */
|
|
331
|
+
url: zod_1.z.string().optional().describe('Proxy URL'),
|
|
332
|
+
method: zod_1.z.enum(['GET', 'POST', 'PUT', 'DELETE']).optional().describe('HTTP method'),
|
|
333
|
+
}).optional().describe('Implementation configuration'),
|
|
334
|
+
/** Caching */
|
|
335
|
+
cache: zod_1.z.object({
|
|
336
|
+
enabled: zod_1.z.boolean().default(false).describe('Enable resolver caching'),
|
|
337
|
+
ttl: zod_1.z.number().int().min(0).optional().describe('Cache TTL in seconds'),
|
|
338
|
+
keyArgs: zod_1.z.array(zod_1.z.string()).optional().describe('Arguments to include in cache key'),
|
|
339
|
+
}).optional().describe('Resolver caching'),
|
|
340
|
+
});
|
|
341
|
+
// ==========================================
|
|
342
|
+
// 6. DataLoader Configuration
|
|
343
|
+
// ==========================================
|
|
344
|
+
/**
|
|
345
|
+
* GraphQL DataLoader Configuration
|
|
346
|
+
*
|
|
347
|
+
* Configuration for batching and caching with DataLoader pattern.
|
|
348
|
+
* Prevents N+1 query problems in GraphQL.
|
|
349
|
+
*/
|
|
350
|
+
exports.GraphQLDataLoaderConfigSchema = zod_1.z.object({
|
|
351
|
+
/** Loader name */
|
|
352
|
+
name: zod_1.z.string().describe('DataLoader name'),
|
|
353
|
+
/** Source Object or datasource */
|
|
354
|
+
source: zod_1.z.string().describe('Source object or datasource'),
|
|
355
|
+
/** Batch function configuration */
|
|
356
|
+
batchFunction: zod_1.z.object({
|
|
357
|
+
/** Type of batch operation */
|
|
358
|
+
type: zod_1.z.enum(['findByIds', 'query', 'script', 'custom']).describe('Batch function type'),
|
|
359
|
+
/** For findByIds */
|
|
360
|
+
keyField: zod_1.z.string().optional().describe('Field to batch on (e.g., "id")'),
|
|
361
|
+
/** For query */
|
|
362
|
+
query: zod_1.z.string().optional().describe('Query template'),
|
|
363
|
+
/** For script */
|
|
364
|
+
script: zod_1.z.string().optional().describe('Script ID'),
|
|
365
|
+
/** Maximum batch size */
|
|
366
|
+
maxBatchSize: zod_1.z.number().int().min(1).optional().default(100).describe('Maximum batch size'),
|
|
367
|
+
}).describe('Batch function configuration'),
|
|
368
|
+
/** Caching */
|
|
369
|
+
cache: zod_1.z.object({
|
|
370
|
+
enabled: zod_1.z.boolean().default(true).describe('Enable per-request caching'),
|
|
371
|
+
/** Cache key function */
|
|
372
|
+
keyFn: zod_1.z.string().optional().describe('Custom cache key function'),
|
|
373
|
+
}).optional().describe('DataLoader caching'),
|
|
374
|
+
/** Options */
|
|
375
|
+
options: zod_1.z.object({
|
|
376
|
+
/** Batch multiple requests in single tick */
|
|
377
|
+
batch: zod_1.z.boolean().default(true).describe('Enable batching'),
|
|
378
|
+
/** Cache loaded values */
|
|
379
|
+
cache: zod_1.z.boolean().default(true).describe('Enable caching'),
|
|
380
|
+
/** Maximum cache size */
|
|
381
|
+
maxCacheSize: zod_1.z.number().int().min(0).optional().describe('Max cache entries'),
|
|
382
|
+
}).optional().describe('DataLoader options'),
|
|
383
|
+
});
|
|
384
|
+
// ==========================================
|
|
385
|
+
// 7. GraphQL Directive Schema
|
|
386
|
+
// ==========================================
|
|
387
|
+
/**
|
|
388
|
+
* GraphQL Directive Location
|
|
389
|
+
*
|
|
390
|
+
* Where a directive can be used in the schema.
|
|
391
|
+
*/
|
|
392
|
+
exports.GraphQLDirectiveLocation = zod_1.z.enum([
|
|
393
|
+
// Executable Directive Locations
|
|
394
|
+
'QUERY',
|
|
395
|
+
'MUTATION',
|
|
396
|
+
'SUBSCRIPTION',
|
|
397
|
+
'FIELD',
|
|
398
|
+
'FRAGMENT_DEFINITION',
|
|
399
|
+
'FRAGMENT_SPREAD',
|
|
400
|
+
'INLINE_FRAGMENT',
|
|
401
|
+
'VARIABLE_DEFINITION',
|
|
402
|
+
// Type System Directive Locations
|
|
403
|
+
'SCHEMA',
|
|
404
|
+
'SCALAR',
|
|
405
|
+
'OBJECT',
|
|
406
|
+
'FIELD_DEFINITION',
|
|
407
|
+
'ARGUMENT_DEFINITION',
|
|
408
|
+
'INTERFACE',
|
|
409
|
+
'UNION',
|
|
410
|
+
'ENUM',
|
|
411
|
+
'ENUM_VALUE',
|
|
412
|
+
'INPUT_OBJECT',
|
|
413
|
+
'INPUT_FIELD_DEFINITION',
|
|
414
|
+
]);
|
|
415
|
+
/**
|
|
416
|
+
* GraphQL Directive Configuration
|
|
417
|
+
*
|
|
418
|
+
* Custom directives for schema metadata and behavior.
|
|
419
|
+
*/
|
|
420
|
+
exports.GraphQLDirectiveConfigSchema = zod_1.z.object({
|
|
421
|
+
/** Directive name */
|
|
422
|
+
name: zod_1.z.string().regex(/^[a-z][a-zA-Z0-9]*$/).describe('Directive name (camelCase)'),
|
|
423
|
+
/** Description */
|
|
424
|
+
description: zod_1.z.string().optional().describe('Directive description'),
|
|
425
|
+
/** Where directive can be used */
|
|
426
|
+
locations: zod_1.z.array(exports.GraphQLDirectiveLocation).describe('Directive locations'),
|
|
427
|
+
/** Arguments */
|
|
428
|
+
args: zod_1.z.record(zod_1.z.object({
|
|
429
|
+
type: zod_1.z.string().describe('Argument type'),
|
|
430
|
+
description: zod_1.z.string().optional().describe('Argument description'),
|
|
431
|
+
defaultValue: zod_1.z.any().optional().describe('Default value'),
|
|
432
|
+
})).optional().describe('Directive arguments'),
|
|
433
|
+
/** Is repeatable */
|
|
434
|
+
repeatable: zod_1.z.boolean().optional().default(false).describe('Can be applied multiple times'),
|
|
435
|
+
/** Implementation */
|
|
436
|
+
implementation: zod_1.z.object({
|
|
437
|
+
/** Directive behavior type */
|
|
438
|
+
type: zod_1.z.enum(['auth', 'validation', 'transform', 'cache', 'deprecation', 'custom']).describe('Directive type'),
|
|
439
|
+
/** Handler function */
|
|
440
|
+
handler: zod_1.z.string().optional().describe('Handler function name or script'),
|
|
441
|
+
}).optional().describe('Directive implementation'),
|
|
442
|
+
});
|
|
443
|
+
// ==========================================
|
|
444
|
+
// 8. GraphQL Security - Query Depth Limiting
|
|
445
|
+
// ==========================================
|
|
446
|
+
/**
|
|
447
|
+
* Query Depth Limiting Configuration
|
|
448
|
+
*
|
|
449
|
+
* Prevents deeply nested queries that could cause performance issues.
|
|
450
|
+
*/
|
|
451
|
+
exports.GraphQLQueryDepthLimitSchema = zod_1.z.object({
|
|
452
|
+
/** Enable depth limiting */
|
|
453
|
+
enabled: zod_1.z.boolean().default(true).describe('Enable query depth limiting'),
|
|
454
|
+
/** Maximum allowed depth */
|
|
455
|
+
maxDepth: zod_1.z.number().int().min(1).default(10).describe('Maximum query depth'),
|
|
456
|
+
/** Fields to ignore in depth calculation */
|
|
457
|
+
ignoreFields: zod_1.z.array(zod_1.z.string()).optional().describe('Fields excluded from depth calculation'),
|
|
458
|
+
/** Callback on depth exceeded */
|
|
459
|
+
onDepthExceeded: zod_1.z.enum(['reject', 'log', 'warn']).default('reject').describe('Action when depth exceeded'),
|
|
460
|
+
/** Custom error message */
|
|
461
|
+
errorMessage: zod_1.z.string().optional().describe('Custom error message for depth violations'),
|
|
462
|
+
});
|
|
463
|
+
// ==========================================
|
|
464
|
+
// 9. GraphQL Security - Query Complexity
|
|
465
|
+
// ==========================================
|
|
466
|
+
/**
|
|
467
|
+
* Query Complexity Calculation Configuration
|
|
468
|
+
*
|
|
469
|
+
* Assigns complexity scores to fields and limits total query complexity.
|
|
470
|
+
* Prevents expensive queries from overloading the server.
|
|
471
|
+
*/
|
|
472
|
+
exports.GraphQLQueryComplexitySchema = zod_1.z.object({
|
|
473
|
+
/** Enable complexity limiting */
|
|
474
|
+
enabled: zod_1.z.boolean().default(true).describe('Enable query complexity limiting'),
|
|
475
|
+
/** Maximum allowed complexity score */
|
|
476
|
+
maxComplexity: zod_1.z.number().int().min(1).default(1000).describe('Maximum query complexity'),
|
|
477
|
+
/** Default field complexity */
|
|
478
|
+
defaultFieldComplexity: zod_1.z.number().int().min(0).default(1).describe('Default complexity per field'),
|
|
479
|
+
/** Field-specific complexity scores */
|
|
480
|
+
fieldComplexity: zod_1.z.record(zod_1.z.union([
|
|
481
|
+
zod_1.z.number().int().min(0),
|
|
482
|
+
zod_1.z.object({
|
|
483
|
+
/** Base complexity */
|
|
484
|
+
base: zod_1.z.number().int().min(0).describe('Base complexity'),
|
|
485
|
+
/** Multiplier based on arguments */
|
|
486
|
+
multiplier: zod_1.z.string().optional().describe('Argument multiplier (e.g., "limit")'),
|
|
487
|
+
/** Custom complexity calculation */
|
|
488
|
+
calculator: zod_1.z.string().optional().describe('Custom calculator function'),
|
|
489
|
+
}),
|
|
490
|
+
])).optional().describe('Per-field complexity configuration'),
|
|
491
|
+
/** List multiplier */
|
|
492
|
+
listMultiplier: zod_1.z.number().min(0).default(10).describe('Multiplier for list fields'),
|
|
493
|
+
/** Callback on complexity exceeded */
|
|
494
|
+
onComplexityExceeded: zod_1.z.enum(['reject', 'log', 'warn']).default('reject').describe('Action when complexity exceeded'),
|
|
495
|
+
/** Custom error message */
|
|
496
|
+
errorMessage: zod_1.z.string().optional().describe('Custom error message for complexity violations'),
|
|
497
|
+
});
|
|
498
|
+
// ==========================================
|
|
499
|
+
// 10. GraphQL Security - Rate Limiting
|
|
500
|
+
// ==========================================
|
|
501
|
+
/**
|
|
502
|
+
* GraphQL Rate Limiting Configuration
|
|
503
|
+
*
|
|
504
|
+
* Rate limiting for GraphQL operations.
|
|
505
|
+
*/
|
|
506
|
+
exports.GraphQLRateLimitSchema = zod_1.z.object({
|
|
507
|
+
/** Enable rate limiting */
|
|
508
|
+
enabled: zod_1.z.boolean().default(true).describe('Enable rate limiting'),
|
|
509
|
+
/** Rate limit strategy */
|
|
510
|
+
strategy: zod_1.z.enum(['token_bucket', 'fixed_window', 'sliding_window', 'cost_based']).default('token_bucket').describe('Rate limiting strategy'),
|
|
511
|
+
/** Global rate limits */
|
|
512
|
+
global: zod_1.z.object({
|
|
513
|
+
/** Requests per time window */
|
|
514
|
+
maxRequests: zod_1.z.number().int().min(1).default(1000).describe('Maximum requests per window'),
|
|
515
|
+
/** Time window in milliseconds */
|
|
516
|
+
windowMs: zod_1.z.number().int().min(1000).default(60000).describe('Time window in milliseconds'),
|
|
517
|
+
}).optional().describe('Global rate limits'),
|
|
518
|
+
/** Per-user rate limits */
|
|
519
|
+
perUser: zod_1.z.object({
|
|
520
|
+
/** Requests per time window */
|
|
521
|
+
maxRequests: zod_1.z.number().int().min(1).default(100).describe('Maximum requests per user per window'),
|
|
522
|
+
/** Time window in milliseconds */
|
|
523
|
+
windowMs: zod_1.z.number().int().min(1000).default(60000).describe('Time window in milliseconds'),
|
|
524
|
+
}).optional().describe('Per-user rate limits'),
|
|
525
|
+
/** Cost-based rate limiting */
|
|
526
|
+
costBased: zod_1.z.object({
|
|
527
|
+
/** Enable cost-based limiting */
|
|
528
|
+
enabled: zod_1.z.boolean().default(false).describe('Enable cost-based rate limiting'),
|
|
529
|
+
/** Maximum cost per time window */
|
|
530
|
+
maxCost: zod_1.z.number().int().min(1).default(10000).describe('Maximum cost per window'),
|
|
531
|
+
/** Time window in milliseconds */
|
|
532
|
+
windowMs: zod_1.z.number().int().min(1000).default(60000).describe('Time window in milliseconds'),
|
|
533
|
+
/** Use complexity as cost */
|
|
534
|
+
useComplexityAsCost: zod_1.z.boolean().default(true).describe('Use query complexity as cost'),
|
|
535
|
+
}).optional().describe('Cost-based rate limiting'),
|
|
536
|
+
/** Operation-specific limits */
|
|
537
|
+
operations: zod_1.z.record(zod_1.z.object({
|
|
538
|
+
maxRequests: zod_1.z.number().int().min(1).describe('Max requests for this operation'),
|
|
539
|
+
windowMs: zod_1.z.number().int().min(1000).describe('Time window'),
|
|
540
|
+
})).optional().describe('Per-operation rate limits'),
|
|
541
|
+
/** Callback on limit exceeded */
|
|
542
|
+
onLimitExceeded: zod_1.z.enum(['reject', 'queue', 'log']).default('reject').describe('Action when rate limit exceeded'),
|
|
543
|
+
/** Custom error message */
|
|
544
|
+
errorMessage: zod_1.z.string().optional().describe('Custom error message for rate limit violations'),
|
|
545
|
+
/** Headers to include in response */
|
|
546
|
+
includeHeaders: zod_1.z.boolean().default(true).describe('Include rate limit headers in response'),
|
|
547
|
+
});
|
|
548
|
+
// ==========================================
|
|
549
|
+
// 11. GraphQL Security - Persisted Queries
|
|
550
|
+
// ==========================================
|
|
551
|
+
/**
|
|
552
|
+
* Persisted Queries Configuration
|
|
553
|
+
*
|
|
554
|
+
* Only allow pre-registered queries to execute (allow list approach).
|
|
555
|
+
* Improves security and performance.
|
|
556
|
+
*/
|
|
557
|
+
exports.GraphQLPersistedQuerySchema = zod_1.z.object({
|
|
558
|
+
/** Enable persisted queries */
|
|
559
|
+
enabled: zod_1.z.boolean().default(false).describe('Enable persisted queries'),
|
|
560
|
+
/** Enforcement mode */
|
|
561
|
+
mode: zod_1.z.enum(['optional', 'required']).default('optional').describe('Persisted query mode (optional: allow both, required: only persisted)'),
|
|
562
|
+
/** Query store configuration */
|
|
563
|
+
store: zod_1.z.object({
|
|
564
|
+
/** Store type */
|
|
565
|
+
type: zod_1.z.enum(['memory', 'redis', 'database', 'file']).default('memory').describe('Query store type'),
|
|
566
|
+
/** Store connection string */
|
|
567
|
+
connection: zod_1.z.string().optional().describe('Store connection string or path'),
|
|
568
|
+
/** TTL for cached queries */
|
|
569
|
+
ttl: zod_1.z.number().int().min(0).optional().describe('TTL in seconds for stored queries'),
|
|
570
|
+
}).optional().describe('Query store configuration'),
|
|
571
|
+
/** Automatic Persisted Queries (APQ) */
|
|
572
|
+
apq: zod_1.z.object({
|
|
573
|
+
/** Enable APQ */
|
|
574
|
+
enabled: zod_1.z.boolean().default(true).describe('Enable Automatic Persisted Queries'),
|
|
575
|
+
/** Hash algorithm */
|
|
576
|
+
hashAlgorithm: zod_1.z.enum(['sha256', 'sha1', 'md5']).default('sha256').describe('Hash algorithm for query IDs'),
|
|
577
|
+
/** Cache control */
|
|
578
|
+
cache: zod_1.z.object({
|
|
579
|
+
/** Cache TTL */
|
|
580
|
+
ttl: zod_1.z.number().int().min(0).default(3600).describe('Cache TTL in seconds'),
|
|
581
|
+
/** Max cache size */
|
|
582
|
+
maxSize: zod_1.z.number().int().min(1).optional().describe('Maximum number of cached queries'),
|
|
583
|
+
}).optional().describe('APQ cache configuration'),
|
|
584
|
+
}).optional().describe('Automatic Persisted Queries configuration'),
|
|
585
|
+
/** Query allow list */
|
|
586
|
+
allowlist: zod_1.z.object({
|
|
587
|
+
/** Enable allow list mode */
|
|
588
|
+
enabled: zod_1.z.boolean().default(false).describe('Enable query allow list (reject queries not in list)'),
|
|
589
|
+
/** Allowed query IDs */
|
|
590
|
+
queries: zod_1.z.array(zod_1.z.object({
|
|
591
|
+
id: zod_1.z.string().describe('Query ID or hash'),
|
|
592
|
+
operation: zod_1.z.string().optional().describe('Operation name'),
|
|
593
|
+
query: zod_1.z.string().optional().describe('Query string'),
|
|
594
|
+
})).optional().describe('Allowed queries'),
|
|
595
|
+
/** External allow list source */
|
|
596
|
+
source: zod_1.z.string().optional().describe('External allow list source (file path or URL)'),
|
|
597
|
+
}).optional().describe('Query allow list configuration'),
|
|
598
|
+
/** Security */
|
|
599
|
+
security: zod_1.z.object({
|
|
600
|
+
/** Maximum query size */
|
|
601
|
+
maxQuerySize: zod_1.z.number().int().min(1).optional().describe('Maximum query string size in bytes'),
|
|
602
|
+
/** Reject introspection in production */
|
|
603
|
+
rejectIntrospection: zod_1.z.boolean().default(false).describe('Reject introspection queries'),
|
|
604
|
+
}).optional().describe('Security configuration'),
|
|
605
|
+
});
|
|
606
|
+
// ==========================================
|
|
607
|
+
// 12. Complete GraphQL Configuration
|
|
608
|
+
// ==========================================
|
|
609
|
+
/**
|
|
610
|
+
* Complete GraphQL Configuration
|
|
611
|
+
*
|
|
612
|
+
* Root configuration for GraphQL API generation and security.
|
|
613
|
+
*/
|
|
614
|
+
exports.GraphQLConfigSchema = zod_1.z.object({
|
|
615
|
+
/** Enable GraphQL API */
|
|
616
|
+
enabled: zod_1.z.boolean().default(true).describe('Enable GraphQL API'),
|
|
617
|
+
/** GraphQL endpoint path */
|
|
618
|
+
path: zod_1.z.string().default('/graphql').describe('GraphQL endpoint path'),
|
|
619
|
+
/** GraphQL Playground */
|
|
620
|
+
playground: zod_1.z.object({
|
|
621
|
+
enabled: zod_1.z.boolean().default(true).describe('Enable GraphQL Playground'),
|
|
622
|
+
path: zod_1.z.string().default('/playground').describe('Playground path'),
|
|
623
|
+
}).optional().describe('GraphQL Playground configuration'),
|
|
624
|
+
/** Schema generation */
|
|
625
|
+
schema: zod_1.z.object({
|
|
626
|
+
/** Auto-generate types from Objects */
|
|
627
|
+
autoGenerateTypes: zod_1.z.boolean().default(true).describe('Auto-generate types from Objects'),
|
|
628
|
+
/** Type configurations */
|
|
629
|
+
types: zod_1.z.array(exports.GraphQLTypeConfigSchema).optional().describe('Type configurations'),
|
|
630
|
+
/** Query configurations */
|
|
631
|
+
queries: zod_1.z.array(exports.GraphQLQueryConfigSchema).optional().describe('Query configurations'),
|
|
632
|
+
/** Mutation configurations */
|
|
633
|
+
mutations: zod_1.z.array(exports.GraphQLMutationConfigSchema).optional().describe('Mutation configurations'),
|
|
634
|
+
/** Subscription configurations */
|
|
635
|
+
subscriptions: zod_1.z.array(exports.GraphQLSubscriptionConfigSchema).optional().describe('Subscription configurations'),
|
|
636
|
+
/** Custom resolvers */
|
|
637
|
+
resolvers: zod_1.z.array(exports.GraphQLResolverConfigSchema).optional().describe('Custom resolver configurations'),
|
|
638
|
+
/** Custom directives */
|
|
639
|
+
directives: zod_1.z.array(exports.GraphQLDirectiveConfigSchema).optional().describe('Custom directive configurations'),
|
|
640
|
+
}).optional().describe('Schema generation configuration'),
|
|
641
|
+
/** DataLoader configurations */
|
|
642
|
+
dataLoaders: zod_1.z.array(exports.GraphQLDataLoaderConfigSchema).optional().describe('DataLoader configurations'),
|
|
643
|
+
/** Security configuration */
|
|
644
|
+
security: zod_1.z.object({
|
|
645
|
+
/** Query depth limiting */
|
|
646
|
+
depthLimit: exports.GraphQLQueryDepthLimitSchema.optional().describe('Query depth limiting'),
|
|
647
|
+
/** Query complexity */
|
|
648
|
+
complexity: exports.GraphQLQueryComplexitySchema.optional().describe('Query complexity calculation'),
|
|
649
|
+
/** Rate limiting */
|
|
650
|
+
rateLimit: exports.GraphQLRateLimitSchema.optional().describe('Rate limiting'),
|
|
651
|
+
/** Persisted queries */
|
|
652
|
+
persistedQueries: exports.GraphQLPersistedQuerySchema.optional().describe('Persisted queries'),
|
|
653
|
+
}).optional().describe('Security configuration'),
|
|
654
|
+
});
|
|
655
|
+
exports.GraphQLConfig = Object.assign(exports.GraphQLConfigSchema, {
|
|
656
|
+
create: (config) => config,
|
|
657
|
+
});
|
|
658
|
+
// ==========================================
|
|
659
|
+
// Helper Functions
|
|
660
|
+
// ==========================================
|
|
661
|
+
/**
|
|
662
|
+
* Helper to map ObjectQL field type to GraphQL scalar type
|
|
663
|
+
*/
|
|
664
|
+
const mapFieldTypeToGraphQL = (fieldType) => {
|
|
665
|
+
const mapping = {
|
|
666
|
+
// Core Text
|
|
667
|
+
'text': 'String',
|
|
668
|
+
'textarea': 'String',
|
|
669
|
+
'email': 'Email',
|
|
670
|
+
'url': 'URL',
|
|
671
|
+
'phone': 'PhoneNumber',
|
|
672
|
+
'password': 'String',
|
|
673
|
+
// Rich Content
|
|
674
|
+
'markdown': 'String',
|
|
675
|
+
'html': 'String',
|
|
676
|
+
'richtext': 'String',
|
|
677
|
+
// Numbers
|
|
678
|
+
'number': 'Float',
|
|
679
|
+
'currency': 'Currency',
|
|
680
|
+
'percent': 'Float',
|
|
681
|
+
// Date & Time
|
|
682
|
+
'date': 'Date',
|
|
683
|
+
'datetime': 'DateTime',
|
|
684
|
+
'time': 'Time',
|
|
685
|
+
// Logic
|
|
686
|
+
'boolean': 'Boolean',
|
|
687
|
+
'toggle': 'Boolean',
|
|
688
|
+
// Selection
|
|
689
|
+
'select': 'String',
|
|
690
|
+
'multiselect': '[String]',
|
|
691
|
+
'radio': 'String',
|
|
692
|
+
'checkboxes': '[String]',
|
|
693
|
+
// Relational
|
|
694
|
+
'lookup': 'ID',
|
|
695
|
+
'master_detail': 'ID',
|
|
696
|
+
'tree': 'ID',
|
|
697
|
+
// Media
|
|
698
|
+
'image': 'URL',
|
|
699
|
+
'file': 'URL',
|
|
700
|
+
'avatar': 'URL',
|
|
701
|
+
'video': 'URL',
|
|
702
|
+
'audio': 'URL',
|
|
703
|
+
// Calculated
|
|
704
|
+
'formula': 'String',
|
|
705
|
+
'summary': 'Float',
|
|
706
|
+
'autonumber': 'String',
|
|
707
|
+
// Enhanced Types
|
|
708
|
+
'location': 'JSONObject',
|
|
709
|
+
'address': 'JSONObject',
|
|
710
|
+
'code': 'String',
|
|
711
|
+
'json': 'JSON',
|
|
712
|
+
'color': 'String',
|
|
713
|
+
'rating': 'Float',
|
|
714
|
+
'slider': 'Float',
|
|
715
|
+
'signature': 'String',
|
|
716
|
+
'qrcode': 'String',
|
|
717
|
+
'progress': 'Float',
|
|
718
|
+
'tags': '[String]',
|
|
719
|
+
// AI/ML
|
|
720
|
+
'vector': '[Float]',
|
|
721
|
+
};
|
|
722
|
+
return mapping[fieldType] || 'String';
|
|
723
|
+
};
|
|
724
|
+
exports.mapFieldTypeToGraphQL = mapFieldTypeToGraphQL;
|