s3db.js 19.3.21 → 19.3.23
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/README.md +1 -1
- package/dist/concerns/id.js +0 -24
- package/dist/core/resource-id-generator.class.js +1 -1
- package/dist/core/resource-persistence.class.js +3 -1
- package/dist/lite.js +1 -1
- package/dist/s3db-lite.cjs +267 -286
- package/dist/s3db-lite.d.ts +1 -2
- package/dist/s3db-lite.es.js +268 -286
- package/dist/s3db.cjs +342 -368
- package/dist/s3db.d.ts +1 -3
- package/dist/s3db.es.js +343 -367
- package/dist/tasks/tasks-pool.class.js +3 -3
- package/dist/tasks/tasks-runner.class.js +2 -2
- package/dist/types/concerns/id.d.ts +0 -2
- package/dist/types/core/resource-persistence.class.d.ts +2 -0
- package/dist/types/lite.d.ts +1 -1
- package/package.json +1 -2
- package/src/concerns/id.ts +0 -42
- package/src/core/resource-id-generator.class.ts +1 -1
- package/src/core/resource-persistence.class.ts +5 -1
- package/src/lite.ts +1 -1
- package/src/plugins/tfstate/README.md +3 -3
- package/src/tasks/tasks-pool.class.ts +3 -3
- package/src/tasks/tasks-runner.class.ts +2 -2
package/dist/s3db-lite.cjs
CHANGED
|
@@ -39,15 +39,14 @@ var clientS3 = require('@aws-sdk/client-s3');
|
|
|
39
39
|
var crypto = require('crypto');
|
|
40
40
|
var os$1 = require('os');
|
|
41
41
|
var promises = require('timers/promises');
|
|
42
|
-
var nanoid = require('nanoid');
|
|
43
42
|
var fs$1 = require('fs/promises');
|
|
44
43
|
var stream = require('stream');
|
|
44
|
+
var pino = require('pino');
|
|
45
45
|
var fs$2 = require('fs');
|
|
46
46
|
var zlib = require('zlib');
|
|
47
47
|
var jsonStableStringify = require('json-stable-stringify');
|
|
48
48
|
var FastestValidatorModule = require('fastest-validator');
|
|
49
49
|
var web = require('node:stream/web');
|
|
50
|
-
var pino = require('pino');
|
|
51
50
|
|
|
52
51
|
function _interopNamespaceDefault(e) {
|
|
53
52
|
var n = Object.create(null);
|
|
@@ -52383,264 +52382,6 @@ function base64ToArrayBuffer(base64) {
|
|
|
52383
52382
|
}
|
|
52384
52383
|
}
|
|
52385
52384
|
|
|
52386
|
-
const BUILT_IN_SENSITIVE_FIELDS = [
|
|
52387
|
-
'password',
|
|
52388
|
-
'passwd',
|
|
52389
|
-
'pwd',
|
|
52390
|
-
'passphrase',
|
|
52391
|
-
'secret',
|
|
52392
|
-
'token',
|
|
52393
|
-
'auth',
|
|
52394
|
-
'authorization',
|
|
52395
|
-
'apikey',
|
|
52396
|
-
'api_key',
|
|
52397
|
-
'api-key',
|
|
52398
|
-
'apitoken',
|
|
52399
|
-
'api_token',
|
|
52400
|
-
'api-token',
|
|
52401
|
-
'apisecret',
|
|
52402
|
-
'api_secret',
|
|
52403
|
-
'api-secret',
|
|
52404
|
-
'authtoken',
|
|
52405
|
-
'auth_token',
|
|
52406
|
-
'auth-token',
|
|
52407
|
-
'bearertoken',
|
|
52408
|
-
'bearer_token',
|
|
52409
|
-
'bearer-token',
|
|
52410
|
-
'accesskey',
|
|
52411
|
-
'access_key',
|
|
52412
|
-
'access-key',
|
|
52413
|
-
'accesskeyid',
|
|
52414
|
-
'access_key_id',
|
|
52415
|
-
'access-key-id',
|
|
52416
|
-
'secretkey',
|
|
52417
|
-
'secret_key',
|
|
52418
|
-
'secret-key',
|
|
52419
|
-
'secretaccesskey',
|
|
52420
|
-
'secret_access_key',
|
|
52421
|
-
'secret-access-key',
|
|
52422
|
-
'awsaccesskey',
|
|
52423
|
-
'aws_access_key',
|
|
52424
|
-
'aws-access-key',
|
|
52425
|
-
'awsaccesskeyid',
|
|
52426
|
-
'aws_access_key_id',
|
|
52427
|
-
'aws-access-key-id',
|
|
52428
|
-
'awssecretkey',
|
|
52429
|
-
'aws_secret_key',
|
|
52430
|
-
'aws-secret-key',
|
|
52431
|
-
'awssecretaccesskey',
|
|
52432
|
-
'aws_secret_access_key',
|
|
52433
|
-
'aws-secret-access-key',
|
|
52434
|
-
'awstoken',
|
|
52435
|
-
'aws_token',
|
|
52436
|
-
'aws-token',
|
|
52437
|
-
'sessiontoken',
|
|
52438
|
-
'session_token',
|
|
52439
|
-
'session-token',
|
|
52440
|
-
'gcpaccesskey',
|
|
52441
|
-
'gcp_access_key',
|
|
52442
|
-
'gcp-access-key',
|
|
52443
|
-
'gcpsecretkey',
|
|
52444
|
-
'gcp_secret_key',
|
|
52445
|
-
'gcp-secret-key',
|
|
52446
|
-
'gcpapikey',
|
|
52447
|
-
'gcp_api_key',
|
|
52448
|
-
'gcp-api-key',
|
|
52449
|
-
'azurekey',
|
|
52450
|
-
'azure_key',
|
|
52451
|
-
'azure-key',
|
|
52452
|
-
'azurekeysecret',
|
|
52453
|
-
'azure_key_secret',
|
|
52454
|
-
'azure-key-secret',
|
|
52455
|
-
'azuretoken',
|
|
52456
|
-
'azure_token',
|
|
52457
|
-
'azure-token',
|
|
52458
|
-
'azuresecretkey',
|
|
52459
|
-
'azure_secret_key',
|
|
52460
|
-
'azure-secret-key',
|
|
52461
|
-
'connectionstring',
|
|
52462
|
-
'connection_string',
|
|
52463
|
-
'connection-string',
|
|
52464
|
-
'dbpassword',
|
|
52465
|
-
'db_password',
|
|
52466
|
-
'db-password',
|
|
52467
|
-
'dbtoken',
|
|
52468
|
-
'db_token',
|
|
52469
|
-
'db-token',
|
|
52470
|
-
'dbsecret',
|
|
52471
|
-
'db_secret',
|
|
52472
|
-
'db-secret',
|
|
52473
|
-
'mongodburi',
|
|
52474
|
-
'mongodb_uri',
|
|
52475
|
-
'mongodb-uri',
|
|
52476
|
-
'postgresqlpassword',
|
|
52477
|
-
'postgresql_password',
|
|
52478
|
-
'postgresql-password',
|
|
52479
|
-
'clientsecret',
|
|
52480
|
-
'client_secret',
|
|
52481
|
-
'client-secret',
|
|
52482
|
-
'clientid',
|
|
52483
|
-
'client_id',
|
|
52484
|
-
'client-id',
|
|
52485
|
-
'oauth2secret',
|
|
52486
|
-
'oauth2_secret',
|
|
52487
|
-
'oauth2-secret',
|
|
52488
|
-
'oidcsecret',
|
|
52489
|
-
'oidc_secret',
|
|
52490
|
-
'oidc-secret',
|
|
52491
|
-
'encryptionkey',
|
|
52492
|
-
'encryption_key',
|
|
52493
|
-
'encryption-key',
|
|
52494
|
-
'cryptokey',
|
|
52495
|
-
'crypto_key',
|
|
52496
|
-
'crypto-key',
|
|
52497
|
-
'hmackey',
|
|
52498
|
-
'hmac_key',
|
|
52499
|
-
'hmac-key',
|
|
52500
|
-
'rsaprivatekey',
|
|
52501
|
-
'rsa_private_key',
|
|
52502
|
-
'rsa-private-key',
|
|
52503
|
-
'privatekeyid',
|
|
52504
|
-
'private_key_id',
|
|
52505
|
-
'private-key-id',
|
|
52506
|
-
'privatekey',
|
|
52507
|
-
'private_key',
|
|
52508
|
-
'private-key',
|
|
52509
|
-
'certificate',
|
|
52510
|
-
'cert',
|
|
52511
|
-
'certificatekey',
|
|
52512
|
-
'certificate_key',
|
|
52513
|
-
'certificate-key',
|
|
52514
|
-
'credential',
|
|
52515
|
-
'credentials',
|
|
52516
|
-
'hash',
|
|
52517
|
-
'nonce',
|
|
52518
|
-
'jti',
|
|
52519
|
-
'fingerprint',
|
|
52520
|
-
'sessionid',
|
|
52521
|
-
'session_id',
|
|
52522
|
-
'session-id',
|
|
52523
|
-
'refreshtoken',
|
|
52524
|
-
'refresh_token',
|
|
52525
|
-
'refresh-token'
|
|
52526
|
-
];
|
|
52527
|
-
function createRedactRules(customPatterns = []) {
|
|
52528
|
-
const redactPaths = [];
|
|
52529
|
-
for (const field of BUILT_IN_SENSITIVE_FIELDS) {
|
|
52530
|
-
redactPaths.push(field);
|
|
52531
|
-
redactPaths.push(`*.${field}`);
|
|
52532
|
-
redactPaths.push(`**.${field}`);
|
|
52533
|
-
}
|
|
52534
|
-
if (customPatterns.length > 0) ;
|
|
52535
|
-
return redactPaths;
|
|
52536
|
-
}
|
|
52537
|
-
|
|
52538
|
-
let sharedPrettyTransport = null;
|
|
52539
|
-
let sharedDestination = null;
|
|
52540
|
-
function serializeError(err) {
|
|
52541
|
-
if (!err || typeof err !== 'object') {
|
|
52542
|
-
return err;
|
|
52543
|
-
}
|
|
52544
|
-
const error = err;
|
|
52545
|
-
if (typeof error.toJSON === 'function') {
|
|
52546
|
-
return error.toJSON();
|
|
52547
|
-
}
|
|
52548
|
-
return {
|
|
52549
|
-
...error,
|
|
52550
|
-
message: error.message,
|
|
52551
|
-
stack: error.stack,
|
|
52552
|
-
};
|
|
52553
|
-
}
|
|
52554
|
-
function createPrettyTransport() {
|
|
52555
|
-
return {
|
|
52556
|
-
target: 'pino-pretty',
|
|
52557
|
-
options: {
|
|
52558
|
-
colorize: true,
|
|
52559
|
-
translateTime: 'HH:MM:ss.l',
|
|
52560
|
-
ignore: 'pid,hostname',
|
|
52561
|
-
singleLine: false
|
|
52562
|
-
}
|
|
52563
|
-
};
|
|
52564
|
-
}
|
|
52565
|
-
function getSharedPrettyTransport() {
|
|
52566
|
-
if (!sharedPrettyTransport) {
|
|
52567
|
-
sharedPrettyTransport = pino.transport(createPrettyTransport());
|
|
52568
|
-
}
|
|
52569
|
-
return sharedPrettyTransport;
|
|
52570
|
-
}
|
|
52571
|
-
function getSharedDestination(format) {
|
|
52572
|
-
const envFormat = process.env.S3DB_LOG_FORMAT?.toLowerCase();
|
|
52573
|
-
const effectiveFormat = format ?? (envFormat === 'json' ? 'json' : 'pretty');
|
|
52574
|
-
if (effectiveFormat === 'json') {
|
|
52575
|
-
return undefined;
|
|
52576
|
-
}
|
|
52577
|
-
if (!sharedDestination) {
|
|
52578
|
-
sharedDestination = getSharedPrettyTransport();
|
|
52579
|
-
}
|
|
52580
|
-
return sharedDestination;
|
|
52581
|
-
}
|
|
52582
|
-
function createDefaultTransport() {
|
|
52583
|
-
const envFormat = process.env.S3DB_LOG_FORMAT?.toLowerCase();
|
|
52584
|
-
if (envFormat === 'json') {
|
|
52585
|
-
return undefined;
|
|
52586
|
-
}
|
|
52587
|
-
return createPrettyTransport();
|
|
52588
|
-
}
|
|
52589
|
-
function createLogger(options = {}) {
|
|
52590
|
-
const { level = 'info', name, format, transport, bindings = {}, redactPatterns = [] } = options;
|
|
52591
|
-
const redactRules = createRedactRules(redactPatterns);
|
|
52592
|
-
const normalizedBindings = bindings && typeof bindings === 'object' ? bindings : {};
|
|
52593
|
-
const useSharedDestination = !transport && format !== 'json';
|
|
52594
|
-
const destination = useSharedDestination ? getSharedDestination(format) : undefined;
|
|
52595
|
-
const config = {
|
|
52596
|
-
level,
|
|
52597
|
-
redact: redactRules,
|
|
52598
|
-
serializers: {
|
|
52599
|
-
err: serializeError,
|
|
52600
|
-
error: serializeError
|
|
52601
|
-
}
|
|
52602
|
-
};
|
|
52603
|
-
if (transport) {
|
|
52604
|
-
config.transport = transport;
|
|
52605
|
-
}
|
|
52606
|
-
else if (format === 'json') ;
|
|
52607
|
-
else if (!destination) {
|
|
52608
|
-
config.transport = createDefaultTransport();
|
|
52609
|
-
}
|
|
52610
|
-
let logger;
|
|
52611
|
-
if (destination) {
|
|
52612
|
-
logger = pino({ ...config, name }, destination);
|
|
52613
|
-
}
|
|
52614
|
-
else {
|
|
52615
|
-
logger = pino({ ...config, name });
|
|
52616
|
-
}
|
|
52617
|
-
const baseBindings = name ? { ...normalizedBindings, name } : normalizedBindings;
|
|
52618
|
-
if (baseBindings && Object.keys(baseBindings).length > 0) {
|
|
52619
|
-
logger = logger.child(baseBindings);
|
|
52620
|
-
}
|
|
52621
|
-
return logger;
|
|
52622
|
-
}
|
|
52623
|
-
function getLoggerOptionsFromEnv(configOptions = {}) {
|
|
52624
|
-
const options = { ...configOptions };
|
|
52625
|
-
if (process.env.S3DB_LOG_LEVEL) {
|
|
52626
|
-
options.level = process.env.S3DB_LOG_LEVEL;
|
|
52627
|
-
}
|
|
52628
|
-
if (process.env.S3DB_LOG_FORMAT) {
|
|
52629
|
-
const format = process.env.S3DB_LOG_FORMAT.toLowerCase();
|
|
52630
|
-
if (format === 'json' || format === 'pretty') {
|
|
52631
|
-
options.format = format;
|
|
52632
|
-
}
|
|
52633
|
-
}
|
|
52634
|
-
else if (process.env.S3DB_LOG_PRETTY === 'false') {
|
|
52635
|
-
options.format = 'json';
|
|
52636
|
-
}
|
|
52637
|
-
else if (process.env.S3DB_LOG_PRETTY === 'true') {
|
|
52638
|
-
options.format = 'pretty';
|
|
52639
|
-
}
|
|
52640
|
-
return options;
|
|
52641
|
-
}
|
|
52642
|
-
|
|
52643
|
-
const logger = createLogger({ name: 'IdGenerator', level: 'info' });
|
|
52644
52385
|
const FALLBACK_URL_ALPHABET = 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict';
|
|
52645
52386
|
const PASSWORD_ALPHABET = 'ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz23456789';
|
|
52646
52387
|
const POOL_SIZE_MULTIPLIER = 128;
|
|
@@ -52688,23 +52429,6 @@ let activeCustomAlphabet = customAlphabetFallback;
|
|
|
52688
52429
|
let activeUrlAlphabet = FALLBACK_URL_ALPHABET;
|
|
52689
52430
|
let idGeneratorImpl = activeCustomAlphabet(activeUrlAlphabet, 22);
|
|
52690
52431
|
let passwordGeneratorImpl = activeCustomAlphabet(PASSWORD_ALPHABET, 16);
|
|
52691
|
-
const nanoidReadyPromise = import('nanoid')
|
|
52692
|
-
.then((mod) => {
|
|
52693
|
-
const resolvedCustomAlphabet = mod?.customAlphabet ?? activeCustomAlphabet;
|
|
52694
|
-
const resolvedUrlAlphabet = mod?.urlAlphabet ?? activeUrlAlphabet;
|
|
52695
|
-
activeCustomAlphabet = resolvedCustomAlphabet;
|
|
52696
|
-
activeUrlAlphabet = resolvedUrlAlphabet;
|
|
52697
|
-
idGeneratorImpl = activeCustomAlphabet(activeUrlAlphabet, 22);
|
|
52698
|
-
passwordGeneratorImpl = activeCustomAlphabet(PASSWORD_ALPHABET, 16);
|
|
52699
|
-
})
|
|
52700
|
-
.catch((error) => {
|
|
52701
|
-
if (typeof process !== 'undefined' && process?.env?.S3DB_DEBUG) {
|
|
52702
|
-
logger.warn({ error: error.message }, 'Failed to dynamically import "nanoid". Using fallback implementation.');
|
|
52703
|
-
}
|
|
52704
|
-
});
|
|
52705
|
-
function initializeNanoid() {
|
|
52706
|
-
return nanoidReadyPromise;
|
|
52707
|
-
}
|
|
52708
52432
|
const idGenerator = (size) => idGeneratorImpl(size);
|
|
52709
52433
|
const passwordGenerator = (size) => passwordGeneratorImpl(size);
|
|
52710
52434
|
const getUrlAlphabet = () => activeUrlAlphabet;
|
|
@@ -52715,7 +52439,6 @@ var id = /*#__PURE__*/Object.freeze({
|
|
|
52715
52439
|
createCustomGenerator: createCustomGenerator,
|
|
52716
52440
|
getUrlAlphabet: getUrlAlphabet,
|
|
52717
52441
|
idGenerator: idGenerator,
|
|
52718
|
-
initializeNanoid: initializeNanoid,
|
|
52719
52442
|
passwordGenerator: passwordGenerator
|
|
52720
52443
|
});
|
|
52721
52444
|
|
|
@@ -54281,7 +54004,7 @@ class TasksPool extends EventEmitter.EventEmitter {
|
|
|
54281
54004
|
...(options.metadata || {})
|
|
54282
54005
|
};
|
|
54283
54006
|
const task = {
|
|
54284
|
-
id:
|
|
54007
|
+
id: idGenerator(),
|
|
54285
54008
|
fn: fn,
|
|
54286
54009
|
priority: options.priority || 0,
|
|
54287
54010
|
retries: options.retries ?? this.retries,
|
|
@@ -54336,7 +54059,7 @@ class TasksPool extends EventEmitter.EventEmitter {
|
|
|
54336
54059
|
}
|
|
54337
54060
|
async addBatch(fns, options = {}) {
|
|
54338
54061
|
const errors = [];
|
|
54339
|
-
const batchId =
|
|
54062
|
+
const batchId = idGenerator();
|
|
54340
54063
|
const promises = fns.map((fn, index) => {
|
|
54341
54064
|
const taskOptions = {
|
|
54342
54065
|
priority: options.priority,
|
|
@@ -55986,7 +55709,7 @@ class TasksRunner extends EventEmitter.EventEmitter {
|
|
|
55986
55709
|
...(options.metadata || {})
|
|
55987
55710
|
};
|
|
55988
55711
|
const task = {
|
|
55989
|
-
id:
|
|
55712
|
+
id: idGenerator(),
|
|
55990
55713
|
fn,
|
|
55991
55714
|
priority: options.priority || 0,
|
|
55992
55715
|
retries: options.retries ?? this.retries,
|
|
@@ -56677,6 +56400,263 @@ class TasksRunner extends EventEmitter.EventEmitter {
|
|
|
56677
56400
|
}
|
|
56678
56401
|
}
|
|
56679
56402
|
|
|
56403
|
+
const BUILT_IN_SENSITIVE_FIELDS = [
|
|
56404
|
+
'password',
|
|
56405
|
+
'passwd',
|
|
56406
|
+
'pwd',
|
|
56407
|
+
'passphrase',
|
|
56408
|
+
'secret',
|
|
56409
|
+
'token',
|
|
56410
|
+
'auth',
|
|
56411
|
+
'authorization',
|
|
56412
|
+
'apikey',
|
|
56413
|
+
'api_key',
|
|
56414
|
+
'api-key',
|
|
56415
|
+
'apitoken',
|
|
56416
|
+
'api_token',
|
|
56417
|
+
'api-token',
|
|
56418
|
+
'apisecret',
|
|
56419
|
+
'api_secret',
|
|
56420
|
+
'api-secret',
|
|
56421
|
+
'authtoken',
|
|
56422
|
+
'auth_token',
|
|
56423
|
+
'auth-token',
|
|
56424
|
+
'bearertoken',
|
|
56425
|
+
'bearer_token',
|
|
56426
|
+
'bearer-token',
|
|
56427
|
+
'accesskey',
|
|
56428
|
+
'access_key',
|
|
56429
|
+
'access-key',
|
|
56430
|
+
'accesskeyid',
|
|
56431
|
+
'access_key_id',
|
|
56432
|
+
'access-key-id',
|
|
56433
|
+
'secretkey',
|
|
56434
|
+
'secret_key',
|
|
56435
|
+
'secret-key',
|
|
56436
|
+
'secretaccesskey',
|
|
56437
|
+
'secret_access_key',
|
|
56438
|
+
'secret-access-key',
|
|
56439
|
+
'awsaccesskey',
|
|
56440
|
+
'aws_access_key',
|
|
56441
|
+
'aws-access-key',
|
|
56442
|
+
'awsaccesskeyid',
|
|
56443
|
+
'aws_access_key_id',
|
|
56444
|
+
'aws-access-key-id',
|
|
56445
|
+
'awssecretkey',
|
|
56446
|
+
'aws_secret_key',
|
|
56447
|
+
'aws-secret-key',
|
|
56448
|
+
'awssecretaccesskey',
|
|
56449
|
+
'aws_secret_access_key',
|
|
56450
|
+
'aws-secret-access-key',
|
|
56451
|
+
'awstoken',
|
|
56452
|
+
'aws_token',
|
|
56453
|
+
'aws-token',
|
|
56454
|
+
'sessiontoken',
|
|
56455
|
+
'session_token',
|
|
56456
|
+
'session-token',
|
|
56457
|
+
'gcpaccesskey',
|
|
56458
|
+
'gcp_access_key',
|
|
56459
|
+
'gcp-access-key',
|
|
56460
|
+
'gcpsecretkey',
|
|
56461
|
+
'gcp_secret_key',
|
|
56462
|
+
'gcp-secret-key',
|
|
56463
|
+
'gcpapikey',
|
|
56464
|
+
'gcp_api_key',
|
|
56465
|
+
'gcp-api-key',
|
|
56466
|
+
'azurekey',
|
|
56467
|
+
'azure_key',
|
|
56468
|
+
'azure-key',
|
|
56469
|
+
'azurekeysecret',
|
|
56470
|
+
'azure_key_secret',
|
|
56471
|
+
'azure-key-secret',
|
|
56472
|
+
'azuretoken',
|
|
56473
|
+
'azure_token',
|
|
56474
|
+
'azure-token',
|
|
56475
|
+
'azuresecretkey',
|
|
56476
|
+
'azure_secret_key',
|
|
56477
|
+
'azure-secret-key',
|
|
56478
|
+
'connectionstring',
|
|
56479
|
+
'connection_string',
|
|
56480
|
+
'connection-string',
|
|
56481
|
+
'dbpassword',
|
|
56482
|
+
'db_password',
|
|
56483
|
+
'db-password',
|
|
56484
|
+
'dbtoken',
|
|
56485
|
+
'db_token',
|
|
56486
|
+
'db-token',
|
|
56487
|
+
'dbsecret',
|
|
56488
|
+
'db_secret',
|
|
56489
|
+
'db-secret',
|
|
56490
|
+
'mongodburi',
|
|
56491
|
+
'mongodb_uri',
|
|
56492
|
+
'mongodb-uri',
|
|
56493
|
+
'postgresqlpassword',
|
|
56494
|
+
'postgresql_password',
|
|
56495
|
+
'postgresql-password',
|
|
56496
|
+
'clientsecret',
|
|
56497
|
+
'client_secret',
|
|
56498
|
+
'client-secret',
|
|
56499
|
+
'clientid',
|
|
56500
|
+
'client_id',
|
|
56501
|
+
'client-id',
|
|
56502
|
+
'oauth2secret',
|
|
56503
|
+
'oauth2_secret',
|
|
56504
|
+
'oauth2-secret',
|
|
56505
|
+
'oidcsecret',
|
|
56506
|
+
'oidc_secret',
|
|
56507
|
+
'oidc-secret',
|
|
56508
|
+
'encryptionkey',
|
|
56509
|
+
'encryption_key',
|
|
56510
|
+
'encryption-key',
|
|
56511
|
+
'cryptokey',
|
|
56512
|
+
'crypto_key',
|
|
56513
|
+
'crypto-key',
|
|
56514
|
+
'hmackey',
|
|
56515
|
+
'hmac_key',
|
|
56516
|
+
'hmac-key',
|
|
56517
|
+
'rsaprivatekey',
|
|
56518
|
+
'rsa_private_key',
|
|
56519
|
+
'rsa-private-key',
|
|
56520
|
+
'privatekeyid',
|
|
56521
|
+
'private_key_id',
|
|
56522
|
+
'private-key-id',
|
|
56523
|
+
'privatekey',
|
|
56524
|
+
'private_key',
|
|
56525
|
+
'private-key',
|
|
56526
|
+
'certificate',
|
|
56527
|
+
'cert',
|
|
56528
|
+
'certificatekey',
|
|
56529
|
+
'certificate_key',
|
|
56530
|
+
'certificate-key',
|
|
56531
|
+
'credential',
|
|
56532
|
+
'credentials',
|
|
56533
|
+
'hash',
|
|
56534
|
+
'nonce',
|
|
56535
|
+
'jti',
|
|
56536
|
+
'fingerprint',
|
|
56537
|
+
'sessionid',
|
|
56538
|
+
'session_id',
|
|
56539
|
+
'session-id',
|
|
56540
|
+
'refreshtoken',
|
|
56541
|
+
'refresh_token',
|
|
56542
|
+
'refresh-token'
|
|
56543
|
+
];
|
|
56544
|
+
function createRedactRules(customPatterns = []) {
|
|
56545
|
+
const redactPaths = [];
|
|
56546
|
+
for (const field of BUILT_IN_SENSITIVE_FIELDS) {
|
|
56547
|
+
redactPaths.push(field);
|
|
56548
|
+
redactPaths.push(`*.${field}`);
|
|
56549
|
+
redactPaths.push(`**.${field}`);
|
|
56550
|
+
}
|
|
56551
|
+
if (customPatterns.length > 0) ;
|
|
56552
|
+
return redactPaths;
|
|
56553
|
+
}
|
|
56554
|
+
|
|
56555
|
+
let sharedPrettyTransport = null;
|
|
56556
|
+
let sharedDestination = null;
|
|
56557
|
+
function serializeError(err) {
|
|
56558
|
+
if (!err || typeof err !== 'object') {
|
|
56559
|
+
return err;
|
|
56560
|
+
}
|
|
56561
|
+
const error = err;
|
|
56562
|
+
if (typeof error.toJSON === 'function') {
|
|
56563
|
+
return error.toJSON();
|
|
56564
|
+
}
|
|
56565
|
+
return {
|
|
56566
|
+
...error,
|
|
56567
|
+
message: error.message,
|
|
56568
|
+
stack: error.stack,
|
|
56569
|
+
};
|
|
56570
|
+
}
|
|
56571
|
+
function createPrettyTransport() {
|
|
56572
|
+
return {
|
|
56573
|
+
target: 'pino-pretty',
|
|
56574
|
+
options: {
|
|
56575
|
+
colorize: true,
|
|
56576
|
+
translateTime: 'HH:MM:ss.l',
|
|
56577
|
+
ignore: 'pid,hostname',
|
|
56578
|
+
singleLine: false
|
|
56579
|
+
}
|
|
56580
|
+
};
|
|
56581
|
+
}
|
|
56582
|
+
function getSharedPrettyTransport() {
|
|
56583
|
+
if (!sharedPrettyTransport) {
|
|
56584
|
+
sharedPrettyTransport = pino.transport(createPrettyTransport());
|
|
56585
|
+
}
|
|
56586
|
+
return sharedPrettyTransport;
|
|
56587
|
+
}
|
|
56588
|
+
function getSharedDestination(format) {
|
|
56589
|
+
const envFormat = process.env.S3DB_LOG_FORMAT?.toLowerCase();
|
|
56590
|
+
const effectiveFormat = format ?? (envFormat === 'json' ? 'json' : 'pretty');
|
|
56591
|
+
if (effectiveFormat === 'json') {
|
|
56592
|
+
return undefined;
|
|
56593
|
+
}
|
|
56594
|
+
if (!sharedDestination) {
|
|
56595
|
+
sharedDestination = getSharedPrettyTransport();
|
|
56596
|
+
}
|
|
56597
|
+
return sharedDestination;
|
|
56598
|
+
}
|
|
56599
|
+
function createDefaultTransport() {
|
|
56600
|
+
const envFormat = process.env.S3DB_LOG_FORMAT?.toLowerCase();
|
|
56601
|
+
if (envFormat === 'json') {
|
|
56602
|
+
return undefined;
|
|
56603
|
+
}
|
|
56604
|
+
return createPrettyTransport();
|
|
56605
|
+
}
|
|
56606
|
+
function createLogger(options = {}) {
|
|
56607
|
+
const { level = 'info', name, format, transport, bindings = {}, redactPatterns = [] } = options;
|
|
56608
|
+
const redactRules = createRedactRules(redactPatterns);
|
|
56609
|
+
const normalizedBindings = bindings && typeof bindings === 'object' ? bindings : {};
|
|
56610
|
+
const useSharedDestination = !transport && format !== 'json';
|
|
56611
|
+
const destination = useSharedDestination ? getSharedDestination(format) : undefined;
|
|
56612
|
+
const config = {
|
|
56613
|
+
level,
|
|
56614
|
+
redact: redactRules,
|
|
56615
|
+
serializers: {
|
|
56616
|
+
err: serializeError,
|
|
56617
|
+
error: serializeError
|
|
56618
|
+
}
|
|
56619
|
+
};
|
|
56620
|
+
if (transport) {
|
|
56621
|
+
config.transport = transport;
|
|
56622
|
+
}
|
|
56623
|
+
else if (format === 'json') ;
|
|
56624
|
+
else if (!destination) {
|
|
56625
|
+
config.transport = createDefaultTransport();
|
|
56626
|
+
}
|
|
56627
|
+
let logger;
|
|
56628
|
+
if (destination) {
|
|
56629
|
+
logger = pino({ ...config, name }, destination);
|
|
56630
|
+
}
|
|
56631
|
+
else {
|
|
56632
|
+
logger = pino({ ...config, name });
|
|
56633
|
+
}
|
|
56634
|
+
const baseBindings = name ? { ...normalizedBindings, name } : normalizedBindings;
|
|
56635
|
+
if (baseBindings && Object.keys(baseBindings).length > 0) {
|
|
56636
|
+
logger = logger.child(baseBindings);
|
|
56637
|
+
}
|
|
56638
|
+
return logger;
|
|
56639
|
+
}
|
|
56640
|
+
function getLoggerOptionsFromEnv(configOptions = {}) {
|
|
56641
|
+
const options = { ...configOptions };
|
|
56642
|
+
if (process.env.S3DB_LOG_LEVEL) {
|
|
56643
|
+
options.level = process.env.S3DB_LOG_LEVEL;
|
|
56644
|
+
}
|
|
56645
|
+
if (process.env.S3DB_LOG_FORMAT) {
|
|
56646
|
+
const format = process.env.S3DB_LOG_FORMAT.toLowerCase();
|
|
56647
|
+
if (format === 'json' || format === 'pretty') {
|
|
56648
|
+
options.format = format;
|
|
56649
|
+
}
|
|
56650
|
+
}
|
|
56651
|
+
else if (process.env.S3DB_LOG_PRETTY === 'false') {
|
|
56652
|
+
options.format = 'json';
|
|
56653
|
+
}
|
|
56654
|
+
else if (process.env.S3DB_LOG_PRETTY === 'true') {
|
|
56655
|
+
options.format = 'pretty';
|
|
56656
|
+
}
|
|
56657
|
+
return options;
|
|
56658
|
+
}
|
|
56659
|
+
|
|
56680
56660
|
class MemoryStorage {
|
|
56681
56661
|
objects;
|
|
56682
56662
|
bucket;
|
|
@@ -66090,7 +66070,7 @@ class ResourceIdGenerator {
|
|
|
66090
66070
|
if (this._incrementalConfig) {
|
|
66091
66071
|
return 'incremental';
|
|
66092
66072
|
}
|
|
66093
|
-
return '
|
|
66073
|
+
return 'default';
|
|
66094
66074
|
}
|
|
66095
66075
|
async getSequenceValue(fieldName = 'id') {
|
|
66096
66076
|
if (!this._generator?._sequence) {
|
|
@@ -67888,7 +67868,9 @@ class ResourcePersistence {
|
|
|
67888
67868
|
Object.assign(validatedAttributes, extraData);
|
|
67889
67869
|
let finalId = validatedId || preProcessedData.id || id$1;
|
|
67890
67870
|
if (!finalId) {
|
|
67891
|
-
|
|
67871
|
+
const shouldUseData = this.resource.idGeneratorType === 'custom';
|
|
67872
|
+
const generatedId = shouldUseData ? this.idGenerator(preProcessedData) : this.idGenerator();
|
|
67873
|
+
finalId = await Promise.resolve(generatedId);
|
|
67892
67874
|
if (!finalId || String(finalId).trim() === '') {
|
|
67893
67875
|
const { idGenerator } = await Promise.resolve().then(function () { return id; });
|
|
67894
67876
|
finalId = idGenerator();
|
|
@@ -70484,8 +70466,8 @@ class Database extends SafeEventEmitter {
|
|
|
70484
70466
|
})();
|
|
70485
70467
|
this.version = '1';
|
|
70486
70468
|
this.s3dbVersion = (() => {
|
|
70487
|
-
const [ok, , version] = tryFnSync(() => (typeof globalThis['19.3.
|
|
70488
|
-
? globalThis['19.3.
|
|
70469
|
+
const [ok, , version] = tryFnSync(() => (typeof globalThis['19.3.23'] !== 'undefined' && globalThis['19.3.23'] !== '19.3.23'
|
|
70470
|
+
? globalThis['19.3.23']
|
|
70489
70471
|
: 'latest'));
|
|
70490
70472
|
return ok ? version : 'latest';
|
|
70491
70473
|
})();
|
|
@@ -72093,7 +72075,6 @@ exports.encrypt = encrypt;
|
|
|
72093
72075
|
exports.getBehavior = getBehavior;
|
|
72094
72076
|
exports.getProcessManager = getProcessManager;
|
|
72095
72077
|
exports.idGenerator = idGenerator;
|
|
72096
|
-
exports.initializeNanoid = initializeNanoid;
|
|
72097
72078
|
exports.mapAwsError = mapAwsError;
|
|
72098
72079
|
exports.mapWithConcurrency = mapWithConcurrency;
|
|
72099
72080
|
exports.passwordGenerator = passwordGenerator;
|
package/dist/s3db-lite.d.ts
CHANGED
|
@@ -2597,7 +2597,6 @@ declare function tryFnSync<T>(fn: () => T): TryResult<T>;
|
|
|
2597
2597
|
declare function encrypt(content: string, passphrase: string): Promise<string>;
|
|
2598
2598
|
declare function decrypt(encryptedBase64: string, passphrase: string): Promise<string>;
|
|
2599
2599
|
|
|
2600
|
-
declare function initializeNanoid(): Promise<void>;
|
|
2601
2600
|
declare const idGenerator: (size?: number) => string;
|
|
2602
2601
|
declare const passwordGenerator: (size?: number) => string;
|
|
2603
2602
|
declare const createCustomGenerator: (alphabet: string, size: number) => ((size?: number) => string);
|
|
@@ -3533,5 +3532,5 @@ declare class PerformanceMonitor {
|
|
|
3533
3532
|
private _avg;
|
|
3534
3533
|
}
|
|
3535
3534
|
|
|
3536
|
-
export { AVAILABLE_BEHAVIORS, AdaptiveTuning, AnalyticsNotEnabledError, AuthenticationError, BaseError, BehaviorError, Benchmark, S3Client as Client, ConnectionString, ConnectionStringError, CryptoError, DEFAULT_BEHAVIOR, Database, DatabaseError, EncryptionError, ErrorMap, FileSystemClient, InvalidResourceItem, MemoryClient, MetadataLimitError, MissingMetadata, NoSuchBucket, NoSuchKey, NotFound, PartitionDriverError, PartitionError, PerformanceMonitor, PermissionError, PluginError, PluginStorageError, ProcessManager, Resource, ResourceError, ResourceIdsPageReader, ResourceIdsReader, ResourceNotFound, ResourceReader, ResourceWriter, S3Client, Database as S3db, S3dbError, SafeEventEmitter, Schema, SchemaError, StreamError, TaskExecutor, TasksPool, TasksRunner, UnknownError, ValidationError, Validator, behaviors, benchmark, createCustomGenerator, createLogger, createSafeEventEmitter, decode, decodeBits, decodeBuffer, decodeDecimal, decrypt, S3db as default, encode, encodeBits, encodeBuffer, encodeDecimal, encrypt, getBehavior, getProcessManager, idGenerator,
|
|
3535
|
+
export { AVAILABLE_BEHAVIORS, AdaptiveTuning, AnalyticsNotEnabledError, AuthenticationError, BaseError, BehaviorError, Benchmark, S3Client as Client, ConnectionString, ConnectionStringError, CryptoError, DEFAULT_BEHAVIOR, Database, DatabaseError, EncryptionError, ErrorMap, FileSystemClient, InvalidResourceItem, MemoryClient, MetadataLimitError, MissingMetadata, NoSuchBucket, NoSuchKey, NotFound, PartitionDriverError, PartitionError, PerformanceMonitor, PermissionError, PluginError, PluginStorageError, ProcessManager, Resource, ResourceError, ResourceIdsPageReader, ResourceIdsReader, ResourceNotFound, ResourceReader, ResourceWriter, S3Client, Database as S3db, S3dbError, SafeEventEmitter, Schema, SchemaError, StreamError, TaskExecutor, TasksPool, TasksRunner, UnknownError, ValidationError, Validator, behaviors, benchmark, createCustomGenerator, createLogger, createSafeEventEmitter, decode, decodeBits, decodeBuffer, decodeDecimal, decrypt, S3db as default, encode, encodeBits, encodeBuffer, encodeDecimal, encrypt, getBehavior, getProcessManager, idGenerator, mapAwsError, mapWithConcurrency, passwordGenerator, resetProcessManager, streamToString, tryFn, tryFnSync };
|
|
3537
3536
|
export type { AnalyticsNotEnabledErrorDetails, BaseErrorContext, BehaviorErrorDetails, InvalidResourceItemDetails, LogLevel$1 as LogLevel, MapAwsErrorContext, MetadataLimitErrorDetails, NoSuchBucketDetails, NoSuchKeyDetails, PartitionDriverErrorDetails, PartitionErrorDetails, PluginErrorDetails, PluginStorageErrorDetails, ResourceNotFoundDetails, S3dbErrorDetails, SchemaRegistry, SerializedError, StreamErrorDetails, TryResult };
|