@bloomneo/appkit 1.5.1 ā 1.5.2
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/AGENTS.md +195 -0
- package/CHANGELOG.md +253 -0
- package/README.md +147 -799
- package/bin/commands/generate.js +7 -7
- package/cookbook/README.md +26 -0
- package/cookbook/api-key-service.ts +106 -0
- package/cookbook/auth-protected-crud.ts +112 -0
- package/cookbook/file-upload-pipeline.ts +113 -0
- package/cookbook/multi-tenant-saas.ts +87 -0
- package/cookbook/real-time-chat.ts +121 -0
- package/dist/auth/auth.d.ts +21 -4
- package/dist/auth/auth.d.ts.map +1 -1
- package/dist/auth/auth.js +56 -44
- package/dist/auth/auth.js.map +1 -1
- package/dist/auth/defaults.d.ts +1 -1
- package/dist/auth/defaults.js +35 -35
- package/dist/cache/cache.d.ts +29 -6
- package/dist/cache/cache.d.ts.map +1 -1
- package/dist/cache/cache.js +72 -44
- package/dist/cache/cache.js.map +1 -1
- package/dist/cache/defaults.js +25 -25
- package/dist/cache/index.d.ts +19 -10
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/index.js +21 -18
- package/dist/cache/index.js.map +1 -1
- package/dist/config/defaults.d.ts +1 -1
- package/dist/config/defaults.js +8 -8
- package/dist/config/index.d.ts +3 -3
- package/dist/config/index.js +4 -4
- package/dist/database/adapters/mongoose.js +2 -2
- package/dist/database/adapters/prisma.js +2 -2
- package/dist/database/defaults.d.ts +1 -1
- package/dist/database/defaults.js +4 -4
- package/dist/database/index.js +2 -2
- package/dist/database/index.js.map +1 -1
- package/dist/email/defaults.js +20 -20
- package/dist/error/defaults.d.ts +1 -1
- package/dist/error/defaults.js +12 -12
- package/dist/error/error.d.ts +12 -0
- package/dist/error/error.d.ts.map +1 -1
- package/dist/error/error.js +19 -0
- package/dist/error/error.js.map +1 -1
- package/dist/error/index.d.ts +14 -3
- package/dist/error/index.d.ts.map +1 -1
- package/dist/error/index.js +14 -3
- package/dist/error/index.js.map +1 -1
- package/dist/event/defaults.js +30 -30
- package/dist/logger/defaults.d.ts +1 -1
- package/dist/logger/defaults.js +40 -40
- package/dist/logger/index.d.ts +1 -0
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js.map +1 -1
- package/dist/logger/logger.d.ts +8 -0
- package/dist/logger/logger.d.ts.map +1 -1
- package/dist/logger/logger.js +13 -3
- package/dist/logger/logger.js.map +1 -1
- package/dist/logger/transports/console.js +1 -1
- package/dist/logger/transports/http.d.ts +1 -1
- package/dist/logger/transports/http.js +1 -1
- package/dist/logger/transports/webhook.d.ts +1 -1
- package/dist/logger/transports/webhook.js +1 -1
- package/dist/queue/defaults.d.ts +2 -2
- package/dist/queue/defaults.js +38 -38
- package/dist/security/defaults.d.ts +1 -1
- package/dist/security/defaults.js +29 -29
- package/dist/security/index.d.ts +1 -1
- package/dist/security/index.js +3 -3
- package/dist/security/security.d.ts +1 -1
- package/dist/security/security.js +4 -4
- package/dist/storage/defaults.js +19 -19
- package/dist/util/defaults.d.ts +1 -1
- package/dist/util/defaults.js +34 -34
- package/dist/util/env.d.ts +35 -0
- package/dist/util/env.d.ts.map +1 -0
- package/dist/util/env.js +50 -0
- package/dist/util/env.js.map +1 -0
- package/dist/util/errors.d.ts +52 -0
- package/dist/util/errors.d.ts.map +1 -0
- package/dist/util/errors.js +82 -0
- package/dist/util/errors.js.map +1 -0
- package/examples/.env.example +80 -0
- package/examples/README.md +16 -0
- package/examples/auth.ts +228 -0
- package/examples/cache.ts +36 -0
- package/examples/config.ts +45 -0
- package/examples/database.ts +69 -0
- package/examples/email.ts +53 -0
- package/examples/error.ts +50 -0
- package/examples/event.ts +42 -0
- package/examples/logger.ts +41 -0
- package/examples/queue.ts +58 -0
- package/examples/security.ts +46 -0
- package/examples/storage.ts +44 -0
- package/examples/util.ts +47 -0
- package/llms.txt +591 -0
- package/package.json +19 -10
- package/src/auth/README.md +850 -0
- package/src/cache/README.md +756 -0
- package/src/config/README.md +604 -0
- package/src/database/README.md +818 -0
- package/src/email/README.md +759 -0
- package/src/error/README.md +660 -0
- package/src/event/README.md +729 -0
- package/src/logger/README.md +435 -0
- package/src/queue/README.md +851 -0
- package/src/security/README.md +612 -0
- package/src/storage/README.md +1008 -0
- package/src/util/README.md +955 -0
- package/bin/templates/backend/docs/APPKIT_CLI.md +0 -507
- package/bin/templates/backend/docs/APPKIT_COMMENTS_GUIDELINES.md +0 -61
- package/bin/templates/backend/docs/APPKIT_LLM_GUIDE.md +0 -2539
package/dist/auth/auth.js
CHANGED
|
@@ -11,6 +11,13 @@
|
|
|
11
11
|
import jwt from 'jsonwebtoken';
|
|
12
12
|
import bcrypt from 'bcrypt';
|
|
13
13
|
import { validateRounds, validateRoleLevel, validatePermission, } from './defaults.js';
|
|
14
|
+
/**
|
|
15
|
+
* Canonical doc URL appended to runtime errors so devs (and AI agents)
|
|
16
|
+
* can self-correct without grepping the codebase. Points at the auth
|
|
17
|
+
* module README on GitHub which has the LLM Quick Reference + Common
|
|
18
|
+
* Mistakes sections that match the most-hit error scenarios.
|
|
19
|
+
*/
|
|
20
|
+
const DOCS_URL = 'https://github.com/bloomneo/appkit/blob/main/src/auth/README.md';
|
|
14
21
|
/**
|
|
15
22
|
* Authentication class with JWT, password, and role-level-permission system
|
|
16
23
|
*/
|
|
@@ -51,33 +58,33 @@ export class AuthenticationClass {
|
|
|
51
58
|
*/
|
|
52
59
|
signToken(payload, expiresIn) {
|
|
53
60
|
if (!payload || typeof payload !== 'object') {
|
|
54
|
-
throw new Error(
|
|
61
|
+
throw new Error(`[@bloomneo/appkit/auth] Payload must be an object. See: ${DOCS_URL}#token-generation`);
|
|
55
62
|
}
|
|
56
63
|
// Validate based on token type
|
|
57
64
|
if (payload.type === 'login') {
|
|
58
65
|
if (!payload.userId) {
|
|
59
|
-
throw new Error(
|
|
66
|
+
throw new Error(`[@bloomneo/appkit/auth] Login token must include userId. Use auth.generateLoginToken({ userId, role, level }). See: ${DOCS_URL}#token-generation`);
|
|
60
67
|
}
|
|
61
68
|
}
|
|
62
69
|
else if (payload.type === 'api_key') {
|
|
63
70
|
if (!payload.keyId) {
|
|
64
|
-
throw new Error(
|
|
71
|
+
throw new Error(`[@bloomneo/appkit/auth] API token must include keyId. Use auth.generateApiToken({ keyId, role, level }). See: ${DOCS_URL}#token-generation`);
|
|
65
72
|
}
|
|
66
73
|
}
|
|
67
74
|
else {
|
|
68
|
-
throw new Error(
|
|
75
|
+
throw new Error(`[@bloomneo/appkit/auth] Token type must be "login" or "api_key". Use auth.generateLoginToken() or auth.generateApiToken(). See: ${DOCS_URL}#token-generation`);
|
|
69
76
|
}
|
|
70
77
|
if (!payload.role || !payload.level) {
|
|
71
|
-
throw new Error(
|
|
78
|
+
throw new Error(`[@bloomneo/appkit/auth] Payload must include both role and level (e.g. role: 'admin', level: 'tenant'). See: ${DOCS_URL}#role-level-permission-architecture`);
|
|
72
79
|
}
|
|
73
80
|
// Validate role.level exists
|
|
74
81
|
const roleLevel = `${payload.role}.${payload.level}`;
|
|
75
82
|
if (!validateRoleLevel(roleLevel, this.config.roles)) {
|
|
76
|
-
throw new Error(`Invalid role.level: "${roleLevel}"`);
|
|
83
|
+
throw new Error(`[@bloomneo/appkit/auth] Invalid role.level: "${roleLevel}". The default hierarchy ships with user.basic, user.pro, user.max, moderator.review, moderator.approve, moderator.manage, admin.tenant, admin.org, admin.system. To register custom roles, set BLOOM_AUTH_ROLES env var. See: ${DOCS_URL}#role-level-permission-architecture`);
|
|
77
84
|
}
|
|
78
85
|
const jwtSecret = this.config.jwt.secret;
|
|
79
86
|
if (!jwtSecret) {
|
|
80
|
-
throw new Error('JWT secret required. Set
|
|
87
|
+
throw new Error('JWT secret required. Set BLOOM_AUTH_SECRET environment variable');
|
|
81
88
|
}
|
|
82
89
|
const tokenExpiration = expiresIn || this.config.jwt.expiresIn;
|
|
83
90
|
try {
|
|
@@ -101,7 +108,7 @@ export class AuthenticationClass {
|
|
|
101
108
|
}
|
|
102
109
|
const jwtSecret = this.config.jwt.secret;
|
|
103
110
|
if (!jwtSecret) {
|
|
104
|
-
throw new Error('JWT secret required. Set
|
|
111
|
+
throw new Error('JWT secret required. Set BLOOM_AUTH_SECRET environment variable');
|
|
105
112
|
}
|
|
106
113
|
try {
|
|
107
114
|
const decoded = jwt.verify(token, jwtSecret, {
|
|
@@ -223,55 +230,60 @@ export class AuthenticationClass {
|
|
|
223
230
|
return userLevel >= requiredLevel;
|
|
224
231
|
}
|
|
225
232
|
/**
|
|
226
|
-
* Checks if user has specific permission with automatic action inheritance
|
|
233
|
+
* Checks if user has specific permission with automatic action inheritance.
|
|
234
|
+
*
|
|
235
|
+
* Permission resolution rule (REPLACEMENT, not additive):
|
|
236
|
+
* - If `user.permissions` is set (an array, even empty), it is the COMPLETE
|
|
237
|
+
* permission set for the user. Role defaults are NOT consulted.
|
|
238
|
+
* - If `user.permissions` is undefined / null, the role.level's default
|
|
239
|
+
* permissions from the configured RolePermissionConfig are used.
|
|
240
|
+
*
|
|
241
|
+
* This matches AWS IAM, Casbin, OPA, Auth0 RBAC, and every mainstream
|
|
242
|
+
* permission system: explicit permissions are the truth, defaults are the
|
|
243
|
+
* fallback. To downgrade a user below their role's defaults, pass an
|
|
244
|
+
* explicit `permissions: [...]` array (even an empty `[]` is valid ā it
|
|
245
|
+
* means "no permissions despite the role").
|
|
246
|
+
*
|
|
247
|
+
* Action inheritance rule (within a scope):
|
|
248
|
+
* - `manage:<scope>` includes view, create, edit, delete for that scope
|
|
249
|
+
* - No upward inheritance: `edit:tenant` does NOT grant `manage:tenant`
|
|
250
|
+
*
|
|
227
251
|
* @llm-rule WHEN: Checking fine-grained permissions for specific actions
|
|
228
|
-
* @llm-rule AVOID: Hardcoding permission checks - this handles
|
|
252
|
+
* @llm-rule AVOID: Hardcoding permission checks - this handles inheritance
|
|
229
253
|
* @llm-rule NOTE: 'manage:scope' includes ALL other actions for that scope
|
|
230
|
-
* @llm-rule NOTE:
|
|
254
|
+
* @llm-rule NOTE: Explicit user.permissions REPLACES role defaults (not additive)
|
|
231
255
|
* @llm-rule NOTE: If user has 'manage:tenant' ā can('edit:tenant') returns TRUE
|
|
232
|
-
* @llm-rule NOTE: If user has 'manage:tenant' ā can('view:tenant') returns TRUE
|
|
233
256
|
* @llm-rule NOTE: If user has 'edit:tenant' ā can('manage:tenant') returns FALSE
|
|
257
|
+
* @llm-rule NOTE: To downgrade a user, pass permissions: [] (empty array)
|
|
234
258
|
* @llm-rule NOTE: Actions hierarchy: manage > delete > edit > create > view
|
|
235
259
|
*/
|
|
236
260
|
can(user, permission) {
|
|
237
|
-
// PERMISSION INHERITANCE: 'manage:tenant' automatically includes:
|
|
238
|
-
// - view:tenant, create:tenant, edit:tenant, delete:tenant
|
|
239
|
-
// Example: if user has 'manage:tenant', they can do 'edit:tenant'
|
|
240
261
|
if (!user || !permission) {
|
|
241
262
|
return false;
|
|
242
263
|
}
|
|
243
264
|
if (!validatePermission(permission)) {
|
|
244
|
-
throw new Error(`Invalid permission format: "${permission}"`
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
if (defaultPermissions.includes(permission)) {
|
|
265
|
+
throw new Error(`[@bloomneo/appkit/auth] Invalid permission format: "${permission}". ` +
|
|
266
|
+
`Permissions must be in "action:scope" form (e.g. "edit:tenant", "manage:users"). ` +
|
|
267
|
+
`See: https://github.com/bloomneo/appkit/blob/main/src/auth/README.md#role-level-permission-architecture`);
|
|
268
|
+
}
|
|
269
|
+
// PERMISSION RESOLUTION: explicit user.permissions REPLACES role defaults.
|
|
270
|
+
// If you want a user to have ONLY a narrow set of permissions, pass them
|
|
271
|
+
// explicitly. If you want the role's defaults, omit user.permissions entirely.
|
|
272
|
+
const effectivePermissions = user.permissions && Array.isArray(user.permissions)
|
|
273
|
+
? user.permissions
|
|
274
|
+
: this.config.permissions.defaults[`${user.role}.${user.level}`] ?? [];
|
|
275
|
+
// Direct match
|
|
276
|
+
if (effectivePermissions.includes(permission)) {
|
|
277
|
+
return true;
|
|
278
|
+
}
|
|
279
|
+
// Action inheritance: manage:<scope> grants all other actions for that scope.
|
|
280
|
+
// No upward inheritance ā edit:scope does NOT grant manage:scope.
|
|
281
|
+
const [action, scope] = permission.split(':');
|
|
282
|
+
if (action !== 'manage') {
|
|
283
|
+
const managePermission = `manage:${scope}`;
|
|
284
|
+
if (effectivePermissions.includes(managePermission)) {
|
|
265
285
|
return true;
|
|
266
286
|
}
|
|
267
|
-
// Check for manage permission in defaults
|
|
268
|
-
const [action, scope] = permission.split(':');
|
|
269
|
-
if (action !== 'manage') {
|
|
270
|
-
const managePermission = `manage:${scope}`;
|
|
271
|
-
if (defaultPermissions.includes(managePermission)) {
|
|
272
|
-
return true;
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
287
|
}
|
|
276
288
|
return false;
|
|
277
289
|
}
|
package/dist/auth/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth/auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/auth/defaults.d.ts
CHANGED
|
@@ -69,7 +69,7 @@ declare const CORE_SCOPES: string[];
|
|
|
69
69
|
*/
|
|
70
70
|
declare const DEFAULT_PERMISSIONS: PermissionDefaults;
|
|
71
71
|
/**
|
|
72
|
-
* Gets smart defaults using
|
|
72
|
+
* Gets smart defaults using BLOOM_AUTH_* environment variables
|
|
73
73
|
* @llm-rule WHEN: App startup to get production-ready auth configuration
|
|
74
74
|
* @llm-rule AVOID: Calling repeatedly - validates environment each time, expensive operation
|
|
75
75
|
* @llm-rule AVOID: Calling in request handlers - expensive environment parsing
|
package/dist/auth/defaults.js
CHANGED
|
@@ -71,7 +71,7 @@ const DEFAULT_PERMISSIONS = {
|
|
|
71
71
|
'admin.system': ['manage:tenant', 'manage:org', 'manage:system'],
|
|
72
72
|
};
|
|
73
73
|
/**
|
|
74
|
-
* Gets smart defaults using
|
|
74
|
+
* Gets smart defaults using BLOOM_AUTH_* environment variables
|
|
75
75
|
* @llm-rule WHEN: App startup to get production-ready auth configuration
|
|
76
76
|
* @llm-rule AVOID: Calling repeatedly - validates environment each time, expensive operation
|
|
77
77
|
* @llm-rule AVOID: Calling in request handlers - expensive environment parsing
|
|
@@ -83,12 +83,12 @@ export function getSmartDefaults() {
|
|
|
83
83
|
const isProduction = process.env.NODE_ENV === 'production';
|
|
84
84
|
return {
|
|
85
85
|
jwt: {
|
|
86
|
-
secret: process.env.
|
|
87
|
-
expiresIn: process.env.
|
|
86
|
+
secret: process.env.BLOOM_AUTH_SECRET,
|
|
87
|
+
expiresIn: process.env.BLOOM_AUTH_EXPIRES_IN || '7d',
|
|
88
88
|
algorithm: 'HS256',
|
|
89
89
|
},
|
|
90
90
|
password: {
|
|
91
|
-
saltRounds: parseInt(process.env.
|
|
91
|
+
saltRounds: parseInt(process.env.BLOOM_AUTH_BCRYPT_ROUNDS || '10'),
|
|
92
92
|
},
|
|
93
93
|
roles: parseRoleHierarchy(),
|
|
94
94
|
permissions: {
|
|
@@ -97,8 +97,8 @@ export function getSmartDefaults() {
|
|
|
97
97
|
defaults: parseDefaultPermissions(),
|
|
98
98
|
},
|
|
99
99
|
user: {
|
|
100
|
-
defaultRole: process.env.
|
|
101
|
-
defaultLevel: process.env.
|
|
100
|
+
defaultRole: process.env.BLOOM_AUTH_DEFAULT_ROLE || 'user',
|
|
101
|
+
defaultLevel: process.env.BLOOM_AUTH_DEFAULT_LEVEL || 'basic',
|
|
102
102
|
},
|
|
103
103
|
middleware: {
|
|
104
104
|
tokenSources: ['header', 'cookie', 'query'],
|
|
@@ -119,12 +119,12 @@ export function getSmartDefaults() {
|
|
|
119
119
|
}
|
|
120
120
|
/**
|
|
121
121
|
* Parses role hierarchy from environment variable or uses defaults
|
|
122
|
-
* @llm-rule WHEN: App startup to build role configuration from
|
|
122
|
+
* @llm-rule WHEN: App startup to build role configuration from BLOOM_AUTH_ROLES
|
|
123
123
|
* @llm-rule AVOID: Using invalid role.level format - must be role.level:number
|
|
124
|
-
* @llm-rule NOTE: Format:
|
|
124
|
+
* @llm-rule NOTE: Format: BLOOM_AUTH_ROLES=user.basic:1,admin.tenant:5,admin.system:9
|
|
125
125
|
*/
|
|
126
126
|
function parseRoleHierarchy() {
|
|
127
|
-
const envRoles = process.env.
|
|
127
|
+
const envRoles = process.env.BLOOM_AUTH_ROLES;
|
|
128
128
|
if (!envRoles) {
|
|
129
129
|
return DEFAULT_ROLE_HIERARCHY;
|
|
130
130
|
}
|
|
@@ -133,7 +133,7 @@ function parseRoleHierarchy() {
|
|
|
133
133
|
for (const rolePair of rolePairs) {
|
|
134
134
|
const [roleLevel, levelStr] = rolePair.trim().split(':');
|
|
135
135
|
if (!roleLevel || !levelStr) {
|
|
136
|
-
throw new Error(`Invalid
|
|
136
|
+
throw new Error(`Invalid BLOOM_AUTH_ROLES format: "${rolePair}". Expected format: "role.level:number"`);
|
|
137
137
|
}
|
|
138
138
|
if (!validateRoleLevelFormat(roleLevel)) {
|
|
139
139
|
throw new Error(`Invalid role.level format: "${roleLevel}". Must be "role.level" (e.g., "admin.tenant")`);
|
|
@@ -157,12 +157,12 @@ function parseRoleHierarchy() {
|
|
|
157
157
|
}
|
|
158
158
|
/**
|
|
159
159
|
* Parses permission defaults from environment variable or uses defaults
|
|
160
|
-
* @llm-rule WHEN: App startup to build permission configuration from
|
|
160
|
+
* @llm-rule WHEN: App startup to build permission configuration from BLOOM_AUTH_PERMISSIONS
|
|
161
161
|
* @llm-rule AVOID: Using invalid permission format - must be action:scope
|
|
162
|
-
* @llm-rule NOTE: Format:
|
|
162
|
+
* @llm-rule NOTE: Format: BLOOM_AUTH_PERMISSIONS=user.basic:view:own,admin.tenant:manage:tenant
|
|
163
163
|
*/
|
|
164
164
|
function parseDefaultPermissions() {
|
|
165
|
-
const envPermissions = process.env.
|
|
165
|
+
const envPermissions = process.env.BLOOM_AUTH_PERMISSIONS;
|
|
166
166
|
if (!envPermissions) {
|
|
167
167
|
return DEFAULT_PERMISSIONS;
|
|
168
168
|
}
|
|
@@ -171,7 +171,7 @@ function parseDefaultPermissions() {
|
|
|
171
171
|
for (const permissionPair of permissionPairs) {
|
|
172
172
|
const parts = permissionPair.trim().split(':');
|
|
173
173
|
if (parts.length !== 3) {
|
|
174
|
-
throw new Error(`Invalid
|
|
174
|
+
throw new Error(`Invalid BLOOM_AUTH_PERMISSIONS format: "${permissionPair}". Expected format: "role.level:action:scope"`);
|
|
175
175
|
}
|
|
176
176
|
const [roleLevel, action, scope] = parts;
|
|
177
177
|
const permission = `${action}:${scope}`;
|
|
@@ -200,9 +200,9 @@ export function validateSecret(secret) {
|
|
|
200
200
|
console.error('\nšØ ============================================');
|
|
201
201
|
console.error('ā CRITICAL AUTH CONFIGURATION ERROR');
|
|
202
202
|
console.error('šØ ============================================');
|
|
203
|
-
console.error('š MISSING REQUIRED ENVIRONMENT VARIABLE:
|
|
203
|
+
console.error('š MISSING REQUIRED ENVIRONMENT VARIABLE: BLOOM_AUTH_SECRET');
|
|
204
204
|
console.error('šØ ============================================\n');
|
|
205
|
-
throw new Error('
|
|
205
|
+
throw new Error('BLOOM_AUTH_SECRET is required. Set environment variable: BLOOM_AUTH_SECRET=your-jwt-secret-key');
|
|
206
206
|
}
|
|
207
207
|
if (secret.length < 32) {
|
|
208
208
|
console.error('\nšØ ============================================');
|
|
@@ -210,20 +210,20 @@ export function validateSecret(secret) {
|
|
|
210
210
|
console.error('šØ ============================================');
|
|
211
211
|
console.error(`š Current length: ${secret.length} characters (minimum: 32)`);
|
|
212
212
|
console.error('šØ ============================================\n');
|
|
213
|
-
throw new Error(`
|
|
213
|
+
throw new Error(`BLOOM_AUTH_SECRET must be at least 32 characters for security. Current length: ${secret.length}`);
|
|
214
214
|
}
|
|
215
215
|
if (secret === 'your-jwt-secret-key' || secret === 'secret' || secret === 'supersecret') {
|
|
216
216
|
console.error('\nšØ ============================================');
|
|
217
217
|
console.error('ā INSECURE AUTH SECRET DETECTED');
|
|
218
218
|
console.error('šØ ============================================');
|
|
219
|
-
console.error('š
|
|
219
|
+
console.error('š BLOOM_AUTH_SECRET appears to be a default/example value');
|
|
220
220
|
console.error('ā ļø This is a security risk in production!');
|
|
221
221
|
console.error('');
|
|
222
222
|
console.error('š” SOLUTION:');
|
|
223
223
|
console.error(' Generate a strong, random secret:');
|
|
224
|
-
console.error('
|
|
224
|
+
console.error(' BLOOM_AUTH_SECRET=k8s9m2n4p7q1w3e5r8t0y2u4i6o9a1s5d7f9g2h4j6l8');
|
|
225
225
|
console.error('šØ ============================================\n');
|
|
226
|
-
throw new Error('
|
|
226
|
+
throw new Error('BLOOM_AUTH_SECRET appears to be a default/example value. Use a strong, random secret');
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
229
|
/**
|
|
@@ -291,17 +291,17 @@ function validatePermissionFormat(permission) {
|
|
|
291
291
|
* Enhanced environment validation with better error messages
|
|
292
292
|
*/
|
|
293
293
|
function validateEnvironment() {
|
|
294
|
-
const secret = process.env.
|
|
294
|
+
const secret = process.env.BLOOM_AUTH_SECRET;
|
|
295
295
|
// Enhanced validation with clear console logging and better error messages
|
|
296
296
|
if (!secret) {
|
|
297
297
|
console.error('\nšØ ============================================');
|
|
298
298
|
console.error('ā CRITICAL AUTH CONFIGURATION ERROR');
|
|
299
299
|
console.error('šØ ============================================');
|
|
300
|
-
console.error('š MISSING REQUIRED ENVIRONMENT VARIABLE:
|
|
300
|
+
console.error('š MISSING REQUIRED ENVIRONMENT VARIABLE: BLOOM_AUTH_SECRET');
|
|
301
301
|
console.error('');
|
|
302
302
|
console.error('š” SOLUTION:');
|
|
303
303
|
console.error(' Add the following to your .env file:');
|
|
304
|
-
console.error('
|
|
304
|
+
console.error(' BLOOM_AUTH_SECRET=your-secure-32-character-secret-key-here');
|
|
305
305
|
console.error('');
|
|
306
306
|
console.error('š REQUIREMENTS:');
|
|
307
307
|
console.error(' - Must be at least 32 characters long');
|
|
@@ -309,48 +309,48 @@ function validateEnvironment() {
|
|
|
309
309
|
console.error(' - Do not use default values like "secret" or "supersecret"');
|
|
310
310
|
console.error('');
|
|
311
311
|
console.error('š§ EXAMPLE:');
|
|
312
|
-
console.error('
|
|
312
|
+
console.error(' BLOOM_AUTH_SECRET=k8s9m2n4p7q1w3e5r8t0y2u4i6o9a1s5d7f9g2h4j6l8');
|
|
313
313
|
console.error('');
|
|
314
314
|
console.error('ā ļø Without this variable, authentication features will not work');
|
|
315
315
|
console.error('šØ ============================================\n');
|
|
316
|
-
throw new Error('
|
|
316
|
+
throw new Error('BLOOM_AUTH_SECRET is required. Set environment variable: BLOOM_AUTH_SECRET=your-jwt-secret-key');
|
|
317
317
|
}
|
|
318
318
|
if (secret.length < 32) {
|
|
319
319
|
console.error('\nšØ ============================================');
|
|
320
320
|
console.error('ā AUTH SECRET TOO SHORT');
|
|
321
321
|
console.error('šØ ============================================');
|
|
322
|
-
console.error(`š Current
|
|
322
|
+
console.error(`š Current BLOOM_AUTH_SECRET length: ${secret.length} characters`);
|
|
323
323
|
console.error('ā ļø Minimum required: 32 characters');
|
|
324
324
|
console.error('');
|
|
325
325
|
console.error('š” SOLUTION:');
|
|
326
326
|
console.error(' Generate a stronger secret with at least 32 characters');
|
|
327
327
|
console.error('');
|
|
328
328
|
console.error('š§ EXAMPLE:');
|
|
329
|
-
console.error('
|
|
329
|
+
console.error(' BLOOM_AUTH_SECRET=k8s9m2n4p7q1w3e5r8t0y2u4i6o9a1s5d7f9g2h4j6l8');
|
|
330
330
|
console.error('šØ ============================================\n');
|
|
331
|
-
throw new Error(`
|
|
331
|
+
throw new Error(`BLOOM_AUTH_SECRET must be at least 32 characters for security. Current length: ${secret.length}`);
|
|
332
332
|
}
|
|
333
333
|
validateSecret(secret);
|
|
334
|
-
const rounds = process.env.
|
|
334
|
+
const rounds = process.env.BLOOM_AUTH_BCRYPT_ROUNDS;
|
|
335
335
|
if (rounds) {
|
|
336
336
|
const roundsNum = parseInt(rounds);
|
|
337
337
|
if (isNaN(roundsNum)) {
|
|
338
|
-
throw new Error(`Invalid
|
|
338
|
+
throw new Error(`Invalid BLOOM_AUTH_BCRYPT_ROUNDS: "${rounds}". Must be a number between 8 and 15`);
|
|
339
339
|
}
|
|
340
340
|
validateRounds(roundsNum);
|
|
341
341
|
}
|
|
342
|
-
const expiresIn = process.env.
|
|
342
|
+
const expiresIn = process.env.BLOOM_AUTH_EXPIRES_IN;
|
|
343
343
|
if (expiresIn && !isValidTimespan(expiresIn)) {
|
|
344
|
-
throw new Error(`Invalid
|
|
344
|
+
throw new Error(`Invalid BLOOM_AUTH_EXPIRES_IN: "${expiresIn}". Must be a valid time span (e.g., '7d', '1h', '30m')`);
|
|
345
345
|
}
|
|
346
|
-
const defaultRole = process.env.
|
|
347
|
-
const defaultLevel = process.env.
|
|
346
|
+
const defaultRole = process.env.BLOOM_AUTH_DEFAULT_ROLE;
|
|
347
|
+
const defaultLevel = process.env.BLOOM_AUTH_DEFAULT_LEVEL;
|
|
348
348
|
if (defaultRole && defaultLevel) {
|
|
349
349
|
const roleLevel = `${defaultRole}.${defaultLevel}`;
|
|
350
350
|
const roles = parseRoleHierarchy();
|
|
351
351
|
if (!validateRoleLevel(roleLevel, roles)) {
|
|
352
352
|
const validRoles = Object.keys(roles).join(', ');
|
|
353
|
-
throw new Error(`Invalid
|
|
353
|
+
throw new Error(`Invalid BLOOM_AUTH_DEFAULT_ROLE.LEVEL: "${roleLevel}". Must be one of: ${validRoles}`);
|
|
354
354
|
}
|
|
355
355
|
}
|
|
356
356
|
const nodeEnv = process.env.NODE_ENV;
|
package/dist/cache/cache.d.ts
CHANGED
|
@@ -8,6 +8,32 @@
|
|
|
8
8
|
* @llm-rule NOTE: Auto-detects Redis vs Memory from environment, namespace passed to get() function
|
|
9
9
|
*/
|
|
10
10
|
import type { CacheConfig } from './defaults.js';
|
|
11
|
+
/**
|
|
12
|
+
* Thrown by all cache operations when the underlying strategy fails.
|
|
13
|
+
* Catch this in your route/service and decide whether to fall back to the
|
|
14
|
+
* database, re-throw, or log ā the cache module never makes that call for you.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* import { CacheError } from '@bloomneo/appkit/cache';
|
|
18
|
+
*
|
|
19
|
+
* try {
|
|
20
|
+
* const user = await cache.get<User>('user:123');
|
|
21
|
+
* } catch (err) {
|
|
22
|
+
* if (err instanceof CacheError) {
|
|
23
|
+
* logger.warn('Cache unavailable, falling back to DB', { code: err.code });
|
|
24
|
+
* return await db.user.findUnique({ where: { id: 123 } });
|
|
25
|
+
* }
|
|
26
|
+
* throw err; // re-throw unrelated errors
|
|
27
|
+
* }
|
|
28
|
+
*/
|
|
29
|
+
export declare class CacheError extends Error {
|
|
30
|
+
/** Machine-readable error code, e.g. 'CACHE_GET_FAILED', 'CACHE_CONNECT_FAILED' */
|
|
31
|
+
readonly code: string;
|
|
32
|
+
constructor(message: string, options?: {
|
|
33
|
+
code?: string;
|
|
34
|
+
cause?: unknown;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
11
37
|
export interface CacheStrategy {
|
|
12
38
|
connect(): Promise<void>;
|
|
13
39
|
disconnect(): Promise<void>;
|
|
@@ -52,14 +78,14 @@ export declare class CacheClass {
|
|
|
52
78
|
* @llm-rule AVOID: Manual key management - automatic prefixing handles namespacing
|
|
53
79
|
* @llm-rule NOTE: Returns null if key not found or expired
|
|
54
80
|
*/
|
|
55
|
-
get(key: string): Promise<
|
|
81
|
+
get<T = unknown>(key: string): Promise<T | null>;
|
|
56
82
|
/**
|
|
57
83
|
* Sets a value in cache with TTL and automatic key prefixing
|
|
58
84
|
* @llm-rule WHEN: Storing data in cache with optional expiration
|
|
59
85
|
* @llm-rule AVOID: Storing large objects without TTL - can cause memory issues
|
|
60
86
|
* @llm-rule NOTE: Uses default TTL from config if not specified
|
|
61
87
|
*/
|
|
62
|
-
set(key: string, value:
|
|
88
|
+
set<T = unknown>(key: string, value: T, ttl?: number): Promise<boolean>;
|
|
63
89
|
/**
|
|
64
90
|
* Deletes a key from cache
|
|
65
91
|
* @llm-rule WHEN: Removing specific cached data or cache invalidation
|
|
@@ -79,7 +105,7 @@ export declare class CacheClass {
|
|
|
79
105
|
* @llm-rule AVOID: Manual get/set logic - this handles race conditions properly
|
|
80
106
|
* @llm-rule NOTE: Factory function only called on cache miss
|
|
81
107
|
*/
|
|
82
|
-
getOrSet(key: string, factory: () => Promise<
|
|
108
|
+
getOrSet<T = unknown>(key: string, factory: () => Promise<T>, ttl?: number): Promise<T>;
|
|
83
109
|
/**
|
|
84
110
|
* Gets current cache strategy name for debugging
|
|
85
111
|
* @llm-rule WHEN: Debugging or health checks to see which strategy is active
|
|
@@ -110,9 +136,6 @@ export declare class CacheClass {
|
|
|
110
136
|
* Validates cache key format and length
|
|
111
137
|
*/
|
|
112
138
|
private validateKey;
|
|
113
|
-
/**
|
|
114
|
-
* Validates cache value
|
|
115
|
-
*/
|
|
116
139
|
private validateValue;
|
|
117
140
|
}
|
|
118
141
|
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/cache/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,WAAW,aAAa;IAC5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,qBAAa,UAAU;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,SAAS,CAAkB;gBAEvB,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM;IAMlD;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAWtB;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/cache/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC,mFAAmF;IACnF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAQ1E;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,qBAAa,UAAU;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,SAAS,CAAkB;gBAEvB,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM;IAMlD;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAWtB;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB9B;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBjC;;;;;OAKG;IACG,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAetD;;;;;OAKG;IACG,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB7E;;;;OAIG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAe3C;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAiB/B;;;;;OAKG;IACG,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAa7F;;;;OAIG;IACH,WAAW,IAAI,MAAM;IAIrB;;;;OAIG;IACH,SAAS,IAAI;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC;KACpB;IAYD;;OAEG;YACW,eAAe;IAM7B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAIhB;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,aAAa;CAUtB"}
|