opencode-swarm 7.4.1 → 7.4.3

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
@@ -34,7 +34,7 @@ var package_default;
34
34
  var init_package = __esm(() => {
35
35
  package_default = {
36
36
  name: "opencode-swarm",
37
- version: "7.4.1",
37
+ version: "7.4.3",
38
38
  description: "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
39
39
  main: "dist/index.js",
40
40
  types: "dist/index.d.ts",
package/dist/index.js CHANGED
@@ -33,7 +33,7 @@ var package_default;
33
33
  var init_package = __esm(() => {
34
34
  package_default = {
35
35
  name: "opencode-swarm",
36
- version: "7.4.1",
36
+ version: "7.4.3",
37
37
  description: "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
38
38
  main: "dist/index.js",
39
39
  types: "dist/index.d.ts",
@@ -23146,7 +23146,8 @@ function extractIncompleteTasksFromPlan(plan, maxChars = 500) {
23146
23146
  return null;
23147
23147
  const lines = incomplete.map((t) => {
23148
23148
  const deps = t.depends.length > 0 ? ` (depends: ${t.depends.join(", ")})` : "";
23149
- return `- [ ] ${t.id}: ${t.description} [${t.size.toUpperCase()}]${deps}`;
23149
+ const marker = t.status === "in_progress" ? " ← CURRENT" : "";
23150
+ return `- [ ] ${t.id}: ${t.description} [${t.size.toUpperCase()}]${deps}${marker}`;
23150
23151
  });
23151
23152
  const text = lines.join(`
23152
23153
  `);
@@ -65939,6 +65940,7 @@ function createCcCommandInterceptHook(config3 = {}) {
65939
65940
  }
65940
65941
  // src/hooks/compaction-customizer.ts
65941
65942
  init_manager();
65943
+ init_state();
65942
65944
  init_utils2();
65943
65945
  import * as fs33 from "node:fs";
65944
65946
  import { join as join45 } from "node:path";
@@ -65995,6 +65997,7 @@ function createCompactionCustomizerHook(config3, directory) {
65995
65997
  }
65996
65998
  } catch {}
65997
65999
  output.context.push("[KNOWLEDGE TOOLS] You have persistent knowledge tools: knowledge_recall (search for relevant past decisions), knowledge_add (store a new lesson), knowledge_remove (delete outdated entries). Use knowledge_recall when past context would help.");
66000
+ await buildRehydrationCache(directory);
65998
66001
  })
65999
66002
  };
66000
66003
  }
@@ -90116,52 +90119,53 @@ async function ensureSwarmGitExcluded(directory, options = {}) {
90116
90119
  _swarmGitExcludedChecked = true;
90117
90120
  const { quiet = false } = options;
90118
90121
  try {
90119
- const gitRootProc = _internals.bunSpawn(["git", "-C", directory, "rev-parse", "--show-toplevel"], GIT_SPAWN_OPTIONS);
90120
- let gitRootExitCode;
90121
- let gitRootOutput;
90122
- try {
90123
- [gitRootExitCode, gitRootOutput] = await Promise.all([
90124
- gitRootProc.exited,
90125
- gitRootProc.stdout.text()
90126
- ]);
90127
- } finally {
90128
- try {
90129
- gitRootProc.kill();
90130
- } catch {}
90131
- }
90122
+ const [
90123
+ [gitRootExitCode, gitRootOutput],
90124
+ [excludePathExitCode, excludePathRaw],
90125
+ checkIgnoreExitCode
90126
+ ] = await Promise.all([
90127
+ (async () => {
90128
+ const proc = _internals.bunSpawn(["git", "-C", directory, "rev-parse", "--show-toplevel"], GIT_SPAWN_OPTIONS);
90129
+ try {
90130
+ return await Promise.all([proc.exited, proc.stdout.text()]);
90131
+ } finally {
90132
+ try {
90133
+ proc.kill();
90134
+ } catch {}
90135
+ }
90136
+ })(),
90137
+ (async () => {
90138
+ const proc = _internals.bunSpawn(["git", "-C", directory, "rev-parse", "--git-path", "info/exclude"], GIT_SPAWN_OPTIONS);
90139
+ try {
90140
+ return await Promise.all([proc.exited, proc.stdout.text()]);
90141
+ } finally {
90142
+ try {
90143
+ proc.kill();
90144
+ } catch {}
90145
+ }
90146
+ })(),
90147
+ (async () => {
90148
+ const proc = _internals.bunSpawn(["git", "-C", directory, "check-ignore", "-q", ".swarm/.gitkeep"], GIT_SPAWN_OPTIONS);
90149
+ try {
90150
+ return await proc.exited;
90151
+ } finally {
90152
+ try {
90153
+ proc.kill();
90154
+ } catch {}
90155
+ }
90156
+ })()
90157
+ ]);
90132
90158
  if (gitRootExitCode !== 0)
90133
90159
  return;
90134
90160
  const gitRoot = gitRootOutput.trim();
90135
90161
  if (!gitRoot)
90136
90162
  return;
90137
- const excludePathProc = _internals.bunSpawn(["git", "-C", directory, "rev-parse", "--git-path", "info/exclude"], GIT_SPAWN_OPTIONS);
90138
- let excludePathExitCode;
90139
- let excludePathRaw;
90140
- try {
90141
- [excludePathExitCode, excludePathRaw] = await Promise.all([
90142
- excludePathProc.exited,
90143
- excludePathProc.stdout.text()
90144
- ]);
90145
- } finally {
90146
- try {
90147
- excludePathProc.kill();
90148
- } catch {}
90149
- }
90150
90163
  if (excludePathExitCode !== 0)
90151
90164
  return;
90152
90165
  const excludeRelPath = excludePathRaw.trim();
90153
90166
  if (!excludeRelPath)
90154
90167
  return;
90155
90168
  const excludePath = path104.isAbsolute(excludeRelPath) ? excludeRelPath : path104.join(directory, excludeRelPath);
90156
- const checkIgnoreProc = _internals.bunSpawn(["git", "-C", directory, "check-ignore", "-q", ".swarm/.gitkeep"], GIT_SPAWN_OPTIONS);
90157
- let checkIgnoreExitCode;
90158
- try {
90159
- checkIgnoreExitCode = await checkIgnoreProc.exited;
90160
- } finally {
90161
- try {
90162
- checkIgnoreProc.kill();
90163
- } catch {}
90164
- }
90165
90169
  if (checkIgnoreExitCode !== 0) {
90166
90170
  try {
90167
90171
  fs84.mkdirSync(path104.dirname(excludePath), { recursive: true });
@@ -90290,7 +90294,7 @@ async function validateDiffScope(taskId, directory) {
90290
90294
  const changedFiles = await getChangedFiles(directory);
90291
90295
  if (!changedFiles)
90292
90296
  return null;
90293
- const nonSwarmFiles = changedFiles.filter((f) => !f.replace(/\\/g, "/").startsWith(".swarm/"));
90297
+ const nonSwarmFiles = changedFiles.filter((f) => !f.replace(/\\/g, "/").replace(/^\.\//, "").startsWith(".swarm/"));
90294
90298
  const normalise = (p) => p.replace(/\\/g, "/").replace(/^\.\//, "");
90295
90299
  const normScope = new Set(declaredScope.map(normalise));
90296
90300
  const undeclared = nonSwarmFiles.map(normalise).filter((f) => !normScope.has(f));
package/dist/state.d.ts CHANGED
@@ -470,7 +470,8 @@ export declare function _resetCouncilDisagreementWarnings(): void;
470
470
  */
471
471
  /**
472
472
  * Reads plan.json + evidence/*.json from the project directory and populates the
473
- * module-level _rehydrationCache. Called once at plugin init by loadSnapshot().
473
+ * module-level _rehydrationCache. Called at plugin init by loadSnapshot() and
474
+ * refreshed after compaction by the compaction hook (src/hooks/compaction-customizer.ts).
474
475
  * Non-fatal: missing/malformed files leave an empty cache.
475
476
  */
476
477
  export declare function buildRehydrationCache(directory: string): Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-swarm",
3
- "version": "7.4.1",
3
+ "version": "7.4.3",
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",