Python: Add BaseAgent implementation for GitHub Copilot SDK (#3404)

* Added GithubCopilotAgent

* Fixed errors

* Updated examples

* Updated naming and tests

* Resolved comments and more tests

* Updated tool handling

* Updated tool handling

* Small fixes

* Removed default permission handler

* Resolved comments

* Updated positional args

* Updated docstrings

* Small fixes and more examples

* Added example with MCP
This commit is contained in:
Dmytro Struk
2026-01-26 10:09:04 -08:00
committed by GitHub
Unverified
parent a3a9147e61
commit 407fb3025e
21 changed files with 2207 additions and 0 deletions
@@ -0,0 +1,28 @@
# Copyright (c) Microsoft. All rights reserved.
import importlib
from typing import Any
_IMPORTS: dict[str, tuple[str, str]] = {
"GithubCopilotAgent": ("agent_framework_github_copilot", "agent-framework-github-copilot"),
"GithubCopilotOptions": ("agent_framework_github_copilot", "agent-framework-github-copilot"),
"GithubCopilotSettings": ("agent_framework_github_copilot", "agent-framework-github-copilot"),
"__version__": ("agent_framework_github_copilot", "agent-framework-github-copilot"),
}
def __getattr__(name: str) -> Any:
if name in _IMPORTS:
import_path, package_name = _IMPORTS[name]
try:
return getattr(importlib.import_module(import_path), name)
except ModuleNotFoundError as exc:
raise ModuleNotFoundError(
f"The package {package_name} is required to use `{name}`. "
f"Please use `pip install {package_name}`, or update your requirements.txt or pyproject.toml file."
) from exc
raise AttributeError(f"Module `agent_framework.github` has no attribute {name}.")
def __dir__() -> list[str]:
return list(_IMPORTS.keys())
@@ -0,0 +1,15 @@
# Copyright (c) Microsoft. All rights reserved.
from agent_framework_github_copilot import (
GithubCopilotAgent,
GithubCopilotOptions,
GithubCopilotSettings,
__version__,
)
__all__ = [
"GithubCopilotAgent",
"GithubCopilotOptions",
"GithubCopilotSettings",
"__version__",
]
+1
View File
@@ -50,6 +50,7 @@ all = [
"agent-framework-copilotstudio",
"agent-framework-declarative",
"agent-framework-devui",
"agent-framework-github-copilot",
"agent-framework-lab",
"agent-framework-mem0",
"agent-framework-ollama",