opencode-swarm-plugin 0.10.0 → 0.11.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/.beads/issues.jsonl +44 -0
- package/bin/swarm.ts +470 -20
- package/package.json +1 -1
package/.beads/issues.jsonl
CHANGED
|
@@ -6,10 +6,15 @@
|
|
|
6
6
|
{"id":"opencode-swarm-plugin-044p.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:54.520507-08:00","updated_at":"2025-12-08T11:10:56.339784-08:00","closed_at":"2025-12-08T11:10:56.339784-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-044p.2","depends_on_id":"opencode-swarm-plugin-044p","type":"parent-child","created_at":"2025-12-08T11:10:54.520862-08:00","created_by":"daemon"}]}
|
|
7
7
|
{"id":"opencode-swarm-plugin-044p.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:54.554603-08:00","updated_at":"2025-12-08T11:10:56.365658-08:00","closed_at":"2025-12-08T11:10:56.365658-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-044p.3","depends_on_id":"opencode-swarm-plugin-044p","type":"parent-child","created_at":"2025-12-08T11:10:54.55496-08:00","created_by":"daemon"}]}
|
|
8
8
|
{"id":"opencode-swarm-plugin-044p.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:54.58671-08:00","updated_at":"2025-12-08T11:10:56.390567-08:00","closed_at":"2025-12-08T11:10:56.390567-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-044p.4","depends_on_id":"opencode-swarm-plugin-044p","type":"parent-child","created_at":"2025-12-08T11:10:54.587031-08:00","created_by":"daemon"}]}
|
|
9
|
+
{"id":"opencode-swarm-plugin-05mcs","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:24.790073-08:00","updated_at":"2025-12-09T10:00:26.756896-08:00","closed_at":"2025-12-09T10:00:26.756896-08:00"}
|
|
9
10
|
{"id":"opencode-swarm-plugin-0720","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:55.375626-08:00","updated_at":"2025-12-08T08:56:57.950858-08:00","closed_at":"2025-12-08T08:56:57.950858-08:00"}
|
|
10
11
|
{"id":"opencode-swarm-plugin-07m","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:10.92786-08:00","updated_at":"2025-12-07T19:39:12.442074-08:00","closed_at":"2025-12-07T19:39:12.442074-08:00"}
|
|
11
12
|
{"id":"opencode-swarm-plugin-090","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-07T19:39:18.980247-08:00","updated_at":"2025-12-07T19:39:20.684844-08:00","closed_at":"2025-12-07T19:39:20.684844-08:00"}
|
|
12
13
|
{"id":"opencode-swarm-plugin-0agp","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:22.766681-08:00","updated_at":"2025-12-08T11:11:25.385398-08:00","closed_at":"2025-12-08T11:11:25.385398-08:00"}
|
|
14
|
+
{"id":"opencode-swarm-plugin-0bodc","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-09T10:00:23.682038-08:00","updated_at":"2025-12-09T10:00:26.189078-08:00","closed_at":"2025-12-09T10:00:26.189078-08:00"}
|
|
15
|
+
{"id":"opencode-swarm-plugin-0bodc.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:23.726612-08:00","updated_at":"2025-12-09T10:00:26.219506-08:00","closed_at":"2025-12-09T10:00:26.219506-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-0bodc.1","depends_on_id":"opencode-swarm-plugin-0bodc","type":"parent-child","created_at":"2025-12-09T10:00:23.72705-08:00","created_by":"daemon"}]}
|
|
16
|
+
{"id":"opencode-swarm-plugin-0bodc.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-09T10:00:23.772101-08:00","updated_at":"2025-12-09T10:00:26.249968-08:00","closed_at":"2025-12-09T10:00:26.249968-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-0bodc.2","depends_on_id":"opencode-swarm-plugin-0bodc","type":"parent-child","created_at":"2025-12-09T10:00:23.772406-08:00","created_by":"daemon"}]}
|
|
17
|
+
{"id":"opencode-swarm-plugin-0bodc.3","title":"Subtask 3","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-09T10:00:23.815565-08:00","updated_at":"2025-12-09T10:00:26.281479-08:00","closed_at":"2025-12-09T10:00:26.281479-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-0bodc.3","depends_on_id":"opencode-swarm-plugin-0bodc","type":"parent-child","created_at":"2025-12-09T10:00:23.815895-08:00","created_by":"daemon"}]}
|
|
13
18
|
{"id":"opencode-swarm-plugin-0giv","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:27.5822-08:00","updated_at":"2025-12-08T08:21:30.125084-08:00","closed_at":"2025-12-08T08:21:30.125084-08:00"}
|
|
14
19
|
{"id":"opencode-swarm-plugin-0jxx","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:16.923763-08:00","updated_at":"2025-12-08T08:22:19.339586-08:00","closed_at":"2025-12-08T08:22:19.339586-08:00"}
|
|
15
20
|
{"id":"opencode-swarm-plugin-0kb2","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:23:18.591779-08:00","updated_at":"2025-12-08T08:23:20.415392-08:00","closed_at":"2025-12-08T08:23:20.415392-08:00"}
|
|
@@ -30,6 +35,8 @@
|
|
|
30
35
|
{"id":"opencode-swarm-plugin-0t77w.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:42.476141-08:00","updated_at":"2025-12-08T11:12:44.267359-08:00","closed_at":"2025-12-08T11:12:44.267359-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-0t77w.3","depends_on_id":"opencode-swarm-plugin-0t77w","type":"parent-child","created_at":"2025-12-08T11:12:42.476485-08:00","created_by":"daemon"}]}
|
|
31
36
|
{"id":"opencode-swarm-plugin-0t77w.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:42.510238-08:00","updated_at":"2025-12-08T11:12:44.291151-08:00","closed_at":"2025-12-08T11:12:44.291151-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-0t77w.4","depends_on_id":"opencode-swarm-plugin-0t77w","type":"parent-child","created_at":"2025-12-08T11:12:42.510555-08:00","created_by":"daemon"}]}
|
|
32
37
|
{"id":"opencode-swarm-plugin-0tgw","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:10.149976-08:00","updated_at":"2025-12-08T08:25:10.1787-08:00","closed_at":"2025-12-08T08:25:10.1787-08:00"}
|
|
38
|
+
{"id":"opencode-swarm-plugin-0w8hb","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-09T10:00:24.010017-08:00","updated_at":"2025-12-09T10:00:26.406101-08:00","closed_at":"2025-12-09T10:00:26.406101-08:00"}
|
|
39
|
+
{"id":"opencode-swarm-plugin-0w8hb.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-09T10:00:24.057192-08:00","updated_at":"2025-12-09T10:00:26.438429-08:00","closed_at":"2025-12-09T10:00:26.438429-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-0w8hb.1","depends_on_id":"opencode-swarm-plugin-0w8hb","type":"parent-child","created_at":"2025-12-09T10:00:24.057567-08:00","created_by":"daemon"}]}
|
|
33
40
|
{"id":"opencode-swarm-plugin-0wk","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-07T19:37:34.417512-08:00","updated_at":"2025-12-07T19:37:36.339262-08:00","closed_at":"2025-12-07T19:37:36.339262-08:00"}
|
|
34
41
|
{"id":"opencode-swarm-plugin-0zn","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:34.200661-08:00","updated_at":"2025-12-07T19:37:36.249197-08:00","closed_at":"2025-12-07T19:37:36.249197-08:00"}
|
|
35
42
|
{"id":"opencode-swarm-plugin-12ro","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:10.129035-08:00","updated_at":"2025-12-08T11:11:11.6419-08:00","closed_at":"2025-12-08T11:11:11.6419-08:00"}
|
|
@@ -94,6 +101,7 @@
|
|
|
94
101
|
{"id":"opencode-swarm-plugin-2dgp","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:25.972688-08:00","updated_at":"2025-12-08T11:12:28.230821-08:00","closed_at":"2025-12-08T11:12:28.230821-08:00"}
|
|
95
102
|
{"id":"opencode-swarm-plugin-2e5","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:09.695902-08:00","updated_at":"2025-12-07T19:39:11.80833-08:00","closed_at":"2025-12-07T19:39:11.80833-08:00"}
|
|
96
103
|
{"id":"opencode-swarm-plugin-2en2","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:16.538491-08:00","updated_at":"2025-12-08T08:36:19.141453-08:00","closed_at":"2025-12-08T08:36:19.141453-08:00"}
|
|
104
|
+
{"id":"opencode-swarm-plugin-2es9k","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-09T10:00:23.038522-08:00","updated_at":"2025-12-09T10:00:26.018021-08:00","closed_at":"2025-12-09T10:00:26.018021-08:00"}
|
|
97
105
|
{"id":"opencode-swarm-plugin-2euk","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:38.431394-08:00","updated_at":"2025-12-08T11:11:40.884465-08:00","closed_at":"2025-12-08T11:11:40.884465-08:00"}
|
|
98
106
|
{"id":"opencode-swarm-plugin-2foq","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T11:12:40.731653-08:00","updated_at":"2025-12-08T11:12:43.500259-08:00","closed_at":"2025-12-08T11:12:43.500259-08:00"}
|
|
99
107
|
{"id":"opencode-swarm-plugin-2ge7l","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:57.450441-08:00","updated_at":"2025-12-08T11:12:57.525835-08:00","closed_at":"2025-12-08T11:12:57.525835-08:00"}
|
|
@@ -131,6 +139,7 @@
|
|
|
131
139
|
{"id":"opencode-swarm-plugin-328o.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:09.091851-08:00","updated_at":"2025-12-08T11:11:10.910639-08:00","closed_at":"2025-12-08T11:11:10.910639-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-328o.4","depends_on_id":"opencode-swarm-plugin-328o","type":"parent-child","created_at":"2025-12-08T11:11:09.092192-08:00","created_by":"daemon"}]}
|
|
132
140
|
{"id":"opencode-swarm-plugin-36uo","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:31.014966-08:00","updated_at":"2025-12-08T09:09:33.303459-08:00","closed_at":"2025-12-08T09:09:33.303459-08:00"}
|
|
133
141
|
{"id":"opencode-swarm-plugin-37az","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:34.247814-08:00","updated_at":"2025-12-08T08:05:36.051352-08:00","closed_at":"2025-12-08T08:05:36.051352-08:00"}
|
|
142
|
+
{"id":"opencode-swarm-plugin-38j3h","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.576145-08:00","updated_at":"2025-12-09T10:00:25.812701-08:00","closed_at":"2025-12-09T10:00:25.812701-08:00"}
|
|
134
143
|
{"id":"opencode-swarm-plugin-3aip","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.475806-08:00","updated_at":"2025-12-08T11:11:10.963225-08:00","closed_at":"2025-12-08T11:11:10.963225-08:00"}
|
|
135
144
|
{"id":"opencode-swarm-plugin-3c0h","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:06.042676-08:00","updated_at":"2025-12-07T19:57:08.336974-08:00","closed_at":"2025-12-07T19:57:08.336974-08:00"}
|
|
136
145
|
{"id":"opencode-swarm-plugin-3e3o","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:50.71229-08:00","updated_at":"2025-12-08T07:46:52.478079-08:00","closed_at":"2025-12-08T07:46:52.478079-08:00"}
|
|
@@ -236,6 +245,7 @@
|
|
|
236
245
|
{"id":"opencode-swarm-plugin-5clp.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:43.794972-08:00","updated_at":"2025-12-07T19:56:45.385226-08:00","closed_at":"2025-12-07T19:56:45.385226-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-5clp.3","depends_on_id":"opencode-swarm-plugin-5clp","type":"parent-child","created_at":"2025-12-07T19:56:43.795274-08:00","created_by":"daemon"}]}
|
|
237
246
|
{"id":"opencode-swarm-plugin-5clp.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:43.823681-08:00","updated_at":"2025-12-07T19:56:45.409007-08:00","closed_at":"2025-12-07T19:56:45.409007-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-5clp.4","depends_on_id":"opencode-swarm-plugin-5clp","type":"parent-child","created_at":"2025-12-07T19:56:43.823995-08:00","created_by":"daemon"}]}
|
|
238
247
|
{"id":"opencode-swarm-plugin-5fbe","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T08:21:28.099537-08:00","updated_at":"2025-12-08T08:21:30.260533-08:00","closed_at":"2025-12-08T08:21:30.260533-08:00"}
|
|
248
|
+
{"id":"opencode-swarm-plugin-5j0dj","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-09T10:00:23.568472-08:00","updated_at":"2025-12-09T10:00:26.155879-08:00","closed_at":"2025-12-09T10:00:26.155879-08:00"}
|
|
239
249
|
{"id":"opencode-swarm-plugin-5j9pz","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T11:12:55.370664-08:00","updated_at":"2025-12-08T11:12:57.903672-08:00","closed_at":"2025-12-08T11:12:57.903672-08:00"}
|
|
240
250
|
{"id":"opencode-swarm-plugin-5kj7","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.875856-08:00","updated_at":"2025-12-08T11:11:11.121063-08:00","closed_at":"2025-12-08T11:11:11.121063-08:00"}
|
|
241
251
|
{"id":"opencode-swarm-plugin-5l0v","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:11:40.362215-08:00","updated_at":"2025-12-08T11:11:40.551768-08:00","closed_at":"2025-12-08T11:11:40.551768-08:00"}
|
|
@@ -255,6 +265,7 @@
|
|
|
255
265
|
{"id":"opencode-swarm-plugin-5s1ar.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-08T11:12:42.110834-08:00","updated_at":"2025-12-08T11:12:44.034215-08:00","closed_at":"2025-12-08T11:12:44.034215-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-5s1ar.2","depends_on_id":"opencode-swarm-plugin-5s1ar","type":"parent-child","created_at":"2025-12-08T11:12:42.111139-08:00","created_by":"daemon"}]}
|
|
256
266
|
{"id":"opencode-swarm-plugin-5s1ar.3","title":"Subtask 3","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:12:42.14615-08:00","updated_at":"2025-12-08T11:12:44.058059-08:00","closed_at":"2025-12-08T11:12:44.058059-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-5s1ar.3","depends_on_id":"opencode-swarm-plugin-5s1ar","type":"parent-child","created_at":"2025-12-08T11:12:42.146502-08:00","created_by":"daemon"}]}
|
|
257
267
|
{"id":"opencode-swarm-plugin-5sm","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:10.233019-08:00","updated_at":"2025-12-07T19:39:10.257081-08:00","closed_at":"2025-12-07T19:39:10.257081-08:00"}
|
|
268
|
+
{"id":"opencode-swarm-plugin-5t4k0","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.667287-08:00","updated_at":"2025-12-09T10:00:25.879488-08:00","closed_at":"2025-12-09T10:00:25.879488-08:00"}
|
|
258
269
|
{"id":"opencode-swarm-plugin-5tio","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:38.963071-08:00","updated_at":"2025-12-08T08:11:41.63682-08:00","closed_at":"2025-12-08T08:11:41.63682-08:00"}
|
|
259
270
|
{"id":"opencode-swarm-plugin-5tk","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:39:10.779775-08:00","updated_at":"2025-12-07T19:39:12.330046-08:00","closed_at":"2025-12-07T19:39:12.330046-08:00"}
|
|
260
271
|
{"id":"opencode-swarm-plugin-5tk.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:10.809874-08:00","updated_at":"2025-12-07T19:39:12.353042-08:00","closed_at":"2025-12-07T19:39:12.353042-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-5tk.1","depends_on_id":"opencode-swarm-plugin-5tk","type":"parent-child","created_at":"2025-12-07T19:39:10.810153-08:00","created_by":"daemon"}]}
|
|
@@ -323,6 +334,7 @@
|
|
|
323
334
|
{"id":"opencode-swarm-plugin-7ecg","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:43.699621-08:00","updated_at":"2025-12-08T07:53:46.215175-08:00","closed_at":"2025-12-08T07:53:46.215175-08:00"}
|
|
324
335
|
{"id":"opencode-swarm-plugin-7euso","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:55.783341-08:00","updated_at":"2025-12-08T11:12:58.22179-08:00","closed_at":"2025-12-08T11:12:58.22179-08:00"}
|
|
325
336
|
{"id":"opencode-swarm-plugin-7fog","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:57.247738-08:00","updated_at":"2025-12-08T08:56:58.803615-08:00","closed_at":"2025-12-08T08:56:58.803615-08:00"}
|
|
337
|
+
{"id":"opencode-swarm-plugin-7glyd","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.622271-08:00","updated_at":"2025-12-09T10:00:25.846309-08:00","closed_at":"2025-12-09T10:00:25.846309-08:00"}
|
|
326
338
|
{"id":"opencode-swarm-plugin-7hbr","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T11:12:26.089938-08:00","updated_at":"2025-12-08T11:12:28.282761-08:00","closed_at":"2025-12-08T11:12:28.282761-08:00"}
|
|
327
339
|
{"id":"opencode-swarm-plugin-7ls9","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:16.40263-08:00","updated_at":"2025-12-08T08:36:19.090576-08:00","closed_at":"2025-12-08T08:36:19.090576-08:00"}
|
|
328
340
|
{"id":"opencode-swarm-plugin-7lwj","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T07:46:49.954688-08:00","updated_at":"2025-12-08T07:46:52.018977-08:00","closed_at":"2025-12-08T07:46:52.018977-08:00"}
|
|
@@ -393,6 +405,7 @@
|
|
|
393
405
|
{"id":"opencode-swarm-plugin-8pyb","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:30.014902-08:00","updated_at":"2025-12-08T08:14:31.732051-08:00","closed_at":"2025-12-08T08:14:31.732051-08:00"}
|
|
394
406
|
{"id":"opencode-swarm-plugin-8rl6e","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:41.420444-08:00","updated_at":"2025-12-08T11:12:43.835874-08:00","closed_at":"2025-12-08T11:12:43.835874-08:00"}
|
|
395
407
|
{"id":"opencode-swarm-plugin-8td","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:39:10.72267-08:00","updated_at":"2025-12-07T19:39:12.284908-08:00","closed_at":"2025-12-07T19:39:12.284908-08:00"}
|
|
408
|
+
{"id":"opencode-swarm-plugin-8thxw","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.786941-08:00","updated_at":"2025-12-09T10:00:25.916352-08:00","closed_at":"2025-12-09T10:00:25.916352-08:00"}
|
|
396
409
|
{"id":"opencode-swarm-plugin-8tzk","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T11:11:23.483585-08:00","updated_at":"2025-12-08T11:11:25.807512-08:00","closed_at":"2025-12-08T11:11:25.807512-08:00"}
|
|
397
410
|
{"id":"opencode-swarm-plugin-8u3","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:54.094622-08:00","updated_at":"2025-12-07T19:34:54.159994-08:00","closed_at":"2025-12-07T19:34:54.159994-08:00"}
|
|
398
411
|
{"id":"opencode-swarm-plugin-8um","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:36:06.553979-08:00","updated_at":"2025-12-07T19:36:08.658993-08:00","closed_at":"2025-12-07T19:36:08.658993-08:00"}
|
|
@@ -414,6 +427,7 @@
|
|
|
414
427
|
{"id":"opencode-swarm-plugin-9c6","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-07T19:34:52.310497-08:00","updated_at":"2025-12-07T19:34:54.508737-08:00","closed_at":"2025-12-07T19:34:54.508737-08:00"}
|
|
415
428
|
{"id":"opencode-swarm-plugin-9csf","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:39.347968-08:00","updated_at":"2025-12-08T08:11:41.877049-08:00","closed_at":"2025-12-08T08:11:41.877049-08:00"}
|
|
416
429
|
{"id":"opencode-swarm-plugin-9fo5","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:10:25.398427-08:00","updated_at":"2025-12-08T11:10:27.65064-08:00","closed_at":"2025-12-08T11:10:27.65064-08:00"}
|
|
430
|
+
{"id":"opencode-swarm-plugin-9gdip","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-09T10:00:22.084056-08:00","updated_at":"2025-12-09T10:00:25.538382-08:00","closed_at":"2025-12-09T10:00:25.538382-08:00"}
|
|
417
431
|
{"id":"opencode-swarm-plugin-9gks","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:11:41.194407-08:00","updated_at":"2025-12-08T08:11:41.390014-08:00","closed_at":"2025-12-08T08:11:41.390014-08:00"}
|
|
418
432
|
{"id":"opencode-swarm-plugin-9gks.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:41.227583-08:00","updated_at":"2025-12-08T08:11:41.313181-08:00","closed_at":"2025-12-08T08:11:41.313181-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9gks.1","depends_on_id":"opencode-swarm-plugin-9gks","type":"parent-child","created_at":"2025-12-08T08:11:41.227892-08:00","created_by":"daemon"}]}
|
|
419
433
|
{"id":"opencode-swarm-plugin-9gks.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:41.260544-08:00","updated_at":"2025-12-08T08:11:41.363657-08:00","closed_at":"2025-12-08T08:11:41.363657-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9gks.2","depends_on_id":"opencode-swarm-plugin-9gks","type":"parent-child","created_at":"2025-12-08T08:11:41.260862-08:00","created_by":"daemon"}]}
|
|
@@ -429,6 +443,7 @@
|
|
|
429
443
|
{"id":"opencode-swarm-plugin-9hya.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.437295-08:00","updated_at":"2025-12-08T11:11:26.180152-08:00","closed_at":"2025-12-08T11:11:26.180152-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9hya.3","depends_on_id":"opencode-swarm-plugin-9hya","type":"parent-child","created_at":"2025-12-08T11:11:24.437636-08:00","created_by":"daemon"}]}
|
|
430
444
|
{"id":"opencode-swarm-plugin-9hya.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.471556-08:00","updated_at":"2025-12-08T11:11:26.207658-08:00","closed_at":"2025-12-08T11:11:26.207658-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9hya.4","depends_on_id":"opencode-swarm-plugin-9hya","type":"parent-child","created_at":"2025-12-08T11:11:24.471909-08:00","created_by":"daemon"}]}
|
|
431
445
|
{"id":"opencode-swarm-plugin-9ioz","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:43.947868-08:00","updated_at":"2025-12-07T19:56:45.455609-08:00","closed_at":"2025-12-07T19:56:45.455609-08:00"}
|
|
446
|
+
{"id":"opencode-swarm-plugin-9itda","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.953258-08:00","updated_at":"2025-12-09T10:00:25.985697-08:00","closed_at":"2025-12-09T10:00:25.985697-08:00"}
|
|
432
447
|
{"id":"opencode-swarm-plugin-9mc1","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:56.068796-08:00","updated_at":"2025-12-08T08:56:58.30395-08:00","closed_at":"2025-12-08T08:56:58.30395-08:00"}
|
|
433
448
|
{"id":"opencode-swarm-plugin-9mjt","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:56:44.363301-08:00","updated_at":"2025-12-07T19:56:44.53648-08:00","closed_at":"2025-12-07T19:56:44.53648-08:00"}
|
|
434
449
|
{"id":"opencode-swarm-plugin-9mjt.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:44.392344-08:00","updated_at":"2025-12-07T19:56:44.467504-08:00","closed_at":"2025-12-07T19:56:44.467504-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9mjt.1","depends_on_id":"opencode-swarm-plugin-9mjt","type":"parent-child","created_at":"2025-12-07T19:56:44.392644-08:00","created_by":"daemon"}]}
|
|
@@ -490,6 +505,7 @@
|
|
|
490
505
|
{"id":"opencode-swarm-plugin-bhkr","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:52.818993-08:00","updated_at":"2025-12-08T11:10:55.506981-08:00","closed_at":"2025-12-08T11:10:55.506981-08:00"}
|
|
491
506
|
{"id":"opencode-swarm-plugin-bhou","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T09:09:30.49932-08:00","updated_at":"2025-12-08T09:09:33.037008-08:00","closed_at":"2025-12-08T09:09:33.037008-08:00"}
|
|
492
507
|
{"id":"opencode-swarm-plugin-bil","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:18.72472-08:00","updated_at":"2025-12-07T19:39:20.642494-08:00","closed_at":"2025-12-07T19:39:20.642494-08:00"}
|
|
508
|
+
{"id":"opencode-swarm-plugin-bjrtc","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:24.91158-08:00","updated_at":"2025-12-09T10:00:25.015472-08:00","closed_at":"2025-12-09T10:00:25.015472-08:00"}
|
|
493
509
|
{"id":"opencode-swarm-plugin-bkxk","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:26.773358-08:00","updated_at":"2025-12-08T11:10:26.851958-08:00","closed_at":"2025-12-08T11:10:26.851958-08:00"}
|
|
494
510
|
{"id":"opencode-swarm-plugin-blhh","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:12.544524-08:00","updated_at":"2025-12-07T19:41:14.154813-08:00","closed_at":"2025-12-07T19:41:14.154813-08:00"}
|
|
495
511
|
{"id":"opencode-swarm-plugin-bnx47","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:55.816648-08:00","updated_at":"2025-12-08T11:12:58.248106-08:00","closed_at":"2025-12-08T11:12:58.248106-08:00"}
|
|
@@ -605,6 +621,7 @@
|
|
|
605
621
|
{"id":"opencode-swarm-plugin-dxd.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:53.648233-08:00","updated_at":"2025-12-07T19:34:55.226478-08:00","closed_at":"2025-12-07T19:34:55.226478-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-dxd.3","depends_on_id":"opencode-swarm-plugin-dxd","type":"parent-child","created_at":"2025-12-07T19:34:53.648515-08:00","created_by":"daemon"}]}
|
|
606
622
|
{"id":"opencode-swarm-plugin-dxd.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:53.676335-08:00","updated_at":"2025-12-07T19:34:55.249574-08:00","closed_at":"2025-12-07T19:34:55.249574-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-dxd.4","depends_on_id":"opencode-swarm-plugin-dxd","type":"parent-child","created_at":"2025-12-07T19:34:53.676601-08:00","created_by":"daemon"}]}
|
|
607
623
|
{"id":"opencode-swarm-plugin-e1fi","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:11.265711-08:00","updated_at":"2025-12-07T19:41:13.598483-08:00","closed_at":"2025-12-07T19:41:13.598483-08:00"}
|
|
624
|
+
{"id":"opencode-swarm-plugin-e23mw","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.482256-08:00","updated_at":"2025-12-09T10:00:25.741691-08:00","closed_at":"2025-12-09T10:00:25.741691-08:00"}
|
|
608
625
|
{"id":"opencode-swarm-plugin-e3df","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:56:57.486088-08:00","updated_at":"2025-12-08T08:56:57.688826-08:00","closed_at":"2025-12-08T08:56:57.688826-08:00"}
|
|
609
626
|
{"id":"opencode-swarm-plugin-e3df.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:57.520387-08:00","updated_at":"2025-12-08T08:56:57.614232-08:00","closed_at":"2025-12-08T08:56:57.614232-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-e3df.1","depends_on_id":"opencode-swarm-plugin-e3df","type":"parent-child","created_at":"2025-12-08T08:56:57.521758-08:00","created_by":"daemon"}]}
|
|
610
627
|
{"id":"opencode-swarm-plugin-e3df.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:57.562037-08:00","updated_at":"2025-12-08T08:56:57.663478-08:00","closed_at":"2025-12-08T08:56:57.663478-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-e3df.2","depends_on_id":"opencode-swarm-plugin-e3df","type":"parent-child","created_at":"2025-12-08T08:56:57.562353-08:00","created_by":"daemon"}]}
|
|
@@ -650,11 +667,13 @@
|
|
|
650
667
|
{"id":"opencode-swarm-plugin-fbwv","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:40.231566-08:00","updated_at":"2025-12-08T11:11:40.305595-08:00","closed_at":"2025-12-08T11:11:40.305595-08:00"}
|
|
651
668
|
{"id":"opencode-swarm-plugin-fccf","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:09.363067-08:00","updated_at":"2025-12-08T08:25:12.106967-08:00","closed_at":"2025-12-08T08:25:12.106967-08:00"}
|
|
652
669
|
{"id":"opencode-swarm-plugin-fda2","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:25.014177-08:00","updated_at":"2025-12-08T11:10:27.471037-08:00","closed_at":"2025-12-08T11:10:27.471037-08:00"}
|
|
670
|
+
{"id":"opencode-swarm-plugin-fdqcb","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:23.274956-08:00","updated_at":"2025-12-09T10:00:23.305265-08:00","closed_at":"2025-12-09T10:00:23.305265-08:00"}
|
|
653
671
|
{"id":"opencode-swarm-plugin-fdqh","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:25.462721-08:00","updated_at":"2025-12-08T11:12:27.952505-08:00","closed_at":"2025-12-08T11:12:27.952505-08:00"}
|
|
654
672
|
{"id":"opencode-swarm-plugin-feuk","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:10:26.086022-08:00","updated_at":"2025-12-08T11:10:27.965011-08:00","closed_at":"2025-12-08T11:10:27.965011-08:00"}
|
|
655
673
|
{"id":"opencode-swarm-plugin-fg1","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:34.047465-08:00","updated_at":"2025-12-07T19:37:36.139721-08:00","closed_at":"2025-12-07T19:37:36.139721-08:00"}
|
|
656
674
|
{"id":"opencode-swarm-plugin-fg2","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:09.409209-08:00","updated_at":"2025-12-07T19:39:11.655882-08:00","closed_at":"2025-12-07T19:39:11.655882-08:00"}
|
|
657
675
|
{"id":"opencode-swarm-plugin-fh9","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-07T19:39:18.036521-08:00","updated_at":"2025-12-07T19:39:20.302739-08:00","closed_at":"2025-12-07T19:39:20.302739-08:00"}
|
|
676
|
+
{"id":"opencode-swarm-plugin-fm3r6","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.000563-08:00","updated_at":"2025-12-09T10:00:25.469262-08:00","closed_at":"2025-12-09T10:00:25.469262-08:00"}
|
|
658
677
|
{"id":"opencode-swarm-plugin-fmkz8","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:12:43.15846-08:00","updated_at":"2025-12-08T11:12:43.368908-08:00","closed_at":"2025-12-08T11:12:43.368908-08:00"}
|
|
659
678
|
{"id":"opencode-swarm-plugin-fmkz8.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:43.192563-08:00","updated_at":"2025-12-08T11:12:43.285206-08:00","closed_at":"2025-12-08T11:12:43.285206-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-fmkz8.1","depends_on_id":"opencode-swarm-plugin-fmkz8","type":"parent-child","created_at":"2025-12-08T11:12:43.192901-08:00","created_by":"daemon"}]}
|
|
660
679
|
{"id":"opencode-swarm-plugin-fmkz8.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:43.229469-08:00","updated_at":"2025-12-08T11:12:43.340511-08:00","closed_at":"2025-12-08T11:12:43.340511-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-fmkz8.2","depends_on_id":"opencode-swarm-plugin-fmkz8","type":"parent-child","created_at":"2025-12-08T11:12:43.229808-08:00","created_by":"daemon"}]}
|
|
@@ -683,6 +702,7 @@
|
|
|
683
702
|
{"id":"opencode-swarm-plugin-g1ew","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:36:17.759116-08:00","updated_at":"2025-12-08T08:36:19.615871-08:00","closed_at":"2025-12-08T08:36:19.615871-08:00"}
|
|
684
703
|
{"id":"opencode-swarm-plugin-g1ew.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:17.840961-08:00","updated_at":"2025-12-08T08:36:19.680324-08:00","closed_at":"2025-12-08T08:36:19.680324-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-g1ew.2","depends_on_id":"opencode-swarm-plugin-g1ew","type":"parent-child","created_at":"2025-12-08T08:36:17.84128-08:00","created_by":"daemon"}]}
|
|
685
704
|
{"id":"opencode-swarm-plugin-g3uu","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:31.47499-08:00","updated_at":"2025-12-08T09:09:33.449119-08:00","closed_at":"2025-12-08T09:09:33.449119-08:00"}
|
|
705
|
+
{"id":"opencode-swarm-plugin-g3wth","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-09T10:00:22.044647-08:00","updated_at":"2025-12-09T10:00:25.502832-08:00","closed_at":"2025-12-09T10:00:25.502832-08:00"}
|
|
686
706
|
{"id":"opencode-swarm-plugin-g63rn","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:12:56.584599-08:00","updated_at":"2025-12-08T11:12:58.474985-08:00","closed_at":"2025-12-08T11:12:58.474985-08:00"}
|
|
687
707
|
{"id":"opencode-swarm-plugin-g63rn.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:56.615586-08:00","updated_at":"2025-12-08T11:12:58.499924-08:00","closed_at":"2025-12-08T11:12:58.499924-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-g63rn.1","depends_on_id":"opencode-swarm-plugin-g63rn","type":"parent-child","created_at":"2025-12-08T11:12:56.615912-08:00","created_by":"daemon"}]}
|
|
688
708
|
{"id":"opencode-swarm-plugin-g63rn.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-08T11:12:56.645189-08:00","updated_at":"2025-12-08T11:12:58.524935-08:00","closed_at":"2025-12-08T11:12:58.524935-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-g63rn.2","depends_on_id":"opencode-swarm-plugin-g63rn","type":"parent-child","created_at":"2025-12-08T11:12:56.645515-08:00","created_by":"daemon"}]}
|
|
@@ -743,6 +763,7 @@
|
|
|
743
763
|
{"id":"opencode-swarm-plugin-hpzu","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T07:53:44.966334-08:00","updated_at":"2025-12-08T07:53:46.804841-08:00","closed_at":"2025-12-08T07:53:46.804841-08:00"}
|
|
744
764
|
{"id":"opencode-swarm-plugin-hs0h","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:06.256297-08:00","updated_at":"2025-12-07T19:57:08.436151-08:00","closed_at":"2025-12-07T19:57:08.436151-08:00"}
|
|
745
765
|
{"id":"opencode-swarm-plugin-hsz7","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:29.256893-08:00","updated_at":"2025-12-08T08:14:29.281551-08:00","closed_at":"2025-12-08T08:14:29.281551-08:00"}
|
|
766
|
+
{"id":"opencode-swarm-plugin-ht2eb","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:24.61169-08:00","updated_at":"2025-12-09T10:00:26.72117-08:00","closed_at":"2025-12-09T10:00:26.72117-08:00"}
|
|
746
767
|
{"id":"opencode-swarm-plugin-hu1y","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:50.468927-08:00","updated_at":"2025-12-08T07:46:52.420696-08:00","closed_at":"2025-12-08T07:46:52.420696-08:00"}
|
|
747
768
|
{"id":"opencode-swarm-plugin-hu8n","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T11:12:25.401784-08:00","updated_at":"2025-12-08T11:12:27.893642-08:00","closed_at":"2025-12-08T11:12:27.893642-08:00"}
|
|
748
769
|
{"id":"opencode-swarm-plugin-hvgh","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T11:12:25.369967-08:00","updated_at":"2025-12-08T11:12:27.863957-08:00","closed_at":"2025-12-08T11:12:27.863957-08:00"}
|
|
@@ -877,6 +898,7 @@
|
|
|
877
898
|
{"id":"opencode-swarm-plugin-ll15.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:18.756408-08:00","updated_at":"2025-12-08T08:22:18.841276-08:00","closed_at":"2025-12-08T08:22:18.841276-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ll15.1","depends_on_id":"opencode-swarm-plugin-ll15","type":"parent-child","created_at":"2025-12-08T08:22:18.756747-08:00","created_by":"daemon"}]}
|
|
878
899
|
{"id":"opencode-swarm-plugin-ll15.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:18.788908-08:00","updated_at":"2025-12-08T08:22:18.895654-08:00","closed_at":"2025-12-08T08:22:18.895654-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ll15.2","depends_on_id":"opencode-swarm-plugin-ll15","type":"parent-child","created_at":"2025-12-08T08:22:18.789319-08:00","created_by":"daemon"}]}
|
|
879
900
|
{"id":"opencode-swarm-plugin-lmy1","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:22.726664-08:00","updated_at":"2025-12-08T11:11:25.360309-08:00","closed_at":"2025-12-08T11:11:25.360309-08:00"}
|
|
901
|
+
{"id":"opencode-swarm-plugin-ln411","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:24.461147-08:00","updated_at":"2025-12-09T10:00:26.686053-08:00","closed_at":"2025-12-09T10:00:26.686053-08:00"}
|
|
880
902
|
{"id":"opencode-swarm-plugin-lnff","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:11.226267-08:00","updated_at":"2025-12-08T08:25:12.979406-08:00","closed_at":"2025-12-08T08:25:12.979406-08:00"}
|
|
881
903
|
{"id":"opencode-swarm-plugin-lnlv","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:21:28.524305-08:00","updated_at":"2025-12-08T08:21:30.551746-08:00","closed_at":"2025-12-08T08:21:30.551746-08:00"}
|
|
882
904
|
{"id":"opencode-swarm-plugin-lnlv.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:28.559944-08:00","updated_at":"2025-12-08T08:21:30.580498-08:00","closed_at":"2025-12-08T08:21:30.580498-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-lnlv.1","depends_on_id":"opencode-swarm-plugin-lnlv","type":"parent-child","created_at":"2025-12-08T08:21:28.560254-08:00","created_by":"daemon"}]}
|
|
@@ -976,8 +998,12 @@
|
|
|
976
998
|
{"id":"opencode-swarm-plugin-nvyf","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:06.424992-08:00","updated_at":"2025-12-07T19:57:08.5088-08:00","closed_at":"2025-12-07T19:57:08.5088-08:00"}
|
|
977
999
|
{"id":"opencode-swarm-plugin-nwwh","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.745207-08:00","updated_at":"2025-12-08T11:11:24.823126-08:00","closed_at":"2025-12-08T11:11:24.823126-08:00"}
|
|
978
1000
|
{"id":"opencode-swarm-plugin-nxt2","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:16.684535-08:00","updated_at":"2025-12-08T08:22:19.189792-08:00","closed_at":"2025-12-08T08:22:19.189792-08:00"}
|
|
1001
|
+
{"id":"opencode-swarm-plugin-nysq9","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-09T10:00:25.095632-08:00","updated_at":"2025-12-09T10:00:25.334055-08:00","closed_at":"2025-12-09T10:00:25.334055-08:00"}
|
|
1002
|
+
{"id":"opencode-swarm-plugin-nysq9.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:25.140236-08:00","updated_at":"2025-12-09T10:00:25.244881-08:00","closed_at":"2025-12-09T10:00:25.244881-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-nysq9.1","depends_on_id":"opencode-swarm-plugin-nysq9","type":"parent-child","created_at":"2025-12-09T10:00:25.14061-08:00","created_by":"daemon"}]}
|
|
1003
|
+
{"id":"opencode-swarm-plugin-nysq9.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:25.183169-08:00","updated_at":"2025-12-09T10:00:25.304369-08:00","closed_at":"2025-12-09T10:00:25.304369-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-nysq9.2","depends_on_id":"opencode-swarm-plugin-nysq9","type":"parent-child","created_at":"2025-12-09T10:00:25.183493-08:00","created_by":"daemon"}]}
|
|
979
1004
|
{"id":"opencode-swarm-plugin-o0dr","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:09.499295-08:00","updated_at":"2025-12-08T07:49:12.014253-08:00","closed_at":"2025-12-08T07:49:12.014253-08:00"}
|
|
980
1005
|
{"id":"opencode-swarm-plugin-o10","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:19.483574-08:00","updated_at":"2025-12-07T19:39:21.021668-08:00","closed_at":"2025-12-07T19:39:21.021668-08:00"}
|
|
1006
|
+
{"id":"opencode-swarm-plugin-o1oxh","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:23.199742-08:00","updated_at":"2025-12-09T10:00:26.088228-08:00","closed_at":"2025-12-09T10:00:26.088228-08:00"}
|
|
981
1007
|
{"id":"opencode-swarm-plugin-o1qe","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:29.17953-08:00","updated_at":"2025-12-07T19:39:31.271336-08:00","closed_at":"2025-12-07T19:39:31.271336-08:00"}
|
|
982
1008
|
{"id":"opencode-swarm-plugin-o3oo","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:23.12202-08:00","updated_at":"2025-12-08T11:11:25.648445-08:00","closed_at":"2025-12-08T11:11:25.648445-08:00"}
|
|
983
1009
|
{"id":"opencode-swarm-plugin-o52h","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:11.515081-08:00","updated_at":"2025-12-07T19:41:11.543031-08:00","closed_at":"2025-12-07T19:41:11.543031-08:00"}
|
|
@@ -997,6 +1023,7 @@
|
|
|
997
1023
|
{"id":"opencode-swarm-plugin-of2b","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:22:17.681082-08:00","updated_at":"2025-12-08T08:22:19.565292-08:00","closed_at":"2025-12-08T08:22:19.565292-08:00"}
|
|
998
1024
|
{"id":"opencode-swarm-plugin-of2b.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:17.713562-08:00","updated_at":"2025-12-08T08:22:19.589501-08:00","closed_at":"2025-12-08T08:22:19.589501-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-of2b.1","depends_on_id":"opencode-swarm-plugin-of2b","type":"parent-child","created_at":"2025-12-08T08:22:17.713882-08:00","created_by":"daemon"}]}
|
|
999
1025
|
{"id":"opencode-swarm-plugin-of2b.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-08T08:22:17.748705-08:00","updated_at":"2025-12-08T08:22:19.614951-08:00","closed_at":"2025-12-08T08:22:19.614951-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-of2b.2","depends_on_id":"opencode-swarm-plugin-of2b","type":"parent-child","created_at":"2025-12-08T08:22:17.74916-08:00","created_by":"daemon"}]}
|
|
1026
|
+
{"id":"opencode-swarm-plugin-ogvhk","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:24.316842-08:00","updated_at":"2025-12-09T10:00:26.650386-08:00","closed_at":"2025-12-09T10:00:26.650386-08:00"}
|
|
1000
1027
|
{"id":"opencode-swarm-plugin-oiay","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:39.900004-08:00","updated_at":"2025-12-08T11:11:41.716621-08:00","closed_at":"2025-12-08T11:11:41.716621-08:00"}
|
|
1001
1028
|
{"id":"opencode-swarm-plugin-okoq","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T11:10:24.650895-08:00","updated_at":"2025-12-08T11:10:27.261778-08:00","closed_at":"2025-12-08T11:10:27.261778-08:00"}
|
|
1002
1029
|
{"id":"opencode-swarm-plugin-olit","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.692207-08:00","updated_at":"2025-12-08T11:11:11.041521-08:00","closed_at":"2025-12-08T11:11:11.041521-08:00"}
|
|
@@ -1006,9 +1033,15 @@
|
|
|
1006
1033
|
{"id":"opencode-swarm-plugin-opjh","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:23.420345-08:00","updated_at":"2025-12-08T11:11:25.782158-08:00","closed_at":"2025-12-08T11:11:25.782158-08:00"}
|
|
1007
1034
|
{"id":"opencode-swarm-plugin-osjw","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:07.65254-08:00","updated_at":"2025-12-08T11:11:10.21755-08:00","closed_at":"2025-12-08T11:11:10.21755-08:00"}
|
|
1008
1035
|
{"id":"opencode-swarm-plugin-otl2","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T08:22:16.488559-08:00","updated_at":"2025-12-08T08:22:19.084348-08:00","closed_at":"2025-12-08T08:22:19.084348-08:00"}
|
|
1036
|
+
{"id":"opencode-swarm-plugin-oydms","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.435657-08:00","updated_at":"2025-12-09T10:00:25.70816-08:00","closed_at":"2025-12-09T10:00:25.70816-08:00"}
|
|
1009
1037
|
{"id":"opencode-swarm-plugin-ozht","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:11:24.258405-08:00","updated_at":"2025-12-08T11:11:26.043528-08:00","closed_at":"2025-12-08T11:11:26.043528-08:00"}
|
|
1010
1038
|
{"id":"opencode-swarm-plugin-ozht.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:11:24.29561-08:00","updated_at":"2025-12-08T11:11:26.069944-08:00","closed_at":"2025-12-08T11:11:26.069944-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ozht.1","depends_on_id":"opencode-swarm-plugin-ozht","type":"parent-child","created_at":"2025-12-08T11:11:24.295964-08:00","created_by":"daemon"}]}
|
|
1011
1039
|
{"id":"opencode-swarm-plugin-p1l1","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:39.092797-08:00","updated_at":"2025-12-08T08:11:41.741779-08:00","closed_at":"2025-12-08T08:11:41.741779-08:00"}
|
|
1040
|
+
{"id":"opencode-swarm-plugin-p1tsh","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-09T10:00:24.104718-08:00","updated_at":"2025-12-09T10:00:26.471738-08:00","closed_at":"2025-12-09T10:00:26.471738-08:00"}
|
|
1041
|
+
{"id":"opencode-swarm-plugin-p1tsh.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:24.15123-08:00","updated_at":"2025-12-09T10:00:26.507903-08:00","closed_at":"2025-12-09T10:00:26.507903-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-p1tsh.1","depends_on_id":"opencode-swarm-plugin-p1tsh","type":"parent-child","created_at":"2025-12-09T10:00:24.151555-08:00","created_by":"daemon"}]}
|
|
1042
|
+
{"id":"opencode-swarm-plugin-p1tsh.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:24.19306-08:00","updated_at":"2025-12-09T10:00:26.541849-08:00","closed_at":"2025-12-09T10:00:26.541849-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-p1tsh.2","depends_on_id":"opencode-swarm-plugin-p1tsh","type":"parent-child","created_at":"2025-12-09T10:00:24.193492-08:00","created_by":"daemon"}]}
|
|
1043
|
+
{"id":"opencode-swarm-plugin-p1tsh.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:24.234077-08:00","updated_at":"2025-12-09T10:00:26.578965-08:00","closed_at":"2025-12-09T10:00:26.578965-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-p1tsh.3","depends_on_id":"opencode-swarm-plugin-p1tsh","type":"parent-child","created_at":"2025-12-09T10:00:24.234415-08:00","created_by":"daemon"}]}
|
|
1044
|
+
{"id":"opencode-swarm-plugin-p1tsh.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:24.273182-08:00","updated_at":"2025-12-09T10:00:26.614421-08:00","closed_at":"2025-12-09T10:00:26.614421-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-p1tsh.4","depends_on_id":"opencode-swarm-plugin-p1tsh","type":"parent-child","created_at":"2025-12-09T10:00:24.273511-08:00","created_by":"daemon"}]}
|
|
1012
1045
|
{"id":"opencode-swarm-plugin-p39z","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:07.766197-08:00","updated_at":"2025-12-08T11:11:10.291767-08:00","closed_at":"2025-12-08T11:11:10.291767-08:00"}
|
|
1013
1046
|
{"id":"opencode-swarm-plugin-p3ba","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T08:11:39.026705-08:00","updated_at":"2025-12-08T08:11:41.689809-08:00","closed_at":"2025-12-08T08:11:41.689809-08:00"}
|
|
1014
1047
|
{"id":"opencode-swarm-plugin-p7dc","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:27.437762-08:00","updated_at":"2025-12-08T11:12:27.510016-08:00","closed_at":"2025-12-08T11:12:27.510016-08:00"}
|
|
@@ -1034,9 +1067,11 @@
|
|
|
1034
1067
|
{"id":"opencode-swarm-plugin-pk6.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:35.19197-08:00","updated_at":"2025-12-07T19:37:36.687027-08:00","closed_at":"2025-12-07T19:37:36.687027-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-pk6.2","depends_on_id":"opencode-swarm-plugin-pk6","type":"parent-child","created_at":"2025-12-07T19:37:35.192252-08:00","created_by":"daemon"}]}
|
|
1035
1068
|
{"id":"opencode-swarm-plugin-pk6.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:35.219292-08:00","updated_at":"2025-12-07T19:37:36.708239-08:00","closed_at":"2025-12-07T19:37:36.708239-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-pk6.3","depends_on_id":"opencode-swarm-plugin-pk6","type":"parent-child","created_at":"2025-12-07T19:37:35.219606-08:00","created_by":"daemon"}]}
|
|
1036
1069
|
{"id":"opencode-swarm-plugin-pk6.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:35.24747-08:00","updated_at":"2025-12-07T19:37:36.729939-08:00","closed_at":"2025-12-07T19:37:36.729939-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-pk6.4","depends_on_id":"opencode-swarm-plugin-pk6","type":"parent-child","created_at":"2025-12-07T19:37:35.247773-08:00","created_by":"daemon"}]}
|
|
1070
|
+
{"id":"opencode-swarm-plugin-pne89","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:23.415605-08:00","updated_at":"2025-12-09T10:00:26.122015-08:00","closed_at":"2025-12-09T10:00:26.122015-08:00"}
|
|
1037
1071
|
{"id":"opencode-swarm-plugin-pnzl","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.062458-08:00","updated_at":"2025-12-08T11:11:10.417441-08:00","closed_at":"2025-12-08T11:11:10.417441-08:00"}
|
|
1038
1072
|
{"id":"opencode-swarm-plugin-po6t","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:11.036931-08:00","updated_at":"2025-12-07T19:41:13.502931-08:00","closed_at":"2025-12-07T19:41:13.502931-08:00"}
|
|
1039
1073
|
{"id":"opencode-swarm-plugin-prx0","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:22.332649-08:00","updated_at":"2025-12-08T11:11:25.183868-08:00","closed_at":"2025-12-08T11:11:25.183868-08:00"}
|
|
1074
|
+
{"id":"opencode-swarm-plugin-ps5u4","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.870132-08:00","updated_at":"2025-12-09T10:00:25.95012-08:00","closed_at":"2025-12-09T10:00:25.95012-08:00"}
|
|
1040
1075
|
{"id":"opencode-swarm-plugin-psm","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:39:19.273159-08:00","updated_at":"2025-12-07T19:39:20.860341-08:00","closed_at":"2025-12-07T19:39:20.860341-08:00"}
|
|
1041
1076
|
{"id":"opencode-swarm-plugin-pvw","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:18.123613-08:00","updated_at":"2025-12-07T19:39:20.346988-08:00","closed_at":"2025-12-07T19:39:20.346988-08:00"}
|
|
1042
1077
|
{"id":"opencode-swarm-plugin-px38","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:32.475528-08:00","updated_at":"2025-12-08T09:09:33.937467-08:00","closed_at":"2025-12-08T09:09:33.937467-08:00"}
|
|
@@ -1047,6 +1082,7 @@
|
|
|
1047
1082
|
{"id":"opencode-swarm-plugin-q13n","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:09.990099-08:00","updated_at":"2025-12-08T11:11:11.61092-08:00","closed_at":"2025-12-08T11:11:11.61092-08:00"}
|
|
1048
1083
|
{"id":"opencode-swarm-plugin-q1ao","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:18.057252-08:00","updated_at":"2025-12-08T08:23:18.081432-08:00","closed_at":"2025-12-08T08:23:18.081432-08:00"}
|
|
1049
1084
|
{"id":"opencode-swarm-plugin-q29t","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:18.468848-08:00","updated_at":"2025-12-08T08:36:19.999602-08:00","closed_at":"2025-12-08T08:36:19.999602-08:00"}
|
|
1085
|
+
{"id":"opencode-swarm-plugin-q39pp","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-09T10:00:22.125472-08:00","updated_at":"2025-12-09T10:00:25.573739-08:00","closed_at":"2025-12-09T10:00:25.573739-08:00"}
|
|
1050
1086
|
{"id":"opencode-swarm-plugin-q5a2","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-08T11:10:52.939852-08:00","updated_at":"2025-12-08T11:10:55.584849-08:00","closed_at":"2025-12-08T11:10:55.584849-08:00"}
|
|
1051
1087
|
{"id":"opencode-swarm-plugin-q5nd","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:18.236022-08:00","updated_at":"2025-12-08T08:36:19.943852-08:00","closed_at":"2025-12-08T08:36:19.943852-08:00"}
|
|
1052
1088
|
{"id":"opencode-swarm-plugin-q6sz","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:40.895782-08:00","updated_at":"2025-12-08T11:12:43.598675-08:00","closed_at":"2025-12-08T11:12:43.598675-08:00"}
|
|
@@ -1092,6 +1128,7 @@
|
|
|
1092
1128
|
{"id":"opencode-swarm-plugin-rrih.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:12.048952-08:00","updated_at":"2025-12-07T19:41:13.898152-08:00","closed_at":"2025-12-07T19:41:13.898152-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-rrih.2","depends_on_id":"opencode-swarm-plugin-rrih","type":"parent-child","created_at":"2025-12-07T19:41:12.049256-08:00","created_by":"daemon"}]}
|
|
1093
1129
|
{"id":"opencode-swarm-plugin-rt4i","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:55.683264-08:00","updated_at":"2025-12-08T08:56:58.123097-08:00","closed_at":"2025-12-08T08:56:58.123097-08:00"}
|
|
1094
1130
|
{"id":"opencode-swarm-plugin-rt6o","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:09.335801-08:00","updated_at":"2025-12-08T07:49:11.936688-08:00","closed_at":"2025-12-08T07:49:11.936688-08:00"}
|
|
1131
|
+
{"id":"opencode-swarm-plugin-rwqj5","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.165821-08:00","updated_at":"2025-12-09T10:00:25.608129-08:00","closed_at":"2025-12-09T10:00:25.608129-08:00"}
|
|
1095
1132
|
{"id":"opencode-swarm-plugin-ryzv","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:43.146246-08:00","updated_at":"2025-12-07T19:56:43.167763-08:00","closed_at":"2025-12-07T19:56:43.167763-08:00"}
|
|
1096
1133
|
{"id":"opencode-swarm-plugin-s0ah","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:10.991261-08:00","updated_at":"2025-12-08T08:25:12.921305-08:00","closed_at":"2025-12-08T08:25:12.921305-08:00"}
|
|
1097
1134
|
{"id":"opencode-swarm-plugin-s0fr","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:40.824343-08:00","updated_at":"2025-12-08T08:11:42.592959-08:00","closed_at":"2025-12-08T08:11:42.592959-08:00"}
|
|
@@ -1155,6 +1192,7 @@
|
|
|
1155
1192
|
{"id":"opencode-swarm-plugin-tke2u","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:55.719413-08:00","updated_at":"2025-12-08T11:12:58.172826-08:00","closed_at":"2025-12-08T11:12:58.172826-08:00"}
|
|
1156
1193
|
{"id":"opencode-swarm-plugin-tl16","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:10.265797-08:00","updated_at":"2025-12-08T08:25:12.486871-08:00","closed_at":"2025-12-08T08:25:12.486871-08:00"}
|
|
1157
1194
|
{"id":"opencode-swarm-plugin-tms9","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-07T19:56:42.389532-08:00","updated_at":"2025-12-07T19:56:44.672953-08:00","closed_at":"2025-12-07T19:56:44.672953-08:00"}
|
|
1195
|
+
{"id":"opencode-swarm-plugin-tnrmo","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-09T10:00:23.120112-08:00","updated_at":"2025-12-09T10:00:26.054247-08:00","closed_at":"2025-12-09T10:00:26.054247-08:00"}
|
|
1158
1196
|
{"id":"opencode-swarm-plugin-tnys","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T07:46:50.210687-08:00","updated_at":"2025-12-08T07:46:52.226415-08:00","closed_at":"2025-12-08T07:46:52.226415-08:00"}
|
|
1159
1197
|
{"id":"opencode-swarm-plugin-tnz9","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:11:24.885382-08:00","updated_at":"2025-12-08T11:11:25.083688-08:00","closed_at":"2025-12-08T11:11:25.083688-08:00"}
|
|
1160
1198
|
{"id":"opencode-swarm-plugin-tnz9.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.920391-08:00","updated_at":"2025-12-08T11:11:25.008828-08:00","closed_at":"2025-12-08T11:11:25.008828-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-tnz9.1","depends_on_id":"opencode-swarm-plugin-tnz9","type":"parent-child","created_at":"2025-12-08T11:11:24.920745-08:00","created_by":"daemon"}]}
|
|
@@ -1212,6 +1250,7 @@
|
|
|
1212
1250
|
{"id":"opencode-swarm-plugin-unyi","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:22.839104-08:00","updated_at":"2025-12-08T11:11:25.516678-08:00","closed_at":"2025-12-08T11:11:25.516678-08:00"}
|
|
1213
1251
|
{"id":"opencode-swarm-plugin-uoid","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-07T19:41:11.743571-08:00","updated_at":"2025-12-07T19:41:13.723385-08:00","closed_at":"2025-12-07T19:41:13.723385-08:00"}
|
|
1214
1252
|
{"id":"opencode-swarm-plugin-uqc2","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:17.318929-08:00","updated_at":"2025-12-08T08:23:19.847347-08:00","closed_at":"2025-12-08T08:23:19.847347-08:00"}
|
|
1253
|
+
{"id":"opencode-swarm-plugin-uriht","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.528976-08:00","updated_at":"2025-12-09T10:00:25.777953-08:00","closed_at":"2025-12-09T10:00:25.777953-08:00"}
|
|
1215
1254
|
{"id":"opencode-swarm-plugin-us81","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:45.402174-08:00","updated_at":"2025-12-08T07:53:47.023877-08:00","closed_at":"2025-12-08T07:53:47.023877-08:00"}
|
|
1216
1255
|
{"id":"opencode-swarm-plugin-utd","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:18.881432-08:00","updated_at":"2025-12-07T19:39:20.663394-08:00","closed_at":"2025-12-07T19:39:20.663394-08:00"}
|
|
1217
1256
|
{"id":"opencode-swarm-plugin-uv92","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:53.803795-08:00","updated_at":"2025-12-08T11:10:53.829421-08:00","closed_at":"2025-12-08T11:10:53.829421-08:00"}
|
|
@@ -1223,6 +1262,7 @@
|
|
|
1223
1262
|
{"id":"opencode-swarm-plugin-uvwx","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:39.796571-08:00","updated_at":"2025-12-08T08:11:42.109197-08:00","closed_at":"2025-12-08T08:11:42.109197-08:00"}
|
|
1224
1263
|
{"id":"opencode-swarm-plugin-uzp","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:18.238171-08:00","updated_at":"2025-12-07T19:39:20.391173-08:00","closed_at":"2025-12-07T19:39:20.391173-08:00"}
|
|
1225
1264
|
{"id":"opencode-swarm-plugin-uzz7","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:07.254618-08:00","updated_at":"2025-12-07T19:57:08.91203-08:00","closed_at":"2025-12-07T19:57:08.91203-08:00"}
|
|
1265
|
+
{"id":"opencode-swarm-plugin-v155u","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.357052-08:00","updated_at":"2025-12-09T10:00:25.675146-08:00","closed_at":"2025-12-09T10:00:25.675146-08:00"}
|
|
1226
1266
|
{"id":"opencode-swarm-plugin-v1gu","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.25204-08:00","updated_at":"2025-12-08T11:11:10.802916-08:00","closed_at":"2025-12-08T11:11:10.802916-08:00"}
|
|
1227
1267
|
{"id":"opencode-swarm-plugin-v4bf","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:10.087446-08:00","updated_at":"2025-12-08T08:25:12.460472-08:00","closed_at":"2025-12-08T08:25:12.460472-08:00"}
|
|
1228
1268
|
{"id":"opencode-swarm-plugin-v4g4","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:14:30.587378-08:00","updated_at":"2025-12-08T08:14:30.768869-08:00","closed_at":"2025-12-08T08:14:30.768869-08:00"}
|
|
@@ -1350,6 +1390,7 @@
|
|
|
1350
1390
|
{"id":"opencode-swarm-plugin-yunl","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:53.033023-08:00","updated_at":"2025-12-08T11:10:55.63671-08:00","closed_at":"2025-12-08T11:10:55.63671-08:00"}
|
|
1351
1391
|
{"id":"opencode-swarm-plugin-yvag","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:11.117366-08:00","updated_at":"2025-12-08T07:49:12.774248-08:00","closed_at":"2025-12-08T07:49:12.774248-08:00"}
|
|
1352
1392
|
{"id":"opencode-swarm-plugin-yvnz","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:16.993848-08:00","updated_at":"2025-12-08T08:36:19.361588-08:00","closed_at":"2025-12-08T08:36:19.361588-08:00"}
|
|
1393
|
+
{"id":"opencode-swarm-plugin-yzcon","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.240016-08:00","updated_at":"2025-12-09T10:00:25.641139-08:00","closed_at":"2025-12-09T10:00:25.641139-08:00"}
|
|
1353
1394
|
{"id":"opencode-swarm-plugin-z011","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:09.770825-08:00","updated_at":"2025-12-08T07:49:12.173678-08:00","closed_at":"2025-12-08T07:49:12.173678-08:00"}
|
|
1354
1395
|
{"id":"opencode-swarm-plugin-z0s","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:36:06.949471-08:00","updated_at":"2025-12-07T19:36:06.970397-08:00","closed_at":"2025-12-07T19:36:06.970397-08:00"}
|
|
1355
1396
|
{"id":"opencode-swarm-plugin-z0zh","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T09:09:31.242765-08:00","updated_at":"2025-12-08T09:09:33.398869-08:00","closed_at":"2025-12-08T09:09:33.398869-08:00"}
|
|
@@ -1376,6 +1417,9 @@
|
|
|
1376
1417
|
{"id":"opencode-swarm-plugin-zwgf","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T11:11:08.122483-08:00","updated_at":"2025-12-08T11:11:10.443356-08:00","closed_at":"2025-12-08T11:11:10.443356-08:00"}
|
|
1377
1418
|
{"id":"opencode-swarm-plugin-zx8r","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:25.681528-08:00","updated_at":"2025-12-08T11:12:28.06447-08:00","closed_at":"2025-12-08T11:12:28.06447-08:00"}
|
|
1378
1419
|
{"id":"opencode-swarm-plugin-zxic","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:32.336447-08:00","updated_at":"2025-12-08T09:09:33.91114-08:00","closed_at":"2025-12-08T09:09:33.91114-08:00"}
|
|
1420
|
+
{"id":"opencode-swarm-plugin-zxt20","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-09T10:00:23.863717-08:00","updated_at":"2025-12-09T10:00:26.312897-08:00","closed_at":"2025-12-09T10:00:26.312897-08:00"}
|
|
1421
|
+
{"id":"opencode-swarm-plugin-zxt20.1","title":"Edit src/a.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:23.915167-08:00","updated_at":"2025-12-09T10:00:26.344216-08:00","closed_at":"2025-12-09T10:00:26.344216-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-zxt20.1","depends_on_id":"opencode-swarm-plugin-zxt20","type":"parent-child","created_at":"2025-12-09T10:00:23.91553-08:00","created_by":"daemon"}]}
|
|
1422
|
+
{"id":"opencode-swarm-plugin-zxt20.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:23.961458-08:00","updated_at":"2025-12-09T10:00:26.374108-08:00","closed_at":"2025-12-09T10:00:26.374108-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-zxt20.2","depends_on_id":"opencode-swarm-plugin-zxt20","type":"parent-child","created_at":"2025-12-09T10:00:23.961807-08:00","created_by":"daemon"}]}
|
|
1379
1423
|
{"id":"opencode-swarm-plugin-zzw","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:34:53.29698-08:00","updated_at":"2025-12-07T19:34:54.947962-08:00","closed_at":"2025-12-07T19:34:54.947962-08:00"}
|
|
1380
1424
|
{"id":"opencode-swarm-plugin-zzw.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:53.324677-08:00","updated_at":"2025-12-07T19:34:54.971396-08:00","closed_at":"2025-12-07T19:34:54.971396-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-zzw.1","depends_on_id":"opencode-swarm-plugin-zzw","type":"parent-child","created_at":"2025-12-07T19:34:53.324987-08:00","created_by":"daemon"}]}
|
|
1381
1425
|
{"id":"opencode-swarm-plugin-zzw.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-07T19:34:53.354227-08:00","updated_at":"2025-12-07T19:34:54.993123-08:00","closed_at":"2025-12-07T19:34:54.993123-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-zzw.2","depends_on_id":"opencode-swarm-plugin-zzw","type":"parent-child","created_at":"2025-12-07T19:34:53.354536-08:00","created_by":"daemon"}]}
|
package/bin/swarm.ts
CHANGED
|
@@ -13,11 +13,16 @@
|
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
15
|
import * as p from "@clack/prompts";
|
|
16
|
-
import { existsSync, mkdirSync, writeFileSync } from "fs";
|
|
16
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
17
17
|
import { homedir } from "os";
|
|
18
|
-
import { join } from "path";
|
|
18
|
+
import { dirname, join } from "path";
|
|
19
|
+
import { fileURLToPath } from "url";
|
|
19
20
|
|
|
20
|
-
const
|
|
21
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
22
|
+
const pkg = JSON.parse(
|
|
23
|
+
readFileSync(join(__dirname, "..", "package.json"), "utf-8"),
|
|
24
|
+
);
|
|
25
|
+
const VERSION: string = pkg.version;
|
|
21
26
|
|
|
22
27
|
// ============================================================================
|
|
23
28
|
// ASCII Art & Branding
|
|
@@ -45,6 +50,247 @@ const TAGLINE = "Multi-agent coordination for OpenCode";
|
|
|
45
50
|
const dim = (s: string) => `\x1b[2m${s}\x1b[0m`;
|
|
46
51
|
const yellow = (s: string) => `\x1b[33m${s}\x1b[0m`;
|
|
47
52
|
const cyan = (s: string) => `\x1b[36m${s}\x1b[0m`;
|
|
53
|
+
const green = (s: string) => `\x1b[32m${s}\x1b[0m`;
|
|
54
|
+
const magenta = (s: string) => `\x1b[35m${s}\x1b[0m`;
|
|
55
|
+
|
|
56
|
+
const PACKAGE_NAME = "opencode-swarm-plugin";
|
|
57
|
+
|
|
58
|
+
// ============================================================================
|
|
59
|
+
// Seasonal Messages (inspired by Astro's Houston)
|
|
60
|
+
// ============================================================================
|
|
61
|
+
|
|
62
|
+
type Season = "spooky" | "holiday" | "new-year" | "summer" | "default";
|
|
63
|
+
|
|
64
|
+
function getSeason(): Season {
|
|
65
|
+
const date = new Date();
|
|
66
|
+
const month = date.getMonth() + 1;
|
|
67
|
+
const day = date.getDate();
|
|
68
|
+
|
|
69
|
+
if (month === 1 && day <= 7) return "new-year";
|
|
70
|
+
if (month === 10 && day > 7) return "spooky";
|
|
71
|
+
if (month === 12 && day > 7 && day < 26) return "holiday";
|
|
72
|
+
if (month >= 6 && month <= 8) return "summer";
|
|
73
|
+
return "default";
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
interface SeasonalBee {
|
|
77
|
+
messages: string[];
|
|
78
|
+
decorations?: string[];
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
function getSeasonalBee(): SeasonalBee {
|
|
82
|
+
const season = getSeason();
|
|
83
|
+
const year = new Date().getFullYear();
|
|
84
|
+
|
|
85
|
+
switch (season) {
|
|
86
|
+
case "new-year":
|
|
87
|
+
return {
|
|
88
|
+
messages: [
|
|
89
|
+
`New year, new swarm! Let's build something amazing in ${year}!`,
|
|
90
|
+
`${year} is the year of parallel agents! bzzzz...`,
|
|
91
|
+
`Kicking off ${year} with coordinated chaos!`,
|
|
92
|
+
`Happy ${year}! Time to orchestrate some magic.`,
|
|
93
|
+
],
|
|
94
|
+
decorations: ["🎉", "🎊", "✨"],
|
|
95
|
+
};
|
|
96
|
+
case "spooky":
|
|
97
|
+
return {
|
|
98
|
+
messages: [
|
|
99
|
+
`Boo! Just kidding. Let's spawn some agents!`,
|
|
100
|
+
`The hive is buzzing with spooky energy...`,
|
|
101
|
+
`No tricks here, only parallel treats!`,
|
|
102
|
+
`Let's conjure up a swarm of worker bees!`,
|
|
103
|
+
`Something wicked this way computes...`,
|
|
104
|
+
],
|
|
105
|
+
decorations: ["🎃", "👻", "🕷️", "🦇"],
|
|
106
|
+
};
|
|
107
|
+
case "holiday":
|
|
108
|
+
return {
|
|
109
|
+
messages: [
|
|
110
|
+
`'Tis the season to parallelize!`,
|
|
111
|
+
`The hive is warm and cozy. Let's build!`,
|
|
112
|
+
`Ho ho ho! Time to unwrap some agents!`,
|
|
113
|
+
`Jingle bells, agents swell, tasks get done today!`,
|
|
114
|
+
`The best gift? A well-coordinated swarm.`,
|
|
115
|
+
],
|
|
116
|
+
decorations: ["🎄", "🎁", "❄️", "⭐"],
|
|
117
|
+
};
|
|
118
|
+
case "summer":
|
|
119
|
+
return {
|
|
120
|
+
messages: [
|
|
121
|
+
`Summer vibes and parallel pipelines!`,
|
|
122
|
+
`The hive is buzzing in the sunshine!`,
|
|
123
|
+
`Hot code, cool agents. Let's go!`,
|
|
124
|
+
`Beach day? Nah, build day!`,
|
|
125
|
+
],
|
|
126
|
+
decorations: ["☀️", "🌻", "🌴"],
|
|
127
|
+
};
|
|
128
|
+
default:
|
|
129
|
+
return {
|
|
130
|
+
messages: [
|
|
131
|
+
`The hive awaits your command.`,
|
|
132
|
+
`Ready to coordinate the swarm!`,
|
|
133
|
+
`Let's build something awesome together.`,
|
|
134
|
+
`Parallel agents, standing by.`,
|
|
135
|
+
`Time to orchestrate some magic!`,
|
|
136
|
+
`The bees are ready to work.`,
|
|
137
|
+
`Bzzzz... initializing swarm intelligence.`,
|
|
138
|
+
`Many agents, one mission.`,
|
|
139
|
+
],
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
function getRandomMessage(): string {
|
|
145
|
+
const { messages } = getSeasonalBee();
|
|
146
|
+
return messages[Math.floor(Math.random() * messages.length)];
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
function getDecoratedBee(): string {
|
|
150
|
+
const { decorations } = getSeasonalBee();
|
|
151
|
+
if (!decorations || Math.random() > 0.5) return cyan(BEE);
|
|
152
|
+
|
|
153
|
+
const decoration =
|
|
154
|
+
decorations[Math.floor(Math.random() * decorations.length)];
|
|
155
|
+
// Add decoration to the bee
|
|
156
|
+
return cyan(BEE.replace("bzzzz...", `bzzzz... ${decoration}`));
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
// ============================================================================
|
|
160
|
+
// Model Configuration
|
|
161
|
+
// ============================================================================
|
|
162
|
+
|
|
163
|
+
interface ModelOption {
|
|
164
|
+
value: string;
|
|
165
|
+
label: string;
|
|
166
|
+
hint: string;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
const COORDINATOR_MODELS: ModelOption[] = [
|
|
170
|
+
{
|
|
171
|
+
value: "anthropic/claude-sonnet-4-5",
|
|
172
|
+
label: "Claude Sonnet 4.5",
|
|
173
|
+
hint: "Best balance of speed and capability (recommended)",
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
value: "anthropic/claude-opus-4-5",
|
|
177
|
+
label: "Claude Opus 4.5",
|
|
178
|
+
hint: "Most capable, slower and more expensive",
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
value: "openai/gpt-4o",
|
|
182
|
+
label: "GPT-4o",
|
|
183
|
+
hint: "Fast, good for most tasks",
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
value: "google/gemini-2.0-flash",
|
|
187
|
+
label: "Gemini 2.0 Flash",
|
|
188
|
+
hint: "Fast and capable",
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
value: "google/gemini-1.5-pro",
|
|
192
|
+
label: "Gemini 1.5 Pro",
|
|
193
|
+
hint: "More capable, larger context",
|
|
194
|
+
},
|
|
195
|
+
];
|
|
196
|
+
|
|
197
|
+
const WORKER_MODELS: ModelOption[] = [
|
|
198
|
+
{
|
|
199
|
+
value: "anthropic/claude-haiku-4-5",
|
|
200
|
+
label: "Claude Haiku 4.5",
|
|
201
|
+
hint: "Fast and cost-effective (recommended)",
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
value: "anthropic/claude-sonnet-4-5",
|
|
205
|
+
label: "Claude Sonnet 4.5",
|
|
206
|
+
hint: "More capable, slower",
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
value: "openai/gpt-4o-mini",
|
|
210
|
+
label: "GPT-4o Mini",
|
|
211
|
+
hint: "Fast and cheap",
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
value: "google/gemini-2.0-flash",
|
|
215
|
+
label: "Gemini 2.0 Flash",
|
|
216
|
+
hint: "Fast and capable",
|
|
217
|
+
},
|
|
218
|
+
];
|
|
219
|
+
|
|
220
|
+
// ============================================================================
|
|
221
|
+
// Update Checking
|
|
222
|
+
// ============================================================================
|
|
223
|
+
|
|
224
|
+
interface UpdateInfo {
|
|
225
|
+
current: string;
|
|
226
|
+
latest: string;
|
|
227
|
+
updateAvailable: boolean;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
async function checkForUpdates(): Promise<UpdateInfo | null> {
|
|
231
|
+
try {
|
|
232
|
+
const response = await fetch(
|
|
233
|
+
`https://registry.npmjs.org/${PACKAGE_NAME}/latest`,
|
|
234
|
+
{
|
|
235
|
+
signal: AbortSignal.timeout(3000), // 3 second timeout
|
|
236
|
+
},
|
|
237
|
+
);
|
|
238
|
+
if (!response.ok) return null;
|
|
239
|
+
const data = await response.json();
|
|
240
|
+
const latest = data.version;
|
|
241
|
+
const updateAvailable =
|
|
242
|
+
latest !== VERSION && compareVersions(latest, VERSION) > 0;
|
|
243
|
+
return { current: VERSION, latest, updateAvailable };
|
|
244
|
+
} catch {
|
|
245
|
+
return null; // Silently fail - don't block CLI
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
function compareVersions(a: string, b: string): number {
|
|
250
|
+
const partsA = a.split(".").map(Number);
|
|
251
|
+
const partsB = b.split(".").map(Number);
|
|
252
|
+
for (let i = 0; i < 3; i++) {
|
|
253
|
+
if (partsA[i] > partsB[i]) return 1;
|
|
254
|
+
if (partsA[i] < partsB[i]) return -1;
|
|
255
|
+
}
|
|
256
|
+
return 0;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
function showUpdateNotification(info: UpdateInfo) {
|
|
260
|
+
if (info.updateAvailable) {
|
|
261
|
+
console.log();
|
|
262
|
+
console.log(
|
|
263
|
+
yellow(" ╭─────────────────────────────────────────────────────╮"),
|
|
264
|
+
);
|
|
265
|
+
console.log(
|
|
266
|
+
yellow(" │") +
|
|
267
|
+
" Update available! " +
|
|
268
|
+
dim(info.current) +
|
|
269
|
+
" → " +
|
|
270
|
+
green(info.latest) +
|
|
271
|
+
" " +
|
|
272
|
+
yellow("│"),
|
|
273
|
+
);
|
|
274
|
+
console.log(
|
|
275
|
+
yellow(" │") +
|
|
276
|
+
" Run: " +
|
|
277
|
+
cyan("npm install -g " + PACKAGE_NAME + "@latest") +
|
|
278
|
+
" " +
|
|
279
|
+
yellow("│"),
|
|
280
|
+
);
|
|
281
|
+
console.log(
|
|
282
|
+
yellow(" │") +
|
|
283
|
+
" Or: " +
|
|
284
|
+
cyan("swarm update") +
|
|
285
|
+
" " +
|
|
286
|
+
yellow("│"),
|
|
287
|
+
);
|
|
288
|
+
console.log(
|
|
289
|
+
yellow(" ╰─────────────────────────────────────────────────────╯"),
|
|
290
|
+
);
|
|
291
|
+
console.log();
|
|
292
|
+
}
|
|
293
|
+
}
|
|
48
294
|
|
|
49
295
|
// ============================================================================
|
|
50
296
|
// Types
|
|
@@ -220,7 +466,7 @@ You are a swarm coordinator. Take a complex task, break it into beads, and unlea
|
|
|
220
466
|
2. **Decompose**: Use \`swarm_select_strategy\` then \`swarm_plan_prompt\` to break down the task
|
|
221
467
|
3. **Create beads**: \`beads_create_epic\` with subtasks and file assignments
|
|
222
468
|
4. **Reserve files**: \`agentmail_reserve\` for each subtask's files
|
|
223
|
-
5. **Spawn agents**: Use Task tool with \`swarm_spawn_subtask\` prompts -
|
|
469
|
+
5. **Spawn agents**: Use Task tool with \`swarm_spawn_subtask\` prompts (or use @swarm-worker for sequential/single-file tasks)
|
|
224
470
|
6. **Monitor**: Check \`agentmail_inbox\` for progress, use \`agentmail_summarize_thread\` for overview
|
|
225
471
|
7. **Complete**: \`swarm_complete\` when done, then \`beads_sync\` to push
|
|
226
472
|
|
|
@@ -237,10 +483,10 @@ The plugin auto-selects decomposition strategy based on task keywords:
|
|
|
237
483
|
Begin decomposition now.
|
|
238
484
|
`;
|
|
239
485
|
|
|
240
|
-
const
|
|
486
|
+
const getPlannerAgent = (model: string) => `---
|
|
241
487
|
name: swarm-planner
|
|
242
488
|
description: Strategic task decomposition for swarm coordination
|
|
243
|
-
model:
|
|
489
|
+
model: ${model}
|
|
244
490
|
---
|
|
245
491
|
|
|
246
492
|
You are a swarm planner. Decompose tasks into optimal parallel subtasks.
|
|
@@ -277,6 +523,27 @@ You are a swarm planner. Decompose tasks into optimal parallel subtasks.
|
|
|
277
523
|
- Order by dependency (if B needs A, A comes first)
|
|
278
524
|
`;
|
|
279
525
|
|
|
526
|
+
const getWorkerAgent = (model: string) => `---
|
|
527
|
+
name: swarm-worker
|
|
528
|
+
description: Executes subtasks in a swarm - fast, focused, cost-effective
|
|
529
|
+
model: ${model}
|
|
530
|
+
---
|
|
531
|
+
|
|
532
|
+
You are a swarm worker agent. Execute your assigned subtask efficiently.
|
|
533
|
+
|
|
534
|
+
## Rules
|
|
535
|
+
- Focus ONLY on your assigned files
|
|
536
|
+
- Report progress via Agent Mail
|
|
537
|
+
- Use beads_update to track status
|
|
538
|
+
- Call swarm_complete when done
|
|
539
|
+
|
|
540
|
+
## Workflow
|
|
541
|
+
1. Read assigned files
|
|
542
|
+
2. Implement changes
|
|
543
|
+
3. Verify (typecheck if applicable)
|
|
544
|
+
4. Report completion
|
|
545
|
+
`;
|
|
546
|
+
|
|
280
547
|
// ============================================================================
|
|
281
548
|
// Commands
|
|
282
549
|
// ============================================================================
|
|
@@ -339,10 +606,20 @@ async function doctor() {
|
|
|
339
606
|
} else {
|
|
340
607
|
p.outro("All dependencies installed!");
|
|
341
608
|
}
|
|
609
|
+
|
|
610
|
+
// Check for updates (non-blocking)
|
|
611
|
+
const updateInfo = await checkForUpdates();
|
|
612
|
+
if (updateInfo) showUpdateNotification(updateInfo);
|
|
342
613
|
}
|
|
343
614
|
|
|
344
615
|
async function setup() {
|
|
345
616
|
console.clear();
|
|
617
|
+
console.log(yellow(BANNER));
|
|
618
|
+
console.log(getDecoratedBee());
|
|
619
|
+
console.log();
|
|
620
|
+
console.log(magenta(" " + getRandomMessage()));
|
|
621
|
+
console.log();
|
|
622
|
+
|
|
346
623
|
p.intro("opencode-swarm-plugin v" + VERSION);
|
|
347
624
|
|
|
348
625
|
const s = p.spinner();
|
|
@@ -468,6 +745,103 @@ async function setup() {
|
|
|
468
745
|
}
|
|
469
746
|
}
|
|
470
747
|
|
|
748
|
+
// Model selection
|
|
749
|
+
p.log.step("Configure swarm agents...");
|
|
750
|
+
|
|
751
|
+
const coordinatorModel = await p.select({
|
|
752
|
+
message: "Select coordinator model (for orchestration/planning):",
|
|
753
|
+
options: [
|
|
754
|
+
{
|
|
755
|
+
value: "anthropic/claude-sonnet-4-5",
|
|
756
|
+
label: "Claude Sonnet 4.5",
|
|
757
|
+
hint: "Best balance of speed and capability (recommended)",
|
|
758
|
+
},
|
|
759
|
+
{
|
|
760
|
+
value: "anthropic/claude-haiku-4-5",
|
|
761
|
+
label: "Claude Haiku 4.5",
|
|
762
|
+
hint: "Fast and cost-effective",
|
|
763
|
+
},
|
|
764
|
+
{
|
|
765
|
+
value: "anthropic/claude-opus-4-5",
|
|
766
|
+
label: "Claude Opus 4.5",
|
|
767
|
+
hint: "Most capable, slower",
|
|
768
|
+
},
|
|
769
|
+
{
|
|
770
|
+
value: "openai/gpt-4o",
|
|
771
|
+
label: "GPT-4o",
|
|
772
|
+
hint: "Fast, good for most tasks",
|
|
773
|
+
},
|
|
774
|
+
{
|
|
775
|
+
value: "openai/gpt-4-turbo",
|
|
776
|
+
label: "GPT-4 Turbo",
|
|
777
|
+
hint: "Powerful, more expensive",
|
|
778
|
+
},
|
|
779
|
+
{
|
|
780
|
+
value: "google/gemini-2.0-flash",
|
|
781
|
+
label: "Gemini 2.0 Flash",
|
|
782
|
+
hint: "Fast and capable",
|
|
783
|
+
},
|
|
784
|
+
{
|
|
785
|
+
value: "google/gemini-1.5-pro",
|
|
786
|
+
label: "Gemini 1.5 Pro",
|
|
787
|
+
hint: "More capable",
|
|
788
|
+
},
|
|
789
|
+
],
|
|
790
|
+
initialValue: "anthropic/claude-sonnet-4-5",
|
|
791
|
+
});
|
|
792
|
+
|
|
793
|
+
if (p.isCancel(coordinatorModel)) {
|
|
794
|
+
p.cancel("Setup cancelled");
|
|
795
|
+
process.exit(0);
|
|
796
|
+
}
|
|
797
|
+
|
|
798
|
+
const workerModel = await p.select({
|
|
799
|
+
message: "Select worker model (for task execution):",
|
|
800
|
+
options: [
|
|
801
|
+
{
|
|
802
|
+
value: "anthropic/claude-haiku-4-5",
|
|
803
|
+
label: "Claude Haiku 4.5",
|
|
804
|
+
hint: "Fast and cost-effective (recommended)",
|
|
805
|
+
},
|
|
806
|
+
{
|
|
807
|
+
value: "anthropic/claude-sonnet-4-5",
|
|
808
|
+
label: "Claude Sonnet 4.5",
|
|
809
|
+
hint: "Best balance of speed and capability",
|
|
810
|
+
},
|
|
811
|
+
{
|
|
812
|
+
value: "anthropic/claude-opus-4-5",
|
|
813
|
+
label: "Claude Opus 4.5",
|
|
814
|
+
hint: "Most capable, slower",
|
|
815
|
+
},
|
|
816
|
+
{
|
|
817
|
+
value: "openai/gpt-4o",
|
|
818
|
+
label: "GPT-4o",
|
|
819
|
+
hint: "Fast, good for most tasks",
|
|
820
|
+
},
|
|
821
|
+
{
|
|
822
|
+
value: "openai/gpt-4-turbo",
|
|
823
|
+
label: "GPT-4 Turbo",
|
|
824
|
+
hint: "Powerful, more expensive",
|
|
825
|
+
},
|
|
826
|
+
{
|
|
827
|
+
value: "google/gemini-2.0-flash",
|
|
828
|
+
label: "Gemini 2.0 Flash",
|
|
829
|
+
hint: "Fast and capable",
|
|
830
|
+
},
|
|
831
|
+
{
|
|
832
|
+
value: "google/gemini-1.5-pro",
|
|
833
|
+
label: "Gemini 1.5 Pro",
|
|
834
|
+
hint: "More capable",
|
|
835
|
+
},
|
|
836
|
+
],
|
|
837
|
+
initialValue: "anthropic/claude-haiku-4-5",
|
|
838
|
+
});
|
|
839
|
+
|
|
840
|
+
if (p.isCancel(workerModel)) {
|
|
841
|
+
p.cancel("Setup cancelled");
|
|
842
|
+
process.exit(0);
|
|
843
|
+
}
|
|
844
|
+
|
|
471
845
|
p.log.step("Setting up OpenCode integration...");
|
|
472
846
|
|
|
473
847
|
const configDir = join(homedir(), ".config", "opencode");
|
|
@@ -483,7 +857,8 @@ async function setup() {
|
|
|
483
857
|
|
|
484
858
|
const pluginPath = join(pluginsDir, "swarm.ts");
|
|
485
859
|
const commandPath = join(commandsDir, "swarm.md");
|
|
486
|
-
const
|
|
860
|
+
const plannerAgentPath = join(agentsDir, "swarm-planner.md");
|
|
861
|
+
const workerAgentPath = join(agentsDir, "swarm-worker.md");
|
|
487
862
|
|
|
488
863
|
writeFileSync(pluginPath, PLUGIN_WRAPPER);
|
|
489
864
|
p.log.success("Plugin: " + pluginPath);
|
|
@@ -491,8 +866,11 @@ async function setup() {
|
|
|
491
866
|
writeFileSync(commandPath, SWARM_COMMAND);
|
|
492
867
|
p.log.success("Command: " + commandPath);
|
|
493
868
|
|
|
494
|
-
writeFileSync(
|
|
495
|
-
p.log.success("
|
|
869
|
+
writeFileSync(plannerAgentPath, getPlannerAgent(coordinatorModel as string));
|
|
870
|
+
p.log.success("Planner agent: " + plannerAgentPath);
|
|
871
|
+
|
|
872
|
+
writeFileSync(workerAgentPath, getWorkerAgent(workerModel as string));
|
|
873
|
+
p.log.success("Worker agent: " + workerAgentPath);
|
|
496
874
|
|
|
497
875
|
p.note(
|
|
498
876
|
'cd your-project\nbd init\nopencode\n/swarm "your task"',
|
|
@@ -586,20 +964,25 @@ async function init() {
|
|
|
586
964
|
}
|
|
587
965
|
}
|
|
588
966
|
|
|
589
|
-
function version() {
|
|
967
|
+
async function version() {
|
|
590
968
|
console.log(yellow(BANNER));
|
|
591
969
|
console.log(dim(" " + TAGLINE));
|
|
592
970
|
console.log();
|
|
593
971
|
console.log(" Version: " + VERSION);
|
|
594
972
|
console.log(" Docs: https://github.com/joelhooks/opencode-swarm-plugin");
|
|
595
973
|
console.log();
|
|
974
|
+
|
|
975
|
+
// Check for updates (non-blocking)
|
|
976
|
+
const updateInfo = await checkForUpdates();
|
|
977
|
+
if (updateInfo) showUpdateNotification(updateInfo);
|
|
596
978
|
}
|
|
597
979
|
|
|
598
980
|
function config() {
|
|
599
981
|
const configDir = join(homedir(), ".config", "opencode");
|
|
600
982
|
const pluginPath = join(configDir, "plugins", "swarm.ts");
|
|
601
983
|
const commandPath = join(configDir, "commands", "swarm.md");
|
|
602
|
-
const
|
|
984
|
+
const plannerAgentPath = join(configDir, "agents", "swarm-planner.md");
|
|
985
|
+
const workerAgentPath = join(configDir, "agents", "swarm-worker.md");
|
|
603
986
|
|
|
604
987
|
console.log(yellow(BANNER));
|
|
605
988
|
console.log(dim(" " + TAGLINE + " v" + VERSION));
|
|
@@ -610,7 +993,8 @@ function config() {
|
|
|
610
993
|
const files = [
|
|
611
994
|
{ path: pluginPath, desc: "Plugin loader", emoji: "🔌" },
|
|
612
995
|
{ path: commandPath, desc: "/swarm command prompt", emoji: "📜" },
|
|
613
|
-
{ path:
|
|
996
|
+
{ path: plannerAgentPath, desc: "@swarm-planner agent", emoji: "🤖" },
|
|
997
|
+
{ path: workerAgentPath, desc: "@swarm-worker agent", emoji: "🐝" },
|
|
614
998
|
];
|
|
615
999
|
|
|
616
1000
|
for (const { path, desc, emoji } of files) {
|
|
@@ -627,31 +1011,94 @@ function config() {
|
|
|
627
1011
|
console.log();
|
|
628
1012
|
}
|
|
629
1013
|
|
|
630
|
-
function
|
|
1014
|
+
async function update() {
|
|
1015
|
+
p.intro("swarm update v" + VERSION);
|
|
1016
|
+
|
|
1017
|
+
const s = p.spinner();
|
|
1018
|
+
s.start("Checking for updates...");
|
|
1019
|
+
|
|
1020
|
+
const updateInfo = await checkForUpdates();
|
|
1021
|
+
|
|
1022
|
+
if (!updateInfo) {
|
|
1023
|
+
s.stop("Failed to check for updates");
|
|
1024
|
+
p.log.error("Could not reach npm registry");
|
|
1025
|
+
p.outro("Try again later or update manually:");
|
|
1026
|
+
console.log(" " + cyan("npm install -g " + PACKAGE_NAME + "@latest"));
|
|
1027
|
+
process.exit(1);
|
|
1028
|
+
}
|
|
1029
|
+
|
|
1030
|
+
if (!updateInfo.updateAvailable) {
|
|
1031
|
+
s.stop("Already on latest version");
|
|
1032
|
+
p.log.success("You're running " + VERSION);
|
|
1033
|
+
p.outro("No update needed!");
|
|
1034
|
+
return;
|
|
1035
|
+
}
|
|
1036
|
+
|
|
1037
|
+
s.stop("Update available: " + VERSION + " → " + updateInfo.latest);
|
|
1038
|
+
|
|
1039
|
+
const confirmUpdate = await p.confirm({
|
|
1040
|
+
message: "Update to v" + updateInfo.latest + "?",
|
|
1041
|
+
initialValue: true,
|
|
1042
|
+
});
|
|
1043
|
+
|
|
1044
|
+
if (p.isCancel(confirmUpdate) || !confirmUpdate) {
|
|
1045
|
+
p.outro("Update cancelled");
|
|
1046
|
+
return;
|
|
1047
|
+
}
|
|
1048
|
+
|
|
1049
|
+
const updateSpinner = p.spinner();
|
|
1050
|
+
updateSpinner.start("Updating to v" + updateInfo.latest + "...");
|
|
1051
|
+
|
|
1052
|
+
const success = await runInstall(
|
|
1053
|
+
"npm install -g " + PACKAGE_NAME + "@latest",
|
|
1054
|
+
);
|
|
1055
|
+
|
|
1056
|
+
if (success) {
|
|
1057
|
+
updateSpinner.stop("Updated to v" + updateInfo.latest);
|
|
1058
|
+
p.outro("Success! Restart your terminal to use the new version.");
|
|
1059
|
+
} else {
|
|
1060
|
+
updateSpinner.stop("Update failed");
|
|
1061
|
+
p.log.error("Failed to update via npm");
|
|
1062
|
+
p.log.message("Try manually:");
|
|
1063
|
+
console.log(" " + cyan("npm install -g " + PACKAGE_NAME + "@latest"));
|
|
1064
|
+
p.outro("Update failed");
|
|
1065
|
+
process.exit(1);
|
|
1066
|
+
}
|
|
1067
|
+
}
|
|
1068
|
+
|
|
1069
|
+
async function help() {
|
|
631
1070
|
console.log(yellow(BANNER));
|
|
632
1071
|
console.log(dim(" " + TAGLINE + " v" + VERSION));
|
|
633
|
-
console.log(
|
|
1072
|
+
console.log(getDecoratedBee());
|
|
1073
|
+
console.log(magenta(" " + getRandomMessage()));
|
|
634
1074
|
console.log(`
|
|
635
1075
|
${cyan("Commands:")}
|
|
636
1076
|
swarm setup Interactive installer - checks and installs dependencies
|
|
637
1077
|
swarm doctor Health check - shows status of all dependencies
|
|
638
1078
|
swarm init Initialize beads in current project
|
|
639
1079
|
swarm config Show paths to generated config files
|
|
1080
|
+
swarm update Update to latest version
|
|
640
1081
|
swarm version Show version and banner
|
|
641
1082
|
swarm help Show this help
|
|
642
1083
|
|
|
643
1084
|
${cyan("Usage in OpenCode:")}
|
|
644
1085
|
/swarm "Add user authentication with OAuth"
|
|
645
|
-
@swarm-planner "
|
|
1086
|
+
@swarm-planner "Decompose this into parallel tasks"
|
|
1087
|
+
@swarm-worker "Execute this specific subtask"
|
|
646
1088
|
|
|
647
1089
|
${cyan("Customization:")}
|
|
648
1090
|
Edit the generated files to customize behavior:
|
|
649
|
-
${dim("~/.config/opencode/commands/swarm.md")}
|
|
650
|
-
${dim("~/.config/opencode/agents/swarm-planner.md")} - @swarm-planner
|
|
651
|
-
${dim("~/.config/opencode/
|
|
1091
|
+
${dim("~/.config/opencode/commands/swarm.md")} - /swarm command prompt
|
|
1092
|
+
${dim("~/.config/opencode/agents/swarm-planner.md")} - @swarm-planner (coordinator)
|
|
1093
|
+
${dim("~/.config/opencode/agents/swarm-worker.md")} - @swarm-worker (fast executor)
|
|
1094
|
+
${dim("~/.config/opencode/plugins/swarm.ts")} - Plugin loader
|
|
652
1095
|
|
|
653
1096
|
${dim("Docs: https://github.com/joelhooks/opencode-swarm-plugin")}
|
|
654
1097
|
`);
|
|
1098
|
+
|
|
1099
|
+
// Check for updates (non-blocking)
|
|
1100
|
+
const updateInfo = await checkForUpdates();
|
|
1101
|
+
if (updateInfo) showUpdateNotification(updateInfo);
|
|
655
1102
|
}
|
|
656
1103
|
|
|
657
1104
|
// ============================================================================
|
|
@@ -673,15 +1120,18 @@ switch (command) {
|
|
|
673
1120
|
case "config":
|
|
674
1121
|
config();
|
|
675
1122
|
break;
|
|
1123
|
+
case "update":
|
|
1124
|
+
await update();
|
|
1125
|
+
break;
|
|
676
1126
|
case "version":
|
|
677
1127
|
case "--version":
|
|
678
1128
|
case "-v":
|
|
679
|
-
version();
|
|
1129
|
+
await version();
|
|
680
1130
|
break;
|
|
681
1131
|
case "help":
|
|
682
1132
|
case "--help":
|
|
683
1133
|
case "-h":
|
|
684
|
-
help();
|
|
1134
|
+
await help();
|
|
685
1135
|
break;
|
|
686
1136
|
case undefined:
|
|
687
1137
|
await setup();
|
package/package.json
CHANGED