opencode-swarm 6.84.3 → 6.84.4
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/dist/index.js +15 -0
- package/dist/tools/update-task-status.d.ts +6 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -86802,6 +86802,7 @@ var todo_extract = createSwarmTool({
|
|
|
86802
86802
|
init_tool();
|
|
86803
86803
|
init_loader();
|
|
86804
86804
|
init_schema();
|
|
86805
|
+
init_qa_gate_profile();
|
|
86805
86806
|
init_gate_evidence();
|
|
86806
86807
|
import * as fs83 from "fs";
|
|
86807
86808
|
import * as path99 from "path";
|
|
@@ -87169,6 +87170,20 @@ function checkCouncilGate(workingDirectory, taskId) {
|
|
|
87169
87170
|
if (!councilEnabled) {
|
|
87170
87171
|
return { blocked: false, reason: "" };
|
|
87171
87172
|
}
|
|
87173
|
+
try {
|
|
87174
|
+
const planPath = path99.join(workingDirectory, ".swarm", "plan.json");
|
|
87175
|
+
const planRaw = fs83.readFileSync(planPath, "utf-8");
|
|
87176
|
+
const planObj = JSON.parse(planRaw);
|
|
87177
|
+
if (planObj.swarm && planObj.title) {
|
|
87178
|
+
const planId = `${planObj.swarm}-${planObj.title}`.replace(/[^a-zA-Z0-9-_]/g, "_");
|
|
87179
|
+
const profile = getProfile(workingDirectory, planId);
|
|
87180
|
+
if (!profile || !profile.gates.council_mode) {
|
|
87181
|
+
return { blocked: false, reason: "" };
|
|
87182
|
+
}
|
|
87183
|
+
}
|
|
87184
|
+
} catch {
|
|
87185
|
+
return { blocked: false, reason: "" };
|
|
87186
|
+
}
|
|
87172
87187
|
let evidence;
|
|
87173
87188
|
try {
|
|
87174
87189
|
evidence = readTaskEvidenceRaw(workingDirectory, taskId);
|
|
@@ -88,6 +88,12 @@ export interface CouncilGateResult {
|
|
|
88
88
|
* Check the council gate for a completion transition. Pure — reads config and
|
|
89
89
|
* evidence only, no state mutation. Exported for focused unit testing.
|
|
90
90
|
*
|
|
91
|
+
* AND semantics (mirrors isCouncilGateActive in state.ts): the gate only
|
|
92
|
+
* activates when BOTH pluginConfig.council.enabled === true AND the QA gate
|
|
93
|
+
* profile for this plan has council_mode === true. When council.enabled is
|
|
94
|
+
* true but council_mode is false (or the profile is absent), the gate is
|
|
95
|
+
* treated as inactive — the operator has disabled it at the profile level.
|
|
96
|
+
*
|
|
91
97
|
* @param workingDirectory - Validated project root (contains .swarm/evidence/)
|
|
92
98
|
* @param taskId - Task ID in N.M or N.M.P format
|
|
93
99
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencode-swarm",
|
|
3
|
-
"version": "6.84.
|
|
3
|
+
"version": "6.84.4",
|
|
4
4
|
"description": "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|