@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.
- package/dist/src/common/search/search.facade.d.ts +1 -0
- package/dist/src/data-marts/controllers/spec/data-mart.api.js +5 -5
- package/dist/src/data-marts/data-destination-types/ee/email/services/email-credentials-validator.js +1 -3
- package/dist/src/data-marts/data-destination-types/ee/google-chat/services/google-chat-credentials-validator.js +1 -3
- package/dist/src/data-marts/data-destination-types/google-sheets/services/google-sheets-credentials-validator.js +1 -3
- package/dist/src/data-marts/data-destination-types/google-sheets/services/google-sheets-report-writer.d.ts +1 -0
- package/dist/src/data-marts/data-destination-types/google-sheets/services/google-sheets-report-writer.js +13 -1
- package/dist/src/data-marts/data-destination-types/interfaces/data-destination-credentials-validator.interface.d.ts +2 -0
- package/dist/src/data-marts/data-destination-types/interfaces/data-destination-credentials-validator.interface.js +7 -0
- package/dist/src/data-marts/data-destination-types/looker-studio-connector/services/looker-studio-connector-credentials-validator.js +1 -3
- package/dist/src/data-marts/data-marts.module.js +4 -0
- package/dist/src/data-marts/data-storage-types/athena/adapters/athena-api.adapter.js +2 -1
- package/dist/src/data-marts/data-storage-types/athena/adapters/s3-api.adapter.js +5 -3
- package/dist/src/data-marts/data-storage-types/athena/services/athena-access.validator.js +2 -4
- package/dist/src/data-marts/data-storage-types/athena/utils/athena-output-location.util.d.ts +5 -0
- package/dist/src/data-marts/data-storage-types/athena/utils/athena-output-location.util.js +13 -0
- package/dist/src/data-marts/data-storage-types/bigquery/services/bigquery-access.validator.js +2 -4
- package/dist/src/data-marts/data-storage-types/bigquery/services/bigquery-resource-location.util.d.ts +3 -0
- package/dist/src/data-marts/data-storage-types/bigquery/services/bigquery-resource-location.util.js +18 -0
- package/dist/src/data-marts/data-storage-types/bigquery/services/bigquery-sharded-tables.util.d.ts +1 -0
- package/dist/src/data-marts/data-storage-types/bigquery/services/bigquery-sharded-tables.util.js +4 -1
- package/dist/src/data-marts/data-storage-types/bigquery/services/bigquery-storage-resource-browser.service.js +12 -5
- package/dist/src/data-marts/data-storage-types/databricks/services/databricks-access.validator.js +2 -4
- package/dist/src/data-marts/data-storage-types/interfaces/data-storage-access-validator.interface.d.ts +3 -0
- package/dist/src/data-marts/data-storage-types/interfaces/data-storage-access-validator.interface.js +7 -0
- package/dist/src/data-marts/data-storage-types/interfaces/storage-resource-browser.interface.d.ts +2 -0
- package/dist/src/data-marts/data-storage-types/redshift/services/redshift-access.validator.js +2 -6
- package/dist/src/data-marts/data-storage-types/snowflake/services/snowflake-access.validator.js +2 -4
- package/dist/src/data-marts/dto/domain/create-data-mart.command.d.ts +3 -3
- package/dist/src/data-marts/dto/domain/data-mart-list-item.dto.d.ts +3 -3
- package/dist/src/data-marts/dto/domain/data-mart.dto.d.ts +3 -3
- package/dist/src/data-marts/dto/domain/list-data-marts.command.d.ts +2 -1
- package/dist/src/data-marts/dto/domain/list-data-marts.command.js +3 -1
- package/dist/src/data-marts/dto/domain/model-canvas.dto.d.ts +2 -2
- package/dist/src/data-marts/dto/domain/update-data-mart-icon.command.d.ts +3 -3
- package/dist/src/data-marts/dto/presentation/create-data-mart-request-api.dto.d.ts +2 -2
- package/dist/src/data-marts/dto/presentation/create-data-mart-request-api.dto.js +6 -3
- package/dist/src/data-marts/dto/presentation/custom-connector-response.dto.js +1 -1
- package/dist/src/data-marts/dto/presentation/data-mart-list-item-response-api.dto.d.ts +2 -2
- package/dist/src/data-marts/dto/presentation/data-mart-list-item-response-api.dto.js +3 -2
- package/dist/src/data-marts/dto/presentation/data-mart-response-api.dto.d.ts +2 -2
- package/dist/src/data-marts/dto/presentation/data-mart-response-api.dto.js +3 -2
- package/dist/src/data-marts/dto/presentation/list-data-marts-query-api.dto.js +1 -1
- package/dist/src/data-marts/dto/presentation/model-canvas-response-api.dto.d.ts +2 -2
- package/dist/src/data-marts/dto/presentation/model-canvas-response-api.dto.js +3 -2
- package/dist/src/data-marts/dto/presentation/sql-dry-run-request-api.dto.js +3 -0
- package/dist/src/data-marts/dto/presentation/storage-resources/list-storage-resources-response.dto.d.ts +2 -0
- package/dist/src/data-marts/dto/presentation/storage-resources/list-storage-resources-response.dto.js +17 -0
- package/dist/src/data-marts/dto/presentation/update-data-mart-icon-api.dto.d.ts +2 -2
- package/dist/src/data-marts/dto/presentation/update-data-mart-icon-api.dto.js +6 -3
- package/dist/src/data-marts/entities/data-mart.entity.d.ts +2 -2
- package/dist/src/data-marts/enums/data-mart-icon.enum.d.ts +6 -0
- package/dist/src/data-marts/enums/data-mart-icon.enum.js +6 -1
- package/dist/src/data-marts/errors/google-sheets-api-call.error.d.ts +6 -0
- package/dist/src/data-marts/errors/google-sheets-api-call.error.js +34 -0
- package/dist/src/data-marts/facades/mcp-contexts.facade.d.ts +13 -0
- package/dist/src/data-marts/facades/mcp-contexts.facade.impl.d.ts +9 -0
- package/dist/src/data-marts/facades/mcp-contexts.facade.impl.js +35 -0
- package/dist/src/data-marts/facades/mcp-contexts.facade.js +5 -0
- package/dist/src/data-marts/facades/mcp-data-marts.facade.d.ts +9 -0
- package/dist/src/data-marts/facades/mcp-data-marts.facade.impl.js +4 -1
- package/dist/src/data-marts/mappers/context.mapper.d.ts +4 -0
- package/dist/src/data-marts/mappers/context.mapper.js +12 -0
- package/dist/src/data-marts/search/engine/advanced-search.service.js +1 -0
- package/dist/src/data-marts/search/engine/in-memory-paginated.search.js +17 -1
- package/dist/src/data-marts/search/engine/vector-search.port.d.ts +1 -0
- package/dist/src/data-marts/services/connector/connector-definition.service.js +4 -2
- package/dist/src/data-marts/services/connector/connector-test.service.d.ts +1 -0
- package/dist/src/data-marts/services/connector/connector-test.service.js +11 -6
- package/dist/src/data-marts/services/connector/declarative-manifest-schemas.js +2 -2
- package/dist/src/data-marts/services/context/context-access.service.js +2 -2
- package/dist/src/data-marts/services/context/context.service.d.ts +2 -0
- package/dist/src/data-marts/services/context/context.service.js +21 -0
- package/dist/src/data-marts/services/data-mart.service.d.ts +1 -0
- package/dist/src/data-marts/services/data-mart.service.js +3 -0
- package/dist/src/data-marts/services/member-ownership-warnings.service.js +1 -1
- package/dist/src/data-marts/services/report-access.service.js +1 -1
- package/dist/src/data-marts/use-cases/list-data-marts.service.js +1 -0
- package/dist/src/data-marts/use-cases/preview-data-mart.service.js +4 -2
- package/dist/src/data-marts/use-cases/stream-http-data.service.d.ts +0 -1
- package/dist/src/data-marts/use-cases/stream-http-data.service.js +2 -6
- package/dist/src/data-marts/use-cases/update-availability.service.js +2 -2
- package/dist/src/data-marts/use-cases/update-data-mart-definition.service.js +1 -1
- package/dist/src/data-marts/use-cases/update-data-mart-owners.service.js +1 -1
- package/dist/src/data-marts/use-cases/update-data-storage.service.js +9 -9
- package/dist/src/data-marts/utils/field-errors.utils.d.ts +9 -0
- package/dist/src/data-marts/utils/field-errors.utils.js +51 -0
- package/dist/src/ee/mcp/instructions/mcp-system-instructions.d.ts +1 -1
- package/dist/src/ee/mcp/instructions/mcp-system-instructions.js +6 -3
- package/dist/src/ee/mcp/sdk/mcp-output-schema.d.ts +3 -0
- package/dist/src/ee/mcp/sdk/mcp-output-schema.js +53 -0
- package/dist/src/ee/mcp/sdk/mcp-schema-refresh.d.ts +8 -0
- package/dist/src/ee/mcp/sdk/mcp-schema-refresh.js +44 -0
- package/dist/src/ee/mcp/sdk/mcp-sdk-server.factory.d.ts +8 -1
- package/dist/src/ee/mcp/sdk/mcp-sdk-server.factory.js +35 -4
- package/dist/src/ee/mcp/tools/add-report.tool.d.ts +1 -1
- package/dist/src/ee/mcp/tools/add-report.tool.js +2 -2
- package/dist/src/ee/mcp/tools/context-input.d.ts +6 -0
- package/dist/src/ee/mcp/tools/context-input.js +13 -0
- package/dist/src/ee/mcp/tools/create-report-run-schedule.tool.js +1 -1
- package/dist/src/ee/mcp/tools/data-mart-catalog.tool.d.ts +10 -2
- package/dist/src/ee/mcp/tools/data-mart-catalog.tool.js +17 -5
- package/dist/src/ee/mcp/tools/data-mart-details.tool.d.ts +5 -1
- package/dist/src/ee/mcp/tools/data-mart-details.tool.js +4 -1
- package/dist/src/ee/mcp/tools/get-report-output-schema.tool.js +6 -6
- package/dist/src/ee/mcp/tools/list-contexts.tool.d.ts +131 -0
- package/dist/src/ee/mcp/tools/list-contexts.tool.js +50 -0
- package/dist/src/ee/mcp/tools/mcp-getting-started.util.js +2 -2
- package/dist/src/ee/mcp/tools/mcp-tool.providers.js +2 -0
- package/dist/src/ee/mcp/tools/query-data-mart.tool.js +1 -1
- package/dist/src/ee/mcp/tools/run-report.tool.js +1 -1
- package/dist/src/ee/mcp/tools/search-data-marts.tool.d.ts +10 -2
- package/dist/src/ee/mcp/tools/search-data-marts.tool.js +17 -3
- package/dist/src/ee/mcp/tools/update-report-run-schedule.tool.d.ts +1 -1
- package/dist/src/ee/mcp/tools/update-report-run-schedule.tool.js +3 -3
- package/dist/src/ee/mcp/tools/update-report.tool.js +1 -1
- package/dist/src/ee/mcp/transport/mcp-http-entry.service.js +1 -1
- package/dist/src/idp/decorators/auth.decorator.js +1 -1
- package/dist/src/idp/guards/idp.guard.js +1 -1
- package/dist/src/idp/oauth/oauth-project-selection.service.js +1 -1
- package/dist/src/migrations/1790830000000-widen-sql-dry-run-trigger-sql-column.d.ts +6 -0
- package/dist/src/migrations/1790830000000-widen-sql-dry-run-trigger-sql-column.js +21 -0
- package/dist/src/plugin-host/controllers/plugin-gallery.controller.d.ts +5 -1
- package/dist/src/plugin-host/controllers/plugin-gallery.controller.js +25 -1
- package/dist/src/plugin-host/dto/domain/find-plugin-by-repository.command.d.ts +6 -0
- package/dist/src/plugin-host/dto/domain/find-plugin-by-repository.command.js +13 -0
- package/dist/src/plugin-host/dto/presentation/plugin-lookup-api.dto.d.ts +3 -0
- package/dist/src/plugin-host/dto/presentation/plugin-lookup-api.dto.js +22 -0
- package/dist/src/plugin-host/mappers/plugin-presentation.mapper.d.ts +6 -0
- package/dist/src/plugin-host/mappers/plugin-presentation.mapper.js +7 -0
- package/dist/src/plugin-host/plugin-host.module.js +2 -0
- package/dist/src/plugin-host/services/plugin-publication.service.d.ts +2 -0
- package/dist/src/plugin-host/services/plugin-publication.service.js +36 -16
- package/dist/src/plugin-host/use-cases/find-plugin-by-repository.service.d.ts +9 -0
- package/dist/src/plugin-host/use-cases/find-plugin-by-repository.service.js +35 -0
- package/dist/src/plugin-host/use-cases/list-installations.service.d.ts +3 -1
- package/dist/src/plugin-host/use-cases/list-installations.service.js +14 -3
- package/dist/src/plugin-host/utils/github-repo-locator.util.js +1 -1
- package/package.json +4 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DataMartStatus } from '../../enums/data-mart-status.enum';
|
|
2
|
-
import {
|
|
2
|
+
import type { DataMartIconValue } from '../../enums/data-mart-icon.enum';
|
|
3
3
|
import { DataMartRelationshipGraphEdgeDto } from './data-mart-relationship-graph-edge.dto';
|
|
4
4
|
import { SourceDataLastUpdatedSummary } from '../schemas/source-data-last-updated.schema';
|
|
5
5
|
export interface ModelCanvasNodeDto {
|
|
@@ -7,7 +7,7 @@ export interface ModelCanvasNodeDto {
|
|
|
7
7
|
title: string;
|
|
8
8
|
status: DataMartStatus;
|
|
9
9
|
description: string | null;
|
|
10
|
-
icon:
|
|
10
|
+
icon: DataMartIconValue | null;
|
|
11
11
|
fieldCount: number;
|
|
12
12
|
triggersCount: number;
|
|
13
13
|
reportsCount: number;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { DataMartIconValue } from '../../enums/data-mart-icon.enum';
|
|
2
2
|
export declare class UpdateDataMartIconCommand {
|
|
3
3
|
readonly id: string;
|
|
4
4
|
readonly projectId: string;
|
|
5
|
-
readonly icon:
|
|
5
|
+
readonly icon: DataMartIconValue | null;
|
|
6
6
|
readonly userId: string;
|
|
7
7
|
readonly roles: string[];
|
|
8
|
-
constructor(id: string, projectId: string, icon:
|
|
8
|
+
constructor(id: string, projectId: string, icon: DataMartIconValue | null, userId?: string, roles?: string[]);
|
|
9
9
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type DataMartIconValue } from '../../enums/data-mart-icon.enum';
|
|
2
2
|
export declare class CreateDataMartRequestApiDto {
|
|
3
3
|
title: string;
|
|
4
4
|
storageId: string;
|
|
5
|
-
icon?:
|
|
5
|
+
icon?: DataMartIconValue | null;
|
|
6
6
|
}
|
|
@@ -33,13 +33,16 @@ __decorate([
|
|
|
33
33
|
], CreateDataMartRequestApiDto.prototype, "storageId", void 0);
|
|
34
34
|
__decorate([
|
|
35
35
|
(0, swagger_1.ApiProperty)({
|
|
36
|
-
|
|
36
|
+
type: String,
|
|
37
37
|
required: false,
|
|
38
38
|
nullable: true,
|
|
39
|
-
|
|
39
|
+
example: 'purchases',
|
|
40
|
+
description: `${data_mart_icon_enum_1.DATA_MART_ICON_API_DESCRIPTION} Omit or null for the default icon.`,
|
|
40
41
|
}),
|
|
41
42
|
(0, class_validator_1.IsOptional)(),
|
|
42
|
-
(0, class_validator_1.
|
|
43
|
+
(0, class_validator_1.IsString)(),
|
|
44
|
+
(0, class_validator_1.MaxLength)(data_mart_icon_enum_1.DATA_MART_ICON_MAX_LENGTH),
|
|
45
|
+
(0, class_validator_1.Matches)(data_mart_icon_enum_1.DATA_MART_ICON_PATTERN),
|
|
43
46
|
__metadata("design:type", Object)
|
|
44
47
|
], CreateDataMartRequestApiDto.prototype, "icon", void 0);
|
|
45
48
|
//# sourceMappingURL=create-data-mart-request-api.dto.js.map
|
|
@@ -133,7 +133,7 @@ __decorate([
|
|
|
133
133
|
(0, swagger_1.ApiProperty)({
|
|
134
134
|
type: 'object',
|
|
135
135
|
additionalProperties: true,
|
|
136
|
-
description: 'The
|
|
136
|
+
description: 'The manifest stored for this version.',
|
|
137
137
|
}),
|
|
138
138
|
__metadata("design:type", Object)
|
|
139
139
|
], CustomConnectorVersionResponseApiDto.prototype, "manifest", void 0);
|
|
@@ -4,14 +4,14 @@ import { UserProjectionDto } from '../../../idp/dto/domain/user-projection.dto';
|
|
|
4
4
|
import { DataMartListItemStorageApiDto } from './data-mart-list-item-storage-api.dto';
|
|
5
5
|
import { DataMartListItemContextApiDto } from './data-mart-list-item-context-api.dto';
|
|
6
6
|
import { DataMartDataLastUpdatedSummaryApiDto } from './data-mart-data-last-updated-response-api.dto';
|
|
7
|
-
import {
|
|
7
|
+
import { type DataMartIconValue } from '../../enums/data-mart-icon.enum';
|
|
8
8
|
export declare class DataMartListItemResponseApiDto {
|
|
9
9
|
id: string;
|
|
10
10
|
title: string;
|
|
11
11
|
status: DataMartStatus;
|
|
12
12
|
storage: DataMartListItemStorageApiDto;
|
|
13
13
|
description: string | null;
|
|
14
|
-
icon:
|
|
14
|
+
icon: DataMartIconValue | null;
|
|
15
15
|
definitionType?: DataMartDefinitionType | null;
|
|
16
16
|
connectorSourceName?: string;
|
|
17
17
|
triggersCount: number;
|
|
@@ -62,9 +62,10 @@ __decorate([
|
|
|
62
62
|
], DataMartListItemResponseApiDto.prototype, "description", void 0);
|
|
63
63
|
__decorate([
|
|
64
64
|
(0, swagger_1.ApiProperty)({
|
|
65
|
-
|
|
65
|
+
type: String,
|
|
66
66
|
nullable: true,
|
|
67
|
-
|
|
67
|
+
example: 'purchases',
|
|
68
|
+
description: `User-picked icon: ${data_mart_icon_enum_1.DATA_MART_ICON_API_DESCRIPTION} null means the default icon.`,
|
|
68
69
|
}),
|
|
69
70
|
__metadata("design:type", Object)
|
|
70
71
|
], DataMartListItemResponseApiDto.prototype, "icon", void 0);
|
|
@@ -8,7 +8,7 @@ import { ConnectorState as ConnectorStateData } from '../../connector-types/inte
|
|
|
8
8
|
import { BlendedFieldsConfig } from '../schemas/blended-fields-config.schema';
|
|
9
9
|
import { ContextSummary } from '../../utils/extract-context-summaries';
|
|
10
10
|
import { DataMartDataLastUpdatedResponseApiDto } from './data-mart-data-last-updated-response-api.dto';
|
|
11
|
-
import {
|
|
11
|
+
import { type DataMartIconValue } from '../../enums/data-mart-icon.enum';
|
|
12
12
|
export declare class DataMartResponseApiDto {
|
|
13
13
|
id: string;
|
|
14
14
|
title: string;
|
|
@@ -17,7 +17,7 @@ export declare class DataMartResponseApiDto {
|
|
|
17
17
|
definitionType?: DataMartDefinitionType;
|
|
18
18
|
definition?: DataMartDefinition;
|
|
19
19
|
description?: string;
|
|
20
|
-
icon:
|
|
20
|
+
icon: DataMartIconValue | null;
|
|
21
21
|
schema?: DataMartSchema;
|
|
22
22
|
connectorState?: ConnectorStateData;
|
|
23
23
|
triggersCount: number;
|
|
@@ -73,9 +73,10 @@ __decorate([
|
|
|
73
73
|
], DataMartResponseApiDto.prototype, "description", void 0);
|
|
74
74
|
__decorate([
|
|
75
75
|
(0, swagger_1.ApiProperty)({
|
|
76
|
-
|
|
76
|
+
type: String,
|
|
77
77
|
nullable: true,
|
|
78
|
-
|
|
78
|
+
example: 'purchases',
|
|
79
|
+
description: `User-picked icon: ${data_mart_icon_enum_1.DATA_MART_ICON_API_DESCRIPTION} null means the default icon.`,
|
|
79
80
|
}),
|
|
80
81
|
__metadata("design:type", Object)
|
|
81
82
|
], DataMartResponseApiDto.prototype, "icon", void 0);
|
|
@@ -40,7 +40,7 @@ __decorate([
|
|
|
40
40
|
__decorate([
|
|
41
41
|
(0, swagger_1.ApiPropertyOptional)({
|
|
42
42
|
enum: owner_filter_enum_1.OwnerFilter,
|
|
43
|
-
description: 'Filter by whether a Data Mart has
|
|
43
|
+
description: 'Filter by whether a Data Mart has Business Owners or Data Owners',
|
|
44
44
|
}),
|
|
45
45
|
(0, class_validator_1.IsOptional)(),
|
|
46
46
|
(0, class_validator_1.IsEnum)(owner_filter_enum_1.OwnerFilter),
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { DataMartStatus } from '../../enums/data-mart-status.enum';
|
|
2
2
|
import { DataMartDataLastUpdatedSummaryApiDto } from './data-mart-data-last-updated-response-api.dto';
|
|
3
|
-
import {
|
|
3
|
+
import { type DataMartIconValue } from '../../enums/data-mart-icon.enum';
|
|
4
4
|
export declare class ModelCanvasNodeApiDto {
|
|
5
5
|
id: string;
|
|
6
6
|
title: string;
|
|
7
7
|
status: DataMartStatus;
|
|
8
8
|
description: string | null;
|
|
9
|
-
icon:
|
|
9
|
+
icon: DataMartIconValue | null;
|
|
10
10
|
fieldCount: number;
|
|
11
11
|
triggersCount: number;
|
|
12
12
|
reportsCount: number;
|
|
@@ -44,9 +44,10 @@ __decorate([
|
|
|
44
44
|
], ModelCanvasNodeApiDto.prototype, "description", void 0);
|
|
45
45
|
__decorate([
|
|
46
46
|
(0, swagger_1.ApiProperty)({
|
|
47
|
-
|
|
47
|
+
type: String,
|
|
48
48
|
nullable: true,
|
|
49
|
-
|
|
49
|
+
example: 'purchases',
|
|
50
|
+
description: `User-picked icon: ${data_mart_icon_enum_1.DATA_MART_ICON_API_DESCRIPTION} null means the default icon.`,
|
|
50
51
|
}),
|
|
51
52
|
__metadata("design:type", Object)
|
|
52
53
|
], ModelCanvasNodeApiDto.prototype, "icon", void 0);
|
|
@@ -12,6 +12,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.SqlDryRunRequestApiDto = void 0;
|
|
13
13
|
const swagger_1 = require("@nestjs/swagger");
|
|
14
14
|
const class_validator_1 = require("class-validator");
|
|
15
|
+
const max_byte_length_validator_1 = require("../../../common/validators/max-byte-length.validator");
|
|
16
|
+
const MAX_MEDIUMTEXT_COLUMN_BYTES = 16777215;
|
|
15
17
|
class SqlDryRunRequestApiDto {
|
|
16
18
|
sql;
|
|
17
19
|
}
|
|
@@ -23,6 +25,7 @@ __decorate([
|
|
|
23
25
|
}),
|
|
24
26
|
(0, class_validator_1.IsString)(),
|
|
25
27
|
(0, class_validator_1.IsNotEmpty)(),
|
|
28
|
+
(0, max_byte_length_validator_1.MaxByteLength)(MAX_MEDIUMTEXT_COLUMN_BYTES),
|
|
26
29
|
__metadata("design:type", String)
|
|
27
30
|
], SqlDryRunRequestApiDto.prototype, "sql", void 0);
|
|
28
31
|
//# sourceMappingURL=sql-dry-run-request-api.dto.js.map
|
|
@@ -7,6 +7,8 @@ export declare class StorageResourceLeafDto {
|
|
|
7
7
|
groupId: string;
|
|
8
8
|
type: 'TABLE' | 'VIEW';
|
|
9
9
|
fullyQualifiedName: string;
|
|
10
|
+
location?: string;
|
|
11
|
+
locationMismatch?: boolean;
|
|
10
12
|
}
|
|
11
13
|
export declare class ListStorageResourcesResponseDto {
|
|
12
14
|
namespaces?: StorageNamespaceNodeDto[];
|
|
@@ -35,6 +35,8 @@ class StorageResourceLeafDto {
|
|
|
35
35
|
groupId;
|
|
36
36
|
type;
|
|
37
37
|
fullyQualifiedName;
|
|
38
|
+
location;
|
|
39
|
+
locationMismatch;
|
|
38
40
|
}
|
|
39
41
|
exports.StorageResourceLeafDto = StorageResourceLeafDto;
|
|
40
42
|
__decorate([
|
|
@@ -59,6 +61,21 @@ __decorate([
|
|
|
59
61
|
}),
|
|
60
62
|
__metadata("design:type", String)
|
|
61
63
|
], StorageResourceLeafDto.prototype, "fullyQualifiedName", void 0);
|
|
64
|
+
__decorate([
|
|
65
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
66
|
+
description: "Where the resource's data lives, e.g. a BigQuery dataset location",
|
|
67
|
+
example: 'EU',
|
|
68
|
+
}),
|
|
69
|
+
__metadata("design:type", String)
|
|
70
|
+
], StorageResourceLeafDto.prototype, "location", void 0);
|
|
71
|
+
__decorate([
|
|
72
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
73
|
+
description: 'True when the resource lives in a different location than the one the storage runs ' +
|
|
74
|
+
'queries in, so a data mart on this storage cannot read it. Omitted when either ' +
|
|
75
|
+
'location is unknown.',
|
|
76
|
+
}),
|
|
77
|
+
__metadata("design:type", Boolean)
|
|
78
|
+
], StorageResourceLeafDto.prototype, "locationMismatch", void 0);
|
|
62
79
|
class ListStorageResourcesResponseDto {
|
|
63
80
|
namespaces;
|
|
64
81
|
resources;
|
|
@@ -19,12 +19,15 @@ class UpdateDataMartIconApiDto {
|
|
|
19
19
|
exports.UpdateDataMartIconApiDto = UpdateDataMartIconApiDto;
|
|
20
20
|
__decorate([
|
|
21
21
|
(0, swagger_1.ApiProperty)({
|
|
22
|
-
|
|
22
|
+
type: String,
|
|
23
23
|
nullable: true,
|
|
24
|
-
|
|
24
|
+
example: 'purchases',
|
|
25
|
+
description: `${data_mart_icon_enum_1.DATA_MART_ICON_API_DESCRIPTION} null resets the Data Mart to the default icon.`,
|
|
25
26
|
}),
|
|
26
27
|
(0, class_validator_1.ValidateIf)(obj => obj.icon !== null),
|
|
27
|
-
(0, class_validator_1.
|
|
28
|
+
(0, class_validator_1.IsString)(),
|
|
29
|
+
(0, class_validator_1.MaxLength)(data_mart_icon_enum_1.DATA_MART_ICON_MAX_LENGTH),
|
|
30
|
+
(0, class_validator_1.Matches)(data_mart_icon_enum_1.DATA_MART_ICON_PATTERN),
|
|
28
31
|
__metadata("design:type", Object)
|
|
29
32
|
], UpdateDataMartIconApiDto.prototype, "icon", void 0);
|
|
30
33
|
//# sourceMappingURL=update-data-mart-icon-api.dto.js.map
|
|
@@ -2,7 +2,7 @@ import { CreatorAwareEntity } from './creator-aware-entity.interface';
|
|
|
2
2
|
import { DataStorage } from './data-storage.entity';
|
|
3
3
|
import { DataMartStatus } from '../enums/data-mart-status.enum';
|
|
4
4
|
import { DataMartDefinitionType } from '../enums/data-mart-definition-type.enum';
|
|
5
|
-
import {
|
|
5
|
+
import type { DataMartIconValue } from '../enums/data-mart-icon.enum';
|
|
6
6
|
import { DataMartDefinition } from '../dto/schemas/data-mart-table-definitions/data-mart-definition';
|
|
7
7
|
import { DataMartSchema } from '../data-storage-types/data-mart-schema.type';
|
|
8
8
|
import { ConnectorState } from './connector-state.entity';
|
|
@@ -23,7 +23,7 @@ export declare class DataMart implements CreatorAwareEntity {
|
|
|
23
23
|
definition?: DataMartDefinition;
|
|
24
24
|
status: DataMartStatus;
|
|
25
25
|
description?: string;
|
|
26
|
-
icon?:
|
|
26
|
+
icon?: DataMartIconValue | null;
|
|
27
27
|
projectId: string;
|
|
28
28
|
availableForReporting: boolean;
|
|
29
29
|
availableForMaintenance: boolean;
|
|
@@ -73,3 +73,9 @@ export declare enum DataMartIcon {
|
|
|
73
73
|
ALERTS = "alerts",
|
|
74
74
|
IMPRESSIONS = "impressions"
|
|
75
75
|
}
|
|
76
|
+
export declare const LUCIDE_ICON_PREFIX = "lucide:";
|
|
77
|
+
export type LucideIconValue = `${typeof LUCIDE_ICON_PREFIX}${string}`;
|
|
78
|
+
export type DataMartIconValue = DataMartIcon | LucideIconValue;
|
|
79
|
+
export declare const DATA_MART_ICON_MAX_LENGTH = 64;
|
|
80
|
+
export declare const DATA_MART_ICON_PATTERN: RegExp;
|
|
81
|
+
export declare const DATA_MART_ICON_API_DESCRIPTION: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DataMartIcon = void 0;
|
|
3
|
+
exports.DATA_MART_ICON_API_DESCRIPTION = exports.DATA_MART_ICON_PATTERN = exports.DATA_MART_ICON_MAX_LENGTH = exports.LUCIDE_ICON_PREFIX = exports.DataMartIcon = void 0;
|
|
4
4
|
var DataMartIcon;
|
|
5
5
|
(function (DataMartIcon) {
|
|
6
6
|
DataMartIcon["PURCHASES"] = "purchases";
|
|
@@ -77,4 +77,9 @@ var DataMartIcon;
|
|
|
77
77
|
DataMartIcon["ALERTS"] = "alerts";
|
|
78
78
|
DataMartIcon["IMPRESSIONS"] = "impressions";
|
|
79
79
|
})(DataMartIcon || (exports.DataMartIcon = DataMartIcon = {}));
|
|
80
|
+
exports.LUCIDE_ICON_PREFIX = 'lucide:';
|
|
81
|
+
exports.DATA_MART_ICON_MAX_LENGTH = 64;
|
|
82
|
+
exports.DATA_MART_ICON_PATTERN = new RegExp(`^(?:${Object.values(DataMartIcon).join('|')}|${exports.LUCIDE_ICON_PREFIX}[a-z0-9]+(?:-[a-z0-9]+)*)$`);
|
|
83
|
+
exports.DATA_MART_ICON_API_DESCRIPTION = 'A recommended icon key (e.g. `purchases`) or any lucide icon as `lucide:<icon-name>` ' +
|
|
84
|
+
'(e.g. `lucide:shopping-cart`).';
|
|
80
85
|
//# sourceMappingURL=data-mart-icon.enum.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare class GoogleSheetsApiCallError extends Error {
|
|
2
|
+
readonly status: number;
|
|
3
|
+
readonly cause: unknown;
|
|
4
|
+
constructor(message: string, status: number, cause: unknown);
|
|
5
|
+
}
|
|
6
|
+
export declare function googleSheetsApiCallMessage(step: string, status: number, googleMessage: string): string;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GoogleSheetsApiCallError = void 0;
|
|
4
|
+
exports.googleSheetsApiCallMessage = googleSheetsApiCallMessage;
|
|
5
|
+
class GoogleSheetsApiCallError extends Error {
|
|
6
|
+
status;
|
|
7
|
+
cause;
|
|
8
|
+
constructor(message, status, cause) {
|
|
9
|
+
super(message);
|
|
10
|
+
this.status = status;
|
|
11
|
+
this.cause = cause;
|
|
12
|
+
this.name = 'GoogleSheetsApiCallError';
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.GoogleSheetsApiCallError = GoogleSheetsApiCallError;
|
|
16
|
+
function isUnfinishedUpdate(status) {
|
|
17
|
+
return status === 404 || status >= 500;
|
|
18
|
+
}
|
|
19
|
+
function googleSheetsApiCallMessage(step, status, googleMessage) {
|
|
20
|
+
const details = `Details: ${googleMessage.trim()}`;
|
|
21
|
+
if (isUnfinishedUpdate(status)) {
|
|
22
|
+
return (`Google Sheets couldn't finish updating the spreadsheet this report writes to. ` +
|
|
23
|
+
`A single failure can be a temporary problem on Google's side — run the report ` +
|
|
24
|
+
`again. If it fails on every run, the spreadsheet most likely recalculates heavy ` +
|
|
25
|
+
`formulas after every change, for example formulas on other sheets that read whole ` +
|
|
26
|
+
`columns of the report's sheet: limit them to the rows they need or send the report ` +
|
|
27
|
+
`to a separate spreadsheet. Circular references can cause this too: fix the formulas ` +
|
|
28
|
+
`that show a circular dependency error, and turn on Iterative calculation ` +
|
|
29
|
+
`(File → Settings → Calculation) only if a circular reference is intentional. ${details}`);
|
|
30
|
+
}
|
|
31
|
+
const whileStep = `while ${step.charAt(0).toLowerCase()}${step.slice(1)}`;
|
|
32
|
+
return `Google Sheets rejected an update ${whileStep}. ${details}`;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=google-sheets-api-call.error.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const MCP_CONTEXTS_FACADE: unique symbol;
|
|
2
|
+
export interface McpContextSummary {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
}
|
|
6
|
+
export interface McpContext extends McpContextSummary {
|
|
7
|
+
description: string | null;
|
|
8
|
+
}
|
|
9
|
+
export interface McpContextsFacade {
|
|
10
|
+
listContexts(projectId: string): Promise<McpContext[]>;
|
|
11
|
+
validateContextIds(projectId: string, contextIds: string[]): Promise<void>;
|
|
12
|
+
getDataMartContexts(projectId: string, dataMartIds: string[]): Promise<Record<string, McpContextSummary[]>>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ContextService } from '../services/context/context.service';
|
|
2
|
+
import type { McpContextsFacade, McpContext, McpContextSummary } from './mcp-contexts.facade';
|
|
3
|
+
export declare class McpContextsFacadeImpl implements McpContextsFacade {
|
|
4
|
+
private readonly contexts;
|
|
5
|
+
constructor(contexts: ContextService);
|
|
6
|
+
listContexts(projectId: string): Promise<McpContext[]>;
|
|
7
|
+
validateContextIds(projectId: string, contextIds: string[]): Promise<void>;
|
|
8
|
+
getDataMartContexts(projectId: string, dataMartIds: string[]): Promise<Record<string, McpContextSummary[]>>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.McpContextsFacadeImpl = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const context_service_1 = require("../services/context/context.service");
|
|
15
|
+
let McpContextsFacadeImpl = class McpContextsFacadeImpl {
|
|
16
|
+
contexts;
|
|
17
|
+
constructor(contexts) {
|
|
18
|
+
this.contexts = contexts;
|
|
19
|
+
}
|
|
20
|
+
listContexts(projectId) {
|
|
21
|
+
return this.contexts.listForMcp(projectId);
|
|
22
|
+
}
|
|
23
|
+
validateContextIds(projectId, contextIds) {
|
|
24
|
+
return this.contexts.validateContextIds([...new Set(contextIds)], projectId);
|
|
25
|
+
}
|
|
26
|
+
getDataMartContexts(projectId, dataMartIds) {
|
|
27
|
+
return this.contexts.getDataMartContextSummaries(projectId, dataMartIds);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
exports.McpContextsFacadeImpl = McpContextsFacadeImpl;
|
|
31
|
+
exports.McpContextsFacadeImpl = McpContextsFacadeImpl = __decorate([
|
|
32
|
+
(0, common_1.Injectable)(),
|
|
33
|
+
__metadata("design:paramtypes", [context_service_1.ContextService])
|
|
34
|
+
], McpContextsFacadeImpl);
|
|
35
|
+
//# sourceMappingURL=mcp-contexts.facade.impl.js.map
|
|
@@ -11,6 +11,7 @@ export interface McpListDataMartsRequest {
|
|
|
11
11
|
userId: string;
|
|
12
12
|
roles: string[];
|
|
13
13
|
status?: McpDataMartCatalogStatus;
|
|
14
|
+
contextIds?: string[];
|
|
14
15
|
}
|
|
15
16
|
export interface McpSummarizeDataCatalogRequest {
|
|
16
17
|
projectId: string;
|
|
@@ -31,6 +32,10 @@ export interface McpDataMartListItem {
|
|
|
31
32
|
description: string | null;
|
|
32
33
|
status: string;
|
|
33
34
|
updatedAt: string;
|
|
35
|
+
contexts: Array<{
|
|
36
|
+
id: string;
|
|
37
|
+
name: string;
|
|
38
|
+
}>;
|
|
34
39
|
}
|
|
35
40
|
export interface McpListDataMartsResponse {
|
|
36
41
|
dataMarts: McpDataMartListItem[];
|
|
@@ -60,6 +65,10 @@ export interface McpJoinDto {
|
|
|
60
65
|
description?: string;
|
|
61
66
|
}
|
|
62
67
|
export interface McpDataMartDetailsResponse {
|
|
68
|
+
contexts: Array<{
|
|
69
|
+
id: string;
|
|
70
|
+
name: string;
|
|
71
|
+
}>;
|
|
63
72
|
id: string;
|
|
64
73
|
name: string;
|
|
65
74
|
description: string;
|
|
@@ -14,6 +14,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
var McpDataMartsFacadeImpl_1;
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
16
|
exports.McpDataMartsFacadeImpl = void 0;
|
|
17
|
+
const extract_context_summaries_1 = require("../utils/extract-context-summaries");
|
|
17
18
|
const common_1 = require("@nestjs/common");
|
|
18
19
|
const internal_helpers_1 = require("@owox/internal-helpers");
|
|
19
20
|
const type_resolver_1 = require("../../common/resolver/type-resolver");
|
|
@@ -60,7 +61,7 @@ let McpDataMartsFacadeImpl = McpDataMartsFacadeImpl_1 = class McpDataMartsFacade
|
|
|
60
61
|
}
|
|
61
62
|
async listDataMarts(request) {
|
|
62
63
|
const status = request.status === 'draft' ? data_mart_status_enum_1.DataMartStatus.DRAFT : data_mart_status_enum_1.DataMartStatus.PUBLISHED;
|
|
63
|
-
const result = await this.listDataMartsService.run(new list_data_marts_command_1.ListDataMartsCommand(request.projectId, request.userId, request.roles, undefined, undefined, status));
|
|
64
|
+
const result = await this.listDataMartsService.run(new list_data_marts_command_1.ListDataMartsCommand(request.projectId, request.userId, request.roles, undefined, undefined, status, request.contextIds));
|
|
64
65
|
return {
|
|
65
66
|
dataMarts: result.items
|
|
66
67
|
.filter(item => item.status === status)
|
|
@@ -70,6 +71,7 @@ let McpDataMartsFacadeImpl = McpDataMartsFacadeImpl_1 = class McpDataMartsFacade
|
|
|
70
71
|
description: item.description,
|
|
71
72
|
status: item.status,
|
|
72
73
|
updatedAt: item.modifiedAt.toISOString(),
|
|
74
|
+
contexts: item.contexts ?? [],
|
|
73
75
|
})),
|
|
74
76
|
};
|
|
75
77
|
}
|
|
@@ -93,6 +95,7 @@ let McpDataMartsFacadeImpl = McpDataMartsFacadeImpl_1 = class McpDataMartsFacade
|
|
|
93
95
|
return {
|
|
94
96
|
id: dataMart.id,
|
|
95
97
|
name: dataMart.title,
|
|
98
|
+
contexts: (0, extract_context_summaries_1.extractContextSummaries)(dataMart.contexts),
|
|
96
99
|
description: dataMart.description ?? '',
|
|
97
100
|
fields: this.withDisplayNames(schema?.fields ?? []),
|
|
98
101
|
joinedFields,
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import type { McpContext, McpContextSummary } from '../facades/mcp-contexts.facade';
|
|
2
|
+
import type { DataMartContext } from '../entities/data-mart-context.entity';
|
|
1
3
|
import { UserProjectionsListDto } from '../../idp/dto/domain/user-projections-list.dto';
|
|
2
4
|
import { ContextDto } from '../dto/domain/context.dto';
|
|
3
5
|
import { ContextResponseApiDto } from '../dto/presentation/context-api.dto';
|
|
4
6
|
import { Context } from '../entities/context.entity';
|
|
5
7
|
export declare class ContextMapper {
|
|
8
|
+
toMcpContext(entity: Context): McpContext;
|
|
9
|
+
toDataMartContextSummaries(rows: DataMartContext[]): Record<string, McpContextSummary[]>;
|
|
6
10
|
toDomainDto(entity: Context, userProjections?: UserProjectionsListDto): ContextDto;
|
|
7
11
|
toApiResponse(dto: ContextDto): ContextResponseApiDto;
|
|
8
12
|
}
|
|
@@ -10,6 +10,18 @@ exports.ContextMapper = void 0;
|
|
|
10
10
|
const common_1 = require("@nestjs/common");
|
|
11
11
|
const context_dto_1 = require("../dto/domain/context.dto");
|
|
12
12
|
let ContextMapper = class ContextMapper {
|
|
13
|
+
toMcpContext(entity) {
|
|
14
|
+
return { id: entity.id, name: entity.name, description: entity.description || null };
|
|
15
|
+
}
|
|
16
|
+
toDataMartContextSummaries(rows) {
|
|
17
|
+
const result = {};
|
|
18
|
+
for (const row of rows) {
|
|
19
|
+
if (!row.context || row.context.deletedAt)
|
|
20
|
+
continue;
|
|
21
|
+
(result[row.dataMartId] ??= []).push({ id: row.context.id, name: row.context.name });
|
|
22
|
+
}
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
13
25
|
toDomainDto(entity, userProjections) {
|
|
14
26
|
const projection = entity.createdById && userProjections
|
|
15
27
|
? userProjections.getByUserId(entity.createdById)
|
|
@@ -59,6 +59,7 @@ let AdvancedSearchService = AdvancedSearchService_1 = class AdvancedSearchServic
|
|
|
59
59
|
vectorCandidateLimit: this.config.vectorCandidateMultiplier * topK,
|
|
60
60
|
accessScope: options.accessScope,
|
|
61
61
|
excludeDrafts: options.excludeDrafts,
|
|
62
|
+
...(options.contextIds?.length ? { contextIds: options.contextIds } : {}),
|
|
62
63
|
};
|
|
63
64
|
const perTypeResults = await Promise.all(activeTypes.map(entityType => this.vectorSearch.search(entityType, projectId, prompt, promptVec, searchOptions)));
|
|
64
65
|
const all = perTypeResults
|
|
@@ -12,6 +12,7 @@ var InMemoryPaginatedSearch_1;
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.InMemoryPaginatedSearch = void 0;
|
|
14
14
|
const common_1 = require("@nestjs/common");
|
|
15
|
+
const search_facade_1 = require("../../../common/search/search.facade");
|
|
15
16
|
const indexable_source_registry_1 = require("../sources/indexable-source.registry");
|
|
16
17
|
const search_index_repository_1 = require("../schema/search-index.repository");
|
|
17
18
|
const document_builder_1 = require("../indexing/document-builder");
|
|
@@ -102,7 +103,22 @@ let InMemoryPaginatedSearch = InMemoryPaginatedSearch_1 = class InMemoryPaginate
|
|
|
102
103
|
excludeDrafts: options.excludeDrafts === true,
|
|
103
104
|
}));
|
|
104
105
|
const promptTokens = (0, tokenizer_1.tokenizePrompt)(prompt, entityType);
|
|
105
|
-
const
|
|
106
|
+
const accessPredicate = await source.accessPredicateProvider.build('idx', projectId, options.accessScope);
|
|
107
|
+
const predicate = { ...accessPredicate, parameters: { ...accessPredicate.parameters } };
|
|
108
|
+
if (entityType === search_facade_1.SearchableEntityType.DATA_MART && options.contextIds?.length) {
|
|
109
|
+
const contextParameters = Object.fromEntries(options.contextIds.map((id, i) => [`filterContext${String(i)}`, id]));
|
|
110
|
+
const placeholders = Object.keys(contextParameters)
|
|
111
|
+
.map(key => `:${key}`)
|
|
112
|
+
.join(', ');
|
|
113
|
+
predicate.whereSql = [
|
|
114
|
+
predicate.whereSql,
|
|
115
|
+
`EXISTS (SELECT 1 FROM data_mart_contexts filteredContext WHERE filteredContext.data_mart_id = idx.entity_id AND filteredContext.context_id IN (${placeholders}))`,
|
|
116
|
+
]
|
|
117
|
+
.filter(Boolean)
|
|
118
|
+
.map(sql => `(${sql})`)
|
|
119
|
+
.join(' AND ');
|
|
120
|
+
Object.assign(predicate.parameters, contextParameters);
|
|
121
|
+
}
|
|
106
122
|
const buffer = new top_k_buffer_1.TopKBuffer(options.topK);
|
|
107
123
|
const page = await this.repository.searchCandidates(entityType, projectId, predicate, prompt, {
|
|
108
124
|
candidateLimit: options.candidateLimit,
|
|
@@ -20,6 +20,7 @@ export interface VectorSearchOptions {
|
|
|
20
20
|
vectorCandidateLimit?: number;
|
|
21
21
|
accessScope?: SourceAccessScope;
|
|
22
22
|
excludeDrafts?: boolean;
|
|
23
|
+
contextIds?: string[];
|
|
23
24
|
}
|
|
24
25
|
export interface VectorSearchPort {
|
|
25
26
|
search(entityType: SearchableEntityType, projectId: string, prompt: string, promptVec: Float32Array | null, options: VectorSearchOptions): Promise<ScoredEntity[]>;
|
|
@@ -234,10 +234,12 @@ let ConnectorDefinitionService = ConnectorDefinitionService_1 = class ConnectorD
|
|
|
234
234
|
}
|
|
235
235
|
let model;
|
|
236
236
|
try {
|
|
237
|
-
model = new connectors_1.Core.ManifestParser().parse(JSON.stringify(draft.manifest)
|
|
237
|
+
model = new connectors_1.Core.ManifestParser().parse(JSON.stringify(draft.manifest), {
|
|
238
|
+
authoring: true,
|
|
239
|
+
});
|
|
238
240
|
}
|
|
239
241
|
catch (e) {
|
|
240
|
-
throw new common_1.BadRequestException(`Invalid
|
|
242
|
+
throw new common_1.BadRequestException(`Invalid manifest: ${e.message}`);
|
|
241
243
|
}
|
|
242
244
|
this.assertNodesHavePrimaryKeys(draft.manifest);
|
|
243
245
|
(0, declarative_manifest_schemas_1.specificationFromManifest)(draft.manifest);
|
|
@@ -36,6 +36,7 @@ export declare class ConnectorTestService {
|
|
|
36
36
|
protected runnerPath(): string;
|
|
37
37
|
private stopChild;
|
|
38
38
|
private testDateWindow;
|
|
39
|
+
private endLagDaysOf;
|
|
39
40
|
private limit;
|
|
40
41
|
private acquireTestSlot;
|
|
41
42
|
runTest(args: ConnectorTestRequest, hooks?: ConnectorTestHooks): Promise<ConnectorTestResult>;
|