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.
Files changed (190) hide show
  1. package/dist/clients/recker-http-handler.js +56 -8
  2. package/dist/clients/recker-http-handler.js.map +1 -1
  3. package/dist/concerns/high-performance-inserter.js +6 -34
  4. package/dist/concerns/high-performance-inserter.js.map +1 -1
  5. package/dist/concerns/id/alphabets.js +150 -0
  6. package/dist/concerns/id/alphabets.js.map +1 -0
  7. package/dist/concerns/id/entropy.js +243 -0
  8. package/dist/concerns/id/entropy.js.map +1 -0
  9. package/dist/concerns/id/generators/nanoid.js +74 -0
  10. package/dist/concerns/id/generators/nanoid.js.map +1 -0
  11. package/dist/concerns/id/generators/sid.js +73 -0
  12. package/dist/concerns/id/generators/sid.js.map +1 -0
  13. package/dist/concerns/id/generators/ulid.js +208 -0
  14. package/dist/concerns/id/generators/ulid.js.map +1 -0
  15. package/dist/concerns/id/generators/uuid-v7.js +150 -0
  16. package/dist/concerns/id/generators/uuid-v7.js.map +1 -0
  17. package/dist/concerns/id/index.js +74 -0
  18. package/dist/concerns/id/index.js.map +1 -0
  19. package/dist/concerns/plugin-storage.js +114 -0
  20. package/dist/concerns/plugin-storage.js.map +1 -1
  21. package/dist/concerns/s3-errors.js +72 -0
  22. package/dist/concerns/s3-errors.js.map +1 -0
  23. package/dist/concerns/s3-key.js +54 -0
  24. package/dist/concerns/s3-key.js.map +1 -0
  25. package/dist/concerns/safe-merge.js +47 -0
  26. package/dist/concerns/safe-merge.js.map +1 -0
  27. package/dist/core/resource-config-validator.js +12 -2
  28. package/dist/core/resource-config-validator.js.map +1 -1
  29. package/dist/core/resource-partitions.class.js +12 -1
  30. package/dist/core/resource-partitions.class.js.map +1 -1
  31. package/dist/core/resource-persistence.class.js +41 -12
  32. package/dist/core/resource-persistence.class.js.map +1 -1
  33. package/dist/core/resource-query.class.js +21 -47
  34. package/dist/core/resource-query.class.js.map +1 -1
  35. package/dist/database/database-connection.class.js +3 -6
  36. package/dist/database/database-connection.class.js.map +1 -1
  37. package/dist/database/database-plugins.class.js +7 -13
  38. package/dist/database/database-plugins.class.js.map +1 -1
  39. package/dist/plugins/concerns/s3-mutex.class.js +155 -0
  40. package/dist/plugins/concerns/s3-mutex.class.js.map +1 -0
  41. package/dist/plugins/eventual-consistency/consolidation.js +4 -7
  42. package/dist/plugins/eventual-consistency/consolidation.js.map +1 -1
  43. package/dist/plugins/eventual-consistency/garbage-collection.js +3 -6
  44. package/dist/plugins/eventual-consistency/garbage-collection.js.map +1 -1
  45. package/dist/plugins/queue-consumer.plugin.js +10 -16
  46. package/dist/plugins/queue-consumer.plugin.js.map +1 -1
  47. package/dist/plugins/recon/managers/scheduler-manager.js +3 -5
  48. package/dist/plugins/recon/managers/scheduler-manager.js.map +1 -1
  49. package/dist/plugins/recon/stages/recker-asn-stage.js +279 -0
  50. package/dist/plugins/recon/stages/recker-asn-stage.js.map +1 -0
  51. package/dist/plugins/recon/stages/recker-dns-stage.js +227 -0
  52. package/dist/plugins/recon/stages/recker-dns-stage.js.map +1 -0
  53. package/dist/plugins/recon/stages/recker-scrape-stage.js +369 -0
  54. package/dist/plugins/recon/stages/recker-scrape-stage.js.map +1 -0
  55. package/dist/plugins/replicator.plugin.js +13 -31
  56. package/dist/plugins/replicator.plugin.js.map +1 -1
  57. package/dist/plugins/replicators/base-replicator.class.js +10 -23
  58. package/dist/plugins/replicators/base-replicator.class.js.map +1 -1
  59. package/dist/plugins/spider/recker-link-discoverer.js +544 -0
  60. package/dist/plugins/spider/recker-link-discoverer.js.map +1 -0
  61. package/dist/plugins/spider/recker-llms-validator.js +334 -0
  62. package/dist/plugins/spider/recker-llms-validator.js.map +1 -0
  63. package/dist/plugins/spider/recker-robots-validator.js +336 -0
  64. package/dist/plugins/spider/recker-robots-validator.js.map +1 -0
  65. package/dist/plugins/spider/recker-security-adapter.js +325 -0
  66. package/dist/plugins/spider/recker-security-adapter.js.map +1 -0
  67. package/dist/plugins/spider/recker-seo-adapter.js +399 -0
  68. package/dist/plugins/spider/recker-seo-adapter.js.map +1 -0
  69. package/dist/plugins/spider/recker-sitemap-validator.js +406 -0
  70. package/dist/plugins/spider/recker-sitemap-validator.js.map +1 -0
  71. package/dist/resource.class.js +2 -0
  72. package/dist/resource.class.js.map +1 -1
  73. package/dist/s3db.cjs +444 -219
  74. package/dist/s3db.cjs.map +1 -1
  75. package/dist/s3db.es.js +445 -220
  76. package/dist/s3db.es.js.map +1 -1
  77. package/dist/stream/resource-reader.class.js +5 -7
  78. package/dist/stream/resource-reader.class.js.map +1 -1
  79. package/dist/stream/resource-writer.class.js +5 -7
  80. package/dist/stream/resource-writer.class.js.map +1 -1
  81. package/dist/tasks/tasks-pool.class.js +31 -0
  82. package/dist/tasks/tasks-pool.class.js.map +1 -1
  83. package/dist/types/clients/recker-http-handler.d.ts +1 -0
  84. package/dist/types/clients/recker-http-handler.d.ts.map +1 -1
  85. package/dist/types/clients/types.d.ts +14 -0
  86. package/dist/types/clients/types.d.ts.map +1 -1
  87. package/dist/types/concerns/high-performance-inserter.d.ts.map +1 -1
  88. package/dist/types/concerns/id/alphabets.d.ts +125 -0
  89. package/dist/types/concerns/id/alphabets.d.ts.map +1 -0
  90. package/dist/types/concerns/id/entropy.d.ts +84 -0
  91. package/dist/types/concerns/id/entropy.d.ts.map +1 -0
  92. package/dist/types/concerns/id/generators/nanoid.d.ts +46 -0
  93. package/dist/types/concerns/id/generators/nanoid.d.ts.map +1 -0
  94. package/dist/types/concerns/id/generators/sid.d.ts +45 -0
  95. package/dist/types/concerns/id/generators/sid.d.ts.map +1 -0
  96. package/dist/types/concerns/id/generators/ulid.d.ts +71 -0
  97. package/dist/types/concerns/id/generators/ulid.d.ts.map +1 -0
  98. package/dist/types/concerns/id/generators/uuid-v7.d.ts +60 -0
  99. package/dist/types/concerns/id/generators/uuid-v7.d.ts.map +1 -0
  100. package/dist/types/concerns/id/index.d.ts +51 -0
  101. package/dist/types/concerns/id/index.d.ts.map +1 -0
  102. package/dist/types/concerns/plugin-storage.d.ts +25 -0
  103. package/dist/types/concerns/plugin-storage.d.ts.map +1 -1
  104. package/dist/types/concerns/s3-errors.d.ts +20 -0
  105. package/dist/types/concerns/s3-errors.d.ts.map +1 -0
  106. package/dist/types/concerns/s3-key.d.ts +30 -0
  107. package/dist/types/concerns/s3-key.d.ts.map +1 -0
  108. package/dist/types/concerns/safe-merge.d.ts +22 -0
  109. package/dist/types/concerns/safe-merge.d.ts.map +1 -0
  110. package/dist/types/core/resource-config-validator.d.ts.map +1 -1
  111. package/dist/types/core/resource-partitions.class.d.ts.map +1 -1
  112. package/dist/types/core/resource-persistence.class.d.ts.map +1 -1
  113. package/dist/types/core/resource-query.class.d.ts.map +1 -1
  114. package/dist/types/database/database-connection.class.d.ts.map +1 -1
  115. package/dist/types/database/database-plugins.class.d.ts.map +1 -1
  116. package/dist/types/plugins/concerns/s3-mutex.class.d.ts +30 -0
  117. package/dist/types/plugins/concerns/s3-mutex.class.d.ts.map +1 -0
  118. package/dist/types/plugins/eventual-consistency/consolidation.d.ts.map +1 -1
  119. package/dist/types/plugins/eventual-consistency/garbage-collection.d.ts.map +1 -1
  120. package/dist/types/plugins/queue-consumer.plugin.d.ts.map +1 -1
  121. package/dist/types/plugins/recon/managers/scheduler-manager.d.ts.map +1 -1
  122. package/dist/types/plugins/recon/stages/recker-asn-stage.d.ts +90 -0
  123. package/dist/types/plugins/recon/stages/recker-asn-stage.d.ts.map +1 -0
  124. package/dist/types/plugins/recon/stages/recker-dns-stage.d.ts +125 -0
  125. package/dist/types/plugins/recon/stages/recker-dns-stage.d.ts.map +1 -0
  126. package/dist/types/plugins/recon/stages/recker-scrape-stage.d.ts +96 -0
  127. package/dist/types/plugins/recon/stages/recker-scrape-stage.d.ts.map +1 -0
  128. package/dist/types/plugins/replicator.plugin.d.ts.map +1 -1
  129. package/dist/types/plugins/replicators/base-replicator.class.d.ts.map +1 -1
  130. package/dist/types/plugins/spider/recker-link-discoverer.d.ts +54 -0
  131. package/dist/types/plugins/spider/recker-link-discoverer.d.ts.map +1 -0
  132. package/dist/types/plugins/spider/recker-llms-validator.d.ts +105 -0
  133. package/dist/types/plugins/spider/recker-llms-validator.d.ts.map +1 -0
  134. package/dist/types/plugins/spider/recker-robots-validator.d.ts +92 -0
  135. package/dist/types/plugins/spider/recker-robots-validator.d.ts.map +1 -0
  136. package/dist/types/plugins/spider/recker-security-adapter.d.ts +83 -0
  137. package/dist/types/plugins/spider/recker-security-adapter.d.ts.map +1 -0
  138. package/dist/types/plugins/spider/recker-seo-adapter.d.ts +187 -0
  139. package/dist/types/plugins/spider/recker-seo-adapter.d.ts.map +1 -0
  140. package/dist/types/plugins/spider/recker-sitemap-validator.d.ts +121 -0
  141. package/dist/types/plugins/spider/recker-sitemap-validator.d.ts.map +1 -0
  142. package/dist/types/resource.class.d.ts.map +1 -1
  143. package/dist/types/stream/resource-reader.class.d.ts.map +1 -1
  144. package/dist/types/stream/resource-writer.class.d.ts.map +1 -1
  145. package/dist/types/tasks/tasks-pool.class.d.ts +23 -0
  146. package/dist/types/tasks/tasks-pool.class.d.ts.map +1 -1
  147. package/mcp/prompts/index.ts +275 -0
  148. package/mcp/resources/index.ts +322 -0
  149. package/mcp/tools/plugins.ts +1137 -0
  150. package/mcp/tools/streams.ts +340 -0
  151. package/package.json +20 -22
  152. package/src/clients/recker-http-handler.ts +74 -8
  153. package/src/clients/types.ts +14 -0
  154. package/src/concerns/high-performance-inserter.ts +18 -57
  155. package/src/concerns/id/alphabets.ts +175 -0
  156. package/src/concerns/id/entropy.ts +286 -0
  157. package/src/concerns/id/generators/sid.ts +90 -0
  158. package/src/concerns/id/generators/ulid.ts +249 -0
  159. package/src/concerns/id/generators/uuid-v7.ts +179 -0
  160. package/src/concerns/id/index.ts +167 -0
  161. package/src/concerns/plugin-storage.ts +144 -0
  162. package/src/concerns/s3-errors.ts +97 -0
  163. package/src/concerns/s3-key.ts +62 -0
  164. package/src/concerns/safe-merge.ts +60 -0
  165. package/src/core/resource-config-validator.ts +9 -2
  166. package/src/core/resource-partitions.class.ts +14 -1
  167. package/src/core/resource-persistence.class.ts +47 -13
  168. package/src/core/resource-query.class.ts +21 -46
  169. package/src/database/database-connection.class.ts +7 -6
  170. package/src/database/database-plugins.class.ts +15 -13
  171. package/src/plugins/concerns/s3-mutex.class.ts +228 -0
  172. package/src/plugins/eventual-consistency/consolidation.ts +8 -7
  173. package/src/plugins/eventual-consistency/garbage-collection.ts +7 -6
  174. package/src/plugins/queue-consumer.plugin.ts +21 -19
  175. package/src/plugins/recon/managers/scheduler-manager.ts +7 -5
  176. package/src/plugins/recon/stages/recker-asn-stage.ts +385 -0
  177. package/src/plugins/recon/stages/recker-dns-stage.ts +360 -0
  178. package/src/plugins/recon/stages/recker-scrape-stage.ts +509 -0
  179. package/src/plugins/replicator.plugin.ts +41 -35
  180. package/src/plugins/replicators/base-replicator.class.ts +17 -23
  181. package/src/plugins/spider/recker-link-discoverer.ts +645 -0
  182. package/src/plugins/spider/recker-llms-validator.ts +500 -0
  183. package/src/plugins/spider/recker-robots-validator.ts +473 -0
  184. package/src/plugins/spider/recker-security-adapter.ts +489 -0
  185. package/src/plugins/spider/recker-seo-adapter.ts +605 -0
  186. package/src/plugins/spider/recker-sitemap-validator.ts +621 -0
  187. package/src/resource.class.ts +2 -0
  188. package/src/stream/resource-reader.class.ts +10 -8
  189. package/src/stream/resource-writer.class.ts +10 -8
  190. package/src/tasks/tasks-pool.class.ts +46 -0
@@ -1,4 +1,4 @@
1
- import { createClient } from 'recker';
1
+ import { createClient, expandHTTP2Options, Http2Error, parseHttp2Error, createHttp2MetricsHooks, getGlobalHttp2Metrics, } from 'recker';
2
2
  import { Readable } from 'node:stream';
3
3
  class CircuitBreaker {
4
4
  threshold;
@@ -98,6 +98,15 @@ function calculateRetryDelay(attempt, baseDelay, maxDelay, useJitter = true) {
98
98
  }
99
99
  function isRetryableError(error, statusCode) {
100
100
  if (error) {
101
+ // Check for HTTP/2 specific errors first
102
+ const h2Error = parseHttp2Error(error);
103
+ if (h2Error) {
104
+ return h2Error.retriable;
105
+ }
106
+ // Check for native HTTP/2 errors
107
+ if (error instanceof Http2Error) {
108
+ return error.retriable;
109
+ }
101
110
  const code = error.code;
102
111
  if (code === 'ECONNRESET' || code === 'ETIMEDOUT' || code === 'ENOTFOUND' ||
103
112
  code === 'ECONNREFUSED' || code === 'EPIPE' || code === 'UND_ERR_SOCKET' ||
@@ -114,6 +123,17 @@ function isRetryableError(error, statusCode) {
114
123
  }
115
124
  return false;
116
125
  }
126
+ /**
127
+ * Get additional retry delay for HTTP/2 errors like ENHANCE_YOUR_CALM
128
+ */
129
+ function getHttp2RetryDelay(error) {
130
+ const h2Error = parseHttp2Error(error);
131
+ if (h2Error && h2Error.errorCode === 'ENHANCE_YOUR_CALM') {
132
+ // Server is rate limiting, wait longer (5-10 seconds)
133
+ return 5000 + Math.random() * 5000;
134
+ }
135
+ return undefined;
136
+ }
117
137
  function parseRetryAfter(headerValue) {
118
138
  if (!headerValue)
119
139
  return undefined;
@@ -135,6 +155,7 @@ export class ReckerHttpHandler {
135
155
  deduplicator;
136
156
  circuitBreaker;
137
157
  metrics;
158
+ http2MetricsEnabled;
138
159
  constructor(options = {}) {
139
160
  this.options = {
140
161
  connectTimeout: 10000,
@@ -146,6 +167,9 @@ export class ReckerHttpHandler {
146
167
  pipelining: 10,
147
168
  http2: true,
148
169
  http2MaxConcurrentStreams: 100,
170
+ http2Preset: 'performance', // Default to performance preset for S3 workloads
171
+ expectContinue: 2 * 1024 * 1024, // 2MB threshold for Expect: 100-Continue
172
+ enableHttp2Metrics: false,
149
173
  enableDedup: true,
150
174
  enableCircuitBreaker: true,
151
175
  circuitBreakerThreshold: 5,
@@ -158,6 +182,15 @@ export class ReckerHttpHandler {
158
182
  respectRetryAfter: true,
159
183
  ...options,
160
184
  };
185
+ this.http2MetricsEnabled = this.options.enableHttp2Metrics;
186
+ // Build HTTP/2 configuration using presets
187
+ const http2Config = this.options.http2
188
+ ? this.options.http2Preset
189
+ ? expandHTTP2Options(this.options.http2Preset)
190
+ : { enabled: true, maxConcurrentStreams: this.options.http2MaxConcurrentStreams }
191
+ : false;
192
+ // Build hooks for HTTP/2 observability
193
+ const hooks = this.http2MetricsEnabled ? createHttp2MetricsHooks() : undefined;
161
194
  this.client = createClient({
162
195
  timeout: {
163
196
  lookup: 5000,
@@ -166,10 +199,8 @@ export class ReckerHttpHandler {
166
199
  response: this.options.headersTimeout,
167
200
  request: this.options.bodyTimeout,
168
201
  },
169
- http2: this.options.http2 ? {
170
- enabled: true,
171
- maxConcurrentStreams: this.options.http2MaxConcurrentStreams,
172
- } : false,
202
+ http2: http2Config,
203
+ expectContinue: this.options.expectContinue,
173
204
  concurrency: {
174
205
  max: this.options.connections * 10,
175
206
  agent: {
@@ -180,7 +211,8 @@ export class ReckerHttpHandler {
180
211
  keepAliveMaxTimeout: this.options.keepAliveMaxTimeout,
181
212
  },
182
213
  },
183
- observability: false,
214
+ hooks,
215
+ observability: this.http2MetricsEnabled,
184
216
  });
185
217
  this.deduplicator = this.options.enableDedup ? new RequestDeduplicator() : null;
186
218
  this.circuitBreaker = this.options.enableCircuitBreaker ? new CircuitBreaker({
@@ -270,7 +302,11 @@ export class ReckerHttpHandler {
270
302
  }
271
303
  if (this.options.enableRetry && attempt < maxAttempts && isRetryableError(error)) {
272
304
  this.metrics.retries++;
273
- const delay = calculateRetryDelay(attempt, this.options.retryDelay, this.options.maxRetryDelay, this.options.retryJitter);
305
+ // Check for HTTP/2 specific retry delay (e.g., ENHANCE_YOUR_CALM)
306
+ const h2Delay = getHttp2RetryDelay(error);
307
+ const delay = h2Delay !== undefined
308
+ ? Math.min(h2Delay, this.options.maxRetryDelay)
309
+ : calculateRetryDelay(attempt, this.options.retryDelay, this.options.maxRetryDelay, this.options.retryJitter);
274
310
  await new Promise(resolve => setTimeout(resolve, delay));
275
311
  continue;
276
312
  }
@@ -296,13 +332,25 @@ export class ReckerHttpHandler {
296
332
  return { ...this.options };
297
333
  }
298
334
  getMetrics() {
299
- return {
335
+ const metrics = {
300
336
  ...this.metrics,
301
337
  circuitStates: this.circuitBreaker
302
338
  ? Object.fromEntries(this.circuitBreaker.circuits)
303
339
  : {},
304
340
  pendingDeduped: this.deduplicator?.size || 0,
305
341
  };
342
+ // Include HTTP/2 metrics if enabled
343
+ if (this.http2MetricsEnabled) {
344
+ const h2Summary = getGlobalHttp2Metrics().getSummary();
345
+ metrics.http2 = {
346
+ sessions: h2Summary.totals.sessions,
347
+ activeSessions: h2Summary.totals.activeSessions,
348
+ streams: h2Summary.totals.streams,
349
+ activeStreams: h2Summary.totals.activeStreams,
350
+ errors: h2Summary.totals.errors,
351
+ };
352
+ }
353
+ return metrics;
306
354
  }
307
355
  resetMetrics() {
308
356
  this.metrics = {
@@ -1 +1 @@
1
- {"version":3,"file":"recker-http-handler.js","sourceRoot":"","sources":["../../src/clients/recker-http-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recker-http-handler.js","sourceRoot":"","sources":["../../src/clients/recker-http-handler.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,5 @@
1
1
  import { tryFn } from './try-fn.js';
2
- let PromisePoolCache = null;
3
- async function loadPromisePool() {
4
- if (PromisePoolCache)
5
- return PromisePoolCache;
6
- try {
7
- const module = await import('@supercharge/promise-pool');
8
- PromisePoolCache = module;
9
- return PromisePoolCache;
10
- }
11
- catch {
12
- throw new Error('Failed to load @supercharge/promise-pool. Please install it: pnpm add @supercharge/promise-pool');
13
- }
14
- }
2
+ import { TasksPool } from '../tasks/tasks-pool.class.js';
15
3
  export class HighPerformanceInserter {
16
4
  resource;
17
5
  batchSize;
@@ -77,13 +65,7 @@ export class HighPerformanceInserter {
77
65
  const batch = this.insertBuffer.splice(0, this.batchSize);
78
66
  const startTime = Date.now();
79
67
  const [ok] = await tryFn(async () => {
80
- const { PromisePool } = await loadPromisePool();
81
- const { results, errors } = await PromisePool
82
- .for(batch)
83
- .withConcurrency(this.concurrency)
84
- .process(async (item) => {
85
- return await this.performInsert(item);
86
- });
68
+ const { results, errors } = await TasksPool.map(batch, async (item) => this.performInsert(item), { concurrency: this.concurrency });
87
69
  const duration = Date.now() - startTime;
88
70
  this.stats.inserted += results.filter(r => r.success).length;
89
71
  this.stats.failed += errors.length;
@@ -135,11 +117,7 @@ export class HighPerformanceInserter {
135
117
  this.partitionProcessor = null;
136
118
  return;
137
119
  }
138
- const { PromisePool } = await loadPromisePool();
139
- await PromisePool
140
- .for(batch)
141
- .withConcurrency(10)
142
- .process(async (item) => {
120
+ await TasksPool.map(batch, async (item) => {
143
121
  const [ok, err] = await tryFn(() => this.resource.createPartitionReferences(item.data));
144
122
  if (ok) {
145
123
  this.stats.partitionsPending--;
@@ -150,7 +128,7 @@ export class HighPerformanceInserter {
150
128
  error: err
151
129
  });
152
130
  }
153
- });
131
+ }, { concurrency: 10 });
154
132
  if (this.partitionQueue.length > 0) {
155
133
  this.processPartitionsAsync();
156
134
  }
@@ -213,17 +191,11 @@ export class StreamInserter {
213
191
  return { id, inserted: true };
214
192
  }
215
193
  async bulkInsert(items) {
216
- const { PromisePool } = await loadPromisePool();
217
- const { results, errors } = await PromisePool
218
- .for(items)
219
- .withConcurrency(this.concurrency)
220
- .process(async (item) => {
221
- return await this.fastInsert(item);
222
- });
194
+ const { results, errors } = await TasksPool.map(items, async (item) => this.fastInsert(item), { concurrency: this.concurrency });
223
195
  return {
224
196
  success: results.length,
225
197
  failed: errors.length,
226
- errors: errors.slice(0, 10)
198
+ errors: errors.map(e => e.error).slice(0, 10)
227
199
  };
228
200
  }
229
201
  }
@@ -1 +1 @@
1
- {"version":3,"file":"high-performance-inserter.js","sourceRoot":"","sources":["../../src/concerns/high-performance-inserter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"high-performance-inserter.js","sourceRoot":"","sources":["../../src/concerns/high-performance-inserter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * URL-safe alphabet (64 chars).
3
+ * Entropy: 6 bits per character
4
+ * 21 chars = 126 bits of entropy
5
+ */
6
+ export const URL_SAFE = 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict';
7
+ /**
8
+ * URL-safe alphabet without special chars (62 chars).
9
+ * Alphanumeric only: a-z, A-Z, 0-9
10
+ * Entropy: ~5.95 bits per character
11
+ * 22 chars = ~131 bits of entropy
12
+ */
13
+ export const ALPHANUMERIC = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
14
+ /**
15
+ * Lowercase alphanumeric (36 chars).
16
+ * Entropy: ~5.17 bits per character
17
+ * 25 chars = ~129 bits of entropy
18
+ */
19
+ export const ALPHANUMERIC_LOWER = '0123456789abcdefghijklmnopqrstuvwxyz';
20
+ /**
21
+ * Uppercase alphanumeric (36 chars).
22
+ * Entropy: ~5.17 bits per character
23
+ */
24
+ export const ALPHANUMERIC_UPPER = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
25
+ /**
26
+ * Hexadecimal lowercase (16 chars).
27
+ * Entropy: 4 bits per character
28
+ * 32 chars = 128 bits of entropy
29
+ */
30
+ export const HEX_LOWER = '0123456789abcdef';
31
+ /**
32
+ * Hexadecimal uppercase (16 chars).
33
+ */
34
+ export const HEX_UPPER = '0123456789ABCDEF';
35
+ /**
36
+ * Crockford Base32 (32 chars) - Used by ULID.
37
+ * Excludes I, L, O, U to avoid confusion.
38
+ * Entropy: 5 bits per character
39
+ * 26 chars = 130 bits of entropy
40
+ */
41
+ export const CROCKFORD_BASE32 = '0123456789ABCDEFGHJKMNPQRSTVWXYZ';
42
+ /**
43
+ * Base58 Bitcoin alphabet (58 chars).
44
+ * Excludes 0, O, I, l to avoid confusion.
45
+ * Entropy: ~5.86 bits per character
46
+ */
47
+ export const BASE58 = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
48
+ /**
49
+ * Base64 URL-safe alphabet (64 chars).
50
+ * Standard RFC 4648 with - and _ instead of + and /
51
+ * Entropy: 6 bits per character
52
+ */
53
+ export const BASE64_URL = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_';
54
+ /**
55
+ * Numeric only (10 chars).
56
+ * Entropy: ~3.32 bits per character
57
+ * 39 chars = ~129 bits of entropy
58
+ */
59
+ export const NUMERIC = '0123456789';
60
+ /**
61
+ * Lowercase letters only (26 chars).
62
+ * Entropy: ~4.7 bits per character
63
+ */
64
+ export const LOWERCASE = 'abcdefghijklmnopqrstuvwxyz';
65
+ /**
66
+ * Uppercase letters only (26 chars).
67
+ */
68
+ export const UPPERCASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
69
+ /**
70
+ * Human-readable alphabet (32 chars).
71
+ * Excludes similar-looking characters: 0, O, I, l, 1
72
+ * Good for manual entry scenarios.
73
+ * Entropy: 5 bits per character
74
+ */
75
+ export const HUMAN_READABLE = '23456789ABCDEFGHJKMNPQRSTUVWXYZabcdefghjkmnpqrstuvwxyz';
76
+ /**
77
+ * No-look-alike lowercase (23 chars).
78
+ * Excludes: 0, 1, l, o, i
79
+ * Entropy: ~4.52 bits per character
80
+ */
81
+ export const NO_LOOKALIKE_LOWER = '23456789abcdefghjkmnpqrstuvwxyz';
82
+ /**
83
+ * Binary alphabet (2 chars).
84
+ * Entropy: 1 bit per character
85
+ */
86
+ export const BINARY = '01';
87
+ /**
88
+ * Emoji alphabet (64 emojis) - Fun but use with caution.
89
+ * UTF-8 encoding varies (2-4 bytes per emoji).
90
+ */
91
+ export const EMOJI = '🚀🎉💡đŸ”ĨâšĄđŸŒŸđŸ’ŽđŸŽ¯đŸ†đŸŽ¨đŸŽ­đŸŽĒđŸŽĸ🎡🎠🏰đŸ—ŧđŸ—Ŋâ›Šī¸đŸ¯đŸŸī¸đŸŽ¸đŸŽēđŸŽģđŸĨđŸŽšđŸŽŧ🎤🎧đŸŽŦđŸŽĨ📸🔮🎱🎲🎰🃏🀄🎴🎭🎨đŸ–ŧī¸đŸŽĒđŸŽĸ🎡🎠🏰đŸ—ŧđŸ—Ŋâ›Šī¸đŸ¯đŸŸī¸đŸŽ¸đŸŽēđŸŽģđŸĨđŸŽšđŸŽŧ🎤🎧';
92
+ export const alphabets = {
93
+ URL_SAFE,
94
+ ALPHANUMERIC,
95
+ ALPHANUMERIC_LOWER,
96
+ ALPHANUMERIC_UPPER,
97
+ HEX_LOWER,
98
+ HEX_UPPER,
99
+ CROCKFORD_BASE32,
100
+ BASE58,
101
+ BASE64_URL,
102
+ NUMERIC,
103
+ LOWERCASE,
104
+ UPPERCASE,
105
+ HUMAN_READABLE,
106
+ NO_LOOKALIKE_LOWER,
107
+ BINARY,
108
+ EMOJI
109
+ };
110
+ /**
111
+ * Get alphabet by name or return custom alphabet string.
112
+ */
113
+ export function getAlphabet(nameOrCustom) {
114
+ if (nameOrCustom in alphabets) {
115
+ return alphabets[nameOrCustom];
116
+ }
117
+ return nameOrCustom;
118
+ }
119
+ /**
120
+ * Calculate recommended ID length for target entropy bits.
121
+ */
122
+ export function recommendedLength(alphabet, targetEntropyBits = 128) {
123
+ const bitsPerChar = Math.log2(alphabet.length);
124
+ return Math.ceil(targetEntropyBits / bitsPerChar);
125
+ }
126
+ /**
127
+ * Validate an alphabet string.
128
+ * Returns null if valid, error message if invalid.
129
+ */
130
+ export function validateAlphabet(alphabet) {
131
+ if (!alphabet || alphabet.length === 0) {
132
+ return 'Alphabet cannot be empty';
133
+ }
134
+ if (alphabet.length === 1) {
135
+ return 'Alphabet must have at least 2 characters';
136
+ }
137
+ if (alphabet.length > 65536) {
138
+ return 'Alphabet cannot exceed 65536 characters';
139
+ }
140
+ const seen = new Set();
141
+ for (const char of alphabet) {
142
+ if (seen.has(char)) {
143
+ return `Duplicate character in alphabet: "${char}"`;
144
+ }
145
+ seen.add(char);
146
+ }
147
+ return null;
148
+ }
149
+ export default alphabets;
150
+ //# sourceMappingURL=alphabets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alphabets.js","sourceRoot":"","sources":["../../../src/concerns/id/alphabets.ts"],"names":[],"mappings":"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"}