build(deps): upgrade vulnerable dependencies to clear ~1,680 Dependabot alerts

JU
4h ago
+16178-16504

Summary

Clears most of the open Dependabot alerts in this repo by upgrading vulnerable dependencies across all 52 flagged lockfiles/manifests.

  • Before: 1,710 open alerts (153 critical, 701 high)
  • Expected to close: 1,683
  • Left after merge: 27 (0 critical), all needing a major-version jump or blocked upstream (see below)

"Expected to close" was checked locally. For every open alert, I tested the version now in its lockfile against the advisory's vulnerable range. Dependabot recomputes on merge, so the real count may differ slightly.

How

  • Python (uv.lock): uv lock -P "<pkg>>=<first_patched>,<cap>" per alerted package. The cap is the next major for transitive deps and the next minor for direct deps, so the bump stays as small as possible.
    • Pillow 13, filelock 4.2 and dnspython 2.9 dropped Python 3.10. requires-python moves from >=3.10 to >=3.11 in the 4 voice-agent demos, examples/cookbook/smolagents and apps/livekit-moss-vercel/.../livekit-moss-agent (READMEs updated).
    • mcp stays on 1.x (1.30.0). An unbounded upgrade pulled mcp 2.x, which breaks agora-moss imports.
    • apps/pipecat-moss/{ollama-local,hume-ollama-local}: pipecat-ai 1.5.0 → 1.14.0, the first release that allows the patched Pillow 13.
  • JavaScript (npm/pnpm): direct deps bumped within their major. Next.js 16.2.6 → 16.4.1 and 15.x → 15.5.28; vite ^8.1.6; react-router-dom ^7.18.2. Transitive packages go through npm audit fix (non-force), pnpm up --depth Infinity, and overrides / pnpm.overrides / pnpm-workspace.yaml overrides where a parent pins an old version. The existing pinned postcss / fast-uri overrides move to the patched versions.
    • vitest 3 → 4 (dev-only) in packages/{mastra-moss,vercel-sdk,n8n-nodes-moss,vitepress-plugin-moss}. The critical tinypool advisories are only fixed in tinypool 2.x, which needs vitest 4. All four packages' tests still pass (see Verification). Drop that part of the second commit if you'd rather not take the major.
    • For packages/n8n-nodes-moss, npm audit fix downgraded n8n-workflow 2.x → 1.x, which broke the build. That lock was redone with targeted bumps plus a form-data override instead.

Verification

Python: uv sync --frozen on Python 3.12, plus pytest where tests exist, plus an import smoke check of each top-level module.

  • Tests pass: agora-moss app (6) and package (12), smolagents (7), mongodb/sqlite/supabase/zeroentropy connectors, pipecat-moss (13), ten-moss (29).
  • All voice-agent, daytona, cognee, sim, image-search and semantic-cache modules import (missing env vars aside).

JavaScript: npm ci / pnpm install --frozen-lockfile, then each project's build/test/lint/typecheck.

  • Builds pass: apps/next-js (build, test, lint), apps/moss-llamaindex/frontend, apps/livekit-moss-vercel/agent-react, apps/moss-vscode (build, typecheck), examples/voice-agents/insurance-adjuster/ui, examples/javascript-web, vitepress demo-site, packages/moss-md-indexer.
  • Build, typecheck and tests pass in packages/{mastra-moss,vercel-sdk,n8n-nodes-moss}; build and tests pass in packages/vitepress-plugin-moss.

Pre-existing failures, not caused by this PR (same result on main):

  • moss-live-labs/examples/image-search/react-app: tsc fails on import.meta.env typing.
  • apps/pipecat-moss/{ollama-local,hume-ollama-local}: imports fail because pipecat.processors.aggregators.openai_llm_context no longer exists in pipecat-ai ≥1.x, and moss is not a declared dependency.
  • apps/elevenlabs-moss: pyaudio needs system portaudio to build.

Left open (27), and why

AlertsWhereWhy skipped
9minimatch (<11.0.1) in next-js, moss-vscode, both promos, javascript examples, image-search react-app, agent-react, vitepress-plugin-mossOnly fixed in minimatch 11 (major). Parents (eslint, typescript-eslint, glob) pin 9.x/10.x.
6opentelemetry-api (<=1.45.0) in the 6 LiveKit voice demosNeeds livekit-agents ≥1.8.7, which needs openai 3.x (major). One alert per lockfile, not worth the jump.
3vite 5.4.21 in packages/vitepress-plugin-mossComes from vitepress 1.x. Only fixed in vite 6+ (major). Goes away with the vitepress 2 migration.
2zod 3.x in examples/cookbook/{mastra,vercel-ai-sdk}Only fixed in zod 4 (major).
1@ai-sdk/provider-utils 2.2.8 in examples/cookbook/mastra2.x has no patch. Pinned by mastra.
1uuid 10 in packages/n8n-nodes-mossOnly fixed in uuid 11 (major). Pinned by n8n-workflow.
1dnspython in packages/moss-data-connector/moss-connector-mongodb2.9 needs Python ≥3.11. This shipped package still supports 3.10.

Per-lockfile breakdown

Lockfile / manifestOpen beforeExpected to closeLeft
packages/agora-moss/uv.lock25250
packages/mastra-moss/package-lock.json50500
packages/moss-data-connector/moss-connector-mongodb/uv.lock981
packages/moss-data-connector/moss-connector-sqlite/uv.lock330
packages/moss-data-connector/moss-connector-supabase/uv.lock28280
packages/moss-data-connector/moss-connector-zeroentropy/uv.lock110
packages/moss-md-indexer/example/pnpm-lock.yaml33330
packages/moss-md-indexer/package-lock.json46460
packages/moss-md-indexer/pnpm-lock.yaml28280
packages/n8n-nodes-moss/package-lock.json14131
packages/pipecat-moss/uv.lock49490
packages/ten-moss/uv.lock110
packages/vercel-sdk/package-lock.json13130
packages/vitepress-plugin-moss/demo-site/documentation/package-lock.json880
packages/vitepress-plugin-moss/demo-site/documentation/pnpm-lock.yaml880
packages/vitepress-plugin-moss/demo-site/pnpm-lock.yaml990
packages/vitepress-plugin-moss/package.json110
packages/vitepress-plugin-moss/pnpm-lock.yaml58499
apps/agora-moss/uv.lock25250
apps/elevenlabs-moss/uv.lock660
apps/livekit-moss-vercel/agent-react/package.json20200
apps/livekit-moss-vercel/agent-react/pnpm-lock.yaml40391
apps/livekit-moss-vercel/livekit-voice-agent/livekit-moss-agent/uv.lock90900
apps/moss-llamaindex/frontend/package-lock.json28280
apps/moss-vscode/package-lock.json36351
apps/moss-vscode/promo/package-lock.json25241
apps/next-js/package-lock.json62611
apps/pipecat-moss/hume-ollama-local/uv.lock84840
apps/pipecat-moss/ollama-local/uv.lock84840
apps/vapi-moss/uv.lock770
examples/cookbook/daytona/uv.lock22220
examples/cookbook/mastra/package-lock.json54522
examples/cookbook/moss-cognee-daytona/uv.lock31310
examples/cookbook/sim/uv.lock770
examples/cookbook/smolagents/uv.lock56560
examples/cookbook/vercel-ai-sdk/package.json101
examples/javascript-web/package-lock.json10100
examples/javascript/package-lock.json541
examples/moss-pikachu/promo/package-lock.json27261
examples/voice-agents/airline-pnr/uv.lock93921
examples/voice-agents/candidate-screening/uv.lock96951
examples/voice-agents/insurance-adjuster/ui/package-lock.json31310
examples/voice-agents/insurance-adjuster/uv.lock84831
examples/voice-agents/mortgage-lending/uv.lock84831
moss-live-labs/examples/advanced-voice-agent/uv.lock91901
moss-live-labs/examples/image-search/backend-py/uv.lock330
moss-live-labs/examples/image-search/react-app/package-lock.json20191
moss-live-labs/examples/image-search/setup-py/uv.lock330
moss-live-labs/examples/semantic-cache/uv.lock440
moss-live-labs/examples/voice-agent/uv.lock84831
moss-live-labs/python/uv.lock330
package-lock.json10100
Total1710168327

Summary by CodeRabbit

  • Chores
    • Updated framework, tooling, and supporting package versions across the app and examples.
    • Python-based voice agent and cookbook examples now require Python 3.11 or newer; Python 3.10 is no longer supported.
  • Documentation
    • Updated setup prerequisites to reflect the Python 3.11 minimum.