s3db.js 13.6.0 → 14.0.2

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 (193) hide show
  1. package/README.md +139 -43
  2. package/dist/s3db.cjs +72425 -38970
  3. package/dist/s3db.cjs.map +1 -1
  4. package/dist/s3db.es.js +72177 -38764
  5. package/dist/s3db.es.js.map +1 -1
  6. package/mcp/lib/base-handler.js +157 -0
  7. package/mcp/lib/handlers/connection-handler.js +280 -0
  8. package/mcp/lib/handlers/query-handler.js +533 -0
  9. package/mcp/lib/handlers/resource-handler.js +428 -0
  10. package/mcp/lib/tool-registry.js +336 -0
  11. package/mcp/lib/tools/connection-tools.js +161 -0
  12. package/mcp/lib/tools/query-tools.js +267 -0
  13. package/mcp/lib/tools/resource-tools.js +404 -0
  14. package/package.json +94 -49
  15. package/src/clients/memory-client.class.js +346 -191
  16. package/src/clients/memory-storage.class.js +300 -84
  17. package/src/clients/s3-client.class.js +7 -6
  18. package/src/concerns/geo-encoding.js +19 -2
  19. package/src/concerns/ip.js +59 -9
  20. package/src/concerns/money.js +8 -1
  21. package/src/concerns/password-hashing.js +49 -8
  22. package/src/concerns/plugin-storage.js +186 -18
  23. package/src/concerns/storage-drivers/filesystem-driver.js +284 -0
  24. package/src/database.class.js +139 -29
  25. package/src/errors.js +332 -42
  26. package/src/plugins/api/auth/oidc-auth.js +66 -17
  27. package/src/plugins/api/auth/strategies/base-strategy.class.js +74 -0
  28. package/src/plugins/api/auth/strategies/factory.class.js +63 -0
  29. package/src/plugins/api/auth/strategies/global-strategy.class.js +44 -0
  30. package/src/plugins/api/auth/strategies/path-based-strategy.class.js +83 -0
  31. package/src/plugins/api/auth/strategies/path-rules-strategy.class.js +118 -0
  32. package/src/plugins/api/concerns/failban-manager.js +106 -57
  33. package/src/plugins/api/concerns/opengraph-helper.js +116 -0
  34. package/src/plugins/api/concerns/route-context.js +601 -0
  35. package/src/plugins/api/concerns/state-machine.js +288 -0
  36. package/src/plugins/api/index.js +180 -41
  37. package/src/plugins/api/routes/auth-routes.js +198 -30
  38. package/src/plugins/api/routes/resource-routes.js +19 -4
  39. package/src/plugins/api/server/health-manager.class.js +163 -0
  40. package/src/plugins/api/server/middleware-chain.class.js +310 -0
  41. package/src/plugins/api/server/router.class.js +472 -0
  42. package/src/plugins/api/server.js +280 -1303
  43. package/src/plugins/api/utils/custom-routes.js +17 -5
  44. package/src/plugins/api/utils/guards.js +76 -17
  45. package/src/plugins/api/utils/openapi-generator-cached.class.js +133 -0
  46. package/src/plugins/api/utils/openapi-generator.js +7 -6
  47. package/src/plugins/api/utils/template-engine.js +77 -3
  48. package/src/plugins/audit.plugin.js +30 -8
  49. package/src/plugins/backup.plugin.js +110 -14
  50. package/src/plugins/cache/cache.class.js +22 -5
  51. package/src/plugins/cache/filesystem-cache.class.js +116 -19
  52. package/src/plugins/cache/memory-cache.class.js +211 -57
  53. package/src/plugins/cache/multi-tier-cache.class.js +371 -0
  54. package/src/plugins/cache/partition-aware-filesystem-cache.class.js +168 -47
  55. package/src/plugins/cache/redis-cache.class.js +552 -0
  56. package/src/plugins/cache/s3-cache.class.js +17 -8
  57. package/src/plugins/cache.plugin.js +176 -61
  58. package/src/plugins/cloud-inventory/drivers/alibaba-driver.js +8 -1
  59. package/src/plugins/cloud-inventory/drivers/aws-driver.js +60 -29
  60. package/src/plugins/cloud-inventory/drivers/azure-driver.js +8 -1
  61. package/src/plugins/cloud-inventory/drivers/base-driver.js +16 -2
  62. package/src/plugins/cloud-inventory/drivers/cloudflare-driver.js +8 -1
  63. package/src/plugins/cloud-inventory/drivers/digitalocean-driver.js +8 -1
  64. package/src/plugins/cloud-inventory/drivers/hetzner-driver.js +8 -1
  65. package/src/plugins/cloud-inventory/drivers/linode-driver.js +8 -1
  66. package/src/plugins/cloud-inventory/drivers/mongodb-atlas-driver.js +8 -1
  67. package/src/plugins/cloud-inventory/drivers/vultr-driver.js +8 -1
  68. package/src/plugins/cloud-inventory/index.js +29 -8
  69. package/src/plugins/cloud-inventory/registry.js +64 -42
  70. package/src/plugins/cloud-inventory.plugin.js +240 -138
  71. package/src/plugins/concerns/plugin-dependencies.js +54 -0
  72. package/src/plugins/concerns/resource-names.js +100 -0
  73. package/src/plugins/consumers/index.js +10 -2
  74. package/src/plugins/consumers/sqs-consumer.js +12 -2
  75. package/src/plugins/cookie-farm-suite.plugin.js +278 -0
  76. package/src/plugins/cookie-farm.errors.js +73 -0
  77. package/src/plugins/cookie-farm.plugin.js +869 -0
  78. package/src/plugins/costs.plugin.js +7 -1
  79. package/src/plugins/eventual-consistency/analytics.js +94 -19
  80. package/src/plugins/eventual-consistency/config.js +15 -7
  81. package/src/plugins/eventual-consistency/consolidation.js +29 -11
  82. package/src/plugins/eventual-consistency/garbage-collection.js +3 -1
  83. package/src/plugins/eventual-consistency/helpers.js +39 -14
  84. package/src/plugins/eventual-consistency/install.js +21 -2
  85. package/src/plugins/eventual-consistency/utils.js +32 -10
  86. package/src/plugins/fulltext.plugin.js +38 -11
  87. package/src/plugins/geo.plugin.js +61 -9
  88. package/src/plugins/identity/concerns/config.js +61 -0
  89. package/src/plugins/identity/concerns/mfa-manager.js +15 -2
  90. package/src/plugins/identity/concerns/rate-limit.js +124 -0
  91. package/src/plugins/identity/concerns/resource-schemas.js +9 -1
  92. package/src/plugins/identity/concerns/token-generator.js +29 -4
  93. package/src/plugins/identity/drivers/auth-driver.interface.js +76 -0
  94. package/src/plugins/identity/drivers/client-credentials-driver.js +127 -0
  95. package/src/plugins/identity/drivers/index.js +18 -0
  96. package/src/plugins/identity/drivers/password-driver.js +122 -0
  97. package/src/plugins/identity/email-service.js +17 -2
  98. package/src/plugins/identity/index.js +413 -69
  99. package/src/plugins/identity/oauth2-server.js +413 -30
  100. package/src/plugins/identity/oidc-discovery.js +16 -8
  101. package/src/plugins/identity/rsa-keys.js +115 -35
  102. package/src/plugins/identity/server.js +166 -45
  103. package/src/plugins/identity/session-manager.js +53 -7
  104. package/src/plugins/identity/ui/pages/mfa-verification.js +17 -15
  105. package/src/plugins/identity/ui/routes.js +363 -255
  106. package/src/plugins/importer/index.js +153 -20
  107. package/src/plugins/index.js +9 -2
  108. package/src/plugins/kubernetes-inventory/index.js +6 -0
  109. package/src/plugins/kubernetes-inventory/k8s-driver.js +867 -0
  110. package/src/plugins/kubernetes-inventory/resource-types.js +274 -0
  111. package/src/plugins/kubernetes-inventory.plugin.js +980 -0
  112. package/src/plugins/metrics.plugin.js +64 -16
  113. package/src/plugins/ml/base-model.class.js +25 -15
  114. package/src/plugins/ml/regression-model.class.js +1 -1
  115. package/src/plugins/ml.errors.js +57 -25
  116. package/src/plugins/ml.plugin.js +28 -4
  117. package/src/plugins/namespace.js +210 -0
  118. package/src/plugins/plugin.class.js +180 -8
  119. package/src/plugins/puppeteer/console-monitor.js +729 -0
  120. package/src/plugins/puppeteer/cookie-manager.js +492 -0
  121. package/src/plugins/puppeteer/network-monitor.js +816 -0
  122. package/src/plugins/puppeteer/performance-manager.js +746 -0
  123. package/src/plugins/puppeteer/proxy-manager.js +478 -0
  124. package/src/plugins/puppeteer/stealth-manager.js +556 -0
  125. package/src/plugins/puppeteer.errors.js +81 -0
  126. package/src/plugins/puppeteer.plugin.js +1327 -0
  127. package/src/plugins/queue-consumer.plugin.js +69 -14
  128. package/src/plugins/recon/behaviors/uptime-behavior.js +691 -0
  129. package/src/plugins/recon/concerns/command-runner.js +148 -0
  130. package/src/plugins/recon/concerns/diff-detector.js +372 -0
  131. package/src/plugins/recon/concerns/fingerprint-builder.js +307 -0
  132. package/src/plugins/recon/concerns/process-manager.js +338 -0
  133. package/src/plugins/recon/concerns/report-generator.js +478 -0
  134. package/src/plugins/recon/concerns/security-analyzer.js +571 -0
  135. package/src/plugins/recon/concerns/target-normalizer.js +68 -0
  136. package/src/plugins/recon/config/defaults.js +321 -0
  137. package/src/plugins/recon/config/resources.js +370 -0
  138. package/src/plugins/recon/index.js +778 -0
  139. package/src/plugins/recon/managers/dependency-manager.js +174 -0
  140. package/src/plugins/recon/managers/scheduler-manager.js +179 -0
  141. package/src/plugins/recon/managers/storage-manager.js +745 -0
  142. package/src/plugins/recon/managers/target-manager.js +274 -0
  143. package/src/plugins/recon/stages/asn-stage.js +314 -0
  144. package/src/plugins/recon/stages/certificate-stage.js +84 -0
  145. package/src/plugins/recon/stages/dns-stage.js +107 -0
  146. package/src/plugins/recon/stages/dnsdumpster-stage.js +362 -0
  147. package/src/plugins/recon/stages/fingerprint-stage.js +71 -0
  148. package/src/plugins/recon/stages/google-dorks-stage.js +440 -0
  149. package/src/plugins/recon/stages/http-stage.js +89 -0
  150. package/src/plugins/recon/stages/latency-stage.js +148 -0
  151. package/src/plugins/recon/stages/massdns-stage.js +302 -0
  152. package/src/plugins/recon/stages/osint-stage.js +1373 -0
  153. package/src/plugins/recon/stages/ports-stage.js +169 -0
  154. package/src/plugins/recon/stages/screenshot-stage.js +94 -0
  155. package/src/plugins/recon/stages/secrets-stage.js +514 -0
  156. package/src/plugins/recon/stages/subdomains-stage.js +295 -0
  157. package/src/plugins/recon/stages/tls-audit-stage.js +78 -0
  158. package/src/plugins/recon/stages/vulnerability-stage.js +78 -0
  159. package/src/plugins/recon/stages/web-discovery-stage.js +113 -0
  160. package/src/plugins/recon/stages/whois-stage.js +349 -0
  161. package/src/plugins/recon.plugin.js +75 -0
  162. package/src/plugins/recon.plugin.js.backup +2635 -0
  163. package/src/plugins/relation.errors.js +87 -14
  164. package/src/plugins/replicator.plugin.js +514 -137
  165. package/src/plugins/replicators/base-replicator.class.js +89 -1
  166. package/src/plugins/replicators/bigquery-replicator.class.js +66 -22
  167. package/src/plugins/replicators/dynamodb-replicator.class.js +22 -15
  168. package/src/plugins/replicators/mongodb-replicator.class.js +22 -15
  169. package/src/plugins/replicators/mysql-replicator.class.js +52 -17
  170. package/src/plugins/replicators/planetscale-replicator.class.js +30 -4
  171. package/src/plugins/replicators/postgres-replicator.class.js +62 -27
  172. package/src/plugins/replicators/s3db-replicator.class.js +25 -18
  173. package/src/plugins/replicators/schema-sync.helper.js +3 -3
  174. package/src/plugins/replicators/sqs-replicator.class.js +8 -2
  175. package/src/plugins/replicators/turso-replicator.class.js +23 -3
  176. package/src/plugins/replicators/webhook-replicator.class.js +42 -4
  177. package/src/plugins/s3-queue.plugin.js +464 -65
  178. package/src/plugins/scheduler.plugin.js +20 -6
  179. package/src/plugins/state-machine.plugin.js +40 -9
  180. package/src/plugins/tfstate/README.md +126 -126
  181. package/src/plugins/tfstate/base-driver.js +28 -4
  182. package/src/plugins/tfstate/errors.js +65 -10
  183. package/src/plugins/tfstate/filesystem-driver.js +52 -8
  184. package/src/plugins/tfstate/index.js +163 -90
  185. package/src/plugins/tfstate/s3-driver.js +64 -6
  186. package/src/plugins/ttl.plugin.js +72 -17
  187. package/src/plugins/vector/distances.js +18 -12
  188. package/src/plugins/vector/kmeans.js +26 -4
  189. package/src/resource.class.js +115 -19
  190. package/src/testing/factory.class.js +20 -3
  191. package/src/testing/seeder.class.js +7 -1
  192. package/src/clients/memory-client.md +0 -917
  193. package/src/plugins/cloud-inventory/drivers/mock-drivers.js +0 -449
package/README.md CHANGED
@@ -106,6 +106,18 @@
106
106
 
107
107
  ---
108
108
 
109
+ ## 📚 Documentation Quick Links
110
+
111
+ > **Core Concepts:** [Schema Validation](./docs/schema.md) • [Client API](./docs/client.md) • [Fastest Validator](./docs/fastest-validator.md)
112
+
113
+ > **Plugins:** [API Plugin](./docs/plugins/api.md) • [Identity Plugin](./docs/plugins/identity.md) • [All Plugins](#-plugins)
114
+
115
+ > **Integrations:** [MCP Server](./docs/mcp.md) • [Model Context Protocol](./docs/mcp.md)
116
+
117
+ > **Advanced:** [Performance Tuning](./docs/benchmarks/) • [Migration Guides](./docs/examples/) • [TypeScript Support](./docs/typescript/)
118
+
119
+ ---
120
+
109
121
  ## 🚀 Quick Start
110
122
 
111
123
  Get up and running in less than 5 minutes!
@@ -346,9 +358,7 @@ s3db.js supports multiple connection string formats for different S3 providers:
346
358
  "http://test:test@localhost:4566/mybucket/databases/myapp"
347
359
 
348
360
  // MemoryClient (ultra-fast in-memory testing - no S3 required!)
349
- // Note: MemoryClient doesn't use a connection string, instantiate directly:
350
- // const db = new S3db({ client: new MemoryClient({ bucket: 'test-bucket' }) });
351
- // See MemoryClient section below for full documentation
361
+ "memory://mybucket/databases/myapp"
352
362
 
353
363
  // Backblaze B2
354
364
  "https://KEY_ID:APPLICATION_KEY@s3.us-west-002.backblazeb2.com/BUCKET/databases/myapp"
@@ -406,6 +416,21 @@ For testing, s3db.js provides **MemoryClient** - a pure in-memory implementation
406
416
  - 🧪 **Perfect for tests** - instant setup and teardown
407
417
  - 💾 **Optional persistence** - save/load snapshots to disk
408
418
 
419
+ **Quick Start with Connection String:**
420
+
421
+ ```javascript
422
+ import { S3db } from 's3db.js';
423
+
424
+ // Simple - just use memory:// protocol!
425
+ const db = new S3db({
426
+ connectionString: 'memory://mybucket'
427
+ });
428
+
429
+ await db.connect();
430
+ ```
431
+
432
+ **Alternative - Manual Instantiation:**
433
+
409
434
  ```javascript
410
435
  import { S3db, MemoryClient } from 's3db.js';
411
436
 
@@ -429,17 +454,41 @@ await users.insert({ id: 'u1', name: 'John', email: 'john@test.com' });
429
454
  const user = await users.get('u1');
430
455
  ```
431
456
 
432
- **Advanced Features:**
457
+ **Connection String Options:**
433
458
 
434
459
  ```javascript
435
- import { MemoryClient } from 's3db.js';
436
-
437
- const client = new MemoryClient({
438
- bucket: 'test-bucket',
439
- keyPrefix: 'tests/', // Optional prefix for all keys
440
- enforceLimits: true, // Enforce S3 2KB metadata limit
441
- persistPath: './test-data.json', // Optional: persist to disk
442
- verbose: false // Disable logging
460
+ // Basic usage
461
+ "memory://mybucket"
462
+
463
+ // With key prefix (path)
464
+ "memory://mybucket/databases/myapp"
465
+
466
+ // With multiple path segments
467
+ "memory://testdb/level1/level2/level3"
468
+
469
+ // With query parameters
470
+ "memory://mybucket?region=us-west-2"
471
+ ```
472
+
473
+ **Advanced Features (Manual Client):**
474
+
475
+ ```javascript
476
+ import { S3db, MemoryClient } from 's3db.js';
477
+
478
+ // Option 1: Connection string (recommended)
479
+ const db1 = new S3db({
480
+ connectionString: 'memory://test-bucket/tests/'
481
+ });
482
+
483
+ // Option 2: Manual client configuration
484
+ const db2 = new S3db({
485
+ client: new MemoryClient({
486
+ bucket: 'test-bucket',
487
+ keyPrefix: 'tests/', // Optional prefix for all keys
488
+ enforceLimits: true, // Enforce S3 2KB metadata limit
489
+ persistPath: './test-data.json', // Optional: persist to disk
490
+ verbose: false // Disable logging
491
+ })
443
492
  });
444
493
 
445
494
  // Snapshot/Restore (perfect for tests)
@@ -462,15 +511,19 @@ client.clear();
462
511
  **Testing Example:**
463
512
 
464
513
  ```javascript
465
- import { describe, test, beforeEach } from '@jest/globals';
466
- import { S3db, MemoryClient } from 's3db.js';
514
+ import { describe, test, beforeEach, afterEach } from '@jest/globals';
515
+ import { S3db } from 's3db.js';
467
516
 
468
517
  describe('User Tests', () => {
469
518
  let db, users, snapshot;
470
519
 
471
520
  beforeEach(async () => {
472
- db = new S3db({ client: new MemoryClient({ bucket: 'test' }) });
521
+ // Simple connection string setup!
522
+ db = new S3db({
523
+ connectionString: 'memory://test-db/my-tests'
524
+ });
473
525
  await db.connect();
526
+
474
527
  users = await db.createResource({
475
528
  name: 'users',
476
529
  attributes: { name: 'string', email: 'email' }
@@ -1271,34 +1324,77 @@ orders.useMiddleware('updated', async (ctx, next) => {
1271
1324
 
1272
1325
  ## 🔌 Plugins
1273
1326
 
1274
- Extend s3db.js with powerful plugins for caching, monitoring, replication, relationships, and more.
1275
-
1276
- ### Available Plugins
1277
-
1278
- | Plugin | Description | Dependencies |
1279
- |--------|-------------|--------------|
1280
- | [**APIPlugin**](./docs/plugins/api.md) | Auto-generated REST API with OpenAPI, path-based auth, template engine | `ejs` (optional) |
1281
- | [**AuditPlugin**](./docs/plugins/audit.md) | Complete audit trail for all operations | None |
1282
- | [**BackupPlugin**](./docs/plugins/backup.md) | Multi-destination backup system for data protection | None |
1283
- | [**CachePlugin**](./docs/plugins/cache.md) | Memory/S3/filesystem caching with compression | None |
1284
- | [**CloudInventoryPlugin**](./docs/plugins/cloud-inventory.md) | Multi-cloud inventory with versioning & diffs | None |
1285
- | [**CostsPlugin**](./docs/plugins/costs.md) | AWS cost tracking and optimization | None |
1286
- | [**EventualConsistencyPlugin**](./docs/plugins/eventual-consistency.md) | Eventually consistent counters and analytics | None |
1287
- | [**FullTextPlugin**](./docs/plugins/fulltext.md) | Full-text search with indexing | None |
1288
- | [**GeoPlugin**](./docs/plugins/geo.md) | Geospatial queries and distance calculations | None |
1289
- | [**IdentityPlugin**](./docs/plugins/identity.md) | OAuth2/OIDC authentication with MFA and whitelabel UI | None |
1290
- | [**ImporterPlugin**](./docs/plugins/importer.md) | Multi-format data import (JSON, CSV, bulk migrations) | None |
1291
- | [**MetricsPlugin**](./docs/plugins/metrics.md) | Performance monitoring and Prometheus export | None |
1292
- | [**MLPlugin**](./docs/plugins/ml-plugin.md) | Machine learning model management and inference | None |
1293
- | [**QueueConsumerPlugin**](./docs/plugins/queue-consumer.md) | Process RabbitMQ/SQS messages for event-driven architecture | `@aws-sdk/client-sqs`, `amqplib` |
1294
- | [**RelationPlugin**](./docs/plugins/relation.md) | ORM-like relationships (10-100x faster queries) | None |
1295
- | [**ReplicatorPlugin**](./docs/plugins/replicator.md) | Real-time replication to BigQuery, PostgreSQL, SQS | `pg`, `@google-cloud/bigquery`, `@aws-sdk/client-sqs` |
1296
- | [**S3QueuePlugin**](./docs/plugins/s3-queue.md) | Distributed queue with zero race conditions | None |
1297
- | [**SchedulerPlugin**](./docs/plugins/scheduler.md) | Cron-based job scheduling for maintenance tasks | `node-cron` |
1298
- | [**StateMachinePlugin**](./docs/plugins/state-machine.md) | Finite state machine workflows for business processes | None |
1299
- | [**TfstatePlugin**](./docs/plugins/tfstate.md) | Track Terraform infrastructure changes | `node-cron` |
1300
- | [**TTLPlugin**](./docs/plugins/ttl.md) | Auto-cleanup expired records (O(1) partition-based) | None |
1301
- | [**VectorPlugin**](./docs/plugins/vector.md) | Vector similarity search (cosine, euclidean) for RAG & ML | None |
1327
+ > **Quick Jump:** [🌐 API](#-api) | [🔐 Identity](#-identity) | [⚡ Performance](#-performance) | [📊 Data](#-data) | [🔧 DevOps](#-devops) | [🤖 ML/AI](#-mlai)
1328
+
1329
+ Extend s3db.js with powerful plugins. All plugins are optional and can be installed independently.
1330
+
1331
+ ### 🌐 API & Auth
1332
+
1333
+ [**APIPlugin**](./docs/plugins/api.md) [**IdentityPlugin**](./docs/plugins/identity.md)
1334
+
1335
+ **APIPlugin** - Transform s3db.js into production-ready REST API with OpenAPI, multi-auth (JWT/OIDC/Basic/API Key), rate limiting, and template engines.
1336
+
1337
+ **IdentityPlugin** - Complete OAuth2/OIDC server with MFA, whitelabel UI, and enterprise SSO.
1338
+
1339
+ ### Performance
1340
+
1341
+ [**CachePlugin**](./docs/plugins/cache.md) [**TTLPlugin**](./docs/plugins/ttl.md) [**EventualConsistencyPlugin**](./docs/plugins/eventual-consistency.md) [**MetricsPlugin**](./docs/plugins/metrics.md)
1342
+
1343
+ **CachePlugin** - Memory/S3/filesystem caching with compression and automatic invalidation.
1344
+
1345
+ **TTLPlugin** - Auto-cleanup expired records with O(1) partition-based deletion.
1346
+
1347
+ **EventualConsistencyPlugin** - Eventually consistent counters and high-performance analytics.
1348
+
1349
+ **MetricsPlugin** - Performance monitoring with Prometheus export.
1350
+
1351
+ ### 📊 Data & Replication
1352
+
1353
+ [**ReplicatorPlugin**](./docs/plugins/replicator.md) [**ImporterPlugin**](./docs/plugins/importer.md) [**BackupPlugin**](./docs/plugins/backup.md) • [**AuditPlugin**](./docs/plugins/audit.md)
1354
+
1355
+ **ReplicatorPlugin** - Real-time replication to BigQuery, PostgreSQL, MySQL, Turso, PlanetScale, and SQS.
1356
+
1357
+ **ImporterPlugin** - Multi-format data import (JSON, CSV, bulk migrations).
1358
+
1359
+ **BackupPlugin** - Multi-destination backup system for disaster recovery.
1360
+
1361
+ **AuditPlugin** - Complete audit trail for compliance and security.
1362
+
1363
+ ### 🔧 DevOps & Automation
1364
+
1365
+ [**QueueConsumerPlugin**](./docs/plugins/queue-consumer.md) • [**SchedulerPlugin**](./docs/plugins/scheduler.md) • [**TfstatePlugin**](./docs/plugins/tfstate.md) • [**CloudInventoryPlugin**](./docs/plugins/cloud-inventory.md) • [**CostsPlugin**](./docs/plugins/costs.md)
1366
+
1367
+ **QueueConsumerPlugin** - Process RabbitMQ/SQS messages for event-driven architectures.
1368
+
1369
+ **SchedulerPlugin** - Cron-based job scheduling for maintenance tasks.
1370
+
1371
+ **TfstatePlugin** - Track Terraform infrastructure changes and drift detection.
1372
+
1373
+ **CloudInventoryPlugin** - Multi-cloud inventory with versioning and diff tracking.
1374
+
1375
+ **CostsPlugin** - AWS cost tracking and optimization insights.
1376
+
1377
+ ### 🤖 ML/AI & Advanced Features
1378
+
1379
+ [**MLPlugin**](./docs/plugins/ml-plugin.md) • [**VectorPlugin**](./docs/plugins/vector.md) • [**FullTextPlugin**](./docs/plugins/fulltext.md) • [**GeoPlugin**](./docs/plugins/geo.md)
1380
+
1381
+ **MLPlugin** - Machine learning model management and inference pipelines.
1382
+
1383
+ **VectorPlugin** - Vector similarity search (cosine, euclidean) for RAG and ML applications.
1384
+
1385
+ **FullTextPlugin** - Full-text search with tokenization and indexing.
1386
+
1387
+ **GeoPlugin** - Geospatial queries and distance calculations.
1388
+
1389
+ ### 🔗 Other Plugins
1390
+
1391
+ [**RelationPlugin**](./docs/plugins/relation.md) • [**StateMachinePlugin**](./docs/plugins/state-machine.md) • [**S3QueuePlugin**](./docs/plugins/s3-queue.md)
1392
+
1393
+ **RelationPlugin** - ORM-like relationships with join optimization (10-100x faster queries).
1394
+
1395
+ **StateMachinePlugin** - Finite state machine workflows for business processes.
1396
+
1397
+ **S3QueuePlugin** - Distributed queue with zero race conditions using S3.
1302
1398
 
1303
1399
  ### Plugin Installation
1304
1400