@devrev/airsync-sdk 2.0.0-beta.1 → 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 (156) 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.map +1 -1
  4. package/dist/attachments-streaming/attachments-streaming-pool.js +13 -2
  5. package/dist/attachments-streaming/attachments-streaming-pool.test.js +201 -6
  6. package/dist/common/constants.d.ts +16 -5
  7. package/dist/common/constants.d.ts.map +1 -1
  8. package/dist/common/constants.js +20 -6
  9. package/dist/common/control-protocol.d.ts +2 -2
  10. package/dist/common/control-protocol.d.ts.map +1 -1
  11. package/dist/common/control-protocol.js +1 -5
  12. package/dist/common/helpers.d.ts +8 -0
  13. package/dist/common/helpers.d.ts.map +1 -1
  14. package/dist/common/helpers.js +15 -0
  15. package/dist/common/install-initial-domain-mapping.d.ts +2 -2
  16. package/dist/common/install-initial-domain-mapping.test.js +5 -2
  17. package/dist/common/test-utils.d.ts +19 -0
  18. package/dist/common/test-utils.d.ts.map +1 -0
  19. package/dist/common/test-utils.js +101 -0
  20. package/dist/common/time-value-resolver.d.ts +47 -0
  21. package/dist/common/time-value-resolver.d.ts.map +1 -0
  22. package/dist/common/time-value-resolver.js +141 -0
  23. package/dist/common/time-value-resolver.test.d.ts +2 -0
  24. package/dist/common/time-value-resolver.test.d.ts.map +1 -0
  25. package/dist/common/time-value-resolver.test.js +268 -0
  26. package/dist/http/axios-client-internal.d.ts.map +1 -1
  27. package/dist/http/axios-client-internal.js +7 -0
  28. package/dist/http/axios-client-internal.test.js +21 -0
  29. package/dist/http/axios-client.d.ts.map +1 -1
  30. package/dist/http/axios-client.js +6 -3
  31. package/dist/http/index.d.ts +0 -1
  32. package/dist/http/index.d.ts.map +1 -1
  33. package/dist/http/index.js +0 -1
  34. package/dist/index.d.ts +9 -8
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +12 -10
  37. package/dist/logger/logger.d.ts +1 -17
  38. package/dist/logger/logger.d.ts.map +1 -1
  39. package/dist/logger/logger.interfaces.d.ts +2 -2
  40. package/dist/logger/logger.js +35 -27
  41. package/dist/logger/logger.test.js +66 -19
  42. package/dist/mappers/mappers.interface.d.ts +5 -5
  43. package/dist/mappers/mappers.interface.js +3 -3
  44. package/dist/mappers/mappers.test.js +8 -10
  45. package/dist/mock-server/mock-server.d.ts +47 -0
  46. package/dist/mock-server/mock-server.d.ts.map +1 -0
  47. package/dist/mock-server/mock-server.interfaces.d.ts +73 -0
  48. package/dist/mock-server/mock-server.interfaces.d.ts.map +1 -0
  49. package/dist/mock-server/mock-server.interfaces.js +4 -0
  50. package/dist/mock-server/mock-server.js +278 -0
  51. package/dist/multithreading/create-worker.test.js +36 -17
  52. package/dist/multithreading/process-task.d.ts.map +1 -1
  53. package/dist/multithreading/process-task.js +15 -48
  54. package/dist/multithreading/process-task.test.d.ts +2 -0
  55. package/dist/multithreading/process-task.test.d.ts.map +1 -0
  56. package/dist/multithreading/process-task.test.js +146 -0
  57. package/dist/multithreading/spawn/spawn.d.ts +3 -3
  58. package/dist/multithreading/spawn/spawn.d.ts.map +1 -1
  59. package/dist/multithreading/spawn/spawn.helpers.d.ts.map +1 -1
  60. package/dist/multithreading/spawn/spawn.helpers.js +6 -14
  61. package/dist/multithreading/spawn/spawn.helpers.test.js +8 -8
  62. package/dist/multithreading/spawn/spawn.js +20 -25
  63. package/dist/multithreading/spawn/spawn.test.d.ts +2 -0
  64. package/dist/multithreading/spawn/spawn.test.d.ts.map +1 -0
  65. package/dist/multithreading/spawn/spawn.test.js +232 -0
  66. package/dist/multithreading/worker-adapter/worker-adapter.artifacts.test.js +49 -1
  67. package/dist/multithreading/worker-adapter/worker-adapter.d.ts +11 -5
  68. package/dist/multithreading/worker-adapter/worker-adapter.d.ts.map +1 -1
  69. package/dist/multithreading/worker-adapter/worker-adapter.emit.test.d.ts +2 -0
  70. package/dist/multithreading/worker-adapter/worker-adapter.emit.test.d.ts.map +1 -0
  71. package/dist/multithreading/worker-adapter/worker-adapter.emit.test.js +390 -0
  72. package/dist/multithreading/worker-adapter/worker-adapter.extraction.test.d.ts +2 -0
  73. package/dist/multithreading/worker-adapter/worker-adapter.extraction.test.d.ts.map +1 -0
  74. package/dist/multithreading/worker-adapter/worker-adapter.extraction.test.js +799 -0
  75. package/dist/multithreading/worker-adapter/worker-adapter.js +232 -131
  76. package/dist/multithreading/worker-adapter/worker-adapter.loading.test.d.ts +2 -0
  77. package/dist/multithreading/worker-adapter/worker-adapter.loading.test.d.ts.map +1 -0
  78. package/dist/multithreading/worker-adapter/worker-adapter.loading.test.js +596 -0
  79. package/dist/multithreading/worker-adapter/worker-adapter.serialization.test.d.ts +2 -0
  80. package/dist/multithreading/worker-adapter/worker-adapter.serialization.test.d.ts.map +1 -0
  81. package/dist/multithreading/worker-adapter/worker-adapter.serialization.test.js +71 -0
  82. package/dist/repo/repo.d.ts.map +1 -1
  83. package/dist/repo/repo.interfaces.d.ts +4 -2
  84. package/dist/repo/repo.interfaces.d.ts.map +1 -1
  85. package/dist/repo/repo.js +4 -3
  86. package/dist/repo/repo.test.js +60 -7
  87. package/dist/state/state.d.ts +7 -1
  88. package/dist/state/state.d.ts.map +1 -1
  89. package/dist/state/state.extract-window.test.d.ts +2 -0
  90. package/dist/state/state.extract-window.test.d.ts.map +1 -0
  91. package/dist/state/state.extract-window.test.js +163 -0
  92. package/dist/state/state.interfaces.d.ts +17 -7
  93. package/dist/state/state.interfaces.d.ts.map +1 -1
  94. package/dist/state/state.interfaces.js +4 -2
  95. package/dist/state/state.js +111 -12
  96. package/dist/state/state.pending-boundaries.test.d.ts +2 -0
  97. package/dist/state/state.pending-boundaries.test.d.ts.map +1 -0
  98. package/dist/state/state.pending-boundaries.test.js +189 -0
  99. package/dist/state/state.post-state.test.d.ts +2 -0
  100. package/dist/state/state.post-state.test.d.ts.map +1 -0
  101. package/dist/state/state.post-state.test.js +77 -0
  102. package/dist/state/state.test.js +117 -73
  103. package/dist/state/state.time-value-resolution.test.d.ts +2 -0
  104. package/dist/state/state.time-value-resolution.test.d.ts.map +1 -0
  105. package/dist/state/state.time-value-resolution.test.js +175 -0
  106. package/dist/tsdoc-metadata.json +11 -0
  107. package/dist/types/common.d.ts +0 -25
  108. package/dist/types/common.d.ts.map +1 -1
  109. package/dist/types/common.js +1 -11
  110. package/dist/types/external-domain-metadata.d.ts +20 -1
  111. package/dist/types/external-domain-metadata.d.ts.map +1 -1
  112. package/dist/types/extraction.d.ts +89 -218
  113. package/dist/types/extraction.d.ts.map +1 -1
  114. package/dist/types/extraction.js +56 -124
  115. package/dist/types/extraction.test.js +69 -43
  116. package/dist/types/index.d.ts +3 -2
  117. package/dist/types/index.d.ts.map +1 -1
  118. package/dist/types/index.js +6 -3
  119. package/dist/types/loading.d.ts +4 -24
  120. package/dist/types/loading.d.ts.map +1 -1
  121. package/dist/types/loading.js +1 -22
  122. package/dist/types/workers.d.ts +31 -14
  123. package/dist/types/workers.d.ts.map +1 -1
  124. package/dist/types/workers.js +1 -0
  125. package/dist/uploader/uploader.d.ts +1 -0
  126. package/dist/uploader/uploader.d.ts.map +1 -1
  127. package/dist/uploader/uploader.helpers.test.js +0 -11
  128. package/dist/uploader/uploader.interfaces.d.ts +3 -3
  129. package/dist/uploader/uploader.js +53 -20
  130. package/dist/uploader/uploader.test.js +22 -10
  131. package/package.json +10 -13
  132. package/dist/common/event-type-translation.d.ts +0 -24
  133. package/dist/common/event-type-translation.d.ts.map +0 -1
  134. package/dist/common/event-type-translation.js +0 -117
  135. package/dist/deprecated/adapter/index.d.ts +0 -62
  136. package/dist/deprecated/adapter/index.d.ts.map +0 -1
  137. package/dist/deprecated/adapter/index.js +0 -151
  138. package/dist/deprecated/common/helpers.d.ts +0 -7
  139. package/dist/deprecated/common/helpers.d.ts.map +0 -1
  140. package/dist/deprecated/common/helpers.js +0 -47
  141. package/dist/deprecated/demo-extractor/external_domain_metadata.json +0 -38
  142. package/dist/deprecated/demo-extractor/index.d.ts +0 -18
  143. package/dist/deprecated/demo-extractor/index.d.ts.map +0 -1
  144. package/dist/deprecated/demo-extractor/index.js +0 -161
  145. package/dist/deprecated/http/client.d.ts +0 -22
  146. package/dist/deprecated/http/client.d.ts.map +0 -1
  147. package/dist/deprecated/http/client.js +0 -161
  148. package/dist/deprecated/uploader/index.d.ts +0 -35
  149. package/dist/deprecated/uploader/index.d.ts.map +0 -1
  150. package/dist/deprecated/uploader/index.js +0 -161
  151. package/dist/http/types.d.ts +0 -17
  152. package/dist/http/types.d.ts.map +0 -1
  153. package/dist/http/types.js +0 -2
  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
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const constants_1 = require("../common/constants");
4
- const test_helpers_1 = require("../tests/test-helpers");
4
+ const jest_setup_1 = require("../tests/jest.setup");
5
+ const test_utils_1 = require("../common/test-utils");
5
6
  const extraction_1 = require("../types/extraction");
6
7
  const state_1 = require("./state");
7
8
  const state_interfaces_1 = require("./state.interfaces");
@@ -25,8 +26,8 @@ describe(state_1.State.name, () => {
25
26
  });
26
27
  it.each(constants_1.STATELESS_EVENT_TYPES)('should not init, fetch, post or install IDM for stateless event type %s', async (eventType) => {
27
28
  // Arrange
28
- const event = (0, test_helpers_1.createEvent)({
29
- eventType: eventType,
29
+ const event = (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
30
+ payload: { event_type: eventType },
30
31
  });
31
32
  // Act
32
33
  await (0, state_1.createAdapterState)({
@@ -40,16 +41,15 @@ describe(state_1.State.name, () => {
40
41
  expect(postStateSpy).not.toHaveBeenCalled();
41
42
  expect(installInitialDomainMappingSpy).not.toHaveBeenCalled();
42
43
  });
43
- it.each(constants_1.STATEFUL_EVENT_TYPES)('should exit the process if fetching the state fails', async (eventType) => {
44
+ it.each(constants_1.STATEFUL_EVENT_TYPES)('should exit the process if fetching the state fails for event type %s', async (eventType) => {
44
45
  // Arrange
45
- const event = (0, test_helpers_1.createEvent)({
46
- eventType: eventType,
46
+ const event = (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
47
+ payload: { event_type: eventType },
47
48
  });
48
49
  fetchStateSpy.mockRejectedValue({
49
50
  isAxiosError: true,
50
51
  response: { status: 500 },
51
52
  });
52
- jest.spyOn(console, 'error').mockImplementation(() => { });
53
53
  // Act & Assert
54
54
  await expect((0, state_1.createAdapterState)({
55
55
  event,
@@ -58,13 +58,12 @@ describe(state_1.State.name, () => {
58
58
  })).rejects.toThrow('process.exit called');
59
59
  expect(processExitSpy).toHaveBeenCalledWith(1);
60
60
  });
61
- it.each(constants_1.STATEFUL_EVENT_TYPES)('should exit the process if parsing the state fails', async (eventType) => {
61
+ it.each(constants_1.STATEFUL_EVENT_TYPES)('should exit the process if parsing the state fails for event type %s', async (eventType) => {
62
62
  // Arrange
63
- const event = (0, test_helpers_1.createEvent)({
64
- eventType: eventType,
63
+ const event = (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
64
+ payload: { event_type: eventType },
65
65
  });
66
- fetchStateSpy.mockResolvedValue('invalid-json');
67
- jest.spyOn(console, 'error').mockImplementation(() => { });
66
+ fetchStateSpy.mockResolvedValue({ state: 'invalid-json' });
68
67
  // Act & Assert
69
68
  await expect((0, state_1.createAdapterState)({
70
69
  event,
@@ -73,13 +72,12 @@ describe(state_1.State.name, () => {
73
72
  })).rejects.toThrow('process.exit called');
74
73
  expect(processExitSpy).toHaveBeenCalledWith(1);
75
74
  });
76
- it.each(constants_1.STATEFUL_EVENT_TYPES)('should exit the process if fetching is successful but there is no state in the response', async (eventType) => {
75
+ it.each(constants_1.STATEFUL_EVENT_TYPES)('should exit the process if fetching is successful but there is no state in the response for event type %s', async (eventType) => {
77
76
  // Arrange
78
- const event = (0, test_helpers_1.createEvent)({
79
- eventType: eventType,
77
+ const event = (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
78
+ payload: { event_type: eventType },
80
79
  });
81
- fetchStateSpy.mockResolvedValue(null);
82
- jest.spyOn(console, 'error').mockImplementation(() => { });
80
+ fetchStateSpy.mockResolvedValue({ state: null });
83
81
  // Act & Assert
84
82
  await expect((0, state_1.createAdapterState)({
85
83
  event,
@@ -93,11 +91,11 @@ describe(state_1.State.name, () => {
93
91
  const initialState = {
94
92
  test: 'test',
95
93
  };
96
- const event = (0, test_helpers_1.createEvent)({
97
- eventType: eventType,
98
- contextOverrides: {
94
+ const event = (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
95
+ context: {
99
96
  snap_in_version_id: '',
100
97
  },
98
+ payload: { event_type: eventType },
101
99
  });
102
100
  fetchStateSpy.mockRejectedValue({
103
101
  isAxiosError: true,
@@ -109,7 +107,6 @@ describe(state_1.State.name, () => {
109
107
  postStateSpy.mockResolvedValue({
110
108
  success: true,
111
109
  });
112
- jest.spyOn(console, 'log').mockImplementation(() => { });
113
110
  // Act
114
111
  await (0, state_1.createAdapterState)({
115
112
  event,
@@ -119,51 +116,16 @@ describe(state_1.State.name, () => {
119
116
  const expectedState = Object.assign(Object.assign({}, initialState), state_interfaces_1.extractionSdkState);
120
117
  expect(postStateSpy).toHaveBeenCalledWith(expectedState);
121
118
  });
122
- it(extraction_1.EventType.StartExtractingData, async () => {
123
- // Arrange
124
- const initialState = {
125
- test: 'test',
126
- };
127
- const event = (0, test_helpers_1.createEvent)({
128
- eventType: extraction_1.EventType.StartExtractingData,
129
- contextOverrides: {
130
- snap_in_version_id: '',
131
- },
132
- });
133
- fetchStateSpy.mockRejectedValue({
134
- isAxiosError: true,
135
- response: { status: 404 },
136
- });
137
- installInitialDomainMappingSpy.mockResolvedValue({
138
- success: true,
139
- });
140
- postStateSpy.mockResolvedValue({
141
- success: true,
142
- });
143
- jest.spyOn(console, 'log').mockImplementation(() => { });
144
- // Act
145
- await (0, state_1.createAdapterState)({
146
- event,
147
- initialState,
148
- initialDomainMapping: {},
149
- });
150
- // Assert
151
- // Verify that post state is called with object that contains
152
- // lastSyncStarted which is not empty string
153
- expect(postStateSpy).toHaveBeenCalledWith(expect.objectContaining({
154
- lastSyncStarted: expect.not.stringMatching(/^$/),
155
- }));
156
- });
157
119
  it.each(constants_1.STATEFUL_EVENT_TYPES)('should exit the process if initialDomainMapping is not provided for event type %s', async (eventType) => {
158
120
  // Arrange
159
- const event = (0, test_helpers_1.createEvent)({
160
- eventType: eventType,
121
+ const event = (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
122
+ payload: { event_type: eventType },
123
+ });
124
+ fetchStateSpy.mockResolvedValue({
125
+ state: JSON.stringify({
126
+ test: 'test',
127
+ }),
161
128
  });
162
- fetchStateSpy.mockResolvedValue(JSON.stringify({
163
- test: 'test',
164
- }));
165
- jest.spyOn(console, 'log').mockImplementation(() => { });
166
- jest.spyOn(console, 'error').mockImplementation(() => { });
167
129
  // Act & Assert
168
130
  await expect((0, state_1.createAdapterState)({
169
131
  event,
@@ -174,18 +136,17 @@ describe(state_1.State.name, () => {
174
136
  });
175
137
  it.each(constants_1.STATEFUL_EVENT_TYPES)('should not install IDM if version matches for event type %s', async (eventType) => {
176
138
  // Arrange
177
- const event = (0, test_helpers_1.createEvent)({
178
- eventType: eventType,
179
- contextOverrides: {
139
+ const event = (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
140
+ context: {
180
141
  snap_in_version_id: '1.0.0',
181
142
  },
143
+ payload: { event_type: eventType },
182
144
  });
183
145
  const stringifiedState = JSON.stringify({
184
146
  test: 'test',
185
147
  snapInVersionId: '1.0.0',
186
148
  });
187
- fetchStateSpy.mockResolvedValue(stringifiedState);
188
- jest.spyOn(console, 'log').mockImplementation(() => { });
149
+ fetchStateSpy.mockResolvedValue({ state: stringifiedState });
189
150
  // Act & Assert
190
151
  await (0, state_1.createAdapterState)({
191
152
  event,
@@ -197,21 +158,20 @@ describe(state_1.State.name, () => {
197
158
  });
198
159
  it.each(constants_1.STATEFUL_EVENT_TYPES)('should install IDM if version does not match for event type %s', async (eventType) => {
199
160
  // Arrange
200
- const event = (0, test_helpers_1.createEvent)({
201
- eventType: eventType,
202
- contextOverrides: {
161
+ const event = (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
162
+ context: {
203
163
  snap_in_version_id: '2.0.0',
204
164
  },
165
+ payload: { event_type: eventType },
205
166
  });
206
167
  const stringifiedState = JSON.stringify({
207
168
  test: 'test',
208
169
  snapInVersionId: '1.0.0',
209
170
  });
210
- fetchStateSpy.mockResolvedValue(stringifiedState);
171
+ fetchStateSpy.mockResolvedValue({ state: stringifiedState });
211
172
  installInitialDomainMappingSpy.mockResolvedValue({
212
173
  success: true,
213
174
  });
214
- jest.spyOn(console, 'log').mockImplementation(() => { });
215
175
  // Act
216
176
  await (0, state_1.createAdapterState)({
217
177
  event,
@@ -221,4 +181,88 @@ describe(state_1.State.name, () => {
221
181
  // Assert
222
182
  expect(installInitialDomainMappingSpy).toHaveBeenCalled();
223
183
  });
184
+ it('should populate extractionScope from API response', async () => {
185
+ // Arrange
186
+ const event = (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
187
+ context: {
188
+ snap_in_version_id: '1.0.0',
189
+ },
190
+ payload: { event_type: extraction_1.EventType.StartExtractingData },
191
+ });
192
+ fetchStateSpy.mockResolvedValue({
193
+ state: JSON.stringify({ snapInVersionId: '1.0.0' }),
194
+ objects: JSON.stringify({
195
+ tasks: { extract: true },
196
+ users: { extract: true },
197
+ }),
198
+ });
199
+ // Act
200
+ const result = await (0, state_1.createAdapterState)({
201
+ event,
202
+ initialState: {},
203
+ initialDomainMapping: {},
204
+ });
205
+ // Assert
206
+ expect(result.extractionScope).toEqual({
207
+ tasks: { extract: true },
208
+ users: { extract: true },
209
+ });
210
+ });
211
+ it('should have empty extractionScope on 404', async () => {
212
+ // Arrange
213
+ const event = (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
214
+ context: {
215
+ snap_in_version_id: '',
216
+ },
217
+ payload: { event_type: extraction_1.EventType.StartExtractingMetadata },
218
+ });
219
+ fetchStateSpy.mockRejectedValue({
220
+ isAxiosError: true,
221
+ response: { status: 404 },
222
+ });
223
+ installInitialDomainMappingSpy.mockResolvedValue({ success: true });
224
+ postStateSpy.mockResolvedValue({ success: true });
225
+ // Act
226
+ const result = await (0, state_1.createAdapterState)({
227
+ event,
228
+ initialState: {},
229
+ initialDomainMapping: {},
230
+ });
231
+ // Assert
232
+ expect(result.extractionScope).toEqual({});
233
+ });
234
+ it('should have empty extractionScope for stateless events', async () => {
235
+ // Arrange
236
+ const event = (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
237
+ payload: { event_type: extraction_1.EventType.StartExtractingExternalSyncUnits },
238
+ });
239
+ // Act
240
+ const result = await (0, state_1.createAdapterState)({
241
+ event,
242
+ initialState: {},
243
+ initialDomainMapping: {},
244
+ });
245
+ // Assert
246
+ expect(result.extractionScope).toEqual({});
247
+ });
248
+ it('should continue with empty extractionScope when objects field contains invalid JSON', async () => {
249
+ // Arrange
250
+ const event = (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
251
+ context: { snap_in_version_id: '1.0.0' },
252
+ payload: { event_type: extraction_1.EventType.StartExtractingData },
253
+ });
254
+ fetchStateSpy.mockResolvedValue({
255
+ state: JSON.stringify({ snapInVersionId: '1.0.0' }),
256
+ objects: 'NOT_VALID_JSON',
257
+ });
258
+ // Act
259
+ const result = await (0, state_1.createAdapterState)({
260
+ event,
261
+ initialState: {},
262
+ initialDomainMapping: {},
263
+ });
264
+ // Assert: should not crash, extractionScope is empty (default)
265
+ expect(result.extractionScope).toEqual({});
266
+ expect(processExitSpy).not.toHaveBeenCalled();
267
+ });
224
268
  });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=state.time-value-resolution.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.time-value-resolution.test.d.ts","sourceRoot":"","sources":["../../src/state/state.time-value-resolution.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jest_setup_1 = require("../tests/jest.setup");
4
+ const test_utils_1 = require("../common/test-utils");
5
+ const extraction_1 = require("../types/extraction");
6
+ const state_1 = require("./state");
7
+ describe('State — TimeValue resolution', () => {
8
+ let fetchStateSpy;
9
+ let processExitSpy;
10
+ beforeEach(() => {
11
+ jest.clearAllMocks();
12
+ jest.restoreAllMocks();
13
+ fetchStateSpy = jest.spyOn(state_1.State.prototype, 'fetchState');
14
+ processExitSpy = jest.spyOn(process, 'exit').mockImplementation(() => {
15
+ throw new Error('process.exit called');
16
+ });
17
+ });
18
+ describe('Enhanced Control Protocol - TimeValue resolution failures', () => {
19
+ it('should exit the process if extraction_start_time resolution fails', async () => {
20
+ // Arrange: WORKERS_NEWEST type but state has no workersNewest
21
+ const event = (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
22
+ payload: {
23
+ event_type: extraction_1.EventType.StartExtractingMetadata,
24
+ event_context: {
25
+ extraction_start_time: {
26
+ type: extraction_1.TimeValueType.WORKERS_NEWEST,
27
+ },
28
+ },
29
+ },
30
+ });
31
+ const stringifiedState = JSON.stringify({
32
+ snapInVersionId: 'test_snap_in_version_id',
33
+ workers_oldest: '',
34
+ workers_newest: '',
35
+ });
36
+ fetchStateSpy.mockResolvedValue({ state: stringifiedState });
37
+ // Act & Assert
38
+ await expect((0, state_1.createAdapterState)({
39
+ event,
40
+ initialState: {},
41
+ initialDomainMapping: {},
42
+ })).rejects.toThrow('process.exit called');
43
+ expect(processExitSpy).toHaveBeenCalledWith(1);
44
+ });
45
+ it('should exit the process if extraction_end_time resolution fails', async () => {
46
+ // Arrange: WORKERS_NEWEST type but state has no workersNewest
47
+ const event = (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
48
+ payload: {
49
+ event_type: extraction_1.EventType.StartExtractingMetadata,
50
+ event_context: {
51
+ extraction_start_time: {
52
+ type: extraction_1.TimeValueType.UNBOUNDED,
53
+ },
54
+ extraction_end_time: {
55
+ type: extraction_1.TimeValueType.WORKERS_NEWEST,
56
+ },
57
+ },
58
+ },
59
+ });
60
+ const stringifiedState = JSON.stringify({
61
+ snapInVersionId: 'test_snap_in_version_id',
62
+ workers_oldest: '',
63
+ workers_newest: '',
64
+ });
65
+ fetchStateSpy.mockResolvedValue({ state: stringifiedState });
66
+ // Act & Assert
67
+ await expect((0, state_1.createAdapterState)({
68
+ event,
69
+ initialState: {},
70
+ initialDomainMapping: {},
71
+ })).rejects.toThrow('process.exit called');
72
+ expect(processExitSpy).toHaveBeenCalledWith(1);
73
+ });
74
+ });
75
+ describe('Backwards compatibility - missing TimeValue type', () => {
76
+ it('should skip resolution when extraction_start_time has no type', async () => {
77
+ // Arrange: platform sends extraction_start_time without a type field (old platform version)
78
+ const event = (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
79
+ context: {
80
+ snap_in_version_id: 'test_snap_in_version_id',
81
+ },
82
+ payload: {
83
+ event_type: extraction_1.EventType.StartExtractingMetadata,
84
+ event_context: {
85
+ extraction_start_time: {},
86
+ extraction_end_time: {
87
+ type: extraction_1.TimeValueType.ABSOLUTE_TIME,
88
+ value: '2025-06-01T00:00:00Z',
89
+ },
90
+ },
91
+ },
92
+ });
93
+ const stringifiedState = JSON.stringify({
94
+ snapInVersionId: 'test_snap_in_version_id',
95
+ });
96
+ fetchStateSpy.mockResolvedValue({ state: stringifiedState });
97
+ // Act
98
+ const state = await (0, state_1.createAdapterState)({
99
+ event,
100
+ initialState: {},
101
+ initialDomainMapping: {},
102
+ });
103
+ // Assert: should not crash, extract_from is not set, extract_to is resolved
104
+ expect(processExitSpy).not.toHaveBeenCalled();
105
+ expect(event.payload.event_context.extract_from).toBeUndefined();
106
+ expect(event.payload.event_context.extract_to).toBe('2025-06-01T00:00:00.000Z');
107
+ expect(state.state.pendingWorkersNewest).toBe('2025-06-01T00:00:00.000Z');
108
+ });
109
+ it('should skip resolution when extraction_end_time has no type', async () => {
110
+ // Arrange: platform sends extraction_end_time without a type field
111
+ const event = (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
112
+ context: {
113
+ snap_in_version_id: 'test_snap_in_version_id',
114
+ },
115
+ payload: {
116
+ event_type: extraction_1.EventType.StartExtractingMetadata,
117
+ event_context: {
118
+ extraction_start_time: {
119
+ type: extraction_1.TimeValueType.ABSOLUTE_TIME,
120
+ value: '2024-01-01T00:00:00Z',
121
+ },
122
+ extraction_end_time: {},
123
+ },
124
+ },
125
+ });
126
+ const stringifiedState = JSON.stringify({
127
+ snapInVersionId: 'test_snap_in_version_id',
128
+ });
129
+ fetchStateSpy.mockResolvedValue({ state: stringifiedState });
130
+ // Act
131
+ await (0, state_1.createAdapterState)({
132
+ event,
133
+ initialState: {},
134
+ initialDomainMapping: {},
135
+ });
136
+ // Assert: should not crash, extract_to is not set, extract_from is resolved
137
+ expect(processExitSpy).not.toHaveBeenCalled();
138
+ expect(event.payload.event_context.extract_from).toBe('2024-01-01T00:00:00.000Z');
139
+ expect(event.payload.event_context.extract_to).toBeUndefined();
140
+ });
141
+ it('should skip resolution when both extraction times have no type', async () => {
142
+ // Arrange: platform sends both time values without type fields
143
+ const event = (0, test_utils_1.createMockEvent)(jest_setup_1.mockServer.baseUrl, {
144
+ context: {
145
+ snap_in_version_id: 'test_snap_in_version_id',
146
+ },
147
+ payload: {
148
+ event_type: extraction_1.EventType.StartExtractingMetadata,
149
+ event_context: {
150
+ extraction_start_time: {
151
+ value: 'some-value',
152
+ },
153
+ extraction_end_time: {
154
+ value: 'some-value',
155
+ },
156
+ },
157
+ },
158
+ });
159
+ const stringifiedState = JSON.stringify({
160
+ snapInVersionId: 'test_snap_in_version_id',
161
+ });
162
+ fetchStateSpy.mockResolvedValue({ state: stringifiedState });
163
+ // Act
164
+ await (0, state_1.createAdapterState)({
165
+ event,
166
+ initialState: {},
167
+ initialDomainMapping: {},
168
+ });
169
+ // Assert: should not crash, neither extraction time is resolved
170
+ expect(processExitSpy).not.toHaveBeenCalled();
171
+ expect(event.payload.event_context.extract_from).toBeUndefined();
172
+ expect(event.payload.event_context.extract_to).toBeUndefined();
173
+ });
174
+ });
175
+ });
@@ -0,0 +1,11 @@
1
+ // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
+ // It should be published with your NPM package. It should not be tracked by Git.
3
+ {
4
+ "tsdocVersion": "0.12",
5
+ "toolPackages": [
6
+ {
7
+ "packageName": "@microsoft/api-extractor",
8
+ "packageVersion": "7.58.7"
9
+ }
10
+ ]
11
+ }
@@ -1,34 +1,9 @@
1
- import { Artifact } from '../uploader/uploader.interfaces';
2
- /**
3
- * ErrorLevel is an enum that represents the level of an error.
4
- * @deprecated
5
- */
6
- export declare enum ErrorLevel {
7
- Warning = "WARNING",
8
- Error = "ERROR",
9
- Info = "INFO"
10
- }
11
1
  /**
12
2
  * ErrorRecord is an interface that defines the structure of an error record.
13
3
  */
14
4
  export interface ErrorRecord {
15
5
  message: string;
16
6
  }
17
- /**
18
- * LogRecord is an interface that defines the structure of a log record.
19
- * @deprecated
20
- */
21
- export interface LogRecord {
22
- level: ErrorLevel;
23
- message: string;
24
- }
25
- /**
26
- * AdapterUpdateParams is an interface that defines the structure of the parameters that can be passed to the update adapter.
27
- * @deprecated
28
- */
29
- export interface AdapterUpdateParams {
30
- artifact?: Artifact;
31
- }
32
7
  /**
33
8
  * InitialDomainMapping is an interface that defines the structure of the initial domain mapping.
34
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D;;;GAGG;AACH,oBAAY,UAAU;IACpB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;GAKG;AACH,oBAAY,QAAQ;IAClB,OAAO,YAAY;IACnB,WAAW,gBAAgB;IAC3B,OAAO,YAAY;CACpB"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;GAKG;AACH,oBAAY,QAAQ;IAClB,OAAO,YAAY;IACnB,WAAW,gBAAgB;IAC3B,OAAO,YAAY;CACpB"}
@@ -1,16 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SyncMode = exports.ErrorLevel = void 0;
4
- /**
5
- * ErrorLevel is an enum that represents the level of an error.
6
- * @deprecated
7
- */
8
- var ErrorLevel;
9
- (function (ErrorLevel) {
10
- ErrorLevel["Warning"] = "WARNING";
11
- ErrorLevel["Error"] = "ERROR";
12
- ErrorLevel["Info"] = "INFO";
13
- })(ErrorLevel || (exports.ErrorLevel = ErrorLevel = {}));
3
+ exports.SyncMode = void 0;
14
4
  /**
15
5
  * SyncMode is an enum that defines the different modes of sync that can be used by the external extractor.
16
6
  * It can be either INITIAL, INCREMENTAL or LOADING. INITIAL mode is used for
@@ -19,7 +19,7 @@ export type StageKey = string;
19
19
  /**
20
20
  * Field type discriminator.
21
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';
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
23
  /**
24
24
  * Reference type indicating parent-child relationship.
25
25
  */
@@ -113,6 +113,13 @@ export interface TypedReferenceData {
113
113
  export interface StructData {
114
114
  key?: StructTypeKey;
115
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
+ }
116
123
  /**
117
124
  * Permission data associating a reference with a role.
118
125
  */
@@ -190,6 +197,7 @@ export interface Field {
190
197
  record_type_privilege?: RecordTypePrivilegeData;
191
198
  field_privilege?: FieldPrivilegeData;
192
199
  conditional_privilege?: ConditionalPrivilegeData;
200
+ participation?: ParticipationData;
193
201
  }
194
202
  /**
195
203
  * Field condition definition.
@@ -269,6 +277,15 @@ export interface RecordTypeCategory {
269
277
  /** Indicates whether a record can move between the record types of this category while preserving its identity */
270
278
  are_record_type_conversions_possible?: boolean;
271
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
+ }
272
289
  /**
273
290
  * Record type definition.
274
291
  */
@@ -293,6 +310,8 @@ export interface RecordType {
293
310
  stage_diagram?: StageDiagram;
294
311
  /** Link naming data for custom links */
295
312
  link_naming_data?: CustomLinkData;
313
+ /** Attachments configuration */
314
+ attachments?: Attachments;
296
315
  }
297
316
  /**
298
317
  * Struct type definition for reusable field structures.
@@ -1 +1 @@
1
- {"version":3,"file":"external-domain-metadata.d.ts","sourceRoot":"","sources":["../../src/types/external-domain-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external-domain-metadata.d.ts","sourceRoot":"","sources":["../../src/types/external-domain-metadata.ts"],"names":[],"mappings":"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"}