@skedulo/integration-sdk 0.3.2 → 0.3.4

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 (462) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +100 -0
  3. package/dist/actions/action-registry.d.ts +17 -0
  4. package/dist/actions/action-registry.d.ts.map +1 -0
  5. package/dist/actions/action-registry.js +57 -0
  6. package/dist/actions/action-registry.js.map +1 -0
  7. package/dist/actions/capabilities.action.d.ts +6 -0
  8. package/dist/actions/capabilities.action.d.ts.map +1 -0
  9. package/dist/actions/capabilities.action.js +17 -0
  10. package/dist/actions/capabilities.action.js.map +1 -0
  11. package/dist/actions/data-flow.action.d.ts +62 -0
  12. package/dist/actions/data-flow.action.d.ts.map +1 -0
  13. package/dist/actions/data-flow.action.js +221 -0
  14. package/dist/actions/data-flow.action.js.map +1 -0
  15. package/dist/actions/event.action.d.ts +32 -0
  16. package/dist/actions/event.action.d.ts.map +1 -0
  17. package/dist/actions/event.action.js +113 -0
  18. package/dist/actions/event.action.js.map +1 -0
  19. package/dist/actions/metadata.action.d.ts +44 -0
  20. package/dist/actions/metadata.action.d.ts.map +1 -0
  21. package/dist/actions/metadata.action.js +96 -0
  22. package/dist/actions/metadata.action.js.map +1 -0
  23. package/dist/actions/setup.action.d.ts +13 -0
  24. package/dist/actions/setup.action.d.ts.map +1 -0
  25. package/dist/actions/setup.action.js +35 -0
  26. package/dist/actions/setup.action.js.map +1 -0
  27. package/dist/actions/sync.action.d.ts +65 -0
  28. package/dist/actions/sync.action.d.ts.map +1 -0
  29. package/dist/actions/sync.action.js +214 -0
  30. package/dist/actions/sync.action.js.map +1 -0
  31. package/dist/actions/utils/action-names.d.ts +52 -0
  32. package/dist/actions/utils/action-names.d.ts.map +1 -0
  33. package/dist/actions/utils/action-names.js +54 -0
  34. package/dist/actions/utils/action-names.js.map +1 -0
  35. package/dist/actions/utils/errors.d.ts +18 -0
  36. package/dist/actions/utils/errors.d.ts.map +1 -0
  37. package/dist/actions/utils/errors.js +29 -0
  38. package/dist/actions/utils/errors.js.map +1 -0
  39. package/dist/actions/utils/helpers.d.ts +18 -0
  40. package/dist/actions/utils/helpers.d.ts.map +1 -0
  41. package/dist/actions/utils/helpers.js +29 -0
  42. package/dist/actions/utils/helpers.js.map +1 -0
  43. package/dist/actions/utils/types.d.ts +59 -0
  44. package/dist/actions/utils/types.d.ts.map +1 -0
  45. package/dist/{dist/interfaces/adapter.interface.js → actions/utils/types.js} +1 -1
  46. package/dist/actions/utils/types.js.map +1 -0
  47. package/dist/adapters/base-adapter-handler.d.ts +16 -79
  48. package/dist/adapters/base-adapter-handler.d.ts.map +1 -1
  49. package/dist/adapters/base-adapter-handler.js +94 -366
  50. package/dist/adapters/base-adapter-handler.js.map +1 -1
  51. package/dist/adapters/capabilities-defaults.d.ts +24 -0
  52. package/dist/adapters/capabilities-defaults.d.ts.map +1 -0
  53. package/dist/adapters/capabilities-defaults.js +43 -0
  54. package/dist/adapters/capabilities-defaults.js.map +1 -0
  55. package/dist/adapters/skedulo.adapter.d.ts +4 -3
  56. package/dist/adapters/skedulo.adapter.d.ts.map +1 -1
  57. package/dist/adapters/skedulo.adapter.js +1 -1
  58. package/dist/adapters/skedulo.adapter.js.map +1 -1
  59. package/dist/browser.d.ts +2 -0
  60. package/dist/browser.d.ts.map +1 -1
  61. package/dist/browser.js +6 -1
  62. package/dist/browser.js.map +1 -1
  63. package/dist/clients/dataflow.client.d.ts +32 -0
  64. package/dist/clients/dataflow.client.d.ts.map +1 -1
  65. package/dist/clients/dataflow.client.js +37 -17
  66. package/dist/clients/dataflow.client.js.map +1 -1
  67. package/dist/clients/local-override.d.ts +7 -0
  68. package/dist/clients/local-override.d.ts.map +1 -0
  69. package/dist/clients/local-override.js +26 -0
  70. package/dist/clients/local-override.js.map +1 -0
  71. package/dist/clients/proxy.client.d.ts +0 -1
  72. package/dist/clients/proxy.client.d.ts.map +1 -1
  73. package/dist/clients/proxy.client.js +0 -1
  74. package/dist/clients/proxy.client.js.map +1 -1
  75. package/dist/constants.d.ts +8 -0
  76. package/dist/constants.d.ts.map +1 -1
  77. package/dist/constants.js +8 -1
  78. package/dist/constants.js.map +1 -1
  79. package/dist/context.d.ts +1 -0
  80. package/dist/context.d.ts.map +1 -1
  81. package/dist/context.js +3 -0
  82. package/dist/context.js.map +1 -1
  83. package/dist/index.d.ts +3 -1
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/index.js +7 -1
  86. package/dist/index.js.map +1 -1
  87. package/dist/interfaces/data-flow-spec.interface.d.ts +55 -0
  88. package/dist/interfaces/data-flow-spec.interface.d.ts.map +1 -1
  89. package/dist/interfaces/data-flow-spec.interface.js +52 -0
  90. package/dist/interfaces/data-flow-spec.interface.js.map +1 -1
  91. package/dist/interfaces/integration-capabilities.interface.d.ts +20 -0
  92. package/dist/interfaces/integration-capabilities.interface.d.ts.map +1 -1
  93. package/dist/services/artifact-builder.d.ts +95 -0
  94. package/dist/services/artifact-builder.d.ts.map +1 -0
  95. package/dist/services/artifact-builder.js +142 -0
  96. package/dist/services/artifact-builder.js.map +1 -0
  97. package/dist/services/dataflow.service.d.ts +21 -5
  98. package/dist/services/dataflow.service.d.ts.map +1 -1
  99. package/dist/services/dataflow.service.js +147 -16
  100. package/dist/services/dataflow.service.js.map +1 -1
  101. package/dist/services/preview.service.js +5 -1
  102. package/dist/services/preview.service.js.map +1 -1
  103. package/dist/services/sync-runner.d.ts +6 -0
  104. package/dist/services/sync-runner.d.ts.map +1 -1
  105. package/dist/services/sync-runner.js +31 -18
  106. package/dist/services/sync-runner.js.map +1 -1
  107. package/dist/types.d.ts +2 -1
  108. package/dist/types.d.ts.map +1 -1
  109. package/dist/types.js +5 -1
  110. package/dist/types.js.map +1 -1
  111. package/dist/utils/artifact-builder.d.ts +95 -0
  112. package/dist/utils/artifact-builder.d.ts.map +1 -0
  113. package/dist/utils/artifact-builder.js +142 -0
  114. package/dist/utils/artifact-builder.js.map +1 -0
  115. package/package.json +1 -1
  116. package/dist/adapters/helpers.d.ts +0 -15
  117. package/dist/adapters/helpers.d.ts.map +0 -1
  118. package/dist/adapters/helpers.js +0 -55
  119. package/dist/adapters/helpers.js.map +0 -1
  120. package/dist/adapters/skedulo-metadata-adapter.d.ts +0 -3
  121. package/dist/adapters/skedulo-metadata-adapter.d.ts.map +0 -1
  122. package/dist/adapters/skedulo-metadata-adapter.js +0 -57
  123. package/dist/adapters/skedulo-metadata-adapter.js.map +0 -1
  124. package/dist/adapters/skedulo-metadata.adapter.d.ts +0 -3
  125. package/dist/adapters/skedulo-metadata.adapter.d.ts.map +0 -1
  126. package/dist/adapters/skedulo-metadata.adapter.js +0 -57
  127. package/dist/adapters/skedulo-metadata.adapter.js.map +0 -1
  128. package/dist/adapters/upsert-harness.d.ts +0 -15
  129. package/dist/adapters/upsert-harness.d.ts.map +0 -1
  130. package/dist/adapters/upsert-harness.js +0 -55
  131. package/dist/adapters/upsert-harness.js.map +0 -1
  132. package/dist/clients/dataflow-client.d.ts +0 -18
  133. package/dist/clients/dataflow-client.d.ts.map +0 -1
  134. package/dist/clients/dataflow-client.js +0 -43
  135. package/dist/clients/dataflow-client.js.map +0 -1
  136. package/dist/clients/proxy-client.d.ts +0 -13
  137. package/dist/clients/proxy-client.d.ts.map +0 -1
  138. package/dist/clients/proxy-client.js +0 -20
  139. package/dist/clients/proxy-client.js.map +0 -1
  140. package/dist/dist/adapters/skedulo-metadata-adapter.d.ts +0 -3
  141. package/dist/dist/adapters/skedulo-metadata-adapter.d.ts.map +0 -1
  142. package/dist/dist/adapters/skedulo-metadata-adapter.js +0 -57
  143. package/dist/dist/adapters/skedulo-metadata-adapter.js.map +0 -1
  144. package/dist/dist/adapters/skedulo-metadata.adapter.d.ts +0 -3
  145. package/dist/dist/adapters/skedulo-metadata.adapter.d.ts.map +0 -1
  146. package/dist/dist/adapters/skedulo-metadata.adapter.js +0 -57
  147. package/dist/dist/adapters/skedulo-metadata.adapter.js.map +0 -1
  148. package/dist/dist/adapters/skedulo.adapter.d.ts +0 -15
  149. package/dist/dist/adapters/skedulo.adapter.d.ts.map +0 -1
  150. package/dist/dist/adapters/skedulo.adapter.js +0 -213
  151. package/dist/dist/adapters/skedulo.adapter.js.map +0 -1
  152. package/dist/dist/browser.d.ts +0 -12
  153. package/dist/dist/browser.d.ts.map +0 -1
  154. package/dist/dist/browser.js +0 -9
  155. package/dist/dist/browser.js.map +0 -1
  156. package/dist/dist/clients/dataflow-client.d.ts +0 -18
  157. package/dist/dist/clients/dataflow-client.d.ts.map +0 -1
  158. package/dist/dist/clients/dataflow-client.js +0 -43
  159. package/dist/dist/clients/dataflow-client.js.map +0 -1
  160. package/dist/dist/clients/dataflow.client.d.ts +0 -19
  161. package/dist/dist/clients/dataflow.client.d.ts.map +0 -1
  162. package/dist/dist/clients/dataflow.client.js +0 -28
  163. package/dist/dist/clients/dataflow.client.js.map +0 -1
  164. package/dist/dist/clients/proxy-client.d.ts +0 -13
  165. package/dist/dist/clients/proxy-client.d.ts.map +0 -1
  166. package/dist/dist/clients/proxy-client.js +0 -20
  167. package/dist/dist/clients/proxy-client.js.map +0 -1
  168. package/dist/dist/clients/proxy.client.d.ts +0 -13
  169. package/dist/dist/clients/proxy.client.d.ts.map +0 -1
  170. package/dist/dist/clients/proxy.client.js +0 -21
  171. package/dist/dist/clients/proxy.client.js.map +0 -1
  172. package/dist/dist/constants.d.ts +0 -17
  173. package/dist/dist/constants.d.ts.map +0 -1
  174. package/dist/dist/constants.js +0 -20
  175. package/dist/dist/constants.js.map +0 -1
  176. package/dist/dist/context.d.ts +0 -19
  177. package/dist/dist/context.d.ts.map +0 -1
  178. package/dist/dist/context.js +0 -40
  179. package/dist/dist/context.js.map +0 -1
  180. package/dist/dist/handlers/metadata.handler.d.ts +0 -17
  181. package/dist/dist/handlers/metadata.handler.d.ts.map +0 -1
  182. package/dist/dist/handlers/metadata.handler.js +0 -50
  183. package/dist/dist/handlers/metadata.handler.js.map +0 -1
  184. package/dist/dist/index.d.ts +0 -18
  185. package/dist/dist/index.d.ts.map +0 -1
  186. package/dist/dist/index.js +0 -48
  187. package/dist/dist/index.js.map +0 -1
  188. package/dist/dist/interfaces/adapter.interface.d.ts +0 -122
  189. package/dist/dist/interfaces/adapter.interface.d.ts.map +0 -1
  190. package/dist/dist/interfaces/adapter.interface.js.map +0 -1
  191. package/dist/dist/interfaces/data-flow-spec.interface.d.ts +0 -22
  192. package/dist/dist/interfaces/data-flow-spec.interface.d.ts.map +0 -1
  193. package/dist/dist/interfaces/data-flow-spec.interface.js +0 -3
  194. package/dist/dist/interfaces/data-flow-spec.interface.js.map +0 -1
  195. package/dist/dist/interfaces/field-mapping.interface.d.ts +0 -26
  196. package/dist/dist/interfaces/field-mapping.interface.d.ts.map +0 -1
  197. package/dist/dist/interfaces/field-mapping.interface.js +0 -3
  198. package/dist/dist/interfaces/field-mapping.interface.js.map +0 -1
  199. package/dist/dist/interfaces/filter.interface.d.ts +0 -19
  200. package/dist/dist/interfaces/filter.interface.d.ts.map +0 -1
  201. package/dist/dist/interfaces/filter.interface.js +0 -20
  202. package/dist/dist/interfaces/filter.interface.js.map +0 -1
  203. package/dist/dist/interfaces/integration-capabilities.interface.d.ts +0 -13
  204. package/dist/dist/interfaces/integration-capabilities.interface.d.ts.map +0 -1
  205. package/dist/dist/interfaces/integration-capabilities.interface.js +0 -3
  206. package/dist/dist/interfaces/integration-capabilities.interface.js.map +0 -1
  207. package/dist/dist/interfaces/lookup-rule.interface.d.ts +0 -14
  208. package/dist/dist/interfaces/lookup-rule.interface.d.ts.map +0 -1
  209. package/dist/dist/interfaces/lookup-rule.interface.js +0 -3
  210. package/dist/dist/interfaces/lookup-rule.interface.js.map +0 -1
  211. package/dist/dist/interfaces/mapped-event.interface.d.ts +0 -9
  212. package/dist/dist/interfaces/mapped-event.interface.d.ts.map +0 -1
  213. package/dist/dist/interfaces/mapped-event.interface.js +0 -3
  214. package/dist/dist/interfaces/mapped-event.interface.js.map +0 -1
  215. package/dist/dist/interfaces/mapping-config.interface.d.ts +0 -26
  216. package/dist/dist/interfaces/mapping-config.interface.d.ts.map +0 -1
  217. package/dist/dist/interfaces/mapping-config.interface.js +0 -3
  218. package/dist/dist/interfaces/mapping-config.interface.js.map +0 -1
  219. package/dist/dist/interfaces/metadata-adapter.interface.d.ts +0 -26
  220. package/dist/dist/interfaces/metadata-adapter.interface.d.ts.map +0 -1
  221. package/dist/dist/interfaces/metadata-adapter.interface.js +0 -3
  222. package/dist/dist/interfaces/metadata-adapter.interface.js.map +0 -1
  223. package/dist/dist/interfaces/pull-adapter.interface.d.ts +0 -50
  224. package/dist/dist/interfaces/pull-adapter.interface.d.ts.map +0 -1
  225. package/dist/dist/interfaces/pull-adapter.interface.js +0 -3
  226. package/dist/dist/interfaces/pull-adapter.interface.js.map +0 -1
  227. package/dist/dist/interfaces/push-adapter.interface.d.ts +0 -28
  228. package/dist/dist/interfaces/push-adapter.interface.d.ts.map +0 -1
  229. package/dist/dist/interfaces/push-adapter.interface.js +0 -3
  230. package/dist/dist/interfaces/push-adapter.interface.js.map +0 -1
  231. package/dist/dist/interfaces/sample-fetcher.interface.d.ts +0 -4
  232. package/dist/dist/interfaces/sample-fetcher.interface.d.ts.map +0 -1
  233. package/dist/dist/interfaces/sample-fetcher.interface.js +0 -3
  234. package/dist/dist/interfaces/sample-fetcher.interface.js.map +0 -1
  235. package/dist/dist/interfaces/sync-result.interface.d.ts +0 -19
  236. package/dist/dist/interfaces/sync-result.interface.d.ts.map +0 -1
  237. package/dist/dist/interfaces/sync-result.interface.js +0 -3
  238. package/dist/dist/interfaces/sync-result.interface.js.map +0 -1
  239. package/dist/dist/interfaces/target-adapter.interface.d.ts +0 -10
  240. package/dist/dist/interfaces/target-adapter.interface.d.ts.map +0 -1
  241. package/dist/dist/interfaces/target-adapter.interface.js +0 -3
  242. package/dist/dist/interfaces/target-adapter.interface.js.map +0 -1
  243. package/dist/dist/mocks/hubspot.d.ts +0 -4
  244. package/dist/dist/mocks/hubspot.d.ts.map +0 -1
  245. package/dist/dist/mocks/hubspot.js +0 -61
  246. package/dist/dist/mocks/hubspot.js.map +0 -1
  247. package/dist/dist/provenance.d.ts +0 -3
  248. package/dist/dist/provenance.d.ts.map +0 -1
  249. package/dist/dist/provenance.js +0 -12
  250. package/dist/dist/provenance.js.map +0 -1
  251. package/dist/dist/services/dataflow-service.d.ts +0 -21
  252. package/dist/dist/services/dataflow-service.d.ts.map +0 -1
  253. package/dist/dist/services/dataflow-service.js +0 -47
  254. package/dist/dist/services/dataflow-service.js.map +0 -1
  255. package/dist/dist/services/dataflow.service.d.ts +0 -20
  256. package/dist/dist/services/dataflow.service.d.ts.map +0 -1
  257. package/dist/dist/services/dataflow.service.js +0 -52
  258. package/dist/dist/services/dataflow.service.js.map +0 -1
  259. package/dist/dist/services/eql.d.ts +0 -2
  260. package/dist/dist/services/eql.d.ts.map +0 -1
  261. package/dist/dist/services/eql.js +0 -10
  262. package/dist/dist/services/eql.js.map +0 -1
  263. package/dist/dist/services/mapping-service.d.ts +0 -14
  264. package/dist/dist/services/mapping-service.d.ts.map +0 -1
  265. package/dist/dist/services/mapping-service.js +0 -88
  266. package/dist/dist/services/mapping-service.js.map +0 -1
  267. package/dist/dist/services/mapping.service.d.ts +0 -14
  268. package/dist/dist/services/mapping.service.d.ts.map +0 -1
  269. package/dist/dist/services/mapping.service.js +0 -89
  270. package/dist/dist/services/mapping.service.js.map +0 -1
  271. package/dist/dist/services/outbound-service.d.ts +0 -14
  272. package/dist/dist/services/outbound-service.d.ts.map +0 -1
  273. package/dist/dist/services/outbound-service.js +0 -65
  274. package/dist/dist/services/outbound-service.js.map +0 -1
  275. package/dist/dist/services/paragon-workflow-service.d.ts +0 -7
  276. package/dist/dist/services/paragon-workflow-service.d.ts.map +0 -1
  277. package/dist/dist/services/paragon-workflow-service.js +0 -68
  278. package/dist/dist/services/paragon-workflow-service.js.map +0 -1
  279. package/dist/dist/services/paragon-workflow.service.d.ts +0 -8
  280. package/dist/dist/services/paragon-workflow.service.d.ts.map +0 -1
  281. package/dist/dist/services/paragon-workflow.service.js +0 -31
  282. package/dist/dist/services/paragon-workflow.service.js.map +0 -1
  283. package/dist/dist/services/preview-service.d.ts +0 -11
  284. package/dist/dist/services/preview-service.d.ts.map +0 -1
  285. package/dist/dist/services/preview-service.js +0 -66
  286. package/dist/dist/services/preview-service.js.map +0 -1
  287. package/dist/dist/services/preview.service.d.ts +0 -11
  288. package/dist/dist/services/preview.service.d.ts.map +0 -1
  289. package/dist/dist/services/preview.service.js +0 -74
  290. package/dist/dist/services/preview.service.js.map +0 -1
  291. package/dist/dist/services/pull-service.d.ts +0 -9
  292. package/dist/dist/services/pull-service.d.ts.map +0 -1
  293. package/dist/dist/services/pull-service.js +0 -207
  294. package/dist/dist/services/pull-service.js.map +0 -1
  295. package/dist/dist/services/pull.service.d.ts +0 -11
  296. package/dist/dist/services/pull.service.d.ts.map +0 -1
  297. package/dist/dist/services/pull.service.js +0 -200
  298. package/dist/dist/services/pull.service.js.map +0 -1
  299. package/dist/dist/services/push-service.d.ts +0 -16
  300. package/dist/dist/services/push-service.d.ts.map +0 -1
  301. package/dist/dist/services/push-service.js +0 -76
  302. package/dist/dist/services/push-service.js.map +0 -1
  303. package/dist/dist/services/push.service.d.ts +0 -19
  304. package/dist/dist/services/push.service.d.ts.map +0 -1
  305. package/dist/dist/services/push.service.js +0 -186
  306. package/dist/dist/services/push.service.js.map +0 -1
  307. package/dist/dist/services/scheduled-pull-service.d.ts +0 -7
  308. package/dist/dist/services/scheduled-pull-service.d.ts.map +0 -1
  309. package/dist/dist/services/scheduled-pull-service.js +0 -58
  310. package/dist/dist/services/scheduled-pull-service.js.map +0 -1
  311. package/dist/dist/services/split-filter.d.ts +0 -3
  312. package/dist/dist/services/split-filter.d.ts.map +0 -1
  313. package/dist/dist/services/split-filter.js +0 -50
  314. package/dist/dist/services/split-filter.js.map +0 -1
  315. package/dist/dist/services/sync-runner.d.ts +0 -22
  316. package/dist/dist/services/sync-runner.d.ts.map +0 -1
  317. package/dist/dist/services/sync-runner.js +0 -110
  318. package/dist/dist/services/sync-runner.js.map +0 -1
  319. package/dist/dist/services/sync.service.d.ts +0 -21
  320. package/dist/dist/services/sync.service.d.ts.map +0 -1
  321. package/dist/dist/services/sync.service.js +0 -166
  322. package/dist/dist/services/sync.service.js.map +0 -1
  323. package/dist/dist/types.d.ts +0 -11
  324. package/dist/dist/types.d.ts.map +0 -1
  325. package/dist/dist/types.js +0 -6
  326. package/dist/dist/types.js.map +0 -1
  327. package/dist/dist/utils/compileFilter.d.ts +0 -3
  328. package/dist/dist/utils/compileFilter.d.ts.map +0 -1
  329. package/dist/dist/utils/compileFilter.js +0 -73
  330. package/dist/dist/utils/compileFilter.js.map +0 -1
  331. package/dist/dist/utils/normalizeDataFlow.d.ts +0 -3
  332. package/dist/dist/utils/normalizeDataFlow.d.ts.map +0 -1
  333. package/dist/dist/utils/normalizeDataFlow.js +0 -30
  334. package/dist/dist/utils/normalizeDataFlow.js.map +0 -1
  335. package/dist/dist/utils.d.ts +0 -2
  336. package/dist/dist/utils.d.ts.map +0 -1
  337. package/dist/dist/utils.js +0 -10
  338. package/dist/dist/utils.js.map +0 -1
  339. package/dist/handlers/metadata.handler.d.ts +0 -13
  340. package/dist/handlers/metadata.handler.d.ts.map +0 -1
  341. package/dist/handlers/metadata.handler.js +0 -46
  342. package/dist/handlers/metadata.handler.js.map +0 -1
  343. package/dist/interfaces/mapping-config.interface.d.ts +0 -26
  344. package/dist/interfaces/mapping-config.interface.d.ts.map +0 -1
  345. package/dist/interfaces/mapping-config.interface.js +0 -3
  346. package/dist/interfaces/mapping-config.interface.js.map +0 -1
  347. package/dist/interfaces/metadata-adapter.interface.d.ts +0 -26
  348. package/dist/interfaces/metadata-adapter.interface.d.ts.map +0 -1
  349. package/dist/interfaces/metadata-adapter.interface.js +0 -3
  350. package/dist/interfaces/metadata-adapter.interface.js.map +0 -1
  351. package/dist/interfaces/pull-adapter.interface.d.ts +0 -50
  352. package/dist/interfaces/pull-adapter.interface.d.ts.map +0 -1
  353. package/dist/interfaces/pull-adapter.interface.js +0 -3
  354. package/dist/interfaces/pull-adapter.interface.js.map +0 -1
  355. package/dist/interfaces/push-adapter.interface.d.ts +0 -28
  356. package/dist/interfaces/push-adapter.interface.d.ts.map +0 -1
  357. package/dist/interfaces/push-adapter.interface.js +0 -3
  358. package/dist/interfaces/push-adapter.interface.js.map +0 -1
  359. package/dist/interfaces/target-adapter.interface.d.ts +0 -10
  360. package/dist/interfaces/target-adapter.interface.d.ts.map +0 -1
  361. package/dist/interfaces/target-adapter.interface.js +0 -3
  362. package/dist/interfaces/target-adapter.interface.js.map +0 -1
  363. package/dist/mocks/hubspot.d.ts +0 -4
  364. package/dist/mocks/hubspot.d.ts.map +0 -1
  365. package/dist/mocks/hubspot.js +0 -61
  366. package/dist/mocks/hubspot.js.map +0 -1
  367. package/dist/provenance.d.ts +0 -3
  368. package/dist/provenance.d.ts.map +0 -1
  369. package/dist/provenance.js +0 -12
  370. package/dist/provenance.js.map +0 -1
  371. package/dist/services/dataflow-service.d.ts +0 -21
  372. package/dist/services/dataflow-service.d.ts.map +0 -1
  373. package/dist/services/dataflow-service.js +0 -47
  374. package/dist/services/dataflow-service.js.map +0 -1
  375. package/dist/services/eql.d.ts +0 -2
  376. package/dist/services/eql.d.ts.map +0 -1
  377. package/dist/services/eql.js +0 -10
  378. package/dist/services/eql.js.map +0 -1
  379. package/dist/services/mapping-service.d.ts +0 -14
  380. package/dist/services/mapping-service.d.ts.map +0 -1
  381. package/dist/services/mapping-service.js +0 -88
  382. package/dist/services/mapping-service.js.map +0 -1
  383. package/dist/services/mapping.service.d.ts +0 -14
  384. package/dist/services/mapping.service.d.ts.map +0 -1
  385. package/dist/services/mapping.service.js +0 -89
  386. package/dist/services/mapping.service.js.map +0 -1
  387. package/dist/services/outbound-service.d.ts +0 -14
  388. package/dist/services/outbound-service.d.ts.map +0 -1
  389. package/dist/services/outbound-service.js +0 -65
  390. package/dist/services/outbound-service.js.map +0 -1
  391. package/dist/services/paragon-workflow-service.d.ts +0 -7
  392. package/dist/services/paragon-workflow-service.d.ts.map +0 -1
  393. package/dist/services/paragon-workflow-service.js +0 -68
  394. package/dist/services/paragon-workflow-service.js.map +0 -1
  395. package/dist/services/paragon-workflow.service.d.ts +0 -8
  396. package/dist/services/paragon-workflow.service.d.ts.map +0 -1
  397. package/dist/services/paragon-workflow.service.js +0 -31
  398. package/dist/services/paragon-workflow.service.js.map +0 -1
  399. package/dist/services/preview-service.d.ts +0 -11
  400. package/dist/services/preview-service.d.ts.map +0 -1
  401. package/dist/services/preview-service.js +0 -66
  402. package/dist/services/preview-service.js.map +0 -1
  403. package/dist/services/pull-service.d.ts +0 -9
  404. package/dist/services/pull-service.d.ts.map +0 -1
  405. package/dist/services/pull-service.js +0 -207
  406. package/dist/services/pull-service.js.map +0 -1
  407. package/dist/services/pull.service.d.ts +0 -11
  408. package/dist/services/pull.service.d.ts.map +0 -1
  409. package/dist/services/pull.service.js +0 -200
  410. package/dist/services/pull.service.js.map +0 -1
  411. package/dist/services/push-service.d.ts +0 -16
  412. package/dist/services/push-service.d.ts.map +0 -1
  413. package/dist/services/push-service.js +0 -76
  414. package/dist/services/push-service.js.map +0 -1
  415. package/dist/services/push.service.d.ts +0 -19
  416. package/dist/services/push.service.d.ts.map +0 -1
  417. package/dist/services/push.service.js +0 -186
  418. package/dist/services/push.service.js.map +0 -1
  419. package/dist/services/routes.factory.d.ts +0 -19
  420. package/dist/services/routes.factory.d.ts.map +0 -1
  421. package/dist/services/routes.factory.js +0 -352
  422. package/dist/services/routes.factory.js.map +0 -1
  423. package/dist/services/scheduled-pull-service.d.ts +0 -7
  424. package/dist/services/scheduled-pull-service.d.ts.map +0 -1
  425. package/dist/services/scheduled-pull-service.js +0 -58
  426. package/dist/services/scheduled-pull-service.js.map +0 -1
  427. package/dist/services/split-filter.d.ts +0 -3
  428. package/dist/services/split-filter.d.ts.map +0 -1
  429. package/dist/services/split-filter.js +0 -50
  430. package/dist/services/split-filter.js.map +0 -1
  431. package/dist/utils/auth.d.ts +0 -6
  432. package/dist/utils/auth.d.ts.map +0 -1
  433. package/dist/utils/auth.js +0 -18
  434. package/dist/utils/auth.js.map +0 -1
  435. package/dist/utils/http-response.d.ts +0 -16
  436. package/dist/utils/http-response.d.ts.map +0 -1
  437. package/dist/utils/http-response.js +0 -36
  438. package/dist/utils/http-response.js.map +0 -1
  439. package/dist/utils/normalizeDataFlow.d.ts +0 -3
  440. package/dist/utils/normalizeDataFlow.d.ts.map +0 -1
  441. package/dist/utils/normalizeDataFlow.js +0 -37
  442. package/dist/utils/normalizeDataFlow.js.map +0 -1
  443. package/dist/utils/query-string.d.ts +0 -2
  444. package/dist/utils/query-string.d.ts.map +0 -1
  445. package/dist/utils/query-string.js +0 -13
  446. package/dist/utils/query-string.js.map +0 -1
  447. package/dist/utils/sked-handler.d.ts +0 -22
  448. package/dist/utils/sked-handler.d.ts.map +0 -1
  449. package/dist/utils/sked-handler.js +0 -41
  450. package/dist/utils/sked-handler.js.map +0 -1
  451. package/dist/utils/strings.d.ts +0 -2
  452. package/dist/utils/strings.d.ts.map +0 -1
  453. package/dist/utils/strings.js +0 -14
  454. package/dist/utils/strings.js.map +0 -1
  455. package/dist/utils/unwrap-proxy.d.ts +0 -2
  456. package/dist/utils/unwrap-proxy.d.ts.map +0 -1
  457. package/dist/utils/unwrap-proxy.js +0 -12
  458. package/dist/utils/unwrap-proxy.js.map +0 -1
  459. package/dist/utils.d.ts +0 -2
  460. package/dist/utils.d.ts.map +0 -1
  461. package/dist/utils.js +0 -10
  462. package/dist/utils.js.map +0 -1
@@ -1,3 +1,55 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TriggerType = exports.SyncStrategy = void 0;
4
+ exports.asSyncConfig = asSyncConfig;
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).
11
+ */
12
+ exports.SyncStrategy = {
13
+ SCHEDULED: 'scheduled',
14
+ REALTIME: 'realtime',
15
+ };
16
+ /** Kind of Skedulo-side artifact the SDK provisions for a flow. */
17
+ exports.TriggerType = {
18
+ WEBHOOK: 'webhook',
19
+ TRIGGERED_ACTION: 'triggered_action',
20
+ };
21
+ /**
22
+ * Narrow a loosely typed `triggerConfig` JSONB value into a `SyncConfig`.
23
+ *
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`.
28
+ */
29
+ function asSyncConfig(value) {
30
+ const nested = value === null || value === void 0 ? void 0 : value.sync_config;
31
+ if (!nested || typeof nested !== 'object')
32
+ 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)
40
+ 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
+ }
47
+ if (typeof nested.trigger_name === 'string')
48
+ sc.trigger_name = nested.trigger_name;
49
+ if (nested.trigger_type === exports.TriggerType.WEBHOOK ||
50
+ nested.trigger_type === exports.TriggerType.TRIGGERED_ACTION) {
51
+ sc.trigger_type = nested.trigger_type;
52
+ }
53
+ return sc;
54
+ }
3
55
  //# sourceMappingURL=data-flow-spec.interface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-flow-spec.interface.js","sourceRoot":"","sources":["../../src/interfaces/data-flow-spec.interface.ts"],"names":[],"mappings":""}
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"}
@@ -15,5 +15,25 @@ export interface IntegrationCapabilities {
15
15
  * When false (or absent), the Data Flows tab is hidden in the UI.
16
16
  */
17
17
  hasDataFlows?: boolean;
18
+ /**
19
+ * Per-direction realtime support for this integration.
20
+ *
21
+ * - outbound = Skedulo → this vendor (this integration is the TARGET).
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.
25
+ *
26
+ * - inbound = this vendor → Skedulo (this integration is the SOURCE).
27
+ * Default when omitted: false. Requires the adapter to implement
28
+ * `parseChangeEvent` AND the vendor side to provide a push mechanism
29
+ * (webhook subscription, streaming API, etc.).
30
+ *
31
+ * Scheduled (push/pull) is universal whenever the corresponding role is
32
+ * advertised — it's not gated by this flag.
33
+ */
34
+ realtime?: {
35
+ outbound?: boolean;
36
+ inbound?: boolean;
37
+ };
18
38
  }
19
39
  //# sourceMappingURL=integration-capabilities.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"integration-capabilities.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/integration-capabilities.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB"}
1
+ {"version":3,"file":"integration-capabilities.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/integration-capabilities.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;CACH"}
@@ -0,0 +1,95 @@
1
+ import type { ArtifactClient } from '@skedulo/pulse-solution-services';
2
+ import type { DataFlow } from '../interfaces/data-flow-spec.interface';
3
+ import { ACTIONS } from '../actions/utils/action-names';
4
+ /**
5
+ * Deterministic artifact name used as the idempotency key for the
6
+ * webhook / triggered action provisioned for a DataFlow.
7
+ *
8
+ * Format: `sked-int-${integrationType}-${sourceObject}-to-${targetObject}-flow${id}`
9
+ * Throws if the result exceeds 100 chars (we don't truncate, since collisions
10
+ * on the prefix would cause silent cross-flow overwrites).
11
+ */
12
+ export declare function buildArtifactName(flow: DataFlow, integrationType: string): string;
13
+ /**
14
+ * Convert `intervalMinutes` to a 5-field cron expression.
15
+ * - n <= 1 → `* * * * *` (every minute)
16
+ * - 1 < n < 60 → `*\/n * * * *`
17
+ * - 60 <= n, multiples of 60 → `0 *\/h * * *` (every h hours)
18
+ * - otherwise → fall back to `*\/n * * * *` (cron itself rejects > 59 in min field;
19
+ * callers should pass a divisor of 60 for n >= 60)
20
+ */
21
+ export declare function intervalMinutesToCron(intervalMinutes: number): string;
22
+ /**
23
+ * GraphQL selection-set fragment for the triggered action's `action.query`.
24
+ * ES executes this against the Skedulo schema and POSTs the result as the
25
+ * function body, so it MUST include every Skedulo field the mapping reads.
26
+ * `UID` is always included since we use it as the record identifier.
27
+ */
28
+ export declare function buildSkeduloQuery(flow: DataFlow): string;
29
+ export interface BuildScheduledWebhookOpts {
30
+ name: string;
31
+ url: string;
32
+ cron: string;
33
+ /** Value placed on the dispatcher action header so the function knows which action to run. */
34
+ action: typeof ACTIONS.sync.push | typeof ACTIONS.sync.scheduledPull;
35
+ dataFlowId: number;
36
+ }
37
+ export declare function buildScheduledWebhookArtifact(opts: BuildScheduledWebhookOpts): {
38
+ name: string;
39
+ metadata: {
40
+ type: string;
41
+ };
42
+ webhook: {
43
+ type: string;
44
+ url: string;
45
+ cron: string;
46
+ headers: {
47
+ Authorization: string;
48
+ "sked-integration-action": "sync.push" | "sync.scheduled-pull";
49
+ 'sked-data-flow-id': string;
50
+ };
51
+ };
52
+ };
53
+ export interface BuildTriggeredActionOpts {
54
+ name: string;
55
+ url: string;
56
+ /** Skedulo schema name to subscribe to (e.g. `"Jobs"`). */
57
+ schemaName: string;
58
+ /** GraphQL selection-set fragment, e.g. `"{ UID Name JobStatus }"`. */
59
+ query: string;
60
+ dataFlowId: number;
61
+ }
62
+ export declare function buildTriggeredActionArtifact(opts: BuildTriggeredActionOpts): {
63
+ name: string;
64
+ metadata: {
65
+ type: string;
66
+ };
67
+ enabled: boolean;
68
+ trigger: {
69
+ type: string;
70
+ schemaName: string;
71
+ filter: string;
72
+ };
73
+ action: {
74
+ type: string;
75
+ url: string;
76
+ headers: {
77
+ Authorization: string;
78
+ "sked-integration-action": "event.on-skedulo";
79
+ 'sked-data-flow-id': string;
80
+ };
81
+ query: string;
82
+ };
83
+ };
84
+ /**
85
+ * Idempotent upsert: try `get` then `update`; on any error (including not-found)
86
+ * fall back to `create`. The PSS artifact API is name-keyed, so this collapses
87
+ * "create" and "replace" into a single safe call.
88
+ */
89
+ export declare function upsertArtifact(client: ArtifactClient, name: string, artifact: unknown): Promise<void>;
90
+ /**
91
+ * Delete by name, swallowing not-found errors so deactivate is idempotent.
92
+ * The PSS client throws `Error("HTTP error! Status: 404. …")`; match on that.
93
+ */
94
+ export declare function deleteArtifactIfExists(client: ArtifactClient, name: string): Promise<void>;
95
+ //# sourceMappingURL=artifact-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact-builder.d.ts","sourceRoot":"","sources":["../../src/services/artifact-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAiB,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAWvE;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAajF;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAQrE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAUxD;AAMD,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,8FAA8F;IAC9F,MAAM,EAAE,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;IACrE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,yBAAyB;;;;;;;;;;;;;;;EAe5E;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,wBAAwB;;;;;;;;;;;;;;;;;;;;;EAqB1E;AAID;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhG"}
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildArtifactName = buildArtifactName;
4
+ exports.intervalMinutesToCron = intervalMinutesToCron;
5
+ exports.buildSkeduloQuery = buildSkeduloQuery;
6
+ exports.buildScheduledWebhookArtifact = buildScheduledWebhookArtifact;
7
+ exports.buildTriggeredActionArtifact = buildTriggeredActionArtifact;
8
+ exports.upsertArtifact = upsertArtifact;
9
+ exports.deleteArtifactIfExists = deleteArtifactIfExists;
10
+ const action_names_1 = require("../actions/utils/action-names");
11
+ const MAX_NAME_LENGTH = 100;
12
+ function slugify(value) {
13
+ return value
14
+ .toLowerCase()
15
+ .replace(/[^a-z0-9]+/g, '-')
16
+ .replace(/^-+|-+$/g, '');
17
+ }
18
+ /**
19
+ * Deterministic artifact name used as the idempotency key for the
20
+ * webhook / triggered action provisioned for a DataFlow.
21
+ *
22
+ * Format: `sked-int-${integrationType}-${sourceObject}-to-${targetObject}-flow${id}`
23
+ * Throws if the result exceeds 100 chars (we don't truncate, since collisions
24
+ * on the prefix would cause silent cross-flow overwrites).
25
+ */
26
+ function buildArtifactName(flow, integrationType) {
27
+ if (!integrationType) {
28
+ throw new Error('buildArtifactName requires an integrationType');
29
+ }
30
+ const name = `sked-int-${slugify(integrationType)}-${slugify(flow.sourceObject)}-to-${slugify(flow.targetObject)}-flow${flow.id}`;
31
+ if (name.length > MAX_NAME_LENGTH) {
32
+ throw new Error(`buildArtifactName produced a name of ${name.length} characters (max ${MAX_NAME_LENGTH}): "${name}"`);
33
+ }
34
+ return name;
35
+ }
36
+ /**
37
+ * Convert `intervalMinutes` to a 5-field cron expression.
38
+ * - n <= 1 → `* * * * *` (every minute)
39
+ * - 1 < n < 60 → `*\/n * * * *`
40
+ * - 60 <= n, multiples of 60 → `0 *\/h * * *` (every h hours)
41
+ * - otherwise → fall back to `*\/n * * * *` (cron itself rejects > 59 in min field;
42
+ * callers should pass a divisor of 60 for n >= 60)
43
+ */
44
+ function intervalMinutesToCron(intervalMinutes) {
45
+ if (!Number.isInteger(intervalMinutes) || intervalMinutes <= 1)
46
+ return '* * * * *';
47
+ if (intervalMinutes < 60)
48
+ return `*/${intervalMinutes} * * * *`;
49
+ if (intervalMinutes % 60 === 0) {
50
+ const hours = intervalMinutes / 60;
51
+ return hours === 1 ? '0 * * * *' : `0 */${hours} * * *`;
52
+ }
53
+ return `*/${intervalMinutes} * * * *`;
54
+ }
55
+ /**
56
+ * GraphQL selection-set fragment for the triggered action's `action.query`.
57
+ * ES executes this against the Skedulo schema and POSTs the result as the
58
+ * function body, so it MUST include every Skedulo field the mapping reads.
59
+ * `UID` is always included since we use it as the record identifier.
60
+ */
61
+ function buildSkeduloQuery(flow) {
62
+ var _a, _b, _c;
63
+ const fields = new Set(['UID']);
64
+ // IS does not return `sourceFields`; the Skedulo source fields are the
65
+ // mapping expressions (mirrors skedulo.adapter fetch).
66
+ const sourceFields = (_c = (_a = flow.sourceFields) !== null && _a !== void 0 ? _a : (_b = flow.mappingConfig) === null || _b === void 0 ? void 0 : _b.mappings.map((m) => m.expression)) !== null && _c !== void 0 ? _c : [];
67
+ for (const f of sourceFields) {
68
+ if (f && typeof f === 'string')
69
+ fields.add(f);
70
+ }
71
+ return `{ ${Array.from(fields).join(' ')} }`;
72
+ }
73
+ // ── Artifact bodies ──────────────────────────────────────────────────────────
74
+ const ADMIN_AUTH_HEADER = 'Bearer {{ INTEGRATION_ADMIN_TOKEN }}';
75
+ function buildScheduledWebhookArtifact(opts) {
76
+ return {
77
+ name: opts.name,
78
+ metadata: { type: 'Webhook' },
79
+ webhook: {
80
+ type: 'scheduled',
81
+ url: opts.url,
82
+ cron: opts.cron,
83
+ headers: {
84
+ Authorization: ADMIN_AUTH_HEADER,
85
+ [action_names_1.ACTION_HEADER]: opts.action,
86
+ 'sked-data-flow-id': String(opts.dataFlowId),
87
+ },
88
+ },
89
+ };
90
+ }
91
+ function buildTriggeredActionArtifact(opts) {
92
+ return {
93
+ name: opts.name,
94
+ metadata: { type: 'TriggeredAction' },
95
+ enabled: true,
96
+ trigger: {
97
+ type: 'object_modified',
98
+ schemaName: opts.schemaName,
99
+ filter: "Operation == 'INSERT' OR Operation == 'UPDATE' OR Operation == 'DELETE'",
100
+ },
101
+ action: {
102
+ type: 'call_url',
103
+ url: opts.url,
104
+ headers: {
105
+ Authorization: ADMIN_AUTH_HEADER,
106
+ [action_names_1.ACTION_HEADER]: action_names_1.ACTIONS.event.onSkedulo,
107
+ 'sked-data-flow-id': String(opts.dataFlowId),
108
+ },
109
+ query: opts.query,
110
+ },
111
+ };
112
+ }
113
+ // ── Upsert / delete helpers ──────────────────────────────────────────────────
114
+ /**
115
+ * Idempotent upsert: try `get` then `update`; on any error (including not-found)
116
+ * fall back to `create`. The PSS artifact API is name-keyed, so this collapses
117
+ * "create" and "replace" into a single safe call.
118
+ */
119
+ async function upsertArtifact(client, name, artifact) {
120
+ try {
121
+ await client.get({ name });
122
+ await client.update({ name }, artifact);
123
+ }
124
+ catch (_a) {
125
+ await client.create({ name }, artifact);
126
+ }
127
+ }
128
+ /**
129
+ * Delete by name, swallowing not-found errors so deactivate is idempotent.
130
+ * The PSS client throws `Error("HTTP error! Status: 404. …")`; match on that.
131
+ */
132
+ async function deleteArtifactIfExists(client, name) {
133
+ try {
134
+ await client.delete({ name });
135
+ }
136
+ catch (err) {
137
+ if (err instanceof Error && /Status:\s*404\b/.test(err.message))
138
+ return;
139
+ throw err;
140
+ }
141
+ }
142
+ //# sourceMappingURL=artifact-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact-builder.js","sourceRoot":"","sources":["../../src/services/artifact-builder.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,8 @@
1
- import type { DataFlowClient } from '../clients/dataflow.client';
2
- import type { DataFlow } from '../interfaces/data-flow-spec.interface';
1
+ import type { CreateDataFlowInput, DataFlowClient, DataFlowListParams, UpdateDataFlowPatch } from '../clients/dataflow.client';
2
+ import type { IntegrationContext } from '../context';
3
+ import { type DataFlow } from '../interfaces/data-flow-spec.interface';
3
4
  export declare class DataFlowService {
4
5
  private readonly client;
5
- private static _mockFlows;
6
- static registerMockFlow(flow: DataFlow): void;
7
- static clearMockFlows(): void;
8
6
  constructor(client: DataFlowClient);
9
7
  getFlowsByFilter(args: {
10
8
  integrationType: string;
@@ -17,5 +15,23 @@ export declare class DataFlowService {
17
15
  integrationType: string;
18
16
  targetSystem?: string;
19
17
  }): Promise<DataFlow[]>;
18
+ list(params: DataFlowListParams): Promise<Array<{
19
+ id: number;
20
+ }>>;
21
+ create(input: CreateDataFlowInput): Promise<DataFlow>;
22
+ update(id: number, patch: UpdateDataFlowPatch): Promise<DataFlow>;
23
+ delete(id: number): Promise<void>;
24
+ /**
25
+ * Idempotent activate. Two-phase fail-closed semantics:
26
+ * 1. Upsert the PSS artifact (Webhook or TriggeredAction) under a deterministic name.
27
+ * 2. PATCH `triggerConfig.sync_config` on IS (records the artifact), then mark IS ACTIVE.
28
+ * If step 2 fails the artifact is compensatingly deleted.
29
+ */
30
+ activate(id: number, ctx: IntegrationContext): Promise<DataFlow>;
31
+ /**
32
+ * Inverse of `activate`. Deletes the PSS artifact (404-tolerant), transitions
33
+ * IS to INACTIVE, and clears the artifact reference from `sync_config`.
34
+ */
35
+ deactivate(id: number, ctx: IntegrationContext): Promise<DataFlow>;
20
36
  }
21
37
  //# sourceMappingURL=dataflow.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataflow.service.d.ts","sourceRoot":"","sources":["../../src/services/dataflow.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,4BAA4B,CAAC;AACrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAEvE,qBAAa,eAAe;IAiBd,OAAO,CAAC,QAAQ,CAAC,MAAM;IAfnC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAkB;IAE3C,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAS7C,MAAM,CAAC,cAAc,IAAI,IAAI;gBAIA,MAAM,EAAE,cAAc;IAE7C,gBAAgB,CAAC,IAAI,EAAE;QAC3B,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAajB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAIjD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE,UAAU,CAAC,MAAM,EAAE;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAYxB"}
1
+ {"version":3,"file":"dataflow.service.d.ts","sourceRoot":"","sources":["../../src/services/dataflow.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAIrD,OAAO,EAIL,KAAK,QAAQ,EAEd,MAAM,wCAAwC,CAAC;AAmBhD,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAE7C,gBAAgB,CAAC,IAAI,EAAE;QAC3B,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAajB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAIjD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE,UAAU,CAAC,MAAM,EAAE;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAajB,IAAI,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAIhE,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIrD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIjE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC;;;;;OAKG;IACG,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC;IA6EtE;;;OAGG;IACG,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC;CAgCzE"}
@@ -1,19 +1,31 @@
1
1
  "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
2
13
  Object.defineProperty(exports, "__esModule", { value: true });
3
14
  exports.DataFlowService = void 0;
15
+ const pulse_solution_services_1 = require("@skedulo/pulse-solution-services");
16
+ const action_names_1 = require("../actions/utils/action-names");
17
+ const errors_1 = require("../actions/utils/errors");
18
+ const constants_1 = require("../constants");
19
+ const data_flow_spec_interface_1 = require("../interfaces/data-flow-spec.interface");
20
+ const artifact_builder_1 = require("../utils/artifact-builder");
21
+ /**
22
+ * The `{{ SKEDULO_API_URL }}` token is substituted with the tenant API host by the
23
+ * platform when the artifact fires.
24
+ */
25
+ function functionCallbackUrl(integrationType) {
26
+ return `{{ SKEDULO_API_URL }}/function/${integrationType}/${integrationType}`;
27
+ }
4
28
  class DataFlowService {
5
- static registerMockFlow(flow) {
6
- const idx = DataFlowService._mockFlows.findIndex((f) => f.id === flow.id);
7
- if (idx >= 0) {
8
- DataFlowService._mockFlows[idx] = flow;
9
- }
10
- else {
11
- DataFlowService._mockFlows.push(flow);
12
- }
13
- }
14
- static clearMockFlows() {
15
- DataFlowService._mockFlows = [];
16
- }
17
29
  constructor(client) {
18
30
  this.client = client;
19
31
  }
@@ -21,7 +33,7 @@ class DataFlowService {
21
33
  const list = await this.client.list({
22
34
  integrationType: args.integrationType,
23
35
  sourceObject: args.sourceObject,
24
- status: 'ACTIVE',
36
+ status: constants_1.DataFlowStatus.ACTIVE,
25
37
  projectId: args.projectId,
26
38
  });
27
39
  if (!list || list.length === 0)
@@ -38,7 +50,7 @@ class DataFlowService {
38
50
  async listActive(filter) {
39
51
  const params = {
40
52
  integrationType: filter.integrationType,
41
- status: 'ACTIVE',
53
+ status: constants_1.DataFlowStatus.ACTIVE,
42
54
  };
43
55
  if (filter.targetSystem)
44
56
  params.targetSystem = filter.targetSystem;
@@ -48,8 +60,127 @@ class DataFlowService {
48
60
  const flows = await Promise.all(list.map((item) => this.client.getById(item.id)));
49
61
  return flows.filter((f) => f !== null);
50
62
  }
63
+ async list(params) {
64
+ return this.client.list(params);
65
+ }
66
+ async create(input) {
67
+ return this.client.create(input);
68
+ }
69
+ async update(id, patch) {
70
+ return this.client.update(id, patch);
71
+ }
72
+ async delete(id) {
73
+ await this.client.delete(id);
74
+ }
75
+ /**
76
+ * Idempotent activate. Two-phase fail-closed semantics:
77
+ * 1. Upsert the PSS artifact (Webhook or TriggeredAction) under a deterministic name.
78
+ * 2. PATCH `triggerConfig.sync_config` on IS (records the artifact), then mark IS ACTIVE.
79
+ * If step 2 fails the artifact is compensatingly deleted.
80
+ */
81
+ async activate(id, ctx) {
82
+ var _a, _b;
83
+ const flow = await this.client.getById(id);
84
+ if (!flow) {
85
+ throw new errors_1.ActionError('FLOW_NOT_FOUND', `Flow ${id} not found`);
86
+ }
87
+ const sc = (0, data_flow_spec_interface_1.asSyncConfig)((_a = flow.triggerConfig) !== null && _a !== void 0 ? _a : null);
88
+ if (!sc) {
89
+ throw new errors_1.ActionError('MISSING_SYNC_STRATEGY', `Flow ${id} has no valid sync strategy in triggerConfig`);
90
+ }
91
+ if (sc.trigger_name) {
92
+ // Already provisioned — just (re)activate on IS.
93
+ await this.client.activate(id);
94
+ const updated = await this.client.getById(id);
95
+ return updated !== null && updated !== void 0 ? updated : flow;
96
+ }
97
+ const name = (0, artifact_builder_1.buildArtifactName)(flow, ctx.integrationType);
98
+ const url = functionCallbackUrl(ctx.integrationType);
99
+ let kind;
100
+ let artifactType;
101
+ let artifact;
102
+ if (sc.strategy === data_flow_spec_interface_1.SyncStrategy.SCHEDULED) {
103
+ // Direction decides push vs pull: outbound (Skedulo source) pushes to the
104
+ // vendor; inbound pulls from it.
105
+ const isOutbound = flow.sourceSystem === constants_1.SKEDULO_SYSTEM;
106
+ kind = data_flow_spec_interface_1.TriggerType.WEBHOOK;
107
+ artifactType = pulse_solution_services_1.ArtifactType.WEBHOOK;
108
+ artifact = (0, artifact_builder_1.buildScheduledWebhookArtifact)({
109
+ name,
110
+ url,
111
+ cron: (0, artifact_builder_1.intervalMinutesToCron)((_b = sc.interval_minutes) !== null && _b !== void 0 ? _b : 0),
112
+ action: isOutbound ? action_names_1.ACTIONS.sync.push : action_names_1.ACTIONS.sync.scheduledPull,
113
+ dataFlowId: flow.id,
114
+ });
115
+ }
116
+ else {
117
+ kind = data_flow_spec_interface_1.TriggerType.TRIGGERED_ACTION;
118
+ artifactType = pulse_solution_services_1.ArtifactType.TRIGGERED_ACTION;
119
+ artifact = (0, artifact_builder_1.buildTriggeredActionArtifact)({
120
+ name,
121
+ url,
122
+ schemaName: flow.sourceObject,
123
+ query: (0, artifact_builder_1.buildSkeduloQuery)(flow),
124
+ dataFlowId: flow.id,
125
+ });
126
+ }
127
+ const client = ctx.newArtifactClient(artifactType);
128
+ await (0, artifact_builder_1.upsertArtifact)(client, name, artifact);
129
+ try {
130
+ // Clean replacement — never merge legacy top-level keys back in. This
131
+ // write is also the lazy migration of pre-rename rows.
132
+ const nextTriggerConfig = {
133
+ sync_config: Object.assign(Object.assign({}, sc), { trigger_name: name, trigger_type: kind }),
134
+ };
135
+ await this.client.update(id, {
136
+ triggerConfig: nextTriggerConfig,
137
+ });
138
+ await this.client.activate(id);
139
+ }
140
+ catch (err) {
141
+ try {
142
+ await (0, artifact_builder_1.deleteArtifactIfExists)(client, name);
143
+ }
144
+ catch (_c) {
145
+ // best-effort compensating delete; surface the original error
146
+ }
147
+ throw err;
148
+ }
149
+ const updated = await this.client.getById(id);
150
+ return updated !== null && updated !== void 0 ? updated : flow;
151
+ }
152
+ /**
153
+ * Inverse of `activate`. Deletes the PSS artifact (404-tolerant), transitions
154
+ * IS to INACTIVE, and clears the artifact reference from `sync_config`.
155
+ */
156
+ async deactivate(id, ctx) {
157
+ var _a;
158
+ const flow = await this.client.getById(id);
159
+ if (!flow) {
160
+ throw new errors_1.ActionError('FLOW_NOT_FOUND', `Flow ${id} not found`);
161
+ }
162
+ const sc = (0, data_flow_spec_interface_1.asSyncConfig)((_a = flow.triggerConfig) !== null && _a !== void 0 ? _a : null);
163
+ if (sc === null || sc === void 0 ? void 0 : sc.trigger_name) {
164
+ const artifactType = sc.trigger_type === data_flow_spec_interface_1.TriggerType.WEBHOOK
165
+ ? pulse_solution_services_1.ArtifactType.WEBHOOK
166
+ : pulse_solution_services_1.ArtifactType.TRIGGERED_ACTION;
167
+ const client = ctx.newArtifactClient(artifactType);
168
+ await (0, artifact_builder_1.deleteArtifactIfExists)(client, sc.trigger_name);
169
+ }
170
+ await this.client.deactivate(id);
171
+ if (sc) {
172
+ // Clean replacement: drop trigger_name/trigger_type, keep strategy/interval.
173
+ const { trigger_name: _n, trigger_type: _t } = sc, rest = __rest(sc, ["trigger_name", "trigger_type"]);
174
+ void _n;
175
+ void _t;
176
+ const nextTriggerConfig = { sync_config: rest };
177
+ await this.client.update(id, {
178
+ triggerConfig: nextTriggerConfig,
179
+ });
180
+ }
181
+ const updated = await this.client.getById(id);
182
+ return updated !== null && updated !== void 0 ? updated : flow;
183
+ }
51
184
  }
52
185
  exports.DataFlowService = DataFlowService;
53
- // TODO: remove when integration service has real data flows
54
- DataFlowService._mockFlows = [];
55
186
  //# sourceMappingURL=dataflow.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataflow.service.js","sourceRoot":"","sources":["../../src/services/dataflow.service.ts"],"names":[],"mappings":";;;AAGA,MAAa,eAAe;IAI1B,MAAM,CAAC,gBAAgB,CAAC,IAAc;QACpC,MAAM,GAAG,GAAG,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1E,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,cAAc;QACnB,eAAe,CAAC,UAAU,GAAG,EAAE,CAAC;IAClC,CAAC;IAED,YAA6B,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;IAAG,CAAC;IAEvD,KAAK,CAAC,gBAAgB,CAAC,IAItB;QACC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAClC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClF,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAiB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,MAAmB;QACpD,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAGhB;QACC,MAAM,MAAM,GAAuB;YACjC,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,MAAM,EAAE,QAAQ;SACjB,CAAC;QACF,IAAI,MAAM,CAAC,YAAY;YAAE,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QAEnE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClF,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAiB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IACxD,CAAC;;AA1DH,0CA2DC;AA1DC,4DAA4D;AAC7C,0BAAU,GAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"dataflow.service.js","sourceRoot":"","sources":["../../src/services/dataflow.service.ts"],"names":[],"mappings":"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"}
@@ -55,15 +55,19 @@ class PreviewService {
55
55
  }
56
56
  exports.PreviewService = PreviewService;
57
57
  async function defaultSampleFetcher(flow, size, ctx) {
58
- if (flow.sourceSystem !== 'skedulo') {
58
+ var _a, _b, _c;
59
+ if (flow.sourceSystem !== constants_1.SKEDULO_SYSTEM) {
59
60
  throw new Error('INBOUND preview requires a sampleFetcher (integration-specific endpoint)');
60
61
  }
62
+ const sourceFields = (_c = (_a = flow.sourceFields) !== null && _a !== void 0 ? _a : (_b = flow.mappingConfig) === null || _b === void 0 ? void 0 : _b.mappings.map((m) => m.expression)) !== null && _c !== void 0 ? _c : [];
63
+ const fields = [...new Set(['UID', ...sourceFields])];
61
64
  const result = await ctx
62
65
  .newQueryBuilder({
63
66
  objectName: flow.sourceObject,
64
67
  operationName: constants_1.OperationName.PREVIEW(flow.id),
65
68
  readOnly: true,
66
69
  })
70
+ .withFields(fields)
67
71
  .withLimit(size)
68
72
  .execute();
69
73
  return result.records;
@@ -1 +1 @@
1
- {"version":3,"file":"preview.service.js","sourceRoot":"","sources":["../../src/services/preview.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preview.service.js","sourceRoot":"","sources":["../../src/services/preview.service.ts"],"names":[],"mappings":"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"}