@goatlab/node-backend 1.5.5 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -37,6 +37,7 @@ import { BatchBootstrapOptions, BatchBootstrapResult, BatchInvalidationResult, C
37
37
  *
38
38
  * @template Defs - Factory definitions record (shared across tenants)
39
39
  * @template TenantMetadata - Type of tenant-specific metadata (DB config, secrets, etc.)
40
+ * @template TContext - Type of the context returned by the initializer (inferred from initializer return type, defaults to InstancesStructure<Defs>)
40
41
  *
41
42
  * Key Responsibilities:
42
43
  * 1. 🏭 **Factory Management**: Register and cache service factories
@@ -77,7 +78,7 @@ import { BatchBootstrapOptions, BatchBootstrapResult, BatchInvalidationResult, C
77
78
  * })
78
79
  * ```
79
80
  */
80
- export declare class Container<Defs extends Record<string, unknown>, TenantMetadata> {
81
+ export declare class Container<Defs extends Record<string, unknown>, TenantMetadata, TContext = InstancesStructure<Defs>> {
81
82
  private readonly factories;
82
83
  private readonly initializer;
83
84
  /**
@@ -133,15 +134,10 @@ export declare class Container<Defs extends Record<string, unknown>, TenantMetad
133
134
  */
134
135
  private readonly disposalPromises;
135
136
  /**
136
- * Proxy object cache: reuses proxy objects for the same paths
137
+ * Proxy object cache: reuses proxy objects for the same paths (preload proxy only)
137
138
  * Reduces memory allocation and improves performance
138
139
  */
139
140
  private readonly proxyCache;
140
- /**
141
- * Context proxy cache: reuses proxies for the same object instances
142
- * Uses WeakMap for automatic garbage collection when objects are freed
143
- */
144
- private readonly contextProxyCache;
145
141
  /**
146
142
  * Initializer cache: stores initialized instances per tenant with LRU eviction
147
143
  * Avoids re-running the expensive initializer function for the same tenant
@@ -187,7 +183,7 @@ export declare class Container<Defs extends Record<string, unknown>, TenantMetad
187
183
  * And should return a structure matching your factory definitions but with
188
184
  * actual service instances instead of factory functions.
189
185
  */
190
- constructor(factories: Defs, initializer: (preload: PreloadStructure<Defs>, meta: TenantMetadata) => Promise<Partial<InstancesStructure<Defs>>>, options?: ContainerOptions);
186
+ constructor(factories: Defs, initializer: (preload: PreloadStructure<Defs>, meta: TenantMetadata) => Promise<TContext>, options?: ContainerOptions);
191
187
  /**
192
188
  * Get or create a cache manager for a service - lazy allocation
193
189
  * Saves memory by only creating caches for services that are actually used
@@ -233,13 +229,13 @@ export declare class Container<Defs extends Record<string, unknown>, TenantMetad
233
229
  * This is usually called internally by bootstrap, but can be used directly
234
230
  * for testing or advanced use cases
235
231
  */
236
- runWithContext<T>(instances: Partial<InstancesStructure<Defs>>, tenantMetadata: TenantMetadata, fn: () => Promise<T>): Promise<T>;
232
+ runWithContext<T>(instances: TContext, tenantMetadata: TenantMetadata, fn: () => Promise<T>): Promise<T>;
237
233
  /**
238
234
  * Run a synchronous function within a specific tenant context
239
235
  * Uses enterWith() to avoid creating extra async frame for sync operations
240
236
  * More efficient for pure synchronous code paths
241
237
  */
242
- runWithContextSync<T>(instances: Partial<InstancesStructure<Defs>>, tenantMetadata: TenantMetadata, fn: () => T): T;
238
+ runWithContextSync<T>(instances: TContext, tenantMetadata: TenantMetadata, fn: () => T): T;
243
239
  /**
244
240
  * Get the current tenant's service context
245
241
  *
@@ -251,20 +247,7 @@ export declare class Container<Defs extends Record<string, unknown>, TenantMetad
251
247
  *
252
248
  * Throws an error if called outside of a tenant context
253
249
  */
254
- get context(): InstancesStructure<Defs>;
255
- /**
256
- * Create a proxy for the runtime context that provides intelligent error handling
257
- *
258
- * The context proxy:
259
- * 1. Provides helpful error messages when services are missing
260
- * 2. Handles nested object access gracefully
261
- * 3. Avoids wrapping Promises or arrays (which would break them)
262
- * 4. Uses WeakMap caching for automatic memory management
263
- *
264
- * This ensures that accessing container.context.someService either works
265
- * or gives you a clear error message about what's available
266
- */
267
- private createContextProxy;
250
+ get context(): TContext;
268
251
  /**
269
252
  * Simple string hash function for fallback tenant keys
270
253
  * Uses djb2 algorithm - fast and good enough for cache keys
@@ -310,7 +293,7 @@ export declare class Container<Defs extends Record<string, unknown>, TenantMetad
310
293
  * 4. Returns both the instances and your function's result
311
294
  */
312
295
  bootstrap<T>(meta: TenantMetadata, fn?: () => Promise<T>): Promise<{
313
- instances: InstancesStructure<Defs>;
296
+ instances: TContext;
314
297
  result?: T;
315
298
  }>;
316
299
  /**
@@ -350,7 +333,7 @@ export declare class Container<Defs extends Record<string, unknown>, TenantMetad
350
333
  bootstrapBatch<TMetadata = unknown, T = unknown>(tenantBatch: Array<{
351
334
  metadata: TMetadata;
352
335
  fn?: () => Promise<T>;
353
- }>, options?: BatchBootstrapOptions<TMetadata>): Promise<BatchBootstrapResult<Defs, TMetadata, T>[]>;
336
+ }>, options?: BatchBootstrapOptions<TMetadata>): Promise<BatchBootstrapResult<Defs, TMetadata, T, TContext>[]>;
354
337
  /**
355
338
  * Invalidate multiple tenant caches in batch
356
339
  *
@@ -4,7 +4,6 @@ exports.Container = void 0;
4
4
  const node_async_hooks_1 = require("node:async_hooks");
5
5
  const helpers_1 = require("./helpers");
6
6
  const LruCache_1 = require("./LruCache");
7
- const types_1 = require("./types");
8
7
  // Instantiation helper moved to helpers.ts for better performance
9
8
  /**
10
9
  * ═══════════════════════════════════════════════════════════════════════════════
@@ -47,6 +46,7 @@ const types_1 = require("./types");
47
46
  *
48
47
  * @template Defs - Factory definitions record (shared across tenants)
49
48
  * @template TenantMetadata - Type of tenant-specific metadata (DB config, secrets, etc.)
49
+ * @template TContext - Type of the context returned by the initializer (inferred from initializer return type, defaults to InstancesStructure<Defs>)
50
50
  *
51
51
  * Key Responsibilities:
52
52
  * 1. 🏭 **Factory Management**: Register and cache service factories
@@ -148,17 +148,11 @@ class Container {
148
148
  // ═══════════════════════════════════════════════════════════════════════════
149
149
  // ⚡ PERFORMANCE OPTIMIZATION CACHES
150
150
  // ═══════════════════════════════════════════════════════════════════════════
151
- // Path cache removed - direct string concatenation is faster
152
151
  /**
153
- * Proxy object cache: reuses proxy objects for the same paths
152
+ * Proxy object cache: reuses proxy objects for the same paths (preload proxy only)
154
153
  * Reduces memory allocation and improves performance
155
154
  */
156
155
  proxyCache = new Map();
157
- /**
158
- * Context proxy cache: reuses proxies for the same object instances
159
- * Uses WeakMap for automatic garbage collection when objects are freed
160
- */
161
- contextProxyCache = new WeakMap();
162
156
  /**
163
157
  * Initializer cache: stores initialized instances per tenant with LRU eviction
164
158
  * Avoids re-running the expensive initializer function for the same tenant
@@ -433,80 +427,7 @@ class Container {
433
427
  throw new Error("No tenant context available. Make sure you're running within a container context.");
434
428
  }
435
429
  this.inc(Container.METRIC.CONTEXTS);
436
- return this.createContextProxy(store.instances);
437
- }
438
- /**
439
- * Create a proxy for the runtime context that provides intelligent error handling
440
- *
441
- * The context proxy:
442
- * 1. Provides helpful error messages when services are missing
443
- * 2. Handles nested object access gracefully
444
- * 3. Avoids wrapping Promises or arrays (which would break them)
445
- * 4. Uses WeakMap caching for automatic memory management
446
- *
447
- * This ensures that accessing container.context.someService either works
448
- * or gives you a clear error message about what's available
449
- */
450
- createContextProxy(obj, path = []) {
451
- // Use WeakMap cache to avoid memory leaks
452
- if (this.contextProxyCache.has(obj)) {
453
- return this.contextProxyCache.get(obj);
454
- }
455
- const proxy = new Proxy(obj, {
456
- get: (target, prop) => {
457
- const newPath = path.length === 0 ? [prop] : [...path, prop];
458
- const value = Reflect.get(target, prop);
459
- if (value === undefined) {
460
- // Check if property exists but is undefined (vs completely missing)
461
- if (prop in target) {
462
- // Property exists but is undefined - this is valid (e.g., optional services)
463
- return undefined;
464
- }
465
- // For symbols, especially well-known symbols like Symbol.iterator,
466
- // just return undefined instead of throwing an error
467
- if (typeof prop === 'symbol') {
468
- return undefined;
469
- }
470
- // Special case for 'then' to avoid Promise detection issues
471
- if (prop === 'then') {
472
- return undefined;
473
- }
474
- // Property doesn't exist - provide helpful error message
475
- const servicePath = newPath.join('.');
476
- const available = Reflect.ownKeys(target).map(String).join(', ');
477
- throw new Error(`Service '${servicePath}' not initialized. ` +
478
- `Available services: ${available}`);
479
- }
480
- // Only wrap objects that are safe to wrap
481
- // Avoid wrapping Promises, arrays, thenable objects, or opted-out services
482
- if (typeof value === 'object' &&
483
- value !== null &&
484
- !Array.isArray(value) &&
485
- !(value instanceof Promise) &&
486
- typeof value.then !== 'function' &&
487
- // Symbol-based opt-out: preferred mechanism for any service
488
- !(types_1.NO_CONTAINER_PROXY in value && value[types_1.NO_CONTAINER_PROXY]) &&
489
- // Legacy duck-typing checks (kept for backwards compatibility)
490
- // Prisma clients
491
- !('_engine' in value &&
492
- '_extensions' in value &&
493
- '$connect' in value) &&
494
- // Redis/ioredis clients
495
- !('options' in value && 'status' in value && 'connector' in value) &&
496
- // Keyv instances
497
- !('opts' in value) &&
498
- // Cache store objects
499
- !('store' in value && 'namespace' in value)) {
500
- // Safe to wrap - create nested proxy
501
- return this.createContextProxy(value, newPath);
502
- }
503
- // Return value as-is (primitives, functions, Promises, arrays)
504
- return value;
505
- },
506
- });
507
- // Cache using WeakMap for automatic garbage collection
508
- this.contextProxyCache.set(obj, proxy);
509
- return proxy;
430
+ return store.instances;
510
431
  }
511
432
  // ═══════════════════════════════════════════════════════════════════════════
512
433
  // 🚀 BOOTSTRAP & LIFECYCLE
@@ -676,9 +597,7 @@ class Container {
676
597
  cached,
677
598
  timestamp: Date.now(),
678
599
  });
679
- // Type assertion: we trust that initializer provides all required services
680
- // In practice, this is validated at runtime by the context proxy
681
- return { instances: instances, result };
600
+ return { instances, result };
682
601
  }
683
602
  catch (err) {
684
603
  this.emit({
@@ -929,7 +848,7 @@ class Container {
929
848
  cacheMisses: this.metrics[Container.METRIC.MISSES],
930
849
  instanceCreations: this.metrics[Container.METRIC.CREATES],
931
850
  contextAccesses: this.metrics[Container.METRIC.CONTEXTS],
932
- proxyCacheHits: this.metrics[Container.METRIC.PROXIES],
851
+ proxyCacheHits: 0, // Proxies removed — kept for backward compat
933
852
  initializerCacheHits: this.metrics[Container.METRIC.INIT_HITS],
934
853
  batchOperations: this.metrics[Container.METRIC.BATCH_OPS],
935
854
  batchErrors: this.metrics[Container.METRIC.BATCH_ERRORS],
@@ -969,7 +888,7 @@ class Container {
969
888
  this.initializerPromises.clear();
970
889
  this.disposalPromises.clear();
971
890
  this.initializerCooldowns.clear();
972
- // Note: contextProxyCache is a WeakMap and will be garbage collected automatically
891
+ // Note: no proxy cache to clear proxies have been removed
973
892
  }
974
893
  /**
975
894
  * Async version of clearCaches that properly awaits all disposal operations
@@ -1017,7 +936,7 @@ class Container {
1017
936
  this.initializerPromises.clear();
1018
937
  this.disposalPromises.clear();
1019
938
  this.initializerCooldowns.clear();
1020
- // Note: contextProxyCache is a WeakMap and will be garbage collected automatically
939
+ // Note: no proxy cache to clear proxies have been removed
1021
940
  return result;
1022
941
  }
1023
942
  // ═══════════════════════════════════════════════════════════════════════════
@@ -1246,8 +1165,8 @@ class Container {
1246
1165
  ...this.getMetrics(),
1247
1166
  cacheStats,
1248
1167
  totalCacheSize,
1249
- pathCacheSize: 0, // removed - no longer tracked
1250
- proxyCacheSize: this.proxyCache.size,
1168
+ pathCacheSize: 0, // removed
1169
+ proxyCacheSize: 0, // proxies removed
1251
1170
  factoryCacheSize: this.factoryCache.size,
1252
1171
  initializerCacheSize: typeof this.initializerCache.size === 'function'
1253
1172
  ? this.initializerCache.size()
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../src/container/Container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Container.js","sourceRoot":"","sources":["../../src/container/Container.ts"],"names":[],"mappings":"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"}
@@ -89,7 +89,7 @@ export type ContainerMetadata<C> = C extends Container<any, infer Meta> ? Meta :
89
89
  * Extract the runtime context type (available services) from a Container
90
90
  * This is what you get when calling `container.context`
91
91
  */
92
- export type ContainerContext<C> = C extends Container<infer Defs, any> ? InstancesStructure<Defs> : never;
92
+ export type ContainerContext<C> = C extends Container<any, any, infer TCtx> ? TCtx : never;
93
93
  /**
94
94
  * Extract the preload structure type from a Container
95
95
  * Useful for initializer function type checking
@@ -99,8 +99,8 @@ export type ContainerPreload<C> = C extends Container<infer Defs, any> ? Preload
99
99
  * Extract the bootstrap result type from a Container
100
100
  * Contains both instances and any result from the bootstrap function
101
101
  */
102
- export type ContainerBootstrapResult<C> = C extends Container<infer Defs, any> ? {
103
- instances: InstancesStructure<Defs>;
102
+ export type ContainerBootstrapResult<C> = C extends Container<any, any, infer TCtx> ? {
103
+ instances: TCtx;
104
104
  result?: any;
105
105
  } : never;
106
106
  /**
@@ -142,13 +142,13 @@ type GetFactoryParams<T, Path extends string> = Path extends `${infer K}.${infer
142
142
  /**
143
143
  * Result of a single tenant bootstrap operation in a batch
144
144
  */
145
- export interface BatchBootstrapResult<Defs, TMetadata, T> {
145
+ export interface BatchBootstrapResult<Defs, TMetadata, T, TContext = InstancesStructure<Defs>> {
146
146
  /** The tenant metadata for this operation */
147
147
  metadata: TMetadata;
148
148
  /** Status of the operation */
149
149
  status: 'success' | 'error';
150
150
  /** Instances if successful */
151
- instances?: InstancesStructure<Defs>;
151
+ instances?: TContext;
152
152
  /** Result from the function if successful */
153
153
  result?: T;
154
154
  /** Error if the operation failed */
package/dist/index.d.ts CHANGED
@@ -23,7 +23,7 @@ export { requestContext } from './server/context/request.context';
23
23
  export { type ContextFactoryOptions, createContextFactory, type TrpcContext, } from './server/context/trpc.context';
24
24
  export { useCloudTaskDecryptMiddleware } from './server/middleware/cloudTaskDecrypt.middleware';
25
25
  export { handleRequest } from './server/middleware/handleRequest.middleware';
26
- export { CloudRunJsonTransport, type CloudRunJsonTransportOptions, getWinstonCloudRunConfig, type GetLabelsFn, type GetTraceFn, type WinstonCloudRunConfig, } from './server/middleware/logger/cloudRun.logger';
26
+ export { CloudRunJsonTransport, type CloudRunJsonTransportOptions, type GetLabelsFn, type GetTraceFn, getWinstonCloudRunConfig, type WinstonCloudRunConfig, } from './server/middleware/logger/cloudRun.logger';
27
27
  export { getLogger } from './server/middleware/logger/logger.service';
28
28
  export type { RequestLoggerOptions } from './server/middleware/logs.middleware';
29
29
  export type { DecodedUserToken, RequestUser, TokenBasedAccess, } from './server/schemas/user.schema';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AACA,mCAA2E;AAIlE,sFAJA,aAAK,OAIA;AAHd,2DAA2E;AAG3D,+FAHa,+BAAc,OAGb;AAF9B,qEAAiE;AAEjC,oGAFvB,yCAAmB,OAEuB;AAInD,uCAAwC;AAA/B,mGAAA,SAAS,OAAA;AAGlB,wBAAwB;AACxB,mBAAmB;AACnB,wBAAwB;AACxB,mDAAiD;AAAxC,sGAAA,SAAS,OAAA;AAClB,uFAGgD;AAF9C,0IAAA,2BAA2B,OAAA;AAC3B,6IAAA,8BAA8B,OAAA;AAEhC,iDAAyD;AAAhD,8GAAA,kBAAkB,OAAA;AAe3B,2CAAsD;AAA7C,2GAAA,kBAAkB,OAAA;AAO3B,iFAA2E;AAAlE,wHAAA,gBAAgB,OAAA;AACzB,sBAAsB;AACtB,2EAAyE;AAAhE,sHAAA,iBAAiB,OAAA;AAE1B,0CAAwC;AAA/B,gGAAA,MAAM,OAAA;AAEf,oEAAiE;AAAxD,iHAAA,cAAc,OAAA;AACvB,8DAIsC;AAFpC,oHAAA,oBAAoB,OAAA;AAGtB,+FAA+F;AAAtF,4IAAA,6BAA6B,OAAA;AACtC,yFAA4E;AAAnE,yHAAA,aAAa,OAAA;AACtB,8EAOmD;AANjD,wHAAA,qBAAqB,OAAA;AAErB,2HAAA,wBAAwB,OAAA;AAK1B,4EAAqE;AAA5D,2GAAA,SAAS,OAAA;AAOlB,4DAIqC;AAHnC,qHAAA,sBAAsB,OAAA;AACtB,kHAAA,mBAAmB,OAAA;AACnB,iHAAA,kBAAkB,OAAA;AAEpB,uDAAqD;AAA5C,sGAAA,SAAS,OAAA;AAClB,iEAA8D;AAArD,+GAAA,aAAa,OAAA;AAMtB,mEAI4C;AAH1C,sGAAA,OAAO,OAAA;AACP,4GAAA,aAAa,OAAA;AACb,qGAAA,MAAM,OAAA;AAER,uEAAoE;AAA3D,6GAAA,YAAY,OAAA;AACrB,uGAAqG;AAA5F,gJAAA,8BAA8B,OAAA;AAKvC,2EAAwE;AAA/D,+GAAA,aAAa,OAAA;AAEtB,sFAAgF;AAAvE,sHAAA,eAAe,OAAA;AACxB,0FAG2D;AAFzD,yGAAA,EAAE,OAAA;AACF,yHAAA,kBAAkB,OAAA;AAEpB,gEAAqE;AAA5D,+GAAA,iBAAiB,OAAA;AAC1B,kEAA+D;AAAtD,yGAAA,UAAU,OAAA;AACnB,qDAAuE;AAA9D,0HAAA,6BAA6B,OAAA;AACtC,sCAAuC;AAA9B,+FAAA,OAAO,OAAA;AAGhB,wBAAwB;AACxB,oBAAoB;AACpB,wBAAwB;AACxB,yEAAgD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AACA,mCAA2E;AAIlE,sFAJA,aAAK,OAIA;AAHd,2DAA2E;AAG3D,+FAHa,+BAAc,OAGb;AAF9B,qEAAiE;AAEjC,oGAFvB,yCAAmB,OAEuB;AAInD,uCAAwC;AAA/B,mGAAA,SAAS,OAAA;AAGlB,wBAAwB;AACxB,mBAAmB;AACnB,wBAAwB;AACxB,mDAAiD;AAAxC,sGAAA,SAAS,OAAA;AAClB,uFAGgD;AAF9C,0IAAA,2BAA2B,OAAA;AAC3B,6IAAA,8BAA8B,OAAA;AAEhC,iDAAyD;AAAhD,8GAAA,kBAAkB,OAAA;AAe3B,2CAAsD;AAA7C,2GAAA,kBAAkB,OAAA;AAO3B,iFAA2E;AAAlE,wHAAA,gBAAgB,OAAA;AACzB,sBAAsB;AACtB,2EAAyE;AAAhE,sHAAA,iBAAiB,OAAA;AAE1B,0CAAwC;AAA/B,gGAAA,MAAM,OAAA;AAEf,oEAAiE;AAAxD,iHAAA,cAAc,OAAA;AACvB,8DAIsC;AAFpC,oHAAA,oBAAoB,OAAA;AAGtB,+FAA+F;AAAtF,4IAAA,6BAA6B,OAAA;AACtC,yFAA4E;AAAnE,yHAAA,aAAa,OAAA;AACtB,8EAOmD;AANjD,wHAAA,qBAAqB,OAAA;AAIrB,2HAAA,wBAAwB,OAAA;AAG1B,4EAAqE;AAA5D,2GAAA,SAAS,OAAA;AAOlB,4DAIqC;AAHnC,qHAAA,sBAAsB,OAAA;AACtB,kHAAA,mBAAmB,OAAA;AACnB,iHAAA,kBAAkB,OAAA;AAEpB,uDAAqD;AAA5C,sGAAA,SAAS,OAAA;AAClB,iEAA8D;AAArD,+GAAA,aAAa,OAAA;AAMtB,mEAI4C;AAH1C,sGAAA,OAAO,OAAA;AACP,4GAAA,aAAa,OAAA;AACb,qGAAA,MAAM,OAAA;AAER,uEAAoE;AAA3D,6GAAA,YAAY,OAAA;AACrB,uGAAqG;AAA5F,gJAAA,8BAA8B,OAAA;AAKvC,2EAAwE;AAA/D,+GAAA,aAAa,OAAA;AAEtB,sFAAgF;AAAvE,sHAAA,eAAe,OAAA;AACxB,0FAG2D;AAFzD,yGAAA,EAAE,OAAA;AACF,yHAAA,kBAAkB,OAAA;AAEpB,gEAAqE;AAA5D,+GAAA,iBAAiB,OAAA;AAC1B,kEAA+D;AAAtD,yGAAA,UAAU,OAAA;AACnB,qDAAuE;AAA9D,0HAAA,6BAA6B,OAAA;AACtC,sCAAuC;AAA9B,+FAAA,OAAO,OAAA;AAGhB,wBAAwB;AACxB,oBAAoB;AACpB,wBAAwB;AACxB,yEAAgD"}