@owox/backend 0.35.0 → 0.36.0
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/dist/src/common/exceptions/concurrency-limit-exceeded.exception.d.ts +1 -1
- package/dist/src/common/exceptions/concurrency-limit-exceeded.exception.js +2 -2
- package/dist/src/common/markdown/markdown-parser.service.d.ts +2 -0
- package/dist/src/common/markdown/markdown-parser.service.js +15 -8
- package/dist/src/common/validators/max-byte-length.validator.d.ts +2 -0
- package/dist/src/common/validators/max-byte-length.validator.js +29 -0
- package/dist/src/config/env-validation.config.d.ts +12 -0
- package/dist/src/config/env-validation.config.js +7 -0
- package/dist/src/data-marts/ai-insights/agent/types.d.ts +6 -6
- package/dist/src/data-marts/calculated-fields/calculated-field-validator.service.js +22 -30
- package/dist/src/data-marts/calculated-fields/calculated-field.utils.d.ts +1 -0
- package/dist/src/data-marts/calculated-fields/calculated-field.utils.js +21 -0
- package/dist/src/data-marts/calculated-fields/formula-analyzer.d.ts +1 -0
- package/dist/src/data-marts/calculated-fields/formula-analyzer.js +2 -0
- package/dist/src/data-marts/calculated-fields/formula-violations.d.ts +7 -0
- package/dist/src/data-marts/calculated-fields/formula-violations.js +82 -1
- package/dist/src/data-marts/calculated-fields/join-grain.d.ts +32 -0
- package/dist/src/data-marts/calculated-fields/join-grain.js +107 -0
- package/dist/src/data-marts/calculated-fields/set-quantifier.d.ts +8 -0
- package/dist/src/data-marts/calculated-fields/set-quantifier.js +12 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/connector-message.schema.d.ts +66 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/connector-message.schema.js +13 -1
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-credentials-update.schema.d.ts +3 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-credentials-update.schema.js +1 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-error.schema.d.ts +3 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-error.schema.js +1 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-log.schema.d.ts +12 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-log.schema.js +4 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-requested-date.schema.d.ts +3 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-requested-date.schema.js +1 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-state-update.schema.d.ts +16 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-state-update.schema.js +16 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-status.schema.d.ts +3 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-status.schema.js +1 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-warning.schema.d.ts +3 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-warning.schema.js +1 -0
- package/dist/src/data-marts/connector-types/connector-message/services/connector-event.translator.d.ts +10 -0
- package/dist/src/data-marts/connector-types/connector-message/services/connector-event.translator.js +138 -0
- package/dist/src/data-marts/connector-types/connector-message/services/connector-message-parser.service.d.ts +1 -3
- package/dist/src/data-marts/connector-types/connector-message/services/connector-message-parser.service.js +30 -34
- package/dist/src/data-marts/connector-types/connector-message/services/connector-output-capture.service.js +10 -12
- package/dist/src/data-marts/connector-types/connector-message/services/connector-state.service.js +3 -1
- package/dist/src/data-marts/connector-types/enums/connector-message-type-enum.d.ts +1 -0
- package/dist/src/data-marts/connector-types/enums/connector-message-type-enum.js +1 -0
- package/dist/src/data-marts/controllers/connector-definition.controller.d.ts +30 -0
- package/dist/src/data-marts/controllers/connector-definition.controller.js +252 -0
- package/dist/src/data-marts/controllers/data-mart-preview.controller.d.ts +10 -0
- package/dist/src/data-marts/controllers/data-mart-preview.controller.js +58 -0
- package/dist/src/data-marts/controllers/data-mart.controller.d.ts +5 -1
- package/dist/src/data-marts/controllers/data-mart.controller.js +25 -4
- package/dist/src/data-marts/controllers/insight-template.controller.js +4 -4
- package/dist/src/data-marts/controllers/insight.controller.js +5 -5
- package/dist/src/data-marts/controllers/project-data-mart-runs.controller.js +1 -1
- package/dist/src/data-marts/controllers/spec/connector-definition.api.d.ts +12 -0
- package/dist/src/data-marts/controllers/spec/connector-definition.api.js +179 -0
- package/dist/src/data-marts/controllers/spec/data-mart.api.d.ts +1 -0
- package/dist/src/data-marts/controllers/spec/data-mart.api.js +5 -0
- package/dist/src/data-marts/controllers/spec/report-openapi.d.ts +18 -0
- package/dist/src/data-marts/controllers/spec/report-openapi.js +3 -0
- package/dist/src/data-marts/data-marts.module.js +20 -2
- package/dist/src/data-marts/data-storage-types/blending/metric-sleeve.planner.js +3 -12
- package/dist/src/data-marts/data-storage-types/data-mart-schema.utils.d.ts +1 -0
- package/dist/src/data-marts/data-storage-types/data-mart-schema.utils.js +16 -0
- package/dist/src/data-marts/dto/domain/blendable-schema.dto.d.ts +10 -0
- package/dist/src/data-marts/dto/domain/blendable-schema.dto.js +71 -1
- package/dist/src/data-marts/dto/domain/create-data-mart.command.d.ts +3 -1
- package/dist/src/data-marts/dto/domain/create-data-mart.command.js +3 -1
- package/dist/src/data-marts/dto/domain/create-report.command.d.ts +3 -1
- package/dist/src/data-marts/dto/domain/create-report.command.js +3 -1
- package/dist/src/data-marts/dto/domain/data-mart-list-item.dto.d.ts +3 -1
- package/dist/src/data-marts/dto/domain/data-mart-list-item.dto.js +3 -1
- package/dist/src/data-marts/dto/domain/data-mart.dto.d.ts +4 -1
- package/dist/src/data-marts/dto/domain/data-mart.dto.js +5 -1
- package/dist/src/data-marts/dto/domain/model-canvas.dto.d.ts +4 -0
- package/dist/src/data-marts/dto/domain/report-like-read-plan.d.ts +2 -0
- package/dist/src/data-marts/dto/domain/report.dto.d.ts +3 -1
- package/dist/src/data-marts/dto/domain/report.dto.js +3 -1
- package/dist/src/data-marts/dto/domain/update-data-mart-icon.command.d.ts +9 -0
- package/dist/src/data-marts/dto/domain/update-data-mart-icon.command.js +19 -0
- package/dist/src/data-marts/dto/domain/update-report.command.d.ts +3 -1
- package/dist/src/data-marts/dto/domain/update-report.command.js +3 -1
- package/dist/src/data-marts/dto/presentation/create-data-mart-request-api.dto.d.ts +2 -0
- package/dist/src/data-marts/dto/presentation/create-data-mart-request-api.dto.js +13 -0
- package/dist/src/data-marts/dto/presentation/create-report-request-api.dto.d.ts +2 -0
- package/dist/src/data-marts/dto/presentation/create-report-request-api.dto.js +10 -0
- package/dist/src/data-marts/dto/presentation/custom-connector-response.dto.d.ts +46 -0
- package/dist/src/data-marts/dto/presentation/custom-connector-response.dto.js +216 -0
- package/dist/src/data-marts/dto/presentation/custom-connector.dto.d.ts +27 -0
- package/dist/src/data-marts/dto/presentation/custom-connector.dto.js +159 -0
- package/dist/src/data-marts/dto/presentation/data-mart-list-item-response-api.dto.d.ts +2 -0
- package/dist/src/data-marts/dto/presentation/data-mart-list-item-response-api.dto.js +10 -0
- package/dist/src/data-marts/dto/presentation/data-mart-response-api.dto.d.ts +2 -0
- package/dist/src/data-marts/dto/presentation/data-mart-response-api.dto.js +10 -0
- package/dist/src/data-marts/dto/presentation/model-canvas-response-api.dto.d.ts +4 -0
- package/dist/src/data-marts/dto/presentation/model-canvas-response-api.dto.js +20 -0
- package/dist/src/data-marts/dto/presentation/preview-data-mart-request-api.dto.d.ts +7 -0
- package/dist/src/data-marts/dto/presentation/preview-data-mart-request-api.dto.js +56 -0
- package/dist/src/data-marts/dto/presentation/preview-data-mart-response-api.dto.d.ts +12 -0
- package/dist/src/data-marts/dto/presentation/preview-data-mart-response-api.dto.js +64 -0
- package/dist/src/data-marts/dto/presentation/report-response-api.dto.d.ts +2 -0
- package/dist/src/data-marts/dto/presentation/report-response-api.dto.js +6 -0
- package/dist/src/data-marts/dto/presentation/run-data-mart-request-api.dto.js +67 -0
- package/dist/src/data-marts/dto/presentation/update-data-mart-description-api.dto.js +3 -0
- package/dist/src/data-marts/dto/presentation/update-data-mart-icon-api.dto.d.ts +4 -0
- package/dist/src/data-marts/dto/presentation/update-data-mart-icon-api.dto.js +30 -0
- package/dist/src/data-marts/dto/presentation/update-report-request-api.dto.d.ts +2 -0
- package/dist/src/data-marts/dto/presentation/update-report-request-api.dto.js +10 -0
- package/dist/src/data-marts/dto/schemas/auto-aggregation-opt-out.schema.d.ts +15 -0
- package/dist/src/data-marts/dto/schemas/auto-aggregation-opt-out.schema.js +29 -0
- package/dist/src/data-marts/dto/schemas/data-mart-run/data-mart-run.schema.d.ts +9 -0
- package/dist/src/data-marts/dto/schemas/data-mart-table-definitions/connector-definition.schema.d.ts +15 -0
- package/dist/src/data-marts/dto/schemas/data-mart-table-definitions/connector-definition.schema.js +1 -0
- package/dist/src/data-marts/dto/schemas/data-mart-table-definitions/data-mart-definition.schema.d.ts +7 -0
- package/dist/src/data-marts/dto/schemas/data-quality/data-quality-run.schema.d.ts +20 -0
- package/dist/src/data-marts/entities/connector-definition-version.entity.d.ts +16 -0
- package/dist/src/data-marts/entities/connector-definition-version.entity.js +78 -0
- package/dist/src/data-marts/entities/connector-definition.entity.d.ts +14 -0
- package/dist/src/data-marts/entities/connector-definition.entity.js +82 -0
- package/dist/src/data-marts/entities/data-mart.entity.d.ts +2 -0
- package/dist/src/data-marts/entities/data-mart.entity.js +5 -0
- package/dist/src/data-marts/entities/report.entity.d.ts +2 -0
- package/dist/src/data-marts/entities/report.entity.js +11 -0
- package/dist/src/data-marts/enums/data-mart-icon.enum.d.ts +75 -0
- package/dist/src/data-marts/enums/data-mart-icon.enum.js +80 -0
- package/dist/src/data-marts/errors/connector-credential-boundary.error.d.ts +3 -0
- package/dist/src/data-marts/errors/connector-credential-boundary.error.js +14 -0
- package/dist/src/data-marts/facades/mcp-data-marts.facade.d.ts +2 -0
- package/dist/src/data-marts/facades/mcp-data-marts.facade.impl.d.ts +7 -1
- package/dist/src/data-marts/facades/mcp-data-marts.facade.impl.js +70 -5
- package/dist/src/data-marts/mappers/connector-definition.mapper.d.ts +14 -0
- package/dist/src/data-marts/mappers/connector-definition.mapper.js +57 -0
- package/dist/src/data-marts/mappers/data-mart.mapper.d.ts +9 -6
- package/dist/src/data-marts/mappers/data-mart.mapper.js +44 -19
- package/dist/src/data-marts/mappers/insight-template.mapper.d.ts +1 -1
- package/dist/src/data-marts/mappers/insight-template.mapper.js +2 -2
- package/dist/src/data-marts/mappers/insight.mapper.d.ts +1 -1
- package/dist/src/data-marts/mappers/insight.mapper.js +2 -2
- package/dist/src/data-marts/mappers/model-canvas.mapper.d.ts +10 -2
- package/dist/src/data-marts/mappers/model-canvas.mapper.js +9 -3
- package/dist/src/data-marts/mappers/report.mapper.js +4 -3
- package/dist/src/data-marts/services/auto-collapse.resolver.d.ts +1 -1
- package/dist/src/data-marts/services/auto-collapse.resolver.js +4 -0
- package/dist/src/data-marts/services/blendable-schema.service.d.ts +2 -0
- package/dist/src/data-marts/services/blendable-schema.service.js +59 -0
- package/dist/src/data-marts/services/connector/connector-credential-injector.service.d.ts +1 -1
- package/dist/src/data-marts/services/connector/connector-credential-injector.service.js +15 -1
- package/dist/src/data-marts/services/connector/connector-definition.service.d.ts +59 -0
- package/dist/src/data-marts/services/connector/connector-definition.service.js +491 -0
- package/dist/src/data-marts/services/connector/connector-executor.service.d.ts +9 -1
- package/dist/src/data-marts/services/connector/connector-executor.service.js +173 -63
- package/dist/src/data-marts/services/connector/connector-fields-preview.service.js +1 -1
- package/dist/src/data-marts/services/connector/connector-message.utils.js +2 -2
- package/dist/src/data-marts/services/connector/connector-preview-credentials.service.js +1 -1
- package/dist/src/data-marts/services/connector/connector-preview-support.d.ts +1 -1
- package/dist/src/data-marts/services/connector/connector-preview-support.js +14 -21
- package/dist/src/data-marts/services/connector/connector-process-spawner.service.d.ts +11 -2
- package/dist/src/data-marts/services/connector/connector-process-spawner.service.js +88 -60
- package/dist/src/data-marts/services/connector/connector-secret.service.d.ts +6 -3
- package/dist/src/data-marts/services/connector/connector-secret.service.js +77 -12
- package/dist/src/data-marts/services/connector/connector-source-config.service.js +1 -1
- package/dist/src/data-marts/services/connector/connector-source-credentials.service.d.ts +6 -2
- package/dist/src/data-marts/services/connector/connector-source-credentials.service.js +18 -16
- package/dist/src/data-marts/services/connector/connector-specification.mapper.d.ts +47 -0
- package/dist/src/data-marts/services/connector/connector-specification.mapper.js +46 -0
- package/dist/src/data-marts/services/connector/connector-test.service.d.ts +43 -0
- package/dist/src/data-marts/services/connector/connector-test.service.js +343 -0
- package/dist/src/data-marts/services/connector/connector.service.d.ts +8 -2
- package/dist/src/data-marts/services/connector/connector.service.js +65 -54
- package/dist/src/data-marts/services/connector/declarative-manifest-schemas.d.ts +4 -0
- package/dist/src/data-marts/services/connector/declarative-manifest-schemas.js +48 -0
- package/dist/src/data-marts/services/connector/run-log-flusher.d.ts +21 -0
- package/dist/src/data-marts/services/connector/run-log-flusher.js +67 -0
- package/dist/src/data-marts/services/data-mart.service.js +2 -0
- package/dist/src/data-marts/services/report-sql-composer.service.js +15 -1
- package/dist/src/data-marts/services/report.service.d.ts +1 -0
- package/dist/src/data-marts/services/report.service.js +13 -0
- package/dist/src/data-marts/services/scheduled-trigger.service.d.ts +1 -0
- package/dist/src/data-marts/services/scheduled-trigger.service.js +13 -0
- package/dist/src/data-marts/use-cases/create-data-mart.service.js +1 -0
- package/dist/src/data-marts/use-cases/create-report.service.js +2 -0
- package/dist/src/data-marts/use-cases/get-model-canvas-data-marts.service.d.ts +5 -1
- package/dist/src/data-marts/use-cases/get-model-canvas-data-marts.service.js +16 -3
- package/dist/src/data-marts/use-cases/list-project-scheduled-triggers.service.js +1 -1
- package/dist/src/data-marts/use-cases/preview-data-mart.service.d.ts +59 -0
- package/dist/src/data-marts/use-cases/preview-data-mart.service.js +293 -0
- package/dist/src/data-marts/use-cases/stream-http-data.service.js +1 -0
- package/dist/src/data-marts/use-cases/update-data-mart-definition.service.d.ts +1 -1
- package/dist/src/data-marts/use-cases/update-data-mart-definition.service.js +8 -6
- package/dist/src/data-marts/use-cases/update-data-mart-icon.service.d.ts +12 -0
- package/dist/src/data-marts/use-cases/update-data-mart-icon.service.js +46 -0
- package/dist/src/data-marts/use-cases/update-data-mart-schema.service.js +14 -1
- package/dist/src/data-marts/use-cases/update-report.service.js +9 -1
- package/dist/src/ee/ee.module.js +5 -8
- package/dist/src/ee/mcp/auth/mcp-auth-context.d.ts +0 -4
- package/dist/src/ee/mcp/auth/mcp-auth.middleware.d.ts +26 -0
- package/dist/src/ee/mcp/auth/mcp-auth.middleware.js +184 -0
- package/dist/src/ee/mcp/http-headers.util.d.ts +2 -0
- package/dist/src/ee/mcp/http-headers.util.js +8 -0
- package/dist/src/ee/mcp/observability/mcp-bus-wiring.js +4 -4
- package/dist/src/ee/mcp/observability/mcp-call-instrumentation.d.ts +2 -4
- package/dist/src/ee/mcp/observability/mcp-call-instrumentation.js +6 -6
- package/dist/src/ee/mcp/sdk/mcp-sdk-server.factory.d.ts +1 -1
- package/dist/src/ee/mcp/sdk/mcp-sdk-server.factory.js +5 -5
- package/dist/src/ee/mcp/tools/add-destination.tool.d.ts +20 -14
- package/dist/src/ee/mcp/tools/add-destination.tool.js +10 -10
- package/dist/src/ee/mcp/tools/add-report.tool.d.ts +88 -228
- package/dist/src/ee/mcp/tools/add-report.tool.js +28 -28
- package/dist/src/ee/mcp/tools/create-report-run-schedule.tool.d.ts +2 -12
- package/dist/src/ee/mcp/tools/create-report-run-schedule.tool.js +13 -13
- package/dist/src/ee/mcp/tools/data-mart-catalog.tool.d.ts +15 -81
- package/dist/src/ee/mcp/tools/data-mart-catalog.tool.js +11 -11
- package/dist/src/ee/mcp/tools/data-mart-details.tool.d.ts +19 -111
- package/dist/src/ee/mcp/tools/data-mart-details.tool.js +64 -48
- package/dist/src/ee/mcp/tools/delete-report-run-schedule.tool.d.ts +2 -6
- package/dist/src/ee/mcp/tools/delete-report-run-schedule.tool.js +7 -7
- package/dist/src/ee/mcp/tools/delete-report.tool.d.ts +2 -6
- package/dist/src/ee/mcp/tools/delete-report.tool.js +4 -4
- package/dist/src/ee/mcp/tools/get-data-mart-reports.tool.d.ts +30 -195
- package/dist/src/ee/mcp/tools/get-data-mart-reports.tool.js +22 -22
- package/dist/src/ee/mcp/tools/get-report-output-schema.tool.d.ts +3 -21
- package/dist/src/ee/mcp/tools/get-report-output-schema.tool.js +10 -10
- package/dist/src/ee/mcp/tools/get-report-run-status.tool.d.ts +15 -11
- package/dist/src/ee/mcp/tools/get-report-run-status.tool.js +14 -14
- package/dist/src/ee/mcp/tools/list-destinations.tool.d.ts +12 -20
- package/dist/src/ee/mcp/tools/list-destinations.tool.js +10 -10
- package/dist/src/ee/mcp/tools/list-report-run-schedules.tool.d.ts +5 -61
- package/dist/src/ee/mcp/tools/list-report-run-schedules.tool.js +14 -14
- package/dist/src/ee/mcp/tools/mcp-getting-started.util.d.ts +4 -52
- package/dist/src/ee/mcp/tools/mcp-getting-started.util.js +13 -13
- package/dist/src/ee/mcp/tools/mcp-tool.definition.d.ts +2 -2
- package/dist/src/ee/mcp/tools/project-context.tool.d.ts +3 -17
- package/dist/src/ee/mcp/tools/project-context.tool.js +10 -10
- package/dist/src/ee/mcp/tools/query-data-mart.input.d.ts +111 -152
- package/dist/src/ee/mcp/tools/query-data-mart.input.js +39 -39
- package/dist/src/ee/mcp/tools/query-data-mart.tool.d.ts +60 -130
- package/dist/src/ee/mcp/tools/query-data-mart.tool.js +35 -35
- package/dist/src/ee/mcp/tools/report-output-controls-output.d.ts +17 -60
- package/dist/src/ee/mcp/tools/report-output-controls-output.js +20 -20
- package/dist/src/ee/mcp/tools/report-run-outcome.d.ts +6 -42
- package/dist/src/ee/mcp/tools/report-run-outcome.js +20 -20
- package/dist/src/ee/mcp/tools/run-report.tool.d.ts +2 -6
- package/dist/src/ee/mcp/tools/run-report.tool.js +5 -5
- package/dist/src/ee/mcp/tools/search-data-marts.tool.d.ts +7 -79
- package/dist/src/ee/mcp/tools/search-data-marts.tool.js +11 -11
- package/dist/src/ee/mcp/tools/search-reports.tool.d.ts +15 -61
- package/dist/src/ee/mcp/tools/search-reports.tool.js +15 -15
- package/dist/src/ee/mcp/tools/summarize-data-catalog.tool.d.ts +7 -79
- package/dist/src/ee/mcp/tools/summarize-data-catalog.tool.js +15 -15
- package/dist/src/ee/mcp/tools/update-report-run-schedule.tool.d.ts +2 -12
- package/dist/src/ee/mcp/tools/update-report-run-schedule.tool.js +13 -13
- package/dist/src/ee/mcp/tools/update-report.tool.d.ts +105 -414
- package/dist/src/ee/mcp/tools/update-report.tool.js +20 -20
- package/dist/src/ee/mcp/transport/mcp-http-entry.service.d.ts +30 -0
- package/dist/src/ee/mcp/transport/mcp-http-entry.service.js +193 -0
- package/dist/src/idp/guards/idp.guard.js +2 -8
- package/dist/src/idp/oauth/controllers/oauth-authorization.controller.d.ts +4 -0
- package/dist/src/idp/oauth/controllers/oauth-authorization.controller.js +77 -1
- package/dist/src/idp/oauth/controllers/oauth-metadata.controller.d.ts +2 -1
- package/dist/src/idp/oauth/controllers/oauth-metadata.controller.js +5 -8
- package/dist/src/idp/oauth/controllers/oauth-token.controller.js +14 -1
- package/dist/src/idp/oauth/oauth-request.validator.d.ts +8 -0
- package/dist/src/idp/oauth/oauth-request.validator.js +27 -0
- package/dist/src/idp/utils/is-authentication-error.d.ts +1 -0
- package/dist/src/idp/utils/is-authentication-error.js +9 -0
- package/dist/src/idp/utils/role-hierarchy.d.ts +3 -0
- package/dist/src/idp/utils/role-hierarchy.js +14 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +3 -1
- package/dist/src/migrations/1788048000000-create-connector-definition-tables.d.ts +6 -0
- package/dist/src/migrations/1788048000000-create-connector-definition-tables.js +116 -0
- package/dist/src/migrations/1790156789783-add-auto-aggregation-opt-out-to-report.d.ts +8 -0
- package/dist/src/migrations/1790156789783-add-auto-aggregation-opt-out-to-report.js +30 -0
- package/dist/src/migrations/1790247861000-add-icon-to-data-mart.d.ts +8 -0
- package/dist/src/migrations/1790247861000-add-icon-to-data-mart.js +31 -0
- package/package.json +10 -6
- package/dist/src/ee/mcp/auth/mcp-auth.exception-filter.d.ts +0 -14
- package/dist/src/ee/mcp/auth/mcp-auth.exception-filter.js +0 -84
- package/dist/src/ee/mcp/auth/mcp-auth.guard.d.ts +0 -14
- package/dist/src/ee/mcp/auth/mcp-auth.guard.js +0 -99
- package/dist/src/ee/mcp/controllers/mcp-transport.controller.d.ts +0 -17
- package/dist/src/ee/mcp/controllers/mcp-transport.controller.js +0 -134
- package/dist/src/ee/mcp/sdk/mcp-streamable-http-transport.handler.d.ts +0 -16
- package/dist/src/ee/mcp/sdk/mcp-streamable-http-transport.handler.js +0 -133
|
@@ -27,6 +27,10 @@ function resolveAutoCollapse(report) {
|
|
|
27
27
|
filtersIntoHaving(report.filterConfig, schemaFields)) {
|
|
28
28
|
return { kind: 'none', reason: 'analyst-aggregated' };
|
|
29
29
|
}
|
|
30
|
+
const optedOut = new Set(report.autoAggregationOptOut ?? []);
|
|
31
|
+
if (columns.some(name => optedOut.has(name))) {
|
|
32
|
+
return { kind: 'none', reason: 'analyst-opted-out' };
|
|
33
|
+
}
|
|
30
34
|
const projectedColumns = new Set(columns);
|
|
31
35
|
if ((report.sortConfig ?? []).some(rule => !projectedColumns.has(rule.column))) {
|
|
32
36
|
return { kind: 'none', reason: 'sort-outside-projection' };
|
|
@@ -2,6 +2,7 @@ import { BlendableSchemaDto } from '../dto/domain/blendable-schema.dto';
|
|
|
2
2
|
import { DataMartRelationshipService } from './data-mart-relationship.service';
|
|
3
3
|
import { DataMartService } from './data-mart.service';
|
|
4
4
|
import { AccessDecisionService } from './access-decision';
|
|
5
|
+
import { DataMartSchema } from '../data-storage-types/data-mart-schema.type';
|
|
5
6
|
import { type CalculatedFieldConfig } from '../calculated-fields/calculated-field.utils';
|
|
6
7
|
import { BigQueryFieldMode } from '../data-storage-types/bigquery/enums/bigquery-field-mode.enum';
|
|
7
8
|
import { IdpProjectionsFacade } from '../../idp/facades/idp-projections.facade';
|
|
@@ -35,6 +36,7 @@ export declare class BlendableSchemaService {
|
|
|
35
36
|
constructor(relationshipService: DataMartRelationshipService, dataMartService: DataMartService, accessDecisionService: AccessDecisionService);
|
|
36
37
|
computeBlendableSchema(dataMartId: string, projectId: string, accessor: BlendableSchemaAccessor, options?: {
|
|
37
38
|
includeDraftTargets?: boolean;
|
|
39
|
+
unsavedMainSchemaFields?: DataMartSchema['fields'];
|
|
38
40
|
}): Promise<BlendableSchemaDto>;
|
|
39
41
|
private applyReportingAccess;
|
|
40
42
|
private collectBlendedFields;
|
|
@@ -67,6 +67,46 @@ function flattenSchemaFields(fields, prefix = '', includeDisconnectedFields = fa
|
|
|
67
67
|
}
|
|
68
68
|
return result;
|
|
69
69
|
}
|
|
70
|
+
const CLEAN_GRAIN = { multiplication: 'none', keyFields: [], collapse: 'none' };
|
|
71
|
+
function worseGrain(parent, hop) {
|
|
72
|
+
const parentSide = () => {
|
|
73
|
+
const pick = parent.multiplication === 'multiplies'
|
|
74
|
+
? parent
|
|
75
|
+
: hop.multiplication === 'multiplies'
|
|
76
|
+
? hop
|
|
77
|
+
: parent.multiplication === 'unknown'
|
|
78
|
+
? parent
|
|
79
|
+
: hop;
|
|
80
|
+
const { multiplication, keyFields, unprovenAt, multipliedAt } = pick;
|
|
81
|
+
return { multiplication, keyFields, unprovenAt, multipliedAt };
|
|
82
|
+
};
|
|
83
|
+
const collapsing = parent.collapse === 'collapses' ? parent : hop;
|
|
84
|
+
return {
|
|
85
|
+
...parentSide(),
|
|
86
|
+
collapse: collapsing.collapse,
|
|
87
|
+
collapsedAt: collapsing.collapsedAt,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
const covers = (key, primaryKey) => primaryKey.length > 0 && primaryKey.every(component => key.includes(component));
|
|
91
|
+
function hopGrain(parentPrimaryKey, targetPrimaryKey, joinConditions, parentPath, aliasPath) {
|
|
92
|
+
const parentKey = joinConditions.map(c => c.sourceFieldName);
|
|
93
|
+
const targetKey = joinConditions.map(c => c.targetFieldName);
|
|
94
|
+
const collapse = covers(targetKey, targetPrimaryKey)
|
|
95
|
+
? { collapse: 'none' }
|
|
96
|
+
: { collapse: 'collapses', collapsedAt: aliasPath };
|
|
97
|
+
if (parentPrimaryKey.length === 0) {
|
|
98
|
+
return { multiplication: 'unknown', keyFields: [], unprovenAt: parentPath, ...collapse };
|
|
99
|
+
}
|
|
100
|
+
if (covers(parentKey, parentPrimaryKey)) {
|
|
101
|
+
return { multiplication: 'none', keyFields: [], ...collapse };
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
multiplication: 'multiplies',
|
|
105
|
+
keyFields: parentKey,
|
|
106
|
+
multipliedAt: aliasPath,
|
|
107
|
+
...collapse,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
70
110
|
let BlendableSchemaService = class BlendableSchemaService {
|
|
71
111
|
relationshipService;
|
|
72
112
|
dataMartService;
|
|
@@ -79,6 +119,7 @@ let BlendableSchemaService = class BlendableSchemaService {
|
|
|
79
119
|
async computeBlendableSchema(dataMartId, projectId, accessor, options = {}) {
|
|
80
120
|
const dataMart = await this.dataMartService.getByIdAndProjectId(dataMartId, projectId);
|
|
81
121
|
const rawSchemaFields = dataMart.schema?.fields ?? [];
|
|
122
|
+
const mainPrimaryKey = (0, data_mart_schema_utils_1.declaredPrimaryKeyFields)(options.unsavedMainSchemaFields ?? rawSchemaFields);
|
|
82
123
|
const nativeFields = rawSchemaFields
|
|
83
124
|
.filter(f => !f.isHiddenForReporting)
|
|
84
125
|
.map(f => (0, calculated_field_utils_1.isCalculatedField)(f)
|
|
@@ -114,6 +155,8 @@ let BlendableSchemaService = class BlendableSchemaService {
|
|
|
114
155
|
depth: 1,
|
|
115
156
|
storageType: dataMart.storage.type,
|
|
116
157
|
includeDraftTargets: options.includeDraftTargets === true,
|
|
158
|
+
parentPrimaryKey: mainPrimaryKey,
|
|
159
|
+
parentGrain: CLEAN_GRAIN,
|
|
117
160
|
});
|
|
118
161
|
await this.applyReportingAccess(availableSources, projectId, accessor);
|
|
119
162
|
let issueSources = availableSources;
|
|
@@ -133,6 +176,8 @@ let BlendableSchemaService = class BlendableSchemaService {
|
|
|
133
176
|
depth: 1,
|
|
134
177
|
storageType: dataMart.storage.type,
|
|
135
178
|
includeDraftTargets: false,
|
|
179
|
+
parentPrimaryKey: mainPrimaryKey,
|
|
180
|
+
parentGrain: CLEAN_GRAIN,
|
|
136
181
|
});
|
|
137
182
|
const publishedPaths = new Set(publishedSources.map(source => source.aliasPath));
|
|
138
183
|
issueSources = availableSources.filter(source => publishedPaths.has(source.aliasPath));
|
|
@@ -217,6 +262,18 @@ let BlendableSchemaService = class BlendableSchemaService {
|
|
|
217
262
|
availableSource.dataMartId = rel.targetDataMart.id;
|
|
218
263
|
availableSource.uniqueCountAvailability = (0, data_mart_schema_utils_1.classifyJoinedUniqueCountAvailability)(rel.targetDataMart.schema?.fields ?? []);
|
|
219
264
|
availableSource.uniqueCountKeyFields = (0, data_mart_schema_utils_1.collectPrimaryKeyRowIdentity)(rel.targetDataMart.schema?.fields ?? []);
|
|
265
|
+
const targetPrimaryKey = (0, data_mart_schema_utils_1.declaredPrimaryKeyFields)(rel.targetDataMart.schema?.fields ?? []);
|
|
266
|
+
const grain = worseGrain(ctx.parentGrain, hopGrain(ctx.parentPrimaryKey, targetPrimaryKey, rel.joinConditions, ctx.parentPath, currentPath));
|
|
267
|
+
availableSource.mainGrainMultiplication = grain.multiplication;
|
|
268
|
+
availableSource.mainGrainKeyFields = [...grain.keyFields];
|
|
269
|
+
if (grain.unprovenAt !== undefined)
|
|
270
|
+
availableSource.mainGrainUnprovenAt = grain.unprovenAt;
|
|
271
|
+
if (grain.multipliedAt !== undefined) {
|
|
272
|
+
availableSource.mainGrainMultipliedAt = grain.multipliedAt;
|
|
273
|
+
}
|
|
274
|
+
availableSource.mainGrainCollapse = grain.collapse;
|
|
275
|
+
if (grain.collapsedAt !== undefined)
|
|
276
|
+
availableSource.mainGrainCollapsedAt = grain.collapsedAt;
|
|
220
277
|
ctx.availableSources.push(availableSource);
|
|
221
278
|
for (const field of flatTargetFields) {
|
|
222
279
|
const fieldOverride = sourceConfig?.fields?.[field.name];
|
|
@@ -255,6 +312,8 @@ let BlendableSchemaService = class BlendableSchemaService {
|
|
|
255
312
|
...ctx,
|
|
256
313
|
sourceId: rel.targetDataMart.id,
|
|
257
314
|
parentPath: currentPath,
|
|
315
|
+
parentPrimaryKey: targetPrimaryKey,
|
|
316
|
+
parentGrain: grain,
|
|
258
317
|
hiddenFieldNames: ctx.hiddenFieldNames,
|
|
259
318
|
branchDmIds: new Set([...ctx.branchDmIds, rel.targetDataMart.id]),
|
|
260
319
|
depth: ctx.depth + 1,
|
|
@@ -11,6 +11,6 @@ export declare class ConnectorCredentialInjectorService {
|
|
|
11
11
|
refreshCredentialsForConfig(projectId: string, connectorName: string, config: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
12
12
|
private injectOAuthCredentialsRecursive;
|
|
13
13
|
private refreshCredentialsRecursive;
|
|
14
|
-
injectSecrets(config: Record<string, unknown>, projectId: string): Promise<Record<string, unknown>>;
|
|
14
|
+
injectSecrets(config: Record<string, unknown>, projectId: string, connectorName: string): Promise<Record<string, unknown>>;
|
|
15
15
|
private resolveMapping;
|
|
16
16
|
}
|
|
@@ -15,6 +15,7 @@ const common_1 = require("@nestjs/common");
|
|
|
15
15
|
const connector_source_credentials_service_1 = require("./connector-source-credentials.service");
|
|
16
16
|
const connector_service_1 = require("./connector.service");
|
|
17
17
|
const connector_secret_service_1 = require("./connector-secret.service");
|
|
18
|
+
const connector_credential_boundary_error_1 = require("../../errors/connector-credential-boundary.error");
|
|
18
19
|
const connectors_1 = require("@owox/connectors");
|
|
19
20
|
const { GENERATED_REFRESH_TOKEN_CREDENTIAL_FIELD, GENERATED_REFRESH_TOKEN_CONFIG_FIELD } = connectors_1.Core;
|
|
20
21
|
let ConnectorCredentialInjectorService = ConnectorCredentialInjectorService_1 = class ConnectorCredentialInjectorService {
|
|
@@ -50,6 +51,9 @@ let ConnectorCredentialInjectorService = ConnectorCredentialInjectorService_1 =
|
|
|
50
51
|
this.logger.warn(`OAuth credentials ${credentialId} belong to project ${credentialsEntity.projectId}, not ${projectId}. Skipping injection.`);
|
|
51
52
|
return obj;
|
|
52
53
|
}
|
|
54
|
+
if (credentialsEntity.connectorName !== connectorName) {
|
|
55
|
+
throw new connector_credential_boundary_error_1.ConnectorCredentialBoundaryError(`OAuth credentials ${credentialId} belong to connector ${credentialsEntity.connectorName}, not ${connectorName}.`);
|
|
56
|
+
}
|
|
53
57
|
const isExpired = await this.connectorSourceCredentialsService.isExpired(credentialId);
|
|
54
58
|
if (isExpired) {
|
|
55
59
|
this.logger.warn(`OAuth tokens expired for credential ID: ${credentialId}. Connector may fail. Please re-authorize.`);
|
|
@@ -81,6 +85,9 @@ let ConnectorCredentialInjectorService = ConnectorCredentialInjectorService_1 =
|
|
|
81
85
|
return { ...restObj, ...resolvedConfig };
|
|
82
86
|
}
|
|
83
87
|
catch (error) {
|
|
88
|
+
if (error instanceof connector_credential_boundary_error_1.ConnectorCredentialBoundaryError) {
|
|
89
|
+
throw error;
|
|
90
|
+
}
|
|
84
91
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
85
92
|
this.logger.error(`Failed to inject OAuth credentials for ID: ${credentialId}: ${errorMessage}`, error instanceof Error ? error.stack : undefined);
|
|
86
93
|
return obj;
|
|
@@ -108,6 +115,9 @@ let ConnectorCredentialInjectorService = ConnectorCredentialInjectorService_1 =
|
|
|
108
115
|
return obj;
|
|
109
116
|
}
|
|
110
117
|
catch (error) {
|
|
118
|
+
if (error instanceof connector_credential_boundary_error_1.ConnectorCredentialBoundaryError) {
|
|
119
|
+
throw error;
|
|
120
|
+
}
|
|
111
121
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
112
122
|
this.logger.warn(`Failed to refresh credentials for ${credentialId}: ${errorMessage}. Using existing credentials.`);
|
|
113
123
|
return obj;
|
|
@@ -119,7 +129,7 @@ let ConnectorCredentialInjectorService = ConnectorCredentialInjectorService_1 =
|
|
|
119
129
|
}
|
|
120
130
|
return result;
|
|
121
131
|
}
|
|
122
|
-
async injectSecrets(config, projectId) {
|
|
132
|
+
async injectSecrets(config, projectId, connectorName) {
|
|
123
133
|
const secretsId = config._secrets_id;
|
|
124
134
|
if (!secretsId) {
|
|
125
135
|
return config;
|
|
@@ -134,6 +144,10 @@ let ConnectorCredentialInjectorService = ConnectorCredentialInjectorService_1 =
|
|
|
134
144
|
this.logger.warn(`Secrets ${secretsId} belong to project ${secretsEntity.projectId}, not ${projectId}. Skipping injection.`);
|
|
135
145
|
return config;
|
|
136
146
|
}
|
|
147
|
+
if (secretsEntity.connectorName?.toLowerCase() !== connectorName.toLowerCase()) {
|
|
148
|
+
this.logger.warn(`Secrets ${secretsId} were saved for connector ${secretsEntity.connectorName}, not ${connectorName}. Skipping injection.`);
|
|
149
|
+
return config;
|
|
150
|
+
}
|
|
137
151
|
const { _secrets_id: _, ...restConfig } = config;
|
|
138
152
|
const result = JSON.parse(JSON.stringify(restConfig));
|
|
139
153
|
const { [GENERATED_REFRESH_TOKEN_CREDENTIAL_FIELD]: generatedRefreshToken, ...credentials } = secretsEntity.credentials;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Repository } from 'typeorm';
|
|
2
|
+
import { ConnectorDefinition } from '../../entities/connector-definition.entity';
|
|
3
|
+
import { ConnectorDefinitionVersion } from '../../entities/connector-definition-version.entity';
|
|
4
|
+
import { AccessDecisionService } from '../access-decision';
|
|
5
|
+
import { DataMartService } from '../data-mart.service';
|
|
6
|
+
export type ConnectorDefinitionVersionSummary = Pick<ConnectorDefinitionVersion, 'id' | 'version' | 'status' | 'publishedAt'>;
|
|
7
|
+
export interface PublishedConnectorVersion {
|
|
8
|
+
version: ConnectorDefinitionVersion;
|
|
9
|
+
warnings: string[];
|
|
10
|
+
}
|
|
11
|
+
export interface ConnectorVersionActor {
|
|
12
|
+
userId: string;
|
|
13
|
+
roles: string[];
|
|
14
|
+
}
|
|
15
|
+
export interface CreateConnectorDefinitionInput {
|
|
16
|
+
name: string;
|
|
17
|
+
title: string;
|
|
18
|
+
description?: string | null;
|
|
19
|
+
logo?: string | null;
|
|
20
|
+
docUrl?: string | null;
|
|
21
|
+
manifest: Record<string, unknown>;
|
|
22
|
+
}
|
|
23
|
+
export interface UpdateConnectorDefinitionMetadataInput {
|
|
24
|
+
title?: string;
|
|
25
|
+
description?: string | null;
|
|
26
|
+
logo?: string | null;
|
|
27
|
+
docUrl?: string | null;
|
|
28
|
+
}
|
|
29
|
+
export declare class ConnectorDefinitionService {
|
|
30
|
+
private readonly definitionRepo;
|
|
31
|
+
private readonly versionRepo;
|
|
32
|
+
private readonly dataMartService;
|
|
33
|
+
private readonly accessDecisionService;
|
|
34
|
+
private readonly logger;
|
|
35
|
+
constructor(definitionRepo: Repository<ConnectorDefinition>, versionRepo: Repository<ConnectorDefinitionVersion>, dataMartService: DataMartService, accessDecisionService: AccessDecisionService);
|
|
36
|
+
create(projectId: string, userId: string, input: CreateConnectorDefinitionInput): Promise<ConnectorDefinition>;
|
|
37
|
+
listByProject(projectId: string): Promise<ConnectorDefinition[]>;
|
|
38
|
+
getById(projectId: string, id: string): Promise<ConnectorDefinition>;
|
|
39
|
+
updateMetadata(projectId: string, id: string, patch: UpdateConnectorDefinitionMetadataInput): Promise<ConnectorDefinition>;
|
|
40
|
+
listVersions(projectId: string, id: string): Promise<ConnectorDefinitionVersionSummary[]>;
|
|
41
|
+
getVersion(projectId: string, id: string, version: number): Promise<ConnectorDefinitionVersion>;
|
|
42
|
+
resolveManifest(projectId: string, name: string, version?: number): Promise<Record<string, unknown>>;
|
|
43
|
+
tryResolveManifest(projectId: string, name: string, version?: number): Promise<Record<string, unknown> | null>;
|
|
44
|
+
saveDraft(projectId: string, id: string, manifest: Record<string, unknown>): Promise<ConnectorDefinitionVersion>;
|
|
45
|
+
publish(projectId: string, id: string, actor: ConnectorVersionActor): Promise<PublishedConnectorVersion>;
|
|
46
|
+
private canLockRows;
|
|
47
|
+
private assertNodesHavePrimaryKeys;
|
|
48
|
+
setActiveVersion(projectId: string, id: string, version: number, actor: ConnectorVersionActor): Promise<ConnectorDefinition>;
|
|
49
|
+
private displayFieldsOf;
|
|
50
|
+
private assertMayChangeActiveVersion;
|
|
51
|
+
getActiveVersionNumberForDef(def: ConnectorDefinition): Promise<number | null>;
|
|
52
|
+
getActiveVersionNumbersByDefId(defs: ConnectorDefinition[]): Promise<Map<string, number>>;
|
|
53
|
+
softDelete(projectId: string, id: string): Promise<void>;
|
|
54
|
+
private reportSecretCoverage;
|
|
55
|
+
private collectSecretsCarryingValues;
|
|
56
|
+
private assertManifestFitsSpawn;
|
|
57
|
+
private resolveActivePublished;
|
|
58
|
+
private assertNameAvailable;
|
|
59
|
+
}
|