@overdeck/desktop 0.45.10 → 0.45.11
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/package.json +1 -1
- package/server/{advancing-selfheal-CMlGznKv.js → advancing-selfheal-BezNfM3P.js} +3 -3
- package/server/{agent-state-xk_G8t90.js → agent-state-BUANcaA7.js} +1 -1
- package/server/{agent-state-service-C1iUF9Ft.js → agent-state-service-DmFpIMbP.js} +1 -1
- package/server/{agent-state-service-5ge9xxhx.js → agent-state-service-tXUdp6UF.js} +2 -2
- package/server/{agents-BIggLvi_.js → agents-C-vqmKDi.js} +1 -1
- package/server/{agents-DHvsjsuP.js → agents-C7V4odQ6.js} +11 -11
- package/server/{backlog-auto-trigger-COm_R96V.js → backlog-auto-trigger-Cb8PR-5w.js} +2 -2
- package/server/{cli-CvK9xuSS.js → cli-BgzbB6h3.js} +2 -2
- package/server/cli-DCqy_wFa.js +3 -0
- package/server/{close-issue-BnpErnD1.js → close-issue-BWf3pxn4.js} +2 -2
- package/server/{closed-issue-reaper-DRqK5k39.js → closed-issue-reaper-D7XPq5pY.js} +4 -4
- package/server/{closed-issue-reaper-BLCQwTpF.js → closed-issue-reaper-VSTSTROK.js} +1 -1
- package/server/{conflict-gate-JdFuhKuF.js → conflict-gate-DwOslTij.js} +1 -1
- package/server/{conflict-gate-BhKvrPxn.js → conflict-gate-FFEvTDVA.js} +3 -3
- package/server/{conversation-compaction-C5o_eKEm.js → conversation-compaction-CCqN4hWk.js} +4 -4
- package/server/{conversation-compaction-Ba5aZdrb.js → conversation-compaction-CL5Ti4j4.js} +1 -1
- package/server/{deacon-j3qSZ7--.js → deacon-CGHl90eC.js} +107 -50
- package/server/{deacon-Cv2RMfHs.js → deacon-DMPh40Im.js} +2 -2
- package/server/deacon-swarm-CVTiNL0N.js +2 -0
- package/server/{deacon-swarm-DadWNi5J.js → deacon-swarm-aMMJTq6t.js} +4 -4
- package/server/deacon.js +4 -4
- package/server/{feedback-target-oE4-Esxl.js → feedback-target-dJjFfITP.js} +4 -4
- package/server/{feedback-target-C4DaDSZ8.js → feedback-target-nQSM6ygL.js} +1 -1
- package/server/{flywheel-ClMjGW_u.js → flywheel-BLoVNtJV.js} +6 -6
- package/server/{flywheel-DefHRzY4.js → flywheel-Cqf8vu7N.js} +6 -6
- package/server/{flywheel-BqDdGvrQ.js → flywheel-PJsbrXNY.js} +1 -1
- package/server/{flywheel-merge-order-CuDcqTRJ.js → flywheel-merge-order-B7BH8mZ3.js} +2 -2
- package/server/{flywheel-merge-order-B6YDSElh.js → flywheel-merge-order-CCwF60b-.js} +1 -1
- package/server/{harness-resolve-DKeSVsJL.js → harness-resolve-B3f9G1Kp.js} +2 -2
- package/server/{inspect-agent-BKKc0XnB.js → inspect-agent-CKF5-SJr.js} +3 -3
- package/server/inspect-agent-CqpEWGWy.js +2 -0
- package/server/{issue-lifecycle-DnhQgddB.js → issue-lifecycle-5LbOcATP.js} +7 -7
- package/server/{issue-lifecycle-nY4esZn8.js → issue-lifecycle-CjYqQ669.js} +1 -1
- package/server/{issue-service-singleton-Bnqv1uaa.js → issue-service-singleton-B8iu_TKV.js} +1 -1
- package/server/{issue-service-singleton-_AquSBTl.js → issue-service-singleton-CDGt__oQ.js} +2 -2
- package/server/{lifecycle-CGKm7doE.js → lifecycle-CEg4sHZH.js} +4 -4
- package/server/{merge-agent-Dh8Y9PDO.js → merge-agent-7nBiCytp.js} +1 -1
- package/server/{merge-agent-BcgAYStl.js → merge-agent-C81xPIGd.js} +6 -6
- package/server/merge-ops-DE_6CnmZ.js +2 -0
- package/server/{merge-train-DmxlYbEo.js → merge-train-D3qzRccL.js} +2 -2
- package/server/{merge-train-deps-DBHsOWt9.js → merge-train-deps-Be5ElC_P.js} +2 -2
- package/server/{orphan-proposed-reconciler-Db8tUhce.js → orphan-proposed-reconciler-Boq_XaRe.js} +3 -3
- package/server/{orphan-proposed-reconciler-mXV--tcB.js → orphan-proposed-reconciler-C0sPnDq_.js} +1 -1
- package/server/{reconstruct-cache-_tDZ2D72.js → reconstruct-cache-C2pCltOq.js} +3 -3
- package/server/{remote-completion-Bklh6loJ.js → remote-completion-BmxD5UMQ.js} +3 -3
- package/server/resume-C-nxu9Y4.js +3 -0
- package/server/{review-agent-phzqNqIs.js → review-agent-D6P6d3pz.js} +26 -17
- package/server/review-agent-DTINEffB.js +3 -0
- package/server/{review-context-CCq56O_Y.js → review-context-Dyo0tsBa.js} +2 -2
- package/server/{review-status-BQjqQXZG.js → review-status-B5ZASOo4.js} +18 -5
- package/server/{review-status-bBkqUj5i.js → review-status-h7BXIA4z.js} +1 -1
- package/server/{review-verdict-feedback-wqnikhMK.js → review-verdict-feedback-B70VbfRL.js} +4 -4
- package/server/{review-verdict-feedback-cZh9Wi9G.js → review-verdict-feedback-CorgH49f.js} +1 -1
- package/server/{sequence-io-B2GmilSI.js → sequence-io-6YP8fVpH.js} +2 -2
- package/server/{sequencer-agent-D8pW2aU_.js → sequencer-agent-ja-nkEc1.js} +5 -5
- package/server/server.js +66 -55
- package/server/{service-CILd-uOt.js → service-HKDrIy0h.js} +24 -24
- package/server/{smart-compaction-Bgp_gwcA.js → smart-compaction-L0LSnF0_.js} +1 -1
- package/server/{smart-compaction-CrP90OFE.js → smart-compaction-uke1npUz.js} +2 -2
- package/server/{spawn-planning-session-D15KbPOy.js → spawn-planning-session-CSMWco8B.js} +1 -1
- package/server/{spawn-planning-session-BmJWHSCu.js → spawn-planning-session-CXc0NkwV.js} +3 -3
- package/server/{specialist-context-CwKkcXL9.js → specialist-context-BGCJ24LH.js} +3 -3
- package/server/{specialist-logs-CvDxquV_.js → specialist-logs--Uz-r8ia.js} +2 -2
- package/server/{specialists-BCjcG4uE.js → specialists-Ca9XSBCS.js} +1 -1
- package/server/{specialists-D07ybnam.js → specialists-DEfrAbWs.js} +36 -36
- package/server/{specialists-F2uMO4QS.js → specialists-DeZx9xom.js} +1 -1
- package/server/{specialists-BYi0k8CZ.js → specialists-nZ0mRwpZ.js} +12 -12
- package/server/{summary-fork-DedqguZb.js → summary-fork-2a1L2DIU.js} +2 -2
- package/server/{summary-fork-EjvOkEPl.js → summary-fork-Xn0QUNmb.js} +3 -3
- package/server/{teardown-workspace-5LCVbjfq.js → teardown-workspace-DhA6oAIK.js} +2 -2
- package/server/{test-agent-queue-qfsq6uaC.js → test-agent-queue-B_ukPyIK.js} +3 -3
- package/server/{uat-train-CtNGgXxj.js → uat-train-BLBAbJ8Y.js} +10 -10
- package/server/{uat-train-C3hWXtip.js → uat-train-DPfGR9_I.js} +1 -1
- package/server/{verification-runner-DuZRHjPU.js → verification-runner-KTGTNugM.js} +1 -1
- package/server/{verification-runner-BPAhPWR7.js → verification-runner-R2-4XgMO.js} +4 -4
- package/server/{workflows-H-COJ84X.js → workflows-CSKX5MhC.js} +7 -7
- package/server/workflows-DVwXauef.js +2 -0
- package/server/{workspaces-CRU9_vRn.js → workspaces-DXLDgXo2.js} +32 -32
- package/server/cli-CJDWXE_Y.js +0 -3
- package/server/deacon-swarm-D1iAUX-P.js +0 -2
- package/server/inspect-agent-vm88mLYr.js +0 -2
- package/server/merge-ops-QdBiQ8XB.js +0 -2
- package/server/resume-DnIsmIgC.js +0 -3
- package/server/review-agent-DgySDb-G.js +0 -3
- package/server/workflows-Cz8OtiB4.js +0 -2
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { t as init_config_yaml } from "./config-yaml-DPAieL_G.js";
|
|
2
2
|
import { L as sessionExists, x as init_tmux } from "./tmux-ePNhMIMU.js";
|
|
3
3
|
import { c as FlywheelStats, t as init_src, v as FlywheelStatus } from "./src-fgbU-jJ-.js";
|
|
4
|
-
import { t as init_agents } from "./agents-
|
|
4
|
+
import { t as init_agents } from "./agents-C7V4odQ6.js";
|
|
5
5
|
import { s as init_internal_token } from "./internal-token-CQUx9YLc.js";
|
|
6
6
|
import { i as getFlywheelActiveRunId, s as init_control_settings } from "./control-settings-BMqUkXmR.js";
|
|
7
|
-
import { t as init_harness_resolve } from "./harness-resolve-
|
|
8
|
-
import { d as clearFlywheelGate, f as getFlywheelRunDetail, h as listFlywheelRuns, p as getFlywheelRunDir } from "./flywheel-
|
|
7
|
+
import { t as init_harness_resolve } from "./harness-resolve-B3f9G1Kp.js";
|
|
8
|
+
import { d as clearFlywheelGate, f as getFlywheelRunDetail, h as listFlywheelRuns, p as getFlywheelRunDir } from "./flywheel-BLoVNtJV.js";
|
|
9
9
|
import { f as init_github_app } from "./github-app-FMXgo3vK.js";
|
|
10
|
-
import { t as init_sequence_io } from "./sequence-io-
|
|
11
|
-
import { r as computeMergeQueue } from "./flywheel-merge-order-
|
|
10
|
+
import { t as init_sequence_io } from "./sequence-io-6YP8fVpH.js";
|
|
11
|
+
import { r as computeMergeQueue } from "./flywheel-merge-order-B7BH8mZ3.js";
|
|
12
12
|
import "./merge-blockers-DwdQNsYD.js";
|
|
13
13
|
import { Effect, Schema } from "effect";
|
|
14
14
|
import "node:os";
|
|
@@ -203,4 +203,4 @@ async function flywheelReportCommand(options = {}) {
|
|
|
203
203
|
//#endregion
|
|
204
204
|
export { flywheelReportCommand };
|
|
205
205
|
|
|
206
|
-
//# sourceMappingURL=flywheel-
|
|
206
|
+
//# sourceMappingURL=flywheel-Cqf8vu7N.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as pauseFlywheel, o as resumeFlywheel } from "./flywheel-
|
|
1
|
+
import { a as pauseFlywheel, o as resumeFlywheel } from "./flywheel-BLoVNtJV.js";
|
|
2
2
|
export { pauseFlywheel, resumeFlywheel };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { En as getProjectSwarmHotspots, Nn as init_projects, bn as findProjectByPathSync } from "./config-yaml-DPAieL_G.js";
|
|
2
|
-
import { c as init_review_status, p as mergeGateEligibility, s as getReviewStatusSync } from "./review-status-
|
|
2
|
+
import { c as init_review_status, p as mergeGateEligibility, s as getReviewStatusSync } from "./review-status-B5ZASOo4.js";
|
|
3
3
|
import { i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-bpWs7Xyx.js";
|
|
4
4
|
import { i as compileGlob, u as init_dag } from "./dag-jH8ZkewR.js";
|
|
5
5
|
import { n as computeIssueFootprint, r as init_swarm_readiness } from "./swarm-readiness-OBgamRql.js";
|
|
@@ -240,4 +240,4 @@ function pickFromSequence(nodes, opts) {
|
|
|
240
240
|
//#endregion
|
|
241
241
|
export { declaredIssueFootprint as a, resolveMergeQueuePrUrl as c, computePredictedConflictSignals as i, reviewRecordEligibility as l, changedFilesVsMain as n, orderMergeCandidates as o, computeMergeQueue as r, pickFromSequence as s, MERGE_GATE_VERBS as t };
|
|
242
242
|
|
|
243
|
-
//# sourceMappingURL=flywheel-merge-order-
|
|
243
|
+
//# sourceMappingURL=flywheel-merge-order-B7BH8mZ3.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { c as resolveMergeQueuePrUrl, l as reviewRecordEligibility, r as computeMergeQueue } from "./flywheel-merge-order-
|
|
1
|
+
import { c as resolveMergeQueuePrUrl, l as reviewRecordEligibility, r as computeMergeQueue } from "./flywheel-merge-order-B7BH8mZ3.js";
|
|
2
2
|
export { computeMergeQueue, resolveMergeQueuePrUrl, reviewRecordEligibility };
|
|
@@ -4,7 +4,7 @@ import { exec } from "child_process";
|
|
|
4
4
|
import { promisify } from "util";
|
|
5
5
|
//#region ../../lib/harness-resolve.ts
|
|
6
6
|
async function getProviderAuthModeForModel(model) {
|
|
7
|
-
const { getProviderAuthMode } = await import("./agents-
|
|
7
|
+
const { getProviderAuthMode } = await import("./agents-C-vqmKDi.js");
|
|
8
8
|
return getProviderAuthMode(model);
|
|
9
9
|
}
|
|
10
10
|
async function hasHarnessBinary(harness) {
|
|
@@ -69,4 +69,4 @@ var init_harness_resolve = __esmMin((() => {
|
|
|
69
69
|
//#endregion
|
|
70
70
|
export { resolveHarness as n, init_harness_resolve as t };
|
|
71
71
|
|
|
72
|
-
//# sourceMappingURL=harness-resolve-
|
|
72
|
+
//# sourceMappingURL=harness-resolve-B3f9G1Kp.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { C as resolveTieredExecutionEnabled, L as getProviderForModelSync, N as clearCredentialFileAuthSync, R as init_providers, S as init_tier_table, V as setupCredentialFileAuthSync, X as resolveModel, f as loadConfigSync, lr as GitError, mr as ProcessSpawnError, t as init_config_yaml, vr as init_errors } from "./config-yaml-DPAieL_G.js";
|
|
2
2
|
import { L as sessionExists, o as createSession, w as killSession, x as init_tmux } from "./tmux-ePNhMIMU.js";
|
|
3
|
-
import { c as init_review_status, y as setReviewStatusSync } from "./review-status-
|
|
4
|
-
import { c as init_tier_supervisor, d as spawnTierSupervisor, f as supervisorAgentId, gr as saveAgentRuntimeState, l as loadPrdDraft, ln as getProviderEnvForModel, qn as saveAgentState, s as deliverCommitForReview, t as init_agents } from "./agents-
|
|
3
|
+
import { c as init_review_status, y as setReviewStatusSync } from "./review-status-B5ZASOo4.js";
|
|
4
|
+
import { c as init_tier_supervisor, d as spawnTierSupervisor, f as supervisorAgentId, gr as saveAgentRuntimeState, l as loadPrdDraft, ln as getProviderEnvForModel, qn as saveAgentState, s as deliverCommitForReview, t as init_agents } from "./agents-C7V4odQ6.js";
|
|
5
5
|
import { m as readWorkspacePlanSync, o as init_io } from "./io-Wy8YpFeP.js";
|
|
6
6
|
import { a as init_launcher_generator, i as generateLauncherScriptSync } from "./state-home-Bgj7i-C7.js";
|
|
7
7
|
import { a as init_claude_permissions, i as getClaudePermissionFlagsSync } from "./claude-permissions-DrRAs_0F.js";
|
|
@@ -367,4 +367,4 @@ function onInspectComplete(projectKey, issueId, beadId, status, workspacePath) {
|
|
|
367
367
|
//#endregion
|
|
368
368
|
export { onInspectComplete as n, spawnInspectAgent as r, buildInspectPrompt as t };
|
|
369
369
|
|
|
370
|
-
//# sourceMappingURL=inspect-agent-
|
|
370
|
+
//# sourceMappingURL=inspect-agent-CKF5-SJr.js.map
|
|
@@ -2,7 +2,7 @@ import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
|
2
2
|
import { a as init_activity_logger, t as emitActivityDetailedSync } from "./activity-logger-pcbf-e30.js";
|
|
3
3
|
import { a as init_event_store, i as initEventStore } from "./event-store-DTJXZjCl.js";
|
|
4
4
|
import { d as getMaxTurnDiffSummariesPerAgent, f as isTerminalTurnDiffSummaryStatus, l as INITIAL_READ_MODEL_STATE, p as trimTurnDiffSummaries, t as init_src, u as applyEvent } from "./src-fgbU-jJ-.js";
|
|
5
|
-
import { A as listOverdeckAgentStatesSync, k as init_agent_state_sync } from "./review-status-
|
|
5
|
+
import { A as listOverdeckAgentStatesSync, k as init_agent_state_sync } from "./review-status-B5ZASOo4.js";
|
|
6
6
|
import { a as resolveSessionContextBriefingPath, d as init_agents, o as AgentsResolver, r as init_briefing_freshness } from "./briefing-freshness-CXhZdnB8.js";
|
|
7
7
|
import { f as resolveStatusFile, i as init_paths } from "./paths-TE1GOZDr.js";
|
|
8
8
|
import { n as listFeatureRegistryEntries, t as init_feature_registry_storage } from "./feature-registry-storage-CnGyNgAq.js";
|
|
@@ -12,7 +12,7 @@ import { i as init_linear_client, r as LinearClientOptionalLive, t as LinearClie
|
|
|
12
12
|
import { i as init_github_client, r as GitHubClientOptionalLive, t as GitHubClient } from "./github-client-yjbXaqpR.js";
|
|
13
13
|
import { i as init_rally_client, n as RallyClientLive, t as RallyClient } from "./rally-client-DYjtgTOu.js";
|
|
14
14
|
import { a as resolveTrackerTypeSync, i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-bpWs7Xyx.js";
|
|
15
|
-
import { n as init_issue_service_singleton, t as getSharedIssueService } from "./issue-service-singleton-
|
|
15
|
+
import { n as init_issue_service_singleton, t as getSharedIssueService } from "./issue-service-singleton-CDGt__oQ.js";
|
|
16
16
|
import { Context, Effect, Layer, Option, Queue, Stream } from "effect";
|
|
17
17
|
import { basename, dirname, join, resolve } from "path";
|
|
18
18
|
import { dirname as dirname$1 } from "node:path";
|
|
@@ -293,7 +293,7 @@ var init_read_model = __esmMin((() => {
|
|
|
293
293
|
};
|
|
294
294
|
const getSnapshot = Effect.gen(function* () {
|
|
295
295
|
try {
|
|
296
|
-
const { getSharedIssueService } = yield* Effect.promise(() => import("./issue-service-singleton-
|
|
296
|
+
const { getSharedIssueService } = yield* Effect.promise(() => import("./issue-service-singleton-B8iu_TKV.js"));
|
|
297
297
|
const currentIssues = cleanIssues(getSharedIssueService().getIssues());
|
|
298
298
|
if (currentIssues.length > 0 || state.issuesRaw.length === 0) state = {
|
|
299
299
|
...state,
|
|
@@ -318,7 +318,7 @@ var init_read_model = __esmMin((() => {
|
|
|
318
318
|
const getAgentIdBySessionId = (sessionId) => Effect.sync(() => state.agentIdBySessionId[sessionId] ?? null);
|
|
319
319
|
const agentsResolver = yield* AgentsResolver;
|
|
320
320
|
yield* Effect.gen(function* () {
|
|
321
|
-
const { reconstructCacheAuto } = yield* Effect.promise(() => import("./reconstruct-cache-
|
|
321
|
+
const { reconstructCacheAuto } = yield* Effect.promise(() => import("./reconstruct-cache-C2pCltOq.js"));
|
|
322
322
|
const [overdeckAgents, result] = yield* Effect.all([agentsResolver.list({}), Effect.promise(() => reconstructCacheAuto())]);
|
|
323
323
|
const agentsById = Object.fromEntries(overdeckAgents.map((a) => [a.id, agentSnapshotFromOverdeck(a)]));
|
|
324
324
|
let sequence = 0;
|
|
@@ -397,7 +397,7 @@ var init_read_model = __esmMin((() => {
|
|
|
397
397
|
}
|
|
398
398
|
})();
|
|
399
399
|
try {
|
|
400
|
-
const { getSharedIssueService } = yield* Effect.promise(() => import("./issue-service-singleton-
|
|
400
|
+
const { getSharedIssueService } = yield* Effect.promise(() => import("./issue-service-singleton-B8iu_TKV.js"));
|
|
401
401
|
const issueService = getSharedIssueService();
|
|
402
402
|
const mergeT0 = performance.now();
|
|
403
403
|
const currentIssues = cleanIssues(issueService.getIssues());
|
|
@@ -437,7 +437,7 @@ var init_read_model = __esmMin((() => {
|
|
|
437
437
|
payload: { issues: cleaned }
|
|
438
438
|
});
|
|
439
439
|
} catch {}
|
|
440
|
-
import("./backlog-auto-trigger-
|
|
440
|
+
import("./backlog-auto-trigger-Cb8PR-5w.js").then(({ triggerDebouncedIncrementalPass }) => {
|
|
441
441
|
triggerDebouncedIncrementalPass(process.cwd());
|
|
442
442
|
}).catch(() => {});
|
|
443
443
|
});
|
|
@@ -1403,4 +1403,4 @@ var init_issue_lifecycle = __esmMin((() => {
|
|
|
1403
1403
|
//#endregion
|
|
1404
1404
|
export { init_queue_position as _, EventStoreService as a, ReadModelService as c, init_read_model as d, toAgentResolution as f, findPositionInQueueSync as g, computeQueuePositionFromStatusSync as h, init_issue_lifecycle as i, ReadModelServiceLive as l, toRole as m, IssueLifecycleLive as n, EventStoreServiceLive as o, toAgentStatus as p, IssueLifecycleWithClientLive as r, init_domain_services as s, IssueLifecycle as t, getClosedIssueIdsForReadSource as u };
|
|
1405
1405
|
|
|
1406
|
-
//# sourceMappingURL=issue-lifecycle-
|
|
1406
|
+
//# sourceMappingURL=issue-lifecycle-5LbOcATP.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { i as init_issue_lifecycle, n as IssueLifecycleLive, r as IssueLifecycleWithClientLive, t as IssueLifecycle } from "./issue-lifecycle-
|
|
1
|
+
import { i as init_issue_lifecycle, n as IssueLifecycleLive, r as IssueLifecycleWithClientLive, t as IssueLifecycle } from "./issue-lifecycle-5LbOcATP.js";
|
|
2
2
|
init_issue_lifecycle();
|
|
3
3
|
export { IssueLifecycle, IssueLifecycleLive, IssueLifecycleWithClientLive };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { i as startSharedIssueService, n as init_issue_service_singleton, t as getSharedIssueService } from "./issue-service-singleton-
|
|
1
|
+
import { i as startSharedIssueService, n as init_issue_service_singleton, t as getSharedIssueService } from "./issue-service-singleton-CDGt__oQ.js";
|
|
2
2
|
init_issue_service_singleton();
|
|
3
3
|
export { getSharedIssueService, startSharedIssueService };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as __esmMin, r as __exportAll } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
2
|
import { Gn as resolveProjectFromIssueSync, Nn as init_projects, f as loadConfigSync, t as init_config_yaml } from "./config-yaml-DPAieL_G.js";
|
|
3
3
|
import { n as openDatabase, t as init_driver } from "./driver-D-HBOQa_.js";
|
|
4
|
-
import { c as init_review_status, d as loadReviewStatusesForIssues } from "./review-status-
|
|
4
|
+
import { c as init_review_status, d as loadReviewStatusesForIssues } from "./review-status-B5ZASOo4.js";
|
|
5
5
|
import { a as init_tracker_config, n as getLinearApiKey, o as validateRallyConfig, r as getRallyConfig, t as getGitHubConfig } from "./tracker-config-C3hiPVAM.js";
|
|
6
6
|
import { n as init_dist_src, t as Octokit } from "./dist-src-Byxt1ifL.js";
|
|
7
7
|
import { n as mapGitHubStateToCanonical, t as init_state_mapping } from "./state-mapping-BvAgFK8n.js";
|
|
@@ -1504,4 +1504,4 @@ var init_issue_service_singleton = __esmMin((() => {
|
|
|
1504
1504
|
//#endregion
|
|
1505
1505
|
export { CacheService as a, startSharedIssueService as i, init_issue_service_singleton as n, init_cache_service as o, issue_service_singleton_exports as r, parseIntegerHeader as s, getSharedIssueService as t };
|
|
1506
1506
|
|
|
1507
|
-
//# sourceMappingURL=issue-service-singleton-
|
|
1507
|
+
//# sourceMappingURL=issue-service-singleton-CDGt__oQ.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { o as init_archive_planning, t as archivePlanning } from "./archive-planning-zTvWWHG_.js";
|
|
2
2
|
import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed } from "./types-B5u3NxMl.js";
|
|
3
|
-
import { t as closeIssue } from "./close-issue-
|
|
4
|
-
import { t as teardownWorkspace } from "./teardown-workspace-
|
|
3
|
+
import { t as closeIssue } from "./close-issue-BWf3pxn4.js";
|
|
4
|
+
import { t as teardownWorkspace } from "./teardown-workspace-DhA6oAIK.js";
|
|
5
5
|
import { n as init_compact_beads, t as compactBeads } from "./compact-beads-RFwdZFPA.js";
|
|
6
|
-
import { a as deepWipe, i as closeOut, n as cancelIssueWorkflow, o as resetToTodo, r as close, t as approve } from "./workflows-
|
|
6
|
+
import { a as deepWipe, i as closeOut, n as cancelIssueWorkflow, o as resetToTodo, r as close, t as approve } from "./workflows-CSKX5MhC.js";
|
|
7
7
|
//#region ../../lib/lifecycle/index.ts
|
|
8
8
|
init_types();
|
|
9
9
|
init_archive_planning();
|
|
@@ -11,4 +11,4 @@ init_compact_beads();
|
|
|
11
11
|
//#endregion
|
|
12
12
|
export { approve, archivePlanning, cancelIssueWorkflow, close, closeIssue, closeOut, compactBeads, deepWipe, resetToTodo, stepFailed, stepOk, stepSkipped, teardownWorkspace };
|
|
13
13
|
|
|
14
|
-
//# sourceMappingURL=lifecycle-
|
|
14
|
+
//# sourceMappingURL=lifecycle-CEg4sHZH.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { _ as scanGitPatterns, a as init_merge_agent, c as isSyncMainMainPreferredPath, d as parseAgentOutput, f as postMergeLifecycle, g as scanForConflictMarkers, h as salvageStrandedMerge, i as captureTmuxOutput, l as logMergeHistory, m as runProjectQualityGates, n as GIT_PATTERNS, o as isAutoCommitExcludedPath, p as resetPostMergeState, r as autoCommitWorkspaceChangesBeforeSync, s as isMergeAgentRunning, t as AUTO_COMMIT_EXCLUDED_PATHS, u as notifyTldrDaemon, v as sendMessageToAgent, y as syncMainIntoWorkspace } from "./merge-agent-
|
|
1
|
+
import { _ as scanGitPatterns, a as init_merge_agent, c as isSyncMainMainPreferredPath, d as parseAgentOutput, f as postMergeLifecycle, g as scanForConflictMarkers, h as salvageStrandedMerge, i as captureTmuxOutput, l as logMergeHistory, m as runProjectQualityGates, n as GIT_PATTERNS, o as isAutoCommitExcludedPath, p as resetPostMergeState, r as autoCommitWorkspaceChangesBeforeSync, s as isMergeAgentRunning, t as AUTO_COMMIT_EXCLUDED_PATHS, u as notifyTldrDaemon, v as sendMessageToAgent, y as syncMainIntoWorkspace } from "./merge-agent-C81xPIGd.js";
|
|
2
2
|
init_merge_agent();
|
|
3
3
|
export { AUTO_COMMIT_EXCLUDED_PATHS, GIT_PATTERNS, autoCommitWorkspaceChangesBeforeSync, captureTmuxOutput, isAutoCommitExcludedPath, isMergeAgentRunning, isSyncMainMainPreferredPath, logMergeHistory, notifyTldrDaemon, parseAgentOutput, postMergeLifecycle, resetPostMergeState, runProjectQualityGates, salvageStrandedMerge, scanForConflictMarkers, scanGitPatterns, sendMessageToAgent, syncMainIntoWorkspace };
|
|
@@ -3,7 +3,7 @@ import { Nn as init_projects, Or as OVERDECK_HOME, Vr as init_paths, _r as VcsEr
|
|
|
3
3
|
import { a as init_activity_logger, n as emitActivityEntrySync, r as emitActivityTtsSync } from "./activity-logger-pcbf-e30.js";
|
|
4
4
|
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-CpKlYZA9.js";
|
|
5
5
|
import { L as sessionExists, O as listSessionNames, P as sendKeys, i as capturePane, w as killSession, x as init_tmux } from "./tmux-ePNhMIMU.js";
|
|
6
|
-
import { c as init_review_status, f as markWorkspaceStuck, y as setReviewStatusSync } from "./review-status-
|
|
6
|
+
import { c as init_review_status, f as markWorkspaceStuck, y as setReviewStatusSync } from "./review-status-B5ZASOo4.js";
|
|
7
7
|
import { i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-bpWs7Xyx.js";
|
|
8
8
|
import { n as recordFeatureRegistryLifecycle, t as init_feature_registry_population } from "./feature-registry-population-Dwyj9gEM.js";
|
|
9
9
|
import { n as restoreTrackedBeadsExport, t as init_beads_restore } from "./beads-restore-CMbDSB5R.js";
|
|
@@ -545,7 +545,7 @@ async function postMergeLifecycle(issueId, projectPath, sourceBranch, options) {
|
|
|
545
545
|
console.warn(`[merge-agent] Beads compaction failed: ${err}`);
|
|
546
546
|
}
|
|
547
547
|
try {
|
|
548
|
-
const { setAgentPaused, getAgentState } = await import("./agents-
|
|
548
|
+
const { setAgentPaused, getAgentState } = await import("./agents-C-vqmKDi.js");
|
|
549
549
|
const { killSession, sessionExists } = await import("./tmux-CeDD14p1.js");
|
|
550
550
|
const issueLower = issueId.toLowerCase();
|
|
551
551
|
const reason = "awaiting close-out (verify on main)";
|
|
@@ -571,7 +571,7 @@ async function postMergeLifecycle(issueId, projectPath, sourceBranch, options) {
|
|
|
571
571
|
console.warn(`[merge-agent] Could not pause or kill agent sessions: ${err}`);
|
|
572
572
|
}
|
|
573
573
|
try {
|
|
574
|
-
const { killAllReviewerSessions } = await import("./review-agent-
|
|
574
|
+
const { killAllReviewerSessions } = await import("./review-agent-DTINEffB.js");
|
|
575
575
|
const { resolveProjectFromIssueSync } = await import("./projects-BNmVxnNt.js");
|
|
576
576
|
const projectKey = resolveProjectFromIssueSync(issueId)?.projectKey;
|
|
577
577
|
if (projectKey) {
|
|
@@ -586,7 +586,7 @@ async function postMergeLifecycle(issueId, projectPath, sourceBranch, options) {
|
|
|
586
586
|
}
|
|
587
587
|
await killPostMergeRoleSessions(issueId);
|
|
588
588
|
try {
|
|
589
|
-
const { createResetMarker } = await import("./cli-
|
|
589
|
+
const { createResetMarker } = await import("./cli-DCqy_wFa.js");
|
|
590
590
|
const timestamp = (/* @__PURE__ */ new Date()).toISOString();
|
|
591
591
|
const marker = await createResetMarker({
|
|
592
592
|
projectId: basename(projectPath),
|
|
@@ -630,7 +630,7 @@ async function postMergeLifecycle(issueId, projectPath, sourceBranch, options) {
|
|
|
630
630
|
async function transitionIssueToVerifyingOnMain(issueId, projectPath) {
|
|
631
631
|
const [effectModule, issueLifecycleModule, githubModule, linearModule, rallyModule, errorsModule] = await Promise.all([
|
|
632
632
|
import("effect"),
|
|
633
|
-
import("./issue-lifecycle-
|
|
633
|
+
import("./issue-lifecycle-CjYqQ669.js"),
|
|
634
634
|
import("./github-client-VRiB6N-4.js"),
|
|
635
635
|
import("./linear-client-BxKvL6U8.js"),
|
|
636
636
|
import("./rally-client-X0bEEN2B.js"),
|
|
@@ -1366,4 +1366,4 @@ var init_merge_agent = __esmMin((() => {
|
|
|
1366
1366
|
//#endregion
|
|
1367
1367
|
export { init_git_activity as C, init_operations as S, scanGitPatterns as _, init_merge_agent as a, MainDivergedError as b, isSyncMainMainPreferredPath as c, parseAgentOutput as d, postMergeLifecycle as f, scanForConflictMarkers as g, salvageStrandedMerge as h, captureTmuxOutput as i, logMergeHistory as l, runProjectQualityGates as m, GIT_PATTERNS as n, isAutoCommitExcludedPath as o, resetPostMergeState as p, autoCommitWorkspaceChangesBeforeSync as r, isMergeAgentRunning as s, AUTO_COMMIT_EXCLUDED_PATHS as t, notifyTldrDaemon as u, sendMessageToAgent as v, listGitOperationsSync as w, gitPush as x, syncMainIntoWorkspace as y };
|
|
1368
1368
|
|
|
1369
|
-
//# sourceMappingURL=merge-agent-
|
|
1369
|
+
//# sourceMappingURL=merge-agent-C81xPIGd.js.map
|
|
@@ -62,9 +62,9 @@ async function reconcileStaleSiblings(mergedIssueId, deps) {
|
|
|
62
62
|
*/
|
|
63
63
|
async function runMergeTrainReconcile(mergedIssueId, opts = {}) {
|
|
64
64
|
if (!(opts.enabled ?? isMergeTrainEnabled)()) return [];
|
|
65
|
-
return reconcileStaleSiblings(mergedIssueId, opts.deps ?? (await import("./merge-train-deps-
|
|
65
|
+
return reconcileStaleSiblings(mergedIssueId, opts.deps ?? (await import("./merge-train-deps-Be5ElC_P.js")).buildRealReconcileDeps());
|
|
66
66
|
}
|
|
67
67
|
//#endregion
|
|
68
68
|
export { runMergeTrainReconcile };
|
|
69
69
|
|
|
70
|
-
//# sourceMappingURL=merge-train-
|
|
70
|
+
//# sourceMappingURL=merge-train-D3qzRccL.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Gn as resolveProjectFromIssueSync, Nn as init_projects } from "./config-yaml-DPAieL_G.js";
|
|
2
|
-
import { W as spawnRun, t as init_agents } from "./agents-
|
|
2
|
+
import { W as spawnRun, t as init_agents } from "./agents-C7V4odQ6.js";
|
|
3
3
|
import { c as init_review_status_sync, r as getAllReviewStatusesFromDb } from "./review-status-sync-BWHnrq-k.js";
|
|
4
4
|
import { join } from "path";
|
|
5
5
|
import { exec } from "child_process";
|
|
@@ -66,4 +66,4 @@ function buildRealReconcileDeps() {
|
|
|
66
66
|
//#endregion
|
|
67
67
|
export { buildRealReconcileDeps };
|
|
68
68
|
|
|
69
|
-
//# sourceMappingURL=merge-train-deps-
|
|
69
|
+
//# sourceMappingURL=merge-train-deps-Be5ElC_P.js.map
|
package/server/{orphan-proposed-reconciler-Db8tUhce.js → orphan-proposed-reconciler-Boq_XaRe.js}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Gn as resolveProjectFromIssueSync, In as listProjects, Nn as init_projects } from "./config-yaml-DPAieL_G.js";
|
|
2
2
|
import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-pcbf-e30.js";
|
|
3
3
|
import { O as listSessionNames, x as init_tmux } from "./tmux-ePNhMIMU.js";
|
|
4
|
-
import { c as init_review_status, s as getReviewStatusSync } from "./review-status-
|
|
5
|
-
import { Mn as getAgentState, _t as init_config, t as init_agents, vt as loadCloisterConfig } from "./agents-
|
|
4
|
+
import { c as init_review_status, s as getReviewStatusSync } from "./review-status-B5ZASOo4.js";
|
|
5
|
+
import { Mn as getAgentState, _t as init_config, t as init_agents, vt as loadCloisterConfig } from "./agents-C7V4odQ6.js";
|
|
6
6
|
import { i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-bpWs7Xyx.js";
|
|
7
7
|
import { d as readPlanSync, i as findPlanSync, o as init_io } from "./io-Wy8YpFeP.js";
|
|
8
8
|
import { _ as listPullRequestsForHead, f as init_github_app, p as isGitHubAppConfigured } from "./github-app-FMXgo3vK.js";
|
|
@@ -506,4 +506,4 @@ async function reconcileOrphanProposedSpecs(options = {}) {
|
|
|
506
506
|
//#endregion
|
|
507
507
|
export { spawnWorkAgentThroughAgentsEndpoint as a, reconcileOrphanProposedSpecs as i, handleOrphanProposedSpec as n, triggerRebuildAndStart as o, hasReviewPipelinePresence as r, findOrphanProposedSpecsForReconciler as t };
|
|
508
508
|
|
|
509
|
-
//# sourceMappingURL=orphan-proposed-reconciler-
|
|
509
|
+
//# sourceMappingURL=orphan-proposed-reconciler-Boq_XaRe.js.map
|
package/server/{orphan-proposed-reconciler-mXV--tcB.js → orphan-proposed-reconciler-C0sPnDq_.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as handleOrphanProposedSpec } from "./orphan-proposed-reconciler-
|
|
1
|
+
import { n as handleOrphanProposedSpec } from "./orphan-proposed-reconciler-Boq_XaRe.js";
|
|
2
2
|
export { handleOrphanProposedSpec };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
2
|
import { Ft as resolveProjectForIssue, Ln as listProjectsSync, Nn as init_projects, Ot as init_record, jt as readIssueRecord } from "./config-yaml-DPAieL_G.js";
|
|
3
3
|
import { c as backfillAgentsSync, d as init_agents, p as listAllAgentsSync } from "./briefing-freshness-CXhZdnB8.js";
|
|
4
|
-
import { Z as listRunningAgents, t as init_agents$1 } from "./agents-
|
|
4
|
+
import { Z as listRunningAgents, t as init_agents$1 } from "./agents-C7V4odQ6.js";
|
|
5
5
|
import { Effect } from "effect";
|
|
6
6
|
import { join } from "node:path";
|
|
7
7
|
import { readdir } from "node:fs/promises";
|
|
@@ -194,7 +194,7 @@ function isIssueClosed(issue) {
|
|
|
194
194
|
return false;
|
|
195
195
|
}
|
|
196
196
|
async function loadInFlightIssueIds(projects) {
|
|
197
|
-
const { getSharedIssueService, startSharedIssueService } = await import("./issue-service-singleton-
|
|
197
|
+
const { getSharedIssueService, startSharedIssueService } = await import("./issue-service-singleton-B8iu_TKV.js");
|
|
198
198
|
const issueService = getSharedIssueService();
|
|
199
199
|
await startSharedIssueService({ skipPolling: true });
|
|
200
200
|
const issues = issueService.getIssues({ includeCompleted: true });
|
|
@@ -340,4 +340,4 @@ __esmMin((() => {
|
|
|
340
340
|
}))();
|
|
341
341
|
export { reconstructCache, reconstructCacheAuto };
|
|
342
342
|
|
|
343
|
-
//# sourceMappingURL=reconstruct-cache-
|
|
343
|
+
//# sourceMappingURL=reconstruct-cache-C2pCltOq.js.map
|
|
@@ -309,7 +309,7 @@ async function reapCompletedRemoteAgents(opts = {}) {
|
|
|
309
309
|
} catch {
|
|
310
310
|
details.push("No continue.json retrieved from VM (skipped)");
|
|
311
311
|
}
|
|
312
|
-
const { getAgentStateSync, saveAgentStateSync } = await import("./agents-
|
|
312
|
+
const { getAgentStateSync, saveAgentStateSync } = await import("./agents-C-vqmKDi.js");
|
|
313
313
|
const existing = getAgentStateSync(agentId);
|
|
314
314
|
if (existing) {
|
|
315
315
|
existing.workspace = existing.workspace || workspacePath;
|
|
@@ -328,7 +328,7 @@ async function reapCompletedRemoteAgents(opts = {}) {
|
|
|
328
328
|
lastActivity: (/* @__PURE__ */ new Date()).toISOString()
|
|
329
329
|
});
|
|
330
330
|
const { createReviewArtifactsForIssue } = await import("./review-artifacts-BGc69epg.js");
|
|
331
|
-
const { setReviewStatusSync } = await import("./review-status-
|
|
331
|
+
const { setReviewStatusSync } = await import("./review-status-h7BXIA4z.js");
|
|
332
332
|
const primaryArtifact = (await Effect.runPromise(createReviewArtifactsForIssue(issueId, workspacePath))).mergeSet?.repos.find((repo) => !!repo.artifactUrl);
|
|
333
333
|
if (primaryArtifact?.artifactUrl) {
|
|
334
334
|
setReviewStatusSync(issueId, { prUrl: primaryArtifact.artifactUrl });
|
|
@@ -386,4 +386,4 @@ async function reapCompletedRemoteAgents(opts = {}) {
|
|
|
386
386
|
//#endregion
|
|
387
387
|
export { reapCompletedRemoteAgents, refreshClaudeCredentialsForActiveRemoteAgents };
|
|
388
388
|
|
|
389
|
-
//# sourceMappingURL=remote-completion-
|
|
389
|
+
//# sourceMappingURL=remote-completion-BmxD5UMQ.js.map
|
|
@@ -2,15 +2,16 @@ import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
|
2
2
|
import { Ft as resolveProjectForIssue, Gr as sessionFilePath, Nt as readIssueRecordSync, Ot as init_record, Ur as packageRoot, Vr as init_paths, X as resolveModel, f as loadConfigSync, t as init_config_yaml, yr as AGENTS_DIR } from "./config-yaml-DPAieL_G.js";
|
|
3
3
|
import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-pcbf-e30.js";
|
|
4
4
|
import { C as isPaneDead, O as listSessionNames, w as killSession, x as init_tmux } from "./tmux-ePNhMIMU.js";
|
|
5
|
-
import { c as init_review_status, s as getReviewStatusSync, y as setReviewStatusSync } from "./review-status-
|
|
5
|
+
import { c as init_review_status, s as getReviewStatusSync, y as setReviewStatusSync } from "./review-status-B5ZASOo4.js";
|
|
6
6
|
import { d as init_agents, f as listAgentIdsByPrefixSync, m as removeAgentSync } from "./briefing-freshness-CXhZdnB8.js";
|
|
7
|
-
import { Pn as getAgentStateSync, t as init_agents$1 } from "./agents-
|
|
7
|
+
import { Pn as getAgentStateSync, t as init_agents$1 } from "./agents-C7V4odQ6.js";
|
|
8
8
|
import { a as PAN_DIRNAME, p as init_types } from "./types-CE1m_daD.js";
|
|
9
9
|
import { n as init_review_monitor, t as REVIEW_SUB_ROLES } from "./review-monitor-BKG2ubt5.js";
|
|
10
10
|
import { n as shouldSkipDispatchAsMerged, t as init_merge_verification } from "./merge-verification-DA9rvqsE.js";
|
|
11
|
-
import { n as formatTier1Summary, o as init_review_context, t as buildReviewContext } from "./review-context-
|
|
12
|
-
import { a as resolveConflictGate, i as init_conflict_gate, r as getCachedConflictGateMergeability, t as buildRealConflictGateDeps } from "./conflict-gate-
|
|
11
|
+
import { n as formatTier1Summary, o as init_review_context, t as buildReviewContext } from "./review-context-Dyo0tsBa.js";
|
|
12
|
+
import { a as resolveConflictGate, i as init_conflict_gate, r as getCachedConflictGateMergeability, t as buildRealConflictGateDeps } from "./conflict-gate-FFEvTDVA.js";
|
|
13
13
|
import { Effect } from "effect";
|
|
14
|
+
import { existsSync } from "fs";
|
|
14
15
|
import { dirname, join } from "path";
|
|
15
16
|
import { mkdir, readFile, rm, writeFile } from "fs/promises";
|
|
16
17
|
import { exec } from "child_process";
|
|
@@ -150,7 +151,7 @@ async function buildConvoyPromptPromise(opts) {
|
|
|
150
151
|
}
|
|
151
152
|
async function spawnReviewSubRoleForIssuePromise(opts) {
|
|
152
153
|
try {
|
|
153
|
-
const { saveAgentState, spawnRun, getAgentStateSync, getLatestSessionIdSync, resumeAgent } = await import("./agents-
|
|
154
|
+
const { saveAgentState, spawnRun, getAgentStateSync, getLatestSessionIdSync, resumeAgent } = await import("./agents-C-vqmKDi.js");
|
|
154
155
|
const cfg = loadConfigSync().config;
|
|
155
156
|
const outputPath = opts.outputPath ?? reviewerAgentOutputPath(opts.workspace, opts.runId, opts.subRole);
|
|
156
157
|
const synthesisAgentId = opts.synthesisAgentId ?? `agent-${opts.issueId.toLowerCase()}-review`;
|
|
@@ -268,7 +269,7 @@ async function computeConvoyScope(issueId, workspace) {
|
|
|
268
269
|
let carried = [];
|
|
269
270
|
let scope = "changed";
|
|
270
271
|
try {
|
|
271
|
-
const { getReviewStatusSync } = await import("./review-status-
|
|
272
|
+
const { getReviewStatusSync } = await import("./review-status-h7BXIA4z.js");
|
|
272
273
|
scope = resolveReReviewScope(issueId);
|
|
273
274
|
const priorVerdicts = getReviewStatusSync(issueId)?.reviewerVerdicts;
|
|
274
275
|
let changedFiles;
|
|
@@ -311,7 +312,7 @@ async function computeConvoyScope(issueId, workspace) {
|
|
|
311
312
|
*/
|
|
312
313
|
async function forkParentSessionForReviewer(parentAgentId, workspace) {
|
|
313
314
|
try {
|
|
314
|
-
const { getLatestSessionIdSync } = await import("./agents-
|
|
315
|
+
const { getLatestSessionIdSync } = await import("./agents-C-vqmKDi.js");
|
|
315
316
|
const parentSessionId = getLatestSessionIdSync(parentAgentId);
|
|
316
317
|
if (!parentSessionId) return null;
|
|
317
318
|
const src = sessionFilePath(workspace, parentSessionId);
|
|
@@ -355,13 +356,13 @@ async function launchConvoyReviewersPromise(params) {
|
|
|
355
356
|
}
|
|
356
357
|
}
|
|
357
358
|
const cfg = loadConfigSync().config;
|
|
358
|
-
const { getAgentStateSync } = await import("./agents-
|
|
359
|
+
const { getAgentStateSync } = await import("./agents-C-vqmKDi.js");
|
|
359
360
|
const parentState = getAgentStateSync(params.synthesisAgentId);
|
|
360
361
|
const reviewerResults = await Promise.all(params.inScope.map(async (subRole) => {
|
|
361
362
|
const outputPath = reviewerAgentOutputPath(params.workspace, params.runId, subRole);
|
|
362
363
|
let forkedSessionId;
|
|
363
364
|
if (params.forkFromParent && parentState?.harness === "claude-code" && !params.harness) try {
|
|
364
|
-
const { getLatestSessionIdSync } = await import("./agents-
|
|
365
|
+
const { getLatestSessionIdSync } = await import("./agents-C-vqmKDi.js");
|
|
365
366
|
const reviewerModel = params.model ?? resolveModel("review", subRole, cfg);
|
|
366
367
|
if (!!!getLatestSessionIdSync(reviewerAgentId(params.issueId, subRole)) && reviewerModel === parentState.model) {
|
|
367
368
|
forkedSessionId = await forkParentSessionForReviewer(params.synthesisAgentId, params.workspace) ?? void 0;
|
|
@@ -382,7 +383,7 @@ async function launchConvoyReviewersPromise(params) {
|
|
|
382
383
|
allowHost: params.allowHost ?? false
|
|
383
384
|
}));
|
|
384
385
|
if (!result.success) try {
|
|
385
|
-
const { messageAgent } = await import("./agents-
|
|
386
|
+
const { messageAgent } = await import("./agents-C-vqmKDi.js");
|
|
386
387
|
await messageAgent(params.synthesisAgentId, `REVIEWER_FAILED ${subRole} ${result.error ?? result.message}`);
|
|
387
388
|
} catch (signalErr) {
|
|
388
389
|
console.warn(`[review-agent] Failed to signal ${subRole} spawn failure to ${params.synthesisAgentId}:`, signalErr);
|
|
@@ -409,7 +410,7 @@ async function launchConvoyReviewersPromise(params) {
|
|
|
409
410
|
async function handleReviewDiscoveryReady(issueId, opts = {}) {
|
|
410
411
|
const normalized = issueId.toUpperCase();
|
|
411
412
|
const parentId = `agent-${normalized.toLowerCase()}-review`;
|
|
412
|
-
const { saveAgentState, getAgentStateSync } = await import("./agents-
|
|
413
|
+
const { saveAgentState, getAgentStateSync } = await import("./agents-C-vqmKDi.js");
|
|
413
414
|
const parent = getAgentStateSync(parentId);
|
|
414
415
|
if (!parent) return {
|
|
415
416
|
success: false,
|
|
@@ -734,13 +735,14 @@ async function spawnReviewRoleForIssuePromise(opts) {
|
|
|
734
735
|
if ((await Effect.runPromise(listSessionNames())).includes(reviewSessionName)) {
|
|
735
736
|
const paneDead = await Effect.runPromise(isPaneDead(reviewSessionName));
|
|
736
737
|
let staleRunId = false;
|
|
738
|
+
let currentRunId;
|
|
737
739
|
if (!paneDead && !opts.force) try {
|
|
738
740
|
const { stdout } = await execAsync("git rev-parse --short=8 HEAD", {
|
|
739
741
|
cwd: opts.workspace,
|
|
740
742
|
encoding: "utf-8",
|
|
741
743
|
timeout: 1e4
|
|
742
744
|
});
|
|
743
|
-
|
|
745
|
+
currentRunId = `agent-${opts.issueId.toLowerCase()}-review-${stdout.trim()}`;
|
|
744
746
|
const synthReviewRunId = getAgentStateSync(reviewSessionName)?.reviewRunId;
|
|
745
747
|
if (!synthReviewRunId || synthReviewRunId !== currentRunId) {
|
|
746
748
|
staleRunId = true;
|
|
@@ -754,7 +756,11 @@ async function spawnReviewRoleForIssuePromise(opts) {
|
|
|
754
756
|
const status = getReviewStatusSync(opts.issueId);
|
|
755
757
|
const terminal = status?.reviewStatus === "passed" || status?.reviewStatus === "blocked" || status?.reviewStatus === "failed";
|
|
756
758
|
const newerRequest = !!status?.reviewRequestedAt && (!status.reviewSpawnedAt || status.reviewRequestedAt > status.reviewSpawnedAt);
|
|
757
|
-
|
|
759
|
+
let reportWritten = false;
|
|
760
|
+
if (currentRunId) try {
|
|
761
|
+
reportWritten = existsSync(join(opts.workspace, PAN_DIRNAME, "review", currentRunId, "review.md"));
|
|
762
|
+
} catch {}
|
|
763
|
+
finishedIdle = (terminal || reportWritten) && newerRequest;
|
|
758
764
|
if (finishedIdle) console.log(`[review-agent] ${reviewSessionName} is finished-idle (verdict ${status?.reviewStatus}, newer request pending) — warm-reusing for the new review cycle`);
|
|
759
765
|
else if (terminal) console.log(`[review-agent] ${reviewSessionName} has a terminal verdict (${status?.reviewStatus}) and no newer request — treating this dispatch as a stale duplicate; leaving the verdict intact`);
|
|
760
766
|
} catch (statusErr) {
|
|
@@ -830,7 +836,7 @@ async function spawnReviewRoleForIssuePromise(opts) {
|
|
|
830
836
|
});
|
|
831
837
|
} catch {}
|
|
832
838
|
try {
|
|
833
|
-
const { spawnRun, saveAgentState, getAgentState, getAgentStateSync, getLatestSessionIdSync, resumeAgent, wipeAgentStateDirs } = await import("./agents-
|
|
839
|
+
const { spawnRun, saveAgentState, getAgentState, getAgentStateSync, getLatestSessionIdSync, resumeAgent, wipeAgentStateDirs } = await import("./agents-C-vqmKDi.js");
|
|
834
840
|
const workAgentState = await Effect.runPromise(getAgentState(`agent-${opts.issueId.toLowerCase()}`));
|
|
835
841
|
const allowHost = opts.allowHost === true || workAgentState?.hostOverride === true;
|
|
836
842
|
let headSha = "unknown";
|
|
@@ -936,6 +942,7 @@ async function spawnReviewRoleForIssuePromise(opts) {
|
|
|
936
942
|
const resumed = getAgentStateSync(reviewAgentId);
|
|
937
943
|
if (resumed) {
|
|
938
944
|
resumed.reviewRunId = runId;
|
|
945
|
+
resumed.reviewDeadlineAt = new Date(Date.now() + PARENT_REVIEW_TIMEOUT_MS).toISOString();
|
|
939
946
|
await Effect.runPromise(saveAgentState(resumed));
|
|
940
947
|
}
|
|
941
948
|
} catch {}
|
|
@@ -966,6 +973,7 @@ async function spawnReviewRoleForIssuePromise(opts) {
|
|
|
966
973
|
...allowHost ? { allowHost: true } : {}
|
|
967
974
|
});
|
|
968
975
|
run.reviewRunId = runId;
|
|
976
|
+
run.reviewDeadlineAt = new Date(Date.now() + PARENT_REVIEW_TIMEOUT_MS).toISOString();
|
|
969
977
|
try {
|
|
970
978
|
await Effect.runPromise(saveAgentState(run));
|
|
971
979
|
} catch (saveErr) {
|
|
@@ -1152,7 +1160,7 @@ async function purgeReviewAgentsForIssue(projectKey, issueId) {
|
|
|
1152
1160
|
removed
|
|
1153
1161
|
};
|
|
1154
1162
|
}
|
|
1155
|
-
var execAsync, spawnReviewRoleForIssue, killAllReviewerSessions, killAllReviewSessions;
|
|
1163
|
+
var execAsync, PARENT_REVIEW_TIMEOUT_MS, spawnReviewRoleForIssue, killAllReviewerSessions, killAllReviewSessions;
|
|
1156
1164
|
var init_review_agent = __esmMin((() => {
|
|
1157
1165
|
init_tmux();
|
|
1158
1166
|
init_activity_logger();
|
|
@@ -1169,11 +1177,12 @@ var init_review_agent = __esmMin((() => {
|
|
|
1169
1177
|
init_types();
|
|
1170
1178
|
init_agents$1();
|
|
1171
1179
|
execAsync = promisify(exec);
|
|
1180
|
+
PARENT_REVIEW_TIMEOUT_MS = 2700 * 1e3;
|
|
1172
1181
|
spawnReviewRoleForIssue = (opts) => Effect.promise(() => spawnReviewRoleForIssuePromise(opts));
|
|
1173
1182
|
killAllReviewerSessions = (projectKey, issueId) => Effect.promise(() => killAllReviewerSessionsPromise(projectKey, issueId));
|
|
1174
1183
|
killAllReviewSessions = () => Effect.promise(() => killAllReviewSessionsPromise());
|
|
1175
1184
|
}));
|
|
1176
1185
|
//#endregion
|
|
1177
|
-
export {
|
|
1186
|
+
export { isReviewStaleSync as a, purgeReviewAgentsForIssue as c, buildConvoyPrompt as d, handleReviewDiscoveryReady as f, reviewResumeDecision as h, isReviewSessionForIssue as i, resolveReviewMode as l, spawnReviewSubRoleForIssue as m, init_review_agent as n, killAllReviewSessions as o, resolveReReviewScope as p, isExtendedReviewEnabled as r, killAllReviewerSessions as s, PARENT_REVIEW_TIMEOUT_MS as t, spawnReviewRoleForIssue as u };
|
|
1178
1187
|
|
|
1179
|
-
//# sourceMappingURL=review-agent-
|
|
1188
|
+
//# sourceMappingURL=review-agent-D6P6d3pz.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { a as isReviewStaleSync, c as purgeReviewAgentsForIssue, d as buildConvoyPrompt, f as handleReviewDiscoveryReady, h as reviewResumeDecision, i as isReviewSessionForIssue, l as resolveReviewMode, m as spawnReviewSubRoleForIssue, n as init_review_agent, o as killAllReviewSessions, p as resolveReReviewScope, r as isExtendedReviewEnabled, s as killAllReviewerSessions, t as PARENT_REVIEW_TIMEOUT_MS, u as spawnReviewRoleForIssue } from "./review-agent-D6P6d3pz.js";
|
|
2
|
+
init_review_agent();
|
|
3
|
+
export { PARENT_REVIEW_TIMEOUT_MS, buildConvoyPrompt, handleReviewDiscoveryReady, isExtendedReviewEnabled, isReviewSessionForIssue, isReviewStaleSync, killAllReviewSessions, killAllReviewerSessions, purgeReviewAgentsForIssue, resolveReReviewScope, resolveReviewMode, reviewResumeDecision, spawnReviewRoleForIssue, spawnReviewSubRoleForIssue };
|
|
@@ -4,7 +4,7 @@ import { a as PAN_DIRNAME, p as init_types } from "./types-CE1m_daD.js";
|
|
|
4
4
|
import { i as findPlanSync, o as init_io, u as readPlan } from "./io-Wy8YpFeP.js";
|
|
5
5
|
import { d as getDevrootPathSync, f as init_config } from "./config-oWoKf5jO.js";
|
|
6
6
|
import { a as init_lifecycle_io, i as findVBriefByIssueSync } from "./lifecycle-io-DSrv9xGh.js";
|
|
7
|
-
import { n as init_review_verdict_feedback } from "./review-verdict-feedback-
|
|
7
|
+
import { n as init_review_verdict_feedback } from "./review-verdict-feedback-B70VbfRL.js";
|
|
8
8
|
import { n as init_github_pr_lookup, r as lookupPullRequestNumberForBranch } from "./github-pr-lookup-t8X8R0c0.js";
|
|
9
9
|
import { Effect } from "effect";
|
|
10
10
|
import { existsSync } from "fs";
|
|
@@ -700,4 +700,4 @@ var init_review_context = __esmMin((() => {
|
|
|
700
700
|
//#endregion
|
|
701
701
|
export { getDiffStat as a, getDiffBase as i, formatTier1Summary as n, init_review_context as o, getChangedFiles as r, buildReviewContext as t };
|
|
702
702
|
|
|
703
|
-
//# sourceMappingURL=review-context-
|
|
703
|
+
//# sourceMappingURL=review-context-Dyo0tsBa.js.map
|
|
@@ -377,6 +377,18 @@ async function buildIssueRecord(project, issueId, opts = {}) {
|
|
|
377
377
|
};
|
|
378
378
|
}
|
|
379
379
|
/**
|
|
380
|
+
* PAN-2587: never regress the pipeline block during a whole-record rebuild. A
|
|
381
|
+
* concurrent writer (e.g. a reviewer's verdict landing between the rebuild's
|
|
382
|
+
* `existing` snapshot and its write) may have put a NEWER pipeline on disk than
|
|
383
|
+
* the status the rebuild projects — observed clobbering PAN-399's passed
|
|
384
|
+
* verdict back to a pre-verdict snapshot. Same newer-wins rule (ISO `updatedAt`
|
|
385
|
+
* comparison) the journal readers use.
|
|
386
|
+
*/
|
|
387
|
+
function pickNewerPipeline(rebuilt, fresh) {
|
|
388
|
+
if (!fresh?.updatedAt || !rebuilt?.updatedAt) return rebuilt;
|
|
389
|
+
return rebuilt.updatedAt < fresh.updatedAt ? fresh : rebuilt;
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
380
392
|
* PAN-1908 / PAN-1919: rebuild and queue the per-issue permanent record for a
|
|
381
393
|
* given issue. Fire-and-forget: failures are logged, never thrown, so
|
|
382
394
|
* review-status writes stay synchronous and fast.
|
|
@@ -400,6 +412,7 @@ async function updateIssueRecordForIssue(issueId, reviewStatus) {
|
|
|
400
412
|
...record.statusOverrides,
|
|
401
413
|
...fresh.statusOverrides
|
|
402
414
|
};
|
|
415
|
+
record.pipeline = pickNewerPipeline(record.pipeline, fresh?.pipeline);
|
|
403
416
|
queueIssueRecordCommit(project, issueId, writeIssueRecordSync(project, issueId, record));
|
|
404
417
|
});
|
|
405
418
|
return true;
|
|
@@ -1056,7 +1069,7 @@ function resetPipelineVerdictsForWorkStartSync(issueId) {
|
|
|
1056
1069
|
*/
|
|
1057
1070
|
async function deliverReviewVerdictFeedbackHostSide(issueId, status) {
|
|
1058
1071
|
try {
|
|
1059
|
-
const { deliverReviewVerdictFeedback } = await import("./review-verdict-feedback-
|
|
1072
|
+
const { deliverReviewVerdictFeedback } = await import("./review-verdict-feedback-CorgH49f.js");
|
|
1060
1073
|
if ((await Effect.runPromise(deliverReviewVerdictFeedback({
|
|
1061
1074
|
issueId,
|
|
1062
1075
|
verdict: status.reviewStatus === "failed" ? "failed" : "blocked",
|
|
@@ -1105,7 +1118,7 @@ async function dispatchReviewHostSide(issueId, prUrl) {
|
|
|
1105
1118
|
});
|
|
1106
1119
|
branch = stdout.trim() || branch;
|
|
1107
1120
|
} catch {}
|
|
1108
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
1121
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-DTINEffB.js");
|
|
1109
1122
|
if ((await Effect.runPromise(spawnReviewRoleForIssue({
|
|
1110
1123
|
issueId,
|
|
1111
1124
|
workspace,
|
|
@@ -1165,10 +1178,10 @@ async function deliverTestFailureToWorkAgentHostSide(issueId, status) {
|
|
|
1165
1178
|
if (r.success) feedbackPath = r.filePath;
|
|
1166
1179
|
} catch {}
|
|
1167
1180
|
const message = `SPECIALIST FEEDBACK: test-agent reported FAILED for ${issueId}.\n\n${feedbackPath ? `MUST READ: ${feedbackPath}\n\n` : ""}${notes ? `${notes.slice(0, 400)}\n\n` : ""}Fix the failing tests, commit and push, then re-run pan done ${issueId}. Do NOT stop at the prompt.`;
|
|
1168
|
-
const { resolveIssueFeedbackTarget, surfaceIssueFeedbackNeedsYou } = await import("./feedback-target-
|
|
1181
|
+
const { resolveIssueFeedbackTarget, surfaceIssueFeedbackNeedsYou } = await import("./feedback-target-nQSM6ygL.js");
|
|
1169
1182
|
const target = await resolveIssueFeedbackTarget(issueId);
|
|
1170
1183
|
if ("agentId" in target) {
|
|
1171
|
-
const { messageAgent } = await import("./agents-
|
|
1184
|
+
const { messageAgent } = await import("./agents-C-vqmKDi.js");
|
|
1172
1185
|
await messageAgent(target.agentId, message);
|
|
1173
1186
|
console.log(`[review-status] delivered test failure to ${target.agentId} for ${issueId} (host-side)`);
|
|
1174
1187
|
} else await surfaceIssueFeedbackNeedsYou(issueId, target.reason, {
|
|
@@ -1401,4 +1414,4 @@ var init_review_status = __esmMin((() => {
|
|
|
1401
1414
|
//#endregion
|
|
1402
1415
|
export { listOverdeckAgentStatesSync as A, init_record_lock as C, AGENT_COLUMNS_FOR_DB as D, readReviewStatusMap as E, stateToOverdeckParamsForDb as M, getOverdeckAgentStateSync as O, needsReviewDispatch as S, init_review_status_source as T, setDeaconIgnored as _, fixStuckReadyForMerge as a, verificationSatisfied as b, init_review_status as c, loadReviewStatusesForIssues as d, markWorkspaceStuck as f, setAutoMerge as g, reviewGatesPassedSync as h, fixStuckCommentedReviews as i, saveOverdeckAgentStateSync as j, init_agent_state_sync as k, loadReadyForMergeFlags as l, resetPipelineVerdictsForWorkStartSync as m, clearReviewStatus as n, getReviewStatus as o, mergeGateEligibility as p, clearStuckMergeStatuses as r, getReviewStatusSync as s, ReviewStatusError as t, loadReviewStatuses as u, setReviewStatus as v, withIssueRecordLock as w, init_review_dispatch_decision as x, setReviewStatusSync as y };
|
|
1403
1416
|
|
|
1404
|
-
//# sourceMappingURL=review-status-
|
|
1417
|
+
//# sourceMappingURL=review-status-B5ZASOo4.js.map
|