@oronts/vendure-data-hub-plugin 0.1.4 → 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 (842) hide show
  1. package/CHANGELOG.md +60 -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 +20 -17
  16. package/dashboard/components/shared/step-config/ValidateConfigComponent.tsx +4 -9
  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 +43 -16
  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 +20 -17
  78. package/dist/dashboard/components/shared/step-config/ValidateConfigComponent.tsx +4 -9
  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 +43 -16
  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 -27
  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 +50 -29
  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 +21 -14
  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 +3 -5
  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 +5 -4
  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 +41 -14
  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 +26 -25
  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/export-helpers.js +1 -1
  506. package/dist/src/runtime/executors/exporters/export-helpers.js.map +1 -1
  507. package/dist/src/runtime/executors/exporters/http-export.handler.js +2 -2
  508. package/dist/src/runtime/executors/exporters/http-export.handler.js.map +1 -1
  509. package/dist/src/runtime/executors/extract.executor.d.ts.map +1 -1
  510. package/dist/src/runtime/executors/extract.executor.js +0 -1
  511. package/dist/src/runtime/executors/extract.executor.js.map +1 -1
  512. package/dist/src/runtime/executors/extractors/file-extract.handler.d.ts +2 -1
  513. package/dist/src/runtime/executors/extractors/file-extract.handler.d.ts.map +1 -1
  514. package/dist/src/runtime/executors/extractors/file-extract.handler.js +24 -5
  515. package/dist/src/runtime/executors/extractors/file-extract.handler.js.map +1 -1
  516. package/dist/src/runtime/executors/extractors/graphql-extract.handler.d.ts.map +1 -1
  517. package/dist/src/runtime/executors/extractors/graphql-extract.handler.js +67 -10
  518. package/dist/src/runtime/executors/extractors/graphql-extract.handler.js.map +1 -1
  519. package/dist/src/runtime/executors/extractors/rest-extract.handler.d.ts +2 -1
  520. package/dist/src/runtime/executors/extractors/rest-extract.handler.d.ts.map +1 -1
  521. package/dist/src/runtime/executors/extractors/rest-extract.handler.js +133 -27
  522. package/dist/src/runtime/executors/extractors/rest-extract.handler.js.map +1 -1
  523. package/dist/src/runtime/executors/feed.executor.d.ts +1 -1
  524. package/dist/src/runtime/executors/feed.executor.js +5 -5
  525. package/dist/src/runtime/executors/feed.executor.js.map +1 -1
  526. package/dist/src/runtime/executors/feeds/feed-handler-registry.d.ts.map +1 -1
  527. package/dist/src/runtime/executors/feeds/feed-handler-registry.js +0 -13
  528. package/dist/src/runtime/executors/feeds/feed-handler-registry.js.map +1 -1
  529. package/dist/src/runtime/executors/gate.executor.d.ts.map +1 -1
  530. package/dist/src/runtime/executors/gate.executor.js +16 -9
  531. package/dist/src/runtime/executors/gate.executor.js.map +1 -1
  532. package/dist/src/runtime/executors/load.executor.js +2 -2
  533. package/dist/src/runtime/executors/load.executor.js.map +1 -1
  534. package/dist/src/runtime/executors/loaders/channel-handler.d.ts.map +1 -1
  535. package/dist/src/runtime/executors/loaders/channel-handler.js +16 -20
  536. package/dist/src/runtime/executors/loaders/channel-handler.js.map +1 -1
  537. package/dist/src/runtime/executors/loaders/customer-handler.d.ts +1 -1
  538. package/dist/src/runtime/executors/loaders/customer-handler.d.ts.map +1 -1
  539. package/dist/src/runtime/executors/loaders/customer-handler.js +20 -20
  540. package/dist/src/runtime/executors/loaders/customer-handler.js.map +1 -1
  541. package/dist/src/runtime/executors/loaders/deletion-handler.d.ts.map +1 -1
  542. package/dist/src/runtime/executors/loaders/deletion-handler.js +16 -14
  543. package/dist/src/runtime/executors/loaders/deletion-handler.js.map +1 -1
  544. package/dist/src/runtime/executors/loaders/inventory-handler.d.ts.map +1 -1
  545. package/dist/src/runtime/executors/loaders/inventory-handler.js +15 -20
  546. package/dist/src/runtime/executors/loaders/inventory-handler.js.map +1 -1
  547. package/dist/src/runtime/executors/loaders/loader-handler-registry.d.ts.map +1 -1
  548. package/dist/src/runtime/executors/loaders/loader-handler-registry.js +0 -11
  549. package/dist/src/runtime/executors/loaders/loader-handler-registry.js.map +1 -1
  550. package/dist/src/runtime/executors/loaders/order-handler.d.ts +2 -1
  551. package/dist/src/runtime/executors/loaders/order-handler.d.ts.map +1 -1
  552. package/dist/src/runtime/executors/loaders/order-handler.js +20 -10
  553. package/dist/src/runtime/executors/loaders/order-handler.js.map +1 -1
  554. package/dist/src/runtime/executors/loaders/product-handler.d.ts +0 -4
  555. package/dist/src/runtime/executors/loaders/product-handler.d.ts.map +1 -1
  556. package/dist/src/runtime/executors/loaders/product-handler.js +2 -8
  557. package/dist/src/runtime/executors/loaders/product-handler.js.map +1 -1
  558. package/dist/src/runtime/executors/loaders/promotion-handler.js +10 -10
  559. package/dist/src/runtime/executors/loaders/promotion-handler.js.map +1 -1
  560. package/dist/src/runtime/executors/loaders/shared-http-client.js +1 -1
  561. package/dist/src/runtime/executors/loaders/shared-http-client.js.map +1 -1
  562. package/dist/src/runtime/executors/loaders/shared-lookups.d.ts.map +1 -1
  563. package/dist/src/runtime/executors/loaders/shared-lookups.js +3 -4
  564. package/dist/src/runtime/executors/loaders/shared-lookups.js.map +1 -1
  565. package/dist/src/runtime/executors/loaders/variant-handler.d.ts.map +1 -1
  566. package/dist/src/runtime/executors/loaders/variant-handler.js +27 -19
  567. package/dist/src/runtime/executors/loaders/variant-handler.js.map +1 -1
  568. package/dist/src/runtime/executors/sink-handler-registry.d.ts +2 -0
  569. package/dist/src/runtime/executors/sink-handler-registry.d.ts.map +1 -1
  570. package/dist/src/runtime/executors/sink-handler-registry.js +82 -49
  571. package/dist/src/runtime/executors/sink-handler-registry.js.map +1 -1
  572. package/dist/src/runtime/executors/sink.executor.js +4 -4
  573. package/dist/src/runtime/executors/sink.executor.js.map +1 -1
  574. package/dist/src/runtime/executors/transform.executor.d.ts +1 -1
  575. package/dist/src/runtime/executors/transform.executor.d.ts.map +1 -1
  576. package/dist/src/runtime/executors/transform.executor.js +44 -30
  577. package/dist/src/runtime/executors/transform.executor.js.map +1 -1
  578. package/dist/src/runtime/helpers/dry-run-simulator.js +4 -4
  579. package/dist/src/runtime/helpers/dry-run-simulator.js.map +1 -1
  580. package/dist/src/runtime/helpers/execution-lifecycle.d.ts +1 -0
  581. package/dist/src/runtime/helpers/execution-lifecycle.d.ts.map +1 -1
  582. package/dist/src/runtime/helpers/execution-lifecycle.js +2 -2
  583. package/dist/src/runtime/helpers/execution-lifecycle.js.map +1 -1
  584. package/dist/src/runtime/orchestration/graph-executor.d.ts +1 -0
  585. package/dist/src/runtime/orchestration/graph-executor.d.ts.map +1 -1
  586. package/dist/src/runtime/orchestration/graph-executor.js +31 -36
  587. package/dist/src/runtime/orchestration/graph-executor.js.map +1 -1
  588. package/dist/src/runtime/orchestration/linear-executor.d.ts +3 -0
  589. package/dist/src/runtime/orchestration/linear-executor.d.ts.map +1 -1
  590. package/dist/src/runtime/orchestration/linear-executor.js +3 -13
  591. package/dist/src/runtime/orchestration/linear-executor.js.map +1 -1
  592. package/dist/src/runtime/orchestration/replay-executor.d.ts.map +1 -1
  593. package/dist/src/runtime/orchestration/replay-executor.js +17 -3
  594. package/dist/src/runtime/orchestration/replay-executor.js.map +1 -1
  595. package/dist/src/runtime/orchestration/throughput-controller.d.ts.map +1 -1
  596. package/dist/src/runtime/orchestration/throughput-controller.js +0 -5
  597. package/dist/src/runtime/orchestration/throughput-controller.js.map +1 -1
  598. package/dist/src/runtime/sandbox/safe-evaluator.d.ts.map +1 -1
  599. package/dist/src/runtime/sandbox/safe-evaluator.js +3 -6
  600. package/dist/src/runtime/sandbox/safe-evaluator.js.map +1 -1
  601. package/dist/src/runtime/utils.d.ts +1 -1
  602. package/dist/src/runtime/utils.d.ts.map +1 -1
  603. package/dist/src/runtime/utils.js +7 -4
  604. package/dist/src/runtime/utils.js.map +1 -1
  605. package/dist/src/sdk/adapters/queue/internal.adapter.d.ts +3 -14
  606. package/dist/src/sdk/adapters/queue/internal.adapter.d.ts.map +1 -1
  607. package/dist/src/sdk/adapters/queue/internal.adapter.js +41 -27
  608. package/dist/src/sdk/adapters/queue/internal.adapter.js.map +1 -1
  609. package/dist/src/sdk/adapters/queue/queue-adapter.interface.d.ts +24 -23
  610. package/dist/src/sdk/adapters/queue/queue-adapter.interface.d.ts.map +1 -1
  611. package/dist/src/sdk/adapters/queue/rabbitmq-amqp.adapter.d.ts.map +1 -1
  612. package/dist/src/sdk/adapters/queue/rabbitmq-amqp.adapter.js +1 -3
  613. package/dist/src/sdk/adapters/queue/rabbitmq-amqp.adapter.js.map +1 -1
  614. package/dist/src/sdk/adapters/queue/rabbitmq.adapter.d.ts +2 -17
  615. package/dist/src/sdk/adapters/queue/rabbitmq.adapter.d.ts.map +1 -1
  616. package/dist/src/sdk/adapters/queue/rabbitmq.adapter.js +9 -20
  617. package/dist/src/sdk/adapters/queue/rabbitmq.adapter.js.map +1 -1
  618. package/dist/src/sdk/adapters/queue/redis-streams.adapter.d.ts.map +1 -1
  619. package/dist/src/sdk/adapters/queue/redis-streams.adapter.js +11 -3
  620. package/dist/src/sdk/adapters/queue/redis-streams.adapter.js.map +1 -1
  621. package/dist/src/sdk/adapters/queue/sqs.adapter.d.ts +1 -1
  622. package/dist/src/sdk/adapters/queue/sqs.adapter.d.ts.map +1 -1
  623. package/dist/src/sdk/adapters/queue/sqs.adapter.js +5 -4
  624. package/dist/src/sdk/adapters/queue/sqs.adapter.js.map +1 -1
  625. package/dist/src/sdk/constants.d.ts +1 -1
  626. package/dist/src/sdk/constants.d.ts.map +1 -1
  627. package/dist/src/sdk/constants.js +2 -1
  628. package/dist/src/sdk/constants.js.map +1 -1
  629. package/dist/src/sdk/dsl/pipeline-builder.js +1 -1
  630. package/dist/src/sdk/dsl/pipeline-builder.js.map +1 -1
  631. package/dist/src/sdk/dsl/step-configs.d.ts +51 -10
  632. package/dist/src/sdk/dsl/step-configs.d.ts.map +1 -1
  633. package/dist/src/sdk/dsl/transform-builder.d.ts +2 -2
  634. package/dist/src/sdk/dsl/transform-builder.d.ts.map +1 -1
  635. package/dist/src/sdk/dsl/transform-builder.js +2 -2
  636. package/dist/src/sdk/dsl/transform-builder.js.map +1 -1
  637. package/dist/src/sdk/dsl/validation-helpers.js +3 -3
  638. package/dist/src/sdk/dsl/validation-helpers.js.map +1 -1
  639. package/dist/src/sdk/registry.service.js +2 -2
  640. package/dist/src/sdk/registry.service.js.map +1 -1
  641. package/dist/src/sdk/types/connection-types.d.ts +1 -1
  642. package/dist/src/sdk/types/connection-types.d.ts.map +1 -1
  643. package/dist/src/services/analytics/time-series.helpers.d.ts.map +1 -1
  644. package/dist/src/services/analytics/time-series.helpers.js +4 -6
  645. package/dist/src/services/analytics/time-series.helpers.js.map +1 -1
  646. package/dist/src/services/config/connection.service.d.ts.map +1 -1
  647. package/dist/src/services/config/connection.service.js +11 -1
  648. package/dist/src/services/config/connection.service.js.map +1 -1
  649. package/dist/src/services/config/secret.service.d.ts +1 -1
  650. package/dist/src/services/config/secret.service.d.ts.map +1 -1
  651. package/dist/src/services/config/secret.service.js +15 -8
  652. package/dist/src/services/config/secret.service.js.map +1 -1
  653. package/dist/src/services/config/settings.service.d.ts.map +1 -1
  654. package/dist/src/services/config/settings.service.js +0 -2
  655. package/dist/src/services/config/settings.service.js.map +1 -1
  656. package/dist/src/services/data/checkpoint.service.d.ts.map +1 -1
  657. package/dist/src/services/data/checkpoint.service.js +14 -8
  658. package/dist/src/services/data/checkpoint.service.js.map +1 -1
  659. package/dist/src/services/data/record-error.service.d.ts.map +1 -1
  660. package/dist/src/services/data/record-error.service.js +0 -13
  661. package/dist/src/services/data/record-error.service.js.map +1 -1
  662. package/dist/src/services/destinations/delivery-utils.d.ts +1 -1
  663. package/dist/src/services/destinations/delivery-utils.d.ts.map +1 -1
  664. package/dist/src/services/destinations/delivery-utils.js +4 -2
  665. package/dist/src/services/destinations/delivery-utils.js.map +1 -1
  666. package/dist/src/services/destinations/destination-handler-registry.d.ts.map +1 -1
  667. package/dist/src/services/destinations/destination-handler-registry.js +9 -5
  668. package/dist/src/services/destinations/destination-handler-registry.js.map +1 -1
  669. package/dist/src/services/destinations/email.handler.js +1 -1
  670. package/dist/src/services/destinations/email.handler.js.map +1 -1
  671. package/dist/src/services/destinations/ftp.handler.js +1 -1
  672. package/dist/src/services/destinations/ftp.handler.js.map +1 -1
  673. package/dist/src/services/destinations/http.handler.d.ts.map +1 -1
  674. package/dist/src/services/destinations/http.handler.js +1 -0
  675. package/dist/src/services/destinations/http.handler.js.map +1 -1
  676. package/dist/src/services/destinations/s3.handler.d.ts.map +1 -1
  677. package/dist/src/services/destinations/s3.handler.js +25 -11
  678. package/dist/src/services/destinations/s3.handler.js.map +1 -1
  679. package/dist/src/services/events/consumer-discovery.d.ts.map +1 -1
  680. package/dist/src/services/events/consumer-discovery.js +13 -12
  681. package/dist/src/services/events/consumer-discovery.js.map +1 -1
  682. package/dist/src/services/events/domain-events.service.d.ts.map +1 -1
  683. package/dist/src/services/events/domain-events.service.js +2 -2
  684. package/dist/src/services/events/domain-events.service.js.map +1 -1
  685. package/dist/src/services/events/event-trigger.service.d.ts.map +1 -1
  686. package/dist/src/services/events/event-trigger.service.js +56 -9
  687. package/dist/src/services/events/event-trigger.service.js.map +1 -1
  688. package/dist/src/services/events/file-watch.service.d.ts +6 -1
  689. package/dist/src/services/events/file-watch.service.d.ts.map +1 -1
  690. package/dist/src/services/events/file-watch.service.js +133 -48
  691. package/dist/src/services/events/file-watch.service.js.map +1 -1
  692. package/dist/src/services/events/hook.service.d.ts.map +1 -1
  693. package/dist/src/services/events/hook.service.js +64 -12
  694. package/dist/src/services/events/hook.service.js.map +1 -1
  695. package/dist/src/services/events/message-consumer.service.d.ts +3 -1
  696. package/dist/src/services/events/message-consumer.service.d.ts.map +1 -1
  697. package/dist/src/services/events/message-consumer.service.js +6 -4
  698. package/dist/src/services/events/message-consumer.service.js.map +1 -1
  699. package/dist/src/services/events/message-processing.d.ts +4 -1
  700. package/dist/src/services/events/message-processing.d.ts.map +1 -1
  701. package/dist/src/services/events/message-processing.js +47 -6
  702. package/dist/src/services/events/message-processing.js.map +1 -1
  703. package/dist/src/services/logger/sanitizer.d.ts.map +1 -1
  704. package/dist/src/services/logger/sanitizer.js +4 -5
  705. package/dist/src/services/logger/sanitizer.js.map +1 -1
  706. package/dist/src/services/pipeline/pipeline-log.service.d.ts +0 -4
  707. package/dist/src/services/pipeline/pipeline-log.service.d.ts.map +1 -1
  708. package/dist/src/services/pipeline/pipeline-log.service.js +2 -14
  709. package/dist/src/services/pipeline/pipeline-log.service.js.map +1 -1
  710. package/dist/src/services/pipeline/pipeline-runner.service.d.ts +6 -1
  711. package/dist/src/services/pipeline/pipeline-runner.service.d.ts.map +1 -1
  712. package/dist/src/services/pipeline/pipeline-runner.service.js +111 -17
  713. package/dist/src/services/pipeline/pipeline-runner.service.js.map +1 -1
  714. package/dist/src/services/pipeline/pipeline.service.d.ts +8 -4
  715. package/dist/src/services/pipeline/pipeline.service.d.ts.map +1 -1
  716. package/dist/src/services/pipeline/pipeline.service.js +51 -35
  717. package/dist/src/services/pipeline/pipeline.service.js.map +1 -1
  718. package/dist/src/services/rate-limit/rate-limit.service.d.ts.map +1 -1
  719. package/dist/src/services/rate-limit/rate-limit.service.js +3 -5
  720. package/dist/src/services/rate-limit/rate-limit.service.js.map +1 -1
  721. package/dist/src/services/runtime/batch-rollback.service.d.ts.map +1 -1
  722. package/dist/src/services/runtime/batch-rollback.service.js +1 -6
  723. package/dist/src/services/runtime/batch-rollback.service.js.map +1 -1
  724. package/dist/src/services/runtime/distributed-lock.service.d.ts.map +1 -1
  725. package/dist/src/services/runtime/distributed-lock.service.js +10 -12
  726. package/dist/src/services/runtime/distributed-lock.service.js.map +1 -1
  727. package/dist/src/services/runtime/lock-backends/lock-backend.factory.d.ts +1 -1
  728. package/dist/src/services/runtime/lock-backends/lock-backend.factory.d.ts.map +1 -1
  729. package/dist/src/services/runtime/lock-backends/lock-backend.factory.js +5 -4
  730. package/dist/src/services/runtime/lock-backends/lock-backend.factory.js.map +1 -1
  731. package/dist/src/services/storage/storage-backend.factory.d.ts.map +1 -1
  732. package/dist/src/services/storage/storage-backend.factory.js +2 -1
  733. package/dist/src/services/storage/storage-backend.factory.js.map +1 -1
  734. package/dist/src/services/validation/adapter-validation.js +2 -2
  735. package/dist/src/services/validation/adapter-validation.js.map +1 -1
  736. package/dist/src/services/validation/definition-validation.service.d.ts.map +1 -1
  737. package/dist/src/services/validation/definition-validation.service.js +1 -1
  738. package/dist/src/services/validation/definition-validation.service.js.map +1 -1
  739. package/dist/src/services/validation/trigger-validation.d.ts.map +1 -1
  740. package/dist/src/services/validation/trigger-validation.js +23 -29
  741. package/dist/src/services/validation/trigger-validation.js.map +1 -1
  742. package/dist/src/services/versioning/field-detection.d.ts.map +1 -1
  743. package/dist/src/services/versioning/field-detection.js +0 -1
  744. package/dist/src/services/versioning/field-detection.js.map +1 -1
  745. package/dist/src/services/versioning/impact-collectors.d.ts.map +1 -1
  746. package/dist/src/services/versioning/impact-collectors.js +26 -11
  747. package/dist/src/services/versioning/impact-collectors.js.map +1 -1
  748. package/dist/src/services/versioning/revision.service.d.ts.map +1 -1
  749. package/dist/src/services/versioning/revision.service.js +4 -1
  750. package/dist/src/services/versioning/revision.service.js.map +1 -1
  751. package/dist/src/services/versioning/sandbox/load-operation-simulator.d.ts.map +1 -1
  752. package/dist/src/services/versioning/sandbox/load-operation-simulator.js +26 -10
  753. package/dist/src/services/versioning/sandbox/load-operation-simulator.js.map +1 -1
  754. package/dist/src/services/webhooks/webhook-retry.service.d.ts +1 -1
  755. package/dist/src/services/webhooks/webhook-retry.service.d.ts.map +1 -1
  756. package/dist/src/services/webhooks/webhook-retry.service.js +27 -22
  757. package/dist/src/services/webhooks/webhook-retry.service.js.map +1 -1
  758. package/dist/src/services/webhooks/webhook.helpers.js +1 -1
  759. package/dist/src/services/webhooks/webhook.helpers.js.map +1 -1
  760. package/dist/src/templates/defaults.js +6 -6
  761. package/dist/src/templates/defaults.js.map +1 -1
  762. package/dist/src/templates/imports/types.d.ts +1 -1
  763. package/dist/src/templates/imports/types.js +1 -1
  764. package/dist/src/transforms/field/date-transforms.js +15 -15
  765. package/dist/src/transforms/field/date-transforms.js.map +1 -1
  766. package/dist/src/transforms/field/number-transforms.d.ts +0 -26
  767. package/dist/src/transforms/field/number-transforms.d.ts.map +1 -1
  768. package/dist/src/transforms/field/number-transforms.js +0 -26
  769. package/dist/src/transforms/field/number-transforms.js.map +1 -1
  770. package/dist/src/transforms/helpers/expression-eval.d.ts +0 -1
  771. package/dist/src/transforms/helpers/expression-eval.d.ts.map +1 -1
  772. package/dist/src/transforms/helpers/expression-eval.js +15 -26
  773. package/dist/src/transforms/helpers/expression-eval.js.map +1 -1
  774. package/dist/src/transforms/record/lookup-transforms.js +1 -1
  775. package/dist/src/transforms/record/lookup-transforms.js.map +1 -1
  776. package/dist/src/types/loader-configs.d.ts +6 -6
  777. package/dist/src/types/loader-configs.d.ts.map +1 -1
  778. package/dist/src/types/plugin-options.d.ts +0 -10
  779. package/dist/src/types/plugin-options.d.ts.map +1 -1
  780. package/dist/src/types/step-configs.d.ts +13 -5
  781. package/dist/src/types/step-configs.d.ts.map +1 -1
  782. package/dist/src/types/step-configs.js.map +1 -1
  783. package/dist/src/types/typed-config.js +1 -1
  784. package/dist/src/types/typed-config.js.map +1 -1
  785. package/dist/src/utils/code-security.utils.d.ts.map +1 -1
  786. package/dist/src/utils/code-security.utils.js +11 -13
  787. package/dist/src/utils/code-security.utils.js.map +1 -1
  788. package/dist/src/utils/encryption.utils.d.ts +2 -2
  789. package/dist/src/utils/encryption.utils.d.ts.map +1 -1
  790. package/dist/src/utils/encryption.utils.js +13 -17
  791. package/dist/src/utils/encryption.utils.js.map +1 -1
  792. package/dist/src/utils/object-path.utils.d.ts.map +1 -1
  793. package/dist/src/utils/object-path.utils.js +22 -6
  794. package/dist/src/utils/object-path.utils.js.map +1 -1
  795. package/dist/src/utils/retry.utils.js +14 -14
  796. package/dist/src/utils/retry.utils.js.map +1 -1
  797. package/dist/src/utils/sql-security.utils.d.ts.map +1 -1
  798. package/dist/src/utils/sql-security.utils.js +6 -3
  799. package/dist/src/utils/sql-security.utils.js.map +1 -1
  800. package/dist/src/utils/url-security.utils.d.ts +21 -0
  801. package/dist/src/utils/url-security.utils.d.ts.map +1 -1
  802. package/dist/src/utils/url-security.utils.js +71 -3
  803. package/dist/src/utils/url-security.utils.js.map +1 -1
  804. package/dist/src/validation/pipeline-definition.validator.js +3 -11
  805. package/dist/src/validation/pipeline-definition.validator.js.map +1 -1
  806. package/docs/deployment/README.md +1 -1
  807. package/docs/deployment/configuration.md +4 -4
  808. package/docs/deployment/migrations.md +2 -3
  809. package/docs/deployment/permissions.md +1 -1
  810. package/docs/deployment/production.md +4 -4
  811. package/docs/deployment/troubleshooting.md +27 -18
  812. package/docs/developer-guide/architecture.md +2 -2
  813. package/docs/developer-guide/extending/README.md +6 -6
  814. package/docs/developer-guide/extending/events.md +2 -2
  815. package/docs/developer-guide/graphql-api.md +36 -117
  816. package/docs/examples/validation-error-messages.md +1 -1
  817. package/docs/getting-started/quick-start.md +1 -1
  818. package/docs/guides/multi-entity.md +0 -1
  819. package/docs/reference/extractors.md +19 -24
  820. package/docs/reference/operators-complete.md +1 -1
  821. package/docs/user-guide/external-integrations.md +1 -1
  822. package/docs/user-guide/queue-messaging.md +14 -11
  823. package/docs/user-guide/recipes.md +0 -1
  824. package/docs/user-guide/wizards.md +0 -1
  825. package/package.json +3 -1
  826. package/sdk/types/connection-types.ts +9 -0
  827. package/shared/constants/step-type-configs.ts +2 -2
  828. package/shared/types/adapter-config.types.ts +3 -3
  829. package/shared/types/adapter.types.ts +1 -1
  830. package/shared/types/execution.types.ts +2 -5
  831. package/shared/types/extractor.types.ts +1 -1
  832. package/shared/types/index.ts +1 -1
  833. package/shared/types/pipeline.types.ts +2 -3
  834. package/shared/types/step.types.ts +3 -4
  835. package/shared/types/trigger.types.ts +4 -28
  836. package/shared/utils/csv-parse.ts +2 -2
  837. package/shared/utils/validation.ts +1 -1
  838. package/shared/vendure-schemas.ts +1 -1
  839. package/dist/src/api/types/args.d.ts +0 -12
  840. package/dist/src/api/types/args.d.ts.map +0 -1
  841. package/dist/src/api/types/args.js +0 -13
  842. package/dist/src/api/types/args.js.map +0 -1
@@ -88,50 +88,46 @@ export function LogExplorerTab({ initialRunId }: { initialRunId?: string }) {
88
88
  const totalPages = Math.ceil(totalItems / pageSize);
89
89
  const pipelines = pipelinesQuery.data?.items ?? [];
90
90
 
91
- const handleRefetch = React.useCallback(() => logsQuery.refetch(), [logsQuery.refetch]);
91
+ const handleRefetch = () => logsQuery.refetch();
92
92
 
93
- const handleRunIdChange = React.useCallback((e: React.ChangeEvent<HTMLInputElement>) => {
93
+ const handleRunIdChange = (e: React.ChangeEvent<HTMLInputElement>) => {
94
94
  setRunId(e.target.value);
95
95
  setPage(1);
96
- }, []);
96
+ };
97
97
 
98
- const handleClearRunId = React.useCallback(() => {
98
+ const handleClearRunId = () => {
99
99
  setRunId('');
100
100
  setPage(1);
101
- }, []);
101
+ };
102
102
 
103
- const handlePipelineChange = React.useCallback((v: string) => {
103
+ const handlePipelineChange = (v: string) => {
104
104
  setPipelineId(v === FILTER_VALUES.ALL ? '' : v);
105
105
  setPage(1);
106
- }, []);
106
+ };
107
107
 
108
- const handleLevelChange = React.useCallback((v: string) => {
108
+ const handleLevelChange = (v: string) => {
109
109
  setLevel(v === FILTER_VALUES.ALL ? '' : v);
110
110
  setPage(1);
111
- }, []);
111
+ };
112
112
 
113
- const handleStartDateChange = React.useCallback((e: React.ChangeEvent<HTMLInputElement>) => {
113
+ const handleStartDateChange = (e: React.ChangeEvent<HTMLInputElement>) => {
114
114
  setStartDate(e.target.value);
115
115
  setPage(1);
116
- }, []);
116
+ };
117
117
 
118
- const handleEndDateChange = React.useCallback((e: React.ChangeEvent<HTMLInputElement>) => {
118
+ const handleEndDateChange = (e: React.ChangeEvent<HTMLInputElement>) => {
119
119
  setEndDate(e.target.value);
120
120
  setPage(1);
121
- }, []);
121
+ };
122
122
 
123
- const handleSearchChange = React.useCallback((e: React.ChangeEvent<HTMLInputElement>) => {
123
+ const handleSearchChange = (e: React.ChangeEvent<HTMLInputElement>) => {
124
124
  setSearch(e.target.value);
125
125
  setPage(1);
126
- }, []);
126
+ };
127
127
 
128
- const handlePrevPage = React.useCallback(() => {
129
- setPage(p => Math.max(1, p - 1));
130
- }, []);
128
+ const handlePrevPage = () => setPage(p => Math.max(1, p - 1));
131
129
 
132
- const handleNextPage = React.useCallback(() => {
133
- setPage(p => Math.min(totalPages, p + 1));
134
- }, [totalPages]);
130
+ const handleNextPage = () => setPage(p => Math.min(totalPages, p + 1));
135
131
 
136
132
  const handleSelectLog = React.useCallback((log: DataHubLog) => {
137
133
  setSelectedLog(log);
@@ -320,7 +316,7 @@ export function LogExplorerTab({ initialRunId }: { initialRunId?: string }) {
320
316
  </div>
321
317
  </CardHeader>
322
318
  <CardContent>
323
- <div className="border rounded-lg overflow-hidden">
319
+ <div className="border rounded-lg overflow-x-auto">
324
320
  <table className="w-full text-sm" data-testid="datahub-logs-table">
325
321
  <thead>
326
322
  <tr className="bg-muted">
@@ -19,7 +19,8 @@ export const LogTableRow = React.memo(function LogTableRow({
19
19
  }: LogTableRowProps) {
20
20
  const handleClick = React.useCallback(() => onSelect(log), [onSelect, log]);
21
21
  const handleKeyDown = React.useCallback((e: React.KeyboardEvent) => {
22
- if (e.key === 'Enter') {
22
+ if (e.key === 'Enter' || e.key === ' ') {
23
+ e.preventDefault();
23
24
  onSelect(log);
24
25
  }
25
26
  }, [onSelect, log]);
@@ -55,8 +56,8 @@ export const LogTableRow = React.memo(function LogTableRow({
55
56
  {log.recordsProcessed != null ? (
56
57
  <span>
57
58
  {log.recordsProcessed}
58
- {log.recordsFailed > 0 && (
59
- <span className="text-red-600 ml-1">
59
+ {(log.recordsFailed ?? 0) > 0 && (
60
+ <span className="text-red-600 dark:text-red-400 ml-1">
60
61
  ({log.recordsFailed} failed)
61
62
  </span>
62
63
  )}
@@ -22,7 +22,7 @@ import {
22
22
  } from '../../../hooks';
23
23
  import { useOptionValues } from '../../../hooks/api/use-config-options';
24
24
  import { ErrorState, LoadingState, StatCard, LoadMoreButton } from '../../../components/shared';
25
- import { QUERY_LIMITS, UI_DEFAULTS } from '../../../constants';
25
+ import { QUERY_LIMITS } from '../../../constants';
26
26
  import { LevelBadge } from './LogLevelBadge';
27
27
  import type { DataHubPipeline } from '../../../types';
28
28
 
@@ -43,7 +43,7 @@ const PipelineStatCard = React.memo(function PipelineStatCard({ pipeline }: { pi
43
43
  <span className="font-medium text-foreground">{isLoading ? '\u2014' : (stats?.total ?? 0)}</span> logs
44
44
  </span>
45
45
  {!isLoading && (stats?.errorsToday ?? 0) > 0 && (
46
- <span className="text-red-600">
46
+ <span className="text-red-600 dark:text-red-400">
47
47
  {stats?.errorsToday} errors today
48
48
  </span>
49
49
  )}
@@ -160,7 +160,7 @@ export function LogsOverviewTab() {
160
160
  </div>
161
161
  </CardHeader>
162
162
  <CardContent>
163
- <div className="grid grid-cols-2 gap-4">
163
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-4">
164
164
  {displayedPipelines.map((p) => (
165
165
  <PipelineStatCard key={p.id} pipeline={p} />
166
166
  ))}
@@ -98,8 +98,8 @@ export function RealtimeLogTab() {
98
98
  {log.recordsProcessed != null && (
99
99
  <span>
100
100
  {log.recordsProcessed} records
101
- {log.recordsFailed > 0 && (
102
- <span className="text-red-600 ml-1">
101
+ {(log.recordsFailed ?? 0) > 0 && (
102
+ <span className="text-red-600 dark:text-red-400 ml-1">
103
103
  ({log.recordsFailed} failed)
104
104
  </span>
105
105
  )}
@@ -63,7 +63,7 @@ function ImportWizardPageContent() {
63
63
 
64
64
  const createMutation = useMutation({
65
65
  mutationFn: (config: ImportConfiguration) => {
66
- const definition = importConfigToPipelineDefinition(config, resolver, loaderAdapterInfos, triggerSchemas, strategyMappings);
66
+ const definition = importConfigToPipelineDefinition(config, strategyMappings, resolver, loaderAdapterInfos, triggerSchemas);
67
67
  return api.mutate(createPipelineDocument, {
68
68
  input: {
69
69
  code: generatePipelineCode(config.name),
@@ -54,7 +54,7 @@ import { getErrorMessage } from '../../../shared';
54
54
  import type { RunRow } from '../../types';
55
55
 
56
56
  /**
57
- * Terminal run statuses intentionally hardcoded rather than derived from backend.
57
+ * Terminal run statuses, intentionally hardcoded rather than derived from backend.
58
58
  * These are a fundamental system invariant: a run is either still in progress or it has
59
59
  * reached one of these four terminal states. Adding `isFinished` metadata to the GraphQL
60
60
  * `DataHubOptionValue` type would require schema + codegen changes for no practical benefit,
@@ -128,7 +128,7 @@ export function PipelineRunsBlock({ pipelineId }: { pipelineId?: string }) {
128
128
  if (!open) setSelectedRun(null);
129
129
  }, []);
130
130
 
131
- const handleOnRerun = React.useCallback((id: string) => {
131
+ const handleRerun = React.useCallback((id: string) => {
132
132
  runPipeline.mutate(id, {
133
133
  onSuccess: () => toast.success(TOAST_PIPELINE.RUN_STARTED),
134
134
  onError: (err) => handleMutationError('start pipeline run', err),
@@ -222,7 +222,7 @@ export function PipelineRunsBlock({ pipelineId }: { pipelineId?: string }) {
222
222
  {isPaused && (
223
223
  <Tooltip>
224
224
  <TooltipTrigger asChild>
225
- <Button variant="ghost" size="icon" className="h-7 w-7 text-amber-600" onClick={() => handleSelectRun(row.original)} aria-label="Approve gate">
225
+ <Button variant="ghost" size="icon" className="h-7 w-7 text-amber-600 dark:text-amber-400" onClick={() => handleSelectRun(row.original)} aria-label="Approve gate">
226
226
  <ShieldCheck className="h-3.5 w-3.5" />
227
227
  </Button>
228
228
  </TooltipTrigger>
@@ -234,7 +234,7 @@ export function PipelineRunsBlock({ pipelineId }: { pipelineId?: string }) {
234
234
  <PermissionGuard requires={[DATAHUB_PERMISSIONS.RUN_PIPELINE]}>
235
235
  <Tooltip>
236
236
  <TooltipTrigger asChild>
237
- <Button variant="ghost" size="icon" className="h-7 w-7" onClick={() => handleOnRerun(pipelineId)} aria-label="Re-run pipeline">
237
+ <Button variant="ghost" size="icon" className="h-7 w-7" onClick={() => handleRerun(pipelineId)} aria-label="Re-run pipeline">
238
238
  <Play className="h-3.5 w-3.5" />
239
239
  </Button>
240
240
  </TooltipTrigger>
@@ -260,7 +260,7 @@ export function PipelineRunsBlock({ pipelineId }: { pipelineId?: string }) {
260
260
  },
261
261
  enableSorting: false,
262
262
  },
263
- ], [handleSelectRun, handleCancelRun, handleOnRerun, cancellingRunId, pipelineId]);
263
+ ], [handleSelectRun, handleCancelRun, handleRerun, cancellingRunId, pipelineId]);
264
264
 
265
265
  let content: React.ReactNode;
266
266
 
@@ -333,7 +333,7 @@ export function PipelineRunsBlock({ pipelineId }: { pipelineId?: string }) {
333
333
  runId={selectedRun.id}
334
334
  initialData={selectedRun}
335
335
  onCancel={handleCancelRun}
336
- onRerun={handleOnRerun}
336
+ onRerun={handleRerun}
337
337
  isCancelling={cancellingRunId === selectedRun.id}
338
338
  />
339
339
  )}
@@ -201,7 +201,6 @@ export function RunDetailsPanel({ runId, initialData, onCancel, onRerun, isCance
201
201
  <div className="text-sm text-muted-foreground mb-2">Failed records captured during this run</div>
202
202
  <PermissionGuard requires={[DATAHUB_PERMISSIONS.VIEW_QUARANTINE]}>
203
203
  <RunErrorsList
204
- runId={runId}
205
204
  items={errors ?? []}
206
205
  onRetry={handleRetry}
207
206
  />
@@ -39,7 +39,7 @@ function ErrorRow({ item, onStartEditing }: ErrorRowProps) {
39
39
  );
40
40
  }
41
41
 
42
- export function RunErrorsList({ runId: _runId, items, onRetry }: RunErrorsListProps) {
42
+ export function RunErrorsList({ items, onRetry }: RunErrorsListProps) {
43
43
  const [editing, setEditing] = React.useState<{ id: string; patch: string } | null>(null);
44
44
 
45
45
  const handleStartEditing = React.useCallback((itemId: string) => {
@@ -56,13 +56,15 @@ export function RunErrorsList({ runId: _runId, items, onRetry }: RunErrorsListPr
56
56
 
57
57
  const handleRetryClick = React.useCallback(async () => {
58
58
  if (!editing) return;
59
+ let patch: Record<string, unknown>;
59
60
  try {
60
- const patch = JSON.parse(editing.patch);
61
- await onRetry(editing.id, patch);
62
- setEditing(null);
61
+ patch = JSON.parse(editing.patch);
63
62
  } catch {
64
63
  toast.error(TOAST_PIPELINE.INVALID_JSON_PATCH);
64
+ return;
65
65
  }
66
+ await onRetry(editing.id, patch);
67
+ setEditing(null);
66
68
  }, [editing, onRetry]);
67
69
 
68
70
  const handleCancelEditing = React.useCallback(() => {
@@ -96,9 +98,11 @@ export function RunErrorsList({ runId: _runId, items, onRetry }: RunErrorsListPr
96
98
  </table>
97
99
  {editing && (
98
100
  <div className="border rounded p-2 space-y-2">
99
- <div className="text-sm font-medium">Patch JSON</div>
101
+ <label htmlFor="retry-patch-json" className="text-sm font-medium">Patch JSON</label>
100
102
  <textarea
101
- className="w-full h-32 font-mono p-2 border rounded"
103
+ id="retry-patch-json"
104
+ className="w-full h-32 font-mono p-2 border rounded bg-white dark:bg-gray-900 text-gray-900 dark:text-gray-100 border-gray-300 dark:border-gray-700"
105
+ aria-label="JSON patch for retry"
102
106
  value={editing.patch}
103
107
  onChange={handlePatchChange}
104
108
  />
@@ -14,14 +14,13 @@ export function StepSummaryTable({ metrics }: { metrics: IndividualRunMetrics })
14
14
  <th className="text-left px-2 py-1">Step</th>
15
15
  <th className="text-left px-2 py-1">Type</th>
16
16
  <th className="text-left px-2 py-1">Adapter</th>
17
- <th className="text-left px-2 py-1">Out/OK/Fail</th>
17
+ <th className="text-left px-2 py-1">OK / Fail</th>
18
18
  <th className="text-left px-2 py-1">Duration</th>
19
19
  </tr>
20
20
  </thead>
21
21
  <tbody>
22
- {/* stepKey is unique within a run, safe to use as key */}
23
- {details.map((s) => (
24
- <tr key={s.stepKey} className="border-t">
22
+ {details.map((s, i) => (
23
+ <tr key={s.stepKey ?? `step-${i}`} className="border-t">
25
24
  <td className="px-2 py-1 font-mono text-muted-foreground">{s.stepKey}</td>
26
25
  <td className="px-2 py-1">{s.type}</td>
27
26
  <td className="px-2 py-1">{s.adapterCode ?? '—'}</td>
@@ -56,14 +56,12 @@ export function DryRunDialog({
56
56
  });
57
57
  }, [pipelineId, dryRun.mutate]);
58
58
 
59
- // Run dry run when dialog opens (only once)
60
59
  React.useEffect(() => {
61
60
  if (open && pipelineId && !hasAttempted && !dryRun.isPending) {
62
61
  handleDryRun();
63
62
  }
64
63
  }, [open, pipelineId, hasAttempted, dryRun.isPending, handleDryRun]);
65
64
 
66
- // Reset state when dialog closes
67
65
  React.useEffect(() => {
68
66
  if (!open) {
69
67
  dryRun.reset();
@@ -128,9 +126,8 @@ export function DryRunDialog({
128
126
  <div className="border rounded-md p-3 bg-red-50 dark:bg-red-950/30 border-red-200 dark:border-red-800">
129
127
  <div className="text-sm font-medium text-red-800 dark:text-red-400 mb-1">Errors</div>
130
128
  <ul className="list-disc pl-5 text-sm text-red-700 dark:text-red-400">
131
- {/* Static display list, using content-based key */}
132
- {dryRunResult.notes.filter(n => n.startsWith('Error:')).map((n) => (
133
- <li key={`error-${n.slice(0, UI_LIMITS.TRUNCATE_LENGTH)}`}>{n.replace('Error: ', '')}</li>
129
+ {dryRunResult.notes.filter(n => n.startsWith('Error:')).map((n, i) => (
130
+ <li key={`error-${i}`}>{n.replace('Error: ', '')}</li>
134
131
  ))}
135
132
  </ul>
136
133
  </div>
@@ -139,9 +136,8 @@ export function DryRunDialog({
139
136
  <div className="border rounded-md p-3 bg-amber-50 dark:bg-amber-950/30 border-amber-200 dark:border-amber-800">
140
137
  <div className="text-sm font-medium text-amber-800 dark:text-amber-400 mb-1">Notes</div>
141
138
  <ul className="list-disc pl-5 text-sm text-amber-700 dark:text-amber-400">
142
- {/* Static display list, using content-based key */}
143
- {dryRunResult.notes.filter(n => !n.startsWith('Error:')).map((n) => (
144
- <li key={`note-${n.slice(0, UI_LIMITS.TRUNCATE_LENGTH)}`}>{n}</li>
139
+ {dryRunResult.notes.filter(n => !n.startsWith('Error:')).map((n, i) => (
140
+ <li key={`note-${i}`}>{n}</li>
145
141
  ))}
146
142
  </ul>
147
143
  </div>
@@ -218,10 +214,10 @@ export function DryRunDialog({
218
214
  function DryRunMetricsSummary({ metrics }: Readonly<{ metrics: unknown }>) {
219
215
  const dryRunMetrics = (metrics ?? {}) as DryRunMetrics;
220
216
  const cards = [
221
- { label: 'Processed', value: dryRunMetrics.recordsProcessed ?? 0, color: 'text-blue-600' },
222
- { label: 'Succeeded', value: dryRunMetrics.recordsSucceeded ?? 0, color: 'text-green-600' },
223
- { label: 'Failed', value: dryRunMetrics.recordsFailed ?? 0, color: 'text-red-600' },
224
- { label: 'Skipped', value: dryRunMetrics.recordsSkipped ?? 0, color: 'text-amber-600' },
217
+ { label: 'Processed', value: dryRunMetrics.recordsProcessed ?? 0, color: 'text-blue-600 dark:text-blue-400' },
218
+ { label: 'Succeeded', value: dryRunMetrics.recordsSucceeded ?? 0, color: 'text-green-600 dark:text-green-400' },
219
+ { label: 'Failed', value: dryRunMetrics.recordsFailed ?? 0, color: 'text-red-600 dark:text-red-400' },
220
+ { label: 'Skipped', value: dryRunMetrics.recordsSkipped ?? 0, color: 'text-amber-600 dark:text-amber-400' },
225
221
  ];
226
222
 
227
223
  return (
@@ -47,21 +47,22 @@ export function PipelineWebhookInfo({
47
47
  }
48
48
 
49
49
  const pipelineCode = def.code ?? 'PIPELINE_CODE';
50
- const url = `${window.location.origin}${DATAHUB_API_WEBHOOK(pipelineCode)}`;
50
+ const origin = typeof window !== 'undefined' ? window.location.origin : '';
51
+ const url = `${origin}${DATAHUB_API_WEBHOOK(pipelineCode)}`;
51
52
 
52
53
  // Generate cURL for first webhook (as example)
53
54
  const firstWebhook = webhookTriggers[0];
54
55
  const curlParts = [
55
- `curl -X POST '${url}' \\`,
56
+ `curl -X POST '${url}'`,
56
57
  ` -H 'Content-Type: application/json'`,
57
58
  ];
58
59
 
59
60
  if (firstWebhook.requiresIdk) {
60
- curlParts.push(` -H 'X-Idempotency-Key: <unique-id>' \\`);
61
+ curlParts.push(` -H 'X-Idempotency-Key: <unique-id>'`);
61
62
  }
62
63
 
63
64
  if (firstWebhook.sig) {
64
- curlParts.push(` -H '${firstWebhook.headerName}: <hmac-of-body>' \\`);
65
+ curlParts.push(` -H '${firstWebhook.headerName}: <hmac-of-body>'`);
65
66
  }
66
67
 
67
68
  curlParts.push(` -d '{"records":[{"id":"123","name":"Example"}]}'`);
@@ -46,7 +46,7 @@ export function ValidationPanel({
46
46
  )}
47
47
  {validation.warnings.length > 0 && (
48
48
  <div className="mt-4">
49
- <div className="text-sm font-medium text-amber-800 mb-2">Warnings</div>
49
+ <div className="text-sm font-medium text-amber-800 dark:text-amber-400 mb-2">Warnings</div>
50
50
  {validation.warnings.map((warning) => (
51
51
  <ValidationIssueItem key={`warning-${warning.stepKey ?? 'global'}-${warning.field ?? 'none'}-${warning.message}`} issue={warning} variant="warning" />
52
52
  ))}
@@ -69,7 +69,9 @@ interface ValidationIssueItemProps {
69
69
  }
70
70
 
71
71
  function ValidationIssueItem({ issue, variant = 'error' }: ValidationIssueItemProps) {
72
- const bgClass = variant === 'warning' ? 'bg-amber-50 dark:bg-amber-950/30 border-amber-200 dark:border-amber-800' : '';
72
+ const bgClass = variant === 'warning'
73
+ ? 'bg-amber-50 dark:bg-amber-950/30 border-amber-200 dark:border-amber-800'
74
+ : 'bg-red-50 dark:bg-red-950/30 border-red-200 dark:border-red-800';
73
75
 
74
76
  return (
75
77
  <div className={`border rounded p-2 ${bgClass}`}>
@@ -102,14 +104,14 @@ export function ValidationStatusBadge({
102
104
  }
103
105
 
104
106
  if (validation.isValid === true) {
105
- return <span className="text-xs px-2 py-0.5 rounded bg-emerald-100 text-emerald-800">Valid</span>;
107
+ return <span className="text-xs px-2 py-0.5 rounded bg-emerald-100 dark:bg-emerald-900/40 text-emerald-800 dark:text-emerald-400">Valid</span>;
106
108
  }
107
109
 
108
110
  if (validation.isValid === false) {
109
111
  return (
110
112
  <button
111
113
  type="button"
112
- className="text-xs px-2 py-0.5 rounded bg-amber-100 text-amber-800 hover:underline"
114
+ className="text-xs px-2 py-0.5 rounded bg-amber-100 dark:bg-amber-900/40 text-amber-800 dark:text-amber-400 hover:underline"
113
115
  onClick={onShowIssues}
114
116
  >
115
117
  Issues: {validation.count}
@@ -98,7 +98,7 @@ export function VersionHistoryDialog({
98
98
  {entry.revision.authorName && <span>by {entry.revision.authorName}</span>}
99
99
  {entry.runCount > 0 && <span>{entry.runCount} run{entry.runCount !== 1 ? 's' : ''}</span>}
100
100
  {entry.lastRunStatus && (
101
- <span className={entry.lastRunStatus === RUN_STATUS.COMPLETED ? 'text-green-600' : entry.lastRunStatus === RUN_STATUS.FAILED ? 'text-red-600' : ''}>
101
+ <span className={entry.lastRunStatus === RUN_STATUS.COMPLETED ? 'text-green-600 dark:text-green-400' : entry.lastRunStatus === RUN_STATUS.FAILED ? 'text-red-600 dark:text-red-400' : ''}>
102
102
  Last: {entry.lastRunStatus}
103
103
  </span>
104
104
  )}
@@ -72,7 +72,7 @@ const ConsumerRow = React.memo(function ConsumerRow({
72
72
  );
73
73
  });
74
74
 
75
- // Consumers Table with virtualization
75
+ // Consumers Table with load-more pagination
76
76
  export function ConsumersTable({
77
77
  consumers,
78
78
  onStop,
@@ -33,7 +33,7 @@ const FailedRunRow = React.memo(function FailedRunRow({
33
33
  );
34
34
  });
35
35
 
36
- // Failed Runs Table with virtualization
36
+ // Failed Runs Table with load-more pagination
37
37
  export function FailedRunsTable({
38
38
  recentFailed,
39
39
  onSelectRun,
@@ -120,6 +120,8 @@ function QueuesPage() {
120
120
  }
121
121
  }, []);
122
122
 
123
+ const activeConsumerCount = consumers.filter(c => c.isActive).length;
124
+
123
125
  return (
124
126
  <Page pageId="data-hub-queues">
125
127
  <PageActionBar>
@@ -164,8 +166,8 @@ function QueuesPage() {
164
166
  <TabsTrigger value="consumers">
165
167
  <Radio className="w-4 h-4 mr-1" />
166
168
  Consumers
167
- {consumers.filter(c => c.isActive).length > 0 && (
168
- <Badge variant="secondary" className="ml-2">{consumers.filter(c => c.isActive).length}</Badge>
169
+ {activeConsumerCount > 0 && (
170
+ <Badge variant="secondary" className="ml-2">{activeConsumerCount}</Badge>
169
171
  )}
170
172
  </TabsTrigger>
171
173
  </TabsList>
@@ -173,7 +175,7 @@ function QueuesPage() {
173
175
  <TabsContent value="overview" className="mt-4">
174
176
  <div className="grid grid-cols-2 md:grid-cols-4 gap-3">
175
177
  <StatCard title="Pending" value={stats?.pending ?? 0} icon={<Clock className="w-4 h-4" />} />
176
- <StatCard title="Running" value={stats?.running ?? 0} icon={<RefreshCw className="w-4 h-4 animate-spin" />} />
178
+ <StatCard title="Running" value={stats?.running ?? 0} icon={<RefreshCw className={`w-4 h-4 ${(stats?.running ?? 0) > 0 ? 'animate-spin' : ''}`} />} />
177
179
  <StatCard title="Failed" value={stats?.failed ?? 0} icon={<XCircle className="w-4 h-4" />} variant="error" />
178
180
  <StatCard title="Completed today" value={stats?.completedToday ?? 0} icon={<CheckCircle className="w-4 h-4" />} variant="success" />
179
181
  </div>
@@ -104,6 +104,12 @@ function SecretDetailPage({ route }: { route: AnyRoute }) {
104
104
  },
105
105
  });
106
106
 
107
+ React.useEffect(() => {
108
+ if (creating && !form.getValues('provider')) {
109
+ form.setValue('provider', SECRET_PROVIDER.INLINE, { shouldDirty: false, shouldValidate: true });
110
+ }
111
+ }, [creating, form]);
112
+
107
113
  React.useEffect(() => {
108
114
  if (!entity) return;
109
115
  form.reset(
@@ -170,10 +176,18 @@ function SecretDetailPage({ route }: { route: AnyRoute }) {
170
176
  name="provider"
171
177
  label="Provider"
172
178
  rules={{ required: ERROR_MESSAGES.PROVIDER_REQUIRED }}
173
- render={({ field, fieldState }) => (
179
+ render={({ field, fieldState }) => {
180
+ // Ensure the form state has a valid provider value, not just a visual fallback.
181
+ // Without this, the Select displays the correct default but the form
182
+ // submits an empty string because field.value was never updated.
183
+ const effectiveProvider = (field.value as string) || (entity?.provider ?? SECRET_PROVIDER.INLINE);
184
+ if (field.value !== effectiveProvider) {
185
+ queueMicrotask(() => field.onChange(effectiveProvider));
186
+ }
187
+ return (
174
188
  <div>
175
189
  <Select
176
- value={(field.value as string) || (entity?.provider ?? SECRET_PROVIDER.INLINE)}
190
+ value={effectiveProvider}
177
191
  onValueChange={field.onChange}
178
192
  >
179
193
  <SelectTrigger className={SELECT_WIDTHS.PROVIDER}>
@@ -201,7 +215,8 @@ function SecretDetailPage({ route }: { route: AnyRoute }) {
201
215
  </p>
202
216
  )}
203
217
  </div>
204
- )}
218
+ );
219
+ }}
205
220
  />
206
221
  </DetailFormGrid>
207
222
 
@@ -76,9 +76,7 @@ function SettingsPage() {
76
76
  return undefined;
77
77
  };
78
78
 
79
- const isFormValid = React.useMemo(() => {
80
- return !errors.runsDays && !errors.errorsDays && !errors.logsDays;
81
- }, [errors]);
79
+ const isFormValid = !errors.runsDays && !errors.errorsDays && !errors.logsDays;
82
80
 
83
81
  React.useEffect(() => {
84
82
  if (settings?.retentionDaysRuns != null) {
@@ -207,7 +205,7 @@ function SettingsPage() {
207
205
  </CardHeader>
208
206
  <CardContent>
209
207
  <div className="space-y-6">
210
- <div className="grid grid-cols-2 gap-6">
208
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
211
209
  <div className="space-y-2">
212
210
  <Label htmlFor="runs-days">Pipeline Run History</Label>
213
211
  <Input
@@ -281,7 +279,7 @@ function SettingsPage() {
281
279
  </CardHeader>
282
280
  <CardContent>
283
281
  <div className="space-y-6">
284
- <div className="grid grid-cols-2 gap-6">
282
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
285
283
  <div className="space-y-2">
286
284
  <Label htmlFor="log-level">Log Persistence Level</Label>
287
285
  <Select value={logLevel} onValueChange={handleLogLevelChange} disabled={isLoadingOptions}>
@@ -71,7 +71,7 @@ export interface SchemaFormRendererProps {
71
71
  }
72
72
 
73
73
  export interface LoadingStateProps {
74
- type?: 'TABLE' | 'FORM' | 'CARD' | 'LIST' | 'SPINNER';
74
+ type?: 'table' | 'form' | 'card' | 'list' | 'spinner';
75
75
  rows?: number;
76
76
  message?: string;
77
77
  className?: string;
@@ -226,7 +226,6 @@ export interface RunDetailsPanelProps {
226
226
  }
227
227
 
228
228
  export interface RunErrorsListProps {
229
- runId: string;
230
229
  items: Array<{ id: string; stepKey: string; message: string; payload: unknown }>;
231
230
  onRetry: (errorId: string, patch: Record<string, unknown>) => Promise<void>;
232
231
  }
@@ -5,7 +5,8 @@ export function formatValue(value: JsonValue, maxLength = 50): string {
5
5
  return '\u2014';
6
6
  }
7
7
  if (typeof value === 'object') {
8
- return JSON.stringify(value);
8
+ const str = JSON.stringify(value);
9
+ return str.length > maxLength ? str.substring(0, maxLength) + '...' : str;
9
10
  }
10
11
  if (typeof value === 'boolean') {
11
12
  return value ? 'true' : 'false';
@@ -20,11 +21,12 @@ export function formatCellValue(value: JsonValue): string {
20
21
 
21
22
  export function formatKey(key: string): string {
22
23
  return key
23
- .replace(/([A-Z])/g, ' $1')
24
- .replace(/^./, s => s.toUpperCase())
24
+ .replace(/([A-Z]+)([A-Z][a-z])/g, '$1 $2')
25
+ .replace(/([a-z\d])([A-Z])/g, '$1 $2')
25
26
  .replace(/[_-]/g, ' ')
26
27
  .replace(/\s+/g, ' ')
27
- .trim();
28
+ .trim()
29
+ .replace(/^./, s => s.toUpperCase());
28
30
  }
29
31
 
30
32
  export function formatDateTime(date: Date | string | number | null | undefined, options?: Intl.DateTimeFormatOptions): string {
@@ -40,7 +42,7 @@ export function formatDateTime(date: Date | string | number | null | undefined,
40
42
  minute: '2-digit',
41
43
  };
42
44
 
43
- return dateObj.toLocaleString('en-US', options || defaultOptions);
45
+ return dateObj.toLocaleString(undefined, options || defaultOptions);
44
46
  }
45
47
 
46
48
  export function formatSmartDateTime(date: Date | string | number | null | undefined): string {
@@ -52,7 +54,7 @@ export function formatSmartDateTime(date: Date | string | number | null | undefi
52
54
  const isToday = dateObj.toDateString() === now.toDateString();
53
55
 
54
56
  if (isToday) {
55
- return dateObj.toLocaleTimeString();
57
+ return dateObj.toLocaleTimeString(undefined, { hour: '2-digit', minute: '2-digit' });
56
58
  }
57
59
  return dateObj.toLocaleString(undefined, {
58
60
  month: 'short',
@@ -82,13 +84,3 @@ export function formatFileSize(bytes: number): string {
82
84
  return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
83
85
  }
84
86
 
85
- /**
86
- * Converts a camelCase field name to a human-readable label.
87
- * Example: 'databaseType' -> 'Database Type', 'remotePath' -> 'Remote Path'
88
- *
89
- * Delegates to {@link formatKey} which handles the same conversion plus
90
- * underscores, hyphens, and extra whitespace normalization.
91
- */
92
- export function formatFieldLabel(field: string): string {
93
- return formatKey(field);
94
- }
@@ -16,8 +16,8 @@ function kebabToPascal(name: string): string {
16
16
  * to a LucideIcon component. Accepts both kebab-case and PascalCase input.
17
17
  * Returns undefined if the name is not recognized, allowing callers to provide a fallback.
18
18
  *
19
- * Uses lucide-react's `icons` export for fully dynamic resolution
20
- * no manual map needed when new icons are used.
19
+ * Uses lucide-react's `icons` export for fully dynamic resolution.
20
+ * No manual map needed when new icons are used.
21
21
  */
22
22
  export function resolveIconName(name: string | undefined | null): LucideIcon | undefined {
23
23
  if (!name) return undefined;
@@ -3,7 +3,6 @@ export {
3
3
  formatValue,
4
4
  formatCellValue,
5
5
  formatKey,
6
- formatFieldLabel,
7
6
  formatDateTime,
8
7
  formatSmartDateTime,
9
8
  formatDiffValue,