Skip to content

v0.3.17

@cyanheads cyanheads tagged this 16 May 18:39
Adopts @cyanheads/mcp-ts-core ^0.8.19 → ^0.9.1 (15 intermediate releases
including the breaking 0.9.0 cut). No tool or resource surface changes —
behavioral changes limited to error-code mapping and the `initialize`
instructions payload.

Highlights:
- Server-level `instructions` wired through createApp() in src/index.ts;
  surfaces on every MCP initialize so spec-compliant clients forward it
  to the model as session-level context instead of leaking into every
  tool description.
- All 10 tool handlers switch input-validation throws from `new Error`
  to the `validationError` factory. Surfaces as JSON-RPC ValidationError
  (-32602) with structured error.data carrying offending field names,
  instead of generic InternalError (-32603).
- CongressApiService.fetchResponse drops stale 404/429 status-code
  probing in favor of the framework's typed HTTP → McpError mapping.
  Local catch keeps only the RateLimited rewrap (preserves the
  "5,000 requests/hour" quota message); 404 rewrapping continues at
  call sites via tryNotFound() with identifier-rich data.
- scripts/devcheck.ts `bun outdated` parser fixed: reads index [1]
  after the empty leading cell, strips (dev|peer|prod|optional)
  workspace marker so the allowlist matches bare package names.
- scripts/build-changelog.ts summary cap 250 → 350 chars; template
  updated in lockstep.
- Test mocks include `headers: new Headers()` for fetchWithTimeout's
  new header-reading paths. CRS-outage 500 case asserts InternalError
  to match the framework's tightened HTML-bodied 500 classification.
- Skills re-synced (11 SKILL.md files + polish-docs-meta references)
  and mirrored to .claude/skills and .agents/skills.
- README OTEL_ENABLED row links to framework telemetry docs.

Dependency bumps:
- @cyanheads/mcp-ts-core ^0.8.19 → ^0.9.1
- @biomejs/biome ^2.4.14 → ^2.4.15
- @types/node ^25.6.2 → ^25.8.0
- vitest ^4.1.5 → ^4.1.6
Assets 2
Loading