@ductape/sdk 0.1.12 → 0.1.13
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/api/services/cloudApi.service.js +4 -2
- package/dist/api/services/cloudApi.service.js.map +1 -1
- package/dist/api/services/webhooksApi.service.js +6 -4
- package/dist/api/services/webhooksApi.service.js.map +1 -1
- package/dist/apps/services/app.service.d.ts +4 -0
- package/dist/apps/services/app.service.js +37 -0
- package/dist/apps/services/app.service.js.map +1 -1
- package/dist/brokers/brokers.service.js +23 -1
- package/dist/brokers/brokers.service.js.map +1 -1
- package/dist/brokers/utils/broker.util.js +4 -1
- package/dist/brokers/utils/broker.util.js.map +1 -1
- package/dist/brokers/utils/providers/azure-servicebus.service.d.ts +17 -0
- package/dist/brokers/utils/providers/azure-servicebus.service.js +51 -0
- package/dist/brokers/utils/providers/azure-servicebus.service.js.map +1 -0
- package/dist/cloud/cloud-api.util.d.ts +1 -1
- package/dist/cloud/cloud-api.util.js +21 -3
- package/dist/cloud/cloud-api.util.js.map +1 -1
- package/dist/cloud/cloud-broker-link.util.js +32 -11
- package/dist/cloud/cloud-broker-link.util.js.map +1 -1
- package/dist/cloud/cloud-database-link.util.js +8 -11
- package/dist/cloud/cloud-database-link.util.js.map +1 -1
- package/dist/cloud/cloud-graph-link.util.d.ts +12 -0
- package/dist/cloud/cloud-graph-link.util.js +61 -0
- package/dist/cloud/cloud-graph-link.util.js.map +1 -0
- package/dist/cloud/cloud-runtime.util.js +8 -1
- package/dist/cloud/cloud-runtime.util.js.map +1 -1
- package/dist/cloud/cloud-service-map.util.d.ts +3 -0
- package/dist/cloud/cloud-service-map.util.js +52 -0
- package/dist/cloud/cloud-service-map.util.js.map +1 -0
- package/dist/cloud/cloud-vector-link.util.d.ts +12 -0
- package/dist/cloud/cloud-vector-link.util.js +60 -0
- package/dist/cloud/cloud-vector-link.util.js.map +1 -0
- package/dist/cloud/index.d.ts +3 -0
- package/dist/cloud/index.js +8 -1
- package/dist/cloud/index.js.map +1 -1
- package/dist/cloud/types/cloud.types.d.ts +8 -3
- package/dist/graph/adapters/adapter.factory.js +4 -0
- package/dist/graph/adapters/adapter.factory.js.map +1 -1
- package/dist/graph/adapters/cosmos-gremlin.adapter.d.ts +12 -0
- package/dist/graph/adapters/cosmos-gremlin.adapter.js +125 -0
- package/dist/graph/adapters/cosmos-gremlin.adapter.js.map +1 -0
- package/dist/graph/adapters/index.d.ts +2 -0
- package/dist/graph/adapters/index.js +5 -1
- package/dist/graph/adapters/index.js.map +1 -1
- package/dist/graph/adapters/neptune.adapter.d.ts +4 -4
- package/dist/graph/adapters/neptune.adapter.js.map +1 -1
- package/dist/graph/adapters/spanner-graph.adapter.d.ts +68 -0
- package/dist/graph/adapters/spanner-graph.adapter.js +220 -0
- package/dist/graph/adapters/spanner-graph.adapter.js.map +1 -0
- package/dist/graph/types/enums.d.ts +2 -0
- package/dist/graph/types/enums.js +2 -0
- package/dist/graph/types/enums.js.map +1 -1
- package/dist/index.d.ts +14 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -1
- package/dist/logs/logs.types.d.ts +5 -1
- package/dist/logs/logs.types.js +2 -0
- package/dist/logs/logs.types.js.map +1 -1
- package/dist/products/services/products.service.d.ts +13 -0
- package/dist/products/services/products.service.js +201 -104
- package/dist/products/services/products.service.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productGraph.validator.js +8 -0
- package/dist/products/validators/joi-validators/create.productGraph.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js +28 -5
- package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productVector.validator.js +8 -0
- package/dist/products/validators/joi-validators/create.productVector.validator.js.map +1 -1
- package/dist/resilience/fallback.service.js +11 -6
- package/dist/resilience/fallback.service.js.map +1 -1
- package/dist/resilience/quota.service.d.ts +1 -1
- package/dist/resilience/quota.service.js +48 -10
- package/dist/resilience/quota.service.js.map +1 -1
- package/dist/resilience/resilience-mapping.utils.d.ts +5 -0
- package/dist/resilience/resilience-mapping.utils.js +53 -0
- package/dist/resilience/resilience-mapping.utils.js.map +1 -0
- package/dist/types/productsBuilder.types.d.ts +8 -0
- package/dist/types/productsBuilder.types.js +6 -0
- package/dist/types/productsBuilder.types.js.map +1 -1
- package/dist/vector/adapters/azure-search.adapter.d.ts +25 -0
- package/dist/vector/adapters/azure-search.adapter.js +217 -0
- package/dist/vector/adapters/azure-search.adapter.js.map +1 -0
- package/dist/vector/adapters/index.d.ts +3 -0
- package/dist/vector/adapters/index.js +7 -1
- package/dist/vector/adapters/index.js.map +1 -1
- package/dist/vector/adapters/opensearch.adapter.d.ts +25 -0
- package/dist/vector/adapters/opensearch.adapter.js +224 -0
- package/dist/vector/adapters/opensearch.adapter.js.map +1 -0
- package/dist/vector/adapters/vertex-vector-search.adapter.d.ts +29 -0
- package/dist/vector/adapters/vertex-vector-search.adapter.js +178 -0
- package/dist/vector/adapters/vertex-vector-search.adapter.js.map +1 -0
- package/dist/vector/types/enums.d.ts +6 -0
- package/dist/vector/types/enums.js +6 -0
- package/dist/vector/types/enums.js.map +1 -1
- package/dist/vector/vector.service.js +6 -0
- package/dist/vector/vector.service.js.map +1 -1
- package/package.json +8 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-runtime.util.js","sourceRoot":"","sources":["../../src/cloud/cloud-runtime.util.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAkBH,
|
|
1
|
+
{"version":3,"file":"cloud-runtime.util.js","sourceRoot":"","sources":["../../src/cloud/cloud-runtime.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { CloudComponentType, CloudResourceService } from './types';
|
|
2
|
+
export declare function cloudServiceForProvider(componentType: CloudComponentType, provider: string): CloudResourceService | null;
|
|
3
|
+
export declare function requireCloudService(componentType: CloudComponentType, provider: string): CloudResourceService;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cloudServiceForProvider = cloudServiceForProvider;
|
|
4
|
+
exports.requireCloudService = requireCloudService;
|
|
5
|
+
const STORAGE = {
|
|
6
|
+
aws: 's3',
|
|
7
|
+
gcp: 'gcs',
|
|
8
|
+
azure: 'blob',
|
|
9
|
+
};
|
|
10
|
+
const BROKER = {
|
|
11
|
+
aws: 'sqs',
|
|
12
|
+
gcp: 'pubsub',
|
|
13
|
+
azure: 'servicebus',
|
|
14
|
+
};
|
|
15
|
+
const DATABASE = {
|
|
16
|
+
aws: 'rds',
|
|
17
|
+
gcp: 'cloudsql',
|
|
18
|
+
azure: 'postgresql',
|
|
19
|
+
};
|
|
20
|
+
const GRAPH = {
|
|
21
|
+
aws: 'neptune',
|
|
22
|
+
gcp: 'spanner-graph',
|
|
23
|
+
azure: 'cosmos-gremlin',
|
|
24
|
+
};
|
|
25
|
+
const VECTOR = {
|
|
26
|
+
aws: 'opensearch',
|
|
27
|
+
gcp: 'vertex-vector-search',
|
|
28
|
+
azure: 'azure-search',
|
|
29
|
+
};
|
|
30
|
+
const BY_KIND = {
|
|
31
|
+
storage: STORAGE,
|
|
32
|
+
messageBrokers: BROKER,
|
|
33
|
+
databases: DATABASE,
|
|
34
|
+
graphs: GRAPH,
|
|
35
|
+
vectors: VECTOR,
|
|
36
|
+
caches: { aws: null, gcp: null, azure: null },
|
|
37
|
+
};
|
|
38
|
+
function cloudServiceForProvider(componentType, provider) {
|
|
39
|
+
var _a;
|
|
40
|
+
const map = BY_KIND[componentType];
|
|
41
|
+
if (!map)
|
|
42
|
+
return null;
|
|
43
|
+
return (_a = map[provider]) !== null && _a !== void 0 ? _a : null;
|
|
44
|
+
}
|
|
45
|
+
function requireCloudService(componentType, provider) {
|
|
46
|
+
const service = cloudServiceForProvider(componentType, provider);
|
|
47
|
+
if (!service) {
|
|
48
|
+
throw new Error(`Cloud-linked ${componentType} does not support provider "${provider}"`);
|
|
49
|
+
}
|
|
50
|
+
return service;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=cloud-service-map.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-service-map.util.js","sourceRoot":"","sources":["../../src/cloud/cloud-service-map.util.ts"],"names":[],"mappings":";;AAyCA,0DAOC;AAED,kDAWC;AA3DD,MAAM,OAAO,GAAuD;IAClE,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,MAAM;CACd,CAAC;AAEF,MAAM,MAAM,GAAuD;IACjE,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,QAAQ;IACb,KAAK,EAAE,YAAY;CACpB,CAAC;AAEF,MAAM,QAAQ,GAAuD;IACnE,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,UAAU;IACf,KAAK,EAAE,YAAY;CACpB,CAAC;AAEF,MAAM,KAAK,GAAuD;IAChE,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,eAAe;IACpB,KAAK,EAAE,gBAAgB;CACxB,CAAC;AAEF,MAAM,MAAM,GAAuD;IACjE,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,sBAAsB;IAC3B,KAAK,EAAE,cAAc;CACtB,CAAC;AAEF,MAAM,OAAO,GAAmF;IAC9F,OAAO,EAAE,OAAO;IAChB,cAAc,EAAE,MAAM;IACtB,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;CAC9C,CAAC;AAEF,SAAgB,uBAAuB,CACrC,aAAiC,EACjC,QAAgB;;IAEhB,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACnC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,MAAA,GAAG,CAAC,QAAyB,CAAC,mCAAI,IAAI,CAAC;AAChD,CAAC;AAED,SAAgB,mBAAmB,CACjC,aAAiC,EACjC,QAAgB;IAEhB,MAAM,OAAO,GAAG,uBAAuB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACjE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,gBAAgB,aAAa,+BAA+B,QAAQ,GAAG,CACxE,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CloudApiService } from '../api/services/cloudApi.service';
|
|
2
|
+
import { IRequestExtension } from '../types';
|
|
3
|
+
import { IProductVectorEnvs } from '../types/productsBuilder.types';
|
|
4
|
+
export type CloudLinkedVectorEnv = IProductVectorEnvs & {
|
|
5
|
+
instance?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare function materializeCloudLinkedVectorEnv(env: CloudLinkedVectorEnv, ctx: {
|
|
8
|
+
cloudApi: CloudApiService;
|
|
9
|
+
auth: IRequestExtension;
|
|
10
|
+
productTag: string;
|
|
11
|
+
vectorTag: string;
|
|
12
|
+
}): Promise<IProductVectorEnvs>;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.materializeCloudLinkedVectorEnv = materializeCloudLinkedVectorEnv;
|
|
4
|
+
const cloud_service_map_util_1 = require("./cloud-service-map.util");
|
|
5
|
+
function draftToVectorEnv(draft, cloudTag, slug) {
|
|
6
|
+
const envs = draft.envs;
|
|
7
|
+
if (!(envs === null || envs === void 0 ? void 0 : envs.length)) {
|
|
8
|
+
throw new Error('Cloud vector link did not return an environment draft');
|
|
9
|
+
}
|
|
10
|
+
const draftEnv = envs.find((e) => e.slug === slug) || envs[0];
|
|
11
|
+
return {
|
|
12
|
+
slug,
|
|
13
|
+
endpoint: draftEnv.endpoint ? String(draftEnv.endpoint) : undefined,
|
|
14
|
+
apiKey: draftEnv.apiKey ? String(draftEnv.apiKey) : undefined,
|
|
15
|
+
authMode: 'cloud_connection',
|
|
16
|
+
cloud: cloudTag,
|
|
17
|
+
region: draftEnv.region ? String(draftEnv.region) : undefined,
|
|
18
|
+
index: draftEnv.index ? String(draftEnv.index) : undefined,
|
|
19
|
+
namespace: draftEnv.namespace ? String(draftEnv.namespace) : undefined,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
async function materializeCloudLinkedVectorEnv(env, ctx) {
|
|
23
|
+
var _a, _b;
|
|
24
|
+
const cloudTag = env.cloud;
|
|
25
|
+
if (!cloudTag) {
|
|
26
|
+
return env;
|
|
27
|
+
}
|
|
28
|
+
const connection = await ctx.cloudApi.fetchConnection(cloudTag, ctx.auth);
|
|
29
|
+
const service = (0, cloud_service_map_util_1.requireCloudService)('vectors', connection.provider);
|
|
30
|
+
const instance = String(env.instance || '').trim();
|
|
31
|
+
const region = env.region ? String(env.region) : undefined;
|
|
32
|
+
const baseInput = {
|
|
33
|
+
service,
|
|
34
|
+
componentType: 'vectors',
|
|
35
|
+
productTag: ctx.productTag,
|
|
36
|
+
componentTag: ctx.vectorTag,
|
|
37
|
+
envSlug: env.slug,
|
|
38
|
+
cloud: cloudTag,
|
|
39
|
+
};
|
|
40
|
+
let result;
|
|
41
|
+
if (instance) {
|
|
42
|
+
const listed = await ctx.cloudApi.listResources({ cloud: cloudTag, service, region }, ctx.auth);
|
|
43
|
+
const exists = (_a = listed.resources) === null || _a === void 0 ? void 0 : _a.some((r) => r.id === instance || r.name === instance);
|
|
44
|
+
if (exists) {
|
|
45
|
+
result = await ctx.cloudApi.importResource(Object.assign(Object.assign({}, baseInput), { resourceId: instance }), ctx.auth);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
result = await ctx.cloudApi.provisionResource(Object.assign(Object.assign({}, baseInput), { template: 'default', params: { instance, serviceName: instance, region, location: region } }), ctx.auth);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
result = await ctx.cloudApi.provisionResource(Object.assign(Object.assign({}, baseInput), { template: 'default', params: { region, location: region } }), ctx.auth);
|
|
53
|
+
}
|
|
54
|
+
const draft = (_b = result.componentDraft) === null || _b === void 0 ? void 0 : _b.draft;
|
|
55
|
+
if (!draft) {
|
|
56
|
+
throw new Error('Cloud vector link did not return a component draft');
|
|
57
|
+
}
|
|
58
|
+
return draftToVectorEnv(draft, cloudTag, env.slug);
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=cloud-vector-link.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-vector-link.util.js","sourceRoot":"","sources":["../../src/cloud/cloud-vector-link.util.ts"],"names":[],"mappings":"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"}
|
package/dist/cloud/index.d.ts
CHANGED
|
@@ -3,6 +3,9 @@ export type { ICloudServiceDeps } from './cloud.service';
|
|
|
3
3
|
export { resolveCloudLinkedConfig, resolveCloudLinkedEnvConfig } from './cloud-runtime.util';
|
|
4
4
|
export { materializeCloudLinkedBrokerEnv } from './cloud-broker-link.util';
|
|
5
5
|
export { materializeCloudLinkedDatabaseEnv } from './cloud-database-link.util';
|
|
6
|
+
export { materializeCloudLinkedGraphEnv } from './cloud-graph-link.util';
|
|
7
|
+
export { materializeCloudLinkedVectorEnv } from './cloud-vector-link.util';
|
|
8
|
+
export { cloudServiceForProvider, requireCloudService } from './cloud-service-map.util';
|
|
6
9
|
export { resolveCloudConnectionId } from './cloud-api.util';
|
|
7
10
|
export type { ICloudRuntimeContext } from './cloud-runtime.util';
|
|
8
11
|
export * from './types';
|
package/dist/cloud/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.resolveCloudConnectionId = exports.materializeCloudLinkedDatabaseEnv = exports.materializeCloudLinkedBrokerEnv = exports.resolveCloudLinkedEnvConfig = exports.resolveCloudLinkedConfig = exports.CloudError = exports.CloudService = void 0;
|
|
17
|
+
exports.resolveCloudConnectionId = exports.requireCloudService = exports.cloudServiceForProvider = exports.materializeCloudLinkedVectorEnv = exports.materializeCloudLinkedGraphEnv = exports.materializeCloudLinkedDatabaseEnv = exports.materializeCloudLinkedBrokerEnv = exports.resolveCloudLinkedEnvConfig = exports.resolveCloudLinkedConfig = exports.CloudError = exports.CloudService = void 0;
|
|
18
18
|
var cloud_service_1 = require("./cloud.service");
|
|
19
19
|
Object.defineProperty(exports, "CloudService", { enumerable: true, get: function () { return cloud_service_1.CloudService; } });
|
|
20
20
|
Object.defineProperty(exports, "CloudError", { enumerable: true, get: function () { return cloud_service_1.CloudError; } });
|
|
@@ -25,6 +25,13 @@ var cloud_broker_link_util_1 = require("./cloud-broker-link.util");
|
|
|
25
25
|
Object.defineProperty(exports, "materializeCloudLinkedBrokerEnv", { enumerable: true, get: function () { return cloud_broker_link_util_1.materializeCloudLinkedBrokerEnv; } });
|
|
26
26
|
var cloud_database_link_util_1 = require("./cloud-database-link.util");
|
|
27
27
|
Object.defineProperty(exports, "materializeCloudLinkedDatabaseEnv", { enumerable: true, get: function () { return cloud_database_link_util_1.materializeCloudLinkedDatabaseEnv; } });
|
|
28
|
+
var cloud_graph_link_util_1 = require("./cloud-graph-link.util");
|
|
29
|
+
Object.defineProperty(exports, "materializeCloudLinkedGraphEnv", { enumerable: true, get: function () { return cloud_graph_link_util_1.materializeCloudLinkedGraphEnv; } });
|
|
30
|
+
var cloud_vector_link_util_1 = require("./cloud-vector-link.util");
|
|
31
|
+
Object.defineProperty(exports, "materializeCloudLinkedVectorEnv", { enumerable: true, get: function () { return cloud_vector_link_util_1.materializeCloudLinkedVectorEnv; } });
|
|
32
|
+
var cloud_service_map_util_1 = require("./cloud-service-map.util");
|
|
33
|
+
Object.defineProperty(exports, "cloudServiceForProvider", { enumerable: true, get: function () { return cloud_service_map_util_1.cloudServiceForProvider; } });
|
|
34
|
+
Object.defineProperty(exports, "requireCloudService", { enumerable: true, get: function () { return cloud_service_map_util_1.requireCloudService; } });
|
|
28
35
|
var cloud_api_util_1 = require("./cloud-api.util");
|
|
29
36
|
Object.defineProperty(exports, "resolveCloudConnectionId", { enumerable: true, get: function () { return cloud_api_util_1.resolveCloudConnectionId; } });
|
|
30
37
|
__exportStar(require("./types"), exports);
|
package/dist/cloud/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cloud/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iDAA2D;AAAlD,6GAAA,YAAY,OAAA;AAAE,2GAAA,UAAU,OAAA;AAEjC,2DAA6F;AAApF,8HAAA,wBAAwB,OAAA;AAAE,iIAAA,2BAA2B,OAAA;AAC9D,mEAA2E;AAAlE,yIAAA,+BAA+B,OAAA;AACxC,uEAA+E;AAAtE,6IAAA,iCAAiC,OAAA;AAC1C,mDAA4D;AAAnD,0HAAA,wBAAwB,OAAA;AAEjC,0CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cloud/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iDAA2D;AAAlD,6GAAA,YAAY,OAAA;AAAE,2GAAA,UAAU,OAAA;AAEjC,2DAA6F;AAApF,8HAAA,wBAAwB,OAAA;AAAE,iIAAA,2BAA2B,OAAA;AAC9D,mEAA2E;AAAlE,yIAAA,+BAA+B,OAAA;AACxC,uEAA+E;AAAtE,6IAAA,iCAAiC,OAAA;AAC1C,iEAAyE;AAAhE,uIAAA,8BAA8B,OAAA;AACvC,mEAA2E;AAAlE,yIAAA,+BAA+B,OAAA;AACxC,mEAAwF;AAA/E,iIAAA,uBAAuB,OAAA;AAAE,6HAAA,mBAAmB,OAAA;AACrD,mDAA4D;AAAnD,0HAAA,wBAAwB,OAAA;AAEjC,0CAAwB"}
|
|
@@ -44,12 +44,17 @@ export interface ICompleteCloudConnectionInput {
|
|
|
44
44
|
role_arn?: string;
|
|
45
45
|
/** GCP project */
|
|
46
46
|
project_id?: string;
|
|
47
|
-
/** GCP service account email (optional when using WIF) */
|
|
47
|
+
/** GCP service account JSON or email (optional when using WIF) */
|
|
48
48
|
service_account_email?: string;
|
|
49
|
-
|
|
49
|
+
service_account_json?: string | Record<string, unknown>;
|
|
50
|
+
/** Azure service principal */
|
|
50
51
|
tenant_id?: string;
|
|
51
52
|
subscription_id?: string;
|
|
52
53
|
client_id?: string;
|
|
54
|
+
client_secret?: string;
|
|
55
|
+
default_location?: string;
|
|
56
|
+
/** Azure legacy blob-only (optional when using service principal) */
|
|
57
|
+
connection_string?: string;
|
|
53
58
|
}
|
|
54
59
|
export interface IValidateCloudConnectionResult {
|
|
55
60
|
valid: boolean;
|
|
@@ -58,7 +63,7 @@ export interface IValidateCloudConnectionResult {
|
|
|
58
63
|
tested_at?: string;
|
|
59
64
|
}
|
|
60
65
|
/** Cloud resource kinds exposed by the connector */
|
|
61
|
-
export type CloudResourceService = 's3' | 'sqs' | 'sns' | 'gcs' | 'pubsub' | 'blob' | 'servicebus' | 'rds' | 'neptune' | 'opensearch' | 'pinecone';
|
|
66
|
+
export type CloudResourceService = 's3' | 'sqs' | 'sns' | 'gcs' | 'pubsub' | 'blob' | 'servicebus' | 'rds' | 'postgresql' | 'cloudsql' | 'neptune' | 'cosmos-gremlin' | 'opensearch' | 'azure-search' | 'spanner-graph' | 'vertex-vector-search' | 'pinecone';
|
|
62
67
|
export interface ICloudResource {
|
|
63
68
|
id: string;
|
|
64
69
|
name: string;
|
|
@@ -12,6 +12,8 @@ const neo4j_adapter_1 = require("./neo4j.adapter");
|
|
|
12
12
|
const neptune_adapter_1 = require("./neptune.adapter");
|
|
13
13
|
const arangodb_adapter_1 = require("./arangodb.adapter");
|
|
14
14
|
const memgraph_adapter_1 = require("./memgraph.adapter");
|
|
15
|
+
const cosmos_gremlin_adapter_1 = require("./cosmos-gremlin.adapter");
|
|
16
|
+
const spanner_graph_adapter_1 = require("./spanner-graph.adapter");
|
|
15
17
|
const graph_error_1 = require("../utils/graph-error");
|
|
16
18
|
/**
|
|
17
19
|
* Factory for creating graph database adapters
|
|
@@ -23,6 +25,8 @@ class GraphAdapterFactory {
|
|
|
23
25
|
this.adapterConstructors.set(enums_1.GraphType.NEPTUNE, neptune_adapter_1.NeptuneAdapter);
|
|
24
26
|
this.adapterConstructors.set(enums_1.GraphType.ARANGODB, arangodb_adapter_1.ArangoDBAdapter);
|
|
25
27
|
this.adapterConstructors.set(enums_1.GraphType.MEMGRAPH, memgraph_adapter_1.MemgraphAdapter);
|
|
28
|
+
this.adapterConstructors.set(enums_1.GraphType.COSMOS_GREMLIN, cosmos_gremlin_adapter_1.CosmosGremlinAdapter);
|
|
29
|
+
this.adapterConstructors.set(enums_1.GraphType.SPANNER_GRAPH, spanner_graph_adapter_1.SpannerGraphAdapter);
|
|
26
30
|
}
|
|
27
31
|
/**
|
|
28
32
|
* Create an adapter instance for the specified graph type
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.factory.js","sourceRoot":"","sources":["../../../src/graph/adapters/adapter.factory.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,0CAA2C;AAE3C,mDAA+C;AAC/C,uDAAmD;AACnD,yDAAqD;AACrD,yDAAqD;AACrD,sDAAkD;AAElD;;GAEG;AACH,MAAa,mBAAmB;IAM9B;QACE,IAAI,CAAC,mBAAmB,GAAG,IAAI,GAAG,EAAE,CAAC;QACrC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,iBAAS,CAAC,KAAK,EAAE,4BAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,iBAAS,CAAC,OAAO,EAAE,gCAAc,CAAC,CAAC;QAChE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,iBAAS,CAAC,QAAQ,EAAE,kCAAe,CAAC,CAAC;QAClE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,iBAAS,CAAC,QAAQ,EAAE,kCAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.factory.js","sourceRoot":"","sources":["../../../src/graph/adapters/adapter.factory.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,0CAA2C;AAE3C,mDAA+C;AAC/C,uDAAmD;AACnD,yDAAqD;AACrD,yDAAqD;AACrD,qEAAgE;AAChE,mEAA8D;AAC9D,sDAAkD;AAElD;;GAEG;AACH,MAAa,mBAAmB;IAM9B;QACE,IAAI,CAAC,mBAAmB,GAAG,IAAI,GAAG,EAAE,CAAC;QACrC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,iBAAS,CAAC,KAAK,EAAE,4BAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,iBAAS,CAAC,OAAO,EAAE,gCAAc,CAAC,CAAC;QAChE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,iBAAS,CAAC,QAAQ,EAAE,kCAAe,CAAC,CAAC;QAClE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,iBAAS,CAAC,QAAQ,EAAE,kCAAe,CAAC,CAAC;QAClE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,iBAAS,CAAC,cAAc,EAAE,6CAAoB,CAAC,CAAC;QAC7E,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,iBAAS,CAAC,aAAa,EAAE,2CAAmB,CAAC,CAAC;IAC7E,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAwB;QAC7B,MAAM,cAAc,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,MAAM,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAA2B,CAAC,CAAC;QAErF,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,MAAM,wBAAU,CAAC,kBAAkB,CACjC,oCAAoC,IAAI,IAAI;gBAC5C,oBAAoB,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1D,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,kBAAkB,EAAE,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,IAAwB;QAClC,MAAM,cAAc,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAA2B,CAAC,CAAC;IACnE,CAAC;IAED;;;OAGG;IACH,iBAAiB;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,IAAwB,EAAE,kBAA8C;QACtF,MAAM,cAAc,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAA2B,EAAE,kBAAkB,CAAC,CAAC;IAChF,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,IAAwB;QACxC,MAAM,cAAc,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAA2B,CAAC,CAAC;IACtE,CAAC;CACF;AAxED,kDAwEC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Azure Cosmos DB Gremlin adapter — Gremlin API over WebSocket (Cosmos endpoint format).
|
|
3
|
+
*/
|
|
4
|
+
import { NeptuneAdapter } from './neptune.adapter';
|
|
5
|
+
import { GraphType } from '../types/enums';
|
|
6
|
+
import { IAdapterConnectionOptions } from './base.adapter';
|
|
7
|
+
import { IGraphConnectionResult, IGraphTestConnectionResult } from '../types/connection.interface';
|
|
8
|
+
export declare class CosmosGremlinAdapter extends NeptuneAdapter {
|
|
9
|
+
protected graphType: GraphType;
|
|
10
|
+
connect(options: IAdapterConnectionOptions): Promise<IGraphConnectionResult>;
|
|
11
|
+
testConnection(options: IAdapterConnectionOptions): Promise<IGraphTestConnectionResult>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.CosmosGremlinAdapter = void 0;
|
|
37
|
+
/**
|
|
38
|
+
* Azure Cosmos DB Gremlin adapter — Gremlin API over WebSocket (Cosmos endpoint format).
|
|
39
|
+
*/
|
|
40
|
+
const neptune_adapter_1 = require("./neptune.adapter");
|
|
41
|
+
const enums_1 = require("../types/enums");
|
|
42
|
+
const graph_error_1 = require("../utils/graph-error");
|
|
43
|
+
function normalizeCosmosGremlinUrl(connectionUrl) {
|
|
44
|
+
const trimmed = connectionUrl.trim();
|
|
45
|
+
if (trimmed.startsWith('wss://') || trimmed.startsWith('ws://')) {
|
|
46
|
+
return trimmed.endsWith('/gremlin') ? trimmed : `${trimmed.replace(/\/?$/, '')}/gremlin`;
|
|
47
|
+
}
|
|
48
|
+
return trimmed.replace(/^https?:\/\//, 'wss://').replace(/\/?$/, '/gremlin');
|
|
49
|
+
}
|
|
50
|
+
class CosmosGremlinAdapter extends neptune_adapter_1.NeptuneAdapter {
|
|
51
|
+
constructor() {
|
|
52
|
+
super(...arguments);
|
|
53
|
+
this.graphType = enums_1.GraphType.COSMOS_GREMLIN;
|
|
54
|
+
}
|
|
55
|
+
async connect(options) {
|
|
56
|
+
var _a, _b;
|
|
57
|
+
try {
|
|
58
|
+
this.connectionOptions = options;
|
|
59
|
+
this.gremlin = await Promise.resolve().then(() => __importStar(require('gremlin')));
|
|
60
|
+
const { DriverRemoteConnection } = this.gremlin.driver;
|
|
61
|
+
const wsUrl = normalizeCosmosGremlinUrl(options.connectionUrl);
|
|
62
|
+
const connectionOptions = {
|
|
63
|
+
mimeType: 'application/vnd.gremlin-v2.0+json',
|
|
64
|
+
pingEnabled: true,
|
|
65
|
+
pingInterval: 30000,
|
|
66
|
+
};
|
|
67
|
+
if (((_a = options.auth) === null || _a === void 0 ? void 0 : _a.username) && ((_b = options.auth) === null || _b === void 0 ? void 0 : _b.password)) {
|
|
68
|
+
connectionOptions.headers = {
|
|
69
|
+
Authorization: `Basic ${Buffer.from(`${options.auth.username}:${options.auth.password}`).toString('base64')}`,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
this.connection = new DriverRemoteConnection(wsUrl, connectionOptions);
|
|
73
|
+
const { Graph } = this.gremlin.structure;
|
|
74
|
+
const graph = new Graph();
|
|
75
|
+
this.g = graph.traversal().withRemote(this.connection);
|
|
76
|
+
await this.g.V().limit(1).toList();
|
|
77
|
+
this.connected = true;
|
|
78
|
+
this.connectionUrl = options.connectionUrl;
|
|
79
|
+
return {
|
|
80
|
+
connected: true,
|
|
81
|
+
type: enums_1.GraphType.COSMOS_GREMLIN,
|
|
82
|
+
latency: 0,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
this.connected = false;
|
|
87
|
+
throw graph_error_1.GraphError.connectionError(`Failed to connect to Cosmos DB Gremlin: ${error.message}`, error);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
async testConnection(options) {
|
|
91
|
+
var _a, _b;
|
|
92
|
+
const gremlin = await Promise.resolve().then(() => __importStar(require('gremlin')));
|
|
93
|
+
const { DriverRemoteConnection } = gremlin.driver;
|
|
94
|
+
const startTime = Date.now();
|
|
95
|
+
const wsUrl = normalizeCosmosGremlinUrl(options.connectionUrl);
|
|
96
|
+
const connectionOptions = {
|
|
97
|
+
mimeType: 'application/vnd.gremlin-v2.0+json',
|
|
98
|
+
};
|
|
99
|
+
if (((_a = options.auth) === null || _a === void 0 ? void 0 : _a.username) && ((_b = options.auth) === null || _b === void 0 ? void 0 : _b.password)) {
|
|
100
|
+
connectionOptions.headers = {
|
|
101
|
+
Authorization: `Basic ${Buffer.from(`${options.auth.username}:${options.auth.password}`).toString('base64')}`,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
const connection = new DriverRemoteConnection(wsUrl, connectionOptions);
|
|
105
|
+
try {
|
|
106
|
+
const { Graph } = gremlin.structure;
|
|
107
|
+
const g = new Graph().traversal().withRemote(connection);
|
|
108
|
+
await g.V().limit(1).toList();
|
|
109
|
+
return { connected: true, type: enums_1.GraphType.COSMOS_GREMLIN, latency: Date.now() - startTime };
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
return {
|
|
113
|
+
connected: false,
|
|
114
|
+
type: enums_1.GraphType.COSMOS_GREMLIN,
|
|
115
|
+
latency: Date.now() - startTime,
|
|
116
|
+
error: error.message,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
finally {
|
|
120
|
+
await connection.close();
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
exports.CosmosGremlinAdapter = CosmosGremlinAdapter;
|
|
125
|
+
//# sourceMappingURL=cosmos-gremlin.adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cosmos-gremlin.adapter.js","sourceRoot":"","sources":["../../../src/graph/adapters/cosmos-gremlin.adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,4 +8,6 @@ export { Neo4jAdapter } from './neo4j.adapter';
|
|
|
8
8
|
export { NeptuneAdapter } from './neptune.adapter';
|
|
9
9
|
export { ArangoDBAdapter } from './arangodb.adapter';
|
|
10
10
|
export { MemgraphAdapter } from './memgraph.adapter';
|
|
11
|
+
export { CosmosGremlinAdapter } from './cosmos-gremlin.adapter';
|
|
12
|
+
export { SpannerGraphAdapter } from './spanner-graph.adapter';
|
|
11
13
|
export { GraphAdapterFactory } from './adapter.factory';
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Exports all graph database adapters and factory
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.GraphAdapterFactory = exports.MemgraphAdapter = exports.ArangoDBAdapter = exports.NeptuneAdapter = exports.Neo4jAdapter = exports.BaseGraphAdapter = void 0;
|
|
8
|
+
exports.GraphAdapterFactory = exports.SpannerGraphAdapter = exports.CosmosGremlinAdapter = exports.MemgraphAdapter = exports.ArangoDBAdapter = exports.NeptuneAdapter = exports.Neo4jAdapter = exports.BaseGraphAdapter = void 0;
|
|
9
9
|
var base_adapter_1 = require("./base.adapter");
|
|
10
10
|
Object.defineProperty(exports, "BaseGraphAdapter", { enumerable: true, get: function () { return base_adapter_1.BaseGraphAdapter; } });
|
|
11
11
|
var neo4j_adapter_1 = require("./neo4j.adapter");
|
|
@@ -16,6 +16,10 @@ var arangodb_adapter_1 = require("./arangodb.adapter");
|
|
|
16
16
|
Object.defineProperty(exports, "ArangoDBAdapter", { enumerable: true, get: function () { return arangodb_adapter_1.ArangoDBAdapter; } });
|
|
17
17
|
var memgraph_adapter_1 = require("./memgraph.adapter");
|
|
18
18
|
Object.defineProperty(exports, "MemgraphAdapter", { enumerable: true, get: function () { return memgraph_adapter_1.MemgraphAdapter; } });
|
|
19
|
+
var cosmos_gremlin_adapter_1 = require("./cosmos-gremlin.adapter");
|
|
20
|
+
Object.defineProperty(exports, "CosmosGremlinAdapter", { enumerable: true, get: function () { return cosmos_gremlin_adapter_1.CosmosGremlinAdapter; } });
|
|
21
|
+
var spanner_graph_adapter_1 = require("./spanner-graph.adapter");
|
|
22
|
+
Object.defineProperty(exports, "SpannerGraphAdapter", { enumerable: true, get: function () { return spanner_graph_adapter_1.SpannerGraphAdapter; } });
|
|
19
23
|
var adapter_factory_1 = require("./adapter.factory");
|
|
20
24
|
Object.defineProperty(exports, "GraphAdapterFactory", { enumerable: true, get: function () { return adapter_factory_1.GraphAdapterFactory; } });
|
|
21
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/graph/adapters/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,+CAA6E;AAApE,gHAAA,gBAAgB,OAAA;AACzB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,uDAAqD;AAA5C,mHAAA,eAAe,OAAA;AACxB,uDAAqD;AAA5C,mHAAA,eAAe,OAAA;AACxB,qDAAwD;AAA/C,sHAAA,mBAAmB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/graph/adapters/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,+CAA6E;AAApE,gHAAA,gBAAgB,OAAA;AACzB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,uDAAqD;AAA5C,mHAAA,eAAe,OAAA;AACxB,uDAAqD;AAA5C,mHAAA,eAAe,OAAA;AACxB,mEAAgE;AAAvD,8HAAA,oBAAoB,OAAA;AAC7B,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA;AAC5B,qDAAwD;AAA/C,sHAAA,mBAAmB,OAAA"}
|
|
@@ -25,11 +25,11 @@ import { ICreateNodeIndexOptions, ICreateNodeConstraintOptions, IListIndexesResu
|
|
|
25
25
|
* Uses the gremlin package for TinkerPop connectivity
|
|
26
26
|
*/
|
|
27
27
|
export declare class NeptuneAdapter extends BaseGraphAdapter {
|
|
28
|
-
protected
|
|
28
|
+
protected graphType: GraphType;
|
|
29
29
|
protected readonly supportedFeatures: Set<GraphFeature>;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
protected connection: any;
|
|
31
|
+
protected g: any;
|
|
32
|
+
protected gremlin: any;
|
|
33
33
|
connect(options: IAdapterConnectionOptions): Promise<IGraphConnectionResult>;
|
|
34
34
|
testConnection(options: IAdapterConnectionOptions): Promise<IGraphTestConnectionResult>;
|
|
35
35
|
disconnect(): Promise<void>;
|