@sideboard-ai/core 0.1.234 → 0.1.236
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/dist/{abletime-WZNDTRVL.js → abletime-KOGCIQCO.js} +5 -5
- package/dist/{abletime-BGVOCEOU.js → abletime-VSV6AUBV.js} +5 -5
- package/dist/{abletime-oauth-ZLU2EYRK.js → abletime-oauth-LY7KZICW.js} +4 -4
- package/dist/{abletime-oauth-6M5GWEPX.js → abletime-oauth-QMDV45JC.js} +4 -4
- package/dist/{abletime-rest-WNHIATB3.js → abletime-rest-LXOWKPL7.js} +4 -4
- package/dist/{abletime-rest-F7XG5NGY.js → abletime-rest-NL56UVK5.js} +4 -4
- package/dist/agents/cursor-runner.cjs +39 -35
- package/dist/agents/cursor-runner.js +3 -3
- package/dist/{agents-BTXL6R5I.js → agents-JC6DRIT3.js} +9 -9
- package/dist/{agents-WMN7C322.js → agents-S4HYHRL3.js} +8 -8
- package/dist/{app-settings-KBL2G7M4.js → app-settings-2CFCRYD7.js} +2 -2
- package/dist/{app-settings-UXWCPDEA.js → app-settings-I27UBVI4.js} +2 -2
- package/dist/{caffeinate-hold-OK4JJ5PP.js → caffeinate-hold-FNKIPXDU.js} +2 -2
- package/dist/{caffeinate-hold-22VFDPSO.js → caffeinate-hold-PXHGH7ZN.js} +2 -2
- package/dist/{chunk-7J72QJOM.js → chunk-224IXQOM.js} +1 -1
- package/dist/{chunk-4VGCG2HV.js → chunk-3AJUH66R.js} +2 -2
- package/dist/{chunk-P6ZM5QJW.js → chunk-3PGFAVFL.js} +2 -2
- package/dist/{chunk-RZTRWN2V.js → chunk-4H5WO4H3.js} +1 -1
- package/dist/{chunk-MVLXDYN5.js → chunk-5ELC3KK3.js} +5 -5
- package/dist/{chunk-WPD7BR6C.js → chunk-5SHYLRTU.js} +1 -1
- package/dist/{chunk-S2OEFXST.js → chunk-5UN5C5WP.js} +5 -5
- package/dist/{chunk-RKKTCKVX.js → chunk-6Q2CFQ4D.js} +85 -31
- package/dist/{chunk-WFUDY6PC.js → chunk-A4JGXX2F.js} +155 -24
- package/dist/{chunk-NOIWXANG.js → chunk-ANGPU5JL.js} +284 -15
- package/dist/{chunk-GHRZNPBK.js → chunk-C2CBF4YE.js} +2 -2
- package/dist/{chunk-TNVJPFHM.js → chunk-CJKL7A4G.js} +5 -5
- package/dist/{chunk-SWNEA5OZ.js → chunk-CRAXJAYJ.js} +3 -3
- package/dist/{chunk-C774RJJA.js → chunk-CWHMLCLN.js} +3 -3
- package/dist/{chunk-YWI3IBP2.js → chunk-DQN5U2VH.js} +1 -1
- package/dist/{chunk-2UBVFL2X.js → chunk-DYXNBXE3.js} +306 -17
- package/dist/{chunk-SPAMHHJH.js → chunk-J5GON4SU.js} +1 -1
- package/dist/{chunk-4VFOJZPS.js → chunk-JXZS56VW.js} +3 -3
- package/dist/{chunk-EQNRWDLN.js → chunk-KK63BFYN.js} +151 -24
- package/dist/{chunk-X5B3OS5I.js → chunk-N6XI5KXL.js} +1 -1
- package/dist/{chunk-XJETIO4K.js → chunk-NJ5OXOTN.js} +2 -2
- package/dist/{chunk-RGNPPRZZ.js → chunk-NYAEMZ3L.js} +3 -3
- package/dist/{chunk-7H2CVVLF.js → chunk-O3UAQAYA.js} +3 -3
- package/dist/{chunk-4TYXWPAJ.js → chunk-OJFEVWZN.js} +1 -1
- package/dist/{chunk-I5NC7DWO.js → chunk-P3DCZRER.js} +1 -1
- package/dist/{chunk-TWXSZYR2.js → chunk-RRXRLHIE.js} +5 -5
- package/dist/{chunk-AS4UN7QL.js → chunk-VVOAXBND.js} +5 -5
- package/dist/{chunk-LEYY54BN.js → chunk-XMCJDWPA.js} +88 -33
- package/dist/{connected-teams-KQUDU7LZ.js → connected-teams-62AJRDDD.js} +2 -2
- package/dist/{connected-teams-JUJAQZZE.js → connected-teams-GXV22ZSF.js} +2 -2
- package/dist/{coordinator-prompt-CE7MN6QY.js → coordinator-prompt-2BRUH7PJ.js} +6 -6
- package/dist/{coordinator-prompt-IGDMFKCD.js → coordinator-prompt-BIP7ZEJ3.js} +6 -6
- package/dist/{cursor-recover-DTQAUDGO.js → cursor-recover-DFMCTZA4.js} +2 -2
- package/dist/{cursor-recover-4PQAADAU.js → cursor-recover-K3EBEM7M.js} +2 -2
- package/dist/{global-workspace-7WH24UFO.js → global-workspace-3XZN3QHZ.js} +6 -6
- package/dist/{global-workspace-NCIC2Y2U.js → global-workspace-DWCFG7LP.js} +6 -6
- package/dist/index.cjs +1232 -709
- package/dist/index.d.cts +70 -1
- package/dist/index.d.ts +70 -1
- package/dist/index.js +79 -23
- package/dist/mcp/run-stdio.cjs +1134 -660
- package/dist/mcp/run-stdio.js +45 -22
- package/dist/{orchestrator-7ZEGFPK4.js → orchestrator-AYPDBGIF.js} +10 -10
- package/dist/{orchestrator-R2WCTNJI.js → orchestrator-TEJJAQWP.js} +11 -11
- package/dist/{paths-C2VERLAE.js → paths-LGKOG7MY.js} +1 -1
- package/dist/{paths-LOXCISLX.js → paths-O6ZEAEUD.js} +1 -1
- package/dist/{thread-store-IKJD4EOK.js → thread-store-AYPBEZT5.js} +3 -3
- package/dist/{thread-store-FBK5SZ5P.js → thread-store-YOPKY74K.js} +3 -3
- package/dist/{workspaces-H2TRFDE2.js → workspaces-NYT2472Z.js} +6 -6
- package/dist/{workspaces-NSQZSDQD.js → workspaces-V7522TQH.js} +6 -6
- package/dist/{worktree-W7BSI4GU.js → worktree-AGVPKDBH.js} +5 -5
- package/dist/{worktree-FMIX4BRV.js → worktree-IRALYI6A.js} +5 -5
- package/package.json +1 -1
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
resolveQuotaFallbackAgent,
|
|
25
25
|
stripBrightsyNdjsonNoise,
|
|
26
26
|
toolDescription
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-DYXNBXE3.js";
|
|
28
28
|
import {
|
|
29
29
|
SLACK_REPLY_FORMATTING,
|
|
30
30
|
addWorkspace,
|
|
@@ -47,7 +47,7 @@ import {
|
|
|
47
47
|
stageAbsolutePathsAsAttachments,
|
|
48
48
|
stageBuffersAsAttachments,
|
|
49
49
|
syncWorkspacesFromThreads
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-5UN5C5WP.js";
|
|
51
51
|
import {
|
|
52
52
|
addPrStackLayer,
|
|
53
53
|
allocateTeamName,
|
|
@@ -96,7 +96,7 @@ import {
|
|
|
96
96
|
worktreeDisplayLabelForGroup,
|
|
97
97
|
worktreeNameFromPath,
|
|
98
98
|
worktreeSlugForTicket
|
|
99
|
-
} from "./chunk-
|
|
99
|
+
} from "./chunk-O3UAQAYA.js";
|
|
100
100
|
import {
|
|
101
101
|
ATTACHMENTS_DIR,
|
|
102
102
|
DETACHED_JOBS_DIR,
|
|
@@ -128,7 +128,7 @@ import {
|
|
|
128
128
|
shouldRetryFailedAgentTurn,
|
|
129
129
|
summarizeTurnStderr,
|
|
130
130
|
turnFailChatText
|
|
131
|
-
} from "./chunk-
|
|
131
|
+
} from "./chunk-5SHYLRTU.js";
|
|
132
132
|
import {
|
|
133
133
|
HISTORY_CLEANUP_INTERVAL_HOURS_DEFAULT,
|
|
134
134
|
applyTurnUsage,
|
|
@@ -163,14 +163,14 @@ import {
|
|
|
163
163
|
updateAdvancedSettings,
|
|
164
164
|
usageOnLimit,
|
|
165
165
|
writeSecureJson
|
|
166
|
-
} from "./chunk-
|
|
166
|
+
} from "./chunk-P3DCZRER.js";
|
|
167
167
|
import {
|
|
168
168
|
examplePrefixedBranch,
|
|
169
169
|
sanitizeGitBranchPrefix
|
|
170
170
|
} from "./chunk-WDRMZKVB.js";
|
|
171
171
|
import {
|
|
172
172
|
releaseCaffeinateHoldForThread
|
|
173
|
-
} from "./chunk-
|
|
173
|
+
} from "./chunk-OJFEVWZN.js";
|
|
174
174
|
import {
|
|
175
175
|
writePrivateFile
|
|
176
176
|
} from "./chunk-JT7R45JB.js";
|
|
@@ -185,8 +185,9 @@ import {
|
|
|
185
185
|
updateThread,
|
|
186
186
|
withThreadLock,
|
|
187
187
|
writeThread
|
|
188
|
-
} from "./chunk-
|
|
188
|
+
} from "./chunk-3AJUH66R.js";
|
|
189
189
|
import {
|
|
190
|
+
annotateDevAccessRuns,
|
|
190
191
|
appDataDir,
|
|
191
192
|
findConventionSetup,
|
|
192
193
|
loadRepoSettings,
|
|
@@ -198,7 +199,7 @@ import {
|
|
|
198
199
|
threadsDir,
|
|
199
200
|
workspaceSettingsSourceLabel,
|
|
200
201
|
worktreesRoot
|
|
201
|
-
} from "./chunk-
|
|
202
|
+
} from "./chunk-A4JGXX2F.js";
|
|
202
203
|
import {
|
|
203
204
|
clearStaleIndexLocks,
|
|
204
205
|
enrichPathWithNpmGlobalBin,
|
|
@@ -482,7 +483,7 @@ async function continueSourceThread(threadId, prompt) {
|
|
|
482
483
|
await continueOnReply(threadId, prompt);
|
|
483
484
|
return;
|
|
484
485
|
}
|
|
485
|
-
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-
|
|
486
|
+
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-TEJJAQWP.js");
|
|
486
487
|
await getOrchestrator2().send(threadId, prompt);
|
|
487
488
|
} catch {
|
|
488
489
|
}
|
|
@@ -901,9 +902,9 @@ async function spawnAgentTurn(thread, input, onEvent) {
|
|
|
901
902
|
`Cannot spawn ${thread.agent}: thread ${thread.id} has no worktreePath`
|
|
902
903
|
);
|
|
903
904
|
}
|
|
904
|
-
const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-
|
|
905
|
+
const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-DWCFG7LP.js");
|
|
905
906
|
if (isGlobalThread2(thread)) {
|
|
906
|
-
const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-
|
|
907
|
+
const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-BIP7ZEJ3.js");
|
|
907
908
|
ensureGlobalCoordinatorCwd2(
|
|
908
909
|
isOrchestratorThread(thread) ? { orchestratorThreadId: thread.id } : void 0
|
|
909
910
|
);
|
|
@@ -4106,7 +4107,7 @@ async function createThread(input, _onSetupLine) {
|
|
|
4106
4107
|
});
|
|
4107
4108
|
await requireAgent(resolved.agent);
|
|
4108
4109
|
if (input.cowboy) {
|
|
4109
|
-
const { cowboyModeEnabled } = await import("./app-settings-
|
|
4110
|
+
const { cowboyModeEnabled } = await import("./app-settings-I27UBVI4.js");
|
|
4110
4111
|
if (!cowboyModeEnabled()) {
|
|
4111
4112
|
throw new Error(
|
|
4112
4113
|
"Cowboy mode is off. Enable it in Settings \u2192 Advanced."
|
|
@@ -4164,7 +4165,7 @@ async function createThread(input, _onSetupLine) {
|
|
|
4164
4165
|
let sourceIsFork = false;
|
|
4165
4166
|
if (!input.cowboy && sourceType === "branch" && (!sourceRef || sourceRef === "HEAD" || sourceRef === "default")) {
|
|
4166
4167
|
if (isAbleTimeConnected() && getIssueSource() === "abletime") {
|
|
4167
|
-
const { ensureAbleTimeTask, issueAttachmentForAbleTimeTask } = await import("./abletime-
|
|
4168
|
+
const { ensureAbleTimeTask, issueAttachmentForAbleTimeTask } = await import("./abletime-VSV6AUBV.js");
|
|
4168
4169
|
const task = await ensureAbleTimeTask({
|
|
4169
4170
|
title: title?.trim() || "Untitled work",
|
|
4170
4171
|
description: input.prompt?.trim() || void 0
|
|
@@ -4266,7 +4267,7 @@ async function createThread(input, _onSetupLine) {
|
|
|
4266
4267
|
return readThread(thread.id) ?? thread;
|
|
4267
4268
|
}
|
|
4268
4269
|
async function listLinearIssues(agent, repoPath) {
|
|
4269
|
-
const { getAdapter: getAdapter2 } = await import("./agents-
|
|
4270
|
+
const { getAdapter: getAdapter2 } = await import("./agents-JC6DRIT3.js");
|
|
4270
4271
|
await requireAgent(agent, { requireLinear: true });
|
|
4271
4272
|
const adapter = getAdapter2(agent);
|
|
4272
4273
|
if (!adapter.listLinearIssues) {
|
|
@@ -4739,7 +4740,7 @@ async function adoptThread(input) {
|
|
|
4739
4740
|
messages: input.messages ?? []
|
|
4740
4741
|
});
|
|
4741
4742
|
writeThread(thread);
|
|
4742
|
-
const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-
|
|
4743
|
+
const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-NYT2472Z.js");
|
|
4743
4744
|
await ensureWorkspace2(repoPath);
|
|
4744
4745
|
const { ensureWorktreeSideboardIgnored: ensureWorktreeSideboardIgnored2 } = await import("./worktree-exclude-RXZPTCNH.js");
|
|
4745
4746
|
await ensureWorktreeSideboardIgnored2(input.worktreePath);
|
|
@@ -6661,6 +6662,34 @@ function formatRenameBranchDirective(thread, opts) {
|
|
|
6661
6662
|
}
|
|
6662
6663
|
return lines.join("\n");
|
|
6663
6664
|
}
|
|
6665
|
+
function localhostPreviewUrl(port) {
|
|
6666
|
+
return `http://localhost:${port}`;
|
|
6667
|
+
}
|
|
6668
|
+
function describeLiveDevRun(run2) {
|
|
6669
|
+
const url = localhostPreviewUrl(run2.port);
|
|
6670
|
+
if (run2.preview === "window") {
|
|
6671
|
+
return `${run2.scriptName} Electron window (renderer ${url})`;
|
|
6672
|
+
}
|
|
6673
|
+
return `${run2.scriptName} ${url}`;
|
|
6674
|
+
}
|
|
6675
|
+
function formatDevAccessHint(runs) {
|
|
6676
|
+
const live = (runs ?? []).filter(
|
|
6677
|
+
(r) => Number.isFinite(r.port) && r.port > 0
|
|
6678
|
+
);
|
|
6679
|
+
if (live.length === 1) {
|
|
6680
|
+
const r = live[0];
|
|
6681
|
+
const url = localhostPreviewUrl(r.port);
|
|
6682
|
+
if (r.preview === "window") {
|
|
6683
|
+
return `This worktree's Dev app is the Electron window (${r.scriptName}). Renderer origin ${url} \u2014 curl to confirm Vite; do not open it in a browser (no preload/IPC). Do not guess :3000.`;
|
|
6684
|
+
}
|
|
6685
|
+
return `This worktree's Dev app is ${url} (${r.scriptName}). Open that URL (browser, curl, Playwright) \u2014 do not guess :3000.`;
|
|
6686
|
+
}
|
|
6687
|
+
if (live.length > 1) {
|
|
6688
|
+
const bits = live.map(describeLiveDevRun).join("; ");
|
|
6689
|
+
return `This worktree's Dev apps: ${bits}. preview=url \u2192 open the URL; preview=window \u2192 Electron window is the app. Do not guess :3000.`;
|
|
6690
|
+
}
|
|
6691
|
+
return "To open the project Dev app: MCP `run_dev_script` (same as the desktop Dev button) returns `{url, port, preview}` (`SIDEBOARD_PORT`, not 3000). preview=url \u2192 open that URL (browser, curl, Playwright). preview=window \u2192 Electron: the native window is the app; url is renderer/HMR only (no preload/IPC in a browser). If already running, `list_run_scripts` `active[].url`. `stop_dev_script` to stop.";
|
|
6692
|
+
}
|
|
6664
6693
|
function formatWorktreeDirective(thread, opts) {
|
|
6665
6694
|
const worktree = normPath(thread.worktreePath);
|
|
6666
6695
|
const repo = normPath(thread.repoPath);
|
|
@@ -6708,6 +6737,8 @@ function formatWorktreeDirective(thread, opts) {
|
|
|
6708
6737
|
'- Sideboard git buttons send short phrases ("Commit and push.", "Ready for review.", "Merge PR.", \u2026) with their meaning attached \u2014 act on them without asking for clarification. If the user gives a goal (Greptile 5/5, CI green, until checks pass), you get the watch-fix-push playbook with that request.'
|
|
6709
6738
|
);
|
|
6710
6739
|
lines.push("");
|
|
6740
|
+
lines.push(formatDevAccessHint(opts?.activeRuns));
|
|
6741
|
+
lines.push("");
|
|
6711
6742
|
lines.push(formatProcessGuideDirective({ worktreePath: thread.worktreePath }));
|
|
6712
6743
|
return lines.join("\n");
|
|
6713
6744
|
}
|
|
@@ -6833,12 +6864,12 @@ function formatLongRunningDirective(opts) {
|
|
|
6833
6864
|
"- Hanging, no useful output, or the wrong thing \u2192 `stop_job` (or the helper with `stop <id>`). Do not stop a pack/test/deploy that is clearly making progress.",
|
|
6834
6865
|
"- Stay in the loop until stillRunning is false (or you stopped it). ok \u2192 finish the task. failed / stopped \u2192 read the log, fix or narrow the command, start once.",
|
|
6835
6866
|
"State: `.context/.sideboard/detached-jobs/<id>/` (local scratch). Full guide: `/long-running` (always available).",
|
|
6836
|
-
"Project Dev / run scripts (`.sideboard` `[scripts.run.*]`, same as the desktop Dev button): use MCP `list_run_scripts` / `run_dev_script` / `stop_dev_script` \u2014 logs and Stop live in the thread UI. Do not detached-job or shell-spawn that same command."
|
|
6867
|
+
"Project Dev / run scripts (`.sideboard` `[scripts.run.*]`, same as the desktop Dev button): use MCP `list_run_scripts` / `run_dev_script` / `stop_dev_script` \u2014 logs and Stop live in the thread UI. Do not detached-job or shell-spawn that same command. `run_dev_script` returns `{url, port, preview}` (`SIDEBOARD_PORT`). preview=url \u2192 open that URL; preview=window \u2192 Electron window is the app (url is renderer/HMR only). Never guess :3000."
|
|
6837
6868
|
].join("\n");
|
|
6838
6869
|
}
|
|
6839
6870
|
function formatLongRunningReminder(opts) {
|
|
6840
6871
|
const invoke = formatDetachedJobInvoke(opts?.scriptPath);
|
|
6841
|
-
return `Long jobs: \`${invoke} start <id> -- <cmd>\`, loop wait_for_job (or detached-job wait). The log pane updates from wait JSON; present_artifact type=log is optional. stop_job if hanging or wrong. Do not say you will let the user know later \u2014 stay in the turn. Project Dev button: list_run_scripts / run_dev_script / stop_dev_script (UI-connected \u2014 not detached-job)
|
|
6872
|
+
return `Long jobs: \`${invoke} start <id> -- <cmd>\`, loop wait_for_job (or detached-job wait). The log pane updates from wait JSON; present_artifact type=log is optional. stop_job if hanging or wrong. Do not say you will let the user know later \u2014 stay in the turn. Project Dev button: list_run_scripts / run_dev_script / stop_dev_script (UI-connected \u2014 not detached-job). ${formatDevAccessHint(opts?.activeRuns)}`;
|
|
6842
6873
|
}
|
|
6843
6874
|
function formatArtifactDirective() {
|
|
6844
6875
|
return [
|
|
@@ -6850,7 +6881,7 @@ function formatArtifactDirective() {
|
|
|
6850
6881
|
].join("\n");
|
|
6851
6882
|
}
|
|
6852
6883
|
function formatUiReminder() {
|
|
6853
|
-
return "Sideboard UI: markdown table is enough to read data; present_schema if they ask to edit/filter (even after markdown); present_files for the file manager. html fence or present_artifact, not both for the same document. type=log appends (same artifact_id, new lines only). ask_user only for a real multiple-choice (not hellos, \u201Cwhat next?\u201D, or after a review) \u2014 reply in chat. Do not say artifacts/CMS UI are unavailable. Dev / preview: run_dev_script (same as the Dev button); stop_dev_script to stop.";
|
|
6884
|
+
return "Sideboard UI: markdown table is enough to read data; present_schema if they ask to edit/filter (even after markdown); present_files for the file manager. html fence or present_artifact, not both for the same document. type=log appends (same artifact_id, new lines only). ask_user only for a real multiple-choice (not hellos, \u201Cwhat next?\u201D, or after a review) \u2014 reply in chat. Do not say artifacts/CMS UI are unavailable. Dev / preview: run_dev_script (same as the Dev button) returns {url, port, preview} (SIDEBOARD_PORT \u2014 never guess :3000). preview=url \u2192 open url; preview=window \u2192 Electron window is the app, url is renderer/HMR only. list_run_scripts active[].url if already running; stop_dev_script to stop.";
|
|
6854
6885
|
}
|
|
6855
6886
|
|
|
6856
6887
|
// src/review/review-write-gate.ts
|
|
@@ -7421,7 +7452,7 @@ function formatScheduledPrompt(name, prompt) {
|
|
|
7421
7452
|
${prompt}`;
|
|
7422
7453
|
}
|
|
7423
7454
|
async function defaultDeps() {
|
|
7424
|
-
const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-
|
|
7455
|
+
const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-TEJJAQWP.js");
|
|
7425
7456
|
const orch = getOrchestrator2();
|
|
7426
7457
|
return {
|
|
7427
7458
|
findThread: (id) => findThreadByRef(id),
|
|
@@ -7746,7 +7777,7 @@ var Orchestrator = class {
|
|
|
7746
7777
|
orphans: orphans.map((o) => ({ path: o.path, repoPath: o.repoPath }))
|
|
7747
7778
|
});
|
|
7748
7779
|
}
|
|
7749
|
-
const { autoCleanupOrphansEnabled } = await import("./app-settings-
|
|
7780
|
+
const { autoCleanupOrphansEnabled } = await import("./app-settings-I27UBVI4.js");
|
|
7750
7781
|
if (autoCleanupOrphansEnabled() && shouldRunWorktreeCleanup() && orphans.length > 0) {
|
|
7751
7782
|
await cleanupOrphanWorktrees({ repoPaths });
|
|
7752
7783
|
}
|
|
@@ -8093,7 +8124,7 @@ var Orchestrator = class {
|
|
|
8093
8124
|
}
|
|
8094
8125
|
await setup;
|
|
8095
8126
|
if (skipSetup) return;
|
|
8096
|
-
const { autoRunAfterSetupEnabled } = await import("./app-settings-
|
|
8127
|
+
const { autoRunAfterSetupEnabled } = await import("./app-settings-I27UBVI4.js");
|
|
8097
8128
|
if (autoRunAfterSetupEnabled()) {
|
|
8098
8129
|
try {
|
|
8099
8130
|
await this.startDev(threadId);
|
|
@@ -8396,8 +8427,13 @@ var Orchestrator = class {
|
|
|
8396
8427
|
SLACK_REPLY_FORMATTING
|
|
8397
8428
|
].join("\n") : null
|
|
8398
8429
|
].filter(Boolean).join("\n") : null;
|
|
8430
|
+
const worktreeActiveRuns = thread.agent !== "brightsy" && !isOrchestratorThread(thread) && thread.worktreePath ? annotateDevAccessRuns(
|
|
8431
|
+
mergeWorktreeActiveRuns(threadsSharingWorktree(thread.worktreePath)).activeRuns,
|
|
8432
|
+
listRunScripts(thread.worktreePath, thread.repoPath),
|
|
8433
|
+
thread.worktreePath
|
|
8434
|
+
) : [];
|
|
8399
8435
|
const artifactReminder = thread.agent !== "brightsy" ? formatUiReminder() : null;
|
|
8400
|
-
const longRunningReminder = thread.agent !== "brightsy" && !isOrchestratorThread(thread) ? formatLongRunningReminder() : null;
|
|
8436
|
+
const longRunningReminder = thread.agent !== "brightsy" && !isOrchestratorThread(thread) ? formatLongRunningReminder({ activeRuns: worktreeActiveRuns }) : null;
|
|
8401
8437
|
const worktreeReminder = thread.agent !== "brightsy" && !isOrchestratorThread(thread) ? formatWorktreeReminder() : null;
|
|
8402
8438
|
const optionalServicesReminder = thread.agent !== "brightsy" && !isOrchestratorThread(thread) ? formatOptionalServicesReminder(loadAppSettings().integrations) : null;
|
|
8403
8439
|
const issueTicket = issueTicketFromThread(thread, resolveEffectiveIssueSource());
|
|
@@ -8449,7 +8485,7 @@ var Orchestrator = class {
|
|
|
8449
8485
|
}
|
|
8450
8486
|
const isBrightsy = fresh.agent === "brightsy";
|
|
8451
8487
|
const isOrchestration = isOrchestratorThread(fresh);
|
|
8452
|
-
const { autoRenameBranchEnabled, getGithubGitAuthMode, gitBranchPrefixSetting } = await import("./app-settings-
|
|
8488
|
+
const { autoRenameBranchEnabled, getGithubGitAuthMode, gitBranchPrefixSetting } = await import("./app-settings-I27UBVI4.js");
|
|
8453
8489
|
const gitAuthMode = getGithubGitAuthMode();
|
|
8454
8490
|
const worktreeDirective = isBrightsy || isOrchestration ? null : formatWorktreeDirective(fresh, {
|
|
8455
8491
|
githubSlug: await withTimeout(
|
|
@@ -8457,7 +8493,14 @@ var Orchestrator = class {
|
|
|
8457
8493
|
8e3,
|
|
8458
8494
|
"resolveGithubRepoSlug"
|
|
8459
8495
|
).catch(() => null),
|
|
8460
|
-
gitAuthMode
|
|
8496
|
+
gitAuthMode,
|
|
8497
|
+
activeRuns: annotateDevAccessRuns(
|
|
8498
|
+
mergeWorktreeActiveRuns(
|
|
8499
|
+
threadsSharingWorktree(fresh.worktreePath)
|
|
8500
|
+
).activeRuns,
|
|
8501
|
+
listRunScripts(fresh.worktreePath, fresh.repoPath),
|
|
8502
|
+
fresh.worktreePath
|
|
8503
|
+
)
|
|
8461
8504
|
});
|
|
8462
8505
|
const artifactDirective = isBrightsy ? null : formatArtifactDirective();
|
|
8463
8506
|
const longRunningDirective = isBrightsy || isOrchestration ? null : formatLongRunningDirective();
|
|
@@ -8597,7 +8640,7 @@ var Orchestrator = class {
|
|
|
8597
8640
|
if (!this.stoppedTurns.has(threadId) && this.requireThread(threadId).agent === "cursor" && exitCode !== 0 && !assistantText && parts.length === 0) {
|
|
8598
8641
|
const sessionId = result.sessionId || this.requireThread(threadId).sessionId || "";
|
|
8599
8642
|
if (sessionId) {
|
|
8600
|
-
const { recoverFinishedCursorRun } = await import("./cursor-recover-
|
|
8643
|
+
const { recoverFinishedCursorRun } = await import("./cursor-recover-DFMCTZA4.js");
|
|
8601
8644
|
for (let i = 0; i < 8; i++) {
|
|
8602
8645
|
const recovered = recoverFinishedCursorRun({
|
|
8603
8646
|
agentId: sessionId,
|
|
@@ -9039,7 +9082,8 @@ var Orchestrator = class {
|
|
|
9039
9082
|
}
|
|
9040
9083
|
return this.waitForDesktopRunScript(thread.id, request, op, scriptName);
|
|
9041
9084
|
}
|
|
9042
|
-
async waitForDesktopRunScript(threadId,
|
|
9085
|
+
async waitForDesktopRunScript(threadId, initialRequest, op, scriptName) {
|
|
9086
|
+
let request = initialRequest;
|
|
9043
9087
|
const deadline = Date.now() + this.runScriptAdoptTimeoutMs;
|
|
9044
9088
|
while (Date.now() < deadline) {
|
|
9045
9089
|
const latest = readThread(threadId);
|
|
@@ -9063,6 +9107,15 @@ var Orchestrator = class {
|
|
|
9063
9107
|
}
|
|
9064
9108
|
} else if (fulfilled) {
|
|
9065
9109
|
return null;
|
|
9110
|
+
} else if (requestGone) {
|
|
9111
|
+
const coversThisStop = req?.op === "stop" && (req.scriptName == null || req.scriptName === (scriptName ?? null));
|
|
9112
|
+
if (req && coversThisStop) {
|
|
9113
|
+
request = req;
|
|
9114
|
+
continue;
|
|
9115
|
+
}
|
|
9116
|
+
throw new Error(
|
|
9117
|
+
req?.op === "start" ? "Stop was replaced by a newer start request before desktop applied it." : "Stop was replaced by another run-script request before desktop applied it."
|
|
9118
|
+
);
|
|
9066
9119
|
}
|
|
9067
9120
|
await new Promise((r) => setTimeout(r, 40));
|
|
9068
9121
|
}
|
|
@@ -9670,7 +9723,7 @@ var Orchestrator = class {
|
|
|
9670
9723
|
if (!titled.userSetTitle && meta.title && titled.title !== meta.title) {
|
|
9671
9724
|
updateThread(thread.id, { title: meta.title });
|
|
9672
9725
|
}
|
|
9673
|
-
const { autoArchiveOnMergeEnabled } = await import("./app-settings-
|
|
9726
|
+
const { autoArchiveOnMergeEnabled } = await import("./app-settings-I27UBVI4.js");
|
|
9674
9727
|
const latest = this.requireThread(thread.id);
|
|
9675
9728
|
if (!shouldAutoArchiveOnPrMerge({
|
|
9676
9729
|
previousPrState: prevState || null,
|
|
@@ -9952,7 +10005,7 @@ var Orchestrator = class {
|
|
|
9952
10005
|
this.enforceHistoryRetention();
|
|
9953
10006
|
if (thread.repoPath && !isGlobalRepoPath(thread.repoPath)) {
|
|
9954
10007
|
try {
|
|
9955
|
-
const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-
|
|
10008
|
+
const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-NYT2472Z.js");
|
|
9956
10009
|
await ensureWorkspace2(thread.repoPath);
|
|
9957
10010
|
} catch {
|
|
9958
10011
|
}
|
|
@@ -9979,7 +10032,7 @@ var Orchestrator = class {
|
|
|
9979
10032
|
await runArchiveScript(thread.repoPath, thread.worktreePath);
|
|
9980
10033
|
} catch {
|
|
9981
10034
|
}
|
|
9982
|
-
const { deleteBranchOnPurgeEnabled } = await import("./app-settings-
|
|
10035
|
+
const { deleteBranchOnPurgeEnabled } = await import("./app-settings-I27UBVI4.js");
|
|
9983
10036
|
const deleteBranch = opts?.deleteBranch ?? deleteBranchOnPurgeEnabled();
|
|
9984
10037
|
await removeWorktree(thread.repoPath, thread.worktreePath, {
|
|
9985
10038
|
deleteBranch: deleteBranch ? thread.branchName : void 0
|
|
@@ -9994,7 +10047,7 @@ var Orchestrator = class {
|
|
|
9994
10047
|
throw new Error("Thread is not archived");
|
|
9995
10048
|
}
|
|
9996
10049
|
if (isGlobalThread(thread)) {
|
|
9997
|
-
const { globalAgentCwd } = await import("./paths-
|
|
10050
|
+
const { globalAgentCwd } = await import("./paths-O6ZEAEUD.js");
|
|
9998
10051
|
updateThread(thread.id, { worktreePath: globalAgentCwd() });
|
|
9999
10052
|
const restored2 = setStatus(thread.id, "idle");
|
|
10000
10053
|
this.emit({ type: "status_changed", threadId: restored2.id, status: restored2.status });
|
|
@@ -10006,7 +10059,7 @@ var Orchestrator = class {
|
|
|
10006
10059
|
`Cowboy checkout missing: ${thread.worktreePath}. Re-add the project folder, then restore.`
|
|
10007
10060
|
);
|
|
10008
10061
|
}
|
|
10009
|
-
const { createThreadWorktree: createThreadWorktree2 } = await import("./worktree-
|
|
10062
|
+
const { createThreadWorktree: createThreadWorktree2 } = await import("./worktree-AGVPKDBH.js");
|
|
10010
10063
|
const slug = thread.worktreePath.split("/").pop();
|
|
10011
10064
|
const dest = thread.worktreePath;
|
|
10012
10065
|
await withRepoGitLock(thread.repoPath, async () => {
|
|
@@ -10116,7 +10169,7 @@ async function startOrchestration(opts) {
|
|
|
10116
10169
|
sourceRef: "default",
|
|
10117
10170
|
...createOpts
|
|
10118
10171
|
}).catch(async () => {
|
|
10119
|
-
const { resolveDefaultBranch: resolveDefaultBranch2, resolveRepoRoot: resolveRepoRoot2 } = await import("./worktree-
|
|
10172
|
+
const { resolveDefaultBranch: resolveDefaultBranch2, resolveRepoRoot: resolveRepoRoot2 } = await import("./worktree-AGVPKDBH.js");
|
|
10120
10173
|
const repo = await resolveRepoRoot2(repoPath);
|
|
10121
10174
|
const def = await resolveDefaultBranch2(repo);
|
|
10122
10175
|
return orch.createThread({
|
|
@@ -10126,7 +10179,7 @@ async function startOrchestration(opts) {
|
|
|
10126
10179
|
repoPath: repo
|
|
10127
10180
|
});
|
|
10128
10181
|
});
|
|
10129
|
-
const { updateThread: upd } = await import("./thread-store-
|
|
10182
|
+
const { updateThread: upd } = await import("./thread-store-AYPBEZT5.js");
|
|
10130
10183
|
const updated = upd(thread.id, {
|
|
10131
10184
|
sourceType: "orchestration",
|
|
10132
10185
|
sourceRef: goal
|
|
@@ -10361,6 +10414,8 @@ export {
|
|
|
10361
10414
|
resolveDetachedJobScript,
|
|
10362
10415
|
formatDetachedJobInvoke,
|
|
10363
10416
|
formatRenameBranchDirective,
|
|
10417
|
+
localhostPreviewUrl,
|
|
10418
|
+
formatDevAccessHint,
|
|
10364
10419
|
formatWorktreeDirective,
|
|
10365
10420
|
formatWorktreeReminder,
|
|
10366
10421
|
mentionsPrGoal,
|
|
@@ -9,11 +9,11 @@ import {
|
|
|
9
9
|
ensureConnectedBrightsyTeamTokens,
|
|
10
10
|
getConnectedBrightsyTeamsRaw,
|
|
11
11
|
listConnectedBrightsyTeams
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-J5GON4SU.js";
|
|
13
13
|
import "./chunk-P2BSMNHB.js";
|
|
14
14
|
import "./chunk-VKQGAWHY.js";
|
|
15
15
|
import "./chunk-2UG25RMK.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-KK63BFYN.js";
|
|
17
17
|
import "./chunk-WWUABK6B.js";
|
|
18
18
|
export {
|
|
19
19
|
applyConnectedTeamToCli,
|
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
ensureConnectedBrightsyTeamTokens,
|
|
8
8
|
getConnectedBrightsyTeamsRaw,
|
|
9
9
|
listConnectedBrightsyTeams
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-CJKL7A4G.js";
|
|
11
11
|
import "./chunk-ROPGQRPU.js";
|
|
12
12
|
import "./chunk-N7WZ6NIN.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-A4JGXX2F.js";
|
|
14
14
|
import "./chunk-QVN2WOKJ.js";
|
|
15
15
|
import "./chunk-4TR3HZFT.js";
|
|
16
16
|
export {
|
|
@@ -9,17 +9,17 @@ import {
|
|
|
9
9
|
enrichWorkspacesWithGithub,
|
|
10
10
|
ensureGlobalCoordinatorCwd,
|
|
11
11
|
formatWorkspaceInventory
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-RRXRLHIE.js";
|
|
13
|
+
import "./chunk-JXZS56VW.js";
|
|
14
14
|
import "./chunk-D6JWYJ4P.js";
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-NJ5OXOTN.js";
|
|
16
|
+
import "./chunk-N6XI5KXL.js";
|
|
17
17
|
import "./chunk-DD67JWTN.js";
|
|
18
18
|
import "./chunk-2UG25RMK.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-4H5WO4H3.js";
|
|
20
20
|
import "./chunk-NSTQ6QKD.js";
|
|
21
21
|
import "./chunk-KGZBYWZ3.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-KK63BFYN.js";
|
|
23
23
|
import "./chunk-WWUABK6B.js";
|
|
24
24
|
import "./chunk-FJZWM2ON.js";
|
|
25
25
|
export {
|
|
@@ -7,17 +7,17 @@ import {
|
|
|
7
7
|
enrichWorkspacesWithGithub,
|
|
8
8
|
ensureGlobalCoordinatorCwd,
|
|
9
9
|
formatWorkspaceInventory
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-5UN5C5WP.js";
|
|
11
|
+
import "./chunk-O3UAQAYA.js";
|
|
12
12
|
import "./chunk-6K64FJDD.js";
|
|
13
13
|
import "./chunk-2P4XKWV2.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-P3DCZRER.js";
|
|
15
15
|
import "./chunk-WDRMZKVB.js";
|
|
16
16
|
import "./chunk-JT7R45JB.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-3AJUH66R.js";
|
|
18
|
+
import "./chunk-224IXQOM.js";
|
|
19
19
|
import "./chunk-77WWLBCI.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-A4JGXX2F.js";
|
|
21
21
|
import "./chunk-QVN2WOKJ.js";
|
|
22
22
|
import "./chunk-4TR3HZFT.js";
|
|
23
23
|
export {
|
|
@@ -17,19 +17,19 @@ import {
|
|
|
17
17
|
orchestratorSessionPoisonedByBuiltins,
|
|
18
18
|
slackCoordinatorSourceRef,
|
|
19
19
|
takenTeamSlugsForOrchestration
|
|
20
|
-
} from "./chunk-
|
|
21
|
-
import "./chunk-
|
|
20
|
+
} from "./chunk-RRXRLHIE.js";
|
|
21
|
+
import "./chunk-JXZS56VW.js";
|
|
22
22
|
import "./chunk-D6JWYJ4P.js";
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-NJ5OXOTN.js";
|
|
24
|
+
import "./chunk-N6XI5KXL.js";
|
|
25
25
|
import "./chunk-DD67JWTN.js";
|
|
26
26
|
import "./chunk-2UG25RMK.js";
|
|
27
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-4H5WO4H3.js";
|
|
28
28
|
import "./chunk-NSTQ6QKD.js";
|
|
29
29
|
import "./chunk-KGZBYWZ3.js";
|
|
30
30
|
import {
|
|
31
31
|
globalAgentCwd
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-KK63BFYN.js";
|
|
33
33
|
import "./chunk-WWUABK6B.js";
|
|
34
34
|
import "./chunk-FJZWM2ON.js";
|
|
35
35
|
export {
|
|
@@ -15,19 +15,19 @@ import {
|
|
|
15
15
|
orchestratorSessionPoisonedByBuiltins,
|
|
16
16
|
slackCoordinatorSourceRef,
|
|
17
17
|
takenTeamSlugsForOrchestration
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import "./chunk-
|
|
18
|
+
} from "./chunk-5UN5C5WP.js";
|
|
19
|
+
import "./chunk-O3UAQAYA.js";
|
|
20
20
|
import "./chunk-6K64FJDD.js";
|
|
21
21
|
import "./chunk-2P4XKWV2.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-P3DCZRER.js";
|
|
23
23
|
import "./chunk-WDRMZKVB.js";
|
|
24
24
|
import "./chunk-JT7R45JB.js";
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-3AJUH66R.js";
|
|
26
|
+
import "./chunk-224IXQOM.js";
|
|
27
27
|
import "./chunk-77WWLBCI.js";
|
|
28
28
|
import {
|
|
29
29
|
globalAgentCwd
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-A4JGXX2F.js";
|
|
31
31
|
import "./chunk-QVN2WOKJ.js";
|
|
32
32
|
import "./chunk-4TR3HZFT.js";
|
|
33
33
|
export {
|