opencode-swarm 7.69.0 → 7.70.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/dist/cli/index.js +13 -4
- package/dist/config/schema.d.ts +77 -0
- package/dist/index.js +27 -7
- package/dist/tools/tool-metadata.d.ts +1 -1
- package/package.json +1 -1
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.
|
|
55
|
+
version: "7.70.0",
|
|
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",
|
|
@@ -17629,7 +17629,7 @@ var init_tool_metadata = __esm(() => {
|
|
|
17629
17629
|
},
|
|
17630
17630
|
apply_patch: {
|
|
17631
17631
|
description: "Apply a unified diff patch to workspace files with exact context matching, atomic writes, and path validation",
|
|
17632
|
-
agents: ["coder"]
|
|
17632
|
+
agents: ["coder", "test_engineer"]
|
|
17633
17633
|
},
|
|
17634
17634
|
external_skill_discover: {
|
|
17635
17635
|
description: "Discover external skill candidates from configured sources. Returns a disabled message when external_skills.curation_enabled is false.",
|
|
@@ -17968,7 +17968,7 @@ function resolveExternalSkillsConfig(input) {
|
|
|
17968
17968
|
};
|
|
17969
17969
|
return merged;
|
|
17970
17970
|
}
|
|
17971
|
-
var SEPARATORS, CANONICAL_ROLES_LONGEST_FIRST, CANONICAL_ROLES_SET, AgentOverrideConfigSchema, SwarmConfigSchema, HooksConfigSchema, ScoringWeightsSchema, DecisionDecaySchema, TokenRatiosSchema, ScoringConfigSchema, ContextBudgetConfigSchema, EvidenceConfigSchema, GateFeatureSchema, PlaceholderScanConfigSchema, QualityBudgetConfigSchema, GateConfigSchema, PipelineConfigSchema, PhaseCompleteConfigSchema, SummaryConfigSchema, ReviewPassesConfigSchema, AdversarialDetectionConfigSchema, AdversarialTestingConfigSchemaBase, AdversarialTestingConfigSchema, IntegrationAnalysisConfigSchema, DocsConfigSchema, DesignDocsConfigSchema, UIReviewConfigSchema, CompactionAdvisoryConfigSchema, LintConfigSchema, SecretscanConfigSchema, GuardrailsProfileSchema, DEFAULT_AGENT_PROFILES, DEFAULT_ARCHITECT_PROFILE, GuardrailsConfigSchema, WatchdogConfigSchema, SelfReviewConfigSchema, ToolFilterConfigSchema, PlanCursorConfigSchema, ContextMapConfigSchema, CheckpointConfigSchema, AutomationModeSchema, AutomationCapabilitiesSchema, AutomationConfigSchemaBase, AutomationConfigSchema, KnowledgeConfigSchema, MemoryConfigSchema, CuratorConfigSchema, ArchitecturalSupervisionConfigSchema, KnowledgeApplicationConfigSchema, SkillPropagationConfigSchema, SkillImproverConfigSchema, SpecWriterConfigSchema, SlopDetectorConfigSchema, IncrementalVerifyConfigSchema, CompactionConfigSchema, PrmConfigSchema, AgentAuthorityRuleSchema, AuthorityConfigSchema, GeneralCouncilMemberConfigSchema, GeneralCouncilConfigSchema, CouncilConfigSchema, PrMonitorConfigSchema, ParallelizationConfigSchema, WorktreeIsolationConfigSchema, LeanTurboConfigSchema, StandardTurboConfigSchema, LeanTurboStrategyConfigSchema, TurboConfigSchema, ExternalSkillCandidateSourceTypeSchema, ExternalSkillCandidateEvaluationVerdictSchema, DiscoverySourceSchema, ExternalSkillCandidateSchema, ExternalSkillsConfigSchema, DEFAULT_EXTERNAL_SKILLS_CONFIG, PluginConfigSchema;
|
|
17971
|
+
var SEPARATORS, CANONICAL_ROLES_LONGEST_FIRST, CANONICAL_ROLES_SET, AgentReasoningConfigSchema, AgentThinkingConfigSchema, AgentOverrideConfigSchema, SwarmConfigSchema, HooksConfigSchema, ScoringWeightsSchema, DecisionDecaySchema, TokenRatiosSchema, ScoringConfigSchema, ContextBudgetConfigSchema, EvidenceConfigSchema, GateFeatureSchema, PlaceholderScanConfigSchema, QualityBudgetConfigSchema, GateConfigSchema, PipelineConfigSchema, PhaseCompleteConfigSchema, SummaryConfigSchema, ReviewPassesConfigSchema, AdversarialDetectionConfigSchema, AdversarialTestingConfigSchemaBase, AdversarialTestingConfigSchema, IntegrationAnalysisConfigSchema, DocsConfigSchema, DesignDocsConfigSchema, UIReviewConfigSchema, CompactionAdvisoryConfigSchema, LintConfigSchema, SecretscanConfigSchema, GuardrailsProfileSchema, DEFAULT_AGENT_PROFILES, DEFAULT_ARCHITECT_PROFILE, GuardrailsConfigSchema, WatchdogConfigSchema, SelfReviewConfigSchema, ToolFilterConfigSchema, PlanCursorConfigSchema, ContextMapConfigSchema, CheckpointConfigSchema, AutomationModeSchema, AutomationCapabilitiesSchema, AutomationConfigSchemaBase, AutomationConfigSchema, KnowledgeConfigSchema, MemoryConfigSchema, CuratorConfigSchema, ArchitecturalSupervisionConfigSchema, KnowledgeApplicationConfigSchema, SkillPropagationConfigSchema, SkillImproverConfigSchema, SpecWriterConfigSchema, SlopDetectorConfigSchema, IncrementalVerifyConfigSchema, CompactionConfigSchema, PrmConfigSchema, AgentAuthorityRuleSchema, AuthorityConfigSchema, GeneralCouncilMemberConfigSchema, GeneralCouncilConfigSchema, CouncilConfigSchema, PrMonitorConfigSchema, ParallelizationConfigSchema, WorktreeIsolationConfigSchema, LeanTurboConfigSchema, StandardTurboConfigSchema, LeanTurboStrategyConfigSchema, TurboConfigSchema, ExternalSkillCandidateSourceTypeSchema, ExternalSkillCandidateEvaluationVerdictSchema, DiscoverySourceSchema, ExternalSkillCandidateSchema, ExternalSkillsConfigSchema, DEFAULT_EXTERNAL_SKILLS_CONFIG, PluginConfigSchema;
|
|
17972
17972
|
var init_schema = __esm(() => {
|
|
17973
17973
|
init_zod();
|
|
17974
17974
|
init_constants();
|
|
@@ -17977,12 +17977,21 @@ var init_schema = __esm(() => {
|
|
|
17977
17977
|
...ALL_AGENT_NAMES
|
|
17978
17978
|
].sort((a, b) => b.length - a.length);
|
|
17979
17979
|
CANONICAL_ROLES_SET = new Set(ALL_AGENT_NAMES);
|
|
17980
|
+
AgentReasoningConfigSchema = exports_external.object({
|
|
17981
|
+
effort: exports_external.enum(["low", "medium", "high", "max"]).optional()
|
|
17982
|
+
});
|
|
17983
|
+
AgentThinkingConfigSchema = exports_external.object({
|
|
17984
|
+
type: exports_external.enum(["enabled", "disabled"]).optional(),
|
|
17985
|
+
budget_tokens: exports_external.number().int().positive().optional()
|
|
17986
|
+
});
|
|
17980
17987
|
AgentOverrideConfigSchema = exports_external.object({
|
|
17981
17988
|
model: exports_external.string().optional(),
|
|
17982
17989
|
variant: exports_external.string().min(1).optional(),
|
|
17983
17990
|
temperature: exports_external.number().min(0).max(2).optional(),
|
|
17984
17991
|
disabled: exports_external.boolean().optional(),
|
|
17985
|
-
fallback_models: exports_external.array(exports_external.string()).max(3).optional()
|
|
17992
|
+
fallback_models: exports_external.array(exports_external.string()).max(3).optional(),
|
|
17993
|
+
reasoning: AgentReasoningConfigSchema.optional(),
|
|
17994
|
+
thinking: AgentThinkingConfigSchema.optional()
|
|
17986
17995
|
});
|
|
17987
17996
|
SwarmConfigSchema = exports_external.object({
|
|
17988
17997
|
name: exports_external.string().optional(),
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -66,12 +66,44 @@ export declare function resolveGeneratedAgentRole(agentName: string, generatedAg
|
|
|
66
66
|
* extractor matches.
|
|
67
67
|
*/
|
|
68
68
|
export declare function stripKnownSwarmPrefix(agentName: string): string;
|
|
69
|
+
export declare const AgentReasoningConfigSchema: z.ZodObject<{
|
|
70
|
+
effort: z.ZodOptional<z.ZodEnum<{
|
|
71
|
+
low: "low";
|
|
72
|
+
medium: "medium";
|
|
73
|
+
high: "high";
|
|
74
|
+
max: "max";
|
|
75
|
+
}>>;
|
|
76
|
+
}, z.core.$strip>;
|
|
77
|
+
export type AgentReasoningConfig = z.infer<typeof AgentReasoningConfigSchema>;
|
|
78
|
+
export declare const AgentThinkingConfigSchema: z.ZodObject<{
|
|
79
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
80
|
+
enabled: "enabled";
|
|
81
|
+
disabled: "disabled";
|
|
82
|
+
}>>;
|
|
83
|
+
budget_tokens: z.ZodOptional<z.ZodNumber>;
|
|
84
|
+
}, z.core.$strip>;
|
|
85
|
+
export type AgentThinkingConfig = z.infer<typeof AgentThinkingConfigSchema>;
|
|
69
86
|
export declare const AgentOverrideConfigSchema: z.ZodObject<{
|
|
70
87
|
model: z.ZodOptional<z.ZodString>;
|
|
71
88
|
variant: z.ZodOptional<z.ZodString>;
|
|
72
89
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
73
90
|
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
74
91
|
fallback_models: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
92
|
+
reasoning: z.ZodOptional<z.ZodObject<{
|
|
93
|
+
effort: z.ZodOptional<z.ZodEnum<{
|
|
94
|
+
low: "low";
|
|
95
|
+
medium: "medium";
|
|
96
|
+
high: "high";
|
|
97
|
+
max: "max";
|
|
98
|
+
}>>;
|
|
99
|
+
}, z.core.$strip>>;
|
|
100
|
+
thinking: z.ZodOptional<z.ZodObject<{
|
|
101
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
102
|
+
enabled: "enabled";
|
|
103
|
+
disabled: "disabled";
|
|
104
|
+
}>>;
|
|
105
|
+
budget_tokens: z.ZodOptional<z.ZodNumber>;
|
|
106
|
+
}, z.core.$strip>>;
|
|
75
107
|
}, z.core.$strip>;
|
|
76
108
|
export type AgentOverrideConfig = z.infer<typeof AgentOverrideConfigSchema>;
|
|
77
109
|
export declare const SwarmConfigSchema: z.ZodObject<{
|
|
@@ -82,6 +114,21 @@ export declare const SwarmConfigSchema: z.ZodObject<{
|
|
|
82
114
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
83
115
|
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
84
116
|
fallback_models: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
117
|
+
reasoning: z.ZodOptional<z.ZodObject<{
|
|
118
|
+
effort: z.ZodOptional<z.ZodEnum<{
|
|
119
|
+
low: "low";
|
|
120
|
+
medium: "medium";
|
|
121
|
+
high: "high";
|
|
122
|
+
max: "max";
|
|
123
|
+
}>>;
|
|
124
|
+
}, z.core.$strip>>;
|
|
125
|
+
thinking: z.ZodOptional<z.ZodObject<{
|
|
126
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
127
|
+
enabled: "enabled";
|
|
128
|
+
disabled: "disabled";
|
|
129
|
+
}>>;
|
|
130
|
+
budget_tokens: z.ZodOptional<z.ZodNumber>;
|
|
131
|
+
}, z.core.$strip>>;
|
|
85
132
|
}, z.core.$strip>>>;
|
|
86
133
|
}, z.core.$strip>;
|
|
87
134
|
export type SwarmConfig = z.infer<typeof SwarmConfigSchema>;
|
|
@@ -1146,6 +1193,21 @@ export declare const PluginConfigSchema: z.ZodObject<{
|
|
|
1146
1193
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
1147
1194
|
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
1148
1195
|
fallback_models: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1196
|
+
reasoning: z.ZodOptional<z.ZodObject<{
|
|
1197
|
+
effort: z.ZodOptional<z.ZodEnum<{
|
|
1198
|
+
low: "low";
|
|
1199
|
+
medium: "medium";
|
|
1200
|
+
high: "high";
|
|
1201
|
+
max: "max";
|
|
1202
|
+
}>>;
|
|
1203
|
+
}, z.core.$strip>>;
|
|
1204
|
+
thinking: z.ZodOptional<z.ZodObject<{
|
|
1205
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
1206
|
+
enabled: "enabled";
|
|
1207
|
+
disabled: "disabled";
|
|
1208
|
+
}>>;
|
|
1209
|
+
budget_tokens: z.ZodOptional<z.ZodNumber>;
|
|
1210
|
+
}, z.core.$strip>>;
|
|
1149
1211
|
}, z.core.$strip>>>;
|
|
1150
1212
|
default_agent: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string | undefined, string | undefined>>;
|
|
1151
1213
|
auto_select_architect: z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>, z.ZodTransform<string | boolean | undefined, string | boolean | undefined>>;
|
|
@@ -1157,6 +1219,21 @@ export declare const PluginConfigSchema: z.ZodObject<{
|
|
|
1157
1219
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
1158
1220
|
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
1159
1221
|
fallback_models: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1222
|
+
reasoning: z.ZodOptional<z.ZodObject<{
|
|
1223
|
+
effort: z.ZodOptional<z.ZodEnum<{
|
|
1224
|
+
low: "low";
|
|
1225
|
+
medium: "medium";
|
|
1226
|
+
high: "high";
|
|
1227
|
+
max: "max";
|
|
1228
|
+
}>>;
|
|
1229
|
+
}, z.core.$strip>>;
|
|
1230
|
+
thinking: z.ZodOptional<z.ZodObject<{
|
|
1231
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
1232
|
+
enabled: "enabled";
|
|
1233
|
+
disabled: "disabled";
|
|
1234
|
+
}>>;
|
|
1235
|
+
budget_tokens: z.ZodOptional<z.ZodNumber>;
|
|
1236
|
+
}, z.core.$strip>>;
|
|
1160
1237
|
}, z.core.$strip>>>;
|
|
1161
1238
|
}, z.core.$strip>>>;
|
|
1162
1239
|
max_iterations: z.ZodDefault<z.ZodNumber>;
|
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.
|
|
72
|
+
version: "7.70.0",
|
|
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",
|
|
@@ -706,7 +706,7 @@ var init_tool_metadata = __esm(() => {
|
|
|
706
706
|
},
|
|
707
707
|
apply_patch: {
|
|
708
708
|
description: "Apply a unified diff patch to workspace files with exact context matching, atomic writes, and path validation",
|
|
709
|
-
agents: ["coder"]
|
|
709
|
+
agents: ["coder", "test_engineer"]
|
|
710
710
|
},
|
|
711
711
|
external_skill_discover: {
|
|
712
712
|
description: "Discover external skill candidates from configured sources. Returns a disabled message when external_skills.curation_enabled is false.",
|
|
@@ -15336,7 +15336,7 @@ function resolveExternalSkillsConfig(input) {
|
|
|
15336
15336
|
};
|
|
15337
15337
|
return merged;
|
|
15338
15338
|
}
|
|
15339
|
-
var _internals, SEPARATORS, CANONICAL_ROLES_LONGEST_FIRST, CANONICAL_ROLES_SET, AgentOverrideConfigSchema, SwarmConfigSchema, HooksConfigSchema, ScoringWeightsSchema, DecisionDecaySchema, TokenRatiosSchema, ScoringConfigSchema, ContextBudgetConfigSchema, EvidenceConfigSchema, GateFeatureSchema, PlaceholderScanConfigSchema, QualityBudgetConfigSchema, GateConfigSchema, PipelineConfigSchema, PhaseCompleteConfigSchema, SummaryConfigSchema, ReviewPassesConfigSchema, AdversarialDetectionConfigSchema, AdversarialTestingConfigSchemaBase, AdversarialTestingConfigSchema, IntegrationAnalysisConfigSchema, DocsConfigSchema, DesignDocsConfigSchema, UIReviewConfigSchema, CompactionAdvisoryConfigSchema, LintConfigSchema, SecretscanConfigSchema, GuardrailsProfileSchema, DEFAULT_AGENT_PROFILES, DEFAULT_ARCHITECT_PROFILE, GuardrailsConfigSchema, WatchdogConfigSchema, SelfReviewConfigSchema, ToolFilterConfigSchema, PlanCursorConfigSchema, ContextMapConfigSchema, CheckpointConfigSchema, AutomationModeSchema, AutomationCapabilitiesSchema, AutomationConfigSchemaBase, AutomationConfigSchema, KnowledgeConfigSchema, MemoryConfigSchema, CuratorConfigSchema, ArchitecturalSupervisionConfigSchema, KnowledgeApplicationConfigSchema, SkillPropagationConfigSchema, SkillImproverConfigSchema, SpecWriterConfigSchema, SlopDetectorConfigSchema, IncrementalVerifyConfigSchema, CompactionConfigSchema, PrmConfigSchema, AgentAuthorityRuleSchema, AuthorityConfigSchema, GeneralCouncilMemberConfigSchema, GeneralCouncilConfigSchema, CouncilConfigSchema, PrMonitorConfigSchema, ParallelizationConfigSchema, WorktreeIsolationConfigSchema, LeanTurboConfigSchema, StandardTurboConfigSchema, LeanTurboStrategyConfigSchema, TurboConfigSchema, ExternalSkillCandidateSourceTypeSchema, ExternalSkillCandidateEvaluationVerdictSchema, DiscoverySourceSchema, ExternalSkillCandidateSchema, ExternalSkillsConfigSchema, DEFAULT_EXTERNAL_SKILLS_CONFIG, PluginConfigSchema;
|
|
15339
|
+
var _internals, SEPARATORS, CANONICAL_ROLES_LONGEST_FIRST, CANONICAL_ROLES_SET, AgentReasoningConfigSchema, AgentThinkingConfigSchema, AgentOverrideConfigSchema, SwarmConfigSchema, HooksConfigSchema, ScoringWeightsSchema, DecisionDecaySchema, TokenRatiosSchema, ScoringConfigSchema, ContextBudgetConfigSchema, EvidenceConfigSchema, GateFeatureSchema, PlaceholderScanConfigSchema, QualityBudgetConfigSchema, GateConfigSchema, PipelineConfigSchema, PhaseCompleteConfigSchema, SummaryConfigSchema, ReviewPassesConfigSchema, AdversarialDetectionConfigSchema, AdversarialTestingConfigSchemaBase, AdversarialTestingConfigSchema, IntegrationAnalysisConfigSchema, DocsConfigSchema, DesignDocsConfigSchema, UIReviewConfigSchema, CompactionAdvisoryConfigSchema, LintConfigSchema, SecretscanConfigSchema, GuardrailsProfileSchema, DEFAULT_AGENT_PROFILES, DEFAULT_ARCHITECT_PROFILE, GuardrailsConfigSchema, WatchdogConfigSchema, SelfReviewConfigSchema, ToolFilterConfigSchema, PlanCursorConfigSchema, ContextMapConfigSchema, CheckpointConfigSchema, AutomationModeSchema, AutomationCapabilitiesSchema, AutomationConfigSchemaBase, AutomationConfigSchema, KnowledgeConfigSchema, MemoryConfigSchema, CuratorConfigSchema, ArchitecturalSupervisionConfigSchema, KnowledgeApplicationConfigSchema, SkillPropagationConfigSchema, SkillImproverConfigSchema, SpecWriterConfigSchema, SlopDetectorConfigSchema, IncrementalVerifyConfigSchema, CompactionConfigSchema, PrmConfigSchema, AgentAuthorityRuleSchema, AuthorityConfigSchema, GeneralCouncilMemberConfigSchema, GeneralCouncilConfigSchema, CouncilConfigSchema, PrMonitorConfigSchema, ParallelizationConfigSchema, WorktreeIsolationConfigSchema, LeanTurboConfigSchema, StandardTurboConfigSchema, LeanTurboStrategyConfigSchema, TurboConfigSchema, ExternalSkillCandidateSourceTypeSchema, ExternalSkillCandidateEvaluationVerdictSchema, DiscoverySourceSchema, ExternalSkillCandidateSchema, ExternalSkillsConfigSchema, DEFAULT_EXTERNAL_SKILLS_CONFIG, PluginConfigSchema;
|
|
15340
15340
|
var init_schema = __esm(() => {
|
|
15341
15341
|
init_zod();
|
|
15342
15342
|
init_constants();
|
|
@@ -15350,12 +15350,21 @@ var init_schema = __esm(() => {
|
|
|
15350
15350
|
...ALL_AGENT_NAMES
|
|
15351
15351
|
].sort((a, b) => b.length - a.length);
|
|
15352
15352
|
CANONICAL_ROLES_SET = new Set(ALL_AGENT_NAMES);
|
|
15353
|
+
AgentReasoningConfigSchema = exports_external.object({
|
|
15354
|
+
effort: exports_external.enum(["low", "medium", "high", "max"]).optional()
|
|
15355
|
+
});
|
|
15356
|
+
AgentThinkingConfigSchema = exports_external.object({
|
|
15357
|
+
type: exports_external.enum(["enabled", "disabled"]).optional(),
|
|
15358
|
+
budget_tokens: exports_external.number().int().positive().optional()
|
|
15359
|
+
});
|
|
15353
15360
|
AgentOverrideConfigSchema = exports_external.object({
|
|
15354
15361
|
model: exports_external.string().optional(),
|
|
15355
15362
|
variant: exports_external.string().min(1).optional(),
|
|
15356
15363
|
temperature: exports_external.number().min(0).max(2).optional(),
|
|
15357
15364
|
disabled: exports_external.boolean().optional(),
|
|
15358
|
-
fallback_models: exports_external.array(exports_external.string()).max(3).optional()
|
|
15365
|
+
fallback_models: exports_external.array(exports_external.string()).max(3).optional(),
|
|
15366
|
+
reasoning: AgentReasoningConfigSchema.optional(),
|
|
15367
|
+
thinking: AgentThinkingConfigSchema.optional()
|
|
15359
15368
|
});
|
|
15360
15369
|
SwarmConfigSchema = exports_external.object({
|
|
15361
15370
|
name: exports_external.string().optional(),
|
|
@@ -90292,19 +90301,21 @@ YOUR TOOLS: {{YOUR_TOOLS}}
|
|
|
90292
90301
|
CODER'S TOOLS: write, edit, patch, apply_patch, create_file, insert, replace — any tool that modifies file contents.
|
|
90293
90302
|
If a tool modifies a file, it is a CODER tool. Delegate.
|
|
90294
90303
|
<!-- BEHAVIORAL_GUIDANCE_START -->
|
|
90295
|
-
1a. SCOPE DISCIPLINE — call declare_scope BEFORE every coder delegation.
|
|
90304
|
+
1a. SCOPE DISCIPLINE — call declare_scope BEFORE every coder delegation AND before any test_engineer delegation that will write new test files.
|
|
90296
90305
|
- Before you delegate a coding task, call declare_scope with { taskId, files } where \`files\` is the exact list of paths the coder is allowed to write. Bundle any generated/lockfile paths that the change will produce (e.g. package-lock.json, Cargo.lock, dist/*).
|
|
90297
|
-
-
|
|
90306
|
+
- Before you delegate to test_engineer with an instruction to CREATE or MODIFY test files, call declare_scope with { taskId, files } listing the exact test file path(s) (e.g. src/auth/login.test.ts, tests/unit/foo.spec.ts) the test_engineer is expected to write.
|
|
90307
|
+
- If coder or test_engineer returns "WRITE BLOCKED" for a path outside the declared list: call declare_scope again with the missing path added. Do NOT instruct the coder to use bash, sed, echo, cat, tee, dd, or any interpreter eval (python -c, node -e, bun -e, ruby -e) to bypass the block. Those routes bypass the authority check and violate scope discipline.
|
|
90298
90308
|
- Never wrap a file write in eval, bash -c, sh -c, a subshell, or a heredoc-to-file redirect. Those are bash workarounds and are banned even when scope appears to permit them — the write-authority guard is tool-scoped; bash is unguarded and must not be used as a write path.
|
|
90299
90309
|
- Do NOT use mv, Move-Item, move, ren, Rename-Item, or cp-then-rm chains to relocate, rename, or delete files under \`.swarm/\` as a workaround for blocked destructive commands. Those are file-move shell bypasses and are banned. Use the tool's dedicated tools (\`.swarm/\` file management or evidence manager tools) instead.
|
|
90300
90310
|
- If you cannot enumerate files up front (e.g. a broad refactor), declare the containing directories — declare_scope accepts directory entries and grants containment.
|
|
90301
|
-
- Rationale: declare_scope persists the allowed set to disk (.swarm/scopes/scope-\${taskId}.json) so it survives cross-process delegation. Without a call, the coder process reads an empty scope and every Edit/Write is denied.
|
|
90311
|
+
- Rationale: declare_scope persists the allowed set to disk (.swarm/scopes/scope-\${taskId}.json) so it survives cross-process delegation. Without a call, the coder or test_engineer process reads an empty scope and every Edit/Write is denied.
|
|
90302
90312
|
<!-- BEHAVIORAL_GUIDANCE_END -->
|
|
90303
90313
|
2. ONE agent per message. Send, STOP, wait for response.
|
|
90304
90314
|
Exception: Stage B reviewer/test_engineer gate agents for the SAME completed coder task may be dispatched together before waiting when both gates are required.
|
|
90305
90315
|
This exception NEVER applies to coder delegations. Preserve ONE task per coder call.
|
|
90306
90316
|
3. ONE task per {{AGENT_PREFIX}}coder call. Never batch.
|
|
90307
90317
|
3a. PRE-DELEGATION SCOPE CALL (required): BEFORE every {{AGENT_PREFIX}}coder delegation, you MUST call \`declare_scope\` with { taskId, files } listing the exact file(s) this task will modify (including generated/lockfile paths). No \`declare_scope\` call → no coder delegation. See Rule 1a.
|
|
90318
|
+
3b. PRE-DELEGATION SCOPE CALL (test_engineer): BEFORE any {{AGENT_PREFIX}}test_engineer delegation that will CREATE or MODIFY test files, you MUST call \`declare_scope\` with { taskId, files } listing the exact test file path(s) to write. Omitting this call leaves the write scope undeclared and will block the write. See Rule 1a.
|
|
90308
90319
|
<!-- BEHAVIORAL_GUIDANCE_START -->
|
|
90309
90320
|
BATCHING DETECTION — you are batching if your coder delegation contains ANY of:
|
|
90310
90321
|
- The word "and" connecting two actions ("update X AND add Y")
|
|
@@ -93531,6 +93542,15 @@ function applyOverrides(agent, swarmAgents, swarmPrefix, quiet) {
|
|
|
93531
93542
|
} else if (variantOverride !== undefined) {
|
|
93532
93543
|
agent.config.variant = variantOverride;
|
|
93533
93544
|
}
|
|
93545
|
+
const baseAgentName = stripSwarmPrefix(agent.name, swarmPrefix);
|
|
93546
|
+
const reasoningOverride = swarmAgents?.[baseAgentName]?.reasoning;
|
|
93547
|
+
if (reasoningOverride !== undefined) {
|
|
93548
|
+
agent.config.reasoning = reasoningOverride;
|
|
93549
|
+
}
|
|
93550
|
+
const thinkingOverride = swarmAgents?.[baseAgentName]?.thinking;
|
|
93551
|
+
if (thinkingOverride !== undefined) {
|
|
93552
|
+
agent.config.thinking = thinkingOverride;
|
|
93553
|
+
}
|
|
93534
93554
|
return agent;
|
|
93535
93555
|
}
|
|
93536
93556
|
function createSwarmAgents(swarmId, swarmConfig, isDefault, pluginConfig, projectContext = emptyProjectContext()) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencode-swarm",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.70.0",
|
|
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",
|