Skip to content

Add typed tool definitions and settings - #148

Merged
Eduardo Villalpando Mello (edvilme) merged 1 commit into
mainfrom
refactor/s5-typed-definitions
Nov 13, 2026
Merged

Eduardo Villalpando Mello (edvilme) merged 1 commit into
mainfrom
refactor/s5-typed-definitions

Conversation

@edvilme

Copy link
Copy Markdown
Contributor

Summary

  • Add opt-in ToolDefinition<TSettings> and ToolSettings<TSettings> contracts, including support for ordinary interfaces and compatible common settings.
  • Preserve custom field types through workspace, global and multi-root settings resolution while retaining the legacy ToolConfig API.
  • Keep runtime settings behavior, defaults, unknown wire fields and explicit trackedSettings unchanged.
  • Add compile-time positive/negative cases, typed-versus-legacy runtime equivalence coverage and source-relative adoption examples.

Rebased onto current main; documentation uses the built public entry point from a pinned checkout, not a registry package identity.

Validation

Using Node 24.17.0:

  • npm run build
  • npm test -- --reporter dot: 161 passing, including compilation of the type-check fixtures during pretest.
  • npm run lint: passes with two existing warnings.
  • README example type-checked against the rebuilt public declarations.
  • git diff --check

Native consuming-extension builds and live VS Code UI integration were not exercised. This is an additive compile-time contract, not runtime schema validation or a consumer migration.

Closes #145

Add opt-in settings contracts and generic resolver return types without changing runtime behavior. Preserve legacy callers and document source-relative adoption.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 85ef72cc-9e26-4bc4-b1c3-55256d9bef91
@rchiodo

Copy link
Copy Markdown
Contributor

🔒 Automated review in progress — Rich Chiodo (@rchiodo) is auto-reviewing this PR.

@rchiodo

Copy link
Copy Markdown
Contributor

Reviewed commit: fc741f55be25fb23fd10e9beb3c53f3360b30483

Result: 🔴 could-not-verify

Verification details

Verification: Automated verification is best effort. The PR author remains responsible for testing.

Summary: [unavailable] Container verification could not start and local execution was not authorized for this PR HEAD: Podman machine &#x27;pyrx-automation&#x27; is not running.

Test runs: none recorded.

@rchiodo Rich Chiodo (rchiodo) left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Approved via Review Center.

@rchiodo Rich Chiodo (rchiodo) added the review-auto:approved Automated review: no blocking findings (approval posted). label Nov 13, 2026
@edvilme Eduardo Villalpando Mello (edvilme) added the debt Code Cleanup, Refactorings and Repo health. Not feature related label Nov 13, 2026
@edvilme
Eduardo Villalpando Mello (edvilme) merged commit a1bff32 into main Nov 13, 2026
18 of 20 checks passed
@edvilme
Eduardo Villalpando Mello (edvilme) deleted the refactor/s5-typed-definitions branch November 13, 2026 19:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

debt Code Cleanup, Refactorings and Repo health. Not feature related review-auto:approved Automated review: no blocking findings (approval posted).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[S5] Add typed tool definitions and settings without changing runtime behavior

2 participants