Skip to content

fix: remove kubb plugin-client from runtime dependencies - #356

Merged
chrisdoc merged 1 commit into
mainfrom
charlie/issue-355-prod-deps-audit
Jun 19, 2026
Merged

fix: remove kubb plugin-client from runtime dependencies#356
chrisdoc merged 1 commit into
mainfrom
charlie/issue-355-prod-deps-audit

Conversation

@charliecreates

@charliecreates charliecreates Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Summary

  • switch Kubb client generation to bundled mode (bundle: true) so generated runtime code imports local .kubb artifacts
  • regenerate client artifacts to remove runtime imports from @kubb/plugin-client/clients/axios
  • move @kubb/plugin-client from dependencies to devDependencies

Verification

  • npm run check
  • npm run build
  • npx vitest run --exclude tests/integration/**
  • npm ls @kubb/plugin-client --omit=dev shows (empty)
  • no @kubb/plugin-client/clients/axios imports remain in runtime paths (dist, src/utils, src/generated/client/api) ✅
  • npm audit --omit=dev now reports 2 moderate vulnerabilities (remaining MCP SDK transitive path) ⚠️

Resolves #355

✨ PR Description

Purpose: Migrate from @kubb/plugin-client runtime dependency to locally-generated fetch utilities, enabling tree-shaking and reducing production bundle size.

Main changes:

  • Moved @kubb/plugin-client from dependencies to devDependencies, removing runtime dependency
  • Created custom fetch.ts with axios-based RequestConfig, ResponseConfig, and client implementation
  • Regenerated all API client files to import from local .kubb/fetch.ts instead of @kubb/plugin-client

Generated by LinearB AI and added by gitStream.
AI-generated content may contain inaccuracies. Please verify before using.
💡 Tip: You can customize your AI Description using Guidelines Learn how

@greptile-apps

greptile-apps Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Too many files changed for review. (211 files found, 100 file limit)

@codecov

codecov Bot commented Jun 19, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.36%. Comparing base (de01893) to head (b8e7d88).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #356   +/-   ##
=======================================
  Coverage   71.36%   71.36%           
=======================================
  Files          18       18           
  Lines         674      674           
  Branches      202      202           
=======================================
  Hits          481      481           
  Misses        110      110           
  Partials       83       83           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@gitstream-cm gitstream-cm Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✨ PR Review

LGTM

Generated by LinearB AI and added by gitStream.
AI-generated content may contain inaccuracies. Please verify before using.
💡 Tip: You can customize your AI Review using Guidelines Learn how

@chrisdoc

Copy link
Copy Markdown
Owner

@CharlieHelps it seems like when you ran oxfmt you also did it on the generated code, figure out why

@charliecreates

Copy link
Copy Markdown
Contributor Author

I dug into this. It wasn’t oxfmt writing the generated files.

What happened is the PR changed Kubb generation behavior (bundle: true in kubb.config.ts), then regenerated artifacts. That regeneration rewrote most of src/generated/** (207/211 changed files) and introduced src/generated/.kubb/fetch.ts, with generated imports switching from @kubb/plugin-client/clients/axios to local .kubb/fetch.ts.

oxfmt is configured to exclude generated output (.oxfmtrc.json has **/src/generated), and in the codegen hook it runs in check mode (npm run check), so it doesn’t write files there.

So the churn is generator output, not oxfmt expanding scope.

If helpful, I can follow up with a small guardrail change (for example, explicitly pinning/controlling Kubb output formatting) so this is less surprising next time.

@chrisdoc
chrisdoc merged commit 61077ae into main Jun 19, 2026
19 checks passed
github-actions Bot pushed a commit that referenced this pull request Jun 19, 2026
## [1.25.4](v1.25.3...v1.25.4) (2026-06-19)

### Bug Fixes

* remove kubb plugin-client from runtime deps ([#356](#356)) ([61077ae](61077ae))
aaearon added a commit to aaearon/hevy-mcp that referenced this pull request Jun 24, 2026
* chore(deps-dev): bump the development-dependencies group across 1 directory with 8 updates (chrisdoc#335)

Bumps the development-dependencies group with 8 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.0.1` | `21.0.2` |
| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.0.1` | `21.0.2` |
| [@commitlint/prompt-cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/prompt-cli) | `21.0.1` | `21.0.2` |
| [lefthook](https://github.com/evilmartians/lefthook) | `2.1.8` | `2.1.9` |
| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) | `0.51.0` | `0.53.0` |
| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.66.0` | `1.68.0` |
| [tsdown](https://github.com/rolldown/tsdown) | `0.22.0` | `0.22.2` |
| [tsx](https://github.com/privatenumber/tsx) | `4.22.3` | `4.22.4` |



Updates `@commitlint/cli` from 21.0.1 to 21.0.2
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli)

Updates `@commitlint/config-conventional` from 21.0.1 to 21.0.2
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/config-conventional)

Updates `@commitlint/prompt-cli` from 21.0.1 to 21.0.2
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/prompt-cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/prompt-cli)

Updates `lefthook` from 2.1.8 to 2.1.9
- [Release notes](https://github.com/evilmartians/lefthook/releases)
- [Changelog](https://github.com/evilmartians/lefthook/blob/master/CHANGELOG.md)
- [Commits](evilmartians/lefthook@v2.1.8...v2.1.9)

Updates `oxfmt` from 0.51.0 to 0.53.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.53.0/npm/oxfmt)

Updates `oxlint` from 1.66.0 to 1.68.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.68.0/npm/oxlint)

Updates `tsdown` from 0.22.0 to 0.22.2
- [Release notes](https://github.com/rolldown/tsdown/releases)
- [Commits](rolldown/tsdown@v0.22.0...v0.22.2)

Updates `tsx` from 4.22.3 to 4.22.4
- [Release notes](https://github.com/privatenumber/tsx/releases)
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs)
- [Commits](privatenumber/tsx@v4.22.3...v4.22.4)

---
updated-dependencies:
- dependency-name: "@commitlint/cli"
  dependency-version: 21.0.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@commitlint/config-conventional"
  dependency-version: 21.0.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@commitlint/prompt-cli"
  dependency-version: 21.0.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: lefthook
  dependency-version: 2.1.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: oxfmt
  dependency-version: 0.53.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: oxlint
  dependency-version: 1.68.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: tsdown
  dependency-version: 0.22.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: tsx
  dependency-version: 4.22.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.17 [skip ci]

## [1.23.17](chrisdoc/hevy-mcp@v1.23.16...v1.23.17) (2026-06-04)

* chore(deps): bump hono from 4.12.18 to 4.12.23 (chrisdoc#336)

Bumps [hono](https://github.com/honojs/hono) from 4.12.18 to 4.12.23.
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](honojs/hono@v4.12.18...v4.12.23)

---
updated-dependencies:
- dependency-name: hono
  dependency-version: 4.12.23
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.18 [skip ci]

## [1.23.18](chrisdoc/hevy-mcp@v1.23.17...v1.23.18) (2026-06-04)

* chore(deps): bump codecov/codecov-action (chrisdoc#337)

Bumps the observability-actions group with 1 update: [codecov/codecov-action](https://github.com/codecov/codecov-action).


Updates `codecov/codecov-action` from 6 to 7
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](codecov/codecov-action@v6...v7)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: observability-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.19 [skip ci]

## [1.23.19](chrisdoc/hevy-mcp@v1.23.18...v1.23.19) (2026-06-09)

* chore(deps): bump the production-dependencies group with 7 updates (chrisdoc#338)

Bumps the production-dependencies group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [@kubb/cli](https://github.com/kubb-labs/kubb/tree/HEAD/packages/cli) | `4.37.9` | `4.37.12` |
| [@kubb/core](https://github.com/kubb-labs/kubb/tree/HEAD/packages/core) | `4.37.9` | `4.37.12` |
| [@kubb/plugin-client](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-client) | `4.37.9` | `4.37.12` |
| [@kubb/plugin-faker](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-faker) | `4.37.9` | `4.37.12` |
| [@kubb/plugin-oas](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-oas) | `4.37.9` | `4.37.12` |
| [@kubb/plugin-ts](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-ts) | `4.37.9` | `4.37.12` |
| [@kubb/plugin-zod](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-zod) | `4.37.9` | `4.37.12` |


Updates `@kubb/cli` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/cli@4.37.12/packages/cli/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/cli@4.37.12/packages/cli)

Updates `@kubb/core` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/core@4.37.12/packages/core/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/core@4.37.12/packages/core)

Updates `@kubb/plugin-client` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-client@4.37.12/packages/plugin-client/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-client@4.37.12/packages/plugin-client)

Updates `@kubb/plugin-faker` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-faker@4.37.12/packages/plugin-faker/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-faker@4.37.12/packages/plugin-faker)

Updates `@kubb/plugin-oas` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-oas@4.37.12/packages/plugin-oas/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-oas@4.37.12/packages/plugin-oas)

Updates `@kubb/plugin-ts` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-ts@4.37.12/packages/plugin-ts/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-ts@4.37.12/packages/plugin-ts)

Updates `@kubb/plugin-zod` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-zod@4.37.12/packages/plugin-zod/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-zod@4.37.12/packages/plugin-zod)

---
updated-dependencies:
- dependency-name: "@kubb/cli"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@kubb/core"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@kubb/plugin-client"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@kubb/plugin-faker"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@kubb/plugin-oas"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@kubb/plugin-ts"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@kubb/plugin-zod"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.20 [skip ci]

## [1.23.20](chrisdoc/hevy-mcp@v1.23.19...v1.23.20) (2026-06-09)

* chore(deps-dev): bump the development-dependencies group with 3 updates (chrisdoc#339)

Bumps the development-dependencies group with 3 updates: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) and [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint).


Updates `@types/node` from 25.9.1 to 25.9.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `oxfmt` from 0.53.0 to 0.54.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.54.0/npm/oxfmt)

Updates `oxlint` from 1.68.0 to 1.69.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.69.0/npm/oxlint)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 25.9.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: oxfmt
  dependency-version: 0.54.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: oxlint
  dependency-version: 1.69.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.21 [skip ci]

## [1.23.21](chrisdoc/hevy-mcp@v1.23.20...v1.23.21) (2026-06-09)

* chore(deps): bump shell-quote from 1.8.3 to 1.8.4 (chrisdoc#340)

Bumps [shell-quote](https://github.com/ljharb/shell-quote) from 1.8.3 to 1.8.4.
- [Changelog](https://github.com/ljharb/shell-quote/blob/main/CHANGELOG.md)
- [Commits](ljharb/shell-quote@v1.8.3...v1.8.4)

---
updated-dependencies:
- dependency-name: shell-quote
  dependency-version: 1.8.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.22 [skip ci]

## [1.23.22](chrisdoc/hevy-mcp@v1.23.21...v1.23.22) (2026-06-10)

* chore(deps-dev): bump esbuild from 0.28.0 to 0.28.1 (chrisdoc#343)

Bumps [esbuild](https://github.com/evanw/esbuild) from 0.28.0 to 0.28.1.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](evanw/esbuild@v0.28.0...v0.28.1)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-version: 0.28.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.23 [skip ci]

## [1.23.23](chrisdoc/hevy-mcp@v1.23.22...v1.23.23) (2026-06-13)

* Add tool annotations and fix body measurement payload handling (chrisdoc#342)

* fix: move dev-only kubb packages to devDependencies

Six @kubb/* packages were declared as runtime dependencies but are only
used by `npm run build:client` (kubb generate). Keeping them in
dependencies made `npx hevy-mcp` installs resolve their caret ranges
directly, which broke whenever an unpublished @kubb version was
referenced (chrisdoc#322). Only @kubb/plugin-client is imported at runtime by
the generated client, so it stays in dependencies.

Also syncs package-lock.json, which was missing yaml@2.9.0.

Fixes chrisdoc#322

https://claude.ai/code/session_01CuJWqXKY94msBi4cUgn1D8

* fix: accept partial body measurement inputs

Two bugs prevented valid body measurement writes (chrisdoc#341):

- Measurement fields used strict z.number(), rejecting numeric strings
  like "81.5" that some MCP clients send. They now use
  z.coerce.number() like the other tools, while null/undefined still
  short-circuit before coercion.
- buildMeasurementPayload() forwarded every omitted field as null,
  which the Hevy API rejects. Nullish fields are now omitted from the
  payload entirely, for both create and update.

Fixes chrisdoc#341

https://claude.ai/code/session_01CuJWqXKY94msBi4cUgn1D8

* feat: add get-user-info tool

Exposes the Hevy API's GET /v1/user/info endpoint, which existed in the
generated client but had no MCP tool. Returns the authenticated user's
ID, display name, and public profile URL — useful for verifying which
account an API key belongs to.

Also refreshes the README tools table, which was stale
(get-routine-by-id, missing body measurement and exercise template
tools).

https://claude.ai/code/session_01CuJWqXKY94msBi4cUgn1D8

* feat: add MCP tool annotations to all tools

Every tool now declares title, readOnlyHint, destructiveHint,
idempotentHint, and openWorldHint so MCP clients can render tools
properly and decide when calls are safe to auto-approve:

- get-*/search-* tools are marked read-only
- create-* tools are non-destructive, non-idempotent writes
- update-* tools are destructive (PUT-style overwrites) and idempotent
- delete-webhook-subscription is destructive and idempotent
- openWorldHint is false everywhere since the Hevy API is a closed
  domain limited to the authenticated user's data

Shared annotation factories live in src/utils/tool-annotations.ts and a
new annotations.test.ts asserts the policy for all 26 tools. Test
helpers now extract handlers position-independently so the added
registration argument doesn't break them.

https://claude.ai/code/session_01CuJWqXKY94msBi4cUgn1D8

* fix: harden body measurement input edge cases

Addresses PR chrisdoc#342 review feedback:

- Empty strings are treated as omitted instead of being coerced to 0
  by z.coerce.number().
- update-body-measurement now rejects calls without at least one
  non-null measurement field instead of sending an empty PUT body.
- Tool descriptions document that null values are treated as omitted,
  since the Hevy API rejects nulls and has no way to clear individual
  fields.

https://claude.ai/code/session_01CuJWqXKY94msBi4cUgn1D8

---------

Co-authored-by: Claude <noreply@anthropic.com>

* Hash Sentry user ID from Hevy API key (chrisdoc#345)

* fix: hash sentry user identifiers

* fix: avoid CodeQL API key hash alert

---------

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>

* ci: add commitlint check to github workflow and unify agent instructions

* chore: trigger release

* chore(release): 1.23.24 [skip ci]

## [1.23.24](chrisdoc/hevy-mcp@v1.23.23...v1.23.24) (2026-06-15)

* chore: update dependencies

* feat: fix sentry

* chore(release): 1.24.0 [skip ci]

# [1.24.0](chrisdoc/hevy-mcp@v1.23.24...v1.24.0) (2026-06-15)

### Features

* fix sentry ([728d9a0](chrisdoc@728d9a0))

* build: rebuild package with correct version on publish

* chore(deps): bump form-data from 4.0.5 to 4.0.6 (chrisdoc#346)

Bumps [form-data](https://github.com/form-data/form-data) from 4.0.5 to 4.0.6.
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](form-data/form-data@v4.0.5...v4.0.6)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 4.0.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.24.1 [skip ci]

## [1.24.1](chrisdoc/hevy-mcp@v1.24.0...v1.24.1) (2026-06-15)

* fix: align sentry release name with project@version pattern

* chore(release): 1.24.2 [skip ci]

## [1.24.2](chrisdoc/hevy-mcp@v1.24.1...v1.24.2) (2026-06-15)

### Bug Fixes

* align sentry release name with project@version pattern ([fa9613f](chrisdoc@fa9613f))

* feat: add MCP lifecycle and stdio parse observability (chrisdoc#348)

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>

* chore(release): 1.25.0 [skip ci]

# [1.25.0](chrisdoc/hevy-mcp@v1.24.2...v1.25.0) (2026-06-16)

### Features

* add MCP lifecycle and stdio parse observability ([chrisdoc#348](chrisdoc#348)) ([f7a816b](chrisdoc@f7a816b))

* Install docs-drift-maintainer daemon (chrisdoc#349)

Co-authored-by: charliecreates[bot] <198680274+charliecreates[bot]@users.noreply.github.com>

* Install pr-merge-conflict-repair daemon (chrisdoc#350)

Co-authored-by: charliecreates[bot] <198680274+charliecreates[bot]@users.noreply.github.com>

* Install pr-metadata daemon (chrisdoc#352)

Co-authored-by: charliecreates[bot] <198680274+charliecreates[bot]@users.noreply.github.com>

* Install pr-check-repair daemon (chrisdoc#351)

Co-authored-by: charliecreates[bot] <198680274+charliecreates[bot]@users.noreply.github.com>

* chore: ignore .agents directory in oxlint and oxfmt

* chore(release): 1.25.1 [skip ci]

## [1.25.1](chrisdoc/hevy-mcp@v1.25.0...v1.25.1) (2026-06-17)

* build: upgrade Node.js requirement to 26

* docs: document recent sentry observability changes (chrisdoc#353)

* docs: document recent sentry observability changes

* build: include .agents files in project checks

* Revert "build: include .agents files in project checks"

This reverts commit e8211d4.

---------

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>

* chore(release): 1.25.2 [skip ci]

## [1.25.2](chrisdoc/hevy-mcp@v1.25.1...v1.25.2) (2026-06-17)

* chore(deps): bump hono from 4.12.23 to 4.12.25 (chrisdoc#354)

Bumps [hono](https://github.com/honojs/hono) from 4.12.23 to 4.12.25.
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](honojs/hono@v4.12.23...v4.12.25)

---
updated-dependencies:
- dependency-name: hono
  dependency-version: 4.12.25
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.25.3 [skip ci]

## [1.25.3](chrisdoc/hevy-mcp@v1.25.2...v1.25.3) (2026-06-17)

* fix: remove kubb plugin-client from runtime deps (chrisdoc#356)

* chore(release): 1.25.4 [skip ci]

## [1.25.4](chrisdoc/hevy-mcp@v1.25.3...v1.25.4) (2026-06-19)

### Bug Fixes

* remove kubb plugin-client from runtime deps ([chrisdoc#356](chrisdoc#356)) ([61077ae](chrisdoc@61077ae))

* chore(deps-dev): bump undici from 6.24.1 to 6.27.0 (chrisdoc#357)

Bumps [undici](https://github.com/nodejs/undici) from 6.24.1 to 6.27.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](nodejs/undici@v6.24.1...v6.27.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 6.27.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.25.5 [skip ci]

## [1.25.5](chrisdoc/hevy-mcp@v1.25.4...v1.25.5) (2026-06-19)

* Add triage-sentry-issues daemon (chrisdoc#359)

* feat(agents): add triage-sentry-issues daemon

* fix(daemon): watch for new sentry issues

* Apply suggestions from code review

Co-authored-by: gitstream-cm[bot] <111687743+gitstream-cm[bot]@users.noreply.github.com>

---------

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>
Co-authored-by: Christoph Kieslich <c.kieslich@gmail.com>
Co-authored-by: gitstream-cm[bot] <111687743+gitstream-cm[bot]@users.noreply.github.com>

* chore(deps): bump actions/checkout in the github-core-actions group (chrisdoc#362)

Bumps the github-core-actions group with 1 update: [actions/checkout](https://github.com/actions/checkout).


Updates `actions/checkout` from 6 to 7
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-core-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.25.6 [skip ci]

## [1.25.6](chrisdoc/hevy-mcp@v1.25.5...v1.25.6) (2026-06-23)

* chore(deps): bump the production-dependencies group with 2 updates (chrisdoc#363)

Bumps the production-dependencies group with 2 updates: [@sentry/node](https://github.com/getsentry/sentry-javascript) and [axios](https://github.com/axios/axios).


Updates `@sentry/node` from 10.58.0 to 10.59.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md)
- [Commits](getsentry/sentry-javascript@10.58.0...10.59.0)

Updates `axios` from 1.18.0 to 1.18.1
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](axios/axios@v1.18.0...v1.18.1)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-version: 10.59.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
- dependency-name: axios
  dependency-version: 1.18.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.25.7 [skip ci]

## [1.25.7](chrisdoc/hevy-mcp@v1.25.6...v1.25.7) (2026-06-23)

* chore(deps-dev): bump the development-dependencies group with 11 updates (chrisdoc#364)

Bumps the development-dependencies group with 11 updates:

| Package | From | To |
| --- | --- | --- |
| [@kubb/cli](https://github.com/kubb-labs/kubb/tree/HEAD/packages/cli) | `4.38.0` | `4.39.1` |
| [@kubb/core](https://github.com/kubb-labs/kubb/tree/HEAD/packages/core) | `4.38.0` | `4.39.1` |
| [@kubb/plugin-client](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-client) | `4.38.0` | `4.39.1` |
| [@kubb/plugin-faker](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-faker) | `4.38.0` | `4.39.1` |
| [@kubb/plugin-oas](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-oas) | `4.38.0` | `4.39.1` |
| [@kubb/plugin-ts](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-ts) | `4.38.0` | `4.39.1` |
| [@kubb/plugin-zod](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-zod) | `4.38.0` | `4.39.1` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.9.3` | `26.0.0` |
| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) | `0.55.0` | `0.56.0` |
| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.70.0` | `1.71.0` |
| [tsdown](https://github.com/rolldown/tsdown) | `0.22.2` | `0.22.3` |


Updates `@kubb/cli` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/cli@4.39.1/packages/cli/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/cli@4.39.1/packages/cli)

Updates `@kubb/core` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/core@4.39.1/packages/core/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/core@4.39.1/packages/core)

Updates `@kubb/plugin-client` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-client@4.39.1/packages/plugin-client/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-client@4.39.1/packages/plugin-client)

Updates `@kubb/plugin-faker` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-faker@4.39.1/packages/plugin-faker/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-faker@4.39.1/packages/plugin-faker)

Updates `@kubb/plugin-oas` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-oas@4.39.1/packages/plugin-oas/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-oas@4.39.1/packages/plugin-oas)

Updates `@kubb/plugin-ts` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-ts@4.39.1/packages/plugin-ts/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-ts@4.39.1/packages/plugin-ts)

Updates `@kubb/plugin-zod` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-zod@4.39.1/packages/plugin-zod/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-zod@4.39.1/packages/plugin-zod)

Updates `@types/node` from 25.9.3 to 26.0.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `oxfmt` from 0.55.0 to 0.56.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.56.0/npm/oxfmt)

Updates `oxlint` from 1.70.0 to 1.71.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.71.0/npm/oxlint)

Updates `tsdown` from 0.22.2 to 0.22.3
- [Release notes](https://github.com/rolldown/tsdown/releases)
- [Commits](rolldown/tsdown@v0.22.2...v0.22.3)

---
updated-dependencies:
- dependency-name: "@kubb/cli"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/core"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-client"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-faker"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-oas"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-ts"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-zod"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@types/node"
  dependency-version: 26.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: development-dependencies
- dependency-name: oxfmt
  dependency-version: 0.56.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: oxlint
  dependency-version: 1.71.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: tsdown
  dependency-version: 0.22.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.25.8 [skip ci]

## [1.25.8](chrisdoc/hevy-mcp@v1.25.7...v1.25.8) (2026-06-23)

* chore: simplify dependabot grouping and weekly schedule (chrisdoc#366)

* chore(release): 1.25.9 [skip ci]

## [1.25.9](chrisdoc/hevy-mcp@v1.25.8...v1.25.9) (2026-06-23)

* chore(deps): bump @sentry/node in the production-dependencies group (chrisdoc#367)

Bumps the production-dependencies group with 1 update: [@sentry/node](https://github.com/getsentry/sentry-javascript).


Updates `@sentry/node` from 10.59.0 to 10.60.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md)
- [Commits](getsentry/sentry-javascript@10.59.0...10.60.0)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-version: 10.60.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump the development-dependencies group with 10 updates (chrisdoc#368)

Bumps the development-dependencies group with 10 updates:

| Package | From | To |
| --- | --- | --- |
| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.0.2` | `21.1.0` |
| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.0.2` | `21.1.0` |
| [@commitlint/prompt-cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/prompt-cli) | `21.0.2` | `21.1.0` |
| [@kubb/cli](https://github.com/kubb-labs/kubb/tree/HEAD/packages/cli) | `4.39.1` | `4.39.2` |
| [@kubb/core](https://github.com/kubb-labs/kubb/tree/HEAD/packages/core) | `4.39.1` | `4.39.2` |
| [@kubb/plugin-client](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-client) | `4.39.1` | `4.39.2` |
| [@kubb/plugin-faker](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-faker) | `4.39.1` | `4.39.2` |
| [@kubb/plugin-oas](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-oas) | `4.39.1` | `4.39.2` |
| [@kubb/plugin-ts](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-ts) | `4.39.1` | `4.39.2` |
| [@kubb/plugin-zod](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-zod) | `4.39.1` | `4.39.2` |


Updates `@commitlint/cli` from 21.0.2 to 21.1.0
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.1.0/@commitlint/cli)

Updates `@commitlint/config-conventional` from 21.0.2 to 21.1.0
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.1.0/@commitlint/config-conventional)

Updates `@commitlint/prompt-cli` from 21.0.2 to 21.1.0
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/prompt-cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.1.0/@commitlint/prompt-cli)

Updates `@kubb/cli` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/cli@4.39.2/packages/cli/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/cli@4.39.2/packages/cli)

Updates `@kubb/core` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/core@4.39.2/packages/core/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/core@4.39.2/packages/core)

Updates `@kubb/plugin-client` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-client@4.39.2/packages/plugin-client/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-client@4.39.2/packages/plugin-client)

Updates `@kubb/plugin-faker` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-faker@4.39.2/packages/plugin-faker/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-faker@4.39.2/packages/plugin-faker)

Updates `@kubb/plugin-oas` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-oas@4.39.2/packages/plugin-oas/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-oas@4.39.2/packages/plugin-oas)

Updates `@kubb/plugin-ts` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-ts@4.39.2/packages/plugin-ts/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-ts@4.39.2/packages/plugin-ts)

Updates `@kubb/plugin-zod` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-zod@4.39.2/packages/plugin-zod/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-zod@4.39.2/packages/plugin-zod)

---
updated-dependencies:
- dependency-name: "@commitlint/cli"
  dependency-version: 21.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@commitlint/config-conventional"
  dependency-version: 21.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@commitlint/prompt-cli"
  dependency-version: 21.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/cli"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@kubb/core"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-client"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-faker"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-oas"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-ts"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-zod"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.25.10 [skip ci]

## [1.25.10](chrisdoc/hevy-mcp@v1.25.9...v1.25.10) (2026-06-23)

* docs: add add-mcp setup instructions to README (chrisdoc#361)

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>

* chore(release): 1.25.11 [skip ci]

## [1.25.11](chrisdoc/hevy-mcp@v1.25.10...v1.25.11) (2026-06-23)

* chore(release): include all semantic commit types in notes (chrisdoc#370)

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>

* chore(release): 1.25.12 [skip ci]

## [1.25.12](chrisdoc/hevy-mcp@v1.25.11...v1.25.12) (2026-06-24)

* feat: make Sentry telemetry opt-in via SENTRY_DSN

Sentry only initializes when SENTRY_DSN is set, so neither the published
package nor this fork sends telemetry by default. Removes the hardcoded
upstream DSN (which sent fork users' errors/usage to upstream's project).

Add SENTRY_RELEASE and SENTRY_TRACES_SAMPLE_RATE overrides, tests for the
opt-in behavior, and docs in README/AGENTS.md.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net>
Co-authored-by: Christoph Kieslich <c.kieslich@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: charliecreates[bot] <198680274+charliecreates[bot]@users.noreply.github.com>
Co-authored-by: CharlieHelps <charlie@charlielabs.ai>
Co-authored-by: gitstream-cm[bot] <111687743+gitstream-cm[bot]@users.noreply.github.com>
aaearon added a commit to aaearon/hevy-mcp that referenced this pull request Jun 24, 2026
* chore(deps-dev): bump the development-dependencies group across 1 directory with 8 updates (chrisdoc#335)

Bumps the development-dependencies group with 8 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.0.1` | `21.0.2` |
| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.0.1` | `21.0.2` |
| [@commitlint/prompt-cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/prompt-cli) | `21.0.1` | `21.0.2` |
| [lefthook](https://github.com/evilmartians/lefthook) | `2.1.8` | `2.1.9` |
| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) | `0.51.0` | `0.53.0` |
| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.66.0` | `1.68.0` |
| [tsdown](https://github.com/rolldown/tsdown) | `0.22.0` | `0.22.2` |
| [tsx](https://github.com/privatenumber/tsx) | `4.22.3` | `4.22.4` |



Updates `@commitlint/cli` from 21.0.1 to 21.0.2
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/cli)

Updates `@commitlint/config-conventional` from 21.0.1 to 21.0.2
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/config-conventional)

Updates `@commitlint/prompt-cli` from 21.0.1 to 21.0.2
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/prompt-cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.0.2/@commitlint/prompt-cli)

Updates `lefthook` from 2.1.8 to 2.1.9
- [Release notes](https://github.com/evilmartians/lefthook/releases)
- [Changelog](https://github.com/evilmartians/lefthook/blob/master/CHANGELOG.md)
- [Commits](evilmartians/lefthook@v2.1.8...v2.1.9)

Updates `oxfmt` from 0.51.0 to 0.53.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.53.0/npm/oxfmt)

Updates `oxlint` from 1.66.0 to 1.68.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.68.0/npm/oxlint)

Updates `tsdown` from 0.22.0 to 0.22.2
- [Release notes](https://github.com/rolldown/tsdown/releases)
- [Commits](rolldown/tsdown@v0.22.0...v0.22.2)

Updates `tsx` from 4.22.3 to 4.22.4
- [Release notes](https://github.com/privatenumber/tsx/releases)
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs)
- [Commits](privatenumber/tsx@v4.22.3...v4.22.4)

---
updated-dependencies:
- dependency-name: "@commitlint/cli"
  dependency-version: 21.0.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@commitlint/config-conventional"
  dependency-version: 21.0.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@commitlint/prompt-cli"
  dependency-version: 21.0.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: lefthook
  dependency-version: 2.1.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: oxfmt
  dependency-version: 0.53.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: oxlint
  dependency-version: 1.68.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: tsdown
  dependency-version: 0.22.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: tsx
  dependency-version: 4.22.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.17 [skip ci]

## [1.23.17](chrisdoc/hevy-mcp@v1.23.16...v1.23.17) (2026-06-04)

* chore(deps): bump hono from 4.12.18 to 4.12.23 (chrisdoc#336)

Bumps [hono](https://github.com/honojs/hono) from 4.12.18 to 4.12.23.
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](honojs/hono@v4.12.18...v4.12.23)

---
updated-dependencies:
- dependency-name: hono
  dependency-version: 4.12.23
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.18 [skip ci]

## [1.23.18](chrisdoc/hevy-mcp@v1.23.17...v1.23.18) (2026-06-04)

* chore(deps): bump codecov/codecov-action (chrisdoc#337)

Bumps the observability-actions group with 1 update: [codecov/codecov-action](https://github.com/codecov/codecov-action).


Updates `codecov/codecov-action` from 6 to 7
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](codecov/codecov-action@v6...v7)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: observability-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.19 [skip ci]

## [1.23.19](chrisdoc/hevy-mcp@v1.23.18...v1.23.19) (2026-06-09)

* chore(deps): bump the production-dependencies group with 7 updates (chrisdoc#338)

Bumps the production-dependencies group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [@kubb/cli](https://github.com/kubb-labs/kubb/tree/HEAD/packages/cli) | `4.37.9` | `4.37.12` |
| [@kubb/core](https://github.com/kubb-labs/kubb/tree/HEAD/packages/core) | `4.37.9` | `4.37.12` |
| [@kubb/plugin-client](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-client) | `4.37.9` | `4.37.12` |
| [@kubb/plugin-faker](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-faker) | `4.37.9` | `4.37.12` |
| [@kubb/plugin-oas](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-oas) | `4.37.9` | `4.37.12` |
| [@kubb/plugin-ts](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-ts) | `4.37.9` | `4.37.12` |
| [@kubb/plugin-zod](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-zod) | `4.37.9` | `4.37.12` |


Updates `@kubb/cli` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/cli@4.37.12/packages/cli/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/cli@4.37.12/packages/cli)

Updates `@kubb/core` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/core@4.37.12/packages/core/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/core@4.37.12/packages/core)

Updates `@kubb/plugin-client` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-client@4.37.12/packages/plugin-client/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-client@4.37.12/packages/plugin-client)

Updates `@kubb/plugin-faker` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-faker@4.37.12/packages/plugin-faker/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-faker@4.37.12/packages/plugin-faker)

Updates `@kubb/plugin-oas` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-oas@4.37.12/packages/plugin-oas/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-oas@4.37.12/packages/plugin-oas)

Updates `@kubb/plugin-ts` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-ts@4.37.12/packages/plugin-ts/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-ts@4.37.12/packages/plugin-ts)

Updates `@kubb/plugin-zod` from 4.37.9 to 4.37.12
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-zod@4.37.12/packages/plugin-zod/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-zod@4.37.12/packages/plugin-zod)

---
updated-dependencies:
- dependency-name: "@kubb/cli"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@kubb/core"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@kubb/plugin-client"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@kubb/plugin-faker"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@kubb/plugin-oas"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@kubb/plugin-ts"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@kubb/plugin-zod"
  dependency-version: 4.37.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.20 [skip ci]

## [1.23.20](chrisdoc/hevy-mcp@v1.23.19...v1.23.20) (2026-06-09)

* chore(deps-dev): bump the development-dependencies group with 3 updates (chrisdoc#339)

Bumps the development-dependencies group with 3 updates: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) and [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint).


Updates `@types/node` from 25.9.1 to 25.9.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `oxfmt` from 0.53.0 to 0.54.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.54.0/npm/oxfmt)

Updates `oxlint` from 1.68.0 to 1.69.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.69.0/npm/oxlint)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 25.9.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: oxfmt
  dependency-version: 0.54.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: oxlint
  dependency-version: 1.69.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.21 [skip ci]

## [1.23.21](chrisdoc/hevy-mcp@v1.23.20...v1.23.21) (2026-06-09)

* chore(deps): bump shell-quote from 1.8.3 to 1.8.4 (chrisdoc#340)

Bumps [shell-quote](https://github.com/ljharb/shell-quote) from 1.8.3 to 1.8.4.
- [Changelog](https://github.com/ljharb/shell-quote/blob/main/CHANGELOG.md)
- [Commits](ljharb/shell-quote@v1.8.3...v1.8.4)

---
updated-dependencies:
- dependency-name: shell-quote
  dependency-version: 1.8.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.22 [skip ci]

## [1.23.22](chrisdoc/hevy-mcp@v1.23.21...v1.23.22) (2026-06-10)

* chore(deps-dev): bump esbuild from 0.28.0 to 0.28.1 (chrisdoc#343)

Bumps [esbuild](https://github.com/evanw/esbuild) from 0.28.0 to 0.28.1.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](evanw/esbuild@v0.28.0...v0.28.1)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-version: 0.28.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.23.23 [skip ci]

## [1.23.23](chrisdoc/hevy-mcp@v1.23.22...v1.23.23) (2026-06-13)

* Add tool annotations and fix body measurement payload handling (chrisdoc#342)

* fix: move dev-only kubb packages to devDependencies

Six @kubb/* packages were declared as runtime dependencies but are only
used by `npm run build:client` (kubb generate). Keeping them in
dependencies made `npx hevy-mcp` installs resolve their caret ranges
directly, which broke whenever an unpublished @kubb version was
referenced (chrisdoc#322). Only @kubb/plugin-client is imported at runtime by
the generated client, so it stays in dependencies.

Also syncs package-lock.json, which was missing yaml@2.9.0.

Fixes chrisdoc#322

https://claude.ai/code/session_01CuJWqXKY94msBi4cUgn1D8

* fix: accept partial body measurement inputs

Two bugs prevented valid body measurement writes (chrisdoc#341):

- Measurement fields used strict z.number(), rejecting numeric strings
  like "81.5" that some MCP clients send. They now use
  z.coerce.number() like the other tools, while null/undefined still
  short-circuit before coercion.
- buildMeasurementPayload() forwarded every omitted field as null,
  which the Hevy API rejects. Nullish fields are now omitted from the
  payload entirely, for both create and update.

Fixes chrisdoc#341

https://claude.ai/code/session_01CuJWqXKY94msBi4cUgn1D8

* feat: add get-user-info tool

Exposes the Hevy API's GET /v1/user/info endpoint, which existed in the
generated client but had no MCP tool. Returns the authenticated user's
ID, display name, and public profile URL — useful for verifying which
account an API key belongs to.

Also refreshes the README tools table, which was stale
(get-routine-by-id, missing body measurement and exercise template
tools).

https://claude.ai/code/session_01CuJWqXKY94msBi4cUgn1D8

* feat: add MCP tool annotations to all tools

Every tool now declares title, readOnlyHint, destructiveHint,
idempotentHint, and openWorldHint so MCP clients can render tools
properly and decide when calls are safe to auto-approve:

- get-*/search-* tools are marked read-only
- create-* tools are non-destructive, non-idempotent writes
- update-* tools are destructive (PUT-style overwrites) and idempotent
- delete-webhook-subscription is destructive and idempotent
- openWorldHint is false everywhere since the Hevy API is a closed
  domain limited to the authenticated user's data

Shared annotation factories live in src/utils/tool-annotations.ts and a
new annotations.test.ts asserts the policy for all 26 tools. Test
helpers now extract handlers position-independently so the added
registration argument doesn't break them.

https://claude.ai/code/session_01CuJWqXKY94msBi4cUgn1D8

* fix: harden body measurement input edge cases

Addresses PR chrisdoc#342 review feedback:

- Empty strings are treated as omitted instead of being coerced to 0
  by z.coerce.number().
- update-body-measurement now rejects calls without at least one
  non-null measurement field instead of sending an empty PUT body.
- Tool descriptions document that null values are treated as omitted,
  since the Hevy API rejects nulls and has no way to clear individual
  fields.

https://claude.ai/code/session_01CuJWqXKY94msBi4cUgn1D8

---------

Co-authored-by: Claude <noreply@anthropic.com>

* Hash Sentry user ID from Hevy API key (chrisdoc#345)

* fix: hash sentry user identifiers

* fix: avoid CodeQL API key hash alert

---------

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>

* ci: add commitlint check to github workflow and unify agent instructions

* chore: trigger release

* chore(release): 1.23.24 [skip ci]

## [1.23.24](chrisdoc/hevy-mcp@v1.23.23...v1.23.24) (2026-06-15)

* chore: update dependencies

* feat: fix sentry

* chore(release): 1.24.0 [skip ci]

# [1.24.0](chrisdoc/hevy-mcp@v1.23.24...v1.24.0) (2026-06-15)

### Features

* fix sentry ([728d9a0](chrisdoc@728d9a0))

* build: rebuild package with correct version on publish

* chore(deps): bump form-data from 4.0.5 to 4.0.6 (chrisdoc#346)

Bumps [form-data](https://github.com/form-data/form-data) from 4.0.5 to 4.0.6.
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](form-data/form-data@v4.0.5...v4.0.6)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 4.0.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.24.1 [skip ci]

## [1.24.1](chrisdoc/hevy-mcp@v1.24.0...v1.24.1) (2026-06-15)

* fix: align sentry release name with project@version pattern

* chore(release): 1.24.2 [skip ci]

## [1.24.2](chrisdoc/hevy-mcp@v1.24.1...v1.24.2) (2026-06-15)

### Bug Fixes

* align sentry release name with project@version pattern ([fa9613f](chrisdoc@fa9613f))

* feat: add MCP lifecycle and stdio parse observability (chrisdoc#348)

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>

* chore(release): 1.25.0 [skip ci]

# [1.25.0](chrisdoc/hevy-mcp@v1.24.2...v1.25.0) (2026-06-16)

### Features

* add MCP lifecycle and stdio parse observability ([chrisdoc#348](chrisdoc#348)) ([f7a816b](chrisdoc@f7a816b))

* Install docs-drift-maintainer daemon (chrisdoc#349)

Co-authored-by: charliecreates[bot] <198680274+charliecreates[bot]@users.noreply.github.com>

* Install pr-merge-conflict-repair daemon (chrisdoc#350)

Co-authored-by: charliecreates[bot] <198680274+charliecreates[bot]@users.noreply.github.com>

* Install pr-metadata daemon (chrisdoc#352)

Co-authored-by: charliecreates[bot] <198680274+charliecreates[bot]@users.noreply.github.com>

* Install pr-check-repair daemon (chrisdoc#351)

Co-authored-by: charliecreates[bot] <198680274+charliecreates[bot]@users.noreply.github.com>

* chore: ignore .agents directory in oxlint and oxfmt

* chore(release): 1.25.1 [skip ci]

## [1.25.1](chrisdoc/hevy-mcp@v1.25.0...v1.25.1) (2026-06-17)

* build: upgrade Node.js requirement to 26

* docs: document recent sentry observability changes (chrisdoc#353)

* docs: document recent sentry observability changes

* build: include .agents files in project checks

* Revert "build: include .agents files in project checks"

This reverts commit e8211d4.

---------

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>

* chore(release): 1.25.2 [skip ci]

## [1.25.2](chrisdoc/hevy-mcp@v1.25.1...v1.25.2) (2026-06-17)

* chore(deps): bump hono from 4.12.23 to 4.12.25 (chrisdoc#354)

Bumps [hono](https://github.com/honojs/hono) from 4.12.23 to 4.12.25.
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](honojs/hono@v4.12.23...v4.12.25)

---
updated-dependencies:
- dependency-name: hono
  dependency-version: 4.12.25
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.25.3 [skip ci]

## [1.25.3](chrisdoc/hevy-mcp@v1.25.2...v1.25.3) (2026-06-17)

* fix: remove kubb plugin-client from runtime deps (chrisdoc#356)

* chore(release): 1.25.4 [skip ci]

## [1.25.4](chrisdoc/hevy-mcp@v1.25.3...v1.25.4) (2026-06-19)

### Bug Fixes

* remove kubb plugin-client from runtime deps ([chrisdoc#356](chrisdoc#356)) ([61077ae](chrisdoc@61077ae))

* chore(deps-dev): bump undici from 6.24.1 to 6.27.0 (chrisdoc#357)

Bumps [undici](https://github.com/nodejs/undici) from 6.24.1 to 6.27.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](nodejs/undici@v6.24.1...v6.27.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 6.27.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.25.5 [skip ci]

## [1.25.5](chrisdoc/hevy-mcp@v1.25.4...v1.25.5) (2026-06-19)

* Add triage-sentry-issues daemon (chrisdoc#359)

* feat(agents): add triage-sentry-issues daemon

* fix(daemon): watch for new sentry issues

* Apply suggestions from code review

Co-authored-by: gitstream-cm[bot] <111687743+gitstream-cm[bot]@users.noreply.github.com>

---------

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>
Co-authored-by: Christoph Kieslich <c.kieslich@gmail.com>
Co-authored-by: gitstream-cm[bot] <111687743+gitstream-cm[bot]@users.noreply.github.com>

* chore(deps): bump actions/checkout in the github-core-actions group (chrisdoc#362)

Bumps the github-core-actions group with 1 update: [actions/checkout](https://github.com/actions/checkout).


Updates `actions/checkout` from 6 to 7
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-core-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.25.6 [skip ci]

## [1.25.6](chrisdoc/hevy-mcp@v1.25.5...v1.25.6) (2026-06-23)

* chore(deps): bump the production-dependencies group with 2 updates (chrisdoc#363)

Bumps the production-dependencies group with 2 updates: [@sentry/node](https://github.com/getsentry/sentry-javascript) and [axios](https://github.com/axios/axios).


Updates `@sentry/node` from 10.58.0 to 10.59.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md)
- [Commits](getsentry/sentry-javascript@10.58.0...10.59.0)

Updates `axios` from 1.18.0 to 1.18.1
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](axios/axios@v1.18.0...v1.18.1)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-version: 10.59.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
- dependency-name: axios
  dependency-version: 1.18.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.25.7 [skip ci]

## [1.25.7](chrisdoc/hevy-mcp@v1.25.6...v1.25.7) (2026-06-23)

* chore(deps-dev): bump the development-dependencies group with 11 updates (chrisdoc#364)

Bumps the development-dependencies group with 11 updates:

| Package | From | To |
| --- | --- | --- |
| [@kubb/cli](https://github.com/kubb-labs/kubb/tree/HEAD/packages/cli) | `4.38.0` | `4.39.1` |
| [@kubb/core](https://github.com/kubb-labs/kubb/tree/HEAD/packages/core) | `4.38.0` | `4.39.1` |
| [@kubb/plugin-client](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-client) | `4.38.0` | `4.39.1` |
| [@kubb/plugin-faker](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-faker) | `4.38.0` | `4.39.1` |
| [@kubb/plugin-oas](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-oas) | `4.38.0` | `4.39.1` |
| [@kubb/plugin-ts](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-ts) | `4.38.0` | `4.39.1` |
| [@kubb/plugin-zod](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-zod) | `4.38.0` | `4.39.1` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.9.3` | `26.0.0` |
| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) | `0.55.0` | `0.56.0` |
| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.70.0` | `1.71.0` |
| [tsdown](https://github.com/rolldown/tsdown) | `0.22.2` | `0.22.3` |


Updates `@kubb/cli` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/cli@4.39.1/packages/cli/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/cli@4.39.1/packages/cli)

Updates `@kubb/core` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/core@4.39.1/packages/core/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/core@4.39.1/packages/core)

Updates `@kubb/plugin-client` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-client@4.39.1/packages/plugin-client/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-client@4.39.1/packages/plugin-client)

Updates `@kubb/plugin-faker` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-faker@4.39.1/packages/plugin-faker/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-faker@4.39.1/packages/plugin-faker)

Updates `@kubb/plugin-oas` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-oas@4.39.1/packages/plugin-oas/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-oas@4.39.1/packages/plugin-oas)

Updates `@kubb/plugin-ts` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-ts@4.39.1/packages/plugin-ts/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-ts@4.39.1/packages/plugin-ts)

Updates `@kubb/plugin-zod` from 4.38.0 to 4.39.1
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-zod@4.39.1/packages/plugin-zod/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-zod@4.39.1/packages/plugin-zod)

Updates `@types/node` from 25.9.3 to 26.0.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `oxfmt` from 0.55.0 to 0.56.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.56.0/npm/oxfmt)

Updates `oxlint` from 1.70.0 to 1.71.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.71.0/npm/oxlint)

Updates `tsdown` from 0.22.2 to 0.22.3
- [Release notes](https://github.com/rolldown/tsdown/releases)
- [Commits](rolldown/tsdown@v0.22.2...v0.22.3)

---
updated-dependencies:
- dependency-name: "@kubb/cli"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/core"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-client"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-faker"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-oas"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-ts"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-zod"
  dependency-version: 4.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@types/node"
  dependency-version: 26.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: development-dependencies
- dependency-name: oxfmt
  dependency-version: 0.56.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: oxlint
  dependency-version: 1.71.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: tsdown
  dependency-version: 0.22.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.25.8 [skip ci]

## [1.25.8](chrisdoc/hevy-mcp@v1.25.7...v1.25.8) (2026-06-23)

* chore: simplify dependabot grouping and weekly schedule (chrisdoc#366)

* chore(release): 1.25.9 [skip ci]

## [1.25.9](chrisdoc/hevy-mcp@v1.25.8...v1.25.9) (2026-06-23)

* chore(deps): bump @sentry/node in the production-dependencies group (chrisdoc#367)

Bumps the production-dependencies group with 1 update: [@sentry/node](https://github.com/getsentry/sentry-javascript).


Updates `@sentry/node` from 10.59.0 to 10.60.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md)
- [Commits](getsentry/sentry-javascript@10.59.0...10.60.0)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-version: 10.60.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump the development-dependencies group with 10 updates (chrisdoc#368)

Bumps the development-dependencies group with 10 updates:

| Package | From | To |
| --- | --- | --- |
| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.0.2` | `21.1.0` |
| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.0.2` | `21.1.0` |
| [@commitlint/prompt-cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/prompt-cli) | `21.0.2` | `21.1.0` |
| [@kubb/cli](https://github.com/kubb-labs/kubb/tree/HEAD/packages/cli) | `4.39.1` | `4.39.2` |
| [@kubb/core](https://github.com/kubb-labs/kubb/tree/HEAD/packages/core) | `4.39.1` | `4.39.2` |
| [@kubb/plugin-client](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-client) | `4.39.1` | `4.39.2` |
| [@kubb/plugin-faker](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-faker) | `4.39.1` | `4.39.2` |
| [@kubb/plugin-oas](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-oas) | `4.39.1` | `4.39.2` |
| [@kubb/plugin-ts](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-ts) | `4.39.1` | `4.39.2` |
| [@kubb/plugin-zod](https://github.com/kubb-labs/kubb/tree/HEAD/packages/plugin-zod) | `4.39.1` | `4.39.2` |


Updates `@commitlint/cli` from 21.0.2 to 21.1.0
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.1.0/@commitlint/cli)

Updates `@commitlint/config-conventional` from 21.0.2 to 21.1.0
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.1.0/@commitlint/config-conventional)

Updates `@commitlint/prompt-cli` from 21.0.2 to 21.1.0
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/prompt-cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.1.0/@commitlint/prompt-cli)

Updates `@kubb/cli` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/cli@4.39.2/packages/cli/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/cli@4.39.2/packages/cli)

Updates `@kubb/core` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/core@4.39.2/packages/core/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/core@4.39.2/packages/core)

Updates `@kubb/plugin-client` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-client@4.39.2/packages/plugin-client/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-client@4.39.2/packages/plugin-client)

Updates `@kubb/plugin-faker` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-faker@4.39.2/packages/plugin-faker/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-faker@4.39.2/packages/plugin-faker)

Updates `@kubb/plugin-oas` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-oas@4.39.2/packages/plugin-oas/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-oas@4.39.2/packages/plugin-oas)

Updates `@kubb/plugin-ts` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-ts@4.39.2/packages/plugin-ts/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-ts@4.39.2/packages/plugin-ts)

Updates `@kubb/plugin-zod` from 4.39.1 to 4.39.2
- [Release notes](https://github.com/kubb-labs/kubb/releases)
- [Changelog](https://github.com/kubb-labs/kubb/blob/@kubb/plugin-zod@4.39.2/packages/plugin-zod/CHANGELOG.md)
- [Commits](https://github.com/kubb-labs/kubb/commits/@kubb/plugin-zod@4.39.2/packages/plugin-zod)

---
updated-dependencies:
- dependency-name: "@commitlint/cli"
  dependency-version: 21.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@commitlint/config-conventional"
  dependency-version: 21.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@commitlint/prompt-cli"
  dependency-version: 21.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: "@kubb/cli"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@kubb/core"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-client"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-faker"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-oas"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-ts"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: "@kubb/plugin-zod"
  dependency-version: 4.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(release): 1.25.10 [skip ci]

## [1.25.10](chrisdoc/hevy-mcp@v1.25.9...v1.25.10) (2026-06-23)

* docs: add add-mcp setup instructions to README (chrisdoc#361)

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>

* chore(release): 1.25.11 [skip ci]

## [1.25.11](chrisdoc/hevy-mcp@v1.25.10...v1.25.11) (2026-06-23)

* chore(release): include all semantic commit types in notes (chrisdoc#370)

Co-authored-by: CharlieHelps <charlie@charlielabs.ai>

* chore(release): 1.25.12 [skip ci]

## [1.25.12](chrisdoc/hevy-mcp@v1.25.11...v1.25.12) (2026-06-24)

* feat: declare outputSchema and return structuredContent for tools

Migrate all JSON-returning MCP tools from server.tool to server.registerTool
with a declared outputSchema, and return structuredContent alongside the text
content. Modern MCP clients (e.g. claude.ai Connectors) get a typed, validated
structured channel.

- formatters.ts: Zod schemas are now the source of truth; FormattedX types are
  derived via z.infer, so formatter/schema drift fails at compile time.
- response-formatter.ts: createJsonResponse also emits structuredContent for
  object payloads (arrays/primitives unchanged for back-compat).
- Each tool wraps its payload in a named key matching its outputSchema key;
  empty lists return the wrapped empty array; not-found/failure paths throw
  (becoming isError responses the SDK does not output-validate); plain-text
  tools keep no outputSchema.
- Add src/tools/output-schema-validation.test.ts: drives every schema-bearing
  tool's success path and asserts structuredContent validates against its
  declared outputSchema (the SDK check that per-tool unit tests skip).
- Docs: AGENTS.md tool-implementation pattern updated.

270 unit tests pass; check:types, oxlint/oxfmt, and build all green.

* test(integration): assert wrapped get-workouts shape and structuredContent

get-workouts now returns { workouts: [...] } with a matching outputSchema; the
integration test (real McpServer + InMemoryTransport) validates the workouts
array and that structuredContent mirrors the text content. Verified against the
live Hevy API.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net>
Co-authored-by: Christoph Kieslich <c.kieslich@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: charliecreates[bot] <198680274+charliecreates[bot]@users.noreply.github.com>
Co-authored-by: CharlieHelps <charlie@charlielabs.ai>
Co-authored-by: gitstream-cm[bot] <111687743+gitstream-cm[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Review production dependency audit findings

2 participants