opencode-swarm 6.84.7 → 6.85.1

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 CHANGED
@@ -45227,13 +45227,17 @@ async function install() {
45227
45227
  \uD83D\uDE80 Installation complete!`);
45228
45228
  console.log(`
45229
45229
  Next steps:`);
45230
- console.log("1. Edit the plugin config to customize models and settings");
45231
- console.log('2. Run "opencode" to start using the swarm');
45232
- console.log("3. The Architect agent will orchestrate your requests");
45230
+ console.log('1. Run "opencode" in your project directory');
45231
+ console.log("2. Select the Architect agent in the OpenCode agent/mode dropdown");
45232
+ console.log("3. Ask it anything \u2014 the Architect coordinates all other agents automatically");
45233
+ console.log("4. Run /swarm diagnose inside OpenCode to confirm the plugin loaded");
45234
+ console.log(" (also try: /swarm agents /swarm config)");
45233
45235
  console.log(`
45234
- \uD83D\uDCD6 SME agent:`);
45235
- console.log(" The SME agent supports any domain \u2014 the Architect determines");
45236
- console.log(" what expertise is needed and requests it dynamically.");
45236
+ \uD83D\uDCA1 Model configuration:`);
45237
+ console.log(` Global config: ${PLUGIN_CONFIG_PATH}`);
45238
+ console.log(" Project override: .opencode/opencode-swarm.json (create in your project root)");
45239
+ console.log(" On first OpenCode startup, .swarm/config.example.json will be written to your project root");
45240
+ console.log(" \u2014 use it as a reference for customizing model assignments.");
45237
45241
  return 0;
45238
45242
  }
45239
45243
  async function uninstall() {
package/dist/index.js CHANGED
@@ -62828,6 +62828,7 @@ var init_curator_drift = __esm(() => {
62828
62828
 
62829
62829
  // src/index.ts
62830
62830
  init_agents();
62831
+ import * as fs88 from "fs";
62831
62832
  import * as path104 from "path";
62832
62833
 
62833
62834
  // src/background/index.ts
@@ -88178,6 +88179,26 @@ ${footerLines.join(`
88178
88179
 
88179
88180
  // src/index.ts
88180
88181
  var _heartbeatTimers = new Map;
88182
+ function writeSwarmConfigExampleIfNew(projectDirectory) {
88183
+ try {
88184
+ const swarmDir = path104.join(projectDirectory, ".swarm");
88185
+ const dest = path104.join(swarmDir, "config.example.json");
88186
+ if (fs88.existsSync(dest))
88187
+ return;
88188
+ const example = {
88189
+ agents: Object.fromEntries(Object.entries(DEFAULT_MODELS).filter(([name2]) => name2 !== "default").map(([name2, model]) => [
88190
+ name2,
88191
+ {
88192
+ model,
88193
+ fallback_models: ["opencode/gpt-5-nano", "opencode/big-pickle"]
88194
+ }
88195
+ ])),
88196
+ max_iterations: 5
88197
+ };
88198
+ fs88.writeFileSync(dest, `${JSON.stringify(example, null, 2)}
88199
+ `, "utf-8");
88200
+ } catch {}
88201
+ }
88181
88202
  var OpenCodeSwarm = async (ctx) => {
88182
88203
  const { config: config3, loadedFromFile } = loadPluginConfigWithMeta(ctx.directory);
88183
88204
  if (config3.full_auto?.enabled === true) {
@@ -88191,6 +88212,7 @@ var OpenCodeSwarm = async (ctx) => {
88191
88212
  swarmState.opencodeClient = ctx.client;
88192
88213
  await loadSnapshot(ctx.directory);
88193
88214
  initTelemetry(ctx.directory);
88215
+ writeSwarmConfigExampleIfNew(ctx.directory);
88194
88216
  warnIfSwarmNotGitignored(ctx.directory);
88195
88217
  const repoGraphHook = createRepoGraphBuilderHook(ctx.directory);
88196
88218
  repoGraphHook.init().catch(() => {});
@@ -88693,7 +88715,15 @@ var OpenCodeSwarm = async (ctx) => {
88693
88715
  } catch {}
88694
88716
  return Promise.resolve();
88695
88717
  },
88696
- automationConfig.capabilities?.phase_preflight === true && preflightTriggerManager ? createPhaseMonitorHook(ctx.directory, preflightTriggerManager, undefined, (sessionId) => createCuratorLLMDelegate(ctx.directory, "init", sessionId)) : knowledgeConfig.enabled ? createPhaseMonitorHook(ctx.directory, undefined, undefined, (sessionId) => createCuratorLLMDelegate(ctx.directory, "init", sessionId)) : undefined
88718
+ automationConfig.capabilities?.phase_preflight === true && preflightTriggerManager ? createPhaseMonitorHook(ctx.directory, preflightTriggerManager, undefined, (sessionId) => createCuratorLLMDelegate(ctx.directory, "init", sessionId)) : knowledgeConfig.enabled ? createPhaseMonitorHook(ctx.directory, undefined, undefined, (sessionId) => createCuratorLLMDelegate(ctx.directory, "init", sessionId)) : undefined,
88719
+ (_input, output) => {
88720
+ if (Array.isArray(output.system) && output.system.length > 1) {
88721
+ output.system = [output.system.join(`
88722
+
88723
+ `)];
88724
+ }
88725
+ return Promise.resolve();
88726
+ }
88697
88727
  ].filter(Boolean)),
88698
88728
  "experimental.session.compacting": compactionHook["experimental.session.compacting"],
88699
88729
  "command.execute.before": safeHook(commandHandler),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-swarm",
3
- "version": "6.84.7",
3
+ "version": "6.85.1",
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",