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 +8 -6
- package/dist/index.js +19 -16
- package/dist/services/handoff-service.d.ts +5 -0
- package/package.json +1 -1
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(
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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(
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
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",
|