@devrev/airsync-sdk 2.0.0-beta.0 → 2.0.0-beta.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 (157) hide show
  1. package/README.md +0 -4
  2. package/dist/airsync-sdk.d.ts +1802 -0
  3. package/dist/attachments-streaming/attachments-streaming-pool.d.ts +7 -0
  4. package/dist/attachments-streaming/attachments-streaming-pool.d.ts.map +1 -1
  5. package/dist/attachments-streaming/attachments-streaming-pool.js +44 -4
  6. package/dist/attachments-streaming/attachments-streaming-pool.test.js +259 -10
  7. package/dist/common/constants.d.ts +16 -5
  8. package/dist/common/constants.d.ts.map +1 -1
  9. package/dist/common/constants.js +20 -6
  10. package/dist/common/control-protocol.d.ts +2 -2
  11. package/dist/common/control-protocol.d.ts.map +1 -1
  12. package/dist/common/control-protocol.js +1 -5
  13. package/dist/common/helpers.d.ts +8 -0
  14. package/dist/common/helpers.d.ts.map +1 -1
  15. package/dist/common/helpers.js +15 -0
  16. package/dist/common/install-initial-domain-mapping.d.ts +2 -2
  17. package/dist/common/install-initial-domain-mapping.test.js +7 -3
  18. package/dist/common/test-utils.d.ts +19 -0
  19. package/dist/common/test-utils.d.ts.map +1 -0
  20. package/dist/common/test-utils.js +101 -0
  21. package/dist/common/time-value-resolver.d.ts +47 -0
  22. package/dist/common/time-value-resolver.d.ts.map +1 -0
  23. package/dist/common/time-value-resolver.js +141 -0
  24. package/dist/common/time-value-resolver.test.d.ts +2 -0
  25. package/dist/common/time-value-resolver.test.d.ts.map +1 -0
  26. package/dist/common/time-value-resolver.test.js +268 -0
  27. package/dist/http/axios-client-internal.d.ts.map +1 -1
  28. package/dist/http/axios-client-internal.js +7 -0
  29. package/dist/http/axios-client-internal.test.js +27 -6
  30. package/dist/http/axios-client.d.ts.map +1 -1
  31. package/dist/http/axios-client.js +6 -3
  32. package/dist/http/index.d.ts +0 -1
  33. package/dist/http/index.d.ts.map +1 -1
  34. package/dist/http/index.js +0 -1
  35. package/dist/index.d.ts +9 -8
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +12 -10
  38. package/dist/logger/logger.d.ts +1 -17
  39. package/dist/logger/logger.d.ts.map +1 -1
  40. package/dist/logger/logger.interfaces.d.ts +2 -2
  41. package/dist/logger/logger.js +35 -27
  42. package/dist/logger/logger.test.js +66 -19
  43. package/dist/mappers/mappers.interface.d.ts +5 -5
  44. package/dist/mappers/mappers.interface.js +3 -3
  45. package/dist/mappers/mappers.test.js +8 -10
  46. package/dist/mock-server/mock-server.d.ts +47 -0
  47. package/dist/mock-server/mock-server.d.ts.map +1 -0
  48. package/dist/mock-server/mock-server.interfaces.d.ts +73 -0
  49. package/dist/mock-server/mock-server.interfaces.d.ts.map +1 -0
  50. package/dist/mock-server/mock-server.interfaces.js +4 -0
  51. package/dist/mock-server/mock-server.js +278 -0
  52. package/dist/multithreading/create-worker.test.js +36 -17
  53. package/dist/multithreading/process-task.d.ts.map +1 -1
  54. package/dist/multithreading/process-task.js +46 -44
  55. package/dist/multithreading/process-task.test.d.ts +2 -0
  56. package/dist/multithreading/process-task.test.d.ts.map +1 -0
  57. package/dist/multithreading/process-task.test.js +146 -0
  58. package/dist/multithreading/spawn/spawn.d.ts +4 -3
  59. package/dist/multithreading/spawn/spawn.d.ts.map +1 -1
  60. package/dist/multithreading/spawn/spawn.helpers.d.ts.map +1 -1
  61. package/dist/multithreading/spawn/spawn.helpers.js +6 -14
  62. package/dist/multithreading/spawn/spawn.helpers.test.js +8 -8
  63. package/dist/multithreading/spawn/spawn.js +41 -31
  64. package/dist/multithreading/spawn/spawn.test.d.ts +2 -0
  65. package/dist/multithreading/spawn/spawn.test.d.ts.map +1 -0
  66. package/dist/multithreading/spawn/spawn.test.js +232 -0
  67. package/dist/multithreading/worker-adapter/worker-adapter.artifacts.test.js +49 -1
  68. package/dist/multithreading/worker-adapter/worker-adapter.d.ts +11 -5
  69. package/dist/multithreading/worker-adapter/worker-adapter.d.ts.map +1 -1
  70. package/dist/multithreading/worker-adapter/worker-adapter.emit.test.d.ts +2 -0
  71. package/dist/multithreading/worker-adapter/worker-adapter.emit.test.d.ts.map +1 -0
  72. package/dist/multithreading/worker-adapter/worker-adapter.emit.test.js +390 -0
  73. package/dist/multithreading/worker-adapter/worker-adapter.extraction.test.d.ts +2 -0
  74. package/dist/multithreading/worker-adapter/worker-adapter.extraction.test.d.ts.map +1 -0
  75. package/dist/multithreading/worker-adapter/worker-adapter.extraction.test.js +799 -0
  76. package/dist/multithreading/worker-adapter/worker-adapter.js +233 -134
  77. package/dist/multithreading/worker-adapter/worker-adapter.loading.test.d.ts +2 -0
  78. package/dist/multithreading/worker-adapter/worker-adapter.loading.test.d.ts.map +1 -0
  79. package/dist/multithreading/worker-adapter/worker-adapter.loading.test.js +596 -0
  80. package/dist/multithreading/worker-adapter/worker-adapter.serialization.test.d.ts +2 -0
  81. package/dist/multithreading/worker-adapter/worker-adapter.serialization.test.d.ts.map +1 -0
  82. package/dist/multithreading/worker-adapter/worker-adapter.serialization.test.js +71 -0
  83. package/dist/repo/repo.d.ts.map +1 -1
  84. package/dist/repo/repo.interfaces.d.ts +4 -2
  85. package/dist/repo/repo.interfaces.d.ts.map +1 -1
  86. package/dist/repo/repo.js +4 -3
  87. package/dist/repo/repo.test.js +60 -7
  88. package/dist/state/state.d.ts +7 -1
  89. package/dist/state/state.d.ts.map +1 -1
  90. package/dist/state/state.extract-window.test.d.ts +2 -0
  91. package/dist/state/state.extract-window.test.d.ts.map +1 -0
  92. package/dist/state/state.extract-window.test.js +163 -0
  93. package/dist/state/state.interfaces.d.ts +25 -8
  94. package/dist/state/state.interfaces.d.ts.map +1 -1
  95. package/dist/state/state.interfaces.js +4 -2
  96. package/dist/state/state.js +111 -12
  97. package/dist/state/state.pending-boundaries.test.d.ts +2 -0
  98. package/dist/state/state.pending-boundaries.test.d.ts.map +1 -0
  99. package/dist/state/state.pending-boundaries.test.js +189 -0
  100. package/dist/state/state.post-state.test.d.ts +2 -0
  101. package/dist/state/state.post-state.test.d.ts.map +1 -0
  102. package/dist/state/state.post-state.test.js +77 -0
  103. package/dist/state/state.test.js +117 -73
  104. package/dist/state/state.time-value-resolution.test.d.ts +2 -0
  105. package/dist/state/state.time-value-resolution.test.d.ts.map +1 -0
  106. package/dist/state/state.time-value-resolution.test.js +175 -0
  107. package/dist/tsdoc-metadata.json +11 -0
  108. package/dist/types/common.d.ts +0 -25
  109. package/dist/types/common.d.ts.map +1 -1
  110. package/dist/types/common.js +1 -11
  111. package/dist/types/external-domain-metadata.d.ts +338 -0
  112. package/dist/types/external-domain-metadata.d.ts.map +1 -0
  113. package/dist/types/extraction.d.ts +89 -218
  114. package/dist/types/extraction.d.ts.map +1 -1
  115. package/dist/types/extraction.js +56 -124
  116. package/dist/types/extraction.test.js +69 -43
  117. package/dist/types/index.d.ts +4 -2
  118. package/dist/types/index.d.ts.map +1 -1
  119. package/dist/types/index.js +6 -3
  120. package/dist/types/loading.d.ts +4 -24
  121. package/dist/types/loading.d.ts.map +1 -1
  122. package/dist/types/loading.js +1 -22
  123. package/dist/types/workers.d.ts +31 -14
  124. package/dist/types/workers.d.ts.map +1 -1
  125. package/dist/types/workers.js +1 -0
  126. package/dist/uploader/uploader.d.ts +1 -0
  127. package/dist/uploader/uploader.d.ts.map +1 -1
  128. package/dist/uploader/uploader.helpers.test.js +0 -11
  129. package/dist/uploader/uploader.interfaces.d.ts +3 -3
  130. package/dist/uploader/uploader.js +53 -20
  131. package/dist/uploader/uploader.test.js +22 -10
  132. package/package.json +12 -11
  133. package/dist/common/event-type-translation.d.ts +0 -24
  134. package/dist/common/event-type-translation.d.ts.map +0 -1
  135. package/dist/common/event-type-translation.js +0 -117
  136. package/dist/deprecated/adapter/index.d.ts +0 -62
  137. package/dist/deprecated/adapter/index.d.ts.map +0 -1
  138. package/dist/deprecated/adapter/index.js +0 -151
  139. package/dist/deprecated/common/helpers.d.ts +0 -7
  140. package/dist/deprecated/common/helpers.d.ts.map +0 -1
  141. package/dist/deprecated/common/helpers.js +0 -47
  142. package/dist/deprecated/demo-extractor/external_domain_metadata.json +0 -38
  143. package/dist/deprecated/demo-extractor/index.d.ts +0 -18
  144. package/dist/deprecated/demo-extractor/index.d.ts.map +0 -1
  145. package/dist/deprecated/demo-extractor/index.js +0 -161
  146. package/dist/deprecated/http/client.d.ts +0 -22
  147. package/dist/deprecated/http/client.d.ts.map +0 -1
  148. package/dist/deprecated/http/client.js +0 -161
  149. package/dist/deprecated/uploader/index.d.ts +0 -35
  150. package/dist/deprecated/uploader/index.d.ts.map +0 -1
  151. package/dist/deprecated/uploader/index.js +0 -161
  152. package/dist/http/types.d.ts +0 -17
  153. package/dist/http/types.d.ts.map +0 -1
  154. package/dist/multithreading/worker-adapter/worker-adapter.test.d.ts +0 -2
  155. package/dist/multithreading/worker-adapter/worker-adapter.test.d.ts.map +0 -1
  156. package/dist/multithreading/worker-adapter/worker-adapter.test.js +0 -483
  157. /package/dist/{http/types.js → types/external-domain-metadata.js} +0 -0
@@ -0,0 +1,338 @@
1
+ /**
2
+ * Schema version for the external domain metadata format.
3
+ */
4
+ export type SchemaVersion = 'v0.2.0';
5
+ /** Key identifying a record type in the record_types map, refers_to maps, or type_keys arrays. */
6
+ export type RecordTypeKey = string;
7
+ /** Key identifying a field within a record type or struct type fields map. */
8
+ export type FieldKey = string;
9
+ /** Key identifying an enum value in EnumValue.key or stage diagram stages map keys. */
10
+ export type EnumValueKey = string;
11
+ /** Key identifying a struct type in the struct_types map. */
12
+ export type StructTypeKey = string;
13
+ /** Key identifying a record type category in the record_type_categories map. */
14
+ export type RecordTypeCategoryKey = string;
15
+ /** Key identifying a state in the stage diagram states map. */
16
+ export type StateKey = string;
17
+ /** Key identifying a stage in the stage diagram stages map. */
18
+ export type StageKey = string;
19
+ /**
20
+ * Field type discriminator.
21
+ */
22
+ export type FieldType = 'bool' | 'int' | 'float' | 'text' | 'rich_text' | 'reference' | 'typed_reference' | 'enum' | 'date' | 'timestamp' | 'struct' | 'permission' | 'record_type_privilege' | 'field_privilege' | 'conditional_privilege' | 'participation';
23
+ /**
24
+ * Reference type indicating parent-child relationship.
25
+ */
26
+ export type ReferenceType = 'child' | 'parent';
27
+ /**
28
+ * Comparator for field conditions.
29
+ */
30
+ export type FieldConditionComparator = 'eq' | 'ne';
31
+ /**
32
+ * Effect applied when a field condition is met.
33
+ */
34
+ export type FieldConditionEffect = 'require' | 'show';
35
+ /**
36
+ * Scope of a record type.
37
+ */
38
+ export type RecordTypeScope = 'metadata_is_system_scoped' | 'data_is_system_scoped';
39
+ /**
40
+ * Collection constraints for fields that are collections of values.
41
+ */
42
+ export interface CollectionData {
43
+ min_length?: number;
44
+ max_length?: number;
45
+ }
46
+ /**
47
+ * Integer field constraints.
48
+ */
49
+ export interface IntData {
50
+ min?: number;
51
+ max?: number;
52
+ }
53
+ /**
54
+ * Float field constraints.
55
+ */
56
+ export interface FloatData {
57
+ min?: number;
58
+ max?: number;
59
+ }
60
+ /**
61
+ * Text field constraints.
62
+ */
63
+ export interface TextData {
64
+ min_length?: number;
65
+ max_length?: number;
66
+ }
67
+ /**
68
+ * Enum value definition.
69
+ */
70
+ export interface EnumValue {
71
+ /** The enum value that actually occurs in the json data */
72
+ key: EnumValueKey;
73
+ /** The human readable name of the enum value */
74
+ name?: string;
75
+ description?: string;
76
+ /** Deprecated enum values may still occur in the data, but should not be used in new data */
77
+ is_deprecated?: boolean;
78
+ }
79
+ /**
80
+ * Enum field data containing possible values.
81
+ */
82
+ export interface EnumData {
83
+ values: EnumValue[];
84
+ }
85
+ /**
86
+ * Details about how a reference targets another record type.
87
+ */
88
+ export interface ReferenceDetail {
89
+ /** The field in the target record type by which it is referenced. Assumed to be the primary key if not set. */
90
+ by_field?: FieldKey;
91
+ }
92
+ /**
93
+ * Reference field data specifying target record types.
94
+ */
95
+ export interface ReferenceData {
96
+ /** The record types that this reference can refer to */
97
+ refers_to: Record<RecordTypeKey, ReferenceDetail>;
98
+ /** The parent reference refers to a record that has special ownership over the child */
99
+ reference_type?: ReferenceType;
100
+ }
101
+ /**
102
+ * Typed reference field data specifying target record types.
103
+ */
104
+ export interface TypedReferenceData {
105
+ /** The record types that this reference can refer to */
106
+ refers_to: Record<RecordTypeKey, ReferenceDetail>;
107
+ /** The parent reference refers to a record that has special ownership over the child */
108
+ reference_type?: ReferenceType;
109
+ }
110
+ /**
111
+ * Struct field data referencing a struct type.
112
+ */
113
+ export interface StructData {
114
+ key?: StructTypeKey;
115
+ }
116
+ /**
117
+ * Participation field data specifying target record types.
118
+ */
119
+ export interface ParticipationData {
120
+ /** The record types that this participation reference can refer to */
121
+ refers_to: Record<RecordTypeKey, ReferenceDetail>;
122
+ }
123
+ /**
124
+ * Permission data associating a reference with a role.
125
+ */
126
+ export interface PermissionData {
127
+ member_id?: ReferenceData;
128
+ role?: EnumData;
129
+ }
130
+ /**
131
+ * Conditional privilege data for authorization.
132
+ */
133
+ export interface ConditionalPrivilegeData {
134
+ /** The possible record types or record type categories that can be targeted in conditional privilege. */
135
+ type_keys: RecordTypeKey[];
136
+ }
137
+ /**
138
+ * Field privilege data for authorization.
139
+ */
140
+ export interface FieldPrivilegeData {
141
+ /** The possible record types or record type categories that can be targeted in field privilege. */
142
+ type_keys: RecordTypeKey[];
143
+ }
144
+ /**
145
+ * Record type privilege data for authorization.
146
+ */
147
+ export interface RecordTypePrivilegeData {
148
+ /** The possible record types or record type categories that can be targeted in record type privilege. */
149
+ type_keys: RecordTypeKey[];
150
+ }
151
+ /**
152
+ * Target type key data for authorization policy.
153
+ */
154
+ export interface TargetTypeKeyData {
155
+ /** The possible record types or record type categories that can be targeted in authorization policy. */
156
+ type_keys: RecordTypeKey[];
157
+ }
158
+ /**
159
+ * Field reference data (currently empty, reserved for future use).
160
+ */
161
+ export interface FieldReferenceData {
162
+ [key: string]: never;
163
+ }
164
+ /**
165
+ * Field definition with type discriminator and type-specific data.
166
+ */
167
+ export interface Field {
168
+ /** The type of the field */
169
+ type: FieldType;
170
+ /** The human readable name of the field */
171
+ name?: string;
172
+ description?: string;
173
+ /** Required fields are required in the domain model of the external system. */
174
+ is_required?: boolean;
175
+ /** Read only fields can't be set (when creating or updating a record), but are filled in by some process in the system. */
176
+ is_read_only?: boolean | null;
177
+ /** Fields that are write only should only be written to. */
178
+ is_write_only?: boolean | null;
179
+ /** Indexed fields can be used for searching, sorting or filtering. */
180
+ is_indexed?: boolean | null;
181
+ /** Indicates that the field can be used to uniquely lookup a record. */
182
+ is_identifier?: boolean | null;
183
+ /** Default value for the field */
184
+ default_value?: boolean | number | string;
185
+ /** If collection is set, the field is a 'collection' of the given type. */
186
+ collection?: CollectionData;
187
+ int?: IntData;
188
+ float?: FloatData;
189
+ text?: TextData;
190
+ enum?: EnumData | null;
191
+ reference?: ReferenceData;
192
+ typed_reference?: TypedReferenceData;
193
+ struct?: StructData;
194
+ permission?: PermissionData;
195
+ type_key?: TargetTypeKeyData;
196
+ field_reference?: FieldReferenceData;
197
+ record_type_privilege?: RecordTypePrivilegeData;
198
+ field_privilege?: FieldPrivilegeData;
199
+ conditional_privilege?: ConditionalPrivilegeData;
200
+ participation?: ParticipationData;
201
+ }
202
+ /**
203
+ * Field condition definition.
204
+ */
205
+ export interface FieldCondition {
206
+ /** The value of the controlling field that will be compared against to see if the condition is met. */
207
+ value: unknown;
208
+ /** The comparator that will be used to compare the controlling field's value against the Value. */
209
+ comparator: FieldConditionComparator;
210
+ /** The fields that will be affected by the condition being met. */
211
+ affected_fields: FieldKey[];
212
+ /** The effect that will be applied to the affected fields if the condition is met. */
213
+ effect: FieldConditionEffect;
214
+ }
215
+ /**
216
+ * Array of field conditions.
217
+ */
218
+ export type FieldConditions = FieldCondition[];
219
+ /**
220
+ * Custom link names for forward and backward directions.
221
+ */
222
+ export interface CustomLinkNames {
223
+ /** The forward name of the link */
224
+ forward_name: string;
225
+ /** The backward name of the link */
226
+ backward_name: string;
227
+ }
228
+ /**
229
+ * Custom link data for defining link types.
230
+ */
231
+ export interface CustomLinkData {
232
+ /** The field that defines the link types in the system. */
233
+ link_type_field: FieldKey;
234
+ link_direction_names: Record<string, CustomLinkNames> | null;
235
+ }
236
+ /**
237
+ * Custom stage definition in a stage diagram.
238
+ */
239
+ export interface CustomStage {
240
+ /** The state this stage belongs to. Must match the ones defined in the diagram 'states' field or be one of the default options: 'open', 'in_progress', 'closed'. */
241
+ state?: StateKey;
242
+ /** A list of stage names that this stage can transition to. */
243
+ transitions_to?: StageKey[];
244
+ }
245
+ /**
246
+ * Custom state definition in a stage diagram.
247
+ */
248
+ export interface CustomState {
249
+ /** The human readable name of the custom state. */
250
+ name: string;
251
+ /** Denotes that this state is an end state. */
252
+ is_end_state?: boolean;
253
+ /** The sort order of the state. */
254
+ ordinal?: number;
255
+ }
256
+ /**
257
+ * Stage diagram definition for record type workflow.
258
+ */
259
+ export interface StageDiagram {
260
+ /** The field that represents the stage in the external system. */
261
+ controlling_field: FieldKey;
262
+ /** A map of the stages that should be created. Keys must match the enum values in the controlling field. */
263
+ stages: Record<StageKey, CustomStage>;
264
+ /** The stage that the parent record type starts in when it is created. */
265
+ starting_stage?: StageKey;
266
+ /** A map of the states/status categories that should be created. */
267
+ states?: Record<StateKey, CustomState>;
268
+ /** Denotes that this diagram has no explicit transitions and should be created as an 'all-to-all' diagram. */
269
+ all_transitions_allowed?: boolean;
270
+ }
271
+ /**
272
+ * Record type category definition.
273
+ */
274
+ export interface RecordTypeCategory {
275
+ /** The human readable name of the record type category */
276
+ name?: string;
277
+ /** Indicates whether a record can move between the record types of this category while preserving its identity */
278
+ are_record_type_conversions_possible?: boolean;
279
+ }
280
+ /**
281
+ * Attachments configuration for a record type.
282
+ */
283
+ export interface Attachments {
284
+ /** Whether attachments can be extracted */
285
+ is_extractable?: boolean;
286
+ /** Whether attachments can be loaded: that is, whether the connector supports creating it in the system */
287
+ is_loadable?: boolean;
288
+ }
289
+ /**
290
+ * Record type definition.
291
+ */
292
+ export interface RecordType {
293
+ /** The fields of the record type */
294
+ fields: Record<FieldKey, Field>;
295
+ /** The human readable name of the record type */
296
+ name?: string;
297
+ description?: string;
298
+ category?: RecordTypeCategoryKey;
299
+ /** Whether the record type can be loaded (connector supports creating it in the system) */
300
+ is_loadable?: boolean;
301
+ /** Whether the record type sends the complete system state in every sync */
302
+ is_snapshot?: boolean;
303
+ /** Denotes that the record type has no ID field, primarily used for authorization policies */
304
+ no_identifier?: boolean;
305
+ /** Indicates the scope of this record type */
306
+ scope?: RecordTypeScope;
307
+ /** Field conditions for this record type */
308
+ conditions?: Record<FieldKey, FieldConditions>;
309
+ /** Stage diagram for workflow */
310
+ stage_diagram?: StageDiagram;
311
+ /** Link naming data for custom links */
312
+ link_naming_data?: CustomLinkData;
313
+ /** Attachments configuration */
314
+ attachments?: Attachments;
315
+ }
316
+ /**
317
+ * Struct type definition for reusable field structures.
318
+ */
319
+ export interface StructType {
320
+ /** The fields of the struct type */
321
+ fields: Record<FieldKey, Field>;
322
+ /** The human readable name of the struct type */
323
+ name?: string;
324
+ }
325
+ /**
326
+ * External domain metadata describing the logical structure of an external system.
327
+ */
328
+ export interface ExternalDomainMetadata {
329
+ /** The record types in the domain */
330
+ record_types: Record<RecordTypeKey, RecordType>;
331
+ /** Record type categories */
332
+ record_type_categories?: Record<RecordTypeCategoryKey, RecordTypeCategory>;
333
+ /** Struct types for reusable field structures */
334
+ struct_types?: Record<StructTypeKey, StructType>;
335
+ /** The schema version of the metadata format itself. */
336
+ schema_version?: SchemaVersion;
337
+ }
338
+ //# sourceMappingURL=external-domain-metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-domain-metadata.d.ts","sourceRoot":"","sources":["../../src/types/external-domain-metadata.ts"],"names":[],"mappings":"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"}