opencode-swarm 7.51.4 → 7.51.6
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/cli/index.js +3 -2
- package/dist/index.js +35 -4
- package/package.json +3 -2
package/dist/cli/index.js
CHANGED
|
@@ -52,7 +52,7 @@ var package_default;
|
|
|
52
52
|
var init_package = __esm(() => {
|
|
53
53
|
package_default = {
|
|
54
54
|
name: "opencode-swarm",
|
|
55
|
-
version: "7.51.
|
|
55
|
+
version: "7.51.6",
|
|
56
56
|
description: "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
|
|
57
57
|
main: "dist/index.js",
|
|
58
58
|
types: "dist/index.d.ts",
|
|
@@ -100,7 +100,8 @@ var init_package = __esm(() => {
|
|
|
100
100
|
dev: "bun run build && opencode",
|
|
101
101
|
"package:smoke": "node scripts/package-smoke.mjs",
|
|
102
102
|
prepare: "bun run build",
|
|
103
|
-
"repro:704": "node scripts/repro-704.mjs"
|
|
103
|
+
"repro:704": "node scripts/repro-704.mjs",
|
|
104
|
+
"repro:1144": "bun scripts/repro-1144.mjs"
|
|
104
105
|
},
|
|
105
106
|
dependencies: {
|
|
106
107
|
"@opencode-ai/plugin": "^1.1.53",
|
package/dist/index.js
CHANGED
|
@@ -69,7 +69,7 @@ var package_default;
|
|
|
69
69
|
var init_package = __esm(() => {
|
|
70
70
|
package_default = {
|
|
71
71
|
name: "opencode-swarm",
|
|
72
|
-
version: "7.51.
|
|
72
|
+
version: "7.51.6",
|
|
73
73
|
description: "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
|
|
74
74
|
main: "dist/index.js",
|
|
75
75
|
types: "dist/index.d.ts",
|
|
@@ -117,7 +117,8 @@ var init_package = __esm(() => {
|
|
|
117
117
|
dev: "bun run build && opencode",
|
|
118
118
|
"package:smoke": "node scripts/package-smoke.mjs",
|
|
119
119
|
prepare: "bun run build",
|
|
120
|
-
"repro:704": "node scripts/repro-704.mjs"
|
|
120
|
+
"repro:704": "node scripts/repro-704.mjs",
|
|
121
|
+
"repro:1144": "bun scripts/repro-1144.mjs"
|
|
121
122
|
},
|
|
122
123
|
dependencies: {
|
|
123
124
|
"@opencode-ai/plugin": "^1.1.53",
|
|
@@ -86511,20 +86512,34 @@ If you call @coder instead of @${swarmId}_coder, the call will FAIL or go to the
|
|
|
86511
86512
|
agents.push(applyOverrides(testEngineer, swarmAgents, swarmPrefix, quiet));
|
|
86512
86513
|
}
|
|
86513
86514
|
if (pluginConfig?.council?.general?.enabled === true) {
|
|
86515
|
+
let councilAgentsCreated = 0;
|
|
86514
86516
|
if (!isAgentDisabled("reviewer", swarmAgents, swarmPrefix)) {
|
|
86515
86517
|
const councilGeneralist = createReviewerAgent(getModel("reviewer"), GENERALIST_COUNCIL_PROMPT);
|
|
86516
86518
|
councilGeneralist.name = prefixName("council_generalist");
|
|
86517
86519
|
agents.push(applyOverrides(councilGeneralist, swarmAgents, swarmPrefix, quiet));
|
|
86520
|
+
councilAgentsCreated++;
|
|
86518
86521
|
}
|
|
86519
86522
|
if (!isAgentDisabled("critic", swarmAgents, swarmPrefix)) {
|
|
86520
86523
|
const councilSkeptic = createCriticAgent(getModel("critic"), SKEPTIC_COUNCIL_PROMPT);
|
|
86521
86524
|
councilSkeptic.name = prefixName("council_skeptic");
|
|
86522
86525
|
agents.push(applyOverrides(councilSkeptic, swarmAgents, swarmPrefix, quiet));
|
|
86526
|
+
councilAgentsCreated++;
|
|
86523
86527
|
}
|
|
86524
86528
|
if (!isAgentDisabled("sme", swarmAgents, swarmPrefix)) {
|
|
86525
86529
|
const councilDomainExpert = createSMEAgent(getModel("sme"), DOMAIN_EXPERT_COUNCIL_PROMPT);
|
|
86526
86530
|
councilDomainExpert.name = prefixName("council_domain_expert");
|
|
86527
86531
|
agents.push(applyOverrides(councilDomainExpert, swarmAgents, swarmPrefix, quiet));
|
|
86532
|
+
councilAgentsCreated++;
|
|
86533
|
+
}
|
|
86534
|
+
if (councilAgentsCreated < 3) {
|
|
86535
|
+
const missing = [];
|
|
86536
|
+
if (isAgentDisabled("reviewer", swarmAgents, swarmPrefix))
|
|
86537
|
+
missing.push("council_generalist (requires reviewer)");
|
|
86538
|
+
if (isAgentDisabled("critic", swarmAgents, swarmPrefix))
|
|
86539
|
+
missing.push("council_skeptic (requires critic)");
|
|
86540
|
+
if (isAgentDisabled("sme", swarmAgents, swarmPrefix))
|
|
86541
|
+
missing.push("council_domain_expert (requires sme)");
|
|
86542
|
+
addDeferredWarning(`[opencode-swarm] council.general.enabled is true but only ${councilAgentsCreated}/3 council agents could be registered because the following base agents are disabled: ${missing.join(", ")}. Re-enable those agents or accept a reduced council.`);
|
|
86528
86543
|
}
|
|
86529
86544
|
if (pluginConfig?.council?.general?.moderatorModel !== undefined) {
|
|
86530
86545
|
addDeferredWarning("[opencode-swarm] council.general.moderatorModel is deprecated and ignored. The architect now synthesizes the final answer directly using inline output rules. Remove this field (and council.general.moderator if set) from opencode-swarm.json to silence this warning.");
|
|
@@ -96167,6 +96182,21 @@ function addEdge(graph, edge) {
|
|
|
96167
96182
|
updateGraphMetadata(graph);
|
|
96168
96183
|
}
|
|
96169
96184
|
}
|
|
96185
|
+
function buildLoopEdgeKey(edge) {
|
|
96186
|
+
return `${edge.source}\x00${edge.target}\x00${edge.importSpecifier}`;
|
|
96187
|
+
}
|
|
96188
|
+
function appendNodeFast(graph, node) {
|
|
96189
|
+
validateGraphNode(node);
|
|
96190
|
+
graph.nodes[normalizeGraphPath(node.filePath)] = node;
|
|
96191
|
+
}
|
|
96192
|
+
function appendEdgeFast(graph, edge, seenEdgeKeys) {
|
|
96193
|
+
validateGraphEdge(edge);
|
|
96194
|
+
const key = buildLoopEdgeKey(edge);
|
|
96195
|
+
if (seenEdgeKeys.has(key))
|
|
96196
|
+
return;
|
|
96197
|
+
seenEdgeKeys.add(key);
|
|
96198
|
+
graph.edges.push(edge);
|
|
96199
|
+
}
|
|
96170
96200
|
function resolveModuleSpecifier(workspaceRoot, sourceFile, specifier) {
|
|
96171
96201
|
if (containsControlChars(specifier)) {
|
|
96172
96202
|
return null;
|
|
@@ -96480,13 +96510,14 @@ async function buildWorkspaceGraphAsync(workspaceRoot, options) {
|
|
|
96480
96510
|
if (stats.truncated) {
|
|
96481
96511
|
warn(`[repo-graph] Walk truncated: collected ${sourceFiles.length} files within ` + `${walkBudgetMs}ms / ${maxFiles}-file budget.`);
|
|
96482
96512
|
}
|
|
96513
|
+
const seenEdges = new Set;
|
|
96483
96514
|
let processedSinceYield = 0;
|
|
96484
96515
|
for (const filePath of sourceFiles) {
|
|
96485
96516
|
const result = scanFile(filePath, absoluteRoot, maxFileSize);
|
|
96486
96517
|
if (result.node) {
|
|
96487
|
-
|
|
96518
|
+
appendNodeFast(graph, result.node);
|
|
96488
96519
|
for (const edge of result.edges) {
|
|
96489
|
-
|
|
96520
|
+
appendEdgeFast(graph, edge, seenEdges);
|
|
96490
96521
|
}
|
|
96491
96522
|
stats.filesScanned++;
|
|
96492
96523
|
} else {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencode-swarm",
|
|
3
|
-
"version": "7.51.
|
|
3
|
+
"version": "7.51.6",
|
|
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",
|
|
@@ -48,7 +48,8 @@
|
|
|
48
48
|
"dev": "bun run build && opencode",
|
|
49
49
|
"package:smoke": "node scripts/package-smoke.mjs",
|
|
50
50
|
"prepare": "bun run build",
|
|
51
|
-
"repro:704": "node scripts/repro-704.mjs"
|
|
51
|
+
"repro:704": "node scripts/repro-704.mjs",
|
|
52
|
+
"repro:1144": "bun scripts/repro-1144.mjs"
|
|
52
53
|
},
|
|
53
54
|
"dependencies": {
|
|
54
55
|
"@opencode-ai/plugin": "^1.1.53",
|