copilot-tap-extension 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -0
- package/dist/extension.mjs +4935 -316
- package/dist/version.json +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -29,11 +29,29 @@ Background commands and agent prompts produce output line by line. An EventFilte
|
|
|
29
29
|
- You run long builds and want to know when they finish or break -- without watching.
|
|
30
30
|
- You poll an API or dashboard and want the agent to react when something changes.
|
|
31
31
|
- You re-ask the same prompt periodically and want it on a timer or running whenever idle.
|
|
32
|
+
- You build external tools in any language and want them available inside Copilot without touching the SDK.
|
|
32
33
|
|
|
33
34
|
## Get started
|
|
34
35
|
|
|
35
36
|
Prerequisites: [Node.js](https://nodejs.org/) ≥ 20 and [Copilot CLI](https://docs.github.com/en/copilot/github-copilot-in-the-cli).
|
|
36
37
|
|
|
38
|
+
> **Important:** This extension requires Copilot CLI to be running with **experiments enabled**. Extensions and background-task features are gated behind this flag.
|
|
39
|
+
|
|
40
|
+
**How to enable experiments:**
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# Start Copilot CLI with experiments on
|
|
44
|
+
copilot --experimental
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Or, if Copilot CLI is already running, type the following inside the session:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
/experimental
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Once enabled, the experimental state persists across sessions -- you only need to do this once. You can also disable it at any time with `copilot --no-experimental`.
|
|
54
|
+
|
|
37
55
|
### Install via npx (recommended)
|
|
38
56
|
|
|
39
57
|
```bash
|
|
@@ -125,6 +143,21 @@ Emitters are **temporary** by default and last only for the current session. Set
|
|
|
125
143
|
|
|
126
144
|
Run schedules control timing: **continuous** (command runs until stopped), **timed** (repeats on an interval), **oneTime** (runs once), or **idle** (prompt re-runs when the session has nothing else to do).
|
|
127
145
|
|
|
146
|
+
## Extend with providers
|
|
147
|
+
|
|
148
|
+
External processes can register tools with your Copilot session through the **Provider Interface**. A provider connects via WebSocket to the ※ tap gateway (port 9400), authenticates with a token, and declares tools — no Copilot SDK knowledge required.
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
# Provider connects and registers a "greet" tool
|
|
152
|
+
TAP_PROVIDER_TOKEN=ptk-... node my-provider.mjs
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
Once connected, the tool appears alongside the existing ※ tap tools. Copilot can invoke it like any other tool, and the call is routed through the gateway to your provider.
|
|
156
|
+
|
|
157
|
+
Providers can be written in **any language** that supports WebSocket — Node.js, Python, Go, Rust, or anything else.
|
|
158
|
+
|
|
159
|
+
→ **[Provider guide](./docs/providers.md)** — Quick start, protocol reference, and examples.
|
|
160
|
+
|
|
128
161
|
## What you can do
|
|
129
162
|
|
|
130
163
|
**Watch something in the background**
|
|
@@ -181,6 +214,7 @@ Rules can be added or changed while the emitter is running. You never need to re
|
|
|
181
214
|
src/
|
|
182
215
|
emitter/ # supervisor, lifecycle, spawn, line router
|
|
183
216
|
streams/ # EventStream store and notification dispatcher
|
|
217
|
+
provider/ # WebSocket gateway for external tool providers
|
|
184
218
|
tools/ # tool definitions (emitters, streams, filters)
|
|
185
219
|
config/ # persistent config store (tap.config.json)
|
|
186
220
|
format/ # display formatters for emitters and streams
|
|
@@ -202,6 +236,7 @@ PLAN.md # ubiquitous language and design decisions
|
|
|
202
236
|
| Document | When to read it |
|
|
203
237
|
| --- | --- |
|
|
204
238
|
| [Reference](./docs/reference.md) | Look up tool parameters, config fields, or the event pipeline |
|
|
239
|
+
| [Provider guide](./docs/providers.md) | Add external tools to Copilot via the WebSocket provider interface |
|
|
205
240
|
| [Use cases and patterns](./docs/use-cases.md) | Recipes for deploy watchers, PR monitors, log tailers, and more |
|
|
206
241
|
| [Evals](./docs/evals.md) | Run or extend the automated test suite |
|
|
207
242
|
| [Copilot instructions](./src/copilot-instructions.md) | Understand or customize how the agent uses this extension |
|