mongo.do 0.1.0
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/LICENSE +21 -0
- package/README.md +454 -0
- package/dist/agentfs/adapters/anthropic.d.ts +176 -0
- package/dist/agentfs/adapters/anthropic.d.ts.map +1 -0
- package/dist/agentfs/adapters/anthropic.js +629 -0
- package/dist/agentfs/adapters/anthropic.js.map +1 -0
- package/dist/agentfs/adapters/index.d.ts +21 -0
- package/dist/agentfs/adapters/index.d.ts.map +1 -0
- package/dist/agentfs/adapters/index.js +23 -0
- package/dist/agentfs/adapters/index.js.map +1 -0
- package/dist/agentfs/adapters/vercel.d.ts +260 -0
- package/dist/agentfs/adapters/vercel.d.ts.map +1 -0
- package/dist/agentfs/adapters/vercel.js +288 -0
- package/dist/agentfs/adapters/vercel.js.map +1 -0
- package/dist/agentfs/glob.d.ts +116 -0
- package/dist/agentfs/glob.d.ts.map +1 -0
- package/dist/agentfs/glob.js +270 -0
- package/dist/agentfs/glob.js.map +1 -0
- package/dist/agentfs/grep.d.ts +83 -0
- package/dist/agentfs/grep.d.ts.map +1 -0
- package/dist/agentfs/grep.js +193 -0
- package/dist/agentfs/grep.js.map +1 -0
- package/dist/agentfs/index.d.ts +22 -0
- package/dist/agentfs/index.d.ts.map +1 -0
- package/dist/agentfs/index.js +18 -0
- package/dist/agentfs/index.js.map +1 -0
- package/dist/agentfs/kv-store.d.ts +128 -0
- package/dist/agentfs/kv-store.d.ts.map +1 -0
- package/dist/agentfs/kv-store.js +227 -0
- package/dist/agentfs/kv-store.js.map +1 -0
- package/dist/agentfs/mondo-agent.d.ts +255 -0
- package/dist/agentfs/mondo-agent.d.ts.map +1 -0
- package/dist/agentfs/mondo-agent.js +879 -0
- package/dist/agentfs/mondo-agent.js.map +1 -0
- package/dist/agentfs/toolcalls.d.ts +130 -0
- package/dist/agentfs/toolcalls.d.ts.map +1 -0
- package/dist/agentfs/toolcalls.js +178 -0
- package/dist/agentfs/toolcalls.js.map +1 -0
- package/dist/agentfs/types.d.ts +171 -0
- package/dist/agentfs/types.d.ts.map +1 -0
- package/dist/agentfs/types.js +7 -0
- package/dist/agentfs/types.js.map +1 -0
- package/dist/agentfs/vfs.d.ts +249 -0
- package/dist/agentfs/vfs.d.ts.map +1 -0
- package/dist/agentfs/vfs.js +469 -0
- package/dist/agentfs/vfs.js.map +1 -0
- package/dist/cli/index.d.ts +15 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +219 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/mcp.d.ts +119 -0
- package/dist/cli/mcp.d.ts.map +1 -0
- package/dist/cli/mcp.js +418 -0
- package/dist/cli/mcp.js.map +1 -0
- package/dist/cli/server.d.ts +179 -0
- package/dist/cli/server.d.ts.map +1 -0
- package/dist/cli/server.js +441 -0
- package/dist/cli/server.js.map +1 -0
- package/dist/client/Collection.d.ts +199 -0
- package/dist/client/Collection.d.ts.map +1 -0
- package/dist/client/Collection.js +256 -0
- package/dist/client/Collection.js.map +1 -0
- package/dist/client/Database.d.ts +68 -0
- package/dist/client/Database.d.ts.map +1 -0
- package/dist/client/Database.js +105 -0
- package/dist/client/Database.js.map +1 -0
- package/dist/client/MongoClient.d.ts +165 -0
- package/dist/client/MongoClient.d.ts.map +1 -0
- package/dist/client/MongoClient.js +307 -0
- package/dist/client/MongoClient.js.map +1 -0
- package/dist/client/aggregation-cursor.d.ts +210 -0
- package/dist/client/aggregation-cursor.d.ts.map +1 -0
- package/dist/client/aggregation-cursor.js +509 -0
- package/dist/client/aggregation-cursor.js.map +1 -0
- package/dist/client/bulk-write.d.ts +216 -0
- package/dist/client/bulk-write.d.ts.map +1 -0
- package/dist/client/bulk-write.js +63 -0
- package/dist/client/bulk-write.js.map +1 -0
- package/dist/client/change-stream.d.ts +245 -0
- package/dist/client/change-stream.d.ts.map +1 -0
- package/dist/client/change-stream.js +429 -0
- package/dist/client/change-stream.js.map +1 -0
- package/dist/client/cursor.d.ts +85 -0
- package/dist/client/cursor.d.ts.map +1 -0
- package/dist/client/cursor.js +156 -0
- package/dist/client/cursor.js.map +1 -0
- package/dist/client/http-cursor.d.ts +233 -0
- package/dist/client/http-cursor.d.ts.map +1 -0
- package/dist/client/http-cursor.js +496 -0
- package/dist/client/http-cursor.js.map +1 -0
- package/dist/client/index.d.ts +18 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +24 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/mongo-client.d.ts +60 -0
- package/dist/client/mongo-client.d.ts.map +1 -0
- package/dist/client/mongo-client.js +190 -0
- package/dist/client/mongo-client.js.map +1 -0
- package/dist/client/mongo-collection.d.ts +359 -0
- package/dist/client/mongo-collection.d.ts.map +1 -0
- package/dist/client/mongo-collection.js +1641 -0
- package/dist/client/mongo-collection.js.map +1 -0
- package/dist/client/mongo-cursor.d.ts +257 -0
- package/dist/client/mongo-cursor.d.ts.map +1 -0
- package/dist/client/mongo-cursor.js +621 -0
- package/dist/client/mongo-cursor.js.map +1 -0
- package/dist/client/mongo-database.d.ts +88 -0
- package/dist/client/mongo-database.d.ts.map +1 -0
- package/dist/client/mongo-database.js +139 -0
- package/dist/client/mongo-database.js.map +1 -0
- package/dist/client/session.d.ts +210 -0
- package/dist/client/session.d.ts.map +1 -0
- package/dist/client/session.js +326 -0
- package/dist/client/session.js.map +1 -0
- package/dist/durable-object/index-manager.d.ts +173 -0
- package/dist/durable-object/index-manager.d.ts.map +1 -0
- package/dist/durable-object/index-manager.js +764 -0
- package/dist/durable-object/index-manager.js.map +1 -0
- package/dist/durable-object/index.d.ts +12 -0
- package/dist/durable-object/index.d.ts.map +1 -0
- package/dist/durable-object/index.js +8 -0
- package/dist/durable-object/index.js.map +1 -0
- package/dist/durable-object/mcp-handler.d.ts +52 -0
- package/dist/durable-object/mcp-handler.d.ts.map +1 -0
- package/dist/durable-object/mcp-handler.js +186 -0
- package/dist/durable-object/mcp-handler.js.map +1 -0
- package/dist/durable-object/migrations.d.ts +40 -0
- package/dist/durable-object/migrations.d.ts.map +1 -0
- package/dist/durable-object/migrations.js +121 -0
- package/dist/durable-object/migrations.js.map +1 -0
- package/dist/durable-object/mondo-database.d.ts +148 -0
- package/dist/durable-object/mondo-database.d.ts.map +1 -0
- package/dist/durable-object/mondo-database.js +621 -0
- package/dist/durable-object/mondo-database.js.map +1 -0
- package/dist/durable-object/schema.d.ts +192 -0
- package/dist/durable-object/schema.d.ts.map +1 -0
- package/dist/durable-object/schema.js +186 -0
- package/dist/durable-object/schema.js.map +1 -0
- package/dist/embedding/document-serializer.d.ts +118 -0
- package/dist/embedding/document-serializer.d.ts.map +1 -0
- package/dist/embedding/document-serializer.js +339 -0
- package/dist/embedding/document-serializer.js.map +1 -0
- package/dist/embedding/embedding-manager.d.ts +136 -0
- package/dist/embedding/embedding-manager.d.ts.map +1 -0
- package/dist/embedding/embedding-manager.js +176 -0
- package/dist/embedding/embedding-manager.js.map +1 -0
- package/dist/embedding/index.d.ts +9 -0
- package/dist/embedding/index.d.ts.map +1 -0
- package/dist/embedding/index.js +9 -0
- package/dist/embedding/index.js.map +1 -0
- package/dist/executor/aggregation-executor.d.ts +93 -0
- package/dist/executor/aggregation-executor.d.ts.map +1 -0
- package/dist/executor/aggregation-executor.js +275 -0
- package/dist/executor/aggregation-executor.js.map +1 -0
- package/dist/executor/function-executor.d.ts +39 -0
- package/dist/executor/function-executor.d.ts.map +1 -0
- package/dist/executor/function-executor.js +168 -0
- package/dist/executor/function-executor.js.map +1 -0
- package/dist/executor/index.d.ts +4 -0
- package/dist/executor/index.d.ts.map +1 -0
- package/dist/executor/index.js +4 -0
- package/dist/executor/index.js.map +1 -0
- package/dist/executor/vector-search-executor.d.ts +71 -0
- package/dist/executor/vector-search-executor.d.ts.map +1 -0
- package/dist/executor/vector-search-executor.js +113 -0
- package/dist/executor/vector-search-executor.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/adapters/anthropic-adapter.d.ts +256 -0
- package/dist/mcp/adapters/anthropic-adapter.d.ts.map +1 -0
- package/dist/mcp/adapters/anthropic-adapter.js +409 -0
- package/dist/mcp/adapters/anthropic-adapter.js.map +1 -0
- package/dist/mcp/adapters/base-adapter.d.ts +164 -0
- package/dist/mcp/adapters/base-adapter.d.ts.map +1 -0
- package/dist/mcp/adapters/base-adapter.js +277 -0
- package/dist/mcp/adapters/base-adapter.js.map +1 -0
- package/dist/mcp/adapters/errors.d.ts +173 -0
- package/dist/mcp/adapters/errors.d.ts.map +1 -0
- package/dist/mcp/adapters/errors.js +305 -0
- package/dist/mcp/adapters/errors.js.map +1 -0
- package/dist/mcp/adapters/index.d.ts +65 -0
- package/dist/mcp/adapters/index.d.ts.map +1 -0
- package/dist/mcp/adapters/index.js +92 -0
- package/dist/mcp/adapters/index.js.map +1 -0
- package/dist/mcp/adapters/streaming.d.ts +200 -0
- package/dist/mcp/adapters/streaming.d.ts.map +1 -0
- package/dist/mcp/adapters/streaming.js +381 -0
- package/dist/mcp/adapters/streaming.js.map +1 -0
- package/dist/mcp/adapters/vercel-adapter.d.ts +321 -0
- package/dist/mcp/adapters/vercel-adapter.d.ts.map +1 -0
- package/dist/mcp/adapters/vercel-adapter.js +487 -0
- package/dist/mcp/adapters/vercel-adapter.js.map +1 -0
- package/dist/mcp/agent.d.ts +192 -0
- package/dist/mcp/agent.d.ts.map +1 -0
- package/dist/mcp/agent.js +338 -0
- package/dist/mcp/agent.js.map +1 -0
- package/dist/mcp/cli.d.ts +71 -0
- package/dist/mcp/cli.d.ts.map +1 -0
- package/dist/mcp/cli.js +218 -0
- package/dist/mcp/cli.js.map +1 -0
- package/dist/mcp/index.d.ts +15 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +20 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/sandbox/database-proxy.d.ts +118 -0
- package/dist/mcp/sandbox/database-proxy.d.ts.map +1 -0
- package/dist/mcp/sandbox/database-proxy.js +154 -0
- package/dist/mcp/sandbox/database-proxy.js.map +1 -0
- package/dist/mcp/sandbox/index.d.ts +8 -0
- package/dist/mcp/sandbox/index.d.ts.map +1 -0
- package/dist/mcp/sandbox/index.js +7 -0
- package/dist/mcp/sandbox/index.js.map +1 -0
- package/dist/mcp/sandbox/miniflare-evaluator.d.ts +72 -0
- package/dist/mcp/sandbox/miniflare-evaluator.d.ts.map +1 -0
- package/dist/mcp/sandbox/miniflare-evaluator.js +379 -0
- package/dist/mcp/sandbox/miniflare-evaluator.js.map +1 -0
- package/dist/mcp/sandbox/template.d.ts +48 -0
- package/dist/mcp/sandbox/template.d.ts.map +1 -0
- package/dist/mcp/sandbox/template.js +147 -0
- package/dist/mcp/sandbox/template.js.map +1 -0
- package/dist/mcp/sandbox/worker-evaluator.d.ts +160 -0
- package/dist/mcp/sandbox/worker-evaluator.d.ts.map +1 -0
- package/dist/mcp/sandbox/worker-evaluator.js +217 -0
- package/dist/mcp/sandbox/worker-evaluator.js.map +1 -0
- package/dist/mcp/server.d.ts +75 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +278 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tool-call-auditor.d.ts +188 -0
- package/dist/mcp/tool-call-auditor.d.ts.map +1 -0
- package/dist/mcp/tool-call-auditor.js +198 -0
- package/dist/mcp/tool-call-auditor.js.map +1 -0
- package/dist/mcp/tools/do.d.ts +51 -0
- package/dist/mcp/tools/do.d.ts.map +1 -0
- package/dist/mcp/tools/do.js +113 -0
- package/dist/mcp/tools/do.js.map +1 -0
- package/dist/mcp/tools/fetch.d.ts +43 -0
- package/dist/mcp/tools/fetch.d.ts.map +1 -0
- package/dist/mcp/tools/fetch.js +127 -0
- package/dist/mcp/tools/fetch.js.map +1 -0
- package/dist/mcp/tools/index.d.ts +9 -0
- package/dist/mcp/tools/index.d.ts.map +1 -0
- package/dist/mcp/tools/index.js +9 -0
- package/dist/mcp/tools/index.js.map +1 -0
- package/dist/mcp/tools/search.d.ts +60 -0
- package/dist/mcp/tools/search.d.ts.map +1 -0
- package/dist/mcp/tools/search.js +278 -0
- package/dist/mcp/tools/search.js.map +1 -0
- package/dist/mcp/transport/http.d.ts +144 -0
- package/dist/mcp/transport/http.d.ts.map +1 -0
- package/dist/mcp/transport/http.js +545 -0
- package/dist/mcp/transport/http.js.map +1 -0
- package/dist/mcp/transport/index.d.ts +10 -0
- package/dist/mcp/transport/index.d.ts.map +1 -0
- package/dist/mcp/transport/index.js +12 -0
- package/dist/mcp/transport/index.js.map +1 -0
- package/dist/mcp/transport/stdio.d.ts +132 -0
- package/dist/mcp/transport/stdio.d.ts.map +1 -0
- package/dist/mcp/transport/stdio.js +466 -0
- package/dist/mcp/transport/stdio.js.map +1 -0
- package/dist/mcp/types.d.ts +476 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +178 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/olap/cdc/cdc-buffer.d.ts +92 -0
- package/dist/olap/cdc/cdc-buffer.d.ts.map +1 -0
- package/dist/olap/cdc/cdc-buffer.js +146 -0
- package/dist/olap/cdc/cdc-buffer.js.map +1 -0
- package/dist/olap/cdc/cdc-emitter.d.ts +118 -0
- package/dist/olap/cdc/cdc-emitter.d.ts.map +1 -0
- package/dist/olap/cdc/cdc-emitter.js +217 -0
- package/dist/olap/cdc/cdc-emitter.js.map +1 -0
- package/dist/olap/cdc/cdc-schema.d.ts +119 -0
- package/dist/olap/cdc/cdc-schema.d.ts.map +1 -0
- package/dist/olap/cdc/cdc-schema.js +253 -0
- package/dist/olap/cdc/cdc-schema.js.map +1 -0
- package/dist/olap/cdc/index.d.ts +10 -0
- package/dist/olap/cdc/index.d.ts.map +1 -0
- package/dist/olap/cdc/index.js +10 -0
- package/dist/olap/cdc/index.js.map +1 -0
- package/dist/olap/clickhouse/iceberg.d.ts +164 -0
- package/dist/olap/clickhouse/iceberg.d.ts.map +1 -0
- package/dist/olap/clickhouse/iceberg.js +138 -0
- package/dist/olap/clickhouse/iceberg.js.map +1 -0
- package/dist/olap/clickhouse/index.d.ts +14 -0
- package/dist/olap/clickhouse/index.d.ts.map +1 -0
- package/dist/olap/clickhouse/index.js +14 -0
- package/dist/olap/clickhouse/index.js.map +1 -0
- package/dist/olap/clickhouse/mapper.d.ts +170 -0
- package/dist/olap/clickhouse/mapper.d.ts.map +1 -0
- package/dist/olap/clickhouse/mapper.js +654 -0
- package/dist/olap/clickhouse/mapper.js.map +1 -0
- package/dist/olap/clickhouse/olap-backend.d.ts +181 -0
- package/dist/olap/clickhouse/olap-backend.d.ts.map +1 -0
- package/dist/olap/clickhouse/olap-backend.js +1083 -0
- package/dist/olap/clickhouse/olap-backend.js.map +1 -0
- package/dist/olap/clickhouse/query-executor.d.ts +163 -0
- package/dist/olap/clickhouse/query-executor.d.ts.map +1 -0
- package/dist/olap/clickhouse/query-executor.js +560 -0
- package/dist/olap/clickhouse/query-executor.js.map +1 -0
- package/dist/olap/clickhouse/query.d.ts +134 -0
- package/dist/olap/clickhouse/query.d.ts.map +1 -0
- package/dist/olap/clickhouse/query.js +512 -0
- package/dist/olap/clickhouse/query.js.map +1 -0
- package/dist/olap/stage/index.d.ts +6 -0
- package/dist/olap/stage/index.d.ts.map +1 -0
- package/dist/olap/stage/index.js +6 -0
- package/dist/olap/stage/index.js.map +1 -0
- package/dist/olap/stage/parser.d.ts +68 -0
- package/dist/olap/stage/parser.d.ts.map +1 -0
- package/dist/olap/stage/parser.js +293 -0
- package/dist/olap/stage/parser.js.map +1 -0
- package/dist/olap/stage/router.d.ts +94 -0
- package/dist/olap/stage/router.d.ts.map +1 -0
- package/dist/olap/stage/router.js +390 -0
- package/dist/olap/stage/router.js.map +1 -0
- package/dist/rpc/endpoint.d.ts +52 -0
- package/dist/rpc/endpoint.d.ts.map +1 -0
- package/dist/rpc/endpoint.js +734 -0
- package/dist/rpc/endpoint.js.map +1 -0
- package/dist/rpc/index.d.ts +34 -0
- package/dist/rpc/index.d.ts.map +1 -0
- package/dist/rpc/index.js +45 -0
- package/dist/rpc/index.js.map +1 -0
- package/dist/rpc/rpc-client.d.ts +275 -0
- package/dist/rpc/rpc-client.d.ts.map +1 -0
- package/dist/rpc/rpc-client.js +735 -0
- package/dist/rpc/rpc-client.js.map +1 -0
- package/dist/rpc/rpc-target.d.ts +220 -0
- package/dist/rpc/rpc-target.d.ts.map +1 -0
- package/dist/rpc/rpc-target.js +500 -0
- package/dist/rpc/rpc-target.js.map +1 -0
- package/dist/rpc/worker-entrypoint.d.ts +159 -0
- package/dist/rpc/worker-entrypoint.d.ts.map +1 -0
- package/dist/rpc/worker-entrypoint.js +212 -0
- package/dist/rpc/worker-entrypoint.js.map +1 -0
- package/dist/server.d.ts +18 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +129 -0
- package/dist/server.js.map +1 -0
- package/dist/studio/components/browser/CollectionItem.d.ts +26 -0
- package/dist/studio/components/browser/CollectionItem.d.ts.map +1 -0
- package/dist/studio/components/browser/CollectionItem.js +143 -0
- package/dist/studio/components/browser/CollectionItem.js.map +1 -0
- package/dist/studio/components/browser/CollectionTree.d.ts +45 -0
- package/dist/studio/components/browser/CollectionTree.d.ts.map +1 -0
- package/dist/studio/components/browser/CollectionTree.js +207 -0
- package/dist/studio/components/browser/CollectionTree.js.map +1 -0
- package/dist/studio/components/browser/ConnectedDatabaseBrowser.d.ts +51 -0
- package/dist/studio/components/browser/ConnectedDatabaseBrowser.d.ts.map +1 -0
- package/dist/studio/components/browser/ConnectedDatabaseBrowser.js +185 -0
- package/dist/studio/components/browser/ConnectedDatabaseBrowser.js.map +1 -0
- package/dist/studio/components/browser/DatabaseBrowser.d.ts +46 -0
- package/dist/studio/components/browser/DatabaseBrowser.d.ts.map +1 -0
- package/dist/studio/components/browser/DatabaseBrowser.js +304 -0
- package/dist/studio/components/browser/DatabaseBrowser.js.map +1 -0
- package/dist/studio/components/browser/__tests__/CollectionItem.test.d.ts +5 -0
- package/dist/studio/components/browser/__tests__/CollectionItem.test.d.ts.map +1 -0
- package/dist/studio/components/browser/__tests__/CollectionItem.test.js +169 -0
- package/dist/studio/components/browser/__tests__/CollectionItem.test.js.map +1 -0
- package/dist/studio/components/browser/__tests__/CollectionTree.test.d.ts +5 -0
- package/dist/studio/components/browser/__tests__/CollectionTree.test.d.ts.map +1 -0
- package/dist/studio/components/browser/__tests__/CollectionTree.test.js +203 -0
- package/dist/studio/components/browser/__tests__/CollectionTree.test.js.map +1 -0
- package/dist/studio/components/browser/__tests__/DatabaseBrowser.e2e.test.d.ts +8 -0
- package/dist/studio/components/browser/__tests__/DatabaseBrowser.e2e.test.d.ts.map +1 -0
- package/dist/studio/components/browser/__tests__/DatabaseBrowser.e2e.test.js +522 -0
- package/dist/studio/components/browser/__tests__/DatabaseBrowser.e2e.test.js.map +1 -0
- package/dist/studio/components/browser/__tests__/DatabaseBrowser.test.d.ts +5 -0
- package/dist/studio/components/browser/__tests__/DatabaseBrowser.test.d.ts.map +1 -0
- package/dist/studio/components/browser/__tests__/DatabaseBrowser.test.js +518 -0
- package/dist/studio/components/browser/__tests__/DatabaseBrowser.test.js.map +1 -0
- package/dist/studio/components/browser/__tests__/setup.d.ts +5 -0
- package/dist/studio/components/browser/__tests__/setup.d.ts.map +1 -0
- package/dist/studio/components/browser/__tests__/setup.js +22 -0
- package/dist/studio/components/browser/__tests__/setup.js.map +1 -0
- package/dist/studio/components/browser/index.d.ts +15 -0
- package/dist/studio/components/browser/index.d.ts.map +1 -0
- package/dist/studio/components/browser/index.js +10 -0
- package/dist/studio/components/browser/index.js.map +1 -0
- package/dist/studio/components/browser/types.d.ts +33 -0
- package/dist/studio/components/browser/types.d.ts.map +1 -0
- package/dist/studio/components/browser/types.js +5 -0
- package/dist/studio/components/browser/types.js.map +1 -0
- package/dist/studio/components/connection/ConnectionForm.d.ts +59 -0
- package/dist/studio/components/connection/ConnectionForm.d.ts.map +1 -0
- package/dist/studio/components/connection/ConnectionForm.js +274 -0
- package/dist/studio/components/connection/ConnectionForm.js.map +1 -0
- package/dist/studio/components/connection/ConnectionList.d.ts +59 -0
- package/dist/studio/components/connection/ConnectionList.d.ts.map +1 -0
- package/dist/studio/components/connection/ConnectionList.js +286 -0
- package/dist/studio/components/connection/ConnectionList.js.map +1 -0
- package/dist/studio/components/connection/ConnectionPanel.d.ts +132 -0
- package/dist/studio/components/connection/ConnectionPanel.d.ts.map +1 -0
- package/dist/studio/components/connection/ConnectionPanel.js +293 -0
- package/dist/studio/components/connection/ConnectionPanel.js.map +1 -0
- package/dist/studio/components/connection/__tests__/ConnectionPanel.test.d.ts +8 -0
- package/dist/studio/components/connection/__tests__/ConnectionPanel.test.d.ts.map +1 -0
- package/dist/studio/components/connection/__tests__/ConnectionPanel.test.js +632 -0
- package/dist/studio/components/connection/__tests__/ConnectionPanel.test.js.map +1 -0
- package/dist/studio/components/connection/__tests__/setup.d.ts +5 -0
- package/dist/studio/components/connection/__tests__/setup.d.ts.map +1 -0
- package/dist/studio/components/connection/__tests__/setup.js +11 -0
- package/dist/studio/components/connection/__tests__/setup.js.map +1 -0
- package/dist/studio/components/connection/index.d.ts +10 -0
- package/dist/studio/components/connection/index.d.ts.map +1 -0
- package/dist/studio/components/connection/index.js +7 -0
- package/dist/studio/components/connection/index.js.map +1 -0
- package/dist/studio/components/crud/DeleteDocumentDialog.d.ts +91 -0
- package/dist/studio/components/crud/DeleteDocumentDialog.d.ts.map +1 -0
- package/dist/studio/components/crud/DeleteDocumentDialog.js +273 -0
- package/dist/studio/components/crud/DeleteDocumentDialog.js.map +1 -0
- package/dist/studio/components/crud/DocumentEditor.d.ts +32 -0
- package/dist/studio/components/crud/DocumentEditor.d.ts.map +1 -0
- package/dist/studio/components/crud/DocumentEditor.js +546 -0
- package/dist/studio/components/crud/DocumentEditor.js.map +1 -0
- package/dist/studio/components/crud/InsertDocumentDialog.d.ts +78 -0
- package/dist/studio/components/crud/InsertDocumentDialog.d.ts.map +1 -0
- package/dist/studio/components/crud/InsertDocumentDialog.js +323 -0
- package/dist/studio/components/crud/InsertDocumentDialog.js.map +1 -0
- package/dist/studio/components/crud/__tests__/DeleteDocumentDialog.test.d.ts +5 -0
- package/dist/studio/components/crud/__tests__/DeleteDocumentDialog.test.d.ts.map +1 -0
- package/dist/studio/components/crud/__tests__/DeleteDocumentDialog.test.js +298 -0
- package/dist/studio/components/crud/__tests__/DeleteDocumentDialog.test.js.map +1 -0
- package/dist/studio/components/crud/__tests__/DocumentEditor.test.d.ts +8 -0
- package/dist/studio/components/crud/__tests__/DocumentEditor.test.d.ts.map +1 -0
- package/dist/studio/components/crud/__tests__/DocumentEditor.test.js +368 -0
- package/dist/studio/components/crud/__tests__/DocumentEditor.test.js.map +1 -0
- package/dist/studio/components/crud/__tests__/InsertDocumentDialog.test.d.ts +2 -0
- package/dist/studio/components/crud/__tests__/InsertDocumentDialog.test.d.ts.map +1 -0
- package/dist/studio/components/crud/__tests__/InsertDocumentDialog.test.js +352 -0
- package/dist/studio/components/crud/__tests__/InsertDocumentDialog.test.js.map +1 -0
- package/dist/studio/components/crud/__tests__/setup.d.ts +5 -0
- package/dist/studio/components/crud/__tests__/setup.d.ts.map +1 -0
- package/dist/studio/components/crud/__tests__/setup.js +22 -0
- package/dist/studio/components/crud/__tests__/setup.js.map +1 -0
- package/dist/studio/components/crud/index.d.ts +12 -0
- package/dist/studio/components/crud/index.d.ts.map +1 -0
- package/dist/studio/components/crud/index.js +11 -0
- package/dist/studio/components/crud/index.js.map +1 -0
- package/dist/studio/hooks/useConnection.d.ts +127 -0
- package/dist/studio/hooks/useConnection.d.ts.map +1 -0
- package/dist/studio/hooks/useConnection.js +414 -0
- package/dist/studio/hooks/useConnection.js.map +1 -0
- package/dist/studio/hooks/useDatabaseBrowser.d.ts +107 -0
- package/dist/studio/hooks/useDatabaseBrowser.d.ts.map +1 -0
- package/dist/studio/hooks/useDatabaseBrowser.js +294 -0
- package/dist/studio/hooks/useDatabaseBrowser.js.map +1 -0
- package/dist/studio/index.d.ts +16 -0
- package/dist/studio/index.d.ts.map +1 -0
- package/dist/studio/index.js +14 -0
- package/dist/studio/index.js.map +1 -0
- package/dist/studio/types/connection.d.ts +266 -0
- package/dist/studio/types/connection.d.ts.map +1 -0
- package/dist/studio/types/connection.js +159 -0
- package/dist/studio/types/connection.js.map +1 -0
- package/dist/studio/vitest.config.d.ts +3 -0
- package/dist/studio/vitest.config.d.ts.map +1 -0
- package/dist/studio/vitest.config.js +33 -0
- package/dist/studio/vitest.config.js.map +1 -0
- package/dist/translator/aggregation-translator.d.ts +51 -0
- package/dist/translator/aggregation-translator.d.ts.map +1 -0
- package/dist/translator/aggregation-translator.js +324 -0
- package/dist/translator/aggregation-translator.js.map +1 -0
- package/dist/translator/dialect.d.ts +131 -0
- package/dist/translator/dialect.d.ts.map +1 -0
- package/dist/translator/dialect.js +276 -0
- package/dist/translator/dialect.js.map +1 -0
- package/dist/translator/geo-translator.d.ts +91 -0
- package/dist/translator/geo-translator.d.ts.map +1 -0
- package/dist/translator/geo-translator.js +587 -0
- package/dist/translator/geo-translator.js.map +1 -0
- package/dist/translator/hybrid-translator.d.ts +70 -0
- package/dist/translator/hybrid-translator.d.ts.map +1 -0
- package/dist/translator/hybrid-translator.js +193 -0
- package/dist/translator/hybrid-translator.js.map +1 -0
- package/dist/translator/index.d.ts +13 -0
- package/dist/translator/index.d.ts.map +1 -0
- package/dist/translator/index.js +11 -0
- package/dist/translator/index.js.map +1 -0
- package/dist/translator/query-translator.d.ts +211 -0
- package/dist/translator/query-translator.d.ts.map +1 -0
- package/dist/translator/query-translator.js +1276 -0
- package/dist/translator/query-translator.js.map +1 -0
- package/dist/translator/search-highlight.d.ts +83 -0
- package/dist/translator/search-highlight.d.ts.map +1 -0
- package/dist/translator/search-highlight.js +83 -0
- package/dist/translator/search-highlight.js.map +1 -0
- package/dist/translator/search-translator.d.ts +155 -0
- package/dist/translator/search-translator.d.ts.map +1 -0
- package/dist/translator/search-translator.js +241 -0
- package/dist/translator/search-translator.js.map +1 -0
- package/dist/translator/stages/add-fields-stage.d.ts +7 -0
- package/dist/translator/stages/add-fields-stage.d.ts.map +1 -0
- package/dist/translator/stages/add-fields-stage.js +72 -0
- package/dist/translator/stages/add-fields-stage.js.map +1 -0
- package/dist/translator/stages/bucket-stage.d.ts +7 -0
- package/dist/translator/stages/bucket-stage.d.ts.map +1 -0
- package/dist/translator/stages/bucket-stage.js +87 -0
- package/dist/translator/stages/bucket-stage.js.map +1 -0
- package/dist/translator/stages/count-stage.d.ts +7 -0
- package/dist/translator/stages/count-stage.d.ts.map +1 -0
- package/dist/translator/stages/count-stage.js +12 -0
- package/dist/translator/stages/count-stage.js.map +1 -0
- package/dist/translator/stages/expression-translator.d.ts +68 -0
- package/dist/translator/stages/expression-translator.d.ts.map +1 -0
- package/dist/translator/stages/expression-translator.js +467 -0
- package/dist/translator/stages/expression-translator.js.map +1 -0
- package/dist/translator/stages/facet-stage.d.ts +13 -0
- package/dist/translator/stages/facet-stage.d.ts.map +1 -0
- package/dist/translator/stages/facet-stage.js +26 -0
- package/dist/translator/stages/facet-stage.js.map +1 -0
- package/dist/translator/stages/fusion-stages.d.ts +118 -0
- package/dist/translator/stages/fusion-stages.d.ts.map +1 -0
- package/dist/translator/stages/fusion-stages.js +201 -0
- package/dist/translator/stages/fusion-stages.js.map +1 -0
- package/dist/translator/stages/group-stage.d.ts +8 -0
- package/dist/translator/stages/group-stage.d.ts.map +1 -0
- package/dist/translator/stages/group-stage.js +123 -0
- package/dist/translator/stages/group-stage.js.map +1 -0
- package/dist/translator/stages/index.d.ts +24 -0
- package/dist/translator/stages/index.d.ts.map +1 -0
- package/dist/translator/stages/index.js +24 -0
- package/dist/translator/stages/index.js.map +1 -0
- package/dist/translator/stages/join-optimizer.d.ts +37 -0
- package/dist/translator/stages/join-optimizer.d.ts.map +1 -0
- package/dist/translator/stages/join-optimizer.js +93 -0
- package/dist/translator/stages/join-optimizer.js.map +1 -0
- package/dist/translator/stages/limit-stage.d.ts +7 -0
- package/dist/translator/stages/limit-stage.d.ts.map +1 -0
- package/dist/translator/stages/limit-stage.js +11 -0
- package/dist/translator/stages/limit-stage.js.map +1 -0
- package/dist/translator/stages/lookup-stage.d.ts +7 -0
- package/dist/translator/stages/lookup-stage.d.ts.map +1 -0
- package/dist/translator/stages/lookup-stage.js +73 -0
- package/dist/translator/stages/lookup-stage.js.map +1 -0
- package/dist/translator/stages/match-stage.d.ts +7 -0
- package/dist/translator/stages/match-stage.d.ts.map +1 -0
- package/dist/translator/stages/match-stage.js +14 -0
- package/dist/translator/stages/match-stage.js.map +1 -0
- package/dist/translator/stages/optimizer.d.ts +15 -0
- package/dist/translator/stages/optimizer.d.ts.map +1 -0
- package/dist/translator/stages/optimizer.js +249 -0
- package/dist/translator/stages/optimizer.js.map +1 -0
- package/dist/translator/stages/parallel-facet.d.ts +47 -0
- package/dist/translator/stages/parallel-facet.d.ts.map +1 -0
- package/dist/translator/stages/parallel-facet.js +57 -0
- package/dist/translator/stages/parallel-facet.js.map +1 -0
- package/dist/translator/stages/project-stage.d.ts +8 -0
- package/dist/translator/stages/project-stage.d.ts.map +1 -0
- package/dist/translator/stages/project-stage.js +145 -0
- package/dist/translator/stages/project-stage.js.map +1 -0
- package/dist/translator/stages/search-stage.d.ts +60 -0
- package/dist/translator/stages/search-stage.d.ts.map +1 -0
- package/dist/translator/stages/search-stage.js +89 -0
- package/dist/translator/stages/search-stage.js.map +1 -0
- package/dist/translator/stages/skip-stage.d.ts +7 -0
- package/dist/translator/stages/skip-stage.d.ts.map +1 -0
- package/dist/translator/stages/skip-stage.js +11 -0
- package/dist/translator/stages/skip-stage.js.map +1 -0
- package/dist/translator/stages/sort-stage.d.ts +7 -0
- package/dist/translator/stages/sort-stage.d.ts.map +1 -0
- package/dist/translator/stages/sort-stage.js +21 -0
- package/dist/translator/stages/sort-stage.js.map +1 -0
- package/dist/translator/stages/types.d.ts +136 -0
- package/dist/translator/stages/types.d.ts.map +1 -0
- package/dist/translator/stages/types.js +5 -0
- package/dist/translator/stages/types.js.map +1 -0
- package/dist/translator/stages/unwind-stage.d.ts +7 -0
- package/dist/translator/stages/unwind-stage.d.ts.map +1 -0
- package/dist/translator/stages/unwind-stage.js +61 -0
- package/dist/translator/stages/unwind-stage.js.map +1 -0
- package/dist/translator/stages/vector-search-stage.d.ts +53 -0
- package/dist/translator/stages/vector-search-stage.d.ts.map +1 -0
- package/dist/translator/stages/vector-search-stage.js +62 -0
- package/dist/translator/stages/vector-search-stage.js.map +1 -0
- package/dist/translator/update-translator.d.ts +148 -0
- package/dist/translator/update-translator.d.ts.map +1 -0
- package/dist/translator/update-translator.js +819 -0
- package/dist/translator/update-translator.js.map +1 -0
- package/dist/translator/vector-translator.d.ts +89 -0
- package/dist/translator/vector-translator.d.ts.map +1 -0
- package/dist/translator/vector-translator.js +106 -0
- package/dist/translator/vector-translator.js.map +1 -0
- package/dist/types/env.d.ts +31 -0
- package/dist/types/env.d.ts.map +1 -0
- package/dist/types/env.js +5 -0
- package/dist/types/env.js.map +1 -0
- package/dist/types/function.d.ts +65 -0
- package/dist/types/function.d.ts.map +1 -0
- package/dist/types/function.js +5 -0
- package/dist/types/function.js.map +1 -0
- package/dist/types/index.d.ts +137 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +13 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/mongodb.d.ts +258 -0
- package/dist/types/mongodb.d.ts.map +1 -0
- package/dist/types/mongodb.js +5 -0
- package/dist/types/mongodb.js.map +1 -0
- package/dist/types/objectid.d.ts +130 -0
- package/dist/types/objectid.d.ts.map +1 -0
- package/dist/types/objectid.js +314 -0
- package/dist/types/objectid.js.map +1 -0
- package/dist/types/rpc.d.ts +313 -0
- package/dist/types/rpc.d.ts.map +1 -0
- package/dist/types/rpc.js +136 -0
- package/dist/types/rpc.js.map +1 -0
- package/dist/types/vectorize.d.ts +136 -0
- package/dist/types/vectorize.d.ts.map +1 -0
- package/dist/types/vectorize.js +8 -0
- package/dist/types/vectorize.js.map +1 -0
- package/dist/utils/sql-safety.d.ts +64 -0
- package/dist/utils/sql-safety.d.ts.map +1 -0
- package/dist/utils/sql-safety.js +112 -0
- package/dist/utils/sql-safety.js.map +1 -0
- package/dist/validation/document-validator.d.ts +195 -0
- package/dist/validation/document-validator.d.ts.map +1 -0
- package/dist/validation/document-validator.js +529 -0
- package/dist/validation/document-validator.js.map +1 -0
- package/dist/vectorize/document-serializer.d.ts +119 -0
- package/dist/vectorize/document-serializer.d.ts.map +1 -0
- package/dist/vectorize/document-serializer.js +320 -0
- package/dist/vectorize/document-serializer.js.map +1 -0
- package/dist/wire/auth/index.d.ts +5 -0
- package/dist/wire/auth/index.d.ts.map +1 -0
- package/dist/wire/auth/index.js +5 -0
- package/dist/wire/auth/index.js.map +1 -0
- package/dist/wire/auth/scram.d.ts +160 -0
- package/dist/wire/auth/scram.d.ts.map +1 -0
- package/dist/wire/auth/scram.js +425 -0
- package/dist/wire/auth/scram.js.map +1 -0
- package/dist/wire/backend/interface.d.ts +168 -0
- package/dist/wire/backend/interface.d.ts.map +1 -0
- package/dist/wire/backend/interface.js +10 -0
- package/dist/wire/backend/interface.js.map +1 -0
- package/dist/wire/backend/local-sqlite.d.ts +89 -0
- package/dist/wire/backend/local-sqlite.d.ts.map +1 -0
- package/dist/wire/backend/local-sqlite.js +1002 -0
- package/dist/wire/backend/local-sqlite.js.map +1 -0
- package/dist/wire/backend/query-router.d.ts +197 -0
- package/dist/wire/backend/query-router.d.ts.map +1 -0
- package/dist/wire/backend/query-router.js +590 -0
- package/dist/wire/backend/query-router.js.map +1 -0
- package/dist/wire/backend/validation.d.ts +26 -0
- package/dist/wire/backend/validation.d.ts.map +1 -0
- package/dist/wire/backend/validation.js +79 -0
- package/dist/wire/backend/validation.js.map +1 -0
- package/dist/wire/backend/workers-proxy.d.ts +95 -0
- package/dist/wire/backend/workers-proxy.d.ts.map +1 -0
- package/dist/wire/backend/workers-proxy.js +429 -0
- package/dist/wire/backend/workers-proxy.js.map +1 -0
- package/dist/wire/commands/admin.d.ts +49 -0
- package/dist/wire/commands/admin.d.ts.map +1 -0
- package/dist/wire/commands/admin.js +272 -0
- package/dist/wire/commands/admin.js.map +1 -0
- package/dist/wire/commands/aggregate.d.ts +15 -0
- package/dist/wire/commands/aggregate.d.ts.map +1 -0
- package/dist/wire/commands/aggregate.js +98 -0
- package/dist/wire/commands/aggregate.js.map +1 -0
- package/dist/wire/commands/auth.d.ts +58 -0
- package/dist/wire/commands/auth.d.ts.map +1 -0
- package/dist/wire/commands/auth.js +158 -0
- package/dist/wire/commands/auth.js.map +1 -0
- package/dist/wire/commands/crud.d.ts +49 -0
- package/dist/wire/commands/crud.d.ts.map +1 -0
- package/dist/wire/commands/crud.js +336 -0
- package/dist/wire/commands/crud.js.map +1 -0
- package/dist/wire/commands/hello.d.ts +35 -0
- package/dist/wire/commands/hello.d.ts.map +1 -0
- package/dist/wire/commands/hello.js +204 -0
- package/dist/wire/commands/hello.js.map +1 -0
- package/dist/wire/commands/index.d.ts +24 -0
- package/dist/wire/commands/index.d.ts.map +1 -0
- package/dist/wire/commands/index.js +145 -0
- package/dist/wire/commands/index.js.map +1 -0
- package/dist/wire/commands/router.d.ts +46 -0
- package/dist/wire/commands/router.d.ts.map +1 -0
- package/dist/wire/commands/router.js +151 -0
- package/dist/wire/commands/router.js.map +1 -0
- package/dist/wire/commands/types.d.ts +51 -0
- package/dist/wire/commands/types.d.ts.map +1 -0
- package/dist/wire/commands/types.js +15 -0
- package/dist/wire/commands/types.js.map +1 -0
- package/dist/wire/index.d.ts +15 -0
- package/dist/wire/index.d.ts.map +1 -0
- package/dist/wire/index.js +19 -0
- package/dist/wire/index.js.map +1 -0
- package/dist/wire/message.d.ts +49 -0
- package/dist/wire/message.d.ts.map +1 -0
- package/dist/wire/message.js +299 -0
- package/dist/wire/message.js.map +1 -0
- package/dist/wire/server.d.ts +145 -0
- package/dist/wire/server.d.ts.map +1 -0
- package/dist/wire/server.js +284 -0
- package/dist/wire/server.js.map +1 -0
- package/dist/wire/types.d.ts +140 -0
- package/dist/wire/types.d.ts.map +1 -0
- package/dist/wire/types.js +64 -0
- package/dist/wire/types.js.map +1 -0
- package/dist/worker.d.ts +17 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +22 -0
- package/dist/worker.js.map +1 -0
- package/package.json +82 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Nathan Clevenger
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,454 @@
|
|
|
1
|
+
# MondoDB
|
|
2
|
+
|
|
3
|
+
**MongoDB on the Edge** — A MongoDB-compatible database that runs entirely on Cloudflare Workers, with native AI agent support, vector search, and real-time analytics.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/mongo.do)
|
|
6
|
+
[](LICENSE)
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Why MondoDB?
|
|
11
|
+
|
|
12
|
+
Traditional databases require infrastructure management, connection pooling, and careful scaling. MondoDB eliminates all of that by running directly on Cloudflare's edge network:
|
|
13
|
+
|
|
14
|
+
- **Zero Infrastructure** — No servers to manage, no connection limits, no cold starts
|
|
15
|
+
- **Global by Default** — Data lives at the edge, close to your users
|
|
16
|
+
- **MongoDB Compatible** — Drop-in replacement for most MongoDB operations
|
|
17
|
+
- **AI-Native** — Built-in support for AI agents, vector search, and LLM tool calling
|
|
18
|
+
- **Serverless Economics** — Pay only for what you use, scale to zero
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
import { MongoClient } from 'mongo.do'
|
|
22
|
+
|
|
23
|
+
const client = new MongoClient('https://your-worker.workers.dev')
|
|
24
|
+
const db = client.db('myapp')
|
|
25
|
+
const users = db.collection('users')
|
|
26
|
+
|
|
27
|
+
// It's just MongoDB
|
|
28
|
+
await users.insertOne({ name: 'Alice', email: 'alice@example.com' })
|
|
29
|
+
const user = await users.findOne({ email: 'alice@example.com' })
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Features
|
|
35
|
+
|
|
36
|
+
### Core Database
|
|
37
|
+
|
|
38
|
+
| Feature | Description |
|
|
39
|
+
|---------|-------------|
|
|
40
|
+
| **CRUD Operations** | `insertOne`, `insertMany`, `find`, `findOne`, `updateOne`, `updateMany`, `deleteOne`, `deleteMany`, `replaceOne`, `bulkWrite` |
|
|
41
|
+
| **Aggregation Pipeline** | 20+ stages including `$match`, `$group`, `$lookup`, `$unwind`, `$facet`, `$bucket`, `$graphLookup` |
|
|
42
|
+
| **Indexing** | Single-field, compound, text, geospatial (2dsphere), TTL, and unique indexes |
|
|
43
|
+
| **Transactions** | Multi-document ACID transactions with `startSession()` and `withTransaction()` |
|
|
44
|
+
| **Change Streams** | Real-time notifications via `collection.watch()` |
|
|
45
|
+
|
|
46
|
+
### AI & Agents
|
|
47
|
+
|
|
48
|
+
| Feature | Description |
|
|
49
|
+
|---------|-------------|
|
|
50
|
+
| **Vector Search** | Semantic similarity search powered by Cloudflare Vectorize with automatic embeddings |
|
|
51
|
+
| **Full-Text Search** | FTS5-powered `$search` stage with scoring, highlights, and fuzzy matching |
|
|
52
|
+
| **AgentFS** | Virtual filesystem for AI agents with glob, grep, KV store, and immutable audit logs |
|
|
53
|
+
| **MCP Protocol** | Model Context Protocol server with Anthropic and Vercel AI SDK adapters |
|
|
54
|
+
| **$function Operator** | Execute sandboxed JavaScript in aggregation pipelines |
|
|
55
|
+
|
|
56
|
+
### Connectivity
|
|
57
|
+
|
|
58
|
+
| Feature | Description |
|
|
59
|
+
|---------|-------------|
|
|
60
|
+
| **Wire Protocol** | Connect with MongoDB Compass, mongosh, and native drivers via TCP |
|
|
61
|
+
| **HTTP/RPC** | JSON-RPC over HTTP with batching and request deduplication |
|
|
62
|
+
| **WebSocket** | Persistent connections for real-time applications |
|
|
63
|
+
| **Service Bindings** | Zero-latency Worker-to-Worker communication |
|
|
64
|
+
|
|
65
|
+
### Developer Experience
|
|
66
|
+
|
|
67
|
+
| Feature | Description |
|
|
68
|
+
|---------|-------------|
|
|
69
|
+
| **Studio UI** | Web-based database browser with query editor and document management |
|
|
70
|
+
| **CLI Server** | Local development with `npx mongo.do serve --backend sqlite` |
|
|
71
|
+
| **TypeScript** | Full type definitions with generics support |
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Quick Start
|
|
76
|
+
|
|
77
|
+
### Install
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
npm install mongo.do
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Deploy to Cloudflare Workers
|
|
84
|
+
|
|
85
|
+
```typescript
|
|
86
|
+
// src/index.ts
|
|
87
|
+
import { MondoEntrypoint, MondoDatabase } from 'mongo.do'
|
|
88
|
+
|
|
89
|
+
export { MondoDatabase }
|
|
90
|
+
export default MondoEntrypoint
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
```jsonc
|
|
94
|
+
// wrangler.jsonc
|
|
95
|
+
{
|
|
96
|
+
"name": "my-mongo.do",
|
|
97
|
+
"main": "src/index.ts",
|
|
98
|
+
"compatibility_date": "2025-01-01",
|
|
99
|
+
"compatibility_flags": ["nodejs_compat"],
|
|
100
|
+
"durable_objects": {
|
|
101
|
+
"bindings": [{ "name": "MONDO_DATABASE", "class_name": "MondoDatabase" }]
|
|
102
|
+
},
|
|
103
|
+
"migrations": [{ "tag": "v1", "new_sqlite_classes": ["MondoDatabase"] }]
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
npx wrangler deploy
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Local Development
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
# Start a local server with SQLite backend
|
|
115
|
+
npx mongo.do serve --port 27017 --backend sqlite
|
|
116
|
+
|
|
117
|
+
# Connect with mongosh
|
|
118
|
+
mongosh mongodb://localhost:27017/mydb
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Examples
|
|
124
|
+
|
|
125
|
+
### Vector Search (Semantic Similarity)
|
|
126
|
+
|
|
127
|
+
```typescript
|
|
128
|
+
// Create a vector index
|
|
129
|
+
await collection.createIndex({ embedding: 'vector' }, {
|
|
130
|
+
vectorOptions: { dimensions: 1024, metric: 'cosine' }
|
|
131
|
+
})
|
|
132
|
+
|
|
133
|
+
// Search by similarity
|
|
134
|
+
const results = await collection.aggregate([
|
|
135
|
+
{
|
|
136
|
+
$vectorSearch: {
|
|
137
|
+
queryVector: await getEmbedding('machine learning tutorials'),
|
|
138
|
+
path: 'embedding',
|
|
139
|
+
numCandidates: 100,
|
|
140
|
+
limit: 10
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
{ $project: { title: 1, score: { $meta: 'vectorSearchScore' } } }
|
|
144
|
+
]).toArray()
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Full-Text Search
|
|
148
|
+
|
|
149
|
+
```typescript
|
|
150
|
+
// Create a text index
|
|
151
|
+
await collection.createIndex({ title: 'text', content: 'text' })
|
|
152
|
+
|
|
153
|
+
// Search with scoring
|
|
154
|
+
const results = await collection.aggregate([
|
|
155
|
+
{
|
|
156
|
+
$search: {
|
|
157
|
+
text: { query: 'serverless database', path: ['title', 'content'] },
|
|
158
|
+
highlight: { path: 'content' }
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
]).toArray()
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### AI Agent with MCP
|
|
165
|
+
|
|
166
|
+
```typescript
|
|
167
|
+
import { createMcpServer, createAnthropicAdapter } from 'mongo.do/mcp'
|
|
168
|
+
import Anthropic from '@anthropic-ai/sdk'
|
|
169
|
+
|
|
170
|
+
const server = createMcpServer({ dbAccess })
|
|
171
|
+
const adapter = createAnthropicAdapter({ server })
|
|
172
|
+
await adapter.initialize()
|
|
173
|
+
|
|
174
|
+
const client = new Anthropic()
|
|
175
|
+
const response = await client.messages.create({
|
|
176
|
+
model: 'claude-sonnet-4-20250514',
|
|
177
|
+
tools: await adapter.getTools(),
|
|
178
|
+
messages: [{ role: 'user', content: 'Find all orders over $1000' }]
|
|
179
|
+
})
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### AgentFS — Virtual Filesystem for AI
|
|
183
|
+
|
|
184
|
+
```typescript
|
|
185
|
+
import { MonDoAgent } from 'mongo.do/agentfs'
|
|
186
|
+
|
|
187
|
+
const agent = new MonDoAgent(db)
|
|
188
|
+
|
|
189
|
+
// Glob pattern matching
|
|
190
|
+
const files = await agent.glob('src/**/*.ts')
|
|
191
|
+
|
|
192
|
+
// Content search
|
|
193
|
+
const matches = await agent.grep('TODO', { path: 'src/', type: 'ts' })
|
|
194
|
+
|
|
195
|
+
// Key-value store with TTL
|
|
196
|
+
await agent.kv.set('session:123', { user: 'alice' }, { ttl: 3600 })
|
|
197
|
+
|
|
198
|
+
// Immutable audit log
|
|
199
|
+
await agent.auditLog.append({
|
|
200
|
+
action: 'file_read',
|
|
201
|
+
path: '/src/index.ts',
|
|
202
|
+
agent: 'claude'
|
|
203
|
+
})
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Real-Time Change Streams
|
|
207
|
+
|
|
208
|
+
```typescript
|
|
209
|
+
const changeStream = collection.watch([
|
|
210
|
+
{ $match: { operationType: { $in: ['insert', 'update'] } } }
|
|
211
|
+
])
|
|
212
|
+
|
|
213
|
+
for await (const change of changeStream) {
|
|
214
|
+
console.log('Change detected:', change.operationType, change.documentKey)
|
|
215
|
+
await notifySubscribers(change)
|
|
216
|
+
}
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### Transactions
|
|
220
|
+
|
|
221
|
+
```typescript
|
|
222
|
+
const session = client.startSession()
|
|
223
|
+
|
|
224
|
+
await session.withTransaction(async () => {
|
|
225
|
+
await accounts.updateOne({ userId: 'alice' }, { $inc: { balance: -100 } }, { session })
|
|
226
|
+
await accounts.updateOne({ userId: 'bob' }, { $inc: { balance: 100 } }, { session })
|
|
227
|
+
})
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### Geospatial Queries
|
|
231
|
+
|
|
232
|
+
```typescript
|
|
233
|
+
// Create 2dsphere index
|
|
234
|
+
await places.createIndex({ location: '2dsphere' })
|
|
235
|
+
|
|
236
|
+
// Find nearby locations
|
|
237
|
+
const nearby = await places.find({
|
|
238
|
+
location: {
|
|
239
|
+
$near: {
|
|
240
|
+
$geometry: { type: 'Point', coordinates: [-73.97, 40.77] },
|
|
241
|
+
$maxDistance: 5000 // 5km
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}).toArray()
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## Architecture
|
|
250
|
+
|
|
251
|
+
```
|
|
252
|
+
┌─────────────────────────────────────────────────────────────────────────┐
|
|
253
|
+
│ Client Applications │
|
|
254
|
+
├─────────────────┬─────────────────┬─────────────────┬───────────────────┤
|
|
255
|
+
│ MongoDB │ HTTP/RPC │ WebSocket │ Service Binding │
|
|
256
|
+
│ Wire Protocol │ JSON-RPC │ Real-time │ Worker-to-Worker │
|
|
257
|
+
├─────────────────┴─────────────────┴─────────────────┴───────────────────┤
|
|
258
|
+
│ MondoDB Worker (Edge) │
|
|
259
|
+
├─────────────────────────────────────────────────────────────────────────┤
|
|
260
|
+
│ Query Translator │ Aggregation Engine │ MCP Server │ AgentFS │
|
|
261
|
+
├─────────────────────────────────────────────────────────────────────────┤
|
|
262
|
+
│ Durable Objects (SQLite Storage) │
|
|
263
|
+
├──────────────────────────┬──────────────────────────────────────────────┤
|
|
264
|
+
│ Vectorize │ R2 / OLAP (Coming Soon) │
|
|
265
|
+
│ (Vector Embeddings) │ (ClickHouse, Iceberg, Data Catalog) │
|
|
266
|
+
└──────────────────────────┴──────────────────────────────────────────────┘
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
MondoDB translates MongoDB queries to SQLite at runtime:
|
|
270
|
+
|
|
271
|
+
1. **Query Translation** — MongoDB operators → SQLite SQL with full expression support
|
|
272
|
+
2. **Durable Object Storage** — Each database runs as an isolated Durable Object with SQLite
|
|
273
|
+
3. **Edge Execution** — Queries execute at the edge, close to your users
|
|
274
|
+
4. **Optional Integrations** — Vectorize for embeddings, R2 for large objects, ClickHouse for analytics
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## Connectivity Options
|
|
279
|
+
|
|
280
|
+
### Wire Protocol (MongoDB Compatible)
|
|
281
|
+
|
|
282
|
+
Connect using MongoDB Compass, mongosh, or any MongoDB driver:
|
|
283
|
+
|
|
284
|
+
```bash
|
|
285
|
+
# Local development
|
|
286
|
+
npx mongo.do serve --port 27017
|
|
287
|
+
|
|
288
|
+
# Connect with mongosh
|
|
289
|
+
mongosh mongodb://localhost:27017/mydb
|
|
290
|
+
|
|
291
|
+
# Connect with Compass
|
|
292
|
+
# Use connection string: mongodb://localhost:27017
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
### HTTP RPC
|
|
296
|
+
|
|
297
|
+
```typescript
|
|
298
|
+
// Direct HTTP calls
|
|
299
|
+
const response = await fetch('https://your-worker.workers.dev/rpc', {
|
|
300
|
+
method: 'POST',
|
|
301
|
+
body: JSON.stringify({
|
|
302
|
+
method: 'find',
|
|
303
|
+
params: ['mydb', 'users', { active: true }]
|
|
304
|
+
})
|
|
305
|
+
})
|
|
306
|
+
|
|
307
|
+
// Batch requests
|
|
308
|
+
const batch = await fetch('https://your-worker.workers.dev/rpc/batch', {
|
|
309
|
+
method: 'POST',
|
|
310
|
+
body: JSON.stringify([
|
|
311
|
+
{ id: '1', method: 'find', params: ['mydb', 'users', {}] },
|
|
312
|
+
{ id: '2', method: 'count', params: ['mydb', 'orders', {}] }
|
|
313
|
+
])
|
|
314
|
+
})
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
### Service Bindings (Zero Latency)
|
|
318
|
+
|
|
319
|
+
```typescript
|
|
320
|
+
// In your consuming worker
|
|
321
|
+
export default {
|
|
322
|
+
async fetch(request: Request, env: Env) {
|
|
323
|
+
const users = await env.MONDO.find('mydb', 'users', { active: true })
|
|
324
|
+
return Response.json(users)
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
## Configuration
|
|
332
|
+
|
|
333
|
+
### With Vector Search
|
|
334
|
+
|
|
335
|
+
```jsonc
|
|
336
|
+
{
|
|
337
|
+
"vectorize": {
|
|
338
|
+
"bindings": [{ "binding": "VECTORIZE", "index_name": "embeddings" }]
|
|
339
|
+
},
|
|
340
|
+
"ai": { "binding": "AI" },
|
|
341
|
+
"vars": {
|
|
342
|
+
"EMBEDDING_MODEL": "@cf/baai/bge-m3",
|
|
343
|
+
"EMBEDDING_ENABLED": "true"
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
### With $function Operator
|
|
349
|
+
|
|
350
|
+
```jsonc
|
|
351
|
+
{
|
|
352
|
+
"compatibility_flags": ["nodejs_compat", "enable_ctx_exports"],
|
|
353
|
+
"worker_loaders": [{ "binding": "LOADER" }]
|
|
354
|
+
}
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
---
|
|
358
|
+
|
|
359
|
+
## Documentation
|
|
360
|
+
|
|
361
|
+
Comprehensive guides are available at [docs/](docs/):
|
|
362
|
+
|
|
363
|
+
| Guide | Description |
|
|
364
|
+
|-------|-------------|
|
|
365
|
+
| [CRUD Operations](docs/content/docs/guides/crud.mdx) | Insert, find, update, delete operations |
|
|
366
|
+
| [Aggregation](docs/content/docs/guides/aggregation.mdx) | Pipeline stages and expressions |
|
|
367
|
+
| [Vector Search](docs/content/docs/guides/vector-search.mdx) | Semantic similarity with Vectorize |
|
|
368
|
+
| [Full-Text Search](docs/content/docs/guides/full-text-search.mdx) | FTS5-powered text search |
|
|
369
|
+
| [AgentFS](docs/content/docs/guides/agentfs.mdx) | Virtual filesystem for AI agents |
|
|
370
|
+
| [MCP Protocol](docs/content/docs/guides/mcp-protocol.mdx) | Model Context Protocol integration |
|
|
371
|
+
| [Wire Protocol](docs/content/docs/guides/wire-protocol.mdx) | MongoDB-compatible TCP server |
|
|
372
|
+
| [Transactions](docs/content/docs/guides/transactions.mdx) | Multi-document ACID transactions |
|
|
373
|
+
| [Change Streams](docs/content/docs/guides/change-streams.mdx) | Real-time change notifications |
|
|
374
|
+
| [Geospatial](docs/content/docs/guides/geospatial.mdx) | Location-based queries |
|
|
375
|
+
| [Indexing](docs/content/docs/guides/indexing.mdx) | Index types and optimization |
|
|
376
|
+
| [Analytics Layer](docs/content/docs/guides/analytics.mdx) | ClickHouse, Iceberg, CDC streaming |
|
|
377
|
+
| [Studio UI](docs/content/docs/guides/studio.mdx) | Web-based database browser |
|
|
378
|
+
| [CLI Server](docs/content/docs/guides/cli.mdx) | Local development server |
|
|
379
|
+
| [Cloudflare Workers](docs/content/docs/guides/cloudflare-workers.mdx) | Deployment guide |
|
|
380
|
+
|
|
381
|
+
---
|
|
382
|
+
|
|
383
|
+
## Analytics Layer
|
|
384
|
+
|
|
385
|
+
MondoDB includes an integrated analytics layer for OLAP workloads:
|
|
386
|
+
|
|
387
|
+
```typescript
|
|
388
|
+
// Route analytical queries to ClickHouse via $analytics
|
|
389
|
+
const revenue = await orders.aggregate([
|
|
390
|
+
{
|
|
391
|
+
$analytics: {
|
|
392
|
+
pipeline: [
|
|
393
|
+
{ $match: { createdAt: { $gte: lastMonth } } },
|
|
394
|
+
{ $group: { _id: '$category', total: { $sum: '$amount' } } },
|
|
395
|
+
{ $sort: { total: -1 } }
|
|
396
|
+
]
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
]).toArray()
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
| Component | Description |
|
|
403
|
+
|-----------|-------------|
|
|
404
|
+
| **$analytics Stage** | Route queries to ClickHouse for analytical workloads |
|
|
405
|
+
| **CDC Streaming** | Real-time change data capture via Cloudflare Pipelines |
|
|
406
|
+
| **Apache Iceberg** | Open table format with time travel and schema evolution |
|
|
407
|
+
| **R2 Data Catalog** | Schema registry and table metadata on R2 |
|
|
408
|
+
|
|
409
|
+
See the [Analytics Layer Guide](docs/content/docs/guides/analytics.mdx) for details.
|
|
410
|
+
|
|
411
|
+
---
|
|
412
|
+
|
|
413
|
+
## Roadmap
|
|
414
|
+
|
|
415
|
+
### Coming Soon
|
|
416
|
+
|
|
417
|
+
- **Multi-Region** — Cross-region replication with conflict resolution
|
|
418
|
+
- **Sharding** — Horizontal partitioning for very large datasets
|
|
419
|
+
|
|
420
|
+
---
|
|
421
|
+
|
|
422
|
+
## Development
|
|
423
|
+
|
|
424
|
+
```bash
|
|
425
|
+
# Install dependencies
|
|
426
|
+
npm install
|
|
427
|
+
|
|
428
|
+
# Run tests
|
|
429
|
+
npm test
|
|
430
|
+
|
|
431
|
+
# Build
|
|
432
|
+
npm run build
|
|
433
|
+
|
|
434
|
+
# Local development
|
|
435
|
+
npm run dev
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
---
|
|
439
|
+
|
|
440
|
+
## License
|
|
441
|
+
|
|
442
|
+
MIT — see [LICENSE](LICENSE)
|
|
443
|
+
|
|
444
|
+
---
|
|
445
|
+
|
|
446
|
+
## Contributing
|
|
447
|
+
|
|
448
|
+
Contributions welcome! Please open an issue or submit a pull request.
|
|
449
|
+
|
|
450
|
+
---
|
|
451
|
+
|
|
452
|
+
<p align="center">
|
|
453
|
+
<strong>Built for the edge. Designed for AI.</strong>
|
|
454
|
+
</p>
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anthropic MCP Adapter for mongo.do AgentFS
|
|
3
|
+
*
|
|
4
|
+
* Provides MCP tool definitions and handlers for AgentFS operations.
|
|
5
|
+
* Enables Claude and other Anthropic models to use mongo.do tools via MCP.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Full MCP protocol compliance
|
|
9
|
+
* - Proper error handling with MCP error codes
|
|
10
|
+
* - Retry logic with exponential backoff
|
|
11
|
+
* - Timeout handling with configurable limits
|
|
12
|
+
* - Streaming support for large files and search results
|
|
13
|
+
* - Audit logging integration
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import { createMonDoMcpServer } from '@mongo.do/agentfs/adapters/anthropic'
|
|
18
|
+
*
|
|
19
|
+
* const server = createMonDoMcpServer({
|
|
20
|
+
* fs: new AgentFilesystem(db),
|
|
21
|
+
* kv: new AgentKeyValue(db),
|
|
22
|
+
* grep: new AgentGrep(fs),
|
|
23
|
+
* }, {
|
|
24
|
+
* name: 'my-agentfs',
|
|
25
|
+
* version: '1.0.0',
|
|
26
|
+
* enableAudit: true,
|
|
27
|
+
* retry: { maxRetries: 3 },
|
|
28
|
+
* timeout: { requestTimeoutMs: 30000 },
|
|
29
|
+
* })
|
|
30
|
+
*
|
|
31
|
+
* // Handle MCP requests
|
|
32
|
+
* const tools = await server.listTools()
|
|
33
|
+
* const result = await server.callTool('read', { path: '/src/index.ts' })
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
import type { McpToolDefinition, McpToolResponse, McpRegisteredTool } from '../../mcp/types';
|
|
37
|
+
import type { FileSystem, GrepMatch, GrepOptions, KeyValueStore } from '../types';
|
|
38
|
+
import type { ToolCallEntry, AuditQueryOptions, RecordOptions } from '../toolcalls';
|
|
39
|
+
/**
|
|
40
|
+
* Interface for grep functionality
|
|
41
|
+
*/
|
|
42
|
+
export interface GrepProvider {
|
|
43
|
+
grep(pattern: string, options?: Omit<GrepOptions, 'pattern'>): Promise<GrepMatch[]>;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Interface for audit log functionality
|
|
47
|
+
*/
|
|
48
|
+
export interface AuditProvider {
|
|
49
|
+
record(tool: string, inputs: Record<string, unknown>, outputs: Record<string, unknown>, options?: RecordOptions): Promise<string>;
|
|
50
|
+
list(options?: AuditQueryOptions): Promise<ToolCallEntry[]>;
|
|
51
|
+
findById(id: string): Promise<ToolCallEntry | null>;
|
|
52
|
+
findByTool(toolName: string): Promise<ToolCallEntry[]>;
|
|
53
|
+
count(): Promise<number>;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Provider interface for AgentFS components
|
|
57
|
+
*/
|
|
58
|
+
export interface AgentFSProvider {
|
|
59
|
+
/** Virtual filesystem */
|
|
60
|
+
fs: FileSystem;
|
|
61
|
+
/** Key-value store */
|
|
62
|
+
kv: KeyValueStore;
|
|
63
|
+
/** Grep search functionality */
|
|
64
|
+
grep: GrepProvider;
|
|
65
|
+
/** Audit log (optional) */
|
|
66
|
+
audit?: AuditProvider;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Retry configuration for transient failures
|
|
70
|
+
*/
|
|
71
|
+
export interface RetryConfig {
|
|
72
|
+
/** Maximum number of retry attempts (default: 3) */
|
|
73
|
+
maxRetries?: number;
|
|
74
|
+
/** Initial delay between retries in ms (default: 1000) */
|
|
75
|
+
initialDelayMs?: number;
|
|
76
|
+
/** Maximum delay between retries in ms (default: 30000) */
|
|
77
|
+
maxDelayMs?: number;
|
|
78
|
+
/** Exponential backoff multiplier (default: 2) */
|
|
79
|
+
backoffMultiplier?: number;
|
|
80
|
+
/** Add jitter to delay to prevent thundering herd (default: true) */
|
|
81
|
+
jitter?: boolean;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Timeout configuration for operations
|
|
85
|
+
*/
|
|
86
|
+
export interface TimeoutConfig {
|
|
87
|
+
/** Request timeout in ms (default: 30000) */
|
|
88
|
+
requestTimeoutMs?: number;
|
|
89
|
+
/** Streaming idle timeout in ms (default: 60000) */
|
|
90
|
+
idleTimeoutMs?: number;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Streaming configuration
|
|
94
|
+
*/
|
|
95
|
+
export interface StreamingConfig {
|
|
96
|
+
/** Enable streaming for large responses (default: true) */
|
|
97
|
+
enabled?: boolean;
|
|
98
|
+
/** Threshold in bytes to trigger streaming (default: 1MB) */
|
|
99
|
+
thresholdBytes?: number;
|
|
100
|
+
/** Chunk size for streaming (default: 64KB) */
|
|
101
|
+
chunkSize?: number;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Options for creating the adapter
|
|
105
|
+
*/
|
|
106
|
+
export interface AdapterOptions {
|
|
107
|
+
/** Server name (default: 'mongo.do-agentfs') */
|
|
108
|
+
name?: string;
|
|
109
|
+
/** Server version (default: '1.0.0') */
|
|
110
|
+
version?: string;
|
|
111
|
+
/** Enable audit logging (default: false) */
|
|
112
|
+
enableAudit?: boolean;
|
|
113
|
+
/** Retry configuration */
|
|
114
|
+
retry?: RetryConfig;
|
|
115
|
+
/** Timeout configuration */
|
|
116
|
+
timeout?: TimeoutConfig;
|
|
117
|
+
/** Streaming configuration */
|
|
118
|
+
streaming?: StreamingConfig;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* MCP Server interface for the adapter
|
|
122
|
+
*/
|
|
123
|
+
export interface AgentFSMcpServer {
|
|
124
|
+
readonly name: string;
|
|
125
|
+
readonly version: string;
|
|
126
|
+
listTools(): Promise<McpToolDefinition[]>;
|
|
127
|
+
callTool(name: string, args: Record<string, unknown>): Promise<McpToolResponse>;
|
|
128
|
+
/**
|
|
129
|
+
* Call a tool with streaming support for large responses
|
|
130
|
+
* Returns an async iterator of response chunks
|
|
131
|
+
*/
|
|
132
|
+
callToolStreaming?(name: string, args: Record<string, unknown>): AsyncGenerator<McpToolResponse, void, undefined>;
|
|
133
|
+
registerTool(tool: McpRegisteredTool): void;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Anthropic MCP Adapter for AgentFS
|
|
137
|
+
*
|
|
138
|
+
* Creates MCP-compatible tool definitions and handlers for AgentFS operations.
|
|
139
|
+
*
|
|
140
|
+
* Features:
|
|
141
|
+
* - Proper MCP error codes and responses
|
|
142
|
+
* - Retry logic with exponential backoff
|
|
143
|
+
* - Timeout handling
|
|
144
|
+
* - Streaming support for large responses
|
|
145
|
+
* - Audit logging integration
|
|
146
|
+
*/
|
|
147
|
+
export declare class AnthropicMCPAdapter {
|
|
148
|
+
private provider;
|
|
149
|
+
private options;
|
|
150
|
+
constructor(provider: AgentFSProvider, options?: AdapterOptions);
|
|
151
|
+
/**
|
|
152
|
+
* Create an MCP server with all AgentFS tools registered
|
|
153
|
+
*/
|
|
154
|
+
createServer(): AgentFSMcpServer;
|
|
155
|
+
/**
|
|
156
|
+
* Wrap a tool handler with audit logging
|
|
157
|
+
*/
|
|
158
|
+
private wrapWithAudit;
|
|
159
|
+
private createGlobTool;
|
|
160
|
+
private createGrepTool;
|
|
161
|
+
private createReadTool;
|
|
162
|
+
private createWriteTool;
|
|
163
|
+
private createEditTool;
|
|
164
|
+
private createKvGetTool;
|
|
165
|
+
private createKvSetTool;
|
|
166
|
+
private createAuditListTool;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Create an MCP server for AgentFS with all tools registered
|
|
170
|
+
*
|
|
171
|
+
* @param provider - AgentFS provider with fs, kv, grep, and optional audit
|
|
172
|
+
* @param options - Optional server configuration
|
|
173
|
+
* @returns Configured MCP server instance
|
|
174
|
+
*/
|
|
175
|
+
export declare function createMonDoMcpServer(provider: AgentFSProvider, options?: AdapterOptions): AgentFSMcpServer;
|
|
176
|
+
//# sourceMappingURL=anthropic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/agentfs/adapters/anthropic.ts"],"names":[],"mappings":"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"}
|