@skedulo/integration-sdk 0.12.0 → 0.12.1
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.
- package/CHANGELOG.md +9 -0
- package/README.md +1 -1
- package/dist/actions/utils/action-names.d.ts +3 -0
- package/dist/actions/utils/action-names.d.ts.map +1 -1
- package/dist/actions/utils/action-names.js +4 -1
- package/dist/actions/utils/action-names.js.map +1 -1
- package/dist/utils/artifact-builder.d.ts +1 -0
- package/dist/utils/artifact-builder.d.ts.map +1 -1
- package/dist/utils/artifact-builder.js +1 -0
- package/dist/utils/artifact-builder.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.12.1] - 2026-10-22
|
|
4
|
+
|
|
5
|
+
**Scheduled-job webhooks no longer start overlapping runs (COR-1530).**
|
|
6
|
+
|
|
7
|
+
`sync.run-job` can run for up to 12 minutes, but ElasticServer waits only 25 s for a webhook response, marks it `ProcessingTimeout` and retries it (5 s, 30 s, 5 m, 30 m, 3 h). Each tick started about 4 overlapping runs of the same flow.
|
|
8
|
+
|
|
9
|
+
- The scheduled-job webhook now sends `sked-function-execution-type: async`. The function gateway answers ElasticServer with a 202 at once and runs the job in the background, so there is no timeout and no retry. Flow results are still in the run logs, but a job-level failure before any flow runs (config read error, `JOB_NOT_FOUND`) now shows only in the function logs.
|
|
10
|
+
- Existing jobs pick this up when the job is saved again (`scheduled-job.update`, even with no changes). Triggered actions for realtime flows are unchanged.
|
|
11
|
+
|
|
3
12
|
## [0.12.0] - 2026-10-12
|
|
4
13
|
|
|
5
14
|
**A sync too large for one run now continues across runs instead of starting over (COR-1283).**
|
package/README.md
CHANGED
|
@@ -237,7 +237,7 @@ sked-int-<integrationType>-<sourceObject>-to-<targetObject>-flow<id>
|
|
|
237
237
|
sked-int-<integrationType>-job-<slug(name)>
|
|
238
238
|
```
|
|
239
239
|
|
|
240
|
-
The webhook posts `sync.run-job` with the `sked-scheduled-job-name` header carrying the `webhook_name`. The SDK looks up the job in config and runs each flow in order; one flow failing does not stop the others. When a flow stops part way through its load, holds its last page or throws while still loading (it has a checkpoint, had one when the run started, or has never finished a load), or is paused with a checkpoint, the later flows in the job wait until it finishes, for up to 24 hours or 3 job intervals, whichever is longer, from the load's start (if the start isn't saved, from its last finished load, else from when the flow was created; with none of these, they don't wait). After that they run with a WARNING run log (see [Multi-run syncs](./docs/SYNC-PIPELINE.md#multi-run-syncs-fetchresumable)).
|
|
240
|
+
The webhook posts `sync.run-job` with the `sked-scheduled-job-name` header carrying the `webhook_name`. It also sends `sked-function-execution-type: async`, so ElasticServer gets a 202 straight away and doesn't retry a long run. The SDK looks up the job in config and runs each flow in order; one flow failing does not stop the others. When a flow stops part way through its load, holds its last page or throws while still loading (it has a checkpoint, had one when the run started, or has never finished a load), or is paused with a checkpoint, the later flows in the job wait until it finishes, for up to 24 hours or 3 job intervals, whichever is longer, from the load's start (if the start isn't saved, from its last finished load, else from when the flow was created; with none of these, they don't wait). After that they run with a WARNING run log (see [Multi-run syncs](./docs/SYNC-PIPELINE.md#multi-run-syncs-fetchresumable)).
|
|
241
241
|
|
|
242
242
|
A load too big for one run (a large initial sync or a mass update) can span several runs when the source adapter implements `fetchResumable`: on every run but a backfill the SDK saves a checkpoint after each page and the next run carries on. A `run-flow` backfill or `fullResync` saves no checkpoint. This needs integration-service with the `sync_progress` column — deploy it before SDK 0.12.0. See [docs/SYNC-PIPELINE.md](./docs/SYNC-PIPELINE.md#multi-run-syncs-fetchresumable).
|
|
243
243
|
|
|
@@ -17,6 +17,9 @@ export declare const DATA_FLOW_ID_HEADER = "sked-data-flow-id";
|
|
|
17
17
|
* `meta.scheduledJobName`.
|
|
18
18
|
*/
|
|
19
19
|
export declare const SCHEDULED_JOB_NAME_HEADER = "sked-scheduled-job-name";
|
|
20
|
+
/** ElasticServer retries a webhook after 25 s; `async` makes the gateway reply 202 so a 12-min run-job isn't retried. */
|
|
21
|
+
export declare const EXECUTION_TYPE_HEADER = "sked-function-execution-type";
|
|
22
|
+
export declare const EXECUTION_TYPE_ASYNC = "async";
|
|
20
23
|
/**
|
|
21
24
|
* Wire-format action names, grouped by domain. Use these instead of hardcoded
|
|
22
25
|
* strings on both sides of the dispatcher (SDK + UI / cross-function clients).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-names.d.ts","sourceRoot":"","sources":["../../../src/actions/utils/action-names.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,aAAa,4BAA4B,CAAC;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,sBAAsB,CAAC;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,4BAA4B,CAAC;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCT,CAAC;AAEZ,MAAM,MAAM,UAAU,GAClB,OAAO,OAAO,CAAC,YAAY,GAC3B,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,KAAK,CAAC,GAClD,CAAC,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,QAAQ,CAAC,GACxD,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,IAAI,CAAC,GAChD,CAAC,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,YAAY,CAAC,GAChE,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,KAAK,CAAC,GAClD,CAAC,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"action-names.d.ts","sourceRoot":"","sources":["../../../src/actions/utils/action-names.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,aAAa,4BAA4B,CAAC;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,sBAAsB,CAAC;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,4BAA4B,CAAC;AAEnE,yHAAyH;AACzH,eAAO,MAAM,qBAAqB,iCAAiC,CAAC;AACpE,eAAO,MAAM,oBAAoB,UAAU,CAAC;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCT,CAAC;AAEZ,MAAM,MAAM,UAAU,GAClB,OAAO,OAAO,CAAC,YAAY,GAC3B,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,KAAK,CAAC,GAClD,CAAC,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,QAAQ,CAAC,GACxD,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,IAAI,CAAC,GAChD,CAAC,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,YAAY,CAAC,GAChE,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,KAAK,CAAC,GAClD,CAAC,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ACTIONS = exports.SCHEDULED_JOB_NAME_HEADER = exports.DATA_FLOW_ID_HEADER = exports.ACTION_HEADER = void 0;
|
|
3
|
+
exports.ACTIONS = exports.EXECUTION_TYPE_ASYNC = exports.EXECUTION_TYPE_HEADER = exports.SCHEDULED_JOB_NAME_HEADER = exports.DATA_FLOW_ID_HEADER = exports.ACTION_HEADER = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* HTTP header that carries the action name to the dispatcher.
|
|
6
6
|
* Exported so consumers (UI, cross-function clients) don't hardcode it.
|
|
@@ -20,6 +20,9 @@ exports.DATA_FLOW_ID_HEADER = 'sked-data-flow-id';
|
|
|
20
20
|
* `meta.scheduledJobName`.
|
|
21
21
|
*/
|
|
22
22
|
exports.SCHEDULED_JOB_NAME_HEADER = 'sked-scheduled-job-name';
|
|
23
|
+
/** ElasticServer retries a webhook after 25 s; `async` makes the gateway reply 202 so a 12-min run-job isn't retried. */
|
|
24
|
+
exports.EXECUTION_TYPE_HEADER = 'sked-function-execution-type';
|
|
25
|
+
exports.EXECUTION_TYPE_ASYNC = 'async';
|
|
23
26
|
/**
|
|
24
27
|
* Wire-format action names, grouped by domain. Use these instead of hardcoded
|
|
25
28
|
* strings on both sides of the dispatcher (SDK + UI / cross-function clients).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-names.js","sourceRoot":"","sources":["../../../src/actions/utils/action-names.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,aAAa,GAAG,yBAAyB,CAAC;AAEvD;;;;;GAKG;AACU,QAAA,mBAAmB,GAAG,mBAAmB,CAAC;AAEvD;;;;;GAKG;AACU,QAAA,yBAAyB,GAAG,yBAAyB,CAAC;AAEnE;;;;;GAKG;AACU,QAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,YAAY,EAAE,cAAc;IAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,cAAc;KACvB,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,UAAU,EAAE,sBAAsB;QAClC,SAAS,EAAE,qBAAqB;QAChC,YAAY,EAAE,wBAAwB;QACtC,aAAa,EAAE,0BAA0B;QACzC,gBAAgB,EAAE,6BAA6B;KAChD,CAAC;IACF,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QAClB,OAAO,EAAE,eAAe;QACxB,MAAM,EAAE,cAAc;QACtB,WAAW,EAAE,mBAAmB;KACjC,CAAC;IACF,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,EAAE,sBAAsB;QAC9B,MAAM,EAAE,sBAAsB;QAC9B,MAAM,EAAE,sBAAsB;QAC9B,IAAI,EAAE,oBAAoB;QAC1B,GAAG,EAAE,mBAAmB;KACzB,CAAC;IACF,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;QACnB,SAAS,EAAE,kBAAkB;QAC7B,QAAQ,EAAE,iBAAiB;KAC5B,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,kBAAkB;QAC1B,QAAQ,EAAE,oBAAoB;QAC9B,UAAU,EAAE,sBAAsB;QAClC,GAAG,EAAE,eAAe;QACpB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,mBAAmB;KAC7B,CAAC;CACM,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"action-names.js","sourceRoot":"","sources":["../../../src/actions/utils/action-names.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,aAAa,GAAG,yBAAyB,CAAC;AAEvD;;;;;GAKG;AACU,QAAA,mBAAmB,GAAG,mBAAmB,CAAC;AAEvD;;;;;GAKG;AACU,QAAA,yBAAyB,GAAG,yBAAyB,CAAC;AAEnE,yHAAyH;AAC5G,QAAA,qBAAqB,GAAG,8BAA8B,CAAC;AACvD,QAAA,oBAAoB,GAAG,OAAO,CAAC;AAE5C;;;;;GAKG;AACU,QAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,YAAY,EAAE,cAAc;IAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,cAAc;KACvB,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,UAAU,EAAE,sBAAsB;QAClC,SAAS,EAAE,qBAAqB;QAChC,YAAY,EAAE,wBAAwB;QACtC,aAAa,EAAE,0BAA0B;QACzC,gBAAgB,EAAE,6BAA6B;KAChD,CAAC;IACF,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QAClB,OAAO,EAAE,eAAe;QACxB,MAAM,EAAE,cAAc;QACtB,WAAW,EAAE,mBAAmB;KACjC,CAAC;IACF,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,EAAE,sBAAsB;QAC9B,MAAM,EAAE,sBAAsB;QAC9B,MAAM,EAAE,sBAAsB;QAC9B,IAAI,EAAE,oBAAoB;QAC1B,GAAG,EAAE,mBAAmB;KACzB,CAAC;IACF,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;QACnB,SAAS,EAAE,kBAAkB;QAC7B,QAAQ,EAAE,iBAAiB;KAC5B,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,kBAAkB;QAC1B,QAAQ,EAAE,oBAAoB;QAC9B,UAAU,EAAE,sBAAsB;QAClC,GAAG,EAAE,eAAe;QACpB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,mBAAmB;KAC7B,CAAC;CACM,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-builder.d.ts","sourceRoot":"","sources":["../../src/utils/artifact-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"artifact-builder.d.ts","sourceRoot":"","sources":["../../src/utils/artifact-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAuB7E;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAEnE;AASD;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAiBjF;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAUrE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,eAAe,CAAC;CAChC,GAAG,MAAM,CAkBT;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAerF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAQxD;AAMD,MAAM,WAAW,mBAAmB;IAClC,kFAAkF;IAClF,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,mBAAmB;;;;;;;;;;;;;;;;EAgBhE;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,wBAAwB;;;;;;;;;;;;;;;;;;;;;EAqB1E;AAID;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhG"}
|
|
@@ -162,6 +162,7 @@ function buildJobWebhookArtifact(opts) {
|
|
|
162
162
|
Authorization: ADMIN_AUTH_HEADER,
|
|
163
163
|
[action_names_1.ACTION_HEADER]: action_names_1.ACTIONS.sync.runJob,
|
|
164
164
|
[action_names_1.SCHEDULED_JOB_NAME_HEADER]: opts.webhookName,
|
|
165
|
+
[action_names_1.EXECUTION_TYPE_HEADER]: action_names_1.EXECUTION_TYPE_ASYNC,
|
|
165
166
|
},
|
|
166
167
|
},
|
|
167
168
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-builder.js","sourceRoot":"","sources":["../../src/utils/artifact-builder.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"artifact-builder.js","sourceRoot":"","sources":["../../src/utils/artifact-builder.ts"],"names":[],"mappings":"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"}
|