@skedulo/integration-sdk 0.3.3 → 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 (229) 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/event.action.d.ts +9 -4
  66. package/dist/actions/event.action.d.ts.map +1 -1
  67. package/dist/actions/event.action.js +57 -33
  68. package/dist/actions/event.action.js.map +1 -1
  69. package/dist/actions/metadata/get-fields.action.d.ts +5 -0
  70. package/dist/actions/metadata/get-fields.action.d.ts.map +1 -0
  71. package/dist/actions/metadata/get-fields.action.js +26 -0
  72. package/dist/actions/metadata/get-fields.action.js.map +1 -0
  73. package/dist/actions/metadata/get-objects.action.d.ts +5 -0
  74. package/dist/actions/metadata/get-objects.action.d.ts.map +1 -0
  75. package/dist/actions/metadata/get-objects.action.js +18 -0
  76. package/dist/actions/metadata/get-objects.action.js.map +1 -0
  77. package/dist/actions/metadata/get-sample-apis.action.d.ts +5 -0
  78. package/dist/actions/metadata/get-sample-apis.action.d.ts.map +1 -0
  79. package/dist/actions/metadata/get-sample-apis.action.js +19 -0
  80. package/dist/actions/metadata/get-sample-apis.action.js.map +1 -0
  81. package/dist/actions/metadata/get-sample-records.action.d.ts +5 -0
  82. package/dist/actions/metadata/get-sample-records.action.d.ts.map +1 -0
  83. package/dist/actions/metadata/get-sample-records.action.js +33 -0
  84. package/dist/actions/metadata/get-sample-records.action.js.map +1 -0
  85. package/dist/actions/metadata/get-templates.action.d.ts +5 -0
  86. package/dist/actions/metadata/get-templates.action.d.ts.map +1 -0
  87. package/dist/actions/metadata/get-templates.action.js +19 -0
  88. package/dist/actions/metadata/get-templates.action.js.map +1 -0
  89. package/dist/actions/metadata/index.d.ts +7 -0
  90. package/dist/actions/metadata/index.d.ts.map +1 -0
  91. package/dist/actions/metadata/index.js +29 -0
  92. package/dist/actions/metadata/index.js.map +1 -0
  93. package/dist/actions/metadata/shared.d.ts +6 -0
  94. package/dist/actions/metadata/shared.d.ts.map +1 -0
  95. package/dist/actions/metadata/shared.js +11 -0
  96. package/dist/actions/metadata/shared.js.map +1 -0
  97. package/dist/actions/metadata/types.d.ts +38 -0
  98. package/dist/actions/metadata/types.d.ts.map +1 -0
  99. package/dist/actions/metadata/types.js +3 -0
  100. package/dist/actions/metadata/types.js.map +1 -0
  101. package/dist/actions/scheduled-job/create.action.d.ts +5 -0
  102. package/dist/actions/scheduled-job/create.action.d.ts.map +1 -0
  103. package/dist/actions/scheduled-job/create.action.js +53 -0
  104. package/dist/actions/scheduled-job/create.action.js.map +1 -0
  105. package/dist/actions/scheduled-job/delete.action.d.ts +15 -0
  106. package/dist/actions/scheduled-job/delete.action.d.ts.map +1 -0
  107. package/dist/actions/scheduled-job/delete.action.js +42 -0
  108. package/dist/actions/scheduled-job/delete.action.js.map +1 -0
  109. package/dist/actions/scheduled-job/get.action.d.ts +7 -0
  110. package/dist/actions/scheduled-job/get.action.d.ts.map +1 -0
  111. package/dist/actions/scheduled-job/get.action.js +23 -0
  112. package/dist/actions/scheduled-job/get.action.js.map +1 -0
  113. package/dist/actions/scheduled-job/index.d.ts +7 -0
  114. package/dist/actions/scheduled-job/index.d.ts.map +1 -0
  115. package/dist/actions/scheduled-job/index.js +29 -0
  116. package/dist/actions/scheduled-job/index.js.map +1 -0
  117. package/dist/actions/scheduled-job/list.action.d.ts +5 -0
  118. package/dist/actions/scheduled-job/list.action.d.ts.map +1 -0
  119. package/dist/actions/scheduled-job/list.action.js +18 -0
  120. package/dist/actions/scheduled-job/list.action.js.map +1 -0
  121. package/dist/actions/scheduled-job/shared.d.ts +30 -0
  122. package/dist/actions/scheduled-job/shared.d.ts.map +1 -0
  123. package/dist/actions/scheduled-job/shared.js +129 -0
  124. package/dist/actions/scheduled-job/shared.js.map +1 -0
  125. package/dist/actions/scheduled-job/types.d.ts +23 -0
  126. package/dist/actions/scheduled-job/types.d.ts.map +1 -0
  127. package/dist/actions/scheduled-job/types.js +3 -0
  128. package/dist/actions/scheduled-job/types.js.map +1 -0
  129. package/dist/actions/scheduled-job/update.action.d.ts +5 -0
  130. package/dist/actions/scheduled-job/update.action.d.ts.map +1 -0
  131. package/dist/actions/scheduled-job/update.action.js +64 -0
  132. package/dist/actions/scheduled-job/update.action.js.map +1 -0
  133. package/dist/actions/scheduled-job.action.d.ts +73 -0
  134. package/dist/actions/scheduled-job.action.d.ts.map +1 -0
  135. package/dist/actions/scheduled-job.action.js +355 -0
  136. package/dist/actions/scheduled-job.action.js.map +1 -0
  137. package/dist/actions/setup.action.js +1 -1
  138. package/dist/actions/setup.action.js.map +1 -1
  139. package/dist/actions/sync/index.d.ts +4 -0
  140. package/dist/actions/sync/index.d.ts.map +1 -0
  141. package/dist/actions/sync/index.js +23 -0
  142. package/dist/actions/sync/index.js.map +1 -0
  143. package/dist/actions/sync/run-flow.action.d.ts +8 -0
  144. package/dist/actions/sync/run-flow.action.d.ts.map +1 -0
  145. package/dist/actions/sync/run-flow.action.js +81 -0
  146. package/dist/actions/sync/run-flow.action.js.map +1 -0
  147. package/dist/actions/sync/run-job.action.d.ts +11 -0
  148. package/dist/actions/sync/run-job.action.d.ts.map +1 -0
  149. package/dist/actions/sync/run-job.action.js +75 -0
  150. package/dist/actions/sync/run-job.action.js.map +1 -0
  151. package/dist/actions/sync/types.d.ts +41 -0
  152. package/dist/actions/sync/types.d.ts.map +1 -0
  153. package/dist/actions/sync/types.js +3 -0
  154. package/dist/actions/sync/types.js.map +1 -0
  155. package/dist/actions/sync.action.d.ts +8 -47
  156. package/dist/actions/sync.action.d.ts.map +1 -1
  157. package/dist/actions/sync.action.js +30 -150
  158. package/dist/actions/sync.action.js.map +1 -1
  159. package/dist/actions/utils/action-names.d.ts +23 -4
  160. package/dist/actions/utils/action-names.d.ts.map +1 -1
  161. package/dist/actions/utils/action-names.js +23 -4
  162. package/dist/actions/utils/action-names.js.map +1 -1
  163. package/dist/actions/utils/define-action.d.ts +36 -0
  164. package/dist/actions/utils/define-action.d.ts.map +1 -0
  165. package/dist/actions/utils/define-action.js +43 -0
  166. package/dist/actions/utils/define-action.js.map +1 -0
  167. package/dist/actions/utils/errors.d.ts +54 -8
  168. package/dist/actions/utils/errors.d.ts.map +1 -1
  169. package/dist/actions/utils/errors.js +104 -14
  170. package/dist/actions/utils/errors.js.map +1 -1
  171. package/dist/actions/utils/helpers.d.ts.map +1 -1
  172. package/dist/actions/utils/helpers.js +2 -1
  173. package/dist/actions/utils/helpers.js.map +1 -1
  174. package/dist/actions/utils/metrics.d.ts +12 -0
  175. package/dist/actions/utils/metrics.d.ts.map +1 -0
  176. package/dist/actions/utils/metrics.js +12 -0
  177. package/dist/actions/utils/metrics.js.map +1 -0
  178. package/dist/actions/utils/middleware.d.ts +39 -0
  179. package/dist/actions/utils/middleware.d.ts.map +1 -0
  180. package/dist/actions/utils/middleware.js +85 -0
  181. package/dist/actions/utils/middleware.js.map +1 -0
  182. package/dist/actions/utils/types.d.ts +18 -6
  183. package/dist/actions/utils/types.d.ts.map +1 -1
  184. package/dist/adapters/base-adapter-handler.d.ts +10 -0
  185. package/dist/adapters/base-adapter-handler.d.ts.map +1 -1
  186. package/dist/adapters/base-adapter-handler.js +30 -33
  187. package/dist/adapters/base-adapter-handler.js.map +1 -1
  188. package/dist/browser.d.ts +2 -0
  189. package/dist/browser.d.ts.map +1 -1
  190. package/dist/browser.js +3 -1
  191. package/dist/browser.js.map +1 -1
  192. package/dist/clients/integration-config.client.d.ts +21 -0
  193. package/dist/clients/integration-config.client.d.ts.map +1 -0
  194. package/dist/clients/integration-config.client.js +44 -0
  195. package/dist/clients/integration-config.client.js.map +1 -0
  196. package/dist/context.d.ts +18 -3
  197. package/dist/context.d.ts.map +1 -1
  198. package/dist/context.js +21 -5
  199. package/dist/context.js.map +1 -1
  200. package/dist/index.d.ts +11 -0
  201. package/dist/index.d.ts.map +1 -1
  202. package/dist/index.js +30 -1
  203. package/dist/index.js.map +1 -1
  204. package/dist/interfaces/data-flow-spec.interface.d.ts +14 -21
  205. package/dist/interfaces/data-flow-spec.interface.d.ts.map +1 -1
  206. package/dist/interfaces/data-flow-spec.interface.js +10 -26
  207. package/dist/interfaces/data-flow-spec.interface.js.map +1 -1
  208. package/dist/interfaces/integration-capabilities.interface.d.ts +2 -2
  209. package/dist/interfaces/scheduled-job.interface.d.ts +40 -0
  210. package/dist/interfaces/scheduled-job.interface.d.ts.map +1 -0
  211. package/dist/interfaces/scheduled-job.interface.js +38 -0
  212. package/dist/interfaces/scheduled-job.interface.js.map +1 -0
  213. package/dist/services/dataflow.service.d.ts +13 -6
  214. package/dist/services/dataflow.service.d.ts.map +1 -1
  215. package/dist/services/dataflow.service.js +34 -57
  216. package/dist/services/dataflow.service.js.map +1 -1
  217. package/dist/services/sync-runner.d.ts +7 -0
  218. package/dist/services/sync-runner.d.ts.map +1 -1
  219. package/dist/services/sync-runner.js +38 -45
  220. package/dist/services/sync-runner.js.map +1 -1
  221. package/dist/types.d.ts +2 -0
  222. package/dist/types.d.ts.map +1 -1
  223. package/dist/types.js +4 -1
  224. package/dist/types.js.map +1 -1
  225. package/dist/utils/artifact-builder.d.ts +41 -16
  226. package/dist/utils/artifact-builder.d.ts.map +1 -1
  227. package/dist/utils/artifact-builder.js +93 -18
  228. package/dist/utils/artifact-builder.js.map +1 -1
  229. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"base-adapter-handler.js","sourceRoot":"","sources":["../../src/adapters/base-adapter-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-adapter-handler.js","sourceRoot":"","sources":["../../src/adapters/base-adapter-handler.ts"],"names":[],"mappings":"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"}
package/dist/browser.d.ts CHANGED
@@ -3,6 +3,8 @@ export type { FieldMapping, MappingConfigDto, MappingConfigMapping, TranslationT
3
3
  export type { FilterOperator, FilterOperatorOption, FilterRule, FilterSpec, } from './interfaces/filter.interface';
4
4
  export { FILTER_OPERATORS } from './interfaces/filter.interface';
5
5
  export type { DataFlow } from './interfaces/data-flow-spec.interface';
6
+ export type { ScheduledJob, IntegrationConfig } from './interfaces/scheduled-job.interface';
7
+ export { JobIntervalUnit } from './interfaces/scheduled-job.interface';
6
8
  export type { MappedEvent } from './interfaces/mapped-event.interface';
7
9
  export type { SyncResult, BatchResult, PreviewResult } from './interfaces/sync-result.interface';
8
10
  export type { SampleFetcher } from './interfaces/sample-fetcher.interface';
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,UAAU,GACX,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,YAAY,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACtE,YAAY,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AACvE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACjG,YAAY,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC3E,YAAY,EACV,OAAO,EACP,cAAc,EACd,aAAa,EACb,UAAU,EACV,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,SAAS,GACV,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAIjG,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACtE,YAAY,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,UAAU,GACX,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,YAAY,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACtE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,YAAY,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AACvE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACjG,YAAY,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC3E,YAAY,EACV,OAAO,EACP,cAAc,EACd,aAAa,EACb,UAAU,EACV,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,SAAS,GACV,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAIjG,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACtE,YAAY,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC"}
package/dist/browser.js CHANGED
@@ -3,9 +3,11 @@
3
3
  // No Node.js built-ins, no PSS, no FME.
4
4
  // Use this in browser/UI bundles: import { FILTER_OPERATORS } from '@skedulo/integration-sdk/browser'
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ACTIONS = exports.ACTION_HEADER = exports.SyncStage = exports.FILTER_OPERATORS = void 0;
6
+ exports.ACTIONS = exports.ACTION_HEADER = exports.SyncStage = exports.JobIntervalUnit = exports.FILTER_OPERATORS = void 0;
7
7
  var filter_interface_1 = require("./interfaces/filter.interface");
8
8
  Object.defineProperty(exports, "FILTER_OPERATORS", { enumerable: true, get: function () { return filter_interface_1.FILTER_OPERATORS; } });
9
+ var scheduled_job_interface_1 = require("./interfaces/scheduled-job.interface");
10
+ Object.defineProperty(exports, "JobIntervalUnit", { enumerable: true, get: function () { return scheduled_job_interface_1.JobIntervalUnit; } });
9
11
  var sync_pipeline_interface_1 = require("./interfaces/sync-pipeline.interface");
10
12
  Object.defineProperty(exports, "SyncStage", { enumerable: true, get: function () { return sync_pipeline_interface_1.SyncStage; } });
11
13
  // Dispatcher wire constants — pure strings, safe in the browser. Import these
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,wCAAwC;AACxC,sGAAsG;;;AAgBtG,kEAAiE;AAAxD,oHAAA,gBAAgB,OAAA;AAgBzB,gFAAiE;AAAxD,oHAAA,SAAS,OAAA;AAGlB,8EAA8E;AAC9E,qEAAqE;AACrE,6DAAsE;AAA7D,6GAAA,aAAa,OAAA;AAAE,uGAAA,OAAO,OAAA"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,wCAAwC;AACxC,sGAAsG;;;AAgBtG,kEAAiE;AAAxD,oHAAA,gBAAgB,OAAA;AAGzB,gFAAuE;AAA9D,0HAAA,eAAe,OAAA;AAexB,gFAAiE;AAAxD,oHAAA,SAAS,OAAA;AAGlB,8EAA8E;AAC9E,qEAAqE;AACrE,6DAAsE;AAA7D,6GAAA,aAAa,OAAA;AAAE,uGAAA,OAAO,OAAA"}
@@ -0,0 +1,21 @@
1
+ import { BaseClient } from '@skedulo/pulse-solution-services';
2
+ import type { BaseConfig, ExecutionOptions } from '@skedulo/pulse-solution-services';
3
+ /**
4
+ * Client for the IS tenant-integration `config` JSONB store (the opaque column
5
+ * that holds Phase 2 scheduled-job settings). Mirrors `DataFlowClient`.
6
+ *
7
+ * GET integration/tenant-integrations/config?integrationType=<t> → { config }
8
+ * PATCH integration/tenant-integrations/config?integrationType=<t> body { config }
9
+ *
10
+ * `config` is addressed by `integrationType` only — IS resolves the tenant +
11
+ * project server-side from the auth context.
12
+ */
13
+ export declare class IntegrationConfigClient extends BaseClient {
14
+ private readonly _base;
15
+ constructor(config: BaseConfig, executionOptions?: Partial<ExecutionOptions>);
16
+ /** Read the opaque config object; `null` when unset. */
17
+ get(integrationType: string): Promise<Record<string, unknown> | null>;
18
+ /** Replace (whole-object overwrite, not deep-merge) the config object. */
19
+ replace(integrationType: string, config: Record<string, unknown>): Promise<void>;
20
+ }
21
+ //# sourceMappingURL=integration-config.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration-config.client.d.ts","sourceRoot":"","sources":["../../src/clients/integration-config.client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGrF;;;;;;;;;GASG;AACH,qBAAa,uBAAwB,SAAQ,UAAU;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAEnB,MAAM,EAAE,UAAU,EAAE,gBAAgB,GAAE,OAAO,CAAC,gBAAgB,CAAM;IAQhF,wDAAwD;IAClD,GAAG,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAQ3E,0EAA0E;IACpE,OAAO,CAAC,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAQvF"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IntegrationConfigClient = void 0;
4
+ const pulse_solution_services_1 = require("@skedulo/pulse-solution-services");
5
+ const local_override_1 = require("./local-override");
6
+ /**
7
+ * Client for the IS tenant-integration `config` JSONB store (the opaque column
8
+ * that holds Phase 2 scheduled-job settings). Mirrors `DataFlowClient`.
9
+ *
10
+ * GET integration/tenant-integrations/config?integrationType=<t> → { config }
11
+ * PATCH integration/tenant-integrations/config?integrationType=<t> body { config }
12
+ *
13
+ * `config` is addressed by `integrationType` only — IS resolves the tenant +
14
+ * project server-side from the auth context.
15
+ */
16
+ class IntegrationConfigClient extends pulse_solution_services_1.BaseClient {
17
+ constructor(config, executionOptions = {}) {
18
+ super(config, executionOptions);
19
+ const localBase = (0, local_override_1.resolveLocalIntegrationServiceBase)();
20
+ this._base = localBase
21
+ ? `${localBase}/tenant-integrations/config`
22
+ : 'integration/tenant-integrations/config';
23
+ }
24
+ /** Read the opaque config object; `null` when unset. */
25
+ async get(integrationType) {
26
+ var _a;
27
+ const res = await this._performRequest({
28
+ endpoint: this._base,
29
+ queryParams: { integrationType },
30
+ });
31
+ return (_a = res === null || res === void 0 ? void 0 : res.config) !== null && _a !== void 0 ? _a : null;
32
+ }
33
+ /** Replace (whole-object overwrite, not deep-merge) the config object. */
34
+ async replace(integrationType, config) {
35
+ await this._performRequest({
36
+ endpoint: this._base,
37
+ method: 'PATCH',
38
+ queryParams: { integrationType },
39
+ body: { config },
40
+ });
41
+ }
42
+ }
43
+ exports.IntegrationConfigClient = IntegrationConfigClient;
44
+ //# sourceMappingURL=integration-config.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration-config.client.js","sourceRoot":"","sources":["../../src/clients/integration-config.client.ts"],"names":[],"mappings":";;;AAAA,8EAA8D;AAE9D,qDAAsE;AAEtE;;;;;;;;;GASG;AACH,MAAa,uBAAwB,SAAQ,oCAAU;IAGrD,YAAY,MAAkB,EAAE,mBAA8C,EAAE;QAC9E,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,IAAA,mDAAkC,GAAE,CAAC;QACvD,IAAI,CAAC,KAAK,GAAG,SAAS;YACpB,CAAC,CAAC,GAAG,SAAS,6BAA6B;YAC3C,CAAC,CAAC,wCAAwC,CAAC;IAC/C,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,GAAG,CAAC,eAAuB;;QAC/B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,eAAe,CAA6C;YACjF,QAAQ,EAAE,IAAI,CAAC,KAAK;YACpB,WAAW,EAAE,EAAE,eAAe,EAAE;SACjC,CAAC,CAAC;QACH,OAAO,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,mCAAI,IAAI,CAAC;IAC7B,CAAC;IAED,0EAA0E;IAC1E,KAAK,CAAC,OAAO,CAAC,eAAuB,EAAE,MAA+B;QACpE,MAAM,IAAI,CAAC,eAAe,CAAU;YAClC,QAAQ,EAAE,IAAI,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO;YACf,WAAW,EAAE,EAAE,eAAe,EAAE;YAChC,IAAI,EAAE,EAAE,MAAM,EAAE;SACjB,CAAC,CAAC;IACL,CAAC;CACF;AA7BD,0DA6BC"}
package/dist/context.d.ts CHANGED
@@ -2,10 +2,21 @@ import { ExecutionContext } from '@skedulo/pulse-solution-services';
2
2
  import type { ExecutionOptions } from '@skedulo/pulse-solution-services';
3
3
  import { ProxyClient } from './clients/proxy.client';
4
4
  import { DataFlowClient } from './clients/dataflow.client';
5
+ import { IntegrationConfigClient } from './clients/integration-config.client';
5
6
  import { DataFlowService } from './services/dataflow.service';
7
+ import { type Metrics } from './actions/utils/metrics';
6
8
  import type { SyncPipelineState } from './interfaces/sync-pipeline.interface';
9
+ /** Optional per-request observability hooks the dispatcher can set up-front. */
10
+ export interface IntegrationContextExtras {
11
+ /** Stable id for this request; auto-generated if absent. Threads through all logs. */
12
+ requestId?: string;
13
+ /** Metrics sink for the action middleware. Defaults to `noopMetrics`. */
14
+ metrics?: Metrics;
15
+ }
7
16
  export declare class IntegrationContext extends ExecutionContext {
8
17
  private readonly _integrationType;
18
+ private readonly _requestId;
19
+ private readonly _metrics;
9
20
  /**
10
21
  * Live pipeline state for the current sync batch. Set by SyncService at the start of each
11
22
  * batch and updated progressively as pipeline steps complete. Available in all lifecycle hooks.
@@ -14,16 +25,20 @@ export declare class IntegrationContext extends ExecutionContext {
14
25
  pipeline?: SyncPipelineState;
15
26
  private _proxyClient?;
16
27
  private _dataFlowClient?;
28
+ private _integrationConfigClient?;
17
29
  private _dataFlowService?;
18
- constructor(skedContext: any, integrationType: string, executionOptions?: Partial<ExecutionOptions>);
19
- static createContext(skedContext: any, integrationType: string, executionOptions?: Partial<ExecutionOptions>): IntegrationContext;
30
+ constructor(skedContext: any, integrationType: string, executionOptions?: Partial<ExecutionOptions>, extras?: IntegrationContextExtras);
31
+ static createContext(skedContext: any, integrationType: string, executionOptions?: Partial<ExecutionOptions>, extras?: IntegrationContextExtras): IntegrationContext;
20
32
  get integrationType(): string;
33
+ get requestId(): string;
34
+ get metrics(): Metrics;
21
35
  private get _baseConfig();
22
36
  get proxyClient(): ProxyClient;
23
37
  get dataFlowClient(): DataFlowClient;
38
+ get integrationConfigClient(): IntegrationConfigClient;
24
39
  get dataFlowService(): DataFlowService;
25
40
  }
26
- export declare function createIntegrationContext(skedContext: any, integrationType: string, executionOptions?: Partial<ExecutionOptions>): IntegrationContext;
41
+ export declare function createIntegrationContext(skedContext: any, integrationType: string, executionOptions?: Partial<ExecutionOptions>, extras?: IntegrationContextExtras): IntegrationContext;
27
42
  export interface ContextFactoryOptions {
28
43
  integrationType: string;
29
44
  userAgent: string;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAc,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,qBAAa,kBAAmB,SAAQ,gBAAgB;IACtD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,gBAAgB,CAAC,CAAkB;gBAGzC,WAAW,EAAE,GAAG,EAChB,eAAe,EAAE,MAAM,EACvB,gBAAgB,GAAE,OAAO,CAAC,gBAAgB,CAAM;IAMlD,MAAM,CAAC,aAAa,CAClB,WAAW,EAAE,GAAG,EAChB,eAAe,EAAE,MAAM,EACvB,gBAAgB,GAAE,OAAO,CAAC,gBAAgB,CAAM,GAC/C,kBAAkB;IAIrB,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,OAAO,KAAK,WAAW,GAKtB;IAED,IAAI,WAAW,IAAI,WAAW,CAM7B;IAED,IAAI,cAAc,IAAI,cAAc,CAEnC;IAED,IAAI,eAAe,IAAI,eAAe,CAErC;CACF;AAED,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,GAAG,EAChB,eAAe,EAAE,MAAM,EACvB,gBAAgB,GAAE,OAAO,CAAC,gBAAgB,CAAM,GAC/C,kBAAkB,CAEpB;AAED,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,GAC7B,CAAC,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,kBAAkB,CAMrE"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAc,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,gFAAgF;AAChF,MAAM,WAAW,wBAAwB;IACvC,sFAAsF;IACtF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,kBAAmB,SAAQ,gBAAgB;IACtD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IAEnC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,wBAAwB,CAAC,CAA0B;IAC3D,OAAO,CAAC,gBAAgB,CAAC,CAAkB;gBAGzC,WAAW,EAAE,GAAG,EAChB,eAAe,EAAE,MAAM,EACvB,gBAAgB,GAAE,OAAO,CAAC,gBAAgB,CAAM,EAChD,MAAM,GAAE,wBAA6B;IAQvC,MAAM,CAAC,aAAa,CAClB,WAAW,EAAE,GAAG,EAChB,eAAe,EAAE,MAAM,EACvB,gBAAgB,GAAE,OAAO,CAAC,gBAAgB,CAAM,EAChD,MAAM,GAAE,wBAA6B,GACpC,kBAAkB;IAIrB,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,OAAO,KAAK,WAAW,GAKtB;IAED,IAAI,WAAW,IAAI,WAAW,CAM7B;IAED,IAAI,cAAc,IAAI,cAAc,CAEnC;IAED,IAAI,uBAAuB,IAAI,uBAAuB,CAKrD;IAED,IAAI,eAAe,IAAI,eAAe,CAErC;CACF;AAED,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,GAAG,EAChB,eAAe,EAAE,MAAM,EACvB,gBAAgB,GAAE,OAAO,CAAC,gBAAgB,CAAM,EAChD,MAAM,GAAE,wBAA6B,GACpC,kBAAkB,CAEpB;AAED,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,GAC7B,CAAC,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,kBAAkB,CAMrE"}
package/dist/context.js CHANGED
@@ -3,21 +3,33 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IntegrationContext = void 0;
4
4
  exports.createIntegrationContext = createIntegrationContext;
5
5
  exports.createContextFactory = createContextFactory;
6
+ const crypto_1 = require("crypto");
6
7
  const pulse_solution_services_1 = require("@skedulo/pulse-solution-services");
7
8
  const proxy_client_1 = require("./clients/proxy.client");
8
9
  const dataflow_client_1 = require("./clients/dataflow.client");
10
+ const integration_config_client_1 = require("./clients/integration-config.client");
9
11
  const dataflow_service_1 = require("./services/dataflow.service");
12
+ const metrics_1 = require("./actions/utils/metrics");
10
13
  class IntegrationContext extends pulse_solution_services_1.ExecutionContext {
11
- constructor(skedContext, integrationType, executionOptions = {}) {
14
+ constructor(skedContext, integrationType, executionOptions = {}, extras = {}) {
15
+ var _a, _b;
12
16
  super(skedContext, executionOptions, {});
13
17
  this._integrationType = integrationType;
18
+ this._requestId = (_a = extras.requestId) !== null && _a !== void 0 ? _a : (0, crypto_1.randomUUID)();
19
+ this._metrics = (_b = extras.metrics) !== null && _b !== void 0 ? _b : metrics_1.noopMetrics;
14
20
  }
15
- static createContext(skedContext, integrationType, executionOptions = {}) {
16
- return new IntegrationContext(skedContext, integrationType, executionOptions);
21
+ static createContext(skedContext, integrationType, executionOptions = {}, extras = {}) {
22
+ return new IntegrationContext(skedContext, integrationType, executionOptions, extras);
17
23
  }
18
24
  get integrationType() {
19
25
  return this._integrationType;
20
26
  }
27
+ get requestId() {
28
+ return this._requestId;
29
+ }
30
+ get metrics() {
31
+ return this._metrics;
32
+ }
21
33
  get _baseConfig() {
22
34
  return {
23
35
  apiToken: this.skedContext.auth.token,
@@ -32,14 +44,18 @@ class IntegrationContext extends pulse_solution_services_1.ExecutionContext {
32
44
  var _a;
33
45
  return ((_a = this._dataFlowClient) !== null && _a !== void 0 ? _a : (this._dataFlowClient = new dataflow_client_1.DataFlowClient(this._baseConfig, this.executionOptions)));
34
46
  }
47
+ get integrationConfigClient() {
48
+ var _a;
49
+ return ((_a = this._integrationConfigClient) !== null && _a !== void 0 ? _a : (this._integrationConfigClient = new integration_config_client_1.IntegrationConfigClient(this._baseConfig, this.executionOptions)));
50
+ }
35
51
  get dataFlowService() {
36
52
  var _a;
37
53
  return ((_a = this._dataFlowService) !== null && _a !== void 0 ? _a : (this._dataFlowService = new dataflow_service_1.DataFlowService(this.dataFlowClient)));
38
54
  }
39
55
  }
40
56
  exports.IntegrationContext = IntegrationContext;
41
- function createIntegrationContext(skedContext, integrationType, executionOptions = {}) {
42
- return IntegrationContext.createContext(skedContext, integrationType, executionOptions);
57
+ function createIntegrationContext(skedContext, integrationType, executionOptions = {}, extras = {}) {
58
+ return IntegrationContext.createContext(skedContext, integrationType, executionOptions, extras);
43
59
  }
44
60
  // Curry createIntegrationContext over fixed integrationType + userAgent.
45
61
  // Returns (skedContext, requestSource) => IntegrationContext.
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;;AAiEA,4DAMC;AASD,oDAQC;AAxFD,8EAAoE;AAEpE,yDAAqD;AACrD,+DAA2D;AAC3D,kEAA8D;AAG9D,MAAa,kBAAmB,SAAQ,0CAAgB;IAatD,YACE,WAAgB,EAChB,eAAuB,EACvB,mBAA8C,EAAE;QAEhD,KAAK,CAAC,WAAW,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,aAAa,CAClB,WAAgB,EAChB,eAAuB,EACvB,mBAA8C,EAAE;QAEhD,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC;IAChF,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,IAAY,WAAW;QACrB,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK;YACrC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO;SACzC,CAAC;IACJ,CAAC;IAED,IAAI,WAAW;;QACb,OAAO,OAAC,IAAI,CAAC,YAAY,oCAAjB,IAAI,CAAC,YAAY,GAAK,IAAI,0BAAW,CAC3C,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,gBAAgB,CACtB,EAAC,CAAC;IACL,CAAC;IAED,IAAI,cAAc;;QAChB,OAAO,OAAC,IAAI,CAAC,eAAe,oCAApB,IAAI,CAAC,eAAe,GAAK,IAAI,gCAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAC,CAAC;IAChG,CAAC;IAED,IAAI,eAAe;;QACjB,OAAO,OAAC,IAAI,CAAC,gBAAgB,oCAArB,IAAI,CAAC,gBAAgB,GAAK,IAAI,kCAAe,CAAC,IAAI,CAAC,cAAc,CAAC,EAAC,CAAC;IAC9E,CAAC;CACF;AAxDD,gDAwDC;AAED,SAAgB,wBAAwB,CACtC,WAAgB,EAChB,eAAuB,EACvB,mBAA8C,EAAE;IAEhD,OAAO,kBAAkB,CAAC,aAAa,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC;AAC1F,CAAC;AAOD,yEAAyE;AACzE,8DAA8D;AAC9D,SAAgB,oBAAoB,CAClC,OAA8B;IAE9B,OAAO,CAAC,WAAW,EAAE,aAAa,EAAE,EAAE,CACpC,wBAAwB,CAAC,WAAW,EAAE,OAAO,CAAC,eAAe,EAAE;QAC7D,aAAa;QACb,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;;AAkGA,4DAOC;AASD,oDAQC;AA1HD,mCAAoC;AACpC,8EAAoE;AAEpE,yDAAqD;AACrD,+DAA2D;AAC3D,mFAA8E;AAC9E,kEAA8D;AAC9D,qDAAoE;AAWpE,MAAa,kBAAmB,SAAQ,0CAAgB;IAgBtD,YACE,WAAgB,EAChB,eAAuB,EACvB,mBAA8C,EAAE,EAChD,SAAmC,EAAE;;QAErC,KAAK,CAAC,WAAW,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,MAAA,MAAM,CAAC,SAAS,mCAAI,IAAA,mBAAU,GAAE,CAAC;QACnD,IAAI,CAAC,QAAQ,GAAG,MAAA,MAAM,CAAC,OAAO,mCAAI,qBAAW,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,aAAa,CAClB,WAAgB,EAChB,eAAuB,EACvB,mBAA8C,EAAE,EAChD,SAAmC,EAAE;QAErC,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;IACxF,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAY,WAAW;QACrB,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK;YACrC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO;SACzC,CAAC;IACJ,CAAC;IAED,IAAI,WAAW;;QACb,OAAO,OAAC,IAAI,CAAC,YAAY,oCAAjB,IAAI,CAAC,YAAY,GAAK,IAAI,0BAAW,CAC3C,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,gBAAgB,CACtB,EAAC,CAAC;IACL,CAAC;IAED,IAAI,cAAc;;QAChB,OAAO,OAAC,IAAI,CAAC,eAAe,oCAApB,IAAI,CAAC,eAAe,GAAK,IAAI,gCAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAC,CAAC;IAChG,CAAC;IAED,IAAI,uBAAuB;;QACzB,OAAO,OAAC,IAAI,CAAC,wBAAwB,oCAA7B,IAAI,CAAC,wBAAwB,GAAK,IAAI,mDAAuB,CACnE,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,gBAAgB,CACtB,EAAC,CAAC;IACL,CAAC;IAED,IAAI,eAAe;;QACjB,OAAO,OAAC,IAAI,CAAC,gBAAgB,oCAArB,IAAI,CAAC,gBAAgB,GAAK,IAAI,kCAAe,CAAC,IAAI,CAAC,cAAc,CAAC,EAAC,CAAC;IAC9E,CAAC;CACF;AA9ED,gDA8EC;AAED,SAAgB,wBAAwB,CACtC,WAAgB,EAChB,eAAuB,EACvB,mBAA8C,EAAE,EAChD,SAAmC,EAAE;IAErC,OAAO,kBAAkB,CAAC,aAAa,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAClG,CAAC;AAOD,yEAAyE;AACzE,8DAA8D;AAC9D,SAAgB,oBAAoB,CAClC,OAA8B;IAE9B,OAAO,CAAC,WAAW,EAAE,aAAa,EAAE,EAAE,CACpC,wBAAwB,CAAC,WAAW,EAAE,OAAO,CAAC,eAAe,EAAE;QAC7D,aAAa;QACb,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;AACP,CAAC"}
package/dist/index.d.ts CHANGED
@@ -6,7 +6,10 @@ export { ProxyClient } from './clients/proxy.client';
6
6
  export type { HttpMethod, ProxyRequestOptions, ProxyResult } from './clients/proxy.client';
7
7
  export { DataFlowClient } from './clients/dataflow.client';
8
8
  export type { DataFlowListParams } from './clients/dataflow.client';
9
+ export { IntegrationConfigClient } from './clients/integration-config.client';
9
10
  export { DataFlowService } from './services/dataflow.service';
11
+ export type { ScheduledJob, IntegrationConfig } from './interfaces/scheduled-job.interface';
12
+ export { asIntegrationConfig, JobIntervalUnit } from './interfaces/scheduled-job.interface';
10
13
  export { PreviewService } from './services/preview.service';
11
14
  export { SyncService } from './services/sync.service';
12
15
  export { SyncRunner, AdapterNotRegisteredError, AdapterRoleError } from './services/sync-runner';
@@ -27,6 +30,14 @@ export { SyncStage } from './interfaces/sync-pipeline.interface';
27
30
  export type { SyncPipelineState, SyncPipelineError } from './interfaces/sync-pipeline.interface';
28
31
  export { ACTION_HEADER, ACTIONS } from './actions/utils/action-names';
29
32
  export type { ActionName } from './actions/utils/action-names';
33
+ export { ActionError, ConflictError, ForbiddenError, InvalidInputError, NotFoundError, NotImplementedError, PreconditionFailedError, UpstreamPermanentError, UpstreamTransientError, categoryRetryable, categoryToStatus, } from './actions/utils/errors';
34
+ export type { ErrorCategory } from './actions/utils/errors';
35
+ export { defineAction } from './actions/utils/define-action';
36
+ export type { DefineActionOpts } from './actions/utils/define-action';
37
+ export { compose, requireAdmin as requireAdminMiddleware, withAudit, withLogging, withMetrics, } from './actions/utils/middleware';
38
+ export type { ActionHandler, Middleware, MiddlewareMeta } from './actions/utils/middleware';
39
+ export { noopMetrics } from './actions/utils/metrics';
40
+ export type { Metrics } from './actions/utils/metrics';
30
41
  export { runAdapterContractTests, mockProxyResult } from './testing/adapter-contract';
31
42
  export type { AdapterContractConfig } from './testing/adapter-contract';
32
43
  export { unwrapProxy, okResponse, errorResponse, getQueryParam, isAdminRequest, requireAdmin, humanizeFieldName, } from './utils/helpers';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,QAAQ,EACR,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAC/F,YAAY,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClG,OAAO,EACL,cAAc,EACd,cAAc,EACd,sBAAsB,GACvB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,YAAY,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC9F,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,GACV,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAGjG,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACtE,YAAY,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG/D,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACtF,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGxE,OAAO,EACL,WAAW,EACX,UAAU,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -14,7 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.humanizeFieldName = exports.requireAdmin = exports.isAdminRequest = exports.getQueryParam = exports.errorResponse = exports.okResponse = exports.unwrapProxy = exports.mockProxyResult = exports.runAdapterContractTests = exports.ACTIONS = exports.ACTION_HEADER = exports.SyncStage = exports.BaseAdapterHandler = exports.AdapterRegistry = exports.executeMappingDetailed = exports.evaluateFilter = exports.executeMapping = exports.IdMappingService = exports.BaseAdapter = exports.skeduloAdapter = exports.SkeduloAdapter = exports.AdapterRoleError = exports.AdapterNotRegisteredError = exports.SyncRunner = exports.SyncService = exports.PreviewService = exports.DataFlowService = exports.DataFlowClient = exports.ProxyClient = exports.createContextFactory = exports.createIntegrationContext = exports.IntegrationContext = exports.SKEDULO_SYSTEM = exports.DataFlowStatus = exports.LookupStrategy = exports.SyncMode = exports.AdapterRole = exports.LOOKUP_CHUNK_SIZE = exports.OperationName = exports.Strategy = void 0;
17
+ exports.withLogging = exports.withAudit = exports.requireAdminMiddleware = exports.compose = exports.defineAction = exports.categoryToStatus = exports.categoryRetryable = exports.UpstreamTransientError = exports.UpstreamPermanentError = exports.PreconditionFailedError = exports.NotImplementedError = exports.NotFoundError = exports.InvalidInputError = exports.ForbiddenError = exports.ConflictError = exports.ActionError = exports.ACTIONS = exports.ACTION_HEADER = exports.SyncStage = exports.BaseAdapterHandler = exports.AdapterRegistry = exports.executeMappingDetailed = exports.evaluateFilter = exports.executeMapping = exports.IdMappingService = exports.BaseAdapter = exports.skeduloAdapter = exports.SkeduloAdapter = exports.AdapterRoleError = exports.AdapterNotRegisteredError = exports.SyncRunner = exports.SyncService = exports.PreviewService = exports.JobIntervalUnit = exports.asIntegrationConfig = exports.DataFlowService = exports.IntegrationConfigClient = exports.DataFlowClient = exports.ProxyClient = exports.createContextFactory = exports.createIntegrationContext = exports.IntegrationContext = exports.SKEDULO_SYSTEM = exports.DataFlowStatus = exports.LookupStrategy = exports.SyncMode = exports.AdapterRole = exports.LOOKUP_CHUNK_SIZE = exports.OperationName = exports.Strategy = void 0;
18
+ exports.humanizeFieldName = exports.requireAdmin = exports.isAdminRequest = exports.getQueryParam = exports.errorResponse = exports.okResponse = exports.unwrapProxy = exports.mockProxyResult = exports.runAdapterContractTests = exports.noopMetrics = exports.withMetrics = void 0;
18
19
  __exportStar(require("./types"), exports);
19
20
  var constants_1 = require("./constants");
20
21
  Object.defineProperty(exports, "Strategy", { enumerable: true, get: function () { return constants_1.Strategy; } });
@@ -33,8 +34,13 @@ var proxy_client_1 = require("./clients/proxy.client");
33
34
  Object.defineProperty(exports, "ProxyClient", { enumerable: true, get: function () { return proxy_client_1.ProxyClient; } });
34
35
  var dataflow_client_1 = require("./clients/dataflow.client");
35
36
  Object.defineProperty(exports, "DataFlowClient", { enumerable: true, get: function () { return dataflow_client_1.DataFlowClient; } });
37
+ var integration_config_client_1 = require("./clients/integration-config.client");
38
+ Object.defineProperty(exports, "IntegrationConfigClient", { enumerable: true, get: function () { return integration_config_client_1.IntegrationConfigClient; } });
36
39
  var dataflow_service_1 = require("./services/dataflow.service");
37
40
  Object.defineProperty(exports, "DataFlowService", { enumerable: true, get: function () { return dataflow_service_1.DataFlowService; } });
41
+ var scheduled_job_interface_1 = require("./interfaces/scheduled-job.interface");
42
+ Object.defineProperty(exports, "asIntegrationConfig", { enumerable: true, get: function () { return scheduled_job_interface_1.asIntegrationConfig; } });
43
+ Object.defineProperty(exports, "JobIntervalUnit", { enumerable: true, get: function () { return scheduled_job_interface_1.JobIntervalUnit; } });
38
44
  var preview_service_1 = require("./services/preview.service");
39
45
  Object.defineProperty(exports, "PreviewService", { enumerable: true, get: function () { return preview_service_1.PreviewService; } });
40
46
  var sync_service_1 = require("./services/sync.service");
@@ -64,6 +70,29 @@ Object.defineProperty(exports, "SyncStage", { enumerable: true, get: function ()
64
70
  var action_names_1 = require("./actions/utils/action-names");
65
71
  Object.defineProperty(exports, "ACTION_HEADER", { enumerable: true, get: function () { return action_names_1.ACTION_HEADER; } });
66
72
  Object.defineProperty(exports, "ACTIONS", { enumerable: true, get: function () { return action_names_1.ACTIONS; } });
73
+ // Action framework — error taxonomy, middleware, metrics, builder.
74
+ var errors_1 = require("./actions/utils/errors");
75
+ Object.defineProperty(exports, "ActionError", { enumerable: true, get: function () { return errors_1.ActionError; } });
76
+ Object.defineProperty(exports, "ConflictError", { enumerable: true, get: function () { return errors_1.ConflictError; } });
77
+ Object.defineProperty(exports, "ForbiddenError", { enumerable: true, get: function () { return errors_1.ForbiddenError; } });
78
+ Object.defineProperty(exports, "InvalidInputError", { enumerable: true, get: function () { return errors_1.InvalidInputError; } });
79
+ Object.defineProperty(exports, "NotFoundError", { enumerable: true, get: function () { return errors_1.NotFoundError; } });
80
+ Object.defineProperty(exports, "NotImplementedError", { enumerable: true, get: function () { return errors_1.NotImplementedError; } });
81
+ Object.defineProperty(exports, "PreconditionFailedError", { enumerable: true, get: function () { return errors_1.PreconditionFailedError; } });
82
+ Object.defineProperty(exports, "UpstreamPermanentError", { enumerable: true, get: function () { return errors_1.UpstreamPermanentError; } });
83
+ Object.defineProperty(exports, "UpstreamTransientError", { enumerable: true, get: function () { return errors_1.UpstreamTransientError; } });
84
+ Object.defineProperty(exports, "categoryRetryable", { enumerable: true, get: function () { return errors_1.categoryRetryable; } });
85
+ Object.defineProperty(exports, "categoryToStatus", { enumerable: true, get: function () { return errors_1.categoryToStatus; } });
86
+ var define_action_1 = require("./actions/utils/define-action");
87
+ Object.defineProperty(exports, "defineAction", { enumerable: true, get: function () { return define_action_1.defineAction; } });
88
+ var middleware_1 = require("./actions/utils/middleware");
89
+ Object.defineProperty(exports, "compose", { enumerable: true, get: function () { return middleware_1.compose; } });
90
+ Object.defineProperty(exports, "requireAdminMiddleware", { enumerable: true, get: function () { return middleware_1.requireAdmin; } });
91
+ Object.defineProperty(exports, "withAudit", { enumerable: true, get: function () { return middleware_1.withAudit; } });
92
+ Object.defineProperty(exports, "withLogging", { enumerable: true, get: function () { return middleware_1.withLogging; } });
93
+ Object.defineProperty(exports, "withMetrics", { enumerable: true, get: function () { return middleware_1.withMetrics; } });
94
+ var metrics_1 = require("./actions/utils/metrics");
95
+ Object.defineProperty(exports, "noopMetrics", { enumerable: true, get: function () { return metrics_1.noopMetrics; } });
67
96
  // Testing helpers — for adapter authors writing unit tests.
68
97
  var adapter_contract_1 = require("./testing/adapter-contract");
69
98
  Object.defineProperty(exports, "runAdapterContractTests", { enumerable: true, get: function () { return adapter_contract_1.runAdapterContractTests; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,yCASqB;AARnB,qGAAA,QAAQ,OAAA;AACR,0GAAA,aAAa,OAAA;AACb,8GAAA,iBAAiB,OAAA;AACjB,wGAAA,WAAW,OAAA;AACX,qGAAA,QAAQ,OAAA;AACR,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AAEhB,qCAA+F;AAAtF,6GAAA,kBAAkB,OAAA;AAAE,mHAAA,wBAAwB,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAE3E,uDAAqD;AAA5C,2GAAA,WAAW,OAAA;AAEpB,6DAA2D;AAAlD,iHAAA,cAAc,OAAA;AAEvB,gEAA8D;AAArD,mHAAA,eAAe,OAAA;AACxB,8DAA4D;AAAnD,iHAAA,cAAc,OAAA;AACvB,wDAAsD;AAA7C,2GAAA,WAAW,OAAA;AACpB,sDAAiG;AAAxF,yGAAA,UAAU,OAAA;AAAE,wHAAA,yBAAyB,OAAA;AAAE,+GAAA,gBAAgB,OAAA;AAChE,8DAA4E;AAAnE,iHAAA,cAAc,OAAA;AAAE,iHAAA,cAAc,OAAA;AACvC,wDAAsD;AAA7C,2GAAA,WAAW,OAAA;AAEpB,oEAAiE;AAAxD,sHAAA,gBAAgB,OAAA;AAGzB,0EAI0C;AAHxC,uHAAA,cAAc,OAAA;AACd,uHAAA,cAAc,OAAA;AACd,+HAAA,sBAAsB,OAAA;AAGxB,gEAA8D;AAArD,mHAAA,eAAe,OAAA;AACxB,wEAAqE;AAA5D,0HAAA,kBAAkB,OAAA;AAc3B,gFAAiE;AAAxD,oHAAA,SAAS,OAAA;AAGlB,gFAAgF;AAChF,6DAAsE;AAA7D,6GAAA,aAAa,OAAA;AAAE,uGAAA,OAAO,OAAA;AAG/B,4DAA4D;AAC5D,+DAAsF;AAA7E,2HAAA,uBAAuB,OAAA;AAAE,mHAAA,eAAe,OAAA;AAGjD,YAAY;AACZ,2CAQyB;AAPvB,sGAAA,WAAW,OAAA;AACX,qGAAA,UAAU,OAAA;AACV,wGAAA,aAAa,OAAA;AACb,wGAAA,aAAa,OAAA;AACb,yGAAA,cAAc,OAAA;AACd,uGAAA,YAAY,OAAA;AACZ,4GAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,yCASqB;AARnB,qGAAA,QAAQ,OAAA;AACR,0GAAA,aAAa,OAAA;AACb,8GAAA,iBAAiB,OAAA;AACjB,wGAAA,WAAW,OAAA;AACX,qGAAA,QAAQ,OAAA;AACR,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AAEhB,qCAA+F;AAAtF,6GAAA,kBAAkB,OAAA;AAAE,mHAAA,wBAAwB,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAE3E,uDAAqD;AAA5C,2GAAA,WAAW,OAAA;AAEpB,6DAA2D;AAAlD,iHAAA,cAAc,OAAA;AAEvB,iFAA8E;AAArE,oIAAA,uBAAuB,OAAA;AAChC,gEAA8D;AAArD,mHAAA,eAAe,OAAA;AAExB,gFAA4F;AAAnF,8HAAA,mBAAmB,OAAA;AAAE,0HAAA,eAAe,OAAA;AAC7C,8DAA4D;AAAnD,iHAAA,cAAc,OAAA;AACvB,wDAAsD;AAA7C,2GAAA,WAAW,OAAA;AACpB,sDAAiG;AAAxF,yGAAA,UAAU,OAAA;AAAE,wHAAA,yBAAyB,OAAA;AAAE,+GAAA,gBAAgB,OAAA;AAChE,8DAA4E;AAAnE,iHAAA,cAAc,OAAA;AAAE,iHAAA,cAAc,OAAA;AACvC,wDAAsD;AAA7C,2GAAA,WAAW,OAAA;AAEpB,oEAAiE;AAAxD,sHAAA,gBAAgB,OAAA;AAGzB,0EAI0C;AAHxC,uHAAA,cAAc,OAAA;AACd,uHAAA,cAAc,OAAA;AACd,+HAAA,sBAAsB,OAAA;AAGxB,gEAA8D;AAArD,mHAAA,eAAe,OAAA;AACxB,wEAAqE;AAA5D,0HAAA,kBAAkB,OAAA;AAc3B,gFAAiE;AAAxD,oHAAA,SAAS,OAAA;AAGlB,gFAAgF;AAChF,6DAAsE;AAA7D,6GAAA,aAAa,OAAA;AAAE,uGAAA,OAAO,OAAA;AAG/B,mEAAmE;AACnE,iDAYgC;AAX9B,qGAAA,WAAW,OAAA;AACX,uGAAA,aAAa,OAAA;AACb,wGAAA,cAAc,OAAA;AACd,2GAAA,iBAAiB,OAAA;AACjB,uGAAA,aAAa,OAAA;AACb,6GAAA,mBAAmB,OAAA;AACnB,iHAAA,uBAAuB,OAAA;AACvB,gHAAA,sBAAsB,OAAA;AACtB,gHAAA,sBAAsB,OAAA;AACtB,2GAAA,iBAAiB,OAAA;AACjB,0GAAA,gBAAgB,OAAA;AAGlB,+DAA6D;AAApD,6GAAA,YAAY,OAAA;AAErB,yDAMoC;AALlC,qGAAA,OAAO,OAAA;AACP,oHAAA,YAAY,OAA0B;AACtC,uGAAA,SAAS,OAAA;AACT,yGAAA,WAAW,OAAA;AACX,yGAAA,WAAW,OAAA;AAGb,mDAAsD;AAA7C,sGAAA,WAAW,OAAA;AAGpB,4DAA4D;AAC5D,+DAAsF;AAA7E,2HAAA,uBAAuB,OAAA;AAAE,mHAAA,eAAe,OAAA;AAGjD,YAAY;AACZ,2CAQyB;AAPvB,sGAAA,WAAW,OAAA;AACX,qGAAA,UAAU,OAAA;AACV,wGAAA,aAAa,OAAA;AACb,wGAAA,aAAa,OAAA;AACb,yGAAA,cAAc,OAAA;AACd,uGAAA,YAAY,OAAA;AACZ,4GAAA,iBAAiB,OAAA"}
@@ -1,20 +1,17 @@
1
1
  import type { MappingConfigDto } from './field-mapping.interface';
2
2
  import type { FilterSpec } from './filter.interface';
3
3
  /**
4
- * How a data flow's sync is triggered. Direction (source/target) determines
5
- * push vs pull — the strategy only describes *when* it fires:
6
- *
7
- * - `scheduled` — periodic poll on an interval (push if outbound, pull if inbound).
8
- * - `realtime` — event-driven (triggered action on Skedulo change, or vendor webhook).
4
+ * How a data flow's sync is triggered. As of Phase 2 the only per-flow strategy
5
+ * is `realtime` (event-driven). Scheduled syncs are no longer per-flow — they
6
+ * are integration-level **scheduled jobs** (see `scheduled-job.interface.ts`),
7
+ * so a batch-only flow carries no `sync_config` at all.
9
8
  */
10
9
  export declare const SyncStrategy: {
11
- readonly SCHEDULED: "scheduled";
12
10
  readonly REALTIME: "realtime";
13
11
  };
14
12
  export type SyncStrategy = (typeof SyncStrategy)[keyof typeof SyncStrategy];
15
13
  /** Kind of Skedulo-side artifact the SDK provisions for a flow. */
16
14
  export declare const TriggerType: {
17
- readonly WEBHOOK: "webhook";
18
15
  readonly TRIGGERED_ACTION: "triggered_action";
19
16
  };
20
17
  export type TriggerType = (typeof TriggerType)[keyof typeof TriggerType];
@@ -22,16 +19,14 @@ export type TriggerType = (typeof TriggerType)[keyof typeof TriggerType];
22
19
  * Canonical inner shape of `DataFlow.triggerConfig`, persisted under the
23
20
  * `sync_config` key (snake_case to match the rest of the JSONB column):
24
21
  *
25
- * { sync_config: { strategy, interval_minutes?, trigger_name?, trigger_type? } }
22
+ * { sync_config: { strategy, trigger_name?, trigger_type? } }
26
23
  *
27
- * `trigger_name` / `trigger_type` record the Skedulo-side artifact (scheduled
28
- * webhook or triggered action) the SDK provisions on activate. Absent until
29
- * the flow is activated.
24
+ * Only realtime flows carry a `sync_config`. `trigger_name` / `trigger_type`
25
+ * record the triggered action the SDK provisions on activate; absent until the
26
+ * flow is activated.
30
27
  */
31
28
  export interface SyncConfig {
32
29
  strategy: SyncStrategy;
33
- /** Present (and required) for `scheduled`. */
34
- interval_minutes?: number;
35
30
  /** Deterministic artifact name; set by the SDK on activate. */
36
31
  trigger_name?: string;
37
32
  trigger_type?: TriggerType;
@@ -43,10 +38,9 @@ export interface TriggerConfig {
43
38
  /**
44
39
  * Narrow a loosely typed `triggerConfig` JSONB value into a `SyncConfig`.
45
40
  *
46
- * Reads the canonical `{ sync_config: { strategy, interval_minutes, ... } }`
47
- * shape. Returns `null` for `null`/`undefined` input, a missing/non-object
48
- * `sync_config`, an unknown strategy, or a scheduled strategy without a numeric
49
- * `interval_minutes`.
41
+ * Reads the canonical `{ sync_config: { strategy, ... } }` shape. Returns `null`
42
+ * for `null`/`undefined` input, a missing/non-object `sync_config`, or any
43
+ * strategy other than `realtime` (batch-only flows have no `sync_config`).
50
44
  */
51
45
  export declare function asSyncConfig(value: Record<string, unknown> | null | undefined): SyncConfig | null;
52
46
  export interface DataFlow {
@@ -54,9 +48,9 @@ export interface DataFlow {
54
48
  name: string;
55
49
  tenantIntegrationId: number;
56
50
  integrationType?: string;
57
- /** System name that records are fetched from (e.g. 'hubspot', 'skedulo', 'salesforce'). Null for legacy flows. */
51
+ /** System records are fetched from (e.g. 'hubspot', 'skedulo'). Null when unset on the IS row. */
58
52
  sourceSystem: string | null;
59
- /** System name that records are written to. Null for legacy flows. */
53
+ /** System records are written to. Null when unset on the IS row. */
60
54
  targetSystem: string | null;
61
55
  sourceObject: string;
62
56
  targetObject: string;
@@ -65,8 +59,7 @@ export interface DataFlow {
65
59
  /**
66
60
  * Flexible trigger config JSONB. Canonical shape is `TriggerConfig`
67
61
  * (`{ sync_config: SyncConfig }`); use `asSyncConfig` to narrow it safely.
68
- * Stays loosely typed here because IS persists this as opaque JSONB and may
69
- * return legacy rows persisted before the new shape was rolled out.
62
+ * Loosely typed because IS persists this as opaque JSONB.
70
63
  */
71
64
  triggerConfig?: Record<string, unknown> | null;
72
65
  mappingConfig: MappingConfigDto | null;
@@ -1 +1 @@
1
- {"version":3,"file":"data-flow-spec.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/data-flow-spec.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY;;;CAGf,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAE5E,mEAAmE;AACnE,eAAO,MAAM,WAAW;;;CAGd,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAEzE;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,WAAW,CAAC;CAC5B;AAED,yCAAyC;AACzC,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,UAAU,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,UAAU,GAAG,IAAI,CA0BjG;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kHAAkH;IAClH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,sEAAsE;IACtE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/C,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACvC,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,6FAA6F;IAC7F,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACzB"}
1
+ {"version":3,"file":"data-flow-spec.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/data-flow-spec.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,YAAY;;CAEf,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAE5E,mEAAmE;AACnE,eAAO,MAAM,WAAW;;CAEd,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAEzE;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,WAAW,CAAC;CAC5B;AAED,yCAAyC;AACzC,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,UAAU,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,UAAU,GAAG,IAAI,CAYjG;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kGAAkG;IAClG,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,oEAAoE;IACpE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/C,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACvC,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,6FAA6F;IAC7F,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACzB"}
@@ -3,51 +3,35 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TriggerType = exports.SyncStrategy = void 0;
4
4
  exports.asSyncConfig = asSyncConfig;
5
5
  /**
6
- * How a data flow's sync is triggered. Direction (source/target) determines
7
- * push vs pull — the strategy only describes *when* it fires:
8
- *
9
- * - `scheduled` — periodic poll on an interval (push if outbound, pull if inbound).
10
- * - `realtime` — event-driven (triggered action on Skedulo change, or vendor webhook).
6
+ * How a data flow's sync is triggered. As of Phase 2 the only per-flow strategy
7
+ * is `realtime` (event-driven). Scheduled syncs are no longer per-flow — they
8
+ * are integration-level **scheduled jobs** (see `scheduled-job.interface.ts`),
9
+ * so a batch-only flow carries no `sync_config` at all.
11
10
  */
12
11
  exports.SyncStrategy = {
13
- SCHEDULED: 'scheduled',
14
12
  REALTIME: 'realtime',
15
13
  };
16
14
  /** Kind of Skedulo-side artifact the SDK provisions for a flow. */
17
15
  exports.TriggerType = {
18
- WEBHOOK: 'webhook',
19
16
  TRIGGERED_ACTION: 'triggered_action',
20
17
  };
21
18
  /**
22
19
  * Narrow a loosely typed `triggerConfig` JSONB value into a `SyncConfig`.
23
20
  *
24
- * Reads the canonical `{ sync_config: { strategy, interval_minutes, ... } }`
25
- * shape. Returns `null` for `null`/`undefined` input, a missing/non-object
26
- * `sync_config`, an unknown strategy, or a scheduled strategy without a numeric
27
- * `interval_minutes`.
21
+ * Reads the canonical `{ sync_config: { strategy, ... } }` shape. Returns `null`
22
+ * for `null`/`undefined` input, a missing/non-object `sync_config`, or any
23
+ * strategy other than `realtime` (batch-only flows have no `sync_config`).
28
24
  */
29
25
  function asSyncConfig(value) {
30
26
  const nested = value === null || value === void 0 ? void 0 : value.sync_config;
31
27
  if (!nested || typeof nested !== 'object')
32
28
  return null;
33
- const strategyRaw = nested.strategy;
34
- const strategy = strategyRaw === exports.SyncStrategy.SCHEDULED
35
- ? exports.SyncStrategy.SCHEDULED
36
- : strategyRaw === exports.SyncStrategy.REALTIME
37
- ? exports.SyncStrategy.REALTIME
38
- : null;
39
- if (!strategy)
29
+ if (nested.strategy !== exports.SyncStrategy.REALTIME)
40
30
  return null;
41
- const sc = { strategy };
42
- if (strategy === exports.SyncStrategy.SCHEDULED) {
43
- if (typeof nested.interval_minutes !== 'number')
44
- return null;
45
- sc.interval_minutes = nested.interval_minutes;
46
- }
31
+ const sc = { strategy: exports.SyncStrategy.REALTIME };
47
32
  if (typeof nested.trigger_name === 'string')
48
33
  sc.trigger_name = nested.trigger_name;
49
- if (nested.trigger_type === exports.TriggerType.WEBHOOK ||
50
- nested.trigger_type === exports.TriggerType.TRIGGERED_ACTION) {
34
+ if (nested.trigger_type === exports.TriggerType.TRIGGERED_ACTION) {
51
35
  sc.trigger_type = nested.trigger_type;
52
36
  }
53
37
  return sc;
@@ -1 +1 @@
1
- {"version":3,"file":"data-flow-spec.interface.js","sourceRoot":"","sources":["../../src/interfaces/data-flow-spec.interface.ts"],"names":[],"mappings":";;;AAuDA,oCA0BC;AA9ED;;;;;;GAMG;AACU,QAAA,YAAY,GAAG;IAC1B,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAGX,mEAAmE;AACtD,QAAA,WAAW,GAAG;IACzB,OAAO,EAAE,SAAS;IAClB,gBAAgB,EAAE,kBAAkB;CAC5B,CAAC;AA2BX;;;;;;;GAOG;AACH,SAAgB,YAAY,CAAC,KAAiD;IAC5E,MAAM,MAAM,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAkD,CAAC;IACzE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAEvD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC;IACpC,MAAM,QAAQ,GACZ,WAAW,KAAK,oBAAY,CAAC,SAAS;QACpC,CAAC,CAAC,oBAAY,CAAC,SAAS;QACxB,CAAC,CAAC,WAAW,KAAK,oBAAY,CAAC,QAAQ;YACrC,CAAC,CAAC,oBAAY,CAAC,QAAQ;YACvB,CAAC,CAAC,IAAI,CAAC;IACb,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,MAAM,EAAE,GAAe,EAAE,QAAQ,EAAE,CAAC;IACpC,IAAI,QAAQ,KAAK,oBAAY,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC7D,EAAE,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ;QAAE,EAAE,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IACnF,IACE,MAAM,CAAC,YAAY,KAAK,mBAAW,CAAC,OAAO;QAC3C,MAAM,CAAC,YAAY,KAAK,mBAAW,CAAC,gBAAgB,EACpD,CAAC;QACD,EAAE,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IACxC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"data-flow-spec.interface.js","sourceRoot":"","sources":["../../src/interfaces/data-flow-spec.interface.ts"],"names":[],"mappings":";;;AAiDA,oCAYC;AA1DD;;;;;GAKG;AACU,QAAA,YAAY,GAAG;IAC1B,QAAQ,EAAE,UAAU;CACZ,CAAC;AAGX,mEAAmE;AACtD,QAAA,WAAW,GAAG;IACzB,gBAAgB,EAAE,kBAAkB;CAC5B,CAAC;AAyBX;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,KAAiD;IAC5E,MAAM,MAAM,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAkD,CAAC;IACzE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAEvD,IAAI,MAAM,CAAC,QAAQ,KAAK,oBAAY,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3D,MAAM,EAAE,GAAe,EAAE,QAAQ,EAAE,oBAAY,CAAC,QAAQ,EAAE,CAAC;IAC3D,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ;QAAE,EAAE,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IACnF,IAAI,MAAM,CAAC,YAAY,KAAK,mBAAW,CAAC,gBAAgB,EAAE,CAAC;QACzD,EAAE,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IACxC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -20,8 +20,8 @@ export interface IntegrationCapabilities {
20
20
  *
21
21
  * - outbound = Skedulo → this vendor (this integration is the TARGET).
22
22
  * Default when omitted: true if the adapter advertises a TARGET role.
23
- * The SDK creates a Skedulo triggered action that calls the integration's
24
- * dispatcher with action="onSkeduloEvent" when a Skedulo record changes.
23
+ * The SDK creates a Skedulo triggered action that calls the dispatcher
24
+ * with the `event.on-skedulo` action when a Skedulo record changes.
25
25
  *
26
26
  * - inbound = this vendor → Skedulo (this integration is the SOURCE).
27
27
  * Default when omitted: false. Requires the adapter to implement
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Integration-level scheduled jobs (Phase 2). A job drives an ES scheduled
3
+ * webhook that fires `sync.run-job`, which runs the job's `flow_ids` in order.
4
+ * Job config lives in the `config` JSONB column on `tenant_integration` (IS),
5
+ * which the SDK treats as `IntegrationConfig`.
6
+ */
7
+ /** Interval unit for a scheduled job. */
8
+ export declare const JobIntervalUnit: {
9
+ readonly MINUTES: "minutes";
10
+ readonly HOURS: "hours";
11
+ };
12
+ export type JobIntervalUnit = (typeof JobIntervalUnit)[keyof typeof JobIntervalUnit];
13
+ /**
14
+ * One scheduled job (snake_case, persisted in `tenant_integration.config`).
15
+ *
16
+ * `webhook_name` is the job's identity — both the config lookup key and the ES
17
+ * artifact name. It is derived from `name` on create and then immutable
18
+ * (renaming `name` keeps the original `webhook_name`).
19
+ */
20
+ export interface ScheduledJob {
21
+ /** Identity + ES artifact name, e.g. `sked-int-hubspot-job-nightly-crm`. */
22
+ webhook_name: string;
23
+ /** User-facing label (renamable). */
24
+ name: string;
25
+ interval_value: number;
26
+ interval_unit: JobIntervalUnit;
27
+ /** ORDERED list of flow ids; unique across all jobs (J5). */
28
+ flow_ids: number[];
29
+ enabled: boolean;
30
+ }
31
+ /** Opaque `tenant_integration.config` shape the SDK owns. */
32
+ export interface IntegrationConfig {
33
+ scheduled_jobs: ScheduledJob[];
34
+ }
35
+ /**
36
+ * Narrow a loosely typed `config` JSONB value into an `IntegrationConfig`.
37
+ * Returns `{ scheduled_jobs: [] }` for null/garbage; drops malformed job entries.
38
+ */
39
+ export declare function asIntegrationConfig(value: Record<string, unknown> | null | undefined): IntegrationConfig;
40
+ //# sourceMappingURL=scheduled-job.interface.d.ts.map
@@ -0,0 +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"}