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.
- package/README.md +139 -43
- package/dist/s3db.cjs +72425 -38970
- package/dist/s3db.cjs.map +1 -1
- package/dist/s3db.es.js +72177 -38764
- package/dist/s3db.es.js.map +1 -1
- package/mcp/lib/base-handler.js +157 -0
- package/mcp/lib/handlers/connection-handler.js +280 -0
- package/mcp/lib/handlers/query-handler.js +533 -0
- package/mcp/lib/handlers/resource-handler.js +428 -0
- package/mcp/lib/tool-registry.js +336 -0
- package/mcp/lib/tools/connection-tools.js +161 -0
- package/mcp/lib/tools/query-tools.js +267 -0
- package/mcp/lib/tools/resource-tools.js +404 -0
- package/package.json +94 -49
- package/src/clients/memory-client.class.js +346 -191
- package/src/clients/memory-storage.class.js +300 -84
- package/src/clients/s3-client.class.js +7 -6
- package/src/concerns/geo-encoding.js +19 -2
- package/src/concerns/ip.js +59 -9
- package/src/concerns/money.js +8 -1
- package/src/concerns/password-hashing.js +49 -8
- package/src/concerns/plugin-storage.js +186 -18
- package/src/concerns/storage-drivers/filesystem-driver.js +284 -0
- package/src/database.class.js +139 -29
- package/src/errors.js +332 -42
- package/src/plugins/api/auth/oidc-auth.js +66 -17
- package/src/plugins/api/auth/strategies/base-strategy.class.js +74 -0
- package/src/plugins/api/auth/strategies/factory.class.js +63 -0
- package/src/plugins/api/auth/strategies/global-strategy.class.js +44 -0
- package/src/plugins/api/auth/strategies/path-based-strategy.class.js +83 -0
- package/src/plugins/api/auth/strategies/path-rules-strategy.class.js +118 -0
- package/src/plugins/api/concerns/failban-manager.js +106 -57
- package/src/plugins/api/concerns/opengraph-helper.js +116 -0
- package/src/plugins/api/concerns/route-context.js +601 -0
- package/src/plugins/api/concerns/state-machine.js +288 -0
- package/src/plugins/api/index.js +180 -41
- package/src/plugins/api/routes/auth-routes.js +198 -30
- package/src/plugins/api/routes/resource-routes.js +19 -4
- package/src/plugins/api/server/health-manager.class.js +163 -0
- package/src/plugins/api/server/middleware-chain.class.js +310 -0
- package/src/plugins/api/server/router.class.js +472 -0
- package/src/plugins/api/server.js +280 -1303
- package/src/plugins/api/utils/custom-routes.js +17 -5
- package/src/plugins/api/utils/guards.js +76 -17
- package/src/plugins/api/utils/openapi-generator-cached.class.js +133 -0
- package/src/plugins/api/utils/openapi-generator.js +7 -6
- package/src/plugins/api/utils/template-engine.js +77 -3
- package/src/plugins/audit.plugin.js +30 -8
- package/src/plugins/backup.plugin.js +110 -14
- package/src/plugins/cache/cache.class.js +22 -5
- package/src/plugins/cache/filesystem-cache.class.js +116 -19
- package/src/plugins/cache/memory-cache.class.js +211 -57
- package/src/plugins/cache/multi-tier-cache.class.js +371 -0
- package/src/plugins/cache/partition-aware-filesystem-cache.class.js +168 -47
- package/src/plugins/cache/redis-cache.class.js +552 -0
- package/src/plugins/cache/s3-cache.class.js +17 -8
- package/src/plugins/cache.plugin.js +176 -61
- package/src/plugins/cloud-inventory/drivers/alibaba-driver.js +8 -1
- package/src/plugins/cloud-inventory/drivers/aws-driver.js +60 -29
- package/src/plugins/cloud-inventory/drivers/azure-driver.js +8 -1
- package/src/plugins/cloud-inventory/drivers/base-driver.js +16 -2
- package/src/plugins/cloud-inventory/drivers/cloudflare-driver.js +8 -1
- package/src/plugins/cloud-inventory/drivers/digitalocean-driver.js +8 -1
- package/src/plugins/cloud-inventory/drivers/hetzner-driver.js +8 -1
- package/src/plugins/cloud-inventory/drivers/linode-driver.js +8 -1
- package/src/plugins/cloud-inventory/drivers/mongodb-atlas-driver.js +8 -1
- package/src/plugins/cloud-inventory/drivers/vultr-driver.js +8 -1
- package/src/plugins/cloud-inventory/index.js +29 -8
- package/src/plugins/cloud-inventory/registry.js +64 -42
- package/src/plugins/cloud-inventory.plugin.js +240 -138
- package/src/plugins/concerns/plugin-dependencies.js +54 -0
- package/src/plugins/concerns/resource-names.js +100 -0
- package/src/plugins/consumers/index.js +10 -2
- package/src/plugins/consumers/sqs-consumer.js +12 -2
- package/src/plugins/cookie-farm-suite.plugin.js +278 -0
- package/src/plugins/cookie-farm.errors.js +73 -0
- package/src/plugins/cookie-farm.plugin.js +869 -0
- package/src/plugins/costs.plugin.js +7 -1
- package/src/plugins/eventual-consistency/analytics.js +94 -19
- package/src/plugins/eventual-consistency/config.js +15 -7
- package/src/plugins/eventual-consistency/consolidation.js +29 -11
- package/src/plugins/eventual-consistency/garbage-collection.js +3 -1
- package/src/plugins/eventual-consistency/helpers.js +39 -14
- package/src/plugins/eventual-consistency/install.js +21 -2
- package/src/plugins/eventual-consistency/utils.js +32 -10
- package/src/plugins/fulltext.plugin.js +38 -11
- package/src/plugins/geo.plugin.js +61 -9
- package/src/plugins/identity/concerns/config.js +61 -0
- package/src/plugins/identity/concerns/mfa-manager.js +15 -2
- package/src/plugins/identity/concerns/rate-limit.js +124 -0
- package/src/plugins/identity/concerns/resource-schemas.js +9 -1
- package/src/plugins/identity/concerns/token-generator.js +29 -4
- package/src/plugins/identity/drivers/auth-driver.interface.js +76 -0
- package/src/plugins/identity/drivers/client-credentials-driver.js +127 -0
- package/src/plugins/identity/drivers/index.js +18 -0
- package/src/plugins/identity/drivers/password-driver.js +122 -0
- package/src/plugins/identity/email-service.js +17 -2
- package/src/plugins/identity/index.js +413 -69
- package/src/plugins/identity/oauth2-server.js +413 -30
- package/src/plugins/identity/oidc-discovery.js +16 -8
- package/src/plugins/identity/rsa-keys.js +115 -35
- package/src/plugins/identity/server.js +166 -45
- package/src/plugins/identity/session-manager.js +53 -7
- package/src/plugins/identity/ui/pages/mfa-verification.js +17 -15
- package/src/plugins/identity/ui/routes.js +363 -255
- package/src/plugins/importer/index.js +153 -20
- package/src/plugins/index.js +9 -2
- package/src/plugins/kubernetes-inventory/index.js +6 -0
- package/src/plugins/kubernetes-inventory/k8s-driver.js +867 -0
- package/src/plugins/kubernetes-inventory/resource-types.js +274 -0
- package/src/plugins/kubernetes-inventory.plugin.js +980 -0
- package/src/plugins/metrics.plugin.js +64 -16
- package/src/plugins/ml/base-model.class.js +25 -15
- package/src/plugins/ml/regression-model.class.js +1 -1
- package/src/plugins/ml.errors.js +57 -25
- package/src/plugins/ml.plugin.js +28 -4
- package/src/plugins/namespace.js +210 -0
- package/src/plugins/plugin.class.js +180 -8
- package/src/plugins/puppeteer/console-monitor.js +729 -0
- package/src/plugins/puppeteer/cookie-manager.js +492 -0
- package/src/plugins/puppeteer/network-monitor.js +816 -0
- package/src/plugins/puppeteer/performance-manager.js +746 -0
- package/src/plugins/puppeteer/proxy-manager.js +478 -0
- package/src/plugins/puppeteer/stealth-manager.js +556 -0
- package/src/plugins/puppeteer.errors.js +81 -0
- package/src/plugins/puppeteer.plugin.js +1327 -0
- package/src/plugins/queue-consumer.plugin.js +69 -14
- package/src/plugins/recon/behaviors/uptime-behavior.js +691 -0
- package/src/plugins/recon/concerns/command-runner.js +148 -0
- package/src/plugins/recon/concerns/diff-detector.js +372 -0
- package/src/plugins/recon/concerns/fingerprint-builder.js +307 -0
- package/src/plugins/recon/concerns/process-manager.js +338 -0
- package/src/plugins/recon/concerns/report-generator.js +478 -0
- package/src/plugins/recon/concerns/security-analyzer.js +571 -0
- package/src/plugins/recon/concerns/target-normalizer.js +68 -0
- package/src/plugins/recon/config/defaults.js +321 -0
- package/src/plugins/recon/config/resources.js +370 -0
- package/src/plugins/recon/index.js +778 -0
- package/src/plugins/recon/managers/dependency-manager.js +174 -0
- package/src/plugins/recon/managers/scheduler-manager.js +179 -0
- package/src/plugins/recon/managers/storage-manager.js +745 -0
- package/src/plugins/recon/managers/target-manager.js +274 -0
- package/src/plugins/recon/stages/asn-stage.js +314 -0
- package/src/plugins/recon/stages/certificate-stage.js +84 -0
- package/src/plugins/recon/stages/dns-stage.js +107 -0
- package/src/plugins/recon/stages/dnsdumpster-stage.js +362 -0
- package/src/plugins/recon/stages/fingerprint-stage.js +71 -0
- package/src/plugins/recon/stages/google-dorks-stage.js +440 -0
- package/src/plugins/recon/stages/http-stage.js +89 -0
- package/src/plugins/recon/stages/latency-stage.js +148 -0
- package/src/plugins/recon/stages/massdns-stage.js +302 -0
- package/src/plugins/recon/stages/osint-stage.js +1373 -0
- package/src/plugins/recon/stages/ports-stage.js +169 -0
- package/src/plugins/recon/stages/screenshot-stage.js +94 -0
- package/src/plugins/recon/stages/secrets-stage.js +514 -0
- package/src/plugins/recon/stages/subdomains-stage.js +295 -0
- package/src/plugins/recon/stages/tls-audit-stage.js +78 -0
- package/src/plugins/recon/stages/vulnerability-stage.js +78 -0
- package/src/plugins/recon/stages/web-discovery-stage.js +113 -0
- package/src/plugins/recon/stages/whois-stage.js +349 -0
- package/src/plugins/recon.plugin.js +75 -0
- package/src/plugins/recon.plugin.js.backup +2635 -0
- package/src/plugins/relation.errors.js +87 -14
- package/src/plugins/replicator.plugin.js +514 -137
- package/src/plugins/replicators/base-replicator.class.js +89 -1
- package/src/plugins/replicators/bigquery-replicator.class.js +66 -22
- package/src/plugins/replicators/dynamodb-replicator.class.js +22 -15
- package/src/plugins/replicators/mongodb-replicator.class.js +22 -15
- package/src/plugins/replicators/mysql-replicator.class.js +52 -17
- package/src/plugins/replicators/planetscale-replicator.class.js +30 -4
- package/src/plugins/replicators/postgres-replicator.class.js +62 -27
- package/src/plugins/replicators/s3db-replicator.class.js +25 -18
- package/src/plugins/replicators/schema-sync.helper.js +3 -3
- package/src/plugins/replicators/sqs-replicator.class.js +8 -2
- package/src/plugins/replicators/turso-replicator.class.js +23 -3
- package/src/plugins/replicators/webhook-replicator.class.js +42 -4
- package/src/plugins/s3-queue.plugin.js +464 -65
- package/src/plugins/scheduler.plugin.js +20 -6
- package/src/plugins/state-machine.plugin.js +40 -9
- package/src/plugins/tfstate/README.md +126 -126
- package/src/plugins/tfstate/base-driver.js +28 -4
- package/src/plugins/tfstate/errors.js +65 -10
- package/src/plugins/tfstate/filesystem-driver.js +52 -8
- package/src/plugins/tfstate/index.js +163 -90
- package/src/plugins/tfstate/s3-driver.js +64 -6
- package/src/plugins/ttl.plugin.js +72 -17
- package/src/plugins/vector/distances.js +18 -12
- package/src/plugins/vector/kmeans.js +26 -4
- package/src/resource.class.js +115 -19
- package/src/testing/factory.class.js +20 -3
- package/src/testing/seeder.class.js +7 -1
- package/src/clients/memory-client.md +0 -917
- 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
|
-
|
|
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
|
-
**
|
|
457
|
+
**Connection String Options:**
|
|
433
458
|
|
|
434
459
|
```javascript
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
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
|
|