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.
Files changed (58) hide show
  1. package/README.md +4 -1
  2. package/SOUL.md +51 -0
  3. package/bin/install.mjs +7 -1
  4. package/dist/copilot-instructions.md +15 -0
  5. package/dist/extension.mjs +823 -29
  6. package/dist/skills/tap-goal/SKILL.md +13 -2
  7. package/dist/skills/tap-loop/SKILL.md +6 -0
  8. package/dist/skills/tap-monitor/SKILL.md +19 -3
  9. package/dist/skills/tap-orchestrate/SKILL.md +81 -0
  10. package/dist/version.json +1 -1
  11. package/docs/adr/0001-persistent-config-default-ownership.md +33 -0
  12. package/docs/adr/0002-local-provider-gateway-runtime-security.md +36 -0
  13. package/docs/adr/0003-emitter-delivery-lifecycle.md +68 -0
  14. package/docs/adr/0004-persistent-config-canonical-streams.md +86 -0
  15. package/docs/adr/0005-provider-sdk-push-and-dynamic-tools.md +48 -0
  16. package/docs/adr/0006-command-emitter-cwd-workspace-boundary.md +46 -0
  17. package/docs/adr/0007-runtime-session-workspace-context.md +62 -0
  18. package/docs/evals.md +41 -0
  19. package/docs/evolution-of-tap-icon.html +989 -0
  20. package/docs/providers.md +242 -0
  21. package/docs/recipes/adaptive-agent.md +303 -0
  22. package/docs/recipes/agent-brainstorm/100-extension-ideas.md +288 -0
  23. package/docs/recipes/agent-brainstorm/deep-ideas.md +216 -0
  24. package/docs/recipes/ambient-guardian.md +314 -0
  25. package/docs/recipes/browser-bridge.md +162 -0
  26. package/docs/recipes/codex-goals-for-tap-goal.md +136 -0
  27. package/docs/recipes/copilot-sdk-canvas.md +147 -0
  28. package/docs/recipes/deferred-cognition.md +310 -0
  29. package/docs/recipes/provider-integration-patterns.md +93 -0
  30. package/docs/recipes/provider-interface-advanced.md +1364 -0
  31. package/docs/recipes/provider-interface-core-profile.md +568 -0
  32. package/docs/recipes/tap-control-plane-roadmap.md +60 -0
  33. package/docs/recipes/universal-tool-gateway.md +202 -0
  34. package/docs/reference.md +229 -0
  35. package/docs/use-cases.md +348 -0
  36. package/package.json +4 -1
  37. package/providers/detour/README.md +84 -0
  38. package/providers/detour/bridge.js +219 -0
  39. package/providers/detour/index.mjs +322 -0
  40. package/providers/detour/package-lock.json +577 -0
  41. package/providers/detour/package.json +19 -0
  42. package/providers/detour/scripts/build.mjs +31 -0
  43. package/providers/detour/src/bridge.js +256 -0
  44. package/providers/detour/src/contracts.js +40 -0
  45. package/providers/detour/src/inspector.js +260 -0
  46. package/providers/detour/src/inspector.test.mjs +53 -0
  47. package/providers/detour/src/panel.js +465 -0
  48. package/providers/detour/src/provider-core.js +233 -0
  49. package/providers/detour/src/provider-core.test.mjs +185 -0
  50. package/providers/detour/src/react-context-core.js +143 -0
  51. package/providers/detour/src/react-context.js +44 -0
  52. package/providers/detour/src/react-context.test.mjs +41 -0
  53. package/providers/templates/README.md +23 -0
  54. package/providers/templates/ci-review-provider.mjs +46 -0
  55. package/providers/templates/detour-workflow-provider.mjs +41 -0
  56. package/providers/templates/jira-github-provider.mjs +42 -0
  57. package/providers/templates/provider-utils.mjs +45 -0
  58. 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, the `/tap-loop` skill, the `/tap-monitor` skill, the `/tap-goal` skill, and the agent instructions to the appropriate Copilot directory. Run `npx copilot-tap-extension --help` for all options.
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: