Skip to content

CopilotToolSet

NexusLabs.Needlr.Copilot

CopilotToolSet Class

Factory for creating Copilot-backed Microsoft.Extensions.AI.AIFunction instances. Use with Needlr's agent framework tool sets or pass directly to Microsoft.Extensions.AI.ChatOptions.Tools.

public static class CopilotToolSet

Inheritance System.Object 🡒 CopilotToolSet

Example

// Config-driven tool toggle:
var tools = CopilotToolSet.Create(new CopilotToolSetOptions { EnableWebSearch = true });

// With callback:
var tools = CopilotToolSet.Create(t => t.EnableWebSearch = true);

Methods

CopilotToolSet.Create(CopilotToolSetOptions, CopilotChatClientOptions) Method

Creates Copilot-backed tools with automatic OAuth token discovery.

public static System.Collections.Generic.IReadOnlyList<Microsoft.Extensions.AI.AIFunction> Create(NexusLabs.Needlr.Copilot.CopilotToolSetOptions toolOptions, NexusLabs.Needlr.Copilot.CopilotChatClientOptions? clientOptions=null);

Parameters

toolOptions CopilotToolSetOptions

Controls which tools are enabled.

clientOptions CopilotChatClientOptions

Optional Copilot API configuration.

Returns

System.Collections.Generic.IReadOnlyList<Microsoft.Extensions.AI.AIFunction>
A list of enabled Microsoft.Extensions.AI.AIFunction instances.

CopilotToolSet.Create(IGitHubOAuthTokenProvider, CopilotToolSetOptions, CopilotChatClientOptions) Method

Creates Copilot-backed Microsoft.Extensions.AI.AIFunction instances based on the options. The returned functions call the GitHub Copilot MCP server using the provided OAuth token provider.

public static System.Collections.Generic.IReadOnlyList<Microsoft.Extensions.AI.AIFunction> Create(NexusLabs.Needlr.Copilot.IGitHubOAuthTokenProvider oauthProvider, NexusLabs.Needlr.Copilot.CopilotToolSetOptions toolOptions, NexusLabs.Needlr.Copilot.CopilotChatClientOptions? clientOptions=null);

Parameters

oauthProvider IGitHubOAuthTokenProvider

Provides the GitHub OAuth token for MCP authentication.

toolOptions CopilotToolSetOptions

Controls which tools are enabled.

clientOptions CopilotChatClientOptions

Optional Copilot API configuration.

Returns

System.Collections.Generic.IReadOnlyList<Microsoft.Extensions.AI.AIFunction>
A list of enabled Microsoft.Extensions.AI.AIFunction instances.

CopilotToolSet.Create(Action<CopilotToolSetOptions>, CopilotChatClientOptions) Method

Creates Copilot-backed tools with a configuration callback.

public static System.Collections.Generic.IReadOnlyList<Microsoft.Extensions.AI.AIFunction> Create(System.Action<NexusLabs.Needlr.Copilot.CopilotToolSetOptions> configure, NexusLabs.Needlr.Copilot.CopilotChatClientOptions? clientOptions=null);

Parameters

configure System.Action<CopilotToolSetOptions>

Callback to configure which tools to enable.

clientOptions CopilotChatClientOptions

Optional Copilot API configuration.

Returns

System.Collections.Generic.IReadOnlyList<Microsoft.Extensions.AI.AIFunction>
A list of enabled Microsoft.Extensions.AI.AIFunction instances.