@planecloud/config 1.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.
- package/dist/api/index.d.ts +733 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +209 -0
- package/dist/api/index.js.map +1 -0
- package/dist/database/index.d.ts +892 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +172 -0
- package/dist/database/index.js.map +1 -0
- package/dist/index.d.ts +4348 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +265 -0
- package/dist/index.js.map +1 -0
- package/dist/security/index.d.ts +808 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +277 -0
- package/dist/security/index.js.map +1 -0
- package/dist/temporal/index.d.ts +643 -0
- package/dist/temporal/index.d.ts.map +1 -0
- package/dist/temporal/index.js +257 -0
- package/dist/temporal/index.js.map +1 -0
- package/package.json +37 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmR/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SecurityConfigSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
exports.SecurityConfigSchema = zod_1.z.object({
|
|
6
|
+
jwt: zod_1.z
|
|
7
|
+
.object({
|
|
8
|
+
secret: zod_1.z.string().min(32),
|
|
9
|
+
expiresIn: zod_1.z.string().optional().default("24h"),
|
|
10
|
+
refreshExpiresIn: zod_1.z.string().optional().default("7d"),
|
|
11
|
+
issuer: zod_1.z.string().optional().default("planecloud"),
|
|
12
|
+
audience: zod_1.z.string().optional().default("planecloud-users"),
|
|
13
|
+
algorithm: zod_1.z
|
|
14
|
+
.enum([
|
|
15
|
+
"HS256",
|
|
16
|
+
"HS384",
|
|
17
|
+
"HS512",
|
|
18
|
+
"RS256",
|
|
19
|
+
"RS384",
|
|
20
|
+
"RS512",
|
|
21
|
+
"ES256",
|
|
22
|
+
"ES384",
|
|
23
|
+
"ES512",
|
|
24
|
+
])
|
|
25
|
+
.optional()
|
|
26
|
+
.default("HS256"),
|
|
27
|
+
publicKey: zod_1.z.string().optional(),
|
|
28
|
+
privateKey: zod_1.z.string().optional(),
|
|
29
|
+
passphrase: zod_1.z.string().optional(),
|
|
30
|
+
})
|
|
31
|
+
.optional(),
|
|
32
|
+
password: zod_1.z
|
|
33
|
+
.object({
|
|
34
|
+
minLength: zod_1.z.number().int().min(6).optional().default(8),
|
|
35
|
+
maxLength: zod_1.z.number().int().min(6).optional().default(128),
|
|
36
|
+
requireUppercase: zod_1.z.boolean().optional().default(true),
|
|
37
|
+
requireLowercase: zod_1.z.boolean().optional().default(true),
|
|
38
|
+
requireNumbers: zod_1.z.boolean().optional().default(true),
|
|
39
|
+
requireSpecialChars: zod_1.z.boolean().optional().default(true),
|
|
40
|
+
saltRounds: zod_1.z.number().int().min(8).max(16).optional().default(12),
|
|
41
|
+
pepper: zod_1.z.string().optional(),
|
|
42
|
+
})
|
|
43
|
+
.optional(),
|
|
44
|
+
session: zod_1.z
|
|
45
|
+
.object({
|
|
46
|
+
secret: zod_1.z.string().min(32),
|
|
47
|
+
resave: zod_1.z.boolean().optional().default(false),
|
|
48
|
+
saveUninitialized: zod_1.z.boolean().optional().default(false),
|
|
49
|
+
rolling: zod_1.z.boolean().optional().default(true),
|
|
50
|
+
name: zod_1.z.string().optional().default("planecloud.sid"),
|
|
51
|
+
cookie: zod_1.z
|
|
52
|
+
.object({
|
|
53
|
+
secure: zod_1.z.boolean().optional().default(false),
|
|
54
|
+
httpOnly: zod_1.z.boolean().optional().default(true),
|
|
55
|
+
maxAge: zod_1.z.number().int().min(1000).optional().default(86400000), // 24 hours
|
|
56
|
+
sameSite: zod_1.z.enum(["lax", "strict", "none"]).optional().default("lax"),
|
|
57
|
+
domain: zod_1.z.string().optional(),
|
|
58
|
+
path: zod_1.z.string().optional().default("/"),
|
|
59
|
+
})
|
|
60
|
+
.optional(),
|
|
61
|
+
store: zod_1.z
|
|
62
|
+
.enum(["memory", "redis", "database"])
|
|
63
|
+
.optional()
|
|
64
|
+
.default("memory"),
|
|
65
|
+
redis: zod_1.z
|
|
66
|
+
.object({
|
|
67
|
+
host: zod_1.z.string().min(1),
|
|
68
|
+
port: zod_1.z.number().int().min(1).max(65535).optional().default(6379),
|
|
69
|
+
password: zod_1.z.string().optional(),
|
|
70
|
+
db: zod_1.z.number().int().min(0).max(15).optional().default(0),
|
|
71
|
+
prefix: zod_1.z.string().optional().default("sess:"),
|
|
72
|
+
ttl: zod_1.z.number().int().min(1000).optional().default(86400000), // 24 hours
|
|
73
|
+
})
|
|
74
|
+
.optional(),
|
|
75
|
+
})
|
|
76
|
+
.optional(),
|
|
77
|
+
encryption: zod_1.z
|
|
78
|
+
.object({
|
|
79
|
+
algorithm: zod_1.z
|
|
80
|
+
.enum(["aes-256-gcm", "aes-256-cbc", "aes-192-gcm", "aes-192-cbc"])
|
|
81
|
+
.optional()
|
|
82
|
+
.default("aes-256-gcm"),
|
|
83
|
+
key: zod_1.z.string().min(32),
|
|
84
|
+
ivLength: zod_1.z.number().int().min(16).max(16).optional().default(16),
|
|
85
|
+
tagLength: zod_1.z.number().int().min(16).max(16).optional().default(16),
|
|
86
|
+
})
|
|
87
|
+
.optional(),
|
|
88
|
+
apiKeys: zod_1.z
|
|
89
|
+
.object({
|
|
90
|
+
headerName: zod_1.z.string().optional().default("x-api-key"),
|
|
91
|
+
queryParam: zod_1.z.string().optional().default("api_key"),
|
|
92
|
+
length: zod_1.z.number().int().min(16).max(64).optional().default(32),
|
|
93
|
+
prefix: zod_1.z.string().optional().default("pc_"),
|
|
94
|
+
hashing: zod_1.z.enum(["sha256", "sha512"]).optional().default("sha256"),
|
|
95
|
+
})
|
|
96
|
+
.optional(),
|
|
97
|
+
rateLimit: zod_1.z
|
|
98
|
+
.object({
|
|
99
|
+
windowMs: zod_1.z.number().int().min(1000).optional().default(900000), // 15 minutes
|
|
100
|
+
max: zod_1.z.number().int().min(1).optional().default(100),
|
|
101
|
+
message: zod_1.z.string().optional().default("Too many requests"),
|
|
102
|
+
standardHeaders: zod_1.z.boolean().optional().default(true),
|
|
103
|
+
legacyHeaders: zod_1.z.boolean().optional().default(false),
|
|
104
|
+
skipSuccessfulRequests: zod_1.z.boolean().optional().default(false),
|
|
105
|
+
skipFailedRequests: zod_1.z.boolean().optional().default(false),
|
|
106
|
+
keyGenerator: zod_1.z.string().optional(), // function name
|
|
107
|
+
skip: zod_1.z.string().optional(), // function name
|
|
108
|
+
onLimitReached: zod_1.z.string().optional(), // function name
|
|
109
|
+
})
|
|
110
|
+
.optional(),
|
|
111
|
+
cors: zod_1.z
|
|
112
|
+
.object({
|
|
113
|
+
origin: zod_1.z
|
|
114
|
+
.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string()), zod_1.z.boolean()])
|
|
115
|
+
.optional()
|
|
116
|
+
.default("*"),
|
|
117
|
+
credentials: zod_1.z.boolean().optional().default(true),
|
|
118
|
+
methods: zod_1.z
|
|
119
|
+
.array(zod_1.z.string())
|
|
120
|
+
.optional()
|
|
121
|
+
.default(["GET", "POST", "PUT", "DELETE", "OPTIONS"]),
|
|
122
|
+
allowedHeaders: zod_1.z
|
|
123
|
+
.array(zod_1.z.string())
|
|
124
|
+
.optional()
|
|
125
|
+
.default(["Content-Type", "Authorization"]),
|
|
126
|
+
exposedHeaders: zod_1.z.array(zod_1.z.string()).optional(),
|
|
127
|
+
maxAge: zod_1.z.number().int().min(0).optional().default(86400), // 24 hours
|
|
128
|
+
preflightContinue: zod_1.z.boolean().optional().default(false),
|
|
129
|
+
optionsSuccessStatus: zod_1.z
|
|
130
|
+
.number()
|
|
131
|
+
.int()
|
|
132
|
+
.min(200)
|
|
133
|
+
.max(299)
|
|
134
|
+
.optional()
|
|
135
|
+
.default(204),
|
|
136
|
+
})
|
|
137
|
+
.optional(),
|
|
138
|
+
helmet: zod_1.z
|
|
139
|
+
.object({
|
|
140
|
+
contentSecurityPolicy: zod_1.z
|
|
141
|
+
.union([
|
|
142
|
+
zod_1.z.boolean(),
|
|
143
|
+
zod_1.z.object({
|
|
144
|
+
directives: zod_1.z
|
|
145
|
+
.record(zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]))
|
|
146
|
+
.optional(),
|
|
147
|
+
reportOnly: zod_1.z.boolean().optional(),
|
|
148
|
+
}),
|
|
149
|
+
])
|
|
150
|
+
.optional()
|
|
151
|
+
.default(true),
|
|
152
|
+
crossOriginEmbedderPolicy: zod_1.z.boolean().optional().default(true),
|
|
153
|
+
crossOriginOpenerPolicy: zod_1.z.boolean().optional().default(true),
|
|
154
|
+
crossOriginResourcePolicy: zod_1.z.boolean().optional().default(true),
|
|
155
|
+
dnsPrefetchControl: zod_1.z.boolean().optional().default(true),
|
|
156
|
+
frameguard: zod_1.z
|
|
157
|
+
.union([
|
|
158
|
+
zod_1.z.boolean(),
|
|
159
|
+
zod_1.z.object({
|
|
160
|
+
action: zod_1.z.enum(["deny", "sameorigin", "allow-from"]),
|
|
161
|
+
domain: zod_1.z.string().optional(),
|
|
162
|
+
}),
|
|
163
|
+
])
|
|
164
|
+
.optional()
|
|
165
|
+
.default(true),
|
|
166
|
+
hidePoweredBy: zod_1.z.boolean().optional().default(true),
|
|
167
|
+
hsts: zod_1.z
|
|
168
|
+
.union([
|
|
169
|
+
zod_1.z.boolean(),
|
|
170
|
+
zod_1.z.object({
|
|
171
|
+
maxAge: zod_1.z.number().int().min(0).optional(),
|
|
172
|
+
includeSubDomains: zod_1.z.boolean().optional(),
|
|
173
|
+
preload: zod_1.z.boolean().optional(),
|
|
174
|
+
}),
|
|
175
|
+
])
|
|
176
|
+
.optional()
|
|
177
|
+
.default(true),
|
|
178
|
+
ieNoOpen: zod_1.z.boolean().optional().default(true),
|
|
179
|
+
noSniff: zod_1.z.boolean().optional().default(true),
|
|
180
|
+
originAgentCluster: zod_1.z.boolean().optional().default(true),
|
|
181
|
+
permittedCrossDomainPolicies: zod_1.z.boolean().optional().default(true),
|
|
182
|
+
referrerPolicy: zod_1.z
|
|
183
|
+
.union([
|
|
184
|
+
zod_1.z.boolean(),
|
|
185
|
+
zod_1.z.object({
|
|
186
|
+
policy: zod_1.z
|
|
187
|
+
.enum([
|
|
188
|
+
"no-referrer",
|
|
189
|
+
"no-referrer-when-downgrade",
|
|
190
|
+
"origin",
|
|
191
|
+
"origin-when-cross-origin",
|
|
192
|
+
"same-origin",
|
|
193
|
+
"strict-origin",
|
|
194
|
+
"strict-origin-when-cross-origin",
|
|
195
|
+
"unsafe-url",
|
|
196
|
+
])
|
|
197
|
+
.optional(),
|
|
198
|
+
}),
|
|
199
|
+
])
|
|
200
|
+
.optional()
|
|
201
|
+
.default(true),
|
|
202
|
+
xssFilter: zod_1.z.boolean().optional().default(true),
|
|
203
|
+
})
|
|
204
|
+
.optional(),
|
|
205
|
+
audit: zod_1.z
|
|
206
|
+
.object({
|
|
207
|
+
enabled: zod_1.z.boolean().optional().default(false),
|
|
208
|
+
logLevel: zod_1.z.enum(["info", "warn", "error"]).optional().default("info"),
|
|
209
|
+
events: zod_1.z
|
|
210
|
+
.array(zod_1.z.enum([
|
|
211
|
+
"login",
|
|
212
|
+
"logout",
|
|
213
|
+
"password_change",
|
|
214
|
+
"profile_update",
|
|
215
|
+
"api_access",
|
|
216
|
+
"admin_action",
|
|
217
|
+
"security_violation",
|
|
218
|
+
"data_access",
|
|
219
|
+
"permission_change",
|
|
220
|
+
]))
|
|
221
|
+
.optional()
|
|
222
|
+
.default(["login", "logout", "admin_action", "security_violation"]),
|
|
223
|
+
storage: zod_1.z
|
|
224
|
+
.enum(["file", "database", "elasticsearch"])
|
|
225
|
+
.optional()
|
|
226
|
+
.default("database"),
|
|
227
|
+
file: zod_1.z
|
|
228
|
+
.object({
|
|
229
|
+
path: zod_1.z.string().min(1),
|
|
230
|
+
rotation: zod_1.z
|
|
231
|
+
.enum(["daily", "weekly", "monthly"])
|
|
232
|
+
.optional()
|
|
233
|
+
.default("daily"),
|
|
234
|
+
maxFiles: zod_1.z.number().int().min(1).optional().default(30),
|
|
235
|
+
maxSize: zod_1.z.string().optional().default("100MB"),
|
|
236
|
+
})
|
|
237
|
+
.optional(),
|
|
238
|
+
retention: zod_1.z
|
|
239
|
+
.object({
|
|
240
|
+
days: zod_1.z.number().int().min(1).optional().default(90),
|
|
241
|
+
maxSize: zod_1.z.string().optional().default("1GB"),
|
|
242
|
+
})
|
|
243
|
+
.optional(),
|
|
244
|
+
})
|
|
245
|
+
.optional(),
|
|
246
|
+
authentication: zod_1.z
|
|
247
|
+
.object({
|
|
248
|
+
providers: zod_1.z
|
|
249
|
+
.array(zod_1.z.object({
|
|
250
|
+
name: zod_1.z.string().min(1),
|
|
251
|
+
type: zod_1.z.enum(["local", "oauth2", "saml", "ldap"]),
|
|
252
|
+
enabled: zod_1.z.boolean().optional().default(true),
|
|
253
|
+
config: zod_1.z.record(zod_1.z.any()),
|
|
254
|
+
}))
|
|
255
|
+
.optional(),
|
|
256
|
+
twoFactor: zod_1.z
|
|
257
|
+
.object({
|
|
258
|
+
enabled: zod_1.z.boolean().optional().default(false),
|
|
259
|
+
issuer: zod_1.z.string().optional().default("PlaneCloud"),
|
|
260
|
+
window: zod_1.z.number().int().min(0).optional().default(1),
|
|
261
|
+
providers: zod_1.z
|
|
262
|
+
.array(zod_1.z.enum(["totp", "sms", "email"]))
|
|
263
|
+
.optional()
|
|
264
|
+
.default(["totp"]),
|
|
265
|
+
backupCodes: zod_1.z
|
|
266
|
+
.object({
|
|
267
|
+
enabled: zod_1.z.boolean().optional().default(true),
|
|
268
|
+
count: zod_1.z.number().int().min(1).optional().default(10),
|
|
269
|
+
length: zod_1.z.number().int().min(8).optional().default(8),
|
|
270
|
+
})
|
|
271
|
+
.optional(),
|
|
272
|
+
})
|
|
273
|
+
.optional(),
|
|
274
|
+
})
|
|
275
|
+
.optional(),
|
|
276
|
+
});
|
|
277
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"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"}
|