Skip to main content

GitHub Copilot Target adapter for Waken — routes waken Events to the copilot CLI.

Project description

waken-copilot

CI License: MIT

GitHub Copilot Target adapter for Waken — "nginx for AI agents." Routes a waken Event to the Copilot CLI (@github/copilot) and wraps its output back into a Response.

Status: less mature than its siblings — read this before using it

Unlike waken-claude (wraps claude_agent_sdk) and waken-gemini (wraps google-genai), GitHub does not publish a documented request/response HTTP SDK for third-party programmatic use of Copilot. The only real integration point is GitHub's own terminal coding agent, the copilot CLI — so this adapter shells out to it as a subprocess rather than calling an API. Two concrete consequences:

  • Session resumption is unverified. This adapter tracks "has this waken session talked to copilot before" and passes the waken session_id back via --resume on later turns, but there is no confirmed mechanism for getting a real, provider-issued conversation id out of the CLI's output the way waken_claude gets one from the Claude Agent SDK. Treat multi-turn continuity through this adapter as unverified, not solved.
  • No CI integration testing against the real CLI. copilot authenticates via an interactive OAuth device flow (or an existing gh auth login session) — there's no static API key to hand to CI the way ANTHROPIC_API_KEY/GEMINI_API_KEY work for its siblings. This package's test suite mocks asyncio.create_subprocess_exec entirely; no test here has ever run a real copilot process.

The CLI itself is also young and its flags move quickly — -p, --allow-all-tools, and --resume <id> are this adapter's best-known reading of copilot --help as of this writing, not a guarantee. Check copilot --help yourself before depending on this in production.

Install

pip install waken-copilot

Prerequisite: the copilot CLI must already be installed and authenticated on the machine running Waken — this adapter does not manage authentication itself.

npm install -g @github/copilot
copilot   # first run: interactive OAuth device-flow login
          # (or reuse an existing `gh auth login` session)

Usage

from waken import Runtime
from waken_copilot import CopilotAdapter

runtime = Runtime()
runtime.target("copilot", CopilotAdapter())
runtime.run()
waken send copilot "Build tic tac toe." --wait

Development

git clone https://github.com/WakenHQ/waken-copilot
cd waken-copilot
pip install -e ".[dev]"
pytest

Tests mock the copilot subprocess call — no copilot binary or network access is required to run them.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

waken_copilot-0.1.0.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

waken_copilot-0.1.0-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file waken_copilot-0.1.0.tar.gz.

File metadata

  • Download URL: waken_copilot-0.1.0.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for waken_copilot-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1eeab267e25b441e57089be3be8f7dd2a3a722e69f9a3e5b4c83ee19d9694c3d
MD5 401b8cfab7a5e01f3a41d6f775719dd4
BLAKE2b-256 bfa289af00ad03cc14fb6aad13cbc87f25e1bed62ca6d6094a6c710e702a9498

See more details on using hashes here.

Provenance

The following attestation bundles were made for waken_copilot-0.1.0.tar.gz:

Publisher: publish.yml on WakenHQ/waken-copilot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file waken_copilot-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: waken_copilot-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for waken_copilot-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4ed8a619a02ed50c2c8e3de39b2cba9b57b56f9cd7e0a8997874a0801998ae5b
MD5 f8a7ce338a84bf2a5552beb259f73a20
BLAKE2b-256 7969161a80c8e0f9125754b6712dbe6fe88a98dc245cbbc073cb56335e6577c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for waken_copilot-0.1.0-py3-none-any.whl:

Publisher: publish.yml on WakenHQ/waken-copilot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page