GitHub Copilot Target adapter for Waken — routes waken Events to the copilot CLI.
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1eeab267e25b441e57089be3be8f7dd2a3a722e69f9a3e5b4c83ee19d9694c3d
|
|
| MD5 |
401b8cfab7a5e01f3a41d6f775719dd4
|
|
| BLAKE2b-256 |
bfa289af00ad03cc14fb6aad13cbc87f25e1bed62ca6d6094a6c710e702a9498
|
Provenance
The following attestation bundles were made for waken_copilot-0.1.0.tar.gz:
Publisher:
publish.yml on WakenHQ/waken-copilot
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
waken_copilot-0.1.0.tar.gz -
Subject digest:
1eeab267e25b441e57089be3be8f7dd2a3a722e69f9a3e5b4c83ee19d9694c3d - Sigstore transparency entry: 2082008323
- Sigstore integration time:
-
Permalink:
WakenHQ/waken-copilot@23497f3a0565a237c1e431e378af6f5193c15b11 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/WakenHQ
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@23497f3a0565a237c1e431e378af6f5193c15b11 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ed8a619a02ed50c2c8e3de39b2cba9b57b56f9cd7e0a8997874a0801998ae5b
|
|
| MD5 |
f8a7ce338a84bf2a5552beb259f73a20
|
|
| BLAKE2b-256 |
7969161a80c8e0f9125754b6712dbe6fe88a98dc245cbbc073cb56335e6577c6
|
Provenance
The following attestation bundles were made for waken_copilot-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on WakenHQ/waken-copilot
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
waken_copilot-0.1.0-py3-none-any.whl -
Subject digest:
4ed8a619a02ed50c2c8e3de39b2cba9b57b56f9cd7e0a8997874a0801998ae5b - Sigstore transparency entry: 2082008328
- Sigstore integration time:
-
Permalink:
WakenHQ/waken-copilot@23497f3a0565a237c1e431e378af6f5193c15b11 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/WakenHQ
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@23497f3a0565a237c1e431e378af6f5193c15b11 -
Trigger Event:
push
-
Statement type: