@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.
Files changed (523) hide show
  1. package/README.md +32 -10
  2. package/dist/ai/agent.zod.d.ts +12 -12
  3. package/dist/ai/conversation.zod.d.ts +54 -54
  4. package/dist/ai/cost.zod.d.ts +135 -135
  5. package/dist/ai/index.d.ts +1 -1
  6. package/dist/ai/index.d.ts.map +1 -1
  7. package/dist/ai/index.js +1 -1
  8. package/dist/ai/model-registry.zod.d.ts +91 -91
  9. package/dist/ai/nlq.zod.d.ts +72 -72
  10. package/dist/ai/{workflow-automation.zod.d.ts → orchestration.zod.d.ts} +51 -50
  11. package/dist/ai/orchestration.zod.d.ts.map +1 -0
  12. package/dist/ai/{workflow-automation.zod.js → orchestration.zod.js} +26 -25
  13. package/dist/ai/predictive.zod.d.ts +27 -27
  14. package/dist/ai/rag-pipeline.zod.d.ts +102 -102
  15. package/dist/api/contract.zod.d.ts +213 -197
  16. package/dist/api/contract.zod.d.ts.map +1 -1
  17. package/dist/{system → api}/discovery.zod.d.ts +26 -26
  18. package/dist/api/discovery.zod.d.ts.map +1 -0
  19. package/dist/{system → api}/discovery.zod.js +9 -9
  20. package/dist/{system/api.zod.d.ts → api/endpoint.zod.d.ts} +53 -57
  21. package/dist/api/endpoint.zod.d.ts.map +1 -0
  22. package/dist/{system/api.zod.js → api/endpoint.zod.js} +3 -6
  23. package/dist/api/index.d.ts +6 -0
  24. package/dist/api/index.d.ts.map +1 -1
  25. package/dist/api/index.js +6 -0
  26. package/dist/api/odata.zod.d.ts +482 -0
  27. package/dist/api/odata.zod.d.ts.map +1 -0
  28. package/dist/api/odata.zod.js +401 -0
  29. package/dist/{system → api}/realtime.zod.d.ts +4 -4
  30. package/dist/api/realtime.zod.d.ts.map +1 -0
  31. package/dist/api/router.zod.d.ts +182 -0
  32. package/dist/api/router.zod.d.ts.map +1 -0
  33. package/dist/api/router.zod.js +103 -0
  34. package/dist/{system/auth.zod.d.ts → auth/config.zod.d.ts} +199 -199
  35. package/dist/auth/config.zod.d.ts.map +1 -0
  36. package/dist/{system → auth}/identity.zod.d.ts +8 -8
  37. package/dist/auth/identity.zod.d.ts.map +1 -0
  38. package/dist/auth/index.d.ts +8 -0
  39. package/dist/auth/index.d.ts.map +1 -0
  40. package/dist/auth/index.js +23 -0
  41. package/dist/{system → auth}/organization.zod.d.ts +7 -7
  42. package/dist/auth/organization.zod.d.ts.map +1 -0
  43. package/dist/{system → auth}/policy.zod.d.ts +3 -3
  44. package/dist/auth/policy.zod.d.ts.map +1 -0
  45. package/dist/{system/auth-protocol.d.ts → auth/protocol.d.ts} +1 -1
  46. package/dist/auth/protocol.d.ts.map +1 -0
  47. package/dist/{system → auth}/role.zod.d.ts +14 -0
  48. package/dist/auth/role.zod.d.ts.map +1 -0
  49. package/dist/{system → auth}/role.zod.js +16 -1
  50. package/dist/auth/scim.zod.d.ts +2732 -0
  51. package/dist/auth/scim.zod.d.ts.map +1 -0
  52. package/dist/auth/scim.zod.js +811 -0
  53. package/dist/automation/approval.zod.d.ts +643 -0
  54. package/dist/automation/approval.zod.d.ts.map +1 -0
  55. package/dist/automation/approval.zod.js +84 -0
  56. package/dist/automation/connector.zod.d.ts +1284 -0
  57. package/dist/automation/connector.zod.d.ts.map +1 -0
  58. package/dist/automation/connector.zod.js +500 -0
  59. package/dist/automation/etl.zod.d.ts +623 -0
  60. package/dist/automation/etl.zod.d.ts.map +1 -0
  61. package/dist/automation/etl.zod.js +359 -0
  62. package/dist/{data → automation}/flow.zod.d.ts +40 -22
  63. package/dist/automation/flow.zod.d.ts.map +1 -0
  64. package/dist/{data → automation}/flow.zod.js +6 -1
  65. package/dist/automation/index.d.ts +8 -0
  66. package/dist/automation/index.d.ts.map +1 -0
  67. package/dist/automation/index.js +23 -0
  68. package/dist/automation/sync.zod.d.ts +854 -0
  69. package/dist/automation/sync.zod.d.ts.map +1 -0
  70. package/dist/automation/sync.zod.js +444 -0
  71. package/dist/{system → automation}/webhook.zod.d.ts +26 -3
  72. package/dist/automation/webhook.zod.d.ts.map +1 -0
  73. package/dist/{system → automation}/webhook.zod.js +27 -3
  74. package/dist/automation/workflow.zod.d.ts +2059 -0
  75. package/dist/automation/workflow.zod.d.ts.map +1 -0
  76. package/dist/{data → automation}/workflow.zod.js +40 -2
  77. package/dist/data/dataset.zod.d.ts +2 -2
  78. package/dist/data/field.zod.d.ts +779 -219
  79. package/dist/data/field.zod.d.ts.map +1 -1
  80. package/dist/data/field.zod.js +128 -16
  81. package/dist/data/filter.zod.d.ts +167 -30
  82. package/dist/data/filter.zod.d.ts.map +1 -1
  83. package/dist/data/filter.zod.js +25 -13
  84. package/dist/data/hook.zod.d.ts +191 -0
  85. package/dist/data/hook.zod.d.ts.map +1 -0
  86. package/dist/data/hook.zod.js +144 -0
  87. package/dist/data/index.d.ts +4 -17
  88. package/dist/data/index.d.ts.map +1 -1
  89. package/dist/data/index.js +4 -17
  90. package/dist/data/mapping.zod.d.ts +117 -93
  91. package/dist/data/mapping.zod.d.ts.map +1 -1
  92. package/dist/data/mapping.zod.js +16 -3
  93. package/dist/data/object.zod.d.ts +485 -131
  94. package/dist/data/object.zod.d.ts.map +1 -1
  95. package/dist/data/object.zod.js +87 -42
  96. package/dist/data/query.zod.d.ts +98 -169
  97. package/dist/data/query.zod.d.ts.map +1 -1
  98. package/dist/data/query.zod.js +42 -130
  99. package/dist/data/validation.zod.d.ts +166 -26
  100. package/dist/data/validation.zod.d.ts.map +1 -1
  101. package/dist/data/validation.zod.js +38 -16
  102. package/dist/hub/composer.zod.d.ts +871 -0
  103. package/dist/hub/composer.zod.d.ts.map +1 -0
  104. package/dist/hub/composer.zod.js +111 -0
  105. package/dist/hub/index.d.ts +6 -0
  106. package/dist/hub/index.d.ts.map +1 -0
  107. package/dist/hub/index.js +22 -0
  108. package/dist/{system → hub}/license.zod.d.ts +13 -9
  109. package/dist/hub/license.zod.d.ts.map +1 -0
  110. package/dist/{system → hub}/license.zod.js +5 -3
  111. package/dist/hub/marketplace.zod.d.ts +191 -0
  112. package/dist/hub/marketplace.zod.d.ts.map +1 -0
  113. package/dist/hub/marketplace.zod.js +85 -0
  114. package/dist/hub/space.zod.d.ts +383 -0
  115. package/dist/hub/space.zod.d.ts.map +1 -0
  116. package/dist/hub/space.zod.js +103 -0
  117. package/dist/{system → hub}/tenant.zod.d.ts +73 -47
  118. package/dist/hub/tenant.zod.d.ts.map +1 -0
  119. package/dist/{system → hub}/tenant.zod.js +36 -10
  120. package/dist/index.d.ts +11 -4
  121. package/dist/index.d.ts.map +1 -1
  122. package/dist/index.js +15 -5
  123. package/dist/permission/index.d.ts +14 -0
  124. package/dist/permission/index.d.ts.map +1 -0
  125. package/dist/permission/index.js +29 -0
  126. package/dist/{data → permission}/permission.zod.d.ts +48 -3
  127. package/dist/permission/permission.zod.d.ts.map +1 -0
  128. package/dist/{data → permission}/permission.zod.js +26 -2
  129. package/dist/permission/rls.zod.d.ts +605 -0
  130. package/dist/permission/rls.zod.d.ts.map +1 -0
  131. package/dist/permission/rls.zod.js +615 -0
  132. package/dist/permission/sharing.zod.d.ts +146 -0
  133. package/dist/permission/sharing.zod.d.ts.map +1 -0
  134. package/dist/permission/sharing.zod.js +88 -0
  135. package/dist/{system → permission}/territory.zod.d.ts +13 -0
  136. package/dist/permission/territory.zod.d.ts.map +1 -0
  137. package/dist/{system → permission}/territory.zod.js +15 -1
  138. package/dist/shared/identifiers.zod.d.ts +87 -0
  139. package/dist/shared/identifiers.zod.d.ts.map +1 -0
  140. package/dist/shared/identifiers.zod.js +101 -0
  141. package/dist/shared/index.d.ts +6 -0
  142. package/dist/shared/index.d.ts.map +1 -0
  143. package/dist/shared/index.js +21 -0
  144. package/dist/stack.zod.d.ts +19869 -0
  145. package/dist/stack.zod.d.ts.map +1 -0
  146. package/dist/stack.zod.js +248 -0
  147. package/dist/system/audit.zod.d.ts +58 -58
  148. package/dist/system/context.zod.d.ts +56 -0
  149. package/dist/system/context.zod.d.ts.map +1 -0
  150. package/dist/system/context.zod.js +43 -0
  151. package/dist/system/datasource.zod.d.ts +40 -6
  152. package/dist/system/datasource.zod.d.ts.map +1 -1
  153. package/dist/system/datasource.zod.js +17 -13
  154. package/dist/system/driver/mongo.zod.d.ts +107 -0
  155. package/dist/system/driver/mongo.zod.d.ts.map +1 -0
  156. package/dist/system/driver/mongo.zod.js +80 -0
  157. package/dist/system/driver/postgres.zod.d.ts +134 -0
  158. package/dist/system/driver/postgres.zod.d.ts.map +1 -0
  159. package/dist/system/driver/postgres.zod.js +88 -0
  160. package/dist/system/driver.zod.d.ts +2249 -488
  161. package/dist/system/driver.zod.d.ts.map +1 -1
  162. package/dist/system/driver.zod.js +99 -0
  163. package/dist/system/events.zod.d.ts +8 -5
  164. package/dist/system/events.zod.d.ts.map +1 -1
  165. package/dist/system/events.zod.js +5 -1
  166. package/dist/system/feature.zod.d.ts +131 -0
  167. package/dist/system/feature.zod.d.ts.map +1 -0
  168. package/dist/system/feature.zod.js +45 -0
  169. package/dist/system/index.d.ts +11 -20
  170. package/dist/system/index.d.ts.map +1 -1
  171. package/dist/system/index.js +15 -20
  172. package/dist/system/job.zod.d.ts +5 -5
  173. package/dist/system/logger.zod.d.ts +111 -0
  174. package/dist/system/logger.zod.d.ts.map +1 -0
  175. package/dist/system/logger.zod.js +75 -0
  176. package/dist/system/manifest.zod.d.ts +136 -18
  177. package/dist/system/manifest.zod.d.ts.map +1 -1
  178. package/dist/system/manifest.zod.js +28 -0
  179. package/dist/system/plugin.zod.d.ts +598 -318
  180. package/dist/system/plugin.zod.d.ts.map +1 -1
  181. package/dist/system/plugin.zod.js +13 -0
  182. package/dist/system/scoped-storage.zod.d.ts +81 -0
  183. package/dist/system/scoped-storage.zod.d.ts.map +1 -0
  184. package/dist/system/scoped-storage.zod.js +66 -0
  185. package/dist/ui/action.zod.d.ts +42 -17
  186. package/dist/ui/action.zod.d.ts.map +1 -1
  187. package/dist/ui/action.zod.js +30 -1
  188. package/dist/ui/app.zod.d.ts +26 -11
  189. package/dist/ui/app.zod.d.ts.map +1 -1
  190. package/dist/ui/app.zod.js +32 -4
  191. package/dist/ui/block.zod.d.ts +265 -0
  192. package/dist/ui/block.zod.d.ts.map +1 -0
  193. package/dist/ui/block.zod.js +90 -0
  194. package/dist/ui/component.zod.d.ts +265 -0
  195. package/dist/ui/component.zod.d.ts.map +1 -0
  196. package/dist/ui/component.zod.js +90 -0
  197. package/dist/ui/dashboard.zod.d.ts +15 -15
  198. package/dist/ui/dashboard.zod.d.ts.map +1 -1
  199. package/dist/ui/dashboard.zod.js +18 -8
  200. package/dist/ui/index.d.ts +1 -0
  201. package/dist/ui/index.d.ts.map +1 -1
  202. package/dist/ui/index.js +1 -0
  203. package/dist/ui/page.zod.d.ts +23 -5
  204. package/dist/ui/page.zod.d.ts.map +1 -1
  205. package/dist/ui/page.zod.js +37 -4
  206. package/dist/ui/report.zod.d.ts +12 -12
  207. package/dist/ui/theme.zod.d.ts +42 -42
  208. package/dist/ui/view.zod.d.ts +302 -290
  209. package/dist/ui/view.zod.d.ts.map +1 -1
  210. package/dist/ui/view.zod.js +32 -3
  211. package/dist/ui/widget.zod.d.ts +730 -29
  212. package/dist/ui/widget.zod.d.ts.map +1 -1
  213. package/dist/ui/widget.zod.js +294 -1
  214. package/json-schema/ai/{AIWorkflowAutomation.json → AIOrchestration.json} +5 -5
  215. package/json-schema/ai/{AIWorkflowExecutionResult.json → AIOrchestrationExecutionResult.json} +2 -2
  216. package/json-schema/ai/{AIWorkflowTrigger.json → AIOrchestrationTrigger.json} +2 -2
  217. package/json-schema/ai/{BatchAIWorkflowExecution.json → BatchAIOrchestrationExecution.json} +3 -3
  218. package/json-schema/{system → api}/ApiEndpoint.json +3 -1
  219. package/json-schema/{system → api}/ApiRoutes.json +7 -7
  220. package/json-schema/{system → api}/Discovery.json +7 -7
  221. package/json-schema/api/ExportRequest.json +402 -438
  222. package/json-schema/{system → api}/HttpMethod.json +3 -1
  223. package/json-schema/api/ODataError.json +65 -0
  224. package/json-schema/api/ODataFilterFunction.json +39 -0
  225. package/json-schema/api/ODataFilterOperator.json +24 -0
  226. package/json-schema/api/ODataMetadata.json +115 -0
  227. package/json-schema/api/ODataQuery.json +89 -0
  228. package/json-schema/api/ODataResponse.json +37 -0
  229. package/json-schema/api/RouteCategory.json +17 -0
  230. package/json-schema/api/RouteDefinition.json +77 -0
  231. package/json-schema/api/RouterConfig.json +117 -0
  232. package/json-schema/{system → auth}/Role.json +3 -2
  233. package/json-schema/auth/SCIMAddress.json +50 -0
  234. package/json-schema/auth/SCIMEmail.json +38 -0
  235. package/json-schema/auth/SCIMEnterpriseUser.json +55 -0
  236. package/json-schema/auth/SCIMError.json +52 -0
  237. package/json-schema/auth/SCIMGroup.json +102 -0
  238. package/json-schema/auth/SCIMGroupReference.json +36 -0
  239. package/json-schema/auth/SCIMListResponse.json +606 -0
  240. package/json-schema/auth/SCIMMemberReference.json +36 -0
  241. package/json-schema/auth/SCIMMeta.json +35 -0
  242. package/json-schema/auth/SCIMName.json +36 -0
  243. package/json-schema/auth/SCIMPatchOperation.json +31 -0
  244. package/json-schema/auth/SCIMPatchRequest.json +56 -0
  245. package/json-schema/auth/SCIMPhoneNumber.json +40 -0
  246. package/json-schema/auth/SCIMUser.json +462 -0
  247. package/json-schema/automation/ApprovalAction.json +35 -0
  248. package/json-schema/automation/ApprovalActionType.json +15 -0
  249. package/json-schema/automation/ApprovalProcess.json +326 -0
  250. package/json-schema/automation/ApprovalStep.json +147 -0
  251. package/json-schema/automation/ApproverType.json +16 -0
  252. package/json-schema/automation/AuthField.json +73 -0
  253. package/json-schema/automation/Authentication.json +159 -0
  254. package/json-schema/automation/AuthenticationType.json +18 -0
  255. package/json-schema/automation/ConflictResolution.json +16 -0
  256. package/json-schema/automation/Connector.json +440 -0
  257. package/json-schema/automation/ConnectorCategory.json +26 -0
  258. package/json-schema/automation/ConnectorInstance.json +69 -0
  259. package/json-schema/automation/ConnectorOperation.json +117 -0
  260. package/json-schema/automation/ConnectorTrigger.json +54 -0
  261. package/json-schema/automation/DataDestinationConfig.json +89 -0
  262. package/json-schema/automation/DataSourceConfig.json +34 -0
  263. package/json-schema/automation/DataSyncConfig.json +355 -0
  264. package/json-schema/automation/ETLDestination.json +57 -0
  265. package/json-schema/automation/ETLEndpointType.json +19 -0
  266. package/json-schema/automation/ETLPipeline.json +252 -0
  267. package/json-schema/automation/ETLPipelineRun.json +107 -0
  268. package/json-schema/automation/ETLRunStatus.json +17 -0
  269. package/json-schema/automation/ETLSource.json +60 -0
  270. package/json-schema/{data/LogicOperator.json → automation/ETLSyncMode.json} +5 -5
  271. package/json-schema/automation/ETLTransformation.json +46 -0
  272. package/json-schema/automation/ETLTransformationType.json +21 -0
  273. package/json-schema/automation/FieldMapping.json +36 -0
  274. package/json-schema/{data → automation}/Flow.json +31 -1
  275. package/json-schema/{data → automation}/FlowEdge.json +9 -0
  276. package/json-schema/automation/OAuth2Config.json +43 -0
  277. package/json-schema/automation/OperationParameter.json +59 -0
  278. package/json-schema/automation/OperationType.json +17 -0
  279. package/json-schema/automation/SyncDirection.json +14 -0
  280. package/json-schema/automation/SyncExecutionResult.json +135 -0
  281. package/json-schema/automation/SyncExecutionStatus.json +17 -0
  282. package/json-schema/{data/TriggerTiming.json → automation/SyncMode.json} +5 -4
  283. package/json-schema/{data/WorkflowRule.json → automation/TimeTrigger.json} +35 -25
  284. package/json-schema/{system → automation}/Webhook.json +3 -1
  285. package/json-schema/{system → automation}/WebhookReceiver.json +3 -1
  286. package/json-schema/automation/WorkflowRule.json +1032 -0
  287. package/json-schema/data/AggregationNode.json +23 -0
  288. package/json-schema/data/AsyncValidation.json +49 -2
  289. package/json-schema/data/ComparisonOperator.json +52 -0
  290. package/json-schema/data/ConditionalValidation.json +693 -46
  291. package/json-schema/data/CrossFieldValidation.json +33 -2
  292. package/json-schema/data/CurrencyConfig.json +35 -0
  293. package/json-schema/data/CurrencyValue.json +26 -0
  294. package/json-schema/data/CustomValidator.json +37 -10
  295. package/json-schema/data/Field.json +92 -4
  296. package/json-schema/data/FieldOperators.json +78 -0
  297. package/json-schema/data/FieldReference.json +19 -0
  298. package/json-schema/data/FieldType.json +12 -2
  299. package/json-schema/data/FormatValidation.json +33 -2
  300. package/json-schema/data/Hook.json +95 -0
  301. package/json-schema/data/HookContext.json +88 -0
  302. package/json-schema/data/HookEvent.json +29 -0
  303. package/json-schema/data/Index.json +10 -0
  304. package/json-schema/data/JSONValidation.json +85 -0
  305. package/json-schema/data/JoinNode.json +197 -213
  306. package/json-schema/data/JoinStrategy.json +15 -0
  307. package/json-schema/data/NormalizedFilter.json +234 -0
  308. package/json-schema/data/Object.json +1642 -32
  309. package/json-schema/data/ObjectCapabilities.json +30 -12
  310. package/json-schema/data/Query.json +246 -262
  311. package/json-schema/data/RangeOperator.json +26 -0
  312. package/json-schema/data/ScriptValidation.json +33 -2
  313. package/json-schema/data/SearchConfig.json +36 -0
  314. package/json-schema/data/SelectOption.json +4 -2
  315. package/json-schema/data/StateMachineValidation.json +33 -2
  316. package/json-schema/data/UniquenessValidation.json +33 -2
  317. package/json-schema/data/ValidationRule.json +693 -46
  318. package/json-schema/data/VectorConfig.json +51 -0
  319. package/json-schema/hub/BillOfMaterials.json +70 -0
  320. package/json-schema/hub/ComposerRequest.json +86 -0
  321. package/json-schema/hub/ComposerResponse.json +483 -0
  322. package/json-schema/hub/ConflictReport.json +53 -0
  323. package/json-schema/hub/DependencyRequirement.json +36 -0
  324. package/json-schema/hub/DeploymentTarget.json +38 -0
  325. package/json-schema/hub/HubSpace.json +279 -0
  326. package/json-schema/{system → hub}/License.json +11 -3
  327. package/json-schema/hub/MarketplacePlugin.json +141 -0
  328. package/json-schema/hub/PluginAuthor.json +26 -0
  329. package/json-schema/hub/PluginPricing.json +43 -0
  330. package/json-schema/hub/SpaceSubscription.json +77 -0
  331. package/json-schema/hub/SubscriptionStatus.json +16 -0
  332. package/json-schema/{system → hub}/Tenant.json +3 -5
  333. package/json-schema/permission/CriteriaSharingRule.json +82 -0
  334. package/json-schema/{data → permission}/OWDModel.json +2 -1
  335. package/json-schema/{data → permission}/ObjectPermission.json +15 -0
  336. package/json-schema/permission/OwnerSharingRule.json +102 -0
  337. package/json-schema/{data → permission}/PermissionSet.json +18 -1
  338. package/json-schema/permission/RLSConfig.json +59 -0
  339. package/json-schema/permission/RLSEvaluationResult.json +40 -0
  340. package/json-schema/{data/TriggerAction.json → permission/RLSOperation.json} +5 -3
  341. package/json-schema/permission/RLSUserContext.json +51 -0
  342. package/json-schema/permission/RowLevelSecurityPolicy.json +77 -0
  343. package/json-schema/permission/ShareRecipientType.json +16 -0
  344. package/json-schema/{data → permission}/SharingLevel.json +2 -1
  345. package/json-schema/permission/SharingRule.json +182 -0
  346. package/json-schema/{data → permission}/SharingRuleType.json +1 -3
  347. package/json-schema/{system → permission}/Territory.json +3 -1
  348. package/json-schema/shared/EventName.json +12 -0
  349. package/json-schema/shared/SnakeCaseIdentifier.json +12 -0
  350. package/json-schema/shared/SystemIdentifier.json +12 -0
  351. package/json-schema/system/Datasource.json +35 -0
  352. package/json-schema/system/DriverCapabilities.json +10 -0
  353. package/json-schema/system/DriverInterface.json +10 -0
  354. package/json-schema/system/DriverOptions.json +11 -0
  355. package/json-schema/system/Event.json +3 -2
  356. package/json-schema/system/FeatureFlag.json +87 -0
  357. package/json-schema/system/FeatureStrategy.json +16 -0
  358. package/json-schema/system/FileMetadata.json +43 -0
  359. package/json-schema/system/KernelContext.json +62 -0
  360. package/json-schema/system/LogEntry.json +63 -0
  361. package/json-schema/system/LogFormat.json +15 -0
  362. package/json-schema/system/LogLevel.json +17 -0
  363. package/json-schema/system/LoggerConfig.json +70 -0
  364. package/json-schema/system/Manifest.json +80 -0
  365. package/json-schema/system/MongoConfig.json +82 -0
  366. package/json-schema/system/PluginContext.json +8 -1
  367. package/json-schema/system/PostgresConfig.json +98 -0
  368. package/json-schema/system/RuntimeMode.json +16 -0
  369. package/json-schema/system/ScopedStorageConfig.json +54 -0
  370. package/json-schema/system/StorageAdapterType.json +17 -0
  371. package/json-schema/system/StorageScope.json +18 -0
  372. package/json-schema/ui/Action.json +25 -4
  373. package/json-schema/ui/ActionParam.json +12 -2
  374. package/json-schema/ui/App.json +18 -7
  375. package/json-schema/ui/ChartType.json +9 -1
  376. package/json-schema/ui/Dashboard.json +9 -1
  377. package/json-schema/ui/DashboardNavItem.json +3 -1
  378. package/json-schema/ui/DashboardWidget.json +9 -1
  379. package/json-schema/ui/FieldWidgetProps.json +92 -4
  380. package/json-schema/ui/FormView.json +4 -1
  381. package/json-schema/ui/GroupNavItem.json +3 -1
  382. package/json-schema/ui/ListView.json +7 -1
  383. package/json-schema/ui/NavigationItem.json +15 -5
  384. package/json-schema/ui/ObjectNavItem.json +3 -1
  385. package/json-schema/ui/Page.json +36 -4
  386. package/json-schema/ui/PageCardProps.json +32 -0
  387. package/json-schema/ui/PageComponent.json +33 -3
  388. package/json-schema/ui/PageComponentType.json +32 -0
  389. package/json-schema/ui/PageHeaderProps.json +39 -0
  390. package/json-schema/ui/PageNavItem.json +3 -1
  391. package/json-schema/ui/PageRegion.json +33 -3
  392. package/json-schema/ui/PageTabsProps.json +55 -0
  393. package/json-schema/ui/RecordDetailsProps.json +37 -0
  394. package/json-schema/ui/RecordHighlightsProps.json +24 -0
  395. package/json-schema/ui/RecordRelatedListProps.json +39 -0
  396. package/json-schema/ui/UrlNavItem.json +3 -1
  397. package/json-schema/ui/View.json +22 -4
  398. package/json-schema/ui/WidgetEvent.json +42 -0
  399. package/json-schema/ui/WidgetLifecycle.json +40 -0
  400. package/json-schema/ui/WidgetManifest.json +262 -0
  401. package/json-schema/ui/WidgetProperty.json +58 -0
  402. package/llms.txt +182 -0
  403. package/package.json +38 -16
  404. package/prompts/README.md +18 -0
  405. package/prompts/architecture.md +81 -0
  406. package/prompts/create-new-project.md +85 -0
  407. package/prompts/implement-objectai.md +39 -0
  408. package/prompts/implement-objectos.md +48 -0
  409. package/prompts/implement-objectql.md +39 -0
  410. package/prompts/implement-objectui.md +46 -0
  411. package/prompts/instructions.md +91 -0
  412. package/dist/ai/workflow-automation.zod.d.ts.map +0 -1
  413. package/dist/data/flow.zod.d.ts.map +0 -1
  414. package/dist/data/permission.zod.d.ts.map +0 -1
  415. package/dist/data/sharing.zod.d.ts +0 -63
  416. package/dist/data/sharing.zod.d.ts.map +0 -1
  417. package/dist/data/sharing.zod.js +0 -57
  418. package/dist/data/trigger.zod.d.ts +0 -354
  419. package/dist/data/trigger.zod.d.ts.map +0 -1
  420. package/dist/data/trigger.zod.js +0 -195
  421. package/dist/data/workflow.zod.d.ts +0 -986
  422. package/dist/data/workflow.zod.d.ts.map +0 -1
  423. package/dist/system/api.zod.d.ts.map +0 -1
  424. package/dist/system/auth-protocol.d.ts.map +0 -1
  425. package/dist/system/auth.zod.d.ts.map +0 -1
  426. package/dist/system/discovery.zod.d.ts.map +0 -1
  427. package/dist/system/identity.zod.d.ts.map +0 -1
  428. package/dist/system/license.zod.d.ts.map +0 -1
  429. package/dist/system/organization.zod.d.ts.map +0 -1
  430. package/dist/system/policy.zod.d.ts.map +0 -1
  431. package/dist/system/realtime.zod.d.ts.map +0 -1
  432. package/dist/system/role.zod.d.ts.map +0 -1
  433. package/dist/system/tenant.zod.d.ts.map +0 -1
  434. package/dist/system/territory.zod.d.ts.map +0 -1
  435. package/dist/system/webhook.zod.d.ts.map +0 -1
  436. package/json-schema/README.md +0 -127
  437. package/json-schema/data/FieldMapping.json +0 -83
  438. package/json-schema/data/FilterNode.json +0 -52
  439. package/json-schema/data/FilterOperator.json +0 -26
  440. package/json-schema/data/Mapping.json +0 -598
  441. package/json-schema/data/SharingRule.json +0 -58
  442. package/json-schema/data/TransformType.json +0 -18
  443. package/json-schema/data/Trigger.json +0 -73
  444. package/json-schema/data/TriggerContext.json +0 -61
  445. /package/dist/{system → api}/realtime.zod.js +0 -0
  446. /package/dist/{system/auth.zod.js → auth/config.zod.js} +0 -0
  447. /package/dist/{system → auth}/identity.zod.js +0 -0
  448. /package/dist/{system → auth}/organization.zod.js +0 -0
  449. /package/dist/{system → auth}/policy.zod.js +0 -0
  450. /package/dist/{system/auth-protocol.js → auth/protocol.js} +0 -0
  451. /package/json-schema/{system → api}/ApiCapabilities.json +0 -0
  452. /package/json-schema/{system → api}/ApiMapping.json +0 -0
  453. /package/json-schema/{system → api}/Presence.json +0 -0
  454. /package/json-schema/{system → api}/PresenceStatus.json +0 -0
  455. /package/json-schema/{system → api}/RateLimit.json +0 -0
  456. /package/json-schema/{system → api}/RealtimeAction.json +0 -0
  457. /package/json-schema/{system → api}/RealtimeEvent.json +0 -0
  458. /package/json-schema/{system → api}/RealtimeEventType.json +0 -0
  459. /package/json-schema/{system → api}/Subscription.json +0 -0
  460. /package/json-schema/{system → api}/SubscriptionEvent.json +0 -0
  461. /package/json-schema/{system → api}/TransportProtocol.json +0 -0
  462. /package/json-schema/{system → auth}/Account.json +0 -0
  463. /package/json-schema/{system → auth}/AccountLinkingConfig.json +0 -0
  464. /package/json-schema/{system → auth}/AuditPolicy.json +0 -0
  465. /package/json-schema/{system → auth}/AuthConfig.json +0 -0
  466. /package/json-schema/{system → auth}/AuthPluginConfig.json +0 -0
  467. /package/json-schema/{system → auth}/AuthStrategy.json +0 -0
  468. /package/json-schema/{system → auth}/CSRFConfig.json +0 -0
  469. /package/json-schema/{system → auth}/DatabaseAdapter.json +0 -0
  470. /package/json-schema/{system → auth}/DatabaseMapping.json +0 -0
  471. /package/json-schema/{system → auth}/EmailPasswordConfig.json +0 -0
  472. /package/json-schema/{system → auth}/EnterpriseAuthConfig.json +0 -0
  473. /package/json-schema/{system → auth}/Invitation.json +0 -0
  474. /package/json-schema/{system → auth}/InvitationStatus.json +0 -0
  475. /package/json-schema/{system → auth}/LDAPConfig.json +0 -0
  476. /package/json-schema/{system → auth}/MagicLinkConfig.json +0 -0
  477. /package/json-schema/{system → auth}/Member.json +0 -0
  478. /package/json-schema/{system → auth}/NetworkPolicy.json +0 -0
  479. /package/json-schema/{system → auth}/OAuthProvider.json +0 -0
  480. /package/json-schema/{system → auth}/OIDCConfig.json +0 -0
  481. /package/json-schema/{system → auth}/Organization.json +0 -0
  482. /package/json-schema/{system → auth}/PasskeyConfig.json +0 -0
  483. /package/json-schema/{system → auth}/PasswordPolicy.json +0 -0
  484. /package/json-schema/{system → auth}/Policy.json +0 -0
  485. /package/json-schema/{system → auth}/RateLimitConfig.json +0 -0
  486. /package/json-schema/{system → auth}/SAMLConfig.json +0 -0
  487. /package/json-schema/{system → auth}/Session.json +0 -0
  488. /package/json-schema/{system → auth}/SessionConfig.json +0 -0
  489. /package/json-schema/{system → auth}/SessionPolicy.json +0 -0
  490. /package/json-schema/{system → auth}/StandardAuthProvider.json +0 -0
  491. /package/json-schema/{system → auth}/TwoFactorConfig.json +0 -0
  492. /package/json-schema/{system → auth}/User.json +0 -0
  493. /package/json-schema/{system → auth}/UserFieldMapping.json +0 -0
  494. /package/json-schema/{system → auth}/VerificationToken.json +0 -0
  495. /package/json-schema/{data → automation}/CustomScriptAction.json +0 -0
  496. /package/json-schema/{data → automation}/EmailAlertAction.json +0 -0
  497. /package/json-schema/{data → automation}/FieldUpdateAction.json +0 -0
  498. /package/json-schema/{data → automation}/FlowNode.json +0 -0
  499. /package/json-schema/{data → automation}/FlowNodeAction.json +0 -0
  500. /package/json-schema/{data → automation}/FlowVariable.json +0 -0
  501. /package/json-schema/{data → automation}/HttpCallAction.json +0 -0
  502. /package/json-schema/{data → automation}/PushNotificationAction.json +0 -0
  503. /package/json-schema/{data → automation}/SlackMessageAction.json +0 -0
  504. /package/json-schema/{data → automation}/SmsNotificationAction.json +0 -0
  505. /package/json-schema/{data → automation}/TaskCreationAction.json +0 -0
  506. /package/json-schema/{data → automation}/TeamsMessageAction.json +0 -0
  507. /package/json-schema/{data → automation}/WebhookTriggerAction.json +0 -0
  508. /package/json-schema/{system → automation}/WebhookTriggerType.json +0 -0
  509. /package/json-schema/{data → automation}/WorkflowAction.json +0 -0
  510. /package/json-schema/{data → automation}/WorkflowTriggerType.json +0 -0
  511. /package/json-schema/{system → hub}/DatabaseLevelIsolationStrategy.json +0 -0
  512. /package/json-schema/{system → hub}/Feature.json +0 -0
  513. /package/json-schema/{system → hub}/LevelIsolationStrategySchema.json +0 -0
  514. /package/json-schema/{system → hub}/MetricType.json +0 -0
  515. /package/json-schema/{system → hub}/Plan.json +0 -0
  516. /package/json-schema/{system → hub}/RowLevelIsolationStrategy.json +0 -0
  517. /package/json-schema/{system → hub}/TenantIsolationConfig.json +0 -0
  518. /package/json-schema/{system → hub}/TenantIsolationLevel.json +0 -0
  519. /package/json-schema/{system → hub}/TenantQuota.json +0 -0
  520. /package/json-schema/{system → hub}/TenantSecurityPolicy.json +0 -0
  521. /package/json-schema/{data → permission}/FieldPermission.json +0 -0
  522. /package/json-schema/{system → permission}/TerritoryModel.json +0 -0
  523. /package/json-schema/{system → permission}/TerritoryType.json +0 -0
@@ -0,0 +1,854 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Data Sync Protocol
4
+ *
5
+ * Inspired by Salesforce Connect, Segment Sync, and Census Reverse ETL.
6
+ *
7
+ * Data sync provides bidirectional or unidirectional data synchronization
8
+ * between ObjectStack and external systems, maintaining data consistency
9
+ * across platforms.
10
+ *
11
+ * ## Use Cases
12
+ *
13
+ * 1. **CRM Integration**
14
+ * - Sync contacts between ObjectStack and Salesforce
15
+ * - Keep opportunity data synchronized
16
+ * - Bidirectional updates
17
+ *
18
+ * 2. **Customer Data Platform (CDP)**
19
+ * - Sync user profiles to Segment
20
+ * - Enrichment data from Clearbit
21
+ * - Marketing automation sync
22
+ *
23
+ * 3. **Operational Analytics**
24
+ * - Sync production data to analytics warehouse
25
+ * - Real-time dashboards
26
+ * - Business intelligence
27
+ *
28
+ * @see https://help.salesforce.com/s/articleView?id=sf.platform_connect_about.htm
29
+ * @see https://segment.com/docs/connections/sync/
30
+ * @see https://www.getcensus.com/
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * const contactSync: DataSyncConfig = {
35
+ * name: 'salesforce_contact_sync',
36
+ * label: 'Salesforce Contact Sync',
37
+ * source: {
38
+ * object: 'contact',
39
+ * filters: { status: 'active' }
40
+ * },
41
+ * destination: {
42
+ * connector: 'salesforce',
43
+ * operation: 'upsert_contact',
44
+ * mapping: {
45
+ * first_name: 'FirstName',
46
+ * last_name: 'LastName',
47
+ * email: 'Email'
48
+ * }
49
+ * },
50
+ * syncMode: 'incremental',
51
+ * schedule: '0 * * * *' // Hourly
52
+ * }
53
+ * ```
54
+ */
55
+ /**
56
+ * Sync Direction
57
+ */
58
+ export declare const SyncDirectionSchema: z.ZodEnum<["push", "pull", "bidirectional"]>;
59
+ export type SyncDirection = z.infer<typeof SyncDirectionSchema>;
60
+ /**
61
+ * Sync Mode
62
+ */
63
+ export declare const SyncModeSchema: z.ZodEnum<["full", "incremental", "realtime"]>;
64
+ export type SyncMode = z.infer<typeof SyncModeSchema>;
65
+ /**
66
+ * Conflict Resolution Strategy
67
+ */
68
+ export declare const ConflictResolutionSchema: z.ZodEnum<["source_wins", "destination_wins", "latest_wins", "manual", "merge"]>;
69
+ export type ConflictResolution = z.infer<typeof ConflictResolutionSchema>;
70
+ /**
71
+ * Field Mapping Schema
72
+ *
73
+ * Maps fields between source and destination systems.
74
+ */
75
+ export declare const FieldMappingSchema: z.ZodObject<{
76
+ /**
77
+ * Source field name
78
+ */
79
+ sourceField: z.ZodString;
80
+ /**
81
+ * Destination field name
82
+ */
83
+ destinationField: z.ZodString;
84
+ /**
85
+ * Transformation formula
86
+ * JavaScript expression to transform the value
87
+ *
88
+ * @example "value.toUpperCase()"
89
+ * @example "new Date(value).toISOString()"
90
+ */
91
+ transform: z.ZodOptional<z.ZodString>;
92
+ /**
93
+ * Default value if source is null/undefined
94
+ */
95
+ default: z.ZodOptional<z.ZodAny>;
96
+ /**
97
+ * Whether to sync null values
98
+ */
99
+ syncNull: z.ZodDefault<z.ZodBoolean>;
100
+ }, "strip", z.ZodTypeAny, {
101
+ sourceField: string;
102
+ destinationField: string;
103
+ syncNull: boolean;
104
+ default?: any;
105
+ transform?: string | undefined;
106
+ }, {
107
+ sourceField: string;
108
+ destinationField: string;
109
+ default?: any;
110
+ transform?: string | undefined;
111
+ syncNull?: boolean | undefined;
112
+ }>;
113
+ export type FieldMapping = z.infer<typeof FieldMappingSchema>;
114
+ /**
115
+ * Data Source Configuration
116
+ */
117
+ export declare const DataSourceConfigSchema: z.ZodObject<{
118
+ /**
119
+ * Source object name
120
+ * For ObjectStack objects
121
+ */
122
+ object: z.ZodOptional<z.ZodString>;
123
+ /**
124
+ * Filter conditions
125
+ * Only sync records matching these filters
126
+ */
127
+ filters: z.ZodOptional<z.ZodAny>;
128
+ /**
129
+ * Fields to include
130
+ * If not specified, all fields are synced
131
+ */
132
+ fields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
133
+ /**
134
+ * External connector instance ID
135
+ * For external data sources
136
+ */
137
+ connectorInstanceId: z.ZodOptional<z.ZodString>;
138
+ /**
139
+ * External resource identifier
140
+ * e.g., Salesforce object name, database table, API endpoint
141
+ */
142
+ externalResource: z.ZodOptional<z.ZodString>;
143
+ }, "strip", z.ZodTypeAny, {
144
+ object?: string | undefined;
145
+ fields?: string[] | undefined;
146
+ filters?: any;
147
+ connectorInstanceId?: string | undefined;
148
+ externalResource?: string | undefined;
149
+ }, {
150
+ object?: string | undefined;
151
+ fields?: string[] | undefined;
152
+ filters?: any;
153
+ connectorInstanceId?: string | undefined;
154
+ externalResource?: string | undefined;
155
+ }>;
156
+ export type DataSourceConfig = z.infer<typeof DataSourceConfigSchema>;
157
+ /**
158
+ * Data Destination Configuration
159
+ */
160
+ export declare const DataDestinationConfigSchema: z.ZodObject<{
161
+ /**
162
+ * Destination object name
163
+ * For ObjectStack objects
164
+ */
165
+ object: z.ZodOptional<z.ZodString>;
166
+ /**
167
+ * Connector instance ID
168
+ * For external destinations
169
+ */
170
+ connectorInstanceId: z.ZodOptional<z.ZodString>;
171
+ /**
172
+ * Operation to perform
173
+ */
174
+ operation: z.ZodEnum<["insert", "update", "upsert", "delete", "sync"]>;
175
+ /**
176
+ * Field mappings
177
+ * Maps source fields to destination fields
178
+ */
179
+ mapping: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodString>, z.ZodArray<z.ZodObject<{
180
+ /**
181
+ * Source field name
182
+ */
183
+ sourceField: z.ZodString;
184
+ /**
185
+ * Destination field name
186
+ */
187
+ destinationField: z.ZodString;
188
+ /**
189
+ * Transformation formula
190
+ * JavaScript expression to transform the value
191
+ *
192
+ * @example "value.toUpperCase()"
193
+ * @example "new Date(value).toISOString()"
194
+ */
195
+ transform: z.ZodOptional<z.ZodString>;
196
+ /**
197
+ * Default value if source is null/undefined
198
+ */
199
+ default: z.ZodOptional<z.ZodAny>;
200
+ /**
201
+ * Whether to sync null values
202
+ */
203
+ syncNull: z.ZodDefault<z.ZodBoolean>;
204
+ }, "strip", z.ZodTypeAny, {
205
+ sourceField: string;
206
+ destinationField: string;
207
+ syncNull: boolean;
208
+ default?: any;
209
+ transform?: string | undefined;
210
+ }, {
211
+ sourceField: string;
212
+ destinationField: string;
213
+ default?: any;
214
+ transform?: string | undefined;
215
+ syncNull?: boolean | undefined;
216
+ }>, "many">]>>;
217
+ /**
218
+ * External resource identifier
219
+ */
220
+ externalResource: z.ZodOptional<z.ZodString>;
221
+ /**
222
+ * Match key for upsert operations
223
+ * Fields to use for matching existing records
224
+ */
225
+ matchKey: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
226
+ }, "strip", z.ZodTypeAny, {
227
+ operation: "insert" | "update" | "delete" | "upsert" | "sync";
228
+ object?: string | undefined;
229
+ mapping?: Record<string, string> | {
230
+ sourceField: string;
231
+ destinationField: string;
232
+ syncNull: boolean;
233
+ default?: any;
234
+ transform?: string | undefined;
235
+ }[] | undefined;
236
+ connectorInstanceId?: string | undefined;
237
+ externalResource?: string | undefined;
238
+ matchKey?: string[] | undefined;
239
+ }, {
240
+ operation: "insert" | "update" | "delete" | "upsert" | "sync";
241
+ object?: string | undefined;
242
+ mapping?: Record<string, string> | {
243
+ sourceField: string;
244
+ destinationField: string;
245
+ default?: any;
246
+ transform?: string | undefined;
247
+ syncNull?: boolean | undefined;
248
+ }[] | undefined;
249
+ connectorInstanceId?: string | undefined;
250
+ externalResource?: string | undefined;
251
+ matchKey?: string[] | undefined;
252
+ }>;
253
+ export type DataDestinationConfig = z.infer<typeof DataDestinationConfigSchema>;
254
+ /**
255
+ * Data Sync Configuration Schema
256
+ *
257
+ * Complete definition of a data synchronization between systems.
258
+ */
259
+ export declare const DataSyncConfigSchema: z.ZodObject<{
260
+ /**
261
+ * Sync configuration name (snake_case)
262
+ */
263
+ name: z.ZodString;
264
+ /**
265
+ * Human-readable label
266
+ */
267
+ label: z.ZodOptional<z.ZodString>;
268
+ /**
269
+ * Description
270
+ */
271
+ description: z.ZodOptional<z.ZodString>;
272
+ /**
273
+ * Source configuration
274
+ */
275
+ source: z.ZodObject<{
276
+ /**
277
+ * Source object name
278
+ * For ObjectStack objects
279
+ */
280
+ object: z.ZodOptional<z.ZodString>;
281
+ /**
282
+ * Filter conditions
283
+ * Only sync records matching these filters
284
+ */
285
+ filters: z.ZodOptional<z.ZodAny>;
286
+ /**
287
+ * Fields to include
288
+ * If not specified, all fields are synced
289
+ */
290
+ fields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
291
+ /**
292
+ * External connector instance ID
293
+ * For external data sources
294
+ */
295
+ connectorInstanceId: z.ZodOptional<z.ZodString>;
296
+ /**
297
+ * External resource identifier
298
+ * e.g., Salesforce object name, database table, API endpoint
299
+ */
300
+ externalResource: z.ZodOptional<z.ZodString>;
301
+ }, "strip", z.ZodTypeAny, {
302
+ object?: string | undefined;
303
+ fields?: string[] | undefined;
304
+ filters?: any;
305
+ connectorInstanceId?: string | undefined;
306
+ externalResource?: string | undefined;
307
+ }, {
308
+ object?: string | undefined;
309
+ fields?: string[] | undefined;
310
+ filters?: any;
311
+ connectorInstanceId?: string | undefined;
312
+ externalResource?: string | undefined;
313
+ }>;
314
+ /**
315
+ * Destination configuration
316
+ */
317
+ destination: z.ZodObject<{
318
+ /**
319
+ * Destination object name
320
+ * For ObjectStack objects
321
+ */
322
+ object: z.ZodOptional<z.ZodString>;
323
+ /**
324
+ * Connector instance ID
325
+ * For external destinations
326
+ */
327
+ connectorInstanceId: z.ZodOptional<z.ZodString>;
328
+ /**
329
+ * Operation to perform
330
+ */
331
+ operation: z.ZodEnum<["insert", "update", "upsert", "delete", "sync"]>;
332
+ /**
333
+ * Field mappings
334
+ * Maps source fields to destination fields
335
+ */
336
+ mapping: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodString>, z.ZodArray<z.ZodObject<{
337
+ /**
338
+ * Source field name
339
+ */
340
+ sourceField: z.ZodString;
341
+ /**
342
+ * Destination field name
343
+ */
344
+ destinationField: z.ZodString;
345
+ /**
346
+ * Transformation formula
347
+ * JavaScript expression to transform the value
348
+ *
349
+ * @example "value.toUpperCase()"
350
+ * @example "new Date(value).toISOString()"
351
+ */
352
+ transform: z.ZodOptional<z.ZodString>;
353
+ /**
354
+ * Default value if source is null/undefined
355
+ */
356
+ default: z.ZodOptional<z.ZodAny>;
357
+ /**
358
+ * Whether to sync null values
359
+ */
360
+ syncNull: z.ZodDefault<z.ZodBoolean>;
361
+ }, "strip", z.ZodTypeAny, {
362
+ sourceField: string;
363
+ destinationField: string;
364
+ syncNull: boolean;
365
+ default?: any;
366
+ transform?: string | undefined;
367
+ }, {
368
+ sourceField: string;
369
+ destinationField: string;
370
+ default?: any;
371
+ transform?: string | undefined;
372
+ syncNull?: boolean | undefined;
373
+ }>, "many">]>>;
374
+ /**
375
+ * External resource identifier
376
+ */
377
+ externalResource: z.ZodOptional<z.ZodString>;
378
+ /**
379
+ * Match key for upsert operations
380
+ * Fields to use for matching existing records
381
+ */
382
+ matchKey: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
383
+ }, "strip", z.ZodTypeAny, {
384
+ operation: "insert" | "update" | "delete" | "upsert" | "sync";
385
+ object?: string | undefined;
386
+ mapping?: Record<string, string> | {
387
+ sourceField: string;
388
+ destinationField: string;
389
+ syncNull: boolean;
390
+ default?: any;
391
+ transform?: string | undefined;
392
+ }[] | undefined;
393
+ connectorInstanceId?: string | undefined;
394
+ externalResource?: string | undefined;
395
+ matchKey?: string[] | undefined;
396
+ }, {
397
+ operation: "insert" | "update" | "delete" | "upsert" | "sync";
398
+ object?: string | undefined;
399
+ mapping?: Record<string, string> | {
400
+ sourceField: string;
401
+ destinationField: string;
402
+ default?: any;
403
+ transform?: string | undefined;
404
+ syncNull?: boolean | undefined;
405
+ }[] | undefined;
406
+ connectorInstanceId?: string | undefined;
407
+ externalResource?: string | undefined;
408
+ matchKey?: string[] | undefined;
409
+ }>;
410
+ /**
411
+ * Sync direction
412
+ */
413
+ direction: z.ZodDefault<z.ZodEnum<["push", "pull", "bidirectional"]>>;
414
+ /**
415
+ * Sync mode
416
+ */
417
+ syncMode: z.ZodDefault<z.ZodEnum<["full", "incremental", "realtime"]>>;
418
+ /**
419
+ * Conflict resolution strategy
420
+ */
421
+ conflictResolution: z.ZodDefault<z.ZodEnum<["source_wins", "destination_wins", "latest_wins", "manual", "merge"]>>;
422
+ /**
423
+ * Execution schedule (cron expression)
424
+ * For scheduled syncs
425
+ *
426
+ * @example "0 * * * *" - Hourly
427
+ * @example "*\/15 * * * *" - Every 15 minutes
428
+ */
429
+ schedule: z.ZodOptional<z.ZodString>;
430
+ /**
431
+ * Whether sync is enabled
432
+ */
433
+ enabled: z.ZodDefault<z.ZodBoolean>;
434
+ /**
435
+ * Change tracking field
436
+ * Field to track when records were last modified
437
+ * Used for incremental sync
438
+ *
439
+ * @example "updated_at", "modified_date"
440
+ */
441
+ changeTrackingField: z.ZodOptional<z.ZodString>;
442
+ /**
443
+ * Batch size
444
+ * Number of records to process per batch
445
+ */
446
+ batchSize: z.ZodDefault<z.ZodNumber>;
447
+ /**
448
+ * Retry configuration
449
+ */
450
+ retry: z.ZodOptional<z.ZodObject<{
451
+ maxAttempts: z.ZodDefault<z.ZodNumber>;
452
+ backoffMs: z.ZodDefault<z.ZodNumber>;
453
+ }, "strip", z.ZodTypeAny, {
454
+ backoffMs: number;
455
+ maxAttempts: number;
456
+ }, {
457
+ backoffMs?: number | undefined;
458
+ maxAttempts?: number | undefined;
459
+ }>>;
460
+ /**
461
+ * Pre-sync validation rules
462
+ */
463
+ validation: z.ZodOptional<z.ZodObject<{
464
+ required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
465
+ unique: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
466
+ custom: z.ZodOptional<z.ZodArray<z.ZodObject<{
467
+ name: z.ZodString;
468
+ condition: z.ZodString;
469
+ message: z.ZodString;
470
+ }, "strip", z.ZodTypeAny, {
471
+ message: string;
472
+ name: string;
473
+ condition: string;
474
+ }, {
475
+ message: string;
476
+ name: string;
477
+ condition: string;
478
+ }>, "many">>;
479
+ }, "strip", z.ZodTypeAny, {
480
+ custom?: {
481
+ message: string;
482
+ name: string;
483
+ condition: string;
484
+ }[] | undefined;
485
+ required?: string[] | undefined;
486
+ unique?: string[] | undefined;
487
+ }, {
488
+ custom?: {
489
+ message: string;
490
+ name: string;
491
+ condition: string;
492
+ }[] | undefined;
493
+ required?: string[] | undefined;
494
+ unique?: string[] | undefined;
495
+ }>>;
496
+ /**
497
+ * Error handling configuration
498
+ */
499
+ errorHandling: z.ZodOptional<z.ZodObject<{
500
+ onValidationError: z.ZodDefault<z.ZodEnum<["skip", "fail", "log"]>>;
501
+ onSyncError: z.ZodDefault<z.ZodEnum<["skip", "fail", "retry"]>>;
502
+ notifyOnError: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
503
+ }, "strip", z.ZodTypeAny, {
504
+ onValidationError: "log" | "skip" | "fail";
505
+ onSyncError: "retry" | "skip" | "fail";
506
+ notifyOnError?: string[] | undefined;
507
+ }, {
508
+ onValidationError?: "log" | "skip" | "fail" | undefined;
509
+ onSyncError?: "retry" | "skip" | "fail" | undefined;
510
+ notifyOnError?: string[] | undefined;
511
+ }>>;
512
+ /**
513
+ * Performance optimization
514
+ */
515
+ optimization: z.ZodOptional<z.ZodObject<{
516
+ parallelBatches: z.ZodDefault<z.ZodBoolean>;
517
+ cacheEnabled: z.ZodDefault<z.ZodBoolean>;
518
+ compressionEnabled: z.ZodDefault<z.ZodBoolean>;
519
+ }, "strip", z.ZodTypeAny, {
520
+ parallelBatches: boolean;
521
+ cacheEnabled: boolean;
522
+ compressionEnabled: boolean;
523
+ }, {
524
+ parallelBatches?: boolean | undefined;
525
+ cacheEnabled?: boolean | undefined;
526
+ compressionEnabled?: boolean | undefined;
527
+ }>>;
528
+ /**
529
+ * Audit and logging
530
+ */
531
+ audit: z.ZodOptional<z.ZodObject<{
532
+ logLevel: z.ZodDefault<z.ZodEnum<["none", "error", "warn", "info", "debug"]>>;
533
+ retainLogsForDays: z.ZodDefault<z.ZodNumber>;
534
+ trackChanges: z.ZodDefault<z.ZodBoolean>;
535
+ }, "strip", z.ZodTypeAny, {
536
+ logLevel: "error" | "info" | "none" | "debug" | "warn";
537
+ retainLogsForDays: number;
538
+ trackChanges: boolean;
539
+ }, {
540
+ logLevel?: "error" | "info" | "none" | "debug" | "warn" | undefined;
541
+ retainLogsForDays?: number | undefined;
542
+ trackChanges?: boolean | undefined;
543
+ }>>;
544
+ /**
545
+ * Tags for organization
546
+ */
547
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
548
+ /**
549
+ * Custom metadata
550
+ */
551
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
552
+ }, "strip", z.ZodTypeAny, {
553
+ name: string;
554
+ enabled: boolean;
555
+ source: {
556
+ object?: string | undefined;
557
+ fields?: string[] | undefined;
558
+ filters?: any;
559
+ connectorInstanceId?: string | undefined;
560
+ externalResource?: string | undefined;
561
+ };
562
+ batchSize: number;
563
+ direction: "push" | "pull" | "bidirectional";
564
+ destination: {
565
+ operation: "insert" | "update" | "delete" | "upsert" | "sync";
566
+ object?: string | undefined;
567
+ mapping?: Record<string, string> | {
568
+ sourceField: string;
569
+ destinationField: string;
570
+ syncNull: boolean;
571
+ default?: any;
572
+ transform?: string | undefined;
573
+ }[] | undefined;
574
+ connectorInstanceId?: string | undefined;
575
+ externalResource?: string | undefined;
576
+ matchKey?: string[] | undefined;
577
+ };
578
+ syncMode: "full" | "incremental" | "realtime";
579
+ conflictResolution: "merge" | "manual" | "source_wins" | "destination_wins" | "latest_wins";
580
+ validation?: {
581
+ custom?: {
582
+ message: string;
583
+ name: string;
584
+ condition: string;
585
+ }[] | undefined;
586
+ required?: string[] | undefined;
587
+ unique?: string[] | undefined;
588
+ } | undefined;
589
+ tags?: string[] | undefined;
590
+ label?: string | undefined;
591
+ description?: string | undefined;
592
+ metadata?: Record<string, any> | undefined;
593
+ schedule?: string | undefined;
594
+ audit?: {
595
+ logLevel: "error" | "info" | "none" | "debug" | "warn";
596
+ retainLogsForDays: number;
597
+ trackChanges: boolean;
598
+ } | undefined;
599
+ retry?: {
600
+ backoffMs: number;
601
+ maxAttempts: number;
602
+ } | undefined;
603
+ changeTrackingField?: string | undefined;
604
+ errorHandling?: {
605
+ onValidationError: "log" | "skip" | "fail";
606
+ onSyncError: "retry" | "skip" | "fail";
607
+ notifyOnError?: string[] | undefined;
608
+ } | undefined;
609
+ optimization?: {
610
+ parallelBatches: boolean;
611
+ cacheEnabled: boolean;
612
+ compressionEnabled: boolean;
613
+ } | undefined;
614
+ }, {
615
+ name: string;
616
+ source: {
617
+ object?: string | undefined;
618
+ fields?: string[] | undefined;
619
+ filters?: any;
620
+ connectorInstanceId?: string | undefined;
621
+ externalResource?: string | undefined;
622
+ };
623
+ destination: {
624
+ operation: "insert" | "update" | "delete" | "upsert" | "sync";
625
+ object?: string | undefined;
626
+ mapping?: Record<string, string> | {
627
+ sourceField: string;
628
+ destinationField: string;
629
+ default?: any;
630
+ transform?: string | undefined;
631
+ syncNull?: boolean | undefined;
632
+ }[] | undefined;
633
+ connectorInstanceId?: string | undefined;
634
+ externalResource?: string | undefined;
635
+ matchKey?: string[] | undefined;
636
+ };
637
+ validation?: {
638
+ custom?: {
639
+ message: string;
640
+ name: string;
641
+ condition: string;
642
+ }[] | undefined;
643
+ required?: string[] | undefined;
644
+ unique?: string[] | undefined;
645
+ } | undefined;
646
+ tags?: string[] | undefined;
647
+ label?: string | undefined;
648
+ description?: string | undefined;
649
+ enabled?: boolean | undefined;
650
+ metadata?: Record<string, any> | undefined;
651
+ schedule?: string | undefined;
652
+ audit?: {
653
+ logLevel?: "error" | "info" | "none" | "debug" | "warn" | undefined;
654
+ retainLogsForDays?: number | undefined;
655
+ trackChanges?: boolean | undefined;
656
+ } | undefined;
657
+ batchSize?: number | undefined;
658
+ direction?: "push" | "pull" | "bidirectional" | undefined;
659
+ syncMode?: "full" | "incremental" | "realtime" | undefined;
660
+ retry?: {
661
+ backoffMs?: number | undefined;
662
+ maxAttempts?: number | undefined;
663
+ } | undefined;
664
+ conflictResolution?: "merge" | "manual" | "source_wins" | "destination_wins" | "latest_wins" | undefined;
665
+ changeTrackingField?: string | undefined;
666
+ errorHandling?: {
667
+ onValidationError?: "log" | "skip" | "fail" | undefined;
668
+ onSyncError?: "retry" | "skip" | "fail" | undefined;
669
+ notifyOnError?: string[] | undefined;
670
+ } | undefined;
671
+ optimization?: {
672
+ parallelBatches?: boolean | undefined;
673
+ cacheEnabled?: boolean | undefined;
674
+ compressionEnabled?: boolean | undefined;
675
+ } | undefined;
676
+ }>;
677
+ export type DataSyncConfig = z.infer<typeof DataSyncConfigSchema>;
678
+ /**
679
+ * Sync Execution Status
680
+ */
681
+ export declare const SyncExecutionStatusSchema: z.ZodEnum<["pending", "running", "completed", "partial", "failed", "cancelled"]>;
682
+ export type SyncExecutionStatus = z.infer<typeof SyncExecutionStatusSchema>;
683
+ /**
684
+ * Sync Execution Result Schema
685
+ *
686
+ * Result of a sync execution.
687
+ */
688
+ export declare const SyncExecutionResultSchema: z.ZodObject<{
689
+ /**
690
+ * Execution ID
691
+ */
692
+ id: z.ZodString;
693
+ /**
694
+ * Sync configuration name
695
+ */
696
+ syncName: z.ZodString;
697
+ /**
698
+ * Execution status
699
+ */
700
+ status: z.ZodEnum<["pending", "running", "completed", "partial", "failed", "cancelled"]>;
701
+ /**
702
+ * Start timestamp
703
+ */
704
+ startedAt: z.ZodString;
705
+ /**
706
+ * End timestamp
707
+ */
708
+ completedAt: z.ZodOptional<z.ZodString>;
709
+ /**
710
+ * Duration in milliseconds
711
+ */
712
+ durationMs: z.ZodOptional<z.ZodNumber>;
713
+ /**
714
+ * Statistics
715
+ */
716
+ stats: z.ZodOptional<z.ZodObject<{
717
+ recordsProcessed: z.ZodDefault<z.ZodNumber>;
718
+ recordsInserted: z.ZodDefault<z.ZodNumber>;
719
+ recordsUpdated: z.ZodDefault<z.ZodNumber>;
720
+ recordsDeleted: z.ZodDefault<z.ZodNumber>;
721
+ recordsSkipped: z.ZodDefault<z.ZodNumber>;
722
+ recordsErrored: z.ZodDefault<z.ZodNumber>;
723
+ conflictsDetected: z.ZodDefault<z.ZodNumber>;
724
+ conflictsResolved: z.ZodDefault<z.ZodNumber>;
725
+ }, "strip", z.ZodTypeAny, {
726
+ recordsErrored: number;
727
+ recordsProcessed: number;
728
+ recordsInserted: number;
729
+ recordsUpdated: number;
730
+ recordsDeleted: number;
731
+ recordsSkipped: number;
732
+ conflictsDetected: number;
733
+ conflictsResolved: number;
734
+ }, {
735
+ recordsErrored?: number | undefined;
736
+ recordsProcessed?: number | undefined;
737
+ recordsInserted?: number | undefined;
738
+ recordsUpdated?: number | undefined;
739
+ recordsDeleted?: number | undefined;
740
+ recordsSkipped?: number | undefined;
741
+ conflictsDetected?: number | undefined;
742
+ conflictsResolved?: number | undefined;
743
+ }>>;
744
+ /**
745
+ * Errors encountered
746
+ */
747
+ errors: z.ZodOptional<z.ZodArray<z.ZodObject<{
748
+ recordId: z.ZodOptional<z.ZodString>;
749
+ field: z.ZodOptional<z.ZodString>;
750
+ message: z.ZodString;
751
+ code: z.ZodOptional<z.ZodString>;
752
+ }, "strip", z.ZodTypeAny, {
753
+ message: string;
754
+ code?: string | undefined;
755
+ field?: string | undefined;
756
+ recordId?: string | undefined;
757
+ }, {
758
+ message: string;
759
+ code?: string | undefined;
760
+ field?: string | undefined;
761
+ recordId?: string | undefined;
762
+ }>, "many">>;
763
+ /**
764
+ * Execution logs
765
+ */
766
+ logs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
767
+ }, "strip", z.ZodTypeAny, {
768
+ status: "partial" | "running" | "failed" | "pending" | "completed" | "cancelled";
769
+ id: string;
770
+ startedAt: string;
771
+ syncName: string;
772
+ durationMs?: number | undefined;
773
+ completedAt?: string | undefined;
774
+ logs?: string[] | undefined;
775
+ errors?: {
776
+ message: string;
777
+ code?: string | undefined;
778
+ field?: string | undefined;
779
+ recordId?: string | undefined;
780
+ }[] | undefined;
781
+ stats?: {
782
+ recordsErrored: number;
783
+ recordsProcessed: number;
784
+ recordsInserted: number;
785
+ recordsUpdated: number;
786
+ recordsDeleted: number;
787
+ recordsSkipped: number;
788
+ conflictsDetected: number;
789
+ conflictsResolved: number;
790
+ } | undefined;
791
+ }, {
792
+ status: "partial" | "running" | "failed" | "pending" | "completed" | "cancelled";
793
+ id: string;
794
+ startedAt: string;
795
+ syncName: string;
796
+ durationMs?: number | undefined;
797
+ completedAt?: string | undefined;
798
+ logs?: string[] | undefined;
799
+ errors?: {
800
+ message: string;
801
+ code?: string | undefined;
802
+ field?: string | undefined;
803
+ recordId?: string | undefined;
804
+ }[] | undefined;
805
+ stats?: {
806
+ recordsErrored?: number | undefined;
807
+ recordsProcessed?: number | undefined;
808
+ recordsInserted?: number | undefined;
809
+ recordsUpdated?: number | undefined;
810
+ recordsDeleted?: number | undefined;
811
+ recordsSkipped?: number | undefined;
812
+ conflictsDetected?: number | undefined;
813
+ conflictsResolved?: number | undefined;
814
+ } | undefined;
815
+ }>;
816
+ export type SyncExecutionResult = z.infer<typeof SyncExecutionResultSchema>;
817
+ /**
818
+ * Helper factory for creating sync configurations
819
+ */
820
+ export declare const Sync: {
821
+ /**
822
+ * Create a simple object-to-object sync
823
+ */
824
+ readonly objectSync: (params: {
825
+ name: string;
826
+ sourceObject: string;
827
+ destObject: string;
828
+ mapping: Record<string, string>;
829
+ schedule?: string;
830
+ }) => DataSyncConfig;
831
+ /**
832
+ * Create a connector sync
833
+ */
834
+ readonly connectorSync: (params: {
835
+ name: string;
836
+ sourceObject: string;
837
+ connectorInstanceId: string;
838
+ externalResource: string;
839
+ mapping: Record<string, string>;
840
+ schedule?: string;
841
+ }) => DataSyncConfig;
842
+ /**
843
+ * Create a bidirectional sync
844
+ */
845
+ readonly bidirectionalSync: (params: {
846
+ name: string;
847
+ object: string;
848
+ connectorInstanceId: string;
849
+ externalResource: string;
850
+ mapping: Record<string, string>;
851
+ schedule?: string;
852
+ }) => DataSyncConfig;
853
+ };
854
+ //# sourceMappingURL=sync.zod.d.ts.map