Add triage-sentry-issues daemon - #359
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #359 +/- ##
=======================================
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. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
✨ PR Review
The daemon definition is well-structured and includes clear idempotency rules and deny guards. A few gaps around operational scope, schedule timezone, and idempotency robustness are worth addressing before deployment.
3 issues detected:
🐞 Bug - No Sentry organization or project filter is defined, so the daemon has unbounded read and comment access across all visible projects.
Details: The daemon never specifies which Sentry organization(s) or project(s) it is allowed to operate on. Without an explicit allow-list, the agent could scan every project visible to whatever credentials it runs under, triggering unintended API usage, unexpected comment noise on unrelated projects, and potential data-access violations.
File: .agents/daemons/triage-sentry-issues/DAEMON.md (1-16)
🐞 Bug - Relying on a human-readable header string as the sole idempotency key is fragile and can be spoofed or missed, leading to duplicate or skipped triage updates. 🛠️
Details: The idempotency check (line 64) instructs the daemon to "inspect prior Charlie triage comments," but the comment format uses only a generic **Triage update** header with no unique machine-readable marker. Any person or bot that happens to post a comment starting with that string would satisfy the check, causing the daemon to skip a legitimate update. Conversely, if the daemon's own past comments ever differ slightly in phrasing, it may duplicate updates.
File: .agents/daemons/triage-sentry-issues/DAEMON.md (51-64)
🛠️ A suggested code correction is included in the review comments.
🐞 Bug - No timezone is specified, so the effective run time is undefined and scheduler-dependent.
Details: The cron expression 0 10 * * 1-5 has no associated timezone. Depending on the scheduler's default (often UTC), this could fire at 10:00 UTC rather than the team's local business hours, making the triage output stale or poorly timed relative to developer standups.
File: .agents/daemons/triage-sentry-issues/DAEMON.md (4-4)
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
|
| - Identify high-signal unresolved or regressed Sentry issues using event/user impact, recency, and production-environment relevance. | ||
| - Correlate each candidate with release and repository context, including suspect commits, recent pull requests, and touched files. | ||
| - Post one concise triage update on the Sentry issue only when new evidence materially changes likely scope, ownership clues, or next debugging action. |
There was a problem hiding this comment.
This scheduled daemon can select any high-signal Sentry issue that the integration can see. If Charlie has access to more than this repo's Sentry project, it can post triage comments on unrelated projects and correlate those issues with the wrong repository context. Add an explicit project, release, or repository match requirement, and no-op when that mapping is unavailable.
| Post at most one concise Sentry comment per issue per activation, and only when the evidence changed materially. | ||
|
|
||
| Use this format: | ||
|
|
||
| ```md | ||
| **Triage update** | ||
|
|
||
| Signal: <current impact and trend> | ||
| Release/repo context: <suspect release window, commits, or PRs> | ||
| Most likely area: <module/file/owner clue from stack traces or changes> | ||
| Next step: <single recommended debugging or validation action> | ||
| Evidence: <up to 3 links or references> |
There was a problem hiding this comment.
The daemon runs every weekday, but the required comment format only stores free-form prose. When the same evidence is summarized with slightly different wording or link order, the next run has no stable key to compare and can post another equivalent triage update. Include a durable evidence marker, such as issue id, release, top frame, suspect commits, and trend bucket, and compare that before posting.
| Before posting, inspect prior Charlie triage comments on the same Sentry issue. | ||
|
|
||
| No-op when an equivalent update already exists for the same evidence state. Post a follow-up only if at least one material change is true: |
There was a problem hiding this comment.
The idempotency check only looks at prior Charlie triage comments, even though the deny rule says not to post an equivalent update when evidence has not changed. If a human, Sentry automation, or another daemon already posted the same evidence and next step, this daemon can still add a duplicate comment. The check should compare the current evidence state against recent relevant comments, not only Charlie-authored ones.
|
@CharlieHelps this misses the watch condition, to watch for new sentry issues |
|
Good catch — I missed that. I added an explicit watch condition for new Sentry issues in Also re-ran checks with |
There was a problem hiding this comment.
✨ PR Review
The daemon spec is well-structured and the deny/no-op rules are thoughtful. The three previously-identified issues (missing org/project allow-list, non-unique idempotency marker, and missing timezone on the cron) remain unresolved. One additional new issue was identified around the watch trigger.
1 issues detected:
🐞 Bug - A newly-created Sentry issue can never satisfy the high-signal candidate criteria, making every watch-triggered activation a guaranteed no-op that still burns API calls.
Details: The watch trigger fires on every new Sentry issue creation, but the candidate-signal criteria (lines 24–31) require established patterns such as "high or rising event volume," "repeated occurrences across sessions," and issues that are "unresolved or regressed." A brand-new issue has none of this history, so the watch-triggered run will almost always evaluate candidates, find the new issue unqualified, and no-op — while still consuming Sentry and repository API quota on every single issue creation event. For organizations with high error rates this could mean hundreds of spurious daemon activations per day.
File: .agents/daemons/triage-sentry-issues/DAEMON.md (5-6)
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
| watch: | ||
| - A new Sentry issue is created. |
There was a problem hiding this comment.
The only watched Sentry event is new issue creation, but this daemon is meant to triage unresolved or regressed issues whose impact changes over time. When an existing production issue sharply worsens after a release, an event-scoped activation can miss it because no new issue was created. Make the daemon either purely scheduled so it scans unresolved high-signal issues each run, or include regression/worsening events in the trigger scope.
|
|
||
| ## Update/comment format | ||
|
|
||
| Post at most one concise Sentry comment per issue per activation, and only when the evidence changed materially. |
There was a problem hiding this comment.
The scheduled path does not define a checkpoint, lookback window, or per-run cap. On the first weekday activation, the daemon can treat every visible high-signal unresolved or regressed Sentry issue as in scope and post one comment on each issue. The existing idempotency rule only prevents repeats after a comment already exists, so it does not prevent an initial batch of comments across old backlog issues. Add a bounded discovery rule such as issues first seen or regressed since the previous successful activation, with a small fallback window and candidate limit.
| Before posting, inspect prior Charlie triage comments on the same Sentry issue. | ||
|
|
||
| No-op when an equivalent update already exists for the same evidence state. Post a follow-up only if at least one material change is true: |
There was a problem hiding this comment.
This daemon can run from both the weekday schedule and the new-issue trigger, but the posting rule only says to inspect prior comments before posting. If two activations handle the same issue at the same time, both can inspect before either comment exists and then both post equivalent triage updates. Require a final re-check or durable claim/evidence marker immediately before posting so concurrent activations cannot produce duplicate comments.
Co-authored-by: gitstream-cm[bot] <111687743+gitstream-cm[bot]@users.noreply.github.com>
There was a problem hiding this comment.
✨ PR Review
The daemon definition is well-structured with clear candidate signals, research policy, deny rules, and a machine-readable comment marker that resolves a previous idempotency concern. One structural defect was found that could affect how the agent interprets the document.
1 issues detected:
🐞 Bug - The markdown code fence opened at line 52 is never closed, causing the "## No-op behavior" section and its bullet conditions to be rendered as raw code rather than structured instructions.
Details: The fenced code block opened at line 52 (```md) is never closed with a matching ```. As a result, everything that follows — including the no-op criteria (lines 62–67) and the entire "## No-op behavior" section (lines 69–77) — is swallowed into the code block body. In rendered markdown these lines appear as literal code, not as behavioral rules. An agent parsing the rendered document could treat the no-op conditions as part of the comment template it should post rather than as execution-time guard clauses, causing it to paste the "No-op when…" block into every Sentry comment it creates.
File: .agents/daemons/triage-sentry-issues/DAEMON.md (52-77)
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
| ```md | ||
| <!-- charlie:triage-sentry id:triage-sentry-issues --> | ||
| **Triage update** | ||
|
|
||
| Signal: <current impact and trend> | ||
| Release/repo context: <suspect release window, commits, or PRs> | ||
| Most likely area: <module/file/owner clue from stack traces or changes> | ||
| Next step: <single recommended debugging or validation action> | ||
| Evidence: <up to 3 links or references> |
There was a problem hiding this comment.
The Markdown fence opened for the sample Sentry comment is never closed. That makes the idempotency/material-change rules and the whole no-op section part of the example comment body, so the daemon can include those policy lines in Sentry comments instead of treating them as instructions. Close the fence after the Evidence: line so the duplicate-check and no-op rules remain operative policy.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
* 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>
* 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>
Summary
.agents/daemons/triage-sentry-issues/DAEMON.md.Resolves #358
✨ PR Description
Purpose: Add daemon specification for automated Sentry issue triage with release/repository context correlation and evidence-based commenting.
Main changes:
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