@ductape/sdk 0.0.4-v66 → 0.0.4-v68

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 (65) hide show
  1. package/dist/brokers/brokers.service.d.ts +8 -0
  2. package/dist/brokers/brokers.service.js +104 -29
  3. package/dist/brokers/brokers.service.js.map +1 -1
  4. package/dist/brokers/types/index.d.ts +2 -0
  5. package/dist/cache/cache.manager.d.ts +83 -13
  6. package/dist/cache/cache.manager.js +243 -48
  7. package/dist/cache/cache.manager.js.map +1 -1
  8. package/dist/database/adapters/base.adapter.d.ts +6 -1
  9. package/dist/database/adapters/base.adapter.js.map +1 -1
  10. package/dist/database/adapters/cassandra.adapter.d.ts +2 -1
  11. package/dist/database/adapters/cassandra.adapter.js +16 -0
  12. package/dist/database/adapters/cassandra.adapter.js.map +1 -1
  13. package/dist/database/adapters/dynamodb.adapter.d.ts +2 -1
  14. package/dist/database/adapters/dynamodb.adapter.js +30 -0
  15. package/dist/database/adapters/dynamodb.adapter.js.map +1 -1
  16. package/dist/database/adapters/mongodb.adapter.d.ts +2 -1
  17. package/dist/database/adapters/mongodb.adapter.js +31 -0
  18. package/dist/database/adapters/mongodb.adapter.js.map +1 -1
  19. package/dist/database/adapters/mysql.adapter.d.ts +2 -1
  20. package/dist/database/adapters/mysql.adapter.js +40 -4
  21. package/dist/database/adapters/mysql.adapter.js.map +1 -1
  22. package/dist/database/adapters/postgresql.adapter.d.ts +2 -1
  23. package/dist/database/adapters/postgresql.adapter.js +25 -0
  24. package/dist/database/adapters/postgresql.adapter.js.map +1 -1
  25. package/dist/database/databases.service.d.ts +13 -1
  26. package/dist/database/databases.service.js +93 -29
  27. package/dist/database/databases.service.js.map +1 -1
  28. package/dist/database/index.d.ts +1 -1
  29. package/dist/database/index.js.map +1 -1
  30. package/dist/database/types/schema.interface.d.ts +15 -1
  31. package/dist/graph/graphs.service.js +77 -32
  32. package/dist/graph/graphs.service.js.map +1 -1
  33. package/dist/index.d.ts +154 -63
  34. package/dist/index.js +151 -78
  35. package/dist/index.js.map +1 -1
  36. package/dist/logs/logs.service.js +6 -1
  37. package/dist/logs/logs.service.js.map +1 -1
  38. package/dist/logs/logs.types.d.ts +2 -0
  39. package/dist/logs/logs.types.js.map +1 -1
  40. package/dist/notifications/notifications.service.d.ts +8 -0
  41. package/dist/notifications/notifications.service.js +311 -105
  42. package/dist/notifications/notifications.service.js.map +1 -1
  43. package/dist/notifications/types/notifications.types.d.ts +2 -0
  44. package/dist/products/services/products.service.js +58 -45
  45. package/dist/products/services/products.service.js.map +1 -1
  46. package/dist/sessions/sessions.resolver.d.ts +7 -0
  47. package/dist/sessions/sessions.resolver.js +20 -2
  48. package/dist/sessions/sessions.resolver.js.map +1 -1
  49. package/dist/sessions/sessions.service.d.ts +8 -0
  50. package/dist/sessions/sessions.service.js +231 -44
  51. package/dist/sessions/sessions.service.js.map +1 -1
  52. package/dist/sessions/types/index.d.ts +8 -0
  53. package/dist/storage/storage.service.d.ts +4 -0
  54. package/dist/storage/storage.service.js +171 -96
  55. package/dist/storage/storage.service.js.map +1 -1
  56. package/dist/storage/types/index.d.ts +4 -0
  57. package/dist/types/processor.types.d.ts +1 -1
  58. package/dist/vector/vector-database.service.js +38 -14
  59. package/dist/vector/vector-database.service.js.map +1 -1
  60. package/dist/workflows/types/workflows.types.d.ts +2 -0
  61. package/dist/workflows/types/workflows.types.js.map +1 -1
  62. package/dist/workflows/workflows.service.d.ts +6 -0
  63. package/dist/workflows/workflows.service.js +125 -21
  64. package/dist/workflows/workflows.service.js.map +1 -1
  65. package/package.json +9 -1
@@ -60,6 +60,10 @@ export declare class BrokersService {
60
60
  private productId;
61
61
  private productTag;
62
62
  private privateKey;
63
+ /** Cache manager for 3-tier caching */
64
+ private cacheManager;
65
+ /** Private keys per product for cache encryption */
66
+ private privateKeys;
63
67
  constructor(config: IBrokerServiceConfig);
64
68
  /**
65
69
  * Get user access credentials
@@ -73,6 +77,10 @@ export declare class BrokersService {
73
77
  * Initialize logging service
74
78
  */
75
79
  private initializeLogService;
80
+ /**
81
+ * Validate cache tag exists in product and return cache configuration
82
+ */
83
+ private validateCache;
76
84
  /**
77
85
  * Get or create broker service instance
78
86
  */
@@ -20,6 +20,8 @@ const types_2 = require("../types");
20
20
  const processor_utils_1 = require("../processor/utils/processor.utils");
21
21
  const processorApi_service_1 = require("../api/services/processorApi.service");
22
22
  const secrets_1 = require("../secrets");
23
+ const cache_manager_1 = require("../cache/cache.manager");
24
+ const sessions_1 = require("../sessions");
23
25
  /**
24
26
  * Error class for broker operations
25
27
  */
@@ -74,6 +76,10 @@ class BrokersService {
74
76
  this.productId = '';
75
77
  this.productTag = '';
76
78
  this.privateKey = '';
79
+ /** Cache manager for 3-tier caching */
80
+ this.cacheManager = null;
81
+ /** Private keys per product for cache encryption */
82
+ this.privateKeys = new Map();
77
83
  this.config = config;
78
84
  this.productBuilderService = new products_service_1.default({
79
85
  workspace_id: config.workspace_id,
@@ -81,8 +87,20 @@ class BrokersService {
81
87
  user_id: config.user_id,
82
88
  token: config.token,
83
89
  env_type: config.env_type,
90
+ redis_client: config.redis_client,
84
91
  });
85
92
  this.processorApiService = new processorApi_service_1.ProcessorApiService(config.env_type);
93
+ // Initialize CacheManager if Redis client is provided
94
+ if (config.redis_client) {
95
+ this.cacheManager = new cache_manager_1.CacheManager({
96
+ workspace_id: config.workspace_id,
97
+ public_key: config.public_key,
98
+ user_id: config.user_id,
99
+ token: config.token,
100
+ env_type: config.env_type || '',
101
+ redis_client: config.redis_client,
102
+ });
103
+ }
86
104
  }
87
105
  /**
88
106
  * Get user access credentials
@@ -159,6 +177,16 @@ class BrokersService {
159
177
  });
160
178
  }
161
179
  }
180
+ /**
181
+ * Validate cache tag exists in product and return cache configuration
182
+ */
183
+ async validateCache(cacheTag) {
184
+ const cache = await this.productBuilderService.fetchCache(cacheTag);
185
+ if (!cache) {
186
+ throw new BrokerError(`Cache configuration '${cacheTag}' does not exist`, 'CACHE_NOT_FOUND');
187
+ }
188
+ return { expiry: cache.expiry };
189
+ }
162
190
  /**
163
191
  * Get or create broker service instance
164
192
  */
@@ -218,47 +246,88 @@ class BrokersService {
218
246
  async publish(options) {
219
247
  var _a, _b;
220
248
  const process_id = (0, processor_utils_1.generateObjectId)();
249
+ const start = Date.now();
250
+ const { cache } = options;
251
+ let sessionLogFields = {};
252
+ let resolvedMessage = options.message;
221
253
  try {
222
254
  const { broker, topic, brokerEnv, topicUrl } = await this.initializeBroker(options.product, options.env, options.event);
223
255
  const { brokerTag, topicTag } = (0, broker_util_1.parseEventString)(options.event);
256
+ // Store private key for cache operations
257
+ if (this.privateKey) {
258
+ this.privateKeys.set(options.product, this.privateKey);
259
+ }
260
+ // Process session if provided - verify and resolve $Session{} references
261
+ if (options.session && this.privateKey) {
262
+ // Convert session object { tag, token } to string format "tag:token"
263
+ const sessionToken = `${options.session.tag}:${options.session.token}`;
264
+ const sessionResult = await (0, sessions_1.processSessionForExecution)(sessionToken, this.privateKey, { message: options.message }, options.env);
265
+ if (sessionResult.error) {
266
+ throw new BrokerError(`Session validation failed: ${sessionResult.error}`, 'SESSION_INVALID');
267
+ }
268
+ sessionLogFields = sessionResult.logFields;
269
+ resolvedMessage = sessionResult.input.message;
270
+ }
224
271
  // Auto-register producer if not exists
225
272
  await this.ensureProducerRegistered(brokerTag, topicTag, options.producer);
226
273
  this.initializeLogService();
227
- const baseLogs = {
228
- product_tag: options.product,
229
- product_id: this.productId,
230
- workspace_id: this.config.workspace_id,
231
- env: options.env,
232
- process_id,
233
- type: types_2.LogEventTypes.MESSAGEBROKER,
234
- parent_tag: brokerTag,
235
- child_tag: topicTag,
236
- data: { event: options.event },
237
- };
238
- this.logService.add(Object.assign(Object.assign({}, baseLogs), { message: 'Publish to broker - initiated', status: types_2.LogEventStatus.PROCESSING }));
274
+ const baseLogs = Object.assign({ product_tag: options.product, product_id: this.productId, workspace_id: this.config.workspace_id, env: options.env, process_id, type: types_2.LogEventTypes.MESSAGEBROKER, parent_tag: brokerTag, child_tag: topicTag, data: { event: options.event } }, sessionLogFields);
275
+ this.logService.add(Object.assign(Object.assign({}, baseLogs), { start, message: 'Publish to broker - initiated', status: types_2.LogEventStatus.PROCESSING }));
276
+ // Check cache for idempotency (prevent duplicate publishes with same data)
277
+ if (cache && this.cacheManager && this.privateKey) {
278
+ const cacheConfig = await this.validateCache(cache);
279
+ const cacheOptions = {
280
+ cache_tag: cache,
281
+ product_tag: options.product,
282
+ component_tag: `${brokerTag}:${topicTag}`,
283
+ component_type: 'broker',
284
+ operation: 'publish',
285
+ input: { event: options.event, message: options.message },
286
+ privateKey: this.privateKey,
287
+ expiry: cacheConfig.expiry,
288
+ };
289
+ const cached = await this.cacheManager.fetch(cacheOptions);
290
+ if (cached.hit && cached.data) {
291
+ const end = Date.now();
292
+ this.logService.add(Object.assign(Object.assign({}, baseLogs), { start,
293
+ end, message: `Publish to broker - cache hit (${cached.source})`, successful_execution: true, status: types_2.LogEventStatus.SUCCESS, data: { event: options.event, cache_source: cached.source } }));
294
+ this.logService.publish();
295
+ return cached.data;
296
+ }
297
+ }
239
298
  // Get broker service and publish
240
299
  const brokerService = await this.getBrokerService(brokerEnv.type, brokerEnv.config);
241
- await brokerService.publish(topicUrl, options.message);
242
- this.logService.add(Object.assign(Object.assign({}, baseLogs), { message: 'Publish to broker - success', successful_execution: true, status: types_2.LogEventStatus.SUCCESS }));
243
- this.logService.publish();
244
- return {
300
+ await brokerService.publish(topicUrl, resolvedMessage);
301
+ const result = {
245
302
  success: true,
246
303
  process_id,
247
304
  };
305
+ // Store in cache for idempotency
306
+ if (cache && this.cacheManager && this.privateKey) {
307
+ const cacheConfig = await this.validateCache(cache);
308
+ await this.cacheManager.store({
309
+ cache_tag: cache,
310
+ product_tag: options.product,
311
+ component_tag: `${brokerTag}:${topicTag}`,
312
+ component_type: 'broker',
313
+ operation: 'publish',
314
+ input: { event: options.event, message: options.message },
315
+ privateKey: this.privateKey,
316
+ expiry: cacheConfig.expiry,
317
+ }, result);
318
+ }
319
+ const end = Date.now();
320
+ this.logService.add(Object.assign(Object.assign({}, baseLogs), { start,
321
+ end, message: 'Publish to broker - success', successful_execution: true, status: types_2.LogEventStatus.SUCCESS }));
322
+ this.logService.publish();
323
+ return result;
248
324
  }
249
325
  catch (error) {
326
+ const end = Date.now();
250
327
  this.initializeLogService();
251
- (_a = this.logService) === null || _a === void 0 ? void 0 : _a.add({
252
- product_tag: options.product,
253
- workspace_id: this.config.workspace_id,
254
- env: options.env,
255
- process_id,
256
- type: types_2.LogEventTypes.MESSAGEBROKER,
257
- message: 'Publish to broker - failed',
258
- failed_execution: true,
259
- data: { event: options.event, error: String(error) },
260
- status: types_2.LogEventStatus.FAIL,
261
- });
328
+ (_a = this.logService) === null || _a === void 0 ? void 0 : _a.add(Object.assign({ product_tag: options.product, workspace_id: this.config.workspace_id, env: options.env, process_id,
329
+ start,
330
+ end, type: types_2.LogEventTypes.MESSAGEBROKER, message: 'Publish to broker - failed', failed_execution: true, data: { event: options.event, error: String(error) }, status: types_2.LogEventStatus.FAIL }, sessionLogFields));
262
331
  await ((_b = this.logService) === null || _b === void 0 ? void 0 : _b.publish());
263
332
  if (error instanceof BrokerError) {
264
333
  throw error;
@@ -272,6 +341,7 @@ class BrokersService {
272
341
  async subscribe(options) {
273
342
  var _a, _b;
274
343
  const process_id = (0, processor_utils_1.generateObjectId)();
344
+ const start = Date.now();
275
345
  try {
276
346
  const { broker, topic, brokerEnv, topicUrl } = await this.initializeBroker(options.product, options.env, options.event);
277
347
  const { brokerTag, topicTag } = (0, broker_util_1.parseEventString)(options.event);
@@ -289,11 +359,13 @@ class BrokersService {
289
359
  child_tag: topicTag,
290
360
  data: { event: options.event },
291
361
  };
292
- this.logService.add(Object.assign(Object.assign({}, baseLogs), { message: 'Subscribe to broker - initiated', status: types_2.LogEventStatus.PROCESSING }));
362
+ this.logService.add(Object.assign(Object.assign({}, baseLogs), { start, message: 'Subscribe to broker - initiated', status: types_2.LogEventStatus.PROCESSING }));
293
363
  // Get broker service and subscribe
294
364
  const brokerService = await this.getBrokerService(brokerEnv.type, brokerEnv.config);
295
365
  await brokerService.subscribe(topicUrl, options.callback);
296
- this.logService.add(Object.assign(Object.assign({}, baseLogs), { message: 'Subscribe to broker - success', successful_execution: true, status: types_2.LogEventStatus.SUCCESS }));
366
+ const end = Date.now();
367
+ this.logService.add(Object.assign(Object.assign({}, baseLogs), { start,
368
+ end, message: 'Subscribe to broker - success', successful_execution: true, status: types_2.LogEventStatus.SUCCESS }));
297
369
  this.logService.publish();
298
370
  return {
299
371
  success: true,
@@ -301,12 +373,15 @@ class BrokersService {
301
373
  };
302
374
  }
303
375
  catch (error) {
376
+ const end = Date.now();
304
377
  this.initializeLogService();
305
378
  (_a = this.logService) === null || _a === void 0 ? void 0 : _a.add({
306
379
  product_tag: options.product,
307
380
  workspace_id: this.config.workspace_id,
308
381
  env: options.env,
309
382
  process_id,
383
+ start,
384
+ end,
310
385
  type: types_2.LogEventTypes.MESSAGEBROKER,
311
386
  message: 'Subscribe to broker - failed',
312
387
  failed_execution: true,
@@ -1 +1 @@
1
- {"version":3,"file":"brokers.service.js","sourceRoot":"","sources":["../../src/brokers/brokers.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brokers.service.js","sourceRoot":"","sources":["../../src/brokers/brokers.service.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ export interface IBrokerServiceConfig {
14
14
  user_id: string;
15
15
  token: string;
16
16
  env_type?: string;
17
+ /** Optional Redis client for caching */
18
+ redis_client?: any;
17
19
  }
18
20
  /**
19
21
  * Producer registration options
@@ -1,15 +1,26 @@
1
1
  /**
2
2
  * CacheManager - Shared caching utility for all executor services
3
3
  *
4
- * Provides a two-tier caching strategy:
5
- * - Redis (local/fast): Primary cache layer for reads
4
+ * Provides a three-tier caching strategy:
5
+ * - Internal (in-memory): Fastest layer using Map with LRU eviction
6
+ * - Redis (local/fast): Secondary cache layer for distributed reads
6
7
  * - Remote (persistent): Backing store synced on writes/deletes/cache misses
7
8
  *
8
9
  * Used by: StorageService, DatabaseService, GraphService, VectorService,
9
- * QuotaService, FallbackService, AgentsService, etc.
10
+ * QuotaService, FallbackService, AgentsService, SessionsService, BrokersService,
11
+ * NotificationsService, etc.
10
12
  */
11
13
  import { RedisClientType } from 'redis';
12
14
  import { EnvType } from '../types';
15
+ /**
16
+ * Cache value wrapper with type information for auto-detection
17
+ */
18
+ export interface ICacheValueWrapper {
19
+ /** Type of the cached value */
20
+ type: 'json' | 'string';
21
+ /** Serialized value */
22
+ value: string;
23
+ }
13
24
  /**
14
25
  * Cache manager configuration
15
26
  */
@@ -21,6 +32,10 @@ export interface ICacheManagerConfig {
21
32
  env_type: EnvType | string;
22
33
  redis_client?: RedisClientType;
23
34
  }
35
+ /**
36
+ * Component types for cache operations
37
+ */
38
+ export type CacheComponentType = 'storage' | 'database' | 'graph' | 'vector' | 'session' | 'broker' | 'notification';
24
39
  /**
25
40
  * Options for cache operations
26
41
  */
@@ -29,10 +44,12 @@ export interface ICacheOperationOptions {
29
44
  cache_tag: string;
30
45
  /** Product tag */
31
46
  product_tag: string;
32
- /** Component tag (e.g., storage tag, database tag) */
47
+ /** Component tag (e.g., storage tag, database tag, session tag) */
33
48
  component_tag: string;
34
- /** Component type (e.g., 'storage', 'database', 'graph') */
35
- component_type: string;
49
+ /** Component type for reporting and key generation */
50
+ component_type: CacheComponentType | string;
51
+ /** Operation name for key generation (e.g., 'create', 'verify', 'publish') */
52
+ operation?: string;
36
53
  /** Input data to generate cache key from */
37
54
  input: unknown;
38
55
  /** Private key for encryption/decryption */
@@ -50,8 +67,8 @@ export interface ICacheFetchResult<T> {
50
67
  data?: T;
51
68
  /** Cache key used */
52
69
  key: string;
53
- /** Source of data: 'redis', 'remote', or 'miss' */
54
- source: 'redis' | 'remote' | 'miss';
70
+ /** Source of data: 'internal', 'redis', 'remote', or 'miss' */
71
+ source: 'internal' | 'redis' | 'remote' | 'miss';
55
72
  }
56
73
  /**
57
74
  * CacheManager provides shared caching functionality for all executor services
@@ -101,33 +118,79 @@ export declare class CacheManager {
101
118
  private config;
102
119
  private redisClient;
103
120
  private processorApiService;
121
+ /** Internal in-memory cache (Tier 1 - fastest) */
122
+ private internalCache;
123
+ /** Maximum number of entries in internal cache before LRU eviction */
124
+ private maxInternalCacheSize;
104
125
  constructor(config: ICacheManagerConfig);
126
+ /**
127
+ * Set maximum size for internal cache
128
+ */
129
+ setMaxInternalCacheSize(size: number): void;
130
+ /**
131
+ * Clear internal cache
132
+ */
133
+ clearInternalCache(): void;
134
+ /**
135
+ * Set entry in internal cache with LRU eviction
136
+ */
137
+ private setInternalCache;
138
+ /**
139
+ * Check if internal cache entry is still valid
140
+ */
141
+ private isValidEntry;
142
+ /**
143
+ * Wrap value with type information for storage (auto-detect type)
144
+ */
145
+ private wrapValue;
146
+ /**
147
+ * Unwrap value based on stored type
148
+ */
149
+ private unwrapValue;
105
150
  /**
106
151
  * Get user access credentials for API calls
107
152
  */
108
153
  private getUserAccess;
109
154
  /**
110
- * Generate cache key from cache tag and input
155
+ * Generate cache key from cache tag and input (legacy format)
111
156
  */
112
157
  generateKey(cache_tag: string, input: unknown): string;
158
+ /**
159
+ * Generate cache key with new format: cache_tag:component_type:operation:sha256(input)
160
+ * Includes cache_tag for isolation between different cache configurations
161
+ */
162
+ generateKeyV2(options: {
163
+ cache_tag: string;
164
+ component_type: string;
165
+ operation: string;
166
+ input: unknown;
167
+ }): string;
168
+ /**
169
+ * Generate cache key based on options (uses V2 format if operation provided)
170
+ */
171
+ private generateCacheKey;
113
172
  /**
114
173
  * Check if caching is available (Redis client connected)
115
174
  */
116
175
  isAvailable(): boolean;
117
176
  /**
118
- * Fetch data from cache (Redis first, then remote on miss)
177
+ * Fetch data from cache (Internal first, then Redis, then remote on miss)
119
178
  *
120
179
  * @returns Cache result with hit status, data, and source
121
180
  */
122
181
  fetch<T>(options: ICacheOperationOptions): Promise<ICacheFetchResult<T>>;
123
182
  /**
124
- * Store data in cache (both Redis and remote)
183
+ * Store data in cache (all three tiers: internal, Redis, and remote)
125
184
  */
126
185
  store<T>(options: ICacheOperationOptions, data: T): Promise<void>;
127
186
  /**
128
- * Invalidate/delete data from cache (both Redis and remote)
187
+ * Invalidate/delete data from cache (all three tiers)
129
188
  */
130
189
  invalidate(cache_tag: string, input: unknown): Promise<void>;
190
+ /**
191
+ * Invalidate/delete data from cache using options (supports new key format)
192
+ */
193
+ invalidateV2(options: ICacheOperationOptions): Promise<void>;
131
194
  /**
132
195
  * Helper method to wrap an async operation with caching
133
196
  *
@@ -153,7 +216,14 @@ export declare class CacheManager {
153
216
  withCache<T>(options: ICacheOperationOptions, operation: () => Promise<T>): Promise<{
154
217
  data: T;
155
218
  cached: boolean;
156
- source: 'redis' | 'remote' | 'fresh';
219
+ source: 'internal' | 'redis' | 'remote' | 'fresh';
157
220
  }>;
221
+ /**
222
+ * Get internal cache stats for debugging/monitoring
223
+ */
224
+ getInternalCacheStats(): {
225
+ size: number;
226
+ maxSize: number;
227
+ };
158
228
  }
159
229
  export default CacheManager;