@getstrata/core 0.5.16 → 0.5.18

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.
@@ -850,9 +850,22 @@ function getBoundDatabaseConnection() {
850
850
  return boundConnectionHolder.connection;
851
851
  }
852
852
 
853
- // ../../src/core/database/connectionContext.ts
853
+ // ../../src/core/runtime/asyncContextStore.ts
854
854
  import { AsyncLocalStorage } from "async_hooks";
855
- var activeConnection = new AsyncLocalStorage;
855
+ function createAsyncContextStore(key) {
856
+ const symbol = Symbol.for(key);
857
+ const globalRecord = globalThis;
858
+ const existing = globalRecord[symbol];
859
+ if (existing) {
860
+ return existing;
861
+ }
862
+ const store = new AsyncLocalStorage;
863
+ globalRecord[symbol] = store;
864
+ return store;
865
+ }
866
+
867
+ // ../../src/core/database/connectionContext.ts
868
+ var activeConnection = createAsyncContextStore("@getstrata/databaseConnectionContext");
856
869
  function getActiveDatabaseConnection(fallback) {
857
870
  return activeConnection.getStore() ?? fallback;
858
871
  }
@@ -2095,6 +2108,7 @@ var db = new Proxy(function database() {}, {
2095
2108
  return typeof value === "function" ? value.bind(connection) : value;
2096
2109
  }
2097
2110
  });
2111
+ var connection_default = db;
2098
2112
 
2099
2113
  // ../../src/modules/user/apiTokenTable.ts
2100
2114
  var apiTokenTable = defineTable({
@@ -2226,15 +2240,13 @@ function revealMfaSecret(stored) {
2226
2240
  }
2227
2241
 
2228
2242
  // ../../src/core/auth/authContext.ts
2229
- import { AsyncLocalStorage as AsyncLocalStorage2 } from "async_hooks";
2230
- var authContext = new AsyncLocalStorage2;
2243
+ var authContext = createAsyncContextStore("@getstrata/authContext");
2231
2244
  function currentAuthUser() {
2232
2245
  return authContext.getStore() ?? null;
2233
2246
  }
2234
2247
 
2235
2248
  // ../../src/core/http/requestMetaContext.ts
2236
- import { AsyncLocalStorage as AsyncLocalStorage3 } from "async_hooks";
2237
- var requestMetaContext = new AsyncLocalStorage3;
2249
+ var requestMetaContext = createAsyncContextStore("@getstrata/requestMetaContext");
2238
2250
  function currentRequestMeta() {
2239
2251
  return requestMetaContext.getStore() ?? {
2240
2252
  ipAddress: null,
@@ -2318,8 +2330,7 @@ function verifyTotp(secret, token, window = 1) {
2318
2330
  }
2319
2331
 
2320
2332
  // ../../src/core/tenant/tenantContext.ts
2321
- import { AsyncLocalStorage as AsyncLocalStorage4 } from "async_hooks";
2322
- var tenantContext = new AsyncLocalStorage4;
2333
+ var tenantContext = createAsyncContextStore("@getstrata/tenantContext");
2323
2334
  function currentTenant() {
2324
2335
  return tenantContext.getStore() ?? null;
2325
2336
  }
package/dist/index.js CHANGED
@@ -118,15 +118,28 @@ function resolveService(dependencies, token) {
118
118
  }
119
119
 
120
120
  // ../../src/bootstrap/applicationRegistry.ts
121
+ var APPLICATION_CONTEXT_KEY = Symbol.for("@getstrata/applicationContext");
121
122
  var activeContext;
123
+ function readStoredApplicationContext() {
124
+ if (activeContext) {
125
+ return activeContext;
126
+ }
127
+ const globalContext = globalThis[APPLICATION_CONTEXT_KEY];
128
+ if (globalContext) {
129
+ activeContext = globalContext;
130
+ }
131
+ return activeContext;
132
+ }
122
133
  function setActiveApplicationContext(context) {
123
134
  activeContext = context;
135
+ globalThis[APPLICATION_CONTEXT_KEY] = context;
124
136
  }
125
137
  function requireActiveApplicationContext() {
126
- if (!activeContext) {
138
+ const context = readStoredApplicationContext();
139
+ if (!context) {
127
140
  throw new Error("The application context has not been bootstrapped.");
128
141
  }
129
- return activeContext;
142
+ return context;
130
143
  }
131
144
  function resolveApplicationCache() {
132
145
  return getRequiredDependency(requireActiveApplicationContext().dependencies, "cache");
@@ -271,9 +284,22 @@ class PreconditionFailedError extends HttpError {
271
284
  }
272
285
  }
273
286
 
274
- // ../../src/core/auth/authContext.ts
287
+ // ../../src/core/runtime/asyncContextStore.ts
275
288
  import { AsyncLocalStorage } from "async_hooks";
276
- var authContext = new AsyncLocalStorage;
289
+ function createAsyncContextStore(key) {
290
+ const symbol = Symbol.for(key);
291
+ const globalRecord = globalThis;
292
+ const existing = globalRecord[symbol];
293
+ if (existing) {
294
+ return existing;
295
+ }
296
+ const store = new AsyncLocalStorage;
297
+ globalRecord[symbol] = store;
298
+ return store;
299
+ }
300
+
301
+ // ../../src/core/auth/authContext.ts
302
+ var authContext = createAsyncContextStore("@getstrata/authContext");
277
303
  function runWithAuthUser(user, callback) {
278
304
  return authContext.run(user, callback);
279
305
  }
@@ -1029,8 +1055,7 @@ function resetBoundDatabaseConnection() {
1029
1055
  }
1030
1056
 
1031
1057
  // ../../src/core/database/connectionContext.ts
1032
- import { AsyncLocalStorage as AsyncLocalStorage2 } from "async_hooks";
1033
- var activeConnection = new AsyncLocalStorage2;
1058
+ var activeConnection = createAsyncContextStore("@getstrata/databaseConnectionContext");
1034
1059
  function runWithDatabaseConnection(connection, callback) {
1035
1060
  return activeConnection.run(connection, callback);
1036
1061
  }
@@ -2752,8 +2777,7 @@ function revealMfaSecret(stored) {
2752
2777
  }
2753
2778
 
2754
2779
  // ../../src/core/http/requestMetaContext.ts
2755
- import { AsyncLocalStorage as AsyncLocalStorage3 } from "async_hooks";
2756
- var requestMetaContext = new AsyncLocalStorage3;
2780
+ var requestMetaContext = createAsyncContextStore("@getstrata/requestMetaContext");
2757
2781
  function runWithRequestMeta(meta, callback) {
2758
2782
  return requestMetaContext.run(meta, callback);
2759
2783
  }
@@ -2840,8 +2864,7 @@ function verifyTotp(secret, token, window = 1) {
2840
2864
  }
2841
2865
 
2842
2866
  // ../../src/core/tenant/tenantContext.ts
2843
- import { AsyncLocalStorage as AsyncLocalStorage4 } from "async_hooks";
2844
- var tenantContext = new AsyncLocalStorage4;
2867
+ var tenantContext = createAsyncContextStore("@getstrata/tenantContext");
2845
2868
  function runWithTenant(tenant, callback) {
2846
2869
  return tenantContext.run(tenant, callback);
2847
2870
  }
@@ -3098,9 +3121,6 @@ class AuthManager {
3098
3121
  return user;
3099
3122
  }
3100
3123
  }
3101
- // ../../src/core/auth/membershipContext.ts
3102
- import { AsyncLocalStorage as AsyncLocalStorage5 } from "async_hooks";
3103
-
3104
3124
  // ../../src/modules/organization/memberRepository.ts
3105
3125
  class OrganizationMemberRepository {
3106
3126
  constructor() {}
@@ -3153,7 +3173,7 @@ class OrganizationMemberRepository {
3153
3173
  var memberRepository_default = OrganizationMemberRepository;
3154
3174
 
3155
3175
  // ../../src/core/auth/membershipContext.ts
3156
- var membershipContext = new AsyncLocalStorage5;
3176
+ var membershipContext = createAsyncContextStore("@getstrata/membershipContext");
3157
3177
  var membershipRepository = new memberRepository_default;
3158
3178
  async function runWithMembershipContext(callback) {
3159
3179
  const user = currentAuthUser();
@@ -3289,6 +3309,15 @@ function assertOrganizationReadable(organizationId) {
3289
3309
  throw new NotFoundError(`Organization ${organizationId} not found.`);
3290
3310
  }
3291
3311
  }
3312
+ // ../../src/bootstrap/membershipService.ts
3313
+ function resolveMembershipService() {
3314
+ const dependencies = resolveApplicationDependencies();
3315
+ if (dependencies.container.has("core.membership")) {
3316
+ return dependencies.container.resolve("core.membership");
3317
+ }
3318
+ return new membershipService_default;
3319
+ }
3320
+
3292
3321
  // ../../src/core/auth/membershipService.ts
3293
3322
  class MembershipService {
3294
3323
  members;
@@ -3343,13 +3372,6 @@ class MembershipService {
3343
3372
  return this.members.removeMember(organizationId, userId);
3344
3373
  }
3345
3374
  }
3346
- function resolveMembershipService() {
3347
- const dependencies = resolveApplicationDependencies();
3348
- if (dependencies.container.has("core.membership")) {
3349
- return dependencies.container.resolve("core.membership");
3350
- }
3351
- return new MembershipService;
3352
- }
3353
3375
  var membershipService_default = MembershipService;
3354
3376
  // ../../src/core/auth/policy.ts
3355
3377
  class Policy {
@@ -6328,7 +6350,6 @@ var BLOCKED_HOSTNAMES = new Set([
6328
6350
  "::1",
6329
6351
  "metadata.google.internal"
6330
6352
  ]);
6331
-
6332
6353
  // ../../src/core/queue/queueMetrics.ts
6333
6354
  async function readRedisQueueDepth(redisUrl) {
6334
6355
  const client = new RedisClient6(redisUrl);
@@ -6503,8 +6524,7 @@ function createTenantMiddleware() {
6503
6524
  };
6504
6525
  }
6505
6526
  // ../../src/core/tracing/traceContext.ts
6506
- import { AsyncLocalStorage as AsyncLocalStorage6 } from "async_hooks";
6507
- var traceContextStorage = new AsyncLocalStorage6;
6527
+ var traceContextStorage = createAsyncContextStore("@getstrata/traceContext");
6508
6528
  function runWithTraceContext(context, callback) {
6509
6529
  return traceContextStorage.run(context, callback);
6510
6530
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getstrata/core",
3
- "version": "0.5.16",
3
+ "version": "0.5.18",
4
4
  "description": "Strata — Laravel-inspired Bun framework public API",
5
5
  "type": "module",
6
6
  "license": "MIT",