@skedulo/integration-sdk 0.3.2 → 0.3.3

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 (458) 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 +27 -0
  16. package/dist/actions/event.action.d.ts.map +1 -0
  17. package/dist/actions/event.action.js +89 -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 +201 -0
  30. package/dist/actions/sync.action.js.map +1 -0
  31. package/dist/actions/utils/action-names.d.ts +46 -0
  32. package/dist/actions/utils/action-names.d.ts.map +1 -0
  33. package/dist/actions/utils/action-names.js +48 -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 +48 -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 +81 -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/types.d.ts +2 -1
  104. package/dist/types.d.ts.map +1 -1
  105. package/dist/types.js +5 -1
  106. package/dist/types.js.map +1 -1
  107. package/dist/utils/artifact-builder.d.ts +95 -0
  108. package/dist/utils/artifact-builder.d.ts.map +1 -0
  109. package/dist/utils/artifact-builder.js +142 -0
  110. package/dist/utils/artifact-builder.js.map +1 -0
  111. package/package.json +1 -1
  112. package/dist/adapters/helpers.d.ts +0 -15
  113. package/dist/adapters/helpers.d.ts.map +0 -1
  114. package/dist/adapters/helpers.js +0 -55
  115. package/dist/adapters/helpers.js.map +0 -1
  116. package/dist/adapters/skedulo-metadata-adapter.d.ts +0 -3
  117. package/dist/adapters/skedulo-metadata-adapter.d.ts.map +0 -1
  118. package/dist/adapters/skedulo-metadata-adapter.js +0 -57
  119. package/dist/adapters/skedulo-metadata-adapter.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/upsert-harness.d.ts +0 -15
  125. package/dist/adapters/upsert-harness.d.ts.map +0 -1
  126. package/dist/adapters/upsert-harness.js +0 -55
  127. package/dist/adapters/upsert-harness.js.map +0 -1
  128. package/dist/clients/dataflow-client.d.ts +0 -18
  129. package/dist/clients/dataflow-client.d.ts.map +0 -1
  130. package/dist/clients/dataflow-client.js +0 -43
  131. package/dist/clients/dataflow-client.js.map +0 -1
  132. package/dist/clients/proxy-client.d.ts +0 -13
  133. package/dist/clients/proxy-client.d.ts.map +0 -1
  134. package/dist/clients/proxy-client.js +0 -20
  135. package/dist/clients/proxy-client.js.map +0 -1
  136. package/dist/dist/adapters/skedulo-metadata-adapter.d.ts +0 -3
  137. package/dist/dist/adapters/skedulo-metadata-adapter.d.ts.map +0 -1
  138. package/dist/dist/adapters/skedulo-metadata-adapter.js +0 -57
  139. package/dist/dist/adapters/skedulo-metadata-adapter.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.adapter.d.ts +0 -15
  145. package/dist/dist/adapters/skedulo.adapter.d.ts.map +0 -1
  146. package/dist/dist/adapters/skedulo.adapter.js +0 -213
  147. package/dist/dist/adapters/skedulo.adapter.js.map +0 -1
  148. package/dist/dist/browser.d.ts +0 -12
  149. package/dist/dist/browser.d.ts.map +0 -1
  150. package/dist/dist/browser.js +0 -9
  151. package/dist/dist/browser.js.map +0 -1
  152. package/dist/dist/clients/dataflow-client.d.ts +0 -18
  153. package/dist/dist/clients/dataflow-client.d.ts.map +0 -1
  154. package/dist/dist/clients/dataflow-client.js +0 -43
  155. package/dist/dist/clients/dataflow-client.js.map +0 -1
  156. package/dist/dist/clients/dataflow.client.d.ts +0 -19
  157. package/dist/dist/clients/dataflow.client.d.ts.map +0 -1
  158. package/dist/dist/clients/dataflow.client.js +0 -28
  159. package/dist/dist/clients/dataflow.client.js.map +0 -1
  160. package/dist/dist/clients/proxy-client.d.ts +0 -13
  161. package/dist/dist/clients/proxy-client.d.ts.map +0 -1
  162. package/dist/dist/clients/proxy-client.js +0 -20
  163. package/dist/dist/clients/proxy-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 -21
  167. package/dist/dist/clients/proxy.client.js.map +0 -1
  168. package/dist/dist/constants.d.ts +0 -17
  169. package/dist/dist/constants.d.ts.map +0 -1
  170. package/dist/dist/constants.js +0 -20
  171. package/dist/dist/constants.js.map +0 -1
  172. package/dist/dist/context.d.ts +0 -19
  173. package/dist/dist/context.d.ts.map +0 -1
  174. package/dist/dist/context.js +0 -40
  175. package/dist/dist/context.js.map +0 -1
  176. package/dist/dist/handlers/metadata.handler.d.ts +0 -17
  177. package/dist/dist/handlers/metadata.handler.d.ts.map +0 -1
  178. package/dist/dist/handlers/metadata.handler.js +0 -50
  179. package/dist/dist/handlers/metadata.handler.js.map +0 -1
  180. package/dist/dist/index.d.ts +0 -18
  181. package/dist/dist/index.d.ts.map +0 -1
  182. package/dist/dist/index.js +0 -48
  183. package/dist/dist/index.js.map +0 -1
  184. package/dist/dist/interfaces/adapter.interface.d.ts +0 -122
  185. package/dist/dist/interfaces/adapter.interface.d.ts.map +0 -1
  186. package/dist/dist/interfaces/adapter.interface.js.map +0 -1
  187. package/dist/dist/interfaces/data-flow-spec.interface.d.ts +0 -22
  188. package/dist/dist/interfaces/data-flow-spec.interface.d.ts.map +0 -1
  189. package/dist/dist/interfaces/data-flow-spec.interface.js +0 -3
  190. package/dist/dist/interfaces/data-flow-spec.interface.js.map +0 -1
  191. package/dist/dist/interfaces/field-mapping.interface.d.ts +0 -26
  192. package/dist/dist/interfaces/field-mapping.interface.d.ts.map +0 -1
  193. package/dist/dist/interfaces/field-mapping.interface.js +0 -3
  194. package/dist/dist/interfaces/field-mapping.interface.js.map +0 -1
  195. package/dist/dist/interfaces/filter.interface.d.ts +0 -19
  196. package/dist/dist/interfaces/filter.interface.d.ts.map +0 -1
  197. package/dist/dist/interfaces/filter.interface.js +0 -20
  198. package/dist/dist/interfaces/filter.interface.js.map +0 -1
  199. package/dist/dist/interfaces/integration-capabilities.interface.d.ts +0 -13
  200. package/dist/dist/interfaces/integration-capabilities.interface.d.ts.map +0 -1
  201. package/dist/dist/interfaces/integration-capabilities.interface.js +0 -3
  202. package/dist/dist/interfaces/integration-capabilities.interface.js.map +0 -1
  203. package/dist/dist/interfaces/lookup-rule.interface.d.ts +0 -14
  204. package/dist/dist/interfaces/lookup-rule.interface.d.ts.map +0 -1
  205. package/dist/dist/interfaces/lookup-rule.interface.js +0 -3
  206. package/dist/dist/interfaces/lookup-rule.interface.js.map +0 -1
  207. package/dist/dist/interfaces/mapped-event.interface.d.ts +0 -9
  208. package/dist/dist/interfaces/mapped-event.interface.d.ts.map +0 -1
  209. package/dist/dist/interfaces/mapped-event.interface.js +0 -3
  210. package/dist/dist/interfaces/mapped-event.interface.js.map +0 -1
  211. package/dist/dist/interfaces/mapping-config.interface.d.ts +0 -26
  212. package/dist/dist/interfaces/mapping-config.interface.d.ts.map +0 -1
  213. package/dist/dist/interfaces/mapping-config.interface.js +0 -3
  214. package/dist/dist/interfaces/mapping-config.interface.js.map +0 -1
  215. package/dist/dist/interfaces/metadata-adapter.interface.d.ts +0 -26
  216. package/dist/dist/interfaces/metadata-adapter.interface.d.ts.map +0 -1
  217. package/dist/dist/interfaces/metadata-adapter.interface.js +0 -3
  218. package/dist/dist/interfaces/metadata-adapter.interface.js.map +0 -1
  219. package/dist/dist/interfaces/pull-adapter.interface.d.ts +0 -50
  220. package/dist/dist/interfaces/pull-adapter.interface.d.ts.map +0 -1
  221. package/dist/dist/interfaces/pull-adapter.interface.js +0 -3
  222. package/dist/dist/interfaces/pull-adapter.interface.js.map +0 -1
  223. package/dist/dist/interfaces/push-adapter.interface.d.ts +0 -28
  224. package/dist/dist/interfaces/push-adapter.interface.d.ts.map +0 -1
  225. package/dist/dist/interfaces/push-adapter.interface.js +0 -3
  226. package/dist/dist/interfaces/push-adapter.interface.js.map +0 -1
  227. package/dist/dist/interfaces/sample-fetcher.interface.d.ts +0 -4
  228. package/dist/dist/interfaces/sample-fetcher.interface.d.ts.map +0 -1
  229. package/dist/dist/interfaces/sample-fetcher.interface.js +0 -3
  230. package/dist/dist/interfaces/sample-fetcher.interface.js.map +0 -1
  231. package/dist/dist/interfaces/sync-result.interface.d.ts +0 -19
  232. package/dist/dist/interfaces/sync-result.interface.d.ts.map +0 -1
  233. package/dist/dist/interfaces/sync-result.interface.js +0 -3
  234. package/dist/dist/interfaces/sync-result.interface.js.map +0 -1
  235. package/dist/dist/interfaces/target-adapter.interface.d.ts +0 -10
  236. package/dist/dist/interfaces/target-adapter.interface.d.ts.map +0 -1
  237. package/dist/dist/interfaces/target-adapter.interface.js +0 -3
  238. package/dist/dist/interfaces/target-adapter.interface.js.map +0 -1
  239. package/dist/dist/mocks/hubspot.d.ts +0 -4
  240. package/dist/dist/mocks/hubspot.d.ts.map +0 -1
  241. package/dist/dist/mocks/hubspot.js +0 -61
  242. package/dist/dist/mocks/hubspot.js.map +0 -1
  243. package/dist/dist/provenance.d.ts +0 -3
  244. package/dist/dist/provenance.d.ts.map +0 -1
  245. package/dist/dist/provenance.js +0 -12
  246. package/dist/dist/provenance.js.map +0 -1
  247. package/dist/dist/services/dataflow-service.d.ts +0 -21
  248. package/dist/dist/services/dataflow-service.d.ts.map +0 -1
  249. package/dist/dist/services/dataflow-service.js +0 -47
  250. package/dist/dist/services/dataflow-service.js.map +0 -1
  251. package/dist/dist/services/dataflow.service.d.ts +0 -20
  252. package/dist/dist/services/dataflow.service.d.ts.map +0 -1
  253. package/dist/dist/services/dataflow.service.js +0 -52
  254. package/dist/dist/services/dataflow.service.js.map +0 -1
  255. package/dist/dist/services/eql.d.ts +0 -2
  256. package/dist/dist/services/eql.d.ts.map +0 -1
  257. package/dist/dist/services/eql.js +0 -10
  258. package/dist/dist/services/eql.js.map +0 -1
  259. package/dist/dist/services/mapping-service.d.ts +0 -14
  260. package/dist/dist/services/mapping-service.d.ts.map +0 -1
  261. package/dist/dist/services/mapping-service.js +0 -88
  262. package/dist/dist/services/mapping-service.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 -89
  266. package/dist/dist/services/mapping.service.js.map +0 -1
  267. package/dist/dist/services/outbound-service.d.ts +0 -14
  268. package/dist/dist/services/outbound-service.d.ts.map +0 -1
  269. package/dist/dist/services/outbound-service.js +0 -65
  270. package/dist/dist/services/outbound-service.js.map +0 -1
  271. package/dist/dist/services/paragon-workflow-service.d.ts +0 -7
  272. package/dist/dist/services/paragon-workflow-service.d.ts.map +0 -1
  273. package/dist/dist/services/paragon-workflow-service.js +0 -68
  274. package/dist/dist/services/paragon-workflow-service.js.map +0 -1
  275. package/dist/dist/services/paragon-workflow.service.d.ts +0 -8
  276. package/dist/dist/services/paragon-workflow.service.d.ts.map +0 -1
  277. package/dist/dist/services/paragon-workflow.service.js +0 -31
  278. package/dist/dist/services/paragon-workflow.service.js.map +0 -1
  279. package/dist/dist/services/preview-service.d.ts +0 -11
  280. package/dist/dist/services/preview-service.d.ts.map +0 -1
  281. package/dist/dist/services/preview-service.js +0 -66
  282. package/dist/dist/services/preview-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 -74
  286. package/dist/dist/services/preview.service.js.map +0 -1
  287. package/dist/dist/services/pull-service.d.ts +0 -9
  288. package/dist/dist/services/pull-service.d.ts.map +0 -1
  289. package/dist/dist/services/pull-service.js +0 -207
  290. package/dist/dist/services/pull-service.js.map +0 -1
  291. package/dist/dist/services/pull.service.d.ts +0 -11
  292. package/dist/dist/services/pull.service.d.ts.map +0 -1
  293. package/dist/dist/services/pull.service.js +0 -200
  294. package/dist/dist/services/pull.service.js.map +0 -1
  295. package/dist/dist/services/push-service.d.ts +0 -16
  296. package/dist/dist/services/push-service.d.ts.map +0 -1
  297. package/dist/dist/services/push-service.js +0 -76
  298. package/dist/dist/services/push-service.js.map +0 -1
  299. package/dist/dist/services/push.service.d.ts +0 -19
  300. package/dist/dist/services/push.service.d.ts.map +0 -1
  301. package/dist/dist/services/push.service.js +0 -186
  302. package/dist/dist/services/push.service.js.map +0 -1
  303. package/dist/dist/services/scheduled-pull-service.d.ts +0 -7
  304. package/dist/dist/services/scheduled-pull-service.d.ts.map +0 -1
  305. package/dist/dist/services/scheduled-pull-service.js +0 -58
  306. package/dist/dist/services/scheduled-pull-service.js.map +0 -1
  307. package/dist/dist/services/split-filter.d.ts +0 -3
  308. package/dist/dist/services/split-filter.d.ts.map +0 -1
  309. package/dist/dist/services/split-filter.js +0 -50
  310. package/dist/dist/services/split-filter.js.map +0 -1
  311. package/dist/dist/services/sync-runner.d.ts +0 -22
  312. package/dist/dist/services/sync-runner.d.ts.map +0 -1
  313. package/dist/dist/services/sync-runner.js +0 -110
  314. package/dist/dist/services/sync-runner.js.map +0 -1
  315. package/dist/dist/services/sync.service.d.ts +0 -21
  316. package/dist/dist/services/sync.service.d.ts.map +0 -1
  317. package/dist/dist/services/sync.service.js +0 -166
  318. package/dist/dist/services/sync.service.js.map +0 -1
  319. package/dist/dist/types.d.ts +0 -11
  320. package/dist/dist/types.d.ts.map +0 -1
  321. package/dist/dist/types.js +0 -6
  322. package/dist/dist/types.js.map +0 -1
  323. package/dist/dist/utils/compileFilter.d.ts +0 -3
  324. package/dist/dist/utils/compileFilter.d.ts.map +0 -1
  325. package/dist/dist/utils/compileFilter.js +0 -73
  326. package/dist/dist/utils/compileFilter.js.map +0 -1
  327. package/dist/dist/utils/normalizeDataFlow.d.ts +0 -3
  328. package/dist/dist/utils/normalizeDataFlow.d.ts.map +0 -1
  329. package/dist/dist/utils/normalizeDataFlow.js +0 -30
  330. package/dist/dist/utils/normalizeDataFlow.js.map +0 -1
  331. package/dist/dist/utils.d.ts +0 -2
  332. package/dist/dist/utils.d.ts.map +0 -1
  333. package/dist/dist/utils.js +0 -10
  334. package/dist/dist/utils.js.map +0 -1
  335. package/dist/handlers/metadata.handler.d.ts +0 -13
  336. package/dist/handlers/metadata.handler.d.ts.map +0 -1
  337. package/dist/handlers/metadata.handler.js +0 -46
  338. package/dist/handlers/metadata.handler.js.map +0 -1
  339. package/dist/interfaces/mapping-config.interface.d.ts +0 -26
  340. package/dist/interfaces/mapping-config.interface.d.ts.map +0 -1
  341. package/dist/interfaces/mapping-config.interface.js +0 -3
  342. package/dist/interfaces/mapping-config.interface.js.map +0 -1
  343. package/dist/interfaces/metadata-adapter.interface.d.ts +0 -26
  344. package/dist/interfaces/metadata-adapter.interface.d.ts.map +0 -1
  345. package/dist/interfaces/metadata-adapter.interface.js +0 -3
  346. package/dist/interfaces/metadata-adapter.interface.js.map +0 -1
  347. package/dist/interfaces/pull-adapter.interface.d.ts +0 -50
  348. package/dist/interfaces/pull-adapter.interface.d.ts.map +0 -1
  349. package/dist/interfaces/pull-adapter.interface.js +0 -3
  350. package/dist/interfaces/pull-adapter.interface.js.map +0 -1
  351. package/dist/interfaces/push-adapter.interface.d.ts +0 -28
  352. package/dist/interfaces/push-adapter.interface.d.ts.map +0 -1
  353. package/dist/interfaces/push-adapter.interface.js +0 -3
  354. package/dist/interfaces/push-adapter.interface.js.map +0 -1
  355. package/dist/interfaces/target-adapter.interface.d.ts +0 -10
  356. package/dist/interfaces/target-adapter.interface.d.ts.map +0 -1
  357. package/dist/interfaces/target-adapter.interface.js +0 -3
  358. package/dist/interfaces/target-adapter.interface.js.map +0 -1
  359. package/dist/mocks/hubspot.d.ts +0 -4
  360. package/dist/mocks/hubspot.d.ts.map +0 -1
  361. package/dist/mocks/hubspot.js +0 -61
  362. package/dist/mocks/hubspot.js.map +0 -1
  363. package/dist/provenance.d.ts +0 -3
  364. package/dist/provenance.d.ts.map +0 -1
  365. package/dist/provenance.js +0 -12
  366. package/dist/provenance.js.map +0 -1
  367. package/dist/services/dataflow-service.d.ts +0 -21
  368. package/dist/services/dataflow-service.d.ts.map +0 -1
  369. package/dist/services/dataflow-service.js +0 -47
  370. package/dist/services/dataflow-service.js.map +0 -1
  371. package/dist/services/eql.d.ts +0 -2
  372. package/dist/services/eql.d.ts.map +0 -1
  373. package/dist/services/eql.js +0 -10
  374. package/dist/services/eql.js.map +0 -1
  375. package/dist/services/mapping-service.d.ts +0 -14
  376. package/dist/services/mapping-service.d.ts.map +0 -1
  377. package/dist/services/mapping-service.js +0 -88
  378. package/dist/services/mapping-service.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 -89
  382. package/dist/services/mapping.service.js.map +0 -1
  383. package/dist/services/outbound-service.d.ts +0 -14
  384. package/dist/services/outbound-service.d.ts.map +0 -1
  385. package/dist/services/outbound-service.js +0 -65
  386. package/dist/services/outbound-service.js.map +0 -1
  387. package/dist/services/paragon-workflow-service.d.ts +0 -7
  388. package/dist/services/paragon-workflow-service.d.ts.map +0 -1
  389. package/dist/services/paragon-workflow-service.js +0 -68
  390. package/dist/services/paragon-workflow-service.js.map +0 -1
  391. package/dist/services/paragon-workflow.service.d.ts +0 -8
  392. package/dist/services/paragon-workflow.service.d.ts.map +0 -1
  393. package/dist/services/paragon-workflow.service.js +0 -31
  394. package/dist/services/paragon-workflow.service.js.map +0 -1
  395. package/dist/services/preview-service.d.ts +0 -11
  396. package/dist/services/preview-service.d.ts.map +0 -1
  397. package/dist/services/preview-service.js +0 -66
  398. package/dist/services/preview-service.js.map +0 -1
  399. package/dist/services/pull-service.d.ts +0 -9
  400. package/dist/services/pull-service.d.ts.map +0 -1
  401. package/dist/services/pull-service.js +0 -207
  402. package/dist/services/pull-service.js.map +0 -1
  403. package/dist/services/pull.service.d.ts +0 -11
  404. package/dist/services/pull.service.d.ts.map +0 -1
  405. package/dist/services/pull.service.js +0 -200
  406. package/dist/services/pull.service.js.map +0 -1
  407. package/dist/services/push-service.d.ts +0 -16
  408. package/dist/services/push-service.d.ts.map +0 -1
  409. package/dist/services/push-service.js +0 -76
  410. package/dist/services/push-service.js.map +0 -1
  411. package/dist/services/push.service.d.ts +0 -19
  412. package/dist/services/push.service.d.ts.map +0 -1
  413. package/dist/services/push.service.js +0 -186
  414. package/dist/services/push.service.js.map +0 -1
  415. package/dist/services/routes.factory.d.ts +0 -19
  416. package/dist/services/routes.factory.d.ts.map +0 -1
  417. package/dist/services/routes.factory.js +0 -352
  418. package/dist/services/routes.factory.js.map +0 -1
  419. package/dist/services/scheduled-pull-service.d.ts +0 -7
  420. package/dist/services/scheduled-pull-service.d.ts.map +0 -1
  421. package/dist/services/scheduled-pull-service.js +0 -58
  422. package/dist/services/scheduled-pull-service.js.map +0 -1
  423. package/dist/services/split-filter.d.ts +0 -3
  424. package/dist/services/split-filter.d.ts.map +0 -1
  425. package/dist/services/split-filter.js +0 -50
  426. package/dist/services/split-filter.js.map +0 -1
  427. package/dist/utils/auth.d.ts +0 -6
  428. package/dist/utils/auth.d.ts.map +0 -1
  429. package/dist/utils/auth.js +0 -18
  430. package/dist/utils/auth.js.map +0 -1
  431. package/dist/utils/http-response.d.ts +0 -16
  432. package/dist/utils/http-response.d.ts.map +0 -1
  433. package/dist/utils/http-response.js +0 -36
  434. package/dist/utils/http-response.js.map +0 -1
  435. package/dist/utils/normalizeDataFlow.d.ts +0 -3
  436. package/dist/utils/normalizeDataFlow.d.ts.map +0 -1
  437. package/dist/utils/normalizeDataFlow.js +0 -37
  438. package/dist/utils/normalizeDataFlow.js.map +0 -1
  439. package/dist/utils/query-string.d.ts +0 -2
  440. package/dist/utils/query-string.d.ts.map +0 -1
  441. package/dist/utils/query-string.js +0 -13
  442. package/dist/utils/query-string.js.map +0 -1
  443. package/dist/utils/sked-handler.d.ts +0 -22
  444. package/dist/utils/sked-handler.d.ts.map +0 -1
  445. package/dist/utils/sked-handler.js +0 -41
  446. package/dist/utils/sked-handler.js.map +0 -1
  447. package/dist/utils/strings.d.ts +0 -2
  448. package/dist/utils/strings.d.ts.map +0 -1
  449. package/dist/utils/strings.js +0 -14
  450. package/dist/utils/strings.js.map +0 -1
  451. package/dist/utils/unwrap-proxy.d.ts +0 -2
  452. package/dist/utils/unwrap-proxy.d.ts.map +0 -1
  453. package/dist/utils/unwrap-proxy.js +0 -12
  454. package/dist/utils/unwrap-proxy.js.map +0 -1
  455. package/dist/utils.d.ts +0 -2
  456. package/dist/utils.d.ts.map +0 -1
  457. package/dist/utils.js +0 -10
  458. package/dist/utils.js.map +0 -1
package/dist/types.d.ts CHANGED
@@ -2,7 +2,8 @@ export type { LookupRule } from './interfaces/lookup-rule.interface';
2
2
  export type { FieldMapping, MappingConfigDto } from './interfaces/field-mapping.interface';
3
3
  export type { FilterOperator, FilterOperatorOption, FilterRule, FilterSpec, } from './interfaces/filter.interface';
4
4
  export { FILTER_OPERATORS } from './interfaces/filter.interface';
5
- export type { DataFlow } from './interfaces/data-flow-spec.interface';
5
+ export type { DataFlow, SyncConfig, TriggerConfig } from './interfaces/data-flow-spec.interface';
6
+ export { asSyncConfig, SyncStrategy, TriggerType } from './interfaces/data-flow-spec.interface';
6
7
  export type { MappedEvent } from './interfaces/mapped-event.interface';
7
8
  export type { SyncResult, BatchResult, PreviewResult } from './interfaces/sync-result.interface';
8
9
  export type { SampleFetcher } from './interfaces/sample-fetcher.interface';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAC3F,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,GACb,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAC3F,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,UAAU,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAChG,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,GACb,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC"}
package/dist/types.js CHANGED
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FILTER_OPERATORS = void 0;
3
+ exports.TriggerType = exports.SyncStrategy = exports.asSyncConfig = exports.FILTER_OPERATORS = void 0;
4
4
  var filter_interface_1 = require("./interfaces/filter.interface");
5
5
  Object.defineProperty(exports, "FILTER_OPERATORS", { enumerable: true, get: function () { return filter_interface_1.FILTER_OPERATORS; } });
6
+ var data_flow_spec_interface_1 = require("./interfaces/data-flow-spec.interface");
7
+ Object.defineProperty(exports, "asSyncConfig", { enumerable: true, get: function () { return data_flow_spec_interface_1.asSyncConfig; } });
8
+ Object.defineProperty(exports, "SyncStrategy", { enumerable: true, get: function () { return data_flow_spec_interface_1.SyncStrategy; } });
9
+ Object.defineProperty(exports, "TriggerType", { enumerable: true, get: function () { return data_flow_spec_interface_1.TriggerType; } });
6
10
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAQA,kEAAiE;AAAxD,oHAAA,gBAAgB,OAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAQA,kEAAiE;AAAxD,oHAAA,gBAAgB,OAAA;AAEzB,kFAAgG;AAAvF,wHAAA,YAAY,OAAA;AAAE,wHAAA,YAAY,OAAA;AAAE,uHAAA,WAAW,OAAA"}
@@ -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/utils/artifact-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,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/utils/artifact-builder.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skedulo/integration-sdk",
3
- "version": "0.3.2",
3
+ "version": "0.3.3",
4
4
  "description": "Runtime SDK for Skedulo integration data flows",
5
5
  "license": "ISC",
6
6
  "main": "dist/index.js",
@@ -1,15 +0,0 @@
1
- import type { UpsertOutcome } from '../interfaces/adapter.interface';
2
- export type RetryClass = 'transient' | 'permanent';
3
- export declare function classifyHttpStatus(status: number | undefined): RetryClass;
4
- export declare function runUpsertBatch<T>(records: T[], perRecord: (record: T, index: number) => Promise<UpsertOutcome>): Promise<UpsertOutcome[]>;
5
- export interface StaleMappingArgs {
6
- attemptUpdate: () => Promise<UpsertOutcome>;
7
- isStale: (outcome: UpsertOutcome) => boolean;
8
- retryAsCreate: () => Promise<UpsertOutcome>;
9
- }
10
- export declare function handleStaleMapping(args: StaleMappingArgs): Promise<UpsertOutcome>;
11
- export declare function defaultBuildMappingEntries(sourceIds: string[], outcomes: UpsertOutcome[]): Array<{
12
- sourceId: string;
13
- targetId: string;
14
- }>;
15
- //# sourceMappingURL=helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/adapters/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;AAKnD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAKzE;AAKD,wBAAsB,cAAc,CAAC,CAAC,EACpC,OAAO,EAAE,CAAC,EAAE,EACZ,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,GAC9D,OAAO,CAAC,aAAa,EAAE,CAAC,CAa1B;AAED,MAAM,WAAW,gBAAgB;IAG/B,aAAa,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAI5C,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC;IAE7C,aAAa,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;CAC7C;AAID,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CAQvF;AAKD,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EAAE,EACnB,QAAQ,EAAE,aAAa,EAAE,GACxB,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAI/C"}
@@ -1,55 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.classifyHttpStatus = classifyHttpStatus;
4
- exports.runUpsertBatch = runUpsertBatch;
5
- exports.handleStaleMapping = handleStaleMapping;
6
- exports.defaultBuildMappingEntries = defaultBuildMappingEntries;
7
- // Classify an HTTP status code into a UpsertOutcome retry class.
8
- // undefined → transient (no response = network/timeout). 429, 408, 425, 5xx → transient.
9
- // Everything else → permanent.
10
- function classifyHttpStatus(status) {
11
- if (status === undefined)
12
- return 'transient';
13
- if (status === 429 || status === 408 || status === 425)
14
- return 'transient';
15
- if (status >= 500)
16
- return 'transient';
17
- return 'permanent';
18
- }
19
- // Run an async per-record function over a batch in parallel. Any thrown
20
- // exception is converted into a permanent UpsertOutcome carrying the message.
21
- // Outcomes are returned in input order; the perRecord fn receives the index too.
22
- async function runUpsertBatch(records, perRecord) {
23
- return Promise.all(records.map(async (record, index) => {
24
- try {
25
- return await perRecord(record, index);
26
- }
27
- catch (err) {
28
- return {
29
- status: 'permanent',
30
- error: err instanceof Error ? err.message : String(err),
31
- };
32
- }
33
- }));
34
- }
35
- // Run update → if stale (target gone), retry as create and mark wasCreated.
36
- // IdMappingSyncStrategy uses wasCreated to overwrite the stale mapping entry.
37
- async function handleStaleMapping(args) {
38
- const updateOutcome = await args.attemptUpdate();
39
- if (!args.isStale(updateOutcome))
40
- return updateOutcome;
41
- const createOutcome = await args.retryAsCreate();
42
- if (createOutcome.status === 'ok') {
43
- return Object.assign(Object.assign({}, createOutcome), { wasCreated: true });
44
- }
45
- return createOutcome;
46
- }
47
- // Default mapping for buildMappingEntries(): zip sourceIds with outcome.result.
48
- // Strips entries whose target ID resolves to an empty string.
49
- // Adapters override only when their .result shape differs from "the target ID".
50
- function defaultBuildMappingEntries(sourceIds, outcomes) {
51
- return sourceIds
52
- .map((sourceId, i) => { var _a, _b; return ({ sourceId, targetId: String((_b = (_a = outcomes[i]) === null || _a === void 0 ? void 0 : _a.result) !== null && _b !== void 0 ? _b : '') }); })
53
- .filter(({ targetId }) => targetId.length > 0);
54
- }
55
- //# sourceMappingURL=helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/adapters/helpers.ts"],"names":[],"mappings":";;AAOA,gDAKC;AAKD,wCAgBC;AAgBD,gDAQC;AAKD,gEAOC;AAjED,iEAAiE;AACjE,yFAAyF;AACzF,+BAA+B;AAC/B,SAAgB,kBAAkB,CAAC,MAA0B;IAC3D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC;IAC7C,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,WAAW,CAAC;IAC3E,IAAI,MAAM,IAAI,GAAG;QAAE,OAAO,WAAW,CAAC;IACtC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,wEAAwE;AACxE,8EAA8E;AAC9E,iFAAiF;AAC1E,KAAK,UAAU,cAAc,CAClC,OAAY,EACZ,SAA+D;IAE/D,OAAO,OAAO,CAAC,GAAG,CAChB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;QAClC,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,MAAM,EAAE,WAAoB;gBAC5B,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAcD,4EAA4E;AAC5E,8EAA8E;AACvE,KAAK,UAAU,kBAAkB,CAAC,IAAsB;IAC7D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IACjD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QAAE,OAAO,aAAa,CAAC;IACvD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IACjD,IAAI,aAAa,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAClC,uCAAY,aAAa,KAAE,UAAU,EAAE,IAAI,IAAG;IAChD,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,gFAAgF;AAChF,8DAA8D;AAC9D,gFAAgF;AAChF,SAAgB,0BAA0B,CACxC,SAAmB,EACnB,QAAyB;IAEzB,OAAO,SAAS;SACb,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,eAAC,OAAA,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAA,MAAA,QAAQ,CAAC,CAAC,CAAC,0CAAE,MAAM,mCAAI,EAAE,CAAC,EAAE,CAAC,CAAA,EAAA,CAAC;SACjF,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACnD,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { MetadataAdapter } from '../types';
2
- export declare const skeduloMetadataAdapter: MetadataAdapter;
3
- //# sourceMappingURL=skedulo-metadata-adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skedulo-metadata-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/skedulo-metadata-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,eAAe,EAA4B,MAAM,UAAU,CAAC;AAErF,eAAO,MAAM,sBAAsB,EAAE,eA6CpC,CAAC"}
@@ -1,57 +0,0 @@
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
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.skeduloMetadataAdapter = void 0;
15
- exports.skeduloMetadataAdapter = {
16
- async listObjects(ctx) {
17
- const metadata = await ctx.metadataClient.fetchAllMetadata();
18
- return metadata
19
- .filter((m) => m.name != null)
20
- .map((m) => ({ name: m.name, label: m.name }));
21
- },
22
- async listFields(ctx, objectName) {
23
- var _a, _b;
24
- const all = await ctx.metadataClient.fetchAllMetadata();
25
- const entry = (all !== null && all !== void 0 ? all : []).find((m) => m.name === objectName || m.mapping === objectName);
26
- const lookupKey = (_a = entry === null || entry === void 0 ? void 0 : entry.mapping) !== null && _a !== void 0 ? _a : objectName;
27
- const metadata = await ctx.metadataClient.fetchObjectMetadata(lookupKey);
28
- return ((_b = metadata.fields) !== null && _b !== void 0 ? _b : [])
29
- .map((f) => {
30
- var _a;
31
- return ({
32
- name: f.name,
33
- label: (_a = f.label) !== null && _a !== void 0 ? _a : f.name,
34
- type: f.type,
35
- expression: f.name,
36
- readOnly: f.accessMode === 'read_only',
37
- required: f.nillable === false && f.accessMode == 'read_write',
38
- });
39
- });
40
- },
41
- async fetchSampleRecords(ctx, objectName, properties, limit) {
42
- var _a;
43
- const fields = ['UID', ...properties.filter((p) => p !== 'UID')];
44
- const builder = ctx.newQueryBuilder({
45
- objectName,
46
- operationName: 'metadataSample',
47
- readOnly: true,
48
- });
49
- const result = await builder.withFields(fields).withLimit(limit).execute();
50
- const records = ((_a = result === null || result === void 0 ? void 0 : result.records) !== null && _a !== void 0 ? _a : []);
51
- return records.map((r) => {
52
- const _a = r, { UID } = _a, rest = __rest(_a, ["UID"]);
53
- return { id: String(UID !== null && UID !== void 0 ? UID : ''), properties: rest };
54
- });
55
- },
56
- };
57
- //# sourceMappingURL=skedulo-metadata-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skedulo-metadata-adapter.js","sourceRoot":"","sources":["../../src/adapters/skedulo-metadata-adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGa,QAAA,sBAAsB,GAAoB;IACrD,KAAK,CAAC,WAAW,CAAC,GAAuB;QACvC,MAAM,QAAQ,GAAG,MAAO,GAAW,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;QACtE,OAAO,QAAQ;aACZ,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;aAClC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAuB,EAAE,UAAkB;;QAC1D,MAAM,GAAG,GAAG,MAAO,GAAW,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,CAAC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,CAAC,CAAC,IAAI,CAC5B,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,OAAO,KAAK,UAAU,CAC9D,CAAC;QACF,MAAM,SAAS,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,mCAAI,UAAU,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAO,GAAW,CAAC,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAClF,OAAO,CAAC,MAAA,QAAQ,CAAC,MAAM,mCAAI,EAAE,CAAC;aAC3B,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;;YAAC,OAAA,CAAC;gBAChB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,MAAA,CAAC,CAAC,KAAK,mCAAI,CAAC,CAAC,IAAI;gBACxB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,UAAU,EAAE,CAAC,CAAC,IAAI;gBAClB,QAAQ,EAAE,CAAC,CAAC,UAAU,KAAK,WAAW;gBACtC,QAAQ,EAAE,CAAC,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,UAAU,IAAI,YAAY;aAC/D,CAAC,CAAA;SAAA,CAAC,CAAC;IACR,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,GAAuB,EACvB,UAAkB,EAClB,UAAoB,EACpB,KAAa;;QAEb,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;QACjE,MAAM,OAAO,GAAI,GAAW,CAAC,eAAe,CAAC;YAC3C,UAAU;YACV,aAAa,EAAE,gBAAgB;YAC/B,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3E,MAAM,OAAO,GAAG,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,mCAAI,EAAE,CAAmC,CAAC;QAC1E,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACvB,MAAM,KAAmB,CAA+C,EAAlE,EAAE,GAAG,OAA6D,EAAxD,IAAI,cAAd,OAAgB,CAAkD,CAAC;YACzE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { MetadataAdapter } from '../types';
2
- export declare const skeduloMetadataAdapter: MetadataAdapter;
3
- //# sourceMappingURL=skedulo-metadata.adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skedulo-metadata.adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/skedulo-metadata.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,eAAe,EAA4B,MAAM,UAAU,CAAC;AAGrF,eAAO,MAAM,sBAAsB,EAAE,eA0CpC,CAAC"}
@@ -1,57 +0,0 @@
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
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.skeduloMetadataAdapter = void 0;
15
- const constants_1 = require("../constants");
16
- exports.skeduloMetadataAdapter = {
17
- async listObjects(ctx) {
18
- const metadata = await ctx.metadataClient.fetchAllMetadata();
19
- return metadata
20
- .filter((m) => m.name != null)
21
- .map((m) => ({ name: m.name, label: m.name }));
22
- },
23
- async listFields(ctx, objectName) {
24
- var _a, _b;
25
- const all = await ctx.metadataClient.fetchAllMetadata();
26
- const entry = (all !== null && all !== void 0 ? all : []).find((m) => m.name === objectName || m.mapping === objectName);
27
- const lookupKey = (_a = entry === null || entry === void 0 ? void 0 : entry.mapping) !== null && _a !== void 0 ? _a : objectName;
28
- const metadata = await ctx.metadataClient.fetchObjectMetadata(lookupKey);
29
- return ((_b = metadata.fields) !== null && _b !== void 0 ? _b : []).map((f) => {
30
- var _a;
31
- return ({
32
- name: f.name,
33
- label: (_a = f.label) !== null && _a !== void 0 ? _a : f.name,
34
- type: f.type,
35
- expression: f.name,
36
- readOnly: f.accessMode === 'read_only',
37
- required: f.nillable === false && f.accessMode == 'read_write',
38
- });
39
- });
40
- },
41
- async fetchSampleRecords(ctx, objectName, properties, limit) {
42
- var _a;
43
- const fields = ['UID', ...properties.filter((p) => p !== 'UID')];
44
- const builder = ctx.newQueryBuilder({
45
- objectName,
46
- operationName: constants_1.OperationName.METADATA_SAMPLE,
47
- readOnly: true,
48
- });
49
- const result = await builder.withFields(fields).withLimit(limit).execute();
50
- const records = ((_a = result === null || result === void 0 ? void 0 : result.records) !== null && _a !== void 0 ? _a : []);
51
- return records.map((r) => {
52
- const _a = r, { UID } = _a, rest = __rest(_a, ["UID"]);
53
- return { id: String(UID !== null && UID !== void 0 ? UID : ''), properties: rest };
54
- });
55
- },
56
- };
57
- //# sourceMappingURL=skedulo-metadata.adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skedulo-metadata.adapter.js","sourceRoot":"","sources":["../../src/adapters/skedulo-metadata.adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,4CAA6C;AAEhC,QAAA,sBAAsB,GAAoB;IACrD,KAAK,CAAC,WAAW,CAAC,GAAuB;QACvC,MAAM,QAAQ,GAAG,MAAO,GAAW,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;QACtE,OAAO,QAAQ;aACZ,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC;aAClC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAuB,EAAE,UAAkB;;QAC1D,MAAM,GAAG,GAAG,MAAO,GAAW,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,CAAC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC;QAC9F,MAAM,SAAS,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,mCAAI,UAAU,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAO,GAAW,CAAC,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAClF,OAAO,CAAC,MAAA,QAAQ,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;;YAAC,OAAA,CAAC;gBAC9C,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,MAAA,CAAC,CAAC,KAAK,mCAAI,CAAC,CAAC,IAAI;gBACxB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,UAAU,EAAE,CAAC,CAAC,IAAI;gBAClB,QAAQ,EAAE,CAAC,CAAC,UAAU,KAAK,WAAW;gBACtC,QAAQ,EAAE,CAAC,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,UAAU,IAAI,YAAY;aAC/D,CAAC,CAAA;SAAA,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,GAAuB,EACvB,UAAkB,EAClB,UAAoB,EACpB,KAAa;;QAEb,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;QACjE,MAAM,OAAO,GAAI,GAAW,CAAC,eAAe,CAAC;YAC3C,UAAU;YACV,aAAa,EAAE,yBAAa,CAAC,eAAe;YAC5C,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3E,MAAM,OAAO,GAAG,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,mCAAI,EAAE,CAAmC,CAAC;QAC1E,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACvB,MAAM,KAAmB,CAA+C,EAAlE,EAAE,GAAG,OAA6D,EAAxD,IAAI,cAAd,OAAgB,CAAkD,CAAC;YACzE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -1,15 +0,0 @@
1
- import type { UpsertOutcome } from '../interfaces/adapter.interface';
2
- export type RetryClass = 'transient' | 'permanent';
3
- export declare function classifyHttpStatus(status: number | undefined): RetryClass;
4
- export declare function runUpsertBatch<T>(records: T[], perRecord: (record: T, index: number) => Promise<UpsertOutcome>): Promise<UpsertOutcome[]>;
5
- export interface StaleMappingArgs {
6
- attemptUpdate: () => Promise<UpsertOutcome>;
7
- isStale: (outcome: UpsertOutcome) => boolean;
8
- retryAsCreate: () => Promise<UpsertOutcome>;
9
- }
10
- export declare function handleStaleMapping(args: StaleMappingArgs): Promise<UpsertOutcome>;
11
- export declare function defaultBuildMappingEntries(sourceIds: string[], outcomes: UpsertOutcome[]): Array<{
12
- sourceId: string;
13
- targetId: string;
14
- }>;
15
- //# sourceMappingURL=upsert-harness.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upsert-harness.d.ts","sourceRoot":"","sources":["../../src/adapters/upsert-harness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;AAKnD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAKzE;AAKD,wBAAsB,cAAc,CAAC,CAAC,EACpC,OAAO,EAAE,CAAC,EAAE,EACZ,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,GAC9D,OAAO,CAAC,aAAa,EAAE,CAAC,CAa1B;AAED,MAAM,WAAW,gBAAgB;IAG/B,aAAa,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAI5C,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC;IAE7C,aAAa,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;CAC7C;AAID,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CAQvF;AAKD,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EAAE,EACnB,QAAQ,EAAE,aAAa,EAAE,GACxB,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAI/C"}
@@ -1,55 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.classifyHttpStatus = classifyHttpStatus;
4
- exports.runUpsertBatch = runUpsertBatch;
5
- exports.handleStaleMapping = handleStaleMapping;
6
- exports.defaultBuildMappingEntries = defaultBuildMappingEntries;
7
- // Classify an HTTP status code into a UpsertOutcome retry class.
8
- // undefined → transient (no response = network/timeout). 429, 408, 425, 5xx → transient.
9
- // Everything else → permanent.
10
- function classifyHttpStatus(status) {
11
- if (status === undefined)
12
- return 'transient';
13
- if (status === 429 || status === 408 || status === 425)
14
- return 'transient';
15
- if (status >= 500)
16
- return 'transient';
17
- return 'permanent';
18
- }
19
- // Run an async per-record function over a batch in parallel. Any thrown
20
- // exception is converted into a permanent UpsertOutcome carrying the message.
21
- // Outcomes are returned in input order; the perRecord fn receives the index too.
22
- async function runUpsertBatch(records, perRecord) {
23
- return Promise.all(records.map(async (record, index) => {
24
- try {
25
- return await perRecord(record, index);
26
- }
27
- catch (err) {
28
- return {
29
- status: 'permanent',
30
- error: err instanceof Error ? err.message : String(err),
31
- };
32
- }
33
- }));
34
- }
35
- // Run update → if stale (target gone), retry as create and mark wasCreated.
36
- // IdMappingSyncStrategy uses wasCreated to overwrite the stale mapping entry.
37
- async function handleStaleMapping(args) {
38
- const updateOutcome = await args.attemptUpdate();
39
- if (!args.isStale(updateOutcome))
40
- return updateOutcome;
41
- const createOutcome = await args.retryAsCreate();
42
- if (createOutcome.status === 'ok') {
43
- return Object.assign(Object.assign({}, createOutcome), { wasCreated: true });
44
- }
45
- return createOutcome;
46
- }
47
- // Default mapping for buildMappingEntries(): zip sourceIds with outcome.result.
48
- // Strips entries whose target ID resolves to an empty string.
49
- // Adapters override only when their .result shape differs from "the target ID".
50
- function defaultBuildMappingEntries(sourceIds, outcomes) {
51
- return sourceIds
52
- .map((sourceId, i) => { var _a, _b; return ({ sourceId, targetId: String((_b = (_a = outcomes[i]) === null || _a === void 0 ? void 0 : _a.result) !== null && _b !== void 0 ? _b : '') }); })
53
- .filter(({ targetId }) => targetId.length > 0);
54
- }
55
- //# sourceMappingURL=upsert-harness.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upsert-harness.js","sourceRoot":"","sources":["../../src/adapters/upsert-harness.ts"],"names":[],"mappings":";;AAOA,gDAKC;AAKD,wCAgBC;AAgBD,gDAQC;AAKD,gEAOC;AAjED,iEAAiE;AACjE,yFAAyF;AACzF,+BAA+B;AAC/B,SAAgB,kBAAkB,CAAC,MAA0B;IAC3D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC;IAC7C,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,WAAW,CAAC;IAC3E,IAAI,MAAM,IAAI,GAAG;QAAE,OAAO,WAAW,CAAC;IACtC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,wEAAwE;AACxE,8EAA8E;AAC9E,iFAAiF;AAC1E,KAAK,UAAU,cAAc,CAClC,OAAY,EACZ,SAA+D;IAE/D,OAAO,OAAO,CAAC,GAAG,CAChB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;QAClC,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,MAAM,EAAE,WAAoB;gBAC5B,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAcD,4EAA4E;AAC5E,8EAA8E;AACvE,KAAK,UAAU,kBAAkB,CAAC,IAAsB;IAC7D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IACjD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QAAE,OAAO,aAAa,CAAC;IACvD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IACjD,IAAI,aAAa,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAClC,uCAAY,aAAa,KAAE,UAAU,EAAE,IAAI,IAAG;IAChD,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,gFAAgF;AAChF,8DAA8D;AAC9D,gFAAgF;AAChF,SAAgB,0BAA0B,CACxC,SAAmB,EACnB,QAAyB;IAEzB,OAAO,SAAS;SACb,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,eAAC,OAAA,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAA,MAAA,QAAQ,CAAC,CAAC,CAAC,0CAAE,MAAM,mCAAI,EAAE,CAAC,EAAE,CAAC,CAAA,EAAA,CAAC;SACjF,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACnD,CAAC"}
@@ -1,18 +0,0 @@
1
- import { BaseClient } from '@skedulo/pulse-solution-services';
2
- import type { BaseConfig, ExecutionOptions } from '@skedulo/pulse-solution-services';
3
- import type { DataFlowSpec } from '../types';
4
- export interface DataFlowListParams {
5
- integrationType?: string;
6
- sourceObject?: string;
7
- strategy?: string;
8
- status?: string;
9
- projectId?: string;
10
- }
11
- export declare class DataFlowClient extends BaseClient {
12
- constructor(config: BaseConfig, executionOptions?: Partial<ExecutionOptions>);
13
- list(params: DataFlowListParams): Promise<Array<{
14
- id: number;
15
- }>>;
16
- getById(id: number): Promise<DataFlowSpec | null>;
17
- }
18
- //# sourceMappingURL=dataflow-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dataflow-client.d.ts","sourceRoot":"","sources":["../../src/clients/dataflow-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,cAAe,SAAQ,UAAU;gBAChC,MAAM,EAAE,UAAU,EAAE,gBAAgB,GAAE,OAAO,CAAC,gBAAgB,CAAM;IAI1E,IAAI,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAmBhE,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;CAaxD"}