diff --git a/apps/api/package.json b/apps/api/package.json index d5e41e9b990..24595a756ba 100644 --- a/apps/api/package.json +++ b/apps/api/package.json @@ -13,8 +13,8 @@ "dependencies": { "@anthropic-ai/sdk": "^0.78.0", "@better-auth/oauth-provider": "1.5.6", - "@durable-streams/client": "^0.2.1", - "@electric-sql/client": "1.5.13", + "@durable-streams/client": "^0.2.3", + "@electric-sql/client": "1.5.15", "@linear/sdk": "^68.1.0", "@modelcontextprotocol/sdk": "^1.26.0", "@octokit/app": "^16.1.2", diff --git a/apps/desktop/package.json b/apps/desktop/package.json index a07bf1c8bd5..df1cb7bfff4 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -66,8 +66,8 @@ "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", - "@durable-streams/client": "^0.2.1", - "@electric-sql/client": "1.5.13", + "@durable-streams/client": "^0.2.3", + "@electric-sql/client": "1.5.15", "@headless-tree/core": "^1.6.3", "@headless-tree/react": "^1.6.3", "@hono/node-server": "^1.14.1", @@ -94,9 +94,9 @@ "@superset/workspace-client": "workspace:*", "@superset/workspace-fs": "workspace:*", "@t3-oss/env-core": "^0.13.8", - "@tanstack/db": "0.5.33", - "@tanstack/electric-db-collection": "0.2.41", - "@tanstack/react-db": "0.1.77", + "@tanstack/db": "0.6.5", + "@tanstack/electric-db-collection": "0.3.3", + "@tanstack/react-db": "0.1.83", "@tanstack/react-query": "^5.90.19", "@tanstack/react-router": "^1.147.3", "@tanstack/react-table": "^8.21.3", diff --git a/apps/desktop/src/renderer/routes/_authenticated/_dashboard/pending/$pendingId/page.tsx b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/pending/$pendingId/page.tsx index 660fe0428fe..35aeded6602 100644 --- a/apps/desktop/src/renderer/routes/_authenticated/_dashboard/pending/$pendingId/page.tsx +++ b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/pending/$pendingId/page.tsx @@ -191,7 +191,8 @@ function PendingWorkspacePage() { .select(({ pw }) => ({ ...pw })), [collections, pendingId], ); - const pending = pendingRows?.[0] ?? null; + const pending: PendingWorkspaceRow | null = + (pendingRows?.[0] as PendingWorkspaceRow | undefined) ?? null; const fireIntent = useFireIntent(pendingId, pending); // Wait for the cloud row to appear in the local collection before diff --git a/apps/desktop/src/renderer/routes/_authenticated/_dashboard/tasks/components/TasksView/components/TasksTableView/components/TaskContextMenu/TaskContextMenu.tsx b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/tasks/components/TasksView/components/TasksTableView/components/TaskContextMenu/TaskContextMenu.tsx index 651f9d79135..6f3f02a3b32 100644 --- a/apps/desktop/src/renderer/routes/_authenticated/_dashboard/tasks/components/TasksView/components/TasksTableView/components/TaskContextMenu/TaskContextMenu.tsx +++ b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/tasks/components/TasksView/components/TasksTableView/components/TaskContextMenu/TaskContextMenu.tsx @@ -1,3 +1,4 @@ +import type { SelectTaskStatus } from "@superset/db/schema"; import { ContextMenu, ContextMenuContent, @@ -55,7 +56,7 @@ export function TaskContextMenu({ const users = useMemo(() => allUsers || [], [allUsers]); - const handleStatusChange = (status: (typeof allStatuses)[0]) => { + const handleStatusChange = (status: SelectTaskStatus) => { try { collections.tasks.update(task.id, (draft) => { draft.statusId = status.id; diff --git a/apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspace/$workspaceId/hooks/useConsumePendingLaunch/useConsumePendingLaunch.ts b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspace/$workspaceId/hooks/useConsumePendingLaunch/useConsumePendingLaunch.ts index 4cefc4dcafa..52bde02f996 100644 --- a/apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspace/$workspaceId/hooks/useConsumePendingLaunch/useConsumePendingLaunch.ts +++ b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/v2-workspace/$workspaceId/hooks/useConsumePendingLaunch/useConsumePendingLaunch.ts @@ -47,7 +47,8 @@ export function useConsumePendingLaunch({ [collections, workspaceId], ); - const pending = matches?.[0] ?? null; + const pending: PendingWorkspaceRow | null = + (matches?.[0] as PendingWorkspaceRow | undefined) ?? null; const updateRow = useCallback( (patch: Partial) => { diff --git a/apps/mobile/package.json b/apps/mobile/package.json index 460358ee0d9..3d6444a08c4 100644 --- a/apps/mobile/package.json +++ b/apps/mobile/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@better-auth/expo": "1.5.6", - "@electric-sql/client": "1.5.13", + "@electric-sql/client": "1.5.15", "@expo/ui": "~55.0.0-preview.4", "@expo/vector-icons": "^15.0.3", "@react-native-async-storage/async-storage": "2.2.0", @@ -44,9 +44,9 @@ "@rn-primitives/tooltip": "^1.2.0", "@superset/db": "workspace:*", "@superset/trpc": "workspace:*", - "@tanstack/db": "0.5.33", - "@tanstack/electric-db-collection": "0.2.41", - "@tanstack/react-db": "0.1.77", + "@tanstack/db": "0.6.5", + "@tanstack/electric-db-collection": "0.3.3", + "@tanstack/react-db": "0.1.83", "@tanstack/react-query": "^5.90.19", "@trpc/client": "^11.7.1", "@trpc/react-query": "^11.7.1", diff --git a/bun.lock b/bun.lock index f15f9f40e9b..139c43d30f7 100644 --- a/bun.lock +++ b/bun.lock @@ -61,8 +61,8 @@ "dependencies": { "@anthropic-ai/sdk": "^0.78.0", "@better-auth/oauth-provider": "1.5.6", - "@durable-streams/client": "^0.2.1", - "@electric-sql/client": "1.5.13", + "@durable-streams/client": "^0.2.3", + "@electric-sql/client": "1.5.15", "@linear/sdk": "^68.1.0", "@modelcontextprotocol/sdk": "^1.26.0", "@octokit/app": "^16.1.2", @@ -143,8 +143,8 @@ "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", - "@durable-streams/client": "^0.2.1", - "@electric-sql/client": "1.5.13", + "@durable-streams/client": "^0.2.3", + "@electric-sql/client": "1.5.15", "@headless-tree/core": "^1.6.3", "@headless-tree/react": "^1.6.3", "@hono/node-server": "^1.14.1", @@ -171,9 +171,9 @@ "@superset/workspace-client": "workspace:*", "@superset/workspace-fs": "workspace:*", "@t3-oss/env-core": "^0.13.8", - "@tanstack/db": "0.5.33", - "@tanstack/electric-db-collection": "0.2.41", - "@tanstack/react-db": "0.1.77", + "@tanstack/db": "0.6.5", + "@tanstack/electric-db-collection": "0.3.3", + "@tanstack/react-db": "0.1.83", "@tanstack/react-query": "^5.90.19", "@tanstack/react-router": "^1.147.3", "@tanstack/react-table": "^8.21.3", @@ -473,7 +473,7 @@ "version": "1.0.0", "dependencies": { "@better-auth/expo": "1.5.6", - "@electric-sql/client": "1.5.13", + "@electric-sql/client": "1.5.15", "@expo/ui": "~55.0.0-preview.4", "@expo/vector-icons": "^15.0.3", "@react-native-async-storage/async-storage": "2.2.0", @@ -504,9 +504,9 @@ "@rn-primitives/tooltip": "^1.2.0", "@superset/db": "workspace:*", "@superset/trpc": "workspace:*", - "@tanstack/db": "0.5.33", - "@tanstack/electric-db-collection": "0.2.41", - "@tanstack/react-db": "0.1.77", + "@tanstack/db": "0.6.5", + "@tanstack/electric-db-collection": "0.3.3", + "@tanstack/react-db": "0.1.83", "@tanstack/react-query": "^5.90.19", "@trpc/client": "^11.7.1", "@trpc/react-query": "^11.7.1", @@ -1461,7 +1461,7 @@ "@durable-streams/client": ["@durable-streams/client@0.2.3", "", { "dependencies": { "@microsoft/fetch-event-source": "^2.0.1", "fastq": "^1.19.1" }, "bin": { "intent": "bin/intent.js" } }, "sha512-609hWTqe8/OXzIFnv+oDdlT57QsCAc3F2c/nAQBcYhSLmmbXk5rHx7rnQSmk9MeGGQ8dsg9UCZf47dTJG3q3ig=="], - "@electric-sql/client": ["@electric-sql/client@1.5.13", "", { "dependencies": { "@microsoft/fetch-event-source": "^2.0.1" }, "optionalDependencies": { "@rollup/rollup-darwin-arm64": "^4.18.1" }, "bin": { "intent": "bin/intent.mjs" } }, "sha512-cR5U/mDNUTRrdrZ8Fr3QPFKwTwDUZ2ux88mEvIxQq5PoyW3UrHkK/GIq3arHoeiXrUnieRIz2U+TBOaQKld8XA=="], + "@electric-sql/client": ["@electric-sql/client@1.5.15", "", { "dependencies": { "@microsoft/fetch-event-source": "^2.0.1" }, "optionalDependencies": { "@rollup/rollup-darwin-arm64": "^4.18.1" }, "bin": { "intent": "bin/intent.mjs" } }, "sha512-8C+mqZu6r68kU/jf63FLuc90M2ejyeTgB/68G0ufX4H2WepQw/NJXrIY3veE+sLrDGL+uyQB+fDStHH30fi8qg=="], "@electron/asar": ["@electron/asar@3.4.1", "", { "dependencies": { "commander": "^5.0.0", "glob": "^7.1.6", "minimatch": "^3.0.4" }, "bin": { "asar": "bin/asar.js" } }, "sha512-i4/rNPRS84t0vSRa2HorerGRXWyF4vThfHesw0dmcWHp+cspK743UanA0suA5Q5y8kzY2y6YKrvbIUn69BCAiA=="], @@ -2603,11 +2603,11 @@ "@tailwindcss/vite": ["@tailwindcss/vite@4.2.2", "", { "dependencies": { "@tailwindcss/node": "4.2.2", "@tailwindcss/oxide": "4.2.2", "tailwindcss": "4.2.2" }, "peerDependencies": { "vite": "^5.2.0 || ^6 || ^7 || ^8" } }, "sha512-mEiF5HO1QqCLXoNEfXVA1Tzo+cYsrqV7w9Juj2wdUFyW07JRenqMG225MvPwr3ZD9N1bFQj46X7r33iHxLUW0w=="], - "@tanstack/db": ["@tanstack/db@0.5.33", "", { "dependencies": { "@standard-schema/spec": "^1.1.0", "@tanstack/db-ivm": "0.1.17", "@tanstack/pacer-lite": "^0.2.1" }, "peerDependencies": { "typescript": ">=4.7" } }, "sha512-8pV3jZdqx6VgDubuddoT0UbQi8RrlCJ/kjhmgPIZUjvfhD3sz1TRMK4RTwOOf/JPTQ4qwWy5ggYLUTJxZZRB2w=="], + "@tanstack/db": ["@tanstack/db@0.6.5", "", { "dependencies": { "@standard-schema/spec": "^1.1.0", "@tanstack/db-ivm": "0.1.18", "@tanstack/pacer-lite": "^0.2.1" }, "peerDependencies": { "typescript": ">=4.7" } }, "sha512-gtCuAo4UtC9SR/kTMu5fVEff6qZ2R1FZi9X7MybtHKA6wve7RePifGG6qBI4OmMB+7juT5/+glNbnqZOrG0/pg=="], - "@tanstack/db-ivm": ["@tanstack/db-ivm@0.1.17", "", { "dependencies": { "fractional-indexing": "^3.2.0", "sorted-btree": "^1.8.1" }, "peerDependencies": { "typescript": ">=4.7" } }, "sha512-DK7vm56CDxNuRAdsbiPs+gITJ+16tUtYgZg3BRTLYKGIDsy8sdIO7sQFq5zl7Y+aIKAPmMAbVp9UjJ75FTtwgQ=="], + "@tanstack/db-ivm": ["@tanstack/db-ivm@0.1.18", "", { "dependencies": { "fractional-indexing": "^3.2.0", "sorted-btree": "^1.8.1" }, "peerDependencies": { "typescript": ">=4.7" } }, "sha512-+pZJiRKdoKRM5Epq9T7otD9ZJl82pRFauo7LKuJGrarjVKQ7r+QQlPe3kGdN9LEKSnuNGIWjX9OOY4M8kH4eLw=="], - "@tanstack/electric-db-collection": ["@tanstack/electric-db-collection@0.2.41", "", { "dependencies": { "@electric-sql/client": "^1.5.12", "@standard-schema/spec": "^1.1.0", "@tanstack/db": "0.5.33", "@tanstack/store": "^0.8.0", "debug": "^4.4.3" } }, "sha512-V8vmLrKrUYrATXtMTlAmAJ6PoDji4qf7iJ8pWqoxDgdHMGcgU0oOMbFSSHywRzscgVeKFRo+LJTSuZTrwTFn2A=="], + "@tanstack/electric-db-collection": ["@tanstack/electric-db-collection@0.3.3", "", { "dependencies": { "@electric-sql/client": "^1.5.15", "@standard-schema/spec": "^1.1.0", "@tanstack/db": "0.6.5", "@tanstack/store": "^0.9.2", "debug": "^4.4.3" } }, "sha512-ywx5s6kv/ZNDszl2GwnlvZPlimEBAUREo9cEN9oCN7SyO36/5andaAKgjWQYXiXDc6FamjQfE6N6WuUFb0Zg0Q=="], "@tanstack/history": ["@tanstack/history@1.161.6", "", {}, "sha512-NaOGLRrddszbQj9upGat6HG/4TKvXLvu+osAIgfxPYA+eIvYKv8GKDJOrY2D3/U9MRnKfMWD7bU4jeD4xmqyIg=="], @@ -2617,7 +2617,7 @@ "@tanstack/query-devtools": ["@tanstack/query-devtools@5.95.2", "", {}, "sha512-QfaoqBn9uAZ+ICkA8brd1EHj+qBF6glCFgt94U8XP5BT6ppSsDBI8IJ00BU+cAGjQzp6wcKJL2EmRYvxy0TWIg=="], - "@tanstack/react-db": ["@tanstack/react-db@0.1.77", "", { "dependencies": { "@tanstack/db": "0.5.33", "use-sync-external-store": "^1.6.0" }, "peerDependencies": { "react": ">=16.8.0" } }, "sha512-rN9UTE6LrmXrkeo5S1O6zE7altQhFIhWjF0Afbt42/GPsCUGH9sI0Ll24SpkpRsYSorGc06Z5r8LwhzcJvTmiQ=="], + "@tanstack/react-db": ["@tanstack/react-db@0.1.83", "", { "dependencies": { "@tanstack/db": "0.6.5", "use-sync-external-store": "^1.6.0" }, "peerDependencies": { "react": ">=16.8.0" } }, "sha512-LNV0C7OARazooT2hLTr5anXo6tbEyX2rHZQ0j9HZ/iNBI+Tx/y19o5Nd3ooyAYz5LEHJJxb8iM8ZTVB/diGnXw=="], "@tanstack/react-query": ["@tanstack/react-query@5.95.2", "", { "dependencies": { "@tanstack/query-core": "5.95.2" }, "peerDependencies": { "react": "^18 || ^19" } }, "sha512-/wGkvLj/st5Ud1Q76KF1uFxScV7WeqN1slQx5280ycwAyYkIPGaRZAEgHxe3bjirSd5Zpwkj6zNcR4cqYni/ZA=="], @@ -2641,7 +2641,7 @@ "@tanstack/router-utils": ["@tanstack/router-utils@1.161.6", "", { "dependencies": { "@babel/core": "^7.28.5", "@babel/generator": "^7.28.5", "@babel/parser": "^7.28.5", "@babel/types": "^7.28.5", "ansis": "^4.1.0", "babel-dead-code-elimination": "^1.0.12", "diff": "^8.0.2", "pathe": "^2.0.3", "tinyglobby": "^0.2.15" } }, "sha512-nRcYw+w2OEgK6VfjirYvGyPLOK+tZQz1jkYcmH5AjMamQ9PycnlxZF2aEZtPpNoUsaceX2bHptn6Ub5hGXqNvw=="], - "@tanstack/store": ["@tanstack/store@0.8.1", "", {}, "sha512-PtOisLjUZPz5VyPRSCGjNOlwTvabdTBQ2K80DpVL1chGVr35WRxfeavAPdNq6pm/t7F8GhoR2qtmkkqtCEtHYw=="], + "@tanstack/store": ["@tanstack/store@0.9.3", "", {}, "sha512-8reSzl/qGWGGVKhBoxXPMWzATSbZLZFWhwBAFO9NAyp0TxzfBP0mIrGb8CP8KrQTmvzXlR/vFPPUrHTLBGyFyw=="], "@tanstack/table-core": ["@tanstack/table-core@8.21.3", "", {}, "sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg=="], @@ -6351,8 +6351,6 @@ "@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "@tanstack/react-store/@tanstack/store": ["@tanstack/store@0.9.3", "", {}, "sha512-8reSzl/qGWGGVKhBoxXPMWzATSbZLZFWhwBAFO9NAyp0TxzfBP0mIrGb8CP8KrQTmvzXlR/vFPPUrHTLBGyFyw=="], - "@tanstack/router-generator/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], "@tanstack/router-plugin/unplugin": ["unplugin@2.3.11", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "acorn": "^8.15.0", "picomatch": "^4.0.3", "webpack-virtual-modules": "^0.6.2" } }, "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww=="], diff --git a/package.json b/package.json index dc43c87252e..e967e754945 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,6 @@ "fstream>mkdirp": "^0.5.6" }, "patchedDependencies": { - "@durable-streams/state@0.2.1": "patches/@durable-streams%2Fstate@0.2.1.patch", "fstream@1.0.12": "patches/fstream@1.0.12.patch" }, "trustedDependencies": [ diff --git a/patches/@durable-streams%2Fstate@0.2.1.patch b/patches/@durable-streams%2Fstate@0.2.1.patch deleted file mode 100644 index cf30b165177..00000000000 --- a/patches/@durable-streams%2Fstate@0.2.1.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/node_modules/@durable-streams/state/.bun-tag-57751d9ce5947a5e b/.bun-tag-57751d9ce5947a5e -new file mode 100644 -index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 -diff --git a/dist/index.cjs b/dist/index.cjs -index 9f83ed43326b28544df32d6ca88f0b8422aebd80..e2134fe2f07c8bab449c011b68bc3c853ef9dde3 100644 ---- a/dist/index.cjs -+++ b/dist/index.cjs -@@ -461,12 +461,6 @@ function createStreamDB(options) { - startSync: true, - gcTime: 0 - }); -- console.log(`[StreamDB] Created collection "${name}":`, { -- type: typeof collection, -- constructor: collection.constructor.name, -- isCollection: collection instanceof Object, -- hasSize: `size` in collection -- }); - collectionInstances[name] = collection; - } - let streamResponse = null; -@@ -488,15 +482,11 @@ function createStreamDB(options) { - try { - batchCount++; - lastBatchTime = Date.now(); -- if (batch.items.length > 0) console.log(`[StreamDB] Processing batch #${batchCount}: ${batch.items.length} items, upToDate=${batch.upToDate}`); -- for (const event of batch.items) if (isChangeEvent(event)) dispatcher.dispatchChange(event); -+ for (const event of batch.items) if (isChangeEvent(event)) dispatcher.dispatchChange(event); - else if (isControlEvent(event)) dispatcher.dispatchControl(event); - if (batch.upToDate) { -- console.log(`[StreamDB] Marking up-to-date after batch #${batchCount}`); - dispatcher.markUpToDate(); -- console.log(`[StreamDB] Successfully marked up-to-date`); - } -- if (batch.items.length > 0) console.log(`[StreamDB] Successfully processed batch #${batchCount}`); - } catch (error) { - console.error(`[StreamDB] Error processing batch:`, error); - console.error(`[StreamDB] Failed batch:`, batch); -@@ -507,11 +497,9 @@ function createStreamDB(options) { - }); - const healthCheck = setInterval(() => { - const timeSinceLastBatch = Date.now() - lastBatchTime; -- console.log(`[StreamDB] Health: ${batchCount} batches processed, last batch ${(timeSinceLastBatch / 1e3).toFixed(1)}s ago`); - }, 15e3); - abortController.signal.addEventListener(`abort`, () => { - clearInterval(healthCheck); -- console.log(`[StreamDB] Aborted - cleaning up health check`); - }); - }; - const dbMethods = { -@@ -526,13 +514,10 @@ function createStreamDB(options) { - }, - utils: { awaitTxId: (txid, timeout) => dispatcher.awaitTxId(txid, timeout) } - }; -- console.log(`[StreamDB] Creating db object with collections:`, Object.keys(collectionInstances)); - const db = { - collections: collectionInstances, - ...dbMethods - }; -- console.log(`[StreamDB] db.collections:`, Object.keys(db.collections)); -- console.log(`[StreamDB] db.collections.events:`, db.collections.events); - if (actionsFactory) { - const actionDefs = actionsFactory({ - db, -diff --git a/dist/index.js b/dist/index.js -index 56bbb3d590eab7cf79893b5f459d12dd61a0a5ad..0521fb9ff99b674f88ff1437b3896ffbfb43d51c 100644 ---- a/dist/index.js -+++ b/dist/index.js -@@ -437,12 +437,6 @@ function createStreamDB(options) { - startSync: true, - gcTime: 0 - }); -- console.log(`[StreamDB] Created collection "${name}":`, { -- type: typeof collection, -- constructor: collection.constructor.name, -- isCollection: collection instanceof Object, -- hasSize: `size` in collection -- }); - collectionInstances[name] = collection; - } - let streamResponse = null; -@@ -464,16 +458,12 @@ function createStreamDB(options) { - try { - batchCount++; - lastBatchTime = Date.now(); -- if (batch.items.length > 0) console.log(`[StreamDB] Processing batch #${batchCount}: ${batch.items.length} items, upToDate=${batch.upToDate}`); -- for (const event of batch.items) if (isChangeEvent(event)) dispatcher.dispatchChange(event); -+ for (const event of batch.items) if (isChangeEvent(event)) dispatcher.dispatchChange(event); - else if (isControlEvent(event)) dispatcher.dispatchControl(event); - if (batch.upToDate) { -- console.log(`[StreamDB] Marking up-to-date after batch #${batchCount}`); -- dispatcher.markUpToDate(); -- console.log(`[StreamDB] Successfully marked up-to-date`); -- } -- if (batch.items.length > 0) console.log(`[StreamDB] Successfully processed batch #${batchCount}`); -- } catch (error) { -+ dispatcher.markUpToDate(); -+ } -+ } catch (error) { - console.error(`[StreamDB] Error processing batch:`, error); - console.error(`[StreamDB] Failed batch:`, batch); - dispatcher.rejectAll(error); -@@ -483,12 +473,10 @@ function createStreamDB(options) { - }); - const healthCheck = setInterval(() => { - const timeSinceLastBatch = Date.now() - lastBatchTime; -- console.log(`[StreamDB] Health: ${batchCount} batches processed, last batch ${(timeSinceLastBatch / 1e3).toFixed(1)}s ago`); -- }, 15e3); -+ }, 15e3); - abortController.signal.addEventListener(`abort`, () => { - clearInterval(healthCheck); -- console.log(`[StreamDB] Aborted - cleaning up health check`); -- }); -+ }); - }; - const dbMethods = { - stream, -@@ -502,13 +490,10 @@ function createStreamDB(options) { - }, - utils: { awaitTxId: (txid, timeout) => dispatcher.awaitTxId(txid, timeout) } - }; -- console.log(`[StreamDB] Creating db object with collections:`, Object.keys(collectionInstances)); -- const db = { -+ const db = { - collections: collectionInstances, - ...dbMethods - }; -- console.log(`[StreamDB] db.collections:`, Object.keys(db.collections)); -- console.log(`[StreamDB] db.collections.events:`, db.collections.events); - if (actionsFactory) { - const actionDefs = actionsFactory({ - db, -diff --git a/src/stream-db.ts b/src/stream-db.ts -index 26bc8f07abac1bd4b57c9dd89b3d66fa83ca4048..9d1a31995ef92f3d8a7e2ee223b6a25f85b43e83 100644 ---- a/src/stream-db.ts -+++ b/src/stream-db.ts -@@ -790,13 +790,6 @@ export function createStreamDB< - gcTime: 0, - }) - -- console.log(`[StreamDB] Created collection "${name}":`, { -- type: typeof collection, -- constructor: collection.constructor.name, -- isCollection: collection instanceof Object, -- hasSize: `size` in collection, -- }) -- - collectionInstances[name] = collection - } - -@@ -828,12 +821,6 @@ export function createStreamDB< - batchCount++ - lastBatchTime = Date.now() - -- if (batch.items.length > 0) { -- console.log( -- `[StreamDB] Processing batch #${batchCount}: ${batch.items.length} items, upToDate=${batch.upToDate}` -- ) -- } -- - for (const event of batch.items) { - if (isChangeEvent(event)) { - dispatcher.dispatchChange(event) -@@ -844,15 +831,7 @@ export function createStreamDB< - - // Check batch-level up-to-date signal - if (batch.upToDate) { -- console.log( -- `[StreamDB] Marking up-to-date after batch #${batchCount}` -- ) - dispatcher.markUpToDate() -- console.log(`[StreamDB] Successfully marked up-to-date`) -- } -- -- if (batch.items.length > 0) { -- console.log(`[StreamDB] Successfully processed batch #${batchCount}`) - } - } catch (error) { - console.error(`[StreamDB] Error processing batch:`, error) -@@ -868,16 +847,12 @@ export function createStreamDB< - - // Health check to detect silent stalls - const healthCheck = setInterval(() => { -- const timeSinceLastBatch = Date.now() - lastBatchTime -- console.log( -- `[StreamDB] Health: ${batchCount} batches processed, last batch ${(timeSinceLastBatch / 1000).toFixed(1)}s ago` -- ) -+ // silent health check — no logging - }, 15000) - - // Clean up health check on abort - abortController.signal.addEventListener(`abort`, () => { - clearInterval(healthCheck) -- console.log(`[StreamDB] Aborted - cleaning up health check`) - }) - } - -@@ -900,16 +875,10 @@ export function createStreamDB< - } - - // Combine collections with methods -- console.log( -- `[StreamDB] Creating db object with collections:`, -- Object.keys(collectionInstances) -- ) - const db = { - collections: collectionInstances, - ...dbMethods, - } as unknown as StreamDB -- console.log(`[StreamDB] db.collections:`, Object.keys(db.collections)) -- console.log(`[StreamDB] db.collections.events:`, db.collections.events) - - // If actions factory is provided, wrap actions and return db with actions - if (actionsFactory) {