copilot-tap-extension 2.0.7 → 2.0.9
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 +4 -1
- package/SOUL.md +51 -0
- package/bin/install.mjs +7 -1
- package/dist/copilot-instructions.md +15 -0
- package/dist/extension.mjs +823 -29
- package/dist/skills/tap-goal/SKILL.md +13 -2
- package/dist/skills/tap-loop/SKILL.md +6 -0
- package/dist/skills/tap-monitor/SKILL.md +19 -3
- package/dist/skills/tap-orchestrate/SKILL.md +81 -0
- package/dist/version.json +1 -1
- package/docs/adr/0001-persistent-config-default-ownership.md +33 -0
- package/docs/adr/0002-local-provider-gateway-runtime-security.md +36 -0
- package/docs/adr/0003-emitter-delivery-lifecycle.md +68 -0
- package/docs/adr/0004-persistent-config-canonical-streams.md +86 -0
- package/docs/adr/0005-provider-sdk-push-and-dynamic-tools.md +48 -0
- package/docs/adr/0006-command-emitter-cwd-workspace-boundary.md +46 -0
- package/docs/adr/0007-runtime-session-workspace-context.md +62 -0
- package/docs/evals.md +41 -0
- package/docs/evolution-of-tap-icon.html +989 -0
- package/docs/providers.md +242 -0
- package/docs/recipes/adaptive-agent.md +303 -0
- package/docs/recipes/agent-brainstorm/100-extension-ideas.md +288 -0
- package/docs/recipes/agent-brainstorm/deep-ideas.md +216 -0
- package/docs/recipes/ambient-guardian.md +314 -0
- package/docs/recipes/browser-bridge.md +162 -0
- package/docs/recipes/codex-goals-for-tap-goal.md +136 -0
- package/docs/recipes/copilot-sdk-canvas.md +147 -0
- package/docs/recipes/deferred-cognition.md +310 -0
- package/docs/recipes/provider-integration-patterns.md +93 -0
- package/docs/recipes/provider-interface-advanced.md +1364 -0
- package/docs/recipes/provider-interface-core-profile.md +568 -0
- package/docs/recipes/tap-control-plane-roadmap.md +60 -0
- package/docs/recipes/universal-tool-gateway.md +202 -0
- package/docs/reference.md +229 -0
- package/docs/use-cases.md +348 -0
- package/package.json +4 -1
- package/providers/detour/README.md +84 -0
- package/providers/detour/bridge.js +219 -0
- package/providers/detour/index.mjs +322 -0
- package/providers/detour/package-lock.json +577 -0
- package/providers/detour/package.json +19 -0
- package/providers/detour/scripts/build.mjs +31 -0
- package/providers/detour/src/bridge.js +256 -0
- package/providers/detour/src/contracts.js +40 -0
- package/providers/detour/src/inspector.js +260 -0
- package/providers/detour/src/inspector.test.mjs +53 -0
- package/providers/detour/src/panel.js +465 -0
- package/providers/detour/src/provider-core.js +233 -0
- package/providers/detour/src/provider-core.test.mjs +185 -0
- package/providers/detour/src/react-context-core.js +143 -0
- package/providers/detour/src/react-context.js +44 -0
- package/providers/detour/src/react-context.test.mjs +41 -0
- package/providers/templates/README.md +23 -0
- package/providers/templates/ci-review-provider.mjs +46 -0
- package/providers/templates/detour-workflow-provider.mjs +41 -0
- package/providers/templates/jira-github-provider.mjs +42 -0
- package/providers/templates/provider-utils.mjs +45 -0
- package/providers/templates/sast-triage-provider.mjs +51 -0
package/README.md
CHANGED
|
@@ -63,7 +63,7 @@ npx copilot-tap-extension
|
|
|
63
63
|
npx copilot-tap-extension --local
|
|
64
64
|
```
|
|
65
65
|
|
|
66
|
-
This installs the bundled extension,
|
|
66
|
+
This installs the bundled extension, `/tap-loop`, `/tap-monitor`, `/tap-goal`, `/tap-orchestrate`, and the agent instructions to the appropriate Copilot directory. Run `npx copilot-tap-extension --help` for all options.
|
|
67
67
|
|
|
68
68
|
To update to the latest version, re-run the same command with `--force`:
|
|
69
69
|
|
|
@@ -258,6 +258,7 @@ The canvas is bounded and redacted: it keeps recent diagnostic evidence without
|
|
|
258
258
|
skills/tap-loop/ # /tap-loop skill for scheduled and idle prompts
|
|
259
259
|
skills/tap-monitor/ # /tap-monitor skill for self-tuning command monitors
|
|
260
260
|
skills/tap-goal/ # /tap-goal skill for autonomous goal loops
|
|
261
|
+
skills/tap-orchestrate/ # /tap-orchestrate skill for coordinator/role workflows
|
|
261
262
|
skills/tap-create-provider/ # /tap-create-provider skill for scaffolding external tool providers
|
|
262
263
|
copilot-instructions.md # agent guidance for using this extension
|
|
263
264
|
src/
|
|
@@ -289,6 +290,8 @@ PLAN.md # ubiquitous language and design decisions
|
|
|
289
290
|
| [Use cases and patterns](./docs/use-cases.md) | Recipes for deploy watchers, PR monitors, log tailers, and more |
|
|
290
291
|
| [Copilot SDK canvas surfaces](./docs/recipes/copilot-sdk-canvas.md) | Local SDK findings for extension-owned canvas UI surfaces |
|
|
291
292
|
| [Codex Goals lessons for tap-goal](./docs/recipes/codex-goals-for-tap-goal.md) | Goal-loop contract, evidence audit, and autopilot scheduling guidance |
|
|
293
|
+
| [Tap control-plane roadmap](./docs/recipes/tap-control-plane-roadmap.md) | Implemented and deferred control-plane slices from the Codex/Copilot audit |
|
|
294
|
+
| [Provider integration patterns](./docs/recipes/provider-integration-patterns.md) | Jira/GitHub, CI auto-fix, code review, SAST, and browser/Detour provider recipes |
|
|
292
295
|
| [Evals](./docs/evals.md) | Run or extend the automated test suite |
|
|
293
296
|
| [Copilot instructions](./src/copilot-instructions.md) | Understand or customize how the agent uses this extension |
|
|
294
297
|
| [Implementation plan](./PLAN.md) | Ubiquitous language and naming conventions for contributors |
|
package/SOUL.md
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Why this repository exists
|
|
2
|
+
|
|
3
|
+
This repository is an agentic operating layer for Copilot CLI.
|
|
4
|
+
|
|
5
|
+
It is not just a collection of tap tools. It is a substrate that turns Copilot
|
|
6
|
+
from a turn-by-turn chat agent into a persistent, observable, interruptible, and
|
|
7
|
+
extensible worker that can notice background signals, remember live state, react
|
|
8
|
+
to events, and keep working against explicit goals.
|
|
9
|
+
|
|
10
|
+
## What it represents
|
|
11
|
+
|
|
12
|
+
1. **A nervous system for Copilot CLI**
|
|
13
|
+
|
|
14
|
+
EventEmitters, EventStreams, EventFilters, and SessionInjectors are sensory
|
|
15
|
+
and routing infrastructure. They let Copilot perceive background reality:
|
|
16
|
+
logs, builds, PRs, providers, browser state, goals, and diagnostics.
|
|
17
|
+
|
|
18
|
+
2. **A control plane for safe autonomy**
|
|
19
|
+
|
|
20
|
+
The point is not blind autonomy. The point is bounded autonomy with budgets,
|
|
21
|
+
evidence checks, filters, ownership, persistence, diagnostics, and stop
|
|
22
|
+
conditions. This is why `/tap-goal`, diagnostics, event filters, and
|
|
23
|
+
ownership rules matter.
|
|
24
|
+
|
|
25
|
+
3. **A research lab for extensibility**
|
|
26
|
+
|
|
27
|
+
The repository is where discoveries from Codex, Copilot CLI, the SDK,
|
|
28
|
+
canvases, autopilot, tasks, providers, MCP, and runtime RPCs become working
|
|
29
|
+
primitives.
|
|
30
|
+
|
|
31
|
+
4. **A bridge between external systems and the agent**
|
|
32
|
+
|
|
33
|
+
Providers, Detour, command emitters, browser integrations, CI watchers,
|
|
34
|
+
Jira/GitHub workflows, and local scripts all point to the same idea: Copilot
|
|
35
|
+
should not be trapped inside the terminal transcript. It should be connected
|
|
36
|
+
to the developer environment.
|
|
37
|
+
|
|
38
|
+
5. **A portable personal agent runtime**
|
|
39
|
+
|
|
40
|
+
Publishing matters because this behavior should survive sessions, machines,
|
|
41
|
+
reloads, and CLI upgrades. This is not a scratchpad; it is a reusable
|
|
42
|
+
extension layer.
|
|
43
|
+
|
|
44
|
+
## The underlying thesis
|
|
45
|
+
|
|
46
|
+
Copilot CLI is powerful, but too episodic by default. This repository gives it
|
|
47
|
+
durable senses, live workflow memory, safe autonomy, and extension points so it
|
|
48
|
+
can operate like a real engineering assistant inside the user's environment.
|
|
49
|
+
|
|
50
|
+
In short: **tap is the middleware between raw Copilot intelligence and real-world
|
|
51
|
+
engineering operations.**
|
package/bin/install.mjs
CHANGED
|
@@ -43,6 +43,7 @@ Installs:
|
|
|
43
43
|
skills/tap-create-provider/SKILL.md The /tap-create-provider skill for scaffolding providers
|
|
44
44
|
skills/tap-monitor/SKILL.md The /tap-monitor skill for self-tuning command monitors
|
|
45
45
|
skills/tap-goal/SKILL.md The /tap-goal skill for autonomous goal loops
|
|
46
|
+
skills/tap-orchestrate/SKILL.md The /tap-orchestrate skill for multi-agent workflows
|
|
46
47
|
copilot-instructions.md Agent instructions for using ※ tap
|
|
47
48
|
`);
|
|
48
49
|
}
|
|
@@ -139,7 +140,7 @@ function removeDeprecatedSkills(targetRoot) {
|
|
|
139
140
|
}
|
|
140
141
|
|
|
141
142
|
if (state.removedAny) {
|
|
142
|
-
console.log(`\n Use the new namespaced commands: /tap-loop /tap-monitor /tap-create-provider`);
|
|
143
|
+
console.log(`\n Use the new namespaced commands: /tap-loop /tap-monitor /tap-goal /tap-orchestrate /tap-create-provider`);
|
|
143
144
|
}
|
|
144
145
|
|
|
145
146
|
return state.allOk;
|
|
@@ -268,6 +269,11 @@ function buildAncillaryArtifacts(targetRoot) {
|
|
|
268
269
|
dest: path.join(targetRoot, "skills", "tap-goal", "SKILL.md"),
|
|
269
270
|
label: "skills/tap-goal/SKILL.md"
|
|
270
271
|
},
|
|
272
|
+
{
|
|
273
|
+
src: path.join(distDir, "skills", "tap-orchestrate", "SKILL.md"),
|
|
274
|
+
dest: path.join(targetRoot, "skills", "tap-orchestrate", "SKILL.md"),
|
|
275
|
+
label: "skills/tap-orchestrate/SKILL.md"
|
|
276
|
+
},
|
|
271
277
|
{
|
|
272
278
|
src: path.join(distDir, "copilot-instructions.md"),
|
|
273
279
|
dest: path.join(targetRoot, "copilot-instructions.md"),
|
|
@@ -161,11 +161,26 @@ switching into wrap-up mode when the remaining iteration budget is low, posting
|
|
|
161
161
|
structured iteration records to their EventStream with `tap_post`, and stopping
|
|
162
162
|
themselves when complete or blocked. Completion requires an evidence audit
|
|
163
163
|
against concrete files, tests, logs, benchmark output, or generated artifacts.
|
|
164
|
+
Use `tap_verify_goal_output` and `tap_audit_claims` when the verification surface
|
|
165
|
+
is a workspace file, stream entry, or already-run command result.
|
|
164
166
|
If the session may stay continuously busy (for example in autopilot-heavy
|
|
165
167
|
flows), use a timed PromptEmitter with a backoff schedule such as
|
|
166
168
|
`everySchedule=["2m","5m","10m"]` instead of relying on idle to trigger the next
|
|
167
169
|
goal step.
|
|
168
170
|
|
|
171
|
+
Use `tap_get_session_state` before mode-sensitive work. It reads the current
|
|
172
|
+
Copilot mode, model/reasoning effort, tasks, schedules, open canvases, and UI
|
|
173
|
+
capabilities without mutating the session.
|
|
174
|
+
Use `tap_set_session_mode` only when the user has explicitly requested a mode
|
|
175
|
+
change or the goal contract requires it; it requires confirmation text and
|
|
176
|
+
should be treated as a user-visible safety-sensitive action.
|
|
177
|
+
Use `tap_query_records` to inspect structured session-workspace records such as
|
|
178
|
+
`traces` and `stream-posts` when EventStream prose is not precise enough.
|
|
179
|
+
|
|
180
|
+
For genuinely multi-role work, prefer `/tap-orchestrate`: create one coordinator
|
|
181
|
+
PromptEmitter that gates role-specific sub-emitters using EventStream handoffs.
|
|
182
|
+
Do not use orchestration for tasks a single `/tap-goal` loop can complete.
|
|
183
|
+
|
|
169
184
|
## Borrow from the official SDK examples
|
|
170
185
|
|
|
171
186
|
When working on the extension itself, not just using its emitter tools, prefer these SDK patterns:
|