npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@grackle-ai/runtime-copilot

v0.195.0

Published

Grackle GitHub Copilot runtime implementation

Readme

@grackle-ai/runtime-copilot

Grackle runtime that drives GitHub Copilot via the Copilot SDK (@github/copilot-sdk).

Overview

The Copilot runtime implements the @grackle-ai/runtime-sdk AgentRuntime interface (CopilotRuntime extends BaseAgentRuntime) and wraps the GitHub Copilot SDK. It is registered with the PowerLine runtime registry under the name copilot and is selected by personas that target Copilot. Each agent session creates a CopilotClient, opens (or resumes) a Copilot session, streams the SDK's events back to Grackle, and tears the session down on completion.

The Copilot SDK (@github/copilot-sdk) and the Copilot CLI (@github/copilot) are not install-time dependencies. They are installed lazily at spawn time into an isolated per-runtime directory (~/.grackle/runtimes/copilot/) via ensureRuntimeInstalled and imported dynamically, so the package stays light until a Copilot session actually runs.

Configuration

All configuration is driven by environment variables so the runtime behaves identically across local, Docker, SSH, and other environments.

| Variable | Description | | ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | | COPILOT_CLI_PATH | Path to the Copilot CLI binary. Defaults to copilot resolved via PATH. | | COPILOT_CLI_URL | URL of an external Copilot CLI server (e.g. localhost:4321). When set, the runtime connects to it instead of spawning a local CLI process. | | COPILOT_PROVIDER_CONFIG | JSON-encoded provider config for bring-your-own-key (BYOK) scenarios (e.g. type, baseUrl, apiKey). Malformed JSON is ignored. |

Session-level options are passed through from Grackle: the model, an optional system message (injected via the SDK's systemMessage in append mode), MCP servers, and the working directory. Tool permission prompts are auto-approved (approveAll) for headless operation.

Note: the Copilot SDK does not support a turn limit. If a maxTurns value is requested, it is logged and ignored — the session runs until idle.

Models

The model is selected per session and passed straight through to the Copilot SDK's session config; this package does not hard-code a model list or a default. The available models are those exposed by your Copilot CLI / SDK installation.

Credentials

The runtime resolves a GitHub token from the following environment variables, in priority order:

| Variable | Priority | | ---------------------- | -------- | | COPILOT_GITHUB_TOKEN | 1 | | GH_TOKEN | 2 | | GITHUB_TOKEN | 3 |

If a token is found, it is passed to the CopilotClient and the SDK uses it directly. If none is set, the runtime falls back to the logged-in Copilot user (useLoggedInUser). For BYOK setups, supply provider credentials via COPILOT_PROVIDER_CONFIG instead.

Requirements

  • Node.js >= 22
  • The GitHub Copilot SDK (@github/copilot-sdk) and Copilot CLI (@github/copilot) — installed lazily into ~/.grackle/runtimes/copilot/ at spawn time, or an external CLI server reachable via COPILOT_CLI_URL
  • GitHub Copilot credentials — a token in COPILOT_GITHUB_TOKEN / GH_TOKEN / GITHUB_TOKEN, a logged-in Copilot CLI session, or a BYOK provider config in COPILOT_PROVIDER_CONFIG

License

MIT