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,92 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CDC Buffer
|
|
3
|
-
*
|
|
4
|
-
* Buffers CDC events for efficient batch processing.
|
|
5
|
-
* Implements configurable thresholds for batch size and time-based flushing.
|
|
6
|
-
*/
|
|
7
|
-
import type { CDCEvent } from './cdc-schema';
|
|
8
|
-
/**
|
|
9
|
-
* Configuration options for the CDC buffer
|
|
10
|
-
*/
|
|
11
|
-
export interface CDCBufferConfig {
|
|
12
|
-
/** Maximum number of events before auto-flush (default: 100) */
|
|
13
|
-
maxBatchSize?: number;
|
|
14
|
-
/** Timeout in milliseconds before auto-flush (default: 1000) */
|
|
15
|
-
flushTimeoutMs?: number;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Callback function type for auto-flush
|
|
19
|
-
*/
|
|
20
|
-
export type FlushCallback = (events: CDCEvent[]) => void | Promise<void>;
|
|
21
|
-
/**
|
|
22
|
-
* CDCBuffer accumulates CDC events and supports both manual and automatic flushing.
|
|
23
|
-
*
|
|
24
|
-
* Features:
|
|
25
|
-
* - Accumulates events until batch size threshold
|
|
26
|
-
* - Time-based automatic flushing
|
|
27
|
-
* - Preserves event ordering (FIFO)
|
|
28
|
-
* - Thread-safe for concurrent writes
|
|
29
|
-
*/
|
|
30
|
-
export declare class CDCBuffer {
|
|
31
|
-
/** Internal buffer storing events */
|
|
32
|
-
private events;
|
|
33
|
-
/** Maximum batch size before flush */
|
|
34
|
-
private readonly maxBatchSize;
|
|
35
|
-
/** Timeout for auto-flush in milliseconds */
|
|
36
|
-
private readonly flushTimeoutMs;
|
|
37
|
-
/** Callback to invoke on auto-flush */
|
|
38
|
-
private flushCallback;
|
|
39
|
-
/** Timer reference for time-based flush */
|
|
40
|
-
private flushTimer;
|
|
41
|
-
/** Flag to track if auto-flush is active */
|
|
42
|
-
private autoFlushActive;
|
|
43
|
-
/**
|
|
44
|
-
* Create a new CDC buffer
|
|
45
|
-
*
|
|
46
|
-
* @param config - Configuration options
|
|
47
|
-
*/
|
|
48
|
-
constructor(config?: CDCBufferConfig);
|
|
49
|
-
/**
|
|
50
|
-
* Add an event to the buffer
|
|
51
|
-
*
|
|
52
|
-
* @param event - CDC event to add
|
|
53
|
-
*/
|
|
54
|
-
add(event: CDCEvent): void;
|
|
55
|
-
/**
|
|
56
|
-
* Flush all events from the buffer
|
|
57
|
-
*
|
|
58
|
-
* @returns Array of flushed events
|
|
59
|
-
*/
|
|
60
|
-
flush(): CDCEvent[];
|
|
61
|
-
/**
|
|
62
|
-
* Get the current number of events in the buffer
|
|
63
|
-
*/
|
|
64
|
-
size(): number;
|
|
65
|
-
/**
|
|
66
|
-
* Check if the buffer is empty
|
|
67
|
-
*/
|
|
68
|
-
isEmpty(): boolean;
|
|
69
|
-
/**
|
|
70
|
-
* Start automatic flushing with the given callback
|
|
71
|
-
*
|
|
72
|
-
* @param callback - Function to call with events when flushing
|
|
73
|
-
*/
|
|
74
|
-
startAutoFlush(callback: FlushCallback): void;
|
|
75
|
-
/**
|
|
76
|
-
* Stop automatic flushing
|
|
77
|
-
*/
|
|
78
|
-
stopAutoFlush(): void;
|
|
79
|
-
/**
|
|
80
|
-
* Trigger an auto-flush with the callback
|
|
81
|
-
*/
|
|
82
|
-
private triggerAutoFlush;
|
|
83
|
-
/**
|
|
84
|
-
* Reset the flush timer
|
|
85
|
-
*/
|
|
86
|
-
private resetFlushTimer;
|
|
87
|
-
/**
|
|
88
|
-
* Clear the flush timer
|
|
89
|
-
*/
|
|
90
|
-
private clearFlushTimer;
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=cdc-buffer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cdc-buffer.d.ts","sourceRoot":"","sources":["../../../src/olap/cdc/cdc-buffer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAM7C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAczE;;;;;;;;GAQG;AACH,qBAAa,SAAS;IACpB,qCAAqC;IACrC,OAAO,CAAC,MAAM,CAAkB;IAEhC,sCAAsC;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC,6CAA6C;IAC7C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAExC,uCAAuC;IACvC,OAAO,CAAC,aAAa,CAA8B;IAEnD,2CAA2C;IAC3C,OAAO,CAAC,UAAU,CAA8C;IAEhE,4CAA4C;IAC5C,OAAO,CAAC,eAAe,CAAkB;IAEzC;;;;OAIG;gBACS,MAAM,CAAC,EAAE,eAAe;IAMpC;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAY1B;;;;OAIG;IACH,KAAK,IAAI,QAAQ,EAAE;IAWnB;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;;;OAIG;IACH,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAU7C;;OAEG;IACH,aAAa,IAAI,IAAI;IAMrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACH,OAAO,CAAC,eAAe;CAMxB"}
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CDC Buffer
|
|
3
|
-
*
|
|
4
|
-
* Buffers CDC events for efficient batch processing.
|
|
5
|
-
* Implements configurable thresholds for batch size and time-based flushing.
|
|
6
|
-
*/
|
|
7
|
-
// ============================================================================
|
|
8
|
-
// Constants
|
|
9
|
-
// ============================================================================
|
|
10
|
-
const DEFAULT_MAX_BATCH_SIZE = 100;
|
|
11
|
-
const DEFAULT_FLUSH_TIMEOUT_MS = 1000;
|
|
12
|
-
const MIN_BATCH_SIZE = 1;
|
|
13
|
-
// ============================================================================
|
|
14
|
-
// CDCBuffer Class
|
|
15
|
-
// ============================================================================
|
|
16
|
-
/**
|
|
17
|
-
* CDCBuffer accumulates CDC events and supports both manual and automatic flushing.
|
|
18
|
-
*
|
|
19
|
-
* Features:
|
|
20
|
-
* - Accumulates events until batch size threshold
|
|
21
|
-
* - Time-based automatic flushing
|
|
22
|
-
* - Preserves event ordering (FIFO)
|
|
23
|
-
* - Thread-safe for concurrent writes
|
|
24
|
-
*/
|
|
25
|
-
export class CDCBuffer {
|
|
26
|
-
/** Internal buffer storing events */
|
|
27
|
-
events = [];
|
|
28
|
-
/** Maximum batch size before flush */
|
|
29
|
-
maxBatchSize;
|
|
30
|
-
/** Timeout for auto-flush in milliseconds */
|
|
31
|
-
flushTimeoutMs;
|
|
32
|
-
/** Callback to invoke on auto-flush */
|
|
33
|
-
flushCallback = null;
|
|
34
|
-
/** Timer reference for time-based flush */
|
|
35
|
-
flushTimer = null;
|
|
36
|
-
/** Flag to track if auto-flush is active */
|
|
37
|
-
autoFlushActive = false;
|
|
38
|
-
/**
|
|
39
|
-
* Create a new CDC buffer
|
|
40
|
-
*
|
|
41
|
-
* @param config - Configuration options
|
|
42
|
-
*/
|
|
43
|
-
constructor(config) {
|
|
44
|
-
const batchSize = config?.maxBatchSize ?? DEFAULT_MAX_BATCH_SIZE;
|
|
45
|
-
this.maxBatchSize = batchSize > 0 ? batchSize : MIN_BATCH_SIZE;
|
|
46
|
-
this.flushTimeoutMs = config?.flushTimeoutMs ?? DEFAULT_FLUSH_TIMEOUT_MS;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Add an event to the buffer
|
|
50
|
-
*
|
|
51
|
-
* @param event - CDC event to add
|
|
52
|
-
*/
|
|
53
|
-
add(event) {
|
|
54
|
-
this.events.push(event);
|
|
55
|
-
// Check if we should auto-flush based on batch size
|
|
56
|
-
if (this.autoFlushActive && this.events.length >= this.maxBatchSize) {
|
|
57
|
-
this.triggerAutoFlush();
|
|
58
|
-
}
|
|
59
|
-
else if (this.autoFlushActive && this.events.length === 1) {
|
|
60
|
-
// Start timer on first event
|
|
61
|
-
this.resetFlushTimer();
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Flush all events from the buffer
|
|
66
|
-
*
|
|
67
|
-
* @returns Array of flushed events
|
|
68
|
-
*/
|
|
69
|
-
flush() {
|
|
70
|
-
// Clear any pending timer
|
|
71
|
-
this.clearFlushTimer();
|
|
72
|
-
// Get all events and clear buffer
|
|
73
|
-
const flushedEvents = this.events;
|
|
74
|
-
this.events = [];
|
|
75
|
-
return flushedEvents;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Get the current number of events in the buffer
|
|
79
|
-
*/
|
|
80
|
-
size() {
|
|
81
|
-
return this.events.length;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Check if the buffer is empty
|
|
85
|
-
*/
|
|
86
|
-
isEmpty() {
|
|
87
|
-
return this.events.length === 0;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Start automatic flushing with the given callback
|
|
91
|
-
*
|
|
92
|
-
* @param callback - Function to call with events when flushing
|
|
93
|
-
*/
|
|
94
|
-
startAutoFlush(callback) {
|
|
95
|
-
this.flushCallback = callback;
|
|
96
|
-
this.autoFlushActive = true;
|
|
97
|
-
// If there are existing events, start the timer
|
|
98
|
-
if (this.events.length > 0) {
|
|
99
|
-
this.resetFlushTimer();
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Stop automatic flushing
|
|
104
|
-
*/
|
|
105
|
-
stopAutoFlush() {
|
|
106
|
-
this.autoFlushActive = false;
|
|
107
|
-
this.flushCallback = null;
|
|
108
|
-
this.clearFlushTimer();
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Trigger an auto-flush with the callback
|
|
112
|
-
*/
|
|
113
|
-
triggerAutoFlush() {
|
|
114
|
-
if (!this.flushCallback || this.events.length === 0) {
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
// Clear timer since we're flushing now
|
|
118
|
-
this.clearFlushTimer();
|
|
119
|
-
// Get events and clear buffer
|
|
120
|
-
const eventsToFlush = this.events;
|
|
121
|
-
this.events = [];
|
|
122
|
-
// Call the callback
|
|
123
|
-
this.flushCallback(eventsToFlush);
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Reset the flush timer
|
|
127
|
-
*/
|
|
128
|
-
resetFlushTimer() {
|
|
129
|
-
this.clearFlushTimer();
|
|
130
|
-
if (this.autoFlushActive && this.flushTimeoutMs > 0) {
|
|
131
|
-
this.flushTimer = setTimeout(() => {
|
|
132
|
-
this.triggerAutoFlush();
|
|
133
|
-
}, this.flushTimeoutMs);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Clear the flush timer
|
|
138
|
-
*/
|
|
139
|
-
clearFlushTimer() {
|
|
140
|
-
if (this.flushTimer !== null) {
|
|
141
|
-
clearTimeout(this.flushTimer);
|
|
142
|
-
this.flushTimer = null;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
//# sourceMappingURL=cdc-buffer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cdc-buffer.js","sourceRoot":"","sources":["../../../src/olap/cdc/cdc-buffer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CDC Emitter
|
|
3
|
-
*
|
|
4
|
-
* Responsible for emitting Change Data Capture events to downstream systems.
|
|
5
|
-
* Handles batching, buffering, and graceful degradation when Pipeline binding
|
|
6
|
-
* is unavailable.
|
|
7
|
-
*/
|
|
8
|
-
import type { CDCEvent } from './cdc-schema';
|
|
9
|
-
import type { ObjectId } from '../../types/objectid';
|
|
10
|
-
/**
|
|
11
|
-
* Pipeline binding interface (Cloudflare Pipelines)
|
|
12
|
-
*/
|
|
13
|
-
export interface Pipeline {
|
|
14
|
-
send(data: unknown): Promise<void>;
|
|
15
|
-
sendBatch(data: unknown[]): Promise<void>;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Configuration options for the CDC emitter
|
|
19
|
-
*/
|
|
20
|
-
export interface CDCEmitterConfig {
|
|
21
|
-
/** Pipeline binding for sending events */
|
|
22
|
-
pipeline?: Pipeline;
|
|
23
|
-
/** Database name */
|
|
24
|
-
database: string;
|
|
25
|
-
/** Collection name */
|
|
26
|
-
collection: string;
|
|
27
|
-
/** Batch size for buffering (default: 1 for immediate send) */
|
|
28
|
-
batchSize?: number;
|
|
29
|
-
/** Batch timeout in milliseconds */
|
|
30
|
-
batchTimeoutMs?: number;
|
|
31
|
-
/** Number of retry attempts on failure (default: 0) */
|
|
32
|
-
retryAttempts?: number;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* CDCEmitter handles emitting CDC events to Cloudflare Pipelines.
|
|
36
|
-
*
|
|
37
|
-
* Features:
|
|
38
|
-
* - Emits insert, update, and delete events
|
|
39
|
-
* - Supports batching for efficiency
|
|
40
|
-
* - Graceful degradation when Pipeline unavailable
|
|
41
|
-
* - Retry logic for transient failures
|
|
42
|
-
*/
|
|
43
|
-
export declare class CDCEmitter {
|
|
44
|
-
/** Pipeline binding */
|
|
45
|
-
private readonly pipeline?;
|
|
46
|
-
/** Database name */
|
|
47
|
-
private readonly database;
|
|
48
|
-
/** Collection name */
|
|
49
|
-
private readonly collection;
|
|
50
|
-
/** Buffer for batching events */
|
|
51
|
-
private readonly buffer;
|
|
52
|
-
/** Whether batching is enabled */
|
|
53
|
-
private readonly batchingEnabled;
|
|
54
|
-
/** Number of retry attempts */
|
|
55
|
-
private readonly retryAttempts;
|
|
56
|
-
/**
|
|
57
|
-
* Create a new CDC emitter
|
|
58
|
-
*
|
|
59
|
-
* @param config - Configuration options
|
|
60
|
-
*/
|
|
61
|
-
constructor(config: CDCEmitterConfig);
|
|
62
|
-
/**
|
|
63
|
-
* Emit an insert event for a new document
|
|
64
|
-
*
|
|
65
|
-
* @param document - The inserted document
|
|
66
|
-
*/
|
|
67
|
-
emitInsert(document: Record<string, unknown> & {
|
|
68
|
-
_id: ObjectId;
|
|
69
|
-
}): Promise<void>;
|
|
70
|
-
/**
|
|
71
|
-
* Emit an update event for a document change
|
|
72
|
-
*
|
|
73
|
-
* @param before - The document before the change (null if not available)
|
|
74
|
-
* @param after - The document after the change
|
|
75
|
-
*/
|
|
76
|
-
emitUpdate(before: Record<string, unknown> | null, after: Record<string, unknown> & {
|
|
77
|
-
_id: ObjectId;
|
|
78
|
-
}): Promise<void>;
|
|
79
|
-
/**
|
|
80
|
-
* Emit a delete event for a removed document
|
|
81
|
-
*
|
|
82
|
-
* @param document - The deleted document
|
|
83
|
-
*/
|
|
84
|
-
emitDelete(document: Record<string, unknown> & {
|
|
85
|
-
_id: ObjectId;
|
|
86
|
-
}): Promise<void>;
|
|
87
|
-
/**
|
|
88
|
-
* Emit multiple events in bulk
|
|
89
|
-
*
|
|
90
|
-
* @param events - Array of CDC events to emit
|
|
91
|
-
*/
|
|
92
|
-
emitBulk(events: CDCEvent[]): Promise<void>;
|
|
93
|
-
/**
|
|
94
|
-
* Flush any buffered events immediately
|
|
95
|
-
*/
|
|
96
|
-
flush(): Promise<void>;
|
|
97
|
-
/**
|
|
98
|
-
* Check if the Pipeline binding is available
|
|
99
|
-
*/
|
|
100
|
-
isAvailable(): boolean;
|
|
101
|
-
/**
|
|
102
|
-
* Emit a single event, either directly or via buffer
|
|
103
|
-
*/
|
|
104
|
-
private emitEvent;
|
|
105
|
-
/**
|
|
106
|
-
* Send a single event to the pipeline with retry logic
|
|
107
|
-
*/
|
|
108
|
-
private sendToPipeline;
|
|
109
|
-
/**
|
|
110
|
-
* Send a batch of events to the pipeline
|
|
111
|
-
*/
|
|
112
|
-
private sendBatchToPipeline;
|
|
113
|
-
/**
|
|
114
|
-
* Delay helper for retry logic
|
|
115
|
-
*/
|
|
116
|
-
private delay;
|
|
117
|
-
}
|
|
118
|
-
//# sourceMappingURL=cdc-emitter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cdc-emitter.d.ts","sourceRoot":"","sources":["../../../src/olap/cdc/cdc-emitter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAMrD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAaD;;;;;;;;GAQG;AACH,qBAAa,UAAU;IACrB,uBAAuB;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAW;IAErC,oBAAoB;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC,sBAAsB;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,iCAAiC;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IAEnC,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAE1C,+BAA+B;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAEvC;;;;OAIG;gBACS,MAAM,EAAE,gBAAgB;IA2BpC;;;;OAIG;IACG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,GAAG,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAetF;;;;;OAKG;IACG,UAAU,CACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACtC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,GAAG,EAAE,QAAQ,CAAA;KAAE,GACjD,OAAO,CAAC,IAAI,CAAC;IAiBhB;;;;OAIG;IACG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,GAAG,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBtF;;;;OAIG;IACG,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAajD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAc5B;;OAEG;IACH,WAAW,IAAI,OAAO;IAQtB;;OAEG;YACW,SAAS;IAQvB;;OAEG;YACW,cAAc;IAyB5B;;OAEG;YACW,mBAAmB;IAYjC;;OAEG;IACH,OAAO,CAAC,KAAK;CAGd"}
|
|
@@ -1,217 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CDC Emitter
|
|
3
|
-
*
|
|
4
|
-
* Responsible for emitting Change Data Capture events to downstream systems.
|
|
5
|
-
* Handles batching, buffering, and graceful degradation when Pipeline binding
|
|
6
|
-
* is unavailable.
|
|
7
|
-
*/
|
|
8
|
-
import { createInsertEvent, createUpdateEvent, createDeleteEvent } from './cdc-schema';
|
|
9
|
-
import { CDCBuffer } from './cdc-buffer';
|
|
10
|
-
// ============================================================================
|
|
11
|
-
// Constants
|
|
12
|
-
// ============================================================================
|
|
13
|
-
const DEFAULT_RETRY_ATTEMPTS = 0;
|
|
14
|
-
const RETRY_DELAY_MS = 100;
|
|
15
|
-
// ============================================================================
|
|
16
|
-
// CDCEmitter Class
|
|
17
|
-
// ============================================================================
|
|
18
|
-
/**
|
|
19
|
-
* CDCEmitter handles emitting CDC events to Cloudflare Pipelines.
|
|
20
|
-
*
|
|
21
|
-
* Features:
|
|
22
|
-
* - Emits insert, update, and delete events
|
|
23
|
-
* - Supports batching for efficiency
|
|
24
|
-
* - Graceful degradation when Pipeline unavailable
|
|
25
|
-
* - Retry logic for transient failures
|
|
26
|
-
*/
|
|
27
|
-
export class CDCEmitter {
|
|
28
|
-
/** Pipeline binding */
|
|
29
|
-
pipeline;
|
|
30
|
-
/** Database name */
|
|
31
|
-
database;
|
|
32
|
-
/** Collection name */
|
|
33
|
-
collection;
|
|
34
|
-
/** Buffer for batching events */
|
|
35
|
-
buffer;
|
|
36
|
-
/** Whether batching is enabled */
|
|
37
|
-
batchingEnabled;
|
|
38
|
-
/** Number of retry attempts */
|
|
39
|
-
retryAttempts;
|
|
40
|
-
/**
|
|
41
|
-
* Create a new CDC emitter
|
|
42
|
-
*
|
|
43
|
-
* @param config - Configuration options
|
|
44
|
-
*/
|
|
45
|
-
constructor(config) {
|
|
46
|
-
// Handle optional pipeline with exactOptionalPropertyTypes
|
|
47
|
-
if ('pipeline' in config && config.pipeline !== undefined) {
|
|
48
|
-
this.pipeline = config.pipeline;
|
|
49
|
-
}
|
|
50
|
-
this.database = config.database;
|
|
51
|
-
this.collection = config.collection;
|
|
52
|
-
this.retryAttempts = config.retryAttempts ?? DEFAULT_RETRY_ATTEMPTS;
|
|
53
|
-
// Initialize buffer if batching is configured
|
|
54
|
-
this.batchingEnabled = (config.batchSize ?? 1) > 1;
|
|
55
|
-
const bufferConfig = {
|
|
56
|
-
maxBatchSize: config.batchSize ?? 1,
|
|
57
|
-
};
|
|
58
|
-
if (config.batchTimeoutMs !== undefined) {
|
|
59
|
-
bufferConfig.flushTimeoutMs = config.batchTimeoutMs;
|
|
60
|
-
}
|
|
61
|
-
this.buffer = new CDCBuffer(bufferConfig);
|
|
62
|
-
// Start auto-flush if batching is enabled and pipeline is available
|
|
63
|
-
if (this.batchingEnabled && this.pipeline) {
|
|
64
|
-
this.buffer.startAutoFlush(async (events) => {
|
|
65
|
-
await this.sendBatchToPipeline(events);
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Emit an insert event for a new document
|
|
71
|
-
*
|
|
72
|
-
* @param document - The inserted document
|
|
73
|
-
*/
|
|
74
|
-
async emitInsert(document) {
|
|
75
|
-
if (!this.isAvailable()) {
|
|
76
|
-
console.warn('CDC Pipeline not available - insert event dropped');
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
const event = createInsertEvent({
|
|
80
|
-
database: this.database,
|
|
81
|
-
collection: this.collection,
|
|
82
|
-
document,
|
|
83
|
-
});
|
|
84
|
-
await this.emitEvent(event);
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Emit an update event for a document change
|
|
88
|
-
*
|
|
89
|
-
* @param before - The document before the change (null if not available)
|
|
90
|
-
* @param after - The document after the change
|
|
91
|
-
*/
|
|
92
|
-
async emitUpdate(before, after) {
|
|
93
|
-
if (!this.isAvailable()) {
|
|
94
|
-
console.warn('CDC Pipeline not available - update event dropped');
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
const event = createUpdateEvent({
|
|
98
|
-
database: this.database,
|
|
99
|
-
collection: this.collection,
|
|
100
|
-
documentKey: { _id: after._id },
|
|
101
|
-
before,
|
|
102
|
-
after,
|
|
103
|
-
});
|
|
104
|
-
await this.emitEvent(event);
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Emit a delete event for a removed document
|
|
108
|
-
*
|
|
109
|
-
* @param document - The deleted document
|
|
110
|
-
*/
|
|
111
|
-
async emitDelete(document) {
|
|
112
|
-
if (!this.isAvailable()) {
|
|
113
|
-
console.warn('CDC Pipeline not available - delete event dropped');
|
|
114
|
-
return;
|
|
115
|
-
}
|
|
116
|
-
const event = createDeleteEvent({
|
|
117
|
-
database: this.database,
|
|
118
|
-
collection: this.collection,
|
|
119
|
-
documentKey: { _id: document._id },
|
|
120
|
-
deletedDocument: document,
|
|
121
|
-
});
|
|
122
|
-
await this.emitEvent(event);
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Emit multiple events in bulk
|
|
126
|
-
*
|
|
127
|
-
* @param events - Array of CDC events to emit
|
|
128
|
-
*/
|
|
129
|
-
async emitBulk(events) {
|
|
130
|
-
if (events.length === 0) {
|
|
131
|
-
return;
|
|
132
|
-
}
|
|
133
|
-
if (!this.isAvailable()) {
|
|
134
|
-
console.warn('CDC Pipeline not available - bulk events dropped');
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
await this.sendBatchToPipeline(events);
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Flush any buffered events immediately
|
|
141
|
-
*/
|
|
142
|
-
async flush() {
|
|
143
|
-
const events = this.buffer.flush();
|
|
144
|
-
if (events.length === 0) {
|
|
145
|
-
return;
|
|
146
|
-
}
|
|
147
|
-
if (!this.isAvailable()) {
|
|
148
|
-
return;
|
|
149
|
-
}
|
|
150
|
-
await this.sendBatchToPipeline(events);
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Check if the Pipeline binding is available
|
|
154
|
-
*/
|
|
155
|
-
isAvailable() {
|
|
156
|
-
return this.pipeline !== undefined;
|
|
157
|
-
}
|
|
158
|
-
// ==========================================================================
|
|
159
|
-
// Private Methods
|
|
160
|
-
// ==========================================================================
|
|
161
|
-
/**
|
|
162
|
-
* Emit a single event, either directly or via buffer
|
|
163
|
-
*/
|
|
164
|
-
async emitEvent(event) {
|
|
165
|
-
if (this.batchingEnabled) {
|
|
166
|
-
this.buffer.add(event);
|
|
167
|
-
}
|
|
168
|
-
else {
|
|
169
|
-
await this.sendToPipeline(event);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* Send a single event to the pipeline with retry logic
|
|
174
|
-
*/
|
|
175
|
-
async sendToPipeline(event) {
|
|
176
|
-
if (!this.pipeline) {
|
|
177
|
-
return;
|
|
178
|
-
}
|
|
179
|
-
let lastError;
|
|
180
|
-
for (let attempt = 0; attempt <= this.retryAttempts; attempt++) {
|
|
181
|
-
try {
|
|
182
|
-
await this.pipeline.send(event);
|
|
183
|
-
return; // Success
|
|
184
|
-
}
|
|
185
|
-
catch (error) {
|
|
186
|
-
lastError = error instanceof Error ? error : new Error(String(error));
|
|
187
|
-
if (attempt < this.retryAttempts) {
|
|
188
|
-
// Wait before retry
|
|
189
|
-
await this.delay(RETRY_DELAY_MS * (attempt + 1));
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
// All retries failed - log but don't throw
|
|
194
|
-
console.error('CDC Pipeline send failed after retries:', lastError);
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Send a batch of events to the pipeline
|
|
198
|
-
*/
|
|
199
|
-
async sendBatchToPipeline(events) {
|
|
200
|
-
if (!this.pipeline || events.length === 0) {
|
|
201
|
-
return;
|
|
202
|
-
}
|
|
203
|
-
try {
|
|
204
|
-
await this.pipeline.sendBatch(events);
|
|
205
|
-
}
|
|
206
|
-
catch (error) {
|
|
207
|
-
console.error('CDC Pipeline sendBatch failed:', error);
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* Delay helper for retry logic
|
|
212
|
-
*/
|
|
213
|
-
delay(ms) {
|
|
214
|
-
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
//# sourceMappingURL=cdc-emitter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cdc-emitter.js","sourceRoot":"","sources":["../../../src/olap/cdc/cdc-emitter.ts"],"names":[],"mappings":"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"}
|