@getstrata/core 1.1.8 → 2.0.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.
Files changed (49) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/core/database/transaction.d.ts +2 -1
  3. package/dist/core/database/transactionControl.d.ts +5 -0
  4. package/dist/core/events/deferredModelEvents.d.ts +3 -0
  5. package/dist/core/events/index.d.ts +1 -0
  6. package/dist/core/http/loginThrottleMiddleware.d.ts +3 -0
  7. package/dist/core/http/metricsMiddleware.d.ts +1 -2
  8. package/dist/core/http/requestMetaContext.d.ts +2 -0
  9. package/dist/core/http/throttleMiddleware.d.ts +11 -2
  10. package/dist/core/metrics/prometheus.d.ts +11 -1
  11. package/dist/core/queue/jobRunner.d.ts +3 -1
  12. package/dist/core/queue/redisQueue.d.ts +20 -3
  13. package/dist/core/tenant/databaseTenantContext.d.ts +5 -1
  14. package/dist/entries/audit/exportAuditLogs.js +751 -97
  15. package/dist/entries/auth/accessControl.js +16 -2
  16. package/dist/entries/auth/basicAuthGuard.js +271 -224
  17. package/dist/entries/auth/membershipMiddleware.js +17 -0
  18. package/dist/entries/auth/membershipScope.js +21 -6
  19. package/dist/entries/auth/membershipService.js +20 -5
  20. package/dist/entries/auth/oauth/samlProvider.js +187 -142
  21. package/dist/entries/auth/oneTimeToken.js +142 -123
  22. package/dist/entries/auth/passwordLogin.js +212 -191
  23. package/dist/entries/auth/policy.js +16 -2
  24. package/dist/entries/auth/saml/samlServiceProvider.js +187 -142
  25. package/dist/entries/auth/scimAuthMiddleware.js +732 -64
  26. package/dist/entries/database/migrations.js +144 -125
  27. package/dist/entries/database/schema.js +58 -39
  28. package/dist/entries/http/csrfMiddleware.js +28 -14
  29. package/dist/entries/http/csrfToken.js +28 -14
  30. package/dist/entries/http/flashMiddleware.js +28 -14
  31. package/dist/entries/http/metricsMiddleware.js +124 -27
  32. package/dist/entries/http/response.js +107 -0
  33. package/dist/entries/http/routeMiddleware.js +40 -0
  34. package/dist/entries/http/throttleMiddleware.js +124 -11
  35. package/dist/entries/jobs/exportAuditLogsJob.js +751 -97
  36. package/dist/entries/metrics/prometheus.js +71 -11
  37. package/dist/entries/queue/createAppQueue.js +215 -21
  38. package/dist/entries/queue/jobRunner.js +3 -2
  39. package/dist/entries/queue/publicQueue.js +215 -21
  40. package/dist/entries/queue/queueMetrics.js +215 -21
  41. package/dist/entries/queue/redisQueue.js +223 -22
  42. package/dist/entries/runtime/asyncContextStore.js +16 -0
  43. package/dist/entries/tenant/databaseTenantContext.js +666 -11
  44. package/dist/entries/tenant/tenancyConfig.js +19 -1
  45. package/dist/entries/tenant/tenantDatabaseScope.js +688 -18
  46. package/dist/entries/tracing/tracingMiddleware.js +28 -14
  47. package/dist/framework/public-api.d.ts +3 -3
  48. package/dist/index.js +1344 -651
  49. package/package.json +1 -1
@@ -1,4 +1,31 @@
1
1
  // @bun
2
+ var __esm = (fn, res, err) => () => {
3
+ if (fn)
4
+ try {
5
+ res = fn(fn = 0);
6
+ } catch (e) {
7
+ err = [e];
8
+ }
9
+ if (err)
10
+ throw err[0];
11
+ return res;
12
+ };
13
+
14
+ // ../../src/core/runtime/asyncContextStore.ts
15
+ import { AsyncLocalStorage } from "async_hooks";
16
+ function createAsyncContextStore(key) {
17
+ const symbol = Symbol.for(key);
18
+ const globalRecord = globalThis;
19
+ const existing = globalRecord[symbol];
20
+ if (existing) {
21
+ return existing;
22
+ }
23
+ const store = new AsyncLocalStorage;
24
+ globalRecord[symbol] = store;
25
+ return store;
26
+ }
27
+ var init_asyncContextStore = () => {};
28
+
2
29
  // ../../src/core/runtime/appEnv.ts
3
30
  var NON_PRODUCTION_APP_ENVS = new Set(["local", "development", "dev", "test", "testing", "ci"]);
4
31
  function normalizeEnvValue(value) {
@@ -422,21 +449,8 @@ async function exportOtelSpan(span) {
422
449
  });
423
450
  }
424
451
 
425
- // ../../src/core/runtime/asyncContextStore.ts
426
- import { AsyncLocalStorage } from "async_hooks";
427
- function createAsyncContextStore(key) {
428
- const symbol = Symbol.for(key);
429
- const globalRecord = globalThis;
430
- const existing = globalRecord[symbol];
431
- if (existing) {
432
- return existing;
433
- }
434
- const store = new AsyncLocalStorage;
435
- globalRecord[symbol] = store;
436
- return store;
437
- }
438
-
439
452
  // ../../src/core/tracing/traceContext.ts
453
+ init_asyncContextStore();
440
454
  var traceContextStorage = createAsyncContextStore("@getstrata/traceContext");
441
455
  function runWithTraceContext(context, callback) {
442
456
  return traceContextStorage.run(context, callback);
@@ -64,14 +64,14 @@ export { loadSeedersFromDirectory, runSeedersFromDirectory, } from "../core/data
64
64
  export type { Seeder, SeederDatabase } from "../core/database/seeders/types.ts";
65
65
  export { createSqliteConnection } from "../core/database/sqliteConnection.ts";
66
66
  export { defineTable } from "../core/database/table.ts";
67
- export { runInTransaction } from "../core/database/transaction.ts";
67
+ export { requestTransactionRollback, runInTransaction } from "../core/database/transaction.ts";
68
68
  export type { QueryJoin, QueryJoinOn, QueryOptions, QueryOrder, QuerySelectItem, QueryWhere, } from "../core/database/types.ts";
69
69
  export type { WhereNode } from "../core/database/whereBuilder.ts";
70
70
  export { WhereBuilder } from "../core/database/whereBuilder.ts";
71
71
  export { BadRequestError, ConflictError, ForbiddenError, HttpError, InternalServerError, isHttpErrorLike, NotFoundError, PayloadTooLargeError, PreconditionFailedError, toHttpError, UnauthorizedError, UnprocessableEntityError, ValidationError, } from "../core/errors/http.ts";
72
72
  export type { EventListener } from "../core/events/eventBus.ts";
73
73
  export { EventBus, eventBus, readSharedEventBus } from "../core/events/eventBus.ts";
74
- export { modelEventName } from "../core/events/index.ts";
74
+ export { dispatchModelEvent, modelEventName, runWithDeferredModelEvents, } from "../core/events/index.ts";
75
75
  export { auth, cache, config, events, log, mail, policyGate, queue, storage, } from "../core/facades/index.ts";
76
76
  export { createBodySizeLimitMiddleware } from "../core/http/bodySizeLimitMiddleware.ts";
77
77
  export { readClientIp, trustForwardedFor } from "../core/http/clientIp.ts";
@@ -89,7 +89,7 @@ export { FormRequest, QueryFormRequest } from "../core/http/formRequest.ts";
89
89
  export { applyMiddlewareToRoutes, bindRouteModel, buildPaginationMeta, buildRequestCacheKey, composeMiddleware, createAuthMiddleware, createAuthorizeMiddleware, createRequireAuthMiddleware, DEFAULT_PER_PAGE, MAX_PER_PAGE, paginatedResponse, parsePaginationQuery, parsePositiveIntParam, requestIdMiddleware, securedBindRouteModel, securedBindRouteModelByKey, withMiddleware, wrapRouteHandler, } from "../core/http/index.ts";
90
90
  export { createLoginThrottleMiddleware, createMemoryLoginThrottleMiddleware, resetMemoryLoginThrottleForTests, resolveLoginEmail, resolveLoginIdentity, } from "../core/http/loginThrottleMiddleware.ts";
91
91
  export { createMemoryThrottleMiddleware, resetMemoryThrottleForTests, } from "../core/http/memoryThrottleMiddleware.ts";
92
- export { createMetricsMiddleware, normalizeMetricPath } from "../core/http/metricsMiddleware.ts";
92
+ export { createMetricsMiddleware } from "../core/http/metricsMiddleware.ts";
93
93
  export type { Middleware, RouteHandler } from "../core/http/middleware.ts";
94
94
  export { type ParsedUpload, parseMultipartUpload, sanitizeUploadFileName, validateUploadFile, } from "../core/http/parseMultipartUpload.ts";
95
95
  export type { RequestMeta } from "../core/http/requestMetaContext.ts";