Skip to content

feat(toolkit): align fetchkit with toolkit library contract#45

Merged
chaliy merged 1 commit intomainfrom
codex/toolkit-library-contract
Mar 14, 2026
Merged

feat(toolkit): align fetchkit with toolkit library contract#45
chaliy merged 1 commit intomainfrom
codex/toolkit-library-contract

Conversation

@chaliy
Copy link
Contributor

@chaliy chaliy commented Mar 14, 2026

What

Align fetchkit with the Everruns toolkit library contract while keeping the existing typed fetch API working.

Why

Everruns expects toolkit libraries to expose a predictable metadata, schema, and execution surface. fetchkit had overlapping pieces but not the standard contract shape, which forced bespoke integration.

How

  • add the contract surface: locale-aware ToolBuilder factories, Tool metadata methods, ToolExecution, ToolOutput, ToolError, and a generic tower::Service
  • keep legacy typed APIs as compatibility wrappers over the new contract
  • update MCP to delegate schema/name/validation through the library contract while preserving markdown-by-default behavior
  • extend tests and README coverage for the new contract surface

Risk

  • Medium
  • Tool metadata now uses the stable contract name web_fetch, which changes MCP tool listing and external integrations that relied on the old fetchkit tool name
  • Help and description output changed shape to satisfy the contract, though feature gating remains covered by tests

Checklist

  • Unit tests are passed
  • Smoke tests are passed
  • Documentation is updated
  • Specs are up to date and not in conflict
  • Security review completed

@chaliy chaliy merged commit 07fcfb4 into main Mar 14, 2026
10 checks passed
@chaliy chaliy deleted the codex/toolkit-library-contract branch March 14, 2026 05:37
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.

1 participant