@skedulo/integration-sdk 0.3.1 → 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 +15 -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 -347
  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
@@ -1,379 +1,113 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseAdapterHandler = void 0;
4
- const crypto_1 = require("crypto");
5
- const constants_1 = require("../constants");
6
4
  const context_1 = require("../context");
7
- const sync_runner_1 = require("../services/sync-runner");
8
- const helpers_1 = require("../utils/helpers");
5
+ const action_names_1 = require("../actions/utils/action-names");
6
+ const errors_1 = require("../actions/utils/errors");
7
+ const action_registry_1 = require("../actions/action-registry");
9
8
  const adapter_registry_1 = require("./adapter-registry");
10
9
  const skedulo_adapter_1 = require("./skedulo.adapter");
11
- const DEFAULT_SAMPLE_LIMIT = 5;
12
10
  /**
13
- * Base class implementing the 12 standard handler routes every integration
14
- * function exposes (capabilities, setup, metadata, scheduled pull, etc.).
15
- * Subclass and add the vendor-specific inbound webhook handler — the rest
16
- * just works.
17
- *
18
- * Handlers are arrow-function properties so they can be passed as values
19
- * (e.g. into a routes table) without rebinding `this`.
20
- *
21
- * Override any handler or the protected helpers (`createContext`,
22
- * `createRunner`) when a vendor needs different behaviour.
11
+ * Single-entry handler that dispatches every integration action through the
12
+ * action registry. Tenant functions wire one HTTP route to `dispatch` and
13
+ * select the action via the `sked-integration-action` header.
23
14
  */
24
15
  class BaseAdapterHandler {
25
16
  constructor(config) {
26
- var _a, _c, _d, _e;
17
+ var _a, _b;
27
18
  this.config = config;
28
- // ── Admin ──────────────────────────────────────────────────────────────────
29
- /** GET /capabilities */
30
- this.getCapabilities = async () => {
31
- return { status: 200, body: this.config.adapter.capabilities };
32
- };
33
- /** GET /setup — reports whether the Skedulo-side schema is bootstrapped. */
34
- this.getSetupStatus = async (_b, _h, _m, _p, skedContext) => {
35
- try {
36
- const ctx = this.createContext(skedContext, this.requestSources.admin);
37
- const status = await skedulo_adapter_1.skeduloAdapter.checkBootstrap(ctx);
38
- return { status: 200, body: status };
39
- }
40
- catch (err) {
41
- return (0, helpers_1.errorResponse)(err);
42
- }
43
- };
44
- /** POST /setup — bootstraps the IntegrationIdMapping custom object. Idempotent. */
45
- this.setup = async (_b, _h, _m, _p, skedContext) => {
46
- try {
47
- const ctx = this.createContext(skedContext, this.requestSources.admin);
48
- await skedulo_adapter_1.skeduloAdapter.bootstrap(ctx);
49
- return (0, helpers_1.okResponse)('Setup complete', { schema: this.integrationType });
50
- }
51
- catch (err) {
52
- return (0, helpers_1.errorResponse)(err);
53
- }
54
- };
55
- // ── Metadata (drives the mapping editor UI) ────────────────────────────────
56
- /** GET /objects?system=<name> */
57
- this.getObjects = async (_b, _h, _m, _p, skedContext, querystring) => {
58
- var _a;
59
- try {
60
- const system = (_a = (0, helpers_1.getQueryParam)(querystring, 'system')) !== null && _a !== void 0 ? _a : this.integrationType;
61
- const adapter = this.registry.resolve(system);
62
- const objects = await adapter.getObjects(this.createContext(skedContext, this.requestSources.admin));
63
- return { status: 200, body: { system, objects } };
64
- }
65
- catch (err) {
66
- return (0, helpers_1.errorResponse)(err);
67
- }
68
- };
69
- /** GET /fields?system=<name>&object=<objectName> */
70
- this.getFields = async (_b, _h, _m, _p, skedContext, querystring) => {
71
- var _a;
72
- try {
73
- const system = (_a = (0, helpers_1.getQueryParam)(querystring, 'system')) !== null && _a !== void 0 ? _a : this.integrationType;
74
- const objectName = (0, helpers_1.getQueryParam)(querystring, 'object');
75
- if (!objectName)
76
- return { status: 400, body: { message: 'object query parameter is required' } };
77
- const adapter = this.registry.resolve(system);
78
- const fields = await adapter.getFields(this.createContext(skedContext, this.requestSources.admin), objectName);
79
- return { status: 200, body: { system, object: objectName, fields } };
80
- }
81
- catch (err) {
82
- return (0, helpers_1.errorResponse)(err);
83
- }
84
- };
85
- /** GET /templates?system=<name> */
86
- this.getTemplates = async (_b, _h, _m, _p, _ctx, querystring) => {
87
- var _a, _c, _d, _e;
88
- try {
89
- const system = (_a = (0, helpers_1.getQueryParam)(querystring, 'system')) !== null && _a !== void 0 ? _a : this.integrationType;
90
- const templates = (_e = (await ((_d = (_c = this.registry.resolve(system)).getTemplates) === null || _d === void 0 ? void 0 : _d.call(_c)))) !== null && _e !== void 0 ? _e : [];
91
- return { status: 200, body: { templates } };
92
- }
93
- catch (err) {
94
- return (0, helpers_1.errorResponse)(err);
95
- }
96
- };
97
- /** GET /sample-apis?system=<name> */
98
- this.getSampleAPIs = async (_b, _h, _m, _p, _ctx, querystring) => {
99
- var _a, _c, _d, _e;
100
- try {
101
- const system = (_a = (0, helpers_1.getQueryParam)(querystring, 'system')) !== null && _a !== void 0 ? _a : this.integrationType;
102
- const apis = (_e = (_d = (_c = this.registry.resolve(system)).getSampleAPIs) === null || _d === void 0 ? void 0 : _d.call(_c)) !== null && _e !== void 0 ? _e : [];
103
- return { status: 200, body: { apis } };
104
- }
105
- catch (err) {
106
- return (0, helpers_1.errorResponse)(err);
107
- }
108
- };
109
- /** GET /sample-records?system=<name>&objectType=<obj>&limit=<n> */
110
- this.getSampleRecords = async (_b, _h, _m, _p, skedContext, querystring) => {
111
- var _a, _c;
112
- try {
113
- const system = (_a = (0, helpers_1.getQueryParam)(querystring, 'system')) !== null && _a !== void 0 ? _a : this.integrationType;
114
- const objectType = (0, helpers_1.getQueryParam)(querystring, 'objectType');
115
- if (!objectType)
116
- return { status: 400, body: { message: 'objectType query parameter is required' } };
117
- const limit = Number((_c = (0, helpers_1.getQueryParam)(querystring, 'limit')) !== null && _c !== void 0 ? _c : this.sampleDefaultLimit);
118
- if (!Number.isInteger(limit) || limit <= 0) {
119
- return { status: 400, body: { message: 'limit must be a positive integer' } };
120
- }
121
- const adapter = this.registry.resolve(system);
122
- const records = await adapter.fetchSampleRecords(this.createContext(skedContext, this.requestSources.runFlow), objectType, [], limit);
123
- return { status: 200, body: { records } };
124
- }
125
- catch (err) {
126
- return (0, helpers_1.errorResponse)(err);
127
- }
128
- };
129
- // ── Sync ───────────────────────────────────────────────────────────────────
130
19
  /**
131
- * POST /scheduled-pull — incremental sync of inbound flows on a schedule.
132
- * Runs every active flow with triggerConfig.incremental, in executionOrder.
133
- * SDK reads each flow's lastRunAt for the cursor.
20
+ * Single entry point for all integration actions. The action name is read
21
+ * from the `sked-integration-action` request header; the body is the raw
22
+ * action input. Returns an `ActionResult` wrapped in an HTTP status.
134
23
  */
135
- this.scheduledPull = async (_b, _h, _m, _p, skedContext) => {
136
- try {
137
- const ctx = this.createContext(skedContext, this.requestSources.scheduledPull);
138
- const allInbound = await ctx.dataFlowService.listActive({
139
- integrationType: this.integrationType,
140
- targetSystem: 'skedulo',
141
- });
142
- const flows = allInbound
143
- .filter((f) => { var _a; return (_a = f.triggerConfig) === null || _a === void 0 ? void 0 : _a.incremental; })
144
- .sort((a, b) => { var _a, _c; return ((_a = a.executionOrder) !== null && _a !== void 0 ? _a : Infinity) - ((_c = b.executionOrder) !== null && _c !== void 0 ? _c : Infinity); });
145
- if (flows.length === 0) {
146
- ctx.logger.info(`[scheduled-pull] no active incremental flows for ${this.integrationType}`);
147
- return (0, helpers_1.okResponse)('No active flows', { processed: 0 });
148
- }
149
- const runner = this.createRunner();
150
- const results = {};
151
- for (const flow of flows) {
152
- const startedAt = Date.now();
153
- try {
154
- const stats = await runner.run({
155
- flowId: flow.id,
156
- since: null,
157
- sourceSystem: this.integrationType,
158
- targetSystem: 'skedulo',
159
- options: { lookupStrategy: this.lookupStrategy },
160
- }, ctx);
161
- const durationMs = Date.now() - startedAt;
162
- ctx.logger.info(`[scheduled-pull] flow=${flow.id} ${flow.sourceObject}→${flow.targetObject} ` +
163
- `${JSON.stringify(stats)} took=${durationMs}ms`);
164
- results[flow.id] = Object.assign(Object.assign({}, stats), { durationMs });
165
- }
166
- catch (err) {
167
- const msg = err instanceof Error ? err.message : String(err);
168
- ctx.logger.error(`[scheduled-pull] flow=${flow.id} failed: ${msg}`);
169
- results[flow.id] = { error: msg };
170
- }
171
- }
172
- return (0, helpers_1.okResponse)('Scheduled pull tick complete', { processed: flows.length, results });
24
+ this.dispatch = async (body, headers, _method, _path, skedContext) => {
25
+ const actionName = readHeader(headers, action_names_1.ACTION_HEADER);
26
+ if (!actionName) {
27
+ return failure(400, 'MISSING_ACTION_HEADER', `Missing required header: ${action_names_1.ACTION_HEADER}`);
173
28
  }
174
- catch (err) {
175
- return (0, helpers_1.errorResponse)(err);
29
+ const action = this.actionRegistry.get(actionName);
30
+ if (!action) {
31
+ return failure(400, 'UNKNOWN_ACTION', `Unknown action: ${actionName}`);
176
32
  }
177
- };
178
- /**
179
- * POST /run-all-flows — runs every active flow from scratch (since=null).
180
- * Requires admin. Resets each flow's cursor so a full sync happens regardless
181
- * of any previous lastRunAt.
182
- */
183
- this.runAllFlows = async (_b, _h, _m, _p, skedContext) => {
184
- var _a, _c, _d, _e;
33
+ let input;
185
34
  try {
186
- const denied = (0, helpers_1.requireAdmin)(skedContext, 'runAllFlows');
187
- if (denied)
188
- return denied;
189
- const ctx = this.createContext(skedContext, this.requestSources.admin);
190
- const flows = await ctx.dataFlowService.listActive({
191
- integrationType: this.integrationType,
192
- });
193
- if (flows.length === 0) {
194
- return {
195
- status: 503,
196
- body: {
197
- message: `No active data flows found for ${this.integrationType}. Create flows first.`,
198
- },
199
- };
200
- }
201
- ctx.logger.info(`[run-all-flows] found ${flows.length} active flow(s): ` +
202
- flows.map((f) => `${f.sourceObject}→${f.targetObject}`).join(', '));
203
- const sorted = [...flows].sort((a, b) => { var _a, _c; return ((_a = a.executionOrder) !== null && _a !== void 0 ? _a : Infinity) - ((_c = b.executionOrder) !== null && _c !== void 0 ? _c : Infinity); });
204
- const runner = this.createRunner();
205
- const results = {};
206
- for (const flow of sorted) {
207
- if (!((_c = (_a = flow.mappingConfig) === null || _a === void 0 ? void 0 : _a.mappings) === null || _c === void 0 ? void 0 : _c.length)) {
208
- ctx.logger.warn(`[run-all-flows] skipping flow ${flow.id} (${flow.sourceObject}) — no mappingConfig`);
209
- results[String(flow.id)] = {
210
- flowId: flow.id,
211
- sourceObject: flow.sourceObject,
212
- targetObject: flow.targetObject,
213
- skipped: true,
214
- reason: 'no mappingConfig',
215
- };
216
- continue;
217
- }
218
- // Reset cursor so the SDK treats this as a full sync regardless of any prior lastRunAt.
219
- await ctx.dataFlowService.updateCursor(flow.id, null);
220
- ctx.logger.info(`[run-all-flows] syncing ${flow.sourceObject} → ${flow.targetObject}`);
221
- const stats = await runner.run({
222
- flowId: flow.id,
223
- since: null,
224
- sourceSystem: (_d = flow.sourceSystem) !== null && _d !== void 0 ? _d : this.integrationType,
225
- targetSystem: (_e = flow.targetSystem) !== null && _e !== void 0 ? _e : 'skedulo',
226
- options: { lookupStrategy: this.lookupStrategy },
227
- }, ctx);
228
- results[String(flow.id)] = Object.assign({ flowId: flow.id, sourceObject: flow.sourceObject, targetObject: flow.targetObject }, stats);
229
- }
230
- return (0, helpers_1.okResponse)('All flows completed successfully', { results });
35
+ input = action.parseInput(body);
231
36
  }
232
37
  catch (err) {
233
- return (0, helpers_1.errorResponse)(err);
234
- }
235
- };
236
- /**
237
- * POST /run-flow — runs a single flow by ID from scratch. Used by the
238
- * "Run now" UI button. Body: { flowId }.
239
- */
240
- this.runFlow = async (body, _h, _m, _p, skedContext) => {
241
- var _a, _c;
242
- try {
243
- const denied = (0, helpers_1.requireAdmin)(skedContext, 'runFlow');
244
- if (denied)
245
- return denied;
246
- const { flowId } = (body !== null && body !== void 0 ? body : {});
247
- if (!flowId)
248
- return { status: 400, body: { message: 'flowId is required' } };
249
- const runId = (0, crypto_1.randomUUID)();
250
- const ctx = this.createContext(skedContext, this.requestSources.runFlow);
251
- const flow = await ctx.dataFlowService.getFlowById(flowId);
252
- if (!flow)
253
- return { status: 404, body: { message: `Flow ${flowId} not found` } };
254
- ctx.logger.info(`[run-flow] flowId=${flowId} runId=${runId} starting`);
255
- const stats = await this.createRunner().run({
256
- flowId,
257
- since: null,
258
- sourceSystem: (_a = flow.sourceSystem) !== null && _a !== void 0 ? _a : this.integrationType,
259
- targetSystem: (_c = flow.targetSystem) !== null && _c !== void 0 ? _c : 'skedulo',
260
- options: { lookupStrategy: this.lookupStrategy },
261
- }, ctx);
262
- ctx.logger.info(`[run-flow] done: ${JSON.stringify(stats)}`);
263
- return { status: 200, body: Object.assign({ runId, flowId }, stats) };
264
- }
265
- catch (err) {
266
- return (0, helpers_1.errorResponse)(err);
267
- }
268
- };
269
- /**
270
- * POST /on-skedulo-event — Skedulo triggered-action callback for
271
- * OUTBOUND_TRIGGERED flows. Fires when a Skedulo record changes and that
272
- * record is the source of a flow that targets the vendor.
273
- * Body: { skeduloObject, recordId, operation, payload? }
274
- *
275
- * Pair: `onVendorEvent` handles the opposite direction (vendor → Skedulo).
276
- */
277
- this.onSkeduloEvent = async (body, _h, _m, _p, skedContext) => {
278
- var _a;
279
- try {
280
- const { skeduloObject, recordId, operation } = (body !== null && body !== void 0 ? body : {});
281
- if (!skeduloObject || !recordId || !operation) {
282
- return {
283
- status: 400,
284
- body: { message: 'Missing required fields: skeduloObject, recordId, operation' },
285
- };
38
+ if (err instanceof errors_1.InvalidInputError) {
39
+ return failure(422, err.code, err.message, err.details);
286
40
  }
287
- if (operation !== 'INSERT' && operation !== 'UPDATE' && operation !== 'DELETE') {
288
- return { status: 400, body: { message: `Unsupported operation: ${operation}` } };
289
- }
290
- const ctx = this.createContext(skedContext, this.requestSources.skeduloEvent);
291
- const results = await this.createRunner().handleEvent({
292
- event: {
293
- integrationType: this.integrationType,
294
- objectType: skeduloObject,
295
- operation,
296
- recordId,
297
- payload: (_a = body === null || body === void 0 ? void 0 : body.payload) !== null && _a !== void 0 ? _a : {},
298
- },
299
- options: { lookupStrategy: this.lookupStrategy },
300
- }, ctx);
301
- if (results.some((r) => r.status === 'failed')) {
302
- return { status: 502, body: { message: 'Skedulo event processing failed', results } };
303
- }
304
- return (0, helpers_1.okResponse)('Skedulo event processed', { results });
41
+ return failure(500, 'PARSE_ERROR', err instanceof Error ? err.message : String(err));
305
42
  }
306
- catch (err) {
307
- return (0, helpers_1.errorResponse)(err);
308
- }
309
- };
310
- /**
311
- * POST /on-vendor-event — inbound real-time webhook from the vendor system.
312
- *
313
- * Dispatches via `adapter.parseChangeEvent(body)` — implement that on the
314
- * adapter to opt in. Returns 501 if the adapter doesn't implement parsing.
315
- *
316
- * Envelope shape is vendor-specific, hence the parser lives on the adapter.
317
- *
318
- * Pair: `onSkeduloEvent` handles the opposite direction (Skedulo → vendor).
319
- */
320
- this.onVendorEvent = async (body, _h, _m, _p, skedContext) => {
43
+ const integrationContext = (0, context_1.createIntegrationContext)(skedContext, this.integrationType, {
44
+ requestSource: `${this.integrationType}-${actionName}`,
45
+ userAgent: `${this.integrationType}-function`,
46
+ });
321
47
  try {
322
- const adapter = this.config.adapter;
323
- if (!adapter.parseChangeEvent) {
324
- return {
325
- status: 501,
326
- body: { message: `${this.integrationType} adapter does not implement parseChangeEvent` },
327
- };
328
- }
329
- const parsed = adapter.parseChangeEvent(body);
330
- if ('error' in parsed)
331
- return { status: 400, body: { message: parsed.error } };
332
- const ctx = this.createContext(skedContext, this.requestSources.vendorEvent);
333
- const results = await this.createRunner().handleEvent({ event: parsed.event, options: { lookupStrategy: this.lookupStrategy } }, ctx);
334
- if (results.some((r) => r.status === 'precondition_failed')) {
335
- return {
336
- status: 412,
337
- body: {
338
- message: 'Integration not bootstrapped — run /setup then /run-all-flows',
339
- results,
340
- },
341
- };
342
- }
343
- if (results.some((r) => r.status === 'failed')) {
344
- return { status: 502, body: { message: 'Event processing failed', results } };
345
- }
346
- return (0, helpers_1.okResponse)(`${parsed.event.objectType} ${parsed.event.operation.toLowerCase()} processed`, { results });
48
+ const result = await action.handler(input, integrationContext);
49
+ return { status: 200, body: { ok: true, result } };
347
50
  }
348
51
  catch (err) {
349
- return (0, helpers_1.errorResponse)(err);
52
+ if (err instanceof errors_1.ActionError) {
53
+ return failure(actionErrorStatus(err.code), err.code, err.message, err.details);
54
+ }
55
+ return failure(500, 'INTERNAL_ERROR', err instanceof Error ? err.message : String(err));
350
56
  }
351
57
  };
352
58
  this.integrationType = config.adapter.integrationType;
353
- const t = this.integrationType;
354
- this.requestSources = {
355
- admin: `${t}-admin`,
356
- scheduledPull: `${t}-scheduled-pull`,
357
- runFlow: `${t}-run-flow`,
358
- skeduloEvent: `${t}-skedulo-event`,
359
- vendorEvent: `${t}-vendor-event`,
360
- };
361
- this.userAgent = `${t}-function`;
362
- this.sampleDefaultLimit = (_a = config.sampleDefaultLimit) !== null && _a !== void 0 ? _a : DEFAULT_SAMPLE_LIMIT;
363
59
  this.registry =
364
- (_c = config.registry) !== null && _c !== void 0 ? _c : new adapter_registry_1.AdapterRegistry({ [t]: config.adapter, skedulo: skedulo_adapter_1.skeduloAdapter });
365
- this.lookupStrategy = (_e = (_d = config.adapter.capabilities) === null || _d === void 0 ? void 0 : _d.lookupStrategy) !== null && _e !== void 0 ? _e : constants_1.LookupStrategy.ExternalId;
60
+ (_a = config.registry) !== null && _a !== void 0 ? _a : new adapter_registry_1.AdapterRegistry({ [this.integrationType]: config.adapter, skedulo: skedulo_adapter_1.skeduloAdapter });
61
+ this.actionRegistry =
62
+ (_b = config.actionRegistry) !== null && _b !== void 0 ? _b : (0, action_registry_1.buildActionRegistry)({ adapter: config.adapter, registry: this.registry });
366
63
  }
367
- // ── Protected helpers (override to customize) ──────────────────────────────
368
- createContext(skedContext, requestSource) {
369
- return (0, context_1.createIntegrationContext)(skedContext, this.integrationType, {
370
- requestSource,
371
- userAgent: this.userAgent,
372
- });
64
+ }
65
+ exports.BaseAdapterHandler = BaseAdapterHandler;
66
+ /** Case-insensitive single-header lookup. */
67
+ function readHeader(headers, name) {
68
+ if (!headers || typeof headers !== 'object')
69
+ return undefined;
70
+ const lowered = name.toLowerCase();
71
+ for (const [k, v] of Object.entries(headers)) {
72
+ if (k.toLowerCase() === lowered) {
73
+ if (typeof v === 'string')
74
+ return v;
75
+ if (Array.isArray(v) && typeof v[0] === 'string')
76
+ return v[0];
77
+ }
373
78
  }
374
- createRunner() {
375
- return new sync_runner_1.SyncRunner(this.registry);
79
+ return undefined;
80
+ }
81
+ function failure(status, code, message, details) {
82
+ const error = details !== undefined ? { code, message, details } : { code, message };
83
+ return { status, body: { ok: false, error } };
84
+ }
85
+ /**
86
+ * Map well-known action error codes to HTTP statuses. Default to 400
87
+ * (caller error).
88
+ */
89
+ function actionErrorStatus(code) {
90
+ switch (code) {
91
+ case 'FORBIDDEN':
92
+ return 403;
93
+ case 'FLOW_NOT_FOUND':
94
+ return 404;
95
+ case 'PRECONDITION_FAILED':
96
+ return 412;
97
+ case 'NOT_IMPLEMENTED':
98
+ return 501;
99
+ case 'NO_ACTIVE_FLOWS':
100
+ return 503;
101
+ case 'PROCESSING_FAILED':
102
+ return 502;
103
+ case 'DIRECTION_IS_IMMUTABLE':
104
+ case 'DEACTIVATE_BEFORE_STRATEGY_CHANGE':
105
+ return 409;
106
+ case 'UNSUPPORTED_STRATEGY':
107
+ case 'MISSING_SYNC_STRATEGY':
108
+ return 422;
109
+ default:
110
+ return 400;
376
111
  }
377
112
  }
378
- exports.BaseAdapterHandler = BaseAdapterHandler;
379
113
  //# sourceMappingURL=base-adapter-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-adapter-handler.js","sourceRoot":"","sources":["../../src/adapters/base-adapter-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-adapter-handler.js","sourceRoot":"","sources":["../../src/adapters/base-adapter-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { Adapter, AdapterCapabilities } from '../interfaces/adapter.interface';
2
+ /**
3
+ * Return a fully-populated capabilities object for the adapter, applying defaults
4
+ * for any fields the adapter omitted.
5
+ *
6
+ * - `realtime.outbound` — defaults to `true` when the adapter advertises a
7
+ * TARGET role, otherwise `false`. Realtime outbound = Skedulo emits a
8
+ * triggered action that calls the adapter; only TARGET-capable adapters can
9
+ * receive it.
10
+ * - `realtime.inbound` — defaults to `false`. Requires the adapter to
11
+ * implement `parseChangeEvent` AND the vendor side to provide a push
12
+ * mechanism — adapters opt in explicitly.
13
+ *
14
+ * All other fields are passed through unchanged.
15
+ *
16
+ * When `adapter.capabilities` is undefined entirely, returns a sensible
17
+ * all-defaults object:
18
+ *
19
+ * { allowNewDataFlows: false, hasDataFlows: false,
20
+ * roles: [SOURCE, TARGET],
21
+ * realtime: { outbound: <TARGET present?>, inbound: false } }
22
+ */
23
+ export declare function resolveCapabilities(adapter: Adapter): AdapterCapabilities;
24
+ //# sourceMappingURL=capabilities-defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities-defaults.d.ts","sourceRoot":"","sources":["../../src/adapters/capabilities-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAGpF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,mBAAmB,CAsBzE"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveCapabilities = resolveCapabilities;
4
+ const constants_1 = require("../constants");
5
+ /**
6
+ * Return a fully-populated capabilities object for the adapter, applying defaults
7
+ * for any fields the adapter omitted.
8
+ *
9
+ * - `realtime.outbound` — defaults to `true` when the adapter advertises a
10
+ * TARGET role, otherwise `false`. Realtime outbound = Skedulo emits a
11
+ * triggered action that calls the adapter; only TARGET-capable adapters can
12
+ * receive it.
13
+ * - `realtime.inbound` — defaults to `false`. Requires the adapter to
14
+ * implement `parseChangeEvent` AND the vendor side to provide a push
15
+ * mechanism — adapters opt in explicitly.
16
+ *
17
+ * All other fields are passed through unchanged.
18
+ *
19
+ * When `adapter.capabilities` is undefined entirely, returns a sensible
20
+ * all-defaults object:
21
+ *
22
+ * { allowNewDataFlows: false, hasDataFlows: false,
23
+ * roles: [SOURCE, TARGET],
24
+ * realtime: { outbound: <TARGET present?>, inbound: false } }
25
+ */
26
+ function resolveCapabilities(adapter) {
27
+ var _a, _b, _c, _d, _e;
28
+ const caps = adapter.capabilities;
29
+ const roles = (_a = caps === null || caps === void 0 ? void 0 : caps.roles) !== null && _a !== void 0 ? _a : [constants_1.AdapterRole.SOURCE, constants_1.AdapterRole.TARGET];
30
+ const isTarget = roles.includes(constants_1.AdapterRole.TARGET);
31
+ const outbound = (_c = (_b = caps === null || caps === void 0 ? void 0 : caps.realtime) === null || _b === void 0 ? void 0 : _b.outbound) !== null && _c !== void 0 ? _c : isTarget;
32
+ const inbound = (_e = (_d = caps === null || caps === void 0 ? void 0 : caps.realtime) === null || _d === void 0 ? void 0 : _d.inbound) !== null && _e !== void 0 ? _e : false;
33
+ if (!caps) {
34
+ return {
35
+ allowNewDataFlows: false,
36
+ hasDataFlows: false,
37
+ roles,
38
+ realtime: { outbound, inbound },
39
+ };
40
+ }
41
+ return Object.assign(Object.assign({}, caps), { roles, realtime: { outbound, inbound } });
42
+ }
43
+ //# sourceMappingURL=capabilities-defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities-defaults.js","sourceRoot":"","sources":["../../src/adapters/capabilities-defaults.ts"],"names":[],"mappings":";;AAwBA,kDAsBC;AA7CD,4CAA2C;AAE3C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAgB,mBAAmB,CAAC,OAAgB;;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;IAClC,MAAM,KAAK,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,mCAAI,CAAC,uBAAW,CAAC,MAAM,EAAE,uBAAW,CAAC,MAAM,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,uBAAW,CAAC,MAAM,CAAC,CAAC;IAEpD,MAAM,QAAQ,GAAG,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,0CAAE,QAAQ,mCAAI,QAAQ,CAAC;IACtD,MAAM,OAAO,GAAG,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,0CAAE,OAAO,mCAAI,KAAK,CAAC;IAEjD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,iBAAiB,EAAE,KAAK;YACxB,YAAY,EAAE,KAAK;YACnB,KAAK;YACL,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE;SAChC,CAAC;IACJ,CAAC;IAED,uCACK,IAAI,KACP,KAAK,EACL,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAC/B;AACJ,CAAC"}
@@ -2,6 +2,9 @@ import type { IntegrationContext } from '../context';
2
2
  import type { DataFlow } from '../interfaces/data-flow-spec.interface';
3
3
  import type { FilterSpec } from '../interfaces/filter.interface';
4
4
  import type { Adapter, EnrichmentPair, FieldInfo, ObjectInfo, SampleRecord, UpsertOutcome } from '../interfaces/adapter.interface';
5
+ export interface BootstrapStatus {
6
+ complete: boolean;
7
+ }
5
8
  export declare class SkeduloAdapter implements Adapter<Record<string, unknown>> {
6
9
  readonly integrationType = "skedulo";
7
10
  readonly capabilities: {
@@ -9,9 +12,7 @@ export declare class SkeduloAdapter implements Adapter<Record<string, unknown>>
9
12
  readonly allowNewDataFlows: true;
10
13
  readonly hasDataFlows: true;
11
14
  };
12
- checkBootstrap(ctx: IntegrationContext): Promise<{
13
- complete: boolean;
14
- }>;
15
+ checkBootstrap(ctx: IntegrationContext): Promise<BootstrapStatus>;
15
16
  bootstrap(ctx: IntegrationContext): Promise<void>;
16
17
  fetch(ctx: IntegrationContext, flow: DataFlow, since: Date | null, _filter: FilterSpec | null): AsyncIterable<Record<string, unknown>[]>;
17
18
  resolveLookups(ctx: IntegrationContext, flow: DataFlow, pairs: EnrichmentPair[]): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"skedulo.adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/skedulo.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,SAAS,EACT,UAAU,EACV,YAAY,EACZ,aAAa,EACd,MAAM,iCAAiC,CAAC;AAUzC,qBAAa,cAAe,YAAW,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrE,QAAQ,CAAC,eAAe,aAAa;IAErC,QAAQ,CAAC,YAAY;;;;MAIV;IAML,cAAc,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAIvE,SAAS,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhD,KAAK,CACV,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,IAAI,GAAG,IAAI,EAClB,OAAO,EAAE,UAAU,GAAG,IAAI,GACzB,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAsCrC,cAAc,CAClB,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,cAAc,EAAE,GACtB,OAAO,CAAC,IAAI,CAAC;IAyCV,MAAM,CACV,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GACjC,OAAO,CAAC,aAAa,EAAE,CAAC;YAkDb,OAAO;IAwCf,MAAM,CAAC,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBnF,iGAAiG;IAC3F,UAAU,CAAC,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvF,gBAAgB,IAAI,MAAM;IAI1B,mBAAmB,CACjB,SAAS,EAAE,MAAM,EAAE,EACnB,QAAQ,EAAE,aAAa,EAAE,GACxB,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAQ1C,UAAU,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAO1D,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAe5E,kBAAkB,CACtB,GAAG,EAAE,kBAAkB,EACvB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAAE,EACpB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,EAAE,CAAC;YAaZ,YAAY;CA+B3B;AASD,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
1
+ {"version":3,"file":"skedulo.adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/skedulo.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,SAAS,EACT,UAAU,EACV,YAAY,EACZ,aAAa,EACd,MAAM,iCAAiC,CAAC;AAOzC,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAKD,qBAAa,cAAe,YAAW,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrE,QAAQ,CAAC,eAAe,aAAkB;IAE1C,QAAQ,CAAC,YAAY;;;;MAIV;IAML,cAAc,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC;IAIjE,SAAS,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhD,KAAK,CACV,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,IAAI,GAAG,IAAI,EAClB,OAAO,EAAE,UAAU,GAAG,IAAI,GACzB,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAsCrC,cAAc,CAClB,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,cAAc,EAAE,GACtB,OAAO,CAAC,IAAI,CAAC;IAyCV,MAAM,CACV,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GACjC,OAAO,CAAC,aAAa,EAAE,CAAC;YAkDb,OAAO;IAwCf,MAAM,CAAC,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBnF,iGAAiG;IAC3F,UAAU,CAAC,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvF,gBAAgB,IAAI,MAAM;IAI1B,mBAAmB,CACjB,SAAS,EAAE,MAAM,EAAE,EACnB,QAAQ,EAAE,aAAa,EAAE,GACxB,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAQ1C,UAAU,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAO1D,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAe5E,kBAAkB,CACtB,GAAG,EAAE,kBAAkB,EACvB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAAE,EACpB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,EAAE,CAAC;YAaZ,YAAY;CA+B3B;AASD,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
@@ -34,7 +34,7 @@ const SKEDULO_PAGE_SIZE = 200;
34
34
  // Lookup resolution uses Skedulo EQL to translate ExternalId → UID.
35
35
  class SkeduloAdapter {
36
36
  constructor() {
37
- this.integrationType = 'skedulo';
37
+ this.integrationType = constants_1.SKEDULO_SYSTEM;
38
38
  this.capabilities = {
39
39
  roles: [constants_1.AdapterRole.SOURCE, constants_1.AdapterRole.TARGET],
40
40
  allowNewDataFlows: true,