waken-copilot
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
copilotbefore" and passes the wakensession_idback via--resumeon later turns, but there is no confirmed mechanism for getting a real, provider-issued conversation id out of the CLI's output the waywaken_claudegets 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.
copilotauthenticates via an interactive OAuth device flow (or an existinggh auth loginsession) — there's no static API key to hand to CI the wayANTHROPIC_API_KEY/GEMINI_API_KEYwork for its siblings. This package's test suite mocksasyncio.create_subprocess_execentirely; no test here has ever run a realcopilotprocess.
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
Metadata
Release files for waken-copilot 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| waken_copilot-0.1.0.tar.gz | 7.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| waken_copilot-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.2 kB
Release files / waken_copilot-0.1.0.tar.gz
| Download URL | waken_copilot-0.1.0.tar.gz |
|---|---|
| Size | 7.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1eeab267e25b441e57089be3be8f7dd2a3a722e69f9a3e5b4c83ee19d9694c3d
|
|
BLAKE2b-256 checksum How to use checksums |
bfa289af00ad03cc14fb6aad13cbc87f25e1bed62ca6d6094a6c710e702a9498
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 5, 2026.
Transparency logRelease files / waken_copilot-0.1.0-py3-none-any.whl
| Download URL | waken_copilot-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4ed8a619a02ed50c2c8e3de39b2cba9b57b56f9cd7e0a8997874a0801998ae5b
|
|
BLAKE2b-256 checksum How to use checksums |
7969161a80c8e0f9125754b6712dbe6fe88a98dc245cbbc073cb56335e6577c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 5, 2026.
Transparency log