omp packages

pi-copilot-auto0.1.0

GitHub Copilot Auto model routing for the pi coding agent

asp345 Published 3 months ago MIT ~112 downloads/mo

Untested on omp

This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.

Did it work for you?

Result

One report per person. A new report replaces your old one.

Reports 0

No reports yet.

Readme

pi-copilot-auto

A pi extension that adds GitHub Copilot's Auto model routing to the built-in github-copilot provider.

The extension adds:

  • github-copilot/auto, which asks Copilot to select a model for each user turn.
  • github-copilot/auto-<model-id> entries for models in the account's Auto pool. These entries keep the Auto session protocol while forcing a specific pool model.
  • Automatic forwarding to the selected model's native API format, including Anthropic Messages, OpenAI Responses, and OpenAI Completions.

Requirements

  • pi 0.82.0 or later.
  • A GitHub account with an active Copilot plan.
  • Authentication for pi's built-in github-copilot provider.

Authenticate in pi with /login, then select GitHub Copilot.

Install

From npm after publication:

pi install npm:pi-copilot-auto

From GitHub after the repository is published:

pi install git:github.com/asp345/pi-copilot-auto

From a local checkout:

pi install /absolute/path/to/pi-copilot-auto

For a one-off test without changing settings:

pi -e /absolute/path/to/pi-copilot-auto

Restart pi after installation, open /model, and select github-copilot/auto.

Development

npm ci
npm run audit
npm run check
npm run pack:check
pi -e .

npm run check verifies formatting, lint, types, and extension loading. The package has no runtime dependencies. Its two optional peer dependencies document the APIs supplied by pi, while development dependencies provide local checks. The package ships its TypeScript source directly because pi loads TypeScript extensions without a build step.

CI runs the audit and checks on pushes and pull requests. Dependabot checks npm and GitHub Actions dependencies weekly.

Publishing

The first release must be published manually because npm trusted publishing can only be configured after the package exists:

npm login
npm publish

Then configure Trusted Publisher in the pi-copilot-auto package settings on npm:

  • Provider: GitHub Actions
  • Organization or user: asp345
  • Repository: pi-copilot-auto
  • Workflow filename: publish.yml
  • Allowed action: npm publish

Future releases are published with npm OIDC authentication and automatic provenance. Bump the version, push the commit and tag, then create a GitHub Release for that tag:

npm version patch
git push origin main --follow-tags
gh release create "v$(node --print "require('./package.json').version")" --generate-notes

The release workflow rejects a tag that does not match the version in package.json.

How it works

The extension wraps pi's built-in github-copilot provider. It creates a Copilot model session, sends the latest user prompt to Copilot's intent endpoint, and streams the request through the provider implementation matching the selected model. Session tokens are cached by pi session and refreshed before expiration.

The Auto session and intent endpoints are GitHub Copilot implementation details and may change without notice.

License

MIT