opencode-swarm-plugin 0.37.0 → 0.38.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/.hive/issues.jsonl +9 -5
- package/.hive/memories.jsonl +13 -1
- package/.turbo/turbo-build.log +4 -4
- package/.turbo/turbo-test.log +319 -319
- package/CHANGELOG.md +128 -0
- package/README.md +33 -0
- package/bin/swarm.ts +2 -208
- package/dist/hive.d.ts +59 -0
- package/dist/hive.d.ts.map +1 -1
- package/dist/index.d.ts +43 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +453 -118
- package/dist/plugin.js +452 -118
- package/dist/swarm-decompose.d.ts +30 -0
- package/dist/swarm-decompose.d.ts.map +1 -1
- package/dist/swarm.d.ts +15 -0
- package/dist/swarm.d.ts.map +1 -1
- package/evals/README.md +27 -10
- package/examples/plugin-wrapper-template.ts +60 -8
- package/package.json +4 -1
- package/src/compaction-hook.test.ts +97 -2
- package/src/compaction-hook.ts +32 -2
- package/src/swarm-decompose.test.ts +40 -47
- package/src/swarm-orchestrate.test.ts +270 -7
- package/src/swarm-orchestrate.ts +98 -11
- package/src/swarm-prompts.test.ts +121 -0
- package/src/swarm-prompts.ts +295 -2
- package/src/swarm-research.integration.test.ts +157 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,133 @@
|
|
|
1
1
|
# opencode-swarm-plugin
|
|
2
2
|
|
|
3
|
+
## 0.38.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`41a1965`](https://github.com/joelhooks/swarm-tools/commit/41a19657b252eb1c7a7dc82bc59ab13589e8758f) Thanks [@joelhooks](https://github.com/joelhooks)! - ## 🐝 Coordinators Now Delegate Research to Workers
|
|
8
|
+
|
|
9
|
+
Coordinators finally know their place. They orchestrate, they don't fetch.
|
|
10
|
+
|
|
11
|
+
**The Problem:**
|
|
12
|
+
Coordinators were calling `repo-crawl_file`, `webfetch`, `context7_*` directly, burning expensive Sonnet context on raw file contents instead of spawning researcher workers.
|
|
13
|
+
|
|
14
|
+
**The Fix:**
|
|
15
|
+
|
|
16
|
+
### Forbidden Tools Section
|
|
17
|
+
|
|
18
|
+
COORDINATOR_PROMPT now explicitly lists tools coordinators must NEVER call:
|
|
19
|
+
|
|
20
|
+
- `repo-crawl_*`, `repo-autopsy_*` - repository fetching
|
|
21
|
+
- `webfetch`, `fetch_fetch` - web fetching
|
|
22
|
+
- `context7_*` - library documentation
|
|
23
|
+
- `pdf-brain_search`, `pdf-brain_read` - knowledge base
|
|
24
|
+
|
|
25
|
+
### Phase 1.5: Research Phase
|
|
26
|
+
|
|
27
|
+
New workflow phase between Initialize and Knowledge Gathering:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
swarm_spawn_researcher(
|
|
31
|
+
research_id="research-nextjs-cache",
|
|
32
|
+
tech_stack=["Next.js 16 Cache Components"],
|
|
33
|
+
project_path="/path/to/project"
|
|
34
|
+
)
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Strong Coordinator Identity Post-Compaction
|
|
38
|
+
|
|
39
|
+
When context compacts, the resuming agent now sees:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
43
|
+
│ 🐝 YOU ARE THE COORDINATOR 🐝 │
|
|
44
|
+
│ NOT A WORKER. NOT AN IMPLEMENTER. │
|
|
45
|
+
│ YOU ORCHESTRATE. │
|
|
46
|
+
└─────────────────────────────────────────────────────────────┘
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### runResearchPhase Returns Spawn Instructions
|
|
50
|
+
|
|
51
|
+
```typescript
|
|
52
|
+
const result = await runResearchPhase(task, projectPath);
|
|
53
|
+
// result.spawn_instructions = [
|
|
54
|
+
// { research_id, tech, prompt, subagent_type: "swarm/researcher" }
|
|
55
|
+
// ]
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**32+ new tests, all 425 passing.**
|
|
59
|
+
|
|
60
|
+
- [`b06f69b`](https://github.com/joelhooks/swarm-tools/commit/b06f69bc3db099c14f712585d88b42c801123d01) Thanks [@joelhooks](https://github.com/joelhooks)! - ## 🔬 Eval Capture Pipeline: Complete
|
|
61
|
+
|
|
62
|
+
> "The purpose of computing is insight, not numbers." — Richard Hamming
|
|
63
|
+
|
|
64
|
+
Wire all eval-capture functions into the swarm execution path, enabling ground-truth collection from real swarm executions.
|
|
65
|
+
|
|
66
|
+
**What changed:**
|
|
67
|
+
|
|
68
|
+
| Function | Wired Into | Purpose |
|
|
69
|
+
| ------------------------- | ------------------------------ | ---------------------------------- |
|
|
70
|
+
| `captureDecomposition()` | `swarm_validate_decomposition` | Records task → subtasks mapping |
|
|
71
|
+
| `captureSubtaskOutcome()` | `swarm_complete` | Records per-subtask execution data |
|
|
72
|
+
| `finalizeEvalRecord()` | `swarm_record_outcome` | Computes aggregate metrics |
|
|
73
|
+
|
|
74
|
+
**New npm scripts:**
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
bun run eval:run # Run all evals
|
|
78
|
+
bun run eval:decomposition # Decomposition quality
|
|
79
|
+
bun run eval:coordinator # Coordinator discipline
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**Data flow:**
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
swarm_decompose → captureDecomposition → .opencode/eval-data.jsonl
|
|
86
|
+
↓
|
|
87
|
+
swarm_complete → captureSubtaskOutcome → updates record with outcomes
|
|
88
|
+
↓
|
|
89
|
+
swarm_record_outcome → finalizeEvalRecord → computes scope_accuracy, time_balance
|
|
90
|
+
↓
|
|
91
|
+
evalite → reads JSONL → scores decomposition quality
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**Why it matters:**
|
|
95
|
+
|
|
96
|
+
- Enables data-driven decomposition strategy selection
|
|
97
|
+
- Tracks which strategies work for which task types
|
|
98
|
+
- Provides ground truth for Evalite evals
|
|
99
|
+
- Foundation for learning from swarm outcomes
|
|
100
|
+
|
|
101
|
+
**Key discovery:** New cell ID format doesn't follow `epicId.subtaskNum` pattern. Must use `cell.parent_id` to get epic ID for subtasks.
|
|
102
|
+
|
|
103
|
+
### Patch Changes
|
|
104
|
+
|
|
105
|
+
- [`56e5d4c`](https://github.com/joelhooks/swarm-tools/commit/56e5d4c5ac96ddd2184d12c63e163bb9c291fb69) Thanks [@joelhooks](https://github.com/joelhooks)! - ## 🔬 Eval Capture Pipeline: Phase 1
|
|
106
|
+
|
|
107
|
+
> "The first step toward wisdom is getting things right. The second step is getting them wrong in interesting ways." — Marvin Minsky
|
|
108
|
+
|
|
109
|
+
Wire `captureDecomposition()` into `swarm_validate_decomposition` to record decomposition inputs/outputs for evaluation.
|
|
110
|
+
|
|
111
|
+
**What changed:**
|
|
112
|
+
|
|
113
|
+
- `swarm_validate_decomposition` now calls `captureDecomposition()` after successful validation
|
|
114
|
+
- Captures: epicId, projectPath, task, context, strategy, epicTitle, subtasks
|
|
115
|
+
- Data persisted to `.opencode/eval-data.jsonl` for Evalite consumption
|
|
116
|
+
|
|
117
|
+
**Why it matters:**
|
|
118
|
+
|
|
119
|
+
- Enables ground-truth collection from real swarm executions
|
|
120
|
+
- Foundation for decomposition quality evals
|
|
121
|
+
- Tracks what strategies work for which task types
|
|
122
|
+
|
|
123
|
+
**Tests added:**
|
|
124
|
+
|
|
125
|
+
- Verifies `captureDecomposition` called with correct params on success
|
|
126
|
+
- Verifies NOT called on validation failure
|
|
127
|
+
- Handles optional context/description fields
|
|
128
|
+
|
|
129
|
+
**Next:** Wire `captureSubtaskOutcome()` and `finalizeEvalRecord()` to complete the pipeline.
|
|
130
|
+
|
|
3
131
|
## 0.37.0
|
|
4
132
|
|
|
5
133
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -231,6 +231,39 @@ bun test
|
|
|
231
231
|
bun run typecheck
|
|
232
232
|
```
|
|
233
233
|
|
|
234
|
+
### Evaluation Pipeline
|
|
235
|
+
|
|
236
|
+
Test decomposition quality and coordinator discipline with **Evalite** (TypeScript-native eval framework):
|
|
237
|
+
|
|
238
|
+
```bash
|
|
239
|
+
# Run all evals
|
|
240
|
+
bun run eval:run
|
|
241
|
+
|
|
242
|
+
# Run specific suites
|
|
243
|
+
bun run eval:decomposition # Task decomposition quality
|
|
244
|
+
bun run eval:coordinator # Coordinator protocol compliance
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
**What gets evaluated:**
|
|
248
|
+
|
|
249
|
+
| Eval Suite | Measures | Data Source |
|
|
250
|
+
|------------|----------|-------------|
|
|
251
|
+
| `swarm-decomposition` | Subtask independence, complexity balance, coverage, clarity | Fixtures + captured real decompositions |
|
|
252
|
+
| `coordinator-session` | Violation count, spawn efficiency, review thoroughness | Real sessions from `~/.config/swarm-tools/sessions/` |
|
|
253
|
+
|
|
254
|
+
**Data capture locations:**
|
|
255
|
+
- Decomposition inputs/outputs: `.opencode/eval-data.jsonl`
|
|
256
|
+
- Coordinator sessions: `~/.config/swarm-tools/sessions/*.jsonl`
|
|
257
|
+
- Subtask outcomes: swarm-mail database (used for pattern learning)
|
|
258
|
+
|
|
259
|
+
**Custom scorers:**
|
|
260
|
+
- Subtask independence (0-1): Files don't overlap between subtasks
|
|
261
|
+
- Complexity balance (0-1): Subtasks have similar estimated complexity
|
|
262
|
+
- Coverage completeness (0-1): Required files are covered
|
|
263
|
+
- Instruction clarity (0-1): Descriptions are specific and actionable
|
|
264
|
+
|
|
265
|
+
See [evals/README.md](./evals/README.md) for scorer details and how to write new evals.
|
|
266
|
+
|
|
234
267
|
---
|
|
235
268
|
|
|
236
269
|
## CLI
|
package/bin/swarm.ts
CHANGED
|
@@ -35,6 +35,7 @@ import {
|
|
|
35
35
|
ensureHiveDirectory,
|
|
36
36
|
getHiveAdapter,
|
|
37
37
|
} from "../src/hive";
|
|
38
|
+
import { formatCoordinatorPrompt } from "../src/swarm-prompts";
|
|
38
39
|
import {
|
|
39
40
|
legacyDatabaseExists,
|
|
40
41
|
migratePGliteToLibSQL,
|
|
@@ -993,214 +994,7 @@ const SWARM_COMMAND = `---
|
|
|
993
994
|
description: Decompose task into parallel subtasks and coordinate agents
|
|
994
995
|
---
|
|
995
996
|
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
## Task
|
|
999
|
-
|
|
1000
|
-
$ARGUMENTS
|
|
1001
|
-
|
|
1002
|
-
## CRITICAL: Coordinator Role Boundaries
|
|
1003
|
-
|
|
1004
|
-
**⚠️ COORDINATORS NEVER EXECUTE WORK DIRECTLY**
|
|
1005
|
-
|
|
1006
|
-
Your role is **ONLY** to:
|
|
1007
|
-
1. **Clarify** - Ask questions to understand scope
|
|
1008
|
-
2. **Decompose** - Break into subtasks with clear boundaries
|
|
1009
|
-
3. **Spawn** - Create worker agents for ALL subtasks
|
|
1010
|
-
4. **Monitor** - Check progress, unblock, mediate conflicts
|
|
1011
|
-
5. **Verify** - Confirm completion, run final checks
|
|
1012
|
-
|
|
1013
|
-
**YOU DO NOT:**
|
|
1014
|
-
- Read implementation files (only metadata/structure for planning)
|
|
1015
|
-
- Edit code directly
|
|
1016
|
-
- Run tests yourself (workers run tests)
|
|
1017
|
-
- Implement features
|
|
1018
|
-
- Fix bugs inline
|
|
1019
|
-
- Make "quick fixes" yourself
|
|
1020
|
-
|
|
1021
|
-
**ALWAYS spawn workers, even for sequential tasks.** Sequential just means spawn them in order and wait for each to complete before spawning the next.
|
|
1022
|
-
|
|
1023
|
-
### Why This Matters
|
|
1024
|
-
|
|
1025
|
-
| Coordinator Work | Worker Work | Consequence of Mixing |
|
|
1026
|
-
|-----------------|-------------|----------------------|
|
|
1027
|
-
| Sonnet context ($$$) | Disposable context | Expensive context waste |
|
|
1028
|
-
| Long-lived state | Task-scoped state | Context exhaustion |
|
|
1029
|
-
| Orchestration concerns | Implementation concerns | Mixed concerns |
|
|
1030
|
-
| No checkpoints | Checkpoints enabled | No recovery |
|
|
1031
|
-
| No learning signals | Outcomes tracked | No improvement |
|
|
1032
|
-
|
|
1033
|
-
## Workflow
|
|
1034
|
-
|
|
1035
|
-
### Phase 0: Socratic Planning (INTERACTIVE - unless --fast)
|
|
1036
|
-
|
|
1037
|
-
**Before decomposing, clarify the task with the user.**
|
|
1038
|
-
|
|
1039
|
-
Check for flags in the task:
|
|
1040
|
-
- \`--fast\` → Skip questions, use reasonable defaults
|
|
1041
|
-
- \`--auto\` → Zero interaction, heuristic decisions
|
|
1042
|
-
- \`--confirm-only\` → Show plan, get yes/no only
|
|
1043
|
-
|
|
1044
|
-
**Default (no flags): Full Socratic Mode**
|
|
1045
|
-
|
|
1046
|
-
1. **Analyze task for ambiguity:**
|
|
1047
|
-
- Scope unclear? (what's included/excluded)
|
|
1048
|
-
- Strategy unclear? (file-based vs feature-based)
|
|
1049
|
-
- Dependencies unclear? (what needs to exist first)
|
|
1050
|
-
- Success criteria unclear? (how do we know it's done)
|
|
1051
|
-
|
|
1052
|
-
2. **If clarification needed, ask ONE question at a time:**
|
|
1053
|
-
\`\`\`
|
|
1054
|
-
The task "<task>" needs clarification before I can decompose it.
|
|
1055
|
-
|
|
1056
|
-
**Question:** <specific question>
|
|
1057
|
-
|
|
1058
|
-
Options:
|
|
1059
|
-
a) <option 1> - <tradeoff>
|
|
1060
|
-
b) <option 2> - <tradeoff>
|
|
1061
|
-
c) <option 3> - <tradeoff>
|
|
1062
|
-
|
|
1063
|
-
I'd recommend (b) because <reason>. Which approach?
|
|
1064
|
-
\`\`\`
|
|
1065
|
-
|
|
1066
|
-
3. **Wait for user response before proceeding**
|
|
1067
|
-
|
|
1068
|
-
4. **Iterate if needed** (max 2-3 questions)
|
|
1069
|
-
|
|
1070
|
-
**Rules:**
|
|
1071
|
-
- ONE question at a time - don't overwhelm
|
|
1072
|
-
- Offer concrete options - not open-ended
|
|
1073
|
-
- Lead with recommendation - save cognitive load
|
|
1074
|
-
- Wait for answer - don't assume
|
|
1075
|
-
|
|
1076
|
-
### Phase 1: Initialize
|
|
1077
|
-
\`swarmmail_init(project_path="$PWD", task_description="Swarm: <task>")\`
|
|
1078
|
-
|
|
1079
|
-
### Phase 2: Knowledge Gathering (MANDATORY)
|
|
1080
|
-
|
|
1081
|
-
**Before decomposing, query ALL knowledge sources:**
|
|
1082
|
-
|
|
1083
|
-
\`\`\`
|
|
1084
|
-
semantic-memory_find(query="<task keywords>", limit=5) # Past learnings
|
|
1085
|
-
cass_search(query="<task description>", limit=5) # Similar past tasks
|
|
1086
|
-
skills_list() # Available skills
|
|
1087
|
-
\`\`\`
|
|
1088
|
-
|
|
1089
|
-
Synthesize findings into shared_context for workers.
|
|
1090
|
-
|
|
1091
|
-
### Phase 3: Decompose
|
|
1092
|
-
\`\`\`
|
|
1093
|
-
swarm_select_strategy(task="<task>")
|
|
1094
|
-
swarm_plan_prompt(task="<task>", context="<synthesized knowledge>")
|
|
1095
|
-
swarm_validate_decomposition(response="<CellTree JSON>")
|
|
1096
|
-
\`\`\`
|
|
1097
|
-
|
|
1098
|
-
### Phase 4: Create Beads
|
|
1099
|
-
\`hive_create_epic(epic_title="<task>", subtasks=[...])\`
|
|
1100
|
-
|
|
1101
|
-
### Phase 5: DO NOT Reserve Files
|
|
1102
|
-
|
|
1103
|
-
> **⚠️ Coordinator NEVER reserves files.** Workers reserve their own files.
|
|
1104
|
-
> If coordinator reserves, workers get blocked and swarm stalls.
|
|
1105
|
-
|
|
1106
|
-
### Phase 6: Spawn Workers for ALL Subtasks (MANDATORY)
|
|
1107
|
-
|
|
1108
|
-
> **⚠️ ALWAYS spawn workers, even for sequential tasks.**
|
|
1109
|
-
> - Parallel tasks: Spawn ALL in a single message
|
|
1110
|
-
> - Sequential tasks: Spawn one, wait for completion, spawn next
|
|
1111
|
-
|
|
1112
|
-
**For parallel work:**
|
|
1113
|
-
\`\`\`
|
|
1114
|
-
// Single message with multiple Task calls
|
|
1115
|
-
swarm_spawn_subtask(bead_id_1, epic_id, title_1, files_1, shared_context, project_path="$PWD")
|
|
1116
|
-
Task(subagent_type="swarm/worker", prompt="<from above>")
|
|
1117
|
-
swarm_spawn_subtask(bead_id_2, epic_id, title_2, files_2, shared_context, project_path="$PWD")
|
|
1118
|
-
Task(subagent_type="swarm/worker", prompt="<from above>")
|
|
1119
|
-
\`\`\`
|
|
1120
|
-
|
|
1121
|
-
**For sequential work:**
|
|
1122
|
-
\`\`\`
|
|
1123
|
-
// Spawn worker 1, wait for completion
|
|
1124
|
-
swarm_spawn_subtask(bead_id_1, ...)
|
|
1125
|
-
const result1 = await Task(subagent_type="swarm/worker", prompt="<from above>")
|
|
1126
|
-
|
|
1127
|
-
// THEN spawn worker 2 with context from worker 1
|
|
1128
|
-
swarm_spawn_subtask(bead_id_2, ..., shared_context="Worker 1 completed: " + result1)
|
|
1129
|
-
const result2 = await Task(subagent_type="swarm/worker", prompt="<from above>")
|
|
1130
|
-
\`\`\`
|
|
1131
|
-
|
|
1132
|
-
**NEVER do the work yourself.** Even if it seems faster, spawn a worker.
|
|
1133
|
-
|
|
1134
|
-
**IMPORTANT:** Pass \`project_path\` to \`swarm_spawn_subtask\` so workers can call \`swarmmail_init\`.
|
|
1135
|
-
|
|
1136
|
-
### Phase 7: MANDATORY Review Loop (NON-NEGOTIABLE)
|
|
1137
|
-
|
|
1138
|
-
**⚠️ AFTER EVERY Task() RETURNS, YOU MUST:**
|
|
1139
|
-
|
|
1140
|
-
1. **CHECK INBOX** - Worker may have sent messages
|
|
1141
|
-
\`swarmmail_inbox()\`
|
|
1142
|
-
\`swarmmail_read_message(message_id=N)\`
|
|
1143
|
-
|
|
1144
|
-
2. **REVIEW WORK** - Generate review with diff
|
|
1145
|
-
\`swarm_review(project_key, epic_id, task_id, files_touched)\`
|
|
1146
|
-
|
|
1147
|
-
3. **EVALUATE** - Does it meet epic goals?
|
|
1148
|
-
- Fulfills subtask requirements?
|
|
1149
|
-
- Serves overall epic goal?
|
|
1150
|
-
- Enables downstream tasks?
|
|
1151
|
-
- Type safety, no obvious bugs?
|
|
1152
|
-
|
|
1153
|
-
4. **SEND FEEDBACK** - Approve or request changes
|
|
1154
|
-
\`swarm_review_feedback(project_key, task_id, worker_id, status, issues)\`
|
|
1155
|
-
|
|
1156
|
-
**If approved:**
|
|
1157
|
-
- Close cell, spawn next worker
|
|
1158
|
-
|
|
1159
|
-
**If needs_changes:**
|
|
1160
|
-
- \`swarm_review_feedback\` returns \`retry_context\` (NOT sends message - worker is dead)
|
|
1161
|
-
- Generate retry prompt: \`swarm_spawn_retry(retry_context)\`
|
|
1162
|
-
- Spawn NEW worker with Task() using retry prompt
|
|
1163
|
-
- Max 3 attempts before marking task blocked
|
|
1164
|
-
|
|
1165
|
-
**If 3 failures:**
|
|
1166
|
-
- Mark task blocked, escalate to human
|
|
1167
|
-
|
|
1168
|
-
5. **ONLY THEN** - Spawn next worker or complete
|
|
1169
|
-
|
|
1170
|
-
**DO NOT skip this. DO NOT batch reviews. Review EACH worker IMMEDIATELY after return.**
|
|
1171
|
-
|
|
1172
|
-
**Intervene if:**
|
|
1173
|
-
- Worker blocked >5min → unblock or reassign
|
|
1174
|
-
- File conflicts → mediate between workers
|
|
1175
|
-
- Scope creep → approve or reject expansion
|
|
1176
|
-
- Review fails 3x → mark task blocked, escalate to human
|
|
1177
|
-
|
|
1178
|
-
### Phase 8: Complete
|
|
1179
|
-
\`\`\`
|
|
1180
|
-
# After all workers complete and reviews pass:
|
|
1181
|
-
hive_sync() # Sync all cells to git
|
|
1182
|
-
# Coordinator does NOT call swarm_complete - workers do that
|
|
1183
|
-
\`\`\`
|
|
1184
|
-
|
|
1185
|
-
## Strategy Reference
|
|
1186
|
-
|
|
1187
|
-
| Strategy | Best For | Keywords |
|
|
1188
|
-
| -------------- | ------------------------ | -------------------------------------- |
|
|
1189
|
-
| file-based | Refactoring, migrations | refactor, migrate, rename, update all |
|
|
1190
|
-
| feature-based | New features | add, implement, build, create, feature |
|
|
1191
|
-
| risk-based | Bug fixes, security | fix, bug, security, critical, urgent |
|
|
1192
|
-
| research-based | Investigation, discovery | research, investigate, explore, learn |
|
|
1193
|
-
|
|
1194
|
-
## Flag Reference
|
|
1195
|
-
|
|
1196
|
-
| Flag | Effect |
|
|
1197
|
-
|------|--------|
|
|
1198
|
-
| \`--fast\` | Skip Socratic questions, use defaults |
|
|
1199
|
-
| \`--auto\` | Zero interaction, heuristic decisions |
|
|
1200
|
-
| \`--confirm-only\` | Show plan, get yes/no only |
|
|
1201
|
-
|
|
1202
|
-
Begin with Phase 0 (Socratic Planning) unless \`--fast\` or \`--auto\` flag is present.
|
|
1203
|
-
`;
|
|
997
|
+
${formatCoordinatorPrompt({ task: "$ARGUMENTS", projectPath: "$PWD" })}`;
|
|
1204
998
|
|
|
1205
999
|
const getPlannerAgent = (model: string) => `---
|
|
1206
1000
|
name: swarm-planner
|
package/dist/hive.d.ts
CHANGED
|
@@ -283,6 +283,37 @@ export declare const hive_ready: {
|
|
|
283
283
|
args: {};
|
|
284
284
|
execute(args: Record<string, never>, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
|
|
285
285
|
};
|
|
286
|
+
/**
|
|
287
|
+
* Query cells from the hive database with flexible filtering
|
|
288
|
+
*/
|
|
289
|
+
export declare const hive_cells: {
|
|
290
|
+
description: string;
|
|
291
|
+
args: {
|
|
292
|
+
id: z.ZodOptional<z.ZodString>;
|
|
293
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
294
|
+
open: "open";
|
|
295
|
+
in_progress: "in_progress";
|
|
296
|
+
blocked: "blocked";
|
|
297
|
+
closed: "closed";
|
|
298
|
+
}>>;
|
|
299
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
300
|
+
bug: "bug";
|
|
301
|
+
feature: "feature";
|
|
302
|
+
task: "task";
|
|
303
|
+
epic: "epic";
|
|
304
|
+
chore: "chore";
|
|
305
|
+
}>>;
|
|
306
|
+
ready: z.ZodOptional<z.ZodBoolean>;
|
|
307
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
308
|
+
};
|
|
309
|
+
execute(args: {
|
|
310
|
+
id?: string | undefined;
|
|
311
|
+
status?: "open" | "in_progress" | "blocked" | "closed" | undefined;
|
|
312
|
+
type?: "bug" | "feature" | "task" | "epic" | "chore" | undefined;
|
|
313
|
+
ready?: boolean | undefined;
|
|
314
|
+
limit?: number | undefined;
|
|
315
|
+
}, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
|
|
316
|
+
};
|
|
286
317
|
/**
|
|
287
318
|
* Sync hive to git and push
|
|
288
319
|
*/
|
|
@@ -449,6 +480,34 @@ export declare const hiveTools: {
|
|
|
449
480
|
args: {};
|
|
450
481
|
execute(args: Record<string, never>, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
|
|
451
482
|
};
|
|
483
|
+
hive_cells: {
|
|
484
|
+
description: string;
|
|
485
|
+
args: {
|
|
486
|
+
id: z.ZodOptional<z.ZodString>;
|
|
487
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
488
|
+
open: "open";
|
|
489
|
+
in_progress: "in_progress";
|
|
490
|
+
blocked: "blocked";
|
|
491
|
+
closed: "closed";
|
|
492
|
+
}>>;
|
|
493
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
494
|
+
bug: "bug";
|
|
495
|
+
feature: "feature";
|
|
496
|
+
task: "task";
|
|
497
|
+
epic: "epic";
|
|
498
|
+
chore: "chore";
|
|
499
|
+
}>>;
|
|
500
|
+
ready: z.ZodOptional<z.ZodBoolean>;
|
|
501
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
502
|
+
};
|
|
503
|
+
execute(args: {
|
|
504
|
+
id?: string | undefined;
|
|
505
|
+
status?: "open" | "in_progress" | "blocked" | "closed" | undefined;
|
|
506
|
+
type?: "bug" | "feature" | "task" | "epic" | "chore" | undefined;
|
|
507
|
+
ready?: boolean | undefined;
|
|
508
|
+
limit?: number | undefined;
|
|
509
|
+
}, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
|
|
510
|
+
};
|
|
452
511
|
hive_sync: {
|
|
453
512
|
description: string;
|
|
454
513
|
args: {
|
package/dist/hive.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hive.d.ts","sourceRoot":"","sources":["../src/hive.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"hive.d.ts","sourceRoot":"","sources":["../src/hive.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1069,9 +1069,24 @@ export declare const allTools: {
|
|
|
1069
1069
|
description: string;
|
|
1070
1070
|
args: {
|
|
1071
1071
|
response: import("zod").ZodString;
|
|
1072
|
+
project_path: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1073
|
+
task: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1074
|
+
context: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1075
|
+
strategy: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
1076
|
+
"file-based": "file-based";
|
|
1077
|
+
"feature-based": "feature-based";
|
|
1078
|
+
"risk-based": "risk-based";
|
|
1079
|
+
auto: "auto";
|
|
1080
|
+
}>>;
|
|
1081
|
+
epic_id: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1072
1082
|
};
|
|
1073
1083
|
execute(args: {
|
|
1074
1084
|
response: string;
|
|
1085
|
+
project_path?: string | undefined;
|
|
1086
|
+
task?: string | undefined;
|
|
1087
|
+
context?: string | undefined;
|
|
1088
|
+
strategy?: "file-based" | "feature-based" | "risk-based" | "auto" | undefined;
|
|
1089
|
+
epic_id?: string | undefined;
|
|
1075
1090
|
}, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
|
|
1076
1091
|
};
|
|
1077
1092
|
readonly swarm_delegate_planning: {
|
|
@@ -1421,6 +1436,34 @@ export declare const allTools: {
|
|
|
1421
1436
|
args: {};
|
|
1422
1437
|
execute(args: Record<string, never>, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
|
|
1423
1438
|
};
|
|
1439
|
+
readonly hive_cells: {
|
|
1440
|
+
description: string;
|
|
1441
|
+
args: {
|
|
1442
|
+
id: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1443
|
+
status: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
1444
|
+
open: "open";
|
|
1445
|
+
in_progress: "in_progress";
|
|
1446
|
+
blocked: "blocked";
|
|
1447
|
+
closed: "closed";
|
|
1448
|
+
}>>;
|
|
1449
|
+
type: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
1450
|
+
bug: "bug";
|
|
1451
|
+
feature: "feature";
|
|
1452
|
+
task: "task";
|
|
1453
|
+
epic: "epic";
|
|
1454
|
+
chore: "chore";
|
|
1455
|
+
}>>;
|
|
1456
|
+
ready: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
1457
|
+
limit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
1458
|
+
};
|
|
1459
|
+
execute(args: {
|
|
1460
|
+
id?: string | undefined;
|
|
1461
|
+
status?: "open" | "in_progress" | "blocked" | "closed" | undefined;
|
|
1462
|
+
type?: "bug" | "feature" | "task" | "epic" | "chore" | undefined;
|
|
1463
|
+
ready?: boolean | undefined;
|
|
1464
|
+
limit?: number | undefined;
|
|
1465
|
+
}, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
|
|
1466
|
+
};
|
|
1424
1467
|
readonly hive_sync: {
|
|
1425
1468
|
description: string;
|
|
1426
1469
|
args: {
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,MAAM,EAAsB,MAAM,qBAAqB,CAAC;AA6CtE;;;;;;;;;;;;;;;;;GAiBG;AACH,QAAA,MAAM,WAAW,EAAE,MA0QlB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAe,WAAW,CAAC;AAM3B;;GAEG;AACH,cAAc,WAAW,CAAC;AAE1B;;;;;;;;;;;GAWG;AACH,cAAc,QAAQ,CAAC;AAEvB;;;;;;;;;;;;GAYG;AACH,OAAO,EACL,cAAc,EACd,cAAc,EACd,4BAA4B,EAC5B,4BAA4B,EAC5B,oBAAoB,EACpB,4BAA4B,EAC5B,4BAA4B,EAC5B,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,cAAc,EACd,4BAA4B,EAC5B,4BAA4B,EAC5B,iBAAiB,EACjB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AAEtB;;;;;GAKG;AACH,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;GAMG;AACH,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EACL,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EAEjB,UAAU,EACV,cAAc,EACd,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,GACxB,MAAM,SAAS,CAAC;AAMjB;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|