@skedulo/integration-sdk 0.11.2 → 0.12.0

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 (56) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +6 -2
  3. package/dist/actions/sync/run-flow.action.js +1 -1
  4. package/dist/actions/sync/run-flow.action.js.map +1 -1
  5. package/dist/actions/sync/run-job.action.d.ts +6 -3
  6. package/dist/actions/sync/run-job.action.d.ts.map +1 -1
  7. package/dist/actions/sync/run-job.action.js +105 -14
  8. package/dist/actions/sync/run-job.action.js.map +1 -1
  9. package/dist/browser.d.ts +4 -3
  10. package/dist/browser.d.ts.map +1 -1
  11. package/dist/browser.js +7 -1
  12. package/dist/browser.js.map +1 -1
  13. package/dist/clients/dataflow.client.d.ts +5 -1
  14. package/dist/clients/dataflow.client.d.ts.map +1 -1
  15. package/dist/clients/dataflow.client.js +11 -1
  16. package/dist/clients/dataflow.client.js.map +1 -1
  17. package/dist/constants.d.ts +8 -0
  18. package/dist/constants.d.ts.map +1 -1
  19. package/dist/constants.js +15 -1
  20. package/dist/constants.js.map +1 -1
  21. package/dist/index.d.ts +4 -3
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +9 -2
  24. package/dist/index.js.map +1 -1
  25. package/dist/interfaces/adapter.interface.d.ts +27 -0
  26. package/dist/interfaces/adapter.interface.d.ts.map +1 -1
  27. package/dist/interfaces/data-flow-spec.interface.d.ts +28 -1
  28. package/dist/interfaces/data-flow-spec.interface.d.ts.map +1 -1
  29. package/dist/interfaces/sync-flow-strategy.interface.d.ts +2 -0
  30. package/dist/interfaces/sync-flow-strategy.interface.d.ts.map +1 -1
  31. package/dist/interfaces/sync-result.interface.d.ts +5 -1
  32. package/dist/interfaces/sync-result.interface.d.ts.map +1 -1
  33. package/dist/services/dataflow.service.d.ts +5 -1
  34. package/dist/services/dataflow.service.d.ts.map +1 -1
  35. package/dist/services/dataflow.service.js +3 -0
  36. package/dist/services/dataflow.service.js.map +1 -1
  37. package/dist/services/id-mapping-sync.strategy.d.ts.map +1 -1
  38. package/dist/services/id-mapping-sync.strategy.js +2 -1
  39. package/dist/services/id-mapping-sync.strategy.js.map +1 -1
  40. package/dist/services/run-log-builder.d.ts +23 -1
  41. package/dist/services/run-log-builder.d.ts.map +1 -1
  42. package/dist/services/run-log-builder.js +84 -2
  43. package/dist/services/run-log-builder.js.map +1 -1
  44. package/dist/services/sync-runner.d.ts +3 -0
  45. package/dist/services/sync-runner.d.ts.map +1 -1
  46. package/dist/services/sync-runner.js +434 -60
  47. package/dist/services/sync-runner.js.map +1 -1
  48. package/dist/services/sync.service.d.ts +13 -2
  49. package/dist/services/sync.service.d.ts.map +1 -1
  50. package/dist/services/sync.service.js +133 -51
  51. package/dist/services/sync.service.js.map +1 -1
  52. package/dist/types.d.ts +3 -3
  53. package/dist/types.d.ts.map +1 -1
  54. package/dist/types.js.map +1 -1
  55. package/package.json +2 -2
  56. package/yarn.lock +4 -4
@@ -1,9 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MAX_MESSAGE_LEN = exports.MAX_RECORD_ERRORS = void 0;
4
+ exports.stoppedEarlyNote = stoppedEarlyNote;
5
+ exports.heldCursorNote = heldCursorNote;
6
+ exports.droppedNote = droppedNote;
7
+ exports.unrecordableNote = unrecordableNote;
4
8
  exports.buildRunLogEntries = buildRunLogEntries;
9
+ exports.flushRunLog = flushRunLog;
5
10
  const integration_log_interface_1 = require("../interfaces/integration-log.interface");
6
11
  const helpers_1 = require("../utils/helpers");
12
+ const constants_1 = require("../constants");
7
13
  // Cap embedded errors per run so an adapter that returns many per-record outcomes
8
14
  // (rather than failing the batch as a whole) can't write a huge jsonb blob.
9
15
  // errorCount/errorsTruncated still report the true total vs what was stored.
@@ -21,6 +27,71 @@ function capRecord(data) {
21
27
  return data;
22
28
  return { truncated: true, preview: (0, helpers_1.truncate)(json, helpers_1.MAX_LOG_TEXT) };
23
29
  }
30
+ function stoppedEarlyNote(args) {
31
+ if (args.stoppedEarly === 'checkpoint_held') {
32
+ if (args.heldTries) {
33
+ return `sync held on one page, ${holdTries(args.heldTries, 'moves past the page')}`;
34
+ }
35
+ if (args.backfill) {
36
+ return `${args.fullResync ? 'full resync' : 'backfill'} held on a page that looks like an outage, re-run it after the outage`;
37
+ }
38
+ return args.saved
39
+ ? 'sync held on one page, it retries next run from the last saved checkpoint'
40
+ : 'sync held on one page and saved no progress, it retries next run';
41
+ }
42
+ if (args.stoppedEarly === 'checkpoint_failed' && !args.backfill) {
43
+ return args.saved
44
+ ? "failed records couldn't be saved, the next run retries from the last saved checkpoint"
45
+ : "failed records couldn't be saved and no progress is saved, the next run starts the load over";
46
+ }
47
+ if (args.fullResync)
48
+ return 'full resync stopped early, it starts over on every run; to load a flow this big, reset its cursor instead';
49
+ if (args.backfill)
50
+ return `backfill stopped early and saved no progress; a backfill that needs more than ${constants_1.DEFAULT_RUN_BUDGET_MS / 60000} minutes can't finish, reset the cursor instead`;
51
+ if (args.tooLarge && !args.saved) {
52
+ return 'sync stopped early, no progress saved: resume token too large';
53
+ }
54
+ if (args.tooLarge) {
55
+ return 'sync stopped early, a resume token was too large to save: it continues next run from the last one that fit';
56
+ }
57
+ return 'sync in progress, continues next run';
58
+ }
59
+ function heldCursorNote(args) {
60
+ if (args.backfill) {
61
+ const run = args.fullResync ? 'full resync' : 'backfill';
62
+ if (args.reason === 'unrecorded_failures') {
63
+ const cause = "a record can't be recorded (no source id, or id too long)";
64
+ if (args.writeFailed) {
65
+ return `${run} held the cursor (${args.reason}), ${cause} and the failed-record write failed, re-run it to retry`;
66
+ }
67
+ return (`${run} held the cursor (${args.reason}), ${cause} so a re-run won't help` +
68
+ (args.rowsSaved ? ', the rows that could be recorded were saved' : ''));
69
+ }
70
+ return `${run} held the cursor (${args.reason}), re-run it to retry`;
71
+ }
72
+ if (args.heldTries) {
73
+ return `window retries next run (${args.reason}), sync held on the last page, ${holdTries(args.heldTries, 'moves on')}`;
74
+ }
75
+ return `window retries next run (${args.reason})`;
76
+ }
77
+ function holdTries(tries, moveOn) {
78
+ return (`try ${tries} — after ${constants_1.MAX_CHECKPOINT_HOLDS} tries over at least ${constants_1.FAILED_RESUME_MIN_MS / 60000} min` +
79
+ ` it records what it can and ${moveOn}`);
80
+ }
81
+ function droppedNote(dropped) {
82
+ return `${dropped} failure${dropped === 1 ? '' : 's'} not recorded, a run records at most ${exports.MAX_RECORD_ERRORS}`;
83
+ }
84
+ function unrecordableNote(afterHolds, atOnce) {
85
+ const failures = (n) => `${n} failure${n === 1 ? '' : 's'}`;
86
+ const why = '(no source id, or id too long)';
87
+ const notes = [
88
+ afterHolds > 0
89
+ ? `moved past a held page, ${failures(afterHolds)} could not be recorded ${why}`
90
+ : '',
91
+ atOnce > 0 ? `skipped ${failures(atOnce)} that could not be recorded ${why}` : '',
92
+ ];
93
+ return notes.filter(Boolean).join('; ') || undefined;
94
+ }
24
95
  /**
25
96
  * Pure translation of a run's outcome into a SINGLE run_summary log entry. Per-record
26
97
  * failures are their own rows in the failed-record store now; this summary carries the
@@ -38,7 +109,11 @@ function buildRunLogEntries(args) {
38
109
  `${summary.filtered} filtered, ${summary.skipped} skipped` +
39
110
  (summary.deleted != null ? `, ${summary.deleted} deleted` : '') +
40
111
  // The held-window outcome must be tenant-visible, not just a log line + metric.
41
- (summary.holdCursor ? ` — window retries next run (${summary.holdCursor})` : '');
112
+ (summary.holdCursor && !args.note
113
+ ? ` — window retries next run (${summary.holdCursor})`
114
+ : '') +
115
+ (args.note ? ` — ${args.note}` : '') +
116
+ (summary.stoppedEarly ? ` (${summary.stoppedEarly})` : '');
42
117
  const embeddedErrors = errors.slice(0, exports.MAX_RECORD_ERRORS).map((e) => (Object.assign(Object.assign({ stage: e.stage, message: clampMessage(e.message) }, (e.recordIndex !== undefined ? { recordIndex: e.recordIndex } : {})), (e.data ? { record: capRecord(e.data) } : {}))));
43
118
  return [
44
119
  {
@@ -50,7 +125,7 @@ function buildRunLogEntries(args) {
50
125
  level,
51
126
  kind: integration_log_interface_1.LogKind.RUN_SUMMARY,
52
127
  message: clampMessage(message),
53
- data: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ succeeded: summary.succeeded, failed: summary.failed, filtered: summary.filtered, skipped: summary.skipped, dlqWrites: summary.dlqWrites }, (summary.deleted != null ? { deleted: summary.deleted } : {})), (summary.holdCursor ? { cursorHeld: summary.holdCursor } : {})), { durationMs }), (jobRunId ? { jobRunId } : {})), (args.windowTo
128
+ data: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ succeeded: summary.succeeded, failed: summary.failed, filtered: summary.filtered, skipped: summary.skipped, dlqWrites: summary.dlqWrites }, (summary.deleted != null ? { deleted: summary.deleted } : {})), (summary.holdCursor ? { cursorHeld: summary.holdCursor } : {})), (summary.stoppedEarly ? { stoppedEarly: summary.stoppedEarly } : {})), { durationMs }), (jobRunId ? { jobRunId } : {})), (args.windowTo
54
129
  ? {
55
130
  windowFrom: args.windowFrom ? args.windowFrom.toISOString() : null,
56
131
  windowTo: args.windowTo.toISOString(),
@@ -61,4 +136,11 @@ function buildRunLogEntries(args) {
61
136
  },
62
137
  ];
63
138
  }
139
+ // Logging must never break a sync, so a failed flush only counts a metric and logs.
140
+ async function flushRunLog(ctx, entries, flowId) {
141
+ await ctx.integrationLogClient.create(entries).catch((err) => {
142
+ ctx.metrics.counter('run_log.flush_failed', 1, { integrationType: ctx.integrationType });
143
+ ctx.logger.error(`run_log_flush_failed: flowId=${flowId} error="${err instanceof Error ? err.message : String(err)}"`);
144
+ });
145
+ }
64
146
  //# sourceMappingURL=run-log-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-log-builder.js","sourceRoot":"","sources":["../../src/services/run-log-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-log-builder.js","sourceRoot":"","sources":["../../src/services/run-log-builder.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { IntegrationContext } from '../context';
2
2
  import { AdapterRole } from '../constants';
3
3
  import type { Adapter } from '../interfaces/adapter.interface';
4
+ import type { DataFlow } from '../interfaces/data-flow-spec.interface';
4
5
  import type { MappedEvent } from '../interfaces/mapped-event.interface';
5
6
  import type { BatchResult, SyncResult } from '../interfaces/sync-result.interface';
6
7
  import type { SyncRunOptions } from '../interfaces/sync-flow-strategy.interface';
@@ -25,6 +26,7 @@ export declare class SyncRunner {
25
26
  allowInactive?: boolean;
26
27
  options?: SyncRunOptions;
27
28
  }, ctx: IntegrationContext): Promise<BatchResult>;
29
+ private _countFailedResume;
28
30
  private _emitRunLog;
29
31
  handleEventBatch(args: {
30
32
  events: MappedEvent[];
@@ -52,4 +54,5 @@ export declare function decideCursor(result: BatchResult, failures: FailedRecord
52
54
  advance: boolean;
53
55
  reason?: string;
54
56
  };
57
+ export declare function syncScope(flow: DataFlow): string;
55
58
  //# sourceMappingURL=sync-runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync-runner.d.ts","sourceRoot":"","sources":["../../src/services/sync-runner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EACL,WAAW,EAKZ,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAE/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAGnF,OAAO,KAAK,EAAoB,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAEnG,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAmBzE,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW;CAI1D;AAED,qBAAa,yBAA0B,SAAQ,KAAK;gBACtC,UAAU,EAAE,MAAM;CAI/B;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;gBAI/B,QAAQ,CAAC,EAAE,eAAe;IAItC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAQ9C,GAAG,CACP,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;QAInB,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;QAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QAGtB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,OAAO,CAAC,EAAE,cAAc,CAAC;KAC1B,EACD,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,WAAW,CAAC;YAkLT,WAAW;IA+CnB,gBAAgB,CACpB,IAAI,EAAE;QAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,cAAc,CAAA;KAAE,EACzD,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,UAAU,EAAE,CAAC;IAsClB,oBAAoB,CACxB,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,cAAc,CAAA;KAAE,EACzE,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,UAAU,CAAC;YA2CR,sBAAsB;IA6G9B,YAAY,CAChB,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,cAAc,CAAA;KAAE,EACvE,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IA2HpE,OAAO,CAAC,QAAQ;IAoBhB,OAAO,CAAC,oBAAoB;CA6C7B;AAcD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,iBAAiB,EAAE,GAC5B;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAoBvC"}
1
+ {"version":3,"file":"sync-runner.d.ts","sourceRoot":"","sources":["../../src/services/sync-runner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EACL,WAAW,EAUZ,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,wCAAwC,CAAC;AACrF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAkB,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAGnG,OAAO,KAAK,EAAoB,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAWnG,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AA2BzE,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW;CAI1D;AAED,qBAAa,yBAA0B,SAAQ,KAAK;gBACtC,UAAU,EAAE,MAAM;CAI/B;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;gBAI/B,QAAQ,CAAC,EAAE,eAAe;IAItC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAQ9C,GAAG,CACP,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;QAInB,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;QAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QAGtB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,OAAO,CAAC,EAAE,cAAc,CAAC;KAC1B,EACD,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,WAAW,CAAC;YA6hBT,kBAAkB;YA2ClB,WAAW;IA0BnB,gBAAgB,CACpB,IAAI,EAAE;QAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,cAAc,CAAA;KAAE,EACzD,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,UAAU,EAAE,CAAC;IAsClB,oBAAoB,CACxB,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,cAAc,CAAA;KAAE,EACzE,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,UAAU,CAAC;YA2CR,sBAAsB;IA6G9B,YAAY,CAChB,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,cAAc,CAAA;KAAE,EACvE,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IA2HpE,OAAO,CAAC,QAAQ;IAoBhB,OAAO,CAAC,oBAAoB;CA6C7B;AAcD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,iBAAiB,EAAE,GAC5B;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAgBvC;AA+CD,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAShD"}