@owox/backend 0.35.0 → 0.37.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.
Files changed (294) hide show
  1. package/dist/src/common/exceptions/concurrency-limit-exceeded.exception.d.ts +1 -1
  2. package/dist/src/common/exceptions/concurrency-limit-exceeded.exception.js +2 -2
  3. package/dist/src/common/markdown/markdown-parser.service.d.ts +2 -0
  4. package/dist/src/common/markdown/markdown-parser.service.js +15 -8
  5. package/dist/src/common/validators/max-byte-length.validator.d.ts +2 -0
  6. package/dist/src/common/validators/max-byte-length.validator.js +29 -0
  7. package/dist/src/config/env-validation.config.d.ts +12 -0
  8. package/dist/src/config/env-validation.config.js +7 -0
  9. package/dist/src/data-marts/ai-insights/agent/types.d.ts +6 -6
  10. package/dist/src/data-marts/calculated-fields/calculated-field-validator.service.js +22 -30
  11. package/dist/src/data-marts/calculated-fields/calculated-field.utils.d.ts +1 -0
  12. package/dist/src/data-marts/calculated-fields/calculated-field.utils.js +21 -0
  13. package/dist/src/data-marts/calculated-fields/formula-analyzer.d.ts +1 -0
  14. package/dist/src/data-marts/calculated-fields/formula-analyzer.js +2 -0
  15. package/dist/src/data-marts/calculated-fields/formula-violations.d.ts +7 -0
  16. package/dist/src/data-marts/calculated-fields/formula-violations.js +82 -1
  17. package/dist/src/data-marts/calculated-fields/join-grain.d.ts +32 -0
  18. package/dist/src/data-marts/calculated-fields/join-grain.js +107 -0
  19. package/dist/src/data-marts/calculated-fields/set-quantifier.d.ts +8 -0
  20. package/dist/src/data-marts/calculated-fields/set-quantifier.js +12 -0
  21. package/dist/src/data-marts/connector-types/connector-message/schemas/connector-message.schema.d.ts +66 -0
  22. package/dist/src/data-marts/connector-types/connector-message/schemas/connector-message.schema.js +13 -1
  23. package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-credentials-update.schema.d.ts +3 -0
  24. package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-credentials-update.schema.js +1 -0
  25. package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-error.schema.d.ts +3 -0
  26. package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-error.schema.js +1 -0
  27. package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-log.schema.d.ts +12 -0
  28. package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-log.schema.js +4 -0
  29. package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-requested-date.schema.d.ts +3 -0
  30. package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-requested-date.schema.js +1 -0
  31. package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-state-update.schema.d.ts +16 -0
  32. package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-state-update.schema.js +16 -0
  33. package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-status.schema.d.ts +3 -0
  34. package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-status.schema.js +1 -0
  35. package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-warning.schema.d.ts +3 -0
  36. package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-warning.schema.js +1 -0
  37. package/dist/src/data-marts/connector-types/connector-message/services/connector-event.translator.d.ts +10 -0
  38. package/dist/src/data-marts/connector-types/connector-message/services/connector-event.translator.js +138 -0
  39. package/dist/src/data-marts/connector-types/connector-message/services/connector-message-parser.service.d.ts +1 -3
  40. package/dist/src/data-marts/connector-types/connector-message/services/connector-message-parser.service.js +30 -34
  41. package/dist/src/data-marts/connector-types/connector-message/services/connector-output-capture.service.js +10 -12
  42. package/dist/src/data-marts/connector-types/connector-message/services/connector-state.service.js +3 -1
  43. package/dist/src/data-marts/connector-types/enums/connector-message-type-enum.d.ts +1 -0
  44. package/dist/src/data-marts/connector-types/enums/connector-message-type-enum.js +1 -0
  45. package/dist/src/data-marts/controllers/connector-definition.controller.d.ts +30 -0
  46. package/dist/src/data-marts/controllers/connector-definition.controller.js +252 -0
  47. package/dist/src/data-marts/controllers/data-mart-preview.controller.d.ts +10 -0
  48. package/dist/src/data-marts/controllers/data-mart-preview.controller.js +58 -0
  49. package/dist/src/data-marts/controllers/data-mart.controller.d.ts +5 -1
  50. package/dist/src/data-marts/controllers/data-mart.controller.js +25 -4
  51. package/dist/src/data-marts/controllers/insight-template.controller.js +4 -4
  52. package/dist/src/data-marts/controllers/insight.controller.js +5 -5
  53. package/dist/src/data-marts/controllers/project-data-mart-runs.controller.js +1 -1
  54. package/dist/src/data-marts/controllers/spec/connector-definition.api.d.ts +12 -0
  55. package/dist/src/data-marts/controllers/spec/connector-definition.api.js +179 -0
  56. package/dist/src/data-marts/controllers/spec/data-mart.api.d.ts +1 -0
  57. package/dist/src/data-marts/controllers/spec/data-mart.api.js +10 -5
  58. package/dist/src/data-marts/controllers/spec/report-openapi.d.ts +18 -0
  59. package/dist/src/data-marts/controllers/spec/report-openapi.js +3 -0
  60. package/dist/src/data-marts/data-marts.module.js +20 -2
  61. package/dist/src/data-marts/data-storage-types/blending/metric-sleeve.planner.js +3 -12
  62. package/dist/src/data-marts/data-storage-types/data-mart-schema.utils.d.ts +1 -0
  63. package/dist/src/data-marts/data-storage-types/data-mart-schema.utils.js +16 -0
  64. package/dist/src/data-marts/dto/domain/blendable-schema.dto.d.ts +10 -0
  65. package/dist/src/data-marts/dto/domain/blendable-schema.dto.js +71 -1
  66. package/dist/src/data-marts/dto/domain/create-data-mart.command.d.ts +3 -1
  67. package/dist/src/data-marts/dto/domain/create-data-mart.command.js +3 -1
  68. package/dist/src/data-marts/dto/domain/create-report.command.d.ts +3 -1
  69. package/dist/src/data-marts/dto/domain/create-report.command.js +3 -1
  70. package/dist/src/data-marts/dto/domain/data-mart-list-item.dto.d.ts +3 -1
  71. package/dist/src/data-marts/dto/domain/data-mart-list-item.dto.js +3 -1
  72. package/dist/src/data-marts/dto/domain/data-mart.dto.d.ts +4 -1
  73. package/dist/src/data-marts/dto/domain/data-mart.dto.js +5 -1
  74. package/dist/src/data-marts/dto/domain/model-canvas.dto.d.ts +4 -0
  75. package/dist/src/data-marts/dto/domain/report-like-read-plan.d.ts +2 -0
  76. package/dist/src/data-marts/dto/domain/report.dto.d.ts +3 -1
  77. package/dist/src/data-marts/dto/domain/report.dto.js +3 -1
  78. package/dist/src/data-marts/dto/domain/update-data-mart-icon.command.d.ts +9 -0
  79. package/dist/src/data-marts/dto/domain/update-data-mart-icon.command.js +19 -0
  80. package/dist/src/data-marts/dto/domain/update-report.command.d.ts +3 -1
  81. package/dist/src/data-marts/dto/domain/update-report.command.js +3 -1
  82. package/dist/src/data-marts/dto/presentation/create-data-mart-request-api.dto.d.ts +2 -0
  83. package/dist/src/data-marts/dto/presentation/create-data-mart-request-api.dto.js +16 -0
  84. package/dist/src/data-marts/dto/presentation/create-report-request-api.dto.d.ts +2 -0
  85. package/dist/src/data-marts/dto/presentation/create-report-request-api.dto.js +10 -0
  86. package/dist/src/data-marts/dto/presentation/custom-connector-response.dto.d.ts +46 -0
  87. package/dist/src/data-marts/dto/presentation/custom-connector-response.dto.js +216 -0
  88. package/dist/src/data-marts/dto/presentation/custom-connector.dto.d.ts +27 -0
  89. package/dist/src/data-marts/dto/presentation/custom-connector.dto.js +159 -0
  90. package/dist/src/data-marts/dto/presentation/data-mart-list-item-response-api.dto.d.ts +2 -0
  91. package/dist/src/data-marts/dto/presentation/data-mart-list-item-response-api.dto.js +11 -0
  92. package/dist/src/data-marts/dto/presentation/data-mart-response-api.dto.d.ts +2 -0
  93. package/dist/src/data-marts/dto/presentation/data-mart-response-api.dto.js +11 -0
  94. package/dist/src/data-marts/dto/presentation/list-data-marts-query-api.dto.js +1 -1
  95. package/dist/src/data-marts/dto/presentation/model-canvas-response-api.dto.d.ts +4 -0
  96. package/dist/src/data-marts/dto/presentation/model-canvas-response-api.dto.js +21 -0
  97. package/dist/src/data-marts/dto/presentation/preview-data-mart-request-api.dto.d.ts +7 -0
  98. package/dist/src/data-marts/dto/presentation/preview-data-mart-request-api.dto.js +56 -0
  99. package/dist/src/data-marts/dto/presentation/preview-data-mart-response-api.dto.d.ts +12 -0
  100. package/dist/src/data-marts/dto/presentation/preview-data-mart-response-api.dto.js +64 -0
  101. package/dist/src/data-marts/dto/presentation/report-response-api.dto.d.ts +2 -0
  102. package/dist/src/data-marts/dto/presentation/report-response-api.dto.js +6 -0
  103. package/dist/src/data-marts/dto/presentation/run-data-mart-request-api.dto.js +67 -0
  104. package/dist/src/data-marts/dto/presentation/update-data-mart-description-api.dto.js +3 -0
  105. package/dist/src/data-marts/dto/presentation/update-data-mart-icon-api.dto.d.ts +4 -0
  106. package/dist/src/data-marts/dto/presentation/update-data-mart-icon-api.dto.js +33 -0
  107. package/dist/src/data-marts/dto/presentation/update-report-request-api.dto.d.ts +2 -0
  108. package/dist/src/data-marts/dto/presentation/update-report-request-api.dto.js +10 -0
  109. package/dist/src/data-marts/dto/schemas/auto-aggregation-opt-out.schema.d.ts +15 -0
  110. package/dist/src/data-marts/dto/schemas/auto-aggregation-opt-out.schema.js +29 -0
  111. package/dist/src/data-marts/dto/schemas/data-mart-run/data-mart-run.schema.d.ts +9 -0
  112. package/dist/src/data-marts/dto/schemas/data-mart-table-definitions/connector-definition.schema.d.ts +15 -0
  113. package/dist/src/data-marts/dto/schemas/data-mart-table-definitions/connector-definition.schema.js +1 -0
  114. package/dist/src/data-marts/dto/schemas/data-mart-table-definitions/data-mart-definition.schema.d.ts +7 -0
  115. package/dist/src/data-marts/dto/schemas/data-quality/data-quality-run.schema.d.ts +20 -0
  116. package/dist/src/data-marts/entities/connector-definition-version.entity.d.ts +16 -0
  117. package/dist/src/data-marts/entities/connector-definition-version.entity.js +78 -0
  118. package/dist/src/data-marts/entities/connector-definition.entity.d.ts +14 -0
  119. package/dist/src/data-marts/entities/connector-definition.entity.js +82 -0
  120. package/dist/src/data-marts/entities/data-mart.entity.d.ts +2 -0
  121. package/dist/src/data-marts/entities/data-mart.entity.js +5 -0
  122. package/dist/src/data-marts/entities/report.entity.d.ts +2 -0
  123. package/dist/src/data-marts/entities/report.entity.js +11 -0
  124. package/dist/src/data-marts/enums/data-mart-icon.enum.d.ts +81 -0
  125. package/dist/src/data-marts/enums/data-mart-icon.enum.js +85 -0
  126. package/dist/src/data-marts/errors/connector-credential-boundary.error.d.ts +3 -0
  127. package/dist/src/data-marts/errors/connector-credential-boundary.error.js +14 -0
  128. package/dist/src/data-marts/facades/mcp-data-marts.facade.d.ts +2 -0
  129. package/dist/src/data-marts/facades/mcp-data-marts.facade.impl.d.ts +7 -1
  130. package/dist/src/data-marts/facades/mcp-data-marts.facade.impl.js +70 -5
  131. package/dist/src/data-marts/mappers/connector-definition.mapper.d.ts +14 -0
  132. package/dist/src/data-marts/mappers/connector-definition.mapper.js +57 -0
  133. package/dist/src/data-marts/mappers/data-mart.mapper.d.ts +9 -6
  134. package/dist/src/data-marts/mappers/data-mart.mapper.js +44 -19
  135. package/dist/src/data-marts/mappers/insight-template.mapper.d.ts +1 -1
  136. package/dist/src/data-marts/mappers/insight-template.mapper.js +2 -2
  137. package/dist/src/data-marts/mappers/insight.mapper.d.ts +1 -1
  138. package/dist/src/data-marts/mappers/insight.mapper.js +2 -2
  139. package/dist/src/data-marts/mappers/model-canvas.mapper.d.ts +10 -2
  140. package/dist/src/data-marts/mappers/model-canvas.mapper.js +9 -3
  141. package/dist/src/data-marts/mappers/report.mapper.js +4 -3
  142. package/dist/src/data-marts/services/auto-collapse.resolver.d.ts +1 -1
  143. package/dist/src/data-marts/services/auto-collapse.resolver.js +4 -0
  144. package/dist/src/data-marts/services/blendable-schema.service.d.ts +2 -0
  145. package/dist/src/data-marts/services/blendable-schema.service.js +59 -0
  146. package/dist/src/data-marts/services/connector/connector-credential-injector.service.d.ts +1 -1
  147. package/dist/src/data-marts/services/connector/connector-credential-injector.service.js +15 -1
  148. package/dist/src/data-marts/services/connector/connector-definition.service.d.ts +59 -0
  149. package/dist/src/data-marts/services/connector/connector-definition.service.js +493 -0
  150. package/dist/src/data-marts/services/connector/connector-executor.service.d.ts +9 -1
  151. package/dist/src/data-marts/services/connector/connector-executor.service.js +173 -63
  152. package/dist/src/data-marts/services/connector/connector-fields-preview.service.js +1 -1
  153. package/dist/src/data-marts/services/connector/connector-message.utils.js +2 -2
  154. package/dist/src/data-marts/services/connector/connector-preview-credentials.service.js +1 -1
  155. package/dist/src/data-marts/services/connector/connector-preview-support.d.ts +1 -1
  156. package/dist/src/data-marts/services/connector/connector-preview-support.js +14 -21
  157. package/dist/src/data-marts/services/connector/connector-process-spawner.service.d.ts +11 -2
  158. package/dist/src/data-marts/services/connector/connector-process-spawner.service.js +88 -60
  159. package/dist/src/data-marts/services/connector/connector-secret.service.d.ts +6 -3
  160. package/dist/src/data-marts/services/connector/connector-secret.service.js +77 -12
  161. package/dist/src/data-marts/services/connector/connector-source-config.service.js +1 -1
  162. package/dist/src/data-marts/services/connector/connector-source-credentials.service.d.ts +6 -2
  163. package/dist/src/data-marts/services/connector/connector-source-credentials.service.js +18 -16
  164. package/dist/src/data-marts/services/connector/connector-specification.mapper.d.ts +47 -0
  165. package/dist/src/data-marts/services/connector/connector-specification.mapper.js +46 -0
  166. package/dist/src/data-marts/services/connector/connector-test.service.d.ts +44 -0
  167. package/dist/src/data-marts/services/connector/connector-test.service.js +348 -0
  168. package/dist/src/data-marts/services/connector/connector.service.d.ts +8 -2
  169. package/dist/src/data-marts/services/connector/connector.service.js +65 -54
  170. package/dist/src/data-marts/services/connector/declarative-manifest-schemas.d.ts +4 -0
  171. package/dist/src/data-marts/services/connector/declarative-manifest-schemas.js +48 -0
  172. package/dist/src/data-marts/services/connector/run-log-flusher.d.ts +21 -0
  173. package/dist/src/data-marts/services/connector/run-log-flusher.js +67 -0
  174. package/dist/src/data-marts/services/context/context-access.service.js +2 -2
  175. package/dist/src/data-marts/services/data-mart.service.js +2 -0
  176. package/dist/src/data-marts/services/member-ownership-warnings.service.js +1 -1
  177. package/dist/src/data-marts/services/report-access.service.js +1 -1
  178. package/dist/src/data-marts/services/report-sql-composer.service.js +15 -1
  179. package/dist/src/data-marts/services/report.service.d.ts +1 -0
  180. package/dist/src/data-marts/services/report.service.js +13 -0
  181. package/dist/src/data-marts/services/scheduled-trigger.service.d.ts +1 -0
  182. package/dist/src/data-marts/services/scheduled-trigger.service.js +13 -0
  183. package/dist/src/data-marts/use-cases/create-data-mart.service.js +1 -0
  184. package/dist/src/data-marts/use-cases/create-report.service.js +2 -0
  185. package/dist/src/data-marts/use-cases/get-model-canvas-data-marts.service.d.ts +5 -1
  186. package/dist/src/data-marts/use-cases/get-model-canvas-data-marts.service.js +16 -3
  187. package/dist/src/data-marts/use-cases/list-project-scheduled-triggers.service.js +1 -1
  188. package/dist/src/data-marts/use-cases/preview-data-mart.service.d.ts +59 -0
  189. package/dist/src/data-marts/use-cases/preview-data-mart.service.js +295 -0
  190. package/dist/src/data-marts/use-cases/stream-http-data.service.js +1 -0
  191. package/dist/src/data-marts/use-cases/update-availability.service.js +2 -2
  192. package/dist/src/data-marts/use-cases/update-data-mart-definition.service.d.ts +1 -1
  193. package/dist/src/data-marts/use-cases/update-data-mart-definition.service.js +9 -7
  194. package/dist/src/data-marts/use-cases/update-data-mart-icon.service.d.ts +12 -0
  195. package/dist/src/data-marts/use-cases/update-data-mart-icon.service.js +46 -0
  196. package/dist/src/data-marts/use-cases/update-data-mart-owners.service.js +1 -1
  197. package/dist/src/data-marts/use-cases/update-data-mart-schema.service.js +14 -1
  198. package/dist/src/data-marts/use-cases/update-data-storage.service.js +2 -2
  199. package/dist/src/data-marts/use-cases/update-report.service.js +9 -1
  200. package/dist/src/ee/ee.module.js +5 -8
  201. package/dist/src/ee/mcp/auth/mcp-auth-context.d.ts +0 -4
  202. package/dist/src/ee/mcp/auth/mcp-auth.middleware.d.ts +26 -0
  203. package/dist/src/ee/mcp/auth/mcp-auth.middleware.js +184 -0
  204. package/dist/src/ee/mcp/http-headers.util.d.ts +2 -0
  205. package/dist/src/ee/mcp/http-headers.util.js +8 -0
  206. package/dist/src/ee/mcp/instructions/mcp-system-instructions.d.ts +1 -1
  207. package/dist/src/ee/mcp/instructions/mcp-system-instructions.js +3 -3
  208. package/dist/src/ee/mcp/observability/mcp-bus-wiring.js +4 -4
  209. package/dist/src/ee/mcp/observability/mcp-call-instrumentation.d.ts +2 -4
  210. package/dist/src/ee/mcp/observability/mcp-call-instrumentation.js +6 -6
  211. package/dist/src/ee/mcp/sdk/mcp-sdk-server.factory.d.ts +1 -1
  212. package/dist/src/ee/mcp/sdk/mcp-sdk-server.factory.js +5 -5
  213. package/dist/src/ee/mcp/tools/add-destination.tool.d.ts +20 -14
  214. package/dist/src/ee/mcp/tools/add-destination.tool.js +10 -10
  215. package/dist/src/ee/mcp/tools/add-report.tool.d.ts +89 -229
  216. package/dist/src/ee/mcp/tools/add-report.tool.js +30 -30
  217. package/dist/src/ee/mcp/tools/create-report-run-schedule.tool.d.ts +2 -12
  218. package/dist/src/ee/mcp/tools/create-report-run-schedule.tool.js +14 -14
  219. package/dist/src/ee/mcp/tools/data-mart-catalog.tool.d.ts +15 -81
  220. package/dist/src/ee/mcp/tools/data-mart-catalog.tool.js +11 -11
  221. package/dist/src/ee/mcp/tools/data-mart-details.tool.d.ts +19 -111
  222. package/dist/src/ee/mcp/tools/data-mart-details.tool.js +64 -48
  223. package/dist/src/ee/mcp/tools/delete-report-run-schedule.tool.d.ts +2 -6
  224. package/dist/src/ee/mcp/tools/delete-report-run-schedule.tool.js +7 -7
  225. package/dist/src/ee/mcp/tools/delete-report.tool.d.ts +2 -6
  226. package/dist/src/ee/mcp/tools/delete-report.tool.js +4 -4
  227. package/dist/src/ee/mcp/tools/get-data-mart-reports.tool.d.ts +30 -195
  228. package/dist/src/ee/mcp/tools/get-data-mart-reports.tool.js +22 -22
  229. package/dist/src/ee/mcp/tools/get-report-output-schema.tool.d.ts +3 -21
  230. package/dist/src/ee/mcp/tools/get-report-output-schema.tool.js +16 -16
  231. package/dist/src/ee/mcp/tools/get-report-run-status.tool.d.ts +15 -11
  232. package/dist/src/ee/mcp/tools/get-report-run-status.tool.js +14 -14
  233. package/dist/src/ee/mcp/tools/list-destinations.tool.d.ts +12 -20
  234. package/dist/src/ee/mcp/tools/list-destinations.tool.js +10 -10
  235. package/dist/src/ee/mcp/tools/list-report-run-schedules.tool.d.ts +5 -61
  236. package/dist/src/ee/mcp/tools/list-report-run-schedules.tool.js +14 -14
  237. package/dist/src/ee/mcp/tools/mcp-getting-started.util.d.ts +4 -52
  238. package/dist/src/ee/mcp/tools/mcp-getting-started.util.js +15 -15
  239. package/dist/src/ee/mcp/tools/mcp-tool.definition.d.ts +2 -2
  240. package/dist/src/ee/mcp/tools/project-context.tool.d.ts +3 -17
  241. package/dist/src/ee/mcp/tools/project-context.tool.js +10 -10
  242. package/dist/src/ee/mcp/tools/query-data-mart.input.d.ts +111 -152
  243. package/dist/src/ee/mcp/tools/query-data-mart.input.js +39 -39
  244. package/dist/src/ee/mcp/tools/query-data-mart.tool.d.ts +60 -130
  245. package/dist/src/ee/mcp/tools/query-data-mart.tool.js +36 -36
  246. package/dist/src/ee/mcp/tools/report-output-controls-output.d.ts +17 -60
  247. package/dist/src/ee/mcp/tools/report-output-controls-output.js +20 -20
  248. package/dist/src/ee/mcp/tools/report-run-outcome.d.ts +6 -42
  249. package/dist/src/ee/mcp/tools/report-run-outcome.js +20 -20
  250. package/dist/src/ee/mcp/tools/run-report.tool.d.ts +2 -6
  251. package/dist/src/ee/mcp/tools/run-report.tool.js +6 -6
  252. package/dist/src/ee/mcp/tools/search-data-marts.tool.d.ts +7 -79
  253. package/dist/src/ee/mcp/tools/search-data-marts.tool.js +11 -11
  254. package/dist/src/ee/mcp/tools/search-reports.tool.d.ts +15 -61
  255. package/dist/src/ee/mcp/tools/search-reports.tool.js +15 -15
  256. package/dist/src/ee/mcp/tools/summarize-data-catalog.tool.d.ts +7 -79
  257. package/dist/src/ee/mcp/tools/summarize-data-catalog.tool.js +15 -15
  258. package/dist/src/ee/mcp/tools/update-report-run-schedule.tool.d.ts +3 -13
  259. package/dist/src/ee/mcp/tools/update-report-run-schedule.tool.js +16 -16
  260. package/dist/src/ee/mcp/tools/update-report.tool.d.ts +105 -414
  261. package/dist/src/ee/mcp/tools/update-report.tool.js +21 -21
  262. package/dist/src/ee/mcp/transport/mcp-http-entry.service.d.ts +30 -0
  263. package/dist/src/ee/mcp/transport/mcp-http-entry.service.js +193 -0
  264. package/dist/src/idp/decorators/auth.decorator.js +1 -1
  265. package/dist/src/idp/guards/idp.guard.js +3 -9
  266. package/dist/src/idp/oauth/controllers/oauth-authorization.controller.d.ts +4 -0
  267. package/dist/src/idp/oauth/controllers/oauth-authorization.controller.js +77 -1
  268. package/dist/src/idp/oauth/controllers/oauth-metadata.controller.d.ts +2 -1
  269. package/dist/src/idp/oauth/controllers/oauth-metadata.controller.js +5 -8
  270. package/dist/src/idp/oauth/controllers/oauth-token.controller.js +14 -1
  271. package/dist/src/idp/oauth/oauth-project-selection.service.js +1 -1
  272. package/dist/src/idp/oauth/oauth-request.validator.d.ts +8 -0
  273. package/dist/src/idp/oauth/oauth-request.validator.js +27 -0
  274. package/dist/src/idp/utils/is-authentication-error.d.ts +1 -0
  275. package/dist/src/idp/utils/is-authentication-error.js +9 -0
  276. package/dist/src/idp/utils/role-hierarchy.d.ts +3 -0
  277. package/dist/src/idp/utils/role-hierarchy.js +14 -0
  278. package/dist/src/index.d.ts +1 -0
  279. package/dist/src/index.js +3 -1
  280. package/dist/src/migrations/1788048000000-create-connector-definition-tables.d.ts +6 -0
  281. package/dist/src/migrations/1788048000000-create-connector-definition-tables.js +116 -0
  282. package/dist/src/migrations/1790156789783-add-auto-aggregation-opt-out-to-report.d.ts +8 -0
  283. package/dist/src/migrations/1790156789783-add-auto-aggregation-opt-out-to-report.js +30 -0
  284. package/dist/src/migrations/1790247861000-add-icon-to-data-mart.d.ts +8 -0
  285. package/dist/src/migrations/1790247861000-add-icon-to-data-mart.js +31 -0
  286. package/package.json +10 -6
  287. package/dist/src/ee/mcp/auth/mcp-auth.exception-filter.d.ts +0 -14
  288. package/dist/src/ee/mcp/auth/mcp-auth.exception-filter.js +0 -84
  289. package/dist/src/ee/mcp/auth/mcp-auth.guard.d.ts +0 -14
  290. package/dist/src/ee/mcp/auth/mcp-auth.guard.js +0 -99
  291. package/dist/src/ee/mcp/controllers/mcp-transport.controller.d.ts +0 -17
  292. package/dist/src/ee/mcp/controllers/mcp-transport.controller.js +0 -134
  293. package/dist/src/ee/mcp/sdk/mcp-streamable-http-transport.handler.d.ts +0 -16
  294. package/dist/src/ee/mcp/sdk/mcp-streamable-http-transport.handler.js +0 -133
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RunLogFlusher = void 0;
4
+ exports.createRunLogSnapshotReader = createRunLogSnapshotReader;
5
+ function createRunLogSnapshotReader(logs, errors) {
6
+ const serializedLogs = [];
7
+ const serializedErrors = [];
8
+ const extend = (cache, buffer) => {
9
+ for (let i = cache.length; i < buffer.length; i++) {
10
+ cache.push(JSON.stringify(buffer[i]));
11
+ }
12
+ return cache.slice();
13
+ };
14
+ return () => ({
15
+ logs: extend(serializedLogs, logs),
16
+ errors: extend(serializedErrors, errors),
17
+ });
18
+ }
19
+ class RunLogFlusher {
20
+ intervalMs;
21
+ getSnapshot;
22
+ write;
23
+ onError;
24
+ timer = null;
25
+ lastCount = -1;
26
+ inFlight = Promise.resolve();
27
+ persisted = null;
28
+ constructor(intervalMs, getSnapshot, write, onError) {
29
+ this.intervalMs = intervalMs;
30
+ this.getSnapshot = getSnapshot;
31
+ this.write = write;
32
+ this.onError = onError;
33
+ }
34
+ start() {
35
+ if (this.intervalMs <= 0 || this.timer !== null)
36
+ return;
37
+ this.timer = setInterval(() => {
38
+ this.inFlight = this.inFlight.then(() => this.flushIfDirty());
39
+ }, this.intervalMs);
40
+ }
41
+ async flushIfDirty() {
42
+ const snapshot = this.getSnapshot();
43
+ const count = snapshot.logs.length + snapshot.errors.length;
44
+ if (count === 0 || count === this.lastCount)
45
+ return;
46
+ try {
47
+ await this.write(snapshot);
48
+ this.lastCount = count;
49
+ this.persisted = snapshot;
50
+ }
51
+ catch (error) {
52
+ this.onError?.(error);
53
+ }
54
+ }
55
+ persistedSnapshot() {
56
+ return this.persisted;
57
+ }
58
+ async stop() {
59
+ if (this.timer !== null) {
60
+ clearInterval(this.timer);
61
+ this.timer = null;
62
+ }
63
+ await this.inFlight;
64
+ }
65
+ }
66
+ exports.RunLogFlusher = RunLogFlusher;
67
+ //# sourceMappingURL=run-log-flusher.js.map
@@ -56,7 +56,7 @@ let ContextAccessService = class ContextAccessService {
56
56
  const ownerStatus = await this.accessDecisionService.getOwnerStatus(userId, access_decision_types_1.EntityType.DATA_MART, dataMartId);
57
57
  const isTechOwnerWithEditorRole = ownerStatus === access_decision_types_1.OwnerStatus.TECH_OWNER && roles.includes('editor');
58
58
  if (!isTechOwnerWithEditorRole) {
59
- throw new common_1.ForbiddenException('Only Data Mart Technical Owners with Technical User role or Project Admins can manage Data Mart contexts');
59
+ throw new common_1.ForbiddenException('Only Data Owners of the Data Mart who have the Data Owner role, or Project Admins, can manage Data Mart contexts');
60
60
  }
61
61
  }
62
62
  await this.contextService.validateContextIds(contextIds, projectId);
@@ -71,7 +71,7 @@ let ContextAccessService = class ContextAccessService {
71
71
  const ownerStatus = await this.accessDecisionService.getOwnerStatus(userId, access_decision_types_1.EntityType.STORAGE, storageId);
72
72
  const isOwnerWithEditorRole = ownerStatus === access_decision_types_1.OwnerStatus.OWNER && roles.includes('editor');
73
73
  if (!isOwnerWithEditorRole) {
74
- throw new common_1.ForbiddenException('Only Data Storage Owners with Technical User role or Project Admins can manage Data Storage contexts');
74
+ throw new common_1.ForbiddenException('Only Data Storage Owners who have the Data Owner role, or Project Admins, can manage Data Storage contexts');
75
75
  }
76
76
  }
77
77
  await this.contextService.validateContextIds(contextIds, projectId);
@@ -88,6 +88,7 @@ let DataMartService = DataMartService_1 = class DataMartService {
88
88
  'dm.title',
89
89
  'dm.status',
90
90
  'dm.description',
91
+ 'dm.icon',
91
92
  'dm.definitionType',
92
93
  'dm.createdById',
93
94
  'dm.createdAt',
@@ -183,6 +184,7 @@ let DataMartService = DataMartService_1 = class DataMartService {
183
184
  'dm.title',
184
185
  'dm.status',
185
186
  'dm.description',
187
+ 'dm.icon',
186
188
  'dm.schema',
187
189
  'dm.dataLastUpdated',
188
190
  ])
@@ -42,7 +42,7 @@ let MemberOwnershipWarningsService = MemberOwnershipWarningsService_1 = class Me
42
42
  .getRawMany();
43
43
  return techOwners.map(({ userId }) => ({
44
44
  userId,
45
- warning: 'Technical Owner — requires Technical User role to be effective',
45
+ warning: 'Data Owner — requires the Data Owner role to be effective',
46
46
  }));
47
47
  }
48
48
  };
@@ -30,7 +30,7 @@ const EMPTY_CAPABILITIES = Object.freeze({
30
30
  const MUTATE_DENIED_MESSAGES = {
31
31
  'not-owner': 'You are not an owner of this report. Only report owners can modify it.',
32
32
  'not-found': 'Report not found.',
33
- ineffective: 'The destination for this report is not accessible to you. Ask a Technical User to share the destination or replace it.',
33
+ ineffective: 'The destination for this report is not accessible to you. Ask the destination owner or a Project Admin to share it, or replace the destination.',
34
34
  'dm-invisible': 'You do not have access to the DataMart for this report.',
35
35
  };
36
36
  const OPERATE_DENIED_MESSAGES = {
@@ -36,6 +36,20 @@ const field_aggregation_governance_1 = require("../dto/schemas/field-aggregation
36
36
  const aggregation_labels_1 = require("../dto/schemas/aggregation-labels");
37
37
  const field_type_category_1 = require("../dto/schemas/field-type-category");
38
38
  const report_data_header_dto_1 = require("../dto/domain/report-data-header.dto");
39
+ function withMetricsShownForDryRun(dataMart, metricNames) {
40
+ const fields = dataMart.schema?.fields ?? [];
41
+ const isHiddenMetric = (field) => field.isHiddenForReporting === true &&
42
+ (0, calculated_field_utils_1.isCalculatedField)(field) &&
43
+ metricNames.includes(field.name);
44
+ if (!fields.some(isHiddenMetric))
45
+ return dataMart;
46
+ return Object.assign(Object.create(Object.getPrototypeOf(dataMart)), dataMart, {
47
+ schema: {
48
+ ...dataMart.schema,
49
+ fields: fields.map(field => isHiddenMetric(field) ? { ...field, isHiddenForReporting: false } : field),
50
+ },
51
+ });
52
+ }
39
53
  let ReportSqlComposerService = class ReportSqlComposerService {
40
54
  blendedReportDataService;
41
55
  queryBuilderFacade;
@@ -348,7 +362,7 @@ let ReportSqlComposerService = class ReportSqlComposerService {
348
362
  }
349
363
  async composeMetricsOnly(dataMart, metricNames, accessor, precomputedBlendableSchema, tableReferences) {
350
364
  const plan = {
351
- dataMart,
365
+ dataMart: withMetricsShownForDryRun(dataMart, metricNames),
352
366
  columnConfig: metricNames,
353
367
  };
354
368
  const joinedMetrics = (0, calculated_field_utils_1.calculatedFieldsOf)(dataMart.schema?.fields ?? []).filter(f => metricNames.includes(f.name) && (0, formula_live_reference_1.hasLiveJoinedReference)(f.calculated.formula));
@@ -28,5 +28,6 @@ export declare class ReportService {
28
28
  updateReportWithVersionControl(report: Report): Promise<void>;
29
29
  deleteReport(report: Report): Promise<void>;
30
30
  countByDataMartIdAndProjectId(dataMartId: string, projectId: string): Promise<number>;
31
+ countByDataMartIds(dataMartIds: string[]): Promise<Map<string, number>>;
31
32
  deleteAllByDataMartIdAndProjectId(dataMartId: string, projectId: string): Promise<void>;
32
33
  }
@@ -198,6 +198,19 @@ let ReportService = class ReportService {
198
198
  },
199
199
  });
200
200
  }
201
+ async countByDataMartIds(dataMartIds) {
202
+ if (dataMartIds.length === 0)
203
+ return new Map();
204
+ const rows = await this.repository
205
+ .createQueryBuilder('r')
206
+ .leftJoin('r.dataMart', 'dm')
207
+ .where('dm.id IN (:...ids)', { ids: dataMartIds })
208
+ .select('dm.id', 'dataMartId')
209
+ .addSelect('COUNT(*)', 'count')
210
+ .groupBy('dm.id')
211
+ .getRawMany();
212
+ return new Map(rows.map(row => [row.dataMartId, Number(row.count)]));
213
+ }
201
214
  async deleteAllByDataMartIdAndProjectId(dataMartId, projectId) {
202
215
  const reports = await this.repository.find({
203
216
  where: {
@@ -16,6 +16,7 @@ export declare class ScheduledTriggerService {
16
16
  constructor(triggerRepository: Repository<DataMartScheduledTrigger>);
17
17
  getByIdAndDataMartIdAndProjectId(id: string, dataMartId: string, projectId: string): Promise<DataMartScheduledTrigger>;
18
18
  getByIdAndProjectId(id: string, projectId: string): Promise<DataMartScheduledTrigger>;
19
+ countByDataMartIds(dataMartIds: string[]): Promise<Map<string, number>>;
19
20
  getAllByDataMartIdAndProjectId(dataMartId: string, projectId: string): Promise<DataMartScheduledTrigger[]>;
20
21
  listVisibleByProject(options: ListVisibleProjectScheduledTriggersOptions): Promise<DataMartScheduledTrigger[]>;
21
22
  deleteAllByDataMartIdAndProjectId(dataMartId: string, projectId: string): Promise<void>;
@@ -50,6 +50,19 @@ let ScheduledTriggerService = class ScheduledTriggerService {
50
50
  }
51
51
  return trigger;
52
52
  }
53
+ async countByDataMartIds(dataMartIds) {
54
+ if (dataMartIds.length === 0)
55
+ return new Map();
56
+ const rows = await this.triggerRepository
57
+ .createQueryBuilder('t')
58
+ .leftJoin('t.dataMart', 'dm')
59
+ .where('dm.id IN (:...ids)', { ids: dataMartIds })
60
+ .select('dm.id', 'dataMartId')
61
+ .addSelect('COUNT(*)', 'count')
62
+ .groupBy('dm.id')
63
+ .getRawMany();
64
+ return new Map(rows.map(row => [row.dataMartId, Number(row.count)]));
65
+ }
53
66
  async getAllByDataMartIdAndProjectId(dataMartId, projectId) {
54
67
  return this.triggerRepository.find({
55
68
  where: {
@@ -76,6 +76,7 @@ let CreateDataMartService = CreateDataMartService_1 = class CreateDataMartServic
76
76
  }
77
77
  const dataMart = this.dataMartService.create({
78
78
  title: command.title,
79
+ icon: command.icon,
79
80
  projectId: command.projectId,
80
81
  createdById: command.userId,
81
82
  storage: dataStorage,
@@ -37,6 +37,7 @@ const access_decision_1 = require("../services/access-decision");
37
37
  const output_controls_validator_service_1 = require("../services/output-controls-validator.service");
38
38
  const report_access_service_1 = require("../services/report-access.service");
39
39
  const unique_count_sources_1 = require("../dto/schemas/unique-count-sources");
40
+ const auto_aggregation_opt_out_schema_1 = require("../dto/schemas/auto-aggregation-opt-out.schema");
40
41
  const advanced_search_index_sync_service_1 = require("../services/advanced-search-index-sync.service");
41
42
  const search_facade_1 = require("../../common/search/search.facade");
42
43
  const looker_studio_report_service_1 = require("../services/looker-studio-report.service");
@@ -118,6 +119,7 @@ let CreateReportService = class CreateReportService {
118
119
  aggregationConfig: command.aggregationConfig ?? null,
119
120
  dateTruncConfig: command.dateTruncConfig ?? null,
120
121
  uniqueCountConfig: (0, unique_count_sources_1.foldEmptyUniqueCountConfig)(command.uniqueCountConfig),
122
+ autoAggregationOptOut: (0, auto_aggregation_opt_out_schema_1.selectedAutoAggregationOptOut)(command.autoAggregationOptOut, command.columnConfig),
121
123
  });
122
124
  const restoredReport = await this.lookerStudioReportService.restoreIfDeleted(report);
123
125
  const newReport = restoredReport ?? (await this.reportRepository.save(report));
@@ -5,12 +5,16 @@ import { AccessDecisionService } from '../services/access-decision';
5
5
  import { ContextAccessService } from '../services/context/context-access.service';
6
6
  import { DataMartService } from '../services/data-mart.service';
7
7
  import { DataStorageService } from '../services/data-storage.service';
8
+ import { ReportService } from '../services/report.service';
9
+ import { ScheduledTriggerService } from '../services/scheduled-trigger.service';
8
10
  export declare class GetModelCanvasDataMartsService {
9
11
  private readonly dataMartService;
10
12
  private readonly dataStorageService;
11
13
  private readonly contextAccessService;
12
14
  private readonly mapper;
13
15
  private readonly accessDecisionService;
14
- constructor(dataMartService: DataMartService, dataStorageService: DataStorageService, contextAccessService: ContextAccessService, mapper: ModelCanvasMapper, accessDecisionService: AccessDecisionService);
16
+ private readonly scheduledTriggerService;
17
+ private readonly reportService;
18
+ constructor(dataMartService: DataMartService, dataStorageService: DataStorageService, contextAccessService: ContextAccessService, mapper: ModelCanvasMapper, accessDecisionService: AccessDecisionService, scheduledTriggerService: ScheduledTriggerService, reportService: ReportService);
15
19
  run(command: GetModelCanvasDataMartsCommand): Promise<ModelCanvasDataMartsDto>;
16
20
  }
@@ -17,6 +17,8 @@ const access_decision_1 = require("../services/access-decision");
17
17
  const context_access_service_1 = require("../services/context/context-access.service");
18
18
  const data_mart_service_1 = require("../services/data-mart.service");
19
19
  const data_storage_service_1 = require("../services/data-storage.service");
20
+ const report_service_1 = require("../services/report.service");
21
+ const scheduled_trigger_service_1 = require("../services/scheduled-trigger.service");
20
22
  const CANVAS_DATA_MARTS_PAGE_SIZE = 1000;
21
23
  let GetModelCanvasDataMartsService = class GetModelCanvasDataMartsService {
22
24
  dataMartService;
@@ -24,12 +26,16 @@ let GetModelCanvasDataMartsService = class GetModelCanvasDataMartsService {
24
26
  contextAccessService;
25
27
  mapper;
26
28
  accessDecisionService;
27
- constructor(dataMartService, dataStorageService, contextAccessService, mapper, accessDecisionService) {
29
+ scheduledTriggerService;
30
+ reportService;
31
+ constructor(dataMartService, dataStorageService, contextAccessService, mapper, accessDecisionService, scheduledTriggerService, reportService) {
28
32
  this.dataMartService = dataMartService;
29
33
  this.dataStorageService = dataStorageService;
30
34
  this.contextAccessService = contextAccessService;
31
35
  this.mapper = mapper;
32
36
  this.accessDecisionService = accessDecisionService;
37
+ this.scheduledTriggerService = scheduledTriggerService;
38
+ this.reportService = reportService;
33
39
  }
34
40
  async run(command) {
35
41
  if (!command.userId) {
@@ -52,7 +58,12 @@ let GetModelCanvasDataMartsService = class GetModelCanvasDataMartsService {
52
58
  limit: CANVAS_DATA_MARTS_PAGE_SIZE,
53
59
  offset,
54
60
  });
55
- return this.mapper.toDataMartsDto(items, total, offset);
61
+ const ids = items.map(dataMart => dataMart.id);
62
+ const [triggerCounts, reportCounts] = await Promise.all([
63
+ this.scheduledTriggerService.countByDataMartIds(ids),
64
+ this.reportService.countByDataMartIds(ids),
65
+ ]);
66
+ return this.mapper.toDataMartsDto(items, total, offset, { triggerCounts, reportCounts });
56
67
  }
57
68
  };
58
69
  exports.GetModelCanvasDataMartsService = GetModelCanvasDataMartsService;
@@ -62,6 +73,8 @@ exports.GetModelCanvasDataMartsService = GetModelCanvasDataMartsService = __deco
62
73
  data_storage_service_1.DataStorageService,
63
74
  context_access_service_1.ContextAccessService,
64
75
  model_canvas_mapper_1.ModelCanvasMapper,
65
- access_decision_1.AccessDecisionService])
76
+ access_decision_1.AccessDecisionService,
77
+ scheduled_trigger_service_1.ScheduledTriggerService,
78
+ report_service_1.ReportService])
66
79
  ], GetModelCanvasDataMartsService);
67
80
  //# sourceMappingURL=get-model-canvas-data-marts.service.js.map
@@ -121,7 +121,7 @@ let ListProjectScheduledTriggersService = class ListProjectScheduledTriggersServ
121
121
  if (trigger.type === scheduled_trigger_type_enum_1.ScheduledTriggerType.CONNECTOR_RUN &&
122
122
  trigger.dataMart.definition &&
123
123
  (0, data_mart_definition_guards_1.isConnectorDefinition)(trigger.dataMart.definition)) {
124
- const maskedDefinition = await this.connectorSecretService.mask(trigger.dataMart.definition);
124
+ const maskedDefinition = await this.connectorSecretService.mask(projectId, trigger.dataMart.definition);
125
125
  return this.cloneTriggerWithConfig(trigger, {
126
126
  type: ScheduledConnectorRunConfigType,
127
127
  connector: maskedDefinition,
@@ -0,0 +1,59 @@
1
+ import { HttpException } from '@nestjs/common';
2
+ import { TypeResolver } from '../../common/resolver/type-resolver';
3
+ import type { Role as RoleType } from '@owox/idp-protocol';
4
+ import { DataStorageType } from '../data-storage-types/enums/data-storage-type.enum';
5
+ import { DataStorageErrorMapper } from '../data-storage-types/interfaces/data-storage-error-mapper.interface';
6
+ import { DataStorageReportReader } from '../data-storage-types/interfaces/data-storage-report-reader.interface';
7
+ import { AccessDecisionService } from '../services/access-decision';
8
+ import { BlendableSchemaService } from '../services/blendable-schema.service';
9
+ import { DataMartService } from '../services/data-mart.service';
10
+ import { ProjectBillingService } from '../services/project-billing/project-billing.service';
11
+ import { ReportSqlComposerService } from '../services/report-sql-composer.service';
12
+ export declare const PREVIEW_DEFAULT_LIMIT = 10;
13
+ export declare const PREVIEW_MAX_LIMIT = 1000;
14
+ export declare const DEFAULT_PREVIEW_DEADLINE_MS = 150000;
15
+ export declare class PreviewDataMartCommand {
16
+ readonly dataMartId: string;
17
+ readonly projectId: string;
18
+ readonly userId: string;
19
+ readonly roles: RoleType[];
20
+ readonly limit: number | undefined;
21
+ readonly filters: unknown;
22
+ readonly sort: unknown;
23
+ constructor(dataMartId: string, projectId: string, userId: string, roles: RoleType[], limit: number | undefined, filters: unknown, sort?: unknown);
24
+ }
25
+ export interface DataMartPreviewColumn {
26
+ name: string;
27
+ alias?: string;
28
+ type?: string;
29
+ }
30
+ export type PreviewCell = string | number | boolean | null;
31
+ export interface DataMartPreviewResult {
32
+ columns: DataMartPreviewColumn[];
33
+ rows: PreviewCell[][];
34
+ rowCount: number;
35
+ limit: number;
36
+ truncated: boolean;
37
+ }
38
+ export declare const CLIENT_CLOSED_REQUEST_STATUS = 499;
39
+ export declare class PreviewAbortedError extends HttpException {
40
+ constructor();
41
+ }
42
+ export declare class PreviewDataMartService {
43
+ private readonly dataMartService;
44
+ private readonly blendableSchemaService;
45
+ private readonly composer;
46
+ private readonly readerResolver;
47
+ private readonly accessDecisionService;
48
+ private readonly errorMapperResolver;
49
+ private readonly projectBillingService;
50
+ private readonly deadlineMs;
51
+ private readonly logger;
52
+ constructor(dataMartService: DataMartService, blendableSchemaService: BlendableSchemaService, composer: ReportSqlComposerService, readerResolver: TypeResolver<DataStorageType, DataStorageReportReader>, accessDecisionService: AccessDecisionService, errorMapperResolver: TypeResolver<DataStorageType, DataStorageErrorMapper>, projectBillingService: ProjectBillingService, deadlineMs?: number);
53
+ run(command: PreviewDataMartCommand, signal?: AbortSignal): Promise<DataMartPreviewResult>;
54
+ private parseLimit;
55
+ private parseSort;
56
+ private parseFilters;
57
+ private readRows;
58
+ }
59
+ export declare function toPreviewCell(value: unknown): PreviewCell;