mongo.do 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.d.ts +1 -15
- package/dist/cli/index.js +4083 -196
- package/dist/cli/index.js.map +1 -1
- package/dist/index.d.ts +2740 -20
- package/dist/index.js +9375 -27
- package/dist/index.js.map +1 -1
- package/dist/worker-entrypoint-BEW23Gmp.d.ts +1331 -0
- package/dist/worker.d.ts +6 -5
- package/dist/worker.js +5477 -18
- package/dist/worker.js.map +1 -1
- package/package.json +3 -2
- package/dist/agentfs/adapters/anthropic.d.ts +0 -176
- package/dist/agentfs/adapters/anthropic.d.ts.map +0 -1
- package/dist/agentfs/adapters/anthropic.js +0 -629
- package/dist/agentfs/adapters/anthropic.js.map +0 -1
- package/dist/agentfs/adapters/index.d.ts +0 -21
- package/dist/agentfs/adapters/index.d.ts.map +0 -1
- package/dist/agentfs/adapters/index.js +0 -23
- package/dist/agentfs/adapters/index.js.map +0 -1
- package/dist/agentfs/adapters/vercel.d.ts +0 -260
- package/dist/agentfs/adapters/vercel.d.ts.map +0 -1
- package/dist/agentfs/adapters/vercel.js +0 -288
- package/dist/agentfs/adapters/vercel.js.map +0 -1
- package/dist/agentfs/glob.d.ts +0 -116
- package/dist/agentfs/glob.d.ts.map +0 -1
- package/dist/agentfs/glob.js +0 -270
- package/dist/agentfs/glob.js.map +0 -1
- package/dist/agentfs/grep.d.ts +0 -83
- package/dist/agentfs/grep.d.ts.map +0 -1
- package/dist/agentfs/grep.js +0 -193
- package/dist/agentfs/grep.js.map +0 -1
- package/dist/agentfs/index.d.ts +0 -22
- package/dist/agentfs/index.d.ts.map +0 -1
- package/dist/agentfs/index.js +0 -18
- package/dist/agentfs/index.js.map +0 -1
- package/dist/agentfs/kv-store.d.ts +0 -128
- package/dist/agentfs/kv-store.d.ts.map +0 -1
- package/dist/agentfs/kv-store.js +0 -227
- package/dist/agentfs/kv-store.js.map +0 -1
- package/dist/agentfs/mondo-agent.d.ts +0 -255
- package/dist/agentfs/mondo-agent.d.ts.map +0 -1
- package/dist/agentfs/mondo-agent.js +0 -879
- package/dist/agentfs/mondo-agent.js.map +0 -1
- package/dist/agentfs/toolcalls.d.ts +0 -130
- package/dist/agentfs/toolcalls.d.ts.map +0 -1
- package/dist/agentfs/toolcalls.js +0 -178
- package/dist/agentfs/toolcalls.js.map +0 -1
- package/dist/agentfs/types.d.ts +0 -171
- package/dist/agentfs/types.d.ts.map +0 -1
- package/dist/agentfs/types.js +0 -7
- package/dist/agentfs/types.js.map +0 -1
- package/dist/agentfs/vfs.d.ts +0 -249
- package/dist/agentfs/vfs.d.ts.map +0 -1
- package/dist/agentfs/vfs.js +0 -469
- package/dist/agentfs/vfs.js.map +0 -1
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/mcp.d.ts +0 -119
- package/dist/cli/mcp.d.ts.map +0 -1
- package/dist/cli/mcp.js +0 -418
- package/dist/cli/mcp.js.map +0 -1
- package/dist/cli/server.d.ts +0 -179
- package/dist/cli/server.d.ts.map +0 -1
- package/dist/cli/server.js +0 -441
- package/dist/cli/server.js.map +0 -1
- package/dist/client/Collection.d.ts +0 -199
- package/dist/client/Collection.d.ts.map +0 -1
- package/dist/client/Collection.js +0 -256
- package/dist/client/Collection.js.map +0 -1
- package/dist/client/Database.d.ts +0 -68
- package/dist/client/Database.d.ts.map +0 -1
- package/dist/client/Database.js +0 -105
- package/dist/client/Database.js.map +0 -1
- package/dist/client/MongoClient.d.ts +0 -165
- package/dist/client/MongoClient.d.ts.map +0 -1
- package/dist/client/MongoClient.js +0 -307
- package/dist/client/MongoClient.js.map +0 -1
- package/dist/client/aggregation-cursor.d.ts +0 -210
- package/dist/client/aggregation-cursor.d.ts.map +0 -1
- package/dist/client/aggregation-cursor.js +0 -509
- package/dist/client/aggregation-cursor.js.map +0 -1
- package/dist/client/bulk-write.d.ts +0 -216
- package/dist/client/bulk-write.d.ts.map +0 -1
- package/dist/client/bulk-write.js +0 -63
- package/dist/client/bulk-write.js.map +0 -1
- package/dist/client/change-stream.d.ts +0 -245
- package/dist/client/change-stream.d.ts.map +0 -1
- package/dist/client/change-stream.js +0 -429
- package/dist/client/change-stream.js.map +0 -1
- package/dist/client/cursor.d.ts +0 -85
- package/dist/client/cursor.d.ts.map +0 -1
- package/dist/client/cursor.js +0 -156
- package/dist/client/cursor.js.map +0 -1
- package/dist/client/http-cursor.d.ts +0 -233
- package/dist/client/http-cursor.d.ts.map +0 -1
- package/dist/client/http-cursor.js +0 -496
- package/dist/client/http-cursor.js.map +0 -1
- package/dist/client/index.d.ts +0 -18
- package/dist/client/index.d.ts.map +0 -1
- package/dist/client/index.js +0 -24
- package/dist/client/index.js.map +0 -1
- package/dist/client/mongo-client.d.ts +0 -60
- package/dist/client/mongo-client.d.ts.map +0 -1
- package/dist/client/mongo-client.js +0 -190
- package/dist/client/mongo-client.js.map +0 -1
- package/dist/client/mongo-collection.d.ts +0 -359
- package/dist/client/mongo-collection.d.ts.map +0 -1
- package/dist/client/mongo-collection.js +0 -1641
- package/dist/client/mongo-collection.js.map +0 -1
- package/dist/client/mongo-cursor.d.ts +0 -257
- package/dist/client/mongo-cursor.d.ts.map +0 -1
- package/dist/client/mongo-cursor.js +0 -621
- package/dist/client/mongo-cursor.js.map +0 -1
- package/dist/client/mongo-database.d.ts +0 -88
- package/dist/client/mongo-database.d.ts.map +0 -1
- package/dist/client/mongo-database.js +0 -139
- package/dist/client/mongo-database.js.map +0 -1
- package/dist/client/session.d.ts +0 -210
- package/dist/client/session.d.ts.map +0 -1
- package/dist/client/session.js +0 -326
- package/dist/client/session.js.map +0 -1
- package/dist/durable-object/index-manager.d.ts +0 -173
- package/dist/durable-object/index-manager.d.ts.map +0 -1
- package/dist/durable-object/index-manager.js +0 -764
- package/dist/durable-object/index-manager.js.map +0 -1
- package/dist/durable-object/index.d.ts +0 -12
- package/dist/durable-object/index.d.ts.map +0 -1
- package/dist/durable-object/index.js +0 -8
- package/dist/durable-object/index.js.map +0 -1
- package/dist/durable-object/mcp-handler.d.ts +0 -52
- package/dist/durable-object/mcp-handler.d.ts.map +0 -1
- package/dist/durable-object/mcp-handler.js +0 -186
- package/dist/durable-object/mcp-handler.js.map +0 -1
- package/dist/durable-object/migrations.d.ts +0 -40
- package/dist/durable-object/migrations.d.ts.map +0 -1
- package/dist/durable-object/migrations.js +0 -121
- package/dist/durable-object/migrations.js.map +0 -1
- package/dist/durable-object/mondo-database.d.ts +0 -148
- package/dist/durable-object/mondo-database.d.ts.map +0 -1
- package/dist/durable-object/mondo-database.js +0 -621
- package/dist/durable-object/mondo-database.js.map +0 -1
- package/dist/durable-object/schema.d.ts +0 -192
- package/dist/durable-object/schema.d.ts.map +0 -1
- package/dist/durable-object/schema.js +0 -186
- package/dist/durable-object/schema.js.map +0 -1
- package/dist/embedding/document-serializer.d.ts +0 -118
- package/dist/embedding/document-serializer.d.ts.map +0 -1
- package/dist/embedding/document-serializer.js +0 -339
- package/dist/embedding/document-serializer.js.map +0 -1
- package/dist/embedding/embedding-manager.d.ts +0 -136
- package/dist/embedding/embedding-manager.d.ts.map +0 -1
- package/dist/embedding/embedding-manager.js +0 -176
- package/dist/embedding/embedding-manager.js.map +0 -1
- package/dist/embedding/index.d.ts +0 -9
- package/dist/embedding/index.d.ts.map +0 -1
- package/dist/embedding/index.js +0 -9
- package/dist/embedding/index.js.map +0 -1
- package/dist/executor/aggregation-executor.d.ts +0 -93
- package/dist/executor/aggregation-executor.d.ts.map +0 -1
- package/dist/executor/aggregation-executor.js +0 -275
- package/dist/executor/aggregation-executor.js.map +0 -1
- package/dist/executor/function-executor.d.ts +0 -39
- package/dist/executor/function-executor.d.ts.map +0 -1
- package/dist/executor/function-executor.js +0 -168
- package/dist/executor/function-executor.js.map +0 -1
- package/dist/executor/index.d.ts +0 -4
- package/dist/executor/index.d.ts.map +0 -1
- package/dist/executor/index.js +0 -4
- package/dist/executor/index.js.map +0 -1
- package/dist/executor/vector-search-executor.d.ts +0 -71
- package/dist/executor/vector-search-executor.d.ts.map +0 -1
- package/dist/executor/vector-search-executor.js +0 -113
- package/dist/executor/vector-search-executor.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/mcp/adapters/anthropic-adapter.d.ts +0 -256
- package/dist/mcp/adapters/anthropic-adapter.d.ts.map +0 -1
- package/dist/mcp/adapters/anthropic-adapter.js +0 -409
- package/dist/mcp/adapters/anthropic-adapter.js.map +0 -1
- package/dist/mcp/adapters/base-adapter.d.ts +0 -164
- package/dist/mcp/adapters/base-adapter.d.ts.map +0 -1
- package/dist/mcp/adapters/base-adapter.js +0 -277
- package/dist/mcp/adapters/base-adapter.js.map +0 -1
- package/dist/mcp/adapters/errors.d.ts +0 -173
- package/dist/mcp/adapters/errors.d.ts.map +0 -1
- package/dist/mcp/adapters/errors.js +0 -305
- package/dist/mcp/adapters/errors.js.map +0 -1
- package/dist/mcp/adapters/index.d.ts +0 -65
- package/dist/mcp/adapters/index.d.ts.map +0 -1
- package/dist/mcp/adapters/index.js +0 -92
- package/dist/mcp/adapters/index.js.map +0 -1
- package/dist/mcp/adapters/streaming.d.ts +0 -200
- package/dist/mcp/adapters/streaming.d.ts.map +0 -1
- package/dist/mcp/adapters/streaming.js +0 -381
- package/dist/mcp/adapters/streaming.js.map +0 -1
- package/dist/mcp/adapters/vercel-adapter.d.ts +0 -321
- package/dist/mcp/adapters/vercel-adapter.d.ts.map +0 -1
- package/dist/mcp/adapters/vercel-adapter.js +0 -487
- package/dist/mcp/adapters/vercel-adapter.js.map +0 -1
- package/dist/mcp/agent.d.ts +0 -192
- package/dist/mcp/agent.d.ts.map +0 -1
- package/dist/mcp/agent.js +0 -338
- package/dist/mcp/agent.js.map +0 -1
- package/dist/mcp/cli.d.ts +0 -71
- package/dist/mcp/cli.d.ts.map +0 -1
- package/dist/mcp/cli.js +0 -218
- package/dist/mcp/cli.js.map +0 -1
- package/dist/mcp/index.d.ts +0 -15
- package/dist/mcp/index.d.ts.map +0 -1
- package/dist/mcp/index.js +0 -20
- package/dist/mcp/index.js.map +0 -1
- package/dist/mcp/sandbox/database-proxy.d.ts +0 -118
- package/dist/mcp/sandbox/database-proxy.d.ts.map +0 -1
- package/dist/mcp/sandbox/database-proxy.js +0 -154
- package/dist/mcp/sandbox/database-proxy.js.map +0 -1
- package/dist/mcp/sandbox/index.d.ts +0 -8
- package/dist/mcp/sandbox/index.d.ts.map +0 -1
- package/dist/mcp/sandbox/index.js +0 -7
- package/dist/mcp/sandbox/index.js.map +0 -1
- package/dist/mcp/sandbox/miniflare-evaluator.d.ts +0 -72
- package/dist/mcp/sandbox/miniflare-evaluator.d.ts.map +0 -1
- package/dist/mcp/sandbox/miniflare-evaluator.js +0 -379
- package/dist/mcp/sandbox/miniflare-evaluator.js.map +0 -1
- package/dist/mcp/sandbox/template.d.ts +0 -48
- package/dist/mcp/sandbox/template.d.ts.map +0 -1
- package/dist/mcp/sandbox/template.js +0 -147
- package/dist/mcp/sandbox/template.js.map +0 -1
- package/dist/mcp/sandbox/worker-evaluator.d.ts +0 -160
- package/dist/mcp/sandbox/worker-evaluator.d.ts.map +0 -1
- package/dist/mcp/sandbox/worker-evaluator.js +0 -217
- package/dist/mcp/sandbox/worker-evaluator.js.map +0 -1
- package/dist/mcp/server.d.ts +0 -75
- package/dist/mcp/server.d.ts.map +0 -1
- package/dist/mcp/server.js +0 -278
- package/dist/mcp/server.js.map +0 -1
- package/dist/mcp/tool-call-auditor.d.ts +0 -188
- package/dist/mcp/tool-call-auditor.d.ts.map +0 -1
- package/dist/mcp/tool-call-auditor.js +0 -198
- package/dist/mcp/tool-call-auditor.js.map +0 -1
- package/dist/mcp/tools/do.d.ts +0 -51
- package/dist/mcp/tools/do.d.ts.map +0 -1
- package/dist/mcp/tools/do.js +0 -113
- package/dist/mcp/tools/do.js.map +0 -1
- package/dist/mcp/tools/fetch.d.ts +0 -43
- package/dist/mcp/tools/fetch.d.ts.map +0 -1
- package/dist/mcp/tools/fetch.js +0 -127
- package/dist/mcp/tools/fetch.js.map +0 -1
- package/dist/mcp/tools/index.d.ts +0 -9
- package/dist/mcp/tools/index.d.ts.map +0 -1
- package/dist/mcp/tools/index.js +0 -9
- package/dist/mcp/tools/index.js.map +0 -1
- package/dist/mcp/tools/search.d.ts +0 -60
- package/dist/mcp/tools/search.d.ts.map +0 -1
- package/dist/mcp/tools/search.js +0 -278
- package/dist/mcp/tools/search.js.map +0 -1
- package/dist/mcp/transport/http.d.ts +0 -144
- package/dist/mcp/transport/http.d.ts.map +0 -1
- package/dist/mcp/transport/http.js +0 -545
- package/dist/mcp/transport/http.js.map +0 -1
- package/dist/mcp/transport/index.d.ts +0 -10
- package/dist/mcp/transport/index.d.ts.map +0 -1
- package/dist/mcp/transport/index.js +0 -12
- package/dist/mcp/transport/index.js.map +0 -1
- package/dist/mcp/transport/stdio.d.ts +0 -132
- package/dist/mcp/transport/stdio.d.ts.map +0 -1
- package/dist/mcp/transport/stdio.js +0 -466
- package/dist/mcp/transport/stdio.js.map +0 -1
- package/dist/mcp/types.d.ts +0 -476
- package/dist/mcp/types.d.ts.map +0 -1
- package/dist/mcp/types.js +0 -178
- package/dist/mcp/types.js.map +0 -1
- package/dist/olap/cdc/cdc-buffer.d.ts +0 -92
- package/dist/olap/cdc/cdc-buffer.d.ts.map +0 -1
- package/dist/olap/cdc/cdc-buffer.js +0 -146
- package/dist/olap/cdc/cdc-buffer.js.map +0 -1
- package/dist/olap/cdc/cdc-emitter.d.ts +0 -118
- package/dist/olap/cdc/cdc-emitter.d.ts.map +0 -1
- package/dist/olap/cdc/cdc-emitter.js +0 -217
- package/dist/olap/cdc/cdc-emitter.js.map +0 -1
- package/dist/olap/cdc/cdc-schema.d.ts +0 -119
- package/dist/olap/cdc/cdc-schema.d.ts.map +0 -1
- package/dist/olap/cdc/cdc-schema.js +0 -253
- package/dist/olap/cdc/cdc-schema.js.map +0 -1
- package/dist/olap/cdc/index.d.ts +0 -10
- package/dist/olap/cdc/index.d.ts.map +0 -1
- package/dist/olap/cdc/index.js +0 -10
- package/dist/olap/cdc/index.js.map +0 -1
- package/dist/olap/clickhouse/iceberg.d.ts +0 -164
- package/dist/olap/clickhouse/iceberg.d.ts.map +0 -1
- package/dist/olap/clickhouse/iceberg.js +0 -138
- package/dist/olap/clickhouse/iceberg.js.map +0 -1
- package/dist/olap/clickhouse/index.d.ts +0 -14
- package/dist/olap/clickhouse/index.d.ts.map +0 -1
- package/dist/olap/clickhouse/index.js +0 -14
- package/dist/olap/clickhouse/index.js.map +0 -1
- package/dist/olap/clickhouse/mapper.d.ts +0 -170
- package/dist/olap/clickhouse/mapper.d.ts.map +0 -1
- package/dist/olap/clickhouse/mapper.js +0 -654
- package/dist/olap/clickhouse/mapper.js.map +0 -1
- package/dist/olap/clickhouse/olap-backend.d.ts +0 -181
- package/dist/olap/clickhouse/olap-backend.d.ts.map +0 -1
- package/dist/olap/clickhouse/olap-backend.js +0 -1083
- package/dist/olap/clickhouse/olap-backend.js.map +0 -1
- package/dist/olap/clickhouse/query-executor.d.ts +0 -163
- package/dist/olap/clickhouse/query-executor.d.ts.map +0 -1
- package/dist/olap/clickhouse/query-executor.js +0 -560
- package/dist/olap/clickhouse/query-executor.js.map +0 -1
- package/dist/olap/clickhouse/query.d.ts +0 -134
- package/dist/olap/clickhouse/query.d.ts.map +0 -1
- package/dist/olap/clickhouse/query.js +0 -512
- package/dist/olap/clickhouse/query.js.map +0 -1
- package/dist/olap/stage/index.d.ts +0 -6
- package/dist/olap/stage/index.d.ts.map +0 -1
- package/dist/olap/stage/index.js +0 -6
- package/dist/olap/stage/index.js.map +0 -1
- package/dist/olap/stage/parser.d.ts +0 -68
- package/dist/olap/stage/parser.d.ts.map +0 -1
- package/dist/olap/stage/parser.js +0 -293
- package/dist/olap/stage/parser.js.map +0 -1
- package/dist/olap/stage/router.d.ts +0 -94
- package/dist/olap/stage/router.d.ts.map +0 -1
- package/dist/olap/stage/router.js +0 -390
- package/dist/olap/stage/router.js.map +0 -1
- package/dist/rpc/endpoint.d.ts +0 -52
- package/dist/rpc/endpoint.d.ts.map +0 -1
- package/dist/rpc/endpoint.js +0 -734
- package/dist/rpc/endpoint.js.map +0 -1
- package/dist/rpc/index.d.ts +0 -34
- package/dist/rpc/index.d.ts.map +0 -1
- package/dist/rpc/index.js +0 -45
- package/dist/rpc/index.js.map +0 -1
- package/dist/rpc/rpc-client.d.ts +0 -275
- package/dist/rpc/rpc-client.d.ts.map +0 -1
- package/dist/rpc/rpc-client.js +0 -735
- package/dist/rpc/rpc-client.js.map +0 -1
- package/dist/rpc/rpc-target.d.ts +0 -220
- package/dist/rpc/rpc-target.d.ts.map +0 -1
- package/dist/rpc/rpc-target.js +0 -500
- package/dist/rpc/rpc-target.js.map +0 -1
- package/dist/rpc/worker-entrypoint.d.ts +0 -159
- package/dist/rpc/worker-entrypoint.d.ts.map +0 -1
- package/dist/rpc/worker-entrypoint.js +0 -212
- package/dist/rpc/worker-entrypoint.js.map +0 -1
- package/dist/server.d.ts +0 -18
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js +0 -129
- package/dist/server.js.map +0 -1
- package/dist/studio/components/browser/CollectionItem.d.ts +0 -26
- package/dist/studio/components/browser/CollectionItem.d.ts.map +0 -1
- package/dist/studio/components/browser/CollectionItem.js +0 -143
- package/dist/studio/components/browser/CollectionItem.js.map +0 -1
- package/dist/studio/components/browser/CollectionTree.d.ts +0 -45
- package/dist/studio/components/browser/CollectionTree.d.ts.map +0 -1
- package/dist/studio/components/browser/CollectionTree.js +0 -207
- package/dist/studio/components/browser/CollectionTree.js.map +0 -1
- package/dist/studio/components/browser/ConnectedDatabaseBrowser.d.ts +0 -51
- package/dist/studio/components/browser/ConnectedDatabaseBrowser.d.ts.map +0 -1
- package/dist/studio/components/browser/ConnectedDatabaseBrowser.js +0 -185
- package/dist/studio/components/browser/ConnectedDatabaseBrowser.js.map +0 -1
- package/dist/studio/components/browser/DatabaseBrowser.d.ts +0 -46
- package/dist/studio/components/browser/DatabaseBrowser.d.ts.map +0 -1
- package/dist/studio/components/browser/DatabaseBrowser.js +0 -304
- package/dist/studio/components/browser/DatabaseBrowser.js.map +0 -1
- package/dist/studio/components/browser/__tests__/CollectionItem.test.d.ts +0 -5
- package/dist/studio/components/browser/__tests__/CollectionItem.test.d.ts.map +0 -1
- package/dist/studio/components/browser/__tests__/CollectionItem.test.js +0 -169
- package/dist/studio/components/browser/__tests__/CollectionItem.test.js.map +0 -1
- package/dist/studio/components/browser/__tests__/CollectionTree.test.d.ts +0 -5
- package/dist/studio/components/browser/__tests__/CollectionTree.test.d.ts.map +0 -1
- package/dist/studio/components/browser/__tests__/CollectionTree.test.js +0 -203
- package/dist/studio/components/browser/__tests__/CollectionTree.test.js.map +0 -1
- package/dist/studio/components/browser/__tests__/DatabaseBrowser.e2e.test.d.ts +0 -8
- package/dist/studio/components/browser/__tests__/DatabaseBrowser.e2e.test.d.ts.map +0 -1
- package/dist/studio/components/browser/__tests__/DatabaseBrowser.e2e.test.js +0 -522
- package/dist/studio/components/browser/__tests__/DatabaseBrowser.e2e.test.js.map +0 -1
- package/dist/studio/components/browser/__tests__/DatabaseBrowser.test.d.ts +0 -5
- package/dist/studio/components/browser/__tests__/DatabaseBrowser.test.d.ts.map +0 -1
- package/dist/studio/components/browser/__tests__/DatabaseBrowser.test.js +0 -518
- package/dist/studio/components/browser/__tests__/DatabaseBrowser.test.js.map +0 -1
- package/dist/studio/components/browser/__tests__/setup.d.ts +0 -5
- package/dist/studio/components/browser/__tests__/setup.d.ts.map +0 -1
- package/dist/studio/components/browser/__tests__/setup.js +0 -22
- package/dist/studio/components/browser/__tests__/setup.js.map +0 -1
- package/dist/studio/components/browser/index.d.ts +0 -15
- package/dist/studio/components/browser/index.d.ts.map +0 -1
- package/dist/studio/components/browser/index.js +0 -10
- package/dist/studio/components/browser/index.js.map +0 -1
- package/dist/studio/components/browser/types.d.ts +0 -33
- package/dist/studio/components/browser/types.d.ts.map +0 -1
- package/dist/studio/components/browser/types.js +0 -5
- package/dist/studio/components/browser/types.js.map +0 -1
- package/dist/studio/components/connection/ConnectionForm.d.ts +0 -59
- package/dist/studio/components/connection/ConnectionForm.d.ts.map +0 -1
- package/dist/studio/components/connection/ConnectionForm.js +0 -274
- package/dist/studio/components/connection/ConnectionForm.js.map +0 -1
- package/dist/studio/components/connection/ConnectionList.d.ts +0 -59
- package/dist/studio/components/connection/ConnectionList.d.ts.map +0 -1
- package/dist/studio/components/connection/ConnectionList.js +0 -286
- package/dist/studio/components/connection/ConnectionList.js.map +0 -1
- package/dist/studio/components/connection/ConnectionPanel.d.ts +0 -132
- package/dist/studio/components/connection/ConnectionPanel.d.ts.map +0 -1
- package/dist/studio/components/connection/ConnectionPanel.js +0 -293
- package/dist/studio/components/connection/ConnectionPanel.js.map +0 -1
- package/dist/studio/components/connection/__tests__/ConnectionPanel.test.d.ts +0 -8
- package/dist/studio/components/connection/__tests__/ConnectionPanel.test.d.ts.map +0 -1
- package/dist/studio/components/connection/__tests__/ConnectionPanel.test.js +0 -632
- package/dist/studio/components/connection/__tests__/ConnectionPanel.test.js.map +0 -1
- package/dist/studio/components/connection/__tests__/setup.d.ts +0 -5
- package/dist/studio/components/connection/__tests__/setup.d.ts.map +0 -1
- package/dist/studio/components/connection/__tests__/setup.js +0 -11
- package/dist/studio/components/connection/__tests__/setup.js.map +0 -1
- package/dist/studio/components/connection/index.d.ts +0 -10
- package/dist/studio/components/connection/index.d.ts.map +0 -1
- package/dist/studio/components/connection/index.js +0 -7
- package/dist/studio/components/connection/index.js.map +0 -1
- package/dist/studio/components/crud/DeleteDocumentDialog.d.ts +0 -91
- package/dist/studio/components/crud/DeleteDocumentDialog.d.ts.map +0 -1
- package/dist/studio/components/crud/DeleteDocumentDialog.js +0 -273
- package/dist/studio/components/crud/DeleteDocumentDialog.js.map +0 -1
- package/dist/studio/components/crud/DocumentEditor.d.ts +0 -32
- package/dist/studio/components/crud/DocumentEditor.d.ts.map +0 -1
- package/dist/studio/components/crud/DocumentEditor.js +0 -546
- package/dist/studio/components/crud/DocumentEditor.js.map +0 -1
- package/dist/studio/components/crud/InsertDocumentDialog.d.ts +0 -78
- package/dist/studio/components/crud/InsertDocumentDialog.d.ts.map +0 -1
- package/dist/studio/components/crud/InsertDocumentDialog.js +0 -323
- package/dist/studio/components/crud/InsertDocumentDialog.js.map +0 -1
- package/dist/studio/components/crud/__tests__/DeleteDocumentDialog.test.d.ts +0 -5
- package/dist/studio/components/crud/__tests__/DeleteDocumentDialog.test.d.ts.map +0 -1
- package/dist/studio/components/crud/__tests__/DeleteDocumentDialog.test.js +0 -298
- package/dist/studio/components/crud/__tests__/DeleteDocumentDialog.test.js.map +0 -1
- package/dist/studio/components/crud/__tests__/DocumentEditor.test.d.ts +0 -8
- package/dist/studio/components/crud/__tests__/DocumentEditor.test.d.ts.map +0 -1
- package/dist/studio/components/crud/__tests__/DocumentEditor.test.js +0 -368
- package/dist/studio/components/crud/__tests__/DocumentEditor.test.js.map +0 -1
- package/dist/studio/components/crud/__tests__/InsertDocumentDialog.test.d.ts +0 -2
- package/dist/studio/components/crud/__tests__/InsertDocumentDialog.test.d.ts.map +0 -1
- package/dist/studio/components/crud/__tests__/InsertDocumentDialog.test.js +0 -352
- package/dist/studio/components/crud/__tests__/InsertDocumentDialog.test.js.map +0 -1
- package/dist/studio/components/crud/__tests__/setup.d.ts +0 -5
- package/dist/studio/components/crud/__tests__/setup.d.ts.map +0 -1
- package/dist/studio/components/crud/__tests__/setup.js +0 -22
- package/dist/studio/components/crud/__tests__/setup.js.map +0 -1
- package/dist/studio/components/crud/index.d.ts +0 -12
- package/dist/studio/components/crud/index.d.ts.map +0 -1
- package/dist/studio/components/crud/index.js +0 -11
- package/dist/studio/components/crud/index.js.map +0 -1
- package/dist/studio/hooks/useConnection.d.ts +0 -127
- package/dist/studio/hooks/useConnection.d.ts.map +0 -1
- package/dist/studio/hooks/useConnection.js +0 -414
- package/dist/studio/hooks/useConnection.js.map +0 -1
- package/dist/studio/hooks/useDatabaseBrowser.d.ts +0 -107
- package/dist/studio/hooks/useDatabaseBrowser.d.ts.map +0 -1
- package/dist/studio/hooks/useDatabaseBrowser.js +0 -294
- package/dist/studio/hooks/useDatabaseBrowser.js.map +0 -1
- package/dist/studio/index.d.ts +0 -16
- package/dist/studio/index.d.ts.map +0 -1
- package/dist/studio/index.js +0 -14
- package/dist/studio/index.js.map +0 -1
- package/dist/studio/types/connection.d.ts +0 -266
- package/dist/studio/types/connection.d.ts.map +0 -1
- package/dist/studio/types/connection.js +0 -159
- package/dist/studio/types/connection.js.map +0 -1
- package/dist/studio/vitest.config.d.ts +0 -3
- package/dist/studio/vitest.config.d.ts.map +0 -1
- package/dist/studio/vitest.config.js +0 -33
- package/dist/studio/vitest.config.js.map +0 -1
- package/dist/translator/aggregation-translator.d.ts +0 -51
- package/dist/translator/aggregation-translator.d.ts.map +0 -1
- package/dist/translator/aggregation-translator.js +0 -324
- package/dist/translator/aggregation-translator.js.map +0 -1
- package/dist/translator/dialect.d.ts +0 -131
- package/dist/translator/dialect.d.ts.map +0 -1
- package/dist/translator/dialect.js +0 -276
- package/dist/translator/dialect.js.map +0 -1
- package/dist/translator/geo-translator.d.ts +0 -91
- package/dist/translator/geo-translator.d.ts.map +0 -1
- package/dist/translator/geo-translator.js +0 -587
- package/dist/translator/geo-translator.js.map +0 -1
- package/dist/translator/hybrid-translator.d.ts +0 -70
- package/dist/translator/hybrid-translator.d.ts.map +0 -1
- package/dist/translator/hybrid-translator.js +0 -193
- package/dist/translator/hybrid-translator.js.map +0 -1
- package/dist/translator/index.d.ts +0 -13
- package/dist/translator/index.d.ts.map +0 -1
- package/dist/translator/index.js +0 -11
- package/dist/translator/index.js.map +0 -1
- package/dist/translator/query-translator.d.ts +0 -211
- package/dist/translator/query-translator.d.ts.map +0 -1
- package/dist/translator/query-translator.js +0 -1276
- package/dist/translator/query-translator.js.map +0 -1
- package/dist/translator/search-highlight.d.ts +0 -83
- package/dist/translator/search-highlight.d.ts.map +0 -1
- package/dist/translator/search-highlight.js +0 -83
- package/dist/translator/search-highlight.js.map +0 -1
- package/dist/translator/search-translator.d.ts +0 -155
- package/dist/translator/search-translator.d.ts.map +0 -1
- package/dist/translator/search-translator.js +0 -241
- package/dist/translator/search-translator.js.map +0 -1
- package/dist/translator/stages/add-fields-stage.d.ts +0 -7
- package/dist/translator/stages/add-fields-stage.d.ts.map +0 -1
- package/dist/translator/stages/add-fields-stage.js +0 -72
- package/dist/translator/stages/add-fields-stage.js.map +0 -1
- package/dist/translator/stages/bucket-stage.d.ts +0 -7
- package/dist/translator/stages/bucket-stage.d.ts.map +0 -1
- package/dist/translator/stages/bucket-stage.js +0 -87
- package/dist/translator/stages/bucket-stage.js.map +0 -1
- package/dist/translator/stages/count-stage.d.ts +0 -7
- package/dist/translator/stages/count-stage.d.ts.map +0 -1
- package/dist/translator/stages/count-stage.js +0 -12
- package/dist/translator/stages/count-stage.js.map +0 -1
- package/dist/translator/stages/expression-translator.d.ts +0 -68
- package/dist/translator/stages/expression-translator.d.ts.map +0 -1
- package/dist/translator/stages/expression-translator.js +0 -467
- package/dist/translator/stages/expression-translator.js.map +0 -1
- package/dist/translator/stages/facet-stage.d.ts +0 -13
- package/dist/translator/stages/facet-stage.d.ts.map +0 -1
- package/dist/translator/stages/facet-stage.js +0 -26
- package/dist/translator/stages/facet-stage.js.map +0 -1
- package/dist/translator/stages/fusion-stages.d.ts +0 -118
- package/dist/translator/stages/fusion-stages.d.ts.map +0 -1
- package/dist/translator/stages/fusion-stages.js +0 -201
- package/dist/translator/stages/fusion-stages.js.map +0 -1
- package/dist/translator/stages/group-stage.d.ts +0 -8
- package/dist/translator/stages/group-stage.d.ts.map +0 -1
- package/dist/translator/stages/group-stage.js +0 -123
- package/dist/translator/stages/group-stage.js.map +0 -1
- package/dist/translator/stages/index.d.ts +0 -24
- package/dist/translator/stages/index.d.ts.map +0 -1
- package/dist/translator/stages/index.js +0 -24
- package/dist/translator/stages/index.js.map +0 -1
- package/dist/translator/stages/join-optimizer.d.ts +0 -37
- package/dist/translator/stages/join-optimizer.d.ts.map +0 -1
- package/dist/translator/stages/join-optimizer.js +0 -93
- package/dist/translator/stages/join-optimizer.js.map +0 -1
- package/dist/translator/stages/limit-stage.d.ts +0 -7
- package/dist/translator/stages/limit-stage.d.ts.map +0 -1
- package/dist/translator/stages/limit-stage.js +0 -11
- package/dist/translator/stages/limit-stage.js.map +0 -1
- package/dist/translator/stages/lookup-stage.d.ts +0 -7
- package/dist/translator/stages/lookup-stage.d.ts.map +0 -1
- package/dist/translator/stages/lookup-stage.js +0 -73
- package/dist/translator/stages/lookup-stage.js.map +0 -1
- package/dist/translator/stages/match-stage.d.ts +0 -7
- package/dist/translator/stages/match-stage.d.ts.map +0 -1
- package/dist/translator/stages/match-stage.js +0 -14
- package/dist/translator/stages/match-stage.js.map +0 -1
- package/dist/translator/stages/optimizer.d.ts +0 -15
- package/dist/translator/stages/optimizer.d.ts.map +0 -1
- package/dist/translator/stages/optimizer.js +0 -249
- package/dist/translator/stages/optimizer.js.map +0 -1
- package/dist/translator/stages/parallel-facet.d.ts +0 -47
- package/dist/translator/stages/parallel-facet.d.ts.map +0 -1
- package/dist/translator/stages/parallel-facet.js +0 -57
- package/dist/translator/stages/parallel-facet.js.map +0 -1
- package/dist/translator/stages/project-stage.d.ts +0 -8
- package/dist/translator/stages/project-stage.d.ts.map +0 -1
- package/dist/translator/stages/project-stage.js +0 -145
- package/dist/translator/stages/project-stage.js.map +0 -1
- package/dist/translator/stages/search-stage.d.ts +0 -60
- package/dist/translator/stages/search-stage.d.ts.map +0 -1
- package/dist/translator/stages/search-stage.js +0 -89
- package/dist/translator/stages/search-stage.js.map +0 -1
- package/dist/translator/stages/skip-stage.d.ts +0 -7
- package/dist/translator/stages/skip-stage.d.ts.map +0 -1
- package/dist/translator/stages/skip-stage.js +0 -11
- package/dist/translator/stages/skip-stage.js.map +0 -1
- package/dist/translator/stages/sort-stage.d.ts +0 -7
- package/dist/translator/stages/sort-stage.d.ts.map +0 -1
- package/dist/translator/stages/sort-stage.js +0 -21
- package/dist/translator/stages/sort-stage.js.map +0 -1
- package/dist/translator/stages/types.d.ts +0 -136
- package/dist/translator/stages/types.d.ts.map +0 -1
- package/dist/translator/stages/types.js +0 -5
- package/dist/translator/stages/types.js.map +0 -1
- package/dist/translator/stages/unwind-stage.d.ts +0 -7
- package/dist/translator/stages/unwind-stage.d.ts.map +0 -1
- package/dist/translator/stages/unwind-stage.js +0 -61
- package/dist/translator/stages/unwind-stage.js.map +0 -1
- package/dist/translator/stages/vector-search-stage.d.ts +0 -53
- package/dist/translator/stages/vector-search-stage.d.ts.map +0 -1
- package/dist/translator/stages/vector-search-stage.js +0 -62
- package/dist/translator/stages/vector-search-stage.js.map +0 -1
- package/dist/translator/update-translator.d.ts +0 -148
- package/dist/translator/update-translator.d.ts.map +0 -1
- package/dist/translator/update-translator.js +0 -819
- package/dist/translator/update-translator.js.map +0 -1
- package/dist/translator/vector-translator.d.ts +0 -89
- package/dist/translator/vector-translator.d.ts.map +0 -1
- package/dist/translator/vector-translator.js +0 -106
- package/dist/translator/vector-translator.js.map +0 -1
- package/dist/types/env.d.ts +0 -31
- package/dist/types/env.d.ts.map +0 -1
- package/dist/types/env.js +0 -5
- package/dist/types/env.js.map +0 -1
- package/dist/types/function.d.ts +0 -65
- package/dist/types/function.d.ts.map +0 -1
- package/dist/types/function.js +0 -5
- package/dist/types/function.js.map +0 -1
- package/dist/types/index.d.ts +0 -137
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -13
- package/dist/types/index.js.map +0 -1
- package/dist/types/mongodb.d.ts +0 -258
- package/dist/types/mongodb.d.ts.map +0 -1
- package/dist/types/mongodb.js +0 -5
- package/dist/types/mongodb.js.map +0 -1
- package/dist/types/objectid.d.ts +0 -130
- package/dist/types/objectid.d.ts.map +0 -1
- package/dist/types/objectid.js +0 -314
- package/dist/types/objectid.js.map +0 -1
- package/dist/types/rpc.d.ts +0 -313
- package/dist/types/rpc.d.ts.map +0 -1
- package/dist/types/rpc.js +0 -136
- package/dist/types/rpc.js.map +0 -1
- package/dist/types/vectorize.d.ts +0 -136
- package/dist/types/vectorize.d.ts.map +0 -1
- package/dist/types/vectorize.js +0 -8
- package/dist/types/vectorize.js.map +0 -1
- package/dist/utils/sql-safety.d.ts +0 -64
- package/dist/utils/sql-safety.d.ts.map +0 -1
- package/dist/utils/sql-safety.js +0 -112
- package/dist/utils/sql-safety.js.map +0 -1
- package/dist/validation/document-validator.d.ts +0 -195
- package/dist/validation/document-validator.d.ts.map +0 -1
- package/dist/validation/document-validator.js +0 -529
- package/dist/validation/document-validator.js.map +0 -1
- package/dist/vectorize/document-serializer.d.ts +0 -119
- package/dist/vectorize/document-serializer.d.ts.map +0 -1
- package/dist/vectorize/document-serializer.js +0 -320
- package/dist/vectorize/document-serializer.js.map +0 -1
- package/dist/wire/auth/index.d.ts +0 -5
- package/dist/wire/auth/index.d.ts.map +0 -1
- package/dist/wire/auth/index.js +0 -5
- package/dist/wire/auth/index.js.map +0 -1
- package/dist/wire/auth/scram.d.ts +0 -160
- package/dist/wire/auth/scram.d.ts.map +0 -1
- package/dist/wire/auth/scram.js +0 -425
- package/dist/wire/auth/scram.js.map +0 -1
- package/dist/wire/backend/interface.d.ts +0 -168
- package/dist/wire/backend/interface.d.ts.map +0 -1
- package/dist/wire/backend/interface.js +0 -10
- package/dist/wire/backend/interface.js.map +0 -1
- package/dist/wire/backend/local-sqlite.d.ts +0 -89
- package/dist/wire/backend/local-sqlite.d.ts.map +0 -1
- package/dist/wire/backend/local-sqlite.js +0 -1002
- package/dist/wire/backend/local-sqlite.js.map +0 -1
- package/dist/wire/backend/query-router.d.ts +0 -197
- package/dist/wire/backend/query-router.d.ts.map +0 -1
- package/dist/wire/backend/query-router.js +0 -590
- package/dist/wire/backend/query-router.js.map +0 -1
- package/dist/wire/backend/validation.d.ts +0 -26
- package/dist/wire/backend/validation.d.ts.map +0 -1
- package/dist/wire/backend/validation.js +0 -79
- package/dist/wire/backend/validation.js.map +0 -1
- package/dist/wire/backend/workers-proxy.d.ts +0 -95
- package/dist/wire/backend/workers-proxy.d.ts.map +0 -1
- package/dist/wire/backend/workers-proxy.js +0 -429
- package/dist/wire/backend/workers-proxy.js.map +0 -1
- package/dist/wire/commands/admin.d.ts +0 -49
- package/dist/wire/commands/admin.d.ts.map +0 -1
- package/dist/wire/commands/admin.js +0 -272
- package/dist/wire/commands/admin.js.map +0 -1
- package/dist/wire/commands/aggregate.d.ts +0 -15
- package/dist/wire/commands/aggregate.d.ts.map +0 -1
- package/dist/wire/commands/aggregate.js +0 -98
- package/dist/wire/commands/aggregate.js.map +0 -1
- package/dist/wire/commands/auth.d.ts +0 -58
- package/dist/wire/commands/auth.d.ts.map +0 -1
- package/dist/wire/commands/auth.js +0 -158
- package/dist/wire/commands/auth.js.map +0 -1
- package/dist/wire/commands/crud.d.ts +0 -49
- package/dist/wire/commands/crud.d.ts.map +0 -1
- package/dist/wire/commands/crud.js +0 -336
- package/dist/wire/commands/crud.js.map +0 -1
- package/dist/wire/commands/hello.d.ts +0 -35
- package/dist/wire/commands/hello.d.ts.map +0 -1
- package/dist/wire/commands/hello.js +0 -204
- package/dist/wire/commands/hello.js.map +0 -1
- package/dist/wire/commands/index.d.ts +0 -24
- package/dist/wire/commands/index.d.ts.map +0 -1
- package/dist/wire/commands/index.js +0 -145
- package/dist/wire/commands/index.js.map +0 -1
- package/dist/wire/commands/router.d.ts +0 -46
- package/dist/wire/commands/router.d.ts.map +0 -1
- package/dist/wire/commands/router.js +0 -151
- package/dist/wire/commands/router.js.map +0 -1
- package/dist/wire/commands/types.d.ts +0 -51
- package/dist/wire/commands/types.d.ts.map +0 -1
- package/dist/wire/commands/types.js +0 -15
- package/dist/wire/commands/types.js.map +0 -1
- package/dist/wire/index.d.ts +0 -15
- package/dist/wire/index.d.ts.map +0 -1
- package/dist/wire/index.js +0 -19
- package/dist/wire/index.js.map +0 -1
- package/dist/wire/message.d.ts +0 -49
- package/dist/wire/message.d.ts.map +0 -1
- package/dist/wire/message.js +0 -299
- package/dist/wire/message.js.map +0 -1
- package/dist/wire/server.d.ts +0 -145
- package/dist/wire/server.d.ts.map +0 -1
- package/dist/wire/server.js +0 -284
- package/dist/wire/server.js.map +0 -1
- package/dist/wire/types.d.ts +0 -140
- package/dist/wire/types.d.ts.map +0 -1
- package/dist/wire/types.js +0 -64
- package/dist/wire/types.js.map +0 -1
- package/dist/worker.d.ts.map +0 -1
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* HybridSearchTranslator - Combines vector and text search results using fusion algorithms
|
|
3
|
-
*
|
|
4
|
-
* Supports:
|
|
5
|
-
* - Reciprocal Rank Fusion (RRF): Combines results based on rank positions
|
|
6
|
-
* - Score Fusion: Combines normalized scores with configurable weights
|
|
7
|
-
*
|
|
8
|
-
* Used for hybrid search combining vector similarity and full-text search results
|
|
9
|
-
*/
|
|
10
|
-
export interface SearchResult {
|
|
11
|
-
docId: string;
|
|
12
|
-
score: number;
|
|
13
|
-
}
|
|
14
|
-
export interface FusedResult {
|
|
15
|
-
docId: string;
|
|
16
|
-
fusedScore: number;
|
|
17
|
-
vectorRank?: number;
|
|
18
|
-
textRank?: number;
|
|
19
|
-
vectorScore?: number;
|
|
20
|
-
textScore?: number;
|
|
21
|
-
}
|
|
22
|
-
export interface FusionWeights {
|
|
23
|
-
vector: number;
|
|
24
|
-
text: number;
|
|
25
|
-
}
|
|
26
|
-
export declare class HybridSearchTranslator {
|
|
27
|
-
private readonly RRF_K;
|
|
28
|
-
constructor();
|
|
29
|
-
/**
|
|
30
|
-
* Combine vector and text search results using Reciprocal Rank Fusion
|
|
31
|
-
*
|
|
32
|
-
* RRF score = sum(1 / (k + rank)) for each result list where the doc appears
|
|
33
|
-
*
|
|
34
|
-
* For vector results: higher score = better match (e.g., 0.95 > 0.87)
|
|
35
|
-
* For text results (FTS5): more negative = better match (e.g., -1.5 > -3.0)
|
|
36
|
-
*
|
|
37
|
-
* @param vectorResults - Results from vector similarity search (higher score = better)
|
|
38
|
-
* @param textResults - Results from FTS5 text search (more negative = better)
|
|
39
|
-
* @returns Combined results sorted by fused score (descending)
|
|
40
|
-
*/
|
|
41
|
-
rankFusion(vectorResults: SearchResult[], textResults: SearchResult[]): FusedResult[];
|
|
42
|
-
/**
|
|
43
|
-
* Combine vector and text search results using weighted score fusion
|
|
44
|
-
*
|
|
45
|
-
* Normalizes scores to [0, 1] range before combining with weights
|
|
46
|
-
*
|
|
47
|
-
* For vector results: assumed to be in [0, 1] range (cosine similarity)
|
|
48
|
-
* For text results (FTS5): normalized where more negative = lower normalized score
|
|
49
|
-
*
|
|
50
|
-
* @param vectorResults - Results from vector similarity search
|
|
51
|
-
* @param textResults - Results from FTS5 text search
|
|
52
|
-
* @param weights - Optional weights for vector and text scores (default: 0.5, 0.5)
|
|
53
|
-
* @returns Combined results sorted by fused score (descending)
|
|
54
|
-
*/
|
|
55
|
-
scoreFusion(vectorResults: SearchResult[], textResults: SearchResult[], weights?: FusionWeights): FusedResult[];
|
|
56
|
-
/**
|
|
57
|
-
* Normalize scores to [0, 1] range using min-max normalization
|
|
58
|
-
* For single results, preserve the original score (assumed to be in [0, 1] range)
|
|
59
|
-
*/
|
|
60
|
-
private normalizeScores;
|
|
61
|
-
/**
|
|
62
|
-
* Normalize FTS5 text scores (negative values where closer to 0 is better)
|
|
63
|
-
* Converts to [0, 1] range where 1 is the best match
|
|
64
|
-
* For single results, preserve the original score if it's positive (e.g., already normalized)
|
|
65
|
-
* or return 1 for single negative score results
|
|
66
|
-
*/
|
|
67
|
-
private normalizeTextScores;
|
|
68
|
-
}
|
|
69
|
-
export default HybridSearchTranslator;
|
|
70
|
-
//# sourceMappingURL=hybrid-translator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hybrid-translator.d.ts","sourceRoot":"","sources":["../../src/translator/hybrid-translator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAMD,qBAAa,sBAAsB;IAGjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAM;;IAQ5B;;;;;;;;;;;OAWG;IACH,UAAU,CACR,aAAa,EAAE,YAAY,EAAE,EAC7B,WAAW,EAAE,YAAY,EAAE,GAC1B,WAAW,EAAE;IA4DhB;;;;;;;;;;;;OAYG;IACH,WAAW,CACT,aAAa,EAAE,YAAY,EAAE,EAC7B,WAAW,EAAE,YAAY,EAAE,EAC3B,OAAO,GAAE,aAA0C,GAClD,WAAW,EAAE;IAyDhB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAsBvB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;CA2B5B;AAED,eAAe,sBAAsB,CAAC"}
|
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* HybridSearchTranslator - Combines vector and text search results using fusion algorithms
|
|
3
|
-
*
|
|
4
|
-
* Supports:
|
|
5
|
-
* - Reciprocal Rank Fusion (RRF): Combines results based on rank positions
|
|
6
|
-
* - Score Fusion: Combines normalized scores with configurable weights
|
|
7
|
-
*
|
|
8
|
-
* Used for hybrid search combining vector similarity and full-text search results
|
|
9
|
-
*/
|
|
10
|
-
// ============================================================
|
|
11
|
-
// HybridSearchTranslator Class
|
|
12
|
-
// ============================================================
|
|
13
|
-
export class HybridSearchTranslator {
|
|
14
|
-
// RRF constant k - controls how much weight is given to lower-ranked results
|
|
15
|
-
// Higher k values give more weight to items ranked lower in the list
|
|
16
|
-
RRF_K = 60;
|
|
17
|
-
constructor() { }
|
|
18
|
-
// ============================================================
|
|
19
|
-
// Reciprocal Rank Fusion (RRF)
|
|
20
|
-
// ============================================================
|
|
21
|
-
/**
|
|
22
|
-
* Combine vector and text search results using Reciprocal Rank Fusion
|
|
23
|
-
*
|
|
24
|
-
* RRF score = sum(1 / (k + rank)) for each result list where the doc appears
|
|
25
|
-
*
|
|
26
|
-
* For vector results: higher score = better match (e.g., 0.95 > 0.87)
|
|
27
|
-
* For text results (FTS5): more negative = better match (e.g., -1.5 > -3.0)
|
|
28
|
-
*
|
|
29
|
-
* @param vectorResults - Results from vector similarity search (higher score = better)
|
|
30
|
-
* @param textResults - Results from FTS5 text search (more negative = better)
|
|
31
|
-
* @returns Combined results sorted by fused score (descending)
|
|
32
|
-
*/
|
|
33
|
-
rankFusion(vectorResults, textResults) {
|
|
34
|
-
const docScores = new Map();
|
|
35
|
-
// Process vector results - already sorted by score descending (higher = better)
|
|
36
|
-
const sortedVectorResults = [...vectorResults].sort((a, b) => b.score - a.score);
|
|
37
|
-
sortedVectorResults.forEach((result, index) => {
|
|
38
|
-
const rank = index + 1; // 1-indexed rank
|
|
39
|
-
const rrfScore = 1 / (this.RRF_K + rank);
|
|
40
|
-
const existing = docScores.get(result.docId);
|
|
41
|
-
if (existing) {
|
|
42
|
-
existing.fusedScore += rrfScore;
|
|
43
|
-
existing.vectorRank = rank;
|
|
44
|
-
existing.vectorScore = result.score;
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
docScores.set(result.docId, {
|
|
48
|
-
docId: result.docId,
|
|
49
|
-
fusedScore: rrfScore,
|
|
50
|
-
vectorRank: rank,
|
|
51
|
-
vectorScore: result.score,
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
// Process text results - sort by score descending (less negative = better for FTS5)
|
|
56
|
-
// FTS5 returns negative scores where closer to 0 is better
|
|
57
|
-
const sortedTextResults = [...textResults].sort((a, b) => b.score - a.score);
|
|
58
|
-
sortedTextResults.forEach((result, index) => {
|
|
59
|
-
const rank = index + 1; // 1-indexed rank
|
|
60
|
-
const rrfScore = 1 / (this.RRF_K + rank);
|
|
61
|
-
const existing = docScores.get(result.docId);
|
|
62
|
-
if (existing) {
|
|
63
|
-
existing.fusedScore += rrfScore;
|
|
64
|
-
existing.textRank = rank;
|
|
65
|
-
existing.textScore = result.score;
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
docScores.set(result.docId, {
|
|
69
|
-
docId: result.docId,
|
|
70
|
-
fusedScore: rrfScore,
|
|
71
|
-
textRank: rank,
|
|
72
|
-
textScore: result.score,
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
// Sort by fused score descending
|
|
77
|
-
return Array.from(docScores.values()).sort((a, b) => b.fusedScore - a.fusedScore);
|
|
78
|
-
}
|
|
79
|
-
// ============================================================
|
|
80
|
-
// Score Fusion
|
|
81
|
-
// ============================================================
|
|
82
|
-
/**
|
|
83
|
-
* Combine vector and text search results using weighted score fusion
|
|
84
|
-
*
|
|
85
|
-
* Normalizes scores to [0, 1] range before combining with weights
|
|
86
|
-
*
|
|
87
|
-
* For vector results: assumed to be in [0, 1] range (cosine similarity)
|
|
88
|
-
* For text results (FTS5): normalized where more negative = lower normalized score
|
|
89
|
-
*
|
|
90
|
-
* @param vectorResults - Results from vector similarity search
|
|
91
|
-
* @param textResults - Results from FTS5 text search
|
|
92
|
-
* @param weights - Optional weights for vector and text scores (default: 0.5, 0.5)
|
|
93
|
-
* @returns Combined results sorted by fused score (descending)
|
|
94
|
-
*/
|
|
95
|
-
scoreFusion(vectorResults, textResults, weights = { vector: 0.5, text: 0.5 }) {
|
|
96
|
-
const docScores = new Map();
|
|
97
|
-
// Normalize vector scores (assuming already in reasonable range)
|
|
98
|
-
const normalizedVectorResults = this.normalizeScores(vectorResults);
|
|
99
|
-
// Normalize text scores (FTS5 negative scores)
|
|
100
|
-
const normalizedTextResults = this.normalizeTextScores(textResults);
|
|
101
|
-
// Create lookup maps for normalized scores
|
|
102
|
-
const vectorScoreMap = new Map();
|
|
103
|
-
normalizedVectorResults.forEach((r) => vectorScoreMap.set(r.docId, r.score));
|
|
104
|
-
const textScoreMap = new Map();
|
|
105
|
-
normalizedTextResults.forEach((r) => textScoreMap.set(r.docId, r.score));
|
|
106
|
-
// Collect all unique document IDs
|
|
107
|
-
const allDocIds = new Set([
|
|
108
|
-
...vectorResults.map((r) => r.docId),
|
|
109
|
-
...textResults.map((r) => r.docId),
|
|
110
|
-
]);
|
|
111
|
-
// Calculate fused scores
|
|
112
|
-
for (const docId of allDocIds) {
|
|
113
|
-
const vectorScore = vectorScoreMap.get(docId) ?? 0;
|
|
114
|
-
const textScore = textScoreMap.get(docId) ?? 0;
|
|
115
|
-
const fusedScore = weights.vector * vectorScore + weights.text * textScore;
|
|
116
|
-
const vectorOriginal = vectorResults.find((r) => r.docId === docId);
|
|
117
|
-
const textOriginal = textResults.find((r) => r.docId === docId);
|
|
118
|
-
const result = {
|
|
119
|
-
docId,
|
|
120
|
-
fusedScore,
|
|
121
|
-
};
|
|
122
|
-
if (vectorOriginal !== undefined) {
|
|
123
|
-
result.vectorScore = vectorOriginal.score;
|
|
124
|
-
}
|
|
125
|
-
if (textOriginal !== undefined) {
|
|
126
|
-
result.textScore = textOriginal.score;
|
|
127
|
-
}
|
|
128
|
-
docScores.set(docId, result);
|
|
129
|
-
}
|
|
130
|
-
// Sort by fused score descending
|
|
131
|
-
return Array.from(docScores.values()).sort((a, b) => b.fusedScore - a.fusedScore);
|
|
132
|
-
}
|
|
133
|
-
// ============================================================
|
|
134
|
-
// Score Normalization
|
|
135
|
-
// ============================================================
|
|
136
|
-
/**
|
|
137
|
-
* Normalize scores to [0, 1] range using min-max normalization
|
|
138
|
-
* For single results, preserve the original score (assumed to be in [0, 1] range)
|
|
139
|
-
*/
|
|
140
|
-
normalizeScores(results) {
|
|
141
|
-
if (results.length === 0)
|
|
142
|
-
return [];
|
|
143
|
-
// For single result, keep original score (vector scores assumed to be in [0, 1])
|
|
144
|
-
const first = results[0];
|
|
145
|
-
if (results.length === 1 && first)
|
|
146
|
-
return [{ docId: first.docId, score: first.score }];
|
|
147
|
-
const scores = results.map((r) => r.score);
|
|
148
|
-
const minScore = Math.min(...scores);
|
|
149
|
-
const maxScore = Math.max(...scores);
|
|
150
|
-
const range = maxScore - minScore;
|
|
151
|
-
if (range === 0) {
|
|
152
|
-
// All scores are the same - keep original scores
|
|
153
|
-
return results.map((r) => ({ ...r }));
|
|
154
|
-
}
|
|
155
|
-
return results.map((r) => ({
|
|
156
|
-
...r,
|
|
157
|
-
score: (r.score - minScore) / range,
|
|
158
|
-
}));
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Normalize FTS5 text scores (negative values where closer to 0 is better)
|
|
162
|
-
* Converts to [0, 1] range where 1 is the best match
|
|
163
|
-
* For single results, preserve the original score if it's positive (e.g., already normalized)
|
|
164
|
-
* or return 1 for single negative score results
|
|
165
|
-
*/
|
|
166
|
-
normalizeTextScores(results) {
|
|
167
|
-
if (results.length === 0)
|
|
168
|
-
return [];
|
|
169
|
-
// For single result, keep original score if non-negative, otherwise use 1
|
|
170
|
-
const first = results[0];
|
|
171
|
-
if (results.length === 1 && first) {
|
|
172
|
-
const score = first.score;
|
|
173
|
-
// If score is non-negative, assume it's already normalized or in valid range
|
|
174
|
-
return [{ docId: first.docId, score: score >= 0 ? score : 1 }];
|
|
175
|
-
}
|
|
176
|
-
const scores = results.map((r) => r.score);
|
|
177
|
-
const minScore = Math.min(...scores); // Most negative (worst)
|
|
178
|
-
const maxScore = Math.max(...scores); // Least negative (best)
|
|
179
|
-
const range = maxScore - minScore;
|
|
180
|
-
if (range === 0) {
|
|
181
|
-
// All scores are the same - return 1 for all
|
|
182
|
-
return results.map((r) => ({ ...r, score: 1 }));
|
|
183
|
-
}
|
|
184
|
-
// Normalize so that the highest (least negative) score becomes 1
|
|
185
|
-
// and the lowest (most negative) score becomes 0
|
|
186
|
-
return results.map((r) => ({
|
|
187
|
-
...r,
|
|
188
|
-
score: (r.score - minScore) / range,
|
|
189
|
-
}));
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
export default HybridSearchTranslator;
|
|
193
|
-
//# sourceMappingURL=hybrid-translator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hybrid-translator.js","sourceRoot":"","sources":["../../src/translator/hybrid-translator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Query and Update translators
|
|
3
|
-
*
|
|
4
|
-
* Translates MongoDB query syntax to SQL for the SQLite backend
|
|
5
|
-
*/
|
|
6
|
-
export { QueryTranslator } from './query-translator';
|
|
7
|
-
export { UpdateTranslator } from './update-translator';
|
|
8
|
-
export { SearchTranslator } from './search-translator';
|
|
9
|
-
export type { AutocompleteOperator } from './search-translator';
|
|
10
|
-
export { HybridSearchTranslator } from './hybrid-translator';
|
|
11
|
-
export { buildHighlightSQL, buildSnippetSQL, buildHighlightSelectClause, buildSnippetSelectClause } from './search-highlight';
|
|
12
|
-
export type { HighlightOptions, SnippetOptions } from './search-highlight';
|
|
13
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/translator/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAC7H,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA"}
|
package/dist/translator/index.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Query and Update translators
|
|
3
|
-
*
|
|
4
|
-
* Translates MongoDB query syntax to SQL for the SQLite backend
|
|
5
|
-
*/
|
|
6
|
-
export { QueryTranslator } from './query-translator';
|
|
7
|
-
export { UpdateTranslator } from './update-translator';
|
|
8
|
-
export { SearchTranslator } from './search-translator';
|
|
9
|
-
export { HybridSearchTranslator } from './hybrid-translator';
|
|
10
|
-
export { buildHighlightSQL, buildSnippetSQL, buildHighlightSelectClause, buildSnippetSelectClause } from './search-highlight';
|
|
11
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/translator/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA"}
|
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* QueryTranslator - Translates MongoDB-style queries to SQL
|
|
3
|
-
* using json_extract for field access on JSON documents.
|
|
4
|
-
*
|
|
5
|
-
* Features:
|
|
6
|
-
* - Operator registry pattern for extensibility
|
|
7
|
-
* - Automatic flattening of nested $and/$or for SQL optimization
|
|
8
|
-
* - CTE-based optimization for multiple array operations
|
|
9
|
-
* - Parameterized queries for SQL injection prevention
|
|
10
|
-
* - $text operator for full-text search with FTS5
|
|
11
|
-
* - Multi-dialect support (SQLite, ClickHouse)
|
|
12
|
-
*/
|
|
13
|
-
import { type DialectOptions } from './dialect.js';
|
|
14
|
-
export interface TranslatedQuery {
|
|
15
|
-
sql: string;
|
|
16
|
-
params: unknown[];
|
|
17
|
-
/** Whether this query requires an FTS5 join */
|
|
18
|
-
requiresFTS?: boolean;
|
|
19
|
-
/** The FTS5 match expression (for building full query) */
|
|
20
|
-
ftsMatch?: string;
|
|
21
|
-
}
|
|
22
|
-
type QueryValue = unknown;
|
|
23
|
-
/**
|
|
24
|
-
* Operator handler type for the registry pattern
|
|
25
|
-
*/
|
|
26
|
-
type OperatorHandler = (path: string, value: QueryValue, params: unknown[]) => string;
|
|
27
|
-
/**
|
|
28
|
-
* Options for query translation
|
|
29
|
-
*/
|
|
30
|
-
export interface TranslateOptions extends DialectOptions {
|
|
31
|
-
/**
|
|
32
|
-
* Enable CTE optimization for array operations
|
|
33
|
-
* When enabled, multiple array checks on the same field use a single CTE
|
|
34
|
-
*/
|
|
35
|
-
useCTE?: boolean;
|
|
36
|
-
/**
|
|
37
|
-
* Flatten nested logical operators
|
|
38
|
-
* When enabled, nested $and/$or of the same type are merged
|
|
39
|
-
*/
|
|
40
|
-
flattenLogical?: boolean;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* QueryTranslator - Converts MongoDB query syntax to SQL with json_extract
|
|
44
|
-
*/
|
|
45
|
-
export declare class QueryTranslator {
|
|
46
|
-
private options;
|
|
47
|
-
private dialect;
|
|
48
|
-
constructor(options?: TranslateOptions);
|
|
49
|
-
/**
|
|
50
|
-
* Registry of comparison operators and their SQL translations
|
|
51
|
-
*/
|
|
52
|
-
private comparisonOperators;
|
|
53
|
-
/**
|
|
54
|
-
* Registry of element operators
|
|
55
|
-
*/
|
|
56
|
-
private elementOperators;
|
|
57
|
-
/**
|
|
58
|
-
* Registry of array operators
|
|
59
|
-
*/
|
|
60
|
-
private arrayOperators;
|
|
61
|
-
/**
|
|
62
|
-
* Main entry point - translate a MongoDB query to SQL
|
|
63
|
-
*/
|
|
64
|
-
translate(query: Record<string, unknown>): TranslatedQuery;
|
|
65
|
-
/**
|
|
66
|
-
* Flatten nested logical operators of the same type
|
|
67
|
-
* E.g., $and: [{ $and: [a, b] }, c] -> $and: [a, b, c]
|
|
68
|
-
*/
|
|
69
|
-
private flattenLogicalOperators;
|
|
70
|
-
/**
|
|
71
|
-
* Translate a query document (top-level or nested)
|
|
72
|
-
*/
|
|
73
|
-
private translateDocument;
|
|
74
|
-
/**
|
|
75
|
-
* Translate a field condition
|
|
76
|
-
*/
|
|
77
|
-
private translateField;
|
|
78
|
-
/**
|
|
79
|
-
* Translate conditions on a single field
|
|
80
|
-
*/
|
|
81
|
-
private translateFieldConditions;
|
|
82
|
-
/**
|
|
83
|
-
* Translate logical operators ($and, $or, $not, $nor, $text)
|
|
84
|
-
*/
|
|
85
|
-
private translateLogicalOperator;
|
|
86
|
-
/**
|
|
87
|
-
* Convert a field name to a JSON path
|
|
88
|
-
* e.g., "a.b.c" -> "$.a.b.c"
|
|
89
|
-
* e.g., "items.0.name" -> "$.items[0].name"
|
|
90
|
-
*
|
|
91
|
-
* SECURITY: Validates field name to prevent SQL injection attacks.
|
|
92
|
-
* @throws Error if field contains invalid characters
|
|
93
|
-
*/
|
|
94
|
-
private fieldToJsonPath;
|
|
95
|
-
/**
|
|
96
|
-
* Generate json_extract SQL for a path
|
|
97
|
-
*/
|
|
98
|
-
private jsonExtract;
|
|
99
|
-
/**
|
|
100
|
-
* Convert a bitwise operator value to a bitmask
|
|
101
|
-
* Accepts either:
|
|
102
|
-
* - A number (used directly as bitmask)
|
|
103
|
-
* - An array of bit positions (converted to bitmask)
|
|
104
|
-
*/
|
|
105
|
-
private resolveBitmask;
|
|
106
|
-
/**
|
|
107
|
-
* Generate path for elemMatch field access
|
|
108
|
-
* SECURITY: Validates field name to prevent SQL injection attacks.
|
|
109
|
-
*/
|
|
110
|
-
private elemMatchFieldPath;
|
|
111
|
-
/**
|
|
112
|
-
* Convert a regex pattern to SQLite LIKE/GLOB pattern
|
|
113
|
-
* This handles common regex patterns:
|
|
114
|
-
* - ^pattern -> pattern% (starts with)
|
|
115
|
-
* - pattern$ -> %pattern (ends with)
|
|
116
|
-
* - ^pattern$ -> pattern (exact match)
|
|
117
|
-
* - .* or .+ -> % (any characters)
|
|
118
|
-
* - . -> _ (single character)
|
|
119
|
-
* - [0-9] -> character class (converted to GLOB syntax)
|
|
120
|
-
* - [a-z] -> character class (converted to GLOB syntax)
|
|
121
|
-
* - Literal text -> %text% (contains, default behavior)
|
|
122
|
-
*
|
|
123
|
-
* @param pattern The regex pattern to convert
|
|
124
|
-
* @param options Regex options (i=case-insensitive, m=multiline)
|
|
125
|
-
*/
|
|
126
|
-
private regexToLike;
|
|
127
|
-
/**
|
|
128
|
-
* Translate conditions inside $elemMatch
|
|
129
|
-
* This handles document conditions like { field: value, field: { $op: value } }
|
|
130
|
-
* SECURITY: Validates field names to prevent SQL injection attacks.
|
|
131
|
-
*/
|
|
132
|
-
private translateElemMatchConditions;
|
|
133
|
-
/**
|
|
134
|
-
* Translate a single operator for elemMatch context
|
|
135
|
-
*/
|
|
136
|
-
private translateElemMatchOperator;
|
|
137
|
-
/**
|
|
138
|
-
* Generate optimized SQL with CTE for multiple array operations on the same field
|
|
139
|
-
* This is useful when you have multiple $all checks or $elemMatch on the same array
|
|
140
|
-
*
|
|
141
|
-
* Example output:
|
|
142
|
-
* WITH array_cte AS (
|
|
143
|
-
* SELECT value FROM json_each(json_extract(data, '$.tags'))
|
|
144
|
-
* )
|
|
145
|
-
* SELECT * FROM documents WHERE
|
|
146
|
-
* EXISTS (SELECT 1 FROM array_cte WHERE value = ?) AND
|
|
147
|
-
* EXISTS (SELECT 1 FROM array_cte WHERE value = ?)
|
|
148
|
-
*/
|
|
149
|
-
translateWithCTE(query: Record<string, unknown>, tableName?: string): TranslatedQuery;
|
|
150
|
-
/**
|
|
151
|
-
* Collect array operations for CTE optimization analysis
|
|
152
|
-
*/
|
|
153
|
-
private collectArrayOperations;
|
|
154
|
-
/**
|
|
155
|
-
* Translate document using CTE aliases where applicable
|
|
156
|
-
*/
|
|
157
|
-
private translateDocumentWithCTE;
|
|
158
|
-
/**
|
|
159
|
-
* Register a custom comparison operator
|
|
160
|
-
* Allows extending the translator with custom operators
|
|
161
|
-
*/
|
|
162
|
-
registerOperator(name: string, handler: OperatorHandler): void;
|
|
163
|
-
/**
|
|
164
|
-
* Register a custom element operator
|
|
165
|
-
*/
|
|
166
|
-
registerElementOperator(name: string, handler: OperatorHandler): void;
|
|
167
|
-
/**
|
|
168
|
-
* Register a custom array operator
|
|
169
|
-
*/
|
|
170
|
-
registerArrayOperator(name: string, handler: OperatorHandler): void;
|
|
171
|
-
/**
|
|
172
|
-
* Translate a MongoDB $text query to FTS5 MATCH SQL
|
|
173
|
-
*/
|
|
174
|
-
private translateTextOperator;
|
|
175
|
-
/**
|
|
176
|
-
* Convert MongoDB text search syntax to FTS5 query syntax
|
|
177
|
-
*
|
|
178
|
-
* MongoDB syntax:
|
|
179
|
-
* - "word" -> matches word
|
|
180
|
-
* - "word1 word2" -> matches word1 OR word2
|
|
181
|
-
* - "\"phrase\"" -> matches exact phrase
|
|
182
|
-
* - "-word" -> excludes word (negation)
|
|
183
|
-
*
|
|
184
|
-
* FTS5 syntax:
|
|
185
|
-
* - "word" -> matches word
|
|
186
|
-
* - "word1 OR word2" -> matches word1 or word2
|
|
187
|
-
* - "word1 word2" -> matches word1 AND word2
|
|
188
|
-
* - "\"phrase\"" -> matches exact phrase
|
|
189
|
-
* - "NOT word" -> excludes word
|
|
190
|
-
*/
|
|
191
|
-
private convertToFTS5Query;
|
|
192
|
-
/**
|
|
193
|
-
* Translate a query with $meta projection support for textScore
|
|
194
|
-
*
|
|
195
|
-
* @param query The MongoDB query (must contain $text for textScore)
|
|
196
|
-
* @param projection The projection with potential {$meta: "textScore"} fields
|
|
197
|
-
* @param sort Optional sort with potential {$meta: "textScore"} fields
|
|
198
|
-
*/
|
|
199
|
-
translateWithMeta(query: Record<string, unknown>, projection?: Record<string, unknown>, sort?: Record<string, unknown>): TranslatedQuery;
|
|
200
|
-
/**
|
|
201
|
-
* Translate a JSON Schema to SQL conditions
|
|
202
|
-
* Supports common JSON Schema validation keywords
|
|
203
|
-
*
|
|
204
|
-
* @param schema The JSON Schema to validate against
|
|
205
|
-
* @param path The current JSON path (e.g., "$.field.nested")
|
|
206
|
-
* @param params The parameters array to push values to
|
|
207
|
-
*/
|
|
208
|
-
private translateJsonSchema;
|
|
209
|
-
}
|
|
210
|
-
export {};
|
|
211
|
-
//# sourceMappingURL=query-translator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"query-translator.d.ts","sourceRoot":"","sources":["../../src/translator/query-translator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAEL,KAAK,cAAc,EAOpB,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,KAAK,UAAU,GAAG,OAAO,CAAC;AAG1B;;GAEG;AACH,KAAK,eAAe,GAAG,CACrB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,OAAO,EAAE,KACd,MAAM,CAAC;AA8CZ;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAQD;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,OAAO,CAAa;gBAEhB,OAAO,GAAE,gBAAqB;IAO1C;;OAEG;IACH,OAAO,CAAC,mBAAmB,CA+IzB;IAEF;;OAEG;IACH,OAAO,CAAC,gBAAgB,CAqDtB;IAEF;;OAEG;IACH,OAAO,CAAC,cAAc,CA0BpB;IAEF;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe;IAgB1D;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAwD/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6BzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAyBtB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAkEhC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAgFhC;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAmBvB;;OAEG;IACH,OAAO,CAAC,WAAW;IASnB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAYtB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,WAAW;IAmHnB;;;;OAIG;IACH,OAAO,CAAC,4BAA4B;IA+CpC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA4FlC;;;;;;;;;;;OAWG;IACH,gBAAgB,CACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,SAAS,GAAE,MAAoB,GAC9B,eAAe;IAsClB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAsB9B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAWhC;;;OAGG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI;IAO9D;;OAEG;IACH,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI;IAOrE;;OAEG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI;IAOnE;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyB7B;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,kBAAkB;IA6E1B;;;;;;OAMG;IACH,iBAAiB,CACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,eAAe;IAgElB;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;CAgK5B"}
|