@skedulo/integration-sdk 0.3.4 → 0.4.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 (225) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +38 -19
  3. package/dist/actions/action-registry.d.ts.map +1 -1
  4. package/dist/actions/action-registry.js +27 -23
  5. package/dist/actions/action-registry.js.map +1 -1
  6. package/dist/actions/data-flow/activate.action.d.ts +10 -0
  7. package/dist/actions/data-flow/activate.action.d.ts.map +1 -0
  8. package/dist/actions/data-flow/activate.action.js +22 -0
  9. package/dist/actions/data-flow/activate.action.js.map +1 -0
  10. package/dist/actions/data-flow/create.action.d.ts +9 -0
  11. package/dist/actions/data-flow/create.action.d.ts.map +1 -0
  12. package/dist/actions/data-flow/create.action.js +55 -0
  13. package/dist/actions/data-flow/create.action.js.map +1 -0
  14. package/dist/actions/data-flow/deactivate.action.d.ts +9 -0
  15. package/dist/actions/data-flow/deactivate.action.d.ts.map +1 -0
  16. package/dist/actions/data-flow/deactivate.action.js +21 -0
  17. package/dist/actions/data-flow/deactivate.action.js.map +1 -0
  18. package/dist/actions/data-flow/delete.action.d.ts +10 -0
  19. package/dist/actions/data-flow/delete.action.d.ts.map +1 -0
  20. package/dist/actions/data-flow/delete.action.js +33 -0
  21. package/dist/actions/data-flow/delete.action.js.map +1 -0
  22. package/dist/actions/data-flow/get.action.d.ts +5 -0
  23. package/dist/actions/data-flow/get.action.d.ts.map +1 -0
  24. package/dist/actions/data-flow/get.action.js +22 -0
  25. package/dist/actions/data-flow/get.action.js.map +1 -0
  26. package/dist/actions/data-flow/index.d.ts +9 -0
  27. package/dist/actions/data-flow/index.d.ts.map +1 -0
  28. package/dist/actions/data-flow/index.js +33 -0
  29. package/dist/actions/data-flow/index.js.map +1 -0
  30. package/dist/actions/data-flow/list.action.d.ts +6 -0
  31. package/dist/actions/data-flow/list.action.d.ts.map +1 -0
  32. package/dist/actions/data-flow/list.action.js +25 -0
  33. package/dist/actions/data-flow/list.action.js.map +1 -0
  34. package/dist/actions/data-flow/shared.d.ts +3 -0
  35. package/dist/actions/data-flow/shared.d.ts.map +1 -0
  36. package/dist/actions/data-flow/shared.js +16 -0
  37. package/dist/actions/data-flow/shared.js.map +1 -0
  38. package/dist/actions/data-flow/types.d.ts +21 -0
  39. package/dist/actions/data-flow/types.d.ts.map +1 -0
  40. package/dist/actions/data-flow/types.js +3 -0
  41. package/dist/actions/data-flow/types.js.map +1 -0
  42. package/dist/actions/data-flow/update.action.d.ts +16 -0
  43. package/dist/actions/data-flow/update.action.d.ts.map +1 -0
  44. package/dist/actions/data-flow/update.action.js +62 -0
  45. package/dist/actions/data-flow/update.action.js.map +1 -0
  46. package/dist/actions/data-flow.action.d.ts.map +1 -1
  47. package/dist/actions/data-flow.action.js +5 -9
  48. package/dist/actions/data-flow.action.js.map +1 -1
  49. package/dist/actions/event/index.d.ts +4 -0
  50. package/dist/actions/event/index.d.ts.map +1 -0
  51. package/dist/actions/event/index.js +23 -0
  52. package/dist/actions/event/index.js.map +1 -0
  53. package/dist/actions/event/on-skedulo.action.d.ts +4 -0
  54. package/dist/actions/event/on-skedulo.action.d.ts.map +1 -0
  55. package/dist/actions/event/on-skedulo.action.js +81 -0
  56. package/dist/actions/event/on-skedulo.action.js.map +1 -0
  57. package/dist/actions/event/on-vendor.action.d.ts +4 -0
  58. package/dist/actions/event/on-vendor.action.d.ts.map +1 -0
  59. package/dist/actions/event/on-vendor.action.js +39 -0
  60. package/dist/actions/event/on-vendor.action.js.map +1 -0
  61. package/dist/actions/event/types.d.ts +28 -0
  62. package/dist/actions/event/types.d.ts.map +1 -0
  63. package/dist/actions/event/types.js +3 -0
  64. package/dist/actions/event/types.js.map +1 -0
  65. package/dist/actions/metadata/get-fields.action.d.ts +5 -0
  66. package/dist/actions/metadata/get-fields.action.d.ts.map +1 -0
  67. package/dist/actions/metadata/get-fields.action.js +26 -0
  68. package/dist/actions/metadata/get-fields.action.js.map +1 -0
  69. package/dist/actions/metadata/get-objects.action.d.ts +5 -0
  70. package/dist/actions/metadata/get-objects.action.d.ts.map +1 -0
  71. package/dist/actions/metadata/get-objects.action.js +18 -0
  72. package/dist/actions/metadata/get-objects.action.js.map +1 -0
  73. package/dist/actions/metadata/get-sample-apis.action.d.ts +5 -0
  74. package/dist/actions/metadata/get-sample-apis.action.d.ts.map +1 -0
  75. package/dist/actions/metadata/get-sample-apis.action.js +19 -0
  76. package/dist/actions/metadata/get-sample-apis.action.js.map +1 -0
  77. package/dist/actions/metadata/get-sample-records.action.d.ts +5 -0
  78. package/dist/actions/metadata/get-sample-records.action.d.ts.map +1 -0
  79. package/dist/actions/metadata/get-sample-records.action.js +33 -0
  80. package/dist/actions/metadata/get-sample-records.action.js.map +1 -0
  81. package/dist/actions/metadata/get-templates.action.d.ts +5 -0
  82. package/dist/actions/metadata/get-templates.action.d.ts.map +1 -0
  83. package/dist/actions/metadata/get-templates.action.js +19 -0
  84. package/dist/actions/metadata/get-templates.action.js.map +1 -0
  85. package/dist/actions/metadata/index.d.ts +7 -0
  86. package/dist/actions/metadata/index.d.ts.map +1 -0
  87. package/dist/actions/metadata/index.js +29 -0
  88. package/dist/actions/metadata/index.js.map +1 -0
  89. package/dist/actions/metadata/shared.d.ts +6 -0
  90. package/dist/actions/metadata/shared.d.ts.map +1 -0
  91. package/dist/actions/metadata/shared.js +11 -0
  92. package/dist/actions/metadata/shared.js.map +1 -0
  93. package/dist/actions/metadata/types.d.ts +38 -0
  94. package/dist/actions/metadata/types.d.ts.map +1 -0
  95. package/dist/actions/metadata/types.js +3 -0
  96. package/dist/actions/metadata/types.js.map +1 -0
  97. package/dist/actions/scheduled-job/create.action.d.ts +5 -0
  98. package/dist/actions/scheduled-job/create.action.d.ts.map +1 -0
  99. package/dist/actions/scheduled-job/create.action.js +53 -0
  100. package/dist/actions/scheduled-job/create.action.js.map +1 -0
  101. package/dist/actions/scheduled-job/delete.action.d.ts +15 -0
  102. package/dist/actions/scheduled-job/delete.action.d.ts.map +1 -0
  103. package/dist/actions/scheduled-job/delete.action.js +42 -0
  104. package/dist/actions/scheduled-job/delete.action.js.map +1 -0
  105. package/dist/actions/scheduled-job/get.action.d.ts +7 -0
  106. package/dist/actions/scheduled-job/get.action.d.ts.map +1 -0
  107. package/dist/actions/scheduled-job/get.action.js +23 -0
  108. package/dist/actions/scheduled-job/get.action.js.map +1 -0
  109. package/dist/actions/scheduled-job/index.d.ts +7 -0
  110. package/dist/actions/scheduled-job/index.d.ts.map +1 -0
  111. package/dist/actions/scheduled-job/index.js +29 -0
  112. package/dist/actions/scheduled-job/index.js.map +1 -0
  113. package/dist/actions/scheduled-job/list.action.d.ts +5 -0
  114. package/dist/actions/scheduled-job/list.action.d.ts.map +1 -0
  115. package/dist/actions/scheduled-job/list.action.js +18 -0
  116. package/dist/actions/scheduled-job/list.action.js.map +1 -0
  117. package/dist/actions/scheduled-job/shared.d.ts +30 -0
  118. package/dist/actions/scheduled-job/shared.d.ts.map +1 -0
  119. package/dist/actions/scheduled-job/shared.js +129 -0
  120. package/dist/actions/scheduled-job/shared.js.map +1 -0
  121. package/dist/actions/scheduled-job/types.d.ts +23 -0
  122. package/dist/actions/scheduled-job/types.d.ts.map +1 -0
  123. package/dist/actions/scheduled-job/types.js +3 -0
  124. package/dist/actions/scheduled-job/types.js.map +1 -0
  125. package/dist/actions/scheduled-job/update.action.d.ts +5 -0
  126. package/dist/actions/scheduled-job/update.action.d.ts.map +1 -0
  127. package/dist/actions/scheduled-job/update.action.js +64 -0
  128. package/dist/actions/scheduled-job/update.action.js.map +1 -0
  129. package/dist/actions/scheduled-job.action.d.ts +73 -0
  130. package/dist/actions/scheduled-job.action.d.ts.map +1 -0
  131. package/dist/actions/scheduled-job.action.js +355 -0
  132. package/dist/actions/scheduled-job.action.js.map +1 -0
  133. package/dist/actions/setup.action.js +1 -1
  134. package/dist/actions/setup.action.js.map +1 -1
  135. package/dist/actions/sync/index.d.ts +4 -0
  136. package/dist/actions/sync/index.d.ts.map +1 -0
  137. package/dist/actions/sync/index.js +23 -0
  138. package/dist/actions/sync/index.js.map +1 -0
  139. package/dist/actions/sync/run-flow.action.d.ts +8 -0
  140. package/dist/actions/sync/run-flow.action.d.ts.map +1 -0
  141. package/dist/actions/sync/run-flow.action.js +81 -0
  142. package/dist/actions/sync/run-flow.action.js.map +1 -0
  143. package/dist/actions/sync/run-job.action.d.ts +11 -0
  144. package/dist/actions/sync/run-job.action.d.ts.map +1 -0
  145. package/dist/actions/sync/run-job.action.js +75 -0
  146. package/dist/actions/sync/run-job.action.js.map +1 -0
  147. package/dist/actions/sync/types.d.ts +41 -0
  148. package/dist/actions/sync/types.d.ts.map +1 -0
  149. package/dist/actions/sync/types.js +3 -0
  150. package/dist/actions/sync/types.js.map +1 -0
  151. package/dist/actions/sync.action.d.ts +8 -47
  152. package/dist/actions/sync.action.d.ts.map +1 -1
  153. package/dist/actions/sync.action.js +29 -162
  154. package/dist/actions/sync.action.js.map +1 -1
  155. package/dist/actions/utils/action-names.d.ts +19 -6
  156. package/dist/actions/utils/action-names.d.ts.map +1 -1
  157. package/dist/actions/utils/action-names.js +19 -6
  158. package/dist/actions/utils/action-names.js.map +1 -1
  159. package/dist/actions/utils/define-action.d.ts +36 -0
  160. package/dist/actions/utils/define-action.d.ts.map +1 -0
  161. package/dist/actions/utils/define-action.js +43 -0
  162. package/dist/actions/utils/define-action.js.map +1 -0
  163. package/dist/actions/utils/errors.d.ts +54 -8
  164. package/dist/actions/utils/errors.d.ts.map +1 -1
  165. package/dist/actions/utils/errors.js +104 -14
  166. package/dist/actions/utils/errors.js.map +1 -1
  167. package/dist/actions/utils/helpers.d.ts.map +1 -1
  168. package/dist/actions/utils/helpers.js +2 -1
  169. package/dist/actions/utils/helpers.js.map +1 -1
  170. package/dist/actions/utils/metrics.d.ts +12 -0
  171. package/dist/actions/utils/metrics.d.ts.map +1 -0
  172. package/dist/actions/utils/metrics.js +12 -0
  173. package/dist/actions/utils/metrics.js.map +1 -0
  174. package/dist/actions/utils/middleware.d.ts +39 -0
  175. package/dist/actions/utils/middleware.d.ts.map +1 -0
  176. package/dist/actions/utils/middleware.js +85 -0
  177. package/dist/actions/utils/middleware.js.map +1 -0
  178. package/dist/actions/utils/types.d.ts +5 -4
  179. package/dist/actions/utils/types.d.ts.map +1 -1
  180. package/dist/adapters/base-adapter-handler.d.ts +10 -0
  181. package/dist/adapters/base-adapter-handler.d.ts.map +1 -1
  182. package/dist/adapters/base-adapter-handler.js +18 -34
  183. package/dist/adapters/base-adapter-handler.js.map +1 -1
  184. package/dist/browser.d.ts +2 -0
  185. package/dist/browser.d.ts.map +1 -1
  186. package/dist/browser.js +3 -1
  187. package/dist/browser.js.map +1 -1
  188. package/dist/clients/integration-config.client.d.ts +21 -0
  189. package/dist/clients/integration-config.client.d.ts.map +1 -0
  190. package/dist/clients/integration-config.client.js +44 -0
  191. package/dist/clients/integration-config.client.js.map +1 -0
  192. package/dist/context.d.ts +18 -3
  193. package/dist/context.d.ts.map +1 -1
  194. package/dist/context.js +21 -5
  195. package/dist/context.js.map +1 -1
  196. package/dist/index.d.ts +11 -0
  197. package/dist/index.d.ts.map +1 -1
  198. package/dist/index.js +30 -1
  199. package/dist/index.js.map +1 -1
  200. package/dist/interfaces/data-flow-spec.interface.d.ts +14 -21
  201. package/dist/interfaces/data-flow-spec.interface.d.ts.map +1 -1
  202. package/dist/interfaces/data-flow-spec.interface.js +10 -26
  203. package/dist/interfaces/data-flow-spec.interface.js.map +1 -1
  204. package/dist/interfaces/integration-capabilities.interface.d.ts +2 -2
  205. package/dist/interfaces/scheduled-job.interface.d.ts +40 -0
  206. package/dist/interfaces/scheduled-job.interface.d.ts.map +1 -0
  207. package/dist/interfaces/scheduled-job.interface.js +38 -0
  208. package/dist/interfaces/scheduled-job.interface.js.map +1 -0
  209. package/dist/services/dataflow.service.d.ts +13 -6
  210. package/dist/services/dataflow.service.d.ts.map +1 -1
  211. package/dist/services/dataflow.service.js +34 -57
  212. package/dist/services/dataflow.service.js.map +1 -1
  213. package/dist/services/sync-runner.d.ts +1 -0
  214. package/dist/services/sync-runner.d.ts.map +1 -1
  215. package/dist/services/sync-runner.js +7 -27
  216. package/dist/services/sync-runner.js.map +1 -1
  217. package/dist/types.d.ts +2 -0
  218. package/dist/types.d.ts.map +1 -1
  219. package/dist/types.js +4 -1
  220. package/dist/types.js.map +1 -1
  221. package/dist/utils/artifact-builder.d.ts +40 -15
  222. package/dist/utils/artifact-builder.d.ts.map +1 -1
  223. package/dist/utils/artifact-builder.js +92 -17
  224. package/dist/utils/artifact-builder.js.map +1 -1
  225. package/package.json +1 -1
@@ -0,0 +1,7 @@
1
+ export * from './types';
2
+ export { makeGetObjectsAction } from './get-objects.action';
3
+ export { makeGetFieldsAction } from './get-fields.action';
4
+ export { makeGetTemplatesAction } from './get-templates.action';
5
+ export { makeGetSampleApisAction } from './get-sample-apis.action';
6
+ export { makeGetSampleRecordsAction } from './get-sample-records.action';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/actions/metadata/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.makeGetSampleRecordsAction = exports.makeGetSampleApisAction = exports.makeGetTemplatesAction = exports.makeGetFieldsAction = exports.makeGetObjectsAction = void 0;
18
+ __exportStar(require("./types"), exports);
19
+ var get_objects_action_1 = require("./get-objects.action");
20
+ Object.defineProperty(exports, "makeGetObjectsAction", { enumerable: true, get: function () { return get_objects_action_1.makeGetObjectsAction; } });
21
+ var get_fields_action_1 = require("./get-fields.action");
22
+ Object.defineProperty(exports, "makeGetFieldsAction", { enumerable: true, get: function () { return get_fields_action_1.makeGetFieldsAction; } });
23
+ var get_templates_action_1 = require("./get-templates.action");
24
+ Object.defineProperty(exports, "makeGetTemplatesAction", { enumerable: true, get: function () { return get_templates_action_1.makeGetTemplatesAction; } });
25
+ var get_sample_apis_action_1 = require("./get-sample-apis.action");
26
+ Object.defineProperty(exports, "makeGetSampleApisAction", { enumerable: true, get: function () { return get_sample_apis_action_1.makeGetSampleApisAction; } });
27
+ var get_sample_records_action_1 = require("./get-sample-records.action");
28
+ Object.defineProperty(exports, "makeGetSampleRecordsAction", { enumerable: true, get: function () { return get_sample_records_action_1.makeGetSampleRecordsAction; } });
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actions/metadata/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,2DAA4D;AAAnD,0HAAA,oBAAoB,OAAA;AAC7B,yDAA0D;AAAjD,wHAAA,mBAAmB,OAAA;AAC5B,+DAAgE;AAAvD,8HAAA,sBAAsB,OAAA;AAC/B,mEAAmE;AAA1D,iIAAA,uBAAuB,OAAA;AAChC,yEAAyE;AAAhE,uIAAA,0BAA0B,OAAA"}
@@ -0,0 +1,6 @@
1
+ export declare function parseSystem(raw: unknown): {
2
+ system?: string;
3
+ };
4
+ /** Default page size for `metadata.get-sample-records` when callers omit `limit`. */
5
+ export declare const DEFAULT_SAMPLE_RECORD_LIMIT = 5;
6
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/actions/metadata/shared.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAG7D;AAED,qFAAqF;AACrF,eAAO,MAAM,2BAA2B,IAAI,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_SAMPLE_RECORD_LIMIT = void 0;
4
+ exports.parseSystem = parseSystem;
5
+ function parseSystem(raw) {
6
+ const obj = (raw !== null && raw !== void 0 ? raw : {});
7
+ return { system: typeof obj.system === 'string' ? obj.system : undefined };
8
+ }
9
+ /** Default page size for `metadata.get-sample-records` when callers omit `limit`. */
10
+ exports.DEFAULT_SAMPLE_RECORD_LIMIT = 5;
11
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/actions/metadata/shared.ts"],"names":[],"mappings":";;;AAAA,kCAGC;AAHD,SAAgB,WAAW,CAAC,GAAY;IACtC,MAAM,GAAG,GAAG,CAAC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,CAA4B,CAAC;IACnD,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AAC7E,CAAC;AAED,qFAAqF;AACxE,QAAA,2BAA2B,GAAG,CAAC,CAAC"}
@@ -0,0 +1,38 @@
1
+ import type { DataFlowTemplate, FieldInfo, ObjectInfo, SampleAPI, SampleRecord } from '../../interfaces/adapter.interface';
2
+ export interface GetObjectsInput {
3
+ system?: string;
4
+ }
5
+ export interface GetObjectsOutput {
6
+ system: string;
7
+ objects: ObjectInfo[];
8
+ }
9
+ export interface GetFieldsInput {
10
+ system?: string;
11
+ object: string;
12
+ }
13
+ export interface GetFieldsOutput {
14
+ system: string;
15
+ object: string;
16
+ fields: FieldInfo[];
17
+ }
18
+ export interface GetTemplatesInput {
19
+ system?: string;
20
+ }
21
+ export interface GetTemplatesOutput {
22
+ templates: DataFlowTemplate[];
23
+ }
24
+ export interface GetSampleApisInput {
25
+ system?: string;
26
+ }
27
+ export interface GetSampleApisOutput {
28
+ apis: SampleAPI[];
29
+ }
30
+ export interface GetSampleRecordsInput {
31
+ system?: string;
32
+ objectType: string;
33
+ limit: number;
34
+ }
35
+ export interface GetSampleRecordsOutput {
36
+ records: SampleRecord[];
37
+ }
38
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/actions/metadata/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,EACb,MAAM,oCAAoC,CAAC;AAE5C,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,SAAS,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/actions/metadata/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import type { ScheduledJob } from '../../interfaces/scheduled-job.interface';
2
+ import type { Action } from '../utils/types';
3
+ import type { CreateJobInput, JobDeps } from './types';
4
+ export declare function makeScheduledJobCreateAction(deps: JobDeps): Action<CreateJobInput, ScheduledJob>;
5
+ //# sourceMappingURL=create.action.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeScheduledJobCreateAction = makeScheduledJobCreateAction;
4
+ const artifact_builder_1 = require("../../utils/artifact-builder");
5
+ const action_names_1 = require("../utils/action-names");
6
+ const define_action_1 = require("../utils/define-action");
7
+ const errors_1 = require("../utils/errors");
8
+ const shared_1 = require("./shared");
9
+ function makeScheduledJobCreateAction(deps) {
10
+ return (0, define_action_1.defineAction)({
11
+ name: action_names_1.ACTIONS.scheduledJob.create,
12
+ // Create rejects duplicates with 409 — caller can't blindly retry.
13
+ idempotent: false,
14
+ audit: true,
15
+ requireAdmin: true,
16
+ parseInput(raw) {
17
+ var _a;
18
+ const obj = (0, shared_1.asRecord)(raw);
19
+ // Validate interval bounds eagerly so bad input is rejected at parse time.
20
+ const interval_value = typeof obj.interval_value === 'number' ? obj.interval_value : Number.NaN;
21
+ const input = {
22
+ name: (0, shared_1.parseName)(obj.name),
23
+ interval_value,
24
+ interval_unit: (0, shared_1.parseIntervalUnit)(obj.interval_unit),
25
+ flow_ids: (0, shared_1.parseFlowIds)((_a = obj.flow_ids) !== null && _a !== void 0 ? _a : []),
26
+ enabled: obj.enabled === undefined ? true : Boolean(obj.enabled),
27
+ };
28
+ (0, artifact_builder_1.jobIntervalToMinutes)(input); // throws InvalidInputError on out-of-range
29
+ return input;
30
+ },
31
+ handler: async (input, ctx) => {
32
+ const integrationType = deps.adapter.integrationType;
33
+ const webhook_name = (0, artifact_builder_1.buildJobArtifactName)(integrationType, input.name);
34
+ const prev = await (0, shared_1.readConfig)(ctx, integrationType);
35
+ if (prev.scheduled_jobs.some((j) => j.webhook_name === webhook_name)) {
36
+ throw new errors_1.ConflictError('JOB_ALREADY_EXISTS', `A scheduled job named '${input.name}' already exists (webhook_name '${webhook_name}')`);
37
+ }
38
+ await (0, shared_1.validateFlowIds)(ctx, integrationType, input.flow_ids, prev.scheduled_jobs);
39
+ const job = {
40
+ webhook_name,
41
+ name: input.name,
42
+ interval_value: input.interval_value,
43
+ interval_unit: input.interval_unit,
44
+ flow_ids: input.flow_ids,
45
+ enabled: input.enabled,
46
+ };
47
+ const next = { scheduled_jobs: [...prev.scheduled_jobs, job] };
48
+ await (0, shared_1.writeConfigThenArtifact)(ctx, integrationType, prev, next, job);
49
+ return job;
50
+ },
51
+ });
52
+ }
53
+ //# sourceMappingURL=create.action.js.map
@@ -0,0 +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"}
@@ -0,0 +1,15 @@
1
+ import type { Action } from '../utils/types';
2
+ import type { JobDeps } from './types';
3
+ /**
4
+ * Delete a scheduled job. Config is the source of truth, so the job is dropped
5
+ * from config first, then the webhook is torn down (404-tolerant, best-effort).
6
+ * If ES returns a 5xx the config write still stands and an orphan webhook may
7
+ * remain — safe to retry the delete, which is idempotent.
8
+ */
9
+ export declare function makeScheduledJobDeleteAction(deps: JobDeps): Action<{
10
+ webhookName: string;
11
+ }, {
12
+ webhookName: string;
13
+ deleted: boolean;
14
+ }>;
15
+ //# sourceMappingURL=delete.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.action.d.ts","sourceRoot":"","sources":["../../../src/actions/scheduled-job/delete.action.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,OAAO,GACZ,MAAM,CAAC;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CA8B5E"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeScheduledJobDeleteAction = makeScheduledJobDeleteAction;
4
+ const pulse_solution_services_1 = require("@skedulo/pulse-solution-services");
5
+ const artifact_builder_1 = require("../../utils/artifact-builder");
6
+ const helpers_1 = require("../../utils/helpers");
7
+ const action_names_1 = require("../utils/action-names");
8
+ const errors_1 = require("../utils/errors");
9
+ const shared_1 = require("./shared");
10
+ /**
11
+ * Delete a scheduled job. Config is the source of truth, so the job is dropped
12
+ * from config first, then the webhook is torn down (404-tolerant, best-effort).
13
+ * If ES returns a 5xx the config write still stands and an orphan webhook may
14
+ * remain — safe to retry the delete, which is idempotent.
15
+ */
16
+ function makeScheduledJobDeleteAction(deps) {
17
+ return {
18
+ name: action_names_1.ACTIONS.scheduledJob.delete,
19
+ parseInput(raw) {
20
+ return { webhookName: (0, shared_1.parseWebhookName)(raw) };
21
+ },
22
+ async handler(input, ctx) {
23
+ if (!(0, helpers_1.isAdminRequest)(ctx.skedContext)) {
24
+ throw new errors_1.ForbiddenError('scheduled-job.delete requires admin privileges');
25
+ }
26
+ const integrationType = deps.adapter.integrationType;
27
+ const prev = await (0, shared_1.readConfig)(ctx, integrationType);
28
+ const existed = prev.scheduled_jobs.some((j) => j.webhook_name === input.webhookName);
29
+ // Config is source of truth: drop the job first, then tear down the webhook
30
+ // (404-tolerant, so no rollback needed). Idempotent if already gone.
31
+ if (existed) {
32
+ const next = {
33
+ scheduled_jobs: prev.scheduled_jobs.filter((j) => j.webhook_name !== input.webhookName),
34
+ };
35
+ await ctx.integrationConfigClient.replace(integrationType, next);
36
+ }
37
+ await (0, artifact_builder_1.deleteArtifactIfExists)(ctx.newArtifactClient(pulse_solution_services_1.ArtifactType.WEBHOOK), input.webhookName);
38
+ return { webhookName: input.webhookName, deleted: existed };
39
+ },
40
+ };
41
+ }
42
+ //# sourceMappingURL=delete.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.action.js","sourceRoot":"","sources":["../../../src/actions/scheduled-job/delete.action.ts"],"names":[],"mappings":";;AAgBA,oEAgCC;AAhDD,8EAAgE;AAEhE,mEAAsE;AACtE,iDAAqD;AACrD,wDAAgD;AAChD,4CAAiD;AAEjD,qCAAwD;AAGxD;;;;;GAKG;AACH,SAAgB,4BAA4B,CAC1C,IAAa;IAEb,OAAO;QACL,IAAI,EAAE,sBAAO,CAAC,YAAY,CAAC,MAAM;QACjC,UAAU,CAAC,GAAG;YACZ,OAAO,EAAE,WAAW,EAAE,IAAA,yBAAgB,EAAC,GAAG,CAAC,EAAE,CAAC;QAChD,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,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC;YAEtF,4EAA4E;YAC5E,qEAAqE;YACrE,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAsB;oBAC9B,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,KAAK,CAAC,WAAW,CAAC;iBACxF,CAAC;gBACF,MAAM,GAAG,CAAC,uBAAuB,CAAC,OAAO,CACvC,eAAe,EACf,IAA0C,CAC3C,CAAC;YACJ,CAAC;YACD,MAAM,IAAA,yCAAsB,EAAC,GAAG,CAAC,iBAAiB,CAAC,sCAAY,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAC7F,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAC9D,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { ScheduledJob } from '../../interfaces/scheduled-job.interface';
2
+ import type { Action } from '../utils/types';
3
+ import type { JobDeps } from './types';
4
+ export declare function makeScheduledJobGetAction(deps: JobDeps): Action<{
5
+ webhookName: string;
6
+ }, ScheduledJob>;
7
+ //# sourceMappingURL=get.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.action.d.ts","sourceRoot":"","sources":["../../../src/actions/scheduled-job/get.action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAG7E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,OAAO,GACZ,MAAM,CAAC;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,EAAE,YAAY,CAAC,CAe/C"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeScheduledJobGetAction = makeScheduledJobGetAction;
4
+ const action_names_1 = require("../utils/action-names");
5
+ const errors_1 = require("../utils/errors");
6
+ const shared_1 = require("./shared");
7
+ function makeScheduledJobGetAction(deps) {
8
+ return {
9
+ name: action_names_1.ACTIONS.scheduledJob.get,
10
+ parseInput(raw) {
11
+ return { webhookName: (0, shared_1.parseWebhookName)(raw) };
12
+ },
13
+ async handler(input, ctx) {
14
+ const config = await (0, shared_1.readConfig)(ctx, deps.adapter.integrationType);
15
+ const job = config.scheduled_jobs.find((j) => j.webhook_name === input.webhookName);
16
+ if (!job) {
17
+ throw new errors_1.NotFoundError('JOB_NOT_FOUND', `Scheduled job '${input.webhookName}' not found`);
18
+ }
19
+ return job;
20
+ },
21
+ };
22
+ }
23
+ //# sourceMappingURL=get.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.action.js","sourceRoot":"","sources":["../../../src/actions/scheduled-job/get.action.ts"],"names":[],"mappings":";;AAOA,8DAiBC;AAvBD,wDAAgD;AAChD,4CAAgD;AAEhD,qCAAwD;AAGxD,SAAgB,yBAAyB,CACvC,IAAa;IAEb,OAAO;QACL,IAAI,EAAE,sBAAO,CAAC,YAAY,CAAC,GAAG;QAC9B,UAAU,CAAC,GAAG;YACZ,OAAO,EAAE,WAAW,EAAE,IAAA,yBAAgB,EAAC,GAAG,CAAC,EAAE,CAAC;QAChD,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;YACtB,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAU,EAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACnE,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC;YACpF,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,IAAI,sBAAa,CAAC,eAAe,EAAE,kBAAkB,KAAK,CAAC,WAAW,aAAa,CAAC,CAAC;YAC7F,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from './types';
2
+ export { makeScheduledJobListAction } from './list.action';
3
+ export { makeScheduledJobGetAction } from './get.action';
4
+ export { makeScheduledJobCreateAction } from './create.action';
5
+ export { makeScheduledJobUpdateAction } from './update.action';
6
+ export { makeScheduledJobDeleteAction } from './delete.action';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/actions/scheduled-job/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.makeScheduledJobDeleteAction = exports.makeScheduledJobUpdateAction = exports.makeScheduledJobCreateAction = exports.makeScheduledJobGetAction = exports.makeScheduledJobListAction = void 0;
18
+ __exportStar(require("./types"), exports);
19
+ var list_action_1 = require("./list.action");
20
+ Object.defineProperty(exports, "makeScheduledJobListAction", { enumerable: true, get: function () { return list_action_1.makeScheduledJobListAction; } });
21
+ var get_action_1 = require("./get.action");
22
+ Object.defineProperty(exports, "makeScheduledJobGetAction", { enumerable: true, get: function () { return get_action_1.makeScheduledJobGetAction; } });
23
+ var create_action_1 = require("./create.action");
24
+ Object.defineProperty(exports, "makeScheduledJobCreateAction", { enumerable: true, get: function () { return create_action_1.makeScheduledJobCreateAction; } });
25
+ var update_action_1 = require("./update.action");
26
+ Object.defineProperty(exports, "makeScheduledJobUpdateAction", { enumerable: true, get: function () { return update_action_1.makeScheduledJobUpdateAction; } });
27
+ var delete_action_1 = require("./delete.action");
28
+ Object.defineProperty(exports, "makeScheduledJobDeleteAction", { enumerable: true, get: function () { return delete_action_1.makeScheduledJobDeleteAction; } });
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actions/scheduled-job/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,6CAA2D;AAAlD,yHAAA,0BAA0B,OAAA;AACnC,2CAAyD;AAAhD,uHAAA,yBAAyB,OAAA;AAClC,iDAA+D;AAAtD,6HAAA,4BAA4B,OAAA;AACrC,iDAA+D;AAAtD,6HAAA,4BAA4B,OAAA;AACrC,iDAA+D;AAAtD,6HAAA,4BAA4B,OAAA"}
@@ -0,0 +1,5 @@
1
+ import type { ScheduledJob } from '../../interfaces/scheduled-job.interface';
2
+ import type { Action } from '../utils/types';
3
+ import type { JobDeps } from './types';
4
+ export declare function makeScheduledJobListAction(deps: JobDeps): Action<void, ScheduledJob[]>;
5
+ //# sourceMappingURL=list.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.action.d.ts","sourceRoot":"","sources":["../../../src/actions/scheduled-job/list.action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAG7E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,CAUtF"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeScheduledJobListAction = makeScheduledJobListAction;
4
+ const action_names_1 = require("../utils/action-names");
5
+ const define_action_1 = require("../utils/define-action");
6
+ const shared_1 = require("./shared");
7
+ function makeScheduledJobListAction(deps) {
8
+ return (0, define_action_1.defineAction)({
9
+ name: action_names_1.ACTIONS.scheduledJob.list,
10
+ idempotent: true,
11
+ parseInput: () => undefined,
12
+ handler: async (_input, ctx) => {
13
+ const config = await (0, shared_1.readConfig)(ctx, deps.adapter.integrationType);
14
+ return config.scheduled_jobs;
15
+ },
16
+ });
17
+ }
18
+ //# sourceMappingURL=list.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.action.js","sourceRoot":"","sources":["../../../src/actions/scheduled-job/list.action.ts"],"names":[],"mappings":";;AAOA,gEAUC;AAhBD,wDAAgD;AAChD,0DAAsD;AAEtD,qCAAsC;AAGtC,SAAgB,0BAA0B,CAAC,IAAa;IACtD,OAAO,IAAA,4BAAY,EAAC;QAClB,IAAI,EAAE,sBAAO,CAAC,YAAY,CAAC,IAAI;QAC/B,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,GAAG,EAAE,CAAC,SAAiB;QACnC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAU,EAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACnE,OAAO,MAAM,CAAC,cAAc,CAAC;QAC/B,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { JobIntervalUnit, type IntegrationConfig, type ScheduledJob } from '../../interfaces/scheduled-job.interface';
2
+ import type { IntegrationContext } from '../../context';
3
+ export declare function readConfig(ctx: IntegrationContext, integrationType: string): Promise<IntegrationConfig>;
4
+ export declare function jobCron(job: Pick<ScheduledJob, 'interval_value' | 'interval_unit'>): string;
5
+ /** A job fires only when enabled with at least one flow. */
6
+ export declare function jobShouldRun(job: ScheduledJob): boolean;
7
+ /**
8
+ * Reconcile the ES webhook for a job: provision when it should run, otherwise
9
+ * tear it down (404-tolerant). `webhook_name` is both the artifact name and the
10
+ * job-id header.
11
+ */
12
+ export declare function reconcileJobArtifact(ctx: IntegrationContext, job: ScheduledJob): Promise<void>;
13
+ /**
14
+ * Validate that every `flow_id` belongs to this integration and that no id is
15
+ * already claimed by another job (J5 — the per-flow cursor can't be shared).
16
+ */
17
+ export declare function validateFlowIds(ctx: IntegrationContext, integrationType: string, flowIds: number[], otherJobs: ScheduledJob[]): Promise<void>;
18
+ /**
19
+ * Two-phase fail-closed write for create/update: persist config first, then
20
+ * reconcile the ES artifact. If the artifact step throws, roll the config back
21
+ * to `prev` (IS uses replace semantics) before re-raising — no orphaned webhook,
22
+ * no lost config.
23
+ */
24
+ export declare function writeConfigThenArtifact(ctx: IntegrationContext, integrationType: string, prev: IntegrationConfig, next: IntegrationConfig, job: ScheduledJob): Promise<void>;
25
+ export declare function asRecord(raw: unknown): Record<string, unknown>;
26
+ export declare function parseName(value: unknown): string;
27
+ export declare function parseIntervalUnit(value: unknown): JobIntervalUnit;
28
+ export declare function parseFlowIds(value: unknown): number[];
29
+ export declare function parseWebhookName(raw: unknown): string;
30
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/actions/scheduled-job/shared.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAClB,MAAM,0CAA0C,CAAC;AASlD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGxD,wBAAgB,UAAU,CACxB,GAAG,EAAE,kBAAkB,EACvB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAE5B;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,gBAAgB,GAAG,eAAe,CAAC,GAAG,MAAM,CAE3F;AAED,4DAA4D;AAC5D,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAEvD;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,kBAAkB,EACvB,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,kBAAkB,EACvB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,EAAE,YAAY,EAAE,GACxB,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,kBAAkB,EACvB,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,iBAAiB,EACvB,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC,IAAI,CAAC,CAkBf;AAID,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE9D;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKhD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAGjE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CASrD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CASrD"}
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readConfig = readConfig;
4
+ exports.jobCron = jobCron;
5
+ exports.jobShouldRun = jobShouldRun;
6
+ exports.reconcileJobArtifact = reconcileJobArtifact;
7
+ exports.validateFlowIds = validateFlowIds;
8
+ exports.writeConfigThenArtifact = writeConfigThenArtifact;
9
+ exports.asRecord = asRecord;
10
+ exports.parseName = parseName;
11
+ exports.parseIntervalUnit = parseIntervalUnit;
12
+ exports.parseFlowIds = parseFlowIds;
13
+ exports.parseWebhookName = parseWebhookName;
14
+ const pulse_solution_services_1 = require("@skedulo/pulse-solution-services");
15
+ const scheduled_job_interface_1 = require("../../interfaces/scheduled-job.interface");
16
+ const artifact_builder_1 = require("../../utils/artifact-builder");
17
+ const errors_1 = require("../utils/errors");
18
+ function readConfig(ctx, integrationType) {
19
+ return ctx.integrationConfigClient.get(integrationType).then((raw) => (0, scheduled_job_interface_1.asIntegrationConfig)(raw));
20
+ }
21
+ function jobCron(job) {
22
+ return (0, artifact_builder_1.intervalMinutesToCron)((0, artifact_builder_1.jobIntervalToMinutes)(job));
23
+ }
24
+ /** A job fires only when enabled with at least one flow. */
25
+ function jobShouldRun(job) {
26
+ return job.enabled && job.flow_ids.length > 0;
27
+ }
28
+ /**
29
+ * Reconcile the ES webhook for a job: provision when it should run, otherwise
30
+ * tear it down (404-tolerant). `webhook_name` is both the artifact name and the
31
+ * job-id header.
32
+ */
33
+ async function reconcileJobArtifact(ctx, job) {
34
+ const client = ctx.newArtifactClient(pulse_solution_services_1.ArtifactType.WEBHOOK);
35
+ if (jobShouldRun(job)) {
36
+ await (0, artifact_builder_1.upsertArtifact)(client, job.webhook_name, (0, artifact_builder_1.buildJobWebhookArtifact)({
37
+ webhookName: job.webhook_name,
38
+ url: (0, artifact_builder_1.functionCallbackUrl)(ctx.integrationType),
39
+ cron: jobCron(job),
40
+ }));
41
+ }
42
+ else {
43
+ await (0, artifact_builder_1.deleteArtifactIfExists)(client, job.webhook_name);
44
+ }
45
+ }
46
+ /**
47
+ * Validate that every `flow_id` belongs to this integration and that no id is
48
+ * already claimed by another job (J5 — the per-flow cursor can't be shared).
49
+ */
50
+ async function validateFlowIds(ctx, integrationType, flowIds, otherJobs) {
51
+ const claimed = new Map();
52
+ for (const j of otherJobs) {
53
+ for (const id of j.flow_ids)
54
+ claimed.set(id, j.webhook_name);
55
+ }
56
+ for (const id of flowIds) {
57
+ const owner = claimed.get(id);
58
+ if (owner) {
59
+ throw new errors_1.InvalidInputError(`Flow ${id} is already in scheduled job '${owner}'`);
60
+ }
61
+ }
62
+ if (flowIds.length === 0)
63
+ return;
64
+ const existing = await ctx.dataFlowService.list({ integrationType });
65
+ const validIds = new Set(existing.map((f) => f.id));
66
+ for (const id of flowIds) {
67
+ if (!validIds.has(id)) {
68
+ throw new errors_1.InvalidInputError(`Flow ${id} does not exist for integration '${integrationType}'`);
69
+ }
70
+ }
71
+ }
72
+ /**
73
+ * Two-phase fail-closed write for create/update: persist config first, then
74
+ * reconcile the ES artifact. If the artifact step throws, roll the config back
75
+ * to `prev` (IS uses replace semantics) before re-raising — no orphaned webhook,
76
+ * no lost config.
77
+ */
78
+ async function writeConfigThenArtifact(ctx, integrationType, prev, next, job) {
79
+ await ctx.integrationConfigClient.replace(integrationType, next);
80
+ try {
81
+ await reconcileJobArtifact(ctx, job);
82
+ }
83
+ catch (err) {
84
+ try {
85
+ await ctx.integrationConfigClient.replace(integrationType, prev);
86
+ }
87
+ catch (_a) {
88
+ // best-effort rollback; surface the original artifact error
89
+ }
90
+ throw err;
91
+ }
92
+ }
93
+ // ── input parsing helpers ────────────────────────────────────────────────────
94
+ function asRecord(raw) {
95
+ return (raw !== null && raw !== void 0 ? raw : {});
96
+ }
97
+ function parseName(value) {
98
+ if (typeof value !== 'string' || value.trim().length === 0) {
99
+ throw new errors_1.InvalidInputError('name must be a non-empty string');
100
+ }
101
+ return value;
102
+ }
103
+ function parseIntervalUnit(value) {
104
+ if (value === scheduled_job_interface_1.JobIntervalUnit.MINUTES || value === scheduled_job_interface_1.JobIntervalUnit.HOURS)
105
+ return value;
106
+ throw new errors_1.InvalidInputError('interval_unit must be "minutes" or "hours"');
107
+ }
108
+ function parseFlowIds(value) {
109
+ if (!Array.isArray(value) || value.some((id) => !Number.isInteger(id) || id <= 0)) {
110
+ throw new errors_1.InvalidInputError('flow_ids must be an array of positive integers');
111
+ }
112
+ // Reject duplicates within the same job — ordering must be unambiguous.
113
+ if (new Set(value).size !== value.length) {
114
+ throw new errors_1.InvalidInputError('flow_ids must not contain duplicates');
115
+ }
116
+ return value;
117
+ }
118
+ function parseWebhookName(raw) {
119
+ var _a;
120
+ const obj = asRecord(raw);
121
+ // Accept both casings at the wire boundary: the persisted shape uses
122
+ // `webhook_name`, while UI/TS callers send `webhookName`.
123
+ const name = (_a = obj.webhook_name) !== null && _a !== void 0 ? _a : obj.webhookName;
124
+ if (typeof name !== 'string' || name.length === 0) {
125
+ throw new errors_1.InvalidInputError('webhook_name must be a non-empty string');
126
+ }
127
+ return name;
128
+ }
129
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/actions/scheduled-job/shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { Adapter } from '../../interfaces/adapter.interface';
2
+ import type { AdapterRegistry } from '../../adapters/adapter-registry';
3
+ import type { JobIntervalUnit } from '../../interfaces/scheduled-job.interface';
4
+ export type JobDeps = {
5
+ adapter: Adapter;
6
+ registry: AdapterRegistry;
7
+ };
8
+ export interface CreateJobInput {
9
+ name: string;
10
+ interval_value: number;
11
+ interval_unit: JobIntervalUnit;
12
+ flow_ids: number[];
13
+ enabled: boolean;
14
+ }
15
+ export interface UpdateJobInput {
16
+ webhook_name: string;
17
+ name?: string;
18
+ interval_value?: number;
19
+ interval_unit?: JobIntervalUnit;
20
+ flow_ids?: number[];
21
+ enabled?: boolean;
22
+ }
23
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/actions/scheduled-job/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAEhF,MAAM,MAAM,OAAO,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,eAAe,CAAA;CAAE,CAAC;AAEtE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,eAAe,CAAC;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/actions/scheduled-job/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import type { ScheduledJob } from '../../interfaces/scheduled-job.interface';
2
+ import type { Action } from '../utils/types';
3
+ import type { JobDeps, UpdateJobInput } from './types';
4
+ export declare function makeScheduledJobUpdateAction(deps: JobDeps): Action<UpdateJobInput, ScheduledJob>;
5
+ //# sourceMappingURL=update.action.d.ts.map
@@ -0,0 +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"}