s3db.js 18.0.11-next.1534f717 → 18.0.11-next.e8e71b5b
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/clients/recker-http-handler.js +56 -8
- package/dist/clients/recker-http-handler.js.map +1 -1
- package/dist/concerns/high-performance-inserter.js +6 -34
- package/dist/concerns/high-performance-inserter.js.map +1 -1
- package/dist/concerns/id/alphabets.js +150 -0
- package/dist/concerns/id/alphabets.js.map +1 -0
- package/dist/concerns/id/entropy.js +243 -0
- package/dist/concerns/id/entropy.js.map +1 -0
- package/dist/concerns/id/generators/nanoid.js +74 -0
- package/dist/concerns/id/generators/nanoid.js.map +1 -0
- package/dist/concerns/id/generators/sid.js +73 -0
- package/dist/concerns/id/generators/sid.js.map +1 -0
- package/dist/concerns/id/generators/ulid.js +208 -0
- package/dist/concerns/id/generators/ulid.js.map +1 -0
- package/dist/concerns/id/generators/uuid-v7.js +150 -0
- package/dist/concerns/id/generators/uuid-v7.js.map +1 -0
- package/dist/concerns/id/index.js +74 -0
- package/dist/concerns/id/index.js.map +1 -0
- package/dist/concerns/plugin-storage.js +114 -0
- package/dist/concerns/plugin-storage.js.map +1 -1
- package/dist/concerns/s3-errors.js +72 -0
- package/dist/concerns/s3-errors.js.map +1 -0
- package/dist/concerns/s3-key.js +54 -0
- package/dist/concerns/s3-key.js.map +1 -0
- package/dist/concerns/safe-merge.js +47 -0
- package/dist/concerns/safe-merge.js.map +1 -0
- package/dist/core/resource-config-validator.js +12 -2
- package/dist/core/resource-config-validator.js.map +1 -1
- package/dist/core/resource-partitions.class.js +12 -1
- package/dist/core/resource-partitions.class.js.map +1 -1
- package/dist/core/resource-persistence.class.js +41 -12
- package/dist/core/resource-persistence.class.js.map +1 -1
- package/dist/core/resource-query.class.js +21 -47
- package/dist/core/resource-query.class.js.map +1 -1
- package/dist/database/database-connection.class.js +3 -6
- package/dist/database/database-connection.class.js.map +1 -1
- package/dist/database/database-plugins.class.js +7 -13
- package/dist/database/database-plugins.class.js.map +1 -1
- package/dist/plugins/concerns/s3-mutex.class.js +155 -0
- package/dist/plugins/concerns/s3-mutex.class.js.map +1 -0
- package/dist/plugins/eventual-consistency/consolidation.js +4 -7
- package/dist/plugins/eventual-consistency/consolidation.js.map +1 -1
- package/dist/plugins/eventual-consistency/garbage-collection.js +3 -6
- package/dist/plugins/eventual-consistency/garbage-collection.js.map +1 -1
- package/dist/plugins/queue-consumer.plugin.js +10 -16
- package/dist/plugins/queue-consumer.plugin.js.map +1 -1
- package/dist/plugins/recon/managers/scheduler-manager.js +3 -5
- package/dist/plugins/recon/managers/scheduler-manager.js.map +1 -1
- package/dist/plugins/recon/stages/recker-asn-stage.js +279 -0
- package/dist/plugins/recon/stages/recker-asn-stage.js.map +1 -0
- package/dist/plugins/recon/stages/recker-dns-stage.js +227 -0
- package/dist/plugins/recon/stages/recker-dns-stage.js.map +1 -0
- package/dist/plugins/recon/stages/recker-scrape-stage.js +369 -0
- package/dist/plugins/recon/stages/recker-scrape-stage.js.map +1 -0
- package/dist/plugins/replicator.plugin.js +13 -31
- package/dist/plugins/replicator.plugin.js.map +1 -1
- package/dist/plugins/replicators/base-replicator.class.js +10 -23
- package/dist/plugins/replicators/base-replicator.class.js.map +1 -1
- package/dist/plugins/spider/recker-link-discoverer.js +544 -0
- package/dist/plugins/spider/recker-link-discoverer.js.map +1 -0
- package/dist/plugins/spider/recker-llms-validator.js +334 -0
- package/dist/plugins/spider/recker-llms-validator.js.map +1 -0
- package/dist/plugins/spider/recker-robots-validator.js +336 -0
- package/dist/plugins/spider/recker-robots-validator.js.map +1 -0
- package/dist/plugins/spider/recker-security-adapter.js +325 -0
- package/dist/plugins/spider/recker-security-adapter.js.map +1 -0
- package/dist/plugins/spider/recker-seo-adapter.js +399 -0
- package/dist/plugins/spider/recker-seo-adapter.js.map +1 -0
- package/dist/plugins/spider/recker-sitemap-validator.js +406 -0
- package/dist/plugins/spider/recker-sitemap-validator.js.map +1 -0
- package/dist/resource.class.js +2 -0
- package/dist/resource.class.js.map +1 -1
- package/dist/s3db.cjs +444 -219
- package/dist/s3db.cjs.map +1 -1
- package/dist/s3db.es.js +445 -220
- package/dist/s3db.es.js.map +1 -1
- package/dist/stream/resource-reader.class.js +5 -7
- package/dist/stream/resource-reader.class.js.map +1 -1
- package/dist/stream/resource-writer.class.js +5 -7
- package/dist/stream/resource-writer.class.js.map +1 -1
- package/dist/tasks/tasks-pool.class.js +31 -0
- package/dist/tasks/tasks-pool.class.js.map +1 -1
- package/dist/types/clients/recker-http-handler.d.ts +1 -0
- package/dist/types/clients/recker-http-handler.d.ts.map +1 -1
- package/dist/types/clients/types.d.ts +14 -0
- package/dist/types/clients/types.d.ts.map +1 -1
- package/dist/types/concerns/high-performance-inserter.d.ts.map +1 -1
- package/dist/types/concerns/id/alphabets.d.ts +125 -0
- package/dist/types/concerns/id/alphabets.d.ts.map +1 -0
- package/dist/types/concerns/id/entropy.d.ts +84 -0
- package/dist/types/concerns/id/entropy.d.ts.map +1 -0
- package/dist/types/concerns/id/generators/nanoid.d.ts +46 -0
- package/dist/types/concerns/id/generators/nanoid.d.ts.map +1 -0
- package/dist/types/concerns/id/generators/sid.d.ts +45 -0
- package/dist/types/concerns/id/generators/sid.d.ts.map +1 -0
- package/dist/types/concerns/id/generators/ulid.d.ts +71 -0
- package/dist/types/concerns/id/generators/ulid.d.ts.map +1 -0
- package/dist/types/concerns/id/generators/uuid-v7.d.ts +60 -0
- package/dist/types/concerns/id/generators/uuid-v7.d.ts.map +1 -0
- package/dist/types/concerns/id/index.d.ts +51 -0
- package/dist/types/concerns/id/index.d.ts.map +1 -0
- package/dist/types/concerns/plugin-storage.d.ts +25 -0
- package/dist/types/concerns/plugin-storage.d.ts.map +1 -1
- package/dist/types/concerns/s3-errors.d.ts +20 -0
- package/dist/types/concerns/s3-errors.d.ts.map +1 -0
- package/dist/types/concerns/s3-key.d.ts +30 -0
- package/dist/types/concerns/s3-key.d.ts.map +1 -0
- package/dist/types/concerns/safe-merge.d.ts +22 -0
- package/dist/types/concerns/safe-merge.d.ts.map +1 -0
- package/dist/types/core/resource-config-validator.d.ts.map +1 -1
- package/dist/types/core/resource-partitions.class.d.ts.map +1 -1
- package/dist/types/core/resource-persistence.class.d.ts.map +1 -1
- package/dist/types/core/resource-query.class.d.ts.map +1 -1
- package/dist/types/database/database-connection.class.d.ts.map +1 -1
- package/dist/types/database/database-plugins.class.d.ts.map +1 -1
- package/dist/types/plugins/concerns/s3-mutex.class.d.ts +30 -0
- package/dist/types/plugins/concerns/s3-mutex.class.d.ts.map +1 -0
- package/dist/types/plugins/eventual-consistency/consolidation.d.ts.map +1 -1
- package/dist/types/plugins/eventual-consistency/garbage-collection.d.ts.map +1 -1
- package/dist/types/plugins/queue-consumer.plugin.d.ts.map +1 -1
- package/dist/types/plugins/recon/managers/scheduler-manager.d.ts.map +1 -1
- package/dist/types/plugins/recon/stages/recker-asn-stage.d.ts +90 -0
- package/dist/types/plugins/recon/stages/recker-asn-stage.d.ts.map +1 -0
- package/dist/types/plugins/recon/stages/recker-dns-stage.d.ts +125 -0
- package/dist/types/plugins/recon/stages/recker-dns-stage.d.ts.map +1 -0
- package/dist/types/plugins/recon/stages/recker-scrape-stage.d.ts +96 -0
- package/dist/types/plugins/recon/stages/recker-scrape-stage.d.ts.map +1 -0
- package/dist/types/plugins/replicator.plugin.d.ts.map +1 -1
- package/dist/types/plugins/replicators/base-replicator.class.d.ts.map +1 -1
- package/dist/types/plugins/spider/recker-link-discoverer.d.ts +54 -0
- package/dist/types/plugins/spider/recker-link-discoverer.d.ts.map +1 -0
- package/dist/types/plugins/spider/recker-llms-validator.d.ts +105 -0
- package/dist/types/plugins/spider/recker-llms-validator.d.ts.map +1 -0
- package/dist/types/plugins/spider/recker-robots-validator.d.ts +92 -0
- package/dist/types/plugins/spider/recker-robots-validator.d.ts.map +1 -0
- package/dist/types/plugins/spider/recker-security-adapter.d.ts +83 -0
- package/dist/types/plugins/spider/recker-security-adapter.d.ts.map +1 -0
- package/dist/types/plugins/spider/recker-seo-adapter.d.ts +187 -0
- package/dist/types/plugins/spider/recker-seo-adapter.d.ts.map +1 -0
- package/dist/types/plugins/spider/recker-sitemap-validator.d.ts +121 -0
- package/dist/types/plugins/spider/recker-sitemap-validator.d.ts.map +1 -0
- package/dist/types/resource.class.d.ts.map +1 -1
- package/dist/types/stream/resource-reader.class.d.ts.map +1 -1
- package/dist/types/stream/resource-writer.class.d.ts.map +1 -1
- package/dist/types/tasks/tasks-pool.class.d.ts +23 -0
- package/dist/types/tasks/tasks-pool.class.d.ts.map +1 -1
- package/mcp/prompts/index.ts +275 -0
- package/mcp/resources/index.ts +322 -0
- package/mcp/tools/plugins.ts +1137 -0
- package/mcp/tools/streams.ts +340 -0
- package/package.json +20 -22
- package/src/clients/recker-http-handler.ts +74 -8
- package/src/clients/types.ts +14 -0
- package/src/concerns/high-performance-inserter.ts +18 -57
- package/src/concerns/id/alphabets.ts +175 -0
- package/src/concerns/id/entropy.ts +286 -0
- package/src/concerns/id/generators/sid.ts +90 -0
- package/src/concerns/id/generators/ulid.ts +249 -0
- package/src/concerns/id/generators/uuid-v7.ts +179 -0
- package/src/concerns/id/index.ts +167 -0
- package/src/concerns/plugin-storage.ts +144 -0
- package/src/concerns/s3-errors.ts +97 -0
- package/src/concerns/s3-key.ts +62 -0
- package/src/concerns/safe-merge.ts +60 -0
- package/src/core/resource-config-validator.ts +9 -2
- package/src/core/resource-partitions.class.ts +14 -1
- package/src/core/resource-persistence.class.ts +47 -13
- package/src/core/resource-query.class.ts +21 -46
- package/src/database/database-connection.class.ts +7 -6
- package/src/database/database-plugins.class.ts +15 -13
- package/src/plugins/concerns/s3-mutex.class.ts +228 -0
- package/src/plugins/eventual-consistency/consolidation.ts +8 -7
- package/src/plugins/eventual-consistency/garbage-collection.ts +7 -6
- package/src/plugins/queue-consumer.plugin.ts +21 -19
- package/src/plugins/recon/managers/scheduler-manager.ts +7 -5
- package/src/plugins/recon/stages/recker-asn-stage.ts +385 -0
- package/src/plugins/recon/stages/recker-dns-stage.ts +360 -0
- package/src/plugins/recon/stages/recker-scrape-stage.ts +509 -0
- package/src/plugins/replicator.plugin.ts +41 -35
- package/src/plugins/replicators/base-replicator.class.ts +17 -23
- package/src/plugins/spider/recker-link-discoverer.ts +645 -0
- package/src/plugins/spider/recker-llms-validator.ts +500 -0
- package/src/plugins/spider/recker-robots-validator.ts +473 -0
- package/src/plugins/spider/recker-security-adapter.ts +489 -0
- package/src/plugins/spider/recker-seo-adapter.ts +605 -0
- package/src/plugins/spider/recker-sitemap-validator.ts +621 -0
- package/src/resource.class.ts +2 -0
- package/src/stream/resource-reader.class.ts +10 -8
- package/src/stream/resource-writer.class.ts +10 -8
- package/src/tasks/tasks-pool.class.ts +46 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Initialize or resize the entropy pool.
|
|
3
|
+
* Uses a pre-allocated buffer to reduce GC pressure and improve performance.
|
|
4
|
+
*/
|
|
5
|
+
export declare function initPool(size?: number): void;
|
|
6
|
+
/**
|
|
7
|
+
* Get cryptographically secure random bytes from the pool.
|
|
8
|
+
* Automatically refills the pool when exhausted.
|
|
9
|
+
*/
|
|
10
|
+
export declare function getRandomBytes(count: number): Uint8Array;
|
|
11
|
+
/**
|
|
12
|
+
* Fill a pre-allocated buffer with random bytes.
|
|
13
|
+
* More efficient than getRandomBytes when you already have a buffer.
|
|
14
|
+
*/
|
|
15
|
+
export declare function fillRandomBytes(buffer: Uint8Array): Uint8Array;
|
|
16
|
+
/**
|
|
17
|
+
* Generate a random index into an alphabet using rejection sampling.
|
|
18
|
+
* This eliminates modulo bias for non-power-of-2 alphabet sizes.
|
|
19
|
+
*
|
|
20
|
+
* For an alphabet of size N, we find the largest multiple of N that fits
|
|
21
|
+
* in 256 (or 65536 for larger alphabets). Any random value >= that threshold
|
|
22
|
+
* is rejected and we try again.
|
|
23
|
+
*
|
|
24
|
+
* Example: For alphabet size 62:
|
|
25
|
+
* - threshold = 256 - (256 % 62) = 256 - 8 = 248
|
|
26
|
+
* - We accept bytes 0-247 (maps evenly to 0-61, 4 times each)
|
|
27
|
+
* - We reject bytes 248-255 (would cause bias)
|
|
28
|
+
* - Rejection rate: 8/256 = 3.125%
|
|
29
|
+
*/
|
|
30
|
+
export declare function randomIndexUnbiased(alphabetSize: number): number;
|
|
31
|
+
/**
|
|
32
|
+
* Generate multiple unbiased random indices efficiently.
|
|
33
|
+
* Pre-calculates rejection threshold and batches random byte generation.
|
|
34
|
+
*/
|
|
35
|
+
export declare function randomIndicesUnbiased(alphabetSize: number, count: number): Uint16Array;
|
|
36
|
+
/**
|
|
37
|
+
* Generate a string from an alphabet using unbiased random selection.
|
|
38
|
+
* This is the core function for generating IDs.
|
|
39
|
+
*/
|
|
40
|
+
export declare function randomString(alphabet: string, length: number): string;
|
|
41
|
+
/**
|
|
42
|
+
* Generate a random 48-bit integer for timestamp-based IDs.
|
|
43
|
+
* Uses 6 bytes of entropy.
|
|
44
|
+
*/
|
|
45
|
+
export declare function random48(): bigint;
|
|
46
|
+
/**
|
|
47
|
+
* Generate a random 62-bit integer (fits in signed 64-bit).
|
|
48
|
+
* Uses 8 bytes of entropy with top 2 bits masked.
|
|
49
|
+
*/
|
|
50
|
+
export declare function random62(): bigint;
|
|
51
|
+
/**
|
|
52
|
+
* Generate a random 80-bit integer for ULID random component.
|
|
53
|
+
* Uses 10 bytes of entropy.
|
|
54
|
+
*/
|
|
55
|
+
export declare function random80(): bigint;
|
|
56
|
+
/**
|
|
57
|
+
* Calculate the entropy bits for a given alphabet size and ID length.
|
|
58
|
+
*/
|
|
59
|
+
export declare function calculateEntropyBits(alphabetSize: number, length: number): number;
|
|
60
|
+
/**
|
|
61
|
+
* Calculate the collision probability for a given number of IDs.
|
|
62
|
+
* Uses birthday paradox approximation: p ≈ n² / (2 * 2^bits)
|
|
63
|
+
*/
|
|
64
|
+
export declare function calculateCollisionProbability(entropyBits: number, idCount: number): number;
|
|
65
|
+
/**
|
|
66
|
+
* Reset the entropy pool (useful for testing).
|
|
67
|
+
*/
|
|
68
|
+
export declare function resetPool(): void;
|
|
69
|
+
declare const _default: {
|
|
70
|
+
initPool: typeof initPool;
|
|
71
|
+
getRandomBytes: typeof getRandomBytes;
|
|
72
|
+
fillRandomBytes: typeof fillRandomBytes;
|
|
73
|
+
randomIndexUnbiased: typeof randomIndexUnbiased;
|
|
74
|
+
randomIndicesUnbiased: typeof randomIndicesUnbiased;
|
|
75
|
+
randomString: typeof randomString;
|
|
76
|
+
random48: typeof random48;
|
|
77
|
+
random62: typeof random62;
|
|
78
|
+
random80: typeof random80;
|
|
79
|
+
calculateEntropyBits: typeof calculateEntropyBits;
|
|
80
|
+
calculateCollisionProbability: typeof calculateCollisionProbability;
|
|
81
|
+
resetPool: typeof resetPool;
|
|
82
|
+
};
|
|
83
|
+
export default _default;
|
|
84
|
+
//# sourceMappingURL=entropy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entropy.d.ts","sourceRoot":"","sources":["../../../../src/concerns/id/entropy.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,GAAE,MAA0B,GAAG,IAAI,CAK/D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAmBxD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAsB9D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CA8BhE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,CA6DtF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAUrE;AAED;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,MAAM,CAUjC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,MAAM,CAYjC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,MAAM,CAOjC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEjF;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAG1F;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,IAAI,CAGhC;;;;;;;;;;;;;;;AAED,wBAaE"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export interface NanoidOptions {
|
|
2
|
+
alphabet?: string;
|
|
3
|
+
size?: number;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Generate a nanoid-compatible ID.
|
|
7
|
+
* Default: 21 characters using URL-safe alphabet (126 bits of entropy).
|
|
8
|
+
*
|
|
9
|
+
* Unlike original nanoid which uses `bytes[i] & 63` (modulo bias for non-64 alphabets),
|
|
10
|
+
* this implementation uses rejection sampling for true uniform distribution.
|
|
11
|
+
*/
|
|
12
|
+
export declare function nanoid(size?: number): string;
|
|
13
|
+
/**
|
|
14
|
+
* Create a custom nanoid generator with specified alphabet.
|
|
15
|
+
* Returns a function that generates IDs with that alphabet.
|
|
16
|
+
*/
|
|
17
|
+
export declare function customAlphabet(alphabet: string, defaultSize?: number): (size?: number) => string;
|
|
18
|
+
/**
|
|
19
|
+
* Create a custom nanoid generator with alphabet name.
|
|
20
|
+
* Supports: URL_SAFE, ALPHANUMERIC, BASE58, HEX_LOWER, etc.
|
|
21
|
+
*/
|
|
22
|
+
export declare function customAlphabetByName(name: string, defaultSize?: number): (size?: number) => string;
|
|
23
|
+
/**
|
|
24
|
+
* Generate a nanoid with options object.
|
|
25
|
+
*/
|
|
26
|
+
export declare function nanoidWithOptions(options?: NanoidOptions): string;
|
|
27
|
+
/**
|
|
28
|
+
* Calculate entropy bits for a nanoid configuration.
|
|
29
|
+
*/
|
|
30
|
+
export declare function nanoidEntropyBits(alphabet?: string, size?: number): number;
|
|
31
|
+
/**
|
|
32
|
+
* Async version for compatibility with original nanoid/async.
|
|
33
|
+
* Note: Our implementation is already synchronous and fast,
|
|
34
|
+
* this is just for API compatibility.
|
|
35
|
+
*/
|
|
36
|
+
export declare function nanoidAsync(size?: number): Promise<string>;
|
|
37
|
+
/**
|
|
38
|
+
* Async version with custom alphabet.
|
|
39
|
+
*/
|
|
40
|
+
export declare function customAlphabetAsync(alphabet: string, defaultSize?: number): (size?: number) => Promise<string>;
|
|
41
|
+
/**
|
|
42
|
+
* URL-safe ID shorthand (backward compatibility).
|
|
43
|
+
*/
|
|
44
|
+
export declare const urlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
|
|
45
|
+
export default nanoid;
|
|
46
|
+
//# sourceMappingURL=nanoid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nanoid.d.ts","sourceRoot":"","sources":["../../../../../src/concerns/id/generators/nanoid.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,IAAI,GAAE,MAAqB,GAAG,MAAM,CAE1D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAE,MAAqB,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,MAAM,CAS9G;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,GAAE,MAAqB,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,MAAM,CAGhH;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,aAAkB,GAAG,MAAM,CAUrE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,GAAE,MAAiB,EAAE,IAAI,GAAE,MAAqB,GAAG,MAAM,CAGlG;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,GAAE,MAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAE9E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAE,MAAqB,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAG5H;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,qEAAW,CAAC;AAEpC,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export interface SidOptions {
|
|
2
|
+
alphabet?: string;
|
|
3
|
+
size?: number;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Generate a short unique ID (s3db id).
|
|
7
|
+
* Default: 21 characters using URL-safe alphabet (126 bits of entropy).
|
|
8
|
+
*
|
|
9
|
+
* Uses rejection sampling for true uniform distribution (zero modulo bias).
|
|
10
|
+
*/
|
|
11
|
+
export declare function sid(size?: number): string;
|
|
12
|
+
/**
|
|
13
|
+
* Create a custom sid generator with specified alphabet.
|
|
14
|
+
* Returns a function that generates IDs with that alphabet.
|
|
15
|
+
*/
|
|
16
|
+
export declare function customAlphabet(alphabet: string, defaultSize?: number): (size?: number) => string;
|
|
17
|
+
/**
|
|
18
|
+
* Create a custom sid generator with alphabet name.
|
|
19
|
+
* Supports: URL_SAFE, ALPHANUMERIC, BASE58, HEX_LOWER, etc.
|
|
20
|
+
*/
|
|
21
|
+
export declare function customAlphabetByName(name: string, defaultSize?: number): (size?: number) => string;
|
|
22
|
+
/**
|
|
23
|
+
* Generate a sid with options object.
|
|
24
|
+
*/
|
|
25
|
+
export declare function sidWithOptions(options?: SidOptions): string;
|
|
26
|
+
/**
|
|
27
|
+
* Calculate entropy bits for a sid configuration.
|
|
28
|
+
*/
|
|
29
|
+
export declare function sidEntropyBits(alphabet?: string, size?: number): number;
|
|
30
|
+
/**
|
|
31
|
+
* Async version for compatibility.
|
|
32
|
+
* Note: Our implementation is already synchronous and fast,
|
|
33
|
+
* this is just for API compatibility.
|
|
34
|
+
*/
|
|
35
|
+
export declare function sidAsync(size?: number): Promise<string>;
|
|
36
|
+
/**
|
|
37
|
+
* Async version with custom alphabet.
|
|
38
|
+
*/
|
|
39
|
+
export declare function customAlphabetAsync(alphabet: string, defaultSize?: number): (size?: number) => Promise<string>;
|
|
40
|
+
/**
|
|
41
|
+
* URL-safe alphabet constant.
|
|
42
|
+
*/
|
|
43
|
+
export declare const urlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
|
|
44
|
+
export default sid;
|
|
45
|
+
//# sourceMappingURL=sid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sid.d.ts","sourceRoot":"","sources":["../../../../../src/concerns/id/generators/sid.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,IAAI,GAAE,MAAqB,GAAG,MAAM,CAEvD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAE,MAAqB,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,MAAM,CAS9G;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,GAAE,MAAqB,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,MAAM,CAGhH;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,UAAe,GAAG,MAAM,CAU/D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,GAAE,MAAiB,EAAE,IAAI,GAAE,MAAqB,GAAG,MAAM,CAG/F;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,IAAI,GAAE,MAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAE3E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAE,MAAqB,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAG5H;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,qEAAW,CAAC;AAEpC,eAAe,GAAG,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate a ULID (Universally Unique Lexicographically Sortable Identifier).
|
|
3
|
+
*
|
|
4
|
+
* Structure (128 bits total):
|
|
5
|
+
* - 48 bits: Unix timestamp in milliseconds (encoded as 10 Crockford Base32 chars)
|
|
6
|
+
* - 80 bits: Random (encoded as 16 Crockford Base32 chars)
|
|
7
|
+
*
|
|
8
|
+
* Format: TTTTTTTTTTRRRRRRRRRRRRRRRRR (26 characters)
|
|
9
|
+
*
|
|
10
|
+
* Features:
|
|
11
|
+
* - Lexicographically sortable by timestamp
|
|
12
|
+
* - Case insensitive
|
|
13
|
+
* - No special characters (URL safe)
|
|
14
|
+
* - 1.21e+24 unique ULIDs per millisecond
|
|
15
|
+
*
|
|
16
|
+
* Monotonic: If called multiple times within the same millisecond,
|
|
17
|
+
* the random component is incremented to ensure sortability.
|
|
18
|
+
*/
|
|
19
|
+
export declare function ulid(timestamp?: number): string;
|
|
20
|
+
/**
|
|
21
|
+
* Generate a non-monotonic ULID.
|
|
22
|
+
* Does not increment random part for same-millisecond calls.
|
|
23
|
+
* Use when strict sortability within millisecond is not required.
|
|
24
|
+
*/
|
|
25
|
+
export declare function ulidNonMonotonic(timestamp?: number): string;
|
|
26
|
+
/**
|
|
27
|
+
* Decode a ULID timestamp to milliseconds.
|
|
28
|
+
*/
|
|
29
|
+
export declare function decodeTime(id: string): number;
|
|
30
|
+
/**
|
|
31
|
+
* Decode a ULID to Date object.
|
|
32
|
+
*/
|
|
33
|
+
export declare function decodeDate(id: string): Date;
|
|
34
|
+
/**
|
|
35
|
+
* Validate if a string is a valid ULID.
|
|
36
|
+
*/
|
|
37
|
+
export declare function isValidUlid(id: string): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Convert ULID to UUID format.
|
|
40
|
+
* Returns a UUID string representation of the ULID bytes.
|
|
41
|
+
*/
|
|
42
|
+
export declare function ulidToUuid(id: string): string;
|
|
43
|
+
/**
|
|
44
|
+
* Convert ULID to byte array.
|
|
45
|
+
*/
|
|
46
|
+
export declare function ulidToBytes(id: string): Uint8Array;
|
|
47
|
+
/**
|
|
48
|
+
* Convert byte array to ULID.
|
|
49
|
+
*/
|
|
50
|
+
export declare function bytesToUlid(bytes: Uint8Array): string;
|
|
51
|
+
/**
|
|
52
|
+
* Compare two ULIDs for sorting.
|
|
53
|
+
* Returns negative if a < b, positive if a > b, 0 if equal.
|
|
54
|
+
*/
|
|
55
|
+
export declare function compareUlid(a: string, b: string): number;
|
|
56
|
+
/**
|
|
57
|
+
* Generate minimum ULID for a given timestamp.
|
|
58
|
+
* Useful for range queries: "all ULIDs after timestamp X"
|
|
59
|
+
*/
|
|
60
|
+
export declare function minUlidForTime(timestamp: number): string;
|
|
61
|
+
/**
|
|
62
|
+
* Generate maximum ULID for a given timestamp.
|
|
63
|
+
* Useful for range queries: "all ULIDs before timestamp X"
|
|
64
|
+
*/
|
|
65
|
+
export declare function maxUlidForTime(timestamp: number): string;
|
|
66
|
+
/**
|
|
67
|
+
* Reset monotonic state (useful for testing).
|
|
68
|
+
*/
|
|
69
|
+
export declare function resetMonotonic(): void;
|
|
70
|
+
export default ulid;
|
|
71
|
+
//# sourceMappingURL=ulid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ulid.d.ts","sourceRoot":"","sources":["../../../../../src/concerns/id/generators/ulid.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAsB/C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ3D;AAiCD;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAoB7C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAa/C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAO7C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAwBlD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAiBrD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAGrC;AAED,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate a UUID v7 according to RFC 9562.
|
|
3
|
+
*
|
|
4
|
+
* Structure (128 bits total):
|
|
5
|
+
* - bits 0-47: Unix timestamp in milliseconds (48 bits)
|
|
6
|
+
* - bits 48-51: Version (4 bits, always 0111 = 7)
|
|
7
|
+
* - bits 52-63: Random (12 bits)
|
|
8
|
+
* - bits 64-65: Variant (2 bits, always 10)
|
|
9
|
+
* - bits 66-127: Random (62 bits)
|
|
10
|
+
*
|
|
11
|
+
* Format: xxxxxxxx-xxxx-7xxx-yxxx-xxxxxxxxxxxx
|
|
12
|
+
* where y is 8, 9, a, or b (variant bits)
|
|
13
|
+
*
|
|
14
|
+
* Total entropy: 74 bits random + 48 bits timestamp
|
|
15
|
+
* Sortable: Yes (lexicographically by timestamp)
|
|
16
|
+
*/
|
|
17
|
+
export declare function uuidv7(timestamp?: number): string;
|
|
18
|
+
/**
|
|
19
|
+
* Generate a UUID v7 without hyphens (compact form).
|
|
20
|
+
* 32 characters instead of 36.
|
|
21
|
+
*/
|
|
22
|
+
export declare function uuidv7Compact(timestamp?: number): string;
|
|
23
|
+
/**
|
|
24
|
+
* Generate a UUID v7 as bytes (Uint8Array).
|
|
25
|
+
* Useful for binary storage.
|
|
26
|
+
*/
|
|
27
|
+
export declare function uuidv7Bytes(timestamp?: number): Uint8Array;
|
|
28
|
+
/**
|
|
29
|
+
* Parse a UUID v7 string to extract timestamp.
|
|
30
|
+
* Returns the Unix timestamp in milliseconds.
|
|
31
|
+
*/
|
|
32
|
+
export declare function parseUuidv7Timestamp(uuid: string): number;
|
|
33
|
+
/**
|
|
34
|
+
* Parse a UUID v7 to Date object.
|
|
35
|
+
*/
|
|
36
|
+
export declare function parseUuidv7Date(uuid: string): Date;
|
|
37
|
+
/**
|
|
38
|
+
* Validate if a string is a valid UUID v7.
|
|
39
|
+
*/
|
|
40
|
+
export declare function isValidUuidv7(uuid: string): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Compare two UUID v7s for sorting.
|
|
43
|
+
* Returns negative if a < b, positive if a > b, 0 if equal.
|
|
44
|
+
*/
|
|
45
|
+
export declare function compareUuidv7(a: string, b: string): number;
|
|
46
|
+
/**
|
|
47
|
+
* Generate UUID v4 (random, non-sortable) for comparison.
|
|
48
|
+
* Provided for completeness but UUID v7 is preferred.
|
|
49
|
+
*/
|
|
50
|
+
export declare function uuidv4(): string;
|
|
51
|
+
/**
|
|
52
|
+
* Generate a nil UUID (all zeros).
|
|
53
|
+
*/
|
|
54
|
+
export declare function uuidNil(): string;
|
|
55
|
+
/**
|
|
56
|
+
* Generate a max UUID (all ones).
|
|
57
|
+
*/
|
|
58
|
+
export declare function uuidMax(): string;
|
|
59
|
+
export default uuidv7;
|
|
60
|
+
//# sourceMappingURL=uuid-v7.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uuid-v7.d.ts","sourceRoot":"","sources":["../../../../../src/concerns/id/generators/uuid-v7.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CA2CjD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAuB1D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASzD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAElD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGnD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAI1D;AAED;;;GAGG;AACH,wBAAgB,MAAM,IAAI,MAAM,CAgB/B;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* s3db.js ID Generation Module
|
|
3
|
+
*
|
|
4
|
+
* A superior ID generation system with:
|
|
5
|
+
* - True uniform distribution via rejection sampling (zero modulo bias)
|
|
6
|
+
* - Multiple ID formats: sid (s3db id), UUID v7, ULID
|
|
7
|
+
* - Sortable IDs with timestamp prefix
|
|
8
|
+
* - Pre-allocated entropy pool for performance
|
|
9
|
+
* - URL-safe and S3-safe by default
|
|
10
|
+
* - TypeScript native, zero external dependencies
|
|
11
|
+
*/
|
|
12
|
+
export { initPool, getRandomBytes, fillRandomBytes, randomIndexUnbiased, randomIndicesUnbiased, randomString, random48, random62, random80, calculateEntropyBits, calculateCollisionProbability, resetPool } from './entropy.js';
|
|
13
|
+
export { URL_SAFE, ALPHANUMERIC, ALPHANUMERIC_LOWER, ALPHANUMERIC_UPPER, HEX_LOWER, HEX_UPPER, CROCKFORD_BASE32, BASE58, BASE64_URL, NUMERIC, LOWERCASE, UPPERCASE, HUMAN_READABLE, NO_LOOKALIKE_LOWER, BINARY, EMOJI, alphabets, getAlphabet, recommendedLength, validateAlphabet, type AlphabetName } from './alphabets.js';
|
|
14
|
+
export { sid, customAlphabet, customAlphabetByName, sidWithOptions, sidEntropyBits, sidAsync, customAlphabetAsync, urlAlphabet, type SidOptions } from './generators/sid.js';
|
|
15
|
+
export { uuidv7, uuidv7Compact, uuidv7Bytes, parseUuidv7Timestamp, parseUuidv7Date, isValidUuidv7, compareUuidv7, uuidv4, uuidNil, uuidMax } from './generators/uuid-v7.js';
|
|
16
|
+
export { ulid, ulidNonMonotonic, decodeTime as ulidDecodeTime, decodeDate as ulidDecodeDate, isValidUlid, ulidToUuid, ulidToBytes, bytesToUlid, compareUlid, minUlidForTime, maxUlidForTime, resetMonotonic as ulidResetMonotonic } from './generators/ulid.js';
|
|
17
|
+
import { sid } from './generators/sid.js';
|
|
18
|
+
import { uuidv7 } from './generators/uuid-v7.js';
|
|
19
|
+
import { ulid } from './generators/ulid.js';
|
|
20
|
+
export type IdFormat = 'sid' | 'uuid' | 'uuidv7' | 'ulid';
|
|
21
|
+
export interface GenerateIdOptions {
|
|
22
|
+
format?: IdFormat;
|
|
23
|
+
size?: number;
|
|
24
|
+
alphabet?: string;
|
|
25
|
+
timestamp?: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Generate an ID with the specified format.
|
|
29
|
+
* Unified API for all ID formats.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* generateId() // sid (default)
|
|
33
|
+
* generateId({ format: 'uuid' }) // UUID v7
|
|
34
|
+
* generateId({ format: 'ulid' }) // ULID
|
|
35
|
+
* generateId({ size: 16 }) // shorter sid
|
|
36
|
+
* generateId({ alphabet: 'ALPHANUMERIC' }) // alphanumeric sid
|
|
37
|
+
*/
|
|
38
|
+
export declare function generateId(options?: GenerateIdOptions): string;
|
|
39
|
+
/**
|
|
40
|
+
* Check if an ID matches a specific format.
|
|
41
|
+
*/
|
|
42
|
+
export declare function detectIdFormat(id: string): IdFormat | null;
|
|
43
|
+
declare const _default: {
|
|
44
|
+
generateId: typeof generateId;
|
|
45
|
+
detectIdFormat: typeof detectIdFormat;
|
|
46
|
+
sid: typeof sid;
|
|
47
|
+
uuidv7: typeof uuidv7;
|
|
48
|
+
ulid: typeof ulid;
|
|
49
|
+
};
|
|
50
|
+
export default _default;
|
|
51
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/concerns/id/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,QAAQ,EACR,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,oBAAoB,EACpB,6BAA6B,EAC7B,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,MAAM,EACN,UAAU,EACV,OAAO,EACP,SAAS,EACT,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,MAAM,EACN,KAAK,EACL,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,GAAG,EACH,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,QAAQ,EACR,mBAAmB,EACnB,WAAW,EACX,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,aAAa,EACb,MAAM,EACN,OAAO,EACP,OAAO,EACR,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,IAAI,EACJ,gBAAgB,EAChB,UAAU,IAAI,cAAc,EAC5B,UAAU,IAAI,cAAc,EAC5B,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,IAAI,kBAAkB,EACrC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,GAAG,EAAkB,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAG5C,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE1D,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAmBlE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAkB1D;;;;;;;;AAED,wBAME"}
|
|
@@ -130,6 +130,31 @@ export declare class PluginStorage {
|
|
|
130
130
|
deleteAll(resourceName?: string | null): Promise<number>;
|
|
131
131
|
batchPut(items: BatchSetItem[]): Promise<BatchSetResult[]>;
|
|
132
132
|
batchGet(keys: string[]): Promise<BatchGetResult[]>;
|
|
133
|
+
/**
|
|
134
|
+
* Set data only if the key does not exist (conditional PUT).
|
|
135
|
+
* Uses ifNoneMatch: '*' to ensure atomicity.
|
|
136
|
+
* @returns The ETag (version) if set succeeded, null if key already exists.
|
|
137
|
+
*/
|
|
138
|
+
setIfNotExists(key: string, data: Record<string, unknown>, options?: PluginStorageSetOptions): Promise<string | null>;
|
|
139
|
+
/**
|
|
140
|
+
* Get data along with its version (ETag) for conditional updates.
|
|
141
|
+
* @returns Object with data and version, or { data: null, version: null } if not found.
|
|
142
|
+
*/
|
|
143
|
+
getWithVersion(key: string): Promise<{
|
|
144
|
+
data: Record<string, unknown> | null;
|
|
145
|
+
version: string | null;
|
|
146
|
+
}>;
|
|
147
|
+
/**
|
|
148
|
+
* Set data only if the current version matches (conditional PUT).
|
|
149
|
+
* Uses ifMatch to ensure no concurrent modifications.
|
|
150
|
+
* @returns The new ETag (version) if set succeeded, null if version mismatch.
|
|
151
|
+
*/
|
|
152
|
+
setIfVersion(key: string, data: Record<string, unknown>, version: string, options?: PluginStorageSetOptions): Promise<string | null>;
|
|
153
|
+
/**
|
|
154
|
+
* Delete data only if the current version matches (conditional DELETE).
|
|
155
|
+
* @returns true if deleted, false if version mismatch or key not found.
|
|
156
|
+
*/
|
|
157
|
+
deleteIfVersion(key: string, version: string): Promise<boolean>;
|
|
133
158
|
acquireLock(lockName: string, options?: AcquireOptions): Promise<LockHandle | null>;
|
|
134
159
|
releaseLock(lock: LockHandle | string, token?: string): Promise<void>;
|
|
135
160
|
withLock<T>(lockName: string, options: AcquireOptions, callback: (lock: LockHandle) => Promise<T>): Promise<T | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-storage.d.ts","sourceRoot":"","sources":["../../../src/concerns/plugin-storage.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"plugin-storage.d.ts","sourceRoot":"","sources":["../../../src/concerns/plugin-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* S3 Error Classification Utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides consistent error classification across all S3 operations.
|
|
5
|
+
* Handles differences between AWS SDK v3, MinIO, and other S3-compatible clients.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Checks if an error indicates the object/resource was not found.
|
|
9
|
+
* Handles various S3 client error formats (AWS SDK v3, MinIO, etc.)
|
|
10
|
+
*/
|
|
11
|
+
export declare function isNotFoundError(error: unknown): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Checks if an error indicates access was denied.
|
|
14
|
+
*/
|
|
15
|
+
export declare function isAccessDeniedError(error: unknown): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Checks if an error is a transient/retriable error (network, timeout, etc.)
|
|
18
|
+
*/
|
|
19
|
+
export declare function isTransientError(error: unknown): boolean;
|
|
20
|
+
//# sourceMappingURL=s3-errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3-errors.d.ts","sourceRoot":"","sources":["../../../src/concerns/s3-errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAgBvD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAY3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAoCxD"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* S3 Key Utilities
|
|
3
|
+
*
|
|
4
|
+
* S3 keys always use POSIX-style forward slashes regardless of the operating system.
|
|
5
|
+
* These utilities ensure consistent key construction across all platforms.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Join path segments for S3 keys using forward slashes.
|
|
9
|
+
* Unlike path.join(), this always uses '/' as separator.
|
|
10
|
+
* Also normalizes any backslashes within segments to forward slashes.
|
|
11
|
+
*/
|
|
12
|
+
export declare function joinS3Key(...segments: string[]): string;
|
|
13
|
+
/**
|
|
14
|
+
* Normalize an S3 key by replacing backslashes with forward slashes.
|
|
15
|
+
* Useful when migrating keys that may have been incorrectly constructed.
|
|
16
|
+
*/
|
|
17
|
+
export declare function normalizeS3Key(key: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Validates that a value is safe for use in S3 keys.
|
|
20
|
+
* IDs and partition values must be URL-friendly (no /, \, =, or %).
|
|
21
|
+
* Returns true if valid, false if contains unsafe characters.
|
|
22
|
+
*/
|
|
23
|
+
export declare function isValidS3KeySegment(value: string): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Validates a value for S3 key usage, throwing ValidationError if invalid.
|
|
26
|
+
* Use this for IDs and partition values.
|
|
27
|
+
* Accepts any value type - coerces to string for validation.
|
|
28
|
+
*/
|
|
29
|
+
export declare function validateS3KeySegment(value: unknown, context: string): void;
|
|
30
|
+
//# sourceMappingURL=s3-key.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3-key.d.ts","sourceRoot":"","sources":["../../../src/concerns/s3-key.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAMvD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAID;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAe1E"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Safe Merge Utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides functions to sanitize object keys before merging,
|
|
5
|
+
* preventing prototype pollution attacks via __proto__, constructor, or prototype keys.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Check if a key is dangerous for object property assignment.
|
|
9
|
+
* Handles both simple keys and dot-notation paths.
|
|
10
|
+
*/
|
|
11
|
+
export declare function isDangerousKey(key: string): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Filter out dangerous keys from an object.
|
|
14
|
+
* Returns a new object with only safe keys.
|
|
15
|
+
*/
|
|
16
|
+
export declare function sanitizeKeys<T extends Record<string, unknown>>(obj: T): T;
|
|
17
|
+
/**
|
|
18
|
+
* Recursively sanitize an object, removing dangerous keys at all levels.
|
|
19
|
+
* Use this for deep merge operations.
|
|
20
|
+
*/
|
|
21
|
+
export declare function sanitizeDeep<T>(obj: T): T;
|
|
22
|
+
//# sourceMappingURL=safe-merge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe-merge.d.ts","sourceRoot":"","sources":["../../../src/concerns/safe-merge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAYnD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAIzE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAkBzC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-config-validator.d.ts","sourceRoot":"","sources":["../../../src/core/resource-config-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"resource-config-validator.d.ts","sourceRoot":"","sources":["../../../src/core/resource-config-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D,MAAM,WAAW,kBAAkB;IACjC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY,CAAC;CACvC;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC;CAC3F;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,aAAa,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,4BAA4B,CAAC;AAElH,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,mBAAmB,GAAG,gBAAgB,CAqJpF;AAED,eAAe,sBAAsB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-partitions.class.d.ts","sourceRoot":"","sources":["../../../src/core/resource-partitions.class.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resource-partitions.class.d.ts","sourceRoot":"","sources":["../../../src/core/resource-partitions.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-persistence.class.d.ts","sourceRoot":"","sources":["../../../src/core/resource-persistence.class.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resource-persistence.class.d.ts","sourceRoot":"","sources":["../../../src/core/resource-persistence.class.ts"],"names":[],"mappings":"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"}
|