s3db.js 19.3.17 → 19.3.19

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 (531) hide show
  1. package/dist/clients/recker-http-handler.js +23 -1
  2. package/dist/clients/s3-client.class.js +30 -3
  3. package/dist/concerns/async-event-emitter.js +3 -0
  4. package/dist/database/database-connection.class.js +1 -1
  5. package/dist/plugins/api/server.js +44 -18
  6. package/dist/plugins/spider/security-analyzer.js +32 -12
  7. package/dist/plugins/websocket/server.js +20 -11
  8. package/dist/s3db-lite.cjs +60 -8
  9. package/dist/s3db-lite.es.js +60 -8
  10. package/dist/s3db.cjs +155 -48
  11. package/dist/s3db.es.js +155 -48
  12. package/dist/types/clients/recker-http-handler.d.ts +1 -0
  13. package/dist/types/clients/s3-client.class.d.ts +4 -1
  14. package/dist/types/clients/types.d.ts +31 -1
  15. package/dist/types/concerns/async-event-emitter.d.ts +1 -0
  16. package/dist/types/plugins/api/server.d.ts +2 -0
  17. package/dist/types/plugins/websocket/server.d.ts +5 -1
  18. package/package.json +2 -2
  19. package/src/clients/recker-http-handler.ts +24 -2
  20. package/src/clients/s3-client.class.ts +34 -3
  21. package/src/clients/types.ts +31 -1
  22. package/src/concerns/async-event-emitter.ts +4 -0
  23. package/src/database/database-connection.class.ts +1 -1
  24. package/src/plugins/api/server.ts +46 -18
  25. package/src/plugins/spider/security-analyzer.ts +32 -14
  26. package/src/plugins/websocket/server.ts +21 -12
  27. package/dist/concerns/id/generators/nanoid.js +0 -74
  28. package/dist/mcp/entrypoint.js +0 -346
  29. package/dist/mcp/search/embeddings-loader.js +0 -205
  30. package/dist/mcp/search/hybrid-search.js +0 -300
  31. package/dist/mcp/search/index.js +0 -7
  32. package/dist/mcp/search/math.js +0 -113
  33. package/dist/mcp/search/types.js +0 -5
  34. package/dist/mcp/tools/bulk.js +0 -100
  35. package/dist/mcp/tools/connection.js +0 -196
  36. package/dist/mcp/tools/crud.js +0 -518
  37. package/dist/mcp/tools/debugging.js +0 -269
  38. package/dist/mcp/tools/docs-search.js +0 -274
  39. package/dist/mcp/tools/documentation.js +0 -384
  40. package/dist/mcp/tools/export-import.js +0 -260
  41. package/dist/mcp/tools/index.js +0 -68
  42. package/dist/mcp/tools/partitions.js +0 -198
  43. package/dist/mcp/tools/query.js +0 -140
  44. package/dist/mcp/tools/resources.js +0 -85
  45. package/dist/mcp/tools/stats.js +0 -261
  46. package/dist/mcp/types/index.js +0 -2
  47. package/dist/plugins/recon/stages/massdns-stage.js +0 -135
  48. package/dist/s3db-lite.d.ts +0 -3493
  49. package/dist/s3db.d.ts +0 -19462
  50. package/dist/types/concerns/id/generators/nanoid.d.ts +0 -46
  51. package/dist/types/mcp/entrypoint.d.ts +0 -18
  52. package/dist/types/mcp/search/embeddings-loader.d.ts +0 -69
  53. package/dist/types/mcp/search/hybrid-search.d.ts +0 -74
  54. package/dist/types/mcp/search/index.d.ts +0 -7
  55. package/dist/types/mcp/search/math.d.ts +0 -50
  56. package/dist/types/mcp/search/types.d.ts +0 -53
  57. package/dist/types/mcp/tools/bulk.d.ts +0 -56
  58. package/dist/types/mcp/tools/connection.d.ts +0 -107
  59. package/dist/types/mcp/tools/crud.d.ts +0 -303
  60. package/dist/types/mcp/tools/debugging.d.ts +0 -96
  61. package/dist/types/mcp/tools/docs-search.d.ts +0 -90
  62. package/dist/types/mcp/tools/documentation.d.ts +0 -37
  63. package/dist/types/mcp/tools/export-import.d.ts +0 -103
  64. package/dist/types/mcp/tools/index.d.ts +0 -20
  65. package/dist/types/mcp/tools/partitions.d.ts +0 -70
  66. package/dist/types/mcp/tools/query.d.ts +0 -81
  67. package/dist/types/mcp/tools/resources.d.ts +0 -61
  68. package/dist/types/mcp/tools/stats.d.ts +0 -54
  69. package/dist/types/mcp/types/index.d.ts +0 -113
  70. package/dist/types/plugins/recon/stages/massdns-stage.d.ts +0 -60
  71. package/dist/types/src/behaviors/body-only.d.ts +0 -6
  72. package/dist/types/src/behaviors/body-overflow.d.ts +0 -6
  73. package/dist/types/src/behaviors/enforce-limits.d.ts +0 -7
  74. package/dist/types/src/behaviors/index.d.ts +0 -9
  75. package/dist/types/src/behaviors/truncate-data.d.ts +0 -6
  76. package/dist/types/src/behaviors/types.d.ts +0 -56
  77. package/dist/types/src/behaviors/user-managed.d.ts +0 -6
  78. package/dist/types/src/cli/index.d.ts +0 -11
  79. package/dist/types/src/cli/migration-manager.d.ts +0 -81
  80. package/dist/types/src/clients/filesystem-client.class.d.ts +0 -104
  81. package/dist/types/src/clients/filesystem-storage.class.d.ts +0 -71
  82. package/dist/types/src/clients/index.d.ts +0 -19
  83. package/dist/types/src/clients/memory-client.class.d.ts +0 -105
  84. package/dist/types/src/clients/memory-storage.class.d.ts +0 -49
  85. package/dist/types/src/clients/recker-http-handler.d.ts +0 -22
  86. package/dist/types/src/clients/s3-client.class.d.ts +0 -75
  87. package/dist/types/src/clients/types.d.ts +0 -446
  88. package/dist/types/src/concerns/adaptive-tuning.d.ts +0 -60
  89. package/dist/types/src/concerns/async-event-emitter.d.ts +0 -17
  90. package/dist/types/src/concerns/base62.d.ts +0 -27
  91. package/dist/types/src/concerns/benchmark.d.ts +0 -30
  92. package/dist/types/src/concerns/binary.d.ts +0 -115
  93. package/dist/types/src/concerns/calculator.d.ts +0 -36
  94. package/dist/types/src/concerns/cron-manager.d.ts +0 -96
  95. package/dist/types/src/concerns/crypto.d.ts +0 -5
  96. package/dist/types/src/concerns/dictionary-encoding.d.ts +0 -44
  97. package/dist/types/src/concerns/distributed-lock.d.ts +0 -78
  98. package/dist/types/src/concerns/distributed-sequence.d.ts +0 -62
  99. package/dist/types/src/concerns/error-classifier.d.ts +0 -18
  100. package/dist/types/src/concerns/failban-manager.d.ts +0 -184
  101. package/dist/types/src/concerns/flatten.d.ts +0 -19
  102. package/dist/types/src/concerns/geo-encoding.d.ts +0 -14
  103. package/dist/types/src/concerns/high-performance-inserter.d.ts +0 -110
  104. package/dist/types/src/concerns/http-client.d.ts +0 -106
  105. package/dist/types/src/concerns/id.d.ts +0 -7
  106. package/dist/types/src/concerns/incremental-sequence.d.ts +0 -165
  107. package/dist/types/src/concerns/index.d.ts +0 -37
  108. package/dist/types/src/concerns/ip.d.ts +0 -68
  109. package/dist/types/src/concerns/logger-redact.d.ts +0 -21
  110. package/dist/types/src/concerns/logger.d.ts +0 -23
  111. package/dist/types/src/concerns/map-with-concurrency.d.ts +0 -21
  112. package/dist/types/src/concerns/memory-profiler.d.ts +0 -115
  113. package/dist/types/src/concerns/metadata-encoding.d.ts +0 -33
  114. package/dist/types/src/concerns/money.d.ts +0 -32
  115. package/dist/types/src/concerns/optimized-encoding.d.ts +0 -13
  116. package/dist/types/src/concerns/partition-queue.d.ts +0 -64
  117. package/dist/types/src/concerns/password-hashing.d.ts +0 -16
  118. package/dist/types/src/concerns/performance-monitor.d.ts +0 -64
  119. package/dist/types/src/concerns/plugin-storage.d.ts +0 -152
  120. package/dist/types/src/concerns/process-manager.d.ts +0 -61
  121. package/dist/types/src/concerns/safe-event-emitter.d.ts +0 -35
  122. package/dist/types/src/concerns/storage-drivers/filesystem-driver.d.ts +0 -38
  123. package/dist/types/src/concerns/try-fn.d.ts +0 -23
  124. package/dist/types/src/concerns/typescript-generator.d.ts +0 -42
  125. package/dist/types/src/concerns/validator-cache.d.ts +0 -33
  126. package/dist/types/src/concurrency/index.d.ts +0 -3
  127. package/dist/types/src/concurrency/task-executor.interface.d.ts +0 -44
  128. package/dist/types/src/connection-string.class.d.ts +0 -27
  129. package/dist/types/src/core/index.d.ts +0 -25
  130. package/dist/types/src/core/resource-config-validator.d.ts +0 -48
  131. package/dist/types/src/core/resource-content.class.d.ts +0 -56
  132. package/dist/types/src/core/resource-events.class.d.ts +0 -30
  133. package/dist/types/src/core/resource-guards.class.d.ts +0 -51
  134. package/dist/types/src/core/resource-hooks.class.d.ts +0 -58
  135. package/dist/types/src/core/resource-id-generator.class.d.ts +0 -69
  136. package/dist/types/src/core/resource-middleware.class.d.ts +0 -30
  137. package/dist/types/src/core/resource-partitions.class.d.ts +0 -105
  138. package/dist/types/src/core/resource-persistence.class.d.ts +0 -227
  139. package/dist/types/src/core/resource-query.class.d.ts +0 -135
  140. package/dist/types/src/core/resource-streams.class.d.ts +0 -27
  141. package/dist/types/src/core/resource-validator.class.d.ts +0 -66
  142. package/dist/types/src/database/database-connection.class.d.ts +0 -20
  143. package/dist/types/src/database/database-coordinators.class.d.ts +0 -11
  144. package/dist/types/src/database/database-hooks.class.d.ts +0 -29
  145. package/dist/types/src/database/database-metadata.class.d.ts +0 -20
  146. package/dist/types/src/database/database-plugins.class.d.ts +0 -14
  147. package/dist/types/src/database/database-recovery.class.d.ts +0 -12
  148. package/dist/types/src/database/database-resources.class.d.ts +0 -76
  149. package/dist/types/src/database/index.d.ts +0 -9
  150. package/dist/types/src/database/types.d.ts +0 -189
  151. package/dist/types/src/database.class.d.ts +0 -141
  152. package/dist/types/src/errors.d.ts +0 -278
  153. package/dist/types/src/index.d.ts +0 -32
  154. package/dist/types/src/mcp/index.d.ts +0 -3
  155. package/dist/types/src/mcp/search.d.ts +0 -28
  156. package/dist/types/src/mcp/server.d.ts +0 -9
  157. package/dist/types/src/plugins/api/app.class.d.ts +0 -208
  158. package/dist/types/src/plugins/api/auth/api-key-auth.d.ts +0 -24
  159. package/dist/types/src/plugins/api/auth/basic-auth.d.ts +0 -37
  160. package/dist/types/src/plugins/api/auth/index.d.ts +0 -34
  161. package/dist/types/src/plugins/api/auth/jwt-auth.d.ts +0 -46
  162. package/dist/types/src/plugins/api/auth/oauth2-auth.d.ts +0 -92
  163. package/dist/types/src/plugins/api/auth/oidc-auth.d.ts +0 -220
  164. package/dist/types/src/plugins/api/auth/oidc-client.d.ts +0 -198
  165. package/dist/types/src/plugins/api/auth/path-auth-matcher.d.ts +0 -43
  166. package/dist/types/src/plugins/api/auth/providers.d.ts +0 -37
  167. package/dist/types/src/plugins/api/auth/resource-manager.d.ts +0 -65
  168. package/dist/types/src/plugins/api/auth/strategies/base-strategy.class.d.ts +0 -33
  169. package/dist/types/src/plugins/api/auth/strategies/factory.class.d.ts +0 -23
  170. package/dist/types/src/plugins/api/auth/strategies/global-strategy.class.d.ts +0 -6
  171. package/dist/types/src/plugins/api/auth/strategies/path-based-strategy.class.d.ts +0 -15
  172. package/dist/types/src/plugins/api/auth/strategies/path-rules-strategy.class.d.ts +0 -16
  173. package/dist/types/src/plugins/api/concerns/cookie-chunking.d.ts +0 -34
  174. package/dist/types/src/plugins/api/concerns/crypto.d.ts +0 -20
  175. package/dist/types/src/plugins/api/concerns/event-emitter.d.ts +0 -28
  176. package/dist/types/src/plugins/api/concerns/failban-manager.d.ts +0 -143
  177. package/dist/types/src/plugins/api/concerns/guards-helpers.d.ts +0 -68
  178. package/dist/types/src/plugins/api/concerns/lru-cache.d.ts +0 -17
  179. package/dist/types/src/plugins/api/concerns/metrics-collector.d.ts +0 -111
  180. package/dist/types/src/plugins/api/concerns/oidc-backchannel-logout.d.ts +0 -58
  181. package/dist/types/src/plugins/api/concerns/oidc-client-assertion.d.ts +0 -44
  182. package/dist/types/src/plugins/api/concerns/oidc-errors.d.ts +0 -46
  183. package/dist/types/src/plugins/api/concerns/oidc-hooks.d.ts +0 -62
  184. package/dist/types/src/plugins/api/concerns/oidc-par.d.ts +0 -34
  185. package/dist/types/src/plugins/api/concerns/oidc-provider-validator.d.ts +0 -48
  186. package/dist/types/src/plugins/api/concerns/oidc-silent-login.d.ts +0 -31
  187. package/dist/types/src/plugins/api/concerns/oidc-validator.d.ts +0 -52
  188. package/dist/types/src/plugins/api/concerns/opengraph-helper.d.ts +0 -28
  189. package/dist/types/src/plugins/api/concerns/resource-session-store.d.ts +0 -39
  190. package/dist/types/src/plugins/api/concerns/route-context.d.ts +0 -95
  191. package/dist/types/src/plugins/api/concerns/session-store-factory.d.ts +0 -29
  192. package/dist/types/src/plugins/api/concerns/session-store.d.ts +0 -73
  193. package/dist/types/src/plugins/api/concerns/state-machine.d.ts +0 -51
  194. package/dist/types/src/plugins/api/config/normalize-auth.d.ts +0 -40
  195. package/dist/types/src/plugins/api/config/normalize-logging.d.ts +0 -19
  196. package/dist/types/src/plugins/api/config/normalize-ratelimit.d.ts +0 -26
  197. package/dist/types/src/plugins/api/config/normalize-resources.d.ts +0 -19
  198. package/dist/types/src/plugins/api/errors.d.ts +0 -145
  199. package/dist/types/src/plugins/api/index.d.ts +0 -334
  200. package/dist/types/src/plugins/api/middleware/compression.d.ts +0 -7
  201. package/dist/types/src/plugins/api/middleware/cors.d.ts +0 -11
  202. package/dist/types/src/plugins/api/middleware/identity.d.ts +0 -34
  203. package/dist/types/src/plugins/api/middleware/logging.d.ts +0 -18
  204. package/dist/types/src/plugins/api/middleware/rate-limit.d.ts +0 -20
  205. package/dist/types/src/plugins/api/middleware/security.d.ts +0 -44
  206. package/dist/types/src/plugins/api/middlewares/context-injection.d.ts +0 -10
  207. package/dist/types/src/plugins/api/middlewares/error-helper.d.ts +0 -35
  208. package/dist/types/src/plugins/api/middlewares/failban.d.ts +0 -87
  209. package/dist/types/src/plugins/api/middlewares/index.d.ts +0 -12
  210. package/dist/types/src/plugins/api/middlewares/pino-logger.d.ts +0 -85
  211. package/dist/types/src/plugins/api/middlewares/rate-limit.d.ts +0 -51
  212. package/dist/types/src/plugins/api/middlewares/request-id.d.ts +0 -11
  213. package/dist/types/src/plugins/api/middlewares/security-headers.d.ts +0 -21
  214. package/dist/types/src/plugins/api/middlewares/session-tracking.d.ts +0 -40
  215. package/dist/types/src/plugins/api/middlewares/validator.d.ts +0 -53
  216. package/dist/types/src/plugins/api/route-context.class.d.ts +0 -62
  217. package/dist/types/src/plugins/api/routes/auth-routes.d.ts +0 -51
  218. package/dist/types/src/plugins/api/routes/resource-routes.d.ts +0 -97
  219. package/dist/types/src/plugins/api/server/health-manager.class.d.ts +0 -44
  220. package/dist/types/src/plugins/api/server/middleware-chain.class.d.ts +0 -111
  221. package/dist/types/src/plugins/api/server/router.class.d.ts +0 -170
  222. package/dist/types/src/plugins/api/server.d.ts +0 -218
  223. package/dist/types/src/plugins/api/utils/base-path.d.ts +0 -8
  224. package/dist/types/src/plugins/api/utils/code-samples-generator.d.ts +0 -64
  225. package/dist/types/src/plugins/api/utils/custom-routes.d.ts +0 -37
  226. package/dist/types/src/plugins/api/utils/error-handler.d.ts +0 -32
  227. package/dist/types/src/plugins/api/utils/etag.d.ts +0 -25
  228. package/dist/types/src/plugins/api/utils/guards.d.ts +0 -61
  229. package/dist/types/src/plugins/api/utils/http-logger.d.ts +0 -11
  230. package/dist/types/src/plugins/api/utils/mime-types.d.ts +0 -12
  231. package/dist/types/src/plugins/api/utils/openapi-generator-cached.class.d.ts +0 -54
  232. package/dist/types/src/plugins/api/utils/openapi-generator.d.ts +0 -278
  233. package/dist/types/src/plugins/api/utils/path-matcher.d.ts +0 -17
  234. package/dist/types/src/plugins/api/utils/response-formatter.d.ts +0 -94
  235. package/dist/types/src/plugins/api/utils/route-helper.d.ts +0 -21
  236. package/dist/types/src/plugins/api/utils/static-filesystem.d.ts +0 -18
  237. package/dist/types/src/plugins/api/utils/static-s3.d.ts +0 -22
  238. package/dist/types/src/plugins/api/utils/template-engine.d.ts +0 -34
  239. package/dist/types/src/plugins/audit.errors.d.ts +0 -13
  240. package/dist/types/src/plugins/audit.plugin.d.ts +0 -119
  241. package/dist/types/src/plugins/backup/base-backup-driver.class.d.ts +0 -86
  242. package/dist/types/src/plugins/backup/factory.d.ts +0 -19
  243. package/dist/types/src/plugins/backup/filesystem-backup-driver.class.d.ts +0 -21
  244. package/dist/types/src/plugins/backup/index.d.ts +0 -12
  245. package/dist/types/src/plugins/backup/multi-backup-driver.class.d.ts +0 -39
  246. package/dist/types/src/plugins/backup/s3-backup-driver.class.d.ts +0 -24
  247. package/dist/types/src/plugins/backup/streaming-exporter.d.ts +0 -33
  248. package/dist/types/src/plugins/backup.errors.d.ts +0 -13
  249. package/dist/types/src/plugins/backup.plugin.d.ts +0 -143
  250. package/dist/types/src/plugins/cache/cache.class.d.ts +0 -31
  251. package/dist/types/src/plugins/cache/filesystem-cache.class.d.ts +0 -86
  252. package/dist/types/src/plugins/cache/index.d.ts +0 -16
  253. package/dist/types/src/plugins/cache/memory-cache.class.d.ts +0 -145
  254. package/dist/types/src/plugins/cache/multi-tier-cache.class.d.ts +0 -86
  255. package/dist/types/src/plugins/cache/partition-aware-filesystem-cache.class.d.ts +0 -82
  256. package/dist/types/src/plugins/cache/redis-cache.class.d.ts +0 -86
  257. package/dist/types/src/plugins/cache/s3-cache.class.d.ts +0 -29
  258. package/dist/types/src/plugins/cache/utils/memory-limits.d.ts +0 -25
  259. package/dist/types/src/plugins/cache.errors.d.ts +0 -14
  260. package/dist/types/src/plugins/cache.plugin.d.ts +0 -244
  261. package/dist/types/src/plugins/cloud-inventory/drivers/alibaba-driver.d.ts +0 -39
  262. package/dist/types/src/plugins/cloud-inventory/drivers/aws-driver.d.ts +0 -150
  263. package/dist/types/src/plugins/cloud-inventory/drivers/azure-driver.d.ts +0 -98
  264. package/dist/types/src/plugins/cloud-inventory/drivers/base-driver.d.ts +0 -60
  265. package/dist/types/src/plugins/cloud-inventory/drivers/cloudflare-driver.d.ts +0 -23
  266. package/dist/types/src/plugins/cloud-inventory/drivers/digitalocean-driver.d.ts +0 -114
  267. package/dist/types/src/plugins/cloud-inventory/drivers/gcp-driver.d.ts +0 -79
  268. package/dist/types/src/plugins/cloud-inventory/drivers/hetzner-driver.d.ts +0 -97
  269. package/dist/types/src/plugins/cloud-inventory/drivers/index.d.ts +0 -29
  270. package/dist/types/src/plugins/cloud-inventory/drivers/linode-driver.d.ts +0 -24
  271. package/dist/types/src/plugins/cloud-inventory/drivers/mongodb-atlas-driver.d.ts +0 -49
  272. package/dist/types/src/plugins/cloud-inventory/drivers/oracle-driver.d.ts +0 -31
  273. package/dist/types/src/plugins/cloud-inventory/drivers/vultr-driver.d.ts +0 -96
  274. package/dist/types/src/plugins/cloud-inventory/index.d.ts +0 -17
  275. package/dist/types/src/plugins/cloud-inventory/registry.d.ts +0 -8
  276. package/dist/types/src/plugins/cloud-inventory/terraform-exporter.d.ts +0 -52
  277. package/dist/types/src/plugins/cloud-inventory.plugin.d.ts +0 -212
  278. package/dist/types/src/plugins/concerns/coordinator-plugin.class.d.ts +0 -88
  279. package/dist/types/src/plugins/concerns/global-coordinator-service.class.d.ts +0 -180
  280. package/dist/types/src/plugins/concerns/index.d.ts +0 -8
  281. package/dist/types/src/plugins/concerns/ip-allowlist.d.ts +0 -18
  282. package/dist/types/src/plugins/concerns/plugin-dependencies.d.ts +0 -35
  283. package/dist/types/src/plugins/concerns/plugin-options.d.ts +0 -26
  284. package/dist/types/src/plugins/concerns/prometheus-formatter.d.ts +0 -40
  285. package/dist/types/src/plugins/concerns/resource-names.d.ts +0 -14
  286. package/dist/types/src/plugins/consumers/index.d.ts +0 -8
  287. package/dist/types/src/plugins/consumers/rabbitmq-consumer.d.ts +0 -52
  288. package/dist/types/src/plugins/consumers/sqs-consumer.d.ts +0 -64
  289. package/dist/types/src/plugins/cookie-farm-suite.plugin.d.ts +0 -92
  290. package/dist/types/src/plugins/cookie-farm.errors.d.ts +0 -28
  291. package/dist/types/src/plugins/cookie-farm.plugin.d.ts +0 -245
  292. package/dist/types/src/plugins/costs.plugin.d.ts +0 -122
  293. package/dist/types/src/plugins/eventual-consistency/analytics.d.ts +0 -167
  294. package/dist/types/src/plugins/eventual-consistency/config.d.ts +0 -97
  295. package/dist/types/src/plugins/eventual-consistency/consolidation.d.ts +0 -82
  296. package/dist/types/src/plugins/eventual-consistency/garbage-collection.d.ts +0 -37
  297. package/dist/types/src/plugins/eventual-consistency/helpers.d.ts +0 -40
  298. package/dist/types/src/plugins/eventual-consistency/index.d.ts +0 -179
  299. package/dist/types/src/plugins/eventual-consistency/install.d.ts +0 -73
  300. package/dist/types/src/plugins/eventual-consistency/locks.d.ts +0 -43
  301. package/dist/types/src/plugins/eventual-consistency/partitions.d.ts +0 -24
  302. package/dist/types/src/plugins/eventual-consistency/tickets.d.ts +0 -104
  303. package/dist/types/src/plugins/eventual-consistency/transactions.d.ts +0 -39
  304. package/dist/types/src/plugins/eventual-consistency/utils.d.ts +0 -172
  305. package/dist/types/src/plugins/fulltext.errors.d.ts +0 -13
  306. package/dist/types/src/plugins/fulltext.plugin.d.ts +0 -118
  307. package/dist/types/src/plugins/geo.plugin.d.ts +0 -125
  308. package/dist/types/src/plugins/graph.errors.d.ts +0 -36
  309. package/dist/types/src/plugins/graph.plugin.d.ts +0 -130
  310. package/dist/types/src/plugins/identity/concerns/config.d.ts +0 -17
  311. package/dist/types/src/plugins/identity/concerns/interactive-wizard.d.ts +0 -66
  312. package/dist/types/src/plugins/identity/concerns/mfa-manager.d.ts +0 -41
  313. package/dist/types/src/plugins/identity/concerns/onboarding-manager.d.ts +0 -151
  314. package/dist/types/src/plugins/identity/concerns/password.d.ts +0 -32
  315. package/dist/types/src/plugins/identity/concerns/rate-limit.d.ts +0 -26
  316. package/dist/types/src/plugins/identity/concerns/resource-schemas.d.ts +0 -34
  317. package/dist/types/src/plugins/identity/concerns/token-generator.d.ts +0 -34
  318. package/dist/types/src/plugins/identity/drivers/auth-driver.interface.d.ts +0 -64
  319. package/dist/types/src/plugins/identity/drivers/client-credentials-driver.d.ts +0 -20
  320. package/dist/types/src/plugins/identity/drivers/index.d.ts +0 -19
  321. package/dist/types/src/plugins/identity/drivers/password-driver.d.ts +0 -24
  322. package/dist/types/src/plugins/identity/email-service.d.ts +0 -98
  323. package/dist/types/src/plugins/identity/index.d.ts +0 -493
  324. package/dist/types/src/plugins/identity/oauth2-server.d.ts +0 -229
  325. package/dist/types/src/plugins/identity/oidc-discovery.d.ts +0 -110
  326. package/dist/types/src/plugins/identity/rsa-keys.d.ts +0 -101
  327. package/dist/types/src/plugins/identity/server.d.ts +0 -144
  328. package/dist/types/src/plugins/identity/session-manager.d.ts +0 -99
  329. package/dist/types/src/plugins/identity/ui/layouts/base.d.ts +0 -55
  330. package/dist/types/src/plugins/identity/ui/middleware.d.ts +0 -39
  331. package/dist/types/src/plugins/identity/ui/pages/admin/client-form.d.ts +0 -24
  332. package/dist/types/src/plugins/identity/ui/pages/admin/clients.d.ts +0 -25
  333. package/dist/types/src/plugins/identity/ui/pages/admin/dashboard.d.ts +0 -42
  334. package/dist/types/src/plugins/identity/ui/pages/admin/user-form.d.ts +0 -35
  335. package/dist/types/src/plugins/identity/ui/pages/admin/users.d.ts +0 -32
  336. package/dist/types/src/plugins/identity/ui/pages/consent.d.ts +0 -31
  337. package/dist/types/src/plugins/identity/ui/pages/forgot-password.d.ts +0 -14
  338. package/dist/types/src/plugins/identity/ui/pages/login.d.ts +0 -19
  339. package/dist/types/src/plugins/identity/ui/pages/mfa-backup-codes.d.ts +0 -13
  340. package/dist/types/src/plugins/identity/ui/pages/mfa-enrollment.d.ts +0 -15
  341. package/dist/types/src/plugins/identity/ui/pages/mfa-verification.d.ts +0 -16
  342. package/dist/types/src/plugins/identity/ui/pages/oauth-error.d.ts +0 -21
  343. package/dist/types/src/plugins/identity/ui/pages/profile.d.ts +0 -32
  344. package/dist/types/src/plugins/identity/ui/pages/register.d.ts +0 -23
  345. package/dist/types/src/plugins/identity/ui/pages/reset-password.d.ts +0 -15
  346. package/dist/types/src/plugins/identity/ui/pages/verify-email.d.ts +0 -15
  347. package/dist/types/src/plugins/identity/ui/routes.d.ts +0 -266
  348. package/dist/types/src/plugins/importer/index.d.ts +0 -139
  349. package/dist/types/src/plugins/index.d.ts +0 -55
  350. package/dist/types/src/plugins/kubernetes-inventory/index.d.ts +0 -4
  351. package/dist/types/src/plugins/kubernetes-inventory/k8s-driver.d.ts +0 -224
  352. package/dist/types/src/plugins/kubernetes-inventory/resource-types.d.ts +0 -42
  353. package/dist/types/src/plugins/kubernetes-inventory.plugin.d.ts +0 -163
  354. package/dist/types/src/plugins/metrics.errors.d.ts +0 -13
  355. package/dist/types/src/plugins/metrics.plugin.d.ts +0 -217
  356. package/dist/types/src/plugins/ml/base-model.class.d.ts +0 -194
  357. package/dist/types/src/plugins/ml/classification-model.class.d.ts +0 -63
  358. package/dist/types/src/plugins/ml/neural-network-model.class.d.ts +0 -77
  359. package/dist/types/src/plugins/ml/regression-model.class.d.ts +0 -41
  360. package/dist/types/src/plugins/ml/timeseries-model.class.d.ts +0 -68
  361. package/dist/types/src/plugins/ml.errors.d.ts +0 -49
  362. package/dist/types/src/plugins/ml.plugin.d.ts +0 -305
  363. package/dist/types/src/plugins/namespace.d.ts +0 -15
  364. package/dist/types/src/plugins/plugin.class.d.ts +0 -102
  365. package/dist/types/src/plugins/plugin.obj.d.ts +0 -8
  366. package/dist/types/src/plugins/puppeteer/anti-bot-detector.d.ts +0 -66
  367. package/dist/types/src/plugins/puppeteer/console-monitor.d.ts +0 -100
  368. package/dist/types/src/plugins/puppeteer/cookie-manager.d.ts +0 -157
  369. package/dist/types/src/plugins/puppeteer/network-monitor.d.ts +0 -114
  370. package/dist/types/src/plugins/puppeteer/performance-manager.d.ts +0 -200
  371. package/dist/types/src/plugins/puppeteer/proxy-manager.d.ts +0 -120
  372. package/dist/types/src/plugins/puppeteer/stealth-manager.d.ts +0 -139
  373. package/dist/types/src/plugins/puppeteer/storage-manager.d.ts +0 -48
  374. package/dist/types/src/plugins/puppeteer/webrtc-streams-detector.d.ts +0 -118
  375. package/dist/types/src/plugins/puppeteer.errors.d.ts +0 -30
  376. package/dist/types/src/plugins/puppeteer.plugin.d.ts +0 -396
  377. package/dist/types/src/plugins/queue-consumer.plugin.d.ts +0 -50
  378. package/dist/types/src/plugins/queue.errors.d.ts +0 -13
  379. package/dist/types/src/plugins/recon/behaviors/index.d.ts +0 -8
  380. package/dist/types/src/plugins/recon/behaviors/uptime-behavior.d.ts +0 -149
  381. package/dist/types/src/plugins/recon/concerns/command-runner.d.ts +0 -43
  382. package/dist/types/src/plugins/recon/concerns/diff-detector.d.ts +0 -121
  383. package/dist/types/src/plugins/recon/concerns/fingerprint-builder.d.ts +0 -201
  384. package/dist/types/src/plugins/recon/concerns/index.d.ts +0 -20
  385. package/dist/types/src/plugins/recon/concerns/process-manager.d.ts +0 -60
  386. package/dist/types/src/plugins/recon/concerns/report-generator.d.ts +0 -164
  387. package/dist/types/src/plugins/recon/concerns/security-analyzer.d.ts +0 -117
  388. package/dist/types/src/plugins/recon/concerns/target-normalizer.d.ts +0 -21
  389. package/dist/types/src/plugins/recon/config/defaults.d.ts +0 -148
  390. package/dist/types/src/plugins/recon/config/resources.d.ts +0 -34
  391. package/dist/types/src/plugins/recon/index.d.ts +0 -193
  392. package/dist/types/src/plugins/recon/managers/dependency-manager.d.ts +0 -39
  393. package/dist/types/src/plugins/recon/managers/index.d.ts +0 -14
  394. package/dist/types/src/plugins/recon/managers/scheduler-manager.d.ts +0 -67
  395. package/dist/types/src/plugins/recon/managers/storage-manager.d.ts +0 -154
  396. package/dist/types/src/plugins/recon/managers/target-manager.d.ts +0 -91
  397. package/dist/types/src/plugins/recon/stages/asn-stage.d.ts +0 -93
  398. package/dist/types/src/plugins/recon/stages/certificate-stage.d.ts +0 -59
  399. package/dist/types/src/plugins/recon/stages/dns-stage.d.ts +0 -58
  400. package/dist/types/src/plugins/recon/stages/dnsdumpster-stage.d.ts +0 -108
  401. package/dist/types/src/plugins/recon/stages/fingerprint-stage.d.ts +0 -62
  402. package/dist/types/src/plugins/recon/stages/google-dorks-stage.d.ts +0 -94
  403. package/dist/types/src/plugins/recon/stages/http-stage.d.ts +0 -65
  404. package/dist/types/src/plugins/recon/stages/index.d.ts +0 -43
  405. package/dist/types/src/plugins/recon/stages/latency-stage.d.ts +0 -70
  406. package/dist/types/src/plugins/recon/stages/massdns-stage.d.ts +0 -60
  407. package/dist/types/src/plugins/recon/stages/osint-stage.d.ts +0 -117
  408. package/dist/types/src/plugins/recon/stages/ports-stage.d.ts +0 -63
  409. package/dist/types/src/plugins/recon/stages/screenshot-stage.d.ts +0 -41
  410. package/dist/types/src/plugins/recon/stages/secrets-stage.d.ts +0 -56
  411. package/dist/types/src/plugins/recon/stages/subdomains-stage.d.ts +0 -76
  412. package/dist/types/src/plugins/recon/stages/tls-audit-stage.d.ts +0 -70
  413. package/dist/types/src/plugins/recon/stages/vulnerability-stage.d.ts +0 -67
  414. package/dist/types/src/plugins/recon/stages/web-discovery-stage.d.ts +0 -63
  415. package/dist/types/src/plugins/recon/stages/whois-stage.d.ts +0 -70
  416. package/dist/types/src/plugins/recon.plugin.d.ts +0 -3
  417. package/dist/types/src/plugins/replicator.errors.d.ts +0 -13
  418. package/dist/types/src/plugins/replicator.plugin.d.ts +0 -212
  419. package/dist/types/src/plugins/replicators/base-replicator.class.d.ts +0 -67
  420. package/dist/types/src/plugins/replicators/bigquery-replicator.class.d.ts +0 -168
  421. package/dist/types/src/plugins/replicators/dynamodb-replicator.class.d.ts +0 -85
  422. package/dist/types/src/plugins/replicators/index.d.ts +0 -45
  423. package/dist/types/src/plugins/replicators/mongodb-replicator.class.d.ts +0 -99
  424. package/dist/types/src/plugins/replicators/mysql-replicator.class.d.ts +0 -111
  425. package/dist/types/src/plugins/replicators/planetscale-replicator.class.d.ts +0 -87
  426. package/dist/types/src/plugins/replicators/postgres-replicator.class.d.ts +0 -105
  427. package/dist/types/src/plugins/replicators/s3db-replicator.class.d.ts +0 -81
  428. package/dist/types/src/plugins/replicators/schema-sync.helper.d.ts +0 -95
  429. package/dist/types/src/plugins/replicators/sqs-replicator.class.d.ts +0 -96
  430. package/dist/types/src/plugins/replicators/turso-replicator.class.d.ts +0 -95
  431. package/dist/types/src/plugins/replicators/webhook-replicator.class.d.ts +0 -110
  432. package/dist/types/src/plugins/s3-queue.plugin.d.ts +0 -265
  433. package/dist/types/src/plugins/scheduler.errors.d.ts +0 -13
  434. package/dist/types/src/plugins/scheduler.plugin.d.ts +0 -171
  435. package/dist/types/src/plugins/shared/error-handler.d.ts +0 -28
  436. package/dist/types/src/plugins/shared/index.d.ts +0 -8
  437. package/dist/types/src/plugins/shared/middlewares/compression.d.ts +0 -12
  438. package/dist/types/src/plugins/shared/middlewares/cors.d.ts +0 -11
  439. package/dist/types/src/plugins/shared/middlewares/index.d.ts +0 -11
  440. package/dist/types/src/plugins/shared/middlewares/logging.d.ts +0 -11
  441. package/dist/types/src/plugins/shared/middlewares/rate-limit.d.ts +0 -8
  442. package/dist/types/src/plugins/shared/middlewares/security.d.ts +0 -62
  443. package/dist/types/src/plugins/shared/response-formatter.d.ts +0 -128
  444. package/dist/types/src/plugins/smtp/connection-manager.d.ts +0 -81
  445. package/dist/types/src/plugins/smtp/drivers/driver-factory.d.ts +0 -4
  446. package/dist/types/src/plugins/smtp/drivers/index.d.ts +0 -6
  447. package/dist/types/src/plugins/smtp/drivers/multi-relay.d.ts +0 -47
  448. package/dist/types/src/plugins/smtp/drivers/relay-driver.d.ts +0 -72
  449. package/dist/types/src/plugins/smtp/email-headers.d.ts +0 -108
  450. package/dist/types/src/plugins/smtp/errors.d.ts +0 -31
  451. package/dist/types/src/plugins/smtp/template-engine.d.ts +0 -51
  452. package/dist/types/src/plugins/smtp/webhook-receiver.d.ts +0 -89
  453. package/dist/types/src/plugins/smtp.plugin.d.ts +0 -259
  454. package/dist/types/src/plugins/spider/content-analyzer.d.ts +0 -72
  455. package/dist/types/src/plugins/spider/crawl-context.d.ts +0 -162
  456. package/dist/types/src/plugins/spider/deep-discovery.d.ts +0 -250
  457. package/dist/types/src/plugins/spider/hybrid-fetcher.d.ts +0 -124
  458. package/dist/types/src/plugins/spider/index.d.ts +0 -27
  459. package/dist/types/src/plugins/spider/link-discoverer.d.ts +0 -101
  460. package/dist/types/src/plugins/spider/robots-parser.d.ts +0 -84
  461. package/dist/types/src/plugins/spider/security-analyzer.d.ts +0 -152
  462. package/dist/types/src/plugins/spider/seo-analyzer.d.ts +0 -331
  463. package/dist/types/src/plugins/spider/sitemap-parser.d.ts +0 -117
  464. package/dist/types/src/plugins/spider/storage-analyzer.d.ts +0 -56
  465. package/dist/types/src/plugins/spider/task-activities.d.ts +0 -35
  466. package/dist/types/src/plugins/spider/tech-detector.d.ts +0 -49
  467. package/dist/types/src/plugins/spider/url-pattern-matcher.d.ts +0 -54
  468. package/dist/types/src/plugins/spider.plugin.d.ts +0 -331
  469. package/dist/types/src/plugins/state-machine.errors.d.ts +0 -15
  470. package/dist/types/src/plugins/state-machine.plugin.d.ts +0 -227
  471. package/dist/types/src/plugins/tfstate/base-driver.d.ts +0 -56
  472. package/dist/types/src/plugins/tfstate/errors.d.ts +0 -73
  473. package/dist/types/src/plugins/tfstate/filesystem-driver.d.ts +0 -44
  474. package/dist/types/src/plugins/tfstate/index.d.ts +0 -287
  475. package/dist/types/src/plugins/tfstate/s3-driver.d.ts +0 -50
  476. package/dist/types/src/plugins/tournament/bracket-generator.d.ts +0 -38
  477. package/dist/types/src/plugins/tournament/formats/base-format.d.ts +0 -24
  478. package/dist/types/src/plugins/tournament/formats/circuit.d.ts +0 -77
  479. package/dist/types/src/plugins/tournament/formats/double-elimination.d.ts +0 -30
  480. package/dist/types/src/plugins/tournament/formats/group-stage.d.ts +0 -34
  481. package/dist/types/src/plugins/tournament/formats/index.d.ts +0 -29
  482. package/dist/types/src/plugins/tournament/formats/ladder.d.ts +0 -71
  483. package/dist/types/src/plugins/tournament/formats/league-playoffs.d.ts +0 -50
  484. package/dist/types/src/plugins/tournament/formats/promotion-relegation.d.ts +0 -75
  485. package/dist/types/src/plugins/tournament/formats/round-robin.d.ts +0 -27
  486. package/dist/types/src/plugins/tournament/formats/single-elimination.d.ts +0 -26
  487. package/dist/types/src/plugins/tournament/formats/swiss.d.ts +0 -59
  488. package/dist/types/src/plugins/tournament/index.d.ts +0 -10
  489. package/dist/types/src/plugins/tournament/match-manager.d.ts +0 -91
  490. package/dist/types/src/plugins/tournament/registration-manager.d.ts +0 -91
  491. package/dist/types/src/plugins/tournament/seeding-strategies.d.ts +0 -14
  492. package/dist/types/src/plugins/tournament/standings-calculator.d.ts +0 -18
  493. package/dist/types/src/plugins/tournament/tournament-manager.d.ts +0 -108
  494. package/dist/types/src/plugins/tournament/types.d.ts +0 -228
  495. package/dist/types/src/plugins/tournament.plugin.d.ts +0 -264
  496. package/dist/types/src/plugins/tree/drivers/adjacency-list.d.ts +0 -91
  497. package/dist/types/src/plugins/tree/drivers/nested-set.d.ts +0 -139
  498. package/dist/types/src/plugins/tree/errors.d.ts +0 -30
  499. package/dist/types/src/plugins/tree/index.d.ts +0 -57
  500. package/dist/types/src/plugins/ttl.plugin.d.ts +0 -87
  501. package/dist/types/src/plugins/vector/distances.d.ts +0 -8
  502. package/dist/types/src/plugins/vector/kmeans.d.ts +0 -60
  503. package/dist/types/src/plugins/vector/metrics.d.ts +0 -26
  504. package/dist/types/src/plugins/vector/vector-error.d.ts +0 -15
  505. package/dist/types/src/plugins/vector.plugin.d.ts +0 -106
  506. package/dist/types/src/plugins/websocket/config/normalize-auth.d.ts +0 -44
  507. package/dist/types/src/plugins/websocket/config/normalize-resources.d.ts +0 -16
  508. package/dist/types/src/plugins/websocket/index.d.ts +0 -132
  509. package/dist/types/src/plugins/websocket/server/channel-manager.class.d.ts +0 -139
  510. package/dist/types/src/plugins/websocket/server/health-manager.class.d.ts +0 -73
  511. package/dist/types/src/plugins/websocket/server.d.ts +0 -295
  512. package/dist/types/src/resource.class.d.ts +0 -368
  513. package/dist/types/src/schema.class.d.ts +0 -151
  514. package/dist/types/src/stream/index.d.ts +0 -7
  515. package/dist/types/src/stream/resource-ids-page-reader.class.d.ts +0 -6
  516. package/dist/types/src/stream/resource-ids-reader.class.d.ts +0 -44
  517. package/dist/types/src/stream/resource-reader.class.d.ts +0 -37
  518. package/dist/types/src/stream/resource-writer.class.d.ts +0 -36
  519. package/dist/types/src/tasks/concerns/fifo-task-queue.d.ts +0 -22
  520. package/dist/types/src/tasks/concerns/priority-task-queue.d.ts +0 -36
  521. package/dist/types/src/tasks/concerns/signature-stats.d.ts +0 -34
  522. package/dist/types/src/tasks/concerns/task-signature.d.ts +0 -16
  523. package/dist/types/src/tasks/tasks-pool.class.d.ts +0 -359
  524. package/dist/types/src/tasks/tasks-runner.class.d.ts +0 -248
  525. package/dist/types/src/testing/factory.class.d.ts +0 -56
  526. package/dist/types/src/testing/index.d.ts +0 -9
  527. package/dist/types/src/testing/seeder.class.d.ts +0 -30
  528. package/dist/types/src/types/cli.types.d.ts +0 -36
  529. package/dist/types/src/types/common.types.d.ts +0 -58
  530. package/dist/types/src/types/index.d.ts +0 -8
  531. package/dist/types/src/validator.class.d.ts +0 -20
@@ -159,10 +159,15 @@ export class ReckerHttpHandler {
159
159
  connectTimeout: 10000,
160
160
  headersTimeout: 30000,
161
161
  bodyTimeout: 60000,
162
+ keepAlive: options.keepAlive ?? true,
162
163
  keepAliveTimeout: 4000,
163
164
  keepAliveMaxTimeout: 600000,
165
+ keepAliveTimeoutThreshold: 1000,
164
166
  connections: 100,
165
167
  pipelining: 10,
168
+ maxRequestsPerClient: 100,
169
+ clientTtl: null,
170
+ maxCachedSessions: 100,
166
171
  http2: true,
167
172
  http2MaxConcurrentStreams: 100,
168
173
  http2Preset: 'performance', // Default to performance preset for S3 workloads
@@ -204,9 +209,14 @@ export class ReckerHttpHandler {
204
209
  agent: {
205
210
  connections: this.options.connections,
206
211
  pipelining: this.options.pipelining,
207
- keepAlive: true,
212
+ keepAlive: this.options.keepAlive,
208
213
  keepAliveTimeout: this.options.keepAliveTimeout,
209
214
  keepAliveMaxTimeout: this.options.keepAliveMaxTimeout,
215
+ keepAliveTimeoutThreshold: this.options.keepAliveTimeoutThreshold,
216
+ maxRequestsPerClient: this.options.maxRequestsPerClient,
217
+ clientTtl: this.options.clientTtl ?? null,
218
+ maxCachedSessions: this.options.maxCachedSessions,
219
+ ...(this.options.localAddress ? { localAddress: this.options.localAddress } : {}),
210
220
  },
211
221
  },
212
222
  hooks,
@@ -350,9 +360,21 @@ export class ReckerHttpHandler {
350
360
  };
351
361
  }
352
362
  destroy() {
363
+ void this.destroyAsync();
364
+ }
365
+ async destroyAsync() {
366
+ const client = this.client;
353
367
  this.client = null;
354
368
  this.deduplicator = null;
355
369
  this.circuitBreaker = null;
370
+ if (client) {
371
+ try {
372
+ await client.destroy();
373
+ }
374
+ catch {
375
+ // Ignore cleanup errors
376
+ }
377
+ }
356
378
  }
357
379
  }
358
380
  export default ReckerHttpHandler;
@@ -19,6 +19,8 @@ export class S3Client extends EventEmitter {
19
19
  connectionString;
20
20
  httpClientOptions;
21
21
  client;
22
+ httpHandler = null;
23
+ _rawHttpClientOptions;
22
24
  _inflightCoalescing;
23
25
  taskExecutorConfig;
24
26
  taskExecutor;
@@ -36,6 +38,7 @@ export class S3Client extends EventEmitter {
36
38
  this.id = id ?? idGenerator(77);
37
39
  this.config = new ConnectionString(connectionString);
38
40
  this.connectionString = connectionString;
41
+ this._rawHttpClientOptions = httpClientOptions || {};
39
42
  this.httpClientOptions = {
40
43
  keepAlive: true,
41
44
  keepAliveMsecs: 1000,
@@ -99,6 +102,26 @@ export class S3Client extends EventEmitter {
99
102
  };
100
103
  return normalized;
101
104
  }
105
+ _normalizeHttpHandlerOptions() {
106
+ const options = this.httpClientOptions;
107
+ const raw = this._rawHttpClientOptions;
108
+ const connections = typeof raw.connections === 'number'
109
+ ? raw.connections
110
+ : raw.maxSockets;
111
+ const keepAliveTimeout = raw.keepAliveTimeout ?? raw.keepAliveMsecs;
112
+ const bodyTimeout = raw.bodyTimeout ?? raw.timeout;
113
+ const normalized = { ...options };
114
+ if (connections !== undefined) {
115
+ normalized.connections = connections;
116
+ }
117
+ if (keepAliveTimeout !== undefined) {
118
+ normalized.keepAliveTimeout = keepAliveTimeout;
119
+ }
120
+ if (bodyTimeout !== undefined) {
121
+ normalized.bodyTimeout = bodyTimeout;
122
+ }
123
+ return normalized;
124
+ }
102
125
  _createTasksPool() {
103
126
  const poolConfig = {
104
127
  concurrency: this.taskExecutorConfig.concurrency,
@@ -200,7 +223,11 @@ export class S3Client extends EventEmitter {
200
223
  return;
201
224
  this.taskExecutor.stop();
202
225
  }
203
- destroy() {
226
+ async destroy() {
227
+ if (this.httpHandler) {
228
+ await this.httpHandler.destroyAsync();
229
+ this.httpHandler = null;
230
+ }
204
231
  if (this.client && typeof this.client.destroy === 'function') {
205
232
  this.client.destroy();
206
233
  }
@@ -208,11 +235,11 @@ export class S3Client extends EventEmitter {
208
235
  this.removeAllListeners();
209
236
  }
210
237
  createClient() {
211
- const httpHandler = new ReckerHttpHandler(this.httpClientOptions);
238
+ this.httpHandler = new ReckerHttpHandler(this._normalizeHttpHandlerOptions());
212
239
  const options = {
213
240
  region: this.config.region,
214
241
  endpoint: this.config.endpoint,
215
- requestHandler: httpHandler,
242
+ requestHandler: this.httpHandler,
216
243
  };
217
244
  if (this.config.forcePathStyle)
218
245
  options.forcePathStyle = true;
@@ -47,6 +47,9 @@ export class AsyncEventEmitter extends EventEmitter {
47
47
  setAsyncMode(enabled) {
48
48
  this._asyncMode = enabled;
49
49
  }
50
+ destroy() {
51
+ this.removeAllListeners();
52
+ }
50
53
  }
51
54
  export default AsyncEventEmitter;
52
55
  //# sourceMappingURL=async-event-emitter.js.map
@@ -199,7 +199,7 @@ export class DatabaseConnection {
199
199
  db.client.removeAllListeners();
200
200
  }
201
201
  if (typeof db.client.destroy === 'function') {
202
- db.client.destroy();
202
+ await db.client.destroy();
203
203
  }
204
204
  }
205
205
  await db.emit('db:disconnected', new Date());
@@ -46,6 +46,7 @@ export class ApiServer {
46
46
  _signalHandlersSetup = false;
47
47
  _boundSigtermHandler = null;
48
48
  _boundSigintHandler = null;
49
+ _metricsListeners = new Map();
49
50
  constructor(options = {}) {
50
51
  this.options = {
51
52
  port: options.port || 3000,
@@ -351,6 +352,7 @@ export class ApiServer {
351
352
  if (this.metrics) {
352
353
  this.metrics.stop();
353
354
  }
355
+ this._removeMetricsEventListeners();
354
356
  if (this.failban) {
355
357
  await this.failban.cleanup();
356
358
  }
@@ -483,60 +485,84 @@ export class ApiServer {
483
485
  }
484
486
  }
485
487
  _setupMetricsEventListeners() {
486
- this.events.on('request:end', (data) => {
488
+ const requestEndHandler = (data) => {
487
489
  this.metrics.recordRequest({
488
490
  method: data.method,
489
491
  path: data.path,
490
492
  status: data.status,
491
493
  duration: data.duration
492
494
  });
493
- });
494
- this.events.on('request:error', (data) => {
495
+ };
496
+ this._metricsListeners.set('request:end', requestEndHandler);
497
+ this.events.on('request:end', requestEndHandler);
498
+ const requestErrorHandler = (data) => {
495
499
  this.metrics.recordError({
496
500
  error: data.error.message,
497
501
  type: 'request'
498
502
  });
499
- });
500
- this.events.on('auth:success', (data) => {
503
+ };
504
+ this._metricsListeners.set('request:error', requestErrorHandler);
505
+ this.events.on('request:error', requestErrorHandler);
506
+ const authSuccessHandler = (data) => {
501
507
  this.metrics.recordAuth({
502
508
  success: true,
503
509
  method: data.method
504
510
  });
505
- });
506
- this.events.on('auth:failure', (data) => {
511
+ };
512
+ this._metricsListeners.set('auth:success', authSuccessHandler);
513
+ this.events.on('auth:success', authSuccessHandler);
514
+ const authFailureHandler = (data) => {
507
515
  this.metrics.recordAuth({
508
516
  success: false,
509
517
  method: data.allowedMethods?.[0] || 'unknown'
510
518
  });
511
- });
512
- this.events.on('resource:created', (data) => {
519
+ };
520
+ this._metricsListeners.set('auth:failure', authFailureHandler);
521
+ this.events.on('auth:failure', authFailureHandler);
522
+ const resourceCreatedHandler = (data) => {
513
523
  this.metrics.recordResourceOperation({
514
524
  action: 'created',
515
525
  resource: data.resource
516
526
  });
517
- });
518
- this.events.on('resource:updated', (data) => {
527
+ };
528
+ this._metricsListeners.set('resource:created', resourceCreatedHandler);
529
+ this.events.on('resource:created', resourceCreatedHandler);
530
+ const resourceUpdatedHandler = (data) => {
519
531
  this.metrics.recordResourceOperation({
520
532
  action: 'updated',
521
533
  resource: data.resource
522
534
  });
523
- });
524
- this.events.on('resource:deleted', (data) => {
535
+ };
536
+ this._metricsListeners.set('resource:updated', resourceUpdatedHandler);
537
+ this.events.on('resource:updated', resourceUpdatedHandler);
538
+ const resourceDeletedHandler = (data) => {
525
539
  this.metrics.recordResourceOperation({
526
540
  action: 'deleted',
527
541
  resource: data.resource
528
542
  });
529
- });
530
- this.events.on('user:created', () => {
543
+ };
544
+ this._metricsListeners.set('resource:deleted', resourceDeletedHandler);
545
+ this.events.on('resource:deleted', resourceDeletedHandler);
546
+ const userCreatedHandler = () => {
531
547
  this.metrics.recordUserEvent({ action: 'created' });
532
- });
533
- this.events.on('user:login', () => {
548
+ };
549
+ this._metricsListeners.set('user:created', userCreatedHandler);
550
+ this.events.on('user:created', userCreatedHandler);
551
+ const userLoginHandler = () => {
534
552
  this.metrics.recordUserEvent({ action: 'login' });
535
- });
553
+ };
554
+ this._metricsListeners.set('user:login', userLoginHandler);
555
+ this.events.on('user:login', userLoginHandler);
536
556
  if (this.options.logLevel) {
537
557
  this.logger.debug('Metrics event listeners configured');
538
558
  }
539
559
  }
560
+ _removeMetricsEventListeners() {
561
+ for (const [event, handler] of this._metricsListeners) {
562
+ this.events.removeListener(event, handler);
563
+ }
564
+ this._metricsListeners.clear();
565
+ }
540
566
  _setupDocumentationRoutes() {
541
567
  if (this.options.logLevel) {
542
568
  this.logger.debug({ docsEnabled: this.options.docsEnabled, docsUI: this.options.docsUI }, 'Setting up documentation routes');
@@ -30,25 +30,28 @@ export class SecurityAnalyzer {
30
30
  vulnerabilities: [],
31
31
  securityScore: 0
32
32
  };
33
+ let responseHeaders = {};
34
+ let captureHeaders = null;
35
+ let consoleListener = null;
36
+ const consoleLogs = [];
33
37
  try {
34
- let responseHeaders = {};
35
- const captureHeaders = (response) => {
38
+ captureHeaders = (response) => {
36
39
  if (response.url() === baseUrl || response.url().startsWith(baseUrl)) {
37
40
  const headers = response.headers();
38
41
  responseHeaders = { ...headers };
39
42
  }
40
43
  };
41
44
  page.on('response', captureHeaders);
42
- const consoleLogs = [];
43
45
  if (activities.includes('security_console_logs')) {
44
- page.on('console', (msg) => {
46
+ consoleListener = (msg) => {
45
47
  consoleLogs.push({
46
48
  type: msg.type(),
47
49
  text: msg.text(),
48
50
  location: msg.location(),
49
51
  args: msg.args().length
50
52
  });
51
- });
53
+ };
54
+ page.on('console', consoleListener);
52
55
  }
53
56
  if (activities.includes('security_headers')) {
54
57
  result.securityHeaders = this._analyzeSecurityHeaders(responseHeaders);
@@ -80,12 +83,19 @@ export class SecurityAnalyzer {
80
83
  result.vulnerabilities = this._checkVulnerabilities(responseHeaders, result);
81
84
  }
82
85
  result.securityScore = this._calculateSecurityScore(result);
83
- page.removeListener('response', captureHeaders);
84
86
  return result;
85
87
  }
86
88
  catch {
87
89
  return result;
88
90
  }
91
+ finally {
92
+ if (captureHeaders) {
93
+ page.removeListener('response', captureHeaders);
94
+ }
95
+ if (consoleListener) {
96
+ page.removeListener('console', consoleListener);
97
+ }
98
+ }
89
99
  }
90
100
  async analyze(page, baseUrl, html = null) {
91
101
  const result = {
@@ -99,25 +109,28 @@ export class SecurityAnalyzer {
99
109
  vulnerabilities: [],
100
110
  securityScore: 0
101
111
  };
112
+ let responseHeaders = {};
113
+ let captureHeaders = null;
114
+ let consoleListener = null;
115
+ const consoleLogs = [];
102
116
  try {
103
- let responseHeaders = {};
104
- const captureHeaders = (response) => {
117
+ captureHeaders = (response) => {
105
118
  if (response.url() === baseUrl || response.url().startsWith(baseUrl)) {
106
119
  const headers = response.headers();
107
120
  responseHeaders = { ...headers };
108
121
  }
109
122
  };
110
123
  page.on('response', captureHeaders);
111
- const consoleLogs = [];
112
124
  if (this.config.captureConsoleLogs) {
113
- page.on('console', (msg) => {
125
+ consoleListener = (msg) => {
114
126
  consoleLogs.push({
115
127
  type: msg.type(),
116
128
  text: msg.text(),
117
129
  location: msg.location(),
118
130
  args: msg.args().length
119
131
  });
120
- });
132
+ };
133
+ page.on('console', consoleListener);
121
134
  }
122
135
  if (this.config.analyzeSecurityHeaders) {
123
136
  result.securityHeaders = this._analyzeSecurityHeaders(responseHeaders);
@@ -147,13 +160,20 @@ export class SecurityAnalyzer {
147
160
  result.vulnerabilities = this._checkVulnerabilities(responseHeaders, result);
148
161
  }
149
162
  result.securityScore = this._calculateSecurityScore(result);
150
- page.removeListener('response', captureHeaders);
151
163
  return result;
152
164
  }
153
165
  catch (error) {
154
166
  this.logger?.error('[SecurityAnalyzer] Error during analysis:', error);
155
167
  return result;
156
168
  }
169
+ finally {
170
+ if (captureHeaders) {
171
+ page.removeListener('response', captureHeaders);
172
+ }
173
+ if (consoleListener) {
174
+ page.removeListener('console', consoleListener);
175
+ }
176
+ }
157
177
  }
158
178
  _analyzeSecurityHeaders(headers) {
159
179
  const analysis = {
@@ -965,14 +965,23 @@ export class WebSocketServer extends EventEmitter {
965
965
  const resource = this.database.resources?.[resourceName];
966
966
  if (!resource)
967
967
  continue;
968
- const listener = (event, data) => {
969
- this._broadcastResourceEvent(resourceName, event, data);
968
+ const insertListener = (data) => {
969
+ this._broadcastResourceEvent(resourceName, 'insert', data);
970
970
  };
971
- // Listen to resource events
972
- resource.on('insert', (data) => listener('insert', data));
973
- resource.on('update', (data) => listener('update', data));
974
- resource.on('delete', (data) => listener('delete', data));
975
- this._resourceListeners.set(resourceName, listener);
971
+ const updateListener = (data) => {
972
+ this._broadcastResourceEvent(resourceName, 'update', data);
973
+ };
974
+ const deleteListener = (data) => {
975
+ this._broadcastResourceEvent(resourceName, 'delete', data);
976
+ };
977
+ resource.on('insert', insertListener);
978
+ resource.on('update', updateListener);
979
+ resource.on('delete', deleteListener);
980
+ this._resourceListeners.set(resourceName, {
981
+ insert: insertListener,
982
+ update: updateListener,
983
+ delete: deleteListener
984
+ });
976
985
  }
977
986
  }
978
987
  /**
@@ -980,12 +989,12 @@ export class WebSocketServer extends EventEmitter {
980
989
  * @private
981
990
  */
982
991
  _removeResourceListeners() {
983
- for (const [resourceName, listener] of this._resourceListeners) {
992
+ for (const [resourceName, listeners] of this._resourceListeners) {
984
993
  const resource = this.database.resources?.[resourceName];
985
994
  if (resource) {
986
- resource.removeListener('insert', listener);
987
- resource.removeListener('update', listener);
988
- resource.removeListener('delete', listener);
995
+ resource.removeListener('insert', listeners.insert);
996
+ resource.removeListener('update', listeners.update);
997
+ resource.removeListener('delete', listeners.delete);
989
998
  }
990
999
  }
991
1000
  this._resourceListeners.clear();
@@ -40162,7 +40162,7 @@ function getDefaultUserAgent() {
40162
40162
  return `recker/${VERSION$1}`;
40163
40163
  }
40164
40164
 
40165
- const VERSION = '1.0.66';
40165
+ const VERSION = '1.0.68';
40166
40166
  let _version = null;
40167
40167
  async function getVersion() {
40168
40168
  if (_version)
@@ -51197,10 +51197,15 @@ class ReckerHttpHandler {
51197
51197
  connectTimeout: 10000,
51198
51198
  headersTimeout: 30000,
51199
51199
  bodyTimeout: 60000,
51200
+ keepAlive: options.keepAlive ?? true,
51200
51201
  keepAliveTimeout: 4000,
51201
51202
  keepAliveMaxTimeout: 600000,
51203
+ keepAliveTimeoutThreshold: 1000,
51202
51204
  connections: 100,
51203
51205
  pipelining: 10,
51206
+ maxRequestsPerClient: 100,
51207
+ clientTtl: null,
51208
+ maxCachedSessions: 100,
51204
51209
  http2: true,
51205
51210
  http2MaxConcurrentStreams: 100,
51206
51211
  http2Preset: 'performance', // Default to performance preset for S3 workloads
@@ -51242,9 +51247,14 @@ class ReckerHttpHandler {
51242
51247
  agent: {
51243
51248
  connections: this.options.connections,
51244
51249
  pipelining: this.options.pipelining,
51245
- keepAlive: true,
51250
+ keepAlive: this.options.keepAlive,
51246
51251
  keepAliveTimeout: this.options.keepAliveTimeout,
51247
51252
  keepAliveMaxTimeout: this.options.keepAliveMaxTimeout,
51253
+ keepAliveTimeoutThreshold: this.options.keepAliveTimeoutThreshold,
51254
+ maxRequestsPerClient: this.options.maxRequestsPerClient,
51255
+ clientTtl: this.options.clientTtl ?? null,
51256
+ maxCachedSessions: this.options.maxCachedSessions,
51257
+ ...(this.options.localAddress ? { localAddress: this.options.localAddress } : {}),
51248
51258
  },
51249
51259
  },
51250
51260
  hooks,
@@ -51388,9 +51398,21 @@ class ReckerHttpHandler {
51388
51398
  };
51389
51399
  }
51390
51400
  destroy() {
51401
+ void this.destroyAsync();
51402
+ }
51403
+ async destroyAsync() {
51404
+ const client = this.client;
51391
51405
  this.client = null;
51392
51406
  this.deduplicator = null;
51393
51407
  this.circuitBreaker = null;
51408
+ if (client) {
51409
+ try {
51410
+ await client.destroy();
51411
+ }
51412
+ catch {
51413
+ // Ignore cleanup errors
51414
+ }
51415
+ }
51394
51416
  }
51395
51417
  }
51396
51418
 
@@ -55047,6 +55069,8 @@ class S3Client extends EventEmitter {
55047
55069
  connectionString;
55048
55070
  httpClientOptions;
55049
55071
  client;
55072
+ httpHandler = null;
55073
+ _rawHttpClientOptions;
55050
55074
  _inflightCoalescing;
55051
55075
  taskExecutorConfig;
55052
55076
  taskExecutor;
@@ -55064,6 +55088,7 @@ class S3Client extends EventEmitter {
55064
55088
  this.id = id ?? idGenerator(77);
55065
55089
  this.config = new ConnectionString(connectionString);
55066
55090
  this.connectionString = connectionString;
55091
+ this._rawHttpClientOptions = httpClientOptions || {};
55067
55092
  this.httpClientOptions = {
55068
55093
  keepAlive: true,
55069
55094
  keepAliveMsecs: 1000,
@@ -55127,6 +55152,26 @@ class S3Client extends EventEmitter {
55127
55152
  };
55128
55153
  return normalized;
55129
55154
  }
55155
+ _normalizeHttpHandlerOptions() {
55156
+ const options = this.httpClientOptions;
55157
+ const raw = this._rawHttpClientOptions;
55158
+ const connections = typeof raw.connections === 'number'
55159
+ ? raw.connections
55160
+ : raw.maxSockets;
55161
+ const keepAliveTimeout = raw.keepAliveTimeout ?? raw.keepAliveMsecs;
55162
+ const bodyTimeout = raw.bodyTimeout ?? raw.timeout;
55163
+ const normalized = { ...options };
55164
+ if (connections !== undefined) {
55165
+ normalized.connections = connections;
55166
+ }
55167
+ if (keepAliveTimeout !== undefined) {
55168
+ normalized.keepAliveTimeout = keepAliveTimeout;
55169
+ }
55170
+ if (bodyTimeout !== undefined) {
55171
+ normalized.bodyTimeout = bodyTimeout;
55172
+ }
55173
+ return normalized;
55174
+ }
55130
55175
  _createTasksPool() {
55131
55176
  const poolConfig = {
55132
55177
  concurrency: this.taskExecutorConfig.concurrency,
@@ -55228,7 +55273,11 @@ class S3Client extends EventEmitter {
55228
55273
  return;
55229
55274
  this.taskExecutor.stop();
55230
55275
  }
55231
- destroy() {
55276
+ async destroy() {
55277
+ if (this.httpHandler) {
55278
+ await this.httpHandler.destroyAsync();
55279
+ this.httpHandler = null;
55280
+ }
55232
55281
  if (this.client && typeof this.client.destroy === 'function') {
55233
55282
  this.client.destroy();
55234
55283
  }
@@ -55236,11 +55285,11 @@ class S3Client extends EventEmitter {
55236
55285
  this.removeAllListeners();
55237
55286
  }
55238
55287
  createClient() {
55239
- const httpHandler = new ReckerHttpHandler(this.httpClientOptions);
55288
+ this.httpHandler = new ReckerHttpHandler(this._normalizeHttpHandlerOptions());
55240
55289
  const options = {
55241
55290
  region: this.config.region,
55242
55291
  endpoint: this.config.endpoint,
55243
- requestHandler: httpHandler,
55292
+ requestHandler: this.httpHandler,
55244
55293
  };
55245
55294
  if (this.config.forcePathStyle)
55246
55295
  options.forcePathStyle = true;
@@ -62752,6 +62801,9 @@ class AsyncEventEmitter extends EventEmitter {
62752
62801
  setAsyncMode(enabled) {
62753
62802
  this._asyncMode = enabled;
62754
62803
  }
62804
+ destroy() {
62805
+ this.removeAllListeners();
62806
+ }
62755
62807
  }
62756
62808
 
62757
62809
  /**
@@ -70304,7 +70356,7 @@ class DatabaseConnection {
70304
70356
  db.client.removeAllListeners();
70305
70357
  }
70306
70358
  if (typeof db.client.destroy === 'function') {
70307
- db.client.destroy();
70359
+ await db.client.destroy();
70308
70360
  }
70309
70361
  }
70310
70362
  await db.emit('db:disconnected', new Date());
@@ -70383,8 +70435,8 @@ class Database extends SafeEventEmitter {
70383
70435
  })();
70384
70436
  this.version = '1';
70385
70437
  this.s3dbVersion = (() => {
70386
- const [ok, , version] = tryFnSync(() => (typeof globalThis['19.3.17'] !== 'undefined' && globalThis['19.3.17'] !== '19.3.17'
70387
- ? globalThis['19.3.17']
70438
+ const [ok, , version] = tryFnSync(() => (typeof globalThis['19.3.19'] !== 'undefined' && globalThis['19.3.19'] !== '19.3.19'
70439
+ ? globalThis['19.3.19']
70388
70440
  : 'latest'));
70389
70441
  return ok ? version : 'latest';
70390
70442
  })();