opencode-swarm 6.82.0 → 6.82.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.
Files changed (2) hide show
  1. package/dist/index.js +4 -4
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -23545,7 +23545,7 @@ function createGuardrailsHooks(directory, directoryOrConfig, config2, authorityC
23545
23545
  const planMdPath = path9.resolve(effectiveDirectory, ".swarm", "plan.md").toLowerCase();
23546
23546
  const planJsonPath = path9.resolve(effectiveDirectory, ".swarm", "plan.json").toLowerCase();
23547
23547
  if (resolvedTarget === planMdPath || resolvedTarget === planJsonPath) {
23548
- throw new Error("PLAN STATE VIOLATION: Direct writes to .swarm/plan.md and .swarm/plan.json are blocked. " + "plan.md is auto-regenerated from plan.json by PlanSyncWorker. " + "Use update_task_status() to mark tasks complete, " + "phase_complete() for phase transitions, or " + "save_plan to create/restructure plans.");
23548
+ throw new Error("PLAN STATE VIOLATION: Direct writes to .swarm/plan.md and .swarm/plan.json are blocked. " + "plan.md is auto-regenerated from plan.json by PlanSyncWorker. " + "Use save_plan for ALL structural plan changes (adding/removing tasks, updating descriptions, dependencies, or phase names). " + "Use update_task_status() for task status only. " + "Use phase_complete() for phase transitions only.");
23549
23549
  }
23550
23550
  }
23551
23551
  if (!targetPath && (tool === "apply_patch" || tool === "patch")) {
@@ -23554,7 +23554,7 @@ function createGuardrailsHooks(directory, directoryOrConfig, config2, authorityC
23554
23554
  const planMdPath = path9.resolve(effectiveDirectory, ".swarm", "plan.md").toLowerCase();
23555
23555
  const planJsonPath = path9.resolve(effectiveDirectory, ".swarm", "plan.json").toLowerCase();
23556
23556
  if (resolvedP.toLowerCase() === planMdPath || resolvedP.toLowerCase() === planJsonPath) {
23557
- throw new Error("PLAN STATE VIOLATION: Direct writes to .swarm/plan.md and .swarm/plan.json are blocked. " + "plan.md is auto-regenerated from plan.json by PlanSyncWorker. " + "Use update_task_status() to mark tasks complete, " + "phase_complete() for phase transitions, or " + "save_plan to create/restructure plans.");
23557
+ throw new Error("PLAN STATE VIOLATION: Direct writes to .swarm/plan.md and .swarm/plan.json are blocked. " + "plan.md is auto-regenerated from plan.json by PlanSyncWorker. " + "Use save_plan for ALL structural plan changes (adding/removing tasks, updating descriptions, dependencies, or phase names). " + "Use update_task_status() for task status only. " + "Use phase_complete() for phase transitions only.");
23558
23558
  }
23559
23559
  if (isOutsideSwarmDir(p, effectiveDirectory) && (isSourceCodePath(p) || hasTraversalSegments(p))) {
23560
23560
  const session = swarmState.agentSessions.get(sessionID);
@@ -54521,7 +54521,7 @@ The correct tools: save_plan to create or restructure a plan (writes plan.json \
54521
54521
  .swarm/plan.md and .swarm/plan.json are READABLE but NOT DIRECTLY WRITABLE for state transitions.
54522
54522
  Task-level status changes (marking individual tasks as "completed") must use update_task_status().
54523
54523
  Phase-level completion (marking an entire phase as done) must use phase_complete().
54524
- You may write to plan.md/plan.json for STRUCTURAL changes (adding tasks, updating descriptions).
54524
+ For STRUCTURAL changes (adding tasks, updating descriptions, changing dependencies), use save_plan \u2014 do NOT write plan.md/plan.json directly.
54525
54525
  You may NOT write to plan.md/plan.json to change task completion status or phase status directly.
54526
54526
  "I'll just mark it done directly" is a bypass \u2014 equivalent to GATE_DELEGATION_BYPASS.
54527
54527
 
@@ -82217,7 +82217,7 @@ async function executeSavePlan(args2, fallbackDir) {
82217
82217
  }
82218
82218
  }
82219
82219
  var save_plan = createSwarmTool({
82220
- description: "Save a structured implementation plan to .swarm/plan.json and .swarm/plan.md. " + "Task descriptions and phase names MUST contain real content from the spec \u2014 " + "bracket placeholders like [task] or [Project] will be rejected.",
82220
+ description: "Save or revise a structured implementation plan to .swarm/plan.json and .swarm/plan.md. " + "Use this tool for all structural plan changes on an existing plan (adding/removing tasks, updating descriptions, dependencies, or phase names) \u2014 existing task statuses are preserved by default (set reset_statuses: true to start fresh). " + "Task descriptions and phase names MUST contain real content from the spec \u2014 " + "bracket placeholders like [task] or [Project] will be rejected.",
82221
82221
  args: {
82222
82222
  title: tool.schema.string().min(1).describe("Plan title \u2014 the REAL project name from the spec. NOT a placeholder like [Project]."),
82223
82223
  swarm_id: tool.schema.string().min(1).describe('Swarm identifier (e.g. "mega")'),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-swarm",
3
- "version": "6.82.0",
3
+ "version": "6.82.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",