@devrev/ts-adaas 1.20.2-beta.3 → 1.20.2-beta.5

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 (36) hide show
  1. package/dist/common/constants.d.ts.map +1 -1
  2. package/dist/common/constants.js +0 -1
  3. package/dist/common/event-type-translation.d.ts.map +1 -1
  4. package/dist/common/event-type-translation.js +0 -1
  5. package/dist/common/event-type-translation.test.js +0 -1
  6. package/dist/mock-server/mock-server.d.ts +0 -4
  7. package/dist/mock-server/mock-server.d.ts.map +1 -1
  8. package/dist/mock-server/mock-server.interfaces.d.ts +0 -9
  9. package/dist/mock-server/mock-server.interfaces.d.ts.map +1 -1
  10. package/dist/mock-server/mock-server.js +6 -39
  11. package/dist/multithreading/process-task.d.ts.map +1 -1
  12. package/dist/multithreading/process-task.js +6 -21
  13. package/dist/multithreading/process-task.test.js +1 -28
  14. package/dist/multithreading/spawn/spawn.d.ts.map +1 -1
  15. package/dist/multithreading/spawn/spawn.helpers.d.ts.map +1 -1
  16. package/dist/multithreading/spawn/spawn.helpers.js +0 -9
  17. package/dist/multithreading/spawn/spawn.helpers.test.js +0 -34
  18. package/dist/multithreading/spawn/spawn.js +0 -1
  19. package/dist/multithreading/worker-adapter/worker-adapter.d.ts +0 -13
  20. package/dist/multithreading/worker-adapter/worker-adapter.d.ts.map +1 -1
  21. package/dist/multithreading/worker-adapter/worker-adapter.emit.test.js +5 -51
  22. package/dist/multithreading/worker-adapter/worker-adapter.js +79 -131
  23. package/dist/repo/repo.d.ts +2 -1
  24. package/dist/repo/repo.d.ts.map +1 -1
  25. package/dist/repo/repo.js +12 -6
  26. package/dist/repo/repo.test.js +1 -32
  27. package/dist/state/state.d.ts.map +1 -1
  28. package/dist/state/state.js +34 -4
  29. package/dist/state/state.time-value-resolution.test.js +151 -0
  30. package/dist/types/extraction.d.ts +9 -7
  31. package/dist/types/extraction.d.ts.map +1 -1
  32. package/dist/types/extraction.js +0 -7
  33. package/package.json +1 -1
  34. package/dist/multithreading/worker-adapter/worker-adapter.upload-failure.test.d.ts +0 -2
  35. package/dist/multithreading/worker-adapter/worker-adapter.upload-failure.test.d.ts.map +0 -1
  36. package/dist/multithreading/worker-adapter/worker-adapter.upload-failure.test.js +0 -135
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/common/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,eAAO,MAAM,8BAA8B,aAU1C,CAAC;AAEF,eAAO,MAAM,2BAA2B,aAKvC,CAAC;AAEF,eAAO,MAAM,mBAAmB,aAG/B,CAAC;AAEF,eAAO,MAAM,gCAAgC,aAI5C,CAAC;AAEF,eAAO,MAAM,6BAA6B,aAGzC,CAAC;AAEF,eAAO,MAAM,qBAAqB,aAGjC,CAAC;AAEF,eAAO,MAAM,+BAA+B,aAGzC,CAAC;AAEJ,eAAO,MAAM,4BAA4B,aAExC,CAAC;AAEF,eAAO,MAAM,oBAAoB,aAGhC,CAAC;AAEF,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,wBAAwB,QAAyB,CAAC;AAC/D,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,oCAAoC,KAAK,CAAC;AAGvD,eAAO,MAAM,oBAAoB,SAAU,CAAC;AAE5C,eAAO,MAAM,0BAA0B,QAEtC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAA0B,CAAC;AAEzD,oBAAY,uBAAuB;IACjC,wBAAwB,6BAA6B;IACrD,WAAW,gBAAgB;IAC3B,mBAAmB,wBAAwB;CAC5C;AAED,eAAO,MAAM,eAAe,KAAsB,CAAC;AAEnD,eAAO,MAAM,sBAAsB,QAAiB,CAAC;AACrD,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,mBAAmB,QAAY,CAAC;AAE7C,eAAO,MAAM,sBAAsB,QAAgB,CAAC;AAEpD;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,6BAA6B,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/common/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,eAAO,MAAM,8BAA8B,aAS1C,CAAC;AAEF,eAAO,MAAM,2BAA2B,aAKvC,CAAC;AAEF,eAAO,MAAM,mBAAmB,aAG/B,CAAC;AAEF,eAAO,MAAM,gCAAgC,aAI5C,CAAC;AAEF,eAAO,MAAM,6BAA6B,aAGzC,CAAC;AAEF,eAAO,MAAM,qBAAqB,aAGjC,CAAC;AAEF,eAAO,MAAM,+BAA+B,aAGzC,CAAC;AAEJ,eAAO,MAAM,4BAA4B,aAExC,CAAC;AAEF,eAAO,MAAM,oBAAoB,aAGhC,CAAC;AAEF,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,wBAAwB,QAAyB,CAAC;AAC/D,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,oCAAoC,KAAK,CAAC;AAGvD,eAAO,MAAM,oBAAoB,SAAU,CAAC;AAE5C,eAAO,MAAM,0BAA0B,QAEtC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAA0B,CAAC;AAEzD,oBAAY,uBAAuB;IACjC,wBAAwB,6BAA6B;IACrD,WAAW,gBAAgB;IAC3B,mBAAmB,wBAAwB;CAC5C;AAED,eAAO,MAAM,eAAe,KAAsB,CAAC;AAEnD,eAAO,MAAM,sBAAsB,QAAiB,CAAC;AACrD,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,mBAAmB,QAAY,CAAC;AAE7C,eAAO,MAAM,sBAAsB,QAAgB,CAAC;AAEpD;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,6BAA6B,CAAC"}
@@ -6,7 +6,6 @@ const helpers_1 = require("./helpers");
6
6
  exports.ALLOWED_EXTRACTION_EVENT_TYPES = [
7
7
  extraction_1.EventType.StartExtractingExternalSyncUnits,
8
8
  extraction_1.EventType.StartExtractingMetadata,
9
- extraction_1.EventType.ContinueExtractingMetadata,
10
9
  extraction_1.EventType.StartExtractingData,
11
10
  extraction_1.EventType.ContinueExtractingData,
12
11
  extraction_1.EventType.StartDeletingExtractorState,
@@ -1 +1 @@
1
- {"version":3,"file":"event-type-translation.d.ts","sourceRoot":"","sources":["../../src/common/event-type-translation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CA0D7E;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,kBAAkB,GAC5B,kBAAkB,CA0CpB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,eAAe,GACzB,eAAe,CAmBjB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,kBAAkB,GAAG,eAAe,GAC9C,kBAAkB,GAAG,eAAe,CAatC"}
1
+ {"version":3,"file":"event-type-translation.d.ts","sourceRoot":"","sources":["../../src/common/event-type-translation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAwD7E;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,kBAAkB,GAC5B,kBAAkB,CA0CpB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,eAAe,GACzB,eAAe,CAmBjB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,kBAAkB,GAAG,eAAe,GAC9C,kBAAkB,GAAG,eAAe,CAatC"}
@@ -27,7 +27,6 @@ function translateIncomingEventType(eventTypeString) {
27
27
  // New extraction event types (already correct, map to new enum members)
28
28
  [extraction_1.EventType.StartExtractingExternalSyncUnits]: extraction_1.EventType.StartExtractingExternalSyncUnits,
29
29
  [extraction_1.EventType.StartExtractingMetadata]: extraction_1.EventType.StartExtractingMetadata,
30
- [extraction_1.EventType.ContinueExtractingMetadata]: extraction_1.EventType.ContinueExtractingMetadata,
31
30
  [extraction_1.EventType.StartExtractingData]: extraction_1.EventType.StartExtractingData,
32
31
  [extraction_1.EventType.ContinueExtractingData]: extraction_1.EventType.ContinueExtractingData,
33
32
  [extraction_1.EventType.StartDeletingExtractorState]: extraction_1.EventType.StartDeletingExtractorState,
@@ -31,7 +31,6 @@ describe(event_type_translation_1.translateIncomingEventType.name, () => {
31
31
  it.each([
32
32
  [extraction_1.EventType.StartExtractingExternalSyncUnits],
33
33
  [extraction_1.EventType.StartExtractingMetadata],
34
- [extraction_1.EventType.ContinueExtractingMetadata],
35
34
  [extraction_1.EventType.StartExtractingData],
36
35
  [extraction_1.EventType.ContinueExtractingData],
37
36
  [extraction_1.EventType.StartDeletingExtractorState],
@@ -31,10 +31,6 @@ export declare class MockServer {
31
31
  * Also clears request tracking data.
32
32
  */
33
33
  resetRoutes(): void;
34
- /**
35
- * Returns all POST requests to the platform callback URL.
36
- */
37
- getCallbackRequests(): RequestInfo[];
38
34
  /**
39
35
  * Returns the most recent request or undefined if no requests exist.
40
36
  */
@@ -1 +1 @@
1
- {"version":3,"file":"mock-server.d.ts","sourceRoot":"","sources":["../../src/mock-server/mock-server.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,WAAW,EACX,WAAW,EAEZ,MAAM,0BAA0B,CAAC;AA4ElC;;;;GAIG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,YAAY,CAAS;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,aAAa,CAA4B;gBAErC,IAAI,GAAE,MAAiC;IAMtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAkBpB,aAAa;IA+B3B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,WAAW;IAInB;;OAEG;IACI,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IA+G1C;;;OAGG;IACI,WAAW,IAAI,IAAI;IAM1B;;OAEG;IACI,mBAAmB,IAAI,WAAW,EAAE;IAO3C;;OAEG;IACI,cAAc,IAAI,WAAW,GAAG,SAAS;IAOhD;;OAEG;IACI,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAI5D;;OAEG;IACI,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE;CAQhE"}
1
+ {"version":3,"file":"mock-server.d.ts","sourceRoot":"","sources":["../../src/mock-server/mock-server.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,WAAW,EACX,WAAW,EAEZ,MAAM,0BAA0B,CAAC;AA4ElC;;;;GAIG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,YAAY,CAAS;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,aAAa,CAA4B;gBAErC,IAAI,GAAE,MAAiC;IAMtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAkBpB,aAAa;IA+B3B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,WAAW;IAInB;;OAEG;IACI,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IA8E1C;;;OAGG;IACI,WAAW,IAAI,IAAI;IAM1B;;OAEG;IACI,cAAc,IAAI,WAAW,GAAG,SAAS;IAOhD;;OAEG;IACI,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAI5D;;OAEG;IACI,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE;CAQhE"}
@@ -51,15 +51,6 @@ export interface RouteConfig {
51
51
  headers?: Record<string, string>;
52
52
  /** Optional retry configuration for simulating failures before success */
53
53
  retry?: RetryConfig;
54
- /**
55
- * Respond successfully for the first N requests, then return an error.
56
- * Useful for partial-upload scenarios (first batch succeeds, second fails).
57
- */
58
- succeedThenFail?: {
59
- successCount: number;
60
- errorStatus?: number;
61
- errorBody?: unknown;
62
- };
63
54
  /** Optional delay in milliseconds before sending the response */
64
55
  delay?: number;
65
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mock-server.interfaces.d.ts","sourceRoot":"","sources":["../../src/mock-server/mock-server.interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAEvD,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,yCAAyC;IACzC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,CAAC;IACnD,+BAA+B;IAC/B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC;IACnC,2BAA2B;IAC3B,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,0CAA0C;IAC1C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,6BAA6B;IAC7B,IAAI,IAAI,IAAI,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,2FAA2F;IAC3F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,0EAA0E;IAC1E,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;;OAGG;IACH,eAAe,CAAC,EAAE;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,KAAK,OAAO,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"mock-server.interfaces.d.ts","sourceRoot":"","sources":["../../src/mock-server/mock-server.interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAEvD,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,yCAAyC;IACzC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,CAAC;IACnD,+BAA+B;IAC/B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC;IACnC,2BAA2B;IAC3B,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,0CAA0C;IAC1C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,6BAA6B;IAC7B,IAAI,IAAI,IAAI,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,2FAA2F;IAC3F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,0EAA0E;IAC1E,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,KAAK,OAAO,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC"}
@@ -178,46 +178,19 @@ class MockServer {
178
178
  * Configures a route to return a specific status code and optional response body.
179
179
  */
180
180
  setRoute(config) {
181
- const { path, method, status, body, bodyBuffer, retry, succeedThenFail, headers, delay, } = config;
181
+ const { path, method, status, body, bodyBuffer, retry, headers, delay } = config;
182
182
  const key = this.getRouteKey(method, path);
183
- if (retry || succeedThenFail) {
183
+ if (retry) {
184
184
  this.requestCounts.set(key, 0);
185
185
  }
186
186
  this.routeHandlers.set(key, (req, res) => {
187
187
  const sendResponse = (responseDelay) => {
188
188
  const send = () => {
189
- var _a, _b, _c;
190
- if (succeedThenFail) {
189
+ var _a, _b;
190
+ if (retry) {
191
191
  const currentCount = this.requestCounts.get(key) || 0;
192
- this.requestCounts.set(key, currentCount + 1);
193
- if (currentCount < succeedThenFail.successCount) {
194
- if (headers) {
195
- res.set(headers);
196
- }
197
- if (bodyBuffer !== undefined) {
198
- res.status(status).buffer(bodyBuffer);
199
- }
200
- else if (body !== undefined) {
201
- res.status(status).json(body);
202
- }
203
- else {
204
- this.defaultRouteHandler(req, res);
205
- }
206
- }
207
- else {
208
- const errorStatus = (_a = succeedThenFail.errorStatus) !== null && _a !== void 0 ? _a : 400;
209
- if (succeedThenFail.errorBody !== undefined) {
210
- res.status(errorStatus).json(succeedThenFail.errorBody);
211
- }
212
- else {
213
- res.status(errorStatus).send();
214
- }
215
- }
216
- }
217
- else if (retry) {
218
- const currentCount = this.requestCounts.get(key) || 0;
219
- const failureCount = (_b = retry.failureCount) !== null && _b !== void 0 ? _b : 4;
220
- const errorStatus = (_c = retry.errorStatus) !== null && _c !== void 0 ? _c : 500;
192
+ const failureCount = (_a = retry.failureCount) !== null && _a !== void 0 ? _a : 4;
193
+ const errorStatus = (_b = retry.errorStatus) !== null && _b !== void 0 ? _b : 500;
221
194
  if (currentCount < failureCount) {
222
195
  this.requestCounts.set(key, currentCount + 1);
223
196
  const sendFailure = () => {
@@ -288,12 +261,6 @@ class MockServer {
288
261
  this.requestCounts.clear();
289
262
  this.requests = [];
290
263
  }
291
- /**
292
- * Returns all POST requests to the platform callback URL.
293
- */
294
- getCallbackRequests() {
295
- return this.requests.filter((req) => req.method.toUpperCase() === 'POST' && req.url.includes('callback_url'));
296
- }
297
264
  /**
298
265
  * Returns the most recent request or undefined if no requests exist.
299
266
  */
@@ -1 +1 @@
1
- {"version":3,"file":"process-task.d.ts","sourceRoot":"","sources":["../../src/multithreading/process-task.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,oBAAoB,EAGrB,MAAM,kBAAkB,CAAC;AAG1B,wBAAgB,WAAW,CAAC,cAAc,EAAE,EAC1C,IAAI,EACJ,SAAS,GACV,EAAE,oBAAoB,CAAC,cAAc,CAAC,QA0FtC"}
1
+ {"version":3,"file":"process-task.d.ts","sourceRoot":"","sources":["../../src/multithreading/process-task.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,oBAAoB,EAGrB,MAAM,kBAAkB,CAAC;AAG1B,wBAAgB,WAAW,CAAC,cAAc,EAAE,EAC1C,IAAI,EACJ,SAAS,GACV,EAAE,oBAAoB,CAAC,cAAc,CAAC,QA8DtC"}
@@ -14,7 +14,6 @@ function processTask({ task, onTimeout, }) {
14
14
  }
15
15
  void (async () => {
16
16
  await (0, logger_context_1.runWithSdkLogContext)(async () => {
17
- let adapter;
18
17
  try {
19
18
  const event = node_worker_threads_1.workerData.event;
20
19
  // TODO: Remove when the old types are completely phased out
@@ -30,40 +29,26 @@ function processTask({ task, onTimeout, }) {
30
29
  initialDomainMapping,
31
30
  options,
32
31
  });
33
- const workerAdapter = new worker_adapter_1.WorkerAdapter({
32
+ const adapter = new worker_adapter_1.WorkerAdapter({
34
33
  event,
35
34
  adapterState,
36
35
  options,
37
36
  });
38
- adapter = workerAdapter;
39
37
  node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.on(workers_1.WorkerEvent.WorkerMessage, (message) => {
40
38
  if (message.subject !== workers_1.WorkerMessageSubject.WorkerMessageExit) {
41
39
  return;
42
40
  }
43
41
  console.log('Timeout received. Waiting for the task to finish.');
44
- workerAdapter.isTimeout = true;
42
+ adapter.isTimeout = true;
45
43
  });
46
- console.log('Event passsed from SDK to the connector:', workerAdapter.event);
47
- await (0, logger_context_1.runWithUserLogContext)(async () => task({ adapter: workerAdapter }));
48
- if (workerAdapter.isTimeout && !workerAdapter.hasWorkerEmitted) {
49
- await (0, logger_context_1.runWithUserLogContext)(async () => onTimeout({ adapter: workerAdapter }));
44
+ await (0, logger_context_1.runWithUserLogContext)(async () => task({ adapter }));
45
+ if (adapter.isTimeout && !adapter.hasWorkerEmitted) {
46
+ await (0, logger_context_1.runWithUserLogContext)(async () => onTimeout({ adapter }));
50
47
  }
51
48
  process.exit(0);
52
49
  }
53
50
  catch (error) {
54
- await (0, logger_context_1.runWithUserLogContext)(async () => {
55
- if (adapter && !adapter.hasWorkerEmitted) {
56
- try {
57
- await adapter.emitError(error);
58
- }
59
- catch (failureError) {
60
- console.error('Error while emitting task failure.', (0, logger_1.serializeError)(failureError));
61
- }
62
- }
63
- if (adapter === null || adapter === void 0 ? void 0 : adapter.hasWorkerEmitted) {
64
- process.exit(1);
65
- return;
66
- }
51
+ (0, logger_context_1.runWithUserLogContext)(() => {
67
52
  const errorMessage = `Error while processing task. ${(0, logger_1.serializeError)(error)}`;
68
53
  console.error(errorMessage);
69
54
  node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage({
@@ -56,7 +56,6 @@ jest.mock('./worker-adapter/worker-adapter', () => ({
56
56
  WorkerAdapter: jest.fn().mockImplementation(() => ({
57
57
  isTimeout: false,
58
58
  hasWorkerEmitted: false,
59
- emitError: jest.fn(),
60
59
  })),
61
60
  }));
62
61
  const process_task_1 = require("./process-task");
@@ -125,11 +124,7 @@ describe(process_task_1.processTask.name, () => {
125
124
  // Arrange
126
125
  const event = makeEvent();
127
126
  setWorkerData({ event, initialState: {}, options: {} });
128
- const mockAdapter = {
129
- isTimeout: false,
130
- hasWorkerEmitted: false,
131
- emitError: jest.fn(),
132
- };
127
+ const mockAdapter = { isTimeout: false, hasWorkerEmitted: false };
133
128
  worker_adapter_1.WorkerAdapter.mockImplementation(() => mockAdapter);
134
129
  const task = jest.fn().mockResolvedValue(undefined);
135
130
  const onTimeout = jest.fn().mockResolvedValue(undefined);
@@ -168,26 +163,4 @@ describe(process_task_1.processTask.name, () => {
168
163
  expect(processExitSpy).toHaveBeenCalledWith(1);
169
164
  expect(onTimeout).not.toHaveBeenCalled();
170
165
  });
171
- it('should emit a failure event through the adapter before falling back', async () => {
172
- const event = makeEvent();
173
- setWorkerData({ event, initialState: {}, options: {} });
174
- const mockAdapter = {
175
- isTimeout: false,
176
- hasWorkerEmitted: false,
177
- emitError: jest.fn().mockImplementation(() => {
178
- mockAdapter.hasWorkerEmitted = true;
179
- }),
180
- };
181
- worker_adapter_1.WorkerAdapter.mockImplementation(() => mockAdapter);
182
- const taskError = new Error('task upload failed');
183
- const task = jest.fn().mockRejectedValue(taskError);
184
- const onTimeout = jest.fn().mockResolvedValue(undefined);
185
- (0, process_task_1.processTask)({ task, onTimeout });
186
- await flush();
187
- expect(mockAdapter.emitError).toHaveBeenCalledWith(taskError);
188
- expect(mockParentPortPostMessage).not.toHaveBeenCalledWith(expect.objectContaining({
189
- subject: workers_1.WorkerMessageSubject.WorkerMessageFailed,
190
- }));
191
- expect(processExitSpy).toHaveBeenCalledWith(1);
192
- });
193
166
  });
@@ -1 +1 @@
1
- {"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../../src/multithreading/spawn/spawn.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,qBAAqB,EACrB,cAAc,EAGf,MAAM,qBAAqB,CAAC;AAgD7B;;;;;;;;;;;GAWG;AACH,wBAAsB,KAAK,CAAC,cAAc,EAAE,EAC1C,KAAK,EACL,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,OAAO,EACP,cAAc,GACf,EAAE,qBAAqB,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAwFvD;AAED,qBAAa,KAAK;IAChB,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,oBAAoB,CAAkC;IAC9D,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAA4C;IACpE,OAAO,CAAC,gBAAgB,CAA4C;IACpE,OAAO,CAAC,wBAAwB,CAA6C;IAC7E,OAAO,CAAC,OAAO,CAA4C;IAC3D,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,mBAAmB,CAAqB;gBACpC,EACV,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,EACP,eAAe,GAChB,EAAE,cAAc;IAiHjB,OAAO,CAAC,aAAa;YAYP,kBAAkB;CAoCjC"}
1
+ {"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../../src/multithreading/spawn/spawn.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,qBAAqB,EACrB,cAAc,EAGf,MAAM,qBAAqB,CAAC;AA+C7B;;;;;;;;;;;GAWG;AACH,wBAAsB,KAAK,CAAC,cAAc,EAAE,EAC1C,KAAK,EACL,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,OAAO,EACP,cAAc,GACf,EAAE,qBAAqB,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAwFvD;AAED,qBAAa,KAAK;IAChB,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,oBAAoB,CAAkC;IAC9D,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAA4C;IACpE,OAAO,CAAC,gBAAgB,CAA4C;IACpE,OAAO,CAAC,wBAAwB,CAA6C;IAC7E,OAAO,CAAC,OAAO,CAA4C;IAC3D,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,mBAAmB,CAAqB;gBACpC,EACV,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,EACP,eAAe,GAChB,EAAE,cAAc;IAiHjB,OAAO,CAAC,aAAa;YAYP,kBAAkB;CAoCjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"spawn.helpers.d.ts","sourceRoot":"","sources":["../../../src/multithreading/spawn/spawn.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,SAAS,GAAG;IAC9D,SAAS,EAAE,kBAAkB,GAAG,eAAe,CAAC;CACjD,CAoFA;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS;;;;EAmCxD"}
1
+ {"version":3,"file":"spawn.helpers.d.ts","sourceRoot":"","sources":["../../../src/multithreading/spawn/spawn.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,SAAS,GAAG;IAC9D,SAAS,EAAE,kBAAkB,GAAG,eAAe,CAAC;CACjD,CAmFA;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS;;;;EA2BxD"}
@@ -13,7 +13,6 @@ function getTimeoutErrorEventType(eventType) {
13
13
  switch (eventType) {
14
14
  // Metadata extraction (handles both old and new enum members)
15
15
  case extraction_1.EventType.StartExtractingMetadata:
16
- case extraction_1.EventType.ContinueExtractingMetadata:
17
16
  case extraction_1.EventType.ExtractionMetadataStart:
18
17
  return {
19
18
  eventType: extraction_1.ExtractorEventType.MetadataExtractionError,
@@ -89,14 +88,6 @@ function getTimeoutErrorEventType(eventType) {
89
88
  */
90
89
  function getNoScriptEventType(eventType) {
91
90
  switch (eventType) {
92
- // A missing metadata worker is a misconfigured connector, so report it as a
93
- // phase error rather than an unknown event type.
94
- case extraction_1.EventType.StartExtractingMetadata:
95
- case extraction_1.EventType.ContinueExtractingMetadata:
96
- case extraction_1.EventType.ExtractionMetadataStart:
97
- return {
98
- eventType: extraction_1.ExtractorEventType.MetadataExtractionError,
99
- };
100
91
  case extraction_1.EventType.StartDeletingExtractorState:
101
92
  return {
102
93
  eventType: extraction_1.ExtractorEventType.ExtractorStateDeletionDone,
@@ -13,14 +13,6 @@ describe(spawn_helpers_1.getTimeoutErrorEventType.name, () => {
13
13
  // Assert
14
14
  expect(result.eventType).toBe(extraction_1.ExtractorEventType.MetadataExtractionError);
15
15
  });
16
- it('should return MetadataExtractionError for ContinueExtractingMetadata', () => {
17
- // Arrange
18
- const eventType = extraction_1.EventType.ContinueExtractingMetadata;
19
- // Act
20
- const result = (0, spawn_helpers_1.getTimeoutErrorEventType)(eventType);
21
- // Assert
22
- expect(result.eventType).toBe(extraction_1.ExtractorEventType.MetadataExtractionError);
23
- });
24
16
  it('should return MetadataExtractionError for deprecated ExtractionMetadataStart', () => {
25
17
  // Arrange
26
18
  const eventType = extraction_1.EventType.ExtractionMetadataStart;
@@ -227,32 +219,6 @@ describe(spawn_helpers_1.getTimeoutErrorEventType.name, () => {
227
219
  });
228
220
  });
229
221
  describe(spawn_helpers_1.getNoScriptEventType.name, () => {
230
- describe('metadata extraction', () => {
231
- it('should return MetadataExtractionError for StartExtractingMetadata', () => {
232
- // Arrange
233
- const eventType = extraction_1.EventType.StartExtractingMetadata;
234
- // Act
235
- const result = (0, spawn_helpers_1.getNoScriptEventType)(eventType);
236
- // Assert
237
- expect(result.eventType).toBe(extraction_1.ExtractorEventType.MetadataExtractionError);
238
- });
239
- it('should return MetadataExtractionError for ContinueExtractingMetadata', () => {
240
- // Arrange
241
- const eventType = extraction_1.EventType.ContinueExtractingMetadata;
242
- // Act
243
- const result = (0, spawn_helpers_1.getNoScriptEventType)(eventType);
244
- // Assert
245
- expect(result.eventType).toBe(extraction_1.ExtractorEventType.MetadataExtractionError);
246
- });
247
- it('should return MetadataExtractionError for deprecated ExtractionMetadataStart', () => {
248
- // Arrange
249
- const eventType = extraction_1.EventType.ExtractionMetadataStart;
250
- // Act
251
- const result = (0, spawn_helpers_1.getNoScriptEventType)(eventType);
252
- // Assert
253
- expect(result.eventType).toBe(extraction_1.ExtractorEventType.MetadataExtractionError);
254
- });
255
- });
256
222
  describe('extractor state deletion', () => {
257
223
  it('should return ExtractorStateDeletionDone for StartDeletingExtractorState', () => {
258
224
  // Arrange
@@ -23,7 +23,6 @@ function getWorkerPath({ event, workerBasePath, }) {
23
23
  path = '/workers/external-sync-units-extraction';
24
24
  break;
25
25
  case extraction_1.EventType.StartExtractingMetadata:
26
- case extraction_1.EventType.ContinueExtractingMetadata:
27
26
  path = '/workers/metadata-extraction';
28
27
  break;
29
28
  case extraction_1.EventType.StartExtractingData:
@@ -64,20 +64,7 @@ export declare class WorkerAdapter<ConnectorState> {
64
64
  * @param data - The data to be sent with the event
65
65
  */
66
66
  emit(newEventType: ExtractorEventType | LoaderEventType, data?: EventData): Promise<void>;
67
- /**
68
- * Emits a phase-specific error after task or pre-emit execution fails. This
69
- * path avoids flushing repos again, so artifacts uploaded before the failure
70
- * are still reported without retrying the failed batch.
71
- */
72
- emitError(error: unknown): Promise<void>;
73
67
  uploadAllRepos(): Promise<void>;
74
- /**
75
- * Pre-emit hook: uploads all repos and updates extraction boundaries/state.
76
- * Throws if uploading repos or persisting state fails. The caller emits a
77
- * compensating error event with whatever artifacts did upload.
78
- */
79
- private beforeEmit;
80
- private buildEmitPayload;
81
68
  loadItemTypes({ itemTypesToLoad, }: ItemTypesToLoadParams): Promise<LoadItemTypesResponse>;
82
69
  getLoaderBatches({ supportedItemTypes, }: {
83
70
  supportedItemTypes: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"worker-adapter.d.ts","sourceRoot":"","sources":["../../../src/multithreading/worker-adapter/worker-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-adapter.d.ts","sourceRoot":"","sources":["../../../src/multithreading/worker-adapter/worker-adapter.ts"],"names":[],"mappings":"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"}
@@ -114,43 +114,19 @@ describe(`${worker_adapter_1.WorkerAdapter.name}.emit`, () => {
114
114
  // Assert
115
115
  expect(mockPostMessage).toHaveBeenCalledTimes(1);
116
116
  });
117
- it('should log state size and current state before posting state', async () => {
117
+ it('should correctly emit one event even if uploadAllRepos errors', async () => {
118
118
  // Arrange
119
- const logSpy = jest.spyOn(console, 'log').mockImplementation();
120
119
  adapter['adapterState'].postState = jest.fn().mockResolvedValue(undefined);
121
- adapter.uploadAllRepos = jest.fn().mockResolvedValue(undefined);
120
+ adapter.uploadAllRepos = jest
121
+ .fn()
122
+ .mockRejectedValue(new Error('uploadAllRepos error'));
122
123
  // Act
123
124
  await adapter.emit(types_1.ExtractorEventType.MetadataExtractionError, {
124
125
  reports: [],
125
126
  processed_files: [],
126
127
  });
127
128
  // Assert
128
- const stateLogCall = logSpy.mock.calls.find(([message]) => typeof message === 'string' &&
129
- message.includes('Saving ') &&
130
- message.includes('Current state'));
131
- expect(stateLogCall).toBeDefined();
132
- expect(stateLogCall === null || stateLogCall === void 0 ? void 0 : stateLogCall[0]).toContain('KB state before emitting event with event type: METADATA_EXTRACTION_ERROR. Current state');
133
- expect(stateLogCall === null || stateLogCall === void 0 ? void 0 : stateLogCall[1]).toEqual(expect.objectContaining({ attachments: { completed: false } }));
134
- });
135
- it('should emit phase extraction error when uploadAllRepos fails', async () => {
136
- const { emit: mockEmit } = require('../../common/control-protocol');
137
- adapter['adapterState'].postState = jest.fn().mockResolvedValue(undefined);
138
- adapter.uploadAllRepos = jest
139
- .fn()
140
- .mockRejectedValue(new Error('uploadAllRepos error'));
141
- await adapter.emit(types_1.ExtractorEventType.DataExtractionDone);
142
- expect(mockEmit).toHaveBeenCalledWith(expect.objectContaining({
143
- eventType: types_1.ExtractorEventType.DataExtractionError,
144
- data: expect.objectContaining({
145
- error: expect.objectContaining({
146
- message: expect.stringContaining('uploadAllRepos error'),
147
- }),
148
- }),
149
- }));
150
- expect(mockPostMessage).toHaveBeenCalledWith(expect.objectContaining({
151
- subject: 'emit',
152
- payload: { eventType: types_1.ExtractorEventType.DataExtractionError },
153
- }));
129
+ expect(mockPostMessage).toHaveBeenCalledTimes(1);
154
130
  });
155
131
  it('should include artifacts in data for extraction events', async () => {
156
132
  // Arrange
@@ -429,28 +405,6 @@ describe(`${worker_adapter_1.WorkerAdapter.name}.emit — ExternalSyncUnitExtrac
429
405
  const emittedData = mockEmit.mock.calls[0][0].data;
430
406
  expect(emittedData).not.toHaveProperty('external_sync_units');
431
407
  });
432
- it('should emit an error when external sync unit upload fails', async () => {
433
- const { adapter } = makeAdapter(types_1.EventType.StartExtractingExternalSyncUnits);
434
- adapter['adapterState'].postState = jest.fn().mockResolvedValue(undefined);
435
- adapter.uploadAllRepos = jest.fn().mockResolvedValue(undefined);
436
- const pushMock = jest
437
- .fn()
438
- .mockRejectedValue(new Error('external sync unit upload failed'));
439
- jest.spyOn(adapter, 'initializeRepos').mockImplementation(() => undefined);
440
- jest.spyOn(adapter, 'getRepo').mockReturnValue({ push: pushMock });
441
- await adapter.emit(types_1.ExtractorEventType.ExternalSyncUnitExtractionDone, {
442
- external_sync_units: [{ id: 'esu-1' }],
443
- });
444
- const { emit: mockEmit } = require('../../common/control-protocol');
445
- expect(mockEmit).toHaveBeenCalledWith(expect.objectContaining({
446
- eventType: types_1.ExtractorEventType.ExternalSyncUnitExtractionError,
447
- data: expect.objectContaining({
448
- error: expect.objectContaining({
449
- message: expect.stringContaining('external sync unit upload failed'),
450
- }),
451
- }),
452
- }));
453
- });
454
408
  });
455
409
  describe('WorkerAdapter — workersOldest / workersNewest boundary updates', () => {
456
410
  let adapter;