Skip to content

Conversation

@ryanfolsom
Copy link

Add listTools() / list_tools() / ListTools() / ListToolsAsync() methods across all four SDK languages (TypeScript, Python, Go, .NET) to expose the new tools.list RPC from the CLI runtime.

Includes ToolInfo types, client methods, exports, and E2E tests for each language. Bumps @github/copilot from ^0.0.405 to ^0.0.407 which includes the tools.list RPC handler.

@ryanfolsom ryanfolsom requested a review from a team as a code owner February 11, 2026 21:39
Copilot AI review requested due to automatic review settings February 11, 2026 21:39
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds support for the new tools.list RPC method across all four SDK languages (TypeScript/Node.js, Python, Go, and .NET). The implementation exposes built-in CLI tools with their metadata, including tool names, descriptions, parameters schemas, and usage instructions. The PR also bumps the @github/copilot dependency from version 0.0.405 to 0.0.407, which includes the underlying tools.list RPC handler.

Changes:

  • Added ToolInfo type definitions across all SDKs with consistent JSON field naming (name, namespacedName, description, parameters, instructions)
  • Implemented listTools()/list_tools()/ListTools()/ListToolsAsync() client methods with optional model parameter for model-specific tool overrides
  • Added E2E tests for each language SDK to verify tools can be listed and contain expected metadata

Reviewed changes

Copilot reviewed 15 out of 16 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
nodejs/package.json Bumps @github/copilot dependency to 0.0.407
nodejs/package-lock.json Updates lockfile with 0.0.407 versions for all platform-specific packages
nodejs/src/types.ts Adds ToolInfo interface with tool metadata fields
nodejs/src/index.ts Exports ToolInfo type
nodejs/src/client.ts Implements listTools() method with optional model parameter
nodejs/test/e2e/client.test.ts Adds E2E test for listTools functionality
python/copilot/types.py Adds ToolInfo dataclass with from_dict/to_dict serialization
python/copilot/init.py Exports ToolInfo type
python/copilot/client.py Implements list_tools() method with optional model parameter
python/e2e/test_client.py Adds E2E test for list_tools functionality
go/types.go Adds ToolInfo struct and request/response types for tools.list RPC
go/client.go Implements ListTools() method with model parameter
go/internal/e2e/client_test.go Adds E2E test for ListTools functionality
dotnet/src/Types.cs Adds ToolInfoItem class and GetToolsResponse with JSON serialization attributes
dotnet/src/Client.cs Implements ListToolsAsync() method with optional model parameter
dotnet/test/ClientTests.cs Adds E2E test for ListToolsAsync functionality
Files not reviewed (1)
  • nodejs/package-lock.json: Language not supported

Add listTools() / list_tools() / ListTools() / ListToolsAsync() methods
across all four SDK languages (TypeScript, Python, Go, .NET) to expose
the new tools.list RPC from the CLI runtime.

Includes ToolInfo types, client methods, exports, and E2E tests for each
language. Bumps @github/copilot from ^0.0.405 to ^0.0.407 which includes
the tools.list RPC handler.
@ryanfolsom ryanfolsom force-pushed the ryanfolsom/add-tools-list branch from 39f0cf4 to ce43192 Compare February 11, 2026 22:05
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