@objectstack/spec 0.3.2 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -10
- package/dist/ai/agent.zod.d.ts +12 -12
- package/dist/ai/conversation.zod.d.ts +54 -54
- package/dist/ai/cost.zod.d.ts +135 -135
- package/dist/ai/index.d.ts +1 -1
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +1 -1
- package/dist/ai/model-registry.zod.d.ts +91 -91
- package/dist/ai/nlq.zod.d.ts +72 -72
- package/dist/ai/{workflow-automation.zod.d.ts → orchestration.zod.d.ts} +51 -50
- package/dist/ai/orchestration.zod.d.ts.map +1 -0
- package/dist/ai/{workflow-automation.zod.js → orchestration.zod.js} +26 -25
- package/dist/ai/predictive.zod.d.ts +27 -27
- package/dist/ai/rag-pipeline.zod.d.ts +102 -102
- package/dist/api/contract.zod.d.ts +213 -197
- package/dist/api/contract.zod.d.ts.map +1 -1
- package/dist/{system → api}/discovery.zod.d.ts +26 -26
- package/dist/api/discovery.zod.d.ts.map +1 -0
- package/dist/{system → api}/discovery.zod.js +9 -9
- package/dist/{system/api.zod.d.ts → api/endpoint.zod.d.ts} +53 -57
- package/dist/api/endpoint.zod.d.ts.map +1 -0
- package/dist/{system/api.zod.js → api/endpoint.zod.js} +3 -6
- package/dist/api/index.d.ts +6 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +6 -0
- package/dist/api/odata.zod.d.ts +482 -0
- package/dist/api/odata.zod.d.ts.map +1 -0
- package/dist/api/odata.zod.js +401 -0
- package/dist/{system → api}/realtime.zod.d.ts +4 -4
- package/dist/api/realtime.zod.d.ts.map +1 -0
- package/dist/api/router.zod.d.ts +182 -0
- package/dist/api/router.zod.d.ts.map +1 -0
- package/dist/api/router.zod.js +103 -0
- package/dist/{system/auth.zod.d.ts → auth/config.zod.d.ts} +199 -199
- package/dist/auth/config.zod.d.ts.map +1 -0
- package/dist/{system → auth}/identity.zod.d.ts +8 -8
- package/dist/auth/identity.zod.d.ts.map +1 -0
- package/dist/auth/index.d.ts +8 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +23 -0
- package/dist/{system → auth}/organization.zod.d.ts +7 -7
- package/dist/auth/organization.zod.d.ts.map +1 -0
- package/dist/{system → auth}/policy.zod.d.ts +3 -3
- package/dist/auth/policy.zod.d.ts.map +1 -0
- package/dist/{system/auth-protocol.d.ts → auth/protocol.d.ts} +1 -1
- package/dist/auth/protocol.d.ts.map +1 -0
- package/dist/{system → auth}/role.zod.d.ts +14 -0
- package/dist/auth/role.zod.d.ts.map +1 -0
- package/dist/{system → auth}/role.zod.js +16 -1
- package/dist/auth/scim.zod.d.ts +2732 -0
- package/dist/auth/scim.zod.d.ts.map +1 -0
- package/dist/auth/scim.zod.js +811 -0
- package/dist/automation/approval.zod.d.ts +643 -0
- package/dist/automation/approval.zod.d.ts.map +1 -0
- package/dist/automation/approval.zod.js +84 -0
- package/dist/automation/connector.zod.d.ts +1284 -0
- package/dist/automation/connector.zod.d.ts.map +1 -0
- package/dist/automation/connector.zod.js +500 -0
- package/dist/automation/etl.zod.d.ts +623 -0
- package/dist/automation/etl.zod.d.ts.map +1 -0
- package/dist/automation/etl.zod.js +359 -0
- package/dist/{data → automation}/flow.zod.d.ts +40 -22
- package/dist/automation/flow.zod.d.ts.map +1 -0
- package/dist/{data → automation}/flow.zod.js +6 -1
- package/dist/automation/index.d.ts +8 -0
- package/dist/automation/index.d.ts.map +1 -0
- package/dist/automation/index.js +23 -0
- package/dist/automation/sync.zod.d.ts +854 -0
- package/dist/automation/sync.zod.d.ts.map +1 -0
- package/dist/automation/sync.zod.js +444 -0
- package/dist/{system → automation}/webhook.zod.d.ts +26 -3
- package/dist/automation/webhook.zod.d.ts.map +1 -0
- package/dist/{system → automation}/webhook.zod.js +27 -3
- package/dist/automation/workflow.zod.d.ts +2059 -0
- package/dist/automation/workflow.zod.d.ts.map +1 -0
- package/dist/{data → automation}/workflow.zod.js +40 -2
- package/dist/data/dataset.zod.d.ts +2 -2
- package/dist/data/field.zod.d.ts +779 -219
- package/dist/data/field.zod.d.ts.map +1 -1
- package/dist/data/field.zod.js +128 -16
- package/dist/data/filter.zod.d.ts +167 -30
- package/dist/data/filter.zod.d.ts.map +1 -1
- package/dist/data/filter.zod.js +25 -13
- package/dist/data/hook.zod.d.ts +191 -0
- package/dist/data/hook.zod.d.ts.map +1 -0
- package/dist/data/hook.zod.js +144 -0
- package/dist/data/index.d.ts +4 -17
- package/dist/data/index.d.ts.map +1 -1
- package/dist/data/index.js +4 -17
- package/dist/data/mapping.zod.d.ts +117 -93
- package/dist/data/mapping.zod.d.ts.map +1 -1
- package/dist/data/mapping.zod.js +16 -3
- package/dist/data/object.zod.d.ts +485 -131
- package/dist/data/object.zod.d.ts.map +1 -1
- package/dist/data/object.zod.js +87 -42
- package/dist/data/query.zod.d.ts +98 -169
- package/dist/data/query.zod.d.ts.map +1 -1
- package/dist/data/query.zod.js +42 -130
- package/dist/data/validation.zod.d.ts +166 -26
- package/dist/data/validation.zod.d.ts.map +1 -1
- package/dist/data/validation.zod.js +38 -16
- package/dist/hub/composer.zod.d.ts +871 -0
- package/dist/hub/composer.zod.d.ts.map +1 -0
- package/dist/hub/composer.zod.js +111 -0
- package/dist/hub/index.d.ts +6 -0
- package/dist/hub/index.d.ts.map +1 -0
- package/dist/hub/index.js +22 -0
- package/dist/{system → hub}/license.zod.d.ts +13 -9
- package/dist/hub/license.zod.d.ts.map +1 -0
- package/dist/{system → hub}/license.zod.js +5 -3
- package/dist/hub/marketplace.zod.d.ts +191 -0
- package/dist/hub/marketplace.zod.d.ts.map +1 -0
- package/dist/hub/marketplace.zod.js +85 -0
- package/dist/hub/space.zod.d.ts +383 -0
- package/dist/hub/space.zod.d.ts.map +1 -0
- package/dist/hub/space.zod.js +103 -0
- package/dist/{system → hub}/tenant.zod.d.ts +73 -47
- package/dist/hub/tenant.zod.d.ts.map +1 -0
- package/dist/{system → hub}/tenant.zod.js +36 -10
- package/dist/index.d.ts +11 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -5
- package/dist/permission/index.d.ts +14 -0
- package/dist/permission/index.d.ts.map +1 -0
- package/dist/permission/index.js +29 -0
- package/dist/{data → permission}/permission.zod.d.ts +48 -3
- package/dist/permission/permission.zod.d.ts.map +1 -0
- package/dist/{data → permission}/permission.zod.js +26 -2
- package/dist/permission/rls.zod.d.ts +605 -0
- package/dist/permission/rls.zod.d.ts.map +1 -0
- package/dist/permission/rls.zod.js +615 -0
- package/dist/permission/sharing.zod.d.ts +146 -0
- package/dist/permission/sharing.zod.d.ts.map +1 -0
- package/dist/permission/sharing.zod.js +88 -0
- package/dist/{system → permission}/territory.zod.d.ts +13 -0
- package/dist/permission/territory.zod.d.ts.map +1 -0
- package/dist/{system → permission}/territory.zod.js +15 -1
- package/dist/shared/identifiers.zod.d.ts +87 -0
- package/dist/shared/identifiers.zod.d.ts.map +1 -0
- package/dist/shared/identifiers.zod.js +101 -0
- package/dist/shared/index.d.ts +6 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +21 -0
- package/dist/stack.zod.d.ts +19869 -0
- package/dist/stack.zod.d.ts.map +1 -0
- package/dist/stack.zod.js +248 -0
- package/dist/system/audit.zod.d.ts +58 -58
- package/dist/system/context.zod.d.ts +56 -0
- package/dist/system/context.zod.d.ts.map +1 -0
- package/dist/system/context.zod.js +43 -0
- package/dist/system/datasource.zod.d.ts +40 -6
- package/dist/system/datasource.zod.d.ts.map +1 -1
- package/dist/system/datasource.zod.js +17 -13
- package/dist/system/driver/mongo.zod.d.ts +107 -0
- package/dist/system/driver/mongo.zod.d.ts.map +1 -0
- package/dist/system/driver/mongo.zod.js +80 -0
- package/dist/system/driver/postgres.zod.d.ts +134 -0
- package/dist/system/driver/postgres.zod.d.ts.map +1 -0
- package/dist/system/driver/postgres.zod.js +88 -0
- package/dist/system/driver.zod.d.ts +2249 -488
- package/dist/system/driver.zod.d.ts.map +1 -1
- package/dist/system/driver.zod.js +99 -0
- package/dist/system/events.zod.d.ts +8 -5
- package/dist/system/events.zod.d.ts.map +1 -1
- package/dist/system/events.zod.js +5 -1
- package/dist/system/feature.zod.d.ts +131 -0
- package/dist/system/feature.zod.d.ts.map +1 -0
- package/dist/system/feature.zod.js +45 -0
- package/dist/system/index.d.ts +11 -20
- package/dist/system/index.d.ts.map +1 -1
- package/dist/system/index.js +15 -20
- package/dist/system/job.zod.d.ts +5 -5
- package/dist/system/logger.zod.d.ts +111 -0
- package/dist/system/logger.zod.d.ts.map +1 -0
- package/dist/system/logger.zod.js +75 -0
- package/dist/system/manifest.zod.d.ts +136 -18
- package/dist/system/manifest.zod.d.ts.map +1 -1
- package/dist/system/manifest.zod.js +28 -0
- package/dist/system/plugin.zod.d.ts +598 -318
- package/dist/system/plugin.zod.d.ts.map +1 -1
- package/dist/system/plugin.zod.js +13 -0
- package/dist/system/scoped-storage.zod.d.ts +81 -0
- package/dist/system/scoped-storage.zod.d.ts.map +1 -0
- package/dist/system/scoped-storage.zod.js +66 -0
- package/dist/ui/action.zod.d.ts +42 -17
- package/dist/ui/action.zod.d.ts.map +1 -1
- package/dist/ui/action.zod.js +30 -1
- package/dist/ui/app.zod.d.ts +26 -11
- package/dist/ui/app.zod.d.ts.map +1 -1
- package/dist/ui/app.zod.js +32 -4
- package/dist/ui/block.zod.d.ts +265 -0
- package/dist/ui/block.zod.d.ts.map +1 -0
- package/dist/ui/block.zod.js +90 -0
- package/dist/ui/component.zod.d.ts +265 -0
- package/dist/ui/component.zod.d.ts.map +1 -0
- package/dist/ui/component.zod.js +90 -0
- package/dist/ui/dashboard.zod.d.ts +15 -15
- package/dist/ui/dashboard.zod.d.ts.map +1 -1
- package/dist/ui/dashboard.zod.js +18 -8
- package/dist/ui/index.d.ts +1 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +1 -0
- package/dist/ui/page.zod.d.ts +23 -5
- package/dist/ui/page.zod.d.ts.map +1 -1
- package/dist/ui/page.zod.js +37 -4
- package/dist/ui/report.zod.d.ts +12 -12
- package/dist/ui/theme.zod.d.ts +42 -42
- package/dist/ui/view.zod.d.ts +302 -290
- package/dist/ui/view.zod.d.ts.map +1 -1
- package/dist/ui/view.zod.js +32 -3
- package/dist/ui/widget.zod.d.ts +730 -29
- package/dist/ui/widget.zod.d.ts.map +1 -1
- package/dist/ui/widget.zod.js +294 -1
- package/json-schema/ai/{AIWorkflowAutomation.json → AIOrchestration.json} +5 -5
- package/json-schema/ai/{AIWorkflowExecutionResult.json → AIOrchestrationExecutionResult.json} +2 -2
- package/json-schema/ai/{AIWorkflowTrigger.json → AIOrchestrationTrigger.json} +2 -2
- package/json-schema/ai/{BatchAIWorkflowExecution.json → BatchAIOrchestrationExecution.json} +3 -3
- package/json-schema/{system → api}/ApiEndpoint.json +3 -1
- package/json-schema/{system → api}/ApiRoutes.json +7 -7
- package/json-schema/{system → api}/Discovery.json +7 -7
- package/json-schema/api/ExportRequest.json +402 -438
- package/json-schema/{system → api}/HttpMethod.json +3 -1
- package/json-schema/api/ODataError.json +65 -0
- package/json-schema/api/ODataFilterFunction.json +39 -0
- package/json-schema/api/ODataFilterOperator.json +24 -0
- package/json-schema/api/ODataMetadata.json +115 -0
- package/json-schema/api/ODataQuery.json +89 -0
- package/json-schema/api/ODataResponse.json +37 -0
- package/json-schema/api/RouteCategory.json +17 -0
- package/json-schema/api/RouteDefinition.json +77 -0
- package/json-schema/api/RouterConfig.json +117 -0
- package/json-schema/{system → auth}/Role.json +3 -2
- package/json-schema/auth/SCIMAddress.json +50 -0
- package/json-schema/auth/SCIMEmail.json +38 -0
- package/json-schema/auth/SCIMEnterpriseUser.json +55 -0
- package/json-schema/auth/SCIMError.json +52 -0
- package/json-schema/auth/SCIMGroup.json +102 -0
- package/json-schema/auth/SCIMGroupReference.json +36 -0
- package/json-schema/auth/SCIMListResponse.json +606 -0
- package/json-schema/auth/SCIMMemberReference.json +36 -0
- package/json-schema/auth/SCIMMeta.json +35 -0
- package/json-schema/auth/SCIMName.json +36 -0
- package/json-schema/auth/SCIMPatchOperation.json +31 -0
- package/json-schema/auth/SCIMPatchRequest.json +56 -0
- package/json-schema/auth/SCIMPhoneNumber.json +40 -0
- package/json-schema/auth/SCIMUser.json +462 -0
- package/json-schema/automation/ApprovalAction.json +35 -0
- package/json-schema/automation/ApprovalActionType.json +15 -0
- package/json-schema/automation/ApprovalProcess.json +326 -0
- package/json-schema/automation/ApprovalStep.json +147 -0
- package/json-schema/automation/ApproverType.json +16 -0
- package/json-schema/automation/AuthField.json +73 -0
- package/json-schema/automation/Authentication.json +159 -0
- package/json-schema/automation/AuthenticationType.json +18 -0
- package/json-schema/automation/ConflictResolution.json +16 -0
- package/json-schema/automation/Connector.json +440 -0
- package/json-schema/automation/ConnectorCategory.json +26 -0
- package/json-schema/automation/ConnectorInstance.json +69 -0
- package/json-schema/automation/ConnectorOperation.json +117 -0
- package/json-schema/automation/ConnectorTrigger.json +54 -0
- package/json-schema/automation/DataDestinationConfig.json +89 -0
- package/json-schema/automation/DataSourceConfig.json +34 -0
- package/json-schema/automation/DataSyncConfig.json +355 -0
- package/json-schema/automation/ETLDestination.json +57 -0
- package/json-schema/automation/ETLEndpointType.json +19 -0
- package/json-schema/automation/ETLPipeline.json +252 -0
- package/json-schema/automation/ETLPipelineRun.json +107 -0
- package/json-schema/automation/ETLRunStatus.json +17 -0
- package/json-schema/automation/ETLSource.json +60 -0
- package/json-schema/{data/LogicOperator.json → automation/ETLSyncMode.json} +5 -5
- package/json-schema/automation/ETLTransformation.json +46 -0
- package/json-schema/automation/ETLTransformationType.json +21 -0
- package/json-schema/automation/FieldMapping.json +36 -0
- package/json-schema/{data → automation}/Flow.json +31 -1
- package/json-schema/{data → automation}/FlowEdge.json +9 -0
- package/json-schema/automation/OAuth2Config.json +43 -0
- package/json-schema/automation/OperationParameter.json +59 -0
- package/json-schema/automation/OperationType.json +17 -0
- package/json-schema/automation/SyncDirection.json +14 -0
- package/json-schema/automation/SyncExecutionResult.json +135 -0
- package/json-schema/automation/SyncExecutionStatus.json +17 -0
- package/json-schema/{data/TriggerTiming.json → automation/SyncMode.json} +5 -4
- package/json-schema/{data/WorkflowRule.json → automation/TimeTrigger.json} +35 -25
- package/json-schema/{system → automation}/Webhook.json +3 -1
- package/json-schema/{system → automation}/WebhookReceiver.json +3 -1
- package/json-schema/automation/WorkflowRule.json +1032 -0
- package/json-schema/data/AggregationNode.json +23 -0
- package/json-schema/data/AsyncValidation.json +49 -2
- package/json-schema/data/ComparisonOperator.json +52 -0
- package/json-schema/data/ConditionalValidation.json +693 -46
- package/json-schema/data/CrossFieldValidation.json +33 -2
- package/json-schema/data/CurrencyConfig.json +35 -0
- package/json-schema/data/CurrencyValue.json +26 -0
- package/json-schema/data/CustomValidator.json +37 -10
- package/json-schema/data/Field.json +92 -4
- package/json-schema/data/FieldOperators.json +78 -0
- package/json-schema/data/FieldReference.json +19 -0
- package/json-schema/data/FieldType.json +12 -2
- package/json-schema/data/FormatValidation.json +33 -2
- package/json-schema/data/Hook.json +95 -0
- package/json-schema/data/HookContext.json +88 -0
- package/json-schema/data/HookEvent.json +29 -0
- package/json-schema/data/Index.json +10 -0
- package/json-schema/data/JSONValidation.json +85 -0
- package/json-schema/data/JoinNode.json +197 -213
- package/json-schema/data/JoinStrategy.json +15 -0
- package/json-schema/data/NormalizedFilter.json +234 -0
- package/json-schema/data/Object.json +1642 -32
- package/json-schema/data/ObjectCapabilities.json +30 -12
- package/json-schema/data/Query.json +246 -262
- package/json-schema/data/RangeOperator.json +26 -0
- package/json-schema/data/ScriptValidation.json +33 -2
- package/json-schema/data/SearchConfig.json +36 -0
- package/json-schema/data/SelectOption.json +4 -2
- package/json-schema/data/StateMachineValidation.json +33 -2
- package/json-schema/data/UniquenessValidation.json +33 -2
- package/json-schema/data/ValidationRule.json +693 -46
- package/json-schema/data/VectorConfig.json +51 -0
- package/json-schema/hub/BillOfMaterials.json +70 -0
- package/json-schema/hub/ComposerRequest.json +86 -0
- package/json-schema/hub/ComposerResponse.json +483 -0
- package/json-schema/hub/ConflictReport.json +53 -0
- package/json-schema/hub/DependencyRequirement.json +36 -0
- package/json-schema/hub/DeploymentTarget.json +38 -0
- package/json-schema/hub/HubSpace.json +279 -0
- package/json-schema/{system → hub}/License.json +11 -3
- package/json-schema/hub/MarketplacePlugin.json +141 -0
- package/json-schema/hub/PluginAuthor.json +26 -0
- package/json-schema/hub/PluginPricing.json +43 -0
- package/json-schema/hub/SpaceSubscription.json +77 -0
- package/json-schema/hub/SubscriptionStatus.json +16 -0
- package/json-schema/{system → hub}/Tenant.json +3 -5
- package/json-schema/permission/CriteriaSharingRule.json +82 -0
- package/json-schema/{data → permission}/OWDModel.json +2 -1
- package/json-schema/{data → permission}/ObjectPermission.json +15 -0
- package/json-schema/permission/OwnerSharingRule.json +102 -0
- package/json-schema/{data → permission}/PermissionSet.json +18 -1
- package/json-schema/permission/RLSConfig.json +59 -0
- package/json-schema/permission/RLSEvaluationResult.json +40 -0
- package/json-schema/{data/TriggerAction.json → permission/RLSOperation.json} +5 -3
- package/json-schema/permission/RLSUserContext.json +51 -0
- package/json-schema/permission/RowLevelSecurityPolicy.json +77 -0
- package/json-schema/permission/ShareRecipientType.json +16 -0
- package/json-schema/{data → permission}/SharingLevel.json +2 -1
- package/json-schema/permission/SharingRule.json +182 -0
- package/json-schema/{data → permission}/SharingRuleType.json +1 -3
- package/json-schema/{system → permission}/Territory.json +3 -1
- package/json-schema/shared/EventName.json +12 -0
- package/json-schema/shared/SnakeCaseIdentifier.json +12 -0
- package/json-schema/shared/SystemIdentifier.json +12 -0
- package/json-schema/system/Datasource.json +35 -0
- package/json-schema/system/DriverCapabilities.json +10 -0
- package/json-schema/system/DriverInterface.json +10 -0
- package/json-schema/system/DriverOptions.json +11 -0
- package/json-schema/system/Event.json +3 -2
- package/json-schema/system/FeatureFlag.json +87 -0
- package/json-schema/system/FeatureStrategy.json +16 -0
- package/json-schema/system/FileMetadata.json +43 -0
- package/json-schema/system/KernelContext.json +62 -0
- package/json-schema/system/LogEntry.json +63 -0
- package/json-schema/system/LogFormat.json +15 -0
- package/json-schema/system/LogLevel.json +17 -0
- package/json-schema/system/LoggerConfig.json +70 -0
- package/json-schema/system/Manifest.json +80 -0
- package/json-schema/system/MongoConfig.json +82 -0
- package/json-schema/system/PluginContext.json +8 -1
- package/json-schema/system/PostgresConfig.json +98 -0
- package/json-schema/system/RuntimeMode.json +16 -0
- package/json-schema/system/ScopedStorageConfig.json +54 -0
- package/json-schema/system/StorageAdapterType.json +17 -0
- package/json-schema/system/StorageScope.json +18 -0
- package/json-schema/ui/Action.json +25 -4
- package/json-schema/ui/ActionParam.json +12 -2
- package/json-schema/ui/App.json +18 -7
- package/json-schema/ui/ChartType.json +9 -1
- package/json-schema/ui/Dashboard.json +9 -1
- package/json-schema/ui/DashboardNavItem.json +3 -1
- package/json-schema/ui/DashboardWidget.json +9 -1
- package/json-schema/ui/FieldWidgetProps.json +92 -4
- package/json-schema/ui/FormView.json +4 -1
- package/json-schema/ui/GroupNavItem.json +3 -1
- package/json-schema/ui/ListView.json +7 -1
- package/json-schema/ui/NavigationItem.json +15 -5
- package/json-schema/ui/ObjectNavItem.json +3 -1
- package/json-schema/ui/Page.json +36 -4
- package/json-schema/ui/PageCardProps.json +32 -0
- package/json-schema/ui/PageComponent.json +33 -3
- package/json-schema/ui/PageComponentType.json +32 -0
- package/json-schema/ui/PageHeaderProps.json +39 -0
- package/json-schema/ui/PageNavItem.json +3 -1
- package/json-schema/ui/PageRegion.json +33 -3
- package/json-schema/ui/PageTabsProps.json +55 -0
- package/json-schema/ui/RecordDetailsProps.json +37 -0
- package/json-schema/ui/RecordHighlightsProps.json +24 -0
- package/json-schema/ui/RecordRelatedListProps.json +39 -0
- package/json-schema/ui/UrlNavItem.json +3 -1
- package/json-schema/ui/View.json +22 -4
- package/json-schema/ui/WidgetEvent.json +42 -0
- package/json-schema/ui/WidgetLifecycle.json +40 -0
- package/json-schema/ui/WidgetManifest.json +262 -0
- package/json-schema/ui/WidgetProperty.json +58 -0
- package/llms.txt +182 -0
- package/package.json +38 -16
- package/prompts/README.md +18 -0
- package/prompts/architecture.md +81 -0
- package/prompts/create-new-project.md +85 -0
- package/prompts/implement-objectai.md +39 -0
- package/prompts/implement-objectos.md +48 -0
- package/prompts/implement-objectql.md +39 -0
- package/prompts/implement-objectui.md +46 -0
- package/prompts/instructions.md +91 -0
- package/dist/ai/workflow-automation.zod.d.ts.map +0 -1
- package/dist/data/flow.zod.d.ts.map +0 -1
- package/dist/data/permission.zod.d.ts.map +0 -1
- package/dist/data/sharing.zod.d.ts +0 -63
- package/dist/data/sharing.zod.d.ts.map +0 -1
- package/dist/data/sharing.zod.js +0 -57
- package/dist/data/trigger.zod.d.ts +0 -354
- package/dist/data/trigger.zod.d.ts.map +0 -1
- package/dist/data/trigger.zod.js +0 -195
- package/dist/data/workflow.zod.d.ts +0 -986
- package/dist/data/workflow.zod.d.ts.map +0 -1
- package/dist/system/api.zod.d.ts.map +0 -1
- package/dist/system/auth-protocol.d.ts.map +0 -1
- package/dist/system/auth.zod.d.ts.map +0 -1
- package/dist/system/discovery.zod.d.ts.map +0 -1
- package/dist/system/identity.zod.d.ts.map +0 -1
- package/dist/system/license.zod.d.ts.map +0 -1
- package/dist/system/organization.zod.d.ts.map +0 -1
- package/dist/system/policy.zod.d.ts.map +0 -1
- package/dist/system/realtime.zod.d.ts.map +0 -1
- package/dist/system/role.zod.d.ts.map +0 -1
- package/dist/system/tenant.zod.d.ts.map +0 -1
- package/dist/system/territory.zod.d.ts.map +0 -1
- package/dist/system/webhook.zod.d.ts.map +0 -1
- package/json-schema/README.md +0 -127
- package/json-schema/data/FieldMapping.json +0 -83
- package/json-schema/data/FilterNode.json +0 -52
- package/json-schema/data/FilterOperator.json +0 -26
- package/json-schema/data/Mapping.json +0 -598
- package/json-schema/data/SharingRule.json +0 -58
- package/json-schema/data/TransformType.json +0 -18
- package/json-schema/data/Trigger.json +0 -73
- package/json-schema/data/TriggerContext.json +0 -61
- /package/dist/{system → api}/realtime.zod.js +0 -0
- /package/dist/{system/auth.zod.js → auth/config.zod.js} +0 -0
- /package/dist/{system → auth}/identity.zod.js +0 -0
- /package/dist/{system → auth}/organization.zod.js +0 -0
- /package/dist/{system → auth}/policy.zod.js +0 -0
- /package/dist/{system/auth-protocol.js → auth/protocol.js} +0 -0
- /package/json-schema/{system → api}/ApiCapabilities.json +0 -0
- /package/json-schema/{system → api}/ApiMapping.json +0 -0
- /package/json-schema/{system → api}/Presence.json +0 -0
- /package/json-schema/{system → api}/PresenceStatus.json +0 -0
- /package/json-schema/{system → api}/RateLimit.json +0 -0
- /package/json-schema/{system → api}/RealtimeAction.json +0 -0
- /package/json-schema/{system → api}/RealtimeEvent.json +0 -0
- /package/json-schema/{system → api}/RealtimeEventType.json +0 -0
- /package/json-schema/{system → api}/Subscription.json +0 -0
- /package/json-schema/{system → api}/SubscriptionEvent.json +0 -0
- /package/json-schema/{system → api}/TransportProtocol.json +0 -0
- /package/json-schema/{system → auth}/Account.json +0 -0
- /package/json-schema/{system → auth}/AccountLinkingConfig.json +0 -0
- /package/json-schema/{system → auth}/AuditPolicy.json +0 -0
- /package/json-schema/{system → auth}/AuthConfig.json +0 -0
- /package/json-schema/{system → auth}/AuthPluginConfig.json +0 -0
- /package/json-schema/{system → auth}/AuthStrategy.json +0 -0
- /package/json-schema/{system → auth}/CSRFConfig.json +0 -0
- /package/json-schema/{system → auth}/DatabaseAdapter.json +0 -0
- /package/json-schema/{system → auth}/DatabaseMapping.json +0 -0
- /package/json-schema/{system → auth}/EmailPasswordConfig.json +0 -0
- /package/json-schema/{system → auth}/EnterpriseAuthConfig.json +0 -0
- /package/json-schema/{system → auth}/Invitation.json +0 -0
- /package/json-schema/{system → auth}/InvitationStatus.json +0 -0
- /package/json-schema/{system → auth}/LDAPConfig.json +0 -0
- /package/json-schema/{system → auth}/MagicLinkConfig.json +0 -0
- /package/json-schema/{system → auth}/Member.json +0 -0
- /package/json-schema/{system → auth}/NetworkPolicy.json +0 -0
- /package/json-schema/{system → auth}/OAuthProvider.json +0 -0
- /package/json-schema/{system → auth}/OIDCConfig.json +0 -0
- /package/json-schema/{system → auth}/Organization.json +0 -0
- /package/json-schema/{system → auth}/PasskeyConfig.json +0 -0
- /package/json-schema/{system → auth}/PasswordPolicy.json +0 -0
- /package/json-schema/{system → auth}/Policy.json +0 -0
- /package/json-schema/{system → auth}/RateLimitConfig.json +0 -0
- /package/json-schema/{system → auth}/SAMLConfig.json +0 -0
- /package/json-schema/{system → auth}/Session.json +0 -0
- /package/json-schema/{system → auth}/SessionConfig.json +0 -0
- /package/json-schema/{system → auth}/SessionPolicy.json +0 -0
- /package/json-schema/{system → auth}/StandardAuthProvider.json +0 -0
- /package/json-schema/{system → auth}/TwoFactorConfig.json +0 -0
- /package/json-schema/{system → auth}/User.json +0 -0
- /package/json-schema/{system → auth}/UserFieldMapping.json +0 -0
- /package/json-schema/{system → auth}/VerificationToken.json +0 -0
- /package/json-schema/{data → automation}/CustomScriptAction.json +0 -0
- /package/json-schema/{data → automation}/EmailAlertAction.json +0 -0
- /package/json-schema/{data → automation}/FieldUpdateAction.json +0 -0
- /package/json-schema/{data → automation}/FlowNode.json +0 -0
- /package/json-schema/{data → automation}/FlowNodeAction.json +0 -0
- /package/json-schema/{data → automation}/FlowVariable.json +0 -0
- /package/json-schema/{data → automation}/HttpCallAction.json +0 -0
- /package/json-schema/{data → automation}/PushNotificationAction.json +0 -0
- /package/json-schema/{data → automation}/SlackMessageAction.json +0 -0
- /package/json-schema/{data → automation}/SmsNotificationAction.json +0 -0
- /package/json-schema/{data → automation}/TaskCreationAction.json +0 -0
- /package/json-schema/{data → automation}/TeamsMessageAction.json +0 -0
- /package/json-schema/{data → automation}/WebhookTriggerAction.json +0 -0
- /package/json-schema/{system → automation}/WebhookTriggerType.json +0 -0
- /package/json-schema/{data → automation}/WorkflowAction.json +0 -0
- /package/json-schema/{data → automation}/WorkflowTriggerType.json +0 -0
- /package/json-schema/{system → hub}/DatabaseLevelIsolationStrategy.json +0 -0
- /package/json-schema/{system → hub}/Feature.json +0 -0
- /package/json-schema/{system → hub}/LevelIsolationStrategySchema.json +0 -0
- /package/json-schema/{system → hub}/MetricType.json +0 -0
- /package/json-schema/{system → hub}/Plan.json +0 -0
- /package/json-schema/{system → hub}/RowLevelIsolationStrategy.json +0 -0
- /package/json-schema/{system → hub}/TenantIsolationConfig.json +0 -0
- /package/json-schema/{system → hub}/TenantIsolationLevel.json +0 -0
- /package/json-schema/{system → hub}/TenantQuota.json +0 -0
- /package/json-schema/{system → hub}/TenantSecurityPolicy.json +0 -0
- /package/json-schema/{data → permission}/FieldPermission.json +0 -0
- /package/json-schema/{system → permission}/TerritoryModel.json +0 -0
- /package/json-schema/{system → permission}/TerritoryType.json +0 -0
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ETL = exports.ETLPipelineRunSchema = exports.ETLRunStatusSchema = exports.ETLPipelineSchema = exports.ETLSyncModeSchema = exports.ETLTransformationSchema = exports.ETLTransformationTypeSchema = exports.ETLDestinationSchema = exports.ETLSourceSchema = exports.ETLEndpointTypeSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
/**
|
|
6
|
+
* ETL (Extract, Transform, Load) Pipeline Protocol
|
|
7
|
+
*
|
|
8
|
+
* Inspired by modern data integration platforms like Airbyte, Fivetran, and Apache NiFi.
|
|
9
|
+
*
|
|
10
|
+
* ETL pipelines enable automated data synchronization between systems, transforming
|
|
11
|
+
* data as it moves from source to destination.
|
|
12
|
+
*
|
|
13
|
+
* ## Use Cases
|
|
14
|
+
*
|
|
15
|
+
* 1. **Data Warehouse Population**
|
|
16
|
+
* - Extract from multiple operational systems
|
|
17
|
+
* - Transform to analytical schema
|
|
18
|
+
* - Load into data warehouse
|
|
19
|
+
*
|
|
20
|
+
* 2. **System Integration**
|
|
21
|
+
* - Sync data between CRM and Marketing Automation
|
|
22
|
+
* - Keep product catalog synchronized across e-commerce platforms
|
|
23
|
+
* - Replicate data for backup/disaster recovery
|
|
24
|
+
*
|
|
25
|
+
* 3. **Data Migration**
|
|
26
|
+
* - Move data from legacy systems to modern platforms
|
|
27
|
+
* - Consolidate data from multiple sources
|
|
28
|
+
* - Split monolithic databases into microservices
|
|
29
|
+
*
|
|
30
|
+
* @see https://airbyte.com/
|
|
31
|
+
* @see https://docs.fivetran.com/
|
|
32
|
+
* @see https://nifi.apache.org/
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* const salesforceToDB: ETLPipeline = {
|
|
37
|
+
* name: 'salesforce_to_postgres',
|
|
38
|
+
* label: 'Salesforce Accounts to PostgreSQL',
|
|
39
|
+
* source: {
|
|
40
|
+
* type: 'api',
|
|
41
|
+
* connector: 'salesforce',
|
|
42
|
+
* config: { object: 'Account' }
|
|
43
|
+
* },
|
|
44
|
+
* destination: {
|
|
45
|
+
* type: 'database',
|
|
46
|
+
* connector: 'postgres',
|
|
47
|
+
* config: { table: 'accounts' }
|
|
48
|
+
* },
|
|
49
|
+
* transformations: [
|
|
50
|
+
* { type: 'map', config: { 'Name': 'account_name' } }
|
|
51
|
+
* ],
|
|
52
|
+
* schedule: '0 2 * * *' // Daily at 2 AM
|
|
53
|
+
* }
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
/**
|
|
57
|
+
* ETL Source/Destination Type
|
|
58
|
+
*/
|
|
59
|
+
exports.ETLEndpointTypeSchema = zod_1.z.enum([
|
|
60
|
+
'database', // SQL/NoSQL databases
|
|
61
|
+
'api', // REST/GraphQL APIs
|
|
62
|
+
'file', // CSV, JSON, XML, Excel files
|
|
63
|
+
'stream', // Kafka, RabbitMQ, Kinesis
|
|
64
|
+
'object', // ObjectStack object
|
|
65
|
+
'warehouse', // Data warehouse (Snowflake, BigQuery, Redshift)
|
|
66
|
+
'storage', // S3, Azure Blob, Google Cloud Storage
|
|
67
|
+
'spreadsheet', // Google Sheets, Excel Online
|
|
68
|
+
]);
|
|
69
|
+
/**
|
|
70
|
+
* ETL Source Configuration
|
|
71
|
+
*/
|
|
72
|
+
exports.ETLSourceSchema = zod_1.z.object({
|
|
73
|
+
/**
|
|
74
|
+
* Source type
|
|
75
|
+
*/
|
|
76
|
+
type: exports.ETLEndpointTypeSchema.describe('Source type'),
|
|
77
|
+
/**
|
|
78
|
+
* Connector identifier
|
|
79
|
+
* References a registered connector
|
|
80
|
+
*
|
|
81
|
+
* @example "salesforce", "postgres", "mysql", "s3"
|
|
82
|
+
*/
|
|
83
|
+
connector: zod_1.z.string().optional().describe('Connector ID'),
|
|
84
|
+
/**
|
|
85
|
+
* Source-specific configuration
|
|
86
|
+
* Structure varies by source type
|
|
87
|
+
*
|
|
88
|
+
* @example For database: { table: 'customers', schema: 'public' }
|
|
89
|
+
* @example For API: { endpoint: '/api/users', method: 'GET' }
|
|
90
|
+
* @example For file: { path: 's3://bucket/data.csv', format: 'csv' }
|
|
91
|
+
*/
|
|
92
|
+
config: zod_1.z.record(zod_1.z.any()).describe('Source configuration'),
|
|
93
|
+
/**
|
|
94
|
+
* Incremental sync configuration
|
|
95
|
+
* Allows extracting only changed data
|
|
96
|
+
*/
|
|
97
|
+
incremental: zod_1.z.object({
|
|
98
|
+
enabled: zod_1.z.boolean().default(false),
|
|
99
|
+
cursorField: zod_1.z.string().describe('Field to track progress (e.g., updated_at)'),
|
|
100
|
+
cursorValue: zod_1.z.any().optional().describe('Last processed value'),
|
|
101
|
+
}).optional().describe('Incremental extraction config'),
|
|
102
|
+
});
|
|
103
|
+
/**
|
|
104
|
+
* ETL Destination Configuration
|
|
105
|
+
*/
|
|
106
|
+
exports.ETLDestinationSchema = zod_1.z.object({
|
|
107
|
+
/**
|
|
108
|
+
* Destination type
|
|
109
|
+
*/
|
|
110
|
+
type: exports.ETLEndpointTypeSchema.describe('Destination type'),
|
|
111
|
+
/**
|
|
112
|
+
* Connector identifier
|
|
113
|
+
*/
|
|
114
|
+
connector: zod_1.z.string().optional().describe('Connector ID'),
|
|
115
|
+
/**
|
|
116
|
+
* Destination-specific configuration
|
|
117
|
+
*/
|
|
118
|
+
config: zod_1.z.record(zod_1.z.any()).describe('Destination configuration'),
|
|
119
|
+
/**
|
|
120
|
+
* Write mode
|
|
121
|
+
*/
|
|
122
|
+
writeMode: zod_1.z.enum([
|
|
123
|
+
'append', // Add new records
|
|
124
|
+
'overwrite', // Replace all data
|
|
125
|
+
'upsert', // Insert or update based on key
|
|
126
|
+
'merge', // Smart merge based on business rules
|
|
127
|
+
]).default('append').describe('How to write data'),
|
|
128
|
+
/**
|
|
129
|
+
* Primary key fields for upsert/merge
|
|
130
|
+
*/
|
|
131
|
+
primaryKey: zod_1.z.array(zod_1.z.string()).optional().describe('Primary key fields'),
|
|
132
|
+
});
|
|
133
|
+
/**
|
|
134
|
+
* ETL Transformation Type
|
|
135
|
+
*/
|
|
136
|
+
exports.ETLTransformationTypeSchema = zod_1.z.enum([
|
|
137
|
+
'map', // Field mapping/renaming
|
|
138
|
+
'filter', // Row filtering
|
|
139
|
+
'aggregate', // Aggregation/grouping
|
|
140
|
+
'join', // Joining with other data
|
|
141
|
+
'script', // Custom JavaScript/Python script
|
|
142
|
+
'lookup', // Enrich with lookup data
|
|
143
|
+
'split', // Split one record into multiple
|
|
144
|
+
'merge', // Merge multiple records into one
|
|
145
|
+
'normalize', // Data normalization
|
|
146
|
+
'deduplicate', // Remove duplicates
|
|
147
|
+
]);
|
|
148
|
+
/**
|
|
149
|
+
* ETL Transformation Configuration
|
|
150
|
+
*/
|
|
151
|
+
exports.ETLTransformationSchema = zod_1.z.object({
|
|
152
|
+
/**
|
|
153
|
+
* Transformation name
|
|
154
|
+
*/
|
|
155
|
+
name: zod_1.z.string().optional().describe('Transformation name'),
|
|
156
|
+
/**
|
|
157
|
+
* Transformation type
|
|
158
|
+
*/
|
|
159
|
+
type: exports.ETLTransformationTypeSchema.describe('Transformation type'),
|
|
160
|
+
/**
|
|
161
|
+
* Transformation-specific configuration
|
|
162
|
+
*
|
|
163
|
+
* @example For map: { oldField: 'newField' }
|
|
164
|
+
* @example For filter: { condition: 'status == "active"' }
|
|
165
|
+
* @example For script: { language: 'javascript', code: '...' }
|
|
166
|
+
*/
|
|
167
|
+
config: zod_1.z.record(zod_1.z.any()).describe('Transformation config'),
|
|
168
|
+
/**
|
|
169
|
+
* Whether to continue on error
|
|
170
|
+
*/
|
|
171
|
+
continueOnError: zod_1.z.boolean().default(false).describe('Continue on error'),
|
|
172
|
+
});
|
|
173
|
+
/**
|
|
174
|
+
* ETL Sync Mode
|
|
175
|
+
*/
|
|
176
|
+
exports.ETLSyncModeSchema = zod_1.z.enum([
|
|
177
|
+
'full', // Full refresh - extract all data every time
|
|
178
|
+
'incremental', // Only extract changed data
|
|
179
|
+
'cdc', // Change Data Capture - real-time streaming
|
|
180
|
+
]);
|
|
181
|
+
/**
|
|
182
|
+
* ETL Pipeline Schema
|
|
183
|
+
*
|
|
184
|
+
* Complete definition of a data pipeline from source to destination with transformations.
|
|
185
|
+
*/
|
|
186
|
+
exports.ETLPipelineSchema = zod_1.z.object({
|
|
187
|
+
/**
|
|
188
|
+
* Pipeline identifier (snake_case)
|
|
189
|
+
*/
|
|
190
|
+
name: zod_1.z.string()
|
|
191
|
+
.regex(/^[a-z_][a-z0-9_]*$/)
|
|
192
|
+
.describe('Pipeline identifier (snake_case)'),
|
|
193
|
+
/**
|
|
194
|
+
* Human-readable pipeline name
|
|
195
|
+
*/
|
|
196
|
+
label: zod_1.z.string().optional().describe('Pipeline display name'),
|
|
197
|
+
/**
|
|
198
|
+
* Pipeline description
|
|
199
|
+
*/
|
|
200
|
+
description: zod_1.z.string().optional().describe('Pipeline description'),
|
|
201
|
+
/**
|
|
202
|
+
* Data source configuration
|
|
203
|
+
*/
|
|
204
|
+
source: exports.ETLSourceSchema.describe('Data source'),
|
|
205
|
+
/**
|
|
206
|
+
* Data destination configuration
|
|
207
|
+
*/
|
|
208
|
+
destination: exports.ETLDestinationSchema.describe('Data destination'),
|
|
209
|
+
/**
|
|
210
|
+
* Transformation steps
|
|
211
|
+
* Applied in order from source to destination
|
|
212
|
+
*/
|
|
213
|
+
transformations: zod_1.z.array(exports.ETLTransformationSchema)
|
|
214
|
+
.optional()
|
|
215
|
+
.describe('Transformation pipeline'),
|
|
216
|
+
/**
|
|
217
|
+
* Sync mode
|
|
218
|
+
*/
|
|
219
|
+
syncMode: exports.ETLSyncModeSchema.default('full').describe('Sync mode'),
|
|
220
|
+
/**
|
|
221
|
+
* Execution schedule (cron expression)
|
|
222
|
+
*
|
|
223
|
+
* @example "0 2 * * *" - Daily at 2 AM
|
|
224
|
+
* @example "0 *\/4 * * *" - Every 4 hours
|
|
225
|
+
* @example "0 0 * * 0" - Weekly on Sunday
|
|
226
|
+
*/
|
|
227
|
+
schedule: zod_1.z.string().optional().describe('Cron schedule expression'),
|
|
228
|
+
/**
|
|
229
|
+
* Whether pipeline is enabled
|
|
230
|
+
*/
|
|
231
|
+
enabled: zod_1.z.boolean().default(true).describe('Pipeline enabled status'),
|
|
232
|
+
/**
|
|
233
|
+
* Retry configuration for failed runs
|
|
234
|
+
*/
|
|
235
|
+
retry: zod_1.z.object({
|
|
236
|
+
maxAttempts: zod_1.z.number().int().min(0).default(3).describe('Max retry attempts'),
|
|
237
|
+
backoffMs: zod_1.z.number().int().min(0).default(60000).describe('Backoff in milliseconds'),
|
|
238
|
+
}).optional().describe('Retry configuration'),
|
|
239
|
+
/**
|
|
240
|
+
* Notification configuration
|
|
241
|
+
*/
|
|
242
|
+
notifications: zod_1.z.object({
|
|
243
|
+
onSuccess: zod_1.z.array(zod_1.z.string()).optional().describe('Email addresses for success notifications'),
|
|
244
|
+
onFailure: zod_1.z.array(zod_1.z.string()).optional().describe('Email addresses for failure notifications'),
|
|
245
|
+
}).optional().describe('Notification settings'),
|
|
246
|
+
/**
|
|
247
|
+
* Pipeline tags for organization
|
|
248
|
+
*/
|
|
249
|
+
tags: zod_1.z.array(zod_1.z.string()).optional().describe('Pipeline tags'),
|
|
250
|
+
/**
|
|
251
|
+
* Custom metadata
|
|
252
|
+
*/
|
|
253
|
+
metadata: zod_1.z.record(zod_1.z.any()).optional().describe('Custom metadata'),
|
|
254
|
+
});
|
|
255
|
+
/**
|
|
256
|
+
* ETL Run Status
|
|
257
|
+
*/
|
|
258
|
+
exports.ETLRunStatusSchema = zod_1.z.enum([
|
|
259
|
+
'pending', // Queued for execution
|
|
260
|
+
'running', // Currently executing
|
|
261
|
+
'succeeded', // Completed successfully
|
|
262
|
+
'failed', // Failed with errors
|
|
263
|
+
'cancelled', // Manually cancelled
|
|
264
|
+
'timeout', // Timed out
|
|
265
|
+
]);
|
|
266
|
+
/**
|
|
267
|
+
* ETL Pipeline Run Result
|
|
268
|
+
*
|
|
269
|
+
* Result of a pipeline execution
|
|
270
|
+
*/
|
|
271
|
+
exports.ETLPipelineRunSchema = zod_1.z.object({
|
|
272
|
+
/**
|
|
273
|
+
* Run ID
|
|
274
|
+
*/
|
|
275
|
+
id: zod_1.z.string().describe('Run identifier'),
|
|
276
|
+
/**
|
|
277
|
+
* Pipeline name
|
|
278
|
+
*/
|
|
279
|
+
pipelineName: zod_1.z.string().describe('Pipeline name'),
|
|
280
|
+
/**
|
|
281
|
+
* Run status
|
|
282
|
+
*/
|
|
283
|
+
status: exports.ETLRunStatusSchema.describe('Run status'),
|
|
284
|
+
/**
|
|
285
|
+
* Start timestamp
|
|
286
|
+
*/
|
|
287
|
+
startedAt: zod_1.z.string().datetime().describe('Start time'),
|
|
288
|
+
/**
|
|
289
|
+
* End timestamp
|
|
290
|
+
*/
|
|
291
|
+
completedAt: zod_1.z.string().datetime().optional().describe('Completion time'),
|
|
292
|
+
/**
|
|
293
|
+
* Duration in milliseconds
|
|
294
|
+
*/
|
|
295
|
+
durationMs: zod_1.z.number().optional().describe('Duration in ms'),
|
|
296
|
+
/**
|
|
297
|
+
* Statistics
|
|
298
|
+
*/
|
|
299
|
+
stats: zod_1.z.object({
|
|
300
|
+
recordsRead: zod_1.z.number().int().default(0).describe('Records extracted'),
|
|
301
|
+
recordsWritten: zod_1.z.number().int().default(0).describe('Records loaded'),
|
|
302
|
+
recordsErrored: zod_1.z.number().int().default(0).describe('Records with errors'),
|
|
303
|
+
bytesProcessed: zod_1.z.number().int().default(0).describe('Bytes processed'),
|
|
304
|
+
}).optional().describe('Run statistics'),
|
|
305
|
+
/**
|
|
306
|
+
* Error information
|
|
307
|
+
*/
|
|
308
|
+
error: zod_1.z.object({
|
|
309
|
+
message: zod_1.z.string().describe('Error message'),
|
|
310
|
+
code: zod_1.z.string().optional().describe('Error code'),
|
|
311
|
+
details: zod_1.z.any().optional().describe('Error details'),
|
|
312
|
+
}).optional().describe('Error information'),
|
|
313
|
+
/**
|
|
314
|
+
* Execution logs
|
|
315
|
+
*/
|
|
316
|
+
logs: zod_1.z.array(zod_1.z.string()).optional().describe('Execution logs'),
|
|
317
|
+
});
|
|
318
|
+
/**
|
|
319
|
+
* Helper factory for creating ETL pipelines
|
|
320
|
+
*/
|
|
321
|
+
exports.ETL = {
|
|
322
|
+
/**
|
|
323
|
+
* Create a simple database-to-database pipeline
|
|
324
|
+
*/
|
|
325
|
+
databaseSync: (params) => ({
|
|
326
|
+
name: params.name,
|
|
327
|
+
source: {
|
|
328
|
+
type: 'database',
|
|
329
|
+
config: { table: params.sourceTable },
|
|
330
|
+
},
|
|
331
|
+
destination: {
|
|
332
|
+
type: 'database',
|
|
333
|
+
config: { table: params.destTable },
|
|
334
|
+
writeMode: 'upsert',
|
|
335
|
+
},
|
|
336
|
+
syncMode: 'incremental',
|
|
337
|
+
schedule: params.schedule,
|
|
338
|
+
enabled: true,
|
|
339
|
+
}),
|
|
340
|
+
/**
|
|
341
|
+
* Create an API to database pipeline
|
|
342
|
+
*/
|
|
343
|
+
apiToDatabase: (params) => ({
|
|
344
|
+
name: params.name,
|
|
345
|
+
source: {
|
|
346
|
+
type: 'api',
|
|
347
|
+
connector: params.apiConnector,
|
|
348
|
+
config: {},
|
|
349
|
+
},
|
|
350
|
+
destination: {
|
|
351
|
+
type: 'database',
|
|
352
|
+
config: { table: params.destTable },
|
|
353
|
+
writeMode: 'append',
|
|
354
|
+
},
|
|
355
|
+
syncMode: 'full',
|
|
356
|
+
schedule: params.schedule,
|
|
357
|
+
enabled: true,
|
|
358
|
+
}),
|
|
359
|
+
};
|
|
@@ -45,23 +45,23 @@ export declare const FlowNodeSchema: z.ZodObject<{
|
|
|
45
45
|
y: number;
|
|
46
46
|
}>>;
|
|
47
47
|
}, "strip", z.ZodTypeAny, {
|
|
48
|
-
type: "
|
|
48
|
+
type: "loop" | "start" | "end" | "script" | "create_record" | "decision" | "assignment" | "update_record" | "delete_record" | "get_record" | "http_request" | "wait" | "subflow";
|
|
49
49
|
label: string;
|
|
50
50
|
id: string;
|
|
51
|
-
config?: Record<string, any> | undefined;
|
|
52
51
|
position?: {
|
|
53
52
|
x: number;
|
|
54
53
|
y: number;
|
|
55
54
|
} | undefined;
|
|
55
|
+
config?: Record<string, any> | undefined;
|
|
56
56
|
}, {
|
|
57
|
-
type: "
|
|
57
|
+
type: "loop" | "start" | "end" | "script" | "create_record" | "decision" | "assignment" | "update_record" | "delete_record" | "get_record" | "http_request" | "wait" | "subflow";
|
|
58
58
|
label: string;
|
|
59
59
|
id: string;
|
|
60
|
-
config?: Record<string, any> | undefined;
|
|
61
60
|
position?: {
|
|
62
61
|
x: number;
|
|
63
62
|
y: number;
|
|
64
63
|
} | undefined;
|
|
64
|
+
config?: Record<string, any> | undefined;
|
|
65
65
|
}>;
|
|
66
66
|
/**
|
|
67
67
|
* Flow Edge Schema
|
|
@@ -73,17 +73,20 @@ export declare const FlowEdgeSchema: z.ZodObject<{
|
|
|
73
73
|
target: z.ZodString;
|
|
74
74
|
/** Condition for this path (only for decision/branch nodes) */
|
|
75
75
|
condition: z.ZodOptional<z.ZodString>;
|
|
76
|
+
type: z.ZodDefault<z.ZodEnum<["default", "fault"]>>;
|
|
76
77
|
label: z.ZodOptional<z.ZodString>;
|
|
77
78
|
}, "strip", z.ZodTypeAny, {
|
|
79
|
+
type: "default" | "fault";
|
|
78
80
|
id: string;
|
|
79
|
-
source: string;
|
|
80
81
|
target: string;
|
|
82
|
+
source: string;
|
|
81
83
|
label?: string | undefined;
|
|
82
84
|
condition?: string | undefined;
|
|
83
85
|
}, {
|
|
84
86
|
id: string;
|
|
85
|
-
source: string;
|
|
86
87
|
target: string;
|
|
88
|
+
source: string;
|
|
89
|
+
type?: "default" | "fault" | undefined;
|
|
87
90
|
label?: string | undefined;
|
|
88
91
|
condition?: string | undefined;
|
|
89
92
|
}>;
|
|
@@ -96,6 +99,10 @@ export declare const FlowSchema: z.ZodObject<{
|
|
|
96
99
|
name: z.ZodString;
|
|
97
100
|
label: z.ZodString;
|
|
98
101
|
description: z.ZodOptional<z.ZodString>;
|
|
102
|
+
/** Metadata & Versioning */
|
|
103
|
+
version: z.ZodDefault<z.ZodNumber>;
|
|
104
|
+
status: z.ZodDefault<z.ZodEnum<["draft", "active", "obsolete", "invalid"]>>;
|
|
105
|
+
template: z.ZodDefault<z.ZodBoolean>;
|
|
99
106
|
/** Trigger Type */
|
|
100
107
|
type: z.ZodEnum<["autolaunched", "record_change", "schedule", "screen", "api"]>;
|
|
101
108
|
/** Configuration Variables */
|
|
@@ -134,23 +141,23 @@ export declare const FlowSchema: z.ZodObject<{
|
|
|
134
141
|
y: number;
|
|
135
142
|
}>>;
|
|
136
143
|
}, "strip", z.ZodTypeAny, {
|
|
137
|
-
type: "
|
|
144
|
+
type: "loop" | "start" | "end" | "script" | "create_record" | "decision" | "assignment" | "update_record" | "delete_record" | "get_record" | "http_request" | "wait" | "subflow";
|
|
138
145
|
label: string;
|
|
139
146
|
id: string;
|
|
140
|
-
config?: Record<string, any> | undefined;
|
|
141
147
|
position?: {
|
|
142
148
|
x: number;
|
|
143
149
|
y: number;
|
|
144
150
|
} | undefined;
|
|
151
|
+
config?: Record<string, any> | undefined;
|
|
145
152
|
}, {
|
|
146
|
-
type: "
|
|
153
|
+
type: "loop" | "start" | "end" | "script" | "create_record" | "decision" | "assignment" | "update_record" | "delete_record" | "get_record" | "http_request" | "wait" | "subflow";
|
|
147
154
|
label: string;
|
|
148
155
|
id: string;
|
|
149
|
-
config?: Record<string, any> | undefined;
|
|
150
156
|
position?: {
|
|
151
157
|
x: number;
|
|
152
158
|
y: number;
|
|
153
159
|
} | undefined;
|
|
160
|
+
config?: Record<string, any> | undefined;
|
|
154
161
|
}>, "many">;
|
|
155
162
|
edges: z.ZodArray<z.ZodObject<{
|
|
156
163
|
id: z.ZodString;
|
|
@@ -158,17 +165,20 @@ export declare const FlowSchema: z.ZodObject<{
|
|
|
158
165
|
target: z.ZodString;
|
|
159
166
|
/** Condition for this path (only for decision/branch nodes) */
|
|
160
167
|
condition: z.ZodOptional<z.ZodString>;
|
|
168
|
+
type: z.ZodDefault<z.ZodEnum<["default", "fault"]>>;
|
|
161
169
|
label: z.ZodOptional<z.ZodString>;
|
|
162
170
|
}, "strip", z.ZodTypeAny, {
|
|
171
|
+
type: "default" | "fault";
|
|
163
172
|
id: string;
|
|
164
|
-
source: string;
|
|
165
173
|
target: string;
|
|
174
|
+
source: string;
|
|
166
175
|
label?: string | undefined;
|
|
167
176
|
condition?: string | undefined;
|
|
168
177
|
}, {
|
|
169
178
|
id: string;
|
|
170
|
-
source: string;
|
|
171
179
|
target: string;
|
|
180
|
+
source: string;
|
|
181
|
+
type?: "default" | "fault" | undefined;
|
|
172
182
|
label?: string | undefined;
|
|
173
183
|
condition?: string | undefined;
|
|
174
184
|
}>, "many">;
|
|
@@ -176,28 +186,32 @@ export declare const FlowSchema: z.ZodObject<{
|
|
|
176
186
|
active: z.ZodDefault<z.ZodBoolean>;
|
|
177
187
|
runAs: z.ZodDefault<z.ZodEnum<["system", "user"]>>;
|
|
178
188
|
}, "strip", z.ZodTypeAny, {
|
|
179
|
-
type: "
|
|
189
|
+
type: "api" | "schedule" | "autolaunched" | "record_change" | "screen";
|
|
190
|
+
status: "active" | "draft" | "obsolete" | "invalid";
|
|
180
191
|
label: string;
|
|
181
192
|
name: string;
|
|
182
193
|
active: boolean;
|
|
194
|
+
version: number;
|
|
195
|
+
template: boolean;
|
|
183
196
|
nodes: {
|
|
184
|
-
type: "
|
|
197
|
+
type: "loop" | "start" | "end" | "script" | "create_record" | "decision" | "assignment" | "update_record" | "delete_record" | "get_record" | "http_request" | "wait" | "subflow";
|
|
185
198
|
label: string;
|
|
186
199
|
id: string;
|
|
187
|
-
config?: Record<string, any> | undefined;
|
|
188
200
|
position?: {
|
|
189
201
|
x: number;
|
|
190
202
|
y: number;
|
|
191
203
|
} | undefined;
|
|
204
|
+
config?: Record<string, any> | undefined;
|
|
192
205
|
}[];
|
|
193
206
|
edges: {
|
|
207
|
+
type: "default" | "fault";
|
|
194
208
|
id: string;
|
|
195
|
-
source: string;
|
|
196
209
|
target: string;
|
|
210
|
+
source: string;
|
|
197
211
|
label?: string | undefined;
|
|
198
212
|
condition?: string | undefined;
|
|
199
213
|
}[];
|
|
200
|
-
runAs: "
|
|
214
|
+
runAs: "user" | "system";
|
|
201
215
|
description?: string | undefined;
|
|
202
216
|
variables?: {
|
|
203
217
|
type: string;
|
|
@@ -206,35 +220,39 @@ export declare const FlowSchema: z.ZodObject<{
|
|
|
206
220
|
isOutput: boolean;
|
|
207
221
|
}[] | undefined;
|
|
208
222
|
}, {
|
|
209
|
-
type: "
|
|
223
|
+
type: "api" | "schedule" | "autolaunched" | "record_change" | "screen";
|
|
210
224
|
label: string;
|
|
211
225
|
name: string;
|
|
212
226
|
nodes: {
|
|
213
|
-
type: "
|
|
227
|
+
type: "loop" | "start" | "end" | "script" | "create_record" | "decision" | "assignment" | "update_record" | "delete_record" | "get_record" | "http_request" | "wait" | "subflow";
|
|
214
228
|
label: string;
|
|
215
229
|
id: string;
|
|
216
|
-
config?: Record<string, any> | undefined;
|
|
217
230
|
position?: {
|
|
218
231
|
x: number;
|
|
219
232
|
y: number;
|
|
220
233
|
} | undefined;
|
|
234
|
+
config?: Record<string, any> | undefined;
|
|
221
235
|
}[];
|
|
222
236
|
edges: {
|
|
223
237
|
id: string;
|
|
224
|
-
source: string;
|
|
225
238
|
target: string;
|
|
239
|
+
source: string;
|
|
240
|
+
type?: "default" | "fault" | undefined;
|
|
226
241
|
label?: string | undefined;
|
|
227
242
|
condition?: string | undefined;
|
|
228
243
|
}[];
|
|
244
|
+
status?: "active" | "draft" | "obsolete" | "invalid" | undefined;
|
|
229
245
|
description?: string | undefined;
|
|
230
246
|
active?: boolean | undefined;
|
|
247
|
+
version?: number | undefined;
|
|
248
|
+
template?: boolean | undefined;
|
|
231
249
|
variables?: {
|
|
232
250
|
type: string;
|
|
233
251
|
name: string;
|
|
234
252
|
isInput?: boolean | undefined;
|
|
235
253
|
isOutput?: boolean | undefined;
|
|
236
254
|
}[] | undefined;
|
|
237
|
-
runAs?: "
|
|
255
|
+
runAs?: "user" | "system" | undefined;
|
|
238
256
|
}>;
|
|
239
257
|
export type Flow = z.infer<typeof FlowSchema>;
|
|
240
258
|
export type FlowNode = z.infer<typeof FlowNodeSchema>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow.zod.d.ts","sourceRoot":"","sources":["../../src/automation/flow.zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,cAAc,6KAczB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAK7B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;IAKzB,oDAAoD;;IAGpD,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEnC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;IAKzB,+DAA+D;;;;;;;;;;;;;;;;;;EAK/D,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,UAAU;IACrB,eAAe;;;;IAKf,4BAA4B;;;;IAK5B,mBAAmB;;IAGnB,8BAA8B;;;;;;;;;;;;;;;;;IAG9B,uBAAuB;;;;;QA5CvB,oDAAoD;;QAGpD,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAanC,+DAA+D;;;;;;;;;;;;;;;;;;;IAgC/D,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGvB,CAAC;AAEH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAC9C,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
|
|
@@ -53,6 +53,7 @@ exports.FlowEdgeSchema = zod_1.z.object({
|
|
|
53
53
|
target: zod_1.z.string().describe('Target Node ID'),
|
|
54
54
|
/** Condition for this path (only for decision/branch nodes) */
|
|
55
55
|
condition: zod_1.z.string().optional().describe('Expression returning boolean used for branching'),
|
|
56
|
+
type: zod_1.z.enum(['default', 'fault']).default('default').describe('Connection type: Standard (Success) or Fault (Error) path'),
|
|
56
57
|
label: zod_1.z.string().optional().describe('Label on the connector'),
|
|
57
58
|
});
|
|
58
59
|
/**
|
|
@@ -64,6 +65,10 @@ exports.FlowSchema = zod_1.z.object({
|
|
|
64
65
|
name: zod_1.z.string().regex(/^[a-z_][a-z0-9_]*$/).describe('Machine name'),
|
|
65
66
|
label: zod_1.z.string().describe('Flow label'),
|
|
66
67
|
description: zod_1.z.string().optional(),
|
|
68
|
+
/** Metadata & Versioning */
|
|
69
|
+
version: zod_1.z.number().int().default(1).describe('Version number'),
|
|
70
|
+
status: zod_1.z.enum(['draft', 'active', 'obsolete', 'invalid']).default('draft').describe('Deployment status'),
|
|
71
|
+
template: zod_1.z.boolean().default(false).describe('Is logic template (Subflow)'),
|
|
67
72
|
/** Trigger Type */
|
|
68
73
|
type: zod_1.z.enum(['autolaunched', 'record_change', 'schedule', 'screen', 'api']).describe('Flow type'),
|
|
69
74
|
/** Configuration Variables */
|
|
@@ -72,6 +77,6 @@ exports.FlowSchema = zod_1.z.object({
|
|
|
72
77
|
nodes: zod_1.z.array(exports.FlowNodeSchema).describe('Flow nodes'),
|
|
73
78
|
edges: zod_1.z.array(exports.FlowEdgeSchema).describe('Flow connections'),
|
|
74
79
|
/** Execution Config */
|
|
75
|
-
active: zod_1.z.boolean().default(false).describe('Is active'),
|
|
80
|
+
active: zod_1.z.boolean().default(false).describe('Is active (Deprecated: use status)'),
|
|
76
81
|
runAs: zod_1.z.enum(['system', 'user']).default('user').describe('Execution context'),
|
|
77
82
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/automation/index.ts"],"names":[],"mappings":"AACA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./workflow.zod"), exports);
|
|
18
|
+
__exportStar(require("./flow.zod"), exports);
|
|
19
|
+
__exportStar(require("./webhook.zod"), exports);
|
|
20
|
+
__exportStar(require("./approval.zod"), exports);
|
|
21
|
+
__exportStar(require("./etl.zod"), exports);
|
|
22
|
+
__exportStar(require("./connector.zod"), exports);
|
|
23
|
+
__exportStar(require("./sync.zod"), exports);
|