opencode-swarm 7.195.0 → 7.196.0
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/README.md +1 -1
- package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
- package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
- package/dist/cli/{auto-checkpoint-anf21wwa.js → auto-checkpoint-f00tk7sc.js} +4 -4
- package/dist/cli/{checkpoint-ngdw2qx2.js → checkpoint-acztxqga.js} +8 -8
- package/dist/cli/{coder-settlement-bqb059y2.js → coder-settlement-0ka4n1xf.js} +3 -3
- package/dist/cli/{config-doctor-vetg215g.js → config-doctor-qv7wc6fa.js} +7 -7
- package/dist/cli/{core-8qgvsm6x.js → core-dmn3arr1.js} +1 -1
- package/dist/cli/{curator-hh0n9wgz.js → curator-891pc8b7.js} +25 -25
- package/dist/cli/{curator-drift-3gjycbkv.js → curator-drift-sxzs48ew.js} +5 -5
- package/dist/cli/{curator-llm-factory-d17ybmgm.js → curator-llm-factory-cvrt4bf9.js} +25 -25
- package/dist/cli/{doctor-knowledge-receipt-phase-id-1d465vkg.js → doctor-knowledge-receipt-phase-id-mvbj576e.js} +4 -4
- package/dist/cli/{evidence-summary-service-rkd3yc5x.js → evidence-summary-service-x9nxvmn5.js} +9 -9
- package/dist/cli/{gate-evidence-wtjrerkh.js → gate-evidence-dxd20wrc.js} +2 -2
- package/dist/cli/{guardrail-explain-8xh3r0dn.js → guardrail-explain-fga9bnvt.js} +26 -26
- package/dist/cli/{guardrail-log-jrey2myg.js → guardrail-log-y84b9m8n.js} +3 -3
- package/dist/cli/{guardrail-reset-m5qbg30j.js → guardrail-reset-xpcsxyt0.js} +25 -25
- package/dist/cli/{hive-promoter-36yhdfre.js → hive-promoter-w1vchgfr.js} +25 -25
- package/dist/cli/{index-1hcjxz6w.js → index-174j0g38.js} +2 -2
- package/dist/cli/{index-780g1hht.js → index-2grr37ry.js} +1 -1
- package/dist/cli/{index-xs9cn3c0.js → index-31b55cq9.js} +3 -3
- package/dist/cli/{index-479kf368.js → index-391ydd25.js} +1 -1
- package/dist/cli/{index-kmvy5fr8.js → index-3drq02r1.js} +1 -1
- package/dist/cli/{index-jatgbm7k.js → index-3hpjqa6y.js} +1 -1
- package/dist/cli/{index-yryy781f.js → index-41p9zzpe.js} +3 -3
- package/dist/cli/{index-h7275akd.js → index-4cazf4kb.js} +27 -27
- package/dist/cli/{index-gz16dke1.js → index-7gqmqhzj.js} +6 -6
- package/dist/cli/{index-fk4j26km.js → index-7zkgdefv.js} +3 -3
- package/dist/cli/{index-82aj6gaj.js → index-8bsnnnj2.js} +2 -2
- package/dist/cli/{index-7kbpzg05.js → index-bjaef5zn.js} +63 -63
- package/dist/cli/{index-gns3gc87.js → index-hjma52c8.js} +3 -3
- package/dist/cli/{index-5gf2wx2c.js → index-jnjvghgp.js} +4 -4
- package/dist/cli/{index-8448vj9w.js → index-knxq5byr.js} +1 -1
- package/dist/cli/{index-bftpd2m5.js → index-mt5t492g.js} +2 -2
- package/dist/cli/{index-jn4mmhqc.js → index-nqxbqb50.js} +1 -1
- package/dist/cli/{index-9teqkkp4.js → index-nrqyc8pr.js} +25 -25
- package/dist/cli/{index-c6hyd8hg.js → index-ppnpkww2.js} +1 -1
- package/dist/cli/{index-bpq6z8qe.js → index-psqfkgav.js} +3 -3
- package/dist/cli/{index-peyz4k9k.js → index-ryjp0wmq.js} +1 -1
- package/dist/cli/{index-863hst4e.js → index-sgt1d7ez.js} +1 -1
- package/dist/cli/{index-z59414gv.js → index-svbh91pz.js} +1 -1
- package/dist/cli/{index-akb436kn.js → index-t5med3ga.js} +1 -1
- package/dist/cli/{index-c4hx57tz.js → index-te61qv0q.js} +2 -2
- package/dist/cli/{index-epdzvp4w.js → index-tjc68trf.js} +5 -5
- package/dist/cli/{index-6vpqe4ws.js → index-tzasccpd.js} +1 -1
- package/dist/cli/{index-3k65kdfp.js → index-vsa05smc.js} +1 -1
- package/dist/cli/{index-ha8xc5d3.js → index-w3mav870.js} +2 -2
- package/dist/cli/{index-tc8x0zc5.js → index-wscg5ryb.js} +1 -1
- package/dist/cli/index.js +26 -26
- package/dist/cli/{knowledge-escalator-6sgrjbcj.js → knowledge-escalator-2dy96d0j.js} +7 -7
- package/dist/cli/{knowledge-events-hztjt63y.js → knowledge-events-70kb745b.js} +5 -5
- package/dist/cli/{knowledge-store-3sd2034v.js → knowledge-store-hvq03g0j.js} +1 -1
- package/dist/cli/{knowledge-validator-3fe82zy4.js → knowledge-validator-eaatcnkr.js} +2 -2
- package/dist/cli/{mcp-spbx3efe.js → mcp-bj3awdfy.js} +1 -1
- package/dist/cli/{model-preflight-k2bw7rt1.js → model-preflight-skhq4xtr.js} +25 -25
- package/dist/cli/{pending-delegations-kcvd9t41.js → pending-delegations-yamzv468.js} +2 -2
- package/dist/cli/{pr-subscriptions-nqby87en.js → pr-subscriptions-hkzd0nr4.js} +1 -1
- package/dist/cli/{pr-workflow-gate-cgbc0x1z.js → pr-workflow-gate-2gmznmj4.js} +25 -25
- package/dist/cli/{scan-cursor-sphr9phs.js → scan-cursor-arezehhk.js} +2 -2
- package/dist/cli/{schema-x892aatt.js → schema-emx6r32d.js} +1 -1
- package/dist/cli/{scope-persistence-n9xksct2.js → scope-persistence-tvr8w7ea.js} +5 -5
- package/dist/cli/{server-am2y11yn.js → server-ez03wdw9.js} +25 -25
- package/dist/cli/{skill-generator-p71b6h5k.js → skill-generator-w0jy1mpc.js} +8 -8
- package/dist/cli/{snapshot-coordination-init-x9b4t9sk.js → snapshot-coordination-init-2x56ds8a.js} +25 -25
- package/dist/cli/{speckit-checkoff-xp9vsp9k.js → speckit-checkoff-c2e5wezr.js} +3 -3
- package/dist/cli/{worktree-collision-ownership-2pmyww6g.js → worktree-collision-ownership-1bgcea0v.js} +2 -2
- package/dist/cli/{worktree-isolation-379tmkta.js → worktree-isolation-9xp4dz41.js} +25 -25
- package/dist/commands/registry.d.ts +1 -1
- package/dist/epic/start.d.ts +5 -4
- package/dist/host/v2/agents-commands.d.ts +13 -3
- package/dist/index.js +81 -78
- package/dist/sbom/detectors/index.d.ts +15 -0
- package/dist/tools/sbom-generate.d.ts +1 -1
- package/package.json +1 -1
|
@@ -8,14 +8,14 @@ import {
|
|
|
8
8
|
protectedRoots,
|
|
9
9
|
redactDecisionLineForArchive,
|
|
10
10
|
stableCanonicalStringify
|
|
11
|
-
} from "./index-
|
|
11
|
+
} from "./index-t5med3ga.js";
|
|
12
12
|
import {
|
|
13
13
|
detectStraySwarmDirs,
|
|
14
14
|
readDoctorArtifact,
|
|
15
15
|
removeStraySwarmDir,
|
|
16
16
|
resolvePlanParallelizationFlag,
|
|
17
17
|
runConfigDoctor
|
|
18
|
-
} from "./index-
|
|
18
|
+
} from "./index-hjma52c8.js";
|
|
19
19
|
import {
|
|
20
20
|
archiveEvidence,
|
|
21
21
|
checkRequirementCoverage,
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
sanitizeTaskId,
|
|
28
28
|
saveEvidence,
|
|
29
29
|
validateProjectRoot
|
|
30
|
-
} from "./index-
|
|
30
|
+
} from "./index-2grr37ry.js";
|
|
31
31
|
import {
|
|
32
32
|
JAVA_SYMBOL_GRAMMAR,
|
|
33
33
|
LANGUAGE_REGISTRY,
|
|
@@ -89,7 +89,7 @@ import {
|
|
|
89
89
|
alreadyCuratedThisGeneration,
|
|
90
90
|
claimNextScanBatch,
|
|
91
91
|
resolveCohortId
|
|
92
|
-
} from "./index-
|
|
92
|
+
} from "./index-knxq5byr.js";
|
|
93
93
|
import {
|
|
94
94
|
CURATOR_CONSOLIDATION_PROMPT,
|
|
95
95
|
CURATOR_INIT_PROMPT,
|
|
@@ -108,13 +108,13 @@ import {
|
|
|
108
108
|
getGroupCommitWriter,
|
|
109
109
|
importLegacyJsonl,
|
|
110
110
|
readPriorDriftReports
|
|
111
|
-
} from "./index-
|
|
111
|
+
} from "./index-sgt1d7ez.js";
|
|
112
112
|
import {
|
|
113
113
|
assertNoUnsettledCoderDispatch,
|
|
114
114
|
listCoderSettlementWalStates,
|
|
115
115
|
recoverCoderSettlement,
|
|
116
116
|
recoverStaleCoderSettlements
|
|
117
|
-
} from "./index-
|
|
117
|
+
} from "./index-7zkgdefv.js";
|
|
118
118
|
import {
|
|
119
119
|
BUNDLED_PROJECT_SKILL_ROOT,
|
|
120
120
|
DEFAULT_SKILL_MIN_CONFIDENCE,
|
|
@@ -135,11 +135,11 @@ import {
|
|
|
135
135
|
retireSkill,
|
|
136
136
|
selectCandidateEntries,
|
|
137
137
|
syncBundledProjectSkillsIfMissingAsync
|
|
138
|
-
} from "./index-
|
|
138
|
+
} from "./index-41p9zzpe.js";
|
|
139
139
|
import {
|
|
140
140
|
buildEscalationBriefing,
|
|
141
141
|
readRecentEscalations
|
|
142
|
-
} from "./index-
|
|
142
|
+
} from "./index-7gqmqhzj.js";
|
|
143
143
|
import {
|
|
144
144
|
parsePorcelainV2Snapshot,
|
|
145
145
|
resolveCommitCountSince,
|
|
@@ -223,7 +223,7 @@ import {
|
|
|
223
223
|
swarmOverwriteCandidates,
|
|
224
224
|
trackedDirtyCandidates,
|
|
225
225
|
transientBackoff
|
|
226
|
-
} from "./index-
|
|
226
|
+
} from "./index-31b55cq9.js";
|
|
227
227
|
import {
|
|
228
228
|
EPIC_MODE_CONFIG_DISABLED_MESSAGE,
|
|
229
229
|
PlanRecoverySupersededError,
|
|
@@ -255,7 +255,7 @@ import {
|
|
|
255
255
|
updateEpicRecord,
|
|
256
256
|
updateTaskStatus,
|
|
257
257
|
withPlanLifecycleLock
|
|
258
|
-
} from "./index-
|
|
258
|
+
} from "./index-tjc68trf.js";
|
|
259
259
|
import {
|
|
260
260
|
containsControlChars,
|
|
261
261
|
containsPathTraversal,
|
|
@@ -271,7 +271,7 @@ import {
|
|
|
271
271
|
resolveSpeckitProjection,
|
|
272
272
|
validateSpeckit,
|
|
273
273
|
writeProjectedSpecSync
|
|
274
|
-
} from "./index-
|
|
274
|
+
} from "./index-ryjp0wmq.js";
|
|
275
275
|
import {
|
|
276
276
|
clearWorktreeMergeStatus,
|
|
277
277
|
getAllWorktreeMergeFailures,
|
|
@@ -303,7 +303,7 @@ import {
|
|
|
303
303
|
transitionTaskWorkflowEvidenceWithStatus,
|
|
304
304
|
withTaskEvidenceTransaction,
|
|
305
305
|
writeWorkflowWalFile
|
|
306
|
-
} from "./index-
|
|
306
|
+
} from "./index-3drq02r1.js";
|
|
307
307
|
import {
|
|
308
308
|
isPathUnderSwarmWorktreeBase,
|
|
309
309
|
listLiveLaneOwners,
|
|
@@ -312,7 +312,7 @@ import {
|
|
|
312
312
|
recordLiveLaneOwner,
|
|
313
313
|
removeWorktree,
|
|
314
314
|
resolveWorktreeBaseDir
|
|
315
|
-
} from "./index-
|
|
315
|
+
} from "./index-391ydd25.js";
|
|
316
316
|
import {
|
|
317
317
|
GitBinaryMissingError,
|
|
318
318
|
GitSpawnCwdError,
|
|
@@ -354,7 +354,7 @@ import {
|
|
|
354
354
|
scanBackgroundCoderReservationsForAdmission,
|
|
355
355
|
scanDelegationsForRecovery,
|
|
356
356
|
sweepStaleDelegations
|
|
357
|
-
} from "./index-
|
|
357
|
+
} from "./index-vsa05smc.js";
|
|
358
358
|
import {
|
|
359
359
|
MAX_EVENT_LOG_ENTRIES,
|
|
360
360
|
_internals,
|
|
@@ -366,7 +366,7 @@ import {
|
|
|
366
366
|
recordHiveKnowledgeEvent,
|
|
367
367
|
recordKnowledgeEvent,
|
|
368
368
|
resolveKnowledgeEventsPath
|
|
369
|
-
} from "./index-
|
|
369
|
+
} from "./index-mt5t492g.js";
|
|
370
370
|
import {
|
|
371
371
|
commitDisplayedMembership,
|
|
372
372
|
commitEmptyRetrieval,
|
|
@@ -379,7 +379,7 @@ import {
|
|
|
379
379
|
queryLiveMemberships,
|
|
380
380
|
reconcilePhaseClose,
|
|
381
381
|
recordPhaseCloseIntent
|
|
382
|
-
} from "./index-
|
|
382
|
+
} from "./index-te61qv0q.js";
|
|
383
383
|
import {
|
|
384
384
|
sanitizeContextText
|
|
385
385
|
} from "./index-m9zzj4ee.js";
|
|
@@ -410,7 +410,7 @@ import {
|
|
|
410
410
|
validateActionableFields,
|
|
411
411
|
validateLesson,
|
|
412
412
|
validateSkillPath
|
|
413
|
-
} from "./index-
|
|
413
|
+
} from "./index-wscg5ryb.js";
|
|
414
414
|
import {
|
|
415
415
|
MAX_CURATION_PROPOSALS,
|
|
416
416
|
authorizeCuration,
|
|
@@ -421,7 +421,7 @@ import {
|
|
|
421
421
|
} from "./index-rtry5xyf.js";
|
|
422
422
|
import {
|
|
423
423
|
resolveWorktreeIsolationConfig
|
|
424
|
-
} from "./index-
|
|
424
|
+
} from "./index-8bsnnnj2.js";
|
|
425
425
|
import {
|
|
426
426
|
RetrospectiveEvidenceSchema
|
|
427
427
|
} from "./index-g22dps7x.js";
|
|
@@ -433,7 +433,7 @@ import {
|
|
|
433
433
|
clearScopeBindings,
|
|
434
434
|
readAuthoritativeScopeBindingSet,
|
|
435
435
|
readDeclaredScopeFilesFromBindings
|
|
436
|
-
} from "./index-
|
|
436
|
+
} from "./index-tzasccpd.js";
|
|
437
437
|
import {
|
|
438
438
|
approvedSnapshotCoversPlan,
|
|
439
439
|
clearPlanLedgerForReset,
|
|
@@ -450,7 +450,7 @@ import {
|
|
|
450
450
|
replayFromLedgerWithStatus,
|
|
451
451
|
resolvePlanningProfile,
|
|
452
452
|
takeSnapshotEvent
|
|
453
|
-
} from "./index-
|
|
453
|
+
} from "./index-174j0g38.js";
|
|
454
454
|
import {
|
|
455
455
|
CORE_EVENT_LOCKED,
|
|
456
456
|
appendCoreEventSync,
|
|
@@ -539,7 +539,7 @@ import {
|
|
|
539
539
|
transactFile,
|
|
540
540
|
transactKnowledge,
|
|
541
541
|
wordBigrams
|
|
542
|
-
} from "./index-
|
|
542
|
+
} from "./index-jnjvghgp.js";
|
|
543
543
|
import {
|
|
544
544
|
readTailJsonl,
|
|
545
545
|
readTailJsonlDetailed,
|
|
@@ -624,7 +624,7 @@ import {
|
|
|
624
624
|
loadPluginConfig,
|
|
625
625
|
loadPluginConfigWithMeta,
|
|
626
626
|
resolveEpicConfig
|
|
627
|
-
} from "./index-
|
|
627
|
+
} from "./index-ppnpkww2.js";
|
|
628
628
|
import {
|
|
629
629
|
GIT_BINARY_ENV_VAR,
|
|
630
630
|
addDeferredWarning,
|
|
@@ -657,7 +657,7 @@ import {
|
|
|
657
657
|
resolveContextWindow,
|
|
658
658
|
resolveGeneratedAgentRole,
|
|
659
659
|
stripKnownSwarmPrefix
|
|
660
|
-
} from "./index-
|
|
660
|
+
} from "./index-nqxbqb50.js";
|
|
661
661
|
import {
|
|
662
662
|
AGENT_TOOL_MAP,
|
|
663
663
|
ALL_AGENT_NAMES,
|
|
@@ -3457,7 +3457,7 @@ async function importLegacyPrWorkflowGateStateIfNeeded(directory, sessionID, all
|
|
|
3457
3457
|
return null;
|
|
3458
3458
|
throw error2;
|
|
3459
3459
|
}
|
|
3460
|
-
const legacy = allowSalvagedImport ? (await (await import("./pr-workflow-gate-
|
|
3460
|
+
const legacy = allowSalvagedImport ? (await (await import("./pr-workflow-gate-2gmznmj4.js")).readPrWorkflowGateStateForRecovery(directory, sessionID))?.state ?? null : await readPrWorkflowGateStateFileFromDisk(filePath, sessionID);
|
|
3461
3461
|
if (!legacy)
|
|
3462
3462
|
return null;
|
|
3463
3463
|
const namespace = workflowGateStateCoordinationNamespace(sessionID);
|
|
@@ -3544,7 +3544,7 @@ async function deleteStateWhileLocked(directory, sessionID, options = {}) {
|
|
|
3544
3544
|
let recoveryState = null;
|
|
3545
3545
|
if (!currentAuthoritative) {
|
|
3546
3546
|
if (options.allowSalvagedRead) {
|
|
3547
|
-
const { readPrWorkflowGateStateForRecovery } = await import("./pr-workflow-gate-
|
|
3547
|
+
const { readPrWorkflowGateStateForRecovery } = await import("./pr-workflow-gate-2gmznmj4.js");
|
|
3548
3548
|
recoveryState = (await readPrWorkflowGateStateForRecovery(directory, normalizedSessionID))?.state ?? null;
|
|
3549
3549
|
}
|
|
3550
3550
|
if (!recoveryState) {
|
|
@@ -11342,7 +11342,7 @@ function isLaneOwnedByCurrentSession(branchName, expectedSessionId) {
|
|
|
11342
11342
|
return extracted === expectedSessionId;
|
|
11343
11343
|
}
|
|
11344
11344
|
async function inspectStandardWorktreeCollisionOwnership(identity) {
|
|
11345
|
-
const collisionOwnership = await import("./worktree-collision-ownership-
|
|
11345
|
+
const collisionOwnership = await import("./worktree-collision-ownership-1bgcea0v.js");
|
|
11346
11346
|
return collisionOwnership.inspectStandardWorktreeCollisionOwnership(identity);
|
|
11347
11347
|
}
|
|
11348
11348
|
async function runRecoveryGit(directory, args, timeoutMs = 15000) {
|
|
@@ -11770,7 +11770,7 @@ async function precreateStandardWorktreeSession(args) {
|
|
|
11770
11770
|
const laneProfile = computeLaneRuntimeProfile(worktreeConfig.runtime_isolation, laneIndex, handle.worktreePath);
|
|
11771
11771
|
if (laneProfile) {
|
|
11772
11772
|
try {
|
|
11773
|
-
const { writeLaneProfileToDiskReal } = await import("./core-
|
|
11773
|
+
const { writeLaneProfileToDiskReal } = await import("./core-dmn3arr1.js");
|
|
11774
11774
|
await writeLaneProfileToDiskReal(handle.worktreePath, laneProfile.laneIndex, laneProfile.envOverrides);
|
|
11775
11775
|
} catch {}
|
|
11776
11776
|
}
|
|
@@ -12764,7 +12764,7 @@ async function finishStandardWorktreeDispatch(directory, dispatch, config, callI
|
|
|
12764
12764
|
}
|
|
12765
12765
|
clearWorktreeMergeStatus(statusKey);
|
|
12766
12766
|
try {
|
|
12767
|
-
const { removeLaneProfileFromDiskReal } = await import("./core-
|
|
12767
|
+
const { removeLaneProfileFromDiskReal } = await import("./core-dmn3arr1.js");
|
|
12768
12768
|
await removeLaneProfileFromDiskReal(dispatch.handle.worktreePath, dispatch.laneIndex);
|
|
12769
12769
|
} catch {}
|
|
12770
12770
|
const state = serializationStateBySessionID.get(dispatch.parentSessionID);
|
|
@@ -29106,7 +29106,7 @@ function clearCriticalShownIds(sessionID) {
|
|
|
29106
29106
|
async function rehydratePrSubscriptions(sessionID, directory) {
|
|
29107
29107
|
const map = new Map;
|
|
29108
29108
|
try {
|
|
29109
|
-
const { listActive: listActive2 } = await import("./pr-subscriptions-
|
|
29109
|
+
const { listActive: listActive2 } = await import("./pr-subscriptions-hkzd0nr4.js");
|
|
29110
29110
|
const records = await listActive2(directory);
|
|
29111
29111
|
for (const record of records) {
|
|
29112
29112
|
if (record.sessionID !== sessionID)
|
|
@@ -46108,9 +46108,9 @@ function hashContent(content) {
|
|
|
46108
46108
|
return createHash30("sha1").update(content).digest("hex");
|
|
46109
46109
|
}
|
|
46110
46110
|
async function loadConfigForPolicyCurator(directory) {
|
|
46111
|
-
const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-
|
|
46111
|
+
const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-emx6r32d.js");
|
|
46112
46112
|
try {
|
|
46113
|
-
const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-
|
|
46113
|
+
const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-psqfkgav.js");
|
|
46114
46114
|
const { config: loadedConfig } = loadPluginConfigWithMeta2(directory);
|
|
46115
46115
|
return KnowledgeConfigSchema2.parse(loadedConfig.knowledge ?? {});
|
|
46116
46116
|
} catch {
|
|
@@ -49168,7 +49168,7 @@ async function resolveCuratorLLMDelegate(directory, mode, sessionId) {
|
|
|
49168
49168
|
const seam = _internals50.createCuratorLLMDelegate;
|
|
49169
49169
|
if (seam)
|
|
49170
49170
|
return seam(directory, mode, sessionId);
|
|
49171
|
-
const { createCuratorLLMDelegate } = await import("./curator-llm-factory-
|
|
49171
|
+
const { createCuratorLLMDelegate } = await import("./curator-llm-factory-cvrt4bf9.js");
|
|
49172
49172
|
return createCuratorLLMDelegate(directory, mode, sessionId);
|
|
49173
49173
|
}
|
|
49174
49174
|
async function reconcileCloseTerminalStateForPlan(directory, targetPlan, options) {
|
|
@@ -49563,7 +49563,7 @@ async function runFinalizeStage(ctx) {
|
|
|
49563
49563
|
}
|
|
49564
49564
|
}
|
|
49565
49565
|
try {
|
|
49566
|
-
const { CuratorConfigSchema: CCS } = await import("./schema-
|
|
49566
|
+
const { CuratorConfigSchema: CCS } = await import("./schema-emx6r32d.js");
|
|
49567
49567
|
const { config: pmLoadedConfig } = _internals50.loadPluginConfigWithMeta(ctx.directory);
|
|
49568
49568
|
const curatorCfg = CCS.parse(pmLoadedConfig.curator ?? {});
|
|
49569
49569
|
if (curatorCfg.enabled && curatorCfg.postmortem_enabled) {
|
|
@@ -53596,7 +53596,7 @@ function serializeAgentSession(s) {
|
|
|
53596
53596
|
}
|
|
53597
53597
|
async function writeSnapshot(directory, state) {
|
|
53598
53598
|
try {
|
|
53599
|
-
const { ensureSnapshotCoordinationReady } = await import("./snapshot-coordination-init-
|
|
53599
|
+
const { ensureSnapshotCoordinationReady } = await import("./snapshot-coordination-init-2x56ds8a.js");
|
|
53600
53600
|
await ensureSnapshotCoordinationReady(directory);
|
|
53601
53601
|
const snapshot = {
|
|
53602
53602
|
version: 3,
|
|
@@ -56617,7 +56617,7 @@ function planMerges(active, threshold, maxComparisons, maxMerges) {
|
|
|
56617
56617
|
};
|
|
56618
56618
|
}
|
|
56619
56619
|
async function sweepActiveNearDuplicates(directory, options = {}) {
|
|
56620
|
-
const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-
|
|
56620
|
+
const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-psqfkgav.js");
|
|
56621
56621
|
const { config } = loadPluginConfigWithMeta2(directory);
|
|
56622
56622
|
const sweepConfig = config.learning?.dedup_sweep;
|
|
56623
56623
|
if (sweepConfig?.enabled === false)
|
|
@@ -57741,7 +57741,7 @@ async function runCuratorPhase(directory, phase, agentsDispatched, config, knowl
|
|
|
57741
57741
|
}
|
|
57742
57742
|
if (config.skill_generation_enabled === true && skillCandidates.length > 0) {
|
|
57743
57743
|
try {
|
|
57744
|
-
const skillModule = await import("./skill-generator-
|
|
57744
|
+
const skillModule = await import("./skill-generator-w0jy1mpc.js");
|
|
57745
57745
|
for (const cand of skillCandidates) {
|
|
57746
57746
|
if (cand.confidence < (config.min_skill_confidence ?? DEFAULT_SKILL_MIN_CONFIDENCE)) {
|
|
57747
57747
|
continue;
|
|
@@ -58213,7 +58213,7 @@ async function applyCuratorKnowledgeUpdates(directory, recommendations, knowledg
|
|
|
58213
58213
|
} catch {}
|
|
58214
58214
|
}
|
|
58215
58215
|
if (contradictedEntries.length > 0 && knowledgeConfig.contradiction_threshold_action === "quarantine") {
|
|
58216
|
-
const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-
|
|
58216
|
+
const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-2dy96d0j.js");
|
|
58217
58217
|
for (const { id } of contradictedEntries) {
|
|
58218
58218
|
try {
|
|
58219
58219
|
await maybeQuarantineOnContradiction(directory, id, knowledgeConfig.contradiction_quarantine_threshold, knowledgeConfig.contradiction_quarantine_window_days);
|
|
@@ -59045,7 +59045,7 @@ async function runCuratorPostMortem(directory, options = {}) {
|
|
|
59045
59045
|
warnings.push("Failed to collect knowledge summary.");
|
|
59046
59046
|
}
|
|
59047
59047
|
try {
|
|
59048
|
-
const { getScanStatus } = await import("./scan-cursor-
|
|
59048
|
+
const { getScanStatus } = await import("./scan-cursor-arezehhk.js");
|
|
59049
59049
|
const scanStatus = await getScanStatus(directory);
|
|
59050
59050
|
if (scanStatus.remaining_estimate > 0) {
|
|
59051
59051
|
warnings.push(`Fair scan: reviewed ${knowledgeSummary.length} entries this sweep (generation ${scanStatus.generation}); ${scanStatus.remaining_estimate} more eligible entries will be visited in future curation sweeps.`);
|
|
@@ -59217,9 +59217,9 @@ var _internals72 = {
|
|
|
59217
59217
|
verifyPostMortemKnowledgeActions,
|
|
59218
59218
|
repairPostMortemActions,
|
|
59219
59219
|
loadDefaultKnowledgeConfig: async (directory) => {
|
|
59220
|
-
const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-
|
|
59220
|
+
const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-emx6r32d.js");
|
|
59221
59221
|
try {
|
|
59222
|
-
const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-
|
|
59222
|
+
const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-psqfkgav.js");
|
|
59223
59223
|
const loaded = loadPluginConfigWithMeta2(directory);
|
|
59224
59224
|
return KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
|
|
59225
59225
|
} catch {
|
|
@@ -59227,11 +59227,11 @@ var _internals72 = {
|
|
|
59227
59227
|
}
|
|
59228
59228
|
},
|
|
59229
59229
|
applyCuratorKnowledgeUpdates: async (directory, recommendations, knowledgeConfig, generation) => {
|
|
59230
|
-
const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-
|
|
59230
|
+
const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-891pc8b7.js");
|
|
59231
59231
|
return applyCuratorKnowledgeUpdates2(directory, recommendations, knowledgeConfig, generation);
|
|
59232
59232
|
},
|
|
59233
59233
|
checkHivePromotions: async (entries2, knowledgeConfig, directory) => {
|
|
59234
|
-
const { checkHivePromotions } = await import("./hive-promoter-
|
|
59234
|
+
const { checkHivePromotions } = await import("./hive-promoter-w1vchgfr.js");
|
|
59235
59235
|
return checkHivePromotions(entries2, knowledgeConfig, directory);
|
|
59236
59236
|
},
|
|
59237
59237
|
applyProposalTriage: async (directory, triage) => {
|
|
@@ -59240,7 +59240,7 @@ var _internals72 = {
|
|
|
59240
59240
|
activateProposal,
|
|
59241
59241
|
listSkills: listSkills2,
|
|
59242
59242
|
sanitizeSlug
|
|
59243
|
-
} = await import("./skill-generator-
|
|
59243
|
+
} = await import("./skill-generator-w0jy1mpc.js");
|
|
59244
59244
|
const result = {
|
|
59245
59245
|
approved: [],
|
|
59246
59246
|
rejected: [],
|
|
@@ -59282,7 +59282,7 @@ var _internals72 = {
|
|
|
59282
59282
|
return result;
|
|
59283
59283
|
},
|
|
59284
59284
|
readPriorDriftReports: async (directory) => {
|
|
59285
|
-
const { readPriorDriftReports: readPriorDriftReports2 } = await import("./curator-drift-
|
|
59285
|
+
const { readPriorDriftReports: readPriorDriftReports2 } = await import("./curator-drift-sxzs48ew.js");
|
|
59286
59286
|
return readPriorDriftReports2(directory);
|
|
59287
59287
|
},
|
|
59288
59288
|
readSwarmKnowledge: (directory) => readKnowledge(resolveSwarmKnowledgePath(directory))
|
|
@@ -69552,9 +69552,9 @@ var _internals80 = {
|
|
|
69552
69552
|
loadPluginConfigWithMeta,
|
|
69553
69553
|
loadCuratorDeps: async () => {
|
|
69554
69554
|
const [{ CuratorConfigSchema }, curator, { createCuratorLLMDelegate }] = await Promise.all([
|
|
69555
|
-
import("./schema-
|
|
69556
|
-
import("./curator-
|
|
69557
|
-
import("./curator-llm-factory-
|
|
69555
|
+
import("./schema-emx6r32d.js"),
|
|
69556
|
+
import("./curator-891pc8b7.js"),
|
|
69557
|
+
import("./curator-llm-factory-cvrt4bf9.js")
|
|
69558
69558
|
]);
|
|
69559
69559
|
return { CuratorConfigSchema, curator, createCuratorLLMDelegate };
|
|
69560
69560
|
}
|
|
@@ -72004,7 +72004,7 @@ async function computeCurationDiagnostics(directory, entries2) {
|
|
|
72004
72004
|
let scanCompleted = false;
|
|
72005
72005
|
let scanRemaining = 0;
|
|
72006
72006
|
try {
|
|
72007
|
-
const { getScanStatus } = await import("./scan-cursor-
|
|
72007
|
+
const { getScanStatus } = await import("./scan-cursor-arezehhk.js");
|
|
72008
72008
|
const status = await getScanStatus(directory);
|
|
72009
72009
|
scanGeneration = status.generation;
|
|
72010
72010
|
scanCompleted = status.completed;
|
|
@@ -72014,10 +72014,10 @@ async function computeCurationDiagnostics(directory, entries2) {
|
|
|
72014
72014
|
try {
|
|
72015
72015
|
const { isLinked: isLinked2 } = await import("./knowledge-link-8bn2b7vr.js");
|
|
72016
72016
|
if (isLinked2(directory)) {
|
|
72017
|
-
const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-
|
|
72017
|
+
const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-emx6r32d.js");
|
|
72018
72018
|
let config;
|
|
72019
72019
|
try {
|
|
72020
|
-
const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-
|
|
72020
|
+
const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-psqfkgav.js");
|
|
72021
72021
|
const loaded = loadPluginConfigWithMeta2(directory);
|
|
72022
72022
|
config = KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
|
|
72023
72023
|
} catch {
|
|
@@ -73473,7 +73473,7 @@ async function handleDoctorCommand(directory, args) {
|
|
|
73473
73473
|
const result = runConfigDoctor(config, directory, planParallelizationEnabled);
|
|
73474
73474
|
let output;
|
|
73475
73475
|
if (enableAutoFix && result.hasAutoFixableIssues) {
|
|
73476
|
-
const { runConfigDoctorWithFixes } = await import("./config-doctor-
|
|
73476
|
+
const { runConfigDoctorWithFixes } = await import("./config-doctor-qv7wc6fa.js");
|
|
73477
73477
|
const fixResult = await runConfigDoctorWithFixes(directory, config, true, {
|
|
73478
73478
|
applyLossy: true
|
|
73479
73479
|
});
|
|
@@ -73511,7 +73511,7 @@ async function handleDoctorCommand(directory, args) {
|
|
|
73511
73511
|
`;
|
|
73512
73512
|
}
|
|
73513
73513
|
try {
|
|
73514
|
-
const { runModelPreflight } = await import("./model-preflight-
|
|
73514
|
+
const { runModelPreflight } = await import("./model-preflight-skhq4xtr.js");
|
|
73515
73515
|
const preflight = await runModelPreflight(config, swarmState.opencodeClient, { generatedAgentNames: swarmState.generatedAgentNames });
|
|
73516
73516
|
const missingSelection = preflight.resolutions.filter((resolution) => resolution.status === "missing-selection");
|
|
73517
73517
|
const unresolved = preflight.catalogAvailable ? preflight.resolutions.filter((resolution) => resolution.status === "unresolved") : [];
|
|
@@ -73545,7 +73545,7 @@ async function handleDoctorCommand(directory, args) {
|
|
|
73545
73545
|
}
|
|
73546
73546
|
} catch {}
|
|
73547
73547
|
try {
|
|
73548
|
-
const { renderKnowledgeReceiptPhaseIdSection } = await import("./doctor-knowledge-receipt-phase-id-
|
|
73548
|
+
const { renderKnowledgeReceiptPhaseIdSection } = await import("./doctor-knowledge-receipt-phase-id-mvbj576e.js");
|
|
73549
73549
|
output += await renderKnowledgeReceiptPhaseIdSection(directory, enableAutoFix);
|
|
73550
73550
|
} catch {}
|
|
73551
73551
|
const strayDirs = detectStraySwarmDirs(directory);
|
|
@@ -74041,7 +74041,7 @@ var BACKGROUND_DELEGATION_NAMESPACE = "background.pending-delegation";
|
|
|
74041
74041
|
var LEGACY_LEAN_STATE_FILE = "turbo-state.json";
|
|
74042
74042
|
var MAX_LEGACY_LEAN_STATE_BYTES = 4 * 1024 * 1024;
|
|
74043
74043
|
var UNSETTLED_WAL_STATES2 = new Set(["DISPATCHED", "PREPARED", "unreadable"]);
|
|
74044
|
-
var EPIC_HOST_UNSUPPORTED_MESSAGE = "This OpenCode host gives the plugin no SDK client. Epic needs it for worktree-isolated coders and for the epic_phase_review reviewer/critic, so an epic here could neither run its coders nor complete a phase. Run the plan in Balanced, or use an OpenCode 1.x host (1.18.29+). (On OpenCode 2 the v2 adapter
|
|
74044
|
+
var EPIC_HOST_UNSUPPORTED_MESSAGE = "This OpenCode host gives the plugin no SDK client. Epic needs it for worktree-isolated coders and for the epic_phase_review reviewer/critic, so an epic here could neither run its coders nor complete a phase. Run the plan in Balanced, or use an OpenCode 1.x host (1.18.29+). (On OpenCode 2 the v2 adapter ships a session-capable client and native /swarm command dispatch, so this refusal does not fire there.)";
|
|
74045
74045
|
function refused2(reason, details, sizing) {
|
|
74046
74046
|
return { status: "refused", reason, details, sizing };
|
|
74047
74047
|
}
|
|
@@ -75562,7 +75562,7 @@ async function handleEvidenceCommand(directory, args) {
|
|
|
75562
75562
|
return formatTaskEvidenceMarkdown(evidenceData);
|
|
75563
75563
|
}
|
|
75564
75564
|
async function handleEvidenceSummaryCommand(directory) {
|
|
75565
|
-
const { buildEvidenceSummary } = await import("./evidence-summary-service-
|
|
75565
|
+
const { buildEvidenceSummary } = await import("./evidence-summary-service-x9nxvmn5.js");
|
|
75566
75566
|
const artifact = await buildEvidenceSummary(directory);
|
|
75567
75567
|
if (!artifact) {
|
|
75568
75568
|
return "No plan found. Run `/swarm plan` to check plan status.";
|
|
@@ -100028,7 +100028,7 @@ function createCuratorLLMDelegate(directory, mode = "init", sessionId) {
|
|
|
100028
100028
|
}
|
|
100029
100029
|
const sdkOpts = signal ? { signal } : {};
|
|
100030
100030
|
try {
|
|
100031
|
-
const { getSwarmAgents: getSwarmAgents2, resolveFallbackModel: resolveFallbackModel2 } = await import("./index-
|
|
100031
|
+
const { getSwarmAgents: getSwarmAgents2, resolveFallbackModel: resolveFallbackModel2 } = await import("./index-nrqyc8pr.js");
|
|
100032
100032
|
const createResult = await client.session.create({
|
|
100033
100033
|
...sessionId ? {
|
|
100034
100034
|
body: {
|
|
@@ -102126,7 +102126,7 @@ async function cancelPrFeedbackLoopUnlocked(directory, sessionID, reason) {
|
|
|
102126
102126
|
clearedEvents: []
|
|
102127
102127
|
};
|
|
102128
102128
|
try {
|
|
102129
|
-
const { cancelPrFeedbackPublication: cancelPrFeedbackPublication2 } = await import("./pr-workflow-gate-
|
|
102129
|
+
const { cancelPrFeedbackPublication: cancelPrFeedbackPublication2 } = await import("./pr-workflow-gate-2gmznmj4.js");
|
|
102130
102130
|
await cancelPrFeedbackPublication2(directory, sessionID, reason);
|
|
102131
102131
|
} catch (err) {
|
|
102132
102132
|
warn(`[pr-feedback-loop] cancelPrFeedbackPublication failed (fail-open): ${err instanceof Error ? err.message : String(err)}`);
|
|
@@ -118592,7 +118592,7 @@ function buildDetailedHelp(commandName, entry) {
|
|
|
118592
118592
|
async function handleHelpCommand(ctx) {
|
|
118593
118593
|
const targetCommand = ctx.args.join(" ");
|
|
118594
118594
|
if (!targetCommand) {
|
|
118595
|
-
const { buildHelpText } = await import("./index-
|
|
118595
|
+
const { buildHelpText } = await import("./index-4cazf4kb.js");
|
|
118596
118596
|
return buildHelpText();
|
|
118597
118597
|
}
|
|
118598
118598
|
const tokens = targetCommand.split(/\s+/);
|
|
@@ -118606,7 +118606,7 @@ async function handleHelpCommand(ctx) {
|
|
|
118606
118606
|
> Note: \`/swarm ${resolved.key}\` is a deprecated alias for \`/swarm ${aliasTarget}\`.` : detailed;
|
|
118607
118607
|
}
|
|
118608
118608
|
const similar = _internals39.findSimilarCommands(targetCommand);
|
|
118609
|
-
const { buildHelpText: fullHelp } = await import("./index-
|
|
118609
|
+
const { buildHelpText: fullHelp } = await import("./index-4cazf4kb.js");
|
|
118610
118610
|
if (similar.length > 0) {
|
|
118611
118611
|
return `Command '/swarm ${targetCommand}' not found.
|
|
118612
118612
|
|
|
@@ -118934,7 +118934,7 @@ var COMMAND_REGISTRY = {
|
|
|
118934
118934
|
},
|
|
118935
118935
|
"guardrail explain": {
|
|
118936
118936
|
handler: async (ctx) => {
|
|
118937
|
-
const { handleGuardrailExplain } = await import("./guardrail-explain-
|
|
118937
|
+
const { handleGuardrailExplain } = await import("./guardrail-explain-fga9bnvt.js");
|
|
118938
118938
|
return handleGuardrailExplain(ctx.directory, ctx.args);
|
|
118939
118939
|
},
|
|
118940
118940
|
description: "Dry-run: show what the guardrails would do to a command or write target (executes nothing)",
|
|
@@ -118944,7 +118944,7 @@ var COMMAND_REGISTRY = {
|
|
|
118944
118944
|
},
|
|
118945
118945
|
"guardrail reset": {
|
|
118946
118946
|
handler: async (ctx) => {
|
|
118947
|
-
const { handleGuardrailReset } = await import("./guardrail-reset-
|
|
118947
|
+
const { handleGuardrailReset } = await import("./guardrail-reset-xpcsxyt0.js");
|
|
118948
118948
|
return handleGuardrailReset(ctx.args, ctx.sessionID);
|
|
118949
118949
|
},
|
|
118950
118950
|
description: "Reset one exact active invocation/action circuit after repair",
|
|
@@ -118965,7 +118965,7 @@ var COMMAND_REGISTRY = {
|
|
|
118965
118965
|
},
|
|
118966
118966
|
"guardrail-log": {
|
|
118967
118967
|
handler: async (ctx) => {
|
|
118968
|
-
const { handleGuardrailLog } = await import("./guardrail-log-
|
|
118968
|
+
const { handleGuardrailLog } = await import("./guardrail-log-y84b9m8n.js");
|
|
118969
118969
|
return handleGuardrailLog(ctx.directory, ctx.args);
|
|
118970
118970
|
},
|
|
118971
118971
|
description: "Read the guardrail decision log (use --blocks-only for blocks)",
|
|
@@ -119363,7 +119363,7 @@ var COMMAND_REGISTRY = {
|
|
|
119363
119363
|
epic: {
|
|
119364
119364
|
handler: (ctx) => handleEpicCommand(ctx.directory, ctx.args, ctx.sessionID),
|
|
119365
119365
|
description: "Open, inspect, and close a plan-scoped epic (coupling-aware parallel execution of the current plan)",
|
|
119366
|
-
details: "An epic is bound to ONE plan: `start` opens it for the current plan, `close` ends it. Requires `epic.mode.enabled: true` in config (top-level `epic` block; no `turbo` block needed \u2014 the legacy `turbo.epic` path is still accepted and migrated). `start [--force]` refuses, in order: epic-disabled-by-config, host-unsupported (the host gives the plugin no OpenCode SDK client; on OpenCode 2 the v2 adapter
|
|
119366
|
+
details: "An epic is bound to ONE plan: `start` opens it for the current plan, `close` ends it. Requires `epic.mode.enabled: true` in config (top-level `epic` block; no `turbo` block needed \u2014 the legacy `turbo.epic` path is still accepted and migrated). `start [--force]` refuses, in order: epic-disabled-by-config, host-unsupported (the host gives the plugin no OpenCode SDK client; on OpenCode 2 the v2 adapter ships one, so this refusal does not fire there \u2014 Epic is startable on OpenCode 2 via the native v2 /swarm command dispatch, #3169 Phase 4), no-plan / plan-ledger-unreadable, epic-already-open (idempotent for the same plan) / epic-open-for-other-plan, turbo-active (config turbo_mode, a session with Turbo on, or a running Lean run \u2014 Epic enables neither Lean nor Turbo and never waives per-task QA), dirty-baseline (git: uncommitted changes outside .swarm/), detached-head / epic-branch-exists (epic-branch policy), in-flight-coders (any coder dispatch, background delegation, unsettled settlement, or preserved/recovery lane), not-epic-sized (too few pending tasks, insufficient scope coverage, or insufficient effective speedup \u2014 run it in Balanced, or reshape it with the plan-shaping suggestions shown; `--force` overrides and is recorded). Non-git projects run an epic serially (one task per wave). Git epics default to `epic.commit_policy: \"epic-branch\"`: start checks out `swarm/epic/<epicKey>` and every Epic commit goes there (epic_next_wave blocks with epic-branch-mismatch, and no landing or residue is committed, while HEAD is elsewhere); `current-branch` keeps commits on the starting branch. In a git epic every coder runs in an isolated worktree (refused EPIC_ISOLATION_DEGRADED when isolation is unavailable) and lands as a `swarm(task <id>): \u2026` merge commit; main-tree files a non-coder writer (test_engineer, docs) wrote for a task are committed as residue of that task; update_task_status writes nothing to git; wave close records the commit of each task as `refs/swarm/epics/<epicKey>/tasks/<id>` (deleted at close unless `epic.retain_refs`; never pushed by default). While open, the architect calls epic_next_wave and does what its status says: it issues one wave at a time (tasks with non-conflicting declared scopes \u2014 exclusive tasks alone, at most one task per densely coupled component; phases strictly in order), the architect dispatches one Task per taskId in ONE message and runs per-task QA (pre_check_batch \u2192 reviewer + test_engineer \u2192 update_task_status(completed)), and the next epic_next_wave closes the wave (recording outcomes and declared-vs-actual divergence) and issues the next; when a phase is done it returns phase-ready-for-review \u2192 epic_phase_review \u2192 phase_complete. `close [--abandon] [--land squash|merge|none]` refuses while tasks are pending (or the epic is orphaned / unreadable) unless `--abandon`, refuses a dirty tree before landing, writes a close report (epic-report-v2, embedding the epic scorecard) to .swarm/epic/reports/ and .swarm/epic-prior/reports/ (newest 50 kept), and lands the epic branch onto the original branch: squash (default \u2014 staged, uncommitted changes for you to review and commit), merge (a --no-ff merge commit), or none (switch back only). The epic branch is kept (remove it with `git branch -D` once committed). A landing conflict is rolled back (the attempted squash or merge is undone) and the epic stays closing \u2014 rerun close to resume. `--abandon` never lands; it switches back to the original branch when the tree is clean. `status [--repair-refs]` (also bare /swarm epic) shows the epic, its waves, phases, the task components recorded with the latest wave and recorded divergence, orphan detection (plan renamed or replaced), sentinel/row repair, recorded worktree merge failures, and retires legacy Epic v1 session state once; `--repair-refs` re-adopts task commits a rebase or amend made unreachable from HEAD. `report [<key>|last] [--format json]` shows the epic scorecard: live for the open epic (bare `report`), else from the close report of a past epic in .swarm/epic-prior/reports/ (`last` = newest; `<key>` = a report or epic key) \u2014 tasks completed in the epic, waves (count, width), time over closed waves (wave span, task issue\u2192resolve time, and their ratio, a concurrency factor that is NOT a speedup: it includes queueing behind serialized QA), conflicts (merge-back failures, undeclared writes), rework (extra generations, reopens), first-pass gate rates (upper bounds: the failure history is bounded), forced/sizing at start and learned hot files. Epics learn from their outcomes: undeclared writes teach learned co-writes (a task declaring D that also wrote f makes later tasks declaring D conflict with tasks on f \u2014 planner analysis only, never write authorization) and incidents (undeclared writes, merge conflicts, Stage B failures, rework, reopens) in excess of clean exposures make a file hot (a task declaring it runs alone) \u2014 undeclared writes its strongest learned co-writer explains are discounted (expansion already separates them), so one declarer writing a file is not heat; an empty history learns nothing (neutral start). Each wave close updates the posterior of the epic; close merges it into the project prior .swarm/epic-prior/learning.json (decayed per epic and by age; kept across /swarm close; `epic.learning.*`). `learning` shows what the planner learned and uses now; `prior [show]` shows the project prior; `prior reset` previews and prints a single-use confirm token (15 minutes); `prior reset --confirm=<token>` clears it. Also: clear-merge-failure <taskId> [--confirm]. The former `on` / `off` toggles, the `decide` / `last` subcommands and `calibration` (renamed `learning`) were removed.",
|
|
119367
119367
|
args: "start [--force] | close [--abandon] [--land squash|merge|none] | status [--repair-refs] | report [<key>|last] [--format json] | learning | prior [show|reset [--confirm=<token>]] | clear-merge-failure <taskId> [--confirm]",
|
|
119368
119368
|
category: "diagnostics",
|
|
119369
119369
|
toolPolicy: "human-only"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
loadPlanJsonOnly
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-tjc68trf.js";
|
|
5
5
|
import {
|
|
6
6
|
isCanonicalPathWithinRoot
|
|
7
7
|
} from "./index-6b295cas.js";
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
legacyEpicIssuePath,
|
|
15
15
|
migrateLegacyEpicConfig,
|
|
16
16
|
resolveEpicConfig
|
|
17
|
-
} from "./index-
|
|
17
|
+
} from "./index-ppnpkww2.js";
|
|
18
18
|
import {
|
|
19
19
|
FALLBACK_MODELS_MAX,
|
|
20
20
|
GATE_CONFIG_KNOWN_SECTION_KEYS,
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
init_schema,
|
|
25
25
|
retiredEpicKeyReplacement,
|
|
26
26
|
stripKnownSwarmPrefix
|
|
27
|
-
} from "./index-
|
|
27
|
+
} from "./index-nqxbqb50.js";
|
|
28
28
|
import {
|
|
29
29
|
ALL_AGENT_NAMES,
|
|
30
30
|
TOOL_NAME_SET,
|
|
@@ -739,7 +739,7 @@ async function applyConfidenceFloorAction(directory, touched, options) {
|
|
|
739
739
|
const {
|
|
740
740
|
readAuthoritativeKnowledgeCounterRollups,
|
|
741
741
|
effectiveRetrievalOutcomes
|
|
742
|
-
} = await import("./knowledge-events-
|
|
742
|
+
} = await import("./knowledge-events-70kb745b.js");
|
|
743
743
|
const rollups = await readAuthoritativeKnowledgeCounterRollups(directory);
|
|
744
744
|
const flagIds = new Set;
|
|
745
745
|
for (const e of atFloor) {
|
|
@@ -806,11 +806,11 @@ async function applyConfidenceFloorAction(directory, touched, options) {
|
|
|
806
806
|
});
|
|
807
807
|
}
|
|
808
808
|
if (action === "quarantine" && toQuarantine.length > 0) {
|
|
809
|
-
const { quarantineEntry } = await import("./knowledge-validator-
|
|
810
|
-
const { KnowledgeConfigSchema } = await import("./schema-
|
|
809
|
+
const { quarantineEntry } = await import("./knowledge-validator-eaatcnkr.js");
|
|
810
|
+
const { KnowledgeConfigSchema } = await import("./schema-emx6r32d.js");
|
|
811
811
|
let config;
|
|
812
812
|
try {
|
|
813
|
-
const { loadPluginConfigWithMeta } = await import("./index-
|
|
813
|
+
const { loadPluginConfigWithMeta } = await import("./index-psqfkgav.js");
|
|
814
814
|
const { config: loadedConfig } = loadPluginConfigWithMeta(directory);
|
|
815
815
|
config = KnowledgeConfigSchema.parse(loadedConfig.knowledge ?? {});
|
|
816
816
|
} catch {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
queryHistoricalOutcomes
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-te61qv0q.js";
|
|
5
5
|
import {
|
|
6
6
|
resolveHiveEventsPath
|
|
7
7
|
} from "./index-ae75rja9.js";
|
|
@@ -708,7 +708,7 @@ async function applyKnowledgeVerdictFeedback(directory, options) {
|
|
|
708
708
|
}
|
|
709
709
|
let bumps = 0;
|
|
710
710
|
if (deltas.length > 0) {
|
|
711
|
-
const { bumpKnowledgeConfidenceBatch } = await import("./knowledge-store-
|
|
711
|
+
const { bumpKnowledgeConfidenceBatch } = await import("./knowledge-store-hvq03g0j.js");
|
|
712
712
|
bumps = await bumpKnowledgeConfidenceBatch(directory, deltas, options?.floorOptions);
|
|
713
713
|
}
|
|
714
714
|
return {
|
|
@@ -21,7 +21,7 @@ var package_default;
|
|
|
21
21
|
var init_package = __esm(() => {
|
|
22
22
|
package_default = {
|
|
23
23
|
name: "opencode-swarm",
|
|
24
|
-
version: "7.
|
|
24
|
+
version: "7.196.0",
|
|
25
25
|
description: "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
|
|
26
26
|
main: "dist/index.js",
|
|
27
27
|
types: "dist/index.d.ts",
|