@owox/backend 0.36.0 → 0.38.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 (139) hide show
  1. package/dist/src/common/search/search.facade.d.ts +1 -0
  2. package/dist/src/data-marts/controllers/spec/data-mart.api.js +5 -5
  3. package/dist/src/data-marts/data-destination-types/ee/email/services/email-credentials-validator.js +1 -3
  4. package/dist/src/data-marts/data-destination-types/ee/google-chat/services/google-chat-credentials-validator.js +1 -3
  5. package/dist/src/data-marts/data-destination-types/google-sheets/services/google-sheets-credentials-validator.js +1 -3
  6. package/dist/src/data-marts/data-destination-types/google-sheets/services/google-sheets-report-writer.d.ts +1 -0
  7. package/dist/src/data-marts/data-destination-types/google-sheets/services/google-sheets-report-writer.js +13 -1
  8. package/dist/src/data-marts/data-destination-types/interfaces/data-destination-credentials-validator.interface.d.ts +2 -0
  9. package/dist/src/data-marts/data-destination-types/interfaces/data-destination-credentials-validator.interface.js +7 -0
  10. package/dist/src/data-marts/data-destination-types/looker-studio-connector/services/looker-studio-connector-credentials-validator.js +1 -3
  11. package/dist/src/data-marts/data-marts.module.js +4 -0
  12. package/dist/src/data-marts/data-storage-types/athena/adapters/athena-api.adapter.js +2 -1
  13. package/dist/src/data-marts/data-storage-types/athena/adapters/s3-api.adapter.js +5 -3
  14. package/dist/src/data-marts/data-storage-types/athena/services/athena-access.validator.js +2 -4
  15. package/dist/src/data-marts/data-storage-types/athena/utils/athena-output-location.util.d.ts +5 -0
  16. package/dist/src/data-marts/data-storage-types/athena/utils/athena-output-location.util.js +13 -0
  17. package/dist/src/data-marts/data-storage-types/bigquery/services/bigquery-access.validator.js +2 -4
  18. package/dist/src/data-marts/data-storage-types/bigquery/services/bigquery-resource-location.util.d.ts +3 -0
  19. package/dist/src/data-marts/data-storage-types/bigquery/services/bigquery-resource-location.util.js +18 -0
  20. package/dist/src/data-marts/data-storage-types/bigquery/services/bigquery-sharded-tables.util.d.ts +1 -0
  21. package/dist/src/data-marts/data-storage-types/bigquery/services/bigquery-sharded-tables.util.js +4 -1
  22. package/dist/src/data-marts/data-storage-types/bigquery/services/bigquery-storage-resource-browser.service.js +12 -5
  23. package/dist/src/data-marts/data-storage-types/databricks/services/databricks-access.validator.js +2 -4
  24. package/dist/src/data-marts/data-storage-types/interfaces/data-storage-access-validator.interface.d.ts +3 -0
  25. package/dist/src/data-marts/data-storage-types/interfaces/data-storage-access-validator.interface.js +7 -0
  26. package/dist/src/data-marts/data-storage-types/interfaces/storage-resource-browser.interface.d.ts +2 -0
  27. package/dist/src/data-marts/data-storage-types/redshift/services/redshift-access.validator.js +2 -6
  28. package/dist/src/data-marts/data-storage-types/snowflake/services/snowflake-access.validator.js +2 -4
  29. package/dist/src/data-marts/dto/domain/create-data-mart.command.d.ts +3 -3
  30. package/dist/src/data-marts/dto/domain/data-mart-list-item.dto.d.ts +3 -3
  31. package/dist/src/data-marts/dto/domain/data-mart.dto.d.ts +3 -3
  32. package/dist/src/data-marts/dto/domain/list-data-marts.command.d.ts +2 -1
  33. package/dist/src/data-marts/dto/domain/list-data-marts.command.js +3 -1
  34. package/dist/src/data-marts/dto/domain/model-canvas.dto.d.ts +2 -2
  35. package/dist/src/data-marts/dto/domain/update-data-mart-icon.command.d.ts +3 -3
  36. package/dist/src/data-marts/dto/presentation/create-data-mart-request-api.dto.d.ts +2 -2
  37. package/dist/src/data-marts/dto/presentation/create-data-mart-request-api.dto.js +6 -3
  38. package/dist/src/data-marts/dto/presentation/custom-connector-response.dto.js +1 -1
  39. package/dist/src/data-marts/dto/presentation/data-mart-list-item-response-api.dto.d.ts +2 -2
  40. package/dist/src/data-marts/dto/presentation/data-mart-list-item-response-api.dto.js +3 -2
  41. package/dist/src/data-marts/dto/presentation/data-mart-response-api.dto.d.ts +2 -2
  42. package/dist/src/data-marts/dto/presentation/data-mart-response-api.dto.js +3 -2
  43. package/dist/src/data-marts/dto/presentation/list-data-marts-query-api.dto.js +1 -1
  44. package/dist/src/data-marts/dto/presentation/model-canvas-response-api.dto.d.ts +2 -2
  45. package/dist/src/data-marts/dto/presentation/model-canvas-response-api.dto.js +3 -2
  46. package/dist/src/data-marts/dto/presentation/sql-dry-run-request-api.dto.js +3 -0
  47. package/dist/src/data-marts/dto/presentation/storage-resources/list-storage-resources-response.dto.d.ts +2 -0
  48. package/dist/src/data-marts/dto/presentation/storage-resources/list-storage-resources-response.dto.js +17 -0
  49. package/dist/src/data-marts/dto/presentation/update-data-mart-icon-api.dto.d.ts +2 -2
  50. package/dist/src/data-marts/dto/presentation/update-data-mart-icon-api.dto.js +6 -3
  51. package/dist/src/data-marts/entities/data-mart.entity.d.ts +2 -2
  52. package/dist/src/data-marts/enums/data-mart-icon.enum.d.ts +6 -0
  53. package/dist/src/data-marts/enums/data-mart-icon.enum.js +6 -1
  54. package/dist/src/data-marts/errors/google-sheets-api-call.error.d.ts +6 -0
  55. package/dist/src/data-marts/errors/google-sheets-api-call.error.js +34 -0
  56. package/dist/src/data-marts/facades/mcp-contexts.facade.d.ts +13 -0
  57. package/dist/src/data-marts/facades/mcp-contexts.facade.impl.d.ts +9 -0
  58. package/dist/src/data-marts/facades/mcp-contexts.facade.impl.js +35 -0
  59. package/dist/src/data-marts/facades/mcp-contexts.facade.js +5 -0
  60. package/dist/src/data-marts/facades/mcp-data-marts.facade.d.ts +9 -0
  61. package/dist/src/data-marts/facades/mcp-data-marts.facade.impl.js +4 -1
  62. package/dist/src/data-marts/mappers/context.mapper.d.ts +4 -0
  63. package/dist/src/data-marts/mappers/context.mapper.js +12 -0
  64. package/dist/src/data-marts/search/engine/advanced-search.service.js +1 -0
  65. package/dist/src/data-marts/search/engine/in-memory-paginated.search.js +17 -1
  66. package/dist/src/data-marts/search/engine/vector-search.port.d.ts +1 -0
  67. package/dist/src/data-marts/services/connector/connector-definition.service.js +4 -2
  68. package/dist/src/data-marts/services/connector/connector-test.service.d.ts +1 -0
  69. package/dist/src/data-marts/services/connector/connector-test.service.js +11 -6
  70. package/dist/src/data-marts/services/connector/declarative-manifest-schemas.js +2 -2
  71. package/dist/src/data-marts/services/context/context-access.service.js +2 -2
  72. package/dist/src/data-marts/services/context/context.service.d.ts +2 -0
  73. package/dist/src/data-marts/services/context/context.service.js +21 -0
  74. package/dist/src/data-marts/services/data-mart.service.d.ts +1 -0
  75. package/dist/src/data-marts/services/data-mart.service.js +3 -0
  76. package/dist/src/data-marts/services/member-ownership-warnings.service.js +1 -1
  77. package/dist/src/data-marts/services/report-access.service.js +1 -1
  78. package/dist/src/data-marts/use-cases/list-data-marts.service.js +1 -0
  79. package/dist/src/data-marts/use-cases/preview-data-mart.service.js +4 -2
  80. package/dist/src/data-marts/use-cases/stream-http-data.service.d.ts +0 -1
  81. package/dist/src/data-marts/use-cases/stream-http-data.service.js +2 -6
  82. package/dist/src/data-marts/use-cases/update-availability.service.js +2 -2
  83. package/dist/src/data-marts/use-cases/update-data-mart-definition.service.js +1 -1
  84. package/dist/src/data-marts/use-cases/update-data-mart-owners.service.js +1 -1
  85. package/dist/src/data-marts/use-cases/update-data-storage.service.js +9 -9
  86. package/dist/src/data-marts/utils/field-errors.utils.d.ts +9 -0
  87. package/dist/src/data-marts/utils/field-errors.utils.js +51 -0
  88. package/dist/src/ee/mcp/instructions/mcp-system-instructions.d.ts +1 -1
  89. package/dist/src/ee/mcp/instructions/mcp-system-instructions.js +6 -3
  90. package/dist/src/ee/mcp/sdk/mcp-output-schema.d.ts +3 -0
  91. package/dist/src/ee/mcp/sdk/mcp-output-schema.js +53 -0
  92. package/dist/src/ee/mcp/sdk/mcp-schema-refresh.d.ts +8 -0
  93. package/dist/src/ee/mcp/sdk/mcp-schema-refresh.js +44 -0
  94. package/dist/src/ee/mcp/sdk/mcp-sdk-server.factory.d.ts +8 -1
  95. package/dist/src/ee/mcp/sdk/mcp-sdk-server.factory.js +35 -4
  96. package/dist/src/ee/mcp/tools/add-report.tool.d.ts +1 -1
  97. package/dist/src/ee/mcp/tools/add-report.tool.js +2 -2
  98. package/dist/src/ee/mcp/tools/context-input.d.ts +6 -0
  99. package/dist/src/ee/mcp/tools/context-input.js +13 -0
  100. package/dist/src/ee/mcp/tools/create-report-run-schedule.tool.js +1 -1
  101. package/dist/src/ee/mcp/tools/data-mart-catalog.tool.d.ts +10 -2
  102. package/dist/src/ee/mcp/tools/data-mart-catalog.tool.js +17 -5
  103. package/dist/src/ee/mcp/tools/data-mart-details.tool.d.ts +5 -1
  104. package/dist/src/ee/mcp/tools/data-mart-details.tool.js +4 -1
  105. package/dist/src/ee/mcp/tools/get-report-output-schema.tool.js +6 -6
  106. package/dist/src/ee/mcp/tools/list-contexts.tool.d.ts +131 -0
  107. package/dist/src/ee/mcp/tools/list-contexts.tool.js +50 -0
  108. package/dist/src/ee/mcp/tools/mcp-getting-started.util.js +2 -2
  109. package/dist/src/ee/mcp/tools/mcp-tool.providers.js +2 -0
  110. package/dist/src/ee/mcp/tools/query-data-mart.tool.js +1 -1
  111. package/dist/src/ee/mcp/tools/run-report.tool.js +1 -1
  112. package/dist/src/ee/mcp/tools/search-data-marts.tool.d.ts +10 -2
  113. package/dist/src/ee/mcp/tools/search-data-marts.tool.js +17 -3
  114. package/dist/src/ee/mcp/tools/update-report-run-schedule.tool.d.ts +1 -1
  115. package/dist/src/ee/mcp/tools/update-report-run-schedule.tool.js +3 -3
  116. package/dist/src/ee/mcp/tools/update-report.tool.js +1 -1
  117. package/dist/src/ee/mcp/transport/mcp-http-entry.service.js +1 -1
  118. package/dist/src/idp/decorators/auth.decorator.js +1 -1
  119. package/dist/src/idp/guards/idp.guard.js +1 -1
  120. package/dist/src/idp/oauth/oauth-project-selection.service.js +1 -1
  121. package/dist/src/migrations/1790830000000-widen-sql-dry-run-trigger-sql-column.d.ts +6 -0
  122. package/dist/src/migrations/1790830000000-widen-sql-dry-run-trigger-sql-column.js +21 -0
  123. package/dist/src/plugin-host/controllers/plugin-gallery.controller.d.ts +5 -1
  124. package/dist/src/plugin-host/controllers/plugin-gallery.controller.js +25 -1
  125. package/dist/src/plugin-host/dto/domain/find-plugin-by-repository.command.d.ts +6 -0
  126. package/dist/src/plugin-host/dto/domain/find-plugin-by-repository.command.js +13 -0
  127. package/dist/src/plugin-host/dto/presentation/plugin-lookup-api.dto.d.ts +3 -0
  128. package/dist/src/plugin-host/dto/presentation/plugin-lookup-api.dto.js +22 -0
  129. package/dist/src/plugin-host/mappers/plugin-presentation.mapper.d.ts +6 -0
  130. package/dist/src/plugin-host/mappers/plugin-presentation.mapper.js +7 -0
  131. package/dist/src/plugin-host/plugin-host.module.js +2 -0
  132. package/dist/src/plugin-host/services/plugin-publication.service.d.ts +2 -0
  133. package/dist/src/plugin-host/services/plugin-publication.service.js +36 -16
  134. package/dist/src/plugin-host/use-cases/find-plugin-by-repository.service.d.ts +9 -0
  135. package/dist/src/plugin-host/use-cases/find-plugin-by-repository.service.js +35 -0
  136. package/dist/src/plugin-host/use-cases/list-installations.service.d.ts +3 -1
  137. package/dist/src/plugin-host/use-cases/list-installations.service.js +14 -3
  138. package/dist/src/plugin-host/utils/github-repo-locator.util.js +1 -1
  139. package/package.json +4 -4
@@ -13,6 +13,7 @@ exports.ListInstallationsService = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
14
  const plugin_presentation_mapper_1 = require("../mappers/plugin-presentation.mapper");
15
15
  const plugin_installation_service_1 = require("../services/plugin-installation.service");
16
+ const plugin_publication_service_1 = require("../services/plugin-publication.service");
16
17
  const plugin_version_service_1 = require("../services/plugin-version.service");
17
18
  const plugin_service_1 = require("../services/plugin.service");
18
19
  let ListInstallationsService = class ListInstallationsService {
@@ -20,11 +21,13 @@ let ListInstallationsService = class ListInstallationsService {
20
21
  pluginService;
21
22
  versionService;
22
23
  mapper;
23
- constructor(installations, pluginService, versionService, mapper) {
24
+ publications;
25
+ constructor(installations, pluginService, versionService, mapper, publications) {
24
26
  this.installations = installations;
25
27
  this.pluginService = pluginService;
26
28
  this.versionService = versionService;
27
29
  this.mapper = mapper;
30
+ this.publications = publications;
28
31
  }
29
32
  async run(command) {
30
33
  const rows = await this.installations.findByMember(command.context.projectId, command.context.userId);
@@ -35,6 +38,13 @@ let ListInstallationsService = class ListInstallationsService {
35
38
  const pluginById = new Map(plugins.map(plugin => [plugin.id, plugin]));
36
39
  const versions = await this.versionService.findByIds(plugins.map(plugin => plugin.currentVersionId).filter(id => id !== null));
37
40
  const versionById = new Map(versions.map(version => [version.id, version]));
41
+ const listed = await this.publications.findVisibleTo(command.context.projectId, command.context.userId);
42
+ const scopesByPlugin = new Map();
43
+ for (const publication of listed) {
44
+ const scopes = scopesByPlugin.get(publication.pluginId) ?? new Set();
45
+ scopes.add(publication.scope);
46
+ scopesByPlugin.set(publication.pluginId, scopes);
47
+ }
38
48
  const entries = [];
39
49
  for (const row of visible) {
40
50
  const plugin = pluginById.get(row.pluginId);
@@ -43,7 +53,7 @@ let ListInstallationsService = class ListInstallationsService {
43
53
  }
44
54
  entries.push({
45
55
  ...this.mapper.toMemberDto(plugin, plugin.currentVersionId ? (versionById.get(plugin.currentVersionId) ?? null) : null, {
46
- scopes: [],
56
+ scopes: [...(scopesByPlugin.get(plugin.id) ?? [])],
47
57
  installationState: row.uninstalledAt === null ? 'installed' : 'uninstalled',
48
58
  }),
49
59
  installationId: row.id,
@@ -60,6 +70,7 @@ exports.ListInstallationsService = ListInstallationsService = __decorate([
60
70
  __metadata("design:paramtypes", [plugin_installation_service_1.PluginInstallationService,
61
71
  plugin_service_1.PluginService,
62
72
  plugin_version_service_1.PluginVersionService,
63
- plugin_presentation_mapper_1.PluginPresentationMapper])
73
+ plugin_presentation_mapper_1.PluginPresentationMapper,
74
+ plugin_publication_service_1.PluginPublicationService])
64
75
  ], ListInstallationsService);
65
76
  //# sourceMappingURL=list-installations.service.js.map
@@ -6,7 +6,7 @@ const GITHUB_HOSTS = new Set(['github.com', 'www.github.com']);
6
6
  const SEGMENT = /^[A-Za-z0-9._-]+$/;
7
7
  const SCP_SYNTAX = /^git@([^:]+):(.+)$/;
8
8
  function parseGithubRepoLocator(locator) {
9
- const trimmed = locator?.trim() ?? '';
9
+ const trimmed = typeof locator === 'string' ? locator.trim() : '';
10
10
  if (!trimmed) {
11
11
  throw new plugin_host_errors_1.InvalidRepoLocatorError(locator);
12
12
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@owox/backend",
3
- "version": "0.36.0",
3
+ "version": "0.38.0",
4
4
  "description": "OWOX Data Marts Backend - Full-stack data orchestration platform",
5
5
  "author": "OWOX",
6
6
  "license": "ELv2",
@@ -92,9 +92,9 @@
92
92
  "@opentelemetry/exporter-trace-otlp-http": "^0.220.0",
93
93
  "@opentelemetry/sdk-trace-base": "^2.9.0",
94
94
  "@opentelemetry/sdk-trace-node": "^2.9.0",
95
- "@owox/connectors": "0.36.0",
96
- "@owox/idp-protocol": "0.36.0",
97
- "@owox/internal-helpers": "0.36.0",
95
+ "@owox/connectors": "0.38.0",
96
+ "@owox/idp-protocol": "0.38.0",
97
+ "@owox/internal-helpers": "0.38.0",
98
98
  "better-sqlite3": "^12.2.0",
99
99
  "class-transformer": "^0.5.1",
100
100
  "class-validator": "^0.14.2",