Skip to content

chore: version packages#57

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main
Open

chore: version packages#57
github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@openrouter/agent@0.8.0

Minor Changes

  • #56 209499a Thanks @mattapperson! - Add a source discriminant to tool results so untyped MCP tools no longer collapse the type safety of typed tools.

    Previously, mixing an MCP tool (whose output schema is unknown) with fully-typed tools in one callModel({ tools }) array collapsed the entire result union to unknown — one untyped tool poisoned every other tool's result type.

    • ToolExecutionResult (and ToolExecutionResultUnion) now carry source: 'client' | 'mcp'. Narrowing on source === 'client' recovers the precise, schema-derived results for your own tools; MCP results stay isolated as unknown under source === 'mcp'.
    • ToolResultEvent (streaming: getFullResponsesStream, getToolStream) gains the same source field. Breaking: the tool.result event payload now includes source; consumers that constructed or exhaustively matched these events may need to account for it.
    • @openrouter/agent exports a markMcp() helper, an isMcpTool() guard, and the McpBranded type. @openrouter/mcp brands every wrapped tool (including synthetic list_resources/read_resource) so the discrimination is automatic — callers just spread mcp.tools as before.
    • MCP tools continue to execute locally and serialize to the wire as type: 'function'; the brand is purely informational and does not change runtime behavior.

@openrouter/mcp@0.2.0

Minor Changes

  • #56 209499a Thanks @mattapperson! - Add a source discriminant to tool results so untyped MCP tools no longer collapse the type safety of typed tools.

    Previously, mixing an MCP tool (whose output schema is unknown) with fully-typed tools in one callModel({ tools }) array collapsed the entire result union to unknown — one untyped tool poisoned every other tool's result type.

    • ToolExecutionResult (and ToolExecutionResultUnion) now carry source: 'client' | 'mcp'. Narrowing on source === 'client' recovers the precise, schema-derived results for your own tools; MCP results stay isolated as unknown under source === 'mcp'.
    • ToolResultEvent (streaming: getFullResponsesStream, getToolStream) gains the same source field. Breaking: the tool.result event payload now includes source; consumers that constructed or exhaustively matched these events may need to account for it.
    • @openrouter/agent exports a markMcp() helper, an isMcpTool() guard, and the McpBranded type. @openrouter/mcp brands every wrapped tool (including synthetic list_resources/read_resource) so the discrimination is automatic — callers just spread mcp.tools as before.
    • MCP tools continue to execute locally and serialize to the wire as type: 'function'; the brand is purely informational and does not change runtime behavior.
  • #56 26336b5 Thanks @mattapperson! - Add @openrouter/mcp: expose remote MCP server tools (Streamable HTTP / SSE) as callModel tools.

    • createMCPTools() connects to a non-stdio MCP server, authenticates once (bearer token, custom headers, or a pluggable OAuthClientProvider), and returns a handle whose .tools drop straight into callModel({ tools }). The same auth is reused for tool discovery and every tool call.
    • Faithful runtime JSON-Schema → Zod v4 conversion (convertMcpInputSchema) so the model sees real parameters; tool output schemas are mapped too.
    • Serializable, rehydratable cache (serialize() / rehydrateMCPTools() / pluggable MCPCacheStore + InMemoryMCPCacheStore) that skips re-listing and, opt-in, re-authentication. Credential caching is off by default.
    • MCP feature support: progress notifications surfaced as generator-tool events, tools/list_changed auto-refresh, cancellation via an abort signal, resources exposed as synthetic list_resources/read_resource tools, and elicitation with an optional handler (auto-declines when none is provided).

Patch Changes

  • Updated dependencies [209499a]:
    • @openrouter/agent@0.8.0

@perry-the-pr-reviewer perry-the-pr-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ APPROVE unavailable — the maintainer GitHub App lacks pull_requests: write on OpenRouterTeam. Verdict posted as COMMENT; event-level approval must be added out-of-band.

Perry's Review

Automated changeset-release PR bumping @openrouter/agent to 0.8.0 and @openrouter/mcp to 0.2.0, with matching CHANGELOG entries and consumed changeset files.

Verdict: ✅ LGTM

Details

Risk: 🟢 Low

CI: no required checks reported

Findings: none

Security: no concerns — pure changelog/version/changeset files, no code changes

Test coverage: N/A (no code changed)

Unresolved threads: none


Scope: first review (full)
Review: tier=small · model=claude-sonnet-latest · score=0.7

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants