@te-river/opencode-team-mode 1.4.6 → 1.4.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,9 @@
4
4
  * Each command is injected into the OpenCode config via the plugin's
5
5
  * `config` hook. Users invoke them with `/team-plan`, `/team-review`, etc.
6
6
  * in both OpenCode Desktop and the TUI.
7
+ *
8
+ * v1.4.7: /team-run mirrors the deterministic routing + approval gate +
9
+ * reply-skeleton workflow; /team-review notes the lead's adaptive depth.
7
10
  */
8
11
  import type { CommandConfig } from "./types.js";
9
12
  export declare const commands: Record<string, CommandConfig>;
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AA+J/C,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAOlD,CAAA"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AA8J/C,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAOlD,CAAA"}
package/dist/commands.js CHANGED
@@ -4,147 +4,149 @@
4
4
  * Each command is injected into the OpenCode config via the plugin's
5
5
  * `config` hook. Users invoke them with `/team-plan`, `/team-review`, etc.
6
6
  * in both OpenCode Desktop and the TUI.
7
+ *
8
+ * v1.4.7: /team-run mirrors the deterministic routing + approval gate +
9
+ * reply-skeleton workflow; /team-review notes the lead's adaptive depth.
7
10
  */
8
11
  /* ------------------------------------------------------------------ */
9
12
  const teamPlan = {
10
13
  description: "Create a comprehensive implementation plan — architecture, task breakdown, and risk analysis.",
11
14
  agent: "architect",
12
- template: `Analyze the following task and produce a detailed implementation plan.
13
-
14
- ## Task
15
- $ARGUMENTS
16
-
17
- ## Required output
18
- 1. **Overview** — What we are building and why.
19
- 2. **Architecture** — Module structure, key interfaces, data flow.
20
- 3. **File manifest** — Every file to create or modify, with a one-line summary.
21
- 4. **Task breakdown** — Ordered steps the implementer can execute, noting dependencies.
22
- 5. **Risks & open questions** — Anything uncertain.
23
-
24
- Read existing project files as needed to ground your plan in reality.
15
+ template: `Analyze the following task and produce a detailed implementation plan.
16
+
17
+ ## Task
18
+ $ARGUMENTS
19
+
20
+ ## Required output
21
+ 1. **Overview** — What we are building and why.
22
+ 2. **Architecture** — Module structure, key interfaces, data flow.
23
+ 3. **File manifest** — Every file to create or modify, with a one-line summary.
24
+ 4. **Task breakdown** — Ordered steps the implementer can execute, noting dependencies.
25
+ 5. **Risks & open questions** — Anything uncertain.
26
+
27
+ Read existing project files as needed to ground your plan in reality.
25
28
  Do not write implementation code — only the plan.`,
26
29
  };
27
30
  /* ------------------------------------------------------------------ */
28
31
  const teamImplement = {
29
32
  description: "Implement a feature or task — write production code following the project's conventions.",
30
33
  agent: "implementer",
31
- template: `Implement the following task. Follow the project's existing code style and conventions.
32
-
33
- ## Task
34
- $ARGUMENTS
35
-
36
- ## Rules
37
- - Read relevant existing files before writing code.
38
- - Handle errors properly.
34
+ template: `Implement the following task. Follow the project's existing code style and conventions.
35
+
36
+ ## Task
37
+ $ARGUMENTS
38
+
39
+ ## Rules
40
+ - Read relevant existing files before writing code.
41
+ - Handle errors properly.
39
42
  - After finishing, list every file you created or modified.`,
40
43
  };
41
44
  /* ------------------------------------------------------------------ */
42
45
  const teamReview = {
43
46
  description: "Review code with a single focused dimension — completeness, correctness, or impact (default: correctness).",
44
47
  agent: "reviewer",
45
- template: `Perform a single-dimension code review on the following scope.
46
-
47
- ## Scope
48
- $ARGUMENTS
49
-
50
- ## Dimension
51
- $ARGUMENTS may name one dimension: completeness (requirements coverage),
52
- correctness (logic & security), or impact (regressions & blast radius).
53
- If no dimension is named, review correctness. Ignore the other dimensions
54
- — parallel reviewers own them.
55
-
56
- If no specific scope is given, review all recently modified files in the project.
57
-
58
- Use the standard severity scale:
59
- - 🔴 Critical (must fix)
60
- - 🟡 Warning (should fix)
61
- - 🔵 Suggestion (nice to have)
62
- - ✅ Praise (good patterns)
63
-
48
+ template: `Perform a single-dimension code review on the following scope.
49
+
50
+ ## Scope
51
+ $ARGUMENTS
52
+
53
+ ## Dimension
54
+ $ARGUMENTS may name one dimension: completeness (requirements coverage),
55
+ correctness (logic & security), or impact (regressions & blast radius).
56
+ If no dimension is named, review correctness. Ignore the other dimensions
57
+ — parallel reviewers own them.
58
+
59
+ If no specific scope is given, review all recently modified files in the project.
60
+
61
+ Use the standard severity scale:
62
+ - 🔴 Critical (must fix)
63
+ - 🟡 Warning (should fix)
64
+ - 🔵 Suggestion (nice to have)
65
+ - ✅ Praise (good patterns)
66
+
64
67
  Include file paths, line numbers, and concrete fix suggestions.`,
65
68
  };
66
69
  /* ------------------------------------------------------------------ */
67
70
  const teamTest = {
68
71
  description: "Generate comprehensive tests — unit, integration, and edge-case coverage.",
69
72
  agent: "tester",
70
- template: `Write comprehensive tests for the following scope.
71
-
72
- ## Scope
73
- $ARGUMENTS
74
-
75
- If no specific scope is given, identify the most recently modified source files and write tests for them.
76
-
77
- ## Requirements
78
- - Use the project's existing test framework and conventions.
79
- - Cover happy path, edge cases, and error paths.
80
- - Each test must be deterministic and test exactly one behavior.
73
+ template: `Write comprehensive tests for the following scope.
74
+
75
+ ## Scope
76
+ $ARGUMENTS
77
+
78
+ If no specific scope is given, identify the most recently modified source files and write tests for them.
79
+
80
+ ## Requirements
81
+ - Use the project's existing test framework and conventions.
82
+ - Cover happy path, edge cases, and error paths.
83
+ - Each test must be deterministic and test exactly one behavior.
81
84
  - Use descriptive test names.`,
82
85
  };
83
86
  /* ------------------------------------------------------------------ */
84
87
  const teamResearch = {
85
88
  description: "Research a topic — libraries, APIs, best practices, or documentation.",
86
89
  agent: "researcher",
87
- template: `Research the following topic and provide actionable findings.
88
-
89
- ## Topic
90
- $ARGUMENTS
91
-
92
- ## Required output
93
- 1. **Summary** — Key findings in 2-3 sentences.
94
- 2. **Details** — Structured findings with sources.
95
- 3. **Recommendation** — What the team should do, with trade-offs.
96
- 4. **Sources** — Links or file paths consulted.
97
-
90
+ template: `Research the following topic and provide actionable findings.
91
+
92
+ ## Topic
93
+ $ARGUMENTS
94
+
95
+ ## Required output
96
+ 1. **Summary** — Key findings in 2-3 sentences.
97
+ 2. **Details** — Structured findings with sources.
98
+ 3. **Recommendation** — What the team should do, with trade-offs.
99
+ 4. **Sources** — Links or file paths consulted.
100
+
98
101
  Cite your sources. Do not fabricate URLs or API details.`,
99
102
  };
100
103
  /* ------------------------------------------------------------------ */
101
104
  const teamRun = {
102
- description: "Full team workflow — the team lead orchestrates all agents to complete a complex task end-to-end.",
105
+ description: "Full team workflow — deterministic routing, approval gate on >=3 dispatches, structured handoffs.",
103
106
  agent: "team",
104
- template: `Execute the full team workflow for the following task.
105
-
106
- ## Task
107
- $ARGUMENTS
108
-
109
- ## Workflow
110
- 1. Triage first: if this is a question/consult rather than an action
111
- request, answer it without touching files (propose fixes, wait for a
112
- go-ahead). Honor and restate any user-stated boundaries everywhere.
113
- 2. Read the project's README first (plus AGENTS.md/CLAUDE.md if present) —
114
- extract binding conventions and restate them in every dispatch. Then
115
- understand the goal and acceptance criteria.
116
- 3. **Create a todo list FIRST** — one item per work package, with checkable
117
- done-conditions. Update statuses live (exactly one in_progress).
118
- 4. Dispatch sub-tasks to the appropriate agents:
119
- - Design / architecture → architect
120
- - Implementation → implementer
121
- - Code review → reviewer
122
- - Testing → tester
123
- - Research → researcher
124
- Respect the pipeline gates: research completes before planning, design
125
- before code, code before verify, verify before review, UI verification
126
- before "done" on user-visible frontend changes. Batch independent
127
- dispatches into the same round.
128
- 5. Coordinate through the shared blackboard: this conversation owns one
129
- session folder (<root>/<session-key>/ — compact timestamp, created on
130
- first board write), one task directory per task inside it; every
131
- dispatch carries a manifest (Task / Reads: only the files needed /
132
- Write to: one owned artifact file); artifacts are frozen — revisions are
133
- new round-suffixed files; keep MANIFEST.md's \`## Current state\` header
134
- updated each converged round. Run independent sub-tasks in parallel.
135
- 6. Enforce Ultra Review for non-trivial changes: exactly 3 parallel
136
- reviewer dispatches, one dimension each (completeness / correctness /
137
- impact), then merge the three reports into one severity-grouped list.
138
- 7. Enforce the feedback loop: merged Critical/Major findings and tester
139
- product-bugs become fix tasks on the list → implementer fixes →
140
- re-review affected scope → re-run tests. Repeat until clean (max 2
141
- loops, then escalate).
142
- 8. Collect all outputs, resolve conflicts, synthesize a final result.
143
- 9. Present a structured summary: changes, review/test verdict, remaining
144
- assumptions and risks. If the project keeps a CHANGELOG.md, append an
145
- entry for the delivered changes (offer to create one if missing). Leave
146
- the task blackboard directory in place — the plugin's TTL sweeper
147
- reclaims idle boards; never delete it yourself.`,
107
+ template: `Execute the full team workflow for the following task.
108
+
109
+ ## Task
110
+ $ARGUMENTS
111
+
112
+ ## Workflow
113
+ 1. Triage: a question/consult gets an answer with zero file changes (fixes
114
+ merely proposed, awaiting go-ahead). Explicit action requests continue
115
+ below. Honor and restate user-stated boundaries in every dispatch.
116
+ 2. Route via the routing table and COUNT the dispatches. Never shorten a
117
+ product-change pipeline below 3 dispatches; never split one request
118
+ into sub-3-dispatch pieces to dodge the gate.
119
+ 3. Research phase: read the project's README yourself (the host does not
120
+ inject it); for AGENTS.md/CLAUDE.md use the copy already in context and
121
+ open the file only when genuinely absent. Then read the relevant
122
+ source; dispatch researcher ONLY for genuinely unknown external tech.
123
+ Blocking uncertainties go to the user IMMEDIATELY, batched into ONE message
124
+ — never drip-feed, never guess.
125
+ 4. Approval gate: if the pipeline involves >=2 sub-agent dispatches,
126
+ present the plan (Goal / Root cause or scope with file:line / Change
127
+ list / Pipeline / Assumptions & risks / Open questions — <=30 lines)
128
+ and END TURN. Execute only after approval. 0-1 dispatches: open with
129
+ a 1-2 line notice and proceed. Root cause already verified? Skip
130
+ ceremonial research — the fix spec goes straight to implementer.
131
+ 5. Execute the pipeline in routing-table order; batch independent
132
+ dispatches. Relay each specialist's HANDOFF verbatim into the next
133
+ dispatch; enforce the STATUS-skeleton reply contract (missing skeleton
134
+ -> PROTOCOL_VIOLATION: one retry with it inline, then downgrade and
135
+ note it).
136
+ 6. Adaptive review: default single reviewer (correctness); escalate to 3
137
+ parallel dimensions only for high-risk profiles (auth/security surface,
138
+ cross-module data contracts, public APIs across >=3 files).
139
+ 7. Feedback loop: Critical/Major findings and tester product-bugs become
140
+ fix tasks -> implementer fixes -> re-review affected scope -> re-run
141
+ tests. Max 2 loops, then escalate. A "UI NOT VERIFIED:" line is
142
+ relayed honestly, not hidden.
143
+ 8. Present a structured summary: changes, review/test verdict, remaining
144
+ assumptions and risks. Docs sync: append a CHANGELOG.md entry when the
145
+ file exists, and update AGENTS.md when the change alters what it
146
+ records (build/test commands, conventions, structure, agent
147
+ instructions); offer to create either file if missing. Leave any board
148
+ directories in place — the plugin's TTL sweeper reclaims idle boards;
149
+ never delete them yourself.`,
148
150
  };
149
151
  /* ------------------------------------------------------------------ */
150
152
  /* Export all commands keyed by name */
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,wEAAwE;AACxE,MAAM,QAAQ,GAAkB;IAC9B,WAAW,EACT,+FAA+F;IACjG,KAAK,EAAE,WAAW;IAClB,QAAQ,EAAE;;;;;;;;;;;;;kDAasC;CACjD,CAAA;AAED,wEAAwE;AACxE,MAAM,aAAa,GAAkB;IACnC,WAAW,EACT,0FAA0F;IAC5F,KAAK,EAAE,aAAa;IACpB,QAAQ,EAAE;;;;;;;;4DAQgD;CAC3D,CAAA;AAED,wEAAwE;AACxE,MAAM,UAAU,GAAkB;IAChC,WAAW,EACT,4GAA4G;IAC9G,KAAK,EAAE,UAAU;IACjB,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;gEAmBoD;CAC/D,CAAA;AAED,wEAAwE;AACxE,MAAM,QAAQ,GAAkB;IAC9B,WAAW,EACT,2EAA2E;IAC7E,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE;;;;;;;;;;;8BAWkB;CAC7B,CAAA;AAED,wEAAwE;AACxE,MAAM,YAAY,GAAkB;IAClC,WAAW,EACT,uEAAuE;IACzE,KAAK,EAAE,YAAY;IACnB,QAAQ,EAAE;;;;;;;;;;;0DAW8C;CACzD,CAAA;AAED,wEAAwE;AACxE,MAAM,OAAO,GAAkB;IAC7B,WAAW,EACT,mGAAmG;IACrG,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mDA2CuC;CAClD,CAAA;AAED,wEAAwE;AACxE,wEAAwE;AACxE,wEAAwE;AAExE,MAAM,CAAC,MAAM,QAAQ,GAAkC;IACrD,WAAW,EAAE,QAAQ;IACrB,gBAAgB,EAAE,aAAa;IAC/B,aAAa,EAAE,UAAU;IACzB,WAAW,EAAE,QAAQ;IACrB,eAAe,EAAE,YAAY;IAC7B,UAAU,EAAE,OAAO;CACpB,CAAA"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,wEAAwE;AACxE,MAAM,QAAQ,GAAkB;IAC9B,WAAW,EACT,+FAA+F;IACjG,KAAK,EAAE,WAAW;IAClB,QAAQ,EAAE;;;;;;;;;;;;;kDAasC;CACjD,CAAA;AAED,wEAAwE;AACxE,MAAM,aAAa,GAAkB;IACnC,WAAW,EACT,0FAA0F;IAC5F,KAAK,EAAE,aAAa;IACpB,QAAQ,EAAE;;;;;;;;4DAQgD;CAC3D,CAAA;AAED,wEAAwE;AACxE,MAAM,UAAU,GAAkB;IAChC,WAAW,EACT,4GAA4G;IAC9G,KAAK,EAAE,UAAU;IACjB,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;gEAmBoD;CAC/D,CAAA;AAED,wEAAwE;AACxE,MAAM,QAAQ,GAAkB;IAC9B,WAAW,EACT,2EAA2E;IAC7E,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE;;;;;;;;;;;8BAWkB;CAC7B,CAAA;AAED,wEAAwE;AACxE,MAAM,YAAY,GAAkB;IAClC,WAAW,EACT,uEAAuE;IACzE,KAAK,EAAE,YAAY;IACnB,QAAQ,EAAE;;;;;;;;;;;0DAW8C;CACzD,CAAA;AAED,wEAAwE;AACxE,MAAM,OAAO,GAAkB;IAC7B,WAAW,EACT,mGAAmG;IACrG,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BA0CmB;CAC9B,CAAA;AAED,wEAAwE;AACxE,wEAAwE;AACxE,wEAAwE;AAExE,MAAM,CAAC,MAAM,QAAQ,GAAkC;IACrD,WAAW,EAAE,QAAQ;IACrB,gBAAgB,EAAE,aAAa;IAC/B,aAAa,EAAE,UAAU;IACzB,WAAW,EAAE,QAAQ;IACrB,eAAe,EAAE,YAAY;IAC7B,UAAU,EAAE,OAAO;CACpB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,YAAY,CAAA;AA2BhE,QAAA,MAAM,MAAM,EAAE,cAyCb,CAAA;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,YAAY,CAAA;AA6BhE,QAAA,MAAM,MAAM,EAAE,cAyCb,CAAA;AAED,eAAe,MAAM,CAAA"}
package/dist/index.js CHANGED
@@ -27,19 +27,21 @@
27
27
  import { agents } from "./agents.js";
28
28
  import { commands } from "./commands.js";
29
29
  import { startBlackboardMaintenance, resolveTtlMs, DEFAULT_TTL_DAYS, } from "./blackboard.js";
30
- /** Runtime addendum to the team prompt: concrete board + TTL. */
30
+ /** Runtime addendum to the team prompt: concrete board + TTL (hybrid mode). */
31
31
  function blackboardNote(root, ttlDays) {
32
32
  return [
33
33
  "",
34
34
  "",
35
35
  "## Team Blackboard — resolved for this workspace",
36
36
  `Root directory: \`${root}\``,
37
- `- Session isolation: on the FIRST board write of this conversation create a session`,
38
- ` folder \`<root>/<session-key>/\` where <session-key> is a compact clock timestamp`,
39
- ` (PowerShell: \`Get-Date -Format yyyyMMdd-HHmmss\`; POSIX: \`date +%Y%m%d-%H%M%S\`).`,
40
- ` Reuse that folder for every later task in the same conversation; never write into`,
41
- ` a session folder created by a different conversation.`,
42
- `- Create exactly ONE task sub-directory per multi-agent task: \`<root>/<session-key>/<task-slug>/\`.`,
37
+ `- Hybrid channel: specialist replies (the STATUS/CHANGES/FINDINGS/EVIDENCE/HANDOFF`,
38
+ ` skeleton) are the PRIMARY transport — normal work needs no files at all.`,
39
+ `- Board files exist ONLY for oversized deliverables (>~50 lines):`,
40
+ ` \`<root>/<session-key>/<task-slug>/NN-<role>-<topic>[-rN].md\`. On the FIRST`,
41
+ ` board write of this conversation create the session folder with a compact clock`,
42
+ ` timestamp (PowerShell: \`Get-Date -Format yyyyMMdd-HHmmss\`; POSIX:`,
43
+ ` \`date +%Y%m%d-%H%M%S\`) and reuse it; never write into another conversation's`,
44
+ ` session folder.`,
43
45
  `- Auto-cleanup: the plugin sweeps task directories idle for more than ${ttlDays} days (at startup and hourly).`,
44
46
  ` This is the ONLY cleanup path — never delete task or session directories yourself.`,
45
47
  ].join("\n");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@te-river/opencode-team-mode",
3
- "version": "1.4.6",
3
+ "version": "1.4.8",
4
4
  "description": "Team collaboration mode plugin for OpenCode Desktop — injects specialized agents (architect, reviewer, implementer, tester, researcher) and team workflow commands into your OpenCode workspace.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",