Skip to content

Commit 1dfd439

Browse files
HDMowriGitHub Copilot
andcommitted
fix: add on_permission_request handler for SDK >= 0.1.28
SDK v0.1.28 requires on_permission_request when creating sessions. Uses try/except for backward compatibility with older SDK versions. Refs: github/copilot-sdk#509, #554 Co-authored-by: GitHub Copilot <copilot@github.com>
1 parent 3ed36cf commit 1dfd439

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

  • amplifier_module_provider_github_copilot

amplifier_module_provider_github_copilot/client.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -482,6 +482,19 @@ async def create_session(
482482
session_config["hooks"] = hooks
483483
logger.debug(f"[CLIENT] Session hooks configured: {list(hooks.keys())}")
484484

485+
# Add permission handler required by SDK >= 0.1.28
486+
# See: github/copilot-sdk#509, #554 - deny all permissions by default
487+
try:
488+
from copilot.types import PermissionHandler
489+
490+
# SDK >= 0.1.28 has PermissionHandler.approve_all
491+
# SDK < 0.1.28 has PermissionHandler as a type alias (no approve_all)
492+
session_config["on_permission_request"] = PermissionHandler.approve_all
493+
logger.debug("[CLIENT] Permission handler set to approve_all")
494+
except (ImportError, AttributeError):
495+
# Older SDK versions don't require this or don't have approve_all
496+
pass
497+
485498
# Session creation - separated from yield to avoid exception masking
486499
try:
487500
logger.debug(

0 commit comments

Comments
 (0)