opencode-swarm 7.125.3 → 7.125.4
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/{curator-llm-factory-yq5vf298.js → curator-llm-factory-0hncnz9t.js} +1 -1
- package/dist/cli/{curator-arwm18td.js → curator-n6whbm4r.js} +1 -1
- package/dist/cli/{guardrail-explain-mscq3veq.js → guardrail-explain-8gknrsbb.js} +2 -2
- package/dist/cli/{hive-promoter-q79naynh.js → hive-promoter-mpjq0fw9.js} +1 -1
- package/dist/cli/{index-m5e00g9s.js → index-7xg876np.js} +29 -16
- package/dist/cli/{index-7p6jkkat.js → index-hr2kzcem.js} +2 -2
- package/dist/cli/{index-x8entmky.js → index-jkwyjr8x.js} +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/hooks/delegation-gate.d.ts +35 -0
- package/dist/hooks/shell-write-detect.d.ts +1 -1
- package/dist/index.js +30 -24
- package/dist/session/snapshot-writer.d.ts +9 -0
- package/dist/state.d.ts +15 -0
- package/dist/turbo/lean/reviewer.d.ts +2 -1
- package/dist/turbo/lean/runner.d.ts +2 -1
- package/dist/utils/model-dispatch-fallback.d.ts +71 -0
- package/dist/utils/provider-error-classification.d.ts +52 -0
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
handleGuardrailExplain
|
|
4
|
-
} from "./index-
|
|
5
|
-
import"./index-
|
|
4
|
+
} from "./index-jkwyjr8x.js";
|
|
5
|
+
import"./index-7xg876np.js";
|
|
6
6
|
import"./index-xezv6tdw.js";
|
|
7
7
|
import"./index-pk099nqv.js";
|
|
8
8
|
import"./index-kk1scggc.js";
|
|
@@ -12133,11 +12133,11 @@ var _internals15 = {
|
|
|
12133
12133
|
}
|
|
12134
12134
|
},
|
|
12135
12135
|
applyCuratorKnowledgeUpdates: async (directory, recommendations, knowledgeConfig, generation) => {
|
|
12136
|
-
const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-
|
|
12136
|
+
const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-n6whbm4r.js");
|
|
12137
12137
|
return applyCuratorKnowledgeUpdates2(directory, recommendations, knowledgeConfig, generation);
|
|
12138
12138
|
},
|
|
12139
12139
|
checkHivePromotions: async (entries, knowledgeConfig, directory) => {
|
|
12140
|
-
const { checkHivePromotions } = await import("./hive-promoter-
|
|
12140
|
+
const { checkHivePromotions } = await import("./hive-promoter-mpjq0fw9.js");
|
|
12141
12141
|
return checkHivePromotions(entries, knowledgeConfig, directory);
|
|
12142
12142
|
},
|
|
12143
12143
|
applyProposalTriage: async (directory, triage) => {
|
|
@@ -20004,8 +20004,8 @@ var _internals28 = {
|
|
|
20004
20004
|
loadCuratorDeps: async () => {
|
|
20005
20005
|
const [{ CuratorConfigSchema }, curator, { createCuratorLLMDelegate: createCuratorLLMDelegate2 }] = await Promise.all([
|
|
20006
20006
|
import("./schema-bw68my66.js"),
|
|
20007
|
-
import("./curator-
|
|
20008
|
-
import("./curator-llm-factory-
|
|
20007
|
+
import("./curator-n6whbm4r.js"),
|
|
20008
|
+
import("./curator-llm-factory-0hncnz9t.js")
|
|
20009
20009
|
]);
|
|
20010
20010
|
return { CuratorConfigSchema, curator, createCuratorLLMDelegate: createCuratorLLMDelegate2 };
|
|
20011
20011
|
}
|
|
@@ -20504,7 +20504,7 @@ import { fileURLToPath } from "url";
|
|
|
20504
20504
|
// package.json
|
|
20505
20505
|
var package_default = {
|
|
20506
20506
|
name: "opencode-swarm",
|
|
20507
|
-
version: "7.125.
|
|
20507
|
+
version: "7.125.4",
|
|
20508
20508
|
description: "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
|
|
20509
20509
|
main: "dist/index.js",
|
|
20510
20510
|
types: "dist/index.d.ts",
|
|
@@ -28574,6 +28574,12 @@ function serializeAgentSession(s) {
|
|
|
28574
28574
|
},
|
|
28575
28575
|
...s.cachedCohortId !== undefined && {
|
|
28576
28576
|
cachedCohortId: s.cachedCohortId
|
|
28577
|
+
},
|
|
28578
|
+
...s.lastObservedModel !== undefined && {
|
|
28579
|
+
lastObservedModel: s.lastObservedModel
|
|
28580
|
+
},
|
|
28581
|
+
...s.lastObservedProviderID !== undefined && {
|
|
28582
|
+
lastObservedProviderID: s.lastObservedProviderID
|
|
28577
28583
|
}
|
|
28578
28584
|
};
|
|
28579
28585
|
}
|
|
@@ -41010,7 +41016,7 @@ function buildDetailedHelp(commandName, entry) {
|
|
|
41010
41016
|
async function handleHelpCommand(ctx) {
|
|
41011
41017
|
const targetCommand = ctx.args.join(" ");
|
|
41012
41018
|
if (!targetCommand) {
|
|
41013
|
-
const { buildHelpText } = await import("./index-
|
|
41019
|
+
const { buildHelpText } = await import("./index-hr2kzcem.js");
|
|
41014
41020
|
return buildHelpText();
|
|
41015
41021
|
}
|
|
41016
41022
|
const tokens = targetCommand.split(/\s+/);
|
|
@@ -41019,7 +41025,7 @@ async function handleHelpCommand(ctx) {
|
|
|
41019
41025
|
return _internals62.buildDetailedHelp(resolved.key, resolved.entry);
|
|
41020
41026
|
}
|
|
41021
41027
|
const similar = _internals62.findSimilarCommands(targetCommand);
|
|
41022
|
-
const { buildHelpText: fullHelp } = await import("./index-
|
|
41028
|
+
const { buildHelpText: fullHelp } = await import("./index-hr2kzcem.js");
|
|
41023
41029
|
if (similar.length > 0) {
|
|
41024
41030
|
return `Command '/swarm ${targetCommand}' not found.
|
|
41025
41031
|
|
|
@@ -41158,7 +41164,7 @@ var COMMAND_REGISTRY = {
|
|
|
41158
41164
|
},
|
|
41159
41165
|
"guardrail explain": {
|
|
41160
41166
|
handler: async (ctx) => {
|
|
41161
|
-
const { handleGuardrailExplain } = await import("./guardrail-explain-
|
|
41167
|
+
const { handleGuardrailExplain } = await import("./guardrail-explain-8gknrsbb.js");
|
|
41162
41168
|
return handleGuardrailExplain(ctx.directory, ctx.args);
|
|
41163
41169
|
},
|
|
41164
41170
|
description: "Dry-run: show what the guardrails would do to a command or write target (executes nothing)",
|
|
@@ -41168,7 +41174,7 @@ var COMMAND_REGISTRY = {
|
|
|
41168
41174
|
},
|
|
41169
41175
|
"guardrail-explain": {
|
|
41170
41176
|
handler: async (ctx) => {
|
|
41171
|
-
const { handleGuardrailExplain } = await import("./guardrail-explain-
|
|
41177
|
+
const { handleGuardrailExplain } = await import("./guardrail-explain-8gknrsbb.js");
|
|
41172
41178
|
return handleGuardrailExplain(ctx.directory, ctx.args);
|
|
41173
41179
|
},
|
|
41174
41180
|
description: "Dry-run: show what the guardrails would do to a command or write target (executes nothing)",
|
|
@@ -44447,6 +44453,17 @@ init_constants();
|
|
|
44447
44453
|
init_schema();
|
|
44448
44454
|
init_logger();
|
|
44449
44455
|
|
|
44456
|
+
// src/utils/provider-error-classification.ts
|
|
44457
|
+
var TRANSIENT_STATUS_CODES = new Set([
|
|
44458
|
+
408,
|
|
44459
|
+
429,
|
|
44460
|
+
500,
|
|
44461
|
+
502,
|
|
44462
|
+
503,
|
|
44463
|
+
504,
|
|
44464
|
+
529
|
|
44465
|
+
]);
|
|
44466
|
+
|
|
44450
44467
|
// src/hooks/guardrails/destructive-command.ts
|
|
44451
44468
|
import * as fsSync3 from "fs";
|
|
44452
44469
|
import * as path83 from "path";
|
|
@@ -44788,9 +44805,6 @@ init_schema();
|
|
|
44788
44805
|
// src/hooks/model-limits.ts
|
|
44789
44806
|
var loggedFirstCalls = new Set;
|
|
44790
44807
|
|
|
44791
|
-
// src/hooks/guardrails/messages-transform.ts
|
|
44792
|
-
var TRANSIENT_STATUS_CODES = new Set([408, 429, 500, 502, 503, 504, 529]);
|
|
44793
|
-
|
|
44794
44808
|
// src/hooks/guardrails/nontransient-circuit.ts
|
|
44795
44809
|
init_schema();
|
|
44796
44810
|
var IMMEDIATE_HARD_STOP_CATEGORIES = new Set([
|
|
@@ -45552,9 +45566,9 @@ function detectInterpreterEval(cmd) {
|
|
|
45552
45566
|
return [];
|
|
45553
45567
|
const suffixWords = getSuffixWords(cmd);
|
|
45554
45568
|
const evalFlags = {
|
|
45555
|
-
python: ["-c"
|
|
45556
|
-
python3: ["-c"
|
|
45557
|
-
python2: ["-c"
|
|
45569
|
+
python: ["-c"],
|
|
45570
|
+
python3: ["-c"],
|
|
45571
|
+
python2: ["-c"],
|
|
45558
45572
|
node: ["-e", "-p", "-pe"],
|
|
45559
45573
|
bun: ["-e", "-p", "-pe"],
|
|
45560
45574
|
ruby: ["-e"],
|
|
@@ -46497,7 +46511,6 @@ var SPEC_DRIFT_BLOCKED_TOOLS = new Set([
|
|
|
46497
46511
|
"lean_turbo_run_phase",
|
|
46498
46512
|
"lean_turbo_acquire_locks"
|
|
46499
46513
|
]);
|
|
46500
|
-
var TRANSIENT_STATUS_CODES2 = new Set([408, 429, 500, 502, 503, 504, 529]);
|
|
46501
46514
|
var toolCallsSinceLastWrite = new Map;
|
|
46502
46515
|
var noOpWarningIssued = new Set;
|
|
46503
46516
|
// src/hooks/delegation-gate.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
handleGuardrailExplain
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-jkwyjr8x.js";
|
|
5
5
|
import {
|
|
6
6
|
handleGuardrailLog
|
|
7
7
|
} from "./index-4ycq2mrp.js";
|
|
@@ -83,7 +83,7 @@ import {
|
|
|
83
83
|
handleWriteRetroCommand,
|
|
84
84
|
normalizeSwarmCommandInput,
|
|
85
85
|
resolveCommand
|
|
86
|
-
} from "./index-
|
|
86
|
+
} from "./index-7xg876np.js";
|
|
87
87
|
import"./index-xezv6tdw.js";
|
|
88
88
|
import"./index-pk099nqv.js";
|
|
89
89
|
import"./index-kk1scggc.js";
|
package/dist/cli/index.js
CHANGED
|
@@ -189,8 +189,42 @@ export declare function extractSpecRequirementBodyById(specText: string, id: str
|
|
|
189
189
|
* fold is symmetric (both sides go through this one function), so it can only
|
|
190
190
|
* REDUCE false-blocks — it never opens a bypass, since covered/uncovered still
|
|
191
191
|
* differ by whole words, not punctuation.
|
|
192
|
+
*
|
|
193
|
+
* Issue #1896: encoding tolerance. Canonicalizes Unicode via NFC first (so a
|
|
194
|
+
* decomposed accent vs its composed form compare equal — same text, different
|
|
195
|
+
* byte encoding), and folds the section sign `§` (U+00A7) — and the common
|
|
196
|
+
* Latin-1 mojibake `§` a non-UTF-8 web save produces — to the spaced word token
|
|
197
|
+
* " section " so `§4.2`, `§ 4.2`, `§ 4.2`, and `section 4.2` all compare equal.
|
|
198
|
+
* Both additions are symmetric and information-preserving, so they can only
|
|
199
|
+
* reduce false-blocks. A literal `??` (U+003F run, from a save that DESTROYED the
|
|
200
|
+
* `§`) is NOT recoverable here — the coverage-miss diagnostic surfaces it instead.
|
|
192
201
|
*/
|
|
193
202
|
export declare function normalizeAcceptanceText(s: string): string;
|
|
203
|
+
/**
|
|
204
|
+
* Issue #1896: bounded, diagnostic description of WHY an ACCEPTANCE text failed
|
|
205
|
+
* to cover a requirement body. The coverage check is a SUBSTRING match
|
|
206
|
+
* (`acceptance.includes(body)`), so "first divergence" is defined against the
|
|
207
|
+
* best-aligning window: the longest prefix of the normalized expected body that
|
|
208
|
+
* still appears as a substring of the normalized acceptance. `divergenceOffset`
|
|
209
|
+
* is the length of that matched prefix; the snippets show the expected text at
|
|
210
|
+
* the break and the acceptance text where the match ran out. All scans and
|
|
211
|
+
* snippets are capped so this stays O(1)-bounded on large spec bodies. When the
|
|
212
|
+
* raw (pre-normalization) text carries mojibake markers (a `??` run, U+FFFD, or a
|
|
213
|
+
* Latin-1 `Â`-prefixed byte), a corruption hint is attached — this is the signal
|
|
214
|
+
* that unblocks the destroyed-`§`-as-`??` case the diagnostic exists for.
|
|
215
|
+
*/
|
|
216
|
+
export interface CoverageMissDiagnostic {
|
|
217
|
+
expectedSnippet: string;
|
|
218
|
+
foundSnippet: string;
|
|
219
|
+
divergenceOffset: number;
|
|
220
|
+
corruptionHint?: string;
|
|
221
|
+
}
|
|
222
|
+
export declare function describeCoverageMiss(params: {
|
|
223
|
+
rawExpectedBody: string;
|
|
224
|
+
rawAcceptanceText: string;
|
|
225
|
+
normalizedExpected: string;
|
|
226
|
+
normalizedAcceptance: string;
|
|
227
|
+
}): CoverageMissDiagnostic;
|
|
194
228
|
/**
|
|
195
229
|
* FR-001/FR-002/FR-005/SC-001/SC-002/SC-006 (issue #1687): mechanical coverage
|
|
196
230
|
* check that the ACCEPTANCE text CONTAINS the verbatim requirement body for each
|
|
@@ -213,6 +247,7 @@ export declare function checkAcceptanceCoversFrRefs(params: {
|
|
|
213
247
|
}): {
|
|
214
248
|
covered: boolean;
|
|
215
249
|
missingId?: string;
|
|
250
|
+
diagnostic?: CoverageMissDiagnostic;
|
|
216
251
|
};
|
|
217
252
|
interface MessageInfo {
|
|
218
253
|
role: string;
|
|
@@ -70,7 +70,7 @@ export declare function detectInteractiveSession(command: string, shell: 'posix'
|
|
|
70
70
|
* - Redirection operators: >, >>, >|, <<, <<- (here-docs)
|
|
71
71
|
* - Write-effect builtins: cp, mv, install, ln, truncate, dd (of=)
|
|
72
72
|
* - In-place editors: sed -i, perl -i, awk -i
|
|
73
|
-
* - Interpreter eval: python -c
|
|
73
|
+
* - Interpreter eval: python -c, node -e, bun -e, ruby -e, perl -e, php -r
|
|
74
74
|
* - Network downloaders: curl -o, wget -O, scp
|
|
75
75
|
* - Archive extraction: tar -x, unzip, gunzip
|
|
76
76
|
* - Git destructive: git checkout --, git restore, git reset --hard, git clean -fd
|