Add PR Merge Conflict Repair daemon - #350
Conversation
There was a problem hiding this comment.
✨ PR Review
LGTM
Generated by LinearB AI and added by gitStream.
AI-generated content may contain inaccuracies. Please verify before using.
💡 Tip: You can customize your AI Review using Guidelines Learn how
Greptile SummaryThis PR installs a Charlie daemon (
Confidence Score: 4/5Safe to merge with low risk — only new files in The daemon won't activate until merged and ingested by Charlie, so there is no immediate production impact. The one notable concern is that the routine instructs Charlie to run the script with
Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Default branch push detected] --> B[Run find-conflicted-pulls.ts]
B --> C{Any CONFLICTING\nnon-draft PRs?}
C -- No --> D[No-op / silent stop]
C -- Yes --> E[For each conflicted PR]
E --> F[Re-fetch remote PR head\n& current base branch]
F --> G{Remote head\nchanged?}
G -- Yes --> H[Stop / no-op for this PR]
G -- No --> I{Resolution clear\nfrom context?}
I -- No --> J[Comment with\nblocking reason]
I -- Yes --> K[Resolve conflict]
K --> L[Run focused verification]
L --> M[Push to existing PR branch]
M --> N{More PRs?}
N -- Yes --> E
N -- No --> O[Done]
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
A[Default branch push detected] --> B[Run find-conflicted-pulls.ts]
B --> C{Any CONFLICTING\nnon-draft PRs?}
C -- No --> D[No-op / silent stop]
C -- Yes --> E[For each conflicted PR]
E --> F[Re-fetch remote PR head\n& current base branch]
F --> G{Remote head\nchanged?}
G -- Yes --> H[Stop / no-op for this PR]
G -- No --> I{Resolution clear\nfrom context?}
I -- No --> J[Comment with\nblocking reason]
I -- Yes --> K[Resolve conflict]
K --> L[Run focused verification]
L --> M[Push to existing PR branch]
M --> N{More PRs?}
N -- Yes --> E
N -- No --> O[Done]
Reviews (1): Last reviewed commit: "Install pr-merge-conflict-repair daemon" | Re-trigger Greptile |
| --- | ||
| id: pr-merge-conflict-repair |
There was a problem hiding this comment.
PR title doesn't follow the required conventional commit format
CLAUDE.md and AGENTS.md both require all PRs and AI-generated commits to use conventional commit format (e.g. feat: add PR merge conflict repair daemon). The current title "Add PR Merge Conflict Repair daemon" will not be parsed correctly by semantic-release if squash-merged, potentially skipping a version bump or release note entry.
Context Used: CLAUDE.md (source)
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!
| watch: | ||
| - A GitHub push updates the repository default branch. | ||
| routines: | ||
| - Run `bun .agents/daemons/pr-merge-conflict-repair/scripts/find-conflicted-pulls.ts` to find open non-draft PRs with mergeability state `CONFLICTING`. |
There was a problem hiding this comment.
bun runtime assumed but not guaranteed in this project
The project's CLAUDE.md declares npm and Node.js v24+ as the runtime. The routine hard-codes bun to execute the TypeScript script directly. If the environment where Charlie runs does not have bun installed, the daemon will fail immediately on every activation. Consider confirming that bun is available in Charlie's execution environment, or add a node --import tsx / npx tsx fallback if the intent is to align with the project's existing runtime.
| endCursor: string | null; | ||
| }> { | ||
| const parsed: unknown = JSON.parse(raw); | ||
| const root = expectRecord(parsed, "response"); | ||
|
|
||
| const errors = root.errors; | ||
| if (Array.isArray(errors) && errors.length > 0) { | ||
| throw new TypeError(`GitHub GraphQL errors: ${JSON.stringify(errors)}`); | ||
| } | ||
|
|
||
| const data = expectRecord(root.data, "response.data"); | ||
| const repository = expectRecord(data.repository, "response.data.repository"); | ||
| const defaultBranchRef = expectRecord( |
There was a problem hiding this comment.
pagesFetched: 1 in parseGraphqlResponse is a dead value
parseGraphqlResponse returns a type that extends FetchResult (which requires pagesFetched), so it hard-codes pagesFetched: 1. However, fetchOpenPullRequests never reads page.pagesFetched — it tracks the count independently with its own pagesFetched counter. The field silently satisfies the type but is misleading; a reader might assume the returned value is meaningful. Returning pagesFetched: 0 or splitting the return type to omit the field would make the intent clearer.
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
This PR installs the
pr-merge-conflict-repairCharlie daemon to.agents/daemons/pr-merge-conflict-repair/DAEMON.md. It was generated by Charlie from thepr-merge-conflict-repairexample.The daemon won't start working until it's merged to the repo's default branch.
What Charlie daemons are
Charlie is an async engineering teammate that works in the tools your team already uses. In GitHub, Charlie can inspect code, review changes, propose patches, open PRs, and comment with findings. With connected integrations, Charlie can also use Linear, Slack, and Sentry context to understand issues, conversations, alerts, and follow-up work.
A daemon is a recurring role for Charlie. Instead of waiting for someone to mention Charlie every time the same kind of maintenance work appears, the repo contains a small role definition that tells Charlie when to wake up and what job to do.
This PR adds that role at
.agents/daemons/pr-merge-conflict-repair/DAEMON.md. The file controls:watchconditions or aschedulepurposeandroutinesdenyrules and body guidanceAfter this PR is merged and Charlie ingests the default-branch version, the daemon can start handling that recurring work inside the limits defined in
DAEMON.md.Learn more: https://docs.charlielabs.ai/daemons
What this daemon does
DAEMON.mdpurpose:This daemon’s configured routines are:
bun .agents/daemons/pr-merge-conflict-repair/scripts/find-conflicted-pulls.tsto find open non-draft PRs with mergeability stateCONFLICTING.When this daemon can activate
This PR only installs daemon files. The daemon becomes eligible for live activations after both are true:
DAEMON.mdWatch conditions
Charlie may wake this daemon when these
watchconditions match:Integrations and setup
This daemon requires these integrations to work as intended:
githubSet up or configure integrations here:
https://dash.charlielabs.ai/organizations/chrisdoc/integrations
Review and iterate before merging
Before merging, review the installed
DAEMON.mdand confirm that:purposematches the recurring work you want Charlie to ownwatchconditions and/orscheduleare narrow enough for initial rolloutroutinesare concrete and boundeddenyrules cover actions Charlie should not takeYou can ask Charlie on this PR to adjust the daemon before merging. Just leave a comment mentioning
@CharlieHelps.For rollout and iteration guidance:
https://docs.charlielabs.ai/daemons/testing-and-iterating-on-daemons
Activity and future tuning
After this daemon is merged and ingested, you can review daemon activity here:
https://dash.charlielabs.ai/organizations/chrisdoc/activity?daemonId=pr-merge-conflict-repair
To browse more daemon examples:
https://github.com/charlie-labs/daemons/blob/master/README.md
✨ PR Description
Purpose: Introduce PR merge conflict detection daemon with discovery script to identify and track conflicted pull requests across repository branches.
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