@objectstack/spec 0.3.3 → 0.4.2

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 (304) hide show
  1. package/dist/ai/conversation.zod.d.ts +14 -14
  2. package/dist/ai/cost.zod.d.ts +112 -112
  3. package/dist/ai/model-registry.zod.d.ts +44 -44
  4. package/dist/ai/nlq.zod.d.ts +2 -2
  5. package/dist/ai/orchestration.zod.d.ts +6 -6
  6. package/dist/ai/predictive.zod.d.ts +8 -8
  7. package/dist/ai/rag-pipeline.zod.d.ts +62 -62
  8. package/dist/api/contract.zod.d.ts +92 -92
  9. package/dist/api/discovery.zod.d.ts +2 -2
  10. package/dist/api/index.d.ts +2 -0
  11. package/dist/api/index.d.ts.map +1 -1
  12. package/dist/api/index.js +2 -0
  13. package/dist/api/odata.zod.d.ts +482 -0
  14. package/dist/api/odata.zod.d.ts.map +1 -0
  15. package/dist/api/odata.zod.js +401 -0
  16. package/dist/api/router.zod.d.ts +4 -4
  17. package/dist/auth/config.zod.d.ts +21 -21
  18. package/dist/auth/index.d.ts +1 -0
  19. package/dist/auth/index.d.ts.map +1 -1
  20. package/dist/auth/index.js +1 -0
  21. package/dist/auth/organization.zod.d.ts +2 -2
  22. package/dist/auth/role.zod.d.ts +14 -0
  23. package/dist/auth/role.zod.d.ts.map +1 -1
  24. package/dist/auth/role.zod.js +16 -1
  25. package/dist/auth/scim.zod.d.ts +2732 -0
  26. package/dist/auth/scim.zod.d.ts.map +1 -0
  27. package/dist/auth/scim.zod.js +811 -0
  28. package/dist/automation/approval.zod.d.ts +643 -0
  29. package/dist/automation/approval.zod.d.ts.map +1 -0
  30. package/dist/automation/approval.zod.js +84 -0
  31. package/dist/automation/connector.zod.d.ts +1284 -0
  32. package/dist/automation/connector.zod.d.ts.map +1 -0
  33. package/dist/automation/connector.zod.js +500 -0
  34. package/dist/automation/etl.zod.d.ts +623 -0
  35. package/dist/automation/etl.zod.d.ts.map +1 -0
  36. package/dist/automation/etl.zod.js +359 -0
  37. package/dist/automation/flow.zod.d.ts +6 -6
  38. package/dist/automation/index.d.ts +4 -0
  39. package/dist/automation/index.d.ts.map +1 -1
  40. package/dist/automation/index.js +4 -0
  41. package/dist/automation/sync.zod.d.ts +854 -0
  42. package/dist/automation/sync.zod.d.ts.map +1 -0
  43. package/dist/automation/sync.zod.js +444 -0
  44. package/dist/automation/webhook.zod.d.ts +24 -1
  45. package/dist/automation/webhook.zod.d.ts.map +1 -1
  46. package/dist/automation/webhook.zod.js +27 -3
  47. package/dist/automation/workflow.zod.d.ts +14 -0
  48. package/dist/automation/workflow.zod.d.ts.map +1 -1
  49. package/dist/automation/workflow.zod.js +16 -1
  50. package/dist/data/field.zod.d.ts +338 -8
  51. package/dist/data/field.zod.d.ts.map +1 -1
  52. package/dist/data/field.zod.js +100 -16
  53. package/dist/data/mapping.zod.d.ts +22 -10
  54. package/dist/data/mapping.zod.d.ts.map +1 -1
  55. package/dist/data/mapping.zod.js +16 -3
  56. package/dist/data/object.zod.d.ts +116 -22
  57. package/dist/data/object.zod.d.ts.map +1 -1
  58. package/dist/data/object.zod.js +4 -4
  59. package/dist/data/validation.zod.d.ts +18 -18
  60. package/dist/hub/composer.zod.d.ts +43 -1940
  61. package/dist/hub/composer.zod.d.ts.map +1 -1
  62. package/dist/hub/composer.zod.js +1 -1
  63. package/dist/hub/license.zod.d.ts +2 -2
  64. package/dist/hub/marketplace.zod.d.ts +6 -6
  65. package/dist/index.d.ts +2 -2
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +6 -3
  68. package/dist/permission/index.d.ts +7 -5
  69. package/dist/permission/index.d.ts.map +1 -1
  70. package/dist/permission/index.js +7 -5
  71. package/dist/permission/permission.zod.d.ts +14 -0
  72. package/dist/permission/permission.zod.d.ts.map +1 -1
  73. package/dist/permission/permission.zod.js +16 -1
  74. package/dist/permission/rls.zod.d.ts +605 -0
  75. package/dist/permission/rls.zod.d.ts.map +1 -0
  76. package/dist/permission/rls.zod.js +615 -0
  77. package/dist/permission/territory.zod.d.ts +13 -0
  78. package/dist/permission/territory.zod.d.ts.map +1 -1
  79. package/dist/permission/territory.zod.js +15 -1
  80. package/dist/shared/identifiers.zod.d.ts +87 -0
  81. package/dist/shared/identifiers.zod.d.ts.map +1 -0
  82. package/dist/shared/identifiers.zod.js +101 -0
  83. package/dist/shared/index.d.ts +6 -0
  84. package/dist/shared/index.d.ts.map +1 -0
  85. package/dist/{driver → shared}/index.js +5 -4
  86. package/dist/stack.zod.d.ts +19869 -0
  87. package/dist/stack.zod.d.ts.map +1 -0
  88. package/dist/stack.zod.js +248 -0
  89. package/dist/system/audit.zod.d.ts +12 -12
  90. package/dist/{kernel → system}/context.zod.d.ts.map +1 -1
  91. package/dist/{driver → system}/datasource.zod.d.ts +2 -2
  92. package/dist/{driver → system}/datasource.zod.d.ts.map +1 -1
  93. package/dist/{driver → system/driver}/mongo.zod.d.ts +2 -2
  94. package/dist/system/driver/mongo.zod.d.ts.map +1 -0
  95. package/dist/{driver → system/driver}/postgres.zod.d.ts +4 -4
  96. package/dist/system/driver/postgres.zod.d.ts.map +1 -0
  97. package/dist/{driver → system}/driver.zod.d.ts +14 -14
  98. package/dist/{driver → system}/driver.zod.d.ts.map +1 -1
  99. package/dist/system/events.zod.d.ts +15 -12
  100. package/dist/system/events.zod.d.ts.map +1 -1
  101. package/dist/system/events.zod.js +5 -1
  102. package/dist/system/feature.zod.d.ts +131 -0
  103. package/dist/system/feature.zod.d.ts.map +1 -0
  104. package/dist/system/feature.zod.js +45 -0
  105. package/dist/system/index.d.ts +10 -0
  106. package/dist/system/index.d.ts.map +1 -1
  107. package/dist/system/index.js +12 -0
  108. package/dist/system/job.zod.d.ts +8 -8
  109. package/dist/{kernel → system}/logger.zod.d.ts +4 -4
  110. package/dist/{kernel → system}/logger.zod.d.ts.map +1 -1
  111. package/dist/system/manifest.zod.d.ts +518 -0
  112. package/dist/system/manifest.zod.d.ts.map +1 -0
  113. package/dist/{kernel → system}/manifest.zod.js +8 -17
  114. package/dist/{kernel → system}/plugin.zod.d.ts.map +1 -1
  115. package/dist/{kernel → system}/scoped-storage.zod.d.ts +2 -2
  116. package/dist/{kernel → system}/scoped-storage.zod.d.ts.map +1 -1
  117. package/dist/ui/action.zod.d.ts +35 -10
  118. package/dist/ui/action.zod.d.ts.map +1 -1
  119. package/dist/ui/action.zod.js +30 -1
  120. package/dist/ui/app.zod.d.ts +23 -8
  121. package/dist/ui/app.zod.d.ts.map +1 -1
  122. package/dist/ui/app.zod.js +32 -4
  123. package/dist/ui/block.zod.d.ts +265 -0
  124. package/dist/ui/block.zod.d.ts.map +1 -0
  125. package/dist/ui/block.zod.js +90 -0
  126. package/dist/ui/component.zod.d.ts +265 -0
  127. package/dist/ui/component.zod.d.ts.map +1 -0
  128. package/dist/ui/component.zod.js +90 -0
  129. package/dist/ui/dashboard.zod.d.ts +15 -15
  130. package/dist/ui/dashboard.zod.d.ts.map +1 -1
  131. package/dist/ui/dashboard.zod.js +18 -8
  132. package/dist/ui/index.d.ts +1 -0
  133. package/dist/ui/index.d.ts.map +1 -1
  134. package/dist/ui/index.js +1 -0
  135. package/dist/ui/page.zod.d.ts +21 -3
  136. package/dist/ui/page.zod.d.ts.map +1 -1
  137. package/dist/ui/page.zod.js +37 -4
  138. package/dist/ui/report.zod.d.ts +7 -7
  139. package/dist/ui/view.zod.d.ts +252 -240
  140. package/dist/ui/view.zod.d.ts.map +1 -1
  141. package/dist/ui/view.zod.js +32 -3
  142. package/dist/ui/widget.zod.d.ts +673 -5
  143. package/dist/ui/widget.zod.d.ts.map +1 -1
  144. package/dist/ui/widget.zod.js +294 -1
  145. package/json-schema/api/ODataError.json +65 -0
  146. package/json-schema/api/ODataFilterFunction.json +39 -0
  147. package/json-schema/api/ODataFilterOperator.json +24 -0
  148. package/json-schema/api/ODataMetadata.json +115 -0
  149. package/json-schema/api/ODataQuery.json +89 -0
  150. package/json-schema/api/ODataResponse.json +37 -0
  151. package/json-schema/auth/Role.json +3 -2
  152. package/json-schema/auth/SCIMAddress.json +50 -0
  153. package/json-schema/auth/SCIMEmail.json +38 -0
  154. package/json-schema/auth/SCIMEnterpriseUser.json +55 -0
  155. package/json-schema/auth/SCIMError.json +52 -0
  156. package/json-schema/auth/SCIMGroup.json +102 -0
  157. package/json-schema/auth/SCIMGroupReference.json +36 -0
  158. package/json-schema/auth/SCIMListResponse.json +606 -0
  159. package/json-schema/auth/SCIMMemberReference.json +36 -0
  160. package/json-schema/auth/SCIMMeta.json +35 -0
  161. package/json-schema/auth/SCIMName.json +36 -0
  162. package/json-schema/auth/SCIMPatchOperation.json +31 -0
  163. package/json-schema/auth/SCIMPatchRequest.json +56 -0
  164. package/json-schema/auth/SCIMPhoneNumber.json +40 -0
  165. package/json-schema/auth/SCIMUser.json +462 -0
  166. package/json-schema/automation/ApprovalAction.json +35 -0
  167. package/json-schema/automation/ApprovalActionType.json +15 -0
  168. package/json-schema/automation/ApprovalProcess.json +326 -0
  169. package/json-schema/automation/ApprovalStep.json +147 -0
  170. package/json-schema/automation/ApproverType.json +16 -0
  171. package/json-schema/automation/AuthField.json +73 -0
  172. package/json-schema/automation/Authentication.json +159 -0
  173. package/json-schema/automation/AuthenticationType.json +18 -0
  174. package/json-schema/automation/ConflictResolution.json +16 -0
  175. package/json-schema/automation/Connector.json +440 -0
  176. package/json-schema/automation/ConnectorCategory.json +26 -0
  177. package/json-schema/automation/ConnectorInstance.json +69 -0
  178. package/json-schema/automation/ConnectorOperation.json +117 -0
  179. package/json-schema/automation/ConnectorTrigger.json +54 -0
  180. package/json-schema/automation/DataDestinationConfig.json +89 -0
  181. package/json-schema/automation/DataSourceConfig.json +34 -0
  182. package/json-schema/automation/DataSyncConfig.json +355 -0
  183. package/json-schema/automation/ETLDestination.json +57 -0
  184. package/json-schema/automation/ETLEndpointType.json +19 -0
  185. package/json-schema/automation/ETLPipeline.json +252 -0
  186. package/json-schema/automation/ETLPipelineRun.json +107 -0
  187. package/json-schema/automation/ETLRunStatus.json +17 -0
  188. package/json-schema/automation/ETLSource.json +60 -0
  189. package/json-schema/automation/ETLSyncMode.json +14 -0
  190. package/json-schema/automation/ETLTransformation.json +46 -0
  191. package/json-schema/automation/ETLTransformationType.json +21 -0
  192. package/json-schema/automation/FieldMapping.json +36 -0
  193. package/json-schema/automation/OAuth2Config.json +43 -0
  194. package/json-schema/automation/OperationParameter.json +59 -0
  195. package/json-schema/automation/OperationType.json +17 -0
  196. package/json-schema/automation/SyncDirection.json +14 -0
  197. package/json-schema/automation/SyncExecutionResult.json +135 -0
  198. package/json-schema/automation/SyncExecutionStatus.json +17 -0
  199. package/json-schema/automation/SyncMode.json +14 -0
  200. package/json-schema/automation/Webhook.json +3 -1
  201. package/json-schema/automation/WebhookReceiver.json +3 -1
  202. package/json-schema/automation/WorkflowRule.json +3 -2
  203. package/json-schema/data/Field.json +62 -4
  204. package/json-schema/data/FieldType.json +12 -2
  205. package/json-schema/data/Object.json +62 -4
  206. package/json-schema/data/SelectOption.json +4 -2
  207. package/json-schema/data/VectorConfig.json +51 -0
  208. package/json-schema/hub/ComposerResponse.json +4 -2163
  209. package/json-schema/permission/PermissionSet.json +3 -1
  210. package/json-schema/permission/RLSConfig.json +59 -0
  211. package/json-schema/permission/RLSEvaluationResult.json +40 -0
  212. package/json-schema/permission/RLSOperation.json +16 -0
  213. package/json-schema/permission/RLSUserContext.json +51 -0
  214. package/json-schema/permission/RowLevelSecurityPolicy.json +77 -0
  215. package/json-schema/permission/Territory.json +3 -1
  216. package/json-schema/shared/EventName.json +12 -0
  217. package/json-schema/shared/SnakeCaseIdentifier.json +12 -0
  218. package/json-schema/shared/SystemIdentifier.json +12 -0
  219. package/json-schema/system/Event.json +3 -2
  220. package/json-schema/system/FeatureFlag.json +87 -0
  221. package/json-schema/system/FeatureStrategy.json +16 -0
  222. package/json-schema/system/Manifest.json +398 -0
  223. package/json-schema/ui/Action.json +25 -4
  224. package/json-schema/ui/ActionParam.json +12 -2
  225. package/json-schema/ui/App.json +18 -7
  226. package/json-schema/ui/ChartType.json +9 -1
  227. package/json-schema/ui/Dashboard.json +9 -1
  228. package/json-schema/ui/DashboardNavItem.json +3 -1
  229. package/json-schema/ui/DashboardWidget.json +9 -1
  230. package/json-schema/ui/FieldWidgetProps.json +62 -4
  231. package/json-schema/ui/FormView.json +4 -1
  232. package/json-schema/ui/GroupNavItem.json +3 -1
  233. package/json-schema/ui/ListView.json +7 -1
  234. package/json-schema/ui/NavigationItem.json +15 -5
  235. package/json-schema/ui/ObjectNavItem.json +3 -1
  236. package/json-schema/ui/Page.json +36 -4
  237. package/json-schema/ui/PageCardProps.json +32 -0
  238. package/json-schema/ui/PageComponent.json +33 -3
  239. package/json-schema/ui/PageComponentType.json +32 -0
  240. package/json-schema/ui/PageHeaderProps.json +39 -0
  241. package/json-schema/ui/PageNavItem.json +3 -1
  242. package/json-schema/ui/PageRegion.json +33 -3
  243. package/json-schema/ui/PageTabsProps.json +55 -0
  244. package/json-schema/ui/RecordDetailsProps.json +37 -0
  245. package/json-schema/ui/RecordHighlightsProps.json +24 -0
  246. package/json-schema/ui/RecordRelatedListProps.json +39 -0
  247. package/json-schema/ui/UrlNavItem.json +3 -1
  248. package/json-schema/ui/View.json +22 -4
  249. package/json-schema/ui/WidgetEvent.json +42 -0
  250. package/json-schema/ui/WidgetLifecycle.json +40 -0
  251. package/json-schema/ui/WidgetManifest.json +262 -0
  252. package/json-schema/ui/WidgetProperty.json +58 -0
  253. package/package.json +1 -1
  254. package/prompts/architecture.md +5 -5
  255. package/prompts/create-new-project.md +85 -0
  256. package/dist/driver/index.d.ts +0 -5
  257. package/dist/driver/index.d.ts.map +0 -1
  258. package/dist/driver/mongo.zod.d.ts.map +0 -1
  259. package/dist/driver/postgres.zod.d.ts.map +0 -1
  260. package/dist/kernel/index.d.ts +0 -12
  261. package/dist/kernel/index.d.ts.map +0 -1
  262. package/dist/kernel/index.js +0 -27
  263. package/dist/kernel/manifest.zod.d.ts +0 -2153
  264. package/dist/kernel/manifest.zod.d.ts.map +0 -1
  265. package/json-schema/kernel/Manifest.json +0 -2557
  266. /package/dist/{kernel → system}/context.zod.d.ts +0 -0
  267. /package/dist/{kernel → system}/context.zod.js +0 -0
  268. /package/dist/{driver → system}/datasource.zod.js +0 -0
  269. /package/dist/{driver → system/driver}/mongo.zod.js +0 -0
  270. /package/dist/{driver → system/driver}/postgres.zod.js +0 -0
  271. /package/dist/{driver → system}/driver.zod.js +0 -0
  272. /package/dist/{kernel → system}/logger.zod.js +0 -0
  273. /package/dist/{kernel → system}/plugin.zod.d.ts +0 -0
  274. /package/dist/{kernel → system}/plugin.zod.js +0 -0
  275. /package/dist/{kernel → system}/scoped-storage.zod.js +0 -0
  276. /package/json-schema/{driver → system}/Datasource.json +0 -0
  277. /package/json-schema/{driver → system}/DatasourceCapabilities.json +0 -0
  278. /package/json-schema/{driver → system}/DriverCapabilities.json +0 -0
  279. /package/json-schema/{driver → system}/DriverDefinition.json +0 -0
  280. /package/json-schema/{driver → system}/DriverInterface.json +0 -0
  281. /package/json-schema/{driver → system}/DriverOptions.json +0 -0
  282. /package/json-schema/{driver → system}/DriverType.json +0 -0
  283. /package/json-schema/{kernel → system}/FileMetadata.json +0 -0
  284. /package/json-schema/{kernel → system}/I18nContext.json +0 -0
  285. /package/json-schema/{kernel → system}/KernelContext.json +0 -0
  286. /package/json-schema/{kernel → system}/LogEntry.json +0 -0
  287. /package/json-schema/{kernel → system}/LogFormat.json +0 -0
  288. /package/json-schema/{kernel → system}/LogLevel.json +0 -0
  289. /package/json-schema/{kernel → system}/Logger.json +0 -0
  290. /package/json-schema/{kernel → system}/LoggerConfig.json +0 -0
  291. /package/json-schema/{driver → system}/MongoConfig.json +0 -0
  292. /package/json-schema/{kernel → system}/ObjectQLClient.json +0 -0
  293. /package/json-schema/{kernel → system}/Plugin.json +0 -0
  294. /package/json-schema/{kernel → system}/PluginContext.json +0 -0
  295. /package/json-schema/{kernel → system}/PluginLifecycle.json +0 -0
  296. /package/json-schema/{driver → system}/PostgresConfig.json +0 -0
  297. /package/json-schema/{kernel → system}/Router.json +0 -0
  298. /package/json-schema/{kernel → system}/RuntimeMode.json +0 -0
  299. /package/json-schema/{kernel → system}/Scheduler.json +0 -0
  300. /package/json-schema/{kernel → system}/ScopedStorage.json +0 -0
  301. /package/json-schema/{kernel → system}/ScopedStorageConfig.json +0 -0
  302. /package/json-schema/{kernel → system}/StorageAdapterType.json +0 -0
  303. /package/json-schema/{kernel → system}/StorageScope.json +0 -0
  304. /package/json-schema/{kernel → system}/SystemAPI.json +0 -0
@@ -0,0 +1,623 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * ETL (Extract, Transform, Load) Pipeline Protocol
4
+ *
5
+ * Inspired by modern data integration platforms like Airbyte, Fivetran, and Apache NiFi.
6
+ *
7
+ * ETL pipelines enable automated data synchronization between systems, transforming
8
+ * data as it moves from source to destination.
9
+ *
10
+ * ## Use Cases
11
+ *
12
+ * 1. **Data Warehouse Population**
13
+ * - Extract from multiple operational systems
14
+ * - Transform to analytical schema
15
+ * - Load into data warehouse
16
+ *
17
+ * 2. **System Integration**
18
+ * - Sync data between CRM and Marketing Automation
19
+ * - Keep product catalog synchronized across e-commerce platforms
20
+ * - Replicate data for backup/disaster recovery
21
+ *
22
+ * 3. **Data Migration**
23
+ * - Move data from legacy systems to modern platforms
24
+ * - Consolidate data from multiple sources
25
+ * - Split monolithic databases into microservices
26
+ *
27
+ * @see https://airbyte.com/
28
+ * @see https://docs.fivetran.com/
29
+ * @see https://nifi.apache.org/
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * const salesforceToDB: ETLPipeline = {
34
+ * name: 'salesforce_to_postgres',
35
+ * label: 'Salesforce Accounts to PostgreSQL',
36
+ * source: {
37
+ * type: 'api',
38
+ * connector: 'salesforce',
39
+ * config: { object: 'Account' }
40
+ * },
41
+ * destination: {
42
+ * type: 'database',
43
+ * connector: 'postgres',
44
+ * config: { table: 'accounts' }
45
+ * },
46
+ * transformations: [
47
+ * { type: 'map', config: { 'Name': 'account_name' } }
48
+ * ],
49
+ * schedule: '0 2 * * *' // Daily at 2 AM
50
+ * }
51
+ * ```
52
+ */
53
+ /**
54
+ * ETL Source/Destination Type
55
+ */
56
+ export declare const ETLEndpointTypeSchema: z.ZodEnum<["database", "api", "file", "stream", "object", "warehouse", "storage", "spreadsheet"]>;
57
+ export type ETLEndpointType = z.infer<typeof ETLEndpointTypeSchema>;
58
+ /**
59
+ * ETL Source Configuration
60
+ */
61
+ export declare const ETLSourceSchema: z.ZodObject<{
62
+ /**
63
+ * Source type
64
+ */
65
+ type: z.ZodEnum<["database", "api", "file", "stream", "object", "warehouse", "storage", "spreadsheet"]>;
66
+ /**
67
+ * Connector identifier
68
+ * References a registered connector
69
+ *
70
+ * @example "salesforce", "postgres", "mysql", "s3"
71
+ */
72
+ connector: z.ZodOptional<z.ZodString>;
73
+ /**
74
+ * Source-specific configuration
75
+ * Structure varies by source type
76
+ *
77
+ * @example For database: { table: 'customers', schema: 'public' }
78
+ * @example For API: { endpoint: '/api/users', method: 'GET' }
79
+ * @example For file: { path: 's3://bucket/data.csv', format: 'csv' }
80
+ */
81
+ config: z.ZodRecord<z.ZodString, z.ZodAny>;
82
+ /**
83
+ * Incremental sync configuration
84
+ * Allows extracting only changed data
85
+ */
86
+ incremental: z.ZodOptional<z.ZodObject<{
87
+ enabled: z.ZodDefault<z.ZodBoolean>;
88
+ cursorField: z.ZodString;
89
+ cursorValue: z.ZodOptional<z.ZodAny>;
90
+ }, "strip", z.ZodTypeAny, {
91
+ enabled: boolean;
92
+ cursorField: string;
93
+ cursorValue?: any;
94
+ }, {
95
+ cursorField: string;
96
+ enabled?: boolean | undefined;
97
+ cursorValue?: any;
98
+ }>>;
99
+ }, "strip", z.ZodTypeAny, {
100
+ type: "object" | "database" | "file" | "api" | "spreadsheet" | "storage" | "stream" | "warehouse";
101
+ config: Record<string, any>;
102
+ incremental?: {
103
+ enabled: boolean;
104
+ cursorField: string;
105
+ cursorValue?: any;
106
+ } | undefined;
107
+ connector?: string | undefined;
108
+ }, {
109
+ type: "object" | "database" | "file" | "api" | "spreadsheet" | "storage" | "stream" | "warehouse";
110
+ config: Record<string, any>;
111
+ incremental?: {
112
+ cursorField: string;
113
+ enabled?: boolean | undefined;
114
+ cursorValue?: any;
115
+ } | undefined;
116
+ connector?: string | undefined;
117
+ }>;
118
+ export type ETLSource = z.infer<typeof ETLSourceSchema>;
119
+ /**
120
+ * ETL Destination Configuration
121
+ */
122
+ export declare const ETLDestinationSchema: z.ZodObject<{
123
+ /**
124
+ * Destination type
125
+ */
126
+ type: z.ZodEnum<["database", "api", "file", "stream", "object", "warehouse", "storage", "spreadsheet"]>;
127
+ /**
128
+ * Connector identifier
129
+ */
130
+ connector: z.ZodOptional<z.ZodString>;
131
+ /**
132
+ * Destination-specific configuration
133
+ */
134
+ config: z.ZodRecord<z.ZodString, z.ZodAny>;
135
+ /**
136
+ * Write mode
137
+ */
138
+ writeMode: z.ZodDefault<z.ZodEnum<["append", "overwrite", "upsert", "merge"]>>;
139
+ /**
140
+ * Primary key fields for upsert/merge
141
+ */
142
+ primaryKey: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
143
+ }, "strip", z.ZodTypeAny, {
144
+ type: "object" | "database" | "file" | "api" | "spreadsheet" | "storage" | "stream" | "warehouse";
145
+ config: Record<string, any>;
146
+ writeMode: "merge" | "upsert" | "append" | "overwrite";
147
+ connector?: string | undefined;
148
+ primaryKey?: string[] | undefined;
149
+ }, {
150
+ type: "object" | "database" | "file" | "api" | "spreadsheet" | "storage" | "stream" | "warehouse";
151
+ config: Record<string, any>;
152
+ connector?: string | undefined;
153
+ writeMode?: "merge" | "upsert" | "append" | "overwrite" | undefined;
154
+ primaryKey?: string[] | undefined;
155
+ }>;
156
+ export type ETLDestination = z.infer<typeof ETLDestinationSchema>;
157
+ /**
158
+ * ETL Transformation Type
159
+ */
160
+ export declare const ETLTransformationTypeSchema: z.ZodEnum<["map", "filter", "aggregate", "join", "script", "lookup", "split", "merge", "normalize", "deduplicate"]>;
161
+ export type ETLTransformationType = z.infer<typeof ETLTransformationTypeSchema>;
162
+ /**
163
+ * ETL Transformation Configuration
164
+ */
165
+ export declare const ETLTransformationSchema: z.ZodObject<{
166
+ /**
167
+ * Transformation name
168
+ */
169
+ name: z.ZodOptional<z.ZodString>;
170
+ /**
171
+ * Transformation type
172
+ */
173
+ type: z.ZodEnum<["map", "filter", "aggregate", "join", "script", "lookup", "split", "merge", "normalize", "deduplicate"]>;
174
+ /**
175
+ * Transformation-specific configuration
176
+ *
177
+ * @example For map: { oldField: 'newField' }
178
+ * @example For filter: { condition: 'status == "active"' }
179
+ * @example For script: { language: 'javascript', code: '...' }
180
+ */
181
+ config: z.ZodRecord<z.ZodString, z.ZodAny>;
182
+ /**
183
+ * Whether to continue on error
184
+ */
185
+ continueOnError: z.ZodDefault<z.ZodBoolean>;
186
+ }, "strip", z.ZodTypeAny, {
187
+ type: "join" | "map" | "filter" | "merge" | "lookup" | "script" | "aggregate" | "split" | "normalize" | "deduplicate";
188
+ config: Record<string, any>;
189
+ continueOnError: boolean;
190
+ name?: string | undefined;
191
+ }, {
192
+ type: "join" | "map" | "filter" | "merge" | "lookup" | "script" | "aggregate" | "split" | "normalize" | "deduplicate";
193
+ config: Record<string, any>;
194
+ name?: string | undefined;
195
+ continueOnError?: boolean | undefined;
196
+ }>;
197
+ export type ETLTransformation = z.infer<typeof ETLTransformationSchema>;
198
+ /**
199
+ * ETL Sync Mode
200
+ */
201
+ export declare const ETLSyncModeSchema: z.ZodEnum<["full", "incremental", "cdc"]>;
202
+ export type ETLSyncMode = z.infer<typeof ETLSyncModeSchema>;
203
+ /**
204
+ * ETL Pipeline Schema
205
+ *
206
+ * Complete definition of a data pipeline from source to destination with transformations.
207
+ */
208
+ export declare const ETLPipelineSchema: z.ZodObject<{
209
+ /**
210
+ * Pipeline identifier (snake_case)
211
+ */
212
+ name: z.ZodString;
213
+ /**
214
+ * Human-readable pipeline name
215
+ */
216
+ label: z.ZodOptional<z.ZodString>;
217
+ /**
218
+ * Pipeline description
219
+ */
220
+ description: z.ZodOptional<z.ZodString>;
221
+ /**
222
+ * Data source configuration
223
+ */
224
+ source: z.ZodObject<{
225
+ /**
226
+ * Source type
227
+ */
228
+ type: z.ZodEnum<["database", "api", "file", "stream", "object", "warehouse", "storage", "spreadsheet"]>;
229
+ /**
230
+ * Connector identifier
231
+ * References a registered connector
232
+ *
233
+ * @example "salesforce", "postgres", "mysql", "s3"
234
+ */
235
+ connector: z.ZodOptional<z.ZodString>;
236
+ /**
237
+ * Source-specific configuration
238
+ * Structure varies by source type
239
+ *
240
+ * @example For database: { table: 'customers', schema: 'public' }
241
+ * @example For API: { endpoint: '/api/users', method: 'GET' }
242
+ * @example For file: { path: 's3://bucket/data.csv', format: 'csv' }
243
+ */
244
+ config: z.ZodRecord<z.ZodString, z.ZodAny>;
245
+ /**
246
+ * Incremental sync configuration
247
+ * Allows extracting only changed data
248
+ */
249
+ incremental: z.ZodOptional<z.ZodObject<{
250
+ enabled: z.ZodDefault<z.ZodBoolean>;
251
+ cursorField: z.ZodString;
252
+ cursorValue: z.ZodOptional<z.ZodAny>;
253
+ }, "strip", z.ZodTypeAny, {
254
+ enabled: boolean;
255
+ cursorField: string;
256
+ cursorValue?: any;
257
+ }, {
258
+ cursorField: string;
259
+ enabled?: boolean | undefined;
260
+ cursorValue?: any;
261
+ }>>;
262
+ }, "strip", z.ZodTypeAny, {
263
+ type: "object" | "database" | "file" | "api" | "spreadsheet" | "storage" | "stream" | "warehouse";
264
+ config: Record<string, any>;
265
+ incremental?: {
266
+ enabled: boolean;
267
+ cursorField: string;
268
+ cursorValue?: any;
269
+ } | undefined;
270
+ connector?: string | undefined;
271
+ }, {
272
+ type: "object" | "database" | "file" | "api" | "spreadsheet" | "storage" | "stream" | "warehouse";
273
+ config: Record<string, any>;
274
+ incremental?: {
275
+ cursorField: string;
276
+ enabled?: boolean | undefined;
277
+ cursorValue?: any;
278
+ } | undefined;
279
+ connector?: string | undefined;
280
+ }>;
281
+ /**
282
+ * Data destination configuration
283
+ */
284
+ destination: z.ZodObject<{
285
+ /**
286
+ * Destination type
287
+ */
288
+ type: z.ZodEnum<["database", "api", "file", "stream", "object", "warehouse", "storage", "spreadsheet"]>;
289
+ /**
290
+ * Connector identifier
291
+ */
292
+ connector: z.ZodOptional<z.ZodString>;
293
+ /**
294
+ * Destination-specific configuration
295
+ */
296
+ config: z.ZodRecord<z.ZodString, z.ZodAny>;
297
+ /**
298
+ * Write mode
299
+ */
300
+ writeMode: z.ZodDefault<z.ZodEnum<["append", "overwrite", "upsert", "merge"]>>;
301
+ /**
302
+ * Primary key fields for upsert/merge
303
+ */
304
+ primaryKey: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
305
+ }, "strip", z.ZodTypeAny, {
306
+ type: "object" | "database" | "file" | "api" | "spreadsheet" | "storage" | "stream" | "warehouse";
307
+ config: Record<string, any>;
308
+ writeMode: "merge" | "upsert" | "append" | "overwrite";
309
+ connector?: string | undefined;
310
+ primaryKey?: string[] | undefined;
311
+ }, {
312
+ type: "object" | "database" | "file" | "api" | "spreadsheet" | "storage" | "stream" | "warehouse";
313
+ config: Record<string, any>;
314
+ connector?: string | undefined;
315
+ writeMode?: "merge" | "upsert" | "append" | "overwrite" | undefined;
316
+ primaryKey?: string[] | undefined;
317
+ }>;
318
+ /**
319
+ * Transformation steps
320
+ * Applied in order from source to destination
321
+ */
322
+ transformations: z.ZodOptional<z.ZodArray<z.ZodObject<{
323
+ /**
324
+ * Transformation name
325
+ */
326
+ name: z.ZodOptional<z.ZodString>;
327
+ /**
328
+ * Transformation type
329
+ */
330
+ type: z.ZodEnum<["map", "filter", "aggregate", "join", "script", "lookup", "split", "merge", "normalize", "deduplicate"]>;
331
+ /**
332
+ * Transformation-specific configuration
333
+ *
334
+ * @example For map: { oldField: 'newField' }
335
+ * @example For filter: { condition: 'status == "active"' }
336
+ * @example For script: { language: 'javascript', code: '...' }
337
+ */
338
+ config: z.ZodRecord<z.ZodString, z.ZodAny>;
339
+ /**
340
+ * Whether to continue on error
341
+ */
342
+ continueOnError: z.ZodDefault<z.ZodBoolean>;
343
+ }, "strip", z.ZodTypeAny, {
344
+ type: "join" | "map" | "filter" | "merge" | "lookup" | "script" | "aggregate" | "split" | "normalize" | "deduplicate";
345
+ config: Record<string, any>;
346
+ continueOnError: boolean;
347
+ name?: string | undefined;
348
+ }, {
349
+ type: "join" | "map" | "filter" | "merge" | "lookup" | "script" | "aggregate" | "split" | "normalize" | "deduplicate";
350
+ config: Record<string, any>;
351
+ name?: string | undefined;
352
+ continueOnError?: boolean | undefined;
353
+ }>, "many">>;
354
+ /**
355
+ * Sync mode
356
+ */
357
+ syncMode: z.ZodDefault<z.ZodEnum<["full", "incremental", "cdc"]>>;
358
+ /**
359
+ * Execution schedule (cron expression)
360
+ *
361
+ * @example "0 2 * * *" - Daily at 2 AM
362
+ * @example "0 *\/4 * * *" - Every 4 hours
363
+ * @example "0 0 * * 0" - Weekly on Sunday
364
+ */
365
+ schedule: z.ZodOptional<z.ZodString>;
366
+ /**
367
+ * Whether pipeline is enabled
368
+ */
369
+ enabled: z.ZodDefault<z.ZodBoolean>;
370
+ /**
371
+ * Retry configuration for failed runs
372
+ */
373
+ retry: z.ZodOptional<z.ZodObject<{
374
+ maxAttempts: z.ZodDefault<z.ZodNumber>;
375
+ backoffMs: z.ZodDefault<z.ZodNumber>;
376
+ }, "strip", z.ZodTypeAny, {
377
+ backoffMs: number;
378
+ maxAttempts: number;
379
+ }, {
380
+ backoffMs?: number | undefined;
381
+ maxAttempts?: number | undefined;
382
+ }>>;
383
+ /**
384
+ * Notification configuration
385
+ */
386
+ notifications: z.ZodOptional<z.ZodObject<{
387
+ onSuccess: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
388
+ onFailure: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
389
+ }, "strip", z.ZodTypeAny, {
390
+ onSuccess?: string[] | undefined;
391
+ onFailure?: string[] | undefined;
392
+ }, {
393
+ onSuccess?: string[] | undefined;
394
+ onFailure?: string[] | undefined;
395
+ }>>;
396
+ /**
397
+ * Pipeline tags for organization
398
+ */
399
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
400
+ /**
401
+ * Custom metadata
402
+ */
403
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
404
+ }, "strip", z.ZodTypeAny, {
405
+ name: string;
406
+ enabled: boolean;
407
+ source: {
408
+ type: "object" | "database" | "file" | "api" | "spreadsheet" | "storage" | "stream" | "warehouse";
409
+ config: Record<string, any>;
410
+ incremental?: {
411
+ enabled: boolean;
412
+ cursorField: string;
413
+ cursorValue?: any;
414
+ } | undefined;
415
+ connector?: string | undefined;
416
+ };
417
+ destination: {
418
+ type: "object" | "database" | "file" | "api" | "spreadsheet" | "storage" | "stream" | "warehouse";
419
+ config: Record<string, any>;
420
+ writeMode: "merge" | "upsert" | "append" | "overwrite";
421
+ connector?: string | undefined;
422
+ primaryKey?: string[] | undefined;
423
+ };
424
+ syncMode: "full" | "incremental" | "cdc";
425
+ tags?: string[] | undefined;
426
+ label?: string | undefined;
427
+ description?: string | undefined;
428
+ metadata?: Record<string, any> | undefined;
429
+ notifications?: {
430
+ onSuccess?: string[] | undefined;
431
+ onFailure?: string[] | undefined;
432
+ } | undefined;
433
+ schedule?: string | undefined;
434
+ transformations?: {
435
+ type: "join" | "map" | "filter" | "merge" | "lookup" | "script" | "aggregate" | "split" | "normalize" | "deduplicate";
436
+ config: Record<string, any>;
437
+ continueOnError: boolean;
438
+ name?: string | undefined;
439
+ }[] | undefined;
440
+ retry?: {
441
+ backoffMs: number;
442
+ maxAttempts: number;
443
+ } | undefined;
444
+ }, {
445
+ name: string;
446
+ source: {
447
+ type: "object" | "database" | "file" | "api" | "spreadsheet" | "storage" | "stream" | "warehouse";
448
+ config: Record<string, any>;
449
+ incremental?: {
450
+ cursorField: string;
451
+ enabled?: boolean | undefined;
452
+ cursorValue?: any;
453
+ } | undefined;
454
+ connector?: string | undefined;
455
+ };
456
+ destination: {
457
+ type: "object" | "database" | "file" | "api" | "spreadsheet" | "storage" | "stream" | "warehouse";
458
+ config: Record<string, any>;
459
+ connector?: string | undefined;
460
+ writeMode?: "merge" | "upsert" | "append" | "overwrite" | undefined;
461
+ primaryKey?: string[] | undefined;
462
+ };
463
+ tags?: string[] | undefined;
464
+ label?: string | undefined;
465
+ description?: string | undefined;
466
+ enabled?: boolean | undefined;
467
+ metadata?: Record<string, any> | undefined;
468
+ notifications?: {
469
+ onSuccess?: string[] | undefined;
470
+ onFailure?: string[] | undefined;
471
+ } | undefined;
472
+ schedule?: string | undefined;
473
+ transformations?: {
474
+ type: "join" | "map" | "filter" | "merge" | "lookup" | "script" | "aggregate" | "split" | "normalize" | "deduplicate";
475
+ config: Record<string, any>;
476
+ name?: string | undefined;
477
+ continueOnError?: boolean | undefined;
478
+ }[] | undefined;
479
+ syncMode?: "full" | "incremental" | "cdc" | undefined;
480
+ retry?: {
481
+ backoffMs?: number | undefined;
482
+ maxAttempts?: number | undefined;
483
+ } | undefined;
484
+ }>;
485
+ export type ETLPipeline = z.infer<typeof ETLPipelineSchema>;
486
+ /**
487
+ * ETL Run Status
488
+ */
489
+ export declare const ETLRunStatusSchema: z.ZodEnum<["pending", "running", "succeeded", "failed", "cancelled", "timeout"]>;
490
+ export type ETLRunStatus = z.infer<typeof ETLRunStatusSchema>;
491
+ /**
492
+ * ETL Pipeline Run Result
493
+ *
494
+ * Result of a pipeline execution
495
+ */
496
+ export declare const ETLPipelineRunSchema: z.ZodObject<{
497
+ /**
498
+ * Run ID
499
+ */
500
+ id: z.ZodString;
501
+ /**
502
+ * Pipeline name
503
+ */
504
+ pipelineName: z.ZodString;
505
+ /**
506
+ * Run status
507
+ */
508
+ status: z.ZodEnum<["pending", "running", "succeeded", "failed", "cancelled", "timeout"]>;
509
+ /**
510
+ * Start timestamp
511
+ */
512
+ startedAt: z.ZodString;
513
+ /**
514
+ * End timestamp
515
+ */
516
+ completedAt: z.ZodOptional<z.ZodString>;
517
+ /**
518
+ * Duration in milliseconds
519
+ */
520
+ durationMs: z.ZodOptional<z.ZodNumber>;
521
+ /**
522
+ * Statistics
523
+ */
524
+ stats: z.ZodOptional<z.ZodObject<{
525
+ recordsRead: z.ZodDefault<z.ZodNumber>;
526
+ recordsWritten: z.ZodDefault<z.ZodNumber>;
527
+ recordsErrored: z.ZodDefault<z.ZodNumber>;
528
+ bytesProcessed: z.ZodDefault<z.ZodNumber>;
529
+ }, "strip", z.ZodTypeAny, {
530
+ recordsRead: number;
531
+ recordsWritten: number;
532
+ recordsErrored: number;
533
+ bytesProcessed: number;
534
+ }, {
535
+ recordsRead?: number | undefined;
536
+ recordsWritten?: number | undefined;
537
+ recordsErrored?: number | undefined;
538
+ bytesProcessed?: number | undefined;
539
+ }>>;
540
+ /**
541
+ * Error information
542
+ */
543
+ error: z.ZodOptional<z.ZodObject<{
544
+ message: z.ZodString;
545
+ code: z.ZodOptional<z.ZodString>;
546
+ details: z.ZodOptional<z.ZodAny>;
547
+ }, "strip", z.ZodTypeAny, {
548
+ message: string;
549
+ code?: string | undefined;
550
+ details?: any;
551
+ }, {
552
+ message: string;
553
+ code?: string | undefined;
554
+ details?: any;
555
+ }>>;
556
+ /**
557
+ * Execution logs
558
+ */
559
+ logs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
560
+ }, "strip", z.ZodTypeAny, {
561
+ status: "timeout" | "running" | "failed" | "pending" | "succeeded" | "cancelled";
562
+ id: string;
563
+ startedAt: string;
564
+ pipelineName: string;
565
+ error?: {
566
+ message: string;
567
+ code?: string | undefined;
568
+ details?: any;
569
+ } | undefined;
570
+ durationMs?: number | undefined;
571
+ completedAt?: string | undefined;
572
+ logs?: string[] | undefined;
573
+ stats?: {
574
+ recordsRead: number;
575
+ recordsWritten: number;
576
+ recordsErrored: number;
577
+ bytesProcessed: number;
578
+ } | undefined;
579
+ }, {
580
+ status: "timeout" | "running" | "failed" | "pending" | "succeeded" | "cancelled";
581
+ id: string;
582
+ startedAt: string;
583
+ pipelineName: string;
584
+ error?: {
585
+ message: string;
586
+ code?: string | undefined;
587
+ details?: any;
588
+ } | undefined;
589
+ durationMs?: number | undefined;
590
+ completedAt?: string | undefined;
591
+ logs?: string[] | undefined;
592
+ stats?: {
593
+ recordsRead?: number | undefined;
594
+ recordsWritten?: number | undefined;
595
+ recordsErrored?: number | undefined;
596
+ bytesProcessed?: number | undefined;
597
+ } | undefined;
598
+ }>;
599
+ export type ETLPipelineRun = z.infer<typeof ETLPipelineRunSchema>;
600
+ /**
601
+ * Helper factory for creating ETL pipelines
602
+ */
603
+ export declare const ETL: {
604
+ /**
605
+ * Create a simple database-to-database pipeline
606
+ */
607
+ readonly databaseSync: (params: {
608
+ name: string;
609
+ sourceTable: string;
610
+ destTable: string;
611
+ schedule?: string;
612
+ }) => ETLPipeline;
613
+ /**
614
+ * Create an API to database pipeline
615
+ */
616
+ readonly apiToDatabase: (params: {
617
+ name: string;
618
+ apiConnector: string;
619
+ destTable: string;
620
+ schedule?: string;
621
+ }) => ETLPipeline;
622
+ };
623
+ //# sourceMappingURL=etl.zod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"etl.zod.d.ts","sourceRoot":"","sources":["../../src/automation/etl.zod.ts"],"names":[],"mappings":"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"}