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 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 |