opencode-swarm 7.190.0 → 7.190.1
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/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
- package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
- package/dist/cli/{auto-checkpoint-qvk04fya.js → auto-checkpoint-26m3h5f4.js} +4 -4
- package/dist/cli/{checkpoint-9q2r5c3j.js → checkpoint-7a0achpv.js} +8 -8
- package/dist/cli/{coder-settlement-xcparbf3.js → coder-settlement-dsb1t39t.js} +3 -3
- package/dist/cli/{config-doctor-by0ak49m.js → config-doctor-9txawzng.js} +7 -7
- package/dist/cli/{core-b1b3kxzy.js → core-kv7jz9ty.js} +1 -1
- package/dist/cli/{curator-d7b88mzr.js → curator-26yzg8wp.js} +25 -25
- package/dist/cli/{curator-drift-6v604220.js → curator-drift-kxn5sk3z.js} +5 -5
- package/dist/cli/{curator-llm-factory-yvbktznk.js → curator-llm-factory-hs2y9kmw.js} +25 -25
- package/dist/cli/{doctor-knowledge-receipt-phase-id-kwrvnps9.js → doctor-knowledge-receipt-phase-id-z8wea03e.js} +4 -4
- package/dist/cli/{evidence-summary-service-mzr2q4bn.js → evidence-summary-service-bg5zq78s.js} +9 -9
- package/dist/cli/{gate-evidence-78jes9kq.js → gate-evidence-0beg9c7r.js} +2 -2
- package/dist/cli/{guardrail-explain-8kt2mxmw.js → guardrail-explain-n8bm0hpm.js} +26 -26
- package/dist/cli/{guardrail-log-2sthykag.js → guardrail-log-r2zazmbn.js} +3 -3
- package/dist/cli/{guardrail-reset-2n746rzv.js → guardrail-reset-0q54t44w.js} +25 -25
- package/dist/cli/{hive-promoter-s7a5gwhz.js → hive-promoter-7dr5b9zv.js} +25 -25
- package/dist/cli/{index-s92a5ta3.js → index-0gve0mkj.js} +3 -3
- package/dist/cli/{index-49e65y51.js → index-0yrg10jx.js} +2 -2
- package/dist/cli/{index-zyg1m9d0.js → index-0z8vdkvg.js} +1 -1
- package/dist/cli/{index-ffgcdf49.js → index-1f084tqn.js} +157 -80
- package/dist/cli/{index-a5ca62vt.js → index-26e2s6r1.js} +1 -1
- package/dist/cli/{index-h0xhec3d.js → index-2c47efpt.js} +2 -2
- package/dist/cli/{index-npe10823.js → index-4a15347d.js} +1 -1
- package/dist/cli/{index-xyvrfram.js → index-67a6mk20.js} +1 -1
- package/dist/cli/{index-t73adn9b.js → index-ay8ggtgr.js} +2 -2
- package/dist/cli/{index-0qc7a88d.js → index-bcwmn4d7.js} +1 -1
- package/dist/cli/{index-tkhenmms.js → index-bfyh3gpe.js} +3 -3
- package/dist/cli/{index-fb5s32c2.js → index-cewpxcwm.js} +5 -5
- package/dist/cli/{index-ej1hdw16.js → index-dbdkh7pq.js} +2 -2
- package/dist/cli/{index-rgkzcw2a.js → index-dnp4qtpf.js} +1 -1
- package/dist/cli/{index-ejk34dnw.js → index-efztf4yw.js} +1 -1
- package/dist/cli/{index-9xxqdzp4.js → index-enq166kw.js} +1 -1
- package/dist/cli/{index-1s95jrgc.js → index-f46dbyew.js} +2 -2
- package/dist/cli/{index-sm01zpqe.js → index-fthhppnc.js} +27 -27
- package/dist/cli/{index-vhn4e6rm.js → index-gqb8etv4.js} +3 -3
- package/dist/cli/{index-t0gj8s46.js → index-ha0w0a7t.js} +1 -1
- package/dist/cli/{index-9gcqmgbc.js → index-hx1fmywk.js} +1 -1
- package/dist/cli/{index-mseerehd.js → index-m28dzyy8.js} +3 -3
- package/dist/cli/{index-mp1s7b0n.js → index-rjzn7hf0.js} +4 -4
- package/dist/cli/{index-ajzgeb2s.js → index-s9cgnd2z.js} +1 -1
- package/dist/cli/{index-dmq7p8s9.js → index-sc7t1tev.js} +6 -6
- package/dist/cli/{index-3t9t9q2q.js → index-sfjpbnqs.js} +25 -25
- package/dist/cli/{index-p69k8v0e.js → index-spgfs5y7.js} +1 -1
- package/dist/cli/{index-69tgdm9t.js → index-v3j9fk16.js} +1 -1
- package/dist/cli/{index-2kpqqcch.js → index-xdq6mak1.js} +1 -1
- package/dist/cli/{index-kp8k95v9.js → index-yy5yyyst.js} +3 -3
- package/dist/cli/index.js +26 -26
- package/dist/cli/{knowledge-escalator-n1ezv1zp.js → knowledge-escalator-hdrqt5pj.js} +7 -7
- package/dist/cli/{knowledge-events-nyqk3mr7.js → knowledge-events-ttebc8gn.js} +5 -5
- package/dist/cli/{knowledge-store-mnxqcyet.js → knowledge-store-8cxv6w2n.js} +1 -1
- package/dist/cli/{knowledge-validator-z30113mp.js → knowledge-validator-kr5xmqpa.js} +2 -2
- package/dist/cli/{mcp-mnbqw2s5.js → mcp-jtk79ygp.js} +1 -1
- package/dist/cli/{model-preflight-ex482fsy.js → model-preflight-d6tt7479.js} +25 -25
- package/dist/cli/{pending-delegations-j18afz5z.js → pending-delegations-ttk09f50.js} +2 -2
- package/dist/cli/{pr-subscriptions-yngda8mz.js → pr-subscriptions-2kbeezsr.js} +1 -1
- package/dist/cli/{pr-workflow-gate-0vt614f0.js → pr-workflow-gate-3ra6p7k4.js} +25 -25
- package/dist/cli/{scan-cursor-8pwfg5g9.js → scan-cursor-zzccy117.js} +2 -2
- package/dist/cli/{schema-e58ytmqt.js → schema-9prswg1x.js} +1 -1
- package/dist/cli/{scope-persistence-9qfx6ext.js → scope-persistence-eqm8vwnx.js} +5 -5
- package/dist/cli/{server-wxcfwsdx.js → server-swjre81h.js} +25 -25
- package/dist/cli/{skill-generator-tbd4tq9r.js → skill-generator-d8dk9vps.js} +8 -8
- package/dist/cli/{snapshot-coordination-init-sckyzb94.js → snapshot-coordination-init-f49y0zr0.js} +25 -25
- package/dist/cli/{speckit-checkoff-k5jm0abh.js → speckit-checkoff-pnb6q9gd.js} +3 -3
- package/dist/cli/{worktree-collision-ownership-3wwfc72t.js → worktree-collision-ownership-3c7xyc4p.js} +2 -2
- package/dist/cli/{worktree-isolation-zfk7zk6a.js → worktree-isolation-jggdf28m.js} +25 -25
- package/dist/index.js +6 -6
- 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-enq166kw.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-bfyh3gpe.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-hx1fmywk.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-s9cgnd2z.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-bcwmn4d7.js";
|
|
112
112
|
import {
|
|
113
113
|
assertNoUnsettledCoderDispatch,
|
|
114
114
|
listCoderSettlementWalStates,
|
|
115
115
|
recoverCoderSettlement,
|
|
116
116
|
recoverStaleCoderSettlements
|
|
117
|
-
} from "./index-
|
|
117
|
+
} from "./index-gqb8etv4.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-0gve0mkj.js";
|
|
139
139
|
import {
|
|
140
140
|
buildEscalationBriefing,
|
|
141
141
|
readRecentEscalations
|
|
142
|
-
} from "./index-
|
|
142
|
+
} from "./index-sc7t1tev.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-m28dzyy8.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-cewpxcwm.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-spgfs5y7.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-v3j9fk16.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-0z8vdkvg.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-4a15347d.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-2c47efpt.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-0yrg10jx.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-xdq6mak1.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-f46dbyew.js";
|
|
425
425
|
import {
|
|
426
426
|
RetrospectiveEvidenceSchema
|
|
427
427
|
} from "./index-pkhbd2t5.js";
|
|
@@ -433,7 +433,7 @@ import {
|
|
|
433
433
|
clearScopeBindings,
|
|
434
434
|
readAuthoritativeScopeBindingSet,
|
|
435
435
|
readDeclaredScopeFilesFromBindings
|
|
436
|
-
} from "./index-
|
|
436
|
+
} from "./index-dnp4qtpf.js";
|
|
437
437
|
import {
|
|
438
438
|
clearPlanLedgerForReset,
|
|
439
439
|
computePlanStructureHash,
|
|
@@ -449,7 +449,7 @@ import {
|
|
|
449
449
|
replayFromLedgerWithStatus,
|
|
450
450
|
resolvePlanningProfile,
|
|
451
451
|
takeSnapshotEvent
|
|
452
|
-
} from "./index-
|
|
452
|
+
} from "./index-dbdkh7pq.js";
|
|
453
453
|
import {
|
|
454
454
|
CORE_EVENT_LOCKED,
|
|
455
455
|
appendCoreEventSync,
|
|
@@ -538,7 +538,7 @@ import {
|
|
|
538
538
|
transactFile,
|
|
539
539
|
transactKnowledge,
|
|
540
540
|
wordBigrams
|
|
541
|
-
} from "./index-
|
|
541
|
+
} from "./index-rjzn7hf0.js";
|
|
542
542
|
import {
|
|
543
543
|
readTailJsonl,
|
|
544
544
|
readTailJsonlDetailed,
|
|
@@ -623,7 +623,7 @@ import {
|
|
|
623
623
|
loadPluginConfig,
|
|
624
624
|
loadPluginConfigWithMeta,
|
|
625
625
|
resolveEpicConfig
|
|
626
|
-
} from "./index-
|
|
626
|
+
} from "./index-efztf4yw.js";
|
|
627
627
|
import {
|
|
628
628
|
GIT_BINARY_ENV_VAR,
|
|
629
629
|
addDeferredWarning,
|
|
@@ -656,7 +656,7 @@ import {
|
|
|
656
656
|
resolveContextWindow,
|
|
657
657
|
resolveGeneratedAgentRole,
|
|
658
658
|
stripKnownSwarmPrefix
|
|
659
|
-
} from "./index-
|
|
659
|
+
} from "./index-ha0w0a7t.js";
|
|
660
660
|
import {
|
|
661
661
|
AGENT_TOOL_MAP,
|
|
662
662
|
ALL_AGENT_NAMES,
|
|
@@ -3449,7 +3449,7 @@ async function importLegacyPrWorkflowGateStateIfNeeded(directory, sessionID, all
|
|
|
3449
3449
|
return null;
|
|
3450
3450
|
throw error2;
|
|
3451
3451
|
}
|
|
3452
|
-
const legacy = allowSalvagedImport ? (await (await import("./pr-workflow-gate-
|
|
3452
|
+
const legacy = allowSalvagedImport ? (await (await import("./pr-workflow-gate-3ra6p7k4.js")).readPrWorkflowGateStateForRecovery(directory, sessionID))?.state ?? null : await readPrWorkflowGateStateFileFromDisk(filePath, sessionID);
|
|
3453
3453
|
if (!legacy)
|
|
3454
3454
|
return null;
|
|
3455
3455
|
const namespace = workflowGateStateCoordinationNamespace(sessionID);
|
|
@@ -3536,7 +3536,7 @@ async function deleteStateWhileLocked(directory, sessionID, options = {}) {
|
|
|
3536
3536
|
let recoveryState = null;
|
|
3537
3537
|
if (!currentAuthoritative) {
|
|
3538
3538
|
if (options.allowSalvagedRead) {
|
|
3539
|
-
const { readPrWorkflowGateStateForRecovery } = await import("./pr-workflow-gate-
|
|
3539
|
+
const { readPrWorkflowGateStateForRecovery } = await import("./pr-workflow-gate-3ra6p7k4.js");
|
|
3540
3540
|
recoveryState = (await readPrWorkflowGateStateForRecovery(directory, normalizedSessionID))?.state ?? null;
|
|
3541
3541
|
}
|
|
3542
3542
|
if (!recoveryState) {
|
|
@@ -10334,7 +10334,7 @@ function isLaneOwnedByCurrentSession(branchName, expectedSessionId) {
|
|
|
10334
10334
|
return extracted === expectedSessionId;
|
|
10335
10335
|
}
|
|
10336
10336
|
async function inspectStandardWorktreeCollisionOwnership(identity) {
|
|
10337
|
-
const collisionOwnership = await import("./worktree-collision-ownership-
|
|
10337
|
+
const collisionOwnership = await import("./worktree-collision-ownership-3c7xyc4p.js");
|
|
10338
10338
|
return collisionOwnership.inspectStandardWorktreeCollisionOwnership(identity);
|
|
10339
10339
|
}
|
|
10340
10340
|
async function runRecoveryGit(directory, args, timeoutMs = 15000) {
|
|
@@ -10761,7 +10761,7 @@ async function precreateStandardWorktreeSession(args) {
|
|
|
10761
10761
|
const laneProfile = computeLaneRuntimeProfile(worktreeConfig.runtime_isolation, laneIndex, handle.worktreePath);
|
|
10762
10762
|
if (laneProfile) {
|
|
10763
10763
|
try {
|
|
10764
|
-
const { writeLaneProfileToDiskReal } = await import("./core-
|
|
10764
|
+
const { writeLaneProfileToDiskReal } = await import("./core-kv7jz9ty.js");
|
|
10765
10765
|
await writeLaneProfileToDiskReal(handle.worktreePath, laneProfile.laneIndex, laneProfile.envOverrides);
|
|
10766
10766
|
} catch {}
|
|
10767
10767
|
}
|
|
@@ -11754,7 +11754,7 @@ async function finishStandardWorktreeDispatch(directory, dispatch, config, callI
|
|
|
11754
11754
|
}
|
|
11755
11755
|
clearWorktreeMergeStatus(statusKey);
|
|
11756
11756
|
try {
|
|
11757
|
-
const { removeLaneProfileFromDiskReal } = await import("./core-
|
|
11757
|
+
const { removeLaneProfileFromDiskReal } = await import("./core-kv7jz9ty.js");
|
|
11758
11758
|
await removeLaneProfileFromDiskReal(dispatch.handle.worktreePath, dispatch.laneIndex);
|
|
11759
11759
|
} catch {}
|
|
11760
11760
|
const state = serializationStateBySessionID.get(dispatch.parentSessionID);
|
|
@@ -27502,7 +27502,7 @@ function clearCriticalShownIds(sessionID) {
|
|
|
27502
27502
|
async function rehydratePrSubscriptions(sessionID, directory) {
|
|
27503
27503
|
const map = new Map;
|
|
27504
27504
|
try {
|
|
27505
|
-
const { listActive: listActive2 } = await import("./pr-subscriptions-
|
|
27505
|
+
const { listActive: listActive2 } = await import("./pr-subscriptions-2kbeezsr.js");
|
|
27506
27506
|
const records = await listActive2(directory);
|
|
27507
27507
|
for (const record of records) {
|
|
27508
27508
|
if (record.sessionID !== sessionID)
|
|
@@ -44048,9 +44048,9 @@ function hashContent(content) {
|
|
|
44048
44048
|
return createHash29("sha1").update(content).digest("hex");
|
|
44049
44049
|
}
|
|
44050
44050
|
async function loadConfigForPolicyCurator(directory) {
|
|
44051
|
-
const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-
|
|
44051
|
+
const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-9prswg1x.js");
|
|
44052
44052
|
try {
|
|
44053
|
-
const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-
|
|
44053
|
+
const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-yy5yyyst.js");
|
|
44054
44054
|
const { config: loadedConfig } = loadPluginConfigWithMeta2(directory);
|
|
44055
44055
|
return KnowledgeConfigSchema2.parse(loadedConfig.knowledge ?? {});
|
|
44056
44056
|
} catch {
|
|
@@ -47108,7 +47108,7 @@ async function resolveCuratorLLMDelegate(directory, mode, sessionId) {
|
|
|
47108
47108
|
const seam = _internals46.createCuratorLLMDelegate;
|
|
47109
47109
|
if (seam)
|
|
47110
47110
|
return seam(directory, mode, sessionId);
|
|
47111
|
-
const { createCuratorLLMDelegate } = await import("./curator-llm-factory-
|
|
47111
|
+
const { createCuratorLLMDelegate } = await import("./curator-llm-factory-hs2y9kmw.js");
|
|
47112
47112
|
return createCuratorLLMDelegate(directory, mode, sessionId);
|
|
47113
47113
|
}
|
|
47114
47114
|
async function reconcileCloseTerminalStateForPlan(directory, targetPlan, options) {
|
|
@@ -47503,7 +47503,7 @@ async function runFinalizeStage(ctx) {
|
|
|
47503
47503
|
}
|
|
47504
47504
|
}
|
|
47505
47505
|
try {
|
|
47506
|
-
const { CuratorConfigSchema: CCS } = await import("./schema-
|
|
47506
|
+
const { CuratorConfigSchema: CCS } = await import("./schema-9prswg1x.js");
|
|
47507
47507
|
const { config: pmLoadedConfig } = _internals46.loadPluginConfigWithMeta(ctx.directory);
|
|
47508
47508
|
const curatorCfg = CCS.parse(pmLoadedConfig.curator ?? {});
|
|
47509
47509
|
if (curatorCfg.enabled && curatorCfg.postmortem_enabled) {
|
|
@@ -51536,7 +51536,7 @@ function serializeAgentSession(s) {
|
|
|
51536
51536
|
}
|
|
51537
51537
|
async function writeSnapshot(directory, state) {
|
|
51538
51538
|
try {
|
|
51539
|
-
const { ensureSnapshotCoordinationReady } = await import("./snapshot-coordination-init-
|
|
51539
|
+
const { ensureSnapshotCoordinationReady } = await import("./snapshot-coordination-init-f49y0zr0.js");
|
|
51540
51540
|
await ensureSnapshotCoordinationReady(directory);
|
|
51541
51541
|
const snapshot = {
|
|
51542
51542
|
version: 3,
|
|
@@ -54557,7 +54557,7 @@ function planMerges(active, threshold, maxComparisons, maxMerges) {
|
|
|
54557
54557
|
};
|
|
54558
54558
|
}
|
|
54559
54559
|
async function sweepActiveNearDuplicates(directory, options = {}) {
|
|
54560
|
-
const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-
|
|
54560
|
+
const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-yy5yyyst.js");
|
|
54561
54561
|
const { config } = loadPluginConfigWithMeta2(directory);
|
|
54562
54562
|
const sweepConfig = config.learning?.dedup_sweep;
|
|
54563
54563
|
if (sweepConfig?.enabled === false)
|
|
@@ -55681,7 +55681,7 @@ async function runCuratorPhase(directory, phase, agentsDispatched, config, knowl
|
|
|
55681
55681
|
}
|
|
55682
55682
|
if (config.skill_generation_enabled === true && skillCandidates.length > 0) {
|
|
55683
55683
|
try {
|
|
55684
|
-
const skillModule = await import("./skill-generator-
|
|
55684
|
+
const skillModule = await import("./skill-generator-d8dk9vps.js");
|
|
55685
55685
|
for (const cand of skillCandidates) {
|
|
55686
55686
|
if (cand.confidence < (config.min_skill_confidence ?? DEFAULT_SKILL_MIN_CONFIDENCE)) {
|
|
55687
55687
|
continue;
|
|
@@ -56153,7 +56153,7 @@ async function applyCuratorKnowledgeUpdates(directory, recommendations, knowledg
|
|
|
56153
56153
|
} catch {}
|
|
56154
56154
|
}
|
|
56155
56155
|
if (contradictedEntries.length > 0 && knowledgeConfig.contradiction_threshold_action === "quarantine") {
|
|
56156
|
-
const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-
|
|
56156
|
+
const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-hdrqt5pj.js");
|
|
56157
56157
|
for (const { id } of contradictedEntries) {
|
|
56158
56158
|
try {
|
|
56159
56159
|
await maybeQuarantineOnContradiction(directory, id, knowledgeConfig.contradiction_quarantine_threshold, knowledgeConfig.contradiction_quarantine_window_days);
|
|
@@ -56985,7 +56985,7 @@ async function runCuratorPostMortem(directory, options = {}) {
|
|
|
56985
56985
|
warnings.push("Failed to collect knowledge summary.");
|
|
56986
56986
|
}
|
|
56987
56987
|
try {
|
|
56988
|
-
const { getScanStatus } = await import("./scan-cursor-
|
|
56988
|
+
const { getScanStatus } = await import("./scan-cursor-zzccy117.js");
|
|
56989
56989
|
const scanStatus = await getScanStatus(directory);
|
|
56990
56990
|
if (scanStatus.remaining_estimate > 0) {
|
|
56991
56991
|
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.`);
|
|
@@ -57157,9 +57157,9 @@ var _internals68 = {
|
|
|
57157
57157
|
verifyPostMortemKnowledgeActions,
|
|
57158
57158
|
repairPostMortemActions,
|
|
57159
57159
|
loadDefaultKnowledgeConfig: async (directory) => {
|
|
57160
|
-
const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-
|
|
57160
|
+
const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-9prswg1x.js");
|
|
57161
57161
|
try {
|
|
57162
|
-
const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-
|
|
57162
|
+
const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-yy5yyyst.js");
|
|
57163
57163
|
const loaded = loadPluginConfigWithMeta2(directory);
|
|
57164
57164
|
return KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
|
|
57165
57165
|
} catch {
|
|
@@ -57167,11 +57167,11 @@ var _internals68 = {
|
|
|
57167
57167
|
}
|
|
57168
57168
|
},
|
|
57169
57169
|
applyCuratorKnowledgeUpdates: async (directory, recommendations, knowledgeConfig, generation) => {
|
|
57170
|
-
const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-
|
|
57170
|
+
const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-26yzg8wp.js");
|
|
57171
57171
|
return applyCuratorKnowledgeUpdates2(directory, recommendations, knowledgeConfig, generation);
|
|
57172
57172
|
},
|
|
57173
57173
|
checkHivePromotions: async (entries2, knowledgeConfig, directory) => {
|
|
57174
|
-
const { checkHivePromotions } = await import("./hive-promoter-
|
|
57174
|
+
const { checkHivePromotions } = await import("./hive-promoter-7dr5b9zv.js");
|
|
57175
57175
|
return checkHivePromotions(entries2, knowledgeConfig, directory);
|
|
57176
57176
|
},
|
|
57177
57177
|
applyProposalTriage: async (directory, triage) => {
|
|
@@ -57180,7 +57180,7 @@ var _internals68 = {
|
|
|
57180
57180
|
activateProposal,
|
|
57181
57181
|
listSkills: listSkills2,
|
|
57182
57182
|
sanitizeSlug
|
|
57183
|
-
} = await import("./skill-generator-
|
|
57183
|
+
} = await import("./skill-generator-d8dk9vps.js");
|
|
57184
57184
|
const result = {
|
|
57185
57185
|
approved: [],
|
|
57186
57186
|
rejected: [],
|
|
@@ -57222,7 +57222,7 @@ var _internals68 = {
|
|
|
57222
57222
|
return result;
|
|
57223
57223
|
},
|
|
57224
57224
|
readPriorDriftReports: async (directory) => {
|
|
57225
|
-
const { readPriorDriftReports: readPriorDriftReports2 } = await import("./curator-drift-
|
|
57225
|
+
const { readPriorDriftReports: readPriorDriftReports2 } = await import("./curator-drift-kxn5sk3z.js");
|
|
57226
57226
|
return readPriorDriftReports2(directory);
|
|
57227
57227
|
},
|
|
57228
57228
|
readSwarmKnowledge: (directory) => readKnowledge(resolveSwarmKnowledgePath(directory))
|
|
@@ -67492,9 +67492,9 @@ var _internals76 = {
|
|
|
67492
67492
|
loadPluginConfigWithMeta,
|
|
67493
67493
|
loadCuratorDeps: async () => {
|
|
67494
67494
|
const [{ CuratorConfigSchema }, curator, { createCuratorLLMDelegate }] = await Promise.all([
|
|
67495
|
-
import("./schema-
|
|
67496
|
-
import("./curator-
|
|
67497
|
-
import("./curator-llm-factory-
|
|
67495
|
+
import("./schema-9prswg1x.js"),
|
|
67496
|
+
import("./curator-26yzg8wp.js"),
|
|
67497
|
+
import("./curator-llm-factory-hs2y9kmw.js")
|
|
67498
67498
|
]);
|
|
67499
67499
|
return { CuratorConfigSchema, curator, createCuratorLLMDelegate };
|
|
67500
67500
|
}
|
|
@@ -69932,7 +69932,7 @@ async function computeCurationDiagnostics(directory, entries2) {
|
|
|
69932
69932
|
let scanCompleted = false;
|
|
69933
69933
|
let scanRemaining = 0;
|
|
69934
69934
|
try {
|
|
69935
|
-
const { getScanStatus } = await import("./scan-cursor-
|
|
69935
|
+
const { getScanStatus } = await import("./scan-cursor-zzccy117.js");
|
|
69936
69936
|
const status = await getScanStatus(directory);
|
|
69937
69937
|
scanGeneration = status.generation;
|
|
69938
69938
|
scanCompleted = status.completed;
|
|
@@ -69942,10 +69942,10 @@ async function computeCurationDiagnostics(directory, entries2) {
|
|
|
69942
69942
|
try {
|
|
69943
69943
|
const { isLinked: isLinked2 } = await import("./knowledge-link-6hw3z6wn.js");
|
|
69944
69944
|
if (isLinked2(directory)) {
|
|
69945
|
-
const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-
|
|
69945
|
+
const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-9prswg1x.js");
|
|
69946
69946
|
let config;
|
|
69947
69947
|
try {
|
|
69948
|
-
const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-
|
|
69948
|
+
const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-yy5yyyst.js");
|
|
69949
69949
|
const loaded = loadPluginConfigWithMeta2(directory);
|
|
69950
69950
|
config = KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
|
|
69951
69951
|
} catch {
|
|
@@ -71401,7 +71401,7 @@ async function handleDoctorCommand(directory, args) {
|
|
|
71401
71401
|
const result = runConfigDoctor(config, directory, planParallelizationEnabled);
|
|
71402
71402
|
let output;
|
|
71403
71403
|
if (enableAutoFix && result.hasAutoFixableIssues) {
|
|
71404
|
-
const { runConfigDoctorWithFixes } = await import("./config-doctor-
|
|
71404
|
+
const { runConfigDoctorWithFixes } = await import("./config-doctor-9txawzng.js");
|
|
71405
71405
|
const fixResult = await runConfigDoctorWithFixes(directory, config, true, {
|
|
71406
71406
|
applyLossy: true
|
|
71407
71407
|
});
|
|
@@ -71439,7 +71439,7 @@ async function handleDoctorCommand(directory, args) {
|
|
|
71439
71439
|
`;
|
|
71440
71440
|
}
|
|
71441
71441
|
try {
|
|
71442
|
-
const { runModelPreflight } = await import("./model-preflight-
|
|
71442
|
+
const { runModelPreflight } = await import("./model-preflight-d6tt7479.js");
|
|
71443
71443
|
const preflight = await runModelPreflight(config, swarmState.opencodeClient, { generatedAgentNames: swarmState.generatedAgentNames });
|
|
71444
71444
|
const missingSelection = preflight.resolutions.filter((resolution) => resolution.status === "missing-selection");
|
|
71445
71445
|
const unresolved = preflight.catalogAvailable ? preflight.resolutions.filter((resolution) => resolution.status === "unresolved") : [];
|
|
@@ -71473,7 +71473,7 @@ async function handleDoctorCommand(directory, args) {
|
|
|
71473
71473
|
}
|
|
71474
71474
|
} catch {}
|
|
71475
71475
|
try {
|
|
71476
|
-
const { renderKnowledgeReceiptPhaseIdSection } = await import("./doctor-knowledge-receipt-phase-id-
|
|
71476
|
+
const { renderKnowledgeReceiptPhaseIdSection } = await import("./doctor-knowledge-receipt-phase-id-z8wea03e.js");
|
|
71477
71477
|
output += await renderKnowledgeReceiptPhaseIdSection(directory, enableAutoFix);
|
|
71478
71478
|
} catch {}
|
|
71479
71479
|
const strayDirs = detectStraySwarmDirs(directory);
|
|
@@ -73490,7 +73490,7 @@ async function handleEvidenceCommand(directory, args) {
|
|
|
73490
73490
|
return formatTaskEvidenceMarkdown(evidenceData);
|
|
73491
73491
|
}
|
|
73492
73492
|
async function handleEvidenceSummaryCommand(directory) {
|
|
73493
|
-
const { buildEvidenceSummary } = await import("./evidence-summary-service-
|
|
73493
|
+
const { buildEvidenceSummary } = await import("./evidence-summary-service-bg5zq78s.js");
|
|
73494
73494
|
const artifact = await buildEvidenceSummary(directory);
|
|
73495
73495
|
if (!artifact) {
|
|
73496
73496
|
return "No plan found. Run `/swarm plan` to check plan status.";
|
|
@@ -74491,6 +74491,26 @@ async function probeFullAutoOversightHealth(input) {
|
|
|
74491
74491
|
|
|
74492
74492
|
// src/commands/full-auto.ts
|
|
74493
74493
|
init_logger();
|
|
74494
|
+
function authorizeFullAuto(directory) {
|
|
74495
|
+
const { config, configHadErrors } = loadPluginConfigWithMeta(directory);
|
|
74496
|
+
if (configHadErrors) {
|
|
74497
|
+
return {
|
|
74498
|
+
authorized: false,
|
|
74499
|
+
message: "Error: Full-Auto Mode cannot be enabled \u2014 a swarm plugin config file exists but could not be loaded, so full_auto.locked cannot be verified. Fix the config file (see warnings above) and retry.",
|
|
74500
|
+
config,
|
|
74501
|
+
configHadErrors
|
|
74502
|
+
};
|
|
74503
|
+
}
|
|
74504
|
+
if (config.full_auto?.locked === true) {
|
|
74505
|
+
return {
|
|
74506
|
+
authorized: false,
|
|
74507
|
+
message: "Error: Full-Auto Mode is locked for this project (full_auto.locked is true in the swarm plugin config). Runtime activation is disabled by configuration; remove the lock to use /swarm full-auto on.",
|
|
74508
|
+
config,
|
|
74509
|
+
configHadErrors
|
|
74510
|
+
};
|
|
74511
|
+
}
|
|
74512
|
+
return { authorized: true, config, configHadErrors };
|
|
74513
|
+
}
|
|
74494
74514
|
async function handleFullAutoCommand(directory, args, sessionID) {
|
|
74495
74515
|
if (!sessionID || sessionID.trim() === "") {
|
|
74496
74516
|
return "Error: No active session context. Full-Auto Mode requires an active session. Use /swarm-full-auto from within an OpenCode session, or start a session first.";
|
|
@@ -74535,6 +74555,10 @@ async function handleFullAutoCommand(directory, args, sessionID) {
|
|
|
74535
74555
|
return probe.healthy ? `Full-Auto oversight recovery probe succeeded for pause generation ${runState.pauseGeneration ?? 0}. The transport path is healthy, but no denied action was replayed. Use \`/swarm full-auto resume\` within 5 minutes to create a new run generation and re-issue the original action for fresh review.` : `Full-Auto oversight recovery probe failed: ${probe.reason}`;
|
|
74536
74556
|
}
|
|
74537
74557
|
if (parsedCommand.kind === "resume") {
|
|
74558
|
+
const auth = authorizeFullAuto(directory);
|
|
74559
|
+
if (!auth.authorized) {
|
|
74560
|
+
return auth.message;
|
|
74561
|
+
}
|
|
74538
74562
|
const runState = loadFullAutoRunState(directory, sessionID);
|
|
74539
74563
|
if (!canResumeFromProbe(runState)) {
|
|
74540
74564
|
return "Error: resume requires a paused infrastructure/deadline run with a recent successful matching retry-oversight probe. Policy, containment, sandbox, or severe-evidence pauses cannot be resumed by probe.";
|
|
@@ -74568,13 +74592,11 @@ async function handleFullAutoCommand(directory, args, sessionID) {
|
|
|
74568
74592
|
let durableError;
|
|
74569
74593
|
let criticModelAdvisory = "";
|
|
74570
74594
|
try {
|
|
74571
|
-
const
|
|
74595
|
+
const auth = authorizeFullAuto(directory);
|
|
74596
|
+
const config = auth.config;
|
|
74572
74597
|
const fullAutoConfig = config.full_auto;
|
|
74573
|
-
if (newFullAutoMode &&
|
|
74574
|
-
return
|
|
74575
|
-
}
|
|
74576
|
-
if (newFullAutoMode && fullAutoConfig?.locked === true) {
|
|
74577
|
-
return "Error: Full-Auto Mode is locked for this project (full_auto.locked is true in the swarm plugin config). Runtime activation is disabled by configuration; remove the lock to use /swarm full-auto on.";
|
|
74598
|
+
if (newFullAutoMode && !auth.authorized) {
|
|
74599
|
+
return auth.message;
|
|
74578
74600
|
}
|
|
74579
74601
|
const effectiveMode = modeOverride ?? fullAutoConfig?.mode ?? "supervised";
|
|
74580
74602
|
modeLabel = effectiveMode;
|
|
@@ -97934,7 +97956,7 @@ function createCuratorLLMDelegate(directory, mode = "init", sessionId) {
|
|
|
97934
97956
|
}
|
|
97935
97957
|
const sdkOpts = signal ? { signal } : {};
|
|
97936
97958
|
try {
|
|
97937
|
-
const { getSwarmAgents: getSwarmAgents2, resolveFallbackModel: resolveFallbackModel2 } = await import("./index-
|
|
97959
|
+
const { getSwarmAgents: getSwarmAgents2, resolveFallbackModel: resolveFallbackModel2 } = await import("./index-sfjpbnqs.js");
|
|
97938
97960
|
const createResult = await client.session.create({
|
|
97939
97961
|
...sessionId ? {
|
|
97940
97962
|
body: {
|
|
@@ -100271,7 +100293,7 @@ async function cancelPrFeedbackLoopUnlocked(directory, sessionID, reason) {
|
|
|
100271
100293
|
clearedEvents: []
|
|
100272
100294
|
};
|
|
100273
100295
|
try {
|
|
100274
|
-
const { cancelPrFeedbackPublication: cancelPrFeedbackPublication2 } = await import("./pr-workflow-gate-
|
|
100296
|
+
const { cancelPrFeedbackPublication: cancelPrFeedbackPublication2 } = await import("./pr-workflow-gate-3ra6p7k4.js");
|
|
100275
100297
|
await cancelPrFeedbackPublication2(directory, sessionID, reason);
|
|
100276
100298
|
} catch (err) {
|
|
100277
100299
|
warn(`[pr-feedback-loop] cancelPrFeedbackPublication failed (fail-open): ${err instanceof Error ? err.message : String(err)}`);
|
|
@@ -105280,7 +105302,10 @@ async function parseTestOutputViaDispatch(framework, output, baseDir) {
|
|
|
105280
105302
|
function relativeEscapesRoot(relative28) {
|
|
105281
105303
|
return relative28 === ".." || relative28.startsWith(`..${path140.sep}`) || path140.isAbsolute(relative28);
|
|
105282
105304
|
}
|
|
105283
|
-
|
|
105305
|
+
var MAVEN_BUILD_FILES = ["pom.xml"];
|
|
105306
|
+
var GRADLE_BUILD_FILES = ["build.gradle", "build.gradle.kts"];
|
|
105307
|
+
function resolveModuleDirByMarkers(root, files, markerNames) {
|
|
105308
|
+
const hasMarker = (dir) => markerNames.some((marker) => _internals123.existsSync(path140.join(dir, marker)));
|
|
105284
105309
|
const resolvedRoot = path140.resolve(root);
|
|
105285
105310
|
let rootReal;
|
|
105286
105311
|
const isContainedModuleDir = (dir) => {
|
|
@@ -105310,7 +105335,7 @@ function resolveMavenModuleDir(root, files) {
|
|
|
105310
105335
|
}
|
|
105311
105336
|
let current = path140.dirname(resolvedFile);
|
|
105312
105337
|
while (true) {
|
|
105313
|
-
if (
|
|
105338
|
+
if (hasMarker(current) && isContainedModuleDir(current)) {
|
|
105314
105339
|
return current;
|
|
105315
105340
|
}
|
|
105316
105341
|
if (current === resolvedRoot)
|
|
@@ -105341,16 +105366,23 @@ function resolveMavenModuleDir(root, files) {
|
|
|
105341
105366
|
break;
|
|
105342
105367
|
inspected++;
|
|
105343
105368
|
const candidate2 = path140.join(resolvedRoot, entry);
|
|
105344
|
-
if (
|
|
105369
|
+
if (hasMarker(candidate2) && isContainedModuleDir(candidate2)) {
|
|
105345
105370
|
return candidate2;
|
|
105346
105371
|
}
|
|
105347
105372
|
}
|
|
105348
105373
|
return null;
|
|
105349
105374
|
}
|
|
105350
|
-
function
|
|
105351
|
-
if (_internals123.existsSync(path140.join(root,
|
|
105375
|
+
function resolveNestedModuleDir(root, files, markerNames) {
|
|
105376
|
+
if (markerNames.some((marker) => _internals123.existsSync(path140.join(root, marker)))) {
|
|
105352
105377
|
return null;
|
|
105353
|
-
|
|
105378
|
+
}
|
|
105379
|
+
return resolveModuleDirByMarkers(root, files, markerNames);
|
|
105380
|
+
}
|
|
105381
|
+
function resolveNestedMavenModuleDir(root, files) {
|
|
105382
|
+
return resolveNestedModuleDir(root, files, MAVEN_BUILD_FILES);
|
|
105383
|
+
}
|
|
105384
|
+
function resolveNestedGradleModuleDir(root, files) {
|
|
105385
|
+
return resolveNestedModuleDir(root, files, GRADLE_BUILD_FILES);
|
|
105354
105386
|
}
|
|
105355
105387
|
async function detectTestFramework(cwd, files) {
|
|
105356
105388
|
const baseDir = cwd;
|
|
@@ -105448,6 +105480,10 @@ async function detectTestFramework(cwd, files) {
|
|
|
105448
105480
|
if (mavenModuleDir && (_internals123.isCommandAvailable("mvn") || resolveMavenWrapperCommand(mavenModuleDir, ["test"]) !== null)) {
|
|
105449
105481
|
return "maven";
|
|
105450
105482
|
}
|
|
105483
|
+
const gradleModuleDir = resolveNestedGradleModuleDir(baseDir, files);
|
|
105484
|
+
if (gradleModuleDir && (_internals123.isCommandAvailable("gradle") || _internals123.existsSync(path140.join(gradleModuleDir, "gradlew")) || _internals123.existsSync(path140.join(gradleModuleDir, "gradlew.bat")))) {
|
|
105485
|
+
return "gradle";
|
|
105486
|
+
}
|
|
105451
105487
|
return "none";
|
|
105452
105488
|
}
|
|
105453
105489
|
function detectPhpTest(cwd) {
|
|
@@ -105526,6 +105562,13 @@ function buildLanguageSpecificTestNames(nameWithoutExt, ext) {
|
|
|
105526
105562
|
return [];
|
|
105527
105563
|
}
|
|
105528
105564
|
}
|
|
105565
|
+
function findPathSegmentIndex(normalizedPath, segment) {
|
|
105566
|
+
for (let index = normalizedPath.indexOf(segment);index !== -1; index = normalizedPath.indexOf(segment, index + 1)) {
|
|
105567
|
+
if (index === 0 || normalizedPath[index - 1] === "/")
|
|
105568
|
+
return index;
|
|
105569
|
+
}
|
|
105570
|
+
return -1;
|
|
105571
|
+
}
|
|
105529
105572
|
function getRepoLevelCandidateDirectories(workingDir, relativePath2, ext) {
|
|
105530
105573
|
const relativeDir = path140.dirname(relativePath2);
|
|
105531
105574
|
const nestedRelativeDir = relativeDir === "." ? "" : relativeDir;
|
|
@@ -105534,11 +105577,17 @@ function getRepoLevelCandidateDirectories(workingDir, relativePath2, ext) {
|
|
|
105534
105577
|
return nestedRelativeDir ? [rootDir2, path140.join(rootDir2, nestedRelativeDir)] : [rootDir2];
|
|
105535
105578
|
});
|
|
105536
105579
|
const normalizedRelativePath = relativePath2.replace(/\\/g, "/");
|
|
105537
|
-
if (ext === ".java"
|
|
105538
|
-
|
|
105580
|
+
if (ext === ".java") {
|
|
105581
|
+
const index = findPathSegmentIndex(normalizedRelativePath, "src/main/java/");
|
|
105582
|
+
if (index !== -1) {
|
|
105583
|
+
directories.push(path140.join(workingDir, normalizedRelativePath.slice(0, index), "src/test/java", path140.dirname(normalizedRelativePath.slice(index + "src/main/java/".length))));
|
|
105584
|
+
}
|
|
105539
105585
|
}
|
|
105540
|
-
if (
|
|
105541
|
-
|
|
105586
|
+
if (ext === ".kt" || ext === ".java") {
|
|
105587
|
+
const index = findPathSegmentIndex(normalizedRelativePath, "src/main/kotlin/");
|
|
105588
|
+
if (index !== -1) {
|
|
105589
|
+
directories.push(path140.join(workingDir, normalizedRelativePath.slice(0, index), "src/test/kotlin", path140.dirname(normalizedRelativePath.slice(index + "src/main/kotlin/".length))));
|
|
105590
|
+
}
|
|
105542
105591
|
}
|
|
105543
105592
|
return [...new Set(directories)];
|
|
105544
105593
|
}
|
|
@@ -105740,6 +105789,22 @@ function getTargetedExecutionUnsupportedReason(framework) {
|
|
|
105740
105789
|
return null;
|
|
105741
105790
|
}
|
|
105742
105791
|
}
|
|
105792
|
+
var CLASS_BASED_TEST_EXTENSIONS = new Set([".java", ".kt", ".groovy"]);
|
|
105793
|
+
function deriveClassBasedTargets(files) {
|
|
105794
|
+
const derived = [];
|
|
105795
|
+
const seen = new Set;
|
|
105796
|
+
for (const file of files) {
|
|
105797
|
+
const ext = path140.extname(file);
|
|
105798
|
+
if (!CLASS_BASED_TEST_EXTENSIONS.has(ext.toLowerCase()))
|
|
105799
|
+
return [];
|
|
105800
|
+
const className = path140.basename(file, ext);
|
|
105801
|
+
if (!className || seen.has(className))
|
|
105802
|
+
continue;
|
|
105803
|
+
seen.add(className);
|
|
105804
|
+
derived.push(className);
|
|
105805
|
+
}
|
|
105806
|
+
return derived;
|
|
105807
|
+
}
|
|
105743
105808
|
function buildTestCommand(framework, scope, files, coverage, baseDir, bail, targets, nativeTarget) {
|
|
105744
105809
|
if (nativeTarget) {
|
|
105745
105810
|
return nativeTarget.framework === framework ? buildNativeTargetCommand(nativeTarget) : null;
|
|
@@ -106361,7 +106426,14 @@ async function runTests(framework, scope, files, coverage, timeout_ms, cwd, bail
|
|
|
106361
106426
|
resolvedNativeTarget = resolvedTarget.target;
|
|
106362
106427
|
executionCwd = resolvedTarget.executionDirectory;
|
|
106363
106428
|
}
|
|
106364
|
-
|
|
106429
|
+
let effectiveTargets = targets;
|
|
106430
|
+
if (scope !== "all" && scope !== "target" && files.length > 0 && !(targets && targets.length > 0) && (framework === "maven" || framework === "gradle")) {
|
|
106431
|
+
const derivedTargets = deriveClassBasedTargets(files);
|
|
106432
|
+
if (derivedTargets.length > 0) {
|
|
106433
|
+
effectiveTargets = derivedTargets;
|
|
106434
|
+
}
|
|
106435
|
+
}
|
|
106436
|
+
if (scope !== "all" && scope !== "target" && files.length > 0 && !(effectiveTargets && effectiveTargets.length > 0)) {
|
|
106365
106437
|
const unsupportedReason = getTargetedExecutionUnsupportedReason(framework);
|
|
106366
106438
|
if (unsupportedReason) {
|
|
106367
106439
|
return {
|
|
@@ -106375,7 +106447,7 @@ async function runTests(framework, scope, files, coverage, timeout_ms, cwd, bail
|
|
|
106375
106447
|
}
|
|
106376
106448
|
}
|
|
106377
106449
|
const useDispatchBuild = process.env.SWARM_LANG_BACKEND !== "legacy";
|
|
106378
|
-
const command = useDispatchBuild ? await buildTestCommandViaDispatch(framework, scope, files, coverage, executionCwd, bail,
|
|
106450
|
+
const command = useDispatchBuild ? await buildTestCommandViaDispatch(framework, scope, files, coverage, executionCwd, bail, effectiveTargets, resolvedNativeTarget) ?? buildTestCommand(framework, scope, files, coverage, executionCwd, bail, effectiveTargets, resolvedNativeTarget) : buildTestCommand(framework, scope, files, coverage, executionCwd, bail, effectiveTargets, resolvedNativeTarget);
|
|
106379
106451
|
if (!command) {
|
|
106380
106452
|
return {
|
|
106381
106453
|
success: false,
|
|
@@ -106880,6 +106952,11 @@ var test_runner = createSwarmTool({
|
|
|
106880
106952
|
if (mavenModuleDir) {
|
|
106881
106953
|
nativeExecutionDirectory = mavenModuleDir;
|
|
106882
106954
|
}
|
|
106955
|
+
} else if (scope !== "target" && framework === "gradle") {
|
|
106956
|
+
const gradleModuleDir = resolveNestedGradleModuleDir(workingDir, _files);
|
|
106957
|
+
if (gradleModuleDir) {
|
|
106958
|
+
nativeExecutionDirectory = gradleModuleDir;
|
|
106959
|
+
}
|
|
106883
106960
|
}
|
|
106884
106961
|
let testFiles = [];
|
|
106885
106962
|
let graphFallbackReason;
|
|
@@ -116630,7 +116707,7 @@ function buildDetailedHelp(commandName, entry) {
|
|
|
116630
116707
|
async function handleHelpCommand(ctx) {
|
|
116631
116708
|
const targetCommand = ctx.args.join(" ");
|
|
116632
116709
|
if (!targetCommand) {
|
|
116633
|
-
const { buildHelpText } = await import("./index-
|
|
116710
|
+
const { buildHelpText } = await import("./index-fthhppnc.js");
|
|
116634
116711
|
return buildHelpText();
|
|
116635
116712
|
}
|
|
116636
116713
|
const tokens = targetCommand.split(/\s+/);
|
|
@@ -116644,7 +116721,7 @@ async function handleHelpCommand(ctx) {
|
|
|
116644
116721
|
> Note: \`/swarm ${resolved.key}\` is a deprecated alias for \`/swarm ${aliasTarget}\`.` : detailed;
|
|
116645
116722
|
}
|
|
116646
116723
|
const similar = _internals35.findSimilarCommands(targetCommand);
|
|
116647
|
-
const { buildHelpText: fullHelp } = await import("./index-
|
|
116724
|
+
const { buildHelpText: fullHelp } = await import("./index-fthhppnc.js");
|
|
116648
116725
|
if (similar.length > 0) {
|
|
116649
116726
|
return `Command '/swarm ${targetCommand}' not found.
|
|
116650
116727
|
|
|
@@ -116972,7 +117049,7 @@ var COMMAND_REGISTRY = {
|
|
|
116972
117049
|
},
|
|
116973
117050
|
"guardrail explain": {
|
|
116974
117051
|
handler: async (ctx) => {
|
|
116975
|
-
const { handleGuardrailExplain } = await import("./guardrail-explain-
|
|
117052
|
+
const { handleGuardrailExplain } = await import("./guardrail-explain-n8bm0hpm.js");
|
|
116976
117053
|
return handleGuardrailExplain(ctx.directory, ctx.args);
|
|
116977
117054
|
},
|
|
116978
117055
|
description: "Dry-run: show what the guardrails would do to a command or write target (executes nothing)",
|
|
@@ -116982,7 +117059,7 @@ var COMMAND_REGISTRY = {
|
|
|
116982
117059
|
},
|
|
116983
117060
|
"guardrail reset": {
|
|
116984
117061
|
handler: async (ctx) => {
|
|
116985
|
-
const { handleGuardrailReset } = await import("./guardrail-reset-
|
|
117062
|
+
const { handleGuardrailReset } = await import("./guardrail-reset-0q54t44w.js");
|
|
116986
117063
|
return handleGuardrailReset(ctx.args, ctx.sessionID);
|
|
116987
117064
|
},
|
|
116988
117065
|
description: "Reset one exact active invocation/action circuit after repair",
|
|
@@ -117003,7 +117080,7 @@ var COMMAND_REGISTRY = {
|
|
|
117003
117080
|
},
|
|
117004
117081
|
"guardrail-log": {
|
|
117005
117082
|
handler: async (ctx) => {
|
|
117006
|
-
const { handleGuardrailLog } = await import("./guardrail-log-
|
|
117083
|
+
const { handleGuardrailLog } = await import("./guardrail-log-r2zazmbn.js");
|
|
117007
117084
|
return handleGuardrailLog(ctx.directory, ctx.args);
|
|
117008
117085
|
},
|
|
117009
117086
|
description: "Read the guardrail decision log (use --blocks-only for blocks)",
|
|
@@ -117841,7 +117918,7 @@ Subcommands:
|
|
|
117841
117918
|
handler: (ctx) => handleFullAutoCommand(ctx.directory, ctx.args, ctx.sessionID),
|
|
117842
117919
|
description: "Control Full-Auto Mode for the active session [on [mode]|off|exit|status|retry-oversight|resume|abort]",
|
|
117843
117920
|
args: "on [assisted|supervised|strict], off|exit, status, retry-oversight, resume, abort",
|
|
117844
|
-
details: 'First-class toggle for Full-Auto Mode \u2014 a critic gate reviewing escalations on your behalf (the architect still plans and delegates; full-auto never executes tasks itself). No config-level enablement is required: "on" activates immediately (unless full_auto.locked is true in config), "off" disarms the run and returns the session to normal interactive operation, "status" reports the durable run state. ' + 'An optional mode after "on" overrides full_auto.mode for this run: assisted (critic consulted only on policy escalations), supervised (default \u2014 risky/high-impact actions reviewed by the critic), strict (ALL plan mutations reviewed by the critic). ' + "While active, the critic answers architect questions and reviews phase boundaries, delegations, and risky actions on your behalf; only ESCALATE_TO_HUMAN verdicts halt the run for your input. `retry-oversight` performs a transport-only health probe for an infrastructure/deadline pause and never replays the denied action. `resume` requires a recent successful matching probe and no active recovery blockers. `abort` terminates the durable run immediately. The run state is durable (.swarm/full-auto-state.json) and survives restarts; toggle with no argument flips the current state. Composes with an open epic (Epic Mode): both the Full-Auto phase approval and the epic_phase_readiness gate apply at phase_complete.",
|
|
117921
|
+
details: 'First-class toggle for Full-Auto Mode \u2014 a critic gate reviewing escalations on your behalf (the architect still plans and delegates; full-auto never executes tasks itself). No config-level enablement is required: "on" activates immediately (unless full_auto.locked is true in config), "off" disarms the run and returns the session to normal interactive operation, "status" reports the durable run state. ' + 'An optional mode after "on" overrides full_auto.mode for this run: assisted (critic consulted only on policy escalations), supervised (default \u2014 risky/high-impact actions reviewed by the critic), strict (ALL plan mutations reviewed by the critic). ' + "While active, the critic answers architect questions and reviews phase boundaries, delegations, and risky actions on your behalf; only ESCALATE_TO_HUMAN verdicts halt the run for your input. `retry-oversight` performs a transport-only health probe for an infrastructure/deadline pause and never replays the denied action. `resume` runs the same authorization preflight as `on` first (readable config; `full_auto.locked` refuses), then requires a recent successful matching probe and no active recovery blockers. `abort` terminates the durable run immediately. The run state is durable (.swarm/full-auto-state.json) and survives restarts; toggle with no argument flips the current state. Composes with an open epic (Epic Mode): both the Full-Auto phase approval and the epic_phase_readiness gate apply at phase_complete.",
|
|
117845
117922
|
category: "utility",
|
|
117846
117923
|
toolPolicy: "human-only"
|
|
117847
117924
|
},
|