openclaw/extensions/github-copilot
Peter Steinberger 82a4cfbe57
feat(plugin-sdk): awaited session persistence; deprecate sync transcript writes (#163264)
* feat(plugin-sdk): await session persistence and deprecate sync writes

* test(sessions): fix awaited persistence fixture types

* fix(sessions): preserve binding and delivery publication

* test(sessions): isolate compaction retarget authority

Model the retarget as an independent operation so the fixture reaches post-commit publication validation. Keep the committed receipt, accounting, and replacement-transcript assertions intact.

* fix(ci): remove duplicate database-worker test routing

Main already routes attempt-phase-lifecycle.test.ts through the database-worker owner. Remove the duplicate introduced by the SDK branch. Exact-head preflight and the native local manifest both reproduced the failure; the corrected manifest passes with 69 selected Node rows. Unique test coverage and the duplicate guard stay intact. Formatting and P2 review pass.

* fix(sessions): keep maintenance projections with the host owner

Return committed projection-rebuild facts from maintenance workers and schedule them through the existing host owner. Preserve custody, rollback, and synchronous compatibility. Update async fixtures and host-broker test routing, restore the native wrapper import inventory, and route memory visibility declarations through their existing producer.

Focused Linux proof passed342 tests across17 suites; old-code controls fail at pending projections. SDK declarations retain legacy signatures with four additive exports. Types, lint, T1, Madge, focused routing checks, and P2 review pass.

* test(cli): await blocked-run hook entry without polling

Await the existing hook-entry gate instead of racing awaited transcript persistence against vi.waitFor's one-second default. Preserve the early-settlement failure and the assertion that agent_end must finish before the CLI run settles.

The two focused cases pass in 155.98s including preparation; their test bodies take 3.656s and 1.804s. Fresh P2 review is clean.

* test(cli): use the deferred helper default type

* test(gateway): keep worktree fixture on the shared state root

Use the nested fixture only for workspace and device files. Activating its environment switches process state roots underneath the shared Gateway, whose projection retains its startup environment. Preserve the registry witness guard and every cwd, transcript, initial-run, and follow-up assertion.

CI observed AgentDatabaseRegistryChangedError during creation. The exact callback interleaving was not captured, and unmodified main passed the whole file in 172.229s; that is non-reproduction, not inherited-failure qualification. The corrected fixture passes all 10 cases in original order in 164.077s. Semantic lint, formatting, and fresh P2 review pass.

* refactor(sessions): separate hydration types and CLI hook fixtures

Keep transcript hydration results beside their request contracts and retain aggregate exports. Move the CLI hook fixture owner into test support without changing coverage. This removes both line-cap increases after main integration; 112 composition tests and all 52 reliability tests pass.
2026-10-02 07:03:11 -07:00
..
assets improve(plugins): give bundled logos consistent white icon tiles (#155259) 2026-09-23 19:09:26 -07:00
api.ts fix(auth): preserve Copilot tenant credentials during Doctor repair (#139131) 2026-09-24 17:40:17 -07:00
auth-reconnect.test.ts fix(github-copilot): stop revoked reconnects before discovery (#162165) 2026-09-30 15:03:49 -07:00
auth.test.ts test(core,plugins,ui): remove low-value tests (batch d024) (#158907) 2026-09-26 13:37:53 +00:00
auth.ts fix(models): require explicit GitHub Copilot activation (#144749) 2026-09-11 13:51:44 +05:30
catalog.test.ts test(github-copilot): cover catalog presence of Sonnet 5.5 and Opus 5.5 (#163024) 2026-10-01 15:10:11 -07:00
connection-bound-ids.live.test.ts fix(models): require explicit GitHub Copilot activation (#144749) 2026-09-11 13:51:44 +05:30
connection-bound-ids.test.ts
connection-bound-ids.ts refactor(providers): deslop provider plugins fourth pass (#161471) 2026-09-29 19:11:06 -07:00
domain.test.ts
domain.ts refactor(providers): deslop provider adapters (#162488) 2026-10-01 05:41:53 -07:00
dynamic-models.ts fix(models): require explicit GitHub Copilot activation (#144749) 2026-09-11 13:51:44 +05:30
embeddings.test.ts refactor(providers): deslop provider adapters (#162488) 2026-10-01 05:41:53 -07:00
embeddings.transport.test.ts
embeddings.ts refactor(providers): deslop provider glue (#162897) 2026-10-01 18:03:40 +00:00
index.test.ts fix(github-copilot): stop revoked reconnects before discovery (#162165) 2026-09-30 15:03:49 -07:00
index.ts feat(plugin-sdk): awaited session persistence; deprecate sync transcript writes (#163264) 2026-10-02 07:03:11 -07:00
login.test.ts test(core,plugins,ui): remove low-value tests (batch d024) (#158907) 2026-09-26 13:37:53 +00:00
login.ts refactor(providers): deslop provider adapters (#162488) 2026-10-01 05:41:53 -07:00
model-metadata.ts
models.test.ts test(core,plugins,ui): remove low-value tests (batch d024) (#158907) 2026-09-26 13:37:53 +00:00
models.ts refactor(providers): deslop provider plugins fourth pass (#161471) 2026-09-29 19:11:06 -07:00
oauth.test.ts fix(auth): reject whitespace-only Copilot OAuth scope (#160171) 2026-09-27 23:42:48 -07:00
oauth.ts fix(auth): preserve Copilot tenant credentials during Doctor repair (#139131) 2026-09-24 17:40:17 -07:00
openclaw.plugin.json fix(github-copilot): add Claude Sonnet 5.5 and Opus 5.5 to model catalog (#162171) 2026-10-01 14:45:14 -07:00
package.json chore(release): close out 2026.9.7 on main (#161587) 2026-09-29 22:39:14 -07:00
provider-auth.contract.test.ts
provider-discovery.contract.test.ts
provider-policy-api.test.ts test(core,plugins,ui): remove low-value tests (batch d024) (#158907) 2026-09-26 13:37:53 +00:00
provider-policy-api.ts
provider-runtime.contract.test.ts
provider.test-support.ts fix(github-copilot): stop revoked reconnects before discovery (#162165) 2026-09-30 15:03:49 -07:00
README.md feat: show declared plugin capabilities and setup guides (#157956) 2026-09-25 16:43:53 -07:00
register.runtime.ts
replay-policy.test.ts fix(github-copilot): add Claude Sonnet 5.5 and Opus 5.5 to model catalog (#162171) 2026-10-01 14:45:14 -07:00
replay-policy.ts refactor(providers): deslop provider plugins fourth pass (#161471) 2026-09-29 19:11:06 -07:00
runtime-auth-error.ts
runtime-auth.ts refactor(providers): deslop provider glue (#162897) 2026-10-01 18:03:40 +00:00
runtime-identity.ts
starter-model.ts refactor(providers): deslop provider glue (#162897) 2026-10-01 18:03:40 +00:00
stream.test.ts test(core,plugins,ui): remove low-value tests (batch d024) (#158907) 2026-09-26 13:37:53 +00:00
stream.ts refactor(providers): deslop provider plugins fourth pass (#161471) 2026-09-29 19:11:06 -07:00
tsconfig.json
usage.test.ts test(core,plugins,ui): remove low-value tests (batch d024) (#158907) 2026-09-26 13:37:53 +00:00
usage.ts refactor(providers): deslop model-provider plugins second pass (#160038) 2026-09-28 14:12:07 -07:00

GitHub Copilot

Use models available to your GitHub Copilot account in OpenClaw. This plugin provides account login, model discovery, and embeddings. Model access depends on your Copilot plan and organization policy.

Get started

Sign in with GitHub's device flow:

openclaw models auth login-github-copilot

Then browse models with openclaw models list --provider github-copilot and select one for your agent. Enterprise accounts can use the dedicated Enterprise login option.

This is the model provider; the separate Copilot SDK harness plugin runs native Copilot agent sessions. See the GitHub Copilot guide for both options and account requirements.