opencode-swarm 7.166.4 → 7.167.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/{coder-settlement-yynntj5j.js → coder-settlement-2ye4s5xr.js} +3 -3
- package/dist/cli/{config-doctor-8asc35km.js → config-doctor-b0k8eyd6.js} +2 -2
- package/dist/cli/{core-qrbhs2q4.js → core-xgzgjk8s.js} +1 -1
- package/dist/cli/{curator-qk4xmkv4.js → curator-jpvzrxcv.js} +19 -19
- package/dist/cli/{curator-llm-factory-rs4921ks.js → curator-llm-factory-zeb0pe2j.js} +19 -19
- package/dist/cli/{evidence-summary-service-rktcp3s4.js → evidence-summary-service-74az43cb.js} +6 -6
- package/dist/cli/{gate-evidence-k6nzqca1.js → gate-evidence-f26h2gn3.js} +2 -2
- package/dist/cli/{guardrail-explain-jdspxzjr.js → guardrail-explain-5vhveypz.js} +20 -20
- package/dist/cli/{guardrail-log-962pzjev.js → guardrail-log-pnye3xw8.js} +3 -3
- package/dist/cli/{guardrail-reset-dv02t0bm.js → guardrail-reset-0da7q8ap.js} +19 -19
- package/dist/cli/{hive-promoter-9zzr28p2.js → hive-promoter-2vj54xc4.js} +19 -19
- package/dist/cli/{index-5qws47d4.js → index-32bxwzw0.js} +416 -72
- package/dist/cli/{index-gsftf6c8.js → index-54vzqy47.js} +3 -3
- package/dist/cli/{index-m9q6f3ty.js → index-69y9p6dh.js} +2 -2
- package/dist/cli/{index-7g5kdtvw.js → index-79wnzc8q.js} +1 -1
- package/dist/cli/{index-shqhq68n.js → index-87agfprq.js} +11 -3
- package/dist/cli/{index-x8c42y8s.js → index-8x4zwk0t.js} +21 -21
- package/dist/cli/{index-3s194swm.js → index-9bhzbwa4.js} +4 -4
- package/dist/cli/{index-gccxen4x.js → index-bf6zx8cq.js} +5 -1
- package/dist/cli/{index-bxrxqwce.js → index-bv8ha57q.js} +1 -1
- package/dist/cli/{index-qv4byzwp.js → index-bzdc4b7t.js} +3 -3
- package/dist/cli/{index-9eswrdp5.js → index-emwezg3y.js} +1 -1
- package/dist/cli/{index-z62gdhkd.js → index-eretcr6t.js} +3 -3
- package/dist/cli/{index-0v6bf0j9.js → index-es13aqdb.js} +1 -1
- package/dist/cli/{index-wd86yj53.js → index-f8xk5q5j.js} +1 -1
- package/dist/cli/{index-v5wanchr.js → index-fenasyvr.js} +1 -1
- package/dist/cli/{index-8ewgab6z.js → index-fmzz6aw7.js} +1 -1
- package/dist/cli/{index-st1zw5ps.js → index-hdsg7yf6.js} +2 -2
- package/dist/cli/{index-gr5wg0nj.js → index-mgc3c483.js} +2 -2
- package/dist/cli/{index-n189w64j.js → index-q265ytw6.js} +1 -1
- package/dist/cli/{index-n65x6e1y.js → index-qtd3hrk8.js} +5 -5
- package/dist/cli/{index-kwervbv6.js → index-qyr17fbz.js} +3 -3
- package/dist/cli/{index-kz44j3qe.js → index-z5gdgdkp.js} +3 -3
- package/dist/cli/{index-3ct7fd75.js → index-zwsbegc1.js} +1 -1
- package/dist/cli/index.js +19 -19
- package/dist/cli/{knowledge-escalator-w4bfnks3.js → knowledge-escalator-p2a8xh8x.js} +6 -6
- package/dist/cli/{knowledge-events-wmnx8m6b.js → knowledge-events-jmh28m8d.js} +4 -4
- package/dist/cli/{knowledge-store-5442ph4m.js → knowledge-store-8gmabtsn.js} +1 -1
- package/dist/cli/{knowledge-validator-5rmardr4.js → knowledge-validator-yk579vs4.js} +2 -2
- package/dist/cli/{pending-delegations-ea6zpqw2.js → pending-delegations-nw7ph53z.js} +2 -2
- package/dist/cli/{pr-subscriptions-yqxt0avv.js → pr-subscriptions-9815fxbc.js} +1 -1
- package/dist/cli/{pr-workflow-gate-px36rczj.js → pr-workflow-gate-98a7b6py.js} +19 -19
- package/dist/cli/{scan-cursor-efrage98.js → scan-cursor-6zcs0frg.js} +2 -2
- package/dist/cli/{schema-w2sds948.js → schema-warvhy9h.js} +3 -1
- package/dist/cli/{scope-persistence-dd7p3tdv.js → scope-persistence-c2ck77cv.js} +5 -5
- package/dist/cli/{skill-generator-c0720k51.js → skill-generator-jamm1cna.js} +7 -7
- package/dist/cli/{snapshot-coordination-init-dp42vvme.js → snapshot-coordination-init-st0xsn3f.js} +19 -19
- package/dist/cli/{worktree-collision-ownership-emh2yhpx.js → worktree-collision-ownership-qra7r8pw.js} +2 -2
- package/dist/cli/{worktree-isolation-a8f1yahq.js → worktree-isolation-yr9gnf64.js} +19 -19
- package/dist/config/schema.d.ts +24 -0
- package/dist/hooks/lane-liveness-watchdog.d.ts +102 -0
- package/dist/hooks/pr-workflow-gate.d.ts +87 -1
- package/dist/index.js +12 -11
- package/dist/tools/dispatch-lanes.d.ts +9 -0
- package/opencode-swarm.schema.json +35 -0
- package/package.json +1 -1
|
@@ -6,6 +6,7 @@ import { type BackgroundDelegationRecord, type BackgroundDelegationResult, type
|
|
|
6
6
|
import { PR_REVIEW_BASE_DIMENSION_IDS, type PrReviewLaneResultEnvelope, type PrReviewRiskImpact, type PrReviewRiskTag } from '../background/pr-review-contract.js';
|
|
7
7
|
import { type PrReviewInlineTriggerRow } from '../background/pr-review-trigger-contract.js';
|
|
8
8
|
import { type RevisionDigestResult, resolveCommitCountSince, resolveCommitCountSinceAsync, resolveCurrentGitHead, resolveCurrentGitHeadAsync, resolveCurrentLocalHeadRefAsync, resolveCurrentUpstreamPushTarget, resolveCurrentUpstreamPushTargetAsync, resolveCurrentUpstreamRemoteRef, resolveExactRemoteBranchHead, resolveExactRemoteBranchHeadAsync, resolveIsExactSingleChildCommit, resolveIsExactSingleChildCommitAsync, resolveIsWorkingTreeClean, resolveIsWorkingTreeCleanAsync, resolvePrReviewDiffStats, resolvePrReviewDiffStatsAsync, resolvePrWorkflowRevisionDigest, resolvePrWorkflowRevisionDigestDetailed, resolveRemoteRefsContainingHead, resolveRemoteRefsContainingHeadAsync, resolveRemoteUrlIdentity, resolveRemoteUrlIdentityAsync } from '../background/workspace-snapshot.js';
|
|
9
|
+
import type { LaneLivenessWatchdogConfig } from '../config/schema.js';
|
|
9
10
|
import { type PrReviewResilienceConfig } from '../config/schema.js';
|
|
10
11
|
import { classifyPrWorkflowGitState, type PrWorkflowGitState } from '../git/pr-workflow-state.js';
|
|
11
12
|
import { type PrReviewReentryAuthorizationRecord, type PrReviewReentryBindingContext, type PrReviewReentryRole } from '../pr-review/authorization.js';
|
|
@@ -13,6 +14,7 @@ import { classifyPrReviewCircuitSignal, type PrReviewCircuitLegacyRecord, type P
|
|
|
13
14
|
import { type PrReviewDimensionCancellationRecord, type PrReviewPartialBaseCoverageRecord, type PrReviewReportVerdict, type PrReviewTerminalCoverageSettlement } from '../pr-review/completion.js';
|
|
14
15
|
import { type PrReviewComposablePhase, type PrReviewPhaseComposition, parseCriticVerdict } from '../pr-review/legacy-transcript-adapter.js';
|
|
15
16
|
import { withPrWorkflowCheckoutMutationLock, workflowCheckoutMutationLockRelativePath, workflowGateStateLockRelativePath, workflowGateStateRelativePath } from '../pr-review/persistence.js';
|
|
17
|
+
import { classifyLaneLivenessCondition, type EffectivePrLaneHorizon, resolveEffectivePrLaneHorizonMs } from './lane-liveness-watchdog.js';
|
|
16
18
|
export type { PrReviewDimensionCancellationRecord, PrReviewDimensionTerminalState, PrReviewPartialBaseCoverageRecord, PrReviewPartialBaseCoverageRecordV1, PrReviewPartialBaseCoverageRecordV2, PrReviewReportVerdict, PrReviewTerminalCoverageKind, PrReviewTerminalCoverageSettlement, PrReviewUnresolvedDimensionRecord, } from '../pr-review/completion.js';
|
|
17
19
|
export { allowedPrReviewReportVerdicts, normalizePrReviewPartialBaseCoverageRecord, PR_REVIEW_REPORT_VERDICTS, readPrReviewTerminalCoverageForReport, rollbackPrReviewPartialBaseCoverageAdmission, } from '../pr-review/completion.js';
|
|
18
20
|
export { ensurePrWorkflowSafeParentDirectory, PrWorkflowCheckoutMutationTimeoutError, prWorkflowSessionFileStem, withPrWorkflowCheckoutMutationLock, writePrWorkflowAtomicJson, } from '../pr-review/persistence.js';
|
|
@@ -650,9 +652,29 @@ interface PrWorkflowLaneLivenessSessionOps {
|
|
|
650
652
|
}> | null;
|
|
651
653
|
error?: unknown;
|
|
652
654
|
}>;
|
|
655
|
+
/**
|
|
656
|
+
* Issue #2506: the watchdog's best-effort, one-attempt lane abort. The
|
|
657
|
+
* host session object exposes it; the seam type keeps it optional so the
|
|
658
|
+
* probe-only hosts of the #2251 era remain valid.
|
|
659
|
+
*/
|
|
660
|
+
abort?: (args: unknown) => Promise<unknown>;
|
|
653
661
|
}
|
|
654
662
|
/** Why a probe produced no evidence of life. Absent means the probe ran. */
|
|
655
663
|
export type PrWorkflowLaneProbeDegradedReason = 'probe-unavailable' | 'probe-error' | 'probe-timeout' | 'probe-no-data';
|
|
664
|
+
/**
|
|
665
|
+
* Core session-status probe shared by the fail-open liveness probe below and
|
|
666
|
+
* the pending-lane liveness advisory (issue #2280 Part B). Same host call,
|
|
667
|
+
* deadline, and failure taxonomy as the probe; instead of collapsing each
|
|
668
|
+
* session to allowlist membership it records the status TYPE the host reported
|
|
669
|
+
* for every record that has one, so a caller can distinguish "live" from
|
|
670
|
+
* "affirmatively non-live" from "session absent". Failure modes return the
|
|
671
|
+
* empty map plus a `degradedReason` — a probe that did not fully read its
|
|
672
|
+
* response never yields a partial map.
|
|
673
|
+
*/
|
|
674
|
+
declare function probePrWorkflowLaneSessionStatusTypes(directory: string, records: readonly BackgroundDelegationRecord[], timeoutMs?: number): Promise<{
|
|
675
|
+
statuses: Map<string, string>;
|
|
676
|
+
degradedReason?: PrWorkflowLaneProbeDegradedReason;
|
|
677
|
+
}>;
|
|
656
678
|
/**
|
|
657
679
|
* Probe which of `records` have a session the host affirmatively reports as
|
|
658
680
|
* still running (issue #2251).
|
|
@@ -757,6 +779,14 @@ export interface PrWorkflowStaleLaneSettlement {
|
|
|
757
779
|
freshOpenLanes: number;
|
|
758
780
|
/** Lanes stale past the horizon, treated as settled with disclosure. */
|
|
759
781
|
presumedStaleLaneIds: string[];
|
|
782
|
+
/**
|
|
783
|
+
* Present ONLY when the configured `hooks.background_pending_timeout_minutes`
|
|
784
|
+
* disagrees with the ONE effective horizon this settlement used (issue
|
|
785
|
+
* #2506 AC2). Fixed template, no second horizon is created — the field
|
|
786
|
+
* exists so the disagreement is observable on tool responses instead of
|
|
787
|
+
* being silently absorbed.
|
|
788
|
+
*/
|
|
789
|
+
horizonConflictNote?: string;
|
|
760
790
|
/**
|
|
761
791
|
* Lanes past the horizon that the probe spared. Present only when non-empty.
|
|
762
792
|
*/
|
|
@@ -809,7 +839,33 @@ export interface PrWorkflowStaleLaneSettlement {
|
|
|
809
839
|
* {@link probePrWorkflowLaneSessionStatusTypes} — so an unavailable, erroring
|
|
810
840
|
* or empty probe leaves the age-only behaviour exactly as it was.
|
|
811
841
|
*/
|
|
812
|
-
|
|
842
|
+
/**
|
|
843
|
+
* Issue #2506 (G2): optional lane-liveness watchdog options for the on-demand
|
|
844
|
+
* settlement entry points. The two-argument call shape every existing caller
|
|
845
|
+
* uses means "watchdog disabled" (the default-off config contract).
|
|
846
|
+
*/
|
|
847
|
+
export interface PrWorkflowLaneLivenessOptions {
|
|
848
|
+
laneLivenessWatchdog?: LaneLivenessWatchdogConfig;
|
|
849
|
+
backgroundPendingTimeoutMs?: number;
|
|
850
|
+
}
|
|
851
|
+
/**
|
|
852
|
+
* The #2506 stall-escalation evaluation for the lanes a settlement still
|
|
853
|
+
* considers open or probe-retained: escalate each lane whose session is
|
|
854
|
+
* busy/retry and whose observed activity in the last `stall_threshold_ms`
|
|
855
|
+
* missed BOTH the step and the estimated-token thresholds, deduped per lane
|
|
856
|
+
* against the last escalation event unless activity was observed since.
|
|
857
|
+
* Advisory by design: an escalated lane is never settled or aborted here —
|
|
858
|
+
* the operator response (inspect, or the human-only force abort) owns that.
|
|
859
|
+
*/
|
|
860
|
+
declare function evaluateLaneLivenessWatchdogEscalation(args: {
|
|
861
|
+
directory: string;
|
|
862
|
+
sessionID: string;
|
|
863
|
+
lanes: BackgroundDelegationRecord[];
|
|
864
|
+
sessionTypes: Map<string, string>;
|
|
865
|
+
watchdog: LaneLivenessWatchdogConfig;
|
|
866
|
+
horizon: EffectivePrLaneHorizon;
|
|
867
|
+
}): Promise<void>;
|
|
868
|
+
export declare function settlePresumedStalePrWorkflowLanes(directory: string, sessionID: string, options?: PrWorkflowLaneLivenessOptions): Promise<PrWorkflowStaleLaneSettlement>;
|
|
813
869
|
/**
|
|
814
870
|
* Abort an active PR workflow gate without reaching terminal completion.
|
|
815
871
|
*
|
|
@@ -853,6 +909,8 @@ export declare function abortPrWorkflow(directory: string, sessionID: string, op
|
|
|
853
909
|
* `recovery`/`force` aborts remain refused while armed.
|
|
854
910
|
*/
|
|
855
911
|
cancelPublication?: boolean;
|
|
912
|
+
/** Issue #2506: lane-liveness watchdog config for this settlement. */
|
|
913
|
+
laneLiveness?: PrWorkflowLaneLivenessOptions;
|
|
856
914
|
}): Promise<{
|
|
857
915
|
mode: PrWorkflowMode;
|
|
858
916
|
prHeadSha?: string;
|
|
@@ -914,6 +972,8 @@ export declare function recoverArmedPrWorkflow(directory: string, sessionID: str
|
|
|
914
972
|
generation: number;
|
|
915
973
|
workflowInstanceId?: string;
|
|
916
974
|
reason: string;
|
|
975
|
+
/** Issue #2506: lane-liveness watchdog config for this settlement. */
|
|
976
|
+
laneLiveness?: PrWorkflowLaneLivenessOptions;
|
|
917
977
|
}): Promise<{
|
|
918
978
|
mode: PrWorkflowMode;
|
|
919
979
|
prHeadSha: string;
|
|
@@ -1250,6 +1310,8 @@ export declare function transitionPrReviewToFeedback(directory: string, sessionI
|
|
|
1250
1310
|
prUrl?: string;
|
|
1251
1311
|
exactCommand?: string;
|
|
1252
1312
|
confirmedByUser?: boolean;
|
|
1313
|
+
/** Issue #2506 review round 2: watchdog policy for the readiness settle. */
|
|
1314
|
+
laneLiveness?: PrWorkflowLaneLivenessOptions;
|
|
1253
1315
|
}): Promise<PrWorkflowGateState>;
|
|
1254
1316
|
export declare function declarePrFeedbackScope(directory: string, sessionID: string, taskId: string, files: string[]): Promise<PrWorkflowGateState>;
|
|
1255
1317
|
export declare function resolvePrFeedbackScopeDeclaration(directory: string, sessionID: string, taskId: string): Promise<PrFeedbackScopeDeclarationRecord | null>;
|
|
@@ -1291,6 +1353,8 @@ export declare function reserveActivePrReviewReentryAuthorization(directory: str
|
|
|
1291
1353
|
}): Promise<PrReviewReentryAuthorizationRecord | null>;
|
|
1292
1354
|
export declare function completePrWorkflow(directory: string, sessionID: string, expectedMode: PrWorkflowMode, prHeadSha: string, options?: {
|
|
1293
1355
|
reportVerdict?: PrReviewReportVerdict;
|
|
1356
|
+
/** Issue #2506: lane-liveness watchdog config for this settlement. */
|
|
1357
|
+
laneLiveness?: PrWorkflowLaneLivenessOptions;
|
|
1294
1358
|
}): Promise<PrWorkflowCompletionStatus>;
|
|
1295
1359
|
export declare const _test_exports: {
|
|
1296
1360
|
classifyPrReviewCircuitSignal: typeof classifyPrReviewCircuitSignal;
|
|
@@ -1339,6 +1403,28 @@ export declare const _test_exports: {
|
|
|
1339
1403
|
sweepStaleDelegationsAsync: typeof sweepStaleDelegations;
|
|
1340
1404
|
/** The fail-open liveness probe (issue #2251). */
|
|
1341
1405
|
probeLaneLivenessAsync: typeof probeAlivePrWorkflowLaneSessions;
|
|
1406
|
+
/**
|
|
1407
|
+
* The types-carrying variant of the liveness probe (issue #2506): one
|
|
1408
|
+
* shared status call returning per-session status TYPES, so the watchdog
|
|
1409
|
+
* can distinguish `retry` (provider latency) from `busy` (past-deadline
|
|
1410
|
+
* execution) without a second host round-trip. Seam for the same
|
|
1411
|
+
* order-independence reason as `probeLaneLivenessAsync`.
|
|
1412
|
+
*/
|
|
1413
|
+
probeLaneSessionStatusTypesAsync: typeof probePrWorkflowLaneSessionStatusTypes;
|
|
1414
|
+
/**
|
|
1415
|
+
* The #2506 lane-liveness watchdog surface: the pure policy functions,
|
|
1416
|
+
* the overridable transcript-activity reader, and the live budget
|
|
1417
|
+
* counters (zeroed by `resetTrackedStateCache`).
|
|
1418
|
+
*/
|
|
1419
|
+
laneLivenessWatchdog: {
|
|
1420
|
+
resolveEffectivePrLaneHorizonMs: typeof resolveEffectivePrLaneHorizonMs;
|
|
1421
|
+
classifyLaneLivenessCondition: typeof classifyLaneLivenessCondition;
|
|
1422
|
+
evaluateLaneLivenessWatchdog: typeof evaluateLaneLivenessWatchdogEscalation;
|
|
1423
|
+
readLaneActivity: import("./lane-liveness-watchdog.js").ReadLaneActivity;
|
|
1424
|
+
hostStatusCalls: number;
|
|
1425
|
+
hostAbortCalls: number;
|
|
1426
|
+
evaluations: number;
|
|
1427
|
+
};
|
|
1342
1428
|
/**
|
|
1343
1429
|
* Session handle for the liveness probe.
|
|
1344
1430
|
*
|