@skedulo/integration-sdk 0.4.0 → 0.5.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 CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.5.1]
4
+
5
+ **Action framework: typed errors, middleware, observability hooks.**
6
+
7
+ - `defineAction({ name, parseInput, handler, idempotent?, audit?, requireAdmin? })` wires a fixed middleware stack (metrics → logging → audit → requireAdmin) around each handler so cross-cutting concerns live in one place. Migrated `scheduled-job.{list,create}` as the reference; remaining actions keep their existing factory shape and still benefit from the dispatcher's new error mapping.
8
+ - Typed error hierarchy with `ErrorCategory` — `InvalidInputError`, `ForbiddenError`, `NotFoundError`, `ConflictError`, `PreconditionFailedError`, `NotImplementedError`, `UpstreamTransientError`, `UpstreamPermanentError`. Each carries the category that drives HTTP status (`categoryToStatus`) and a `retryable` flag echoed in the failure envelope. The dispatcher's hard-coded code switch is gone; bare `ActionError` now defaults to `internal` (500).
9
+ - `IntegrationContext` gains `requestId` (from `sked-request-id` header or auto-minted UUID) and `metrics` (pluggable `Metrics` sink; `noopMetrics` default). `BaseAdapterHandlerConfig` accepts a `metrics` impl.
10
+ - `actions/` restructured into one folder per group (`data-flow/`, `event/`, `metadata/`, `scheduled-job/`, `sync/`), one file per action, with `types.ts` + `shared.ts`. `capabilities` and `setup` stay flat (single-action groups).
11
+
3
12
  ## [0.4.0] - 2026-05-28
4
13
 
5
14
  **Integration-level scheduled jobs replace per-flow scheduled webhooks.**
package/README.md CHANGED
@@ -87,9 +87,14 @@ Tenant integration functions expose a **single POST endpoint** that forwards the
87
87
  ```ts
88
88
  type ActionResult<T> =
89
89
  | { ok: true; result: T }
90
- | { ok: false; error: { code: string; message: string; details?: unknown } };
90
+ | {
91
+ ok: false;
92
+ error: { code: string; message: string; details?: unknown; retryable?: boolean };
93
+ };
91
94
  ```
92
95
 
96
+ `retryable` tells callers (PSS, IS, UI) whether a retry could succeed. It comes from the thrown error's `ErrorCategory` — see [Errors](#errors) below.
97
+
93
98
  ### Server wiring
94
99
 
95
100
  ```typescript
@@ -142,6 +147,46 @@ const flow = await dispatch(ACTIONS.dataFlow.activate, { id: 42 });
142
147
 
143
148
  `ACTIONS` is a frozen, dot-grouped map of all action names (`ACTIONS.dataFlow.activate`, `ACTIONS.metadata.getObjects`, …). `ACTION_HEADER` is the literal header name (`sked-integration-action`).
144
149
 
150
+ ### Authoring an action
151
+
152
+ Use `defineAction` to wire the standard middleware stack (metrics → logging → audit → requireAdmin) around the handler:
153
+
154
+ ```typescript
155
+ import { defineAction, ACTIONS, ConflictError } from '@skedulo/integration-sdk';
156
+
157
+ export const myAction = defineAction({
158
+ name: ACTIONS.scheduledJob.create,
159
+ parseInput: parseCreateInput,
160
+ requireAdmin: true, // 403 ForbiddenError if caller isn't admin
161
+ audit: true, // emits an audit log line on success
162
+ idempotent: false, // surfaced to callers so PSS doesn't blind-retry
163
+ handler: async (input, ctx) => {
164
+ if (await exists(input.name)) {
165
+ throw new ConflictError('JOB_ALREADY_EXISTS', `'${input.name}' already exists`);
166
+ }
167
+ return createJob(ctx, input);
168
+ },
169
+ });
170
+ ```
171
+
172
+ Every action receives `ctx.requestId` (correlation id) and `ctx.metrics` (counter/histogram sink). Inject a real metrics impl via `BaseAdapterHandlerConfig.metrics`; the default is a no-op.
173
+
174
+ ### Errors
175
+
176
+ Throw a typed subclass instead of `new ActionError(CODE, ...)`. The dispatcher maps the error's `category` to HTTP status and echoes `retryable` in the envelope.
177
+
178
+ | Subclass | Category | HTTP | Retryable |
179
+ |---------------------------|-----------------------|-----:|:---------:|
180
+ | `InvalidInputError` | `invalid_input` | 422 | no |
181
+ | `ForbiddenError` | `forbidden` | 403 | no |
182
+ | `NotFoundError` | `not_found` | 404 | no |
183
+ | `ConflictError` | `conflict` | 409 | no |
184
+ | `PreconditionFailedError` | `precondition_failed` | 412 | no |
185
+ | `NotImplementedError` | `not_implemented` | 501 | no |
186
+ | `UpstreamTransientError` | `upstream_transient` | 503 | **yes** |
187
+ | `UpstreamPermanentError` | `upstream_permanent` | 424 | no |
188
+ | bare `ActionError` | `internal` | 500 | no |
189
+
145
190
  ## Sync model
146
191
 
147
192
  There are two ways a data flow runs:
@@ -1 +1 @@
1
- {"version":3,"file":"on-vendor.action.d.ts","sourceRoot":"","sources":["../../../src/actions/event/on-vendor.action.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAElF,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,SAAS,GACd,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CA0CjD"}
1
+ {"version":3,"file":"on-vendor.action.d.ts","sourceRoot":"","sources":["../../../src/actions/event/on-vendor.action.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAElF,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,SAAS,GACd,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CA8CjD"}
@@ -13,14 +13,18 @@ function makeOnVendorEventAction(deps) {
13
13
  return raw;
14
14
  },
15
15
  async handler(input, ctx) {
16
+ var _a;
16
17
  const adapter = deps.adapter;
17
18
  const lookupStrategy = (0, helpers_1.resolveLookupStrategy)(adapter);
18
19
  if (!adapter.parseChangeEvent) {
19
20
  throw new errors_1.NotImplementedError(`${adapter.integrationType} adapter does not implement parseChangeEvent`);
20
21
  }
21
22
  const parsed = adapter.parseChangeEvent(input);
22
- if (!('event' in parsed)) {
23
- throw new errors_1.InvalidInputError(parsed.error);
23
+ if (!parsed || typeof parsed !== 'object' || !('event' in parsed)) {
24
+ const message = parsed && typeof parsed === 'object' && 'error' in parsed
25
+ ? String((_a = parsed.error) !== null && _a !== void 0 ? _a : 'Invalid vendor event payload')
26
+ : 'Invalid vendor event payload';
27
+ throw new errors_1.InvalidInputError(message);
24
28
  }
25
29
  const results = await new sync_runner_1.SyncRunner(deps.registry).handleEvent({ event: parsed.event, options: { lookupStrategy } }, ctx);
26
30
  if (results.some((r) => r.status === 'precondition_failed')) {
@@ -1 +1 @@
1
- {"version":3,"file":"on-vendor.action.js","sourceRoot":"","sources":["../../../src/actions/event/on-vendor.action.ts"],"names":[],"mappings":";;AAYA,0DA4CC;AAxDD,4DAAwD;AACxD,wDAAgD;AAChD,8CAAyD;AACzD,4CAKyB;AAIzB,SAAgB,uBAAuB,CACrC,IAAe;IAEf,OAAO;QACL,IAAI,EAAE,sBAAO,CAAC,KAAK,CAAC,QAAQ;QAC5B,UAAU,CAAC,GAAG;YACZ,gFAAgF;YAChF,OAAO,GAAG,CAAC;QACb,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;YACtB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,MAAM,cAAc,GAAG,IAAA,+BAAqB,EAAC,OAAO,CAAC,CAAC;YAEtD,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC9B,MAAM,IAAI,4BAAmB,CAC3B,GAAG,OAAO,CAAC,eAAe,8CAA8C,CACzE,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,0BAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,wBAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAC7D,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,EAAE,EACpD,GAAG,CACJ,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,qBAAqB,CAAC,EAAE,CAAC;gBAC5D,MAAM,IAAI,gCAAuB,CAC/B,qBAAqB,EACrB,+DAA+D,EAC/D,OAAO,CACR,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,+BAAsB,CAAC,yBAAyB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACpF,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,YAAY;gBACvF,OAAO;aACR,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"on-vendor.action.js","sourceRoot":"","sources":["../../../src/actions/event/on-vendor.action.ts"],"names":[],"mappings":";;AAYA,0DAgDC;AA5DD,4DAAwD;AACxD,wDAAgD;AAChD,8CAAyD;AACzD,4CAKyB;AAIzB,SAAgB,uBAAuB,CACrC,IAAe;IAEf,OAAO;QACL,IAAI,EAAE,sBAAO,CAAC,KAAK,CAAC,QAAQ;QAC5B,UAAU,CAAC,GAAG;YACZ,gFAAgF;YAChF,OAAO,GAAG,CAAC;QACb,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;;YACtB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,MAAM,cAAc,GAAG,IAAA,+BAAqB,EAAC,OAAO,CAAC,CAAC;YAEtD,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC9B,MAAM,IAAI,4BAAmB,CAC3B,GAAG,OAAO,CAAC,eAAe,8CAA8C,CACzE,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,EAAE,CAAC;gBAClE,MAAM,OAAO,GACX,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,IAAI,MAAM;oBACvD,CAAC,CAAC,MAAM,CAAC,MAAC,MAA8B,CAAC,KAAK,mCAAI,8BAA8B,CAAC;oBACjF,CAAC,CAAC,8BAA8B,CAAC;gBACrC,MAAM,IAAI,0BAAiB,CAAC,OAAO,CAAC,CAAC;YACvC,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,wBAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAC7D,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,EAAE,EACpD,GAAG,CACJ,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,qBAAqB,CAAC,EAAE,CAAC;gBAC5D,MAAM,IAAI,gCAAuB,CAC/B,qBAAqB,EACrB,+DAA+D,EAC/D,OAAO,CACR,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,+BAAsB,CAAC,yBAAyB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACpF,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,YAAY;gBACvF,OAAO;aACR,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create.action.d.ts","sourceRoot":"","sources":["../../../src/actions/scheduled-job/create.action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAKhG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAU7C,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,CAiDhG"}
1
+ {"version":3,"file":"create.action.d.ts","sourceRoot":"","sources":["../../../src/actions/scheduled-job/create.action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAKhG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAU7C,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,CAoDhG"}
@@ -14,16 +14,19 @@ function makeScheduledJobCreateAction(deps) {
14
14
  audit: true,
15
15
  requireAdmin: true,
16
16
  parseInput(raw) {
17
- var _a;
17
+ var _a, _b;
18
18
  const obj = (0, shared_1.asRecord)(raw);
19
19
  // Validate interval bounds eagerly so bad input is rejected at parse time.
20
20
  const interval_value = typeof obj.interval_value === 'number' ? obj.interval_value : Number.NaN;
21
+ if (obj.enabled !== undefined && typeof obj.enabled !== 'boolean') {
22
+ throw new errors_1.InvalidInputError('enabled must be a boolean');
23
+ }
21
24
  const input = {
22
25
  name: (0, shared_1.parseName)(obj.name),
23
26
  interval_value,
24
27
  interval_unit: (0, shared_1.parseIntervalUnit)(obj.interval_unit),
25
28
  flow_ids: (0, shared_1.parseFlowIds)((_a = obj.flow_ids) !== null && _a !== void 0 ? _a : []),
26
- enabled: obj.enabled === undefined ? true : Boolean(obj.enabled),
29
+ enabled: (_b = obj.enabled) !== null && _b !== void 0 ? _b : true,
27
30
  };
28
31
  (0, artifact_builder_1.jobIntervalToMinutes)(input); // throws InvalidInputError on out-of-range
29
32
  return input;
@@ -1 +1 @@
1
- {"version":3,"file":"create.action.js","sourceRoot":"","sources":["../../../src/actions/scheduled-job/create.action.ts"],"names":[],"mappings":";;AAiBA,oEAiDC;AAjED,mEAA0F;AAC1F,wDAAgD;AAChD,0DAAsD;AACtD,4CAAgD;AAEhD,qCAQkB;AAGlB,SAAgB,4BAA4B,CAAC,IAAa;IACxD,OAAO,IAAA,4BAAY,EAAC;QAClB,IAAI,EAAE,sBAAO,CAAC,YAAY,CAAC,MAAM;QACjC,mEAAmE;QACnE,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,IAAI;QAClB,UAAU,CAAC,GAAG;;YACZ,MAAM,GAAG,GAAG,IAAA,iBAAQ,EAAC,GAAG,CAAC,CAAC;YAC1B,2EAA2E;YAC3E,MAAM,cAAc,GAClB,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YAC3E,MAAM,KAAK,GAAmB;gBAC5B,IAAI,EAAE,IAAA,kBAAS,EAAC,GAAG,CAAC,IAAI,CAAC;gBACzB,cAAc;gBACd,aAAa,EAAE,IAAA,0BAAiB,EAAC,GAAG,CAAC,aAAa,CAAC;gBACnD,QAAQ,EAAE,IAAA,qBAAY,EAAC,MAAA,GAAG,CAAC,QAAQ,mCAAI,EAAE,CAAC;gBAC1C,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;aACjE,CAAC;YACF,IAAA,uCAAoB,EAAC,KAAK,CAAC,CAAC,CAAC,2CAA2C;YACxE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;YACrD,MAAM,YAAY,GAAG,IAAA,uCAAoB,EAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAEvE,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAU,EAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YACpD,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,EAAE,CAAC;gBACrE,MAAM,IAAI,sBAAa,CACrB,oBAAoB,EACpB,0BAA0B,KAAK,CAAC,IAAI,mCAAmC,YAAY,IAAI,CACxF,CAAC;YACJ,CAAC;YACD,MAAM,IAAA,wBAAe,EAAC,GAAG,EAAE,eAAe,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAEjF,MAAM,GAAG,GAAiB;gBACxB,YAAY;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;YACF,MAAM,IAAI,GAAsB,EAAE,cAAc,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,CAAC;YAElF,MAAM,IAAA,gCAAuB,EAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACrE,OAAO,GAAG,CAAC;QACb,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"create.action.js","sourceRoot":"","sources":["../../../src/actions/scheduled-job/create.action.ts"],"names":[],"mappings":";;AAiBA,oEAoDC;AApED,mEAA0F;AAC1F,wDAAgD;AAChD,0DAAsD;AACtD,4CAAmE;AAEnE,qCAQkB;AAGlB,SAAgB,4BAA4B,CAAC,IAAa;IACxD,OAAO,IAAA,4BAAY,EAAC;QAClB,IAAI,EAAE,sBAAO,CAAC,YAAY,CAAC,MAAM;QACjC,mEAAmE;QACnE,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,IAAI;QAClB,UAAU,CAAC,GAAG;;YACZ,MAAM,GAAG,GAAG,IAAA,iBAAQ,EAAC,GAAG,CAAC,CAAC;YAC1B,2EAA2E;YAC3E,MAAM,cAAc,GAClB,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YAC3E,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAClE,MAAM,IAAI,0BAAiB,CAAC,2BAA2B,CAAC,CAAC;YAC3D,CAAC;YACD,MAAM,KAAK,GAAmB;gBAC5B,IAAI,EAAE,IAAA,kBAAS,EAAC,GAAG,CAAC,IAAI,CAAC;gBACzB,cAAc;gBACd,aAAa,EAAE,IAAA,0BAAiB,EAAC,GAAG,CAAC,aAAa,CAAC;gBACnD,QAAQ,EAAE,IAAA,qBAAY,EAAC,MAAA,GAAG,CAAC,QAAQ,mCAAI,EAAE,CAAC;gBAC1C,OAAO,EAAE,MAAA,GAAG,CAAC,OAAO,mCAAI,IAAI;aAC7B,CAAC;YACF,IAAA,uCAAoB,EAAC,KAAK,CAAC,CAAC,CAAC,2CAA2C;YACxE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;YACrD,MAAM,YAAY,GAAG,IAAA,uCAAoB,EAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAEvE,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAU,EAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YACpD,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,EAAE,CAAC;gBACrE,MAAM,IAAI,sBAAa,CACrB,oBAAoB,EACpB,0BAA0B,KAAK,CAAC,IAAI,mCAAmC,YAAY,IAAI,CACxF,CAAC;YACJ,CAAC;YACD,MAAM,IAAA,wBAAe,EAAC,GAAG,EAAE,eAAe,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAEjF,MAAM,GAAG,GAAiB;gBACxB,YAAY;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;YACF,MAAM,IAAI,GAAsB,EAAE,cAAc,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,CAAC;YAElF,MAAM,IAAA,gCAAuB,EAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACrE,OAAO,GAAG,CAAC;QACb,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.action.d.ts","sourceRoot":"","sources":["../../../src/actions/scheduled-job/update.action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAKhG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAW7C,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEvD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,CAyDhG"}
1
+ {"version":3,"file":"update.action.d.ts","sourceRoot":"","sources":["../../../src/actions/scheduled-job/update.action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAKhG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAW7C,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEvD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,CA8DhG"}
@@ -24,8 +24,12 @@ function makeScheduledJobUpdateAction(deps) {
24
24
  input.interval_unit = (0, shared_1.parseIntervalUnit)(obj.interval_unit);
25
25
  if (obj.flow_ids !== undefined)
26
26
  input.flow_ids = (0, shared_1.parseFlowIds)(obj.flow_ids);
27
- if (obj.enabled !== undefined)
28
- input.enabled = Boolean(obj.enabled);
27
+ if (obj.enabled !== undefined) {
28
+ if (typeof obj.enabled !== 'boolean') {
29
+ throw new errors_1.InvalidInputError('enabled must be a boolean');
30
+ }
31
+ input.enabled = obj.enabled;
32
+ }
29
33
  return input;
30
34
  },
31
35
  async handler(input, ctx) {
@@ -1 +1 @@
1
- {"version":3,"file":"update.action.js","sourceRoot":"","sources":["../../../src/actions/scheduled-job/update.action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.action.js","sourceRoot":"","sources":["../../../src/actions/scheduled-job/update.action.ts"],"names":[],"mappings":";;AAkBA,oEA8DC;AA/ED,mEAAoE;AACpE,iDAAqD;AACrD,wDAAgD;AAChD,4CAAmF;AAEnF,qCASkB;AAGlB,SAAgB,4BAA4B,CAAC,IAAa;IACxD,OAAO;QACL,IAAI,EAAE,sBAAO,CAAC,YAAY,CAAC,MAAM;QACjC,UAAU,CAAC,GAAG;YACZ,MAAM,GAAG,GAAG,IAAA,iBAAQ,EAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,KAAK,GAAmB,EAAE,YAAY,EAAE,IAAA,yBAAgB,EAAC,GAAG,CAAC,EAAE,CAAC;YACtE,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;gBAAE,KAAK,CAAC,IAAI,GAAG,IAAA,kBAAS,EAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,GAAG,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;gBACrC,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;oBAC3C,MAAM,IAAI,0BAAiB,CAAC,iCAAiC,CAAC,CAAC;gBACjE,CAAC;gBACD,KAAK,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;YAC5C,CAAC;YACD,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS;gBACjC,KAAK,CAAC,aAAa,GAAG,IAAA,0BAAiB,EAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC7D,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS;gBAAE,KAAK,CAAC,QAAQ,GAAG,IAAA,qBAAY,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5E,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC9B,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBACrC,MAAM,IAAI,0BAAiB,CAAC,2BAA2B,CAAC,CAAC;gBAC3D,CAAC;gBACD,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAC9B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;;YACtB,IAAI,CAAC,IAAA,wBAAc,EAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,uBAAc,CAAC,gDAAgD,CAAC,CAAC;YAC7E,CAAC;YACD,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;YAErD,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAU,EAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,CAAC,CAAC;YACxF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,sBAAa,CAAC,eAAe,EAAE,kBAAkB,KAAK,CAAC,YAAY,aAAa,CAAC,CAAC;YAC9F,CAAC;YAED,8DAA8D;YAC9D,MAAM,MAAM,GAAiB;gBAC3B,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,IAAI,EAAE,MAAA,KAAK,CAAC,IAAI,mCAAI,QAAQ,CAAC,IAAI;gBACjC,cAAc,EAAE,MAAA,KAAK,CAAC,cAAc,mCAAI,QAAQ,CAAC,cAAc;gBAC/D,aAAa,EAAE,MAAA,KAAK,CAAC,aAAa,mCAAI,QAAQ,CAAC,aAAa;gBAC5D,QAAQ,EAAE,MAAA,KAAK,CAAC,QAAQ,mCAAI,QAAQ,CAAC,QAAQ;gBAC7C,OAAO,EAAE,MAAA,KAAK,CAAC,OAAO,mCAAI,QAAQ,CAAC,OAAO;aAC3C,CAAC;YACF,IAAA,uCAAoB,EAAC,MAAM,CAAC,CAAC,CAAC,iCAAiC;YAE/D,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,CAAC,CAAC;YACxF,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,IAAA,wBAAe,EAAC,GAAG,EAAE,eAAe,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACvE,CAAC;YAED,MAAM,IAAI,GAAsB;gBAC9B,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5C,CAAC,CAAC,YAAY,KAAK,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CACpD;aACF,CAAC;YAEF,MAAM,IAAA,gCAAuB,EAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACxE,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/actions/utils/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,aAAa,GACrB,eAAe,GACf,WAAW,GACX,WAAW,GACX,UAAU,GACV,qBAAqB,GACrB,oBAAoB,GACpB,oBAAoB,GACpB,iBAAiB,GACjB,UAAU,CAAC;AAEf,wCAAwC;AACxC,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAqBzD;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO,CAE3D;AAED,UAAU,eAAe;IACvB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,KAAK;aAOlB,IAAI,EAAE,MAAM;aAEZ,OAAO,CAAC,EAAE,OAAO;IARnC,4DAA4D;IAC5D,SAAgB,QAAQ,EAAE,aAAa,CAAC;IACxC,+DAA+D;IAC/D,SAAgB,SAAS,EAAE,OAAO,CAAC;gBAGjB,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,OAAO,YAAA,EACjC,IAAI,GAAE,eAAoB;CAW7B;AAED,0EAA0E;AAC1E,qBAAa,iBAAkB,SAAQ,WAAW;gBACpC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAI/C;AAED,qBAAa,cAAe,SAAQ,WAAW;gBACjC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAI/C;AAED,qBAAa,aAAc,SAAQ,WAAW;gBAChC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAI7D;AAED,qBAAa,aAAc,SAAQ,WAAW;gBAChC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAI7D;AAED,qBAAa,uBAAwB,SAAQ,WAAW;gBAC1C,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAI7D;AAED,2FAA2F;AAC3F,qBAAa,sBAAuB,SAAQ,WAAW;gBACzC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAO;CAO/E;AAED,+EAA+E;AAC/E,qBAAa,sBAAuB,SAAQ,WAAW;gBACzC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAO;CAO/E;AAED,qBAAa,mBAAoB,SAAQ,WAAW;gBACtC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAI/C"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/actions/utils/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,aAAa,GACrB,eAAe,GACf,WAAW,GACX,WAAW,GACX,UAAU,GACV,qBAAqB,GACrB,oBAAoB,GACpB,oBAAoB,GACpB,iBAAiB,GACjB,UAAU,CAAC;AAEf,wCAAwC;AACxC,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAwBzD;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO,CAE3D;AAED,UAAU,eAAe;IACvB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,KAAK;aAOlB,IAAI,EAAE,MAAM;aAEZ,OAAO,CAAC,EAAE,OAAO;IARnC,4DAA4D;IAC5D,SAAgB,QAAQ,EAAE,aAAa,CAAC;IACxC,+DAA+D;IAC/D,SAAgB,SAAS,EAAE,OAAO,CAAC;gBAGjB,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,OAAO,YAAA,EACjC,IAAI,GAAE,eAAoB;CAW7B;AAED,0EAA0E;AAC1E,qBAAa,iBAAkB,SAAQ,WAAW;gBACpC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAI/C;AAED,qBAAa,cAAe,SAAQ,WAAW;gBACjC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAI/C;AAED,qBAAa,aAAc,SAAQ,WAAW;gBAChC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAI7D;AAED,qBAAa,aAAc,SAAQ,WAAW;gBAChC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAI7D;AAED,qBAAa,uBAAwB,SAAQ,WAAW;gBAC1C,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAI7D;AAED,2FAA2F;AAC3F,qBAAa,sBAAuB,SAAQ,WAAW;gBACzC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAO;CAO/E;AAED,+EAA+E;AAC/E,qBAAa,sBAAuB,SAAQ,WAAW;gBACzC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAO;CAO/E;AAED,qBAAa,mBAAoB,SAAQ,WAAW;gBACtC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAI/C"}
@@ -19,7 +19,10 @@ function categoryToStatus(c) {
19
19
  case 'upstream_transient':
20
20
  return 503;
21
21
  case 'upstream_permanent':
22
- return 502;
22
+ // 424 Failed Dependency — vendor said no permanently; not retryable.
23
+ // Avoid 5xx here so reverse proxies don't auto-retry on status alone;
24
+ // callers should consult the `retryable` field in the envelope.
25
+ return 424;
23
26
  case 'not_implemented':
24
27
  return 501;
25
28
  case 'internal':
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/actions/utils/errors.ts"],"names":[],"mappings":";;;AAiBA,4CAqBC;AAGD,8CAEC;AA3BD,wCAAwC;AACxC,SAAgB,gBAAgB,CAAC,CAAgB;IAC/C,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,eAAe;YAClB,OAAO,GAAG,CAAC;QACb,KAAK,WAAW;YACd,OAAO,GAAG,CAAC;QACb,KAAK,WAAW;YACd,OAAO,GAAG,CAAC;QACb,KAAK,UAAU;YACb,OAAO,GAAG,CAAC;QACb,KAAK,qBAAqB;YACxB,OAAO,GAAG,CAAC;QACb,KAAK,oBAAoB;YACvB,OAAO,GAAG,CAAC;QACb,KAAK,oBAAoB;YACvB,OAAO,GAAG,CAAC;QACb,KAAK,iBAAiB;YACpB,OAAO,GAAG,CAAC;QACb,KAAK,UAAU;YACb,OAAO,GAAG,CAAC;IACf,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,SAAgB,iBAAiB,CAAC,CAAgB;IAChD,OAAO,CAAC,KAAK,oBAAoB,CAAC;AACpC,CAAC;AAQD;;;;GAIG;AACH,MAAa,WAAY,SAAQ,KAAK;IAMpC,YACkB,IAAY,EAC5B,OAAe,EACC,OAAiB,EACjC,OAAwB,EAAE;;QAE1B,KAAK,CAAC,OAAO,CAAC,CAAC;QALC,SAAI,GAAJ,IAAI,CAAQ;QAEZ,YAAO,GAAP,OAAO,CAAU;QAIjC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,MAAA,IAAI,CAAC,QAAQ,mCAAI,UAAU,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,MAAA,IAAI,CAAC,SAAS,mCAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,0EAA0E;YACzE,IAA4B,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACnD,CAAC;IACH,CAAC;CACF;AArBD,kCAqBC;AAED,0EAA0E;AAC1E,MAAa,iBAAkB,SAAQ,WAAW;IAChD,YAAY,OAAe,EAAE,OAAiB;QAC5C,KAAK,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AALD,8CAKC;AAED,MAAa,cAAe,SAAQ,WAAW;IAC7C,YAAY,OAAe,EAAE,OAAiB;QAC5C,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AALD,wCAKC;AAED,MAAa,aAAc,SAAQ,WAAW;IAC5C,YAAY,IAAY,EAAE,OAAe,EAAE,OAAiB;QAC1D,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AALD,sCAKC;AAED,MAAa,aAAc,SAAQ,WAAW;IAC5C,YAAY,IAAY,EAAE,OAAe,EAAE,OAAiB;QAC1D,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AALD,sCAKC;AAED,MAAa,uBAAwB,SAAQ,WAAW;IACtD,YAAY,IAAY,EAAE,OAAe,EAAE,OAAiB;QAC1D,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AALD,0DAKC;AAED,2FAA2F;AAC3F,MAAa,sBAAuB,SAAQ,WAAW;IACrD,YAAY,OAAe,EAAE,OAA+C,EAAE;QAC5E,KAAK,CAAC,oBAAoB,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YACjD,QAAQ,EAAE,oBAAoB;YAC9B,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AARD,wDAQC;AAED,+EAA+E;AAC/E,MAAa,sBAAuB,SAAQ,WAAW;IACrD,YAAY,OAAe,EAAE,OAA+C,EAAE;QAC5E,KAAK,CAAC,oBAAoB,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YACjD,QAAQ,EAAE,oBAAoB;YAC9B,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AARD,wDAQC;AAED,MAAa,mBAAoB,SAAQ,WAAW;IAClD,YAAY,OAAe,EAAE,OAAiB;QAC5C,KAAK,CAAC,iBAAiB,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AALD,kDAKC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/actions/utils/errors.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scheduled-job.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/scheduled-job.interface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,yCAAyC;AACzC,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AACX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAErF;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,eAAe,CAAC;IAC/B,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,6DAA6D;AAC7D,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,YAAY,EAAE,CAAC;CAChC;AAgBD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GAChD,iBAAiB,CAInB"}
1
+ {"version":3,"file":"scheduled-job.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/scheduled-job.interface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,yCAAyC;AACzC,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AACX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAErF;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,eAAe,CAAC;IAC/B,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,6DAA6D;AAC7D,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,YAAY,EAAE,CAAC;CAChC;AAiBD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GAChD,iBAAiB,CAInB"}
@@ -19,7 +19,8 @@ function isScheduledJob(value) {
19
19
  const j = value;
20
20
  return (typeof j.webhook_name === 'string' &&
21
21
  typeof j.name === 'string' &&
22
- typeof j.interval_value === 'number' &&
22
+ Number.isInteger(j.interval_value) &&
23
+ j.interval_value > 0 &&
23
24
  (j.interval_unit === exports.JobIntervalUnit.MINUTES || j.interval_unit === exports.JobIntervalUnit.HOURS) &&
24
25
  Array.isArray(j.flow_ids) &&
25
26
  j.flow_ids.every((id) => Number.isInteger(id)) &&
@@ -1 +1 @@
1
- {"version":3,"file":"scheduled-job.interface.js","sourceRoot":"","sources":["../../src/interfaces/scheduled-job.interface.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAmDH,kDAMC;AAvDD,yCAAyC;AAC5B,QAAA,eAAe,GAAG;IAC7B,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;CACN,CAAC;AA2BX,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,OAAO,CACL,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ;QAClC,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAC1B,OAAO,CAAC,CAAC,cAAc,KAAK,QAAQ;QACpC,CAAC,CAAC,CAAC,aAAa,KAAK,uBAAe,CAAC,OAAO,IAAI,CAAC,CAAC,aAAa,KAAK,uBAAe,CAAC,KAAK,CAAC;QAC1F,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,CAAC,OAAO,KAAK,SAAS,CAC/B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CACjC,KAAiD;IAEjD,MAAM,IAAI,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;IACxD,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"scheduled-job.interface.js","sourceRoot":"","sources":["../../src/interfaces/scheduled-job.interface.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAoDH,kDAMC;AAxDD,yCAAyC;AAC5B,QAAA,eAAe,GAAG;IAC7B,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;CACN,CAAC;AA2BX,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,OAAO,CACL,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ;QAClC,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAC1B,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC;QACjC,CAAC,CAAC,cAAyB,GAAG,CAAC;QAChC,CAAC,CAAC,CAAC,aAAa,KAAK,uBAAe,CAAC,OAAO,IAAI,CAAC,CAAC,aAAa,KAAK,uBAAe,CAAC,KAAK,CAAC;QAC1F,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,CAAC,OAAO,KAAK,SAAS,CAC/B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CACjC,KAAiD;IAEjD,MAAM,IAAI,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;IACxD,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;AACzD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skedulo/integration-sdk",
3
- "version": "0.4.0",
3
+ "version": "0.5.1",
4
4
  "description": "Runtime SDK for Skedulo integration data flows",
5
5
  "license": "ISC",
6
6
  "main": "dist/index.js",