@@ -12,8 +12,8 @@ description: Connector protocol schemas
1212## TypeScript Usage
1313
1414``` typescript
15- import { AuthFieldSchema , AuthenticationSchema , AuthenticationTypeSchema , ConnectorSchema , ConnectorCategorySchema , ConnectorInstanceSchema , ConnectorOperationSchema , ConnectorTriggerSchema , OAuth2ConfigSchema , OperationParameterSchema , OperationTypeSchema } from ' @objectstack/spec/automation' ;
16- import type { AuthField , Authentication , AuthenticationType , Connector , ConnectorCategory , ConnectorInstance , ConnectorOperation , ConnectorTrigger , OAuth2Config , OperationParameter , OperationType } from ' @objectstack/spec/automation' ;
15+ import { AuthFieldSchema , AuthenticationSchema , AuthenticationTypeSchema , ConflictResolutionSchema , ConnectorSchema , ConnectorCategorySchema , ConnectorInstanceSchema , ConnectorOperationSchema , ConnectorTriggerSchema , DataSyncConfigSchema , FieldMappingSchema , OAuth2ConfigSchema , OperationParameterSchema , OperationTypeSchema } from ' @objectstack/spec/automation' ;
16+ import type { AuthField , Authentication , AuthenticationType , ConflictResolution , Connector , ConnectorCategory , ConnectorInstance , ConnectorOperation , ConnectorTrigger , DataSyncConfig , FieldMapping , OAuth2Config , OperationParameter , OperationType } from ' @objectstack/spec/automation' ;
1717
1818// Validate data
1919const result = AuthFieldSchema .parse (data );
@@ -65,6 +65,18 @@ const result = AuthFieldSchema.parse(data);
6565
6666---
6767
68+ ## ConflictResolution
69+
70+ ### Allowed Values
71+
72+ * ` source_wins `
73+ * ` destination_wins `
74+ * ` latest_wins `
75+ * ` manual `
76+ * ` merge `
77+
78+ ---
79+
6880## Connector
6981
7082### Properties
@@ -167,6 +179,48 @@ const result = AuthFieldSchema.parse(data);
167179
168180---
169181
182+ ## DataSyncConfig
183+
184+ ### Properties
185+
186+ | Property | Type | Required | Description |
187+ | :--- | :--- | :--- | :--- |
188+ | ** name** | ` string ` | ✅ | Sync configuration name (snake_case) |
189+ | ** label** | ` string ` | optional | Sync display name |
190+ | ** description** | ` string ` | optional | Sync description |
191+ | ** source** | ` object ` | ✅ | Data source |
192+ | ** destination** | ` object ` | ✅ | Data destination |
193+ | ** direction** | ` Enum<'push' \| 'pull' \| 'bidirectional'> ` | optional | Sync direction |
194+ | ** syncMode** | ` Enum<'full' \| 'incremental' \| 'realtime'> ` | optional | Sync mode |
195+ | ** conflictResolution** | ` Enum<'source_wins' \| 'destination_wins' \| 'latest_wins' \| 'manual' \| 'merge'> ` | optional | Conflict resolution |
196+ | ** schedule** | ` string ` | optional | Cron schedule |
197+ | ** enabled** | ` boolean ` | optional | Sync enabled |
198+ | ** changeTrackingField** | ` string ` | optional | Field for change tracking |
199+ | ** batchSize** | ` integer ` | optional | Batch size for processing |
200+ | ** retry** | ` object ` | optional | Retry configuration |
201+ | ** validation** | ` object ` | optional | Validation rules |
202+ | ** errorHandling** | ` object ` | optional | Error handling |
203+ | ** optimization** | ` object ` | optional | Performance optimization |
204+ | ** audit** | ` object ` | optional | Audit configuration |
205+ | ** tags** | ` string[] ` | optional | Sync tags |
206+ | ** metadata** | ` Record<string, any> ` | optional | Custom metadata |
207+
208+ ---
209+
210+ ## FieldMapping
211+
212+ ### Properties
213+
214+ | Property | Type | Required | Description |
215+ | :--- | :--- | :--- | :--- |
216+ | ** sourceField** | ` string ` | ✅ | Source field name |
217+ | ** destinationField** | ` string ` | ✅ | Destination field name |
218+ | ** transform** | ` string ` | optional | Transformation formula |
219+ | ** default** | ` any ` | optional | Default value |
220+ | ** syncNull** | ` boolean ` | optional | Sync null values |
221+
222+ ---
223+
170224## OAuth2Config
171225
172226### Properties
0 commit comments