@oronts/vendure-data-hub-plugin 0.1.5 → 0.1.6

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 (834) hide show
  1. package/CHANGELOG.md +35 -3
  2. package/CONTRIBUTING.md +2 -2
  3. package/README.md +5 -2
  4. package/dashboard/components/common/ConnectionConfigEditor.tsx +42 -5
  5. package/dashboard/components/pipelines/PipelineImport.tsx +3 -2
  6. package/dashboard/components/pipelines/ReactFlowPipelineEditor.tsx +8 -10
  7. package/dashboard/components/pipelines/shared/NodePropertiesPanel.tsx +1 -1
  8. package/dashboard/components/pipelines/shared/PipelineNode.tsx +2 -2
  9. package/dashboard/components/shared/step-config/AdapterRequiredWarning.tsx +3 -3
  10. package/dashboard/components/shared/step-config/AdvancedEditors.tsx +2 -2
  11. package/dashboard/components/shared/step-config/EnrichConfigComponent.tsx +1 -1
  12. package/dashboard/components/shared/step-config/GateConfigComponent.tsx +0 -1
  13. package/dashboard/components/shared/step-config/OperatorFieldInput.tsx +1 -1
  14. package/dashboard/components/shared/step-config/RouteConfigComponent.tsx +3 -4
  15. package/dashboard/components/shared/step-config/StepConfigPanel.tsx +7 -10
  16. package/dashboard/components/shared/step-config/ValidateConfigComponent.tsx +2 -7
  17. package/dashboard/components/templates/TemplateGallery.tsx +0 -3
  18. package/dashboard/components/wizards/export-wizard/ReviewStep.tsx +2 -2
  19. package/dashboard/components/wizards/import-wizard/ImportWizard.tsx +3 -6
  20. package/dashboard/components/wizards/import-wizard/MappingStep.tsx +3 -5
  21. package/dashboard/components/wizards/import-wizard/ReviewStep.tsx +2 -2
  22. package/dashboard/components/wizards/import-wizard/SourceStep.tsx +3 -3
  23. package/dashboard/components/wizards/import-wizard/StrategyStep.tsx +1 -2
  24. package/dashboard/components/wizards/import-wizard/TargetStep.tsx +1 -2
  25. package/dashboard/components/wizards/import-wizard/TriggerStep.tsx +1 -2
  26. package/dashboard/constants/colors.ts +1 -1
  27. package/dashboard/constants/file-format-registry.ts +22 -46
  28. package/dashboard/constants/ui-types.ts +5 -5
  29. package/dashboard/gql/gql.ts +3 -3
  30. package/dashboard/gql/graphql.ts +30 -15
  31. package/dashboard/hooks/api/use-config-options.ts +4 -6
  32. package/dashboard/hooks/index.ts +1 -1
  33. package/dashboard/hooks/use-adapter-catalog.ts +1 -3
  34. package/dashboard/hooks/use-import-templates.ts +1 -4
  35. package/dashboard/routes/connections/ConnectionDetail.tsx +22 -7
  36. package/dashboard/routes/hooks/Hooks.tsx +8 -7
  37. package/dashboard/routes/logs/Logs.tsx +4 -4
  38. package/dashboard/routes/logs/components/LogDetailDrawer.tsx +3 -3
  39. package/dashboard/routes/logs/components/LogExplorerTab.tsx +18 -22
  40. package/dashboard/routes/logs/components/LogTableRow.tsx +4 -3
  41. package/dashboard/routes/logs/components/LogsOverviewTab.tsx +3 -3
  42. package/dashboard/routes/logs/components/RealtimeLogTab.tsx +2 -2
  43. package/dashboard/routes/pipelines/ImportWizardPage.tsx +1 -1
  44. package/dashboard/routes/pipelines/PipelineRunsBlock.tsx +6 -6
  45. package/dashboard/routes/pipelines/RunDetailsPanel.tsx +0 -1
  46. package/dashboard/routes/pipelines/RunErrorsList.tsx +10 -6
  47. package/dashboard/routes/pipelines/StepSummaryTable.tsx +3 -4
  48. package/dashboard/routes/pipelines/components/DryRunDialog.tsx +8 -12
  49. package/dashboard/routes/pipelines/components/PipelineWebhookInfo.tsx +5 -4
  50. package/dashboard/routes/pipelines/components/ValidationPanel.tsx +6 -4
  51. package/dashboard/routes/pipelines/components/VersionHistoryDialog.tsx +1 -1
  52. package/dashboard/routes/queues/ConsumersTable.tsx +1 -1
  53. package/dashboard/routes/queues/FailedRunsTable.tsx +1 -1
  54. package/dashboard/routes/queues/QueuesPage.tsx +5 -3
  55. package/dashboard/routes/secrets/SecretDetail.tsx +18 -3
  56. package/dashboard/routes/settings/Settings.tsx +3 -5
  57. package/dashboard/types/ui-types.ts +1 -2
  58. package/dashboard/utils/formatters.ts +8 -16
  59. package/dashboard/utils/icon-resolver.ts +2 -2
  60. package/dashboard/utils/index.ts +0 -1
  61. package/dashboard/utils/trigger-sync.ts +0 -8
  62. package/dashboard/utils/wizard-to-pipeline.ts +35 -14
  63. package/dist/connectors/registry.d.ts.map +1 -1
  64. package/dist/connectors/registry.js +22 -5
  65. package/dist/connectors/registry.js.map +1 -1
  66. package/dist/dashboard/components/common/ConnectionConfigEditor.tsx +42 -5
  67. package/dist/dashboard/components/pipelines/PipelineImport.tsx +3 -2
  68. package/dist/dashboard/components/pipelines/ReactFlowPipelineEditor.tsx +8 -10
  69. package/dist/dashboard/components/pipelines/shared/NodePropertiesPanel.tsx +1 -1
  70. package/dist/dashboard/components/pipelines/shared/PipelineNode.tsx +2 -2
  71. package/dist/dashboard/components/shared/step-config/AdapterRequiredWarning.tsx +3 -3
  72. package/dist/dashboard/components/shared/step-config/AdvancedEditors.tsx +2 -2
  73. package/dist/dashboard/components/shared/step-config/EnrichConfigComponent.tsx +1 -1
  74. package/dist/dashboard/components/shared/step-config/GateConfigComponent.tsx +0 -1
  75. package/dist/dashboard/components/shared/step-config/OperatorFieldInput.tsx +1 -1
  76. package/dist/dashboard/components/shared/step-config/RouteConfigComponent.tsx +3 -4
  77. package/dist/dashboard/components/shared/step-config/StepConfigPanel.tsx +7 -10
  78. package/dist/dashboard/components/shared/step-config/ValidateConfigComponent.tsx +2 -7
  79. package/dist/dashboard/components/templates/TemplateGallery.tsx +0 -3
  80. package/dist/dashboard/components/wizards/export-wizard/ReviewStep.tsx +2 -2
  81. package/dist/dashboard/components/wizards/import-wizard/ImportWizard.tsx +3 -6
  82. package/dist/dashboard/components/wizards/import-wizard/MappingStep.tsx +3 -5
  83. package/dist/dashboard/components/wizards/import-wizard/ReviewStep.tsx +2 -2
  84. package/dist/dashboard/components/wizards/import-wizard/SourceStep.tsx +3 -3
  85. package/dist/dashboard/components/wizards/import-wizard/StrategyStep.tsx +1 -2
  86. package/dist/dashboard/components/wizards/import-wizard/TargetStep.tsx +1 -2
  87. package/dist/dashboard/components/wizards/import-wizard/TriggerStep.tsx +1 -2
  88. package/dist/dashboard/constants/colors.ts +1 -1
  89. package/dist/dashboard/constants/file-format-registry.ts +22 -46
  90. package/dist/dashboard/constants/ui-types.ts +5 -5
  91. package/dist/dashboard/gql/gql.ts +3 -3
  92. package/dist/dashboard/gql/graphql.ts +30 -15
  93. package/dist/dashboard/hooks/api/use-config-options.ts +4 -6
  94. package/dist/dashboard/hooks/index.ts +1 -1
  95. package/dist/dashboard/hooks/use-adapter-catalog.ts +1 -3
  96. package/dist/dashboard/hooks/use-import-templates.ts +1 -4
  97. package/dist/dashboard/routes/connections/ConnectionDetail.tsx +22 -7
  98. package/dist/dashboard/routes/hooks/Hooks.tsx +8 -7
  99. package/dist/dashboard/routes/logs/Logs.tsx +4 -4
  100. package/dist/dashboard/routes/logs/components/LogDetailDrawer.tsx +3 -3
  101. package/dist/dashboard/routes/logs/components/LogExplorerTab.tsx +18 -22
  102. package/dist/dashboard/routes/logs/components/LogTableRow.tsx +4 -3
  103. package/dist/dashboard/routes/logs/components/LogsOverviewTab.tsx +3 -3
  104. package/dist/dashboard/routes/logs/components/RealtimeLogTab.tsx +2 -2
  105. package/dist/dashboard/routes/pipelines/ImportWizardPage.tsx +1 -1
  106. package/dist/dashboard/routes/pipelines/PipelineRunsBlock.tsx +6 -6
  107. package/dist/dashboard/routes/pipelines/RunDetailsPanel.tsx +0 -1
  108. package/dist/dashboard/routes/pipelines/RunErrorsList.tsx +10 -6
  109. package/dist/dashboard/routes/pipelines/StepSummaryTable.tsx +3 -4
  110. package/dist/dashboard/routes/pipelines/components/DryRunDialog.tsx +8 -12
  111. package/dist/dashboard/routes/pipelines/components/PipelineWebhookInfo.tsx +5 -4
  112. package/dist/dashboard/routes/pipelines/components/ValidationPanel.tsx +6 -4
  113. package/dist/dashboard/routes/pipelines/components/VersionHistoryDialog.tsx +1 -1
  114. package/dist/dashboard/routes/queues/ConsumersTable.tsx +1 -1
  115. package/dist/dashboard/routes/queues/FailedRunsTable.tsx +1 -1
  116. package/dist/dashboard/routes/queues/QueuesPage.tsx +5 -3
  117. package/dist/dashboard/routes/secrets/SecretDetail.tsx +18 -3
  118. package/dist/dashboard/routes/settings/Settings.tsx +3 -5
  119. package/dist/dashboard/types/ui-types.ts +1 -2
  120. package/dist/dashboard/utils/formatters.ts +8 -16
  121. package/dist/dashboard/utils/icon-resolver.ts +2 -2
  122. package/dist/dashboard/utils/index.ts +0 -1
  123. package/dist/dashboard/utils/trigger-sync.ts +0 -8
  124. package/dist/dashboard/utils/wizard-to-pipeline.ts +35 -14
  125. package/dist/shared/constants/step-type-configs.d.ts +1 -1
  126. package/dist/shared/constants/step-type-configs.js +2 -2
  127. package/dist/shared/constants/step-type-configs.js.map +1 -1
  128. package/dist/shared/types/adapter-config.types.d.ts +3 -3
  129. package/dist/shared/types/adapter-config.types.d.ts.map +1 -1
  130. package/dist/shared/types/adapter.types.d.ts +1 -1
  131. package/dist/shared/types/execution.types.d.ts +2 -6
  132. package/dist/shared/types/execution.types.d.ts.map +1 -1
  133. package/dist/shared/types/extractor.types.d.ts +1 -1
  134. package/dist/shared/types/extractor.types.d.ts.map +1 -1
  135. package/dist/shared/types/index.d.ts +2 -2
  136. package/dist/shared/types/index.d.ts.map +1 -1
  137. package/dist/shared/types/pipeline.types.d.ts +2 -3
  138. package/dist/shared/types/pipeline.types.d.ts.map +1 -1
  139. package/dist/shared/types/step.types.d.ts +2 -2
  140. package/dist/shared/types/step.types.d.ts.map +1 -1
  141. package/dist/shared/types/trigger.types.d.ts +4 -23
  142. package/dist/shared/types/trigger.types.d.ts.map +1 -1
  143. package/dist/shared/utils/csv-parse.js +2 -2
  144. package/dist/shared/utils/csv-parse.js.map +1 -1
  145. package/dist/shared/utils/validation.js +1 -1
  146. package/dist/shared/utils/validation.js.map +1 -1
  147. package/dist/shared/vendure-schemas.d.ts +1 -1
  148. package/dist/shared/vendure-schemas.js +1 -1
  149. package/dist/src/adapters/registry.d.ts +1 -1
  150. package/dist/src/adapters/registry.js +1 -1
  151. package/dist/src/adapters/registry.js.map +1 -1
  152. package/dist/src/api/controllers/file-upload.controller.d.ts +1 -0
  153. package/dist/src/api/controllers/file-upload.controller.d.ts.map +1 -1
  154. package/dist/src/api/controllers/file-upload.controller.js +62 -64
  155. package/dist/src/api/controllers/file-upload.controller.js.map +1 -1
  156. package/dist/src/api/controllers/webhook.controller.d.ts.map +1 -1
  157. package/dist/src/api/controllers/webhook.controller.js +38 -11
  158. package/dist/src/api/controllers/webhook.controller.js.map +1 -1
  159. package/dist/src/api/resolvers/analytics.resolver.d.ts +19 -1
  160. package/dist/src/api/resolvers/analytics.resolver.d.ts.map +1 -1
  161. package/dist/src/api/resolvers/analytics.resolver.js +18 -1
  162. package/dist/src/api/resolvers/analytics.resolver.js.map +1 -1
  163. package/dist/src/api/resolvers/connection.resolver.d.ts +3 -1
  164. package/dist/src/api/resolvers/connection.resolver.d.ts.map +1 -1
  165. package/dist/src/api/resolvers/connection.resolver.js +19 -7
  166. package/dist/src/api/resolvers/connection.resolver.js.map +1 -1
  167. package/dist/src/api/resolvers/entity-schema.resolver.js +2 -2
  168. package/dist/src/api/resolvers/entity-schema.resolver.js.map +1 -1
  169. package/dist/src/api/resolvers/error.resolver.js +1 -1
  170. package/dist/src/api/resolvers/error.resolver.js.map +1 -1
  171. package/dist/src/api/resolvers/log.resolver.js +1 -1
  172. package/dist/src/api/resolvers/log.resolver.js.map +1 -1
  173. package/dist/src/api/resolvers/pipeline.resolver.d.ts +1 -3
  174. package/dist/src/api/resolvers/pipeline.resolver.d.ts.map +1 -1
  175. package/dist/src/api/resolvers/pipeline.resolver.js +10 -27
  176. package/dist/src/api/resolvers/pipeline.resolver.js.map +1 -1
  177. package/dist/src/api/resolvers/secret.resolver.d.ts +5 -1
  178. package/dist/src/api/resolvers/secret.resolver.d.ts.map +1 -1
  179. package/dist/src/api/resolvers/secret.resolver.js +37 -10
  180. package/dist/src/api/resolvers/secret.resolver.js.map +1 -1
  181. package/dist/src/api/schema/connection.schema.d.ts +2 -2
  182. package/dist/src/api/schema/connection.schema.d.ts.map +1 -1
  183. package/dist/src/api/schema/connection.schema.js +1 -8
  184. package/dist/src/api/schema/connection.schema.js.map +1 -1
  185. package/dist/src/api/schema/log.schema.d.ts +2 -2
  186. package/dist/src/api/schema/log.schema.d.ts.map +1 -1
  187. package/dist/src/api/schema/log.schema.js +1 -8
  188. package/dist/src/api/schema/log.schema.js.map +1 -1
  189. package/dist/src/api/schema/pipeline.schema.d.ts +2 -2
  190. package/dist/src/api/schema/pipeline.schema.d.ts.map +1 -1
  191. package/dist/src/api/schema/pipeline.schema.js +2 -18
  192. package/dist/src/api/schema/pipeline.schema.js.map +1 -1
  193. package/dist/src/api/schema/secret.schema.d.ts +2 -2
  194. package/dist/src/api/schema/secret.schema.d.ts.map +1 -1
  195. package/dist/src/api/schema/secret.schema.js +1 -9
  196. package/dist/src/api/schema/secret.schema.js.map +1 -1
  197. package/dist/src/api/types/index.d.ts +0 -1
  198. package/dist/src/api/types/index.d.ts.map +1 -1
  199. package/dist/src/api/types/index.js +0 -1
  200. package/dist/src/api/types/index.js.map +1 -1
  201. package/dist/src/api/types/outputs.d.ts +1 -1
  202. package/dist/src/api/types/outputs.js +1 -1
  203. package/dist/src/bootstrap/initialization.d.ts.map +1 -1
  204. package/dist/src/bootstrap/initialization.js +0 -4
  205. package/dist/src/bootstrap/initialization.js.map +1 -1
  206. package/dist/src/bootstrap/seed-data.d.ts +3 -1
  207. package/dist/src/bootstrap/seed-data.d.ts.map +1 -1
  208. package/dist/src/bootstrap/seed-data.js +49 -28
  209. package/dist/src/bootstrap/seed-data.js.map +1 -1
  210. package/dist/src/constants/adapter-schema-options.d.ts +4 -4
  211. package/dist/src/constants/adapter-schema-options.d.ts.map +1 -1
  212. package/dist/src/constants/adapter-schema-options.js +9 -10
  213. package/dist/src/constants/adapter-schema-options.js.map +1 -1
  214. package/dist/src/constants/adapters.d.ts +1 -1
  215. package/dist/src/constants/adapters.js +1 -1
  216. package/dist/src/constants/connection-schemas.d.ts.map +1 -1
  217. package/dist/src/constants/connection-schemas.js +2 -1
  218. package/dist/src/constants/connection-schemas.js.map +1 -1
  219. package/dist/src/constants/core.d.ts +2 -0
  220. package/dist/src/constants/core.d.ts.map +1 -1
  221. package/dist/src/constants/core.js +2 -0
  222. package/dist/src/constants/core.js.map +1 -1
  223. package/dist/src/constants/defaults/index.d.ts +0 -5
  224. package/dist/src/constants/defaults/index.d.ts.map +1 -1
  225. package/dist/src/constants/defaults/index.js +0 -5
  226. package/dist/src/constants/defaults/index.js.map +1 -1
  227. package/dist/src/constants/defaults/reliability-defaults.d.ts +8 -2
  228. package/dist/src/constants/defaults/reliability-defaults.d.ts.map +1 -1
  229. package/dist/src/constants/defaults/reliability-defaults.js +8 -2
  230. package/dist/src/constants/defaults/reliability-defaults.js.map +1 -1
  231. package/dist/src/constants/defaults/scheduler-defaults.d.ts +2 -0
  232. package/dist/src/constants/defaults/scheduler-defaults.d.ts.map +1 -1
  233. package/dist/src/constants/defaults/scheduler-defaults.js +2 -0
  234. package/dist/src/constants/defaults/scheduler-defaults.js.map +1 -1
  235. package/dist/src/constants/defaults/sink-defaults.d.ts +2 -0
  236. package/dist/src/constants/defaults/sink-defaults.d.ts.map +1 -1
  237. package/dist/src/constants/defaults/sink-defaults.js +2 -0
  238. package/dist/src/constants/defaults/sink-defaults.js.map +1 -1
  239. package/dist/src/constants/defaults/storage-defaults.d.ts +20 -0
  240. package/dist/src/constants/defaults/storage-defaults.d.ts.map +1 -1
  241. package/dist/src/constants/defaults/storage-defaults.js +21 -1
  242. package/dist/src/constants/defaults/storage-defaults.js.map +1 -1
  243. package/dist/src/constants/defaults/ui-defaults.d.ts +4 -0
  244. package/dist/src/constants/defaults/ui-defaults.d.ts.map +1 -1
  245. package/dist/src/constants/defaults/ui-defaults.js +4 -0
  246. package/dist/src/constants/defaults/ui-defaults.js.map +1 -1
  247. package/dist/src/constants/enums.d.ts +11 -2
  248. package/dist/src/constants/enums.d.ts.map +1 -1
  249. package/dist/src/constants/enums.js +9 -0
  250. package/dist/src/constants/enums.js.map +1 -1
  251. package/dist/src/constants/file-format-metadata.js +3 -3
  252. package/dist/src/constants/file-format-metadata.js.map +1 -1
  253. package/dist/src/constants/services.d.ts +1 -0
  254. package/dist/src/constants/services.d.ts.map +1 -1
  255. package/dist/src/constants/services.js +1 -0
  256. package/dist/src/constants/services.js.map +1 -1
  257. package/dist/src/data-hub.plugin.d.ts.map +1 -1
  258. package/dist/src/data-hub.plugin.js +1 -3
  259. package/dist/src/data-hub.plugin.js.map +1 -1
  260. package/dist/src/entities/data/checkpoint.entity.d.ts +1 -1
  261. package/dist/src/entities/data/checkpoint.entity.d.ts.map +1 -1
  262. package/dist/src/entities/data/checkpoint.entity.js +3 -4
  263. package/dist/src/entities/data/checkpoint.entity.js.map +1 -1
  264. package/dist/src/entities/data/error-record.entity.d.ts +2 -2
  265. package/dist/src/entities/data/error-record.entity.d.ts.map +1 -1
  266. package/dist/src/entities/data/error-record.entity.js +3 -3
  267. package/dist/src/entities/data/error-record.entity.js.map +1 -1
  268. package/dist/src/entities/data/retry-audit.entity.d.ts +1 -1
  269. package/dist/src/entities/data/retry-audit.entity.d.ts.map +1 -1
  270. package/dist/src/entities/data/retry-audit.entity.js +2 -2
  271. package/dist/src/entities/data/retry-audit.entity.js.map +1 -1
  272. package/dist/src/entities/pipeline/pipeline-log.entity.js +1 -1
  273. package/dist/src/entities/pipeline/pipeline-log.entity.js.map +1 -1
  274. package/dist/src/entities/pipeline/pipeline-revision.entity.d.ts +1 -1
  275. package/dist/src/entities/pipeline/pipeline-revision.entity.d.ts.map +1 -1
  276. package/dist/src/entities/pipeline/pipeline-revision.entity.js +2 -2
  277. package/dist/src/entities/pipeline/pipeline-revision.entity.js.map +1 -1
  278. package/dist/src/entities/pipeline/pipeline-run.entity.d.ts +3 -3
  279. package/dist/src/entities/pipeline/pipeline-run.entity.d.ts.map +1 -1
  280. package/dist/src/entities/pipeline/pipeline-run.entity.js +4 -4
  281. package/dist/src/entities/pipeline/pipeline-run.entity.js.map +1 -1
  282. package/dist/src/entities/pipeline/pipeline.entity.d.ts.map +1 -1
  283. package/dist/src/entities/pipeline/pipeline.entity.js +1 -4
  284. package/dist/src/entities/pipeline/pipeline.entity.js.map +1 -1
  285. package/dist/src/extractors/cdc/cdc.extractor.js +7 -6
  286. package/dist/src/extractors/cdc/cdc.extractor.js.map +1 -1
  287. package/dist/src/extractors/database/connection-pool.d.ts +1 -1
  288. package/dist/src/extractors/database/connection-pool.d.ts.map +1 -1
  289. package/dist/src/extractors/database/connection-pool.js +84 -7
  290. package/dist/src/extractors/database/connection-pool.js.map +1 -1
  291. package/dist/src/extractors/database/database.extractor.d.ts.map +1 -1
  292. package/dist/src/extractors/database/database.extractor.js +1 -3
  293. package/dist/src/extractors/database/database.extractor.js.map +1 -1
  294. package/dist/src/extractors/database/query-builder.d.ts.map +1 -1
  295. package/dist/src/extractors/database/query-builder.js +15 -19
  296. package/dist/src/extractors/database/query-builder.js.map +1 -1
  297. package/dist/src/extractors/ftp/connection.d.ts.map +1 -1
  298. package/dist/src/extractors/ftp/connection.js +36 -18
  299. package/dist/src/extractors/ftp/connection.js.map +1 -1
  300. package/dist/src/extractors/graphql/graphql.extractor.d.ts.map +1 -1
  301. package/dist/src/extractors/graphql/graphql.extractor.js +8 -1
  302. package/dist/src/extractors/graphql/graphql.extractor.js.map +1 -1
  303. package/dist/src/extractors/graphql/helpers.d.ts.map +1 -1
  304. package/dist/src/extractors/graphql/helpers.js +0 -1
  305. package/dist/src/extractors/graphql/helpers.js.map +1 -1
  306. package/dist/src/extractors/graphql/schema.d.ts.map +1 -1
  307. package/dist/src/extractors/graphql/schema.js +3 -36
  308. package/dist/src/extractors/graphql/schema.js.map +1 -1
  309. package/dist/src/extractors/http-api/http-api.extractor.d.ts.map +1 -1
  310. package/dist/src/extractors/http-api/http-api.extractor.js +3 -1
  311. package/dist/src/extractors/http-api/http-api.extractor.js.map +1 -1
  312. package/dist/src/extractors/http-api/response-parser.d.ts.map +1 -1
  313. package/dist/src/extractors/http-api/response-parser.js +11 -1
  314. package/dist/src/extractors/http-api/response-parser.js.map +1 -1
  315. package/dist/src/extractors/http-api/schema.d.ts.map +1 -1
  316. package/dist/src/extractors/http-api/schema.js +0 -6
  317. package/dist/src/extractors/http-api/schema.js.map +1 -1
  318. package/dist/src/extractors/s3/client.d.ts.map +1 -1
  319. package/dist/src/extractors/s3/client.js +17 -3
  320. package/dist/src/extractors/s3/client.js.map +1 -1
  321. package/dist/src/extractors/shared/file-format.utils.d.ts +1 -1
  322. package/dist/src/extractors/shared/file-format.utils.js +2 -2
  323. package/dist/src/extractors/shared/file-format.utils.js.map +1 -1
  324. package/dist/src/feeds/feed-generator.service.d.ts.map +1 -1
  325. package/dist/src/feeds/feed-generator.service.js +4 -2
  326. package/dist/src/feeds/feed-generator.service.js.map +1 -1
  327. package/dist/src/feeds/generators/csv-feed.generator.d.ts.map +1 -1
  328. package/dist/src/feeds/generators/csv-feed.generator.js +4 -4
  329. package/dist/src/feeds/generators/csv-feed.generator.js.map +1 -1
  330. package/dist/src/feeds/generators/feed-helpers.d.ts.map +1 -1
  331. package/dist/src/feeds/generators/feed-helpers.js +4 -3
  332. package/dist/src/feeds/generators/feed-helpers.js.map +1 -1
  333. package/dist/src/feeds/generators/json-feed.generator.js +1 -1
  334. package/dist/src/feeds/generators/json-feed.generator.js.map +1 -1
  335. package/dist/src/gql/generated.d.ts +28 -13
  336. package/dist/src/gql/generated.d.ts.map +1 -1
  337. package/dist/src/gql/generated.js.map +1 -1
  338. package/dist/src/index.d.ts +3 -1
  339. package/dist/src/index.d.ts.map +1 -1
  340. package/dist/src/index.js +19 -5
  341. package/dist/src/index.js.map +1 -1
  342. package/dist/src/jobs/handlers/schedule.handler.d.ts.map +1 -1
  343. package/dist/src/jobs/handlers/schedule.handler.js +6 -4
  344. package/dist/src/jobs/handlers/schedule.handler.js.map +1 -1
  345. package/dist/src/jobs/processors/job-processor.js +1 -1
  346. package/dist/src/jobs/processors/job-processor.js.map +1 -1
  347. package/dist/src/loaders/asset/asset.loader.d.ts +3 -18
  348. package/dist/src/loaders/asset/asset.loader.d.ts.map +1 -1
  349. package/dist/src/loaders/asset/asset.loader.js +4 -20
  350. package/dist/src/loaders/asset/asset.loader.js.map +1 -1
  351. package/dist/src/loaders/asset/helpers.d.ts.map +1 -1
  352. package/dist/src/loaders/asset/helpers.js +19 -9
  353. package/dist/src/loaders/asset/helpers.js.map +1 -1
  354. package/dist/src/loaders/base/base-loader.js +1 -1
  355. package/dist/src/loaders/base/base-loader.js.map +1 -1
  356. package/dist/src/loaders/base/validation-builder.d.ts.map +1 -1
  357. package/dist/src/loaders/base/validation-builder.js +0 -1
  358. package/dist/src/loaders/base/validation-builder.js.map +1 -1
  359. package/dist/src/loaders/channel/channel.loader.d.ts +3 -27
  360. package/dist/src/loaders/channel/channel.loader.d.ts.map +1 -1
  361. package/dist/src/loaders/channel/channel.loader.js +4 -30
  362. package/dist/src/loaders/channel/channel.loader.js.map +1 -1
  363. package/dist/src/loaders/channel/helpers.d.ts.map +1 -1
  364. package/dist/src/loaders/channel/helpers.js +4 -5
  365. package/dist/src/loaders/channel/helpers.js.map +1 -1
  366. package/dist/src/loaders/collection/collection.loader.d.ts +3 -17
  367. package/dist/src/loaders/collection/collection.loader.d.ts.map +1 -1
  368. package/dist/src/loaders/collection/collection.loader.js +6 -18
  369. package/dist/src/loaders/collection/collection.loader.js.map +1 -1
  370. package/dist/src/loaders/collection/helpers.d.ts.map +1 -1
  371. package/dist/src/loaders/collection/helpers.js +4 -5
  372. package/dist/src/loaders/collection/helpers.js.map +1 -1
  373. package/dist/src/loaders/customer/customer.loader.d.ts +3 -15
  374. package/dist/src/loaders/customer/customer.loader.d.ts.map +1 -1
  375. package/dist/src/loaders/customer/customer.loader.js +6 -17
  376. package/dist/src/loaders/customer/customer.loader.js.map +1 -1
  377. package/dist/src/loaders/customer/helpers.d.ts +0 -1
  378. package/dist/src/loaders/customer/helpers.d.ts.map +1 -1
  379. package/dist/src/loaders/customer/helpers.js +9 -12
  380. package/dist/src/loaders/customer/helpers.js.map +1 -1
  381. package/dist/src/loaders/customer-group/customer-group.loader.d.ts +3 -15
  382. package/dist/src/loaders/customer-group/customer-group.loader.d.ts.map +1 -1
  383. package/dist/src/loaders/customer-group/customer-group.loader.js +3 -16
  384. package/dist/src/loaders/customer-group/customer-group.loader.js.map +1 -1
  385. package/dist/src/loaders/facet/facet.loader.d.ts +3 -15
  386. package/dist/src/loaders/facet/facet.loader.d.ts.map +1 -1
  387. package/dist/src/loaders/facet/facet.loader.js +4 -17
  388. package/dist/src/loaders/facet/facet.loader.js.map +1 -1
  389. package/dist/src/loaders/facet-value/facet-value.loader.d.ts +1 -7
  390. package/dist/src/loaders/facet-value/facet-value.loader.d.ts.map +1 -1
  391. package/dist/src/loaders/facet-value/facet-value.loader.js +4 -10
  392. package/dist/src/loaders/facet-value/facet-value.loader.js.map +1 -1
  393. package/dist/src/loaders/inventory/inventory.loader.d.ts +4 -13
  394. package/dist/src/loaders/inventory/inventory.loader.d.ts.map +1 -1
  395. package/dist/src/loaders/inventory/inventory.loader.js +13 -18
  396. package/dist/src/loaders/inventory/inventory.loader.js.map +1 -1
  397. package/dist/src/loaders/order/helpers.d.ts +1 -6
  398. package/dist/src/loaders/order/helpers.d.ts.map +1 -1
  399. package/dist/src/loaders/order/helpers.js +12 -31
  400. package/dist/src/loaders/order/helpers.js.map +1 -1
  401. package/dist/src/loaders/order/order.loader.d.ts +1 -6
  402. package/dist/src/loaders/order/order.loader.d.ts.map +1 -1
  403. package/dist/src/loaders/order/order.loader.js +25 -24
  404. package/dist/src/loaders/order/order.loader.js.map +1 -1
  405. package/dist/src/loaders/order/types.d.ts +3 -3
  406. package/dist/src/loaders/order/types.js +1 -1
  407. package/dist/src/loaders/payment-method/payment-method.loader.d.ts +3 -33
  408. package/dist/src/loaders/payment-method/payment-method.loader.d.ts.map +1 -1
  409. package/dist/src/loaders/payment-method/payment-method.loader.js +10 -42
  410. package/dist/src/loaders/payment-method/payment-method.loader.js.map +1 -1
  411. package/dist/src/loaders/product/product.loader.d.ts +3 -15
  412. package/dist/src/loaders/product/product.loader.d.ts.map +1 -1
  413. package/dist/src/loaders/product/product.loader.js +3 -16
  414. package/dist/src/loaders/product/product.loader.js.map +1 -1
  415. package/dist/src/loaders/product-variant/helpers.d.ts.map +1 -1
  416. package/dist/src/loaders/product-variant/helpers.js +2 -1
  417. package/dist/src/loaders/product-variant/helpers.js.map +1 -1
  418. package/dist/src/loaders/product-variant/product-variant.loader.d.ts +1 -12
  419. package/dist/src/loaders/product-variant/product-variant.loader.d.ts.map +1 -1
  420. package/dist/src/loaders/product-variant/product-variant.loader.js +4 -16
  421. package/dist/src/loaders/product-variant/product-variant.loader.js.map +1 -1
  422. package/dist/src/loaders/promotion/helpers.d.ts +2 -22
  423. package/dist/src/loaders/promotion/helpers.d.ts.map +1 -1
  424. package/dist/src/loaders/promotion/helpers.js +7 -28
  425. package/dist/src/loaders/promotion/helpers.js.map +1 -1
  426. package/dist/src/loaders/promotion/promotion.loader.d.ts +3 -15
  427. package/dist/src/loaders/promotion/promotion.loader.d.ts.map +1 -1
  428. package/dist/src/loaders/promotion/promotion.loader.js +11 -23
  429. package/dist/src/loaders/promotion/promotion.loader.js.map +1 -1
  430. package/dist/src/loaders/shared-helpers.d.ts.map +1 -1
  431. package/dist/src/loaders/shared-helpers.js +17 -8
  432. package/dist/src/loaders/shared-helpers.js.map +1 -1
  433. package/dist/src/loaders/shipping-method/shipping-method.loader.d.ts +3 -15
  434. package/dist/src/loaders/shipping-method/shipping-method.loader.d.ts.map +1 -1
  435. package/dist/src/loaders/shipping-method/shipping-method.loader.js +10 -24
  436. package/dist/src/loaders/shipping-method/shipping-method.loader.js.map +1 -1
  437. package/dist/src/loaders/stock-location/stock-location.loader.d.ts +3 -15
  438. package/dist/src/loaders/stock-location/stock-location.loader.d.ts.map +1 -1
  439. package/dist/src/loaders/stock-location/stock-location.loader.js +3 -16
  440. package/dist/src/loaders/stock-location/stock-location.loader.js.map +1 -1
  441. package/dist/src/loaders/tax-rate/helpers.d.ts.map +1 -1
  442. package/dist/src/loaders/tax-rate/helpers.js +3 -2
  443. package/dist/src/loaders/tax-rate/helpers.js.map +1 -1
  444. package/dist/src/loaders/tax-rate/tax-rate.loader.d.ts +3 -23
  445. package/dist/src/loaders/tax-rate/tax-rate.loader.d.ts.map +1 -1
  446. package/dist/src/loaders/tax-rate/tax-rate.loader.js +5 -25
  447. package/dist/src/loaders/tax-rate/tax-rate.loader.js.map +1 -1
  448. package/dist/src/mappers/helpers/mapping-helpers.d.ts.map +1 -1
  449. package/dist/src/mappers/helpers/mapping-helpers.js +0 -2
  450. package/dist/src/mappers/helpers/mapping-helpers.js.map +1 -1
  451. package/dist/src/mappers/transformers/string/string-transformers.js +2 -2
  452. package/dist/src/mappers/transformers/string/string-transformers.js.map +1 -1
  453. package/dist/src/operators/aggregation/helpers.d.ts.map +1 -1
  454. package/dist/src/operators/aggregation/helpers.js +2 -3
  455. package/dist/src/operators/aggregation/helpers.js.map +1 -1
  456. package/dist/src/operators/date/helpers.js +1 -1
  457. package/dist/src/operators/date/helpers.js.map +1 -1
  458. package/dist/src/operators/enrichment/helpers.d.ts.map +1 -1
  459. package/dist/src/operators/enrichment/helpers.js +6 -8
  460. package/dist/src/operators/enrichment/helpers.js.map +1 -1
  461. package/dist/src/operators/helpers.d.ts.map +1 -1
  462. package/dist/src/operators/helpers.js +5 -4
  463. package/dist/src/operators/helpers.js.map +1 -1
  464. package/dist/src/operators/index.d.ts +1 -1
  465. package/dist/src/operators/index.d.ts.map +1 -1
  466. package/dist/src/operators/index.js +1 -1
  467. package/dist/src/operators/index.js.map +1 -1
  468. package/dist/src/operators/json/helpers.js +1 -1
  469. package/dist/src/operators/json/helpers.js.map +1 -1
  470. package/dist/src/operators/logic/helpers.d.ts.map +1 -1
  471. package/dist/src/operators/logic/helpers.js +4 -3
  472. package/dist/src/operators/logic/helpers.js.map +1 -1
  473. package/dist/src/operators/numeric/helpers.js +1 -1
  474. package/dist/src/operators/numeric/helpers.js.map +1 -1
  475. package/dist/src/operators/script/script.operators.d.ts.map +1 -1
  476. package/dist/src/operators/script/script.operators.js +17 -8
  477. package/dist/src/operators/script/script.operators.js.map +1 -1
  478. package/dist/src/operators/string/helpers.js +3 -3
  479. package/dist/src/operators/string/helpers.js.map +1 -1
  480. package/dist/src/parsers/formats/json.parser.d.ts.map +1 -1
  481. package/dist/src/parsers/formats/json.parser.js +6 -7
  482. package/dist/src/parsers/formats/json.parser.js.map +1 -1
  483. package/dist/src/parsers/formats/xml.parser.d.ts.map +1 -1
  484. package/dist/src/parsers/formats/xml.parser.js +5 -7
  485. package/dist/src/parsers/formats/xml.parser.js.map +1 -1
  486. package/dist/src/parsers/helpers/encoding.d.ts.map +1 -1
  487. package/dist/src/parsers/helpers/encoding.js +4 -3
  488. package/dist/src/parsers/helpers/encoding.js.map +1 -1
  489. package/dist/src/parsers/types.d.ts +2 -2
  490. package/dist/src/parsers/types.js +2 -2
  491. package/dist/src/runtime/adapter-runtime.service.d.ts +1 -0
  492. package/dist/src/runtime/adapter-runtime.service.d.ts.map +1 -1
  493. package/dist/src/runtime/adapter-runtime.service.js +62 -43
  494. package/dist/src/runtime/adapter-runtime.service.js.map +1 -1
  495. package/dist/src/runtime/executors/context-adapters.d.ts +4 -9
  496. package/dist/src/runtime/executors/context-adapters.d.ts.map +1 -1
  497. package/dist/src/runtime/executors/context-adapters.js +4 -4
  498. package/dist/src/runtime/executors/context-adapters.js.map +1 -1
  499. package/dist/src/runtime/executors/export.executor.d.ts.map +1 -1
  500. package/dist/src/runtime/executors/export.executor.js +10 -7
  501. package/dist/src/runtime/executors/export.executor.js.map +1 -1
  502. package/dist/src/runtime/executors/exporters/export-handler-registry.d.ts.map +1 -1
  503. package/dist/src/runtime/executors/exporters/export-handler-registry.js +0 -8
  504. package/dist/src/runtime/executors/exporters/export-handler-registry.js.map +1 -1
  505. package/dist/src/runtime/executors/exporters/http-export.handler.js +2 -2
  506. package/dist/src/runtime/executors/exporters/http-export.handler.js.map +1 -1
  507. package/dist/src/runtime/executors/extract.executor.d.ts.map +1 -1
  508. package/dist/src/runtime/executors/extract.executor.js +0 -1
  509. package/dist/src/runtime/executors/extract.executor.js.map +1 -1
  510. package/dist/src/runtime/executors/extractors/file-extract.handler.d.ts +2 -1
  511. package/dist/src/runtime/executors/extractors/file-extract.handler.d.ts.map +1 -1
  512. package/dist/src/runtime/executors/extractors/file-extract.handler.js +24 -5
  513. package/dist/src/runtime/executors/extractors/file-extract.handler.js.map +1 -1
  514. package/dist/src/runtime/executors/extractors/graphql-extract.handler.d.ts.map +1 -1
  515. package/dist/src/runtime/executors/extractors/graphql-extract.handler.js +67 -10
  516. package/dist/src/runtime/executors/extractors/graphql-extract.handler.js.map +1 -1
  517. package/dist/src/runtime/executors/extractors/rest-extract.handler.d.ts +2 -1
  518. package/dist/src/runtime/executors/extractors/rest-extract.handler.d.ts.map +1 -1
  519. package/dist/src/runtime/executors/extractors/rest-extract.handler.js +133 -27
  520. package/dist/src/runtime/executors/extractors/rest-extract.handler.js.map +1 -1
  521. package/dist/src/runtime/executors/feed.executor.d.ts +1 -1
  522. package/dist/src/runtime/executors/feed.executor.js +5 -5
  523. package/dist/src/runtime/executors/feed.executor.js.map +1 -1
  524. package/dist/src/runtime/executors/feeds/feed-handler-registry.d.ts.map +1 -1
  525. package/dist/src/runtime/executors/feeds/feed-handler-registry.js +0 -13
  526. package/dist/src/runtime/executors/feeds/feed-handler-registry.js.map +1 -1
  527. package/dist/src/runtime/executors/gate.executor.d.ts.map +1 -1
  528. package/dist/src/runtime/executors/gate.executor.js +16 -9
  529. package/dist/src/runtime/executors/gate.executor.js.map +1 -1
  530. package/dist/src/runtime/executors/load.executor.js +2 -2
  531. package/dist/src/runtime/executors/load.executor.js.map +1 -1
  532. package/dist/src/runtime/executors/loaders/channel-handler.d.ts.map +1 -1
  533. package/dist/src/runtime/executors/loaders/channel-handler.js +16 -20
  534. package/dist/src/runtime/executors/loaders/channel-handler.js.map +1 -1
  535. package/dist/src/runtime/executors/loaders/customer-handler.d.ts.map +1 -1
  536. package/dist/src/runtime/executors/loaders/customer-handler.js +18 -18
  537. package/dist/src/runtime/executors/loaders/customer-handler.js.map +1 -1
  538. package/dist/src/runtime/executors/loaders/deletion-handler.d.ts.map +1 -1
  539. package/dist/src/runtime/executors/loaders/deletion-handler.js +16 -14
  540. package/dist/src/runtime/executors/loaders/deletion-handler.js.map +1 -1
  541. package/dist/src/runtime/executors/loaders/inventory-handler.d.ts.map +1 -1
  542. package/dist/src/runtime/executors/loaders/inventory-handler.js +15 -20
  543. package/dist/src/runtime/executors/loaders/inventory-handler.js.map +1 -1
  544. package/dist/src/runtime/executors/loaders/loader-handler-registry.d.ts.map +1 -1
  545. package/dist/src/runtime/executors/loaders/loader-handler-registry.js +0 -11
  546. package/dist/src/runtime/executors/loaders/loader-handler-registry.js.map +1 -1
  547. package/dist/src/runtime/executors/loaders/order-handler.d.ts +2 -1
  548. package/dist/src/runtime/executors/loaders/order-handler.d.ts.map +1 -1
  549. package/dist/src/runtime/executors/loaders/order-handler.js +20 -10
  550. package/dist/src/runtime/executors/loaders/order-handler.js.map +1 -1
  551. package/dist/src/runtime/executors/loaders/product-handler.d.ts +0 -4
  552. package/dist/src/runtime/executors/loaders/product-handler.d.ts.map +1 -1
  553. package/dist/src/runtime/executors/loaders/product-handler.js +2 -8
  554. package/dist/src/runtime/executors/loaders/product-handler.js.map +1 -1
  555. package/dist/src/runtime/executors/loaders/promotion-handler.js +10 -10
  556. package/dist/src/runtime/executors/loaders/promotion-handler.js.map +1 -1
  557. package/dist/src/runtime/executors/loaders/shared-http-client.js +1 -1
  558. package/dist/src/runtime/executors/loaders/shared-http-client.js.map +1 -1
  559. package/dist/src/runtime/executors/loaders/shared-lookups.d.ts.map +1 -1
  560. package/dist/src/runtime/executors/loaders/shared-lookups.js +3 -4
  561. package/dist/src/runtime/executors/loaders/shared-lookups.js.map +1 -1
  562. package/dist/src/runtime/executors/loaders/variant-handler.d.ts.map +1 -1
  563. package/dist/src/runtime/executors/loaders/variant-handler.js +27 -19
  564. package/dist/src/runtime/executors/loaders/variant-handler.js.map +1 -1
  565. package/dist/src/runtime/executors/sink-handler-registry.d.ts +2 -0
  566. package/dist/src/runtime/executors/sink-handler-registry.d.ts.map +1 -1
  567. package/dist/src/runtime/executors/sink-handler-registry.js +82 -49
  568. package/dist/src/runtime/executors/sink-handler-registry.js.map +1 -1
  569. package/dist/src/runtime/executors/sink.executor.js +4 -4
  570. package/dist/src/runtime/executors/sink.executor.js.map +1 -1
  571. package/dist/src/runtime/executors/transform.executor.d.ts +1 -1
  572. package/dist/src/runtime/executors/transform.executor.d.ts.map +1 -1
  573. package/dist/src/runtime/executors/transform.executor.js +44 -30
  574. package/dist/src/runtime/executors/transform.executor.js.map +1 -1
  575. package/dist/src/runtime/helpers/dry-run-simulator.js +4 -4
  576. package/dist/src/runtime/helpers/dry-run-simulator.js.map +1 -1
  577. package/dist/src/runtime/helpers/execution-lifecycle.d.ts +1 -0
  578. package/dist/src/runtime/helpers/execution-lifecycle.d.ts.map +1 -1
  579. package/dist/src/runtime/helpers/execution-lifecycle.js +2 -2
  580. package/dist/src/runtime/helpers/execution-lifecycle.js.map +1 -1
  581. package/dist/src/runtime/orchestration/graph-executor.d.ts +1 -0
  582. package/dist/src/runtime/orchestration/graph-executor.d.ts.map +1 -1
  583. package/dist/src/runtime/orchestration/graph-executor.js +31 -36
  584. package/dist/src/runtime/orchestration/graph-executor.js.map +1 -1
  585. package/dist/src/runtime/orchestration/linear-executor.d.ts +3 -0
  586. package/dist/src/runtime/orchestration/linear-executor.d.ts.map +1 -1
  587. package/dist/src/runtime/orchestration/linear-executor.js +3 -13
  588. package/dist/src/runtime/orchestration/linear-executor.js.map +1 -1
  589. package/dist/src/runtime/orchestration/replay-executor.d.ts.map +1 -1
  590. package/dist/src/runtime/orchestration/replay-executor.js +17 -3
  591. package/dist/src/runtime/orchestration/replay-executor.js.map +1 -1
  592. package/dist/src/runtime/orchestration/throughput-controller.d.ts.map +1 -1
  593. package/dist/src/runtime/orchestration/throughput-controller.js +0 -5
  594. package/dist/src/runtime/orchestration/throughput-controller.js.map +1 -1
  595. package/dist/src/runtime/sandbox/safe-evaluator.d.ts.map +1 -1
  596. package/dist/src/runtime/sandbox/safe-evaluator.js +3 -6
  597. package/dist/src/runtime/sandbox/safe-evaluator.js.map +1 -1
  598. package/dist/src/runtime/utils.d.ts +1 -1
  599. package/dist/src/runtime/utils.d.ts.map +1 -1
  600. package/dist/src/runtime/utils.js +7 -4
  601. package/dist/src/runtime/utils.js.map +1 -1
  602. package/dist/src/sdk/adapters/queue/internal.adapter.d.ts +3 -14
  603. package/dist/src/sdk/adapters/queue/internal.adapter.d.ts.map +1 -1
  604. package/dist/src/sdk/adapters/queue/internal.adapter.js +41 -27
  605. package/dist/src/sdk/adapters/queue/internal.adapter.js.map +1 -1
  606. package/dist/src/sdk/adapters/queue/queue-adapter.interface.d.ts +24 -23
  607. package/dist/src/sdk/adapters/queue/queue-adapter.interface.d.ts.map +1 -1
  608. package/dist/src/sdk/adapters/queue/rabbitmq-amqp.adapter.d.ts.map +1 -1
  609. package/dist/src/sdk/adapters/queue/rabbitmq-amqp.adapter.js +1 -3
  610. package/dist/src/sdk/adapters/queue/rabbitmq-amqp.adapter.js.map +1 -1
  611. package/dist/src/sdk/adapters/queue/rabbitmq.adapter.d.ts +2 -17
  612. package/dist/src/sdk/adapters/queue/rabbitmq.adapter.d.ts.map +1 -1
  613. package/dist/src/sdk/adapters/queue/rabbitmq.adapter.js +9 -20
  614. package/dist/src/sdk/adapters/queue/rabbitmq.adapter.js.map +1 -1
  615. package/dist/src/sdk/adapters/queue/redis-streams.adapter.d.ts.map +1 -1
  616. package/dist/src/sdk/adapters/queue/redis-streams.adapter.js +11 -3
  617. package/dist/src/sdk/adapters/queue/redis-streams.adapter.js.map +1 -1
  618. package/dist/src/sdk/adapters/queue/sqs.adapter.d.ts +1 -1
  619. package/dist/src/sdk/adapters/queue/sqs.adapter.d.ts.map +1 -1
  620. package/dist/src/sdk/adapters/queue/sqs.adapter.js +5 -4
  621. package/dist/src/sdk/adapters/queue/sqs.adapter.js.map +1 -1
  622. package/dist/src/sdk/constants.d.ts +1 -1
  623. package/dist/src/sdk/constants.d.ts.map +1 -1
  624. package/dist/src/sdk/constants.js +2 -1
  625. package/dist/src/sdk/constants.js.map +1 -1
  626. package/dist/src/sdk/dsl/step-configs.d.ts +2 -3
  627. package/dist/src/sdk/dsl/step-configs.d.ts.map +1 -1
  628. package/dist/src/sdk/dsl/transform-builder.d.ts +2 -2
  629. package/dist/src/sdk/dsl/transform-builder.d.ts.map +1 -1
  630. package/dist/src/sdk/dsl/transform-builder.js +2 -2
  631. package/dist/src/sdk/dsl/transform-builder.js.map +1 -1
  632. package/dist/src/sdk/dsl/validation-helpers.js +3 -3
  633. package/dist/src/sdk/dsl/validation-helpers.js.map +1 -1
  634. package/dist/src/sdk/registry.service.js +2 -2
  635. package/dist/src/sdk/registry.service.js.map +1 -1
  636. package/dist/src/sdk/types/connection-types.d.ts +1 -1
  637. package/dist/src/sdk/types/connection-types.d.ts.map +1 -1
  638. package/dist/src/services/analytics/time-series.helpers.d.ts.map +1 -1
  639. package/dist/src/services/analytics/time-series.helpers.js +4 -6
  640. package/dist/src/services/analytics/time-series.helpers.js.map +1 -1
  641. package/dist/src/services/config/connection.service.d.ts.map +1 -1
  642. package/dist/src/services/config/connection.service.js +11 -1
  643. package/dist/src/services/config/connection.service.js.map +1 -1
  644. package/dist/src/services/config/secret.service.d.ts +1 -1
  645. package/dist/src/services/config/secret.service.d.ts.map +1 -1
  646. package/dist/src/services/config/secret.service.js +15 -8
  647. package/dist/src/services/config/secret.service.js.map +1 -1
  648. package/dist/src/services/config/settings.service.d.ts.map +1 -1
  649. package/dist/src/services/config/settings.service.js +0 -2
  650. package/dist/src/services/config/settings.service.js.map +1 -1
  651. package/dist/src/services/data/checkpoint.service.d.ts.map +1 -1
  652. package/dist/src/services/data/checkpoint.service.js +14 -8
  653. package/dist/src/services/data/checkpoint.service.js.map +1 -1
  654. package/dist/src/services/data/record-error.service.d.ts.map +1 -1
  655. package/dist/src/services/data/record-error.service.js +0 -13
  656. package/dist/src/services/data/record-error.service.js.map +1 -1
  657. package/dist/src/services/destinations/delivery-utils.d.ts +1 -1
  658. package/dist/src/services/destinations/delivery-utils.d.ts.map +1 -1
  659. package/dist/src/services/destinations/delivery-utils.js +4 -2
  660. package/dist/src/services/destinations/delivery-utils.js.map +1 -1
  661. package/dist/src/services/destinations/destination-handler-registry.d.ts.map +1 -1
  662. package/dist/src/services/destinations/destination-handler-registry.js +9 -5
  663. package/dist/src/services/destinations/destination-handler-registry.js.map +1 -1
  664. package/dist/src/services/destinations/email.handler.js +1 -1
  665. package/dist/src/services/destinations/email.handler.js.map +1 -1
  666. package/dist/src/services/destinations/ftp.handler.js +1 -1
  667. package/dist/src/services/destinations/ftp.handler.js.map +1 -1
  668. package/dist/src/services/destinations/http.handler.d.ts.map +1 -1
  669. package/dist/src/services/destinations/http.handler.js +1 -0
  670. package/dist/src/services/destinations/http.handler.js.map +1 -1
  671. package/dist/src/services/destinations/s3.handler.d.ts.map +1 -1
  672. package/dist/src/services/destinations/s3.handler.js +25 -11
  673. package/dist/src/services/destinations/s3.handler.js.map +1 -1
  674. package/dist/src/services/events/consumer-discovery.d.ts.map +1 -1
  675. package/dist/src/services/events/consumer-discovery.js +6 -6
  676. package/dist/src/services/events/consumer-discovery.js.map +1 -1
  677. package/dist/src/services/events/domain-events.service.d.ts.map +1 -1
  678. package/dist/src/services/events/domain-events.service.js +2 -2
  679. package/dist/src/services/events/domain-events.service.js.map +1 -1
  680. package/dist/src/services/events/event-trigger.service.d.ts.map +1 -1
  681. package/dist/src/services/events/event-trigger.service.js +55 -7
  682. package/dist/src/services/events/event-trigger.service.js.map +1 -1
  683. package/dist/src/services/events/file-watch.service.d.ts +6 -1
  684. package/dist/src/services/events/file-watch.service.d.ts.map +1 -1
  685. package/dist/src/services/events/file-watch.service.js +133 -48
  686. package/dist/src/services/events/file-watch.service.js.map +1 -1
  687. package/dist/src/services/events/hook.service.d.ts.map +1 -1
  688. package/dist/src/services/events/hook.service.js +64 -12
  689. package/dist/src/services/events/hook.service.js.map +1 -1
  690. package/dist/src/services/events/message-consumer.service.d.ts +3 -1
  691. package/dist/src/services/events/message-consumer.service.d.ts.map +1 -1
  692. package/dist/src/services/events/message-consumer.service.js +6 -4
  693. package/dist/src/services/events/message-consumer.service.js.map +1 -1
  694. package/dist/src/services/events/message-processing.d.ts +4 -1
  695. package/dist/src/services/events/message-processing.d.ts.map +1 -1
  696. package/dist/src/services/events/message-processing.js +47 -6
  697. package/dist/src/services/events/message-processing.js.map +1 -1
  698. package/dist/src/services/logger/sanitizer.d.ts.map +1 -1
  699. package/dist/src/services/logger/sanitizer.js +4 -5
  700. package/dist/src/services/logger/sanitizer.js.map +1 -1
  701. package/dist/src/services/pipeline/pipeline-log.service.d.ts +0 -4
  702. package/dist/src/services/pipeline/pipeline-log.service.d.ts.map +1 -1
  703. package/dist/src/services/pipeline/pipeline-log.service.js +2 -14
  704. package/dist/src/services/pipeline/pipeline-log.service.js.map +1 -1
  705. package/dist/src/services/pipeline/pipeline-runner.service.d.ts +6 -1
  706. package/dist/src/services/pipeline/pipeline-runner.service.d.ts.map +1 -1
  707. package/dist/src/services/pipeline/pipeline-runner.service.js +111 -17
  708. package/dist/src/services/pipeline/pipeline-runner.service.js.map +1 -1
  709. package/dist/src/services/pipeline/pipeline.service.d.ts +8 -4
  710. package/dist/src/services/pipeline/pipeline.service.d.ts.map +1 -1
  711. package/dist/src/services/pipeline/pipeline.service.js +51 -35
  712. package/dist/src/services/pipeline/pipeline.service.js.map +1 -1
  713. package/dist/src/services/rate-limit/rate-limit.service.d.ts.map +1 -1
  714. package/dist/src/services/rate-limit/rate-limit.service.js +3 -5
  715. package/dist/src/services/rate-limit/rate-limit.service.js.map +1 -1
  716. package/dist/src/services/runtime/batch-rollback.service.d.ts.map +1 -1
  717. package/dist/src/services/runtime/batch-rollback.service.js +1 -6
  718. package/dist/src/services/runtime/batch-rollback.service.js.map +1 -1
  719. package/dist/src/services/runtime/distributed-lock.service.d.ts.map +1 -1
  720. package/dist/src/services/runtime/distributed-lock.service.js +10 -12
  721. package/dist/src/services/runtime/distributed-lock.service.js.map +1 -1
  722. package/dist/src/services/runtime/lock-backends/lock-backend.factory.d.ts +1 -1
  723. package/dist/src/services/runtime/lock-backends/lock-backend.factory.d.ts.map +1 -1
  724. package/dist/src/services/runtime/lock-backends/lock-backend.factory.js +5 -4
  725. package/dist/src/services/runtime/lock-backends/lock-backend.factory.js.map +1 -1
  726. package/dist/src/services/storage/storage-backend.factory.d.ts.map +1 -1
  727. package/dist/src/services/storage/storage-backend.factory.js +2 -1
  728. package/dist/src/services/storage/storage-backend.factory.js.map +1 -1
  729. package/dist/src/services/validation/adapter-validation.js +2 -2
  730. package/dist/src/services/validation/adapter-validation.js.map +1 -1
  731. package/dist/src/services/validation/definition-validation.service.d.ts.map +1 -1
  732. package/dist/src/services/validation/definition-validation.service.js +1 -1
  733. package/dist/src/services/validation/definition-validation.service.js.map +1 -1
  734. package/dist/src/services/validation/trigger-validation.d.ts.map +1 -1
  735. package/dist/src/services/validation/trigger-validation.js +15 -14
  736. package/dist/src/services/validation/trigger-validation.js.map +1 -1
  737. package/dist/src/services/versioning/field-detection.d.ts.map +1 -1
  738. package/dist/src/services/versioning/field-detection.js +0 -1
  739. package/dist/src/services/versioning/field-detection.js.map +1 -1
  740. package/dist/src/services/versioning/impact-collectors.d.ts.map +1 -1
  741. package/dist/src/services/versioning/impact-collectors.js +26 -11
  742. package/dist/src/services/versioning/impact-collectors.js.map +1 -1
  743. package/dist/src/services/versioning/revision.service.d.ts.map +1 -1
  744. package/dist/src/services/versioning/revision.service.js +4 -1
  745. package/dist/src/services/versioning/revision.service.js.map +1 -1
  746. package/dist/src/services/versioning/sandbox/load-operation-simulator.d.ts.map +1 -1
  747. package/dist/src/services/versioning/sandbox/load-operation-simulator.js +26 -10
  748. package/dist/src/services/versioning/sandbox/load-operation-simulator.js.map +1 -1
  749. package/dist/src/services/webhooks/webhook-retry.service.d.ts +1 -1
  750. package/dist/src/services/webhooks/webhook-retry.service.d.ts.map +1 -1
  751. package/dist/src/services/webhooks/webhook-retry.service.js +27 -22
  752. package/dist/src/services/webhooks/webhook-retry.service.js.map +1 -1
  753. package/dist/src/services/webhooks/webhook.helpers.js +1 -1
  754. package/dist/src/services/webhooks/webhook.helpers.js.map +1 -1
  755. package/dist/src/templates/defaults.js +6 -6
  756. package/dist/src/templates/defaults.js.map +1 -1
  757. package/dist/src/templates/imports/types.d.ts +1 -1
  758. package/dist/src/templates/imports/types.js +1 -1
  759. package/dist/src/transforms/field/date-transforms.js +15 -15
  760. package/dist/src/transforms/field/date-transforms.js.map +1 -1
  761. package/dist/src/transforms/field/number-transforms.d.ts +0 -26
  762. package/dist/src/transforms/field/number-transforms.d.ts.map +1 -1
  763. package/dist/src/transforms/field/number-transforms.js +0 -26
  764. package/dist/src/transforms/field/number-transforms.js.map +1 -1
  765. package/dist/src/transforms/helpers/expression-eval.d.ts +0 -1
  766. package/dist/src/transforms/helpers/expression-eval.d.ts.map +1 -1
  767. package/dist/src/transforms/helpers/expression-eval.js +15 -26
  768. package/dist/src/transforms/helpers/expression-eval.js.map +1 -1
  769. package/dist/src/transforms/record/lookup-transforms.js +1 -1
  770. package/dist/src/transforms/record/lookup-transforms.js.map +1 -1
  771. package/dist/src/types/loader-configs.d.ts +6 -6
  772. package/dist/src/types/loader-configs.d.ts.map +1 -1
  773. package/dist/src/types/plugin-options.d.ts +0 -10
  774. package/dist/src/types/plugin-options.d.ts.map +1 -1
  775. package/dist/src/types/typed-config.js +1 -1
  776. package/dist/src/types/typed-config.js.map +1 -1
  777. package/dist/src/utils/code-security.utils.d.ts.map +1 -1
  778. package/dist/src/utils/code-security.utils.js +11 -13
  779. package/dist/src/utils/code-security.utils.js.map +1 -1
  780. package/dist/src/utils/encryption.utils.d.ts +2 -2
  781. package/dist/src/utils/encryption.utils.d.ts.map +1 -1
  782. package/dist/src/utils/encryption.utils.js +13 -17
  783. package/dist/src/utils/encryption.utils.js.map +1 -1
  784. package/dist/src/utils/object-path.utils.d.ts.map +1 -1
  785. package/dist/src/utils/object-path.utils.js +22 -6
  786. package/dist/src/utils/object-path.utils.js.map +1 -1
  787. package/dist/src/utils/retry.utils.js +14 -14
  788. package/dist/src/utils/retry.utils.js.map +1 -1
  789. package/dist/src/utils/sql-security.utils.d.ts.map +1 -1
  790. package/dist/src/utils/sql-security.utils.js +6 -3
  791. package/dist/src/utils/sql-security.utils.js.map +1 -1
  792. package/dist/src/utils/url-security.utils.d.ts +21 -0
  793. package/dist/src/utils/url-security.utils.d.ts.map +1 -1
  794. package/dist/src/utils/url-security.utils.js +71 -3
  795. package/dist/src/utils/url-security.utils.js.map +1 -1
  796. package/dist/src/validation/pipeline-definition.validator.js +3 -11
  797. package/dist/src/validation/pipeline-definition.validator.js.map +1 -1
  798. package/docs/deployment/README.md +1 -1
  799. package/docs/deployment/configuration.md +4 -4
  800. package/docs/deployment/migrations.md +2 -3
  801. package/docs/deployment/permissions.md +1 -1
  802. package/docs/deployment/production.md +4 -4
  803. package/docs/deployment/troubleshooting.md +27 -18
  804. package/docs/developer-guide/architecture.md +2 -2
  805. package/docs/developer-guide/extending/README.md +6 -6
  806. package/docs/developer-guide/extending/events.md +2 -2
  807. package/docs/developer-guide/graphql-api.md +36 -117
  808. package/docs/examples/validation-error-messages.md +1 -1
  809. package/docs/getting-started/quick-start.md +1 -1
  810. package/docs/guides/multi-entity.md +0 -1
  811. package/docs/reference/extractors.md +19 -24
  812. package/docs/reference/operators-complete.md +1 -1
  813. package/docs/user-guide/external-integrations.md +1 -1
  814. package/docs/user-guide/queue-messaging.md +14 -11
  815. package/docs/user-guide/recipes.md +0 -1
  816. package/docs/user-guide/wizards.md +0 -1
  817. package/package.json +3 -1
  818. package/sdk/types/connection-types.ts +9 -0
  819. package/shared/constants/step-type-configs.ts +2 -2
  820. package/shared/types/adapter-config.types.ts +3 -3
  821. package/shared/types/adapter.types.ts +1 -1
  822. package/shared/types/execution.types.ts +2 -5
  823. package/shared/types/extractor.types.ts +1 -1
  824. package/shared/types/index.ts +1 -1
  825. package/shared/types/pipeline.types.ts +2 -3
  826. package/shared/types/step.types.ts +3 -4
  827. package/shared/types/trigger.types.ts +4 -24
  828. package/shared/utils/csv-parse.ts +2 -2
  829. package/shared/utils/validation.ts +1 -1
  830. package/shared/vendure-schemas.ts +1 -1
  831. package/dist/src/api/types/args.d.ts +0 -12
  832. package/dist/src/api/types/args.d.ts.map +0 -1
  833. package/dist/src/api/types/args.js +0 -13
  834. package/dist/src/api/types/args.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,38 @@
2
2
 
3
3
  All notable changes to the Data Hub Plugin are documented here.
4
4
 
5
+ ## [0.1.6] - 2026-03-29
6
+
7
+ ### Added
8
+ - **Auto-generated list query types**: Vendure now auto-generates `SortParameter`, `FilterParameter`, and `ListOptions` input types for Pipeline, Log, Connection, and Secret list queries — enabling typed sort/filter on all list endpoints
9
+ - **Direct load strategy support in import wizard**: Strategy step now accepts all backend `LoadStrategy` values (CREATE, UPDATE, UPSERT, MERGE, SOFT_DELETE, HARD_DELETE) in addition to wizard-internal mappings
10
+ - **Wizard field mapping for loader configs**: Import wizard now correctly maps user-facing field names (e.g. `sku`, `name`) to loader config keys (e.g. `skuField`, `nameField`) using suffix-based resolution
11
+ - **SSRF protection for database connection strings**: DSN/key-value connection strings are now parsed and validated against the hostname blocklist (PostgreSQL `host=`, MSSQL `Server=`, Oracle `Data Source=`)
12
+ - **Database extractor SSL support**: Full SSL/TLS configuration for PostgreSQL and MySQL connections with CA/cert/key secret references
13
+ - **Improved secret management**: Secret resolver now masks values in API responses, edit form shows "Existing value retained" guidance
14
+ - **Connection config editor improvements**: Dynamic form fields per connection type, header editor with add/remove, auth type switching with field caching
15
+ - **Pipeline run metrics**: Step summary table with per-step record counts, duration, and adapter info in run detail panel
16
+ - **Dry run enhancements**: Summary tab with record counts, Record Diff tab showing field-level changes, Simulate tab with execution preview
17
+
18
+ ### Fixed
19
+ - **List query sort/filter**: Replaced manual `sort: JSON` / `filter: JSON` schema definitions with Vendure auto-generated typed parameters — sort queries no longer crash with "Cannot read properties of undefined"
20
+ - **Import wizard strategy mapping**: Selecting UPSERT, CREATE, MERGE, SOFT_DELETE, or HARD_DELETE in the strategy step no longer throws "Unknown strategy" error
21
+ - **Connection create default type**: Creating a new connection without changing the type dropdown now correctly submits `type: "HTTP"` instead of an empty string
22
+ - **Secret create default provider**: Creating a new secret without changing the provider dropdown now correctly submits `provider: "INLINE"` instead of an empty string
23
+ - **Null options crash on list queries**: Passing no options to `dataHubPipelines`, `dataHubLogs`, `dataHubConnections`, or `dataHubSecrets` no longer crashes with null reference error
24
+ - **Entity schema field type enum**: `dataHubLoaderEntitySchemas` now returns uppercase enum values (`STRING`, `NUMBER`, `LOCALIZED_STRING`) matching the GraphQL schema
25
+ - **Record retry crash**: `retryDataHubRecord` mutation no longer crashes when accessing run relation — uses direct `runId` column instead
26
+ - **Checkpoint query relation**: `dataHubCheckpoint` query now loads the pipeline relation to satisfy non-nullable GraphQL field
27
+ - **Queue producer secret resolution**: Sink queue producer now resolves connection secrets before publishing messages
28
+ - **Webhook delivery queue cap**: Queue eviction now protects in-flight deliveries and rejects new deliveries when at capacity
29
+ - **REST extractor connection types**: REST extractor now accepts REST and GRAPHQL connection types alongside HTTP
30
+
31
+ ### Changed
32
+ - **277 files updated** across backend, dashboard, and shared modules
33
+ - **Dashboard codegen regenerated** with typed sort/filter parameters for all list queries
34
+ - **Loader handlers**: Improved error diagnostics with SKU and variant ID context in error messages
35
+ - **Security hardening**: URL security utils, SQL security, code security, and encryption utilities updated
36
+
5
37
  ## [0.1.5] - 2026-03-05
6
38
 
7
39
  ### Added
@@ -76,7 +108,7 @@ Initial production release of the Data Hub Plugin for Vendure.
76
108
 
77
109
  #### ETL Pipeline Engine
78
110
  - **Full pipeline orchestration**: Extract → Transform → Validate → Enrich → Route → Load → Export/Feed/Sink
79
- - **10 step types**: TRIGGER, EXTRACT, TRANSFORM, VALIDATE, ENRICH, ROUTE, LOAD, EXPORT, FEED, SINK, GATE
111
+ - **11 step types**: TRIGGER, EXTRACT, TRANSFORM, VALIDATE, ENRICH, ROUTE, LOAD, EXPORT, FEED, SINK, GATE
80
112
  - **2 execution modes**: Linear (sequential) and Graph (parallel DAG)
81
113
  - **Checkpoint system**: Resumable pipeline runs with state persistence
82
114
  - **Error handling**: Quarantine, retry, replay, dead letter queue
@@ -267,7 +299,7 @@ import { createPipeline, DataHubPlugin } from '@oronts/vendure-data-hub-plugin';
267
299
  const productSync = createPipeline()
268
300
  .name('Product Import')
269
301
  .description('Daily product sync from ERP')
270
- .trigger('SCHEDULE', { cronExpression: '0 2 * * *' })
302
+ .trigger('start', { type: 'SCHEDULE', cron: '0 2 * * *' })
271
303
  .extract('fetch-products', {
272
304
  adapterCode: 'httpApi',
273
305
  'connection.endpoint': 'https://erp.example.com/api/products',
@@ -337,7 +369,7 @@ DataHubPlugin.init({
337
369
 
338
370
  ### API
339
371
 
340
- **GraphQL API** (18 resolvers):
372
+ **GraphQL API** (22 resolvers):
341
373
  - Pipeline CRUD operations
342
374
  - Run execution and monitoring
343
375
  - Connection management
package/CONTRIBUTING.md CHANGED
@@ -49,7 +49,7 @@ data-hub/
49
49
  │ ├── entities/ # TypeORM entities (Pipeline, PipelineRun, etc.)
50
50
  │ ├── extractors/ # Data source extractors (REST, GraphQL, CSV, etc.)
51
51
  │ ├── feeds/ # Product feed generators (Google, Meta, Amazon, Custom)
52
- │ ├── jobs/ # Background job handlers
52
+ │ ├── jobs/ # Pipeline execution handlers
53
53
  │ ├── loaders/ # Entity loaders (Product, Customer, Order, etc.)
54
54
  │ ├── mappers/ # Field mapping utilities
55
55
  │ ├── operators/ # Transform operators (string, numeric, date, etc.)
@@ -149,7 +149,7 @@ Types:
149
149
 
150
150
  1. Create a new file in `src/loaders/`
151
151
  2. Implement the `LoaderAdapter` interface
152
- 3. Register it in `src/loaders/registry.ts`
152
+ 3. Register it in `src/runtime/executors/loaders/loader-handler-registry.ts`
153
153
  4. Add tests
154
154
 
155
155
  ### Adding a Transform Operator
package/README.md CHANGED
@@ -25,9 +25,12 @@
25
25
  <a href="#operators">Operators</a> •
26
26
  <a href="#loaders">Loaders</a> •
27
27
  <a href="#hooks">Hooks</a> •
28
- <a href="#documentation">Docs</a>
28
+ <a href="#documentation">Docs</a>
29
+ <a href="#license">License</a>
29
30
  </p>
30
31
 
32
+ > **License**: Commercial plugin — free for personal, learning, and non-commercial use. Commercial use requires a license. Contact **office@oronts.com** for details. See [License](#license).
33
+
31
34
  ---
32
35
 
33
36
  A full-featured ETL (Extract, Transform, Load) plugin for [Vendure](https://www.vendure.io/) e-commerce. Build data pipelines to import products, sync inventory, generate product feeds, index to search engines, and integrate with external systems.
@@ -886,7 +889,7 @@ The plugin includes a full-featured admin dashboard:
886
889
  - `completedAt` and `errorMessage` fields on pipeline runs for precise tracking
887
890
 
888
891
  ### Queue Management
889
- - View pending, running, and failed jobs
892
+ - View pending, running, and failed pipeline runs
890
893
  - Dead letter queue for quarantined records
891
894
  - Retry failed records with payload patching
892
895
 
@@ -9,7 +9,7 @@ import {
9
9
  } from '../../constants';
10
10
  import { useOptionValues, useConnectionSchemas } from '../../hooks/api/use-config-options';
11
11
  import type { ConnectionSchemaField } from '../../hooks/api/use-config-options';
12
- import { validateUrl, validatePort, validateHostname } from '../../utils';
12
+ import { validateUrl, validatePort } from '../../utils';
13
13
  import { FieldError } from './ValidationFeedback';
14
14
  import type { UIConnectionType, HttpConnectionConfig, DataHubSecret } from '../../types';
15
15
 
@@ -150,9 +150,11 @@ function HttpConnectionFields({
150
150
  return rows;
151
151
  }, [normalized.headers]);
152
152
 
153
+ const [pendingEmptyRow, setPendingEmptyRow] = React.useState<HeaderRow | null>(null);
154
+
153
155
  const commitHeaders = (rows: HeaderRow[]) => {
154
- const cleaned = rows.filter(row => row.name.trim() && row.value.trim());
155
- const next = cleaned.length ? Object.fromEntries(cleaned.map(row => [row.name.trim(), row.value])) : undefined;
156
+ const withContent = rows.filter(row => row.name.trim());
157
+ const next = withContent.length ? Object.fromEntries(withContent.map(row => [row.name.trim(), row.value])) : undefined;
156
158
  updateConfig({ headers: next });
157
159
  };
158
160
 
@@ -215,7 +217,7 @@ function HttpConnectionFields({
215
217
  type="button"
216
218
  variant="outline"
217
219
  size="sm"
218
- onClick={() => commitHeaders([...headerRows, createHeaderRow()])}
220
+ onClick={() => setPendingEmptyRow(createHeaderRow())}
219
221
  disabled={disabled}
220
222
  aria-label="Add new HTTP header"
221
223
  >
@@ -223,7 +225,7 @@ function HttpConnectionFields({
223
225
  Add header
224
226
  </Button>
225
227
  </div>
226
- {headerRows.length === 0 && <p className="text-sm text-muted-foreground">No headers configured.</p>}
228
+ {headerRows.length === 0 && !pendingEmptyRow && <p className="text-sm text-muted-foreground">No headers configured.</p>}
227
229
  {headerRows.map(row => (
228
230
  <div key={row.id} className="grid grid-cols-[1fr,1fr,auto] gap-3">
229
231
  <Input
@@ -256,6 +258,41 @@ function HttpConnectionFields({
256
258
  </Button>
257
259
  </div>
258
260
  ))}
261
+ {pendingEmptyRow && (
262
+ <div key={pendingEmptyRow.id} className="grid grid-cols-[1fr,1fr,auto] gap-3">
263
+ <Input
264
+ placeholder={PLACEHOLDERS.HEADER_NAME}
265
+ value={pendingEmptyRow.name}
266
+ autoFocus
267
+ onChange={e => {
268
+ const name = e.target.value;
269
+ if (name.trim()) {
270
+ commitHeaders([...headerRows, { ...pendingEmptyRow, name }]);
271
+ setPendingEmptyRow(null);
272
+ } else {
273
+ setPendingEmptyRow({ ...pendingEmptyRow, name });
274
+ }
275
+ }}
276
+ disabled={disabled}
277
+ />
278
+ <Input
279
+ placeholder={PLACEHOLDERS.HEADER_VALUE}
280
+ value={pendingEmptyRow.value}
281
+ onChange={e => setPendingEmptyRow({ ...pendingEmptyRow, value: e.target.value })}
282
+ disabled={disabled}
283
+ />
284
+ <Button
285
+ type="button"
286
+ variant="ghost"
287
+ size="icon"
288
+ onClick={() => setPendingEmptyRow(null)}
289
+ disabled={disabled}
290
+ aria-label="Remove header"
291
+ >
292
+ <Trash2 className="w-4 h-4" />
293
+ </Button>
294
+ </div>
295
+ )}
259
296
  </div>
260
297
 
261
298
  <div className="space-y-3" role="group" aria-labelledby="authentication-label">
@@ -21,11 +21,12 @@ export function PipelineImportDialog({ onImport }: Readonly<Props>) {
21
21
  setParsed(null);
22
22
  try {
23
23
  const def = JSON.parse(text);
24
- const result = await validateMutation.mutateAsync(def);
24
+ const result = await validateMutation.mutateAsync({ definition: def });
25
25
  if (result?.isValid) {
26
26
  setParsed(def);
27
27
  } else {
28
- setErrors(result?.errors ?? ['Invalid definition']);
28
+ const issueMessages = (result?.issues as Array<{ message: string }> | undefined)?.map(i => i.message) ?? ['Invalid definition'];
29
+ setErrors(issueMessages);
29
30
  }
30
31
  } catch (e) {
31
32
  setErrors([getErrorMessage(e)]);
@@ -63,6 +63,8 @@ export function ReactFlowPipelineEditor({
63
63
  const reactFlowRef = React.useRef<HTMLDivElement>(null);
64
64
 
65
65
  const isUpdatingRef = React.useRef(false);
66
+ const nodesRef = React.useRef(nodes);
67
+ nodesRef.current = nodes;
66
68
 
67
69
  const getDefinitionKey = React.useCallback((def: VisualPipelineDefinition | null) => {
68
70
  if (!def) return '';
@@ -90,7 +92,7 @@ export function ReactFlowPipelineEditor({
90
92
  if (newKey !== currentKey) {
91
93
  lastSyncedKeyRef.current = newKey;
92
94
 
93
- const positionMap = new Map(nodes.map(n => [n.id, n.position]));
95
+ const positionMap = new Map(nodesRef.current.map(n => [n.id, n.position]));
94
96
 
95
97
  const updatedNodes = definition.nodes.map(n => ({
96
98
  ...n,
@@ -100,7 +102,7 @@ export function ReactFlowPipelineEditor({
100
102
  setNodes(updatedNodes);
101
103
  setEdges(definition.edges);
102
104
  }
103
- }, [definition, nodes, setNodes, setEdges, getDefinitionKey]);
105
+ }, [definition, getDefinitionKey]);
104
106
 
105
107
  const notifyChange = React.useCallback((newNodes: Node<PipelineNodeData>[], newEdges: Edge[]) => {
106
108
  isUpdatingRef.current = true;
@@ -139,7 +141,7 @@ export function ReactFlowPipelineEditor({
139
141
  event.dataTransfer.effectAllowed = 'move';
140
142
  }, []);
141
143
 
142
- /** Add a node directly to the canvas center -- used by keyboard accessibility path
144
+ /** Add a node directly to the canvas center. Used by keyboard accessibility path
143
145
  * where a real drag-drop gesture is not possible. */
144
146
  const addNodeToCanvas = React.useCallback((nodeType: string, category: string, label: string) => {
145
147
  const bounds = reactFlowRef.current?.getBoundingClientRect();
@@ -149,7 +151,7 @@ export function ReactFlowPipelineEditor({
149
151
  };
150
152
 
151
153
  const newNode: Node<PipelineNodeData> = {
152
- id: `node-${Date.now()}`,
154
+ id: `node-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`,
153
155
  type: category,
154
156
  position,
155
157
  data: {
@@ -187,7 +189,7 @@ export function ReactFlowPipelineEditor({
187
189
  };
188
190
 
189
191
  const newNode: Node<PipelineNodeData> = {
190
- id: `node-${Date.now()}`,
192
+ id: `node-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`,
191
193
  type: category,
192
194
  position,
193
195
  data: {
@@ -249,10 +251,6 @@ export function ReactFlowPipelineEditor({
249
251
  setSelectedNode(null);
250
252
  }, []);
251
253
 
252
- const handleAutoLayout = React.useCallback(() => {
253
- autoLayout();
254
- }, [autoLayout]);
255
-
256
254
  const issueMap = React.useMemo(() => {
257
255
  const issueCountMap = new Map<string, number>();
258
256
  for (const issue of issues) {
@@ -279,7 +277,7 @@ export function ReactFlowPipelineEditor({
279
277
  <Badge variant="outline">{nodes.length} nodes</Badge>
280
278
  <Badge variant="outline">{edges.length} connections</Badge>
281
279
  {!readOnly && (
282
- <Button variant="ghost" size="sm" onClick={handleAutoLayout} className="gap-1 text-xs" data-testid="datahub-pipeline-editor-auto-layout-button" aria-label="Auto-layout pipeline nodes">
280
+ <Button variant="ghost" size="sm" onClick={autoLayout} className="gap-1 text-xs" data-testid="datahub-pipeline-editor-auto-layout-button" aria-label="Auto-layout pipeline nodes">
283
281
  <LayoutGrid className="w-3 h-3" />
284
282
  Auto-layout
285
283
  </Button>
@@ -63,7 +63,7 @@ function NodePropertiesPanelComponent({
63
63
  const startW = width;
64
64
  const onMove = (ev: MouseEvent) => {
65
65
  if (!dragging.current) return;
66
- // Panel opens from right dragging left increases width
66
+ // Panel opens from right, dragging left increases width
67
67
  const delta = startX - ev.clientX;
68
68
  setWidth(Math.max(MIN_PANEL_WIDTH, Math.min(window.innerWidth * 0.9, startW + delta)));
69
69
  };
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { Handle, Position, NodeProps, Node } from '@xyflow/react';
3
3
  import { Badge } from '@vendure/dashboard';
4
4
  import type { PipelineNodeData, VisualNodeCategory } from '../../../types';
5
- import { getVisualNodeConfig, VisualNodeConfig } from './visual-node-config';
5
+ import { getVisualNodeConfig } from './visual-node-config';
6
6
  import { FALLBACK_COLORS, BRANCH_COLORS, NODE_DIMENSIONS, ICON_SIZES, TEST_STATUS } from '../../../constants';
7
7
 
8
8
  export function createPipelineNode(category: VisualNodeCategory) {
@@ -117,7 +117,7 @@ function StatusBadge({ status }: { status: PipelineNodeData['status'] }) {
117
117
  case TEST_STATUS.WARNING:
118
118
  return (
119
119
  <div className="px-3 pb-2" role="status" aria-live="polite">
120
- <Badge variant="outline" className="border-amber-500 text-amber-500">Warning</Badge>
120
+ <Badge variant="outline" className="border-amber-500 dark:border-amber-400 text-amber-500 dark:text-amber-400">Warning</Badge>
121
121
  </div>
122
122
  );
123
123
  default:
@@ -15,10 +15,10 @@ export const AdapterRequiredWarning = memo(function AdapterRequiredWarning({
15
15
  <div className={`bg-amber-50 dark:bg-amber-950/30 border border-amber-200 dark:border-amber-800 rounded-md ${compact ? 'p-2.5' : 'p-3'}`}>
16
16
  <div className="flex items-center gap-2 text-amber-800 dark:text-amber-400">
17
17
  <AlertTriangle className={`${compact ? 'h-4 w-4 shrink-0' : 'h-4 w-4'}`} />
18
- <span className="text-sm font-medium">Select {adapterTypeLabel.startsWith('a') ? 'an' : 'a'} {adapterTypeLabel}</span>
18
+ <span className="text-sm font-medium">Select {'aeiouAEIOU'.includes(adapterTypeLabel[0]) ? 'an' : 'a'} {adapterTypeLabel}</span>
19
19
  </div>
20
- <p className={`text-xs text-amber-700 mt-1 ${compact ? 'ml-6' : ''}`}>
21
- This step requires {adapterTypeLabel.startsWith('a') ? 'an' : 'a'} {adapterTypeLabel} to be configured.
20
+ <p className={`text-xs text-amber-700 dark:text-amber-500 mt-1 ${compact ? 'ml-6' : ''}`}>
21
+ This step requires {'aeiouAEIOU'.includes(adapterTypeLabel[0]) ? 'an' : 'a'} {adapterTypeLabel} to be configured.
22
22
  </p>
23
23
  </div>
24
24
  );
@@ -207,7 +207,7 @@ export function AdvancedMapEditor({ config, onChange }: { config: JsonRecord; on
207
207
  <div>
208
208
  <Label className="text-xs font-medium">Sample Input (JSON array)</Label>
209
209
  <Textarea className="font-mono text-xs min-h-[140px]" value={sample} onChange={e => setSample(e.target.value)} />
210
- {!sampleValid && (<p className="text-[11px] text-amber-600 mt-1">Enter a valid JSON array of records</p>)}
210
+ {!sampleValid && (<p className="text-[11px] text-amber-600 dark:text-amber-400 mt-1">Enter a valid JSON array of records</p>)}
211
211
  {pathList.length > 0 && (
212
212
  <div className="mt-2">
213
213
  <Label className="text-xs font-medium">Field Picker</Label>
@@ -442,7 +442,7 @@ const RuleValueCell = React.memo(function RuleValueCell({ condition: c, ruleInde
442
442
  <Input value={valStr} onChange={onValChange} placeholder={placeholder} />
443
443
  {(inError || regexError) && (
444
444
  <div className="col-span-3 -mt-1">
445
- <p className="text-[11px] text-amber-600">{inError || regexError}</p>
445
+ <p className="text-[11px] text-amber-600 dark:text-amber-400">{inError || regexError}</p>
446
446
  </div>
447
447
  )}
448
448
  </>
@@ -163,7 +163,7 @@ interface EnrichSchemaFieldProps {
163
163
  removeDefault: (index: number) => void;
164
164
  }
165
165
 
166
- /** Field type renderer registry -- maps field.type to a render function. */
166
+ /** Field type renderer registry: maps field.type to a render function. */
167
167
  type EnrichFieldRenderer = (props: EnrichSchemaFieldProps) => React.JSX.Element;
168
168
 
169
169
  const ENRICH_FIELD_RENDERERS: Record<string, EnrichFieldRenderer> = {
@@ -1,4 +1,3 @@
1
- import * as React from 'react';
2
1
  import { useCallback, useEffect, useRef } from 'react';
3
2
  import {
4
3
  Label,
@@ -80,7 +80,7 @@ export function OperatorFieldInput({ field, value, onChange }: OperatorFieldInpu
80
80
  );
81
81
  }
82
82
 
83
- // Code field type full code editor with line numbers, Tab support, and expand dialog
83
+ // Code field type: full code editor with line numbers, Tab support, and expand dialog
84
84
  if (field.type === FIELD_TYPE.CODE || field.type === FIELD_TYPE.EXPRESSION) {
85
85
  return (
86
86
  <div className="space-y-1.5">
@@ -11,7 +11,7 @@ import {
11
11
  SelectValue,
12
12
  } from '@vendure/dashboard';
13
13
  import { ROUTE_BRANCH_DEFAULTS, ERROR_MESSAGES } from '../../../constants';
14
- import { useStableKeys } from '../../../hooks';
14
+ import { useStableKeys, useStableIndexIds } from '../../../hooks';
15
15
  import { useComparisonOperators } from '../../../hooks/api/use-config-options';
16
16
  import type { ComparisonOperatorOption } from '../../../hooks/api/use-config-options';
17
17
 
@@ -147,6 +147,7 @@ function BranchEditor({
147
147
  index,
148
148
  }: BranchEditorProps) {
149
149
  const conditions = branch.when ?? [];
150
+ const conditionKeys = useStableIndexIds(conditions, `branch-${index}-cond`);
150
151
  const [expanded, setExpanded] = React.useState(conditions.length > 0);
151
152
 
152
153
  const addCondition = useCallback(() => {
@@ -167,7 +168,6 @@ function BranchEditor({
167
168
 
168
169
  return (
169
170
  <div className="border rounded-md overflow-hidden">
170
- {/* Branch header: name + delete */}
171
171
  <div className="flex items-center gap-2 p-2 bg-muted/30">
172
172
  <button
173
173
  type="button"
@@ -202,7 +202,6 @@ function BranchEditor({
202
202
  </Button>
203
203
  </div>
204
204
 
205
- {/* Conditions section */}
206
205
  {expanded && (
207
206
  <div className="p-2 space-y-2 border-t">
208
207
  {conditions.length === 0 ? (
@@ -216,7 +215,7 @@ function BranchEditor({
216
215
  </p>
217
216
  {conditions.map((cond, ci) => (
218
217
  <ConditionRow
219
- key={ci}
218
+ key={conditionKeys[ci]}
220
219
  condition={cond}
221
220
  comparisonOperators={comparisonOperators}
222
221
  onUpdate={(patch) => updateCondition(ci, patch)}
@@ -10,17 +10,15 @@ import {
10
10
  Label,
11
11
  Separator,
12
12
  } from '@vendure/dashboard';
13
- import { Trash2, Settings2 } from 'lucide-react';
13
+ import { Trash2 } from 'lucide-react';
14
14
 
15
15
  import { SchemaFormRenderer } from '../schema-form';
16
- import {
17
- AdapterSelector,
18
- AdapterRequiredWarning,
19
- ValidateConfigComponent,
20
- RouteConfigComponent,
21
- EnrichConfigComponent,
22
- GateConfigComponent,
23
- } from './index';
16
+ import { AdapterSelector } from './AdapterSelector';
17
+ import { AdapterRequiredWarning } from './AdapterRequiredWarning';
18
+ import { ValidateConfigComponent } from './ValidateConfigComponent';
19
+ import { RouteConfigComponent } from './RouteConfigComponent';
20
+ import { EnrichConfigComponent } from './EnrichConfigComponent';
21
+ import { GateConfigComponent } from './GateConfigComponent';
24
22
  import { TriggerForm } from '../trigger-config';
25
23
  import { OperatorCheatSheetButton } from './OperatorCheatSheetButton';
26
24
  import {
@@ -37,7 +35,6 @@ import { getAdapterTypeLabel, prepareDynamicFields, normalizeStepType, getAdapte
37
35
  import {
38
36
  STEP_TYPE,
39
37
  ADAPTER_TYPES,
40
- NODE_CATEGORIES,
41
38
  PANEL_VARIANT,
42
39
  FALLBACK_COLORS,
43
40
  } from '../../../constants';
@@ -73,9 +73,7 @@ export function ValidateConfigComponent({
73
73
  showRulesEditor = true,
74
74
  }: ValidateConfigComponentProps) {
75
75
  const { schemas: ruleTypeSchemas } = useValidationRuleSchemas();
76
- const ruleTypes = ruleTypeSchemas;
77
76
  const { options: validationModes } = useOptionValues('validationModes');
78
- const errorHandlingOptions = validationModes;
79
77
  const errorHandlingMode = (config.errorHandlingMode as string) || '';
80
78
  const validationMode = (config.validationMode as string) || '';
81
79
  const rawRules = (config.rules as ValidationRule[]) || [];
@@ -152,7 +150,7 @@ export function ValidateConfigComponent({
152
150
  <SelectValue />
153
151
  </SelectTrigger>
154
152
  <SelectContent>
155
- {errorHandlingOptions.map((mode) => (
153
+ {validationModes.map((mode) => (
156
154
  <SelectItem key={mode.value} value={mode.value}>
157
155
  {mode.label}
158
156
  </SelectItem>
@@ -192,7 +190,6 @@ export function ValidateConfigComponent({
192
190
  key={rule.id}
193
191
  rule={rule}
194
192
  index={index}
195
- ruleTypes={ruleTypes}
196
193
  ruleTypeSchemas={ruleTypeSchemas}
197
194
  updateRule={updateRule}
198
195
  removeRule={removeRule}
@@ -207,7 +204,6 @@ export function ValidateConfigComponent({
207
204
  interface ValidationRuleRowProps {
208
205
  rule: ValidationRuleWithId;
209
206
  index: number;
210
- ruleTypes: TypedOptionValue[];
211
207
  ruleTypeSchemas: TypedOptionValue[];
212
208
  updateRule: (index: number, spec: ValidationRule['spec']) => void;
213
209
  removeRule: (index: number) => void;
@@ -216,7 +212,6 @@ interface ValidationRuleRowProps {
216
212
  const ValidationRuleRow = memo(function ValidationRuleRow({
217
213
  rule,
218
214
  index,
219
- ruleTypes,
220
215
  ruleTypeSchemas,
221
216
  updateRule,
222
217
  removeRule,
@@ -262,7 +257,7 @@ const ValidationRuleRow = memo(function ValidationRuleRow({
262
257
  <SelectValue />
263
258
  </SelectTrigger>
264
259
  <SelectContent>
265
- {ruleTypes.map((rt) => (
260
+ {ruleTypeSchemas.map((rt) => (
266
261
  <SelectItem key={rt.value} value={rt.value}>
267
262
  {rt.label}
268
263
  </SelectItem>
@@ -18,7 +18,6 @@ export interface TemplateGalleryProps {
18
18
  categories: CategoryInfo[];
19
19
  selectedTemplate?: ImportTemplate | null;
20
20
  onSelectTemplate: (template: ImportTemplate) => void;
21
- onUseTemplate?: (template: ImportTemplate) => void;
22
21
  }
23
22
 
24
23
  function TemplateCardComponent({
@@ -127,12 +126,10 @@ function TemplateGalleryComponent({
127
126
  const filteredTemplates = React.useMemo(() => {
128
127
  let filtered = templates;
129
128
 
130
- // Filter by category
131
129
  if (selectedCategory !== 'all') {
132
130
  filtered = filtered.filter(t => t.category === selectedCategory);
133
131
  }
134
132
 
135
- // Filter by search query
136
133
  return filterTemplates(filtered, searchQuery);
137
134
  }, [templates, selectedCategory, searchQuery]);
138
135
 
@@ -14,7 +14,7 @@ import {
14
14
  } from 'lucide-react';
15
15
  import { VENDURE_ENTITY_LIST } from '../../../../shared';
16
16
  import { useDestinationSchemas } from '../../../hooks/api/use-config-options';
17
- import { formatFieldLabel } from '../../../utils/formatters';
17
+ import { formatKey } from '../../../utils/formatters';
18
18
  import { WizardStepContainer } from '../shared';
19
19
  import { ConfigurationNameCard, SummaryCard, SummaryCardGrid, SummaryField } from '../../shared/wizard';
20
20
  import { STEP_CONTENT, EXPORT_PLACEHOLDERS } from './constants';
@@ -224,7 +224,7 @@ function renderGenericConfigFields(destination: DestinationConfig): React.ReactN
224
224
  return Object.entries(config)
225
225
  .filter(([, v]) => v != null && v !== '' && v !== false)
226
226
  .map(([key, value]) => (
227
- <SummaryField key={key} label={formatFieldLabel(key)}>
227
+ <SummaryField key={key} label={formatKey(key)}>
228
228
  {typeof value === 'object' ? JSON.stringify(value) : String(value)}
229
229
  </SummaryField>
230
230
  ));
@@ -98,7 +98,6 @@ export function ImportWizard({ onComplete, onCancel, initialConfig, isSubmitting
98
98
  isSubmitting,
99
99
  });
100
100
 
101
- // Handle template selection
102
101
  const handleSelectTemplate = React.useCallback((template: ImportTemplate | null) => {
103
102
  setSelectedTemplate(template);
104
103
  }, []);
@@ -127,7 +126,6 @@ export function ImportWizard({ onComplete, onCancel, initialConfig, isSubmitting
127
126
  toast.success(TOAST_WIZARD.TEMPLATE_SELECTED);
128
127
  }, [setConfig, setCurrentStep]);
129
128
 
130
- // Handle starting from scratch
131
129
  const handleStartFromScratch = React.useCallback(() => {
132
130
  setStartedFromScratch(true);
133
131
  setSelectedTemplate(null);
@@ -303,7 +301,7 @@ export function ImportWizard({ onComplete, onCancel, initialConfig, isSubmitting
303
301
  )}
304
302
 
305
303
  {currentStepId === IMPORT_STEP_ID.TARGET && (
306
- <TargetStep config={config} updateConfig={updateConfig} errors={attemptedNext ? stepErrors : {}} />
304
+ <TargetStep config={config} updateConfig={updateConfig} />
307
305
  )}
308
306
 
309
307
  {currentStepId === IMPORT_STEP_ID.MAPPING && (
@@ -312,7 +310,6 @@ export function ImportWizard({ onComplete, onCancel, initialConfig, isSubmitting
312
310
  updateConfig={updateConfig}
313
311
  sourceFields={parsedData?.headers ?? []}
314
312
  sampleData={parsedData?.rows ?? []}
315
- errors={attemptedNext ? stepErrors : {}}
316
313
  />
317
314
  )}
318
315
 
@@ -321,11 +318,11 @@ export function ImportWizard({ onComplete, onCancel, initialConfig, isSubmitting
321
318
  )}
322
319
 
323
320
  {currentStepId === IMPORT_STEP_ID.STRATEGY && (
324
- <StrategyStep config={config} updateConfig={updateConfig} errors={attemptedNext ? stepErrors : {}} />
321
+ <StrategyStep config={config} updateConfig={updateConfig} />
325
322
  )}
326
323
 
327
324
  {currentStepId === IMPORT_STEP_ID.TRIGGER && (
328
- <TriggerStep config={config} updateConfig={updateConfig} errors={attemptedNext ? stepErrors : {}} />
325
+ <TriggerStep config={config} updateConfig={updateConfig} />
329
326
  )}
330
327
 
331
328
  {currentStepId === IMPORT_STEP_ID.REVIEW && (
@@ -1,4 +1,4 @@
1
- import { useMemo, useCallback, memo, type MouseEvent } from 'react';
1
+ import { useMemo, useCallback, memo } from 'react';
2
2
  import {
3
3
  Button,
4
4
  Card,
@@ -29,7 +29,6 @@ interface MappingStepProps {
29
29
  updateConfig: (updates: Partial<ImportConfiguration>) => void;
30
30
  sourceFields: string[];
31
31
  sampleData: Record<string, unknown>[];
32
- errors?: Record<string, string>;
33
32
  }
34
33
 
35
34
  export function MappingStep({
@@ -37,7 +36,6 @@ export function MappingStep({
37
36
  updateConfig,
38
37
  sourceFields,
39
38
  sampleData,
40
- errors = {},
41
39
  }: MappingStepProps) {
42
40
  const updateMapping = useCallback((index: number, updates: Partial<FieldMapping>) => {
43
41
  const newMappings = [...(config.mappings ?? [])];
@@ -274,8 +272,8 @@ function UnmappedFieldsWarning({ config }: UnmappedFieldsWarningProps) {
274
272
  <div className="flex items-start gap-3">
275
273
  <AlertCircle className="w-5 h-5 text-amber-600 flex-shrink-0 mt-0.5" />
276
274
  <div>
277
- <div className="font-medium text-amber-800">Unmapped Required Fields</div>
278
- <div className="text-sm text-amber-700 mt-1">
275
+ <div className="font-medium text-amber-800 dark:text-amber-200">Unmapped Required Fields</div>
276
+ <div className="text-sm text-amber-700 dark:text-amber-300 mt-1">
279
277
  {unmappedRequiredFields.join(', ')}
280
278
  </div>
281
279
  </div>
@@ -17,7 +17,7 @@ import { VENDURE_ENTITY_LIST } from '../../../../shared';
17
17
  import { WizardStepContainer } from '../shared';
18
18
  import { ConfigurationNameCard, SummaryCard, SummaryCardGrid, SummaryField } from '../../shared/wizard';
19
19
  import { useAdaptersByType } from '../../../hooks/api/use-adapters';
20
- import { formatFieldLabel } from '../../../utils/formatters';
20
+ import { formatKey } from '../../../utils/formatters';
21
21
  import { STEP_CONTENT, IMPORT_PLACEHOLDERS } from './constants';
22
22
  import type { ImportConfiguration } from './types';
23
23
  import type { ImportSourceConfig } from '../../../types/wizard';
@@ -256,7 +256,7 @@ function renderDynamicSourceFields(
256
256
  .filter(([, v]) => v != null && v !== '' && v !== false)
257
257
  .map(([key, value]) => {
258
258
  const schemaField = schemaFields?.find(f => f.key === key);
259
- const label = schemaField?.label ?? formatFieldLabel(key);
259
+ const label = schemaField?.label ?? formatKey(key);
260
260
  return (
261
261
  <SummaryField key={key} label={label}>
262
262
  {typeof value === 'object' ? JSON.stringify(value) : String(value)}