opencode-swarm 6.40.2 → 6.40.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
@@ -18236,7 +18236,7 @@ var KnowledgeConfigSchema = exports_external.object({
18236
18236
  max_encounter_score: exports_external.number().min(1).max(20).default(10)
18237
18237
  });
18238
18238
  var CuratorConfigSchema = exports_external.object({
18239
- enabled: exports_external.boolean().default(true),
18239
+ enabled: exports_external.boolean().default(false),
18240
18240
  init_enabled: exports_external.boolean().default(true),
18241
18241
  phase_enabled: exports_external.boolean().default(true),
18242
18242
  max_summary_tokens: exports_external.number().min(500).max(8000).default(2000),
@@ -32444,16 +32444,18 @@ function formatCurationSummary(summary) {
32444
32444
  import path10 from "path";
32445
32445
 
32446
32446
  // src/tools/co-change-analyzer.ts
32447
- import { execFile } from "child_process";
32447
+ import * as child_process from "child_process";
32448
32448
  import { randomUUID } from "crypto";
32449
32449
  import { readdir, readFile as readFile2, stat } from "fs/promises";
32450
32450
  import * as path9 from "path";
32451
32451
  import { promisify } from "util";
32452
- var execFileAsync = promisify(execFile);
32452
+ function getExecFileAsync() {
32453
+ return promisify(child_process.execFile);
32454
+ }
32453
32455
  async function parseGitLog(directory, maxCommits) {
32454
32456
  const commitMap = new Map;
32455
32457
  try {
32456
- const { stdout } = await execFileAsync("git", [
32458
+ const { stdout } = await getExecFileAsync()("git", [
32457
32459
  "log",
32458
32460
  "--name-only",
32459
32461
  "--pretty=format:COMMIT:%H",
@@ -32652,7 +32654,7 @@ async function detectDarkMatter(directory, options) {
32652
32654
  const npmiThreshold = options?.npmiThreshold ?? 0.5;
32653
32655
  const maxCommitsToAnalyze = options?.maxCommitsToAnalyze ?? 500;
32654
32656
  try {
32655
- const { stdout } = await execFileAsync("git", ["rev-list", "--count", "HEAD"], {
32657
+ const { stdout } = await getExecFileAsync()("git", ["rev-list", "--count", "HEAD"], {
32656
32658
  cwd: directory,
32657
32659
  timeout: 1e4
32658
32660
  });
@@ -32812,7 +32814,7 @@ async function handleDarkMatterCommand(directory, args) {
32812
32814
  [${entries.length} dark matter finding(s) saved to .swarm/knowledge.jsonl]`;
32813
32815
  }
32814
32816
  } catch (err) {
32815
- console.warn("dark-matter: failed to save knowledge entries:", err instanceof Error ? err.message : String(err));
32817
+ console.warn("dark-matter: failed to save knowledge entries:", err);
32816
32818
  return output;
32817
32819
  }
32818
32820
  }
package/dist/index.js CHANGED
@@ -14957,7 +14957,7 @@ var init_schema = __esm(() => {
14957
14957
  max_encounter_score: exports_external.number().min(1).max(20).default(10)
14958
14958
  });
14959
14959
  CuratorConfigSchema = exports_external.object({
14960
- enabled: exports_external.boolean().default(true),
14960
+ enabled: exports_external.boolean().default(false),
14961
14961
  init_enabled: exports_external.boolean().default(true),
14962
14962
  phase_enabled: exports_external.boolean().default(true),
14963
14963
  max_summary_tokens: exports_external.number().min(500).max(8000).default(2000),
@@ -46559,16 +46559,18 @@ import path17 from "path";
46559
46559
  // src/tools/co-change-analyzer.ts
46560
46560
  init_dist();
46561
46561
  init_create_tool();
46562
- import { execFile } from "child_process";
46562
+ import * as child_process from "child_process";
46563
46563
  import { randomUUID } from "crypto";
46564
46564
  import { readdir as readdir2, readFile as readFile3, stat } from "fs/promises";
46565
46565
  import * as path16 from "path";
46566
46566
  import { promisify } from "util";
46567
- var execFileAsync = promisify(execFile);
46567
+ function getExecFileAsync() {
46568
+ return promisify(child_process.execFile);
46569
+ }
46568
46570
  async function parseGitLog(directory, maxCommits) {
46569
46571
  const commitMap = new Map;
46570
46572
  try {
46571
- const { stdout } = await execFileAsync("git", [
46573
+ const { stdout } = await getExecFileAsync()("git", [
46572
46574
  "log",
46573
46575
  "--name-only",
46574
46576
  "--pretty=format:COMMIT:%H",
@@ -46767,7 +46769,7 @@ async function detectDarkMatter(directory, options) {
46767
46769
  const npmiThreshold = options?.npmiThreshold ?? 0.5;
46768
46770
  const maxCommitsToAnalyze = options?.maxCommitsToAnalyze ?? 500;
46769
46771
  try {
46770
- const { stdout } = await execFileAsync("git", ["rev-list", "--count", "HEAD"], {
46772
+ const { stdout } = await getExecFileAsync()("git", ["rev-list", "--count", "HEAD"], {
46771
46773
  cwd: directory,
46772
46774
  timeout: 1e4
46773
46775
  });
@@ -46927,7 +46929,7 @@ async function handleDarkMatterCommand(directory, args2) {
46927
46929
  [${entries.length} dark matter finding(s) saved to .swarm/knowledge.jsonl]`;
46928
46930
  }
46929
46931
  } catch (err2) {
46930
- console.warn("dark-matter: failed to save knowledge entries:", err2 instanceof Error ? err2.message : String(err2));
46932
+ console.warn("dark-matter: failed to save knowledge entries:", err2);
46931
46933
  return output;
46932
46934
  }
46933
46935
  }
@@ -50707,7 +50709,8 @@ function createAgentActivityHooks(config3, directory) {
50707
50709
  return;
50708
50710
  swarmState.activeToolCalls.delete(input.callID);
50709
50711
  const duration5 = Date.now() - entry.startTime;
50710
- const success3 = output.success === true;
50712
+ const rawOutput = output.output;
50713
+ const success3 = rawOutput !== null && rawOutput !== undefined;
50711
50714
  const key = entry.tool;
50712
50715
  const existing = swarmState.toolAggregates.get(key) ?? {
50713
50716
  tool: key,
@@ -58730,7 +58733,7 @@ var declare_scope = createSwarmTool({
58730
58733
  });
58731
58734
  // src/tools/diff.ts
58732
58735
  init_dist();
58733
- import { execFileSync } from "child_process";
58736
+ import * as child_process2 from "child_process";
58734
58737
 
58735
58738
  // src/diff/ast-diff.ts
58736
58739
  init_tree_sitter();
@@ -59085,13 +59088,13 @@ var diff = createSwarmTool({
59085
59088
  numstatArgs.push("--", ...typedArgs.paths);
59086
59089
  fullDiffArgs.push("--", ...typedArgs.paths);
59087
59090
  }
59088
- const numstatOutput = execFileSync("git", numstatArgs, {
59091
+ const numstatOutput = child_process2.execFileSync("git", numstatArgs, {
59089
59092
  encoding: "utf-8",
59090
59093
  timeout: DIFF_TIMEOUT_MS,
59091
59094
  maxBuffer: MAX_BUFFER_BYTES,
59092
59095
  cwd: directory
59093
59096
  });
59094
- const fullDiffOutput = execFileSync("git", fullDiffArgs, {
59097
+ const fullDiffOutput = child_process2.execFileSync("git", fullDiffArgs, {
59095
59098
  encoding: "utf-8",
59096
59099
  timeout: DIFF_TIMEOUT_MS,
59097
59100
  maxBuffer: MAX_BUFFER_BYTES,
@@ -59140,23 +59143,23 @@ var diff = createSwarmTool({
59140
59143
  let oldContent;
59141
59144
  let newContent;
59142
59145
  if (base === "staged") {
59143
- oldContent = execFileSync("git", ["show", `HEAD:${file3.path}`], {
59146
+ oldContent = child_process2.execFileSync("git", ["show", `HEAD:${file3.path}`], {
59144
59147
  encoding: "utf-8",
59145
59148
  timeout: 5000,
59146
59149
  cwd: directory
59147
59150
  });
59148
- newContent = execFileSync("git", ["show", `:${file3.path}`], {
59151
+ newContent = child_process2.execFileSync("git", ["show", `:${file3.path}`], {
59149
59152
  encoding: "utf-8",
59150
59153
  timeout: 5000,
59151
59154
  cwd: directory
59152
59155
  });
59153
59156
  } else if (base === "unstaged") {
59154
- oldContent = execFileSync("git", ["show", `:${file3.path}`], {
59157
+ oldContent = child_process2.execFileSync("git", ["show", `:${file3.path}`], {
59155
59158
  encoding: "utf-8",
59156
59159
  timeout: 5000,
59157
59160
  cwd: directory
59158
59161
  });
59159
- newContent = execFileSync("git", ["show", `HEAD:${file3.path}`], {
59162
+ newContent = child_process2.execFileSync("git", ["show", `HEAD:${file3.path}`], {
59160
59163
  encoding: "utf-8",
59161
59164
  timeout: 5000,
59162
59165
  cwd: directory
@@ -59165,12 +59168,12 @@ var diff = createSwarmTool({
59165
59168
  const pathModule = await import("path");
59166
59169
  newContent = fsModule.readFileSync(pathModule.join(directory, file3.path), "utf-8");
59167
59170
  } else {
59168
- oldContent = execFileSync("git", ["show", `${base}:${file3.path}`], {
59171
+ oldContent = child_process2.execFileSync("git", ["show", `${base}:${file3.path}`], {
59169
59172
  encoding: "utf-8",
59170
59173
  timeout: 5000,
59171
59174
  cwd: directory
59172
59175
  });
59173
- newContent = execFileSync("git", ["show", `HEAD:${file3.path}`], {
59176
+ newContent = child_process2.execFileSync("git", ["show", `HEAD:${file3.path}`], {
59174
59177
  encoding: "utf-8",
59175
59178
  timeout: 5000,
59176
59179
  cwd: directory
@@ -59,3 +59,8 @@ export declare function getHandoffData(directory: string): Promise<HandoffData>;
59
59
  * Targets under 2K tokens for efficient context injection.
60
60
  */
61
61
  export declare function formatHandoffMarkdown(data: HandoffData): string;
62
+ /**
63
+ * Format handoff data as a continuation prompt for new agent sessions.
64
+ * Returns a terse markdown code block with essential context.
65
+ */
66
+ export declare function formatContinuationPrompt(data: HandoffData): string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-swarm",
3
- "version": "6.40.2",
3
+ "version": "6.40.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",