@getstrata/core 0.3.9 → 0.5.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 (116) hide show
  1. package/dist/bootstrap/httpKernel.d.ts +2 -0
  2. package/dist/config/queue.d.ts +8 -0
  3. package/dist/config/rateLimit.d.ts +2 -1
  4. package/dist/core/database/baseRepository.d.ts +16 -4
  5. package/dist/core/database/boundConnection.d.ts +5 -0
  6. package/dist/core/database/index.d.ts +10 -4
  7. package/dist/core/database/migrations/advisoryLock.d.ts +6 -0
  8. package/dist/core/database/migrations/runner.d.ts +8 -2
  9. package/dist/core/database/migrations/types.d.ts +1 -0
  10. package/dist/core/database/model.d.ts +46 -17
  11. package/dist/core/database/query.d.ts +26 -14
  12. package/dist/core/database/relationships.d.ts +32 -2
  13. package/dist/core/database/repositoryConnection.d.ts +4 -0
  14. package/dist/core/database/repositoryQuery.d.ts +16 -1
  15. package/dist/core/database/schema/blueprint.d.ts +47 -0
  16. package/dist/core/database/schema/columnDefinition.d.ts +36 -0
  17. package/dist/core/database/schema/driver.d.ts +8 -0
  18. package/dist/core/database/schema/errors.d.ts +4 -0
  19. package/dist/core/database/schema/grammars/compileStatements.d.ts +8 -0
  20. package/dist/core/database/schema/grammars/createGrammar.d.ts +4 -0
  21. package/dist/core/database/schema/grammars/grammar.d.ts +10 -0
  22. package/dist/core/database/schema/grammars/index.d.ts +7 -0
  23. package/dist/core/database/schema/grammars/mysqlGrammar.d.ts +2 -0
  24. package/dist/core/database/schema/grammars/postgresGrammar.d.ts +2 -0
  25. package/dist/core/database/schema/grammars/sqliteGrammar.d.ts +2 -0
  26. package/dist/core/database/schema/index.d.ts +12 -0
  27. package/dist/core/database/schema/schema.d.ts +21 -0
  28. package/dist/core/database/seeders/runner.d.ts +6 -0
  29. package/dist/core/database/seeders/types.d.ts +8 -0
  30. package/dist/core/database/types.d.ts +39 -2
  31. package/dist/core/database/whereBuilder.d.ts +17 -0
  32. package/dist/core/http/index.d.ts +1 -1
  33. package/dist/core/http/securedRouteModelBinding.d.ts +2 -1
  34. package/dist/core/lifecycle/gracefulShutdown.d.ts +6 -0
  35. package/dist/core/pagination/index.d.ts +11 -1
  36. package/dist/core/queue/failedJobRepository.d.ts +6 -0
  37. package/dist/core/queue/failedJobService.d.ts +15 -0
  38. package/dist/core/queue/failedJobTable.d.ts +3 -0
  39. package/dist/core/queue/jobRegistry.d.ts +14 -0
  40. package/dist/core/queue/jobRunner.d.ts +9 -0
  41. package/dist/core/queue/publicQueue.d.ts +15 -0
  42. package/dist/core/queue/redisQueue.d.ts +29 -0
  43. package/dist/core/queue/resilientQueue.d.ts +9 -0
  44. package/dist/core/queue/types.d.ts +8 -0
  45. package/dist/core/scheduler/schedule.d.ts +15 -0
  46. package/dist/entries/auth/accessControl.js +113 -0
  47. package/dist/entries/auth/authContext.js +15 -0
  48. package/dist/entries/auth/guard.js +2870 -0
  49. package/dist/entries/auth/membershipContext.js +276 -0
  50. package/dist/entries/auth/membershipScope.js +390 -0
  51. package/dist/entries/auth/membershipService.js +477 -0
  52. package/dist/entries/auth/oauth/oidcProvider.js +49 -0
  53. package/dist/entries/auth/oauth/providers.js +71 -0
  54. package/dist/entries/auth/oauth/samlProvider.js +26 -0
  55. package/dist/entries/auth/oauth/types.js +1 -0
  56. package/dist/entries/auth/password.js +15 -0
  57. package/dist/entries/auth/policy.js +134 -0
  58. package/dist/entries/auth/sessionCookie.js +75 -0
  59. package/dist/entries/auth/tokenHash.js +17 -0
  60. package/dist/entries/cache/tags.js +13 -0
  61. package/dist/entries/crypto/fieldEncryption.js +93 -0
  62. package/dist/entries/crypto/mfaSecret.js +105 -0
  63. package/dist/entries/database/factory.js +17 -0
  64. package/dist/entries/database/seeders.js +30 -0
  65. package/dist/entries/database/types.js +1 -0
  66. package/dist/entries/database.js +2218 -0
  67. package/dist/entries/errors/http.js +78 -0
  68. package/dist/entries/http/contentNegotiation.js +26 -0
  69. package/dist/entries/http/csrfToken.js +147 -0
  70. package/dist/entries/http/etag.js +170 -0
  71. package/dist/entries/http/flashSession.js +106 -0
  72. package/dist/entries/http/middleware.js +68 -0
  73. package/dist/entries/http/parseFormBody.js +88 -0
  74. package/dist/entries/http/requestMetaContext.js +18 -0
  75. package/dist/entries/http/resources.js +19 -0
  76. package/dist/entries/http/webErrorResponse.js +3143 -0
  77. package/dist/entries/http/webFormRequest.js +293 -0
  78. package/dist/entries/http.js +3924 -0
  79. package/dist/entries/jobs/dispatchWebhookJob.js +342 -0
  80. package/dist/entries/lifecycle/gracefulShutdown.js +50 -0
  81. package/dist/entries/metrics/prometheus.js +70 -0
  82. package/dist/entries/pagination.js +14 -0
  83. package/dist/entries/queue/createAppQueue.js +2848 -0
  84. package/dist/entries/queue/failedJobService.js +38 -0
  85. package/dist/entries/queue/jobRegistry.js +32 -0
  86. package/dist/entries/queue/jobRunner.js +75 -0
  87. package/dist/entries/queue/publicQueue.js +2476 -0
  88. package/dist/entries/queue/queueMetrics.js +2898 -0
  89. package/dist/entries/queue/types.js +1 -0
  90. package/dist/entries/security/oauthState.js +75 -0
  91. package/dist/entries/security/publicReads.js +33 -0
  92. package/dist/entries/security/safeUrl.js +143 -0
  93. package/dist/entries/security/securityEvents.js +41 -0
  94. package/dist/entries/security/stripeWebhook.js +115 -0
  95. package/dist/entries/security/tokenExpiry.js +16 -0
  96. package/dist/entries/security/totp.js +51 -0
  97. package/dist/entries/storage/storage.js +123 -0
  98. package/dist/entries/tenant/tenantContext.js +30 -0
  99. package/dist/entries/tenant/tenantMiddleware.js +312 -0
  100. package/dist/entries/tracing/traceContext.js +15 -0
  101. package/dist/entries/validation/rules.js +232 -0
  102. package/dist/entries/view.js +3072 -0
  103. package/dist/framework/public-api.d.ts +65 -38
  104. package/dist/index.js +3213 -281
  105. package/dist/modules/user/apiTokenRepository.d.ts +1 -1
  106. package/dist/modules/user/apiTokenTable.d.ts +1 -1
  107. package/dist/modules/user/authService.d.ts +1 -1
  108. package/dist/modules/user/notificationRepository.d.ts +1 -1
  109. package/dist/modules/user/notificationService.d.ts +1 -1
  110. package/dist/modules/user/notificationTable.d.ts +1 -1
  111. package/dist/modules/user/oauthIdentityRepository.d.ts +2 -2
  112. package/dist/modules/user/provider.d.ts +1 -1
  113. package/dist/modules/user/repository.d.ts +1 -1
  114. package/dist/modules/user/table.d.ts +1 -1
  115. package/dist/modules/user/tokenService.d.ts +1 -1
  116. package/package.json +289 -3
@@ -2,41 +2,68 @@
2
2
  * Stable framework surface for application modules and future package extraction.
3
3
  * Import from `@getstrata/core` (workspace) or `src/framework/public-api`.
4
4
  */
5
- export type { ServiceProvider } from "../bootstrap/contracts";
6
- export { ConfigStore, resolveService, ServiceContainer, } from "../bootstrap/contracts";
7
- export type { AbilityChecker } from "../core/auth/abilityChecker";
8
- export type { AuthUser } from "../core/auth/authContext";
9
- export { currentAuthUser, runWithAuthUser } from "../core/auth/authContext";
10
- export { Policy, PolicyGate } from "../core/auth/policy";
11
- export { default as CacheRepository } from "../core/cache/repository";
12
- export { CACHE_TAGS } from "../core/cache/tags";
13
- export type { DatabaseConnection } from "../core/database/baseRepository";
14
- export { default as BaseRepository } from "../core/database/baseRepository";
15
- export { bindDatabaseConnection } from "../core/database/bindConnection";
16
- export { freshDatabase, getMigrationStatus, loadMigrationsFromDirectory, migrateDatabase, rollbackDatabase, } from "../core/database/migrations/runner";
17
- export type { Migration, MigrationDatabase, MigrationStatus, } from "../core/database/migrations/types";
18
- export { Model, registerModelRepository } from "../core/database/model";
19
- export type { BelongsToRelation, HasManyRelation } from "../core/database/relationships";
20
- export { belongsTo, hasMany, indexBelongsToRelation, indexHasManyRelation, } from "../core/database/relationships";
21
- export { RepositoryQuery } from "../core/database/repositoryQuery";
22
- export { defineTable } from "../core/database/table";
23
- export type { QueryOptions, QueryOrder, QueryWhere, } from "../core/database/types";
24
- export { BadRequestError, ConflictError, ForbiddenError, NotFoundError, PreconditionFailedError, UnauthorizedError, UnprocessableEntityError, ValidationError, } from "../core/errors/http";
25
- export { EventBus } from "../core/events/eventBus";
26
- export { auth, cache, config, events, log, mail, policyGate, queue, storage, } from "../core/facades";
27
- export { createdResponse, jsonResponse, noContentResponse, paginatedResponse, parsePaginationQuery, securedBindRouteModel, withErrorHandling, } from "../core/http";
28
- export { assertIfMatch, etagFromResource, isEtagEnabled, } from "../core/http/etag";
29
- export { FormRequest } from "../core/http/formRequest";
30
- export { createMetricsMiddleware, normalizeMetricPath } from "../core/http/metricsMiddleware";
31
- export type { Middleware, RouteHandler } from "../core/http/middleware";
32
- export { WebFormRequest } from "../core/http/webFormRequest";
33
- export type { MailDriver, MailMessage } from "../core/mail/mailer";
34
- export { LogMailDriver, Mailer, mailer } from "../core/mail/mailer";
35
- export type { MetricLabels } from "../core/metrics/prometheus";
36
- export { PrometheusRegistry, prometheusRegistry } from "../core/metrics/prometheus";
37
- export type { Queue, QueuePriority } from "../core/queue";
38
- export { AsyncQueue, createQueue, Job, SyncQueue } from "../core/queue";
39
- export type { StorageDriver } from "../core/storage/storage";
40
- export { LocalStorageDriver, StorageManager } from "../core/storage/storage";
41
- export type { ValidationRule, ValidationSchema } from "../core/validation/rules";
42
- export { emailRule, maxLength, minLength, required, stringRule, validateObject, } from "../core/validation/rules";
5
+ export type { ServiceProvider } from "../bootstrap/contracts.ts";
6
+ export { ConfigStore, resolveService, ServiceContainer, } from "../bootstrap/contracts.ts";
7
+ export type { AbilityChecker } from "../core/auth/abilityChecker.ts";
8
+ export type { AuthUser } from "../core/auth/authContext.ts";
9
+ export { currentAuthUser, runWithAuthUser } from "../core/auth/authContext.ts";
10
+ export { Policy, PolicyGate } from "../core/auth/policy.ts";
11
+ export { default as CacheRepository } from "../core/cache/repository.ts";
12
+ export { CACHE_TAGS } from "../core/cache/tags.ts";
13
+ export type { DatabaseConnection } from "../core/database/baseRepository.ts";
14
+ export { default as BaseRepository } from "../core/database/baseRepository.ts";
15
+ export { bindDatabaseConnection } from "../core/database/bindConnection.ts";
16
+ export { getActiveDatabaseConnection, runWithDatabaseConnection, } from "../core/database/connectionContext.ts";
17
+ export { withMigrationLock } from "../core/database/migrations/advisoryLock.ts";
18
+ export { freshDatabase, getMigrationStatus, loadMigrationsFromDirectory, migrateDatabase, rollbackDatabase, } from "../core/database/migrations/runner.ts";
19
+ export type { Migration, MigrationDatabase, MigrationStatus, } from "../core/database/migrations/types.ts";
20
+ export type { CastType, GlobalScopeFn, ModelConstructor } from "../core/database/model.ts";
21
+ export { applyCasts, dehydrateValue, filterMassAssignable, hydrateValue, Model, registerModelRepository, } from "../core/database/model.ts";
22
+ export type { BelongsToManyRelation, BelongsToRelation, HasManyRelation, HasOneRelation, } from "../core/database/relationships.ts";
23
+ export { belongsTo, belongsToMany, hasMany, hasOne, indexBelongsToManyRelation, indexBelongsToRelation, indexHasManyRelation, indexHasOneRelation, } from "../core/database/relationships.ts";
24
+ export { RepositoryQuery } from "../core/database/repositoryQuery.ts";
25
+ export type { BlueprintAction, BlueprintCallback, ColumnKind, DatabaseDriver, ForeignKeyOptions, Grammar, IndexDefinition, IndexKind, ResolveDatabaseDriverOptions, SchemaBuilder, } from "../core/database/schema/index.ts";
26
+ export { Blueprint, ColumnDefinition, compileBlueprint, createSchemaBuilder, ForeignIdColumnDefinition, grammarForDriver, inferReferencedTable, MySqlGrammar, PostgresGrammar, resolveDatabaseDriver, Schema, SqliteGrammar, UnsupportedSchemaFeatureError, } from "../core/database/schema/index.ts";
27
+ export { loadSeedersFromDirectory, runSeedersFromDirectory, } from "../core/database/seeders/runner.ts";
28
+ export type { Seeder, SeederDatabase } from "../core/database/seeders/types.ts";
29
+ export { defineTable } from "../core/database/table.ts";
30
+ export { runInTransaction } from "../core/database/transaction.ts";
31
+ export type { QueryJoin, QueryJoinOn, QueryOptions, QueryOrder, QuerySelectItem, QueryWhere, } from "../core/database/types.ts";
32
+ export type { WhereNode } from "../core/database/whereBuilder.ts";
33
+ export { WhereBuilder } from "../core/database/whereBuilder.ts";
34
+ export { BadRequestError, ConflictError, ForbiddenError, NotFoundError, PreconditionFailedError, UnauthorizedError, UnprocessableEntityError, ValidationError, } from "../core/errors/http.ts";
35
+ export { EventBus } from "../core/events/eventBus.ts";
36
+ export { auth, cache, config, events, log, mail, policyGate, queue, storage, } from "../core/facades/index.ts";
37
+ export { createBodySizeLimitMiddleware } from "../core/http/bodySizeLimitMiddleware.ts";
38
+ export { createCsrfMiddleware } from "../core/http/csrfMiddleware.ts";
39
+ export { assertIfMatch, etagFromResource, isEtagEnabled, } from "../core/http/etag.ts";
40
+ export { FormRequest } from "../core/http/formRequest.ts";
41
+ export { applyMiddlewareToRoutes, composeMiddleware, createAuthMiddleware, createAuthorizeMiddleware, createdResponse, createRequireAuthMiddleware, jsonResponse, noContentResponse, paginatedResponse, parsePaginationQuery, securedBindRouteModel, securedBindRouteModelByKey, withErrorHandling, withMiddleware, } from "../core/http/index.ts";
42
+ export { createLoginThrottleMiddleware } from "../core/http/loginThrottleMiddleware.ts";
43
+ export { createMemoryThrottleMiddleware } from "../core/http/memoryThrottleMiddleware.ts";
44
+ export { createMetricsMiddleware, normalizeMetricPath } from "../core/http/metricsMiddleware.ts";
45
+ export type { Middleware, RouteHandler } from "../core/http/middleware.ts";
46
+ export { createRequireWebAuthMiddleware } from "../core/http/requireWebAuthMiddleware.ts";
47
+ export { serializeDate, toPaginatedResourceCollection, toResourceCollection, } from "../core/http/resources.ts";
48
+ export type { RouteRequest } from "../core/http/route.ts";
49
+ export { createSecurityHeadersMiddleware } from "../core/http/securityHeadersMiddleware.ts";
50
+ export { createThrottleMiddleware } from "../core/http/throttleMiddleware.ts";
51
+ export { WebFormRequest } from "../core/http/webFormRequest.ts";
52
+ export { installGracefulShutdownSignals, registerShutdownHandler, runGracefulShutdown, } from "../core/lifecycle/gracefulShutdown.ts";
53
+ export type { MailDriver, MailMessage } from "../core/mail/mailer.ts";
54
+ export { LogMailDriver, Mailer, mailer } from "../core/mail/mailer.ts";
55
+ export type { MetricLabels } from "../core/metrics/prometheus.ts";
56
+ export { PrometheusRegistry, prometheusRegistry } from "../core/metrics/prometheus.ts";
57
+ export type { CursorPaginatedResult, PaginatedResult, PaginationMeta, } from "../core/pagination/index.ts";
58
+ export type { Queue, QueuePriority } from "../core/queue/index.ts";
59
+ export { AsyncQueue, createQueue, Job, SyncQueue } from "../core/queue/index.ts";
60
+ export { createFailedJobService, createProductionQueue, createQueueWorker, createTrackedJob, FailedJobRepository, FailedJobService, jobRegistry, QueueWorker, RedisQueue, ResilientQueue, } from "../core/queue/publicQueue.ts";
61
+ export type { ScheduledTask } from "../core/scheduler/schedule.ts";
62
+ export { appSchedule, runDueScheduledTasks, Schedule } from "../core/scheduler/schedule.ts";
63
+ export type { StorageDriver } from "../core/storage/storage.ts";
64
+ export { LocalStorageDriver, StorageManager } from "../core/storage/storage.ts";
65
+ export type { ValidationRule, ValidationSchema } from "../core/validation/rules.ts";
66
+ export { emailRule, maxLength, minLength, required, stringRule, validateObject, } from "../core/validation/rules.ts";
67
+ export { DEFAULT_VIEWS_DIRECTORY, EtaViewEngine, htmlResponse, isHtmxRequest, resolveWebLayoutData, } from "../core/view/index.ts";
68
+ export type { ViewEngine } from "../core/view/viewEngine.ts";
69
+ export type { WebLayoutAuthUser, WebLayoutData } from "../core/view/webLayoutData.ts";