@overdeck/desktop 0.45.8 → 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/public/assets/{chunk-BO2N2NFS-jJsbVwoD.js → chunk-BO2N2NFS-BjULspib.js} +4 -4
- package/server/public/assets/{diagram-OG6HWLK6-Cp1aNi3v.js → diagram-OG6HWLK6-4ER5ovy_.js} +1 -1
- package/server/public/assets/{dist-Dbb8vdyE.js → dist-CBUe_1pC.js} +3 -3
- package/server/public/assets/{dist-B2-Oc7J1.js → dist-DVM-OI65.js} +1 -1
- package/server/public/assets/{ganttDiagram-6RSMTGT7-rujV2mSn.js → ganttDiagram-6RSMTGT7-DQ3nocJU.js} +1 -1
- package/server/public/assets/{highlighted-body-OFNGDK62-Df3Exbbt.js → highlighted-body-OFNGDK62-BcLOHe75.js} +1 -1
- package/server/public/assets/index-DdqPXf3T.js +796 -0
- package/server/public/assets/{linear-Ctp3LAJ5.js → linear-Acq5WFAt.js} +1 -1
- package/server/public/assets/mermaid-GHXKKRXX-BTHbMU88.js +1 -0
- package/server/public/assets/{pieDiagram-4H26LBE5-K-m6VCum.js → pieDiagram-4H26LBE5-BEmjmqLh.js} +1 -1
- package/server/public/assets/{prod-jqZ3zqVg.js → prod-D-3YYika.js} +4 -4
- package/server/public/assets/{quadrantDiagram-W4KKPZXB-DXcFax_1.js → quadrantDiagram-W4KKPZXB-DyeZ0jBC.js} +1 -1
- package/server/public/assets/{sankeyDiagram-5OEKKPKP-DnD_J_rB.js → sankeyDiagram-5OEKKPKP-DSD--Pbl.js} +1 -1
- package/server/public/assets/{xychartDiagram-2RQKCTM6-Dx25iKVp.js → xychartDiagram-2RQKCTM6-idS7x7Bb.js} +1 -1
- package/server/public/index.html +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/public/assets/index-rQPa7qlV.js +0 -796
- package/server/public/assets/mermaid-GHXKKRXX-BnC2HrDq.js +0 -1
- package/server/resume-DnIsmIgC.js +0 -3
- package/server/review-agent-DgySDb-G.js +0 -3
- package/server/workflows-Cz8OtiB4.js +0 -2
package/server/server.js
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import { a as __toCommonJS, i as __require, o as __toESM, t as __commonJSMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
2
|
import { $n as extractPrefixSync, Br as getOverdeckHome, C as resolveTieredExecutionEnabled, Dn as getProjectSync, Dr as LOGS_DIR, E as canUseHarnessSync, Et as getIssueWorkspacePath, F as getKimiAnthropicBaseUrl, Fr as SYNC_SOURCES, G as init_registry, Gn as resolveProjectFromIssueSync, Gr as sessionFilePath, Hn as registerProjectSync, Hr as isDevMode, In as listProjects, J as computeModelOrigin, K as DEFAULT_ROLES, L as getProviderForModelSync, Ln as listProjectsSync, Lr as encodeClaudeProjectDir, M as UnknownModelError, Nn as init_projects, O as init_harness_policy, Or as OVERDECK_HOME, Ot as init_record, P as getBuiltInDefaultHarness, Q as MODEL_DEPRECATIONS, R as init_providers, S as init_tier_table, Sn as findProjectByTeamSync, T as validateTieredExecutionConfig, Ur as packageRoot, Vr as init_paths, W as defaultBackgroundAiFeatures, Wn as resolveProjectFromIssue, Wr as resolveOhmypiExtensionPath, X as resolveModel, Yn as setProjectAutoMergeDefaultSync, Z as MODEL_CAPABILITIES, _ as getDefaultTtsDaemonConfig, bn as findProjectByPathSync, c as isClaudeCodeChannelsEnabled, cr as FsError, ct as COMPLIANCE_MODES, d as loadConfigNoMigration, er as init_issue_id, et as getModelEffortLevelsSync, f as loadConfigSync, g as mergeConfigs, gr as TrackerError, h as jsYaml, i as getConversationsConfig, ir as require_dist$1, it as resolveModelIdSync, lt as PARENT_MODEL_REF, m as init_js_yaml, mr as ProcessSpawnError, n as clearConfigCache, nn as flushAutoCommits, nr as parseIssueIdSync, nt as init_model_capabilities, o as getGlobalConfigPath, p as updateConversationsConfig, q as DEFAULT_WORKHORSES, r as getConversationSearchConfigSync, rn as init_auto_commit, rt as modelSupportsImagesSync, t as init_config_yaml, tn as flushAllPendingAutoCommits, tt as hasModelCapabilitySync, u as isTldrEnabledSync, ur as GitHubApiError, ut as ROLE_EFFORTS, v as mergeTtsDaemonConfigs, vn as extractTeamPrefix, vr as init_errors, wn as getIssuePrefix, wr as CLAUDE_DIR, x as TieredExecutionConfigError, yr as AGENTS_DIR, z as piProviderForModel, zr as getLegacyHome } from "./config-yaml-DPAieL_G.js";
|
|
3
|
-
import { _ as getDashboardIdentity, c as startUatTrainReconciler, d as openFlywheelRunReportForDashboard, f as pauseFlywheelRunForDashboard, g as runDashboardDbJob, h as startFlywheelRunForDashboard, l as stopUatTrainReconciler, m as resumeFlywheelRunForDashboard, p as readCurrentFlywheelStatusForDashboard, u as abortFlywheelRunForDashboard, v as readHostDashboardApiPort, y as shouldRefuseHostDashboardPort } from "./uat-train-
|
|
4
|
-
import { C as validateOrigin$1, D as jsonResponse, E as httpHandler, O as jsonStringResponse, T as checkCodexAuthStatus, _ as resolveJsonlPath, a as agentsRouteLayer, c as evaluateSpawnGuardrails, d as resolveConversationGitInfo, g as resolveCodexRolloutPath, h as resolveClaudeSessionId, l as invalidateAgentsCache, m as resolveAgentHarness, o as saveAgentStateAndEmitEvent, p as readLauncherPinnedSessionId, s as saveAgentStateAndEmitEventProgram, t as specialistsRouteLayer, u as resolveAgentGitInfo, v as resolvePiSessionPath, w as validateOriginHeaders, x as isTrustedOriginForHost, y as getHeaderFromMap } from "./specialists-
|
|
3
|
+
import { _ as getDashboardIdentity, c as startUatTrainReconciler, d as openFlywheelRunReportForDashboard, f as pauseFlywheelRunForDashboard, g as runDashboardDbJob, h as startFlywheelRunForDashboard, l as stopUatTrainReconciler, m as resumeFlywheelRunForDashboard, p as readCurrentFlywheelStatusForDashboard, u as abortFlywheelRunForDashboard, v as readHostDashboardApiPort, y as shouldRefuseHostDashboardPort } from "./uat-train-BLBAbJ8Y.js";
|
|
4
|
+
import { C as validateOrigin$1, D as jsonResponse, E as httpHandler, O as jsonStringResponse, T as checkCodexAuthStatus, _ as resolveJsonlPath, a as agentsRouteLayer, c as evaluateSpawnGuardrails, d as resolveConversationGitInfo, g as resolveCodexRolloutPath, h as resolveClaudeSessionId, l as invalidateAgentsCache, m as resolveAgentHarness, o as saveAgentStateAndEmitEvent, p as readLauncherPinnedSessionId, s as saveAgentStateAndEmitEventProgram, t as specialistsRouteLayer, u as resolveAgentGitInfo, v as resolvePiSessionPath, w as validateOriginHeaders, x as isTrustedOriginForHost, y as getHeaderFromMap } from "./specialists-DEfrAbWs.js";
|
|
5
5
|
import { a as init_activity_logger, i as emitDashboardLifecycleSync, n as emitActivityEntrySync, r as emitActivityTtsSync } from "./activity-logger-pcbf-e30.js";
|
|
6
6
|
import { A as init_paths$1, O as OVERDECK_MIGRATION_PATH, d as getOverdeckDatabaseSync, f as init_infra, i as DbLive, k as getOverdeckDatabasePath, u as TmuxLive } from "./infra-CpKlYZA9.js";
|
|
7
7
|
import { n as openDatabase, t as init_driver } from "./driver-D-HBOQa_.js";
|
|
8
8
|
import { E as listPaneValues, F as sendKeysAsync, G as buildChildEnvSync, H as init_ui_theme, I as sendRawKeystroke, K as buildChildEnvWithoutTmuxSync, L as sessionExists, M as resizeWindow, O as listSessionNames, P as sendKeys, S as isHarnessProcessAlive, U as setUiTheme, W as BLANKED_PROVIDER_ENV, b as getWindowDimensions, c as ensureManagedTmuxContextOnce, d as exactPaneTarget, i as capturePane, k as listSessions, n as buildTmuxArgs, o as createSession, p as findManagedServerPidSync, q as init_child_env, w as killSession, x as init_tmux, z as setOption } from "./tmux-ePNhMIMU.js";
|
|
9
9
|
import { a as init_event_store, i as initEventStore, n as getEventStore, r as getSharedDb } from "./event-store-DTJXZjCl.js";
|
|
10
10
|
import { _ as FlywheelRunId, a as getHarnessBehavior, b as DomainEvent, c as FlywheelStats, g as WS_METHODS, h as PanRpcGroup, m as PanRpcError, o as ContextLayerSaveRequest, s as ContextPreviewRequest, t as init_src, v as FlywheelStatus, x as MemoryObservation, y as EDITORS } from "./src-fgbU-jJ-.js";
|
|
11
|
-
import { a as fixStuckReadyForMerge, c as init_review_status, i as fixStuckCommentedReviews, l as loadReadyForMergeFlags, n as clearReviewStatus, o as getReviewStatus, r as clearStuckMergeStatuses, s as getReviewStatusSync, u as loadReviewStatuses, v as setReviewStatus, y as setReviewStatusSync } from "./review-status-
|
|
12
|
-
import { a as EventStoreService, c as ReadModelService, d as init_read_model, f as toAgentResolution, i as init_issue_lifecycle, l as ReadModelServiceLive, m as toRole, n as IssueLifecycleLive, o as EventStoreServiceLive, p as toAgentStatus, s as init_domain_services, t as IssueLifecycle } from "./issue-lifecycle-
|
|
11
|
+
import { a as fixStuckReadyForMerge, c as init_review_status, i as fixStuckCommentedReviews, l as loadReadyForMergeFlags, n as clearReviewStatus, o as getReviewStatus, r as clearStuckMergeStatuses, s as getReviewStatusSync, u as loadReviewStatuses, v as setReviewStatus, y as setReviewStatusSync } from "./review-status-B5ZASOo4.js";
|
|
12
|
+
import { a as EventStoreService, c as ReadModelService, d as init_read_model, f as toAgentResolution, i as init_issue_lifecycle, l as ReadModelServiceLive, m as toRole, n as IssueLifecycleLive, o as EventStoreServiceLive, p as toAgentStatus, s as init_domain_services, t as IssueLifecycle } from "./issue-lifecycle-5LbOcATP.js";
|
|
13
13
|
import { d as init_agents, i as recordBriefingSessionStart, n as ensureSessionContextBriefingFile, p as listAllAgentsSync, r as init_briefing_freshness, s as AgentsResolverLive, t as appendFreshBriefingUpdate } from "./briefing-freshness-CXhZdnB8.js";
|
|
14
14
|
import { i as init_paths$2, l as resolveObservationsFile, r as ensureParentDir, s as resolveIssueMemoryRoot, t as assertMemorySafeSegment } from "./paths-TE1GOZDr.js";
|
|
15
15
|
import { n as listFeatureRegistryEntries, t as init_feature_registry_storage } from "./feature-registry-storage-CnGyNgAq.js";
|
|
16
16
|
import { a as diffAgainstMain, c as diffCheckpoints, d as diffPatchSinceCommit, f as findCommitAtTime, h as listCheckpoints, l as diffFilesAgainstHead, m as init_checkpoint_manager, o as diffAgainstMainFiles, s as diffCheckpointFiles, t as captureCheckpoint, u as diffPatchFilesAgainstHead } from "./checkpoint-manager-CfNpHOp4.js";
|
|
17
|
-
import { An as getAgentDir, At as init_bridge_token, Dt as captureTranscriptUserRecordSnapshot, Gt as getAgentRuntimeBaseCommand, Jn as saveAgentStateSync, Jt as getProviderAuthMode, M as init_operator_interventions, Mn as getAgentState, N as operatorInterventionEvent, Nn as getAgentStateFilePath, Ot as init_transcript_landing, Pn as getAgentStateSync, Q as listRunningAgentsSync, St as deliverAgentMessage, X as listAgentStates, Z as listRunningAgents, Zt as injectPiConversationMemory, _t as init_config, an as init_claude_auth, ar as init_pty_token, at as init_concurrency, bn as writeChannelsBridgeMcpConfig, bt as saveCloisterConfigSync, c as init_tier_supervisor, en as init_pi_fifo, f as supervisorAgentId, fr as waitForReadySignal, hn as init_openai_auth, in as getClaudeAuthStatus, ir as readAgentHarnessModelRecordSync, j as messageAgent, jt as writeBridgeTokenSync, kt as probeTranscriptSince, ln as getProviderEnvForModel, lr as normalizeAgentId, mn as getOpenAIAuthStatus, mr as getAgentRuntimeStateSync, nn as init_ohmypi_fifo, or as writePtyToken, pr as getAgentRuntimeState, rn as ohmypiFifoPaths, rr as init_agent_record_sync, rt as emergencyBrake, s as deliverCommitForReview, sr as clearReadySignal, t as init_agents$1, tn as piFifoPaths, un as getProviderExportsForModel, vt as loadCloisterConfig, xt as shouldAutoStart, yn as dismissDevChannelsDialog, yt as loadCloisterConfigSync } from "./agents-
|
|
17
|
+
import { An as getAgentDir, At as init_bridge_token, Dt as captureTranscriptUserRecordSnapshot, Gt as getAgentRuntimeBaseCommand, Jn as saveAgentStateSync, Jt as getProviderAuthMode, M as init_operator_interventions, Mn as getAgentState, N as operatorInterventionEvent, Nn as getAgentStateFilePath, Ot as init_transcript_landing, Pn as getAgentStateSync, Q as listRunningAgentsSync, St as deliverAgentMessage, X as listAgentStates, Z as listRunningAgents, Zt as injectPiConversationMemory, _t as init_config, an as init_claude_auth, ar as init_pty_token, at as init_concurrency, bn as writeChannelsBridgeMcpConfig, bt as saveCloisterConfigSync, c as init_tier_supervisor, en as init_pi_fifo, f as supervisorAgentId, fr as waitForReadySignal, hn as init_openai_auth, in as getClaudeAuthStatus, ir as readAgentHarnessModelRecordSync, j as messageAgent, jt as writeBridgeTokenSync, kt as probeTranscriptSince, ln as getProviderEnvForModel, lr as normalizeAgentId, mn as getOpenAIAuthStatus, mr as getAgentRuntimeStateSync, nn as init_ohmypi_fifo, or as writePtyToken, pr as getAgentRuntimeState, rn as ohmypiFifoPaths, rr as init_agent_record_sync, rt as emergencyBrake, s as deliverCommitForReview, sr as clearReadySignal, t as init_agents$1, tn as piFifoPaths, un as getProviderExportsForModel, vt as loadCloisterConfig, xt as shouldAutoStart, yn as dismissDevChannelsDialog, yt as loadCloisterConfigSync } from "./agents-C7V4odQ6.js";
|
|
18
18
|
import { t as init_behavior } from "./behavior-By-2Wipv.js";
|
|
19
19
|
import { a as getCostForIssueAggregateSync, c as getDailyTrendsSync, d as init_cost_sync, l as getModelRollupSync, n as getBackgroundCostBySourceSync, p as queryCostEventsSync, r as getCavemanExperimentDataSync, s as getCostsByIssueSync, u as getTodayCostSync } from "./cost-sync-8lkDeL9g.js";
|
|
20
|
-
import { c as getAgentsNeedingAttention, d as CostResolverLive, f as CostWriter, l as CostDoorLive, n as readCloisterStateFile, o as generateHealthSummary, s as getAgentHealth, t as getCloisterService, u as CostResolver } from "./service-
|
|
21
|
-
import { n as AgentStateServiceLive } from "./agent-state-service-
|
|
20
|
+
import { c as getAgentsNeedingAttention, d as CostResolverLive, f as CostWriter, l as CostDoorLive, n as readCloisterStateFile, o as generateHealthSummary, s as getAgentHealth, t as getCloisterService, u as CostResolver } from "./service-HKDrIy0h.js";
|
|
21
|
+
import { n as AgentStateServiceLive } from "./agent-state-service-tXUdp6UF.js";
|
|
22
22
|
import { a as init_tracker_config, i as initTrackerConfigCache, n as getLinearApiKey, r as getRallyConfig, t as getGitHubConfig } from "./tracker-config-C3hiPVAM.js";
|
|
23
23
|
import { d as init_typed_errors, l as WorkspaceCreateError, n as AgentStartError, r as BeadsNotInitialized, s as TrackerApiError, t as AgentAlreadyRunning, u as WorkspaceNotFound } from "./typed-errors-BEJhbjJg.js";
|
|
24
24
|
import { i as init_linear_client, r as LinearClientOptionalLive, t as LinearClient } from "./linear-client-E0HdXtWs.js";
|
|
25
25
|
import { i as init_github_client, r as GitHubClientOptionalLive, t as GitHubClient } from "./github-client-yjbXaqpR.js";
|
|
26
26
|
import { i as init_rally_client, r as RallyClientOptionalLive, t as RallyClient } from "./rally-client-DYjtgTOu.js";
|
|
27
27
|
import { a as resolveTrackerTypeSync, i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-bpWs7Xyx.js";
|
|
28
|
-
import { a as CacheService, i as startSharedIssueService, n as init_issue_service_singleton, o as init_cache_service, r as issue_service_singleton_exports, s as parseIntegerHeader, t as getSharedIssueService } from "./issue-service-singleton-
|
|
28
|
+
import { a as CacheService, i as startSharedIssueService, n as init_issue_service_singleton, o as init_cache_service, r as issue_service_singleton_exports, s as parseIntegerHeader, t as getSharedIssueService } from "./issue-service-singleton-CDGt__oQ.js";
|
|
29
29
|
import { i as ensureInternalTokenSync, o as getInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-CQUx9YLc.js";
|
|
30
30
|
import { a as setPipelineHandlerSync, t as init_pipeline_notifier } from "./pipeline-notifier-aX_5EqQO.js";
|
|
31
31
|
import { c as init_review_status_sync, i as getMergeBlockerReconcileCandidates } from "./review-status-sync-BWHnrq-k.js";
|
|
@@ -45,18 +45,18 @@ import { a as init_claude_permissions, o as resolvePermissionModeSync, r as getC
|
|
|
45
45
|
import { a as globalContextFile$1, f as resolveProjectContextFile, h as workspaceContextFile, l as piGlobalContextFile, n as codexGlobalContextFile, o as init_layers, p as resolveWorkspaceContextFile, r as ensureProjectLayer } from "./layers-vdvlpFki.js";
|
|
46
46
|
import { l as init_codex, s as findRolloutPath } from "./codex-DcInrhok.js";
|
|
47
47
|
import { C as setMergeTrainEnabled, S as setFlywheelRequireUatBeforeMerge, b as setFlywheelAutoPickupBacklog, c as isCloisterSpawnsPausedSync, d as isFlywheelAutoPickupBacklog, f as isFlywheelGloballyPaused$1, g as setCloisterSpawnsPausedSync, h as setBootReconciliationDecision, m as isMergeTrainEnabled, o as getSetting, p as isFlywheelRequireUatBeforeMerge, r as getBootReconciliationState, s as init_control_settings, u as isDeaconGloballyPausedSync, v as setDeaconGloballyPausedSync, w as setSetting } from "./control-settings-BMqUkXmR.js";
|
|
48
|
-
import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-
|
|
48
|
+
import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-B3f9G1Kp.js";
|
|
49
49
|
import { i as checkPrdGateSync, t as init_pan_dir } from "./pan-dir-BgBeeZDX.js";
|
|
50
50
|
import { a as init_lifecycle_io, t as appendContinueSessionEntryForIssue } from "./lifecycle-io-DSrv9xGh.js";
|
|
51
51
|
import { r as init_swarm_readiness, t as analyzeSwarmReadiness } from "./swarm-readiness-OBgamRql.js";
|
|
52
|
-
import { $t as scanPendingInputsPromise, B as applyIssueBlocksMainLabel, Bt as formatUptime, F as setAgentStatusChangedNotifier, G as applyIssueVetoedLabel, Gt as isSmeeConfiguredSync, H as applyIssueParkedLabel, Ht as getCurrentDockerStats, I as setAgentStoppedNotifier, J as removeIssueParkedLabel, Jt as countPendingAskUserQuestionsForAgent, K as removeIssueBlocksMainLabel, Kt as startSmeeProcessSync, L as setMergeReadyNotifier, Lt as getRuntimeForAgent, O as loadConfig, Q as createInFlightGuard, U as applyIssueReadyLabel, V as applyIssueObjectionLabel, Vt as getContainerHistory, W as applyIssueReleasedLabel, Wt as getSystemHealthSnapshot, X as removeIssueReleasedLabel, Y as removeIssueReadyLabel, Yt as getAgentJsonlMtime, Z as removeIssueVetoedLabel, _t as withConcurrencyLimit, at as listBootReconciliationCandidates, en as detectAwaitingInputForAgent, it as isBootReconciliationCandidate, k as loadState, n as assessDeaconPatrolFreshness, ot as startBootReconciliation, q as removeIssueObjectionLabel, qt as computeAgentEnrichment, rn as parseCodexApprovalPrompt, t as applyBootReconciliationDecision, tn as detectAwaitingInputFromPaneSync, x as getDeaconLogs, zt as getResourceStacks } from "./deacon-
|
|
52
|
+
import { $t as scanPendingInputsPromise, B as applyIssueBlocksMainLabel, Bt as formatUptime, F as setAgentStatusChangedNotifier, G as applyIssueVetoedLabel, Gt as isSmeeConfiguredSync, H as applyIssueParkedLabel, Ht as getCurrentDockerStats, I as setAgentStoppedNotifier, J as removeIssueParkedLabel, Jt as countPendingAskUserQuestionsForAgent, K as removeIssueBlocksMainLabel, Kt as startSmeeProcessSync, L as setMergeReadyNotifier, Lt as getRuntimeForAgent, O as loadConfig, Q as createInFlightGuard, U as applyIssueReadyLabel, V as applyIssueObjectionLabel, Vt as getContainerHistory, W as applyIssueReleasedLabel, Wt as getSystemHealthSnapshot, X as removeIssueReleasedLabel, Y as removeIssueReadyLabel, Yt as getAgentJsonlMtime, Z as removeIssueVetoedLabel, _t as withConcurrencyLimit, at as listBootReconciliationCandidates, en as detectAwaitingInputForAgent, it as isBootReconciliationCandidate, k as loadState, n as assessDeaconPatrolFreshness, ot as startBootReconciliation, q as removeIssueObjectionLabel, qt as computeAgentEnrichment, rn as parseCodexApprovalPrompt, t as applyBootReconciliationDecision, tn as detectAwaitingInputFromPaneSync, x as getDeaconLogs, zt as getResourceStacks } from "./deacon-CGHl90eC.js";
|
|
53
53
|
import { i as CostThresholdError, l as embed, s as parseRelativeTime } from "./scanner-CUGpdp4i.js";
|
|
54
54
|
import { c as tailEventsSync, n as deduplicateEventsSync, o as readEventsSync } from "./events-DGWZzye2.js";
|
|
55
55
|
import { n as recordBackgroundAiCost, t as init_cost } from "./cost-DaOG8sUB.js";
|
|
56
|
-
import { S as writeLatestFlywheelStatus, _ as readCurrentLatestFlywheelStatus, b as subscribeLatestFlywheelStatus, f as getFlywheelRunDetail, h as listFlywheelRuns, l as buildClassifyLookups, m as isFlywheelRunId, y as resolveLiveFlywheelRunId } from "./flywheel-
|
|
57
|
-
import { C as hasDashboardInternalToken, D as getWorkspacePathForIssue, E as rejectUnsafeDashboardMutationRequest, S as dashboardSessionCookieHeader, T as rejectUnauthorizedDashboardSessionMintRequest, _ as syncCacheSync, b as resolveIssueHeadlineCost, d as reconcile, f as reconcilePiTranscripts, g as rebuildCacheSync, h as getCostsForIssueSync, l as resumeQueuedMerges, m as migrateAllSessionsSync, p as reclassifyUnknownCostEventsSync, t as workspacesRouteLayer, u as syncWalFromAllProjects, v as processPendingFeedbackDeliveries, w as rejectUnauthorizedDashboardRequest, x as dashboardCsrfToken, y as getCachedRunningAgents } from "./workspaces-
|
|
56
|
+
import { S as writeLatestFlywheelStatus, _ as readCurrentLatestFlywheelStatus, b as subscribeLatestFlywheelStatus, f as getFlywheelRunDetail, h as listFlywheelRuns, l as buildClassifyLookups, m as isFlywheelRunId, y as resolveLiveFlywheelRunId } from "./flywheel-BLoVNtJV.js";
|
|
57
|
+
import { C as hasDashboardInternalToken, D as getWorkspacePathForIssue, E as rejectUnsafeDashboardMutationRequest, S as dashboardSessionCookieHeader, T as rejectUnauthorizedDashboardSessionMintRequest, _ as syncCacheSync, b as resolveIssueHeadlineCost, d as reconcile, f as reconcilePiTranscripts, g as rebuildCacheSync, h as getCostsForIssueSync, l as resumeQueuedMerges, m as migrateAllSessionsSync, p as reclassifyUnknownCostEventsSync, t as workspacesRouteLayer, u as syncWalFromAllProjects, v as processPendingFeedbackDeliveries, w as rejectUnauthorizedDashboardRequest, x as dashboardCsrfToken, y as getCachedRunningAgents } from "./workspaces-DXLDgXo2.js";
|
|
58
58
|
import { l as detectPlatform, u as init_platform } from "./workspace-manager-CEWK-OXd.js";
|
|
59
|
-
import { O as init_specialists, b as getReviewerSessionName } from "./specialists-
|
|
59
|
+
import { O as init_specialists, b as getReviewerSessionName } from "./specialists-nZ0mRwpZ.js";
|
|
60
60
|
import { t as withBdMutex } from "./bd-mutex-BItGvLQ8.js";
|
|
61
61
|
import { c as findPrdAtStatusSync, l as init_prd_locations } from "./archive-planning-zTvWWHG_.js";
|
|
62
62
|
import { a as getShadowState, s as init_shadow_state } from "./shadow-state-DTC7AMHc.js";
|
|
@@ -65,29 +65,29 @@ import { n as init_issue_closed, t as clearIssueClosedCache } from "./issue-clos
|
|
|
65
65
|
import { a as writeFeedbackFile, i as init_feedback_writer } from "./feedback-writer-DMaO0XXa.js";
|
|
66
66
|
import { a as init_boot_gates, i as formatBootGateState, o as resolveBootGates } from "./no-resume-mode-yrPEQ_pC.js";
|
|
67
67
|
import { c as computeCohort, d as computeStats, f as computeWaves, h as selectNeedsPlanning, l as computeEpicGroups, m as normalizeGate, s as classifyIssue, u as computeLanes } from "./pickup-KLRUhThD.js";
|
|
68
|
-
import { n as parseSequenceMd, r as writeSequenceMd, t as init_sequence_io } from "./sequence-io-
|
|
68
|
+
import { n as parseSequenceMd, r as writeSequenceMd, t as init_sequence_io } from "./sequence-io-6YP8fVpH.js";
|
|
69
69
|
import { a as loadWorkspaceMetadataSync } from "./workspace-metadata-1eu1RvAT.js";
|
|
70
|
-
import { i as resolveAutoSpawnOnFinalize, o as spawnPlanningSession } from "./spawn-planning-session-
|
|
70
|
+
import { i as resolveAutoSpawnOnFinalize, o as spawnPlanningSession } from "./spawn-planning-session-CXc0NkwV.js";
|
|
71
71
|
import { d as killRemoteAgent, m as loadRemoteAgentState, o as getRemoteAgentOutput, r as checkRemoteSpendCap, s as init_remote_agents, v as sendToRemoteAgent, y as spawnRemoteAgent } from "./remote-agents-CmbIKw7E.js";
|
|
72
|
-
import { r as spawnInspectAgent } from "./inspect-agent-
|
|
72
|
+
import { r as spawnInspectAgent } from "./inspect-agent-CKF5-SJr.js";
|
|
73
73
|
import { n as init_github_pr_lookup, r as lookupPullRequestNumberForBranch, t as githubPrLookupSource } from "./github-pr-lookup-t8X8R0c0.js";
|
|
74
74
|
import { a as init_pull_requests, c as getIssuePrTabCacheGeneration, i as fetchIssuePullRequestDiff, l as init_pr_tab_cache, n as fetchIssuePullRequest, o as bumpIssuePrTabCacheGeneration, r as fetchIssuePullRequestDetails, s as getCachedIssuePrTabResponse, t as fetchIssueCheckRuns, u as setCachedIssuePrTabResponse } from "./pull-requests-CH4iBFLl.js";
|
|
75
75
|
import { t as enrichReviewStatus } from "./review-status-enrichment-CGlcApSn.js";
|
|
76
76
|
import { i as runMemoryFtsTransaction, n as init_fts_db, r as runMemoryFtsStatement, t as closeMemoryFtsDatabases } from "./fts-db-DPtxOAjp.js";
|
|
77
77
|
import { c as init_pending, l as maybeTriggerStatusRollup, o as readRecentObservations, r as init_rollup, u as writePendingTurn } from "./rollup-BJE-Vc7H.js";
|
|
78
78
|
import { n as getTldrDaemonServiceSync, r as init_tldr_daemon } from "./tldr-daemon-CJW_P4On.js";
|
|
79
|
-
import { C as init_git_activity, w as listGitOperationsSync } from "./merge-agent-
|
|
79
|
+
import { C as init_git_activity, w as listGitOperationsSync } from "./merge-agent-C81xPIGd.js";
|
|
80
80
|
import { t as getAgentCommandSync } from "./settings-CBrei_kx.js";
|
|
81
|
-
import { n as
|
|
81
|
+
import { n as init_review_agent, r as isExtendedReviewEnabled } from "./review-agent-D6P6d3pz.js";
|
|
82
82
|
import { r as isRemoteAvailable, t as createFlyProviderFromConfig } from "./remote-TN0cV8k-.js";
|
|
83
83
|
import { n as init_claude_settings_overlay, t as detectProviderEnvConflicts } from "./claude-settings-overlay-BSeS7Ki3.js";
|
|
84
84
|
import { a as init_query_expansion, i as clearQueryExpansionCache, n as init_injection, o as buildMatchQuery, r as injectPromptTimeMemory, s as init_search } from "./injection-CszhePD2.js";
|
|
85
|
-
import { _ as init_transcript_adapter, a as generateFallbackSummary, c as handoffPreconditionFallbackReason, d as prependFallbackFocus, f as requestHandoffFromAgent, g as getTranscriptAdapter, i as copySessionFromCompactBoundary, l as init_summary_fork, o as generateSummaryForFork, p as reserveSummaryForkSession, r as authorHandoffExternal, s as handoffFailureReason, u as logHandoffFallback } from "./summary-fork-
|
|
86
|
-
import { a as init_conversation_compaction, c as shouldInterceptManualCompact, n as compactConversationNative, o as isCompacting } from "./conversation-compaction-
|
|
85
|
+
import { _ as init_transcript_adapter, a as generateFallbackSummary, c as handoffPreconditionFallbackReason, d as prependFallbackFocus, f as requestHandoffFromAgent, g as getTranscriptAdapter, i as copySessionFromCompactBoundary, l as init_summary_fork, o as generateSummaryForFork, p as reserveSummaryForkSession, r as authorHandoffExternal, s as handoffFailureReason, u as logHandoffFallback } from "./summary-fork-Xn0QUNmb.js";
|
|
86
|
+
import { a as init_conversation_compaction, c as shouldInterceptManualCompact, n as compactConversationNative, o as isCompacting } from "./conversation-compaction-CCqN4hWk.js";
|
|
87
87
|
import { a as init_render, d as validateTemplate, i as hasManagedRegion, l as init_harness, o as userContentOutsideRegion, t as init_context_layers, u as renderForHarness } from "./context-layers-CTjQwcEQ.js";
|
|
88
88
|
import { r as parseArtifactRef } from "./forge-BixzckB0.js";
|
|
89
89
|
import { t as getMergeBlockersPayload } from "./merge-blockers-DwdQNsYD.js";
|
|
90
|
-
import { a as spawnSequencerAgent, i as init_sequencer_agent, n as clearFinishedSequencerRun, r as getSequencerRunStatus, t as SEQUENCER_AGENT_ID } from "./sequencer-agent-
|
|
90
|
+
import { a as spawnSequencerAgent, i as init_sequencer_agent, n as clearFinishedSequencerRun, r as getSequencerRunStatus, t as SEQUENCER_AGENT_ID } from "./sequencer-agent-ja-nkEc1.js";
|
|
91
91
|
import "./supervisor-0oXvLwyC.js";
|
|
92
92
|
import { i as listTranscriptCheckpoints, r as getTranscriptCheckpoint$1 } from "./checkpoints-BbfH1EIy.js";
|
|
93
93
|
import { createRequire } from "node:module";
|
|
@@ -656,7 +656,7 @@ const AgentSpawnerLive = Layer.effect(AgentSpawner, Effect.sync(() => ({
|
|
|
656
656
|
const beadsDir = join$1(workspacePath, ".beads");
|
|
657
657
|
const projectBeadsDir = join$1(workspacePath, "..", "..", ".beads");
|
|
658
658
|
if (!(existsSync$1(beadsDir) || existsSync$1(projectBeadsDir))) throw new BeadsNotInitialized({ workspace: workspacePath });
|
|
659
|
-
const { getAgentState, spawnAgent, normalizeAgentId } = await import("./agents-
|
|
659
|
+
const { getAgentState, spawnAgent, normalizeAgentId } = await import("./agents-C-vqmKDi.js");
|
|
660
660
|
const normalizedId = normalizeAgentId(issueId);
|
|
661
661
|
if ((await Effect.runPromise(getAgentState(normalizedId)))?.status === "running") throw new AgentAlreadyRunning({ id: issueId });
|
|
662
662
|
return {
|
|
@@ -687,7 +687,7 @@ const AgentSpawnerLive = Layer.effect(AgentSpawner, Effect.sync(() => ({
|
|
|
687
687
|
const { workspacePath, projectPath, issue } = opts;
|
|
688
688
|
if (!existsSync$1(workspacePath)) throw new WorkspaceNotFound({ id: issueId });
|
|
689
689
|
const sessionName = opts.sessionName ?? `planning-${issueId.toLowerCase()}`;
|
|
690
|
-
const { spawnPlanningSession } = await import("./spawn-planning-session-
|
|
690
|
+
const { spawnPlanningSession } = await import("./spawn-planning-session-CSMWco8B.js");
|
|
691
691
|
const result = await spawnPlanningSession({
|
|
692
692
|
issue: {
|
|
693
693
|
id: issue.id,
|
|
@@ -720,14 +720,14 @@ const AgentSpawnerLive = Layer.effect(AgentSpawner, Effect.sync(() => ({
|
|
|
720
720
|
}),
|
|
721
721
|
kill: (agentId) => Effect.tryPromise({
|
|
722
722
|
try: async () => {
|
|
723
|
-
const { stopAgent } = await import("./agents-
|
|
723
|
+
const { stopAgent } = await import("./agents-C-vqmKDi.js");
|
|
724
724
|
await Effect.runPromise(stopAgent(agentId));
|
|
725
725
|
},
|
|
726
726
|
catch: () => void 0
|
|
727
727
|
}).pipe(Effect.ignore),
|
|
728
728
|
message: (agentId, msg) => Effect.tryPromise({
|
|
729
729
|
try: async () => {
|
|
730
|
-
const { messageAgent } = await import("./agents-
|
|
730
|
+
const { messageAgent } = await import("./agents-C-vqmKDi.js");
|
|
731
731
|
await messageAgent(agentId, msg);
|
|
732
732
|
},
|
|
733
733
|
catch: (err) => new AgentStartError({
|
|
@@ -738,7 +738,7 @@ const AgentSpawnerLive = Layer.effect(AgentSpawner, Effect.sync(() => ({
|
|
|
738
738
|
}),
|
|
739
739
|
deepWipe: (issueId, opts) => Effect.tryPromise({
|
|
740
740
|
try: async () => {
|
|
741
|
-
const { deepWipe } = await import("./workflows-
|
|
741
|
+
const { deepWipe } = await import("./workflows-DVwXauef.js");
|
|
742
742
|
const { resolveProjectFromIssueSync } = await import("./projects-BNmVxnNt.js");
|
|
743
743
|
const project = resolveProjectFromIssueSync(issueId);
|
|
744
744
|
const projectPath = project?.projectPath ?? process.cwd();
|
|
@@ -30499,7 +30499,7 @@ function isDiscoverableAgentSession(sessionName) {
|
|
|
30499
30499
|
async function loadTrackerIssues() {
|
|
30500
30500
|
const map = /* @__PURE__ */ new Map();
|
|
30501
30501
|
try {
|
|
30502
|
-
const { getSharedIssueService } = await import("./issue-service-singleton-
|
|
30502
|
+
const { getSharedIssueService } = await import("./issue-service-singleton-B8iu_TKV.js");
|
|
30503
30503
|
const issues = (await getSharedIssueService()).getIssues();
|
|
30504
30504
|
for (const issue of issues) if (issue.identifier) map.set(issue.identifier.toUpperCase(), issue);
|
|
30505
30505
|
} catch {
|
|
@@ -31946,7 +31946,7 @@ async function closeIssuePullRequest(issueId, reason = "Canceled via Overdeck")
|
|
|
31946
31946
|
timeout: 15e3
|
|
31947
31947
|
});
|
|
31948
31948
|
try {
|
|
31949
|
-
const { setReviewStatusSync } = await import("./review-status-
|
|
31949
|
+
const { setReviewStatusSync } = await import("./review-status-h7BXIA4z.js");
|
|
31950
31950
|
setReviewStatusSync(issueId.toUpperCase(), { prUrl: void 0 });
|
|
31951
31951
|
} catch {}
|
|
31952
31952
|
return [`Closed PR #${prNumber} on ${githubCheck.owner}/${githubCheck.repo}`];
|
|
@@ -32000,7 +32000,7 @@ async function runDestructiveIssueLifecycle(id, mode, opts = {}) {
|
|
|
32000
32000
|
const { ctx, projectConfig } = buildLifecycleContext(id, getIssueDataService$8().getIssueSource(id) ?? void 0);
|
|
32001
32001
|
const deleteWorkspace = opts.deleteWorkspace ?? true;
|
|
32002
32002
|
cleanupLog.push(...await closeIssuePullRequest(id, mode === "cancel" ? "Canceled via Overdeck" : "Reset to Todo via Overdeck"));
|
|
32003
|
-
const { resetToTodo, cancelIssueWorkflow } = await import("./lifecycle-
|
|
32003
|
+
const { resetToTodo, cancelIssueWorkflow } = await import("./lifecycle-CEg4sHZH.js");
|
|
32004
32004
|
const workflow = mode === "cancel" ? cancelIssueWorkflow : resetToTodo;
|
|
32005
32005
|
const result = await Effect.runPromise(workflow(ctx, {
|
|
32006
32006
|
deleteWorkspace,
|
|
@@ -32023,7 +32023,7 @@ async function runDestructiveIssueLifecycle(id, mode, opts = {}) {
|
|
|
32023
32023
|
cleanupLog.push(`vBRIEF cancel transition failed (non-fatal): ${err?.message ?? err}`);
|
|
32024
32024
|
}
|
|
32025
32025
|
try {
|
|
32026
|
-
const { killAllReviewerSessions } = await import("./review-agent-
|
|
32026
|
+
const { killAllReviewerSessions } = await import("./review-agent-DTINEffB.js");
|
|
32027
32027
|
const { resolveProjectFromIssueSync } = await import("./projects-BNmVxnNt.js");
|
|
32028
32028
|
const projectKey = resolveProjectFromIssueSync(id)?.projectKey;
|
|
32029
32029
|
if (projectKey) {
|
|
@@ -32038,7 +32038,7 @@ async function runDestructiveIssueLifecycle(id, mode, opts = {}) {
|
|
|
32038
32038
|
cleanupLog.push("Cleared review status");
|
|
32039
32039
|
} catch {}
|
|
32040
32040
|
try {
|
|
32041
|
-
const { resetPostMergeState } = await import("./merge-agent-
|
|
32041
|
+
const { resetPostMergeState } = await import("./merge-agent-7nBiCytp.js");
|
|
32042
32042
|
resetPostMergeState(id);
|
|
32043
32043
|
resetPostMergeState(id.toUpperCase());
|
|
32044
32044
|
cleanupLog.push("Cleared merge state");
|
|
@@ -32058,7 +32058,7 @@ function closeIssueTransition(options) {
|
|
|
32058
32058
|
const { issueId, body, eventStore } = options;
|
|
32059
32059
|
const { reason } = body;
|
|
32060
32060
|
const projectPath = getProjectPath$3(void 0, extractPrefixSync(issueId) ?? issueId.split("-")[0]);
|
|
32061
|
-
const { close: closeWorkflow } = yield* Effect.promise(() => import("./lifecycle-
|
|
32061
|
+
const { close: closeWorkflow } = yield* Effect.promise(() => import("./lifecycle-CEg4sHZH.js"));
|
|
32062
32062
|
const githubCheck = isGitHubIssue$4(issueId);
|
|
32063
32063
|
const issueDataService = getIssueDataService$8();
|
|
32064
32064
|
const issueSource = issueDataService.getIssueSource(issueId);
|
|
@@ -32325,7 +32325,7 @@ function reopenIssueTransition(options) {
|
|
|
32325
32325
|
else clearReviewStatus(id.toUpperCase());
|
|
32326
32326
|
} catch {}
|
|
32327
32327
|
try {
|
|
32328
|
-
const { resetPostMergeState } = await import("./merge-agent-
|
|
32328
|
+
const { resetPostMergeState } = await import("./merge-agent-7nBiCytp.js");
|
|
32329
32329
|
resetPostMergeState(id);
|
|
32330
32330
|
resetPostMergeState(id.toUpperCase());
|
|
32331
32331
|
} catch {}
|
|
@@ -33576,7 +33576,7 @@ function closeOutIssue(id) {
|
|
|
33576
33576
|
}
|
|
33577
33577
|
const closeOutResult = yield* Effect.promise(async () => {
|
|
33578
33578
|
try {
|
|
33579
|
-
const { closeOut } = await import("./lifecycle-
|
|
33579
|
+
const { closeOut } = await import("./lifecycle-CEg4sHZH.js");
|
|
33580
33580
|
return {
|
|
33581
33581
|
ok: true,
|
|
33582
33582
|
result: await Effect.runPromise(closeOut(ctx))
|
|
@@ -33662,7 +33662,7 @@ function bulkCloseOut(body) {
|
|
|
33662
33662
|
const invalidIds = issueIds.filter((id) => !isValidIssueId(id));
|
|
33663
33663
|
if (invalidIds.length > 0) return jsonResponse({ error: `Invalid issue ID format: ${invalidIds.join(", ")}` }, { status: 400 });
|
|
33664
33664
|
const eventStore = yield* EventStoreService;
|
|
33665
|
-
const { closeOut } = yield* Effect.promise(() => import("./lifecycle-
|
|
33665
|
+
const { closeOut } = yield* Effect.promise(() => import("./lifecycle-CEg4sHZH.js"));
|
|
33666
33666
|
const issueDataService = getIssueDataService$5();
|
|
33667
33667
|
const tasks = [];
|
|
33668
33668
|
const agentChecks = yield* withConcurrencyLimit(issueIds.map((id) => Effect.promise(async () => {
|
|
@@ -33859,7 +33859,7 @@ const getIssueShipLogRoute = HttpRouter.add("GET", "/api/issues/:id/ship-log", h
|
|
|
33859
33859
|
if (!parseIssueIdSync(id)) return jsonResponse({ error: "Invalid issue ID" }, { status: 400 });
|
|
33860
33860
|
return yield* Effect.promise(async () => {
|
|
33861
33861
|
const { getShipLog } = await import("./ship-log-CMWH3H5-.js");
|
|
33862
|
-
const { getReviewStatusSync } = await import("./review-status-
|
|
33862
|
+
const { getReviewStatusSync } = await import("./review-status-h7BXIA4z.js");
|
|
33863
33863
|
const log = getShipLog(id);
|
|
33864
33864
|
const rs = getReviewStatusSync(id);
|
|
33865
33865
|
return jsonResponse({
|
|
@@ -36431,7 +36431,6 @@ function sanitizeApiTtsConfig(tts) {
|
|
|
36431
36431
|
function getDefaultConversationModelApi() {
|
|
36432
36432
|
const { config } = loadConfigSync();
|
|
36433
36433
|
if (config.defaultConversationModel) return resolveModelIdSync(config.defaultConversationModel);
|
|
36434
|
-
throw new Error("No default model configured — set models.default_conversation_model");
|
|
36435
36434
|
}
|
|
36436
36435
|
const ROLE_NAMES = [
|
|
36437
36436
|
"plan",
|
|
@@ -44514,7 +44513,7 @@ const getPlanningStatusRoute = HttpRouter.add("GET", "/api/planning/:issueId/sta
|
|
|
44514
44513
|
const remoteState = loadRemoteAgentState(sessionName);
|
|
44515
44514
|
const isRemote = !!remoteState;
|
|
44516
44515
|
const vmName = remoteState?.vmName ?? "";
|
|
44517
|
-
const { getAgentStateSync } = await import("./agents-
|
|
44516
|
+
const { getAgentStateSync } = await import("./agents-C-vqmKDi.js");
|
|
44518
44517
|
const agentStarting = getAgentStateSync(sessionName)?.status === "starting";
|
|
44519
44518
|
let tmuxSessionAlive = false;
|
|
44520
44519
|
if (!isRemote) try {
|
|
@@ -47164,6 +47163,18 @@ async function spawnConversationSession(tmuxSession, cwd, claudeSessionId, model
|
|
|
47164
47163
|
await Effect.runPromise(setOption(tmuxSession, "destroy-unattached", "off"));
|
|
47165
47164
|
await Effect.runPromise(setOption(exactPaneTarget(tmuxSession), "remain-on-exit", "on"));
|
|
47166
47165
|
}
|
|
47166
|
+
/**
|
|
47167
|
+
* Resolve a conversation's cwd from a project identifier.
|
|
47168
|
+
*
|
|
47169
|
+
* The Command Deck identifies projects by display name, not yaml key
|
|
47170
|
+
* (PAN-2590) — accept either, like GET /api/session-trees does.
|
|
47171
|
+
*/
|
|
47172
|
+
function resolveProjectCwd(projectKey) {
|
|
47173
|
+
const projectConfig = getProjectSync(projectKey) ?? listProjectsSync().find((p) => p.config.name === projectKey)?.config ?? null;
|
|
47174
|
+
if (!projectConfig) return { error: `Unknown project: ${projectKey}` };
|
|
47175
|
+
if (!projectConfig.path || !existsSync$1(projectConfig.path)) return { error: `Project path does not exist: ${projectConfig.path || "(unset)"} (project: ${projectKey})` };
|
|
47176
|
+
return { cwd: projectConfig.path };
|
|
47177
|
+
}
|
|
47167
47178
|
async function handleConversationCreate(body, deps) {
|
|
47168
47179
|
try {
|
|
47169
47180
|
const message = typeof body["message"] === "string" ? body["message"].trim() : "";
|
|
@@ -47177,9 +47188,9 @@ async function handleConversationCreate(body, deps) {
|
|
|
47177
47188
|
if (effort && !SAFE_EFFORT_PATTERN.test(effort)) return jsonResponse({ error: "Invalid effort" }, { status: 400 });
|
|
47178
47189
|
let cwd = getDefaultCwd();
|
|
47179
47190
|
if (projectKey) {
|
|
47180
|
-
const
|
|
47181
|
-
if (
|
|
47182
|
-
|
|
47191
|
+
const resolved = resolveProjectCwd(projectKey);
|
|
47192
|
+
if ("error" in resolved) return jsonResponse({ error: resolved.error }, { status: 400 });
|
|
47193
|
+
cwd = resolved.cwd;
|
|
47183
47194
|
}
|
|
47184
47195
|
if (message && message.length > 5e4) return jsonResponse({ error: "message exceeds maximum length of 50000 characters" }, { status: 400 });
|
|
47185
47196
|
let name = generateConversationName();
|
|
@@ -50203,7 +50214,7 @@ init_pan_dir();
|
|
|
50203
50214
|
init_paths();
|
|
50204
50215
|
const execAsync$2 = promisify(exec);
|
|
50205
50216
|
async function getIssueDataService() {
|
|
50206
|
-
const { getSharedIssueService } = await import("./issue-service-singleton-
|
|
50217
|
+
const { getSharedIssueService } = await import("./issue-service-singleton-B8iu_TKV.js");
|
|
50207
50218
|
return getSharedIssueService();
|
|
50208
50219
|
}
|
|
50209
50220
|
/** Returns true if the path exists (any type). */
|
|
@@ -52352,7 +52363,7 @@ async function handlePullRequestPromise(payload) {
|
|
|
52352
52363
|
bumpIssuePrTabCacheGeneration(issueId);
|
|
52353
52364
|
const repo = payload.repository.full_name;
|
|
52354
52365
|
if (payload.action === "closed" && pr.merged === true) try {
|
|
52355
|
-
const { postMergeLifecycle } = await import("./merge-agent-
|
|
52366
|
+
const { postMergeLifecycle } = await import("./merge-agent-7nBiCytp.js");
|
|
52356
52367
|
const { resolveProjectFromIssueSync } = await import("./projects-BNmVxnNt.js");
|
|
52357
52368
|
const project = resolveProjectFromIssueSync(issueId);
|
|
52358
52369
|
if (project) {
|
|
@@ -57169,7 +57180,7 @@ async function getFlywheelConversationPayload() {
|
|
|
57169
57180
|
};
|
|
57170
57181
|
}
|
|
57171
57182
|
async function postFlywheelReportPayload() {
|
|
57172
|
-
const { flywheelReportCommand } = await import("./flywheel-
|
|
57183
|
+
const { flywheelReportCommand } = await import("./flywheel-Cqf8vu7N.js");
|
|
57173
57184
|
await flywheelReportCommand({ cwd: process.cwd() });
|
|
57174
57185
|
return {
|
|
57175
57186
|
status: 200,
|
|
@@ -57327,11 +57338,11 @@ const getMergeBlockersRoute = HttpRouter.add("GET", "/api/flywheel/merge-blocker
|
|
|
57327
57338
|
async function defaultGetOrderedIssueIds() {
|
|
57328
57339
|
const status = await readCurrentFlywheelStatusForDashboard();
|
|
57329
57340
|
if (!status) return [];
|
|
57330
|
-
const { computeMergeQueue } = await import("./flywheel-merge-order-
|
|
57341
|
+
const { computeMergeQueue } = await import("./flywheel-merge-order-CCwF60b-.js");
|
|
57331
57342
|
return (await Effect.runPromise(computeMergeQueue(status.activePipeline, process.cwd()).pipe(Effect.provide(layer)))).map((i) => i.issueId);
|
|
57332
57343
|
}
|
|
57333
57344
|
async function defaultMergeOne(issueId) {
|
|
57334
|
-
const { triggerMerge } = await import("./merge-ops-
|
|
57345
|
+
const { triggerMerge } = await import("./merge-ops-DE_6CnmZ.js");
|
|
57335
57346
|
const r = await triggerMerge(issueId);
|
|
57336
57347
|
return r.success ? { ok: true } : {
|
|
57337
57348
|
ok: false,
|
|
@@ -57508,7 +57519,7 @@ const getFlywheelMergeQueueRoute = HttpRouter.add("GET", "/api/flywheel/merge-qu
|
|
|
57508
57519
|
return yield* Effect.promise(async () => {
|
|
57509
57520
|
const status = await readCurrentFlywheelStatusForDashboard();
|
|
57510
57521
|
if (!status) return jsonResponse([]);
|
|
57511
|
-
const { computeMergeQueue, resolveMergeQueuePrUrl } = await import("./flywheel-merge-order-
|
|
57522
|
+
const { computeMergeQueue, resolveMergeQueuePrUrl } = await import("./flywheel-merge-order-CCwF60b-.js");
|
|
57512
57523
|
return jsonResponse(await Effect.runPromise(computeMergeQueue(status.activePipeline, process.cwd(), { getPrUrl: resolveMergeQueuePrUrl }).pipe(Effect.provide(layer))));
|
|
57513
57524
|
});
|
|
57514
57525
|
})));
|
|
@@ -57522,18 +57533,18 @@ function uatGenerationNameFromParam(param) {
|
|
|
57522
57533
|
return decoded.startsWith("uat/") ? decoded : `uat/${decoded}`;
|
|
57523
57534
|
}
|
|
57524
57535
|
const getUatGenerationsRoute = HttpRouter.add("GET", "/api/flywheel/uat-generations", httpHandler(Effect.gen(function* () {
|
|
57525
|
-
const { getUatGenerationsPayload } = yield* Effect.promise(() => import("./uat-train-
|
|
57536
|
+
const { getUatGenerationsPayload } = yield* Effect.promise(() => import("./uat-train-DPfGR9_I.js"));
|
|
57526
57537
|
return jsonResponse(yield* Effect.promise(() => getUatGenerationsPayload()));
|
|
57527
57538
|
})));
|
|
57528
57539
|
const getUatCandidateRoute = HttpRouter.add("GET", "/api/flywheel/uat-candidate", httpHandler(Effect.gen(function* () {
|
|
57529
|
-
const { getUatCandidatePayload } = yield* Effect.promise(() => import("./uat-train-
|
|
57540
|
+
const { getUatCandidatePayload } = yield* Effect.promise(() => import("./uat-train-DPfGR9_I.js"));
|
|
57530
57541
|
return jsonResponse(yield* Effect.promise(() => getUatCandidatePayload()));
|
|
57531
57542
|
})));
|
|
57532
57543
|
const postUatGenerationStackRoute = HttpRouter.add("POST", "/api/flywheel/uat-generations/:name/stack", httpHandler(Effect.gen(function* () {
|
|
57533
57544
|
const authError = rejectUnsafeDashboardMutationRequest(yield* HttpServerRequest.HttpServerRequest);
|
|
57534
57545
|
if (authError) return authError;
|
|
57535
57546
|
const name = uatGenerationNameFromParam((yield* HttpRouter.params)["name"] ?? "");
|
|
57536
|
-
const { postUatGenerationStackPayload } = yield* Effect.promise(() => import("./uat-train-
|
|
57547
|
+
const { postUatGenerationStackPayload } = yield* Effect.promise(() => import("./uat-train-DPfGR9_I.js"));
|
|
57537
57548
|
const result = yield* Effect.promise(() => postUatGenerationStackPayload(name));
|
|
57538
57549
|
if (!result.ok) return jsonResponse({ error: result.error }, { status: result.status });
|
|
57539
57550
|
return jsonResponse({
|
|
@@ -57545,8 +57556,8 @@ const postUatGenerationPromoteRoute = HttpRouter.add("POST", "/api/flywheel/uat-
|
|
|
57545
57556
|
const authError = rejectUnsafeDashboardMutationRequest(yield* HttpServerRequest.HttpServerRequest);
|
|
57546
57557
|
if (authError) return authError;
|
|
57547
57558
|
const name = uatGenerationNameFromParam((yield* HttpRouter.params)["name"] ?? "");
|
|
57548
|
-
const { postUatGenerationPromotePayload } = yield* Effect.promise(() => import("./uat-train-
|
|
57549
|
-
const { firePostMergeLifecycle } = yield* Effect.promise(() => import("./specialists-
|
|
57559
|
+
const { postUatGenerationPromotePayload } = yield* Effect.promise(() => import("./uat-train-DPfGR9_I.js"));
|
|
57560
|
+
const { firePostMergeLifecycle } = yield* Effect.promise(() => import("./specialists-Ca9XSBCS.js"));
|
|
57550
57561
|
const result = yield* Effect.promise(() => postUatGenerationPromotePayload(name, firePostMergeLifecycle));
|
|
57551
57562
|
if (!result.success) return jsonResponse(result, { status: result.reason === "not-found" ? 404 : result.reason === "merge-failed" ? 500 : 409 });
|
|
57552
57563
|
return jsonResponse(result);
|
|
@@ -57559,7 +57570,7 @@ const postUatGenerationPromoteRoute = HttpRouter.add("POST", "/api/flywheel/uat-
|
|
|
57559
57570
|
const postFlywheelAssembleUatRoute = HttpRouter.add("POST", "/api/flywheel/assemble-uat", httpHandler(Effect.gen(function* () {
|
|
57560
57571
|
const authError = rejectUnsafeDashboardMutationRequest(yield* HttpServerRequest.HttpServerRequest);
|
|
57561
57572
|
if (authError) return authError;
|
|
57562
|
-
const { runUatTrainReconcile } = yield* Effect.promise(() => import("./uat-train-
|
|
57573
|
+
const { runUatTrainReconcile } = yield* Effect.promise(() => import("./uat-train-DPfGR9_I.js"));
|
|
57563
57574
|
return jsonResponse(yield* Effect.promise(() => runUatTrainReconcile({ force: true })));
|
|
57564
57575
|
})));
|
|
57565
57576
|
const getFlywheelStateRoute = HttpRouter.add("GET", "/api/flywheel/state", httpHandler(Effect.gen(function* () {
|
|
@@ -62252,7 +62263,7 @@ const RESTART_MARKER = join(homedir(), ".overdeck", "dashboard-restarting.json")
|
|
|
62252
62263
|
* loads new content-hashed chunk filenames (no ERR_MODULE_NOT_FOUND after rebuild).
|
|
62253
62264
|
*/
|
|
62254
62265
|
async function defaultLifecycleRunner(pending) {
|
|
62255
|
-
const { postMergeLifecycle, notifyTldrDaemon } = await import("./merge-agent-
|
|
62266
|
+
const { postMergeLifecycle, notifyTldrDaemon } = await import("./merge-agent-7nBiCytp.js");
|
|
62256
62267
|
await postMergeLifecycle(pending.issueId, pending.projectPath, pending.sourceBranch, { skipDeploy: true });
|
|
62257
62268
|
if (pending.sourceBranch) await notifyTldrDaemon(pending.projectPath, pending.sourceBranch);
|
|
62258
62269
|
}
|
|
@@ -62573,7 +62584,7 @@ function failureReason(result) {
|
|
|
62573
62584
|
return result.error ?? result.message ?? `merge returned status ${result.statusCode ?? "unknown"}`;
|
|
62574
62585
|
}
|
|
62575
62586
|
async function defaultMergeIssue(issueId) {
|
|
62576
|
-
const { triggerMerge } = await import("./merge-ops-
|
|
62587
|
+
const { triggerMerge } = await import("./merge-ops-DE_6CnmZ.js");
|
|
62577
62588
|
return triggerMerge(issueId);
|
|
62578
62589
|
}
|
|
62579
62590
|
function defaultAnnounceFailure(issueId, reason) {
|
|
@@ -2,21 +2,21 @@ import { Br as getOverdeckHome, Dt as getProjectConfigFromWorkspacePath, Ft as r
|
|
|
2
2
|
import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-pcbf-e30.js";
|
|
3
3
|
import { D as sql, E as like, S as gte, _ as integer, a as EventBus, b as and, f as init_infra, g as real, h as text, i as DbLive, m as sqliteTable, n as CostArchiveLive, o as EventBusLive, p as init_sqlite_core, r as Db, t as CostArchive, v as init_drizzle_orm, x as eq, y as desc } from "./infra-CpKlYZA9.js";
|
|
4
4
|
import { L as sessionExists, R as sessionExistsSync, w as killSession, x as init_tmux } from "./tmux-ePNhMIMU.js";
|
|
5
|
-
import { c as init_review_status, u as loadReviewStatuses, y as setReviewStatusSync } from "./review-status-
|
|
5
|
+
import { c as init_review_status, u as loadReviewStatuses, y as setReviewStatusSync } from "./review-status-B5ZASOo4.js";
|
|
6
6
|
import { n as init_issues, t as IssueId } from "./issues-ChNcfHta.js";
|
|
7
7
|
import { a as getAllBudgetsSync, i as deleteBudgetSync, n as checkBudgetSync, r as createBudgetSync, s as init_cost } from "./cost-C2CuA66z.js";
|
|
8
|
-
import { An as getAgentDir, D as init_context_overflow, Jn as saveAgentStateSync, Mn as getAgentState, Pn as getAgentStateSync, Q as listRunningAgentsSync, U as spawnAgent, _t as init_config, br as parseOhmypiSessionCostResultSync, gr as saveAgentRuntimeState, gt as getHealthThresholdsMs, k as isContextOverflowTail, mr as getAgentRuntimeStateSync, q as stopAgentSync, t as init_agents, yr as init_ohmypi_parser, yt as loadCloisterConfigSync } from "./agents-
|
|
8
|
+
import { An as getAgentDir, D as init_context_overflow, Jn as saveAgentStateSync, Mn as getAgentState, Pn as getAgentStateSync, Q as listRunningAgentsSync, U as spawnAgent, _t as init_config, br as parseOhmypiSessionCostResultSync, gr as saveAgentRuntimeState, gt as getHealthThresholdsMs, k as isContextOverflowTail, mr as getAgentRuntimeStateSync, q as stopAgentSync, t as init_agents, yr as init_ohmypi_parser, yt as loadCloisterConfigSync } from "./agents-C7V4odQ6.js";
|
|
9
9
|
import { i as parseCodexSessionSync, n as init_codex_parser, r as parseCodexSessionCostEventsSync } from "./behavior-By-2Wipv.js";
|
|
10
10
|
import { _ as init_tier_metrics, c as getDailyTrendsSync, d as init_cost_sync, h as deriveTieredAgentCostRole, t as getAgentDailyCostSync } from "./cost-sync-8lkDeL9g.js";
|
|
11
11
|
import { c as requireModelOverrideSync, o as init_model_validation } from "./state-home-Bgj7i-C7.js";
|
|
12
12
|
import { _ as setDeaconGloballyPaused, c as isCloisterSpawnsPausedSync, g as setCloisterSpawnsPausedSync, s as init_control_settings, x as setFlywheelGloballyPaused } from "./control-settings-BMqUkXmR.js";
|
|
13
13
|
import { n as checkHookSync, p as init_hooks } from "./hooks-CmHFSj_Z.js";
|
|
14
14
|
import { r as isRoleTerminal, t as init_reap_terminal_sessions } from "./reap-terminal-sessions-CAmURC2h.js";
|
|
15
|
-
import { C as getLastPatrolResult, D as isDeaconRunning, Lt as getRuntimeForAgent, N as runPatrol, R as startDeacon, S as getDeaconStatus, n as assessDeaconPatrolFreshness, x as getDeaconLogs, z as stopDeacon } from "./deacon-
|
|
16
|
-
import "./flywheel-
|
|
15
|
+
import { C as getLastPatrolResult, D as isDeaconRunning, Lt as getRuntimeForAgent, N as runPatrol, R as startDeacon, S as getDeaconStatus, n as assessDeaconPatrolFreshness, x as getDeaconLogs, z as stopDeacon } from "./deacon-CGHl90eC.js";
|
|
16
|
+
import "./flywheel-BLoVNtJV.js";
|
|
17
17
|
import { n as renderPrompt, t as init_prompts } from "./prompts-CelsUdrx.js";
|
|
18
18
|
import { r as writeHealthEvent } from "./health-events-DaLX4-0a.js";
|
|
19
|
-
import { O as init_specialists, T as getTmuxSessionName } from "./specialists-
|
|
19
|
+
import { O as init_specialists, T as getTmuxSessionName } from "./specialists-nZ0mRwpZ.js";
|
|
20
20
|
import { t as withBdMutex } from "./bd-mutex-BItGvLQ8.js";
|
|
21
21
|
import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-BO84g03t.js";
|
|
22
22
|
import { n as shouldSkipDispatchAsMerged, t as init_merge_verification } from "./merge-verification-DA9rvqsE.js";
|
|
@@ -2194,7 +2194,7 @@ async function onIssueStateChangePromise(issueId, newState) {
|
|
|
2194
2194
|
});
|
|
2195
2195
|
return;
|
|
2196
2196
|
}
|
|
2197
|
-
const { getReviewStatusSync } = await import("./review-status-
|
|
2197
|
+
const { getReviewStatusSync } = await import("./review-status-h7BXIA4z.js");
|
|
2198
2198
|
if (getReviewStatusSync(normalizedIssueId)?.mergeStatus === "merged") {
|
|
2199
2199
|
const message = `${normalizedIssueId}: skipping ${role} dispatch — merge already landed (merge_status='merged' is terminal)`;
|
|
2200
2200
|
console.log(`[cloister] ${message}`);
|
|
@@ -2261,7 +2261,7 @@ async function onIssueStateChangePromise(issueId, newState) {
|
|
|
2261
2261
|
return;
|
|
2262
2262
|
}
|
|
2263
2263
|
const branch = `feature/${normalizedIssueId.toLowerCase()}`;
|
|
2264
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
2264
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-DTINEffB.js");
|
|
2265
2265
|
const result = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
2266
2266
|
issueId: normalizedIssueId,
|
|
2267
2267
|
workspace,
|
|
@@ -2279,7 +2279,7 @@ async function onIssueStateChangePromise(issueId, newState) {
|
|
|
2279
2279
|
}
|
|
2280
2280
|
if (role === "test") {
|
|
2281
2281
|
const branch = `feature/${normalizedIssueId.toLowerCase()}`;
|
|
2282
|
-
const { dispatchTestAgentAndNotify } = await import("./test-agent-queue-
|
|
2282
|
+
const { dispatchTestAgentAndNotify } = await import("./test-agent-queue-B_ukPyIK.js");
|
|
2283
2283
|
await Effect.runPromise(dispatchTestAgentAndNotify(normalizedIssueId, workspace ?? void 0, branch));
|
|
2284
2284
|
const message = `${normalizedIssueId}: test role dispatched from lifecycle state '${newState}'`;
|
|
2285
2285
|
console.log(`[cloister] ${message}`);
|
|
@@ -2291,7 +2291,7 @@ async function onIssueStateChangePromise(issueId, newState) {
|
|
|
2291
2291
|
});
|
|
2292
2292
|
return;
|
|
2293
2293
|
}
|
|
2294
|
-
const { spawnRun } = await import("./agents-
|
|
2294
|
+
const { spawnRun } = await import("./agents-C-vqmKDi.js");
|
|
2295
2295
|
const message = `${normalizedIssueId}: ${role} role started from lifecycle state '${newState}' as ${(await spawnRun(normalizedIssueId, role, { prompt: buildReactiveRolePrompt(normalizedIssueId, newState, role) })).id}`;
|
|
2296
2296
|
console.log(`[cloister] ${message}`);
|
|
2297
2297
|
emitActivityEntrySync({
|
|
@@ -2369,14 +2369,14 @@ async function handleCloisterDomainEventPromise(event) {
|
|
|
2369
2369
|
if (event.type === "agent.stopped") {
|
|
2370
2370
|
const agentId = event.payload?.agentId;
|
|
2371
2371
|
if (agentId) {
|
|
2372
|
-
const { handleAgentStoppedEvent, handleAgentStoppedForOrphanReviewerSessions } = await import("./deacon-
|
|
2372
|
+
const { handleAgentStoppedEvent, handleAgentStoppedForOrphanReviewerSessions } = await import("./deacon-DMPh40Im.js");
|
|
2373
2373
|
const { handleAgentLifecycleEventForIdleStack } = await import("./idle-stack-reaper-DdnERp3G.js");
|
|
2374
2374
|
handleAgentLifecycleEventForIdleStack(agentId);
|
|
2375
2375
|
const slotMatch = /^agent-(.+)-slot-\d+$/.exec(agentId);
|
|
2376
2376
|
await Promise.all([
|
|
2377
2377
|
handleAgentStoppedEvent(agentId),
|
|
2378
2378
|
handleAgentStoppedForOrphanReviewerSessions(agentId),
|
|
2379
|
-
slotMatch ? (await import("./deacon-swarm-
|
|
2379
|
+
slotMatch ? (await import("./deacon-swarm-CVTiNL0N.js")).coordinateSwarmSlots({ issueId: slotMatch[1].toUpperCase() }) : Promise.resolve([])
|
|
2380
2380
|
]);
|
|
2381
2381
|
}
|
|
2382
2382
|
return;
|
|
@@ -2389,7 +2389,7 @@ async function handleCloisterDomainEventPromise(event) {
|
|
|
2389
2389
|
if (event.type === "agent.heartbeat_dead") {
|
|
2390
2390
|
const agentId = event.payload?.agentId;
|
|
2391
2391
|
if (agentId) {
|
|
2392
|
-
const { handleAgentHeartbeatDeadEvent } = await import("./deacon-
|
|
2392
|
+
const { handleAgentHeartbeatDeadEvent } = await import("./deacon-DMPh40Im.js");
|
|
2393
2393
|
await handleAgentHeartbeatDeadEvent(agentId, "event");
|
|
2394
2394
|
}
|
|
2395
2395
|
return;
|
|
@@ -2398,7 +2398,7 @@ async function handleCloisterDomainEventPromise(event) {
|
|
|
2398
2398
|
const payload = event.payload;
|
|
2399
2399
|
const issueId = payload?.issueId;
|
|
2400
2400
|
if (issueId) {
|
|
2401
|
-
const { handleReviewCoordinatorDied } = await import("./deacon-
|
|
2401
|
+
const { handleReviewCoordinatorDied } = await import("./deacon-DMPh40Im.js");
|
|
2402
2402
|
await handleReviewCoordinatorDied(issueId, payload?.sessionName ?? "", payload?.reason ?? "");
|
|
2403
2403
|
}
|
|
2404
2404
|
return;
|
|
@@ -2406,7 +2406,7 @@ async function handleCloisterDomainEventPromise(event) {
|
|
|
2406
2406
|
if (event.type === "work.completed") {
|
|
2407
2407
|
const issueId = event.payload?.issueId;
|
|
2408
2408
|
if (issueId) {
|
|
2409
|
-
const { handleWorkCompleted } = await import("./deacon-
|
|
2409
|
+
const { handleWorkCompleted } = await import("./deacon-DMPh40Im.js");
|
|
2410
2410
|
await handleWorkCompleted(issueId);
|
|
2411
2411
|
}
|
|
2412
2412
|
}
|
|
@@ -2417,12 +2417,12 @@ async function handleCloisterDomainEventPromise(event) {
|
|
|
2417
2417
|
const status = payload?.status?.toLowerCase();
|
|
2418
2418
|
if (issueId) {
|
|
2419
2419
|
if (canonicalStatus === "closed" || status === "closed") {
|
|
2420
|
-
const { handleIssueStatusChangedClosed } = await import("./closed-issue-reaper-
|
|
2420
|
+
const { handleIssueStatusChangedClosed } = await import("./closed-issue-reaper-VSTSTROK.js");
|
|
2421
2421
|
await handleIssueStatusChangedClosed(issueId);
|
|
2422
2422
|
return;
|
|
2423
2423
|
}
|
|
2424
2424
|
if (canonicalStatus === "todo" || status === "planned" || status === "todo") {
|
|
2425
|
-
const { handleOrphanProposedSpec } = await import("./orphan-proposed-reconciler-
|
|
2425
|
+
const { handleOrphanProposedSpec } = await import("./orphan-proposed-reconciler-C0sPnDq_.js");
|
|
2426
2426
|
await handleOrphanProposedSpec(issueId);
|
|
2427
2427
|
}
|
|
2428
2428
|
}
|
|
@@ -2558,7 +2558,7 @@ var CloisterService = class {
|
|
|
2558
2558
|
let clearedSpecialistCount = 0;
|
|
2559
2559
|
try {
|
|
2560
2560
|
if (existsSync(AGENTS_DIR)) {
|
|
2561
|
-
const { isRunning: isSpecialistRunning } = await import("./specialists-
|
|
2561
|
+
const { isRunning: isSpecialistRunning } = await import("./specialists-DeZx9xom.js");
|
|
2562
2562
|
const entries = readdirSync(AGENTS_DIR, { withFileTypes: true });
|
|
2563
2563
|
for (const entry of entries) {
|
|
2564
2564
|
if (!entry.isDirectory()) continue;
|
|
@@ -2594,7 +2594,7 @@ var CloisterService = class {
|
|
|
2594
2594
|
try {
|
|
2595
2595
|
const reviewStatuses = loadReviewStatuses();
|
|
2596
2596
|
const { resolveProjectFromIssueSync } = await import("./projects-BNmVxnNt.js");
|
|
2597
|
-
const { getTmuxSessionName, getAllProjectSpecialistStatuses } = await import("./specialists-
|
|
2597
|
+
const { getTmuxSessionName, getAllProjectSpecialistStatuses } = await import("./specialists-DeZx9xom.js");
|
|
2598
2598
|
const activeReviewIssues = /* @__PURE__ */ new Set();
|
|
2599
2599
|
try {
|
|
2600
2600
|
const projSpecs = await getAllProjectSpecialistStatuses();
|
|
@@ -2605,7 +2605,7 @@ var CloisterService = class {
|
|
|
2605
2605
|
}
|
|
2606
2606
|
const globalRs = getAgentRuntimeStateSync(getTmuxSessionName("review-agent"));
|
|
2607
2607
|
if (globalRs?.state === "active" && globalRs.currentIssue) activeReviewIssues.add(globalRs.currentIssue.toUpperCase());
|
|
2608
|
-
const { listRunningAgents } = await import("./agents-
|
|
2608
|
+
const { listRunningAgents } = await import("./agents-C-vqmKDi.js");
|
|
2609
2609
|
const agents = await Effect.runPromise(listRunningAgents());
|
|
2610
2610
|
for (const agent of agents) {
|
|
2611
2611
|
if (agent.status === "stopped" || agent.status === "error") continue;
|
|
@@ -2648,7 +2648,7 @@ var CloisterService = class {
|
|
|
2648
2648
|
continue;
|
|
2649
2649
|
}
|
|
2650
2650
|
const branch = `feature/${issueId.toLowerCase()}`;
|
|
2651
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
2651
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-DTINEffB.js");
|
|
2652
2652
|
const dispatchResult = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
2653
2653
|
issueId,
|
|
2654
2654
|
workspace,
|
|
@@ -2947,7 +2947,7 @@ var CloisterService = class {
|
|
|
2947
2947
|
if (retryCount === Infinity) this.processedCompletions.delete(dir.name);
|
|
2948
2948
|
else if (retryCount >= 3) continue;
|
|
2949
2949
|
const issueId = dir.name.replace("agent-", "").toUpperCase();
|
|
2950
|
-
const { getReviewStatusSync } = await import("./review-status-
|
|
2950
|
+
const { getReviewStatusSync } = await import("./review-status-h7BXIA4z.js");
|
|
2951
2951
|
const existingReview = getReviewStatusSync(issueId);
|
|
2952
2952
|
if (existingReview && ["reviewing", "passed"].includes(existingReview.reviewStatus || "")) {
|
|
2953
2953
|
console.log(`🔔 Cloister: Completion marker for ${issueId} — review already ${existingReview.reviewStatus}, marking processed`);
|
|
@@ -3056,7 +3056,7 @@ var CloisterService = class {
|
|
|
3056
3056
|
ineffective
|
|
3057
3057
|
});
|
|
3058
3058
|
if (ineffective >= 4) {
|
|
3059
|
-
const { setAgentPausedSync } = await import("./agent-state-
|
|
3059
|
+
const { setAgentPausedSync } = await import("./agent-state-BUANcaA7.js");
|
|
3060
3060
|
try {
|
|
3061
3061
|
setAgentPausedSync(agentId, `needs-you: idle-alive — no observable progress across ${ineffective + 1} pokes (idle-alive escalation)`);
|
|
3062
3062
|
this.emit({
|
|
@@ -3138,7 +3138,7 @@ var CloisterService = class {
|
|
|
3138
3138
|
if (skipReason) {
|
|
3139
3139
|
let recoverUnfinishedOneShot = false;
|
|
3140
3140
|
if (ONE_SHOT_ROLES.has(agentState.role) && agentState.sessionId && agentState.issueId) try {
|
|
3141
|
-
const { getReviewStatusSync } = await import("./review-status-
|
|
3141
|
+
const { getReviewStatusSync } = await import("./review-status-h7BXIA4z.js");
|
|
3142
3142
|
const status = getReviewStatusSync(agentState.issueId);
|
|
3143
3143
|
recoverUnfinishedOneShot = !(status ? isRoleTerminal(agentState.role, {
|
|
3144
3144
|
reviewStatus: status.reviewStatus,
|
|
@@ -3615,4 +3615,4 @@ function handleCloisterDomainEvent(event) {
|
|
|
3615
3615
|
//#endregion
|
|
3616
3616
|
export { performHandoff as a, getAgentsNeedingAttention as c, CostResolverLive as d, CostWriter as f, checkAllTriggers as i, CostDoorLive as l, readCloisterStateFile as n, generateHealthSummary as o, setCloisterEventStoreProvider as r, getAgentHealth as s, getCloisterService as t, CostResolver as u };
|
|
3617
3617
|
|
|
3618
|
-
//# sourceMappingURL=service-
|
|
3618
|
+
//# sourceMappingURL=service-HKDrIy0h.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as runModelSummary, c as truncateHeadTail, i as parseEntries, n as generateSummaryFromPrompt, o as serializeConversation, r as init_smart_compaction, s as summarizeSerializedText, t as generateSmartSummary } from "./smart-compaction-
|
|
1
|
+
import { a as runModelSummary, c as truncateHeadTail, i as parseEntries, n as generateSummaryFromPrompt, o as serializeConversation, r as init_smart_compaction, s as summarizeSerializedText, t as generateSmartSummary } from "./smart-compaction-uke1npUz.js";
|
|
2
2
|
init_smart_compaction();
|
|
3
3
|
export { generateSmartSummary, generateSummaryFromPrompt, parseEntries, runModelSummary, serializeConversation, summarizeSerializedText, truncateHeadTail };
|