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,339 +0,0 @@
|
|
|
1
|
-
import yaml from 'js-yaml';
|
|
2
|
-
/**
|
|
3
|
-
* Default regex patterns to exclude from embedding serialization
|
|
4
|
-
*/
|
|
5
|
-
const DEFAULT_EXCLUDE_PATTERNS = [
|
|
6
|
-
/^_id$/, // MongoDB _id field
|
|
7
|
-
/Id$/, // Fields ending in Id (userId, parentId, etc.)
|
|
8
|
-
/^createdAt$/, // Common timestamp field
|
|
9
|
-
/^updatedAt$/, // Common timestamp field
|
|
10
|
-
/^__v$/, // Mongoose version key
|
|
11
|
-
];
|
|
12
|
-
/**
|
|
13
|
-
* Fields that are automatically excluded as they likely contain embedding vectors
|
|
14
|
-
*/
|
|
15
|
-
const EMBEDDING_FIELD_PATTERNS = [
|
|
16
|
-
'embedding',
|
|
17
|
-
'vector',
|
|
18
|
-
'_embedding',
|
|
19
|
-
'_vector',
|
|
20
|
-
'embeddings',
|
|
21
|
-
'vectors'
|
|
22
|
-
];
|
|
23
|
-
/**
|
|
24
|
-
* Check if a field name matches vector/embedding patterns
|
|
25
|
-
*/
|
|
26
|
-
function isEmbeddingField(fieldName) {
|
|
27
|
-
const lowerName = fieldName.toLowerCase();
|
|
28
|
-
return EMBEDDING_FIELD_PATTERNS.some(pattern => lowerName === pattern ||
|
|
29
|
-
lowerName.endsWith('_' + pattern) ||
|
|
30
|
-
lowerName.endsWith(pattern));
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Check if a field should be excluded based on patterns
|
|
34
|
-
*/
|
|
35
|
-
function shouldExcludeField(fieldName, additionalExcludes = []) {
|
|
36
|
-
// Check for embedding/vector fields
|
|
37
|
-
if (isEmbeddingField(fieldName)) {
|
|
38
|
-
return true;
|
|
39
|
-
}
|
|
40
|
-
// Check default patterns
|
|
41
|
-
for (const pattern of DEFAULT_EXCLUDE_PATTERNS) {
|
|
42
|
-
if (pattern.test(fieldName)) {
|
|
43
|
-
return true;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
// Check additional excludes
|
|
47
|
-
if (additionalExcludes.includes(fieldName)) {
|
|
48
|
-
return true;
|
|
49
|
-
}
|
|
50
|
-
return false;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Get a nested value from an object using dot notation
|
|
54
|
-
*/
|
|
55
|
-
function getNestedValue(obj, path) {
|
|
56
|
-
const parts = path.split('.');
|
|
57
|
-
let current = obj;
|
|
58
|
-
for (const part of parts) {
|
|
59
|
-
if (current === null || current === undefined) {
|
|
60
|
-
return undefined;
|
|
61
|
-
}
|
|
62
|
-
if (typeof current !== 'object') {
|
|
63
|
-
return undefined;
|
|
64
|
-
}
|
|
65
|
-
current = current[part];
|
|
66
|
-
}
|
|
67
|
-
return current;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Convert a value to a valid VectorizeMetadataValue
|
|
71
|
-
*/
|
|
72
|
-
function toMetadataValue(value) {
|
|
73
|
-
if (value === null || value === undefined) {
|
|
74
|
-
return undefined;
|
|
75
|
-
}
|
|
76
|
-
if (typeof value === 'string') {
|
|
77
|
-
return value;
|
|
78
|
-
}
|
|
79
|
-
if (typeof value === 'number') {
|
|
80
|
-
return value;
|
|
81
|
-
}
|
|
82
|
-
if (typeof value === 'boolean') {
|
|
83
|
-
return value;
|
|
84
|
-
}
|
|
85
|
-
// Handle string arrays
|
|
86
|
-
if (Array.isArray(value)) {
|
|
87
|
-
if (value.every(item => typeof item === 'string')) {
|
|
88
|
-
return value;
|
|
89
|
-
}
|
|
90
|
-
// Convert non-string arrays to string arrays
|
|
91
|
-
return value.map(item => String(item));
|
|
92
|
-
}
|
|
93
|
-
// For other types, convert to string
|
|
94
|
-
return String(value);
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Extract metadata fields from the document
|
|
98
|
-
*/
|
|
99
|
-
function extractMetadata(doc, metadataFields) {
|
|
100
|
-
const metadata = {};
|
|
101
|
-
for (const field of metadataFields) {
|
|
102
|
-
const value = getNestedValue(doc, field);
|
|
103
|
-
if (value !== undefined) {
|
|
104
|
-
const metaValue = toMetadataValue(value);
|
|
105
|
-
if (metaValue !== undefined) {
|
|
106
|
-
metadata[field] = metaValue;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
return metadata;
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Extract the document ID from various formats
|
|
114
|
-
*/
|
|
115
|
-
function extractDocumentId(doc) {
|
|
116
|
-
const id = doc._id;
|
|
117
|
-
if (id === undefined || id === null) {
|
|
118
|
-
return '';
|
|
119
|
-
}
|
|
120
|
-
if (typeof id === 'string') {
|
|
121
|
-
return id;
|
|
122
|
-
}
|
|
123
|
-
if (typeof id === 'object' && id !== null && 'toString' in id) {
|
|
124
|
-
return id.toString();
|
|
125
|
-
}
|
|
126
|
-
return String(id);
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Filter document fields based on inclusion/exclusion rules
|
|
130
|
-
*
|
|
131
|
-
* maxDepth controls how many levels deep we traverse:
|
|
132
|
-
* - maxDepth 0: only top-level primitives
|
|
133
|
-
* - maxDepth 1: top-level + one level of nesting
|
|
134
|
-
* - maxDepth 2: top-level + two levels of nesting
|
|
135
|
-
*/
|
|
136
|
-
function filterDocument(doc, options = {}, currentDepth = 0) {
|
|
137
|
-
const { maxDepth = 3, excludeFields = [], includeFields } = options;
|
|
138
|
-
const result = {};
|
|
139
|
-
for (const [key, value] of Object.entries(doc)) {
|
|
140
|
-
// Check if we should include this field
|
|
141
|
-
if (includeFields && includeFields.length > 0) {
|
|
142
|
-
// Handle wildcard patterns for includeFields
|
|
143
|
-
const shouldInclude = includeFields.some(pattern => {
|
|
144
|
-
if (pattern === key)
|
|
145
|
-
return true;
|
|
146
|
-
if (pattern.endsWith('.*')) {
|
|
147
|
-
const prefix = pattern.slice(0, -2);
|
|
148
|
-
return key === prefix;
|
|
149
|
-
}
|
|
150
|
-
// Check if current key is part of a dot-notation path
|
|
151
|
-
if (pattern.startsWith(key + '.'))
|
|
152
|
-
return true;
|
|
153
|
-
return false;
|
|
154
|
-
});
|
|
155
|
-
if (!shouldInclude) {
|
|
156
|
-
continue;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
else if (shouldExcludeField(key, excludeFields)) {
|
|
160
|
-
continue;
|
|
161
|
-
}
|
|
162
|
-
// Handle nested objects
|
|
163
|
-
if (value !== null && typeof value === 'object' && !Array.isArray(value) && !(value instanceof Date)) {
|
|
164
|
-
// Only recurse if we haven't reached maxDepth
|
|
165
|
-
if (currentDepth + 1 < maxDepth) {
|
|
166
|
-
const filtered = filterDocument(value, options, currentDepth + 1);
|
|
167
|
-
// Include the key even if filtered is empty (shows structure exists)
|
|
168
|
-
result[key] = Object.keys(filtered).length > 0 ? filtered : '...';
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
// At maxDepth - don't recurse further, just indicate truncation
|
|
172
|
-
result[key] = '...';
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
else if (Array.isArray(value)) {
|
|
176
|
-
// Skip if it looks like an embedding vector (array of numbers)
|
|
177
|
-
if (value.length > 0 && typeof value[0] === 'number' && isEmbeddingField(key)) {
|
|
178
|
-
continue;
|
|
179
|
-
}
|
|
180
|
-
// Handle arrays - filter nested objects within arrays
|
|
181
|
-
const filteredArray = value.map(item => {
|
|
182
|
-
if (item !== null && typeof item === 'object' && !(item instanceof Date)) {
|
|
183
|
-
if (currentDepth + 1 < maxDepth) {
|
|
184
|
-
const filtered = filterDocument(item, options, currentDepth + 1);
|
|
185
|
-
return Object.keys(filtered).length > 0 ? filtered : '...';
|
|
186
|
-
}
|
|
187
|
-
return '...'; // Truncated at maxDepth
|
|
188
|
-
}
|
|
189
|
-
return item;
|
|
190
|
-
});
|
|
191
|
-
if (filteredArray.length > 0) {
|
|
192
|
-
result[key] = filteredArray;
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
else {
|
|
196
|
-
// Primitive values or dates
|
|
197
|
-
result[key] = value;
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
return result;
|
|
201
|
-
}
|
|
202
|
-
/**
|
|
203
|
-
* Extract text content from a document for embedding
|
|
204
|
-
*/
|
|
205
|
-
function extractText(doc, depth = 0, maxDepth = 3, separator = ' ') {
|
|
206
|
-
const parts = [];
|
|
207
|
-
for (const [key, value] of Object.entries(doc)) {
|
|
208
|
-
// Skip embedding fields
|
|
209
|
-
if (isEmbeddingField(key)) {
|
|
210
|
-
continue;
|
|
211
|
-
}
|
|
212
|
-
if (typeof value === 'string') {
|
|
213
|
-
parts.push(value);
|
|
214
|
-
}
|
|
215
|
-
else if (typeof value === 'number' || typeof value === 'boolean') {
|
|
216
|
-
parts.push(String(value));
|
|
217
|
-
}
|
|
218
|
-
else if (Array.isArray(value)) {
|
|
219
|
-
// Skip if it looks like an embedding vector
|
|
220
|
-
if (value.length > 0 && typeof value[0] === 'number' && isEmbeddingField(key)) {
|
|
221
|
-
continue;
|
|
222
|
-
}
|
|
223
|
-
for (const item of value) {
|
|
224
|
-
if (typeof item === 'string') {
|
|
225
|
-
parts.push(item);
|
|
226
|
-
}
|
|
227
|
-
else if (typeof item === 'number' || typeof item === 'boolean') {
|
|
228
|
-
parts.push(String(item));
|
|
229
|
-
}
|
|
230
|
-
else if (item !== null && typeof item === 'object' && depth < maxDepth) {
|
|
231
|
-
parts.push(extractText(item, depth + 1, maxDepth, separator));
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
else if (value !== null && typeof value === 'object' && !(value instanceof Date) && depth < maxDepth) {
|
|
236
|
-
parts.push(extractText(value, depth + 1, maxDepth, separator));
|
|
237
|
-
}
|
|
238
|
-
else if (value instanceof Date) {
|
|
239
|
-
parts.push(value.toISOString());
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
return parts.filter(p => p.trim().length > 0).join(separator);
|
|
243
|
-
}
|
|
244
|
-
/**
|
|
245
|
-
* Serialize a document for embedding generation
|
|
246
|
-
*
|
|
247
|
-
* @param doc - The document to serialize
|
|
248
|
-
* @param options - Serialization options
|
|
249
|
-
* @returns Serialized string representation of the document
|
|
250
|
-
*/
|
|
251
|
-
export function serializeForEmbedding(doc, options = {}) {
|
|
252
|
-
const { serializer = 'yaml', auto = {} } = options;
|
|
253
|
-
const { separator = ' ' } = auto;
|
|
254
|
-
// Filter the document
|
|
255
|
-
const filtered = filterDocument(doc, auto);
|
|
256
|
-
// Serialize based on format
|
|
257
|
-
switch (serializer) {
|
|
258
|
-
case 'json':
|
|
259
|
-
return JSON.stringify(filtered);
|
|
260
|
-
case 'text':
|
|
261
|
-
return extractText(filtered, 0, auto.maxDepth ?? 3, separator);
|
|
262
|
-
case 'yaml':
|
|
263
|
-
default:
|
|
264
|
-
return yaml.dump(filtered, {
|
|
265
|
-
indent: 2,
|
|
266
|
-
lineWidth: -1, // No line wrapping
|
|
267
|
-
noRefs: true, // Don't use YAML references
|
|
268
|
-
sortKeys: true // Consistent ordering
|
|
269
|
-
}).trim();
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
/**
|
|
273
|
-
* Serialize a document with full metadata extraction
|
|
274
|
-
*
|
|
275
|
-
* This is the advanced API that returns a structured result including
|
|
276
|
-
* the document ID and extracted metadata for vector storage.
|
|
277
|
-
*
|
|
278
|
-
* @param doc - The document to serialize
|
|
279
|
-
* @param options - Serialization options
|
|
280
|
-
* @returns Serialized document with text and metadata
|
|
281
|
-
*/
|
|
282
|
-
export function serializeDocument(doc, options = {}) {
|
|
283
|
-
const { auto = {} } = options;
|
|
284
|
-
// Extract document ID
|
|
285
|
-
const documentId = extractDocumentId(doc);
|
|
286
|
-
// Serialize to text
|
|
287
|
-
const text = serializeForEmbedding(doc, options);
|
|
288
|
-
// Build result with optional metadata
|
|
289
|
-
const result = {
|
|
290
|
-
documentId,
|
|
291
|
-
text
|
|
292
|
-
};
|
|
293
|
-
// Extract metadata if requested
|
|
294
|
-
if (auto.metadataFields && auto.metadataFields.length > 0) {
|
|
295
|
-
result.metadata = extractMetadata(doc, auto.metadataFields);
|
|
296
|
-
}
|
|
297
|
-
return result;
|
|
298
|
-
}
|
|
299
|
-
/**
|
|
300
|
-
* Serialize multiple documents in batch
|
|
301
|
-
*
|
|
302
|
-
* @param docs - Array of MongoDB documents
|
|
303
|
-
* @param options - Serialization options applied to all documents
|
|
304
|
-
* @returns Array of serialized documents
|
|
305
|
-
*/
|
|
306
|
-
export function serializeDocuments(docs, options = {}) {
|
|
307
|
-
return docs.map(doc => serializeDocument(doc, options));
|
|
308
|
-
}
|
|
309
|
-
/**
|
|
310
|
-
* DocumentSerializer class - Object-oriented API for document serialization
|
|
311
|
-
*
|
|
312
|
-
* Provides a class-based interface for cases where you need to reuse
|
|
313
|
-
* serialization options across multiple operations.
|
|
314
|
-
*/
|
|
315
|
-
export class DocumentSerializer {
|
|
316
|
-
options;
|
|
317
|
-
constructor(options = {}) {
|
|
318
|
-
this.options = options;
|
|
319
|
-
}
|
|
320
|
-
/**
|
|
321
|
-
* Serialize a single document to text for embedding
|
|
322
|
-
*/
|
|
323
|
-
serialize(doc, options) {
|
|
324
|
-
return serializeDocument(doc, options || this.options);
|
|
325
|
-
}
|
|
326
|
-
/**
|
|
327
|
-
* Serialize multiple documents in batch
|
|
328
|
-
*/
|
|
329
|
-
serializeBatch(docs, options) {
|
|
330
|
-
return serializeDocuments(docs, options || this.options);
|
|
331
|
-
}
|
|
332
|
-
/**
|
|
333
|
-
* Get just the text representation (simple API)
|
|
334
|
-
*/
|
|
335
|
-
serializeToText(doc, options) {
|
|
336
|
-
return serializeForEmbedding(doc, options || this.options);
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
//# sourceMappingURL=document-serializer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"document-serializer.js","sourceRoot":"","sources":["../../src/embedding/document-serializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
import type { VectorizeIndex, Ai, VectorizeMutationResult, VectorizeMetadata } from '../types/vectorize';
|
|
2
|
-
import { SerializationOptions } from './document-serializer';
|
|
3
|
-
/**
|
|
4
|
-
* Default embedding model - Cloudflare's BGE-M3 model
|
|
5
|
-
* Produces 1024-dimensional vectors, supports multiple languages
|
|
6
|
-
*/
|
|
7
|
-
export declare const DEFAULT_EMBEDDING_MODEL = "@cf/baai/bge-m3";
|
|
8
|
-
/**
|
|
9
|
-
* Cloudflare Vectorize has a limit of 100 vectors per upsert operation
|
|
10
|
-
*/
|
|
11
|
-
export declare const VECTORIZE_BATCH_LIMIT = 100;
|
|
12
|
-
/**
|
|
13
|
-
* Configuration for the EmbeddingManager
|
|
14
|
-
*/
|
|
15
|
-
export interface EmbeddingConfig {
|
|
16
|
-
/**
|
|
17
|
-
* Vectorize index binding for storing embeddings
|
|
18
|
-
*/
|
|
19
|
-
vectorize: VectorizeIndex;
|
|
20
|
-
/**
|
|
21
|
-
* Workers AI binding for generating embeddings
|
|
22
|
-
*/
|
|
23
|
-
ai: Ai;
|
|
24
|
-
/**
|
|
25
|
-
* Collection name (used as namespace/prefix for vector IDs)
|
|
26
|
-
*/
|
|
27
|
-
collection: string;
|
|
28
|
-
/**
|
|
29
|
-
* Embedding model to use (default: '@cf/baai/bge-m3')
|
|
30
|
-
*/
|
|
31
|
-
model?: string;
|
|
32
|
-
/**
|
|
33
|
-
* Serialization options for documents
|
|
34
|
-
*/
|
|
35
|
-
serialization?: SerializationOptions;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Options for embedding a single document
|
|
39
|
-
*/
|
|
40
|
-
export interface EmbedDocumentOptions {
|
|
41
|
-
/**
|
|
42
|
-
* Additional metadata to store with the vector
|
|
43
|
-
*/
|
|
44
|
-
metadata?: VectorizeMetadata;
|
|
45
|
-
/**
|
|
46
|
-
* Override serialization options for this document
|
|
47
|
-
*/
|
|
48
|
-
serialization?: SerializationOptions;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Result from an embedding operation
|
|
52
|
-
*/
|
|
53
|
-
export interface EmbedResult {
|
|
54
|
-
/**
|
|
55
|
-
* Number of documents embedded
|
|
56
|
-
*/
|
|
57
|
-
count: number;
|
|
58
|
-
/**
|
|
59
|
-
* Vector IDs of embedded documents
|
|
60
|
-
*/
|
|
61
|
-
ids: string[];
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Manages automatic embedding generation for documents
|
|
65
|
-
*
|
|
66
|
-
* This class handles:
|
|
67
|
-
* - Serializing documents for embedding generation
|
|
68
|
-
* - Calling Workers AI to generate embeddings
|
|
69
|
-
* - Storing embeddings in Vectorize
|
|
70
|
-
* - Managing vector ID format (collection:documentId)
|
|
71
|
-
*/
|
|
72
|
-
export declare class EmbeddingManager {
|
|
73
|
-
private vectorize;
|
|
74
|
-
private ai;
|
|
75
|
-
private collection;
|
|
76
|
-
private model;
|
|
77
|
-
private serialization;
|
|
78
|
-
constructor(config: EmbeddingConfig);
|
|
79
|
-
/**
|
|
80
|
-
* Get the current configuration
|
|
81
|
-
*/
|
|
82
|
-
getConfig(): {
|
|
83
|
-
model: string;
|
|
84
|
-
collection: string;
|
|
85
|
-
serialization: SerializationOptions;
|
|
86
|
-
};
|
|
87
|
-
/**
|
|
88
|
-
* Generate a vector ID from a document ID
|
|
89
|
-
* Format: collection:documentId
|
|
90
|
-
*/
|
|
91
|
-
getVectorId(documentId: string): string;
|
|
92
|
-
/**
|
|
93
|
-
* Parse a vector ID into its components
|
|
94
|
-
*/
|
|
95
|
-
parseVectorId(vectorId: string): {
|
|
96
|
-
collection: string;
|
|
97
|
-
documentId: string;
|
|
98
|
-
};
|
|
99
|
-
/**
|
|
100
|
-
* Embed a single document
|
|
101
|
-
*
|
|
102
|
-
* @param doc - The document to embed (must have _id field)
|
|
103
|
-
* @param options - Optional embedding options
|
|
104
|
-
* @returns The embedding result
|
|
105
|
-
*/
|
|
106
|
-
embedDocument(doc: Record<string, unknown>, options?: EmbedDocumentOptions): Promise<EmbedResult>;
|
|
107
|
-
/**
|
|
108
|
-
* Embed multiple documents in a batch
|
|
109
|
-
*
|
|
110
|
-
* @param docs - Array of documents to embed (each must have _id field)
|
|
111
|
-
* @param options - Optional embedding options
|
|
112
|
-
* @returns The embedding result
|
|
113
|
-
*/
|
|
114
|
-
embedDocuments(docs: Record<string, unknown>[], options?: EmbedDocumentOptions): Promise<EmbedResult>;
|
|
115
|
-
/**
|
|
116
|
-
* Delete the embedding for a document
|
|
117
|
-
*
|
|
118
|
-
* @param documentId - The document ID
|
|
119
|
-
*/
|
|
120
|
-
deleteDocument(documentId: string): Promise<VectorizeMutationResult>;
|
|
121
|
-
/**
|
|
122
|
-
* Delete embeddings for multiple documents
|
|
123
|
-
*
|
|
124
|
-
* @param documentIds - Array of document IDs
|
|
125
|
-
*/
|
|
126
|
-
deleteDocuments(documentIds: string[]): Promise<VectorizeMutationResult>;
|
|
127
|
-
/**
|
|
128
|
-
* Generate an embedding for a single text
|
|
129
|
-
*/
|
|
130
|
-
private generateEmbedding;
|
|
131
|
-
/**
|
|
132
|
-
* Generate embeddings for multiple texts in batch
|
|
133
|
-
*/
|
|
134
|
-
private generateEmbeddings;
|
|
135
|
-
}
|
|
136
|
-
//# sourceMappingURL=embedding-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"embedding-manager.d.ts","sourceRoot":"","sources":["../../src/embedding/embedding-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,uBAAuB,EAAmB,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1H,OAAO,EAAyB,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAEpF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,oBAAoB,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,SAAS,EAAE,cAAc,CAAC;IAE1B;;OAEG;IACH,EAAE,EAAE,EAAE,CAAC;IAEP;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAE7B;;OAEG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,GAAG,EAAE,MAAM,EAAE,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,EAAE,CAAK;IACf,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,aAAa,CAAuB;gBAEhC,MAAM,EAAE,eAAe;IAQnC;;OAEG;IACH,SAAS,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,oBAAoB,CAAA;KAAE;IAQvF;;;OAGG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAIvC;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAW3E;;;;;;OAMG;IACG,aAAa,CACjB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,WAAW,CAAC;IA+BvB;;;;;;OAMG;IACG,cAAc,CAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC/B,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,WAAW,CAAC;IA6CvB;;;;OAIG;IACG,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAK1E;;;;OAIG;IACG,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAK9E;;OAEG;YACW,iBAAiB;IAQ/B;;OAEG;YACW,kBAAkB;CAMjC"}
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
import { serializeForEmbedding } from './document-serializer';
|
|
2
|
-
/**
|
|
3
|
-
* Default embedding model - Cloudflare's BGE-M3 model
|
|
4
|
-
* Produces 1024-dimensional vectors, supports multiple languages
|
|
5
|
-
*/
|
|
6
|
-
export const DEFAULT_EMBEDDING_MODEL = '@cf/baai/bge-m3';
|
|
7
|
-
/**
|
|
8
|
-
* Cloudflare Vectorize has a limit of 100 vectors per upsert operation
|
|
9
|
-
*/
|
|
10
|
-
export const VECTORIZE_BATCH_LIMIT = 100;
|
|
11
|
-
/**
|
|
12
|
-
* Manages automatic embedding generation for documents
|
|
13
|
-
*
|
|
14
|
-
* This class handles:
|
|
15
|
-
* - Serializing documents for embedding generation
|
|
16
|
-
* - Calling Workers AI to generate embeddings
|
|
17
|
-
* - Storing embeddings in Vectorize
|
|
18
|
-
* - Managing vector ID format (collection:documentId)
|
|
19
|
-
*/
|
|
20
|
-
export class EmbeddingManager {
|
|
21
|
-
vectorize;
|
|
22
|
-
ai;
|
|
23
|
-
collection;
|
|
24
|
-
model;
|
|
25
|
-
serialization;
|
|
26
|
-
constructor(config) {
|
|
27
|
-
this.vectorize = config.vectorize;
|
|
28
|
-
this.ai = config.ai;
|
|
29
|
-
this.collection = config.collection;
|
|
30
|
-
this.model = config.model || DEFAULT_EMBEDDING_MODEL;
|
|
31
|
-
this.serialization = config.serialization || { serializer: 'yaml' };
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Get the current configuration
|
|
35
|
-
*/
|
|
36
|
-
getConfig() {
|
|
37
|
-
return {
|
|
38
|
-
model: this.model,
|
|
39
|
-
collection: this.collection,
|
|
40
|
-
serialization: this.serialization
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Generate a vector ID from a document ID
|
|
45
|
-
* Format: collection:documentId
|
|
46
|
-
*/
|
|
47
|
-
getVectorId(documentId) {
|
|
48
|
-
return `${this.collection}:${documentId}`;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Parse a vector ID into its components
|
|
52
|
-
*/
|
|
53
|
-
parseVectorId(vectorId) {
|
|
54
|
-
const colonIndex = vectorId.indexOf(':');
|
|
55
|
-
if (colonIndex === -1) {
|
|
56
|
-
return { collection: '', documentId: vectorId };
|
|
57
|
-
}
|
|
58
|
-
return {
|
|
59
|
-
collection: vectorId.substring(0, colonIndex),
|
|
60
|
-
documentId: vectorId.substring(colonIndex + 1)
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Embed a single document
|
|
65
|
-
*
|
|
66
|
-
* @param doc - The document to embed (must have _id field)
|
|
67
|
-
* @param options - Optional embedding options
|
|
68
|
-
* @returns The embedding result
|
|
69
|
-
*/
|
|
70
|
-
async embedDocument(doc, options = {}) {
|
|
71
|
-
const documentId = String(doc._id);
|
|
72
|
-
const vectorId = this.getVectorId(documentId);
|
|
73
|
-
// Serialize document for embedding
|
|
74
|
-
const serializationOptions = options.serialization || this.serialization;
|
|
75
|
-
const text = serializeForEmbedding(doc, serializationOptions);
|
|
76
|
-
// Generate embedding using Workers AI
|
|
77
|
-
const embedding = await this.generateEmbedding(text);
|
|
78
|
-
// Prepare metadata
|
|
79
|
-
const metadata = {
|
|
80
|
-
collection: this.collection,
|
|
81
|
-
documentId,
|
|
82
|
-
...options.metadata
|
|
83
|
-
};
|
|
84
|
-
// Upsert to Vectorize
|
|
85
|
-
await this.vectorize.upsert([{
|
|
86
|
-
id: vectorId,
|
|
87
|
-
values: embedding,
|
|
88
|
-
metadata
|
|
89
|
-
}]);
|
|
90
|
-
return {
|
|
91
|
-
count: 1,
|
|
92
|
-
ids: [vectorId]
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Embed multiple documents in a batch
|
|
97
|
-
*
|
|
98
|
-
* @param docs - Array of documents to embed (each must have _id field)
|
|
99
|
-
* @param options - Optional embedding options
|
|
100
|
-
* @returns The embedding result
|
|
101
|
-
*/
|
|
102
|
-
async embedDocuments(docs, options = {}) {
|
|
103
|
-
if (docs.length === 0) {
|
|
104
|
-
return { count: 0, ids: [] };
|
|
105
|
-
}
|
|
106
|
-
// Serialize all documents
|
|
107
|
-
const serializationOptions = options.serialization || this.serialization;
|
|
108
|
-
const texts = docs.map(doc => serializeForEmbedding(doc, serializationOptions));
|
|
109
|
-
// Generate embeddings in batch
|
|
110
|
-
const embeddings = await this.generateEmbeddings(texts);
|
|
111
|
-
// Prepare vectors for upsert
|
|
112
|
-
const vectors = docs.map((doc, index) => {
|
|
113
|
-
const documentId = String(doc._id);
|
|
114
|
-
const vectorId = this.getVectorId(documentId);
|
|
115
|
-
const metadata = {
|
|
116
|
-
collection: this.collection,
|
|
117
|
-
documentId,
|
|
118
|
-
...options.metadata
|
|
119
|
-
};
|
|
120
|
-
// Safe access - embeddings array length matches docs array
|
|
121
|
-
const values = embeddings[index] ?? [];
|
|
122
|
-
return {
|
|
123
|
-
id: vectorId,
|
|
124
|
-
values,
|
|
125
|
-
metadata
|
|
126
|
-
};
|
|
127
|
-
});
|
|
128
|
-
// Upsert vectors in chunks to respect Vectorize batch limit
|
|
129
|
-
for (let i = 0; i < vectors.length; i += VECTORIZE_BATCH_LIMIT) {
|
|
130
|
-
const chunk = vectors.slice(i, i + VECTORIZE_BATCH_LIMIT);
|
|
131
|
-
await this.vectorize.upsert(chunk);
|
|
132
|
-
}
|
|
133
|
-
return {
|
|
134
|
-
count: docs.length,
|
|
135
|
-
ids: vectors.map(v => v.id)
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* Delete the embedding for a document
|
|
140
|
-
*
|
|
141
|
-
* @param documentId - The document ID
|
|
142
|
-
*/
|
|
143
|
-
async deleteDocument(documentId) {
|
|
144
|
-
const vectorId = this.getVectorId(documentId);
|
|
145
|
-
return this.vectorize.deleteByIds([vectorId]);
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Delete embeddings for multiple documents
|
|
149
|
-
*
|
|
150
|
-
* @param documentIds - Array of document IDs
|
|
151
|
-
*/
|
|
152
|
-
async deleteDocuments(documentIds) {
|
|
153
|
-
const vectorIds = documentIds.map(id => this.getVectorId(id));
|
|
154
|
-
return this.vectorize.deleteByIds(vectorIds);
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Generate an embedding for a single text
|
|
158
|
-
*/
|
|
159
|
-
async generateEmbedding(text) {
|
|
160
|
-
const result = await this.ai.run(this.model, {
|
|
161
|
-
text: [text]
|
|
162
|
-
});
|
|
163
|
-
// Safe access - single text input always returns single embedding
|
|
164
|
-
return result.data[0] ?? [];
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Generate embeddings for multiple texts in batch
|
|
168
|
-
*/
|
|
169
|
-
async generateEmbeddings(texts) {
|
|
170
|
-
const result = await this.ai.run(this.model, {
|
|
171
|
-
text: texts
|
|
172
|
-
});
|
|
173
|
-
return result.data;
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
//# sourceMappingURL=embedding-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"embedding-manager.js","sourceRoot":"","sources":["../../src/embedding/embedding-manager.ts"],"names":[],"mappings":"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"}
|