@ductape/sdk 0.0.5 → 0.0.7

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 (36) hide show
  1. package/README.md +87 -53
  2. package/dist/apps/services/app.service.js +14 -5
  3. package/dist/apps/services/app.service.js.map +1 -1
  4. package/dist/apps/utils/string.utils.d.ts +7 -0
  5. package/dist/apps/utils/string.utils.js +33 -1
  6. package/dist/apps/utils/string.utils.js.map +1 -1
  7. package/dist/apps/validators/joi-validators/create.appEnv.validator.js +1 -0
  8. package/dist/apps/validators/joi-validators/create.appEnv.validator.js.map +1 -1
  9. package/dist/apps/validators/joi-validators/update.appEnv.validator.js +1 -0
  10. package/dist/apps/validators/joi-validators/update.appEnv.validator.js.map +1 -1
  11. package/dist/brokers/brokers.service.d.ts +4 -1
  12. package/dist/brokers/brokers.service.js +104 -20
  13. package/dist/brokers/brokers.service.js.map +1 -1
  14. package/dist/database/databases.service.d.ts +15 -0
  15. package/dist/database/databases.service.js +183 -14
  16. package/dist/database/databases.service.js.map +1 -1
  17. package/dist/graph/graphs.service.d.ts +6 -0
  18. package/dist/graph/graphs.service.js +155 -35
  19. package/dist/graph/graphs.service.js.map +1 -1
  20. package/dist/index.d.ts +28 -10
  21. package/dist/index.js +88 -10
  22. package/dist/index.js.map +1 -1
  23. package/dist/processor/services/processor.service.d.ts +15 -2
  24. package/dist/processor/services/processor.service.js +246 -28
  25. package/dist/processor/services/processor.service.js.map +1 -1
  26. package/dist/products/services/products.service.js +23 -24
  27. package/dist/products/services/products.service.js.map +1 -1
  28. package/dist/types/appBuilder.types.d.ts +6 -0
  29. package/dist/vector/vector-database.service.d.ts +6 -0
  30. package/dist/vector/vector-database.service.js +138 -31
  31. package/dist/vector/vector-database.service.js.map +1 -1
  32. package/dist/workflows/workflow-executor.js +99 -44
  33. package/dist/workflows/workflow-executor.js.map +1 -1
  34. package/dist/workflows/workflows.service.js +63 -20
  35. package/dist/workflows/workflows.service.js.map +1 -1
  36. package/package.json +1 -1
@@ -63,6 +63,10 @@ export interface IAppAuthEnv {
63
63
  __v?: number;
64
64
  base_url?: string;
65
65
  }
66
+ /** Variable extracted from base_url (e.g. {{prefix}} in https://{{prefix}}-checkout.example.com). */
67
+ export interface IBaseUrlVariable {
68
+ key: string;
69
+ }
66
70
  export interface IAppEnv {
67
71
  _id?: string;
68
72
  env_name: string;
@@ -72,6 +76,8 @@ export interface IAppEnv {
72
76
  active?: boolean;
73
77
  __v?: number;
74
78
  base_url?: string;
79
+ /** Keys extracted from base_url placeholders ({{key}} or :key). Filled during integration. */
80
+ base_url_variables?: IBaseUrlVariable[];
75
81
  request_type?: DataFormats;
76
82
  }
77
83
  export interface ICustomEnv {
@@ -227,6 +227,12 @@ export declare class VectorDatabaseService {
227
227
  private initializeLogService;
228
228
  private getVectorServiceKey;
229
229
  private getVectorService;
230
+ /**
231
+ * Disconnect any existing connection to this vector from the SDK (shared registry and this instance) before creating a fresh one.
232
+ */
233
+ private disconnectExistingForResource;
234
+ private createAndRegisterVectorShared;
235
+ private createVectorServiceAndCache;
230
236
  /**
231
237
  * Connect to a vector database
232
238
  *
@@ -105,6 +105,16 @@ const secrets_1 = require("../secrets");
105
105
  const logs_service_1 = __importDefault(require("../logs/logs.service"));
106
106
  const logs_types_1 = require("../logs/logs.types");
107
107
  const crypto_1 = require("crypto");
108
+ /** Shared vector services: one per workspace+product+vector+env. Not exported. */
109
+ const sharedVectorRegistry = new Map();
110
+ const sharedVectorInFlight = new Map();
111
+ function getSharedVectorKey(workspaceId, product, vector, env) {
112
+ return `${workspaceId}:${product}:${vector}:${env}`;
113
+ }
114
+ /** Log debounce for vector connect/disconnect */
115
+ const lastVectorConnectLogAt = new Map();
116
+ const lastVectorDisconnectLogAt = new Map();
117
+ const VECTOR_LOG_DEBOUNCE_MS = 15000;
108
118
  /**
109
119
  * VectorDatabaseService
110
120
  *
@@ -196,23 +206,91 @@ class VectorDatabaseService {
196
206
  return `${product}:${env}:${tag}`;
197
207
  }
198
208
  async getVectorService(product, env, tag) {
209
+ var _a, _b;
199
210
  const key = this.getVectorServiceKey(product, env, tag);
211
+ const workspaceId = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.workspace_id) !== null && _b !== void 0 ? _b : '';
212
+ const useShared = workspaceId !== '' && product !== '';
213
+ if (useShared) {
214
+ const sharedKey = getSharedVectorKey(workspaceId, product, tag, env);
215
+ const existing = sharedVectorRegistry.get(sharedKey);
216
+ if (existing === null || existing === void 0 ? void 0 : existing.connected) {
217
+ this.vectorServices.set(key, existing);
218
+ return existing;
219
+ }
220
+ const inFlight = sharedVectorInFlight.get(sharedKey);
221
+ if (inFlight) {
222
+ const service = await inFlight;
223
+ this.vectorServices.set(key, service);
224
+ return service;
225
+ }
226
+ const createPromise = this.createAndRegisterVectorShared(sharedKey, product, env, tag, key);
227
+ sharedVectorInFlight.set(sharedKey, createPromise);
228
+ try {
229
+ const service = await createPromise;
230
+ this.vectorServices.set(key, service);
231
+ return service;
232
+ }
233
+ finally {
234
+ sharedVectorInFlight.delete(sharedKey);
235
+ }
236
+ }
200
237
  let service = this.vectorServices.get(key);
201
- if (service === null || service === void 0 ? void 0 : service.connected) {
238
+ if (service === null || service === void 0 ? void 0 : service.connected)
202
239
  return service;
240
+ return this.createVectorServiceAndCache(product, env, tag, key);
241
+ }
242
+ /**
243
+ * Disconnect any existing connection to this vector from the SDK (shared registry and this instance) before creating a fresh one.
244
+ */
245
+ async disconnectExistingForResource(sharedKey, localKey) {
246
+ const existingInRegistry = sharedVectorRegistry.get(sharedKey);
247
+ if (existingInRegistry === null || existingInRegistry === void 0 ? void 0 : existingInRegistry.connected) {
248
+ try {
249
+ await existingInRegistry.disconnect();
250
+ }
251
+ catch (_a) {
252
+ // Non-fatal
253
+ }
254
+ sharedVectorRegistry.delete(sharedKey);
255
+ }
256
+ const instanceService = this.vectorServices.get(localKey);
257
+ if (instanceService === null || instanceService === void 0 ? void 0 : instanceService.connected) {
258
+ try {
259
+ await instanceService.disconnect();
260
+ }
261
+ catch (_b) {
262
+ // Non-fatal
263
+ }
264
+ this.vectorServices.delete(localKey);
265
+ sharedVectorRegistry.delete(sharedKey);
203
266
  }
204
- // Get vector config from product
267
+ }
268
+ async createAndRegisterVectorShared(sharedKey, product, env, tag, localKey) {
269
+ await this.disconnectExistingForResource(sharedKey, localKey);
270
+ const service = await this.createVectorServiceAndCache(product, env, tag, localKey);
271
+ const raceExisting = sharedVectorRegistry.get(sharedKey);
272
+ if (raceExisting === null || raceExisting === void 0 ? void 0 : raceExisting.connected) {
273
+ try {
274
+ await raceExisting.disconnect();
275
+ }
276
+ catch (_a) {
277
+ // Non-fatal
278
+ }
279
+ sharedVectorRegistry.delete(sharedKey);
280
+ }
281
+ sharedVectorRegistry.set(sharedKey, service);
282
+ return service;
283
+ }
284
+ async createVectorServiceAndCache(product, env, tag, key) {
205
285
  const builder = await this.getProductBuilder(product);
206
286
  const vectorConfig = await builder.fetchVector(tag);
207
287
  if (!vectorConfig) {
208
288
  throw new Error(`Vector configuration '${tag}' not found in product '${product}'`);
209
289
  }
210
- // Find environment config
211
290
  const envConfig = vectorConfig.envs.find((e) => e.slug === env);
212
291
  if (!envConfig) {
213
292
  throw new Error(`Environment '${env}' not configured for vector '${tag}'`);
214
293
  }
215
- // Resolve any secret references in the env config
216
294
  let resolvedEnvConfig = Object.assign({}, envConfig);
217
295
  if ((0, secrets_1.mightContainSecrets)(envConfig)) {
218
296
  const secretsService = (0, secrets_1.getSecretsService)();
@@ -221,12 +299,9 @@ class VectorDatabaseService {
221
299
  resolvedEnvConfig = resolved.value;
222
300
  }
223
301
  else {
224
- throw new Error(`Vector configuration contains secret references but secrets service is not initialized. ` +
225
- `Please ensure the Ductape client is properly initialized.`);
302
+ throw new Error(`Vector configuration contains secret references but secrets service is not initialized.`);
226
303
  }
227
304
  }
228
- // Create VectorService with decrypted config
229
- // Map VectorDistanceMetrics to DistanceMetric
230
305
  const metricMap = {
231
306
  [productsBuilder_types_1.VectorDistanceMetrics.COSINE]: index_1.DistanceMetric.COSINE,
232
307
  [productsBuilder_types_1.VectorDistanceMetrics.EUCLIDEAN]: index_1.DistanceMetric.EUCLIDEAN,
@@ -242,12 +317,11 @@ class VectorDatabaseService {
242
317
  metric: vectorConfig.metric ? metricMap[vectorConfig.metric] : undefined,
243
318
  region: resolvedEnvConfig.region,
244
319
  };
245
- service = new index_1.VectorService(serviceOptions);
320
+ const service = new index_1.VectorService(serviceOptions);
246
321
  const connectionResult = await service.connect();
247
322
  if (!connectionResult.connected) {
248
323
  throw new Error(`Failed to connect to vector database '${tag}' in environment '${env}': ${connectionResult.error || 'Unknown error'}`);
249
324
  }
250
- // Set logging context on the VectorService so operations are logged
251
325
  this.initializeLogService();
252
326
  if (this.logService && this.config) {
253
327
  service.setLoggingContext({
@@ -275,11 +349,10 @@ class VectorDatabaseService {
275
349
  * ```
276
350
  */
277
351
  async connect(options) {
278
- var _a, _b, _c, _d, _e, _f;
352
+ var _a, _b, _c, _d;
279
353
  const { product, env, vector } = options;
280
354
  const start = Date.now();
281
355
  const process_id = (0, crypto_1.randomUUID)();
282
- // Ensure logging is initialized
283
356
  await this.getProductBuilder(product);
284
357
  this.initializeLogService();
285
358
  const baseLogs = {
@@ -293,20 +366,34 @@ class VectorDatabaseService {
293
366
  child_tag: 'connect',
294
367
  data: { vector, env, operation: 'connect' },
295
368
  };
296
- (_b = this.logService) === null || _b === void 0 ? void 0 : _b.add(Object.assign(Object.assign({}, baseLogs), { start, message: 'Vector connect - initiated', status: logs_types_1.LogEventStatus.PROCESSING }));
369
+ const logKey = `${product}:${vector}:${env}`;
370
+ const now = Date.now();
371
+ const last = (_b = lastVectorConnectLogAt.get(logKey)) !== null && _b !== void 0 ? _b : {};
372
+ if (this.logService && (!last.initiated || now - last.initiated >= VECTOR_LOG_DEBOUNCE_MS)) {
373
+ lastVectorConnectLogAt.set(logKey, Object.assign(Object.assign({}, last), { initiated: now }));
374
+ this.logService.add(Object.assign(Object.assign({}, baseLogs), { start, message: 'Vector connect - initiated', status: logs_types_1.LogEventStatus.PROCESSING }));
375
+ }
297
376
  try {
298
377
  const service = await this.getVectorService(product, env, vector);
299
378
  const end = Date.now();
300
- (_c = this.logService) === null || _c === void 0 ? void 0 : _c.add(Object.assign(Object.assign({}, baseLogs), { start,
301
- end, message: 'Vector connect - success', successful_execution: true, data: Object.assign(Object.assign({}, baseLogs.data), { connected: true }), status: logs_types_1.LogEventStatus.SUCCESS }));
302
- (_d = this.logService) === null || _d === void 0 ? void 0 : _d.publish();
379
+ const lastSuccess = (_c = lastVectorConnectLogAt.get(logKey)) !== null && _c !== void 0 ? _c : {};
380
+ if (this.logService && (!lastSuccess.success || end - lastSuccess.success >= VECTOR_LOG_DEBOUNCE_MS)) {
381
+ lastVectorConnectLogAt.set(logKey, Object.assign(Object.assign({}, lastSuccess), { success: end }));
382
+ this.logService.add(Object.assign(Object.assign({}, baseLogs), { start,
383
+ end, message: 'Vector connect - success', successful_execution: true, data: Object.assign(Object.assign({}, baseLogs.data), { connected: true }), status: logs_types_1.LogEventStatus.SUCCESS }));
384
+ this.logService.publish();
385
+ }
303
386
  return service;
304
387
  }
305
388
  catch (error) {
306
389
  const end = Date.now();
307
- (_e = this.logService) === null || _e === void 0 ? void 0 : _e.add(Object.assign(Object.assign({}, baseLogs), { start,
308
- end, message: 'Vector connect - failed', failed_execution: true, data: Object.assign(Object.assign({}, baseLogs.data), { error: String(error) }), status: logs_types_1.LogEventStatus.FAIL }));
309
- (_f = this.logService) === null || _f === void 0 ? void 0 : _f.publish();
390
+ const lastFail = (_d = lastVectorConnectLogAt.get(logKey)) !== null && _d !== void 0 ? _d : {};
391
+ if (this.logService && (!lastFail.failed || end - lastFail.failed >= VECTOR_LOG_DEBOUNCE_MS)) {
392
+ lastVectorConnectLogAt.set(logKey, Object.assign(Object.assign({}, lastFail), { failed: end }));
393
+ this.logService.add(Object.assign(Object.assign({}, baseLogs), { start,
394
+ end, message: 'Vector connect - failed', failed_execution: true, data: Object.assign(Object.assign({}, baseLogs.data), { error: String(error) }), status: logs_types_1.LogEventStatus.FAIL }));
395
+ this.logService.publish();
396
+ }
310
397
  throw error;
311
398
  }
312
399
  }
@@ -318,7 +405,6 @@ class VectorDatabaseService {
318
405
  const { product, env, vector } = options;
319
406
  const start = Date.now();
320
407
  const process_id = (0, crypto_1.randomUUID)();
321
- // Ensure logging is initialized
322
408
  await this.getProductBuilder(product);
323
409
  this.initializeLogService();
324
410
  const baseLogs = {
@@ -332,24 +418,40 @@ class VectorDatabaseService {
332
418
  child_tag: 'disconnect',
333
419
  data: { vector, env, operation: 'disconnect' },
334
420
  };
335
- (_b = this.logService) === null || _b === void 0 ? void 0 : _b.add(Object.assign(Object.assign({}, baseLogs), { start, message: 'Vector disconnect - initiated', status: logs_types_1.LogEventStatus.PROCESSING }));
421
+ const logKey = `${product}:${vector}:${env}`;
422
+ const now = Date.now();
423
+ const last = (_b = lastVectorDisconnectLogAt.get(logKey)) !== null && _b !== void 0 ? _b : {};
424
+ if (this.logService && (!last.initiated || now - last.initiated >= VECTOR_LOG_DEBOUNCE_MS)) {
425
+ lastVectorDisconnectLogAt.set(logKey, Object.assign(Object.assign({}, last), { initiated: now }));
426
+ this.logService.add(Object.assign(Object.assign({}, baseLogs), { start, message: 'Vector disconnect - initiated', status: logs_types_1.LogEventStatus.PROCESSING }));
427
+ }
336
428
  try {
337
429
  const key = this.getVectorServiceKey(product, env, vector);
338
430
  const service = this.vectorServices.get(key);
339
- if (service === null || service === void 0 ? void 0 : service.connected) {
431
+ if (service === null || service === void 0 ? void 0 : service.connected)
340
432
  await service.disconnect();
341
- }
342
433
  this.vectorServices.delete(key);
434
+ const workspaceId = (_d = (_c = this.config) === null || _c === void 0 ? void 0 : _c.workspace_id) !== null && _d !== void 0 ? _d : '';
435
+ if (workspaceId && product) {
436
+ sharedVectorRegistry.delete(getSharedVectorKey(workspaceId, product, vector, env));
437
+ }
343
438
  const end = Date.now();
344
- (_c = this.logService) === null || _c === void 0 ? void 0 : _c.add(Object.assign(Object.assign({}, baseLogs), { start,
345
- end, message: 'Vector disconnect - success', successful_execution: true, status: logs_types_1.LogEventStatus.SUCCESS }));
346
- (_d = this.logService) === null || _d === void 0 ? void 0 : _d.publish();
439
+ const lastSuccess = (_e = lastVectorDisconnectLogAt.get(logKey)) !== null && _e !== void 0 ? _e : {};
440
+ if (this.logService && (!lastSuccess.success || end - lastSuccess.success >= VECTOR_LOG_DEBOUNCE_MS)) {
441
+ lastVectorDisconnectLogAt.set(logKey, Object.assign(Object.assign({}, lastSuccess), { success: end }));
442
+ this.logService.add(Object.assign(Object.assign({}, baseLogs), { start, end, message: 'Vector disconnect - success', successful_execution: true, status: logs_types_1.LogEventStatus.SUCCESS }));
443
+ this.logService.publish();
444
+ }
347
445
  }
348
446
  catch (error) {
349
447
  const end = Date.now();
350
- (_e = this.logService) === null || _e === void 0 ? void 0 : _e.add(Object.assign(Object.assign({}, baseLogs), { start,
351
- end, message: 'Vector disconnect - failed', failed_execution: true, data: Object.assign(Object.assign({}, baseLogs.data), { error: String(error) }), status: logs_types_1.LogEventStatus.FAIL }));
352
- (_f = this.logService) === null || _f === void 0 ? void 0 : _f.publish();
448
+ const lastFail = (_f = lastVectorDisconnectLogAt.get(logKey)) !== null && _f !== void 0 ? _f : {};
449
+ if (this.logService && (!lastFail.failed || end - lastFail.failed >= VECTOR_LOG_DEBOUNCE_MS)) {
450
+ lastVectorDisconnectLogAt.set(logKey, Object.assign(Object.assign({}, lastFail), { failed: end }));
451
+ this.logService.add(Object.assign(Object.assign({}, baseLogs), { start,
452
+ end, message: 'Vector disconnect - failed', failed_execution: true, data: Object.assign(Object.assign({}, baseLogs.data), { error: String(error) }), status: logs_types_1.LogEventStatus.FAIL }));
453
+ this.logService.publish();
454
+ }
353
455
  throw error;
354
456
  }
355
457
  }
@@ -879,9 +981,14 @@ class VectorDatabaseService {
879
981
  * Disconnect all cached vector services
880
982
  */
881
983
  async disconnectAll() {
882
- for (const service of this.vectorServices.values()) {
883
- if (service.connected) {
984
+ var _a, _b;
985
+ const workspaceId = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.workspace_id) !== null && _b !== void 0 ? _b : '';
986
+ for (const [key, service] of this.vectorServices.entries()) {
987
+ if (service.connected)
884
988
  await service.disconnect();
989
+ const [product, env, tag] = key.split(':');
990
+ if (workspaceId && product && tag) {
991
+ sharedVectorRegistry.delete(getSharedVectorKey(workspaceId, product, tag, env));
885
992
  }
886
993
  }
887
994
  this.vectorServices.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"vector-database.service.js","sourceRoot":"","sources":["../../src/vector/vector-database.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vector-database.service.js","sourceRoot":"","sources":["../../src/vector/vector-database.service.ts"],"names":[],"mappings":"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"}