@getstrata/core 0.5.20 → 0.5.24
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.
- package/dist/bootstrap/config.d.ts +2 -7
- package/dist/core/auth/membershipService.d.ts +1 -1
- package/dist/{bootstrap/membershipService.d.ts → core/auth/resolveMembershipService.d.ts} +1 -1
- package/dist/core/contracts/applicationContext.d.ts +18 -0
- package/dist/core/contracts/serviceTokens.d.ts +7 -0
- package/dist/core/http/securedRouteModelBinding.d.ts +11 -2
- package/dist/core/queue/createAppQueue.d.ts +0 -1
- package/dist/core/queue/jobRegistry.d.ts +0 -1
- package/dist/core/runtime/applicationRegistry.d.ts +15 -0
- package/dist/entries/contracts/serviceTokens.js +16 -0
- package/dist/entries/http/webErrorResponse.js +7 -1
- package/dist/entries/jobs/dispatchWebhookJob.js +0 -104
- package/dist/entries/queue/createAppQueue.js +18 -366
- package/dist/entries/queue/jobRegistry.js +11 -2
- package/dist/entries/queue/jobRunner.js +18 -3
- package/dist/entries/queue/publicQueue.js +18 -3
- package/dist/entries/queue/queueMetrics.js +18 -365
- package/dist/entries/runtime/applicationRegistry.js +1 -0
- package/dist/entries/view.js +7 -1
- package/dist/framework/public-api.d.ts +1 -2
- package/dist/index.js +112 -129
- package/package.json +12 -2
- package/dist/bootstrap/applicationRegistry.d.ts +0 -16
- package/dist/bootstrap/cache/modelCacheTags.d.ts +0 -3
- package/dist/bootstrap/discoverModules.d.ts +0 -5
- package/dist/bootstrap/http/securedRouteModelBinding.d.ts +0 -11
- package/dist/bootstrap/queue/defaultJobs.d.ts +0 -2
- package/dist/core/cache/modelCacheTags.d.ts +0 -1
package/dist/index.js
CHANGED
|
@@ -1,47 +1,4 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
// ../../src/core/logging/logger.ts
|
|
3
|
-
class Logger {
|
|
4
|
-
channel;
|
|
5
|
-
constructor(channel = "app") {
|
|
6
|
-
this.channel = channel;
|
|
7
|
-
}
|
|
8
|
-
write(level, message, context = {}) {
|
|
9
|
-
const entry = {
|
|
10
|
-
level,
|
|
11
|
-
channel: this.channel,
|
|
12
|
-
message,
|
|
13
|
-
timestamp: new Date().toISOString(),
|
|
14
|
-
...context
|
|
15
|
-
};
|
|
16
|
-
const line = JSON.stringify(entry);
|
|
17
|
-
if (level === "error") {
|
|
18
|
-
console.error(line);
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
console.log(line);
|
|
22
|
-
}
|
|
23
|
-
debug(message, context) {
|
|
24
|
-
this.write("debug", message, context);
|
|
25
|
-
}
|
|
26
|
-
info(message, context) {
|
|
27
|
-
this.write("info", message, context);
|
|
28
|
-
}
|
|
29
|
-
warn(message, context) {
|
|
30
|
-
this.write("warn", message, context);
|
|
31
|
-
}
|
|
32
|
-
error(message, context) {
|
|
33
|
-
this.write("error", message, context);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
var appLogger = new Logger("app");
|
|
37
|
-
|
|
38
|
-
// ../../src/bootstrap/config.ts
|
|
39
|
-
var CORE_QUEUE_TOKEN = "core.queue";
|
|
40
|
-
var CORE_POLICY_GATE_TOKEN = "core.policyGate";
|
|
41
|
-
var CORE_AUTH_TOKEN = "core.auth";
|
|
42
|
-
var CORE_TOKEN_SERVICE_TOKEN = "core.tokenService";
|
|
43
|
-
var DEFAULT_QUEUE_DRIVER = "sync";
|
|
44
|
-
|
|
45
2
|
// ../../src/bootstrap/contracts.ts
|
|
46
3
|
class ServiceContainer {
|
|
47
4
|
services = new Map;
|
|
@@ -106,62 +63,9 @@ class ConfigStore {
|
|
|
106
63
|
return this.values.has(key);
|
|
107
64
|
}
|
|
108
65
|
}
|
|
109
|
-
function getRequiredDependency(dependencies, key) {
|
|
110
|
-
const dependency = dependencies[key];
|
|
111
|
-
if (dependency === undefined) {
|
|
112
|
-
throw new Error(`Required dependency "${key}" is not registered.`);
|
|
113
|
-
}
|
|
114
|
-
return dependency;
|
|
115
|
-
}
|
|
116
66
|
function resolveService(dependencies, token) {
|
|
117
67
|
return dependencies.container.resolve(token);
|
|
118
68
|
}
|
|
119
|
-
|
|
120
|
-
// ../../src/bootstrap/applicationRegistry.ts
|
|
121
|
-
var APPLICATION_CONTEXT_KEY = Symbol.for("@getstrata/applicationContext");
|
|
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
|
-
}
|
|
133
|
-
function setActiveApplicationContext(context) {
|
|
134
|
-
activeContext = context;
|
|
135
|
-
globalThis[APPLICATION_CONTEXT_KEY] = context;
|
|
136
|
-
}
|
|
137
|
-
function requireActiveApplicationContext() {
|
|
138
|
-
const context = readStoredApplicationContext();
|
|
139
|
-
if (!context) {
|
|
140
|
-
throw new Error("The application context has not been bootstrapped.");
|
|
141
|
-
}
|
|
142
|
-
return context;
|
|
143
|
-
}
|
|
144
|
-
function resolveApplicationCache() {
|
|
145
|
-
return getRequiredDependency(requireActiveApplicationContext().dependencies, "cache");
|
|
146
|
-
}
|
|
147
|
-
function resolveApplicationQueue() {
|
|
148
|
-
return requireActiveApplicationContext().container.resolve(CORE_QUEUE_TOKEN);
|
|
149
|
-
}
|
|
150
|
-
function resolveApplicationAuth() {
|
|
151
|
-
return requireActiveApplicationContext().container.resolve(CORE_AUTH_TOKEN);
|
|
152
|
-
}
|
|
153
|
-
function resolveApplicationPolicyGate() {
|
|
154
|
-
return requireActiveApplicationContext().container.resolve(CORE_POLICY_GATE_TOKEN);
|
|
155
|
-
}
|
|
156
|
-
function resolveApplicationConfig() {
|
|
157
|
-
return requireActiveApplicationContext().config;
|
|
158
|
-
}
|
|
159
|
-
function resolveApplicationLogger() {
|
|
160
|
-
return appLogger;
|
|
161
|
-
}
|
|
162
|
-
function resolveApplicationDependencies() {
|
|
163
|
-
return requireActiveApplicationContext().dependencies;
|
|
164
|
-
}
|
|
165
69
|
// ../../src/core/admin/formatValue.ts
|
|
166
70
|
function formatAdminValue(value, type = "text") {
|
|
167
71
|
if (value === null || value === undefined) {
|
|
@@ -367,6 +271,14 @@ function resolveAbilitiesForRole(role) {
|
|
|
367
271
|
return [...MEMBER_ABILITIES];
|
|
368
272
|
}
|
|
369
273
|
|
|
274
|
+
// ../../src/core/contracts/serviceTokens.ts
|
|
275
|
+
var CORE_QUEUE_TOKEN = "core.queue";
|
|
276
|
+
var CORE_POLICY_GATE_TOKEN = "core.policyGate";
|
|
277
|
+
var CORE_AUTH_TOKEN = "core.auth";
|
|
278
|
+
var CORE_TOKEN_SERVICE_TOKEN = "core.tokenService";
|
|
279
|
+
// ../../src/bootstrap/config.ts
|
|
280
|
+
var DEFAULT_QUEUE_DRIVER = "sync";
|
|
281
|
+
|
|
370
282
|
// ../../src/config/features.ts
|
|
371
283
|
function readFeatureFlags() {
|
|
372
284
|
return {
|
|
@@ -3309,7 +3221,98 @@ function assertOrganizationReadable(organizationId) {
|
|
|
3309
3221
|
throw new NotFoundError(`Organization ${organizationId} not found.`);
|
|
3310
3222
|
}
|
|
3311
3223
|
}
|
|
3312
|
-
// ../../src/
|
|
3224
|
+
// ../../src/core/contracts/applicationContext.ts
|
|
3225
|
+
function getRequiredDependency(dependencies, key) {
|
|
3226
|
+
const dependency = dependencies[key];
|
|
3227
|
+
if (dependency === undefined) {
|
|
3228
|
+
throw new Error(`Required dependency "${String(key)}" is not registered.`);
|
|
3229
|
+
}
|
|
3230
|
+
return dependency;
|
|
3231
|
+
}
|
|
3232
|
+
|
|
3233
|
+
// ../../src/core/logging/logger.ts
|
|
3234
|
+
class Logger {
|
|
3235
|
+
channel;
|
|
3236
|
+
constructor(channel = "app") {
|
|
3237
|
+
this.channel = channel;
|
|
3238
|
+
}
|
|
3239
|
+
write(level, message, context = {}) {
|
|
3240
|
+
const entry = {
|
|
3241
|
+
level,
|
|
3242
|
+
channel: this.channel,
|
|
3243
|
+
message,
|
|
3244
|
+
timestamp: new Date().toISOString(),
|
|
3245
|
+
...context
|
|
3246
|
+
};
|
|
3247
|
+
const line = JSON.stringify(entry);
|
|
3248
|
+
if (level === "error") {
|
|
3249
|
+
console.error(line);
|
|
3250
|
+
return;
|
|
3251
|
+
}
|
|
3252
|
+
console.log(line);
|
|
3253
|
+
}
|
|
3254
|
+
debug(message, context) {
|
|
3255
|
+
this.write("debug", message, context);
|
|
3256
|
+
}
|
|
3257
|
+
info(message, context) {
|
|
3258
|
+
this.write("info", message, context);
|
|
3259
|
+
}
|
|
3260
|
+
warn(message, context) {
|
|
3261
|
+
this.write("warn", message, context);
|
|
3262
|
+
}
|
|
3263
|
+
error(message, context) {
|
|
3264
|
+
this.write("error", message, context);
|
|
3265
|
+
}
|
|
3266
|
+
}
|
|
3267
|
+
var appLogger = new Logger("app");
|
|
3268
|
+
|
|
3269
|
+
// ../../src/core/runtime/applicationRegistry.ts
|
|
3270
|
+
var APPLICATION_CONTEXT_KEY = Symbol.for("@getstrata/applicationContext");
|
|
3271
|
+
var activeContext;
|
|
3272
|
+
function readStoredApplicationContext() {
|
|
3273
|
+
if (activeContext) {
|
|
3274
|
+
return activeContext;
|
|
3275
|
+
}
|
|
3276
|
+
const globalContext = globalThis[APPLICATION_CONTEXT_KEY];
|
|
3277
|
+
if (globalContext) {
|
|
3278
|
+
activeContext = globalContext;
|
|
3279
|
+
}
|
|
3280
|
+
return activeContext;
|
|
3281
|
+
}
|
|
3282
|
+
function setActiveApplicationContext(context) {
|
|
3283
|
+
activeContext = context;
|
|
3284
|
+
globalThis[APPLICATION_CONTEXT_KEY] = context;
|
|
3285
|
+
}
|
|
3286
|
+
function requireActiveApplicationContext() {
|
|
3287
|
+
const context = readStoredApplicationContext();
|
|
3288
|
+
if (!context) {
|
|
3289
|
+
throw new Error("The application context has not been bootstrapped.");
|
|
3290
|
+
}
|
|
3291
|
+
return context;
|
|
3292
|
+
}
|
|
3293
|
+
function resolveApplicationCache() {
|
|
3294
|
+
return getRequiredDependency(requireActiveApplicationContext().dependencies, "cache");
|
|
3295
|
+
}
|
|
3296
|
+
function resolveApplicationQueue() {
|
|
3297
|
+
return requireActiveApplicationContext().container.resolve(CORE_QUEUE_TOKEN);
|
|
3298
|
+
}
|
|
3299
|
+
function resolveApplicationAuth() {
|
|
3300
|
+
return requireActiveApplicationContext().container.resolve(CORE_AUTH_TOKEN);
|
|
3301
|
+
}
|
|
3302
|
+
function resolveApplicationPolicyGate() {
|
|
3303
|
+
return requireActiveApplicationContext().container.resolve(CORE_POLICY_GATE_TOKEN);
|
|
3304
|
+
}
|
|
3305
|
+
function resolveApplicationConfig() {
|
|
3306
|
+
return requireActiveApplicationContext().config;
|
|
3307
|
+
}
|
|
3308
|
+
function resolveApplicationLogger() {
|
|
3309
|
+
return appLogger;
|
|
3310
|
+
}
|
|
3311
|
+
function resolveApplicationDependencies() {
|
|
3312
|
+
return requireActiveApplicationContext().dependencies;
|
|
3313
|
+
}
|
|
3314
|
+
|
|
3315
|
+
// ../../src/core/auth/resolveMembershipService.ts
|
|
3313
3316
|
function resolveMembershipService() {
|
|
3314
3317
|
const dependencies = resolveApplicationDependencies();
|
|
3315
3318
|
if (dependencies.container.has("core.membership")) {
|
|
@@ -3920,23 +3923,6 @@ function createCacheStore(options) {
|
|
|
3920
3923
|
}
|
|
3921
3924
|
return new simpleCacheStore_default(new simpleCache_default(options.ttlMs, options.maxEntries));
|
|
3922
3925
|
}
|
|
3923
|
-
// ../../src/bootstrap/discoverModules.ts
|
|
3924
|
-
var appModules = [];
|
|
3925
|
-
function discoverModules() {
|
|
3926
|
-
return appModules;
|
|
3927
|
-
}
|
|
3928
|
-
|
|
3929
|
-
// ../../src/bootstrap/cache/modelCacheTags.ts
|
|
3930
|
-
function cacheTagsForModelWrite(tableName, action) {
|
|
3931
|
-
const module = discoverModules().find((entry) => entry.tableName === tableName);
|
|
3932
|
-
const baseTags = module?.cacheTags ?? [`${tableName}s`];
|
|
3933
|
-
const isDelete = action === "deleted" || action === "force-deleted";
|
|
3934
|
-
const extraTags = isDelete ? module?.cacheDeleteExtraTags ?? [] : [];
|
|
3935
|
-
return [...new Set([...baseTags, ...extraTags])];
|
|
3936
|
-
}
|
|
3937
|
-
function discoverModelTableNames() {
|
|
3938
|
-
return discoverModules().map((module) => module.tableName).filter((tableName) => tableName !== undefined);
|
|
3939
|
-
}
|
|
3940
3926
|
// ../../src/core/cache/taggedCache.ts
|
|
3941
3927
|
class TaggedCache {
|
|
3942
3928
|
store;
|
|
@@ -5305,7 +5291,7 @@ function bindRouteModel(param, resolver, handler) {
|
|
|
5305
5291
|
return await handler(request, model);
|
|
5306
5292
|
};
|
|
5307
5293
|
}
|
|
5308
|
-
// ../../src/
|
|
5294
|
+
// ../../src/core/http/securedRouteModelBinding.ts
|
|
5309
5295
|
function isMutatingPolicyAction(action) {
|
|
5310
5296
|
return action === "update" || action === "delete";
|
|
5311
5297
|
}
|
|
@@ -6119,7 +6105,6 @@ var failedJobService_default = FailedJobService;
|
|
|
6119
6105
|
|
|
6120
6106
|
// ../../src/core/queue/jobRegistry.ts
|
|
6121
6107
|
class JobRegistry {
|
|
6122
|
-
constructor() {}
|
|
6123
6108
|
factories = new Map;
|
|
6124
6109
|
instances = new WeakMap;
|
|
6125
6110
|
register(name, factory) {
|
|
@@ -6143,7 +6128,17 @@ class JobRegistry {
|
|
|
6143
6128
|
return [...this.factories.keys()];
|
|
6144
6129
|
}
|
|
6145
6130
|
}
|
|
6146
|
-
var
|
|
6131
|
+
var JOB_REGISTRY_KEY = Symbol.for("@getstrata/jobRegistry");
|
|
6132
|
+
function readSharedJobRegistry() {
|
|
6133
|
+
const globalRegistry = globalThis[JOB_REGISTRY_KEY];
|
|
6134
|
+
if (globalRegistry) {
|
|
6135
|
+
return globalRegistry;
|
|
6136
|
+
}
|
|
6137
|
+
const registry = new JobRegistry;
|
|
6138
|
+
globalThis[JOB_REGISTRY_KEY] = registry;
|
|
6139
|
+
return registry;
|
|
6140
|
+
}
|
|
6141
|
+
var jobRegistry = readSharedJobRegistry();
|
|
6147
6142
|
|
|
6148
6143
|
// ../../src/config/queue.ts
|
|
6149
6144
|
var queueConfig = {
|
|
@@ -6358,16 +6353,6 @@ function createQueueWorker(redisUrl, failedJobs = createFailedJobService()) {
|
|
|
6358
6353
|
}
|
|
6359
6354
|
// ../../src/core/queue/queueMetrics.ts
|
|
6360
6355
|
var {RedisClient: RedisClient6 } = globalThis.Bun;
|
|
6361
|
-
|
|
6362
|
-
// ../../src/core/security/safeUrl.ts
|
|
6363
|
-
var BLOCKED_HOSTNAMES = new Set([
|
|
6364
|
-
"localhost",
|
|
6365
|
-
"127.0.0.1",
|
|
6366
|
-
"0.0.0.0",
|
|
6367
|
-
"::1",
|
|
6368
|
-
"metadata.google.internal"
|
|
6369
|
-
]);
|
|
6370
|
-
// ../../src/core/queue/queueMetrics.ts
|
|
6371
6356
|
async function readRedisQueueDepth(redisUrl) {
|
|
6372
6357
|
const client = new RedisClient6(redisUrl);
|
|
6373
6358
|
const [high, defaultQueue, low] = await Promise.all([
|
|
@@ -6821,7 +6806,6 @@ export {
|
|
|
6821
6806
|
etagFromResource,
|
|
6822
6807
|
emptyPaginateResult,
|
|
6823
6808
|
emailRule,
|
|
6824
|
-
discoverModelTableNames,
|
|
6825
6809
|
dehydrateValue,
|
|
6826
6810
|
defineTable,
|
|
6827
6811
|
currentTraceId,
|
|
@@ -6871,7 +6855,6 @@ export {
|
|
|
6871
6855
|
composeMiddleware,
|
|
6872
6856
|
compileBlueprint,
|
|
6873
6857
|
collectQueueMetrics,
|
|
6874
|
-
cacheTagsForModelWrite,
|
|
6875
6858
|
cache,
|
|
6876
6859
|
buildSmtpPayload,
|
|
6877
6860
|
buildRequestCacheKey,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getstrata/core",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.24",
|
|
4
4
|
"description": "Strata — Laravel-inspired Bun framework public API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -95,6 +95,11 @@
|
|
|
95
95
|
"import": "./dist/entries/cache/createCacheStore.js",
|
|
96
96
|
"default": "./dist/entries/cache/createCacheStore.js"
|
|
97
97
|
},
|
|
98
|
+
"./contracts/serviceTokens": {
|
|
99
|
+
"types": "./dist/core/contracts/serviceTokens.d.ts",
|
|
100
|
+
"import": "./dist/entries/contracts/serviceTokens.js",
|
|
101
|
+
"default": "./dist/entries/contracts/serviceTokens.js"
|
|
102
|
+
},
|
|
98
103
|
"./crypto/fieldEncryption": {
|
|
99
104
|
"types": "./dist/core/crypto/fieldEncryption.d.ts",
|
|
100
105
|
"import": "./dist/entries/crypto/fieldEncryption.js",
|
|
@@ -240,6 +245,11 @@
|
|
|
240
245
|
"import": "./dist/entries/queue/types.js",
|
|
241
246
|
"default": "./dist/entries/queue/types.js"
|
|
242
247
|
},
|
|
248
|
+
"./runtime/applicationRegistry": {
|
|
249
|
+
"types": "./dist/core/runtime/applicationRegistry.d.ts",
|
|
250
|
+
"import": "./dist/entries/runtime/applicationRegistry.js",
|
|
251
|
+
"default": "./dist/entries/runtime/applicationRegistry.js"
|
|
252
|
+
},
|
|
243
253
|
"./security/oauthState": {
|
|
244
254
|
"types": "./dist/core/security/oauthState.d.ts",
|
|
245
255
|
"import": "./dist/entries/security/oauthState.js",
|
|
@@ -317,7 +327,7 @@
|
|
|
317
327
|
"build:bundle": "bun build index.ts --outdir dist --target bun --external bun --external eta",
|
|
318
328
|
"build:types": "tsc -p tsconfig.types.json",
|
|
319
329
|
"prepublishOnly": "bun run build && bun ../../scripts/prepare-core-package-publish.ts",
|
|
320
|
-
"build:subpaths": "bun build entries/auth/oauth/oidcProvider.ts entries/auth/oauth/providers.ts entries/auth/oauth/samlProvider.ts entries/auth/oauth/types.ts entries/auth/password.ts entries/auth/sessionCookie.ts entries/auth/tokenHash.ts entries/cache/tags.ts entries/cache/createCacheStore.ts entries/crypto/fieldEncryption.ts entries/crypto/mfaSecret.ts entries/database/factory.ts entries/database/seeders.ts entries/database/types.ts entries/errors/http.ts entries/http/contentNegotiation.ts entries/http/csrfToken.ts entries/http/etag.ts entries/http/flashSession.ts entries/http/parseFormBody.ts entries/http/resources.ts entries/http/webErrorResponse.ts entries/http/webFormRequest.ts entries/jobs/dispatchWebhookJob.ts entries/lifecycle/gracefulShutdown.ts entries/metrics/prometheus.ts entries/pagination.ts entries/queue/createAppQueue.ts entries/queue/failedJobService.ts entries/queue/jobRegistry.ts entries/queue/jobRunner.ts entries/queue/queueMetrics.ts entries/queue/publicQueue.ts entries/queue/types.ts entries/security/oauthState.ts entries/security/publicReads.ts entries/security/safeUrl.ts entries/security/stripeWebhook.ts entries/security/tokenExpiry.ts entries/security/totp.ts entries/storage/storage.ts entries/validation/rules.ts entries/view.ts --outdir dist --root . --target bun --external bun --external eta",
|
|
330
|
+
"build:subpaths": "bun build entries/auth/oauth/oidcProvider.ts entries/auth/oauth/providers.ts entries/auth/oauth/samlProvider.ts entries/auth/oauth/types.ts entries/auth/password.ts entries/auth/sessionCookie.ts entries/auth/tokenHash.ts entries/cache/tags.ts entries/cache/createCacheStore.ts entries/contracts/serviceTokens.ts entries/crypto/fieldEncryption.ts entries/crypto/mfaSecret.ts entries/database/factory.ts entries/database/seeders.ts entries/database/types.ts entries/errors/http.ts entries/http/contentNegotiation.ts entries/http/csrfToken.ts entries/http/etag.ts entries/http/flashSession.ts entries/http/parseFormBody.ts entries/http/resources.ts entries/http/webErrorResponse.ts entries/http/webFormRequest.ts entries/jobs/dispatchWebhookJob.ts entries/lifecycle/gracefulShutdown.ts entries/metrics/prometheus.ts entries/pagination.ts entries/queue/createAppQueue.ts entries/queue/failedJobService.ts entries/queue/jobRegistry.ts entries/queue/jobRunner.ts entries/queue/queueMetrics.ts entries/queue/publicQueue.ts entries/queue/types.ts entries/security/oauthState.ts entries/security/publicReads.ts entries/security/safeUrl.ts entries/security/stripeWebhook.ts entries/security/tokenExpiry.ts entries/security/totp.ts entries/storage/storage.ts entries/validation/rules.ts entries/view.ts --outdir dist --root . --target bun --external bun --external eta",
|
|
321
331
|
"build:shims": "bun ../../scripts/write-core-shared-shims.ts"
|
|
322
332
|
},
|
|
323
333
|
"publishConfig": {
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { AuthManager } from "../core/auth/guard";
|
|
2
|
-
import type { PolicyGate } from "../core/auth/policy";
|
|
3
|
-
import { type Logger } from "../core/logging/logger";
|
|
4
|
-
import type { Queue } from "../core/queue";
|
|
5
|
-
import type { CacheLike } from "../types/services";
|
|
6
|
-
import type { AppContext } from "./contracts";
|
|
7
|
-
import { type ConfigStore } from "./contracts";
|
|
8
|
-
declare function setActiveApplicationContext(context: AppContext): void;
|
|
9
|
-
declare function resolveApplicationCache(): CacheLike;
|
|
10
|
-
declare function resolveApplicationQueue(): Queue;
|
|
11
|
-
declare function resolveApplicationAuth(): AuthManager;
|
|
12
|
-
declare function resolveApplicationPolicyGate(): PolicyGate;
|
|
13
|
-
declare function resolveApplicationConfig(): ConfigStore;
|
|
14
|
-
declare function resolveApplicationLogger(): Logger;
|
|
15
|
-
declare function resolveApplicationDependencies(): import("./contracts").AppDependencies;
|
|
16
|
-
export { resolveApplicationAuth, resolveApplicationCache, resolveApplicationConfig, resolveApplicationDependencies, resolveApplicationLogger, resolveApplicationPolicyGate, resolveApplicationQueue, setActiveApplicationContext, };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Policy } from "../../core/auth/policy";
|
|
2
|
-
import type { RouteRequest } from "../../core/http/route";
|
|
3
|
-
interface RouteModelAuthorization {
|
|
4
|
-
resource: string;
|
|
5
|
-
action: keyof Policy;
|
|
6
|
-
requireIfMatch?: boolean;
|
|
7
|
-
}
|
|
8
|
-
declare function securedBindRouteModel<TParams extends Record<string, string>, TModel, TParam extends keyof TParams & string>(param: TParam, resolver: (id: number, request: RouteRequest<TParams>) => Promise<TModel>, authorization: RouteModelAuthorization, handler: (request: RouteRequest<TParams>, model: TModel) => Response | Promise<Response>): (request: RouteRequest<TParams>) => Promise<Response>;
|
|
9
|
-
declare function securedBindRouteModelByKey<TParams extends Record<string, string>, TModel, TParam extends keyof TParams & string>(param: TParam, resolver: (key: string, request: RouteRequest<TParams>) => Promise<TModel>, authorization: RouteModelAuthorization, handler: (request: RouteRequest<TParams>, model: TModel) => Response | Promise<Response>): (request: RouteRequest<TParams>) => Promise<Response>;
|
|
10
|
-
export type { RouteModelAuthorization };
|
|
11
|
-
export { securedBindRouteModel, securedBindRouteModelByKey };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { cacheTagsForModelWrite, discoverModelTableNames, } from "../../bootstrap/cache/modelCacheTags.ts";
|