@oronts/vendure-data-hub-plugin 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (534) hide show
  1. package/CHANGELOG.md +33 -1
  2. package/README.md +36 -10
  3. package/dashboard/components/pipelines/PipelineEditor.tsx +159 -5
  4. package/dashboard/components/pipelines/ReactFlowPipelineEditor.tsx +3 -3
  5. package/dashboard/components/pipelines/shared/NodePropertiesPanel.tsx +42 -4
  6. package/dashboard/components/pipelines/shared/StepListItem.tsx +2 -2
  7. package/dashboard/components/shared/CodeEditor.tsx +289 -0
  8. package/dashboard/components/shared/schema-form/fields/TextareaField.tsx +19 -4
  9. package/dashboard/components/shared/step-config/AdapterSelector.tsx +2 -2
  10. package/dashboard/components/shared/step-config/OperatorFieldInput.tsx +19 -0
  11. package/dashboard/components/shared/step-config/RouteConfigComponent.tsx +218 -29
  12. package/dashboard/components/shared/step-config/StepConfigPanel.tsx +24 -10
  13. package/dashboard/constants/ui-dimensions.ts +2 -1
  14. package/dashboard/constants/ui-states.ts +1 -0
  15. package/dashboard/gql/gql.ts +6 -6
  16. package/dashboard/gql/graphql.ts +9 -4
  17. package/dashboard/hooks/api/use-pipeline-runs.ts +1 -0
  18. package/dashboard/hooks/api/use-queues.ts +1 -0
  19. package/dashboard/hooks/use-adapter-catalog.ts +4 -32
  20. package/dashboard/routes/connections/ConnectionDetail.tsx +7 -1
  21. package/dashboard/routes/pipelines/RunDetailsPanel.tsx +1 -1
  22. package/dashboard/routes/pipelines/components/PipelineActionButtons.tsx +3 -3
  23. package/dashboard/routes/pipelines/utils/pipeline-conversion.ts +3 -5
  24. package/dashboard/utils/formatters.ts +6 -4
  25. package/dist/dashboard/components/pipelines/PipelineEditor.tsx +159 -5
  26. package/dist/dashboard/components/pipelines/ReactFlowPipelineEditor.tsx +3 -3
  27. package/dist/dashboard/components/pipelines/shared/NodePropertiesPanel.tsx +42 -4
  28. package/dist/dashboard/components/pipelines/shared/StepListItem.tsx +2 -2
  29. package/dist/dashboard/components/shared/CodeEditor.tsx +289 -0
  30. package/dist/dashboard/components/shared/schema-form/fields/TextareaField.tsx +19 -4
  31. package/dist/dashboard/components/shared/step-config/AdapterSelector.tsx +2 -2
  32. package/dist/dashboard/components/shared/step-config/OperatorFieldInput.tsx +19 -0
  33. package/dist/dashboard/components/shared/step-config/RouteConfigComponent.tsx +218 -29
  34. package/dist/dashboard/components/shared/step-config/StepConfigPanel.tsx +24 -10
  35. package/dist/dashboard/constants/ui-dimensions.ts +2 -1
  36. package/dist/dashboard/constants/ui-states.ts +1 -0
  37. package/dist/dashboard/gql/gql.ts +6 -6
  38. package/dist/dashboard/gql/graphql.ts +9 -4
  39. package/dist/dashboard/hooks/api/use-pipeline-runs.ts +1 -0
  40. package/dist/dashboard/hooks/api/use-queues.ts +1 -0
  41. package/dist/dashboard/hooks/use-adapter-catalog.ts +4 -32
  42. package/dist/dashboard/routes/connections/ConnectionDetail.tsx +7 -1
  43. package/dist/dashboard/routes/pipelines/RunDetailsPanel.tsx +1 -1
  44. package/dist/dashboard/routes/pipelines/components/PipelineActionButtons.tsx +3 -3
  45. package/dist/dashboard/routes/pipelines/utils/pipeline-conversion.ts +3 -5
  46. package/dist/dashboard/utils/formatters.ts +6 -4
  47. package/dist/shared/types/adapter-config.types.d.ts +400 -13
  48. package/dist/shared/types/adapter-config.types.d.ts.map +1 -1
  49. package/dist/shared/types/index.d.ts +1 -1
  50. package/dist/shared/types/index.d.ts.map +1 -1
  51. package/dist/shared/types/index.js.map +1 -1
  52. package/dist/shared/types/loader.types.d.ts +4 -0
  53. package/dist/shared/types/loader.types.d.ts.map +1 -1
  54. package/dist/shared/types/step.types.d.ts +6 -0
  55. package/dist/shared/types/step.types.d.ts.map +1 -1
  56. package/dist/shared/utils/error.d.ts +5 -0
  57. package/dist/shared/utils/error.d.ts.map +1 -1
  58. package/dist/shared/utils/error.js +11 -0
  59. package/dist/shared/utils/error.js.map +1 -1
  60. package/dist/src/adapters/registry.d.ts.map +1 -1
  61. package/dist/src/adapters/registry.js +2 -1
  62. package/dist/src/adapters/registry.js.map +1 -1
  63. package/dist/src/api/controllers/webhook.controller.d.ts +10 -0
  64. package/dist/src/api/controllers/webhook.controller.d.ts.map +1 -1
  65. package/dist/src/api/controllers/webhook.controller.js +50 -10
  66. package/dist/src/api/controllers/webhook.controller.js.map +1 -1
  67. package/dist/src/api/resolvers/queue.resolver.d.ts +3 -1
  68. package/dist/src/api/resolvers/queue.resolver.d.ts.map +1 -1
  69. package/dist/src/api/resolvers/queue.resolver.js +6 -5
  70. package/dist/src/api/resolvers/queue.resolver.js.map +1 -1
  71. package/dist/src/api/schema/pipeline.schema.d.ts +1 -1
  72. package/dist/src/api/schema/pipeline.schema.d.ts.map +1 -1
  73. package/dist/src/api/schema/pipeline.schema.js +6 -0
  74. package/dist/src/api/schema/pipeline.schema.js.map +1 -1
  75. package/dist/src/api/schema/test.schema.d.ts +1 -1
  76. package/dist/src/api/schema/test.schema.d.ts.map +1 -1
  77. package/dist/src/api/schema/test.schema.js +5 -1
  78. package/dist/src/api/schema/test.schema.js.map +1 -1
  79. package/dist/src/bootstrap/initialization.d.ts.map +1 -1
  80. package/dist/src/bootstrap/initialization.js +6 -0
  81. package/dist/src/bootstrap/initialization.js.map +1 -1
  82. package/dist/src/constants/adapter-schema-options.d.ts +65 -0
  83. package/dist/src/constants/adapter-schema-options.d.ts.map +1 -1
  84. package/dist/src/constants/adapter-schema-options.js +79 -3
  85. package/dist/src/constants/adapter-schema-options.js.map +1 -1
  86. package/dist/src/constants/builtin-adapters.d.ts +1 -1
  87. package/dist/src/constants/builtin-adapters.d.ts.map +1 -1
  88. package/dist/src/constants/builtin-adapters.js +19 -1
  89. package/dist/src/constants/builtin-adapters.js.map +1 -1
  90. package/dist/src/constants/core.d.ts +10 -0
  91. package/dist/src/constants/core.d.ts.map +1 -1
  92. package/dist/src/constants/core.js +10 -0
  93. package/dist/src/constants/core.js.map +1 -1
  94. package/dist/src/constants/defaults/webhook-defaults.d.ts +2 -0
  95. package/dist/src/constants/defaults/webhook-defaults.d.ts.map +1 -1
  96. package/dist/src/constants/defaults/webhook-defaults.js +2 -0
  97. package/dist/src/constants/defaults/webhook-defaults.js.map +1 -1
  98. package/dist/src/constants/enum-metadata.d.ts.map +1 -1
  99. package/dist/src/constants/enum-metadata.js +3 -0
  100. package/dist/src/constants/enum-metadata.js.map +1 -1
  101. package/dist/src/constants/hook-stage-metadata.d.ts.map +1 -1
  102. package/dist/src/constants/hook-stage-metadata.js +42 -0
  103. package/dist/src/constants/hook-stage-metadata.js.map +1 -1
  104. package/dist/src/constants/services.d.ts.map +1 -1
  105. package/dist/src/constants/services.js +7 -0
  106. package/dist/src/constants/services.js.map +1 -1
  107. package/dist/src/constants/time.d.ts +2 -0
  108. package/dist/src/constants/time.d.ts.map +1 -1
  109. package/dist/src/constants/time.js +2 -0
  110. package/dist/src/constants/time.js.map +1 -1
  111. package/dist/src/entities/data/error-record.entity.d.ts +1 -0
  112. package/dist/src/entities/data/error-record.entity.d.ts.map +1 -1
  113. package/dist/src/entities/data/error-record.entity.js +4 -0
  114. package/dist/src/entities/data/error-record.entity.js.map +1 -1
  115. package/dist/src/entities/pipeline/pipeline-run.entity.d.ts +4 -0
  116. package/dist/src/entities/pipeline/pipeline-run.entity.d.ts.map +1 -1
  117. package/dist/src/entities/pipeline/pipeline-run.entity.js +8 -0
  118. package/dist/src/entities/pipeline/pipeline-run.entity.js.map +1 -1
  119. package/dist/src/extractors/cdc/cdc.extractor.d.ts.map +1 -1
  120. package/dist/src/extractors/cdc/cdc.extractor.js +7 -2
  121. package/dist/src/extractors/cdc/cdc.extractor.js.map +1 -1
  122. package/dist/src/extractors/cdc/types.d.ts +1 -1
  123. package/dist/src/extractors/cdc/types.d.ts.map +1 -1
  124. package/dist/src/extractors/extractor-handler-registry.d.ts.map +1 -1
  125. package/dist/src/extractors/extractor-handler-registry.js +3 -0
  126. package/dist/src/extractors/extractor-handler-registry.js.map +1 -1
  127. package/dist/src/extractors/vendure-query/helpers.d.ts +9 -4
  128. package/dist/src/extractors/vendure-query/helpers.d.ts.map +1 -1
  129. package/dist/src/extractors/vendure-query/helpers.js +98 -32
  130. package/dist/src/extractors/vendure-query/helpers.js.map +1 -1
  131. package/dist/src/extractors/vendure-query/schema.d.ts.map +1 -1
  132. package/dist/src/extractors/vendure-query/schema.js +13 -0
  133. package/dist/src/extractors/vendure-query/schema.js.map +1 -1
  134. package/dist/src/feeds/generators/csv-feed.generator.d.ts.map +1 -1
  135. package/dist/src/feeds/generators/csv-feed.generator.js +5 -4
  136. package/dist/src/feeds/generators/csv-feed.generator.js.map +1 -1
  137. package/dist/src/feeds/generators/facebook-catalog.generator.d.ts.map +1 -1
  138. package/dist/src/feeds/generators/facebook-catalog.generator.js +83 -114
  139. package/dist/src/feeds/generators/facebook-catalog.generator.js.map +1 -1
  140. package/dist/src/feeds/generators/feed-constants.d.ts +1 -0
  141. package/dist/src/feeds/generators/feed-constants.d.ts.map +1 -1
  142. package/dist/src/feeds/generators/feed-constants.js +1 -0
  143. package/dist/src/feeds/generators/feed-constants.js.map +1 -1
  144. package/dist/src/feeds/generators/feed-helpers.d.ts +10 -8
  145. package/dist/src/feeds/generators/feed-helpers.d.ts.map +1 -1
  146. package/dist/src/feeds/generators/feed-helpers.js +23 -3
  147. package/dist/src/feeds/generators/feed-helpers.js.map +1 -1
  148. package/dist/src/feeds/generators/feed-item-builder.d.ts +59 -0
  149. package/dist/src/feeds/generators/feed-item-builder.d.ts.map +1 -0
  150. package/dist/src/feeds/generators/feed-item-builder.js +93 -0
  151. package/dist/src/feeds/generators/feed-item-builder.js.map +1 -0
  152. package/dist/src/feeds/generators/google-shopping.generator.d.ts.map +1 -1
  153. package/dist/src/feeds/generators/google-shopping.generator.js +52 -64
  154. package/dist/src/feeds/generators/google-shopping.generator.js.map +1 -1
  155. package/dist/src/feeds/generators/json-feed.generator.d.ts.map +1 -1
  156. package/dist/src/feeds/generators/json-feed.generator.js +4 -3
  157. package/dist/src/feeds/generators/json-feed.generator.js.map +1 -1
  158. package/dist/src/feeds/generators/xml-feed.generator.d.ts.map +1 -1
  159. package/dist/src/feeds/generators/xml-feed.generator.js +6 -5
  160. package/dist/src/feeds/generators/xml-feed.generator.js.map +1 -1
  161. package/dist/src/gql/generated.d.ts +5 -0
  162. package/dist/src/gql/generated.d.ts.map +1 -1
  163. package/dist/src/gql/generated.js.map +1 -1
  164. package/dist/src/index.d.ts +3 -1
  165. package/dist/src/index.d.ts.map +1 -1
  166. package/dist/src/index.js +7 -4
  167. package/dist/src/index.js.map +1 -1
  168. package/dist/src/loaders/asset/asset.loader.d.ts.map +1 -1
  169. package/dist/src/loaders/asset/asset.loader.js +5 -1
  170. package/dist/src/loaders/asset/asset.loader.js.map +1 -1
  171. package/dist/src/loaders/base/validation-builder.d.ts +128 -3
  172. package/dist/src/loaders/base/validation-builder.d.ts.map +1 -1
  173. package/dist/src/loaders/base/validation-builder.js +177 -6
  174. package/dist/src/loaders/base/validation-builder.js.map +1 -1
  175. package/dist/src/loaders/collection/collection.loader.d.ts.map +1 -1
  176. package/dist/src/loaders/collection/collection.loader.js +22 -1
  177. package/dist/src/loaders/collection/collection.loader.js.map +1 -1
  178. package/dist/src/loaders/collection/helpers.d.ts +16 -1
  179. package/dist/src/loaders/collection/helpers.d.ts.map +1 -1
  180. package/dist/src/loaders/collection/helpers.js +37 -0
  181. package/dist/src/loaders/collection/helpers.js.map +1 -1
  182. package/dist/src/loaders/customer/customer.loader.d.ts.map +1 -1
  183. package/dist/src/loaders/customer/customer.loader.js +13 -1
  184. package/dist/src/loaders/customer/customer.loader.js.map +1 -1
  185. package/dist/src/loaders/customer/helpers.d.ts +15 -3
  186. package/dist/src/loaders/customer/helpers.d.ts.map +1 -1
  187. package/dist/src/loaders/customer/helpers.js +188 -7
  188. package/dist/src/loaders/customer/helpers.js.map +1 -1
  189. package/dist/src/loaders/facet-value/facet-value.loader.d.ts.map +1 -1
  190. package/dist/src/loaders/facet-value/facet-value.loader.js +18 -0
  191. package/dist/src/loaders/facet-value/facet-value.loader.js.map +1 -1
  192. package/dist/src/loaders/facet-value/types.d.ts +1 -1
  193. package/dist/src/loaders/facet-value/types.js +1 -1
  194. package/dist/src/loaders/facet-value/types.js.map +1 -1
  195. package/dist/src/loaders/inventory/inventory.loader.d.ts.map +1 -1
  196. package/dist/src/loaders/inventory/inventory.loader.js +1 -2
  197. package/dist/src/loaders/inventory/inventory.loader.js.map +1 -1
  198. package/dist/src/loaders/order/helpers.d.ts +16 -2
  199. package/dist/src/loaders/order/helpers.d.ts.map +1 -1
  200. package/dist/src/loaders/order/helpers.js +108 -0
  201. package/dist/src/loaders/order/helpers.js.map +1 -1
  202. package/dist/src/loaders/order/order.loader.d.ts +38 -0
  203. package/dist/src/loaders/order/order.loader.d.ts.map +1 -1
  204. package/dist/src/loaders/order/order.loader.js +238 -24
  205. package/dist/src/loaders/order/order.loader.js.map +1 -1
  206. package/dist/src/loaders/order/types.d.ts +10 -3
  207. package/dist/src/loaders/order/types.d.ts.map +1 -1
  208. package/dist/src/loaders/order/types.js +13 -2
  209. package/dist/src/loaders/order/types.js.map +1 -1
  210. package/dist/src/loaders/product/product.loader.d.ts.map +1 -1
  211. package/dist/src/loaders/product/product.loader.js +18 -2
  212. package/dist/src/loaders/product/product.loader.js.map +1 -1
  213. package/dist/src/loaders/product-variant/helpers.d.ts +20 -0
  214. package/dist/src/loaders/product-variant/helpers.d.ts.map +1 -0
  215. package/dist/src/loaders/product-variant/helpers.js +103 -0
  216. package/dist/src/loaders/product-variant/helpers.js.map +1 -0
  217. package/dist/src/loaders/product-variant/product-variant.loader.d.ts.map +1 -1
  218. package/dist/src/loaders/product-variant/product-variant.loader.js +76 -10
  219. package/dist/src/loaders/product-variant/product-variant.loader.js.map +1 -1
  220. package/dist/src/loaders/product-variant/types.d.ts +7 -0
  221. package/dist/src/loaders/product-variant/types.d.ts.map +1 -1
  222. package/dist/src/loaders/product-variant/types.js.map +1 -1
  223. package/dist/src/loaders/promotion/helpers.d.ts +29 -0
  224. package/dist/src/loaders/promotion/helpers.d.ts.map +1 -1
  225. package/dist/src/loaders/promotion/helpers.js +68 -0
  226. package/dist/src/loaders/promotion/helpers.js.map +1 -1
  227. package/dist/src/loaders/promotion/promotion.loader.d.ts.map +1 -1
  228. package/dist/src/loaders/promotion/promotion.loader.js +12 -2
  229. package/dist/src/loaders/promotion/promotion.loader.js.map +1 -1
  230. package/dist/src/loaders/shared-helpers.d.ts +42 -2
  231. package/dist/src/loaders/shared-helpers.d.ts.map +1 -1
  232. package/dist/src/loaders/shared-helpers.js +384 -5
  233. package/dist/src/loaders/shared-helpers.js.map +1 -1
  234. package/dist/src/operators/data/copy.operator.js +2 -2
  235. package/dist/src/operators/data/copy.operator.js.map +1 -1
  236. package/dist/src/operators/data/rename.operator.js +1 -1
  237. package/dist/src/operators/data/rename.operator.js.map +1 -1
  238. package/dist/src/operators/helpers.d.ts.map +1 -1
  239. package/dist/src/operators/helpers.js +11 -1
  240. package/dist/src/operators/helpers.js.map +1 -1
  241. package/dist/src/operators/operator-runtime-registry.d.ts +2 -2
  242. package/dist/src/operators/operator-runtime-registry.d.ts.map +1 -1
  243. package/dist/src/operators/operator-runtime-registry.js +1 -1
  244. package/dist/src/operators/operator-runtime-registry.js.map +1 -1
  245. package/dist/src/operators/script/script.operators.d.ts.map +1 -1
  246. package/dist/src/operators/script/script.operators.js +9 -3
  247. package/dist/src/operators/script/script.operators.js.map +1 -1
  248. package/dist/src/runtime/config-types.d.ts +6 -0
  249. package/dist/src/runtime/config-types.d.ts.map +1 -1
  250. package/dist/src/runtime/executor-helpers.d.ts +77 -0
  251. package/dist/src/runtime/executor-helpers.d.ts.map +1 -0
  252. package/dist/src/runtime/executor-helpers.js +143 -0
  253. package/dist/src/runtime/executor-helpers.js.map +1 -0
  254. package/dist/src/runtime/executor-types.d.ts +3 -2
  255. package/dist/src/runtime/executor-types.d.ts.map +1 -1
  256. package/dist/src/runtime/executors/export.executor.d.ts +3 -1
  257. package/dist/src/runtime/executors/export.executor.d.ts.map +1 -1
  258. package/dist/src/runtime/executors/export.executor.js +15 -3
  259. package/dist/src/runtime/executors/export.executor.js.map +1 -1
  260. package/dist/src/runtime/executors/exporters/export-handler-registry.d.ts.map +1 -1
  261. package/dist/src/runtime/executors/exporters/export-handler-registry.js +5 -0
  262. package/dist/src/runtime/executors/exporters/export-handler-registry.js.map +1 -1
  263. package/dist/src/runtime/executors/exporters/export-handler.types.d.ts +3 -0
  264. package/dist/src/runtime/executors/exporters/export-handler.types.d.ts.map +1 -1
  265. package/dist/src/runtime/executors/exporters/export-handler.types.js.map +1 -1
  266. package/dist/src/runtime/executors/exporters/export-helpers.d.ts +1 -0
  267. package/dist/src/runtime/executors/exporters/export-helpers.d.ts.map +1 -1
  268. package/dist/src/runtime/executors/exporters/export-helpers.js +33 -4
  269. package/dist/src/runtime/executors/exporters/export-helpers.js.map +1 -1
  270. package/dist/src/runtime/executors/exporters/http-export.handler.js +4 -4
  271. package/dist/src/runtime/executors/exporters/http-export.handler.js.map +1 -1
  272. package/dist/src/runtime/executors/extractors/file-extract.handler.d.ts.map +1 -1
  273. package/dist/src/runtime/executors/extractors/file-extract.handler.js +33 -13
  274. package/dist/src/runtime/executors/extractors/file-extract.handler.js.map +1 -1
  275. package/dist/src/runtime/executors/extractors/memory-extract.handler.d.ts.map +1 -1
  276. package/dist/src/runtime/executors/extractors/memory-extract.handler.js +17 -9
  277. package/dist/src/runtime/executors/extractors/memory-extract.handler.js.map +1 -1
  278. package/dist/src/runtime/executors/feed.executor.d.ts.map +1 -1
  279. package/dist/src/runtime/executors/feed.executor.js +11 -2
  280. package/dist/src/runtime/executors/feed.executor.js.map +1 -1
  281. package/dist/src/runtime/executors/feeds/feed-handler-registry.d.ts.map +1 -1
  282. package/dist/src/runtime/executors/feeds/feed-handler-registry.js +4 -0
  283. package/dist/src/runtime/executors/feeds/feed-handler-registry.js.map +1 -1
  284. package/dist/src/runtime/executors/gate.executor.d.ts +3 -1
  285. package/dist/src/runtime/executors/gate.executor.d.ts.map +1 -1
  286. package/dist/src/runtime/executors/gate.executor.js +47 -26
  287. package/dist/src/runtime/executors/gate.executor.js.map +1 -1
  288. package/dist/src/runtime/executors/loaders/asset-handler.js +1 -1
  289. package/dist/src/runtime/executors/loaders/asset-handler.js.map +1 -1
  290. package/dist/src/runtime/executors/loaders/asset-import-handler.js +1 -1
  291. package/dist/src/runtime/executors/loaders/asset-import-handler.js.map +1 -1
  292. package/dist/src/runtime/executors/loaders/channel-handler.d.ts +3 -1
  293. package/dist/src/runtime/executors/loaders/channel-handler.d.ts.map +1 -1
  294. package/dist/src/runtime/executors/loaders/channel-handler.js +28 -5
  295. package/dist/src/runtime/executors/loaders/channel-handler.js.map +1 -1
  296. package/dist/src/runtime/executors/loaders/collection-handler.d.ts +14 -2
  297. package/dist/src/runtime/executors/loaders/collection-handler.d.ts.map +1 -1
  298. package/dist/src/runtime/executors/loaders/collection-handler.js +113 -23
  299. package/dist/src/runtime/executors/loaders/collection-handler.js.map +1 -1
  300. package/dist/src/runtime/executors/loaders/customer-group-handler.d.ts.map +1 -1
  301. package/dist/src/runtime/executors/loaders/customer-group-handler.js +2 -20
  302. package/dist/src/runtime/executors/loaders/customer-group-handler.js.map +1 -1
  303. package/dist/src/runtime/executors/loaders/customer-handler.d.ts +6 -1
  304. package/dist/src/runtime/executors/loaders/customer-handler.d.ts.map +1 -1
  305. package/dist/src/runtime/executors/loaders/customer-handler.js +128 -15
  306. package/dist/src/runtime/executors/loaders/customer-handler.js.map +1 -1
  307. package/dist/src/runtime/executors/loaders/deletion-handler.d.ts +39 -0
  308. package/dist/src/runtime/executors/loaders/deletion-handler.d.ts.map +1 -0
  309. package/dist/src/runtime/executors/loaders/deletion-handler.js +414 -0
  310. package/dist/src/runtime/executors/loaders/deletion-handler.js.map +1 -0
  311. package/dist/src/runtime/executors/loaders/facet-handler.d.ts +18 -3
  312. package/dist/src/runtime/executors/loaders/facet-handler.d.ts.map +1 -1
  313. package/dist/src/runtime/executors/loaders/facet-handler.js +161 -28
  314. package/dist/src/runtime/executors/loaders/facet-handler.js.map +1 -1
  315. package/dist/src/runtime/executors/loaders/graphql-mutation-handler.js +1 -1
  316. package/dist/src/runtime/executors/loaders/graphql-mutation-handler.js.map +1 -1
  317. package/dist/src/runtime/executors/loaders/index.d.ts +2 -0
  318. package/dist/src/runtime/executors/loaders/index.d.ts.map +1 -1
  319. package/dist/src/runtime/executors/loaders/index.js +5 -1
  320. package/dist/src/runtime/executors/loaders/index.js.map +1 -1
  321. package/dist/src/runtime/executors/loaders/inventory-adjust-handler.d.ts.map +1 -1
  322. package/dist/src/runtime/executors/loaders/inventory-adjust-handler.js +2 -21
  323. package/dist/src/runtime/executors/loaders/inventory-adjust-handler.js.map +1 -1
  324. package/dist/src/runtime/executors/loaders/inventory-handler.d.ts +2 -1
  325. package/dist/src/runtime/executors/loaders/inventory-handler.d.ts.map +1 -1
  326. package/dist/src/runtime/executors/loaders/inventory-handler.js +11 -9
  327. package/dist/src/runtime/executors/loaders/inventory-handler.js.map +1 -1
  328. package/dist/src/runtime/executors/loaders/loader-handler-registry.d.ts.map +1 -1
  329. package/dist/src/runtime/executors/loaders/loader-handler-registry.js +150 -11
  330. package/dist/src/runtime/executors/loaders/loader-handler-registry.js.map +1 -1
  331. package/dist/src/runtime/executors/loaders/order-handler.d.ts +32 -4
  332. package/dist/src/runtime/executors/loaders/order-handler.d.ts.map +1 -1
  333. package/dist/src/runtime/executors/loaders/order-handler.js +201 -18
  334. package/dist/src/runtime/executors/loaders/order-handler.js.map +1 -1
  335. package/dist/src/runtime/executors/loaders/order-upsert-handler.d.ts +15 -0
  336. package/dist/src/runtime/executors/loaders/order-upsert-handler.d.ts.map +1 -0
  337. package/dist/src/runtime/executors/loaders/order-upsert-handler.js +89 -0
  338. package/dist/src/runtime/executors/loaders/order-upsert-handler.js.map +1 -0
  339. package/dist/src/runtime/executors/loaders/payment-method-handler.d.ts +11 -2
  340. package/dist/src/runtime/executors/loaders/payment-method-handler.d.ts.map +1 -1
  341. package/dist/src/runtime/executors/loaders/payment-method-handler.js +92 -34
  342. package/dist/src/runtime/executors/loaders/payment-method-handler.js.map +1 -1
  343. package/dist/src/runtime/executors/loaders/product-handler.d.ts +20 -0
  344. package/dist/src/runtime/executors/loaders/product-handler.d.ts.map +1 -1
  345. package/dist/src/runtime/executors/loaders/product-handler.js +121 -31
  346. package/dist/src/runtime/executors/loaders/product-handler.js.map +1 -1
  347. package/dist/src/runtime/executors/loaders/promotion-handler.d.ts +9 -2
  348. package/dist/src/runtime/executors/loaders/promotion-handler.d.ts.map +1 -1
  349. package/dist/src/runtime/executors/loaders/promotion-handler.js +134 -68
  350. package/dist/src/runtime/executors/loaders/promotion-handler.js.map +1 -1
  351. package/dist/src/runtime/executors/loaders/rest-handler.js +1 -1
  352. package/dist/src/runtime/executors/loaders/rest-handler.js.map +1 -1
  353. package/dist/src/runtime/executors/loaders/shared-lookups.d.ts +62 -1
  354. package/dist/src/runtime/executors/loaders/shared-lookups.d.ts.map +1 -1
  355. package/dist/src/runtime/executors/loaders/shared-lookups.js +238 -0
  356. package/dist/src/runtime/executors/loaders/shared-lookups.js.map +1 -1
  357. package/dist/src/runtime/executors/loaders/shipping-method-handler.d.ts +11 -6
  358. package/dist/src/runtime/executors/loaders/shipping-method-handler.d.ts.map +1 -1
  359. package/dist/src/runtime/executors/loaders/shipping-method-handler.js +168 -54
  360. package/dist/src/runtime/executors/loaders/shipping-method-handler.js.map +1 -1
  361. package/dist/src/runtime/executors/loaders/stock-location-handler.d.ts.map +1 -1
  362. package/dist/src/runtime/executors/loaders/stock-location-handler.js +2 -20
  363. package/dist/src/runtime/executors/loaders/stock-location-handler.js.map +1 -1
  364. package/dist/src/runtime/executors/loaders/tax-rate-handler.d.ts.map +1 -1
  365. package/dist/src/runtime/executors/loaders/tax-rate-handler.js +14 -1
  366. package/dist/src/runtime/executors/loaders/tax-rate-handler.js.map +1 -1
  367. package/dist/src/runtime/executors/loaders/types.d.ts +2 -0
  368. package/dist/src/runtime/executors/loaders/types.d.ts.map +1 -1
  369. package/dist/src/runtime/executors/loaders/variant-handler.d.ts +24 -2
  370. package/dist/src/runtime/executors/loaders/variant-handler.d.ts.map +1 -1
  371. package/dist/src/runtime/executors/loaders/variant-handler.js +266 -47
  372. package/dist/src/runtime/executors/loaders/variant-handler.js.map +1 -1
  373. package/dist/src/runtime/executors/sink-handler-registry.d.ts +7 -11
  374. package/dist/src/runtime/executors/sink-handler-registry.d.ts.map +1 -1
  375. package/dist/src/runtime/executors/sink-handler-registry.js +376 -10
  376. package/dist/src/runtime/executors/sink-handler-registry.js.map +1 -1
  377. package/dist/src/runtime/executors/sink.executor.d.ts +1 -0
  378. package/dist/src/runtime/executors/sink.executor.d.ts.map +1 -1
  379. package/dist/src/runtime/executors/sink.executor.js +82 -12
  380. package/dist/src/runtime/executors/sink.executor.js.map +1 -1
  381. package/dist/src/runtime/executors/transform.executor.d.ts.map +1 -1
  382. package/dist/src/runtime/executors/transform.executor.js +31 -2
  383. package/dist/src/runtime/executors/transform.executor.js.map +1 -1
  384. package/dist/src/runtime/orchestration/graph-executor.d.ts.map +1 -1
  385. package/dist/src/runtime/orchestration/graph-executor.js +3 -2
  386. package/dist/src/runtime/orchestration/graph-executor.js.map +1 -1
  387. package/dist/src/runtime/orchestration/helpers.d.ts +4 -1
  388. package/dist/src/runtime/orchestration/helpers.d.ts.map +1 -1
  389. package/dist/src/runtime/orchestration/helpers.js +7 -2
  390. package/dist/src/runtime/orchestration/helpers.js.map +1 -1
  391. package/dist/src/runtime/orchestration/linear-executor.d.ts.map +1 -1
  392. package/dist/src/runtime/orchestration/linear-executor.js +3 -2
  393. package/dist/src/runtime/orchestration/linear-executor.js.map +1 -1
  394. package/dist/src/runtime/orchestration/replay-executor.d.ts.map +1 -1
  395. package/dist/src/runtime/orchestration/replay-executor.js +3 -2
  396. package/dist/src/runtime/orchestration/replay-executor.js.map +1 -1
  397. package/dist/src/runtime/orchestration/step-strategies/export-step.strategy.d.ts.map +1 -1
  398. package/dist/src/runtime/orchestration/step-strategies/export-step.strategy.js +12 -12
  399. package/dist/src/runtime/orchestration/step-strategies/export-step.strategy.js.map +1 -1
  400. package/dist/src/runtime/orchestration/step-strategies/feed-step.strategy.d.ts.map +1 -1
  401. package/dist/src/runtime/orchestration/step-strategies/feed-step.strategy.js +12 -12
  402. package/dist/src/runtime/orchestration/step-strategies/feed-step.strategy.js.map +1 -1
  403. package/dist/src/runtime/orchestration/step-strategies/load-step.strategy.js +2 -2
  404. package/dist/src/runtime/orchestration/step-strategies/load-step.strategy.js.map +1 -1
  405. package/dist/src/runtime/orchestration/step-strategies/sink-step.strategy.d.ts.map +1 -1
  406. package/dist/src/runtime/orchestration/step-strategies/sink-step.strategy.js +12 -12
  407. package/dist/src/runtime/orchestration/step-strategies/sink-step.strategy.js.map +1 -1
  408. package/dist/src/runtime/orchestration/step-strategies/step-dispatcher.d.ts.map +1 -1
  409. package/dist/src/runtime/orchestration/step-strategies/step-dispatcher.js +4 -3
  410. package/dist/src/runtime/orchestration/step-strategies/step-dispatcher.js.map +1 -1
  411. package/dist/src/runtime/orchestration/step-strategies/transform-step.strategy.js +4 -4
  412. package/dist/src/runtime/orchestration/step-strategies/transform-step.strategy.js.map +1 -1
  413. package/dist/src/runtime/orchestration/types.d.ts +1 -0
  414. package/dist/src/runtime/orchestration/types.d.ts.map +1 -1
  415. package/dist/src/runtime/utils.d.ts.map +1 -1
  416. package/dist/src/runtime/utils.js +8 -1
  417. package/dist/src/runtime/utils.js.map +1 -1
  418. package/dist/src/sdk/adapters/queue/index.d.ts +1 -0
  419. package/dist/src/sdk/adapters/queue/index.d.ts.map +1 -1
  420. package/dist/src/sdk/adapters/queue/index.js +1 -0
  421. package/dist/src/sdk/adapters/queue/index.js.map +1 -1
  422. package/dist/src/sdk/adapters/queue/internal.adapter.d.ts +32 -0
  423. package/dist/src/sdk/adapters/queue/internal.adapter.d.ts.map +1 -0
  424. package/dist/src/sdk/adapters/queue/internal.adapter.js +68 -0
  425. package/dist/src/sdk/adapters/queue/internal.adapter.js.map +1 -0
  426. package/dist/src/sdk/adapters/queue/queue-adapter.registry.d.ts.map +1 -1
  427. package/dist/src/sdk/adapters/queue/queue-adapter.registry.js +3 -0
  428. package/dist/src/sdk/adapters/queue/queue-adapter.registry.js.map +1 -1
  429. package/dist/src/sdk/adapters/queue/rabbitmq.adapter.d.ts.map +1 -1
  430. package/dist/src/sdk/adapters/queue/rabbitmq.adapter.js +2 -1
  431. package/dist/src/sdk/adapters/queue/rabbitmq.adapter.js.map +1 -1
  432. package/dist/src/sdk/constants.d.ts +2 -2
  433. package/dist/src/sdk/constants.d.ts.map +1 -1
  434. package/dist/src/sdk/dsl/pipeline-builder.d.ts +8 -2
  435. package/dist/src/sdk/dsl/pipeline-builder.d.ts.map +1 -1
  436. package/dist/src/sdk/dsl/pipeline-builder.js +115 -19
  437. package/dist/src/sdk/dsl/pipeline-builder.js.map +1 -1
  438. package/dist/src/sdk/dsl/step-configs.d.ts +24 -0
  439. package/dist/src/sdk/dsl/step-configs.d.ts.map +1 -1
  440. package/dist/src/services/data/record-error.service.d.ts +1 -1
  441. package/dist/src/services/data/record-error.service.d.ts.map +1 -1
  442. package/dist/src/services/data/record-error.service.js +4 -1
  443. package/dist/src/services/data/record-error.service.js.map +1 -1
  444. package/dist/src/services/events/consumer-discovery.d.ts.map +1 -1
  445. package/dist/src/services/events/consumer-discovery.js +2 -1
  446. package/dist/src/services/events/consumer-discovery.js.map +1 -1
  447. package/dist/src/services/events/consumer-lifecycle.d.ts.map +1 -1
  448. package/dist/src/services/events/consumer-lifecycle.js +19 -15
  449. package/dist/src/services/events/consumer-lifecycle.js.map +1 -1
  450. package/dist/src/services/events/event-trigger.service.d.ts.map +1 -1
  451. package/dist/src/services/events/event-trigger.service.js +9 -3
  452. package/dist/src/services/events/event-trigger.service.js.map +1 -1
  453. package/dist/src/services/events/hook.service.d.ts.map +1 -1
  454. package/dist/src/services/events/hook.service.js +7 -3
  455. package/dist/src/services/events/hook.service.js.map +1 -1
  456. package/dist/src/services/events/message-processing.d.ts.map +1 -1
  457. package/dist/src/services/events/message-processing.js +13 -8
  458. package/dist/src/services/events/message-processing.js.map +1 -1
  459. package/dist/src/services/logger/datahub-logger.d.ts +7 -0
  460. package/dist/src/services/logger/datahub-logger.d.ts.map +1 -1
  461. package/dist/src/services/logger/datahub-logger.js +9 -0
  462. package/dist/src/services/logger/datahub-logger.js.map +1 -1
  463. package/dist/src/services/logger/execution-logger.d.ts +1 -1
  464. package/dist/src/services/logger/execution-logger.d.ts.map +1 -1
  465. package/dist/src/services/logger/execution-logger.js +8 -4
  466. package/dist/src/services/logger/execution-logger.js.map +1 -1
  467. package/dist/src/services/pipeline/pipeline-runner.service.d.ts +3 -1
  468. package/dist/src/services/pipeline/pipeline-runner.service.d.ts.map +1 -1
  469. package/dist/src/services/pipeline/pipeline-runner.service.js +17 -7
  470. package/dist/src/services/pipeline/pipeline-runner.service.js.map +1 -1
  471. package/dist/src/services/pipeline/pipeline.service.d.ts.map +1 -1
  472. package/dist/src/services/pipeline/pipeline.service.js +8 -2
  473. package/dist/src/services/pipeline/pipeline.service.js.map +1 -1
  474. package/dist/src/services/storage/retention.service.d.ts.map +1 -1
  475. package/dist/src/services/storage/retention.service.js +22 -0
  476. package/dist/src/services/storage/retention.service.js.map +1 -1
  477. package/dist/src/services/testing/step-test.service.d.ts.map +1 -1
  478. package/dist/src/services/testing/step-test.service.js +17 -1
  479. package/dist/src/services/testing/step-test.service.js.map +1 -1
  480. package/dist/src/services/validation/definition-validation.service.d.ts.map +1 -1
  481. package/dist/src/services/validation/definition-validation.service.js +4 -1
  482. package/dist/src/services/validation/definition-validation.service.js.map +1 -1
  483. package/dist/src/services/validation/trigger-validation.d.ts.map +1 -1
  484. package/dist/src/services/validation/trigger-validation.js +76 -2
  485. package/dist/src/services/validation/trigger-validation.js.map +1 -1
  486. package/dist/src/types/index.d.ts +1 -0
  487. package/dist/src/types/index.d.ts.map +1 -1
  488. package/dist/src/types/index.js.map +1 -1
  489. package/dist/src/types/loader-configs.d.ts +1071 -0
  490. package/dist/src/types/loader-configs.d.ts.map +1 -0
  491. package/dist/src/types/loader-configs.js +54 -0
  492. package/dist/src/types/loader-configs.js.map +1 -0
  493. package/dist/src/types/step-configs.d.ts +1 -0
  494. package/dist/src/types/step-configs.d.ts.map +1 -1
  495. package/dist/src/types/step-configs.js +3 -0
  496. package/dist/src/types/step-configs.js.map +1 -1
  497. package/dist/src/utils/code-security.utils.d.ts +18 -0
  498. package/dist/src/utils/code-security.utils.d.ts.map +1 -1
  499. package/dist/src/utils/code-security.utils.js +125 -9
  500. package/dist/src/utils/code-security.utils.js.map +1 -1
  501. package/dist/src/utils/error.utils.d.ts +1 -1
  502. package/dist/src/utils/error.utils.d.ts.map +1 -1
  503. package/dist/src/utils/error.utils.js +2 -1
  504. package/dist/src/utils/error.utils.js.map +1 -1
  505. package/dist/src/utils/url-security.utils.d.ts +5 -3
  506. package/dist/src/utils/url-security.utils.d.ts.map +1 -1
  507. package/dist/src/utils/url-security.utils.js +20 -4
  508. package/dist/src/utils/url-security.utils.js.map +1 -1
  509. package/dist/src/validation/pipeline-definition.validator.js +2 -1
  510. package/dist/src/validation/pipeline-definition.validator.js.map +1 -1
  511. package/docs/developer-guide/README.md +2 -0
  512. package/docs/developer-guide/dsl/pipeline-builder.md +12 -0
  513. package/docs/developer-guide/extending/README.md +230 -10
  514. package/docs/developer-guide/extending/custom-sinks.md +87 -0
  515. package/docs/developer-guide/extending/events.md +4 -1
  516. package/docs/examples/validation-error-messages.md +246 -0
  517. package/docs/guides/multi-channel.md +1190 -0
  518. package/docs/guides/multi-currency.md +881 -0
  519. package/docs/guides/multi-entity.md +597 -0
  520. package/docs/guides/multi-language.md +957 -0
  521. package/docs/reference/README.md +11 -4
  522. package/docs/reference/extractors.md +30 -0
  523. package/docs/reference/loaders.md +396 -21
  524. package/docs/reference/operators-complete.md +1251 -0
  525. package/docs/reference/operators.md +36 -2
  526. package/docs/reference/sinks.md +7 -6
  527. package/docs/reference/step-types.md +12 -5
  528. package/docs/user-guide/pipelines.md +82 -13
  529. package/package.json +1 -1
  530. package/shared/types/adapter-config.types.ts +439 -10
  531. package/shared/types/index.ts +25 -0
  532. package/shared/types/loader.types.ts +4 -0
  533. package/shared/types/step.types.ts +6 -0
  534. package/shared/utils/error.ts +11 -0
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { useMemo, useCallback } from 'react';
2
+ import { useMemo, useCallback, useEffect } from 'react';
3
3
  import {
4
4
  Button,
5
5
  Input,
@@ -158,9 +158,11 @@ export function StepConfigPanel({
158
158
  [stepType, data.config?.operators]
159
159
  );
160
160
 
161
+ const hasSpecialConfigEditor = stepType in SPECIAL_CONFIG_EDITORS;
162
+
161
163
  const needsAdapterSelection = useMemo(
162
- () => !adapterCode && !hasMultiOperatorConfig && stepType !== STEP_TYPE.TRIGGER,
163
- [adapterCode, hasMultiOperatorConfig, stepType]
164
+ () => !adapterCode && !hasMultiOperatorConfig && stepType !== STEP_TYPE.TRIGGER && !hasSpecialConfigEditor,
165
+ [adapterCode, hasMultiOperatorConfig, stepType, hasSpecialConfigEditor]
164
166
  );
165
167
 
166
168
  const dynamicFields = React.useMemo<AdapterSchemaField[]>(
@@ -194,7 +196,6 @@ export function StepConfigPanel({
194
196
  onChange({
195
197
  ...data,
196
198
  adapterCode: code,
197
- config: { ...data.config, adapterCode: code },
198
199
  });
199
200
  }, [onChange, data]);
200
201
 
@@ -210,11 +211,24 @@ export function StepConfigPanel({
210
211
  }, [updateKey]);
211
212
 
212
213
  const handleAdapterCodeChange = useCallback((code: string) => {
213
- if (code !== adapterCode) {
214
+ if (code && code !== adapterCode) {
214
215
  updateAdapterCode(code);
215
216
  }
216
217
  }, [adapterCode, updateAdapterCode]);
217
218
 
219
+ // Auto-select the sole adapter for step types with a special config editor
220
+ // (e.g., ROUTE has exactly one ROUTER adapter: "condition"). This prevents
221
+ // the user from having to manually pick the only available adapter.
222
+ useEffect(() => {
223
+ if (
224
+ stepType in SPECIAL_CONFIG_EDITORS &&
225
+ !adapterCode &&
226
+ availableAdapters.length === 1
227
+ ) {
228
+ handleAdapterCodeChange(availableAdapters[0].code);
229
+ }
230
+ }, [stepType, adapterCode, availableAdapters, handleAdapterCodeChange]);
231
+
218
232
  const handleResetDefaults = useCallback(() => {
219
233
  const defaults: Record<string, unknown> = {};
220
234
  for (const f of dynamicFields) {
@@ -235,7 +249,6 @@ export function StepConfigPanel({
235
249
  authentication: trigger.authentication,
236
250
  secretCode: trigger.secretCode,
237
251
  event: trigger.eventType,
238
- eventType: trigger.eventType,
239
252
  });
240
253
  }, [updateConfigBatch]);
241
254
 
@@ -339,6 +352,7 @@ export function StepConfigPanel({
339
352
  trigger={triggerValue}
340
353
  onChange={handleTriggerChange}
341
354
  compact={compact}
355
+ secretCodes={secretOptions.map(s => s.code)}
342
356
  />
343
357
  );
344
358
  };
@@ -404,16 +418,16 @@ export function StepConfigPanel({
404
418
  )}
405
419
 
406
420
  {selectedAdapter && (
407
- <div className="flex items-center gap-2 p-2 bg-muted/50 rounded border">
421
+ <div className="flex items-start gap-2 p-2 bg-muted/50 rounded border">
408
422
  <div
409
- className="w-7 h-7 rounded flex items-center justify-center text-white shrink-0"
423
+ className="w-7 h-7 rounded flex items-center justify-center text-white shrink-0 mt-0.5"
410
424
  style={{ backgroundColor: selectedAdapter.color }}
411
425
  >
412
426
  <selectedAdapter.icon className="w-3.5 h-3.5" />
413
427
  </div>
414
- <div className="min-w-0">
428
+ <div className="min-w-0 flex-1">
415
429
  <div className="font-medium text-sm truncate">{selectedAdapter.name}</div>
416
- <div className="text-xs text-muted-foreground truncate">
430
+ <div className="text-xs text-muted-foreground line-clamp-2">
417
431
  {selectedAdapter.description}
418
432
  </div>
419
433
  </div>
@@ -93,7 +93,8 @@ export const SKELETON_WIDTHS = [80, 120, 100, 140] as const;
93
93
  * Panel widths for drawers and side panels
94
94
  */
95
95
  export const PANEL_WIDTHS = {
96
- PROPERTIES_DEFAULT: '420px',
96
+ PROPERTIES_DEFAULT: '520px',
97
+ PROPERTIES_MIN: '380px',
97
98
  NODE_PALETTE: 'w-[260px]',
98
99
  MAX_VW: '90vw',
99
100
  } as const;
@@ -7,6 +7,7 @@ export const PIPELINE_EDITOR_PANEL = {
7
7
  STEPS: 'steps',
8
8
  TRIGGERS: 'triggers',
9
9
  SETTINGS: 'settings',
10
+ HOOKS: 'hooks',
10
11
  } as const;
11
12
  export type PipelineEditorPanel = typeof PIPELINE_EDITOR_PANEL[keyof typeof PIPELINE_EDITOR_PANEL];
12
13
 
@@ -31,7 +31,7 @@ type Documents = {
31
31
  "\n query DataHubRecentLogsApi($limit: Int) {\n dataHubRecentLogs(limit: $limit) {\n id\n createdAt\n level\n message\n stepKey\n pipelineId\n pipeline {\n id\n code\n name\n }\n runId\n durationMs\n recordsProcessed\n recordsFailed\n }\n }\n": typeof types.DataHubRecentLogsApiDocument,
32
32
  "\n query DataHubPipelineRunsApi($pipelineId: ID, $options: DataHubPipelineRunListOptions) {\n dataHubPipelineRuns(pipelineId: $pipelineId, options: $options) {\n items {\n id\n status\n startedAt\n finishedAt\n metrics\n }\n totalItems\n }\n }\n": typeof types.DataHubPipelineRunsApiDocument,
33
33
  "\n query DataHubPipelineRunDetailApi($id: ID!) {\n dataHubPipelineRun(id: $id) {\n id\n status\n startedAt\n finishedAt\n metrics\n error\n startedByUserId\n pipeline {\n id\n code\n name\n }\n }\n }\n": typeof types.DataHubPipelineRunDetailApiDocument,
34
- "\n query DataHubRunErrorsApi($runId: ID!) {\n dataHubRunErrors(runId: $runId) {\n id\n stepKey\n message\n payload\n }\n }\n": typeof types.DataHubRunErrorsApiDocument,
34
+ "\n query DataHubRunErrorsApi($runId: ID!) {\n dataHubRunErrors(runId: $runId) {\n id\n stepKey\n message\n payload\n stackTrace\n }\n }\n": typeof types.DataHubRunErrorsApiDocument,
35
35
  "\n mutation CancelDataHubPipelineRunApi($id: ID!) {\n cancelDataHubPipelineRun(id: $id) {\n id\n status\n }\n }\n": typeof types.CancelDataHubPipelineRunApiDocument,
36
36
  "\n mutation RetryDataHubRecordApi($errorId: ID!, $patch: JSON) {\n retryDataHubRecord(errorId: $errorId, patch: $patch)\n }\n": typeof types.RetryDataHubRecordApiDocument,
37
37
  "\n mutation ApproveDataHubGateApi($runId: ID!, $stepKey: String!) {\n approveDataHubGate(runId: $runId, stepKey: $stepKey) {\n success\n message\n run {\n id\n status\n }\n }\n }\n": typeof types.ApproveDataHubGateApiDocument,
@@ -52,7 +52,7 @@ type Documents = {
52
52
  "\n mutation PublishDataHubPipelineApi($id: ID!) {\n publishDataHubPipeline(id: $id) {\n id\n status\n publishedAt\n }\n }\n": typeof types.PublishDataHubPipelineApiDocument,
53
53
  "\n mutation ArchiveDataHubPipelineApi($id: ID!) {\n archiveDataHubPipeline(id: $id) {\n id\n status\n }\n }\n": typeof types.ArchiveDataHubPipelineApiDocument,
54
54
  "\n query DataHubQueueStatsApi {\n dataHubQueueStats {\n pending\n running\n failed\n completedToday\n byPipeline {\n code\n pending\n running\n }\n recentFailed {\n id\n code\n finishedAt\n error\n }\n }\n }\n": typeof types.DataHubQueueStatsApiDocument,
55
- "\n query DataHubDeadLettersApi {\n dataHubDeadLetters {\n id\n stepKey\n message\n payload\n }\n }\n": typeof types.DataHubDeadLettersApiDocument,
55
+ "\n query DataHubDeadLettersApi {\n dataHubDeadLetters {\n id\n stepKey\n message\n payload\n stackTrace\n }\n }\n": typeof types.DataHubDeadLettersApiDocument,
56
56
  "\n query DataHubConsumersApi {\n dataHubConsumers {\n pipelineCode\n queueName\n isActive\n messagesProcessed\n messagesFailed\n lastMessageAt\n }\n }\n": typeof types.DataHubConsumersApiDocument,
57
57
  "\n mutation StartDataHubConsumerApi($pipelineCode: String!) {\n startDataHubConsumer(pipelineCode: $pipelineCode)\n }\n": typeof types.StartDataHubConsumerApiDocument,
58
58
  "\n mutation StopDataHubConsumerApi($pipelineCode: String!) {\n stopDataHubConsumer(pipelineCode: $pipelineCode)\n }\n": typeof types.StopDataHubConsumerApiDocument,
@@ -88,7 +88,7 @@ const documents: Documents = {
88
88
  "\n query DataHubRecentLogsApi($limit: Int) {\n dataHubRecentLogs(limit: $limit) {\n id\n createdAt\n level\n message\n stepKey\n pipelineId\n pipeline {\n id\n code\n name\n }\n runId\n durationMs\n recordsProcessed\n recordsFailed\n }\n }\n": types.DataHubRecentLogsApiDocument,
89
89
  "\n query DataHubPipelineRunsApi($pipelineId: ID, $options: DataHubPipelineRunListOptions) {\n dataHubPipelineRuns(pipelineId: $pipelineId, options: $options) {\n items {\n id\n status\n startedAt\n finishedAt\n metrics\n }\n totalItems\n }\n }\n": types.DataHubPipelineRunsApiDocument,
90
90
  "\n query DataHubPipelineRunDetailApi($id: ID!) {\n dataHubPipelineRun(id: $id) {\n id\n status\n startedAt\n finishedAt\n metrics\n error\n startedByUserId\n pipeline {\n id\n code\n name\n }\n }\n }\n": types.DataHubPipelineRunDetailApiDocument,
91
- "\n query DataHubRunErrorsApi($runId: ID!) {\n dataHubRunErrors(runId: $runId) {\n id\n stepKey\n message\n payload\n }\n }\n": types.DataHubRunErrorsApiDocument,
91
+ "\n query DataHubRunErrorsApi($runId: ID!) {\n dataHubRunErrors(runId: $runId) {\n id\n stepKey\n message\n payload\n stackTrace\n }\n }\n": types.DataHubRunErrorsApiDocument,
92
92
  "\n mutation CancelDataHubPipelineRunApi($id: ID!) {\n cancelDataHubPipelineRun(id: $id) {\n id\n status\n }\n }\n": types.CancelDataHubPipelineRunApiDocument,
93
93
  "\n mutation RetryDataHubRecordApi($errorId: ID!, $patch: JSON) {\n retryDataHubRecord(errorId: $errorId, patch: $patch)\n }\n": types.RetryDataHubRecordApiDocument,
94
94
  "\n mutation ApproveDataHubGateApi($runId: ID!, $stepKey: String!) {\n approveDataHubGate(runId: $runId, stepKey: $stepKey) {\n success\n message\n run {\n id\n status\n }\n }\n }\n": types.ApproveDataHubGateApiDocument,
@@ -109,7 +109,7 @@ const documents: Documents = {
109
109
  "\n mutation PublishDataHubPipelineApi($id: ID!) {\n publishDataHubPipeline(id: $id) {\n id\n status\n publishedAt\n }\n }\n": types.PublishDataHubPipelineApiDocument,
110
110
  "\n mutation ArchiveDataHubPipelineApi($id: ID!) {\n archiveDataHubPipeline(id: $id) {\n id\n status\n }\n }\n": types.ArchiveDataHubPipelineApiDocument,
111
111
  "\n query DataHubQueueStatsApi {\n dataHubQueueStats {\n pending\n running\n failed\n completedToday\n byPipeline {\n code\n pending\n running\n }\n recentFailed {\n id\n code\n finishedAt\n error\n }\n }\n }\n": types.DataHubQueueStatsApiDocument,
112
- "\n query DataHubDeadLettersApi {\n dataHubDeadLetters {\n id\n stepKey\n message\n payload\n }\n }\n": types.DataHubDeadLettersApiDocument,
112
+ "\n query DataHubDeadLettersApi {\n dataHubDeadLetters {\n id\n stepKey\n message\n payload\n stackTrace\n }\n }\n": types.DataHubDeadLettersApiDocument,
113
113
  "\n query DataHubConsumersApi {\n dataHubConsumers {\n pipelineCode\n queueName\n isActive\n messagesProcessed\n messagesFailed\n lastMessageAt\n }\n }\n": types.DataHubConsumersApiDocument,
114
114
  "\n mutation StartDataHubConsumerApi($pipelineCode: String!) {\n startDataHubConsumer(pipelineCode: $pipelineCode)\n }\n": types.StartDataHubConsumerApiDocument,
115
115
  "\n mutation StopDataHubConsumerApi($pipelineCode: String!) {\n stopDataHubConsumer(pipelineCode: $pipelineCode)\n }\n": types.StopDataHubConsumerApiDocument,
@@ -213,7 +213,7 @@ export function graphql(source: "\n query DataHubPipelineRunDetailApi($id: ID
213
213
  /**
214
214
  * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
215
215
  */
216
- export function graphql(source: "\n query DataHubRunErrorsApi($runId: ID!) {\n dataHubRunErrors(runId: $runId) {\n id\n stepKey\n message\n payload\n }\n }\n"): (typeof documents)["\n query DataHubRunErrorsApi($runId: ID!) {\n dataHubRunErrors(runId: $runId) {\n id\n stepKey\n message\n payload\n }\n }\n"];
216
+ export function graphql(source: "\n query DataHubRunErrorsApi($runId: ID!) {\n dataHubRunErrors(runId: $runId) {\n id\n stepKey\n message\n payload\n stackTrace\n }\n }\n"): (typeof documents)["\n query DataHubRunErrorsApi($runId: ID!) {\n dataHubRunErrors(runId: $runId) {\n id\n stepKey\n message\n payload\n stackTrace\n }\n }\n"];
217
217
  /**
218
218
  * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
219
219
  */
@@ -297,7 +297,7 @@ export function graphql(source: "\n query DataHubQueueStatsApi {\n dat
297
297
  /**
298
298
  * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
299
299
  */
300
- export function graphql(source: "\n query DataHubDeadLettersApi {\n dataHubDeadLetters {\n id\n stepKey\n message\n payload\n }\n }\n"): (typeof documents)["\n query DataHubDeadLettersApi {\n dataHubDeadLetters {\n id\n stepKey\n message\n payload\n }\n }\n"];
300
+ export function graphql(source: "\n query DataHubDeadLettersApi {\n dataHubDeadLetters {\n id\n stepKey\n message\n payload\n stackTrace\n }\n }\n"): (typeof documents)["\n query DataHubDeadLettersApi {\n dataHubDeadLetters {\n id\n stepKey\n message\n payload\n stackTrace\n }\n }\n"];
301
301
  /**
302
302
  * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
303
303
  */
@@ -490,6 +490,7 @@ export type Collection = Node & {
490
490
  parent?: Maybe<Collection>;
491
491
  parentId: Scalars['ID']['output'];
492
492
  position: Scalars['Int']['output'];
493
+ productVariantCount: Scalars['Int']['output'];
493
494
  productVariants: ProductVariantList;
494
495
  slug: Scalars['String']['output'];
495
496
  translations: Array<CollectionTranslation>;
@@ -520,6 +521,7 @@ export type CollectionFilterParameter = {
520
521
  name?: InputMaybe<StringOperators>;
521
522
  parentId?: InputMaybe<IdOperators>;
522
523
  position?: InputMaybe<NumberOperators>;
524
+ productVariantCount?: InputMaybe<NumberOperators>;
523
525
  slug?: InputMaybe<StringOperators>;
524
526
  updatedAt?: InputMaybe<DateOperators>;
525
527
  };
@@ -561,6 +563,7 @@ export type CollectionSortParameter = {
561
563
  name?: InputMaybe<SortOrder>;
562
564
  parentId?: InputMaybe<SortOrder>;
563
565
  position?: InputMaybe<SortOrder>;
566
+ productVariantCount?: InputMaybe<SortOrder>;
564
567
  slug?: InputMaybe<SortOrder>;
565
568
  updatedAt?: InputMaybe<SortOrder>;
566
569
  };
@@ -2841,6 +2844,8 @@ export type DataHubRecordError = Node & {
2841
2844
  /** The record data that failed to process */
2842
2845
  payload: Scalars['JSON']['output'];
2843
2846
  run: DataHubPipelineRun;
2847
+ /** JavaScript stack trace for debugging (only present when the error originated from an exception) */
2848
+ stackTrace?: Maybe<Scalars['String']['output']>;
2844
2849
  /** The step key where the error occurred */
2845
2850
  stepKey: Scalars['String']['output'];
2846
2851
  updatedAt: Scalars['DateTime']['output'];
@@ -10056,7 +10061,7 @@ export type DataHubRunErrorsApiQueryVariables = Exact<{
10056
10061
  }>;
10057
10062
 
10058
10063
 
10059
- export type DataHubRunErrorsApiQuery = { __typename?: 'Query', dataHubRunErrors: Array<{ __typename?: 'DataHubRecordError', id: string | number, stepKey: string, message: string, payload: Record<string, unknown> }> };
10064
+ export type DataHubRunErrorsApiQuery = { __typename?: 'Query', dataHubRunErrors: Array<{ __typename?: 'DataHubRecordError', id: string | number, stepKey: string, message: string, payload: Record<string, unknown>, stackTrace?: string | null }> };
10060
10065
 
10061
10066
  export type CancelDataHubPipelineRunApiMutationVariables = Exact<{
10062
10067
  id: Scalars['ID']['input'];
@@ -10204,7 +10209,7 @@ export type DataHubQueueStatsApiQuery = { __typename?: 'Query', dataHubQueueStat
10204
10209
  export type DataHubDeadLettersApiQueryVariables = Exact<{ [key: string]: never; }>;
10205
10210
 
10206
10211
 
10207
- export type DataHubDeadLettersApiQuery = { __typename?: 'Query', dataHubDeadLetters: Array<{ __typename?: 'DataHubRecordError', id: string | number, stepKey: string, message: string, payload: Record<string, unknown> }> };
10212
+ export type DataHubDeadLettersApiQuery = { __typename?: 'Query', dataHubDeadLetters: Array<{ __typename?: 'DataHubRecordError', id: string | number, stepKey: string, message: string, payload: Record<string, unknown>, stackTrace?: string | null }> };
10208
10213
 
10209
10214
  export type DataHubConsumersApiQueryVariables = Exact<{ [key: string]: never; }>;
10210
10215
 
@@ -10338,7 +10343,7 @@ export const DataHubLogStatsApiDocument = {"kind":"Document","definitions":[{"ki
10338
10343
  export const DataHubRecentLogsApiDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"DataHubRecentLogsApi"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"limit"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"dataHubRecentLogs"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"limit"},"value":{"kind":"Variable","name":{"kind":"Name","value":"limit"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"level"}},{"kind":"Field","name":{"kind":"Name","value":"message"}},{"kind":"Field","name":{"kind":"Name","value":"stepKey"}},{"kind":"Field","name":{"kind":"Name","value":"pipelineId"}},{"kind":"Field","name":{"kind":"Name","value":"pipeline"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"runId"}},{"kind":"Field","name":{"kind":"Name","value":"durationMs"}},{"kind":"Field","name":{"kind":"Name","value":"recordsProcessed"}},{"kind":"Field","name":{"kind":"Name","value":"recordsFailed"}}]}}]}}]} as unknown as DocumentNode<DataHubRecentLogsApiQuery, DataHubRecentLogsApiQueryVariables>;
10339
10344
  export const DataHubPipelineRunsApiDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"DataHubPipelineRunsApi"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"pipelineId"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"options"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"DataHubPipelineRunListOptions"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"dataHubPipelineRuns"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"pipelineId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"pipelineId"}}},{"kind":"Argument","name":{"kind":"Name","value":"options"},"value":{"kind":"Variable","name":{"kind":"Name","value":"options"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"startedAt"}},{"kind":"Field","name":{"kind":"Name","value":"finishedAt"}},{"kind":"Field","name":{"kind":"Name","value":"metrics"}}]}},{"kind":"Field","name":{"kind":"Name","value":"totalItems"}}]}}]}}]} as unknown as DocumentNode<DataHubPipelineRunsApiQuery, DataHubPipelineRunsApiQueryVariables>;
10340
10345
  export const DataHubPipelineRunDetailApiDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"DataHubPipelineRunDetailApi"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"dataHubPipelineRun"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"startedAt"}},{"kind":"Field","name":{"kind":"Name","value":"finishedAt"}},{"kind":"Field","name":{"kind":"Name","value":"metrics"}},{"kind":"Field","name":{"kind":"Name","value":"error"}},{"kind":"Field","name":{"kind":"Name","value":"startedByUserId"}},{"kind":"Field","name":{"kind":"Name","value":"pipeline"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}}]}}]} as unknown as DocumentNode<DataHubPipelineRunDetailApiQuery, DataHubPipelineRunDetailApiQueryVariables>;
10341
- export const DataHubRunErrorsApiDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"DataHubRunErrorsApi"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"runId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"dataHubRunErrors"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"runId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"runId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"stepKey"}},{"kind":"Field","name":{"kind":"Name","value":"message"}},{"kind":"Field","name":{"kind":"Name","value":"payload"}}]}}]}}]} as unknown as DocumentNode<DataHubRunErrorsApiQuery, DataHubRunErrorsApiQueryVariables>;
10346
+ export const DataHubRunErrorsApiDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"DataHubRunErrorsApi"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"runId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"dataHubRunErrors"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"runId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"runId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"stepKey"}},{"kind":"Field","name":{"kind":"Name","value":"message"}},{"kind":"Field","name":{"kind":"Name","value":"payload"}},{"kind":"Field","name":{"kind":"Name","value":"stackTrace"}}]}}]}}]} as unknown as DocumentNode<DataHubRunErrorsApiQuery, DataHubRunErrorsApiQueryVariables>;
10342
10347
  export const CancelDataHubPipelineRunApiDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CancelDataHubPipelineRunApi"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"cancelDataHubPipelineRun"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"status"}}]}}]}}]} as unknown as DocumentNode<CancelDataHubPipelineRunApiMutation, CancelDataHubPipelineRunApiMutationVariables>;
10343
10348
  export const RetryDataHubRecordApiDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"RetryDataHubRecordApi"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"errorId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"patch"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"JSON"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"retryDataHubRecord"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"errorId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"errorId"}}},{"kind":"Argument","name":{"kind":"Name","value":"patch"},"value":{"kind":"Variable","name":{"kind":"Name","value":"patch"}}}]}]}}]} as unknown as DocumentNode<RetryDataHubRecordApiMutation, RetryDataHubRecordApiMutationVariables>;
10344
10349
  export const ApproveDataHubGateApiDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"ApproveDataHubGateApi"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"runId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"stepKey"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"approveDataHubGate"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"runId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"runId"}}},{"kind":"Argument","name":{"kind":"Name","value":"stepKey"},"value":{"kind":"Variable","name":{"kind":"Name","value":"stepKey"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"success"}},{"kind":"Field","name":{"kind":"Name","value":"message"}},{"kind":"Field","name":{"kind":"Name","value":"run"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"status"}}]}}]}}]}}]} as unknown as DocumentNode<ApproveDataHubGateApiMutation, ApproveDataHubGateApiMutationVariables>;
@@ -10359,7 +10364,7 @@ export const RejectDataHubPipelineReviewApiDocument = {"kind":"Document","defini
10359
10364
  export const PublishDataHubPipelineApiDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"PublishDataHubPipelineApi"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"publishDataHubPipeline"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"publishedAt"}}]}}]}}]} as unknown as DocumentNode<PublishDataHubPipelineApiMutation, PublishDataHubPipelineApiMutationVariables>;
10360
10365
  export const ArchiveDataHubPipelineApiDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"ArchiveDataHubPipelineApi"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"archiveDataHubPipeline"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"status"}}]}}]}}]} as unknown as DocumentNode<ArchiveDataHubPipelineApiMutation, ArchiveDataHubPipelineApiMutationVariables>;
10361
10366
  export const DataHubQueueStatsApiDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"DataHubQueueStatsApi"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"dataHubQueueStats"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"pending"}},{"kind":"Field","name":{"kind":"Name","value":"running"}},{"kind":"Field","name":{"kind":"Name","value":"failed"}},{"kind":"Field","name":{"kind":"Name","value":"completedToday"}},{"kind":"Field","name":{"kind":"Name","value":"byPipeline"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"pending"}},{"kind":"Field","name":{"kind":"Name","value":"running"}}]}},{"kind":"Field","name":{"kind":"Name","value":"recentFailed"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"finishedAt"}},{"kind":"Field","name":{"kind":"Name","value":"error"}}]}}]}}]}}]} as unknown as DocumentNode<DataHubQueueStatsApiQuery, DataHubQueueStatsApiQueryVariables>;
10362
- export const DataHubDeadLettersApiDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"DataHubDeadLettersApi"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"dataHubDeadLetters"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"stepKey"}},{"kind":"Field","name":{"kind":"Name","value":"message"}},{"kind":"Field","name":{"kind":"Name","value":"payload"}}]}}]}}]} as unknown as DocumentNode<DataHubDeadLettersApiQuery, DataHubDeadLettersApiQueryVariables>;
10367
+ export const DataHubDeadLettersApiDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"DataHubDeadLettersApi"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"dataHubDeadLetters"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"stepKey"}},{"kind":"Field","name":{"kind":"Name","value":"message"}},{"kind":"Field","name":{"kind":"Name","value":"payload"}},{"kind":"Field","name":{"kind":"Name","value":"stackTrace"}}]}}]}}]} as unknown as DocumentNode<DataHubDeadLettersApiQuery, DataHubDeadLettersApiQueryVariables>;
10363
10368
  export const DataHubConsumersApiDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"DataHubConsumersApi"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"dataHubConsumers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"pipelineCode"}},{"kind":"Field","name":{"kind":"Name","value":"queueName"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"messagesProcessed"}},{"kind":"Field","name":{"kind":"Name","value":"messagesFailed"}},{"kind":"Field","name":{"kind":"Name","value":"lastMessageAt"}}]}}]}}]} as unknown as DocumentNode<DataHubConsumersApiQuery, DataHubConsumersApiQueryVariables>;
10364
10369
  export const StartDataHubConsumerApiDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"StartDataHubConsumerApi"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"pipelineCode"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"startDataHubConsumer"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"pipelineCode"},"value":{"kind":"Variable","name":{"kind":"Name","value":"pipelineCode"}}}]}]}}]} as unknown as DocumentNode<StartDataHubConsumerApiMutation, StartDataHubConsumerApiMutationVariables>;
10365
10370
  export const StopDataHubConsumerApiDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"StopDataHubConsumerApi"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"pipelineCode"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"stopDataHubConsumer"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"pipelineCode"},"value":{"kind":"Variable","name":{"kind":"Name","value":"pipelineCode"}}}]}]}}]} as unknown as DocumentNode<StopDataHubConsumerApiMutation, StopDataHubConsumerApiMutationVariables>;
@@ -57,6 +57,7 @@ const runErrorsDocument = graphql(`
57
57
  stepKey
58
58
  message
59
59
  payload
60
+ stackTrace
60
61
  }
61
62
  }
62
63
  `);
@@ -42,6 +42,7 @@ const deadLettersDocument = graphql(`
42
42
  stepKey
43
43
  message
44
44
  payload
45
+ stackTrace
45
46
  }
46
47
  }
47
48
  `);
@@ -1,6 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import {
3
- GitBranch,
4
3
  Settings,
5
4
  type LucideIcon,
6
5
  } from 'lucide-react';
@@ -143,24 +142,6 @@ function buildAdapterMetadata(adapter: {
143
142
  };
144
143
  }
145
144
 
146
- const CORE_ADAPTERS: AdapterMetadata[] = [
147
- {
148
- code: 'condition',
149
- type: 'ROUTER',
150
- name: 'Condition',
151
- description: 'Route records based on conditions',
152
- icon: GitBranch,
153
- color: '#f97316',
154
- category: UI_ADAPTER_CATEGORY.ROUTING,
155
- nodeType: 'condition',
156
- schema: {
157
- fields: [
158
- { key: 'expression', label: 'Condition Expression', type: 'text', required: true, description: 'JavaScript expression to evaluate (e.g., price > 100)' },
159
- ],
160
- },
161
- },
162
- ];
163
-
164
145
  interface UseAdapterCatalogResult {
165
146
  catalog: AdapterCatalog;
166
147
  adapters: AdapterMetadata[];
@@ -178,19 +159,10 @@ export function useAdapterCatalog(): UseAdapterCatalogResult {
178
159
  const { data: connectionCodesData } = useConnectionCodes();
179
160
  const { data: secretsData } = useSecrets({ take: QUERY_LIMITS.SECRETS_LIST });
180
161
 
181
- const adapters: AdapterMetadata[] = React.useMemo(() => {
182
- const rawAdapters = adaptersData ?? [];
183
- const mapped = rawAdapters.map(buildAdapterMetadata);
184
-
185
- const codes = new Set(mapped.map(a => a.code));
186
- for (const core of CORE_ADAPTERS) {
187
- if (!codes.has(core.code)) {
188
- mapped.push(core);
189
- }
190
- }
191
-
192
- return mapped;
193
- }, [adaptersData]);
162
+ const adapters: AdapterMetadata[] = React.useMemo(
163
+ () => (adaptersData ?? []).map(buildAdapterMetadata),
164
+ [adaptersData],
165
+ );
194
166
 
195
167
  const catalog: AdapterCatalog = React.useMemo(() => {
196
168
  const sources = adapters.filter(a => a.category === UI_ADAPTER_CATEGORY.SOURCES);
@@ -24,7 +24,13 @@ import {
24
24
 
25
25
  export const connectionDetail: DashboardRouteDefinition = {
26
26
  path: `${ROUTES.CONNECTIONS}/$id`,
27
- loader: detailPageRouteLoader({ queryDocument: connectionDetailDocument, breadcrumb: (isNew, entity) => ['Data Hub', 'Connections', isNew ? 'New connection' : (entity?.code ?? '')] }),
27
+ loader: detailPageRouteLoader({
28
+ queryDocument: connectionDetailDocument,
29
+ breadcrumb: (isNew, entity) => [
30
+ { path: ROUTES.CONNECTIONS, label: 'Connections' },
31
+ isNew ? 'New connection' : (entity?.code ?? ''),
32
+ ],
33
+ }),
28
34
  component: route => (
29
35
  <PermissionGuard requires={[DATAHUB_PERMISSIONS.MANAGE_CONNECTIONS]}>
30
36
  <ConnectionDetailPage route={route} />
@@ -174,7 +174,7 @@ export function RunDetailsPanel({ runId, initialData, onCancel, onRerun, isCance
174
174
  </div>
175
175
  <div className="text-sm">
176
176
  <div className="text-sm font-medium mb-1">Finished</div>
177
- <div>{formatDateTime(run?.finishedAt ?? initialData.finishedAt)}</div>
177
+ <div>{(run?.finishedAt ?? initialData.finishedAt) ? formatDateTime(run?.finishedAt ?? initialData.finishedAt) : '—'}</div>
178
178
  </div>
179
179
 
180
180
  {run?.error && (
@@ -134,11 +134,11 @@ export function PipelineActionButtons({
134
134
  const canPublish = status === PIPELINE_STATUS.DRAFT || status === PIPELINE_STATUS.REVIEW;
135
135
 
136
136
  return (
137
- <div className="flex items-center gap-2">
137
+ <div className="flex flex-wrap items-center gap-2">
138
138
  <PipelineImportDialog onImport={onImport} />
139
139
  <PipelineExportDialog definition={definition} />
140
140
 
141
- <div className="mx-1 h-6 w-px bg-border" />
141
+ <div className="mx-1 hidden sm:block h-6 w-px bg-border" />
142
142
 
143
143
  <PermissionGuard requires={[DATAHUB_PERMISSIONS.RUN_PIPELINE]}>
144
144
  <Button
@@ -168,7 +168,7 @@ export function PipelineActionButtons({
168
168
  </Button>
169
169
  </PermissionGuard>
170
170
 
171
- <div className="mx-1 h-6 w-px bg-border" />
171
+ <div className="mx-1 hidden sm:block h-6 w-px bg-border" />
172
172
 
173
173
  <Button
174
174
  variant="ghost"
@@ -148,7 +148,7 @@ export function toVisualDefinition(
148
148
  const nodes: PipelineNode[] = steps.map((step, i) => {
149
149
  const id = String(step.key ?? `step-${i}`);
150
150
  const category = mapStepTypeToCategory(step.type);
151
- const adapterCode = step.config?.adapterCode;
151
+ const adapterCode = step.adapterCode ?? step.config?.adapterCode;
152
152
  const label = step.name || step.key || `Step ${i + 1}`;
153
153
 
154
154
  return {
@@ -220,10 +220,8 @@ export function toCanonicalDefinition(
220
220
  key: node.id ?? `step-${idx}`,
221
221
  type: stepType,
222
222
  name: node.data?.label,
223
- config: {
224
- ...restConfig,
225
- adapterCode,
226
- },
223
+ adapterCode: adapterCode || undefined,
224
+ config: restConfig,
227
225
  };
228
226
  });
229
227
 
@@ -27,9 +27,10 @@ export function formatKey(key: string): string {
27
27
  .trim();
28
28
  }
29
29
 
30
- export function formatDateTime(date: Date | string | number, options?: Intl.DateTimeFormatOptions): string {
30
+ export function formatDateTime(date: Date | string | number | null | undefined, options?: Intl.DateTimeFormatOptions): string {
31
+ if (date == null || date === '') return '\u2014';
31
32
  const dateObj = date instanceof Date ? date : new Date(date);
32
- if (isNaN(dateObj.getTime())) return '\u2014';
33
+ if (isNaN(dateObj.getTime()) || dateObj.getFullYear() < 2000) return '\u2014';
33
34
 
34
35
  const defaultOptions: Intl.DateTimeFormatOptions = {
35
36
  year: 'numeric',
@@ -42,9 +43,10 @@ export function formatDateTime(date: Date | string | number, options?: Intl.Date
42
43
  return dateObj.toLocaleString('en-US', options || defaultOptions);
43
44
  }
44
45
 
45
- export function formatSmartDateTime(date: Date | string | number): string {
46
+ export function formatSmartDateTime(date: Date | string | number | null | undefined): string {
47
+ if (date == null || date === '') return '\u2014';
46
48
  const dateObj = date instanceof Date ? date : new Date(date);
47
- if (isNaN(dateObj.getTime())) return '\u2014';
49
+ if (isNaN(dateObj.getTime()) || dateObj.getFullYear() < 2000) return '\u2014';
48
50
 
49
51
  const now = new Date();
50
52
  const isToday = dateObj.toDateString() === now.toDateString();