@getstrata/core 0.5.14 → 0.5.15

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 (41) hide show
  1. package/dist/bootstrap/contracts.d.ts +2 -0
  2. package/dist/core/auth/membershipService.d.ts +5 -1
  3. package/dist/core/database/baseRepository.d.ts +6 -1
  4. package/dist/core/database/connectionContext.d.ts +2 -1
  5. package/dist/core/database/defaultConnection.d.ts +6 -0
  6. package/dist/core/database/queryProxy.d.ts +3 -0
  7. package/dist/core/database/repositoryConnection.d.ts +3 -3
  8. package/dist/core/jobs/dispatchWebhookJob.d.ts +0 -1
  9. package/dist/core/security/safeFetch.d.ts +2 -0
  10. package/dist/core/security/safeUrl.d.ts +16 -1
  11. package/dist/core/tenant/tenantDatabaseScope.d.ts +2 -1
  12. package/dist/db/connection/index.d.ts +1 -1
  13. package/dist/entries/auth/accessControl.js +1 -113
  14. package/dist/entries/auth/authContext.js +1 -15
  15. package/dist/entries/auth/guard.js +1 -3044
  16. package/dist/entries/auth/membershipContext.js +1 -276
  17. package/dist/entries/auth/membershipScope.js +1 -390
  18. package/dist/entries/auth/membershipService.js +1 -480
  19. package/dist/entries/auth/policy.js +1 -134
  20. package/dist/entries/database.js +1 -2398
  21. package/dist/entries/http/csrfToken.js +0 -6
  22. package/dist/entries/http/middleware.js +1 -68
  23. package/dist/entries/http/requestMetaContext.js +1 -18
  24. package/dist/entries/http/webErrorResponse.js +94 -563
  25. package/dist/entries/http/webFormRequest.js +0 -131
  26. package/dist/entries/http.js +1 -4091
  27. package/dist/entries/jobs/dispatchWebhookJob.js +109 -102
  28. package/dist/entries/queue/createAppQueue.js +111 -631
  29. package/dist/entries/queue/jobRunner.js +0 -3
  30. package/dist/entries/queue/publicQueue.js +45 -546
  31. package/dist/entries/queue/queueMetrics.js +111 -631
  32. package/dist/entries/security/safeUrl.js +29 -0
  33. package/dist/entries/security/securityEvents.js +1 -41
  34. package/dist/entries/tenant/tenantContext.js +1 -30
  35. package/dist/entries/tenant/tenantMiddleware.js +1 -312
  36. package/dist/entries/tracing/traceContext.js +1 -15
  37. package/dist/entries/view.js +94 -563
  38. package/dist/framework/public-api.d.ts +29 -6
  39. package/dist/index.js +2125 -2000
  40. package/dist/modules/user/repository.d.ts +1 -0
  41. package/package.json +6 -5
@@ -8,10 +8,17 @@ export { ConfigStore, resolveService, ServiceContainer, } from "../bootstrap/con
8
8
  export type { AdminColumn, AdminColumnType, AdminResource, AdminResourceDefinition, AdminResourceHandlers, } from "../core/admin/index.ts";
9
9
  export { AdminResourceRegistry, formatAdminValue, } from "../core/admin/index.ts";
10
10
  export type { AbilityChecker } from "../core/auth/abilityChecker.ts";
11
+ export { isGlobalAdmin, resolveUserId } from "../core/auth/accessControl.ts";
11
12
  export type { AuthUser } from "../core/auth/authContext.ts";
12
- export { currentAuthUser, runWithAuthUser } from "../core/auth/authContext.ts";
13
+ export { authContext, currentAuthUser, runWithAuthUser } from "../core/auth/authContext.ts";
14
+ export type { AuthGuard } from "../core/auth/guard.ts";
15
+ export { ApiTokenGuard, AuthManager, CompositeGuard, DatabaseTokenGuard, GuestGuard, } from "../core/auth/guard.ts";
16
+ export { currentOrganizationIds, currentOrgRole, hasMinimumOrgRole, hasOrgMembership, } from "../core/auth/membershipContext.ts";
13
17
  export { createMembershipMiddleware } from "../core/auth/membershipMiddleware.ts";
18
+ export { appendOrganizationScope, appendProjectScope, assertOrganizationReadable, assertResourceInCurrentTenant, emptyPaginateResult, resolveOrganizationScope, scopedOrganizationIds, } from "../core/auth/membershipScope.ts";
19
+ export { default as MembershipService, resolveMembershipService, } from "../core/auth/membershipService.ts";
14
20
  export { Policy, PolicyGate } from "../core/auth/policy.ts";
21
+ export { createScimAuthMiddleware } from "../core/auth/scimAuthMiddleware.ts";
15
22
  export { default as CacheRepository } from "../core/cache/repository.ts";
16
23
  export { CACHE_TAGS } from "../core/cache/tags.ts";
17
24
  export type { DatabaseConnection } from "../core/database/baseRepository.ts";
@@ -19,13 +26,16 @@ export { default as BaseRepository } from "../core/database/baseRepository.ts";
19
26
  export { bindDatabaseConnection } from "../core/database/bindConnection.ts";
20
27
  export { createDatabaseConnection } from "../core/database/connection.ts";
21
28
  export { getActiveDatabaseConnection, runWithDatabaseConnection, } from "../core/database/connectionContext.ts";
29
+ export { getDefaultDatabasePool, getDefaultDatabaseQuery, registerDefaultDatabasePool, } from "../core/database/defaultConnection.ts";
22
30
  export { withMigrationLock } from "../core/database/migrations/advisoryLock.ts";
23
31
  export { freshDatabase, getMigrationStatus, loadMigrationsFromDirectory, migrateDatabase, rollbackDatabase, } from "../core/database/migrations/runner.ts";
24
32
  export type { Migration, MigrationDatabase, MigrationStatus, } from "../core/database/migrations/types.ts";
25
33
  export type { CastType, GlobalScopeFn, ModelConstructor } from "../core/database/model.ts";
26
34
  export { applyCasts, dehydrateValue, filterMassAssignable, hydrateValue, Model, registerModelRepository, } from "../core/database/model.ts";
35
+ export { createDatabaseQueryProxy } from "../core/database/queryProxy.ts";
27
36
  export type { BelongsToManyRelation, BelongsToRelation, HasManyRelation, HasOneRelation, MorphManyRelation, MorphOneRelation, MorphToRelation, } from "../core/database/relationships.ts";
28
37
  export { belongsTo, belongsToMany, hasMany, hasOne, indexBelongsToManyRelation, indexBelongsToRelation, indexHasManyRelation, indexHasOneRelation, indexMorphManyRelation, indexMorphOneRelation, indexMorphToRelation, morphMany, morphOne, morphTo, } from "../core/database/relationships.ts";
38
+ export { repositoryConnection, resolveRepositoryConnection, } from "../core/database/repositoryConnection.ts";
29
39
  export { RepositoryQuery } from "../core/database/repositoryQuery.ts";
30
40
  export type { BlueprintAction, BlueprintCallback, ColumnKind, DatabaseDriver, ForeignKeyOptions, Grammar, IndexDefinition, IndexKind, ResolveDatabaseDriverOptions, SchemaBuilder, } from "../core/database/schema/index.ts";
31
41
  export { Blueprint, ColumnDefinition, compileBlueprint, createSchemaBuilder, ForeignIdColumnDefinition, grammarForDriver, inferReferencedTable, MySqlGrammar, PostgresGrammar, resolveDatabaseDriver, Schema, SqliteGrammar, UnsupportedSchemaFeatureError, } from "../core/database/schema/index.ts";
@@ -40,24 +50,29 @@ export { BadRequestError, ConflictError, ForbiddenError, NotFoundError, Precondi
40
50
  export { EventBus } from "../core/events/eventBus.ts";
41
51
  export { auth, cache, config, events, log, mail, policyGate, queue, storage, } from "../core/facades/index.ts";
42
52
  export { createBodySizeLimitMiddleware } from "../core/http/bodySizeLimitMiddleware.ts";
53
+ export { conditionalJsonResponse } from "../core/http/conditionalResponse.ts";
43
54
  export { readBunRequestCookie, readRequestCookie } from "../core/http/cookies.ts";
44
55
  export { createCorsMiddleware } from "../core/http/corsMiddleware.ts";
45
56
  export { createCsrfMiddleware } from "../core/http/csrfMiddleware.ts";
46
57
  export { createCsrfProtection } from "../core/http/csrfProtection.ts";
47
58
  export { createCsrfTokenCookie, readSubmittedCsrfToken, readSubmittedCsrfTokenFromBody, resolveCsrfToken, resolveCsrfTokenForRequest, verifyCsrfToken, } from "../core/http/csrfToken.ts";
48
- export { assertIfMatch, etagFromResource, isEtagEnabled, } from "../core/http/etag.ts";
59
+ export { applyConditionalGet, assertIfMatch, type EtagVersioned, etagFromResource, isEtagEnabled, } from "../core/http/etag.ts";
49
60
  export { createFlashMiddleware } from "../core/http/flashMiddleware.ts";
50
61
  export { FormRequest } from "../core/http/formRequest.ts";
51
- export { applyMiddlewareToRoutes, composeMiddleware, createAuthMiddleware, createAuthorizeMiddleware, createdResponse, createRequireAuthMiddleware, jsonResponse, noContentResponse, paginatedResponse, parsePaginationQuery, requestIdMiddleware, securedBindRouteModel, securedBindRouteModelByKey, withErrorHandling, withMiddleware, } from "../core/http/index.ts";
62
+ export { applyMiddlewareToRoutes, bindRouteModel, buildRequestCacheKey, composeMiddleware, createAuthMiddleware, createAuthorizeMiddleware, createdResponse, createRequireAuthMiddleware, jsonResponse, noContentResponse, paginatedResponse, parsePaginationQuery, parsePositiveIntParam, requestIdMiddleware, securedBindRouteModel, securedBindRouteModelByKey, withErrorHandling, withMiddleware, wrapRouteHandler, } from "../core/http/index.ts";
52
63
  export { createLoginThrottleMiddleware } from "../core/http/loginThrottleMiddleware.ts";
53
64
  export { createMemoryThrottleMiddleware } from "../core/http/memoryThrottleMiddleware.ts";
54
65
  export { createMetricsMiddleware, normalizeMetricPath } from "../core/http/metricsMiddleware.ts";
55
66
  export type { Middleware, RouteHandler } from "../core/http/middleware.ts";
67
+ export { type ParsedUpload, parseMultipartUpload } from "../core/http/parseMultipartUpload.ts";
68
+ export type { RequestMeta } from "../core/http/requestMetaContext.ts";
69
+ export { currentRequestMeta, runWithRequestMeta } from "../core/http/requestMetaContext.ts";
56
70
  export { createRequireAbilityMiddleware } from "../core/http/requireAbilityMiddleware.ts";
57
71
  export { createRequireGlobalAdminMiddleware } from "../core/http/requireGlobalAdminMiddleware.ts";
58
72
  export { createRequireWebAuthMiddleware } from "../core/http/requireWebAuthMiddleware.ts";
59
73
  export { serializeDate, toPaginatedResourceCollection, toResourceCollection, } from "../core/http/resources.ts";
60
74
  export type { RouteRequest } from "../core/http/route.ts";
75
+ export { createScimThrottleMiddleware } from "../core/http/scimThrottleMiddleware.ts";
61
76
  export { createSecurityHeadersMiddleware } from "../core/http/securityHeadersMiddleware.ts";
62
77
  export { createThrottleMiddleware } from "../core/http/throttleMiddleware.ts";
63
78
  export { WebFormRequest } from "../core/http/webFormRequest.ts";
@@ -77,12 +92,20 @@ export type { CursorPaginatedResult, PaginatedResult, PaginationMeta, } from "..
77
92
  export type { Queue, QueuePriority } from "../core/queue/index.ts";
78
93
  export { AsyncQueue, createQueue, Job, SyncQueue } from "../core/queue/index.ts";
79
94
  export { createFailedJobService, createProductionQueue, createQueueWorker, createTrackedJob, FailedJobRepository, FailedJobService, jobRegistry, QueueWorker, RedisQueue, ResilientQueue, runQueueJob, } from "../core/queue/publicQueue.ts";
95
+ export type { QueueMetricsSnapshot } from "../core/queue/queueMetrics.ts";
96
+ export { collectQueueMetrics } from "../core/queue/queueMetrics.ts";
80
97
  export type { ScheduledTask } from "../core/scheduler/schedule.ts";
81
98
  export { appSchedule, runDueScheduledTasks, Schedule } from "../core/scheduler/schedule.ts";
82
- export { isPublicReadsEnabled } from "../core/security/publicReads.ts";
99
+ export { guestCanViewResource, isPublicReadsEnabled } from "../core/security/publicReads.ts";
100
+ export type { SecurityEventDetails } from "../core/security/securityEvents.ts";
101
+ export { logSecurityEvent } from "../core/security/securityEvents.ts";
83
102
  export type { StorageDriver } from "../core/storage/storage.ts";
84
- export { LocalStorageDriver, resetDefaultStorage, StorageManager, } from "../core/storage/storage.ts";
85
- export { createTenantMiddleware } from "../core/tenant/tenantMiddleware.ts";
103
+ export { createStorageDriver, LocalStorageDriver, resetDefaultStorage, StorageManager, } from "../core/storage/storage.ts";
104
+ export { currentTenant, currentTenantId, runWithTenant } from "../core/tenant/tenantContext.ts";
105
+ export { isInsideTenantDatabaseScope, runWithTenantDatabase, } from "../core/tenant/tenantDatabaseScope.ts";
106
+ export { auditChecksum, createTenantMiddleware, DEFAULT_TENANT, resolveUserTenantId, } from "../core/tenant/tenantMiddleware.ts";
107
+ export type { TraceContext } from "../core/tracing/traceContext.ts";
108
+ export { currentTraceId, runWithTraceContext } from "../core/tracing/traceContext.ts";
86
109
  export { createTracingMiddleware } from "../core/tracing/tracingMiddleware.ts";
87
110
  export type { ValidationRule, ValidationSchema } from "../core/validation/rules.ts";
88
111
  export { emailRule, maxLength, minLength, required, stringRule, validateObject, } from "../core/validation/rules.ts";