@ductape/sdk 0.1.11 → 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.
Files changed (117) hide show
  1. package/dist/api/services/cloudApi.service.d.ts +8 -8
  2. package/dist/api/services/cloudApi.service.js +30 -12
  3. package/dist/api/services/cloudApi.service.js.map +1 -1
  4. package/dist/api/services/webhooksApi.service.js +6 -4
  5. package/dist/api/services/webhooksApi.service.js.map +1 -1
  6. package/dist/api/urls.d.ts +2 -0
  7. package/dist/api/urls.js +3 -1
  8. package/dist/api/urls.js.map +1 -1
  9. package/dist/apps/services/app.service.d.ts +4 -0
  10. package/dist/apps/services/app.service.js +37 -0
  11. package/dist/apps/services/app.service.js.map +1 -1
  12. package/dist/brokers/brokers.service.js +23 -1
  13. package/dist/brokers/brokers.service.js.map +1 -1
  14. package/dist/brokers/utils/broker.util.js +4 -1
  15. package/dist/brokers/utils/broker.util.js.map +1 -1
  16. package/dist/brokers/utils/providers/azure-servicebus.service.d.ts +17 -0
  17. package/dist/brokers/utils/providers/azure-servicebus.service.js +51 -0
  18. package/dist/brokers/utils/providers/azure-servicebus.service.js.map +1 -0
  19. package/dist/cloud/cloud-api.util.d.ts +4 -0
  20. package/dist/cloud/cloud-api.util.js +27 -0
  21. package/dist/cloud/cloud-api.util.js.map +1 -0
  22. package/dist/cloud/cloud-broker-link.util.d.ts +9 -0
  23. package/dist/cloud/cloud-broker-link.util.js +83 -0
  24. package/dist/cloud/cloud-broker-link.util.js.map +1 -0
  25. package/dist/cloud/cloud-database-link.util.d.ts +12 -0
  26. package/dist/cloud/cloud-database-link.util.js +62 -0
  27. package/dist/cloud/cloud-database-link.util.js.map +1 -0
  28. package/dist/cloud/cloud-graph-link.util.d.ts +12 -0
  29. package/dist/cloud/cloud-graph-link.util.js +61 -0
  30. package/dist/cloud/cloud-graph-link.util.js.map +1 -0
  31. package/dist/cloud/cloud-runtime.util.js +21 -9
  32. package/dist/cloud/cloud-runtime.util.js.map +1 -1
  33. package/dist/cloud/cloud-service-map.util.d.ts +3 -0
  34. package/dist/cloud/cloud-service-map.util.js +52 -0
  35. package/dist/cloud/cloud-service-map.util.js.map +1 -0
  36. package/dist/cloud/cloud-vector-link.util.d.ts +12 -0
  37. package/dist/cloud/cloud-vector-link.util.js +60 -0
  38. package/dist/cloud/cloud-vector-link.util.js.map +1 -0
  39. package/dist/cloud/cloud.service.d.ts +11 -16
  40. package/dist/cloud/cloud.service.js +10 -14
  41. package/dist/cloud/cloud.service.js.map +1 -1
  42. package/dist/cloud/index.d.ts +6 -0
  43. package/dist/cloud/index.js +14 -1
  44. package/dist/cloud/index.js.map +1 -1
  45. package/dist/cloud/types/cloud.types.d.ts +22 -7
  46. package/dist/database/databases.service.js +2 -0
  47. package/dist/database/databases.service.js.map +1 -1
  48. package/dist/database/types/connection.interface.d.ts +4 -0
  49. package/dist/graph/adapters/adapter.factory.js +4 -0
  50. package/dist/graph/adapters/adapter.factory.js.map +1 -1
  51. package/dist/graph/adapters/cosmos-gremlin.adapter.d.ts +12 -0
  52. package/dist/graph/adapters/cosmos-gremlin.adapter.js +125 -0
  53. package/dist/graph/adapters/cosmos-gremlin.adapter.js.map +1 -0
  54. package/dist/graph/adapters/index.d.ts +2 -0
  55. package/dist/graph/adapters/index.js +5 -1
  56. package/dist/graph/adapters/index.js.map +1 -1
  57. package/dist/graph/adapters/neptune.adapter.d.ts +4 -4
  58. package/dist/graph/adapters/neptune.adapter.js.map +1 -1
  59. package/dist/graph/adapters/spanner-graph.adapter.d.ts +68 -0
  60. package/dist/graph/adapters/spanner-graph.adapter.js +220 -0
  61. package/dist/graph/adapters/spanner-graph.adapter.js.map +1 -0
  62. package/dist/graph/types/enums.d.ts +2 -0
  63. package/dist/graph/types/enums.js +2 -0
  64. package/dist/graph/types/enums.js.map +1 -1
  65. package/dist/index.d.ts +20 -5
  66. package/dist/index.js +30 -9
  67. package/dist/index.js.map +1 -1
  68. package/dist/logs/logs.types.d.ts +5 -1
  69. package/dist/logs/logs.types.js +2 -0
  70. package/dist/logs/logs.types.js.map +1 -1
  71. package/dist/products/services/products.service.d.ts +14 -0
  72. package/dist/products/services/products.service.js +296 -118
  73. package/dist/products/services/products.service.js.map +1 -1
  74. package/dist/products/validators/joi-validators/create.productDatabase.validator.js +22 -17
  75. package/dist/products/validators/joi-validators/create.productDatabase.validator.js.map +1 -1
  76. package/dist/products/validators/joi-validators/create.productGraph.validator.js +8 -0
  77. package/dist/products/validators/joi-validators/create.productGraph.validator.js.map +1 -1
  78. package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js +51 -9
  79. package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js.map +1 -1
  80. package/dist/products/validators/joi-validators/create.productStorage.validator.js +39 -26
  81. package/dist/products/validators/joi-validators/create.productStorage.validator.js.map +1 -1
  82. package/dist/products/validators/joi-validators/create.productVector.validator.js +8 -0
  83. package/dist/products/validators/joi-validators/create.productVector.validator.js.map +1 -1
  84. package/dist/products/validators/joi-validators/update.productDatabase.validator.js +4 -0
  85. package/dist/products/validators/joi-validators/update.productDatabase.validator.js.map +1 -1
  86. package/dist/resilience/fallback.service.js +11 -6
  87. package/dist/resilience/fallback.service.js.map +1 -1
  88. package/dist/resilience/quota.service.d.ts +1 -1
  89. package/dist/resilience/quota.service.js +48 -10
  90. package/dist/resilience/quota.service.js.map +1 -1
  91. package/dist/resilience/resilience-mapping.utils.d.ts +5 -0
  92. package/dist/resilience/resilience-mapping.utils.js +53 -0
  93. package/dist/resilience/resilience-mapping.utils.js.map +1 -0
  94. package/dist/storage/storage-cloud-link.util.d.ts +13 -0
  95. package/dist/storage/storage-cloud-link.util.js +92 -0
  96. package/dist/storage/storage-cloud-link.util.js.map +1 -0
  97. package/dist/types/productsBuilder.types.d.ts +17 -0
  98. package/dist/types/productsBuilder.types.js +6 -0
  99. package/dist/types/productsBuilder.types.js.map +1 -1
  100. package/dist/vector/adapters/azure-search.adapter.d.ts +25 -0
  101. package/dist/vector/adapters/azure-search.adapter.js +217 -0
  102. package/dist/vector/adapters/azure-search.adapter.js.map +1 -0
  103. package/dist/vector/adapters/index.d.ts +3 -0
  104. package/dist/vector/adapters/index.js +7 -1
  105. package/dist/vector/adapters/index.js.map +1 -1
  106. package/dist/vector/adapters/opensearch.adapter.d.ts +25 -0
  107. package/dist/vector/adapters/opensearch.adapter.js +224 -0
  108. package/dist/vector/adapters/opensearch.adapter.js.map +1 -0
  109. package/dist/vector/adapters/vertex-vector-search.adapter.d.ts +29 -0
  110. package/dist/vector/adapters/vertex-vector-search.adapter.js +178 -0
  111. package/dist/vector/adapters/vertex-vector-search.adapter.js.map +1 -0
  112. package/dist/vector/types/enums.d.ts +6 -0
  113. package/dist/vector/types/enums.js +6 -0
  114. package/dist/vector/types/enums.js.map +1 -1
  115. package/dist/vector/vector.service.js +6 -0
  116. package/dist/vector/vector.service.js.map +1 -1
  117. package/package.json +8 -2
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.materializeCloudLinkedGraphEnv = materializeCloudLinkedGraphEnv;
4
+ const cloud_service_map_util_1 = require("./cloud-service-map.util");
5
+ function draftToGraphEnv(draft, cloudTag, slug) {
6
+ const envs = draft.envs;
7
+ if (!(envs === null || envs === void 0 ? void 0 : envs.length)) {
8
+ throw new Error('Cloud graph link did not return an environment draft');
9
+ }
10
+ const draftEnv = envs.find((e) => e.slug === slug) || envs[0];
11
+ return {
12
+ slug,
13
+ connection_url: String(draftEnv.connection_url || ''),
14
+ authMode: 'cloud_connection',
15
+ cloud: cloudTag,
16
+ region: draftEnv.region ? String(draftEnv.region) : undefined,
17
+ username: draftEnv.username ? String(draftEnv.username) : undefined,
18
+ password: draftEnv.password ? String(draftEnv.password) : undefined,
19
+ database: draftEnv.database ? String(draftEnv.database) : undefined,
20
+ iamAuth: draftEnv.iamAuth === true,
21
+ };
22
+ }
23
+ async function materializeCloudLinkedGraphEnv(env, ctx) {
24
+ var _a, _b;
25
+ const cloudTag = env.cloud;
26
+ if (!cloudTag) {
27
+ return env;
28
+ }
29
+ const connection = await ctx.cloudApi.fetchConnection(cloudTag, ctx.auth);
30
+ const service = (0, cloud_service_map_util_1.requireCloudService)('graphs', connection.provider);
31
+ const instance = String(env.instance || '').trim();
32
+ const region = env.region ? String(env.region) : undefined;
33
+ const baseInput = {
34
+ service,
35
+ componentType: 'graphs',
36
+ productTag: ctx.productTag,
37
+ componentTag: ctx.graphTag,
38
+ envSlug: env.slug,
39
+ cloud: cloudTag,
40
+ };
41
+ let result;
42
+ if (instance) {
43
+ const listed = await ctx.cloudApi.listResources({ cloud: cloudTag, service, region }, ctx.auth);
44
+ const exists = (_a = listed.resources) === null || _a === void 0 ? void 0 : _a.some((r) => r.id === instance || r.name === instance);
45
+ if (exists) {
46
+ result = await ctx.cloudApi.importResource(Object.assign(Object.assign({}, baseInput), { resourceId: instance }), ctx.auth);
47
+ }
48
+ else {
49
+ result = await ctx.cloudApi.provisionResource(Object.assign(Object.assign({}, baseInput), { template: 'default', params: { instance, accountName: instance, region, location: region } }), ctx.auth);
50
+ }
51
+ }
52
+ else {
53
+ result = await ctx.cloudApi.provisionResource(Object.assign(Object.assign({}, baseInput), { template: 'default', params: { region, location: region } }), ctx.auth);
54
+ }
55
+ const draft = (_b = result.componentDraft) === null || _b === void 0 ? void 0 : _b.draft;
56
+ if (!draft) {
57
+ throw new Error('Cloud graph link did not return a component draft');
58
+ }
59
+ return draftToGraphEnv(draft, cloudTag, env.slug);
60
+ }
61
+ //# sourceMappingURL=cloud-graph-link.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-graph-link.util.js","sourceRoot":"","sources":["../../src/cloud/cloud-graph-link.util.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ const secrets_1 = require("../secrets");
12
12
  * Resolve $Secret{} references then refresh AWS/GCP/Azure credentials when authMode is cloud_connection.
13
13
  */
14
14
  async function resolveCloudLinkedConfig(config, ctx) {
15
+ var _a, _b;
15
16
  let resolved = Object.assign({}, config);
16
17
  if ((0, secrets_1.mightContainSecrets)(resolved)) {
17
18
  const secretsService = (0, secrets_1.getSecretsService)();
@@ -21,17 +22,13 @@ async function resolveCloudLinkedConfig(config, ctx) {
21
22
  const result = await secretsService.resolve(resolved, { env: ctx.envSlug });
22
23
  resolved = result.value;
23
24
  }
24
- if (resolved.authMode !== 'cloud_connection' || !resolved.cloudConnectionId) {
25
+ const cloudTag = resolved.cloud;
26
+ const legacyConnectionId = resolved.cloudConnectionId;
27
+ if (resolved.authMode !== 'cloud_connection' || (!cloudTag && !legacyConnectionId)) {
25
28
  return resolved;
26
29
  }
27
30
  const cloudApi = new cloudApi_service_1.CloudApiService(ctx.environment);
28
- const issued = await cloudApi.issueRuntimeCredentials({
29
- connectionId: resolved.cloudConnectionId,
30
- productTag: ctx.productTag,
31
- componentTag: ctx.componentTag,
32
- envSlug: ctx.envSlug,
33
- purpose: 'runtime',
34
- }, ctx.auth);
31
+ const issued = await cloudApi.issueRuntimeCredentials(Object.assign(Object.assign({}, (cloudTag ? { cloud: cloudTag } : { connectionId: legacyConnectionId })), { productTag: ctx.productTag, componentTag: ctx.componentTag, envSlug: ctx.envSlug, purpose: 'runtime' }), ctx.auth);
35
32
  const creds = issued.credentials || {};
36
33
  if (issued.provider === 'aws') {
37
34
  const refreshed = Object.assign(Object.assign(Object.assign(Object.assign({}, resolved), { accessKeyId: String(creds.accessKeyId || resolved.accessKeyId || ''), secretAccessKey: String(creds.secretAccessKey || resolved.secretAccessKey || '') }), (creds.sessionToken ? { sessionToken: String(creds.sessionToken) } : {})), { region: String(creds.region || resolved.region || '') });
@@ -46,8 +43,23 @@ async function resolveCloudLinkedConfig(config, ctx) {
46
43
  : creds.service_account_json;
47
44
  return Object.assign(Object.assign({}, resolved), { config: Object.assign(Object.assign({}, resolved.config), sa) });
48
45
  }
46
+ if (issued.provider === 'gcp') {
47
+ const sa = typeof creds.service_account_json === 'string'
48
+ ? JSON.parse(creds.service_account_json)
49
+ : creds.service_account_json;
50
+ const privateKey = String((sa === null || sa === void 0 ? void 0 : sa.private_key) || ((_a = resolved.config) === null || _a === void 0 ? void 0 : _a.private_key) || '');
51
+ const clientEmail = String((sa === null || sa === void 0 ? void 0 : sa.client_email) || ((_b = resolved.config) === null || _b === void 0 ? void 0 : _b.client_email) || '');
52
+ return Object.assign(Object.assign({}, resolved), { config: Object.assign(Object.assign(Object.assign({}, resolved.config), sa), { private_key: privateKey, client_email: clientEmail }) });
53
+ }
49
54
  if (issued.provider === 'azure') {
50
- return Object.assign(Object.assign({}, resolved), { connectionString: String(creds.connectionString || resolved.connectionString || '') });
55
+ const refreshed = Object.assign(Object.assign({}, resolved), { connectionString: String(creds.connectionString || resolved.connectionString || ''), tenantId: String(creds.tenantId || resolved.tenantId || ''), subscriptionId: String(creds.subscriptionId || resolved.subscriptionId || ''), clientId: String(creds.clientId || resolved.clientId || ''), clientSecret: String(creds.clientSecret || resolved.clientSecret || ''), defaultLocation: String(creds.defaultLocation || resolved.defaultLocation || '') });
56
+ if (resolved.endpoint !== undefined) {
57
+ refreshed.endpoint = String(resolved.endpoint || '');
58
+ }
59
+ if (resolved.apiKey !== undefined) {
60
+ refreshed.apiKey = String(resolved.apiKey || '');
61
+ }
62
+ return refreshed;
51
63
  }
52
64
  return resolved;
53
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cloud-runtime.util.js","sourceRoot":"","sources":["../../src/cloud/cloud-runtime.util.ts"],"names":[],"mappings":"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"}
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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"}
@@ -1,43 +1,38 @@
1
1
  /**
2
2
  * CloudService — workspace cloud connections (AWS, GCP, Azure).
3
3
  */
4
- import { ICloudApiService } from '../api/services/cloudApi.service';
4
+ import { CloudApiService } from '../api/services/cloudApi.service';
5
5
  import { EnvType, IRequestExtension } from '../types';
6
6
  import { ICloudConnection, ICloudConnectionSetup, ICompleteCloudConnectionInput, ICreateCloudConnectionInput, IImportCloudResourceInput, IImportCloudResourceResult, IListCloudResourcesInput, IListCloudResourcesResult, IProvisionCloudResourceInput, IProvisionCloudResourceResult, ICloudRuntimeCredentials, ICloudRuntimeCredentialsInput, IValidateCloudConnectionResult } from './types';
7
- import ProductsBuilderService from '../products/services/products.service';
8
7
  export declare class CloudError extends Error {
9
- code: string;
8
+ code?: string;
10
9
  details?: unknown;
11
- constructor(message: string, code: string, details?: unknown);
10
+ constructor(message: string, code?: string, details?: unknown);
12
11
  }
13
12
  export interface ICloudServiceDeps {
14
13
  environment: EnvType;
15
14
  getAuth: () => IRequestExtension;
16
- getProductBuilder: (productTag: string) => Promise<ProductsBuilderService>;
15
+ getProductBuilder: (productTag: string) => Promise<import('../products/services/products.service').default>;
17
16
  }
18
17
  export declare class CloudService {
19
18
  private deps;
20
19
  private api;
21
- constructor(deps: ICloudServiceDeps, api?: ICloudApiService);
20
+ constructor(deps: ICloudServiceDeps, api?: CloudApiService);
22
21
  private auth;
23
22
  createConnection(input: ICreateCloudConnectionInput): Promise<ICloudConnectionSetup>;
24
23
  listConnections(): Promise<ICloudConnection[]>;
25
- fetchConnection(connectionId: string): Promise<ICloudConnection>;
26
- deleteConnection(connectionId: string): Promise<void>;
27
- completeConnection(connectionId: string, input: ICompleteCloudConnectionInput): Promise<ICloudConnection>;
28
- validateConnection(connectionId: string): Promise<IValidateCloudConnectionResult>;
24
+ /** Fetch a workspace cloud connection by tag */
25
+ fetchConnection(cloud: string): Promise<ICloudConnection>;
26
+ deleteConnection(cloud: string): Promise<void>;
27
+ completeConnection(cloud: string, input: ICompleteCloudConnectionInput): Promise<ICloudConnection>;
28
+ validateConnection(cloud: string): Promise<IValidateCloudConnectionResult>;
29
29
  listResources(input: IListCloudResourcesInput): Promise<IListCloudResourcesResult>;
30
30
  importResource(input: IImportCloudResourceInput): Promise<IImportCloudResourceResult>;
31
31
  provisionResource(input: IProvisionCloudResourceInput): Promise<IProvisionCloudResourceResult>;
32
32
  issueRuntimeCredentials(input: ICloudRuntimeCredentialsInput): Promise<ICloudRuntimeCredentials>;
33
- /**
34
- * Import a cloud resource and persist the returned draft on the product via ProductsBuilder.
35
- */
36
33
  importAndPersist(input: IImportCloudResourceInput): Promise<IImportCloudResourceResult>;
37
- /**
38
- * Provision in cloud and persist the component draft on the product.
39
- */
40
34
  provisionAndPersist(input: IProvisionCloudResourceInput): Promise<IProvisionCloudResourceResult>;
41
35
  private persistComponentDraft;
42
36
  private persistWithCreateOrUpdate;
43
37
  }
38
+ export default CloudService;
@@ -28,17 +28,18 @@ class CloudService {
28
28
  async listConnections() {
29
29
  return this.api.listConnections(this.auth());
30
30
  }
31
- async fetchConnection(connectionId) {
32
- return this.api.fetchConnection(connectionId, this.auth());
31
+ /** Fetch a workspace cloud connection by tag */
32
+ async fetchConnection(cloud) {
33
+ return this.api.fetchConnection(cloud, this.auth());
33
34
  }
34
- async deleteConnection(connectionId) {
35
- return this.api.deleteConnection(connectionId, this.auth());
35
+ async deleteConnection(cloud) {
36
+ return this.api.deleteConnection(cloud, this.auth());
36
37
  }
37
- async completeConnection(connectionId, input) {
38
- return this.api.completeConnection(connectionId, input, this.auth());
38
+ async completeConnection(cloud, input) {
39
+ return this.api.completeConnection(cloud, input, this.auth());
39
40
  }
40
- async validateConnection(connectionId) {
41
- return this.api.validateConnection(connectionId, this.auth());
41
+ async validateConnection(cloud) {
42
+ return this.api.validateConnection(cloud, this.auth());
42
43
  }
43
44
  async listResources(input) {
44
45
  return this.api.listResources(input, this.auth());
@@ -52,17 +53,11 @@ class CloudService {
52
53
  async issueRuntimeCredentials(input) {
53
54
  return this.api.issueRuntimeCredentials(input, this.auth());
54
55
  }
55
- /**
56
- * Import a cloud resource and persist the returned draft on the product via ProductsBuilder.
57
- */
58
56
  async importAndPersist(input) {
59
57
  const result = await this.importResource(input);
60
58
  await this.persistComponentDraft(input.productTag, result.componentDraft);
61
59
  return result;
62
60
  }
63
- /**
64
- * Provision in cloud and persist the component draft on the product.
65
- */
66
61
  async provisionAndPersist(input) {
67
62
  const result = await this.provisionResource(input);
68
63
  await this.persistComponentDraft(input.productTag, result.componentDraft);
@@ -118,4 +113,5 @@ class CloudService {
118
113
  }
119
114
  }
120
115
  exports.CloudService = CloudService;
116
+ exports.default = CloudService;
121
117
  //# sourceMappingURL=cloud.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloud.service.js","sourceRoot":"","sources":["../../src/cloud/cloud.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloud.service.js","sourceRoot":"","sources":["../../src/cloud/cloud.service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,11 @@
1
1
  export { CloudService, CloudError } from './cloud.service';
2
2
  export type { ICloudServiceDeps } from './cloud.service';
3
3
  export { resolveCloudLinkedConfig, resolveCloudLinkedEnvConfig } from './cloud-runtime.util';
4
+ export { materializeCloudLinkedBrokerEnv } from './cloud-broker-link.util';
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';
9
+ export { resolveCloudConnectionId } from './cloud-api.util';
4
10
  export type { ICloudRuntimeContext } from './cloud-runtime.util';
5
11
  export * from './types';
@@ -14,12 +14,25 @@ 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.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; } });
21
21
  var cloud_runtime_util_1 = require("./cloud-runtime.util");
22
22
  Object.defineProperty(exports, "resolveCloudLinkedConfig", { enumerable: true, get: function () { return cloud_runtime_util_1.resolveCloudLinkedConfig; } });
23
23
  Object.defineProperty(exports, "resolveCloudLinkedEnvConfig", { enumerable: true, get: function () { return cloud_runtime_util_1.resolveCloudLinkedEnvConfig; } });
24
+ var cloud_broker_link_util_1 = require("./cloud-broker-link.util");
25
+ Object.defineProperty(exports, "materializeCloudLinkedBrokerEnv", { enumerable: true, get: function () { return cloud_broker_link_util_1.materializeCloudLinkedBrokerEnv; } });
26
+ var cloud_database_link_util_1 = require("./cloud-database-link.util");
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; } });
35
+ var cloud_api_util_1 = require("./cloud-api.util");
36
+ Object.defineProperty(exports, "resolveCloudConnectionId", { enumerable: true, get: function () { return cloud_api_util_1.resolveCloudConnectionId; } });
24
37
  __exportStar(require("./types"), exports);
25
38
  //# sourceMappingURL=index.js.map
@@ -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;AAE9D,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"}
@@ -15,6 +15,7 @@ export interface ICloudConnection {
15
15
  workspace_id: string;
16
16
  provider: CloudProvider;
17
17
  display_name: string;
18
+ tag: string;
18
19
  account_identifier: string;
19
20
  auth_mode: CloudAuthMode;
20
21
  status: CloudConnectionStatus;
@@ -43,12 +44,17 @@ export interface ICompleteCloudConnectionInput {
43
44
  role_arn?: string;
44
45
  /** GCP project */
45
46
  project_id?: string;
46
- /** GCP service account email (optional when using WIF) */
47
+ /** GCP service account JSON or email (optional when using WIF) */
47
48
  service_account_email?: string;
48
- /** Azure */
49
+ service_account_json?: string | Record<string, unknown>;
50
+ /** Azure service principal */
49
51
  tenant_id?: string;
50
52
  subscription_id?: string;
51
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;
52
58
  }
53
59
  export interface IValidateCloudConnectionResult {
54
60
  valid: boolean;
@@ -57,7 +63,7 @@ export interface IValidateCloudConnectionResult {
57
63
  tested_at?: string;
58
64
  }
59
65
  /** Cloud resource kinds exposed by the connector */
60
- 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';
61
67
  export interface ICloudResource {
62
68
  id: string;
63
69
  name: string;
@@ -68,7 +74,8 @@ export interface ICloudResource {
68
74
  metadata?: Record<string, unknown>;
69
75
  }
70
76
  export interface IListCloudResourcesInput {
71
- connectionId: string;
77
+ /** Workspace cloud connection tag */
78
+ cloud: string;
72
79
  service: CloudResourceService;
73
80
  region?: string;
74
81
  prefix?: string;
@@ -85,7 +92,8 @@ export interface IListCloudResourcesResult {
85
92
  /** Target Ductape component when importing or provisioning */
86
93
  export type CloudComponentType = 'storage' | 'messageBrokers' | 'databases' | 'graphs' | 'vectors' | 'caches';
87
94
  export interface IImportCloudResourceInput {
88
- connectionId: string;
95
+ /** Workspace cloud connection tag */
96
+ cloud: string;
89
97
  service: CloudResourceService;
90
98
  resourceId: string;
91
99
  componentType: CloudComponentType;
@@ -94,7 +102,8 @@ export interface IImportCloudResourceInput {
94
102
  envSlug: string;
95
103
  }
96
104
  export interface IProvisionCloudResourceInput {
97
- connectionId: string;
105
+ /** Workspace cloud connection tag */
106
+ cloud: string;
98
107
  service: CloudResourceService;
99
108
  template: string;
100
109
  componentType: CloudComponentType;
@@ -120,7 +129,10 @@ export interface IProvisionCloudResourceResult extends IImportCloudResourceResul
120
129
  }
121
130
  /** Runtime short-lived credentials (proxy / connector broker) */
122
131
  export interface ICloudRuntimeCredentialsInput {
123
- connectionId: string;
132
+ /** Workspace cloud connection tag */
133
+ cloud?: string;
134
+ /** @deprecated Legacy persisted configs only */
135
+ connectionId?: string;
124
136
  productTag: string;
125
137
  componentTag: string;
126
138
  envSlug: string;
@@ -135,6 +147,9 @@ export interface ICloudRuntimeCredentials {
135
147
  export type ComponentCloudAuthMode = 'manual' | 'cloud_connection';
136
148
  export interface ICloudLinkedComponentFields {
137
149
  authMode?: ComponentCloudAuthMode;
150
+ /** User-friendly cloud connection tag (preferred over cloudConnectionId) */
151
+ cloud?: string;
152
+ /** @deprecated Use cloud tag instead Host configs */
138
153
  cloudConnectionId?: string;
139
154
  roleArn?: string;
140
155
  }
@@ -573,6 +573,7 @@ class DatabaseService {
573
573
  description: config.description,
574
574
  authMode: envConfig.authMode,
575
575
  cloudConnectionId: envConfig.cloudConnectionId,
576
+ cloud: envConfig.cloud,
576
577
  });
577
578
  }
578
579
  }
@@ -836,6 +837,7 @@ class DatabaseService {
836
837
  connection_url: context.connectionUrl,
837
838
  authMode: context.authMode,
838
839
  cloudConnectionId: context.cloudConnectionId,
840
+ cloud: context.cloud,
839
841
  }, {
840
842
  environment: this.config.env_type,
841
843
  auth: {