Skip to content

build(deps): bump dependencies to latest, clear pnpm audit, and trim overrides - #178

Open
venables wants to merge 7 commits into
mainfrom
bump-deps
Open

build(deps): bump dependencies to latest, clear pnpm audit, and trim overrides#178
venables wants to merge 7 commits into
mainfrom
bump-deps

Conversation

@venables

@venables venables commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Changes

  • All workspace dependencies bumped to their latest safe versions
  • TypeScript 7, oxlint-tsgolint 7, @solana/kit 8, ai 7, @changesets/cli 3, @types/node 26
  • pnpm audit goes from 35 advisories to 0
  • Override block in pnpm-workspace.yaml cut from 18 entries to 5, each scoped and commented
  • minimumReleaseAgeExclude removed; no longer needed
  • Seven as casts removed that oxlint 1.80 flags as unnecessary
  • Identity demo reads result.responseMessages (ai 7 change)
  • pnpm 11.24.0 pinned in packageManager
  • Patch changeset for @agentcommercekit/keys and @agentcommercekit/ack-id

Problem

The dependency tree had drifted: 35 audit advisories (1 critical, 19 high), most of them under mintlify, and an override block that had grown by accretion. Several of those overrides pinned versions the tree no longer pulls in, and two (vite, esbuild) were global instead of scoped to the vulnerable line.

Solution

Bump everything the full check accepts, then rebuild the override set from zero: remove every override, reinstall, audit, and add back only what still fails. Five remain:

Override Why
esbuild@<0.24.3 drizzle-kit's deprecated @esbuild-kit pins esbuild 0.18
vite@7 vite 7.3.5 pins esbuild ^0.27 (low advisory); 7.3.6 allows ^0.28
qs@6 express 4 (via mintlify) pins qs 6.14
sharp@<0.35.0 mintlify pins sharp 0.33 (libvips CVEs)
puppeteer@24 extract-zip has no patched release; puppeteer 25 drops it

Two majors were left alone on purpose:

  • @a2a-js/sdk 1.0 is an A2A protocol major (new Message shape, gRPC/protobuf peers) and would change ack-id's published ^0.3.0 peer range.
  • did-resolver 5 conflicts with did-jwt and did-jwt-vc, which still depend on ^4.1.0 and produce incompatible Resolvable types.

Two things worth knowing about the majors that did land:

  • ai 7 scopes result.response to the final step. The identity demo used result.response.messages to collect the full multi-step history, which would silently drop earlier tool-call messages. It now uses result.responseMessages, which keeps the ai 6 semantics.
  • typescript 7 is the native compiler and exposes no JS API. Every repo command (tsdown build, oxlint type checking, knip, changesets, mintlify dev) works, but @mintlify/mdx/server would throw on import if the docs ever add twoslash blocks.

Testing

  • pnpm run check (build + lint + format + test): 29/29 tasks pass, 0 lint warnings
  • pnpm audit: no known vulnerabilities
  • pnpm install --frozen-lockfile with both pnpm 11.8.0 and 11.24.0: lockfile stable
  • pnpm exec changeset status: clean
  • Payments demo imports were checked against the @solana/kit 7 and 8 release notes; none of the removed APIs are used
  • Panel review loop (codex gpt-5.6, claude-fable-5, grok-4.6, glm-5.3): two rounds, all findings addressed or documented above

Pre-existing, not addressed here: mintlify validate warns on the @mintlify/components import in docs/ack-pay/payment-service.mdx, and .changeset/config.json carries an inert "tag": false key.

AI usage: Claude Code (Claude Fable 5) performed the dependency bumps, override analysis, source edits, and verification, and drove a multi-agent panel review (codex, claude, opencode). The author directed the work and reviewed the result.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Bug Fixes

    • Updated identity demo compatibility with the latest AI SDK response format.
    • Improved handling of identity document data and DID values in demos.
  • Maintenance

    • Refreshed development tools and package versions across the project.
    • Updated Solana, cryptography, identifier, and documentation tooling packages.
    • Strengthened security vulnerability overrides for key build and runtime tools.
    • Updated release configuration and package manager requirements.

venables and others added 7 commits August 26, 2026 18:14
Non-major:
- hono 4.13.4, @hono/node-server 2.1.1, @hono/standard-validator 0.4.0
- jose 6.2.10, uuid 14.0.2, viem 2.55.19
- @noble/curves 2.3.0, multiformats 14.0.5
- @inquirer/prompts 8.6.0, figlet 1.11.4, wrap-ansi 10.0.1, yoctocolors 2.2.0
- knip 6.32.2, oxfmt 0.65.0, oxlint 1.80.0, tsdown 0.22.14, tsx 4.23.12,
  turbo 2.10.12, vitest 4.1.11, mintlify 4.2.824

Major:
- typescript 7.0.2 and oxlint-tsgolint 7.0.2001 (oxlint 1.80 requires it)
- @solana/kit 8.0.0 and @solana/codecs-strings 8.0.0
  (@solana-program/token 0.16 requires kit 8)
- @types/node 26.3.0
- @changesets/cli 3.0.1, @changesets/changelog-github 1.0.0
- ai 7.0.79, @ai-sdk/anthropic 4.0.42, @ai-sdk/openai 4.0.47,
  @ai-sdk/valibot 3.0.30 (identity demo only)

Left alone:
- @a2a-js/sdk 1.0 is an A2A protocol major that changes the Message
  shape and adds gRPC/protobuf peers; ack-id publishes a ^0.3.0 peer.
- did-resolver 5 conflicts with did-jwt and did-jwt-vc, which still
  depend on ^4.1.0 and produce incompatible Resolvable types.

Also disables the @scarf/scarf telemetry build script pulled in by
mintlify.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
oxlint 1.80 reports no-unnecessary-type-assertion for casts whose
receiver already accepts the source type. Remove the seven flagged
casts; no behavior change.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Remove every override the current tree no longer needs (body-parser,
path-to-regexp, picomatch, js-yaml, read-yaml-file, ws, uuid, tar,
rollup, postcss, jsondiffpatch, adm-zip) and the matching
minimumReleaseAgeExclude entries. The dependency bump resolves those
advisories on its own.

Keep or add only what pnpm audit still requires:
- esbuild@<0.24.3 -> ^0.25.0 (drizzle-kit's deprecated @esbuild-kit)
- vite@7 -> ^7.3.6 (7.3.5 pins esbuild ^0.27, GHSA low)
- qs@6 -> ^6.15.2 (express 4 via mintlify)
- sharp@<0.35.0 -> ^0.35.0 (libvips CVEs via mintlify; never built here)
- puppeteer@24 -> ^25.0.0 (drops extract-zip, which has no patched
  release; never built here)

pnpm audit: 0 vulnerabilities (was 35).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
ai 7 scopes GenerateTextResult.response to the final step and
deprecates it. result.response.messages would drop tool-call and
tool-result messages from earlier steps in the identity demo's
multi-step loop. result.responseMessages carries the accumulated
messages of all steps, matching the ai 6 behavior.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
sharp 0.33.5 still ships an install script; only 0.35 drops it and
loads prebuilt @img/sharp-* binaries, so the override does run at docs
build time (verified with mintlify dev).

The changeset $schema now points at @changesets/config 4.0.0, which
@changesets/cli 3.0.1 installs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 26, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 4328423c-e627-427d-b363-cd03951e1d19

📥 Commits

Reviewing files that changed from the base of the PR and between 2233047 and ed0ad32.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (14)
  • .changeset/config.json
  • .changeset/deps-bump-keys-ack-id.md
  • demos/identity/package.json
  • demos/identity/src/client-agent.ts
  • demos/identity/src/haiku-agent.ts
  • demos/identity/src/index.ts
  • demos/payments/package.json
  • demos/skyfire-kya/src/skyfire-kya-ack-id.ts
  • docs/package.json
  • package.json
  • packages/caip/src/caips/caip-2.test.ts
  • packages/keys/package.json
  • pnpm-workspace.yaml
  • tools/cli-tools/package.json

Included review availability: Your plan provides up to 2 included reviews per hour; 1 remains after this review.


Walkthrough

The pull request refreshes workspace and package dependencies, updates vulnerability and build policies, aligns demos with newer SDK and type behavior, and adds Changesets metadata for dependency-only package releases.

Changes

Dependency refresh and compatibility

Layer / File(s) Summary
Workspace dependency policy
.changeset/config.json, package.json, docs/package.json, pnpm-workspace.yaml
Workspace catalogs, dependency overrides, build permissions, package-manager versions, and development tools were updated.
Package and demo dependency updates
demos/identity/package.json, demos/payments/package.json, packages/keys/package.json, tools/cli-tools/package.json
Runtime and tool dependencies were upgraded in the identity, payments, keys, and CLI packages.
SDK and type compatibility
demos/identity/src/*, demos/skyfire-kya/src/skyfire-kya-ack-id.ts, packages/caip/src/caips/caip-2.test.ts
Identity agents now read responseMessages; DID document logging and DID URI literals no longer use explicit casts; a CAIP-2 test removes an input assertion.
Release metadata
.changeset/deps-bump-keys-ack-id.md
Patch releases were declared for @agentcommercekit/keys and @agentcommercekit/ack-id with documented runtime dependency updates.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to ed0ad

This PR updates dependencies, narrows package overrides, and adjusts the identity demo for the new AI response API; the reported checks and audits pass, so no actionable merge-blocking risk remains beyond normal review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main changes: dependency upgrades, removal of audit advisories, and reduction of pnpm overrides.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 5 files. (9 skipped: 9 …
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 5 files. (9 skipped: 9 unsupported.)

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch bump-deps

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant