opencode-multiagent 0.2.1 → 0.4.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.
Files changed (160) hide show
  1. package/AGENTS.md +83 -0
  2. package/CHANGELOG.md +31 -0
  3. package/CONTRIBUTING.md +36 -0
  4. package/README.md +44 -168
  5. package/README.tr.md +84 -0
  6. package/RELEASE.md +68 -0
  7. package/agents/AGENTS.md +91 -0
  8. package/agents/auditor.md +67 -23
  9. package/agents/{worker.md → coder.md} +24 -17
  10. package/agents/docmaster.md +91 -0
  11. package/agents/executor.md +63 -79
  12. package/agents/planner.md +78 -58
  13. package/agents/reviewer.md +31 -15
  14. package/agents/scout.md +25 -17
  15. package/agents/sec-coder.md +83 -0
  16. package/agents/ui-coder.md +77 -0
  17. package/commands/board.md +17 -0
  18. package/commands/execute.md +9 -7
  19. package/commands/init-deep.md +7 -6
  20. package/commands/init.md +5 -5
  21. package/commands/inspect.md +6 -5
  22. package/commands/plan.md +8 -6
  23. package/commands/quality.md +4 -3
  24. package/commands/review.md +5 -3
  25. package/commands/status.md +5 -3
  26. package/defaults/AGENTS.md +48 -0
  27. package/defaults/opencode-multiagent.json +180 -0
  28. package/defaults/opencode-multiagent.schema.json +265 -0
  29. package/dist/control-plane.d.ts +4 -0
  30. package/dist/control-plane.d.ts.map +1 -0
  31. package/dist/index.d.ts +5 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +1916 -0
  34. package/dist/opencode-multiagent/compiler.d.ts +25 -0
  35. package/dist/opencode-multiagent/compiler.d.ts.map +1 -0
  36. package/dist/opencode-multiagent/constants.d.ts +128 -0
  37. package/dist/opencode-multiagent/constants.d.ts.map +1 -0
  38. package/dist/opencode-multiagent/correlation.d.ts +21 -0
  39. package/dist/opencode-multiagent/correlation.d.ts.map +1 -0
  40. package/dist/opencode-multiagent/defaults.d.ts +10 -0
  41. package/dist/opencode-multiagent/defaults.d.ts.map +1 -0
  42. package/dist/opencode-multiagent/hooks.d.ts +62 -0
  43. package/dist/opencode-multiagent/hooks.d.ts.map +1 -0
  44. package/dist/opencode-multiagent/log.d.ts +2 -0
  45. package/dist/opencode-multiagent/log.d.ts.map +1 -0
  46. package/dist/opencode-multiagent/markdown.d.ts +8 -0
  47. package/dist/opencode-multiagent/markdown.d.ts.map +1 -0
  48. package/dist/opencode-multiagent/mcp.d.ts +3 -0
  49. package/dist/opencode-multiagent/mcp.d.ts.map +1 -0
  50. package/dist/opencode-multiagent/policy.d.ts +5 -0
  51. package/dist/opencode-multiagent/policy.d.ts.map +1 -0
  52. package/dist/opencode-multiagent/quality.d.ts +18 -0
  53. package/dist/opencode-multiagent/quality.d.ts.map +1 -0
  54. package/dist/opencode-multiagent/runtime.d.ts +7 -0
  55. package/dist/opencode-multiagent/runtime.d.ts.map +1 -0
  56. package/dist/opencode-multiagent/session-tracker.d.ts +32 -0
  57. package/dist/opencode-multiagent/session-tracker.d.ts.map +1 -0
  58. package/dist/opencode-multiagent/skills.d.ts +17 -0
  59. package/dist/opencode-multiagent/skills.d.ts.map +1 -0
  60. package/dist/opencode-multiagent/supervision.d.ts +26 -0
  61. package/dist/opencode-multiagent/supervision.d.ts.map +1 -0
  62. package/dist/opencode-multiagent/task-manager.d.ts +54 -0
  63. package/dist/opencode-multiagent/task-manager.d.ts.map +1 -0
  64. package/dist/opencode-multiagent/telemetry.d.ts +28 -0
  65. package/dist/opencode-multiagent/telemetry.d.ts.map +1 -0
  66. package/dist/opencode-multiagent/tools.d.ts +87 -0
  67. package/dist/opencode-multiagent/tools.d.ts.map +1 -0
  68. package/dist/opencode-multiagent/types.d.ts +36 -0
  69. package/dist/opencode-multiagent/types.d.ts.map +1 -0
  70. package/dist/opencode-multiagent/utils.d.ts +9 -0
  71. package/dist/opencode-multiagent/utils.d.ts.map +1 -0
  72. package/docs/agents.md +148 -0
  73. package/docs/agents.tr.md +149 -0
  74. package/docs/configuration.md +244 -0
  75. package/docs/configuration.tr.md +244 -0
  76. package/docs/usage-guide.md +224 -0
  77. package/docs/usage-guide.tr.md +225 -0
  78. package/examples/opencode.with-overrides.json +3 -7
  79. package/package.json +23 -13
  80. package/skills/AGENTS.md +51 -0
  81. package/skills/advanced-evaluation/SKILL.md +37 -21
  82. package/skills/advanced-evaluation/manifest.json +2 -13
  83. package/skills/cek-context-engineering/SKILL.md +159 -87
  84. package/skills/cek-context-engineering/manifest.json +1 -3
  85. package/skills/cek-prompt-engineering/SKILL.md +13 -10
  86. package/skills/cek-prompt-engineering/manifest.json +1 -3
  87. package/skills/cek-test-prompt/SKILL.md +38 -28
  88. package/skills/cek-test-prompt/manifest.json +1 -3
  89. package/skills/cek-thought-based-reasoning/SKILL.md +75 -21
  90. package/skills/cek-thought-based-reasoning/manifest.json +1 -3
  91. package/skills/context-degradation/SKILL.md +14 -13
  92. package/skills/context-degradation/manifest.json +1 -3
  93. package/skills/debate/SKILL.md +23 -78
  94. package/skills/debate/manifest.json +2 -12
  95. package/skills/design-first/manifest.json +2 -13
  96. package/skills/dispatching-parallel-agents/SKILL.md +14 -3
  97. package/skills/dispatching-parallel-agents/manifest.json +1 -4
  98. package/skills/drift-analysis/SKILL.md +50 -29
  99. package/skills/drift-analysis/manifest.json +2 -12
  100. package/skills/evaluation/manifest.json +2 -12
  101. package/skills/executing-plans/SKILL.md +15 -8
  102. package/skills/executing-plans/manifest.json +1 -3
  103. package/skills/handoff-protocols/manifest.json +2 -12
  104. package/skills/parallel-investigation/SKILL.md +25 -12
  105. package/skills/parallel-investigation/manifest.json +1 -4
  106. package/skills/reflexion-critique/SKILL.md +21 -10
  107. package/skills/reflexion-critique/manifest.json +1 -3
  108. package/skills/reflexion-reflect/SKILL.md +36 -34
  109. package/skills/reflexion-reflect/manifest.json +2 -10
  110. package/skills/root-cause-analysis/manifest.json +2 -13
  111. package/skills/sadd-judge-with-debate/SKILL.md +50 -26
  112. package/skills/sadd-judge-with-debate/manifest.json +1 -3
  113. package/skills/structured-code-review/manifest.json +2 -11
  114. package/skills/task-decomposition/manifest.json +2 -13
  115. package/skills/verification-before-completion/manifest.json +2 -15
  116. package/skills/verification-gates/SKILL.md +27 -19
  117. package/skills/verification-gates/manifest.json +2 -12
  118. package/agents/advisor.md +0 -57
  119. package/agents/critic.md +0 -127
  120. package/agents/deep-worker.md +0 -65
  121. package/agents/devil.md +0 -36
  122. package/agents/heavy-worker.md +0 -68
  123. package/agents/lead.md +0 -155
  124. package/agents/librarian.md +0 -62
  125. package/agents/qa.md +0 -50
  126. package/agents/quick.md +0 -65
  127. package/agents/scribe.md +0 -78
  128. package/agents/strategist.md +0 -63
  129. package/agents/ui-heavy-worker.md +0 -62
  130. package/agents/ui-worker.md +0 -69
  131. package/agents/validator.md +0 -47
  132. package/defaults/agent-settings.json +0 -102
  133. package/defaults/agent-settings.schema.json +0 -25
  134. package/defaults/flags.json +0 -35
  135. package/defaults/flags.schema.json +0 -119
  136. package/defaults/mcp-defaults.json +0 -47
  137. package/defaults/mcp-defaults.schema.json +0 -38
  138. package/defaults/profiles.json +0 -53
  139. package/defaults/profiles.schema.json +0 -60
  140. package/defaults/team-profiles.json +0 -83
  141. package/src/control-plane.ts +0 -21
  142. package/src/index.ts +0 -8
  143. package/src/opencode-multiagent/compiler.ts +0 -168
  144. package/src/opencode-multiagent/constants.ts +0 -178
  145. package/src/opencode-multiagent/file-lock.ts +0 -90
  146. package/src/opencode-multiagent/hooks.ts +0 -599
  147. package/src/opencode-multiagent/log.ts +0 -12
  148. package/src/opencode-multiagent/mailbox.ts +0 -287
  149. package/src/opencode-multiagent/markdown.ts +0 -99
  150. package/src/opencode-multiagent/mcp.ts +0 -35
  151. package/src/opencode-multiagent/policy.ts +0 -67
  152. package/src/opencode-multiagent/quality.ts +0 -140
  153. package/src/opencode-multiagent/runtime.ts +0 -55
  154. package/src/opencode-multiagent/skills.ts +0 -144
  155. package/src/opencode-multiagent/supervision.ts +0 -156
  156. package/src/opencode-multiagent/task-manager.ts +0 -148
  157. package/src/opencode-multiagent/team-manager.ts +0 -219
  158. package/src/opencode-multiagent/team-tools.ts +0 -359
  159. package/src/opencode-multiagent/telemetry.ts +0 -124
  160. package/src/opencode-multiagent/utils.ts +0 -54
@@ -1,13 +1,14 @@
1
1
  ---
2
- description: Run bounded verification with validator
3
- agent: validator
4
- model: openai/gpt-5.3-codex
2
+ description: Run bounded verification and quality checks
3
+ agent: reviewer
4
+ model: anthropic/claude-sonnet-4-6
5
5
  subtask: true
6
6
  ---
7
7
 
8
8
  Run the smallest safe verification pass for this scope: $ARGUMENTS
9
9
 
10
10
  Requirements:
11
+
11
12
  - prefer existing repo-native scripts and commands
12
13
  - show the exact commands, exit codes, and what they prove
13
14
  - do not invent wide test suites when a narrower signal exists
@@ -1,14 +1,16 @@
1
1
  ---
2
- description: Run a bounded local code review with reviewer
2
+ description: Run a bounded local code review
3
3
  agent: reviewer
4
- model: github-copilot/grok-code-fast-1
4
+ model: anthropic/claude-sonnet-4-6
5
5
  subtask: true
6
6
  ---
7
7
 
8
8
  Review this bounded local scope: $ARGUMENTS
9
9
 
10
10
  Rules:
11
- - keep the review at 1-3 files or one small diff slice
11
+
12
+ - keep the review at 1-5 files or one small diff slice
12
13
  - report only material issues
13
14
  - cite local evidence
15
+ - run verification commands when appropriate
14
16
  - if the scope is too broad, say it must be split
@@ -1,15 +1,17 @@
1
1
  ---
2
- description: Lead a .magent status inspection request through critic inspection mode
3
- agent: lead
2
+ description: Inspect .magent execution state and repository workflow status
3
+ agent: planner
4
4
  model: anthropic/claude-opus-4-6
5
5
  ---
6
6
 
7
- Own this status request and use `critic` in inspection mode to inspect the current repository execution state.
7
+ Inspect the current repository execution state using Tier 3 inspection mode.
8
8
 
9
9
  Focus on:
10
+
10
11
  - `.magent/plans/*.md`
11
12
  - `.magent/exec/**`
12
13
  - active or stale execution artifacts
13
14
  - the next best action if the repository already contains plan history
15
+ - `.magent/board.json` — query live task board with `task_list` and include active/pending/blocked tasks
14
16
 
15
17
  If `.magent` does not exist, say so clearly and summarize what durable state is currently missing.
@@ -0,0 +1,48 @@
1
+ # defaults/
2
+
3
+ Unified plugin configuration defaults and JSON Schema. These two files must always stay in sync.
4
+
5
+ ## Files
6
+
7
+ - `opencode-multiagent.json` — runtime default values
8
+ - `opencode-multiagent.schema.json` — JSON Schema for validation
9
+
10
+ ## Validation
11
+
12
+ Run `mise run validate-config` after any change. This uses a **hand-rolled validator** in `scripts/schema-lib.ts` — not `ajv` or any standard JSON Schema library. Do not introduce external schema validation dependencies.
13
+
14
+ ## Schema Structure
15
+
16
+ The schema enforces `additionalProperties: false` throughout. Adding a new field requires updating both the schema and the defaults file.
17
+
18
+ Four top-level required sections:
19
+
20
+ | Section | Purpose |
21
+ | --------------- | --------------------------------------------------------------- |
22
+ | `flags` | Runtime feature flags and configuration |
23
+ | `agentSettings` | Per-agent model, temperature, and step overrides |
24
+ | `mcpDefaults` | MCP server definitions injected when missing from active config |
25
+ | `profiles` | Named flag bundles (`minimal`, `standard`, `strict`) |
26
+
27
+ ## Profile Merge Order
28
+
29
+ At runtime, flags are resolved in this order (later wins):
30
+
31
+ 1. `defaultFlags` (hardcoded in `constants.ts`)
32
+ 2. Profile values (from `profiles[selectedProfile]`)
33
+ 3. User flags (from user's `opencode-multiagent.json` in `~/.config/opencode/plugins/`)
34
+
35
+ ## agentSettings
36
+
37
+ Each entry requires at minimum a `model` field (`provider/model` format). Optional: `temperature` (0–2), `steps` (minimum 1). Every agent in `agents/*.md` must have a corresponding entry here.
38
+
39
+ ## mcpDefaults
40
+
41
+ MCP server definitions are injected **conservatively** — only when the key is absent from the user's active OpenCode config. They are never overwritten.
42
+
43
+ ## Key Constraints
44
+
45
+ - **Always run `mise run validate-config` after changes.** The build task depends on it.
46
+ - **Do not use `ajv` or standard JSON Schema validators.** The hand-rolled validator in `scripts/schema-lib.ts` has intentional limitations.
47
+ - **`additionalProperties: false` is enforced everywhere.** Unknown fields will fail validation.
48
+ - **Keep defaults and schema in sync.** A field in one must exist in the other.
@@ -0,0 +1,180 @@
1
+ {
2
+ "flags": {
3
+ "profile": "standard",
4
+ "enforcement": true,
5
+ "observation": true,
6
+ "prompt_controls": true,
7
+ "agent_compilation": true,
8
+ "command_compilation": true,
9
+ "mcp_compilation": true,
10
+ "telemetry": true,
11
+ "supervision": true,
12
+ "quality_gate": true,
13
+ "task_lifecycle": true,
14
+ "quality_gate_enforcement": false,
15
+ "concurrency_limit": 5,
16
+ "skill_sources": ["${plugin_root}/skills", "${home}/.agents/skills", "${home}/skills"],
17
+ "skill_injection": false,
18
+ "compiler": {
19
+ "permission_compilation": true
20
+ },
21
+ "experimental": {
22
+ "chat_system_transform": false,
23
+ "chat_messages_transform": false,
24
+ "session_compacting": false,
25
+ "text_complete": false
26
+ },
27
+ "supervision_config": {
28
+ "idle_timeout_ms": 180000,
29
+ "cooldown_ms": 300000
30
+ },
31
+ "quality_config": {
32
+ "reminder_idle_ms": 120000,
33
+ "reminder_cooldown_ms": 300000
34
+ }
35
+ },
36
+ "agentSettings": {
37
+ "planner": {
38
+ "model": "anthropic/claude-opus-4-6",
39
+ "temperature": 0,
40
+ "steps": 200
41
+ },
42
+ "executor": {
43
+ "model": "anthropic/claude-sonnet-4-6",
44
+ "temperature": 0,
45
+ "steps": 200
46
+ },
47
+ "coder": {
48
+ "model": "anthropic/claude-sonnet-4-6",
49
+ "temperature": 0,
50
+ "steps": 40
51
+ },
52
+ "ui-coder": {
53
+ "model": "anthropic/claude-sonnet-4-6",
54
+ "temperature": 0,
55
+ "steps": 40
56
+ },
57
+ "sec-coder": {
58
+ "model": "anthropic/claude-opus-4-6",
59
+ "temperature": 0,
60
+ "steps": 60
61
+ },
62
+ "reviewer": {
63
+ "model": "anthropic/claude-sonnet-4-6",
64
+ "temperature": 0,
65
+ "steps": 30
66
+ },
67
+ "auditor": {
68
+ "model": "anthropic/claude-opus-4-6",
69
+ "temperature": 0,
70
+ "steps": 40
71
+ },
72
+ "scout": {
73
+ "model": "anthropic/claude-sonnet-4-6",
74
+ "temperature": 0,
75
+ "steps": 30
76
+ },
77
+ "docmaster": {
78
+ "model": "anthropic/claude-sonnet-4-6",
79
+ "temperature": 0,
80
+ "steps": 30
81
+ }
82
+ },
83
+ "mcpDefaults": {
84
+ "code_index": {
85
+ "type": "local",
86
+ "command": ["python3", "-m", "code_index_mcp.server"],
87
+ "enabled": true
88
+ },
89
+ "repo": {
90
+ "type": "local",
91
+ "command": ["python3", "-m", "mcp_server_git"],
92
+ "enabled": true
93
+ },
94
+ "context7": {
95
+ "type": "remote",
96
+ "url": "https://mcp.context7.com/mcp",
97
+ "enabled": false
98
+ },
99
+ "exa": {
100
+ "type": "remote",
101
+ "url": "https://mcp.exa.ai/mcp",
102
+ "enabled": false
103
+ },
104
+ "gh_grep": {
105
+ "type": "remote",
106
+ "url": "https://mcp.grep.app",
107
+ "enabled": false
108
+ },
109
+ "github": {
110
+ "type": "local",
111
+ "command": ["npx", "-y", "@modelcontextprotocol/server-github"],
112
+ "environment": {
113
+ "GITHUB_PERSONAL_ACCESS_TOKEN": "{env:GITHUB_PAT_TOKEN}"
114
+ },
115
+ "enabled": false
116
+ }
117
+ },
118
+ "profiles": {
119
+ "minimal": {
120
+ "enforcement": true,
121
+ "observation": false,
122
+ "prompt_controls": false,
123
+ "agent_compilation": true,
124
+ "command_compilation": true,
125
+ "mcp_compilation": true,
126
+ "telemetry": false,
127
+ "supervision": false,
128
+ "quality_gate": false,
129
+ "task_lifecycle": false,
130
+ "quality_gate_enforcement": false,
131
+ "concurrency_limit": 0,
132
+ "experimental": {
133
+ "chat_system_transform": false,
134
+ "chat_messages_transform": false,
135
+ "session_compacting": false,
136
+ "text_complete": false
137
+ }
138
+ },
139
+ "standard": {
140
+ "enforcement": true,
141
+ "observation": true,
142
+ "prompt_controls": true,
143
+ "agent_compilation": true,
144
+ "command_compilation": true,
145
+ "mcp_compilation": true,
146
+ "telemetry": true,
147
+ "supervision": true,
148
+ "quality_gate": true,
149
+ "task_lifecycle": true,
150
+ "quality_gate_enforcement": false,
151
+ "concurrency_limit": 5,
152
+ "experimental": {
153
+ "chat_system_transform": false,
154
+ "chat_messages_transform": false,
155
+ "session_compacting": false,
156
+ "text_complete": false
157
+ }
158
+ },
159
+ "strict": {
160
+ "enforcement": true,
161
+ "observation": true,
162
+ "prompt_controls": true,
163
+ "agent_compilation": true,
164
+ "command_compilation": true,
165
+ "mcp_compilation": true,
166
+ "telemetry": true,
167
+ "supervision": true,
168
+ "quality_gate": true,
169
+ "task_lifecycle": true,
170
+ "quality_gate_enforcement": true,
171
+ "concurrency_limit": 5,
172
+ "experimental": {
173
+ "chat_system_transform": true,
174
+ "chat_messages_transform": true,
175
+ "session_compacting": true,
176
+ "text_complete": true
177
+ }
178
+ }
179
+ }
180
+ }
@@ -0,0 +1,265 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "opencode-multiagent settings",
4
+ "description": "Unified bundled settings and schema surface for the OpenCode multi-agent plugin.",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "properties": {
8
+ "flags": {
9
+ "title": "opencode-multiagent flags",
10
+ "description": "Partial runtime overrides for the OpenCode multi-agent control plane plugin.",
11
+ "type": "object",
12
+ "additionalProperties": false,
13
+ "properties": {
14
+ "profile": {
15
+ "type": "string",
16
+ "enum": ["minimal", "standard", "strict"],
17
+ "description": "Named runtime profile to use as the base flag set."
18
+ },
19
+ "enforcement": {
20
+ "type": "boolean",
21
+ "description": "Enable local path and shell safety enforcement hooks."
22
+ },
23
+ "observation": {
24
+ "type": "boolean",
25
+ "description": "Enable JSONL observation logging for events and tool executions."
26
+ },
27
+ "prompt_controls": {
28
+ "type": "boolean",
29
+ "description": "Enable prompt metadata headers and risky-input logging."
30
+ },
31
+ "agent_compilation": {
32
+ "type": "boolean",
33
+ "description": "Compile bundled, global, and project agent markdown into config."
34
+ },
35
+ "command_compilation": {
36
+ "type": "boolean",
37
+ "description": "Compile bundled, global, and project command markdown into config."
38
+ },
39
+ "mcp_compilation": {
40
+ "type": "boolean",
41
+ "description": "Inject plugin-managed MCP server defaults when missing from config."
42
+ },
43
+ "telemetry": {
44
+ "type": "boolean",
45
+ "description": "Enable detailed agent and tool telemetry in the plugin JSONL log."
46
+ },
47
+ "supervision": {
48
+ "type": "boolean",
49
+ "description": "Enable parent-child idle supervision reminders."
50
+ },
51
+ "quality_gate": {
52
+ "type": "boolean",
53
+ "description": "Enable quality reminder tracking for edited sessions."
54
+ },
55
+ "task_lifecycle": {
56
+ "type": "boolean",
57
+ "description": "Enable automatic task board updates when child sessions complete."
58
+ },
59
+ "quality_gate_enforcement": {
60
+ "type": "boolean",
61
+ "description": "Block task completion via task_update unless verification evidence exists."
62
+ },
63
+ "concurrency_limit": {
64
+ "type": "number",
65
+ "minimum": 0,
66
+ "description": "Maximum parallel child sessions per parent. 0 means unlimited."
67
+ },
68
+ "skill_injection": {
69
+ "type": "boolean",
70
+ "description": "Enable dynamic skill registry lookup and prompt injection."
71
+ },
72
+ "skill_sources": {
73
+ "type": "array",
74
+ "description": "Skill registry search paths. Variables such as ${plugin_root} and ${home} are resolved at runtime.",
75
+ "items": {
76
+ "type": "string",
77
+ "minLength": 1
78
+ },
79
+ "minItems": 1
80
+ },
81
+ "compiler": {
82
+ "type": "object",
83
+ "additionalProperties": false,
84
+ "properties": {
85
+ "permission_compilation": {
86
+ "type": "boolean",
87
+ "description": "Fill missing top-level OpenCode permission defaults conservatively."
88
+ }
89
+ }
90
+ },
91
+ "experimental": {
92
+ "type": "object",
93
+ "additionalProperties": false,
94
+ "properties": {
95
+ "chat_system_transform": {
96
+ "type": "boolean"
97
+ },
98
+ "chat_messages_transform": {
99
+ "type": "boolean"
100
+ },
101
+ "session_compacting": {
102
+ "type": "boolean"
103
+ },
104
+ "text_complete": {
105
+ "type": "boolean"
106
+ }
107
+ }
108
+ },
109
+ "supervision_config": {
110
+ "type": "object",
111
+ "additionalProperties": false,
112
+ "properties": {
113
+ "idle_timeout_ms": {
114
+ "type": "number",
115
+ "minimum": 0
116
+ },
117
+ "cooldown_ms": {
118
+ "type": "number",
119
+ "minimum": 0
120
+ }
121
+ }
122
+ },
123
+ "quality_config": {
124
+ "type": "object",
125
+ "additionalProperties": false,
126
+ "properties": {
127
+ "reminder_idle_ms": {
128
+ "type": "number",
129
+ "minimum": 0
130
+ },
131
+ "reminder_cooldown_ms": {
132
+ "type": "number",
133
+ "minimum": 0
134
+ }
135
+ }
136
+ }
137
+ }
138
+ },
139
+ "agentSettings": {
140
+ "title": "opencode-multiagent agent settings",
141
+ "description": "Central model, temperature, and step overrides per bundled agent.",
142
+ "type": "object",
143
+ "additionalProperties": {
144
+ "type": "object",
145
+ "additionalProperties": false,
146
+ "properties": {
147
+ "model": {
148
+ "type": "string",
149
+ "pattern": "^[^\\s]+/[^\\s]+$"
150
+ },
151
+ "temperature": {
152
+ "type": "number",
153
+ "minimum": 0,
154
+ "maximum": 2
155
+ },
156
+ "steps": {
157
+ "type": "number",
158
+ "minimum": 1
159
+ }
160
+ },
161
+ "required": ["model"]
162
+ }
163
+ },
164
+ "mcpDefaults": {
165
+ "title": "opencode-multiagent MCP defaults",
166
+ "description": "Plugin-managed MCP server definitions that are conservatively injected when missing from the active OpenCode config.",
167
+ "type": "object",
168
+ "additionalProperties": {
169
+ "type": "object",
170
+ "additionalProperties": false,
171
+ "properties": {
172
+ "type": {
173
+ "type": "string",
174
+ "enum": ["local", "remote"]
175
+ },
176
+ "url": {
177
+ "type": "string",
178
+ "minLength": 1
179
+ },
180
+ "command": {
181
+ "type": "array",
182
+ "items": {
183
+ "type": "string",
184
+ "minLength": 1
185
+ },
186
+ "minItems": 1
187
+ },
188
+ "environment": {
189
+ "type": "object",
190
+ "additionalProperties": {
191
+ "type": "string"
192
+ }
193
+ },
194
+ "enabled": {
195
+ "type": "boolean"
196
+ }
197
+ },
198
+ "required": ["type", "enabled"]
199
+ }
200
+ },
201
+ "profiles": {
202
+ "title": "opencode-multiagent profiles",
203
+ "description": "Named flag bundles for switching plugin behavior by profile.",
204
+ "type": "object",
205
+ "additionalProperties": {
206
+ "type": "object",
207
+ "additionalProperties": false,
208
+ "properties": {
209
+ "enforcement": { "type": "boolean" },
210
+ "observation": { "type": "boolean" },
211
+ "prompt_controls": { "type": "boolean" },
212
+ "agent_compilation": { "type": "boolean" },
213
+ "command_compilation": { "type": "boolean" },
214
+ "mcp_compilation": { "type": "boolean" },
215
+ "telemetry": { "type": "boolean" },
216
+ "supervision": { "type": "boolean" },
217
+ "quality_gate": { "type": "boolean" },
218
+ "task_lifecycle": { "type": "boolean" },
219
+ "quality_gate_enforcement": { "type": "boolean" },
220
+ "concurrency_limit": { "type": "number", "minimum": 0 },
221
+ "skill_injection": { "type": "boolean" },
222
+ "skill_sources": {
223
+ "type": "array",
224
+ "items": { "type": "string", "minLength": 1 },
225
+ "minItems": 1
226
+ },
227
+ "compiler": {
228
+ "type": "object",
229
+ "additionalProperties": false,
230
+ "properties": {
231
+ "permission_compilation": { "type": "boolean" }
232
+ }
233
+ },
234
+ "experimental": {
235
+ "type": "object",
236
+ "additionalProperties": false,
237
+ "properties": {
238
+ "chat_system_transform": { "type": "boolean" },
239
+ "chat_messages_transform": { "type": "boolean" },
240
+ "session_compacting": { "type": "boolean" },
241
+ "text_complete": { "type": "boolean" }
242
+ }
243
+ },
244
+ "supervision_config": {
245
+ "type": "object",
246
+ "additionalProperties": false,
247
+ "properties": {
248
+ "idle_timeout_ms": { "type": "number", "minimum": 0 },
249
+ "cooldown_ms": { "type": "number", "minimum": 0 }
250
+ }
251
+ },
252
+ "quality_config": {
253
+ "type": "object",
254
+ "additionalProperties": false,
255
+ "properties": {
256
+ "reminder_idle_ms": { "type": "number", "minimum": 0 },
257
+ "reminder_cooldown_ms": { "type": "number", "minimum": 0 }
258
+ }
259
+ }
260
+ }
261
+ }
262
+ }
263
+ },
264
+ "required": ["flags", "agentSettings", "mcpDefaults", "profiles"]
265
+ }
@@ -0,0 +1,4 @@
1
+ import type { PluginInput } from '@opencode-ai/plugin';
2
+ export declare const OpenCodeMultiAgentPlugin: (context: PluginInput) => Promise<import("./opencode-multiagent/hooks.ts").ExtendedHooks>;
3
+ export default OpenCodeMultiAgentPlugin;
4
+ //# sourceMappingURL=control-plane.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../src/control-plane.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKvD,eAAO,MAAM,wBAAwB,GAAU,SAAS,WAAW,oEAWlE,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { Plugin } from '@opencode-ai/plugin';
2
+ declare const plugin: Plugin;
3
+ export default plugin;
4
+ export { plugin as OpenCodeMultiAgentPlugin };
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAIlD,QAAA,MAAM,MAAM,EAAE,MAAiC,CAAC;AAEhD,eAAe,MAAM,CAAC;AACtB,OAAO,EAAE,MAAM,IAAI,wBAAwB,EAAE,CAAC"}