github chrisdoc/hevy-mcp hevy-mcp@6.1.11

3 hours ago

Patch Changes

  • #1104 99f2e43 Thanks @chrisdoc! - Expose the complete native Effect request client through the internal seam while preserving the public Promise client.

  • #1116 62320b0 Thanks @chrisdoc! - Route operations-only MCP runtimes through the shared catalog service.

  • #1104 99f2e43 Thanks @chrisdoc! - Add an Effect-first training summary workflow with deterministic UTC scans.

  • #1120 82ca0c9 Thanks @chrisdoc! - Route CLI domain commands through the shared Effect-first Hevy operations and
    preserve summary and search behavior across the operations boundary.

  • #1104 99f2e43 Thanks @chrisdoc! - Move shared mutation payload builders and Hevy mutation quirks into operations.

  • #1123 e60f5b5 Thanks @chrisdoc! - Document the scoped Effect runtime and preserve the Promise-based Node entry points.

  • #1104 99f2e43 Thanks @chrisdoc! - Document the Effect-first operations layer while keeping the public Node and CLI adapters Promise-shaped.

  • #1104 99f2e43 Thanks @chrisdoc! - Use Effect scheduling as the typed retry timing seam for the Hevy client.

  • #1104 99f2e43 Thanks @chrisdoc! - Keep exercise-template catalog lookups in a server-scoped Effect cache.

  • #1126 abbb385 Thanks @chrisdoc! - Streamline CLI startup error handling and tests to run in-process without process-spawn overhead.

  • #1104 99f2e43 Thanks @chrisdoc! - Optimize test suite execution by using fake timers for retry backoff delays.

  • #1123 e60f5b5 Thanks @chrisdoc! - Fix Streamable HTTP session lifecycle: interrupt idle-eviction fibers asynchronously instead of blocking synchronously, remove graceful-shutdown signal listeners after a close timeout, and record the "unknown" termination metric when session cleanup fails with no session established.

  • #1104 99f2e43 Thanks @chrisdoc! - Isolate Effect retry schedule state so concurrent and sequential requests keep independent retry indexes.

  • #1116 62320b0 Thanks @chrisdoc! - Provide the core Effect service layer through request-local MCP tool runtimes.

  • #1104 99f2e43 Thanks @chrisdoc! - Expose the Hevy request Effect through a curated internal client subpath while
    keeping the public client Promise-only.

  • #1136 affc598 Thanks @chrisdoc! - Reduce idle session eviction timeout in streamable HTTP test to improve test execution speed.

  • #1141 cebd280 Thanks @chrisdoc! - Deduplicate operation construction: one operation factory with derived tracing spans, unconditional options passthrough, and shared read-outcome, page-echo, and pagination helpers.

  • #1137 4cc3d2b Thanks @chrisdoc! - fix(core): preserve operation domain errors in failure channel instead of converting them to unhandled defects. Domain errors from @hevy-mcp/operations (WorkoutPrivacyError, WorkoutPayloadError, PaginationMismatchError, EmptyMeasurementUpdateError, TrainingSummaryValidationError, TrainingSummaryDataError) are now included in CoreToolError and recognized by isCoreToolError, allowing tool error handlers to surface typed domain messages. In runBoundedExecution, unexpected defects are logged and re-thrown with their message rather than generic failure text.

  • #1104 99f2e43 Thanks @chrisdoc! - Move typed Effect HTTP errors to the client package and centralize pure read-error classification.

  • #1104 99f2e43 Thanks @chrisdoc! - Add Effect-first workout writes, events, and count operations.

  • #1104 99f2e43 Thanks @chrisdoc! - Add Effect-first body measurement read and write operations.

  • #1104 99f2e43 Thanks @chrisdoc! - Compose read operations directly from the internal request Effect while
    preserving their public Promise API.

  • #1104 99f2e43 Thanks @chrisdoc! - Let Effect schedules own Hevy client retry backoff waits.

  • #1138 a40d322 Thanks @chrisdoc! - perf(core, hevy-client): replace Zod safeParse runtime predicates with Effect Predicate module. Replaced custom Zod schemas and safeParse calls in packages/core/src/utils/type-predicates.ts and packages/hevy-client/src/hevy-client-kubb.ts with Effect's native Predicate module (isString, isNumber, isBoolean, isObject, isFunction), eliminating repeated parsing allocations in the hot request path.

  • #1104 99f2e43 Thanks @chrisdoc! - Preserve sanitized request identity (method and canonical endpoint) on tagged
    NetworkError diagnostics for statusless fetch failures.

  • #1123 e60f5b5 Thanks @chrisdoc! - Preserve approved CLI argument and invalid API-key startup messages while keeping unexpected errors behind safe diagnostics.

  • #1104 99f2e43 Thanks @chrisdoc! - Scope core server construction and finalize the exercise-template catalog with the server lifecycle.

  • #1123 e60f5b5 Thanks @chrisdoc! - Use Effect callback interruption for HTTP request bodies and semaphore-backed session initialization admission.

  • #1123 e60f5b5 Thanks @chrisdoc! - Own Node startup and shutdown resources with one scoped lifecycle owner while preserving Promise startup and direct close behavior.

  • #1104 99f2e43 Thanks @chrisdoc! - Share the internal AbortSignal-to-fiber interruption bridge between the
    runtime-neutral client and Worker validation cache.

  • #1104 99f2e43 Thanks @chrisdoc! - Share in-flight exercise-template catalog loads while keeping individual request cancellation isolated.

  • #1104 99f2e43 Thanks @chrisdoc! - Normalize paginated operations, recover only endpoint-scoped expected 404s, and report page mismatches as tagged errors.

  • #1104 99f2e43 Thanks @chrisdoc! - Complete the request-local Effect retry interpreter while preserving client and adapter behavior.

  • #1123 e60f5b5 Thanks @chrisdoc! - Own Streamable HTTP sessions with server and child Effect scopes while preserving
    session admission, disconnect, idle eviction, and shutdown behavior.

  • #1104 99f2e43 Thanks @chrisdoc! - Add Effect-first routine creation, updates, and paginated title search.

  • #1104 99f2e43 Thanks @chrisdoc! - Map internal Effect client HTTP and transport failures to discriminable tagged errors while preserving the public Promise client error behavior.

  • #1123 e60f5b5 Thanks @chrisdoc! - Make telemetry initialization best-effort so provider failures do not prevent Node transports from starting.

  • #1116 62320b0 Thanks @chrisdoc! - Preserve typed deadline and cancellation failures while loading exercise templates.

  • #1140 18d2949 Thanks @chrisdoc! - Harden Effect type safety: narrow the request error channel to tagged errors, surface bounded-execution timeouts as typed deadline failures, validate template search pagination, and return template list results as an explicit struct.

  • #1145 1080685 Thanks @chrisdoc! - Governance pass: rebalance hooks (cached unit lane on pre-commit, full check on pre-push), enforce knip, drop the dead client primitives barrel, and document boundaries and PR expectations.

  • #1123 e60f5b5 Thanks @chrisdoc! - Adopt Effect-scoped process lifecycle and bounded graceful shutdown for the Node adapter.

  • #1151 131da8e Thanks @chrisdoc! - Restore the fresh-budget deadline retry for timed-out reads. The Effect runtime
    migration dropped the extended operation deadline, so a read whose first attempt
    overshot its timeout could starve the retry before dispatch and skip the second
    fetch.

  • #1116 62320b0 Thanks @chrisdoc! - Preserve tagged Effect failures through MCP tool and resource boundaries.

  • #1104 99f2e43 Thanks @chrisdoc! - Add Effect-first template, folder, and user operations with paginated catalogs.

  • #1123 e60f5b5 Thanks @chrisdoc! - Make Node process listener acquisition transactional and preserve startup errors during rollback.

  • #1123 e60f5b5 Thanks @chrisdoc! - Use tagged core errors at the MCP tool collapse boundary, including bounded
    invalid-argument, missing-client, and unavailable-operation failures.

  • #1104 99f2e43 Thanks @chrisdoc! - Upgrade workspace dependencies and regenerate client with Kubb.

  • #1140 18d2949 Thanks @chrisdoc! - Preserve the fetched template page count through the exercise catalog cache instead of recomputing it from the cached item count.

  • #1142 7969bd8 Thanks @chrisdoc! - Simplify Effect runtime usage: one abort-signal bridge, compiler-checked error vocabulary, a single cause-normalization boundary, lazy service layers, Effect-native catalog lifecycle, and shared response pagination.

Don't miss a new hevy-mcp release

NewReleases is sending notifications on new releases.