@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.
- package/CHANGELOG.md +60 -3
- package/CONTRIBUTING.md +2 -2
- package/README.md +5 -2
- package/dashboard/components/common/ConnectionConfigEditor.tsx +42 -5
- package/dashboard/components/pipelines/PipelineImport.tsx +3 -2
- package/dashboard/components/pipelines/ReactFlowPipelineEditor.tsx +8 -10
- package/dashboard/components/pipelines/shared/NodePropertiesPanel.tsx +1 -1
- package/dashboard/components/pipelines/shared/PipelineNode.tsx +2 -2
- package/dashboard/components/shared/step-config/AdapterRequiredWarning.tsx +3 -3
- package/dashboard/components/shared/step-config/AdvancedEditors.tsx +2 -2
- package/dashboard/components/shared/step-config/EnrichConfigComponent.tsx +1 -1
- package/dashboard/components/shared/step-config/GateConfigComponent.tsx +0 -1
- package/dashboard/components/shared/step-config/OperatorFieldInput.tsx +1 -1
- package/dashboard/components/shared/step-config/RouteConfigComponent.tsx +3 -4
- package/dashboard/components/shared/step-config/StepConfigPanel.tsx +20 -17
- package/dashboard/components/shared/step-config/ValidateConfigComponent.tsx +4 -9
- package/dashboard/components/templates/TemplateGallery.tsx +0 -3
- package/dashboard/components/wizards/export-wizard/ReviewStep.tsx +2 -2
- package/dashboard/components/wizards/import-wizard/ImportWizard.tsx +3 -6
- package/dashboard/components/wizards/import-wizard/MappingStep.tsx +3 -5
- package/dashboard/components/wizards/import-wizard/ReviewStep.tsx +2 -2
- package/dashboard/components/wizards/import-wizard/SourceStep.tsx +3 -3
- package/dashboard/components/wizards/import-wizard/StrategyStep.tsx +1 -2
- package/dashboard/components/wizards/import-wizard/TargetStep.tsx +1 -2
- package/dashboard/components/wizards/import-wizard/TriggerStep.tsx +1 -2
- package/dashboard/constants/colors.ts +1 -1
- package/dashboard/constants/file-format-registry.ts +22 -46
- package/dashboard/constants/ui-types.ts +5 -5
- package/dashboard/gql/gql.ts +3 -3
- package/dashboard/gql/graphql.ts +43 -16
- package/dashboard/hooks/api/use-config-options.ts +4 -6
- package/dashboard/hooks/index.ts +1 -1
- package/dashboard/hooks/use-adapter-catalog.ts +1 -3
- package/dashboard/hooks/use-import-templates.ts +1 -4
- package/dashboard/routes/connections/ConnectionDetail.tsx +22 -7
- package/dashboard/routes/hooks/Hooks.tsx +8 -7
- package/dashboard/routes/logs/Logs.tsx +4 -4
- package/dashboard/routes/logs/components/LogDetailDrawer.tsx +3 -3
- package/dashboard/routes/logs/components/LogExplorerTab.tsx +18 -22
- package/dashboard/routes/logs/components/LogTableRow.tsx +4 -3
- package/dashboard/routes/logs/components/LogsOverviewTab.tsx +3 -3
- package/dashboard/routes/logs/components/RealtimeLogTab.tsx +2 -2
- package/dashboard/routes/pipelines/ImportWizardPage.tsx +1 -1
- package/dashboard/routes/pipelines/PipelineRunsBlock.tsx +6 -6
- package/dashboard/routes/pipelines/RunDetailsPanel.tsx +0 -1
- package/dashboard/routes/pipelines/RunErrorsList.tsx +10 -6
- package/dashboard/routes/pipelines/StepSummaryTable.tsx +3 -4
- package/dashboard/routes/pipelines/components/DryRunDialog.tsx +8 -12
- package/dashboard/routes/pipelines/components/PipelineWebhookInfo.tsx +5 -4
- package/dashboard/routes/pipelines/components/ValidationPanel.tsx +6 -4
- package/dashboard/routes/pipelines/components/VersionHistoryDialog.tsx +1 -1
- package/dashboard/routes/queues/ConsumersTable.tsx +1 -1
- package/dashboard/routes/queues/FailedRunsTable.tsx +1 -1
- package/dashboard/routes/queues/QueuesPage.tsx +5 -3
- package/dashboard/routes/secrets/SecretDetail.tsx +18 -3
- package/dashboard/routes/settings/Settings.tsx +3 -5
- package/dashboard/types/ui-types.ts +1 -2
- package/dashboard/utils/formatters.ts +8 -16
- package/dashboard/utils/icon-resolver.ts +2 -2
- package/dashboard/utils/index.ts +0 -1
- package/dashboard/utils/trigger-sync.ts +0 -8
- package/dashboard/utils/wizard-to-pipeline.ts +35 -14
- package/dist/connectors/registry.d.ts.map +1 -1
- package/dist/connectors/registry.js +22 -5
- package/dist/connectors/registry.js.map +1 -1
- package/dist/dashboard/components/common/ConnectionConfigEditor.tsx +42 -5
- package/dist/dashboard/components/pipelines/PipelineImport.tsx +3 -2
- package/dist/dashboard/components/pipelines/ReactFlowPipelineEditor.tsx +8 -10
- package/dist/dashboard/components/pipelines/shared/NodePropertiesPanel.tsx +1 -1
- package/dist/dashboard/components/pipelines/shared/PipelineNode.tsx +2 -2
- package/dist/dashboard/components/shared/step-config/AdapterRequiredWarning.tsx +3 -3
- package/dist/dashboard/components/shared/step-config/AdvancedEditors.tsx +2 -2
- package/dist/dashboard/components/shared/step-config/EnrichConfigComponent.tsx +1 -1
- package/dist/dashboard/components/shared/step-config/GateConfigComponent.tsx +0 -1
- package/dist/dashboard/components/shared/step-config/OperatorFieldInput.tsx +1 -1
- package/dist/dashboard/components/shared/step-config/RouteConfigComponent.tsx +3 -4
- package/dist/dashboard/components/shared/step-config/StepConfigPanel.tsx +20 -17
- package/dist/dashboard/components/shared/step-config/ValidateConfigComponent.tsx +4 -9
- package/dist/dashboard/components/templates/TemplateGallery.tsx +0 -3
- package/dist/dashboard/components/wizards/export-wizard/ReviewStep.tsx +2 -2
- package/dist/dashboard/components/wizards/import-wizard/ImportWizard.tsx +3 -6
- package/dist/dashboard/components/wizards/import-wizard/MappingStep.tsx +3 -5
- package/dist/dashboard/components/wizards/import-wizard/ReviewStep.tsx +2 -2
- package/dist/dashboard/components/wizards/import-wizard/SourceStep.tsx +3 -3
- package/dist/dashboard/components/wizards/import-wizard/StrategyStep.tsx +1 -2
- package/dist/dashboard/components/wizards/import-wizard/TargetStep.tsx +1 -2
- package/dist/dashboard/components/wizards/import-wizard/TriggerStep.tsx +1 -2
- package/dist/dashboard/constants/colors.ts +1 -1
- package/dist/dashboard/constants/file-format-registry.ts +22 -46
- package/dist/dashboard/constants/ui-types.ts +5 -5
- package/dist/dashboard/gql/gql.ts +3 -3
- package/dist/dashboard/gql/graphql.ts +43 -16
- package/dist/dashboard/hooks/api/use-config-options.ts +4 -6
- package/dist/dashboard/hooks/index.ts +1 -1
- package/dist/dashboard/hooks/use-adapter-catalog.ts +1 -3
- package/dist/dashboard/hooks/use-import-templates.ts +1 -4
- package/dist/dashboard/routes/connections/ConnectionDetail.tsx +22 -7
- package/dist/dashboard/routes/hooks/Hooks.tsx +8 -7
- package/dist/dashboard/routes/logs/Logs.tsx +4 -4
- package/dist/dashboard/routes/logs/components/LogDetailDrawer.tsx +3 -3
- package/dist/dashboard/routes/logs/components/LogExplorerTab.tsx +18 -22
- package/dist/dashboard/routes/logs/components/LogTableRow.tsx +4 -3
- package/dist/dashboard/routes/logs/components/LogsOverviewTab.tsx +3 -3
- package/dist/dashboard/routes/logs/components/RealtimeLogTab.tsx +2 -2
- package/dist/dashboard/routes/pipelines/ImportWizardPage.tsx +1 -1
- package/dist/dashboard/routes/pipelines/PipelineRunsBlock.tsx +6 -6
- package/dist/dashboard/routes/pipelines/RunDetailsPanel.tsx +0 -1
- package/dist/dashboard/routes/pipelines/RunErrorsList.tsx +10 -6
- package/dist/dashboard/routes/pipelines/StepSummaryTable.tsx +3 -4
- package/dist/dashboard/routes/pipelines/components/DryRunDialog.tsx +8 -12
- package/dist/dashboard/routes/pipelines/components/PipelineWebhookInfo.tsx +5 -4
- package/dist/dashboard/routes/pipelines/components/ValidationPanel.tsx +6 -4
- package/dist/dashboard/routes/pipelines/components/VersionHistoryDialog.tsx +1 -1
- package/dist/dashboard/routes/queues/ConsumersTable.tsx +1 -1
- package/dist/dashboard/routes/queues/FailedRunsTable.tsx +1 -1
- package/dist/dashboard/routes/queues/QueuesPage.tsx +5 -3
- package/dist/dashboard/routes/secrets/SecretDetail.tsx +18 -3
- package/dist/dashboard/routes/settings/Settings.tsx +3 -5
- package/dist/dashboard/types/ui-types.ts +1 -2
- package/dist/dashboard/utils/formatters.ts +8 -16
- package/dist/dashboard/utils/icon-resolver.ts +2 -2
- package/dist/dashboard/utils/index.ts +0 -1
- package/dist/dashboard/utils/trigger-sync.ts +0 -8
- package/dist/dashboard/utils/wizard-to-pipeline.ts +35 -14
- package/dist/shared/constants/step-type-configs.d.ts +1 -1
- package/dist/shared/constants/step-type-configs.js +2 -2
- package/dist/shared/constants/step-type-configs.js.map +1 -1
- package/dist/shared/types/adapter-config.types.d.ts +3 -3
- package/dist/shared/types/adapter-config.types.d.ts.map +1 -1
- package/dist/shared/types/adapter.types.d.ts +1 -1
- package/dist/shared/types/execution.types.d.ts +2 -6
- package/dist/shared/types/execution.types.d.ts.map +1 -1
- package/dist/shared/types/extractor.types.d.ts +1 -1
- package/dist/shared/types/extractor.types.d.ts.map +1 -1
- package/dist/shared/types/index.d.ts +2 -2
- package/dist/shared/types/index.d.ts.map +1 -1
- package/dist/shared/types/pipeline.types.d.ts +2 -3
- package/dist/shared/types/pipeline.types.d.ts.map +1 -1
- package/dist/shared/types/step.types.d.ts +2 -2
- package/dist/shared/types/step.types.d.ts.map +1 -1
- package/dist/shared/types/trigger.types.d.ts +4 -27
- package/dist/shared/types/trigger.types.d.ts.map +1 -1
- package/dist/shared/utils/csv-parse.js +2 -2
- package/dist/shared/utils/csv-parse.js.map +1 -1
- package/dist/shared/utils/validation.js +1 -1
- package/dist/shared/utils/validation.js.map +1 -1
- package/dist/shared/vendure-schemas.d.ts +1 -1
- package/dist/shared/vendure-schemas.js +1 -1
- package/dist/src/adapters/registry.d.ts +1 -1
- package/dist/src/adapters/registry.js +1 -1
- package/dist/src/adapters/registry.js.map +1 -1
- package/dist/src/api/controllers/file-upload.controller.d.ts +1 -0
- package/dist/src/api/controllers/file-upload.controller.d.ts.map +1 -1
- package/dist/src/api/controllers/file-upload.controller.js +62 -64
- package/dist/src/api/controllers/file-upload.controller.js.map +1 -1
- package/dist/src/api/controllers/webhook.controller.d.ts.map +1 -1
- package/dist/src/api/controllers/webhook.controller.js +38 -11
- package/dist/src/api/controllers/webhook.controller.js.map +1 -1
- package/dist/src/api/resolvers/analytics.resolver.d.ts +19 -1
- package/dist/src/api/resolvers/analytics.resolver.d.ts.map +1 -1
- package/dist/src/api/resolvers/analytics.resolver.js +18 -1
- package/dist/src/api/resolvers/analytics.resolver.js.map +1 -1
- package/dist/src/api/resolvers/connection.resolver.d.ts +3 -1
- package/dist/src/api/resolvers/connection.resolver.d.ts.map +1 -1
- package/dist/src/api/resolvers/connection.resolver.js +19 -7
- package/dist/src/api/resolvers/connection.resolver.js.map +1 -1
- package/dist/src/api/resolvers/entity-schema.resolver.js +2 -2
- package/dist/src/api/resolvers/entity-schema.resolver.js.map +1 -1
- package/dist/src/api/resolvers/error.resolver.js +1 -1
- package/dist/src/api/resolvers/error.resolver.js.map +1 -1
- package/dist/src/api/resolvers/log.resolver.js +1 -1
- package/dist/src/api/resolvers/log.resolver.js.map +1 -1
- package/dist/src/api/resolvers/pipeline.resolver.d.ts +1 -3
- package/dist/src/api/resolvers/pipeline.resolver.d.ts.map +1 -1
- package/dist/src/api/resolvers/pipeline.resolver.js +10 -27
- package/dist/src/api/resolvers/pipeline.resolver.js.map +1 -1
- package/dist/src/api/resolvers/secret.resolver.d.ts +5 -1
- package/dist/src/api/resolvers/secret.resolver.d.ts.map +1 -1
- package/dist/src/api/resolvers/secret.resolver.js +37 -10
- package/dist/src/api/resolvers/secret.resolver.js.map +1 -1
- package/dist/src/api/schema/connection.schema.d.ts +2 -2
- package/dist/src/api/schema/connection.schema.d.ts.map +1 -1
- package/dist/src/api/schema/connection.schema.js +1 -8
- package/dist/src/api/schema/connection.schema.js.map +1 -1
- package/dist/src/api/schema/log.schema.d.ts +2 -2
- package/dist/src/api/schema/log.schema.d.ts.map +1 -1
- package/dist/src/api/schema/log.schema.js +1 -8
- package/dist/src/api/schema/log.schema.js.map +1 -1
- package/dist/src/api/schema/pipeline.schema.d.ts +2 -2
- package/dist/src/api/schema/pipeline.schema.d.ts.map +1 -1
- package/dist/src/api/schema/pipeline.schema.js +2 -18
- package/dist/src/api/schema/pipeline.schema.js.map +1 -1
- package/dist/src/api/schema/secret.schema.d.ts +2 -2
- package/dist/src/api/schema/secret.schema.d.ts.map +1 -1
- package/dist/src/api/schema/secret.schema.js +1 -9
- package/dist/src/api/schema/secret.schema.js.map +1 -1
- package/dist/src/api/types/index.d.ts +0 -1
- package/dist/src/api/types/index.d.ts.map +1 -1
- package/dist/src/api/types/index.js +0 -1
- package/dist/src/api/types/index.js.map +1 -1
- package/dist/src/api/types/outputs.d.ts +1 -1
- package/dist/src/api/types/outputs.js +1 -1
- package/dist/src/bootstrap/initialization.d.ts.map +1 -1
- package/dist/src/bootstrap/initialization.js +0 -4
- package/dist/src/bootstrap/initialization.js.map +1 -1
- package/dist/src/bootstrap/seed-data.d.ts +3 -1
- package/dist/src/bootstrap/seed-data.d.ts.map +1 -1
- package/dist/src/bootstrap/seed-data.js +50 -29
- package/dist/src/bootstrap/seed-data.js.map +1 -1
- package/dist/src/constants/adapter-schema-options.d.ts +4 -4
- package/dist/src/constants/adapter-schema-options.d.ts.map +1 -1
- package/dist/src/constants/adapter-schema-options.js +21 -14
- package/dist/src/constants/adapter-schema-options.js.map +1 -1
- package/dist/src/constants/adapters.d.ts +1 -1
- package/dist/src/constants/adapters.js +1 -1
- package/dist/src/constants/connection-schemas.d.ts.map +1 -1
- package/dist/src/constants/connection-schemas.js +2 -1
- package/dist/src/constants/connection-schemas.js.map +1 -1
- package/dist/src/constants/core.d.ts +2 -0
- package/dist/src/constants/core.d.ts.map +1 -1
- package/dist/src/constants/core.js +2 -0
- package/dist/src/constants/core.js.map +1 -1
- package/dist/src/constants/defaults/index.d.ts +0 -5
- package/dist/src/constants/defaults/index.d.ts.map +1 -1
- package/dist/src/constants/defaults/index.js +0 -5
- package/dist/src/constants/defaults/index.js.map +1 -1
- package/dist/src/constants/defaults/reliability-defaults.d.ts +8 -2
- package/dist/src/constants/defaults/reliability-defaults.d.ts.map +1 -1
- package/dist/src/constants/defaults/reliability-defaults.js +8 -2
- package/dist/src/constants/defaults/reliability-defaults.js.map +1 -1
- package/dist/src/constants/defaults/scheduler-defaults.d.ts +2 -0
- package/dist/src/constants/defaults/scheduler-defaults.d.ts.map +1 -1
- package/dist/src/constants/defaults/scheduler-defaults.js +2 -0
- package/dist/src/constants/defaults/scheduler-defaults.js.map +1 -1
- package/dist/src/constants/defaults/sink-defaults.d.ts +2 -0
- package/dist/src/constants/defaults/sink-defaults.d.ts.map +1 -1
- package/dist/src/constants/defaults/sink-defaults.js +2 -0
- package/dist/src/constants/defaults/sink-defaults.js.map +1 -1
- package/dist/src/constants/defaults/storage-defaults.d.ts +20 -0
- package/dist/src/constants/defaults/storage-defaults.d.ts.map +1 -1
- package/dist/src/constants/defaults/storage-defaults.js +21 -1
- package/dist/src/constants/defaults/storage-defaults.js.map +1 -1
- package/dist/src/constants/defaults/ui-defaults.d.ts +4 -0
- package/dist/src/constants/defaults/ui-defaults.d.ts.map +1 -1
- package/dist/src/constants/defaults/ui-defaults.js +4 -0
- package/dist/src/constants/defaults/ui-defaults.js.map +1 -1
- package/dist/src/constants/enums.d.ts +11 -2
- package/dist/src/constants/enums.d.ts.map +1 -1
- package/dist/src/constants/enums.js +9 -0
- package/dist/src/constants/enums.js.map +1 -1
- package/dist/src/constants/file-format-metadata.js +3 -3
- package/dist/src/constants/file-format-metadata.js.map +1 -1
- package/dist/src/constants/services.d.ts +1 -0
- package/dist/src/constants/services.d.ts.map +1 -1
- package/dist/src/constants/services.js +1 -0
- package/dist/src/constants/services.js.map +1 -1
- package/dist/src/data-hub.plugin.d.ts.map +1 -1
- package/dist/src/data-hub.plugin.js +3 -5
- package/dist/src/data-hub.plugin.js.map +1 -1
- package/dist/src/entities/data/checkpoint.entity.d.ts +1 -1
- package/dist/src/entities/data/checkpoint.entity.d.ts.map +1 -1
- package/dist/src/entities/data/checkpoint.entity.js +3 -4
- package/dist/src/entities/data/checkpoint.entity.js.map +1 -1
- package/dist/src/entities/data/error-record.entity.d.ts +2 -2
- package/dist/src/entities/data/error-record.entity.d.ts.map +1 -1
- package/dist/src/entities/data/error-record.entity.js +3 -3
- package/dist/src/entities/data/error-record.entity.js.map +1 -1
- package/dist/src/entities/data/retry-audit.entity.d.ts +1 -1
- package/dist/src/entities/data/retry-audit.entity.d.ts.map +1 -1
- package/dist/src/entities/data/retry-audit.entity.js +2 -2
- package/dist/src/entities/data/retry-audit.entity.js.map +1 -1
- package/dist/src/entities/pipeline/pipeline-log.entity.js +1 -1
- package/dist/src/entities/pipeline/pipeline-log.entity.js.map +1 -1
- package/dist/src/entities/pipeline/pipeline-revision.entity.d.ts +1 -1
- package/dist/src/entities/pipeline/pipeline-revision.entity.d.ts.map +1 -1
- package/dist/src/entities/pipeline/pipeline-revision.entity.js +2 -2
- package/dist/src/entities/pipeline/pipeline-revision.entity.js.map +1 -1
- package/dist/src/entities/pipeline/pipeline-run.entity.d.ts +3 -3
- package/dist/src/entities/pipeline/pipeline-run.entity.d.ts.map +1 -1
- package/dist/src/entities/pipeline/pipeline-run.entity.js +4 -4
- package/dist/src/entities/pipeline/pipeline-run.entity.js.map +1 -1
- package/dist/src/entities/pipeline/pipeline.entity.d.ts.map +1 -1
- package/dist/src/entities/pipeline/pipeline.entity.js +1 -4
- package/dist/src/entities/pipeline/pipeline.entity.js.map +1 -1
- package/dist/src/extractors/cdc/cdc.extractor.js +7 -6
- package/dist/src/extractors/cdc/cdc.extractor.js.map +1 -1
- package/dist/src/extractors/database/connection-pool.d.ts +1 -1
- package/dist/src/extractors/database/connection-pool.d.ts.map +1 -1
- package/dist/src/extractors/database/connection-pool.js +84 -7
- package/dist/src/extractors/database/connection-pool.js.map +1 -1
- package/dist/src/extractors/database/database.extractor.d.ts.map +1 -1
- package/dist/src/extractors/database/database.extractor.js +1 -3
- package/dist/src/extractors/database/database.extractor.js.map +1 -1
- package/dist/src/extractors/database/query-builder.d.ts.map +1 -1
- package/dist/src/extractors/database/query-builder.js +15 -19
- package/dist/src/extractors/database/query-builder.js.map +1 -1
- package/dist/src/extractors/ftp/connection.d.ts.map +1 -1
- package/dist/src/extractors/ftp/connection.js +36 -18
- package/dist/src/extractors/ftp/connection.js.map +1 -1
- package/dist/src/extractors/graphql/graphql.extractor.d.ts.map +1 -1
- package/dist/src/extractors/graphql/graphql.extractor.js +8 -1
- package/dist/src/extractors/graphql/graphql.extractor.js.map +1 -1
- package/dist/src/extractors/graphql/helpers.d.ts.map +1 -1
- package/dist/src/extractors/graphql/helpers.js +0 -1
- package/dist/src/extractors/graphql/helpers.js.map +1 -1
- package/dist/src/extractors/graphql/schema.d.ts.map +1 -1
- package/dist/src/extractors/graphql/schema.js +3 -36
- package/dist/src/extractors/graphql/schema.js.map +1 -1
- package/dist/src/extractors/http-api/http-api.extractor.d.ts.map +1 -1
- package/dist/src/extractors/http-api/http-api.extractor.js +3 -1
- package/dist/src/extractors/http-api/http-api.extractor.js.map +1 -1
- package/dist/src/extractors/http-api/response-parser.d.ts.map +1 -1
- package/dist/src/extractors/http-api/response-parser.js +11 -1
- package/dist/src/extractors/http-api/response-parser.js.map +1 -1
- package/dist/src/extractors/http-api/schema.d.ts.map +1 -1
- package/dist/src/extractors/http-api/schema.js +0 -6
- package/dist/src/extractors/http-api/schema.js.map +1 -1
- package/dist/src/extractors/s3/client.d.ts.map +1 -1
- package/dist/src/extractors/s3/client.js +17 -3
- package/dist/src/extractors/s3/client.js.map +1 -1
- package/dist/src/extractors/shared/file-format.utils.d.ts +1 -1
- package/dist/src/extractors/shared/file-format.utils.js +2 -2
- package/dist/src/extractors/shared/file-format.utils.js.map +1 -1
- package/dist/src/feeds/feed-generator.service.d.ts.map +1 -1
- package/dist/src/feeds/feed-generator.service.js +4 -2
- package/dist/src/feeds/feed-generator.service.js.map +1 -1
- package/dist/src/feeds/generators/csv-feed.generator.d.ts.map +1 -1
- package/dist/src/feeds/generators/csv-feed.generator.js +4 -4
- package/dist/src/feeds/generators/csv-feed.generator.js.map +1 -1
- package/dist/src/feeds/generators/feed-helpers.d.ts.map +1 -1
- package/dist/src/feeds/generators/feed-helpers.js +5 -4
- package/dist/src/feeds/generators/feed-helpers.js.map +1 -1
- package/dist/src/feeds/generators/json-feed.generator.js +1 -1
- package/dist/src/feeds/generators/json-feed.generator.js.map +1 -1
- package/dist/src/gql/generated.d.ts +41 -14
- package/dist/src/gql/generated.d.ts.map +1 -1
- package/dist/src/gql/generated.js.map +1 -1
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +19 -5
- package/dist/src/index.js.map +1 -1
- package/dist/src/jobs/handlers/schedule.handler.d.ts.map +1 -1
- package/dist/src/jobs/handlers/schedule.handler.js +6 -4
- package/dist/src/jobs/handlers/schedule.handler.js.map +1 -1
- package/dist/src/jobs/processors/job-processor.js +1 -1
- package/dist/src/jobs/processors/job-processor.js.map +1 -1
- package/dist/src/loaders/asset/asset.loader.d.ts +3 -18
- package/dist/src/loaders/asset/asset.loader.d.ts.map +1 -1
- package/dist/src/loaders/asset/asset.loader.js +4 -20
- package/dist/src/loaders/asset/asset.loader.js.map +1 -1
- package/dist/src/loaders/asset/helpers.d.ts.map +1 -1
- package/dist/src/loaders/asset/helpers.js +19 -9
- package/dist/src/loaders/asset/helpers.js.map +1 -1
- package/dist/src/loaders/base/base-loader.js +1 -1
- package/dist/src/loaders/base/base-loader.js.map +1 -1
- package/dist/src/loaders/base/validation-builder.d.ts.map +1 -1
- package/dist/src/loaders/base/validation-builder.js +0 -1
- package/dist/src/loaders/base/validation-builder.js.map +1 -1
- package/dist/src/loaders/channel/channel.loader.d.ts +3 -27
- package/dist/src/loaders/channel/channel.loader.d.ts.map +1 -1
- package/dist/src/loaders/channel/channel.loader.js +4 -30
- package/dist/src/loaders/channel/channel.loader.js.map +1 -1
- package/dist/src/loaders/channel/helpers.d.ts.map +1 -1
- package/dist/src/loaders/channel/helpers.js +4 -5
- package/dist/src/loaders/channel/helpers.js.map +1 -1
- package/dist/src/loaders/collection/collection.loader.d.ts +3 -17
- package/dist/src/loaders/collection/collection.loader.d.ts.map +1 -1
- package/dist/src/loaders/collection/collection.loader.js +6 -18
- package/dist/src/loaders/collection/collection.loader.js.map +1 -1
- package/dist/src/loaders/collection/helpers.d.ts.map +1 -1
- package/dist/src/loaders/collection/helpers.js +4 -5
- package/dist/src/loaders/collection/helpers.js.map +1 -1
- package/dist/src/loaders/customer/customer.loader.d.ts +3 -15
- package/dist/src/loaders/customer/customer.loader.d.ts.map +1 -1
- package/dist/src/loaders/customer/customer.loader.js +6 -17
- package/dist/src/loaders/customer/customer.loader.js.map +1 -1
- package/dist/src/loaders/customer/helpers.d.ts +0 -1
- package/dist/src/loaders/customer/helpers.d.ts.map +1 -1
- package/dist/src/loaders/customer/helpers.js +9 -12
- package/dist/src/loaders/customer/helpers.js.map +1 -1
- package/dist/src/loaders/customer-group/customer-group.loader.d.ts +3 -15
- package/dist/src/loaders/customer-group/customer-group.loader.d.ts.map +1 -1
- package/dist/src/loaders/customer-group/customer-group.loader.js +3 -16
- package/dist/src/loaders/customer-group/customer-group.loader.js.map +1 -1
- package/dist/src/loaders/facet/facet.loader.d.ts +3 -15
- package/dist/src/loaders/facet/facet.loader.d.ts.map +1 -1
- package/dist/src/loaders/facet/facet.loader.js +4 -17
- package/dist/src/loaders/facet/facet.loader.js.map +1 -1
- package/dist/src/loaders/facet-value/facet-value.loader.d.ts +1 -7
- package/dist/src/loaders/facet-value/facet-value.loader.d.ts.map +1 -1
- package/dist/src/loaders/facet-value/facet-value.loader.js +4 -10
- package/dist/src/loaders/facet-value/facet-value.loader.js.map +1 -1
- package/dist/src/loaders/inventory/inventory.loader.d.ts +4 -13
- package/dist/src/loaders/inventory/inventory.loader.d.ts.map +1 -1
- package/dist/src/loaders/inventory/inventory.loader.js +13 -18
- package/dist/src/loaders/inventory/inventory.loader.js.map +1 -1
- package/dist/src/loaders/order/helpers.d.ts +1 -6
- package/dist/src/loaders/order/helpers.d.ts.map +1 -1
- package/dist/src/loaders/order/helpers.js +12 -31
- package/dist/src/loaders/order/helpers.js.map +1 -1
- package/dist/src/loaders/order/order.loader.d.ts +1 -6
- package/dist/src/loaders/order/order.loader.d.ts.map +1 -1
- package/dist/src/loaders/order/order.loader.js +26 -25
- package/dist/src/loaders/order/order.loader.js.map +1 -1
- package/dist/src/loaders/order/types.d.ts +3 -3
- package/dist/src/loaders/order/types.js +1 -1
- package/dist/src/loaders/payment-method/payment-method.loader.d.ts +3 -33
- package/dist/src/loaders/payment-method/payment-method.loader.d.ts.map +1 -1
- package/dist/src/loaders/payment-method/payment-method.loader.js +10 -42
- package/dist/src/loaders/payment-method/payment-method.loader.js.map +1 -1
- package/dist/src/loaders/product/product.loader.d.ts +3 -15
- package/dist/src/loaders/product/product.loader.d.ts.map +1 -1
- package/dist/src/loaders/product/product.loader.js +3 -16
- package/dist/src/loaders/product/product.loader.js.map +1 -1
- package/dist/src/loaders/product-variant/helpers.d.ts.map +1 -1
- package/dist/src/loaders/product-variant/helpers.js +2 -1
- package/dist/src/loaders/product-variant/helpers.js.map +1 -1
- package/dist/src/loaders/product-variant/product-variant.loader.d.ts +1 -12
- package/dist/src/loaders/product-variant/product-variant.loader.d.ts.map +1 -1
- package/dist/src/loaders/product-variant/product-variant.loader.js +4 -16
- package/dist/src/loaders/product-variant/product-variant.loader.js.map +1 -1
- package/dist/src/loaders/promotion/helpers.d.ts +2 -22
- package/dist/src/loaders/promotion/helpers.d.ts.map +1 -1
- package/dist/src/loaders/promotion/helpers.js +7 -28
- package/dist/src/loaders/promotion/helpers.js.map +1 -1
- package/dist/src/loaders/promotion/promotion.loader.d.ts +3 -15
- package/dist/src/loaders/promotion/promotion.loader.d.ts.map +1 -1
- package/dist/src/loaders/promotion/promotion.loader.js +11 -23
- package/dist/src/loaders/promotion/promotion.loader.js.map +1 -1
- package/dist/src/loaders/shared-helpers.d.ts.map +1 -1
- package/dist/src/loaders/shared-helpers.js +17 -8
- package/dist/src/loaders/shared-helpers.js.map +1 -1
- package/dist/src/loaders/shipping-method/shipping-method.loader.d.ts +3 -15
- package/dist/src/loaders/shipping-method/shipping-method.loader.d.ts.map +1 -1
- package/dist/src/loaders/shipping-method/shipping-method.loader.js +10 -24
- package/dist/src/loaders/shipping-method/shipping-method.loader.js.map +1 -1
- package/dist/src/loaders/stock-location/stock-location.loader.d.ts +3 -15
- package/dist/src/loaders/stock-location/stock-location.loader.d.ts.map +1 -1
- package/dist/src/loaders/stock-location/stock-location.loader.js +3 -16
- package/dist/src/loaders/stock-location/stock-location.loader.js.map +1 -1
- package/dist/src/loaders/tax-rate/helpers.d.ts.map +1 -1
- package/dist/src/loaders/tax-rate/helpers.js +3 -2
- package/dist/src/loaders/tax-rate/helpers.js.map +1 -1
- package/dist/src/loaders/tax-rate/tax-rate.loader.d.ts +3 -23
- package/dist/src/loaders/tax-rate/tax-rate.loader.d.ts.map +1 -1
- package/dist/src/loaders/tax-rate/tax-rate.loader.js +5 -25
- package/dist/src/loaders/tax-rate/tax-rate.loader.js.map +1 -1
- package/dist/src/mappers/helpers/mapping-helpers.d.ts.map +1 -1
- package/dist/src/mappers/helpers/mapping-helpers.js +0 -2
- package/dist/src/mappers/helpers/mapping-helpers.js.map +1 -1
- package/dist/src/mappers/transformers/string/string-transformers.js +2 -2
- package/dist/src/mappers/transformers/string/string-transformers.js.map +1 -1
- package/dist/src/operators/aggregation/helpers.d.ts.map +1 -1
- package/dist/src/operators/aggregation/helpers.js +2 -3
- package/dist/src/operators/aggregation/helpers.js.map +1 -1
- package/dist/src/operators/date/helpers.js +1 -1
- package/dist/src/operators/date/helpers.js.map +1 -1
- package/dist/src/operators/enrichment/helpers.d.ts.map +1 -1
- package/dist/src/operators/enrichment/helpers.js +6 -8
- package/dist/src/operators/enrichment/helpers.js.map +1 -1
- package/dist/src/operators/helpers.d.ts.map +1 -1
- package/dist/src/operators/helpers.js +5 -4
- package/dist/src/operators/helpers.js.map +1 -1
- package/dist/src/operators/index.d.ts +1 -1
- package/dist/src/operators/index.d.ts.map +1 -1
- package/dist/src/operators/index.js +1 -1
- package/dist/src/operators/index.js.map +1 -1
- package/dist/src/operators/json/helpers.js +1 -1
- package/dist/src/operators/json/helpers.js.map +1 -1
- package/dist/src/operators/logic/helpers.d.ts.map +1 -1
- package/dist/src/operators/logic/helpers.js +4 -3
- package/dist/src/operators/logic/helpers.js.map +1 -1
- package/dist/src/operators/numeric/helpers.js +1 -1
- package/dist/src/operators/numeric/helpers.js.map +1 -1
- package/dist/src/operators/script/script.operators.d.ts.map +1 -1
- package/dist/src/operators/script/script.operators.js +17 -8
- package/dist/src/operators/script/script.operators.js.map +1 -1
- package/dist/src/operators/string/helpers.js +3 -3
- package/dist/src/operators/string/helpers.js.map +1 -1
- package/dist/src/parsers/formats/json.parser.d.ts.map +1 -1
- package/dist/src/parsers/formats/json.parser.js +6 -7
- package/dist/src/parsers/formats/json.parser.js.map +1 -1
- package/dist/src/parsers/formats/xml.parser.d.ts.map +1 -1
- package/dist/src/parsers/formats/xml.parser.js +5 -7
- package/dist/src/parsers/formats/xml.parser.js.map +1 -1
- package/dist/src/parsers/helpers/encoding.d.ts.map +1 -1
- package/dist/src/parsers/helpers/encoding.js +4 -3
- package/dist/src/parsers/helpers/encoding.js.map +1 -1
- package/dist/src/parsers/types.d.ts +2 -2
- package/dist/src/parsers/types.js +2 -2
- package/dist/src/runtime/adapter-runtime.service.d.ts +1 -0
- package/dist/src/runtime/adapter-runtime.service.d.ts.map +1 -1
- package/dist/src/runtime/adapter-runtime.service.js +62 -43
- package/dist/src/runtime/adapter-runtime.service.js.map +1 -1
- package/dist/src/runtime/executors/context-adapters.d.ts +4 -9
- package/dist/src/runtime/executors/context-adapters.d.ts.map +1 -1
- package/dist/src/runtime/executors/context-adapters.js +4 -4
- package/dist/src/runtime/executors/context-adapters.js.map +1 -1
- package/dist/src/runtime/executors/export.executor.d.ts.map +1 -1
- package/dist/src/runtime/executors/export.executor.js +10 -7
- package/dist/src/runtime/executors/export.executor.js.map +1 -1
- package/dist/src/runtime/executors/exporters/export-handler-registry.d.ts.map +1 -1
- package/dist/src/runtime/executors/exporters/export-handler-registry.js +0 -8
- package/dist/src/runtime/executors/exporters/export-handler-registry.js.map +1 -1
- package/dist/src/runtime/executors/exporters/export-helpers.js +1 -1
- package/dist/src/runtime/executors/exporters/export-helpers.js.map +1 -1
- package/dist/src/runtime/executors/exporters/http-export.handler.js +2 -2
- package/dist/src/runtime/executors/exporters/http-export.handler.js.map +1 -1
- package/dist/src/runtime/executors/extract.executor.d.ts.map +1 -1
- package/dist/src/runtime/executors/extract.executor.js +0 -1
- package/dist/src/runtime/executors/extract.executor.js.map +1 -1
- package/dist/src/runtime/executors/extractors/file-extract.handler.d.ts +2 -1
- package/dist/src/runtime/executors/extractors/file-extract.handler.d.ts.map +1 -1
- package/dist/src/runtime/executors/extractors/file-extract.handler.js +24 -5
- package/dist/src/runtime/executors/extractors/file-extract.handler.js.map +1 -1
- package/dist/src/runtime/executors/extractors/graphql-extract.handler.d.ts.map +1 -1
- package/dist/src/runtime/executors/extractors/graphql-extract.handler.js +67 -10
- package/dist/src/runtime/executors/extractors/graphql-extract.handler.js.map +1 -1
- package/dist/src/runtime/executors/extractors/rest-extract.handler.d.ts +2 -1
- package/dist/src/runtime/executors/extractors/rest-extract.handler.d.ts.map +1 -1
- package/dist/src/runtime/executors/extractors/rest-extract.handler.js +133 -27
- package/dist/src/runtime/executors/extractors/rest-extract.handler.js.map +1 -1
- package/dist/src/runtime/executors/feed.executor.d.ts +1 -1
- package/dist/src/runtime/executors/feed.executor.js +5 -5
- package/dist/src/runtime/executors/feed.executor.js.map +1 -1
- package/dist/src/runtime/executors/feeds/feed-handler-registry.d.ts.map +1 -1
- package/dist/src/runtime/executors/feeds/feed-handler-registry.js +0 -13
- package/dist/src/runtime/executors/feeds/feed-handler-registry.js.map +1 -1
- package/dist/src/runtime/executors/gate.executor.d.ts.map +1 -1
- package/dist/src/runtime/executors/gate.executor.js +16 -9
- package/dist/src/runtime/executors/gate.executor.js.map +1 -1
- package/dist/src/runtime/executors/load.executor.js +2 -2
- package/dist/src/runtime/executors/load.executor.js.map +1 -1
- package/dist/src/runtime/executors/loaders/channel-handler.d.ts.map +1 -1
- package/dist/src/runtime/executors/loaders/channel-handler.js +16 -20
- package/dist/src/runtime/executors/loaders/channel-handler.js.map +1 -1
- package/dist/src/runtime/executors/loaders/customer-handler.d.ts +1 -1
- package/dist/src/runtime/executors/loaders/customer-handler.d.ts.map +1 -1
- package/dist/src/runtime/executors/loaders/customer-handler.js +20 -20
- package/dist/src/runtime/executors/loaders/customer-handler.js.map +1 -1
- package/dist/src/runtime/executors/loaders/deletion-handler.d.ts.map +1 -1
- package/dist/src/runtime/executors/loaders/deletion-handler.js +16 -14
- package/dist/src/runtime/executors/loaders/deletion-handler.js.map +1 -1
- package/dist/src/runtime/executors/loaders/inventory-handler.d.ts.map +1 -1
- package/dist/src/runtime/executors/loaders/inventory-handler.js +15 -20
- package/dist/src/runtime/executors/loaders/inventory-handler.js.map +1 -1
- package/dist/src/runtime/executors/loaders/loader-handler-registry.d.ts.map +1 -1
- package/dist/src/runtime/executors/loaders/loader-handler-registry.js +0 -11
- package/dist/src/runtime/executors/loaders/loader-handler-registry.js.map +1 -1
- package/dist/src/runtime/executors/loaders/order-handler.d.ts +2 -1
- package/dist/src/runtime/executors/loaders/order-handler.d.ts.map +1 -1
- package/dist/src/runtime/executors/loaders/order-handler.js +20 -10
- package/dist/src/runtime/executors/loaders/order-handler.js.map +1 -1
- package/dist/src/runtime/executors/loaders/product-handler.d.ts +0 -4
- package/dist/src/runtime/executors/loaders/product-handler.d.ts.map +1 -1
- package/dist/src/runtime/executors/loaders/product-handler.js +2 -8
- package/dist/src/runtime/executors/loaders/product-handler.js.map +1 -1
- package/dist/src/runtime/executors/loaders/promotion-handler.js +10 -10
- package/dist/src/runtime/executors/loaders/promotion-handler.js.map +1 -1
- package/dist/src/runtime/executors/loaders/shared-http-client.js +1 -1
- package/dist/src/runtime/executors/loaders/shared-http-client.js.map +1 -1
- package/dist/src/runtime/executors/loaders/shared-lookups.d.ts.map +1 -1
- package/dist/src/runtime/executors/loaders/shared-lookups.js +3 -4
- package/dist/src/runtime/executors/loaders/shared-lookups.js.map +1 -1
- package/dist/src/runtime/executors/loaders/variant-handler.d.ts.map +1 -1
- package/dist/src/runtime/executors/loaders/variant-handler.js +27 -19
- package/dist/src/runtime/executors/loaders/variant-handler.js.map +1 -1
- package/dist/src/runtime/executors/sink-handler-registry.d.ts +2 -0
- package/dist/src/runtime/executors/sink-handler-registry.d.ts.map +1 -1
- package/dist/src/runtime/executors/sink-handler-registry.js +82 -49
- package/dist/src/runtime/executors/sink-handler-registry.js.map +1 -1
- package/dist/src/runtime/executors/sink.executor.js +4 -4
- package/dist/src/runtime/executors/sink.executor.js.map +1 -1
- package/dist/src/runtime/executors/transform.executor.d.ts +1 -1
- package/dist/src/runtime/executors/transform.executor.d.ts.map +1 -1
- package/dist/src/runtime/executors/transform.executor.js +44 -30
- package/dist/src/runtime/executors/transform.executor.js.map +1 -1
- package/dist/src/runtime/helpers/dry-run-simulator.js +4 -4
- package/dist/src/runtime/helpers/dry-run-simulator.js.map +1 -1
- package/dist/src/runtime/helpers/execution-lifecycle.d.ts +1 -0
- package/dist/src/runtime/helpers/execution-lifecycle.d.ts.map +1 -1
- package/dist/src/runtime/helpers/execution-lifecycle.js +2 -2
- package/dist/src/runtime/helpers/execution-lifecycle.js.map +1 -1
- package/dist/src/runtime/orchestration/graph-executor.d.ts +1 -0
- package/dist/src/runtime/orchestration/graph-executor.d.ts.map +1 -1
- package/dist/src/runtime/orchestration/graph-executor.js +31 -36
- package/dist/src/runtime/orchestration/graph-executor.js.map +1 -1
- package/dist/src/runtime/orchestration/linear-executor.d.ts +3 -0
- package/dist/src/runtime/orchestration/linear-executor.d.ts.map +1 -1
- package/dist/src/runtime/orchestration/linear-executor.js +3 -13
- package/dist/src/runtime/orchestration/linear-executor.js.map +1 -1
- package/dist/src/runtime/orchestration/replay-executor.d.ts.map +1 -1
- package/dist/src/runtime/orchestration/replay-executor.js +17 -3
- package/dist/src/runtime/orchestration/replay-executor.js.map +1 -1
- package/dist/src/runtime/orchestration/throughput-controller.d.ts.map +1 -1
- package/dist/src/runtime/orchestration/throughput-controller.js +0 -5
- package/dist/src/runtime/orchestration/throughput-controller.js.map +1 -1
- package/dist/src/runtime/sandbox/safe-evaluator.d.ts.map +1 -1
- package/dist/src/runtime/sandbox/safe-evaluator.js +3 -6
- package/dist/src/runtime/sandbox/safe-evaluator.js.map +1 -1
- package/dist/src/runtime/utils.d.ts +1 -1
- package/dist/src/runtime/utils.d.ts.map +1 -1
- package/dist/src/runtime/utils.js +7 -4
- package/dist/src/runtime/utils.js.map +1 -1
- package/dist/src/sdk/adapters/queue/internal.adapter.d.ts +3 -14
- package/dist/src/sdk/adapters/queue/internal.adapter.d.ts.map +1 -1
- package/dist/src/sdk/adapters/queue/internal.adapter.js +41 -27
- package/dist/src/sdk/adapters/queue/internal.adapter.js.map +1 -1
- package/dist/src/sdk/adapters/queue/queue-adapter.interface.d.ts +24 -23
- package/dist/src/sdk/adapters/queue/queue-adapter.interface.d.ts.map +1 -1
- package/dist/src/sdk/adapters/queue/rabbitmq-amqp.adapter.d.ts.map +1 -1
- package/dist/src/sdk/adapters/queue/rabbitmq-amqp.adapter.js +1 -3
- package/dist/src/sdk/adapters/queue/rabbitmq-amqp.adapter.js.map +1 -1
- package/dist/src/sdk/adapters/queue/rabbitmq.adapter.d.ts +2 -17
- package/dist/src/sdk/adapters/queue/rabbitmq.adapter.d.ts.map +1 -1
- package/dist/src/sdk/adapters/queue/rabbitmq.adapter.js +9 -20
- package/dist/src/sdk/adapters/queue/rabbitmq.adapter.js.map +1 -1
- package/dist/src/sdk/adapters/queue/redis-streams.adapter.d.ts.map +1 -1
- package/dist/src/sdk/adapters/queue/redis-streams.adapter.js +11 -3
- package/dist/src/sdk/adapters/queue/redis-streams.adapter.js.map +1 -1
- package/dist/src/sdk/adapters/queue/sqs.adapter.d.ts +1 -1
- package/dist/src/sdk/adapters/queue/sqs.adapter.d.ts.map +1 -1
- package/dist/src/sdk/adapters/queue/sqs.adapter.js +5 -4
- package/dist/src/sdk/adapters/queue/sqs.adapter.js.map +1 -1
- package/dist/src/sdk/constants.d.ts +1 -1
- package/dist/src/sdk/constants.d.ts.map +1 -1
- package/dist/src/sdk/constants.js +2 -1
- package/dist/src/sdk/constants.js.map +1 -1
- package/dist/src/sdk/dsl/pipeline-builder.js +1 -1
- package/dist/src/sdk/dsl/pipeline-builder.js.map +1 -1
- package/dist/src/sdk/dsl/step-configs.d.ts +51 -10
- package/dist/src/sdk/dsl/step-configs.d.ts.map +1 -1
- package/dist/src/sdk/dsl/transform-builder.d.ts +2 -2
- package/dist/src/sdk/dsl/transform-builder.d.ts.map +1 -1
- package/dist/src/sdk/dsl/transform-builder.js +2 -2
- package/dist/src/sdk/dsl/transform-builder.js.map +1 -1
- package/dist/src/sdk/dsl/validation-helpers.js +3 -3
- package/dist/src/sdk/dsl/validation-helpers.js.map +1 -1
- package/dist/src/sdk/registry.service.js +2 -2
- package/dist/src/sdk/registry.service.js.map +1 -1
- package/dist/src/sdk/types/connection-types.d.ts +1 -1
- package/dist/src/sdk/types/connection-types.d.ts.map +1 -1
- package/dist/src/services/analytics/time-series.helpers.d.ts.map +1 -1
- package/dist/src/services/analytics/time-series.helpers.js +4 -6
- package/dist/src/services/analytics/time-series.helpers.js.map +1 -1
- package/dist/src/services/config/connection.service.d.ts.map +1 -1
- package/dist/src/services/config/connection.service.js +11 -1
- package/dist/src/services/config/connection.service.js.map +1 -1
- package/dist/src/services/config/secret.service.d.ts +1 -1
- package/dist/src/services/config/secret.service.d.ts.map +1 -1
- package/dist/src/services/config/secret.service.js +15 -8
- package/dist/src/services/config/secret.service.js.map +1 -1
- package/dist/src/services/config/settings.service.d.ts.map +1 -1
- package/dist/src/services/config/settings.service.js +0 -2
- package/dist/src/services/config/settings.service.js.map +1 -1
- package/dist/src/services/data/checkpoint.service.d.ts.map +1 -1
- package/dist/src/services/data/checkpoint.service.js +14 -8
- package/dist/src/services/data/checkpoint.service.js.map +1 -1
- package/dist/src/services/data/record-error.service.d.ts.map +1 -1
- package/dist/src/services/data/record-error.service.js +0 -13
- package/dist/src/services/data/record-error.service.js.map +1 -1
- package/dist/src/services/destinations/delivery-utils.d.ts +1 -1
- package/dist/src/services/destinations/delivery-utils.d.ts.map +1 -1
- package/dist/src/services/destinations/delivery-utils.js +4 -2
- package/dist/src/services/destinations/delivery-utils.js.map +1 -1
- package/dist/src/services/destinations/destination-handler-registry.d.ts.map +1 -1
- package/dist/src/services/destinations/destination-handler-registry.js +9 -5
- package/dist/src/services/destinations/destination-handler-registry.js.map +1 -1
- package/dist/src/services/destinations/email.handler.js +1 -1
- package/dist/src/services/destinations/email.handler.js.map +1 -1
- package/dist/src/services/destinations/ftp.handler.js +1 -1
- package/dist/src/services/destinations/ftp.handler.js.map +1 -1
- package/dist/src/services/destinations/http.handler.d.ts.map +1 -1
- package/dist/src/services/destinations/http.handler.js +1 -0
- package/dist/src/services/destinations/http.handler.js.map +1 -1
- package/dist/src/services/destinations/s3.handler.d.ts.map +1 -1
- package/dist/src/services/destinations/s3.handler.js +25 -11
- package/dist/src/services/destinations/s3.handler.js.map +1 -1
- package/dist/src/services/events/consumer-discovery.d.ts.map +1 -1
- package/dist/src/services/events/consumer-discovery.js +13 -12
- package/dist/src/services/events/consumer-discovery.js.map +1 -1
- package/dist/src/services/events/domain-events.service.d.ts.map +1 -1
- package/dist/src/services/events/domain-events.service.js +2 -2
- package/dist/src/services/events/domain-events.service.js.map +1 -1
- package/dist/src/services/events/event-trigger.service.d.ts.map +1 -1
- package/dist/src/services/events/event-trigger.service.js +56 -9
- package/dist/src/services/events/event-trigger.service.js.map +1 -1
- package/dist/src/services/events/file-watch.service.d.ts +6 -1
- package/dist/src/services/events/file-watch.service.d.ts.map +1 -1
- package/dist/src/services/events/file-watch.service.js +133 -48
- package/dist/src/services/events/file-watch.service.js.map +1 -1
- package/dist/src/services/events/hook.service.d.ts.map +1 -1
- package/dist/src/services/events/hook.service.js +64 -12
- package/dist/src/services/events/hook.service.js.map +1 -1
- package/dist/src/services/events/message-consumer.service.d.ts +3 -1
- package/dist/src/services/events/message-consumer.service.d.ts.map +1 -1
- package/dist/src/services/events/message-consumer.service.js +6 -4
- package/dist/src/services/events/message-consumer.service.js.map +1 -1
- package/dist/src/services/events/message-processing.d.ts +4 -1
- package/dist/src/services/events/message-processing.d.ts.map +1 -1
- package/dist/src/services/events/message-processing.js +47 -6
- package/dist/src/services/events/message-processing.js.map +1 -1
- package/dist/src/services/logger/sanitizer.d.ts.map +1 -1
- package/dist/src/services/logger/sanitizer.js +4 -5
- package/dist/src/services/logger/sanitizer.js.map +1 -1
- package/dist/src/services/pipeline/pipeline-log.service.d.ts +0 -4
- package/dist/src/services/pipeline/pipeline-log.service.d.ts.map +1 -1
- package/dist/src/services/pipeline/pipeline-log.service.js +2 -14
- package/dist/src/services/pipeline/pipeline-log.service.js.map +1 -1
- package/dist/src/services/pipeline/pipeline-runner.service.d.ts +6 -1
- package/dist/src/services/pipeline/pipeline-runner.service.d.ts.map +1 -1
- package/dist/src/services/pipeline/pipeline-runner.service.js +111 -17
- package/dist/src/services/pipeline/pipeline-runner.service.js.map +1 -1
- package/dist/src/services/pipeline/pipeline.service.d.ts +8 -4
- package/dist/src/services/pipeline/pipeline.service.d.ts.map +1 -1
- package/dist/src/services/pipeline/pipeline.service.js +51 -35
- package/dist/src/services/pipeline/pipeline.service.js.map +1 -1
- package/dist/src/services/rate-limit/rate-limit.service.d.ts.map +1 -1
- package/dist/src/services/rate-limit/rate-limit.service.js +3 -5
- package/dist/src/services/rate-limit/rate-limit.service.js.map +1 -1
- package/dist/src/services/runtime/batch-rollback.service.d.ts.map +1 -1
- package/dist/src/services/runtime/batch-rollback.service.js +1 -6
- package/dist/src/services/runtime/batch-rollback.service.js.map +1 -1
- package/dist/src/services/runtime/distributed-lock.service.d.ts.map +1 -1
- package/dist/src/services/runtime/distributed-lock.service.js +10 -12
- package/dist/src/services/runtime/distributed-lock.service.js.map +1 -1
- package/dist/src/services/runtime/lock-backends/lock-backend.factory.d.ts +1 -1
- package/dist/src/services/runtime/lock-backends/lock-backend.factory.d.ts.map +1 -1
- package/dist/src/services/runtime/lock-backends/lock-backend.factory.js +5 -4
- package/dist/src/services/runtime/lock-backends/lock-backend.factory.js.map +1 -1
- package/dist/src/services/storage/storage-backend.factory.d.ts.map +1 -1
- package/dist/src/services/storage/storage-backend.factory.js +2 -1
- package/dist/src/services/storage/storage-backend.factory.js.map +1 -1
- package/dist/src/services/validation/adapter-validation.js +2 -2
- package/dist/src/services/validation/adapter-validation.js.map +1 -1
- package/dist/src/services/validation/definition-validation.service.d.ts.map +1 -1
- package/dist/src/services/validation/definition-validation.service.js +1 -1
- package/dist/src/services/validation/definition-validation.service.js.map +1 -1
- package/dist/src/services/validation/trigger-validation.d.ts.map +1 -1
- package/dist/src/services/validation/trigger-validation.js +23 -29
- package/dist/src/services/validation/trigger-validation.js.map +1 -1
- package/dist/src/services/versioning/field-detection.d.ts.map +1 -1
- package/dist/src/services/versioning/field-detection.js +0 -1
- package/dist/src/services/versioning/field-detection.js.map +1 -1
- package/dist/src/services/versioning/impact-collectors.d.ts.map +1 -1
- package/dist/src/services/versioning/impact-collectors.js +26 -11
- package/dist/src/services/versioning/impact-collectors.js.map +1 -1
- package/dist/src/services/versioning/revision.service.d.ts.map +1 -1
- package/dist/src/services/versioning/revision.service.js +4 -1
- package/dist/src/services/versioning/revision.service.js.map +1 -1
- package/dist/src/services/versioning/sandbox/load-operation-simulator.d.ts.map +1 -1
- package/dist/src/services/versioning/sandbox/load-operation-simulator.js +26 -10
- package/dist/src/services/versioning/sandbox/load-operation-simulator.js.map +1 -1
- package/dist/src/services/webhooks/webhook-retry.service.d.ts +1 -1
- package/dist/src/services/webhooks/webhook-retry.service.d.ts.map +1 -1
- package/dist/src/services/webhooks/webhook-retry.service.js +27 -22
- package/dist/src/services/webhooks/webhook-retry.service.js.map +1 -1
- package/dist/src/services/webhooks/webhook.helpers.js +1 -1
- package/dist/src/services/webhooks/webhook.helpers.js.map +1 -1
- package/dist/src/templates/defaults.js +6 -6
- package/dist/src/templates/defaults.js.map +1 -1
- package/dist/src/templates/imports/types.d.ts +1 -1
- package/dist/src/templates/imports/types.js +1 -1
- package/dist/src/transforms/field/date-transforms.js +15 -15
- package/dist/src/transforms/field/date-transforms.js.map +1 -1
- package/dist/src/transforms/field/number-transforms.d.ts +0 -26
- package/dist/src/transforms/field/number-transforms.d.ts.map +1 -1
- package/dist/src/transforms/field/number-transforms.js +0 -26
- package/dist/src/transforms/field/number-transforms.js.map +1 -1
- package/dist/src/transforms/helpers/expression-eval.d.ts +0 -1
- package/dist/src/transforms/helpers/expression-eval.d.ts.map +1 -1
- package/dist/src/transforms/helpers/expression-eval.js +15 -26
- package/dist/src/transforms/helpers/expression-eval.js.map +1 -1
- package/dist/src/transforms/record/lookup-transforms.js +1 -1
- package/dist/src/transforms/record/lookup-transforms.js.map +1 -1
- package/dist/src/types/loader-configs.d.ts +6 -6
- package/dist/src/types/loader-configs.d.ts.map +1 -1
- package/dist/src/types/plugin-options.d.ts +0 -10
- package/dist/src/types/plugin-options.d.ts.map +1 -1
- package/dist/src/types/step-configs.d.ts +13 -5
- package/dist/src/types/step-configs.d.ts.map +1 -1
- package/dist/src/types/step-configs.js.map +1 -1
- package/dist/src/types/typed-config.js +1 -1
- package/dist/src/types/typed-config.js.map +1 -1
- package/dist/src/utils/code-security.utils.d.ts.map +1 -1
- package/dist/src/utils/code-security.utils.js +11 -13
- package/dist/src/utils/code-security.utils.js.map +1 -1
- package/dist/src/utils/encryption.utils.d.ts +2 -2
- package/dist/src/utils/encryption.utils.d.ts.map +1 -1
- package/dist/src/utils/encryption.utils.js +13 -17
- package/dist/src/utils/encryption.utils.js.map +1 -1
- package/dist/src/utils/object-path.utils.d.ts.map +1 -1
- package/dist/src/utils/object-path.utils.js +22 -6
- package/dist/src/utils/object-path.utils.js.map +1 -1
- package/dist/src/utils/retry.utils.js +14 -14
- package/dist/src/utils/retry.utils.js.map +1 -1
- package/dist/src/utils/sql-security.utils.d.ts.map +1 -1
- package/dist/src/utils/sql-security.utils.js +6 -3
- package/dist/src/utils/sql-security.utils.js.map +1 -1
- package/dist/src/utils/url-security.utils.d.ts +21 -0
- package/dist/src/utils/url-security.utils.d.ts.map +1 -1
- package/dist/src/utils/url-security.utils.js +71 -3
- package/dist/src/utils/url-security.utils.js.map +1 -1
- package/dist/src/validation/pipeline-definition.validator.js +3 -11
- package/dist/src/validation/pipeline-definition.validator.js.map +1 -1
- package/docs/deployment/README.md +1 -1
- package/docs/deployment/configuration.md +4 -4
- package/docs/deployment/migrations.md +2 -3
- package/docs/deployment/permissions.md +1 -1
- package/docs/deployment/production.md +4 -4
- package/docs/deployment/troubleshooting.md +27 -18
- package/docs/developer-guide/architecture.md +2 -2
- package/docs/developer-guide/extending/README.md +6 -6
- package/docs/developer-guide/extending/events.md +2 -2
- package/docs/developer-guide/graphql-api.md +36 -117
- package/docs/examples/validation-error-messages.md +1 -1
- package/docs/getting-started/quick-start.md +1 -1
- package/docs/guides/multi-entity.md +0 -1
- package/docs/reference/extractors.md +19 -24
- package/docs/reference/operators-complete.md +1 -1
- package/docs/user-guide/external-integrations.md +1 -1
- package/docs/user-guide/queue-messaging.md +14 -11
- package/docs/user-guide/recipes.md +0 -1
- package/docs/user-guide/wizards.md +0 -1
- package/package.json +3 -1
- package/sdk/types/connection-types.ts +9 -0
- package/shared/constants/step-type-configs.ts +2 -2
- package/shared/types/adapter-config.types.ts +3 -3
- package/shared/types/adapter.types.ts +1 -1
- package/shared/types/execution.types.ts +2 -5
- package/shared/types/extractor.types.ts +1 -1
- package/shared/types/index.ts +1 -1
- package/shared/types/pipeline.types.ts +2 -3
- package/shared/types/step.types.ts +3 -4
- package/shared/types/trigger.types.ts +4 -28
- package/shared/utils/csv-parse.ts +2 -2
- package/shared/utils/validation.ts +1 -1
- package/shared/vendure-schemas.ts +1 -1
- package/dist/src/api/types/args.d.ts +0 -12
- package/dist/src/api/types/args.d.ts.map +0 -1
- package/dist/src/api/types/args.js +0 -13
- 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 =
|
|
91
|
+
const handleRefetch = () => logsQuery.refetch();
|
|
92
92
|
|
|
93
|
-
const handleRunIdChange =
|
|
93
|
+
const handleRunIdChange = (e: React.ChangeEvent<HTMLInputElement>) => {
|
|
94
94
|
setRunId(e.target.value);
|
|
95
95
|
setPage(1);
|
|
96
|
-
}
|
|
96
|
+
};
|
|
97
97
|
|
|
98
|
-
const handleClearRunId =
|
|
98
|
+
const handleClearRunId = () => {
|
|
99
99
|
setRunId('');
|
|
100
100
|
setPage(1);
|
|
101
|
-
}
|
|
101
|
+
};
|
|
102
102
|
|
|
103
|
-
const handlePipelineChange =
|
|
103
|
+
const handlePipelineChange = (v: string) => {
|
|
104
104
|
setPipelineId(v === FILTER_VALUES.ALL ? '' : v);
|
|
105
105
|
setPage(1);
|
|
106
|
-
}
|
|
106
|
+
};
|
|
107
107
|
|
|
108
|
-
const handleLevelChange =
|
|
108
|
+
const handleLevelChange = (v: string) => {
|
|
109
109
|
setLevel(v === FILTER_VALUES.ALL ? '' : v);
|
|
110
110
|
setPage(1);
|
|
111
|
-
}
|
|
111
|
+
};
|
|
112
112
|
|
|
113
|
-
const handleStartDateChange =
|
|
113
|
+
const handleStartDateChange = (e: React.ChangeEvent<HTMLInputElement>) => {
|
|
114
114
|
setStartDate(e.target.value);
|
|
115
115
|
setPage(1);
|
|
116
|
-
}
|
|
116
|
+
};
|
|
117
117
|
|
|
118
|
-
const handleEndDateChange =
|
|
118
|
+
const handleEndDateChange = (e: React.ChangeEvent<HTMLInputElement>) => {
|
|
119
119
|
setEndDate(e.target.value);
|
|
120
120
|
setPage(1);
|
|
121
|
-
}
|
|
121
|
+
};
|
|
122
122
|
|
|
123
|
-
const handleSearchChange =
|
|
123
|
+
const handleSearchChange = (e: React.ChangeEvent<HTMLInputElement>) => {
|
|
124
124
|
setSearch(e.target.value);
|
|
125
125
|
setPage(1);
|
|
126
|
-
}
|
|
126
|
+
};
|
|
127
127
|
|
|
128
|
-
const handlePrevPage =
|
|
129
|
-
setPage(p => Math.max(1, p - 1));
|
|
130
|
-
}, []);
|
|
128
|
+
const handlePrevPage = () => setPage(p => Math.max(1, p - 1));
|
|
131
129
|
|
|
132
|
-
const handleNextPage =
|
|
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-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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={() =>
|
|
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,
|
|
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={
|
|
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({
|
|
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
|
-
|
|
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
|
-
<
|
|
101
|
+
<label htmlFor="retry-patch-json" className="text-sm font-medium">Patch JSON</label>
|
|
100
102
|
<textarea
|
|
101
|
-
|
|
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">
|
|
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
|
-
{
|
|
23
|
-
|
|
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
|
-
{
|
|
132
|
-
|
|
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
|
-
{
|
|
143
|
-
|
|
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
|
|
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'
|
|
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
|
)}
|
|
@@ -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
|
-
{
|
|
168
|
-
<Badge variant="secondary" className="ml-2">{
|
|
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=
|
|
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={
|
|
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 =
|
|
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?: '
|
|
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
|
-
|
|
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, ' $
|
|
24
|
-
.replace(
|
|
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(
|
|
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
|
-
*
|
|
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;
|