@sideboard-ai/core 0.1.107 → 0.1.109
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/agents/cursor-runner.js +2 -2
- package/dist/{agents-T4RHL5UX.js → agents-XB332VUJ.js} +5 -5
- package/dist/{agents-4XQANGFO.js → agents-YIMHDI46.js} +7 -7
- package/dist/{app-settings-2WH6DVOW.js → app-settings-EBCVMFF6.js} +1 -1
- package/dist/{app-settings-6AXBWM3K.js → app-settings-IYSSVZHH.js} +2 -2
- package/dist/{chunk-7ZTQHC2Q.js → chunk-4LKD3PGO.js} +1 -1
- package/dist/{chunk-TLPJHLLM.js → chunk-4TR3HZFT.js} +1 -1
- package/dist/{chunk-SMWVSSE5.js → chunk-756EO4GK.js} +3 -3
- package/dist/{chunk-XOYH3OMI.js → chunk-AY2EQI2P.js} +16 -13
- package/dist/{chunk-PZVA2VDF.js → chunk-EW7COXYE.js} +1 -1
- package/dist/{chunk-VTTTV2LM.js → chunk-FBV6NK62.js} +2 -2
- package/dist/{chunk-GYFNFU62.js → chunk-I2OJ2YSP.js} +8 -16
- package/dist/{chunk-6JJTMI7G.js → chunk-JVIW55KT.js} +1 -1
- package/dist/{chunk-6HRR4T4P.js → chunk-KKHDPV45.js} +15 -14
- package/dist/{chunk-XEFHG6VG.js → chunk-LTPX5N6K.js} +1310 -1265
- package/dist/{chunk-EX4NZN3O.js → chunk-NE4TOOKS.js} +1 -1
- package/dist/{chunk-LRO7YVLJ.js → chunk-OQDIYVDD.js} +2 -2
- package/dist/{chunk-3SIFRHJ3.js → chunk-Q6B3NRCT.js} +1457 -1431
- package/dist/{chunk-THXSFETX.js → chunk-TROJ3PVH.js} +3 -3
- package/dist/{chunk-5XUKY2JY.js → chunk-VRTKGKUW.js} +8 -16
- package/dist/{chunk-HUKCGRAT.js → chunk-WD2TARQS.js} +7 -2
- package/dist/{coordinator-prompt-4TUQUEHY.js → coordinator-prompt-JKOU6BWV.js} +4 -4
- package/dist/{coordinator-prompt-YQWRXCPX.js → coordinator-prompt-V66BYTUV.js} +3 -3
- package/dist/{global-workspace-V6TMECDU.js → global-workspace-NCTBE7G7.js} +5 -5
- package/dist/{global-workspace-H37LFFXI.js → global-workspace-WBQWQQQY.js} +4 -4
- package/dist/index.cjs +1697 -1661
- package/dist/index.d.cts +65 -24
- package/dist/index.d.ts +65 -24
- package/dist/index.js +107 -85
- package/dist/mcp/run-stdio.cjs +1660 -1619
- package/dist/mcp/run-stdio.js +82 -79
- package/dist/{orchestrator-DEHSKERK.js → orchestrator-6W7EKSPO.js} +9 -9
- package/dist/{orchestrator-2P7DX44Q.js → orchestrator-JVGVPKLI.js} +7 -7
- package/dist/{workspaces-JU3P6FHB.js → workspaces-I3554R3F.js} +5 -5
- package/dist/{workspaces-UPEVANU4.js → workspaces-SUBEDSGB.js} +6 -6
- package/dist/{worktree-NR5YJG2E.js → worktree-2UWO7VEK.js} +3 -3
- package/dist/{worktree-6MFKE465.js → worktree-7H6HB6GW.js} +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -12,6 +12,9 @@ import {
|
|
|
12
12
|
REVIEW_REQUEST_PATH,
|
|
13
13
|
REVIEW_REQUEST_PREFILL,
|
|
14
14
|
REVIEW_REQUEST_TEMPLATE,
|
|
15
|
+
REVIEW_SKILL_NAME,
|
|
16
|
+
REVIEW_SKILL_PATH,
|
|
17
|
+
SESSION_RESET_OCCUPANCY_TOKENS,
|
|
15
18
|
SlackApiError,
|
|
16
19
|
addStackLayerFromThread,
|
|
17
20
|
adoptThread,
|
|
@@ -20,6 +23,7 @@ import {
|
|
|
20
23
|
allocatePortRange,
|
|
21
24
|
applyAgentEvent,
|
|
22
25
|
applyCompaction,
|
|
26
|
+
applyPromptCacheTtlEnv,
|
|
23
27
|
applyThreadIntoMain,
|
|
24
28
|
armSchedules,
|
|
25
29
|
attachmentFromAbsolutePath,
|
|
@@ -51,6 +55,7 @@ import {
|
|
|
51
55
|
discoverSkills,
|
|
52
56
|
dismissSlackReplyBadge,
|
|
53
57
|
ensureReviewRequestFile,
|
|
58
|
+
ensureReviewSkillFile,
|
|
54
59
|
estimateMessageChars,
|
|
55
60
|
estimateThreadChars,
|
|
56
61
|
expandComposerPrompt,
|
|
@@ -96,6 +101,7 @@ import {
|
|
|
96
101
|
isPidAlive,
|
|
97
102
|
isSlackExternalReplyPrompt,
|
|
98
103
|
isThisProcessDesktopHost,
|
|
104
|
+
lastRequestOccupancy,
|
|
99
105
|
listBranchCommits,
|
|
100
106
|
listConductorWorkspaces,
|
|
101
107
|
listLinearIssues,
|
|
@@ -142,6 +148,7 @@ import {
|
|
|
142
148
|
setSlackReplyTarget,
|
|
143
149
|
shouldCompactContext,
|
|
144
150
|
shouldRefreshReviewRequestTemplate,
|
|
151
|
+
shouldResetSessionForOccupancy,
|
|
145
152
|
shouldRunWorktreeCleanup,
|
|
146
153
|
slackApi,
|
|
147
154
|
slackArchiveUrl,
|
|
@@ -167,8 +174,9 @@ import {
|
|
|
167
174
|
waitForPidExit,
|
|
168
175
|
withAgentInstructions,
|
|
169
176
|
worktreeCleanupSettings,
|
|
177
|
+
wrapReviewSkillMarkdown,
|
|
170
178
|
writeWorktreeFile
|
|
171
|
-
} from "./chunk-
|
|
179
|
+
} from "./chunk-Q6B3NRCT.js";
|
|
172
180
|
import {
|
|
173
181
|
BRIGHTSY_MCP_ALLOWED_TOOLS,
|
|
174
182
|
CLAUDE_MODEL_CATALOG,
|
|
@@ -176,6 +184,7 @@ import {
|
|
|
176
184
|
PLAN_MODE_INSTRUCTION,
|
|
177
185
|
SIDEBOARD_MCP_ALLOWED_TOOLS,
|
|
178
186
|
SIDEBOARD_MCP_PROFILE_ENV,
|
|
187
|
+
WORKTREE_MCP_TOOLS,
|
|
179
188
|
allAdapters,
|
|
180
189
|
applyTurnUsage,
|
|
181
190
|
brightsyAdapter,
|
|
@@ -228,7 +237,7 @@ import {
|
|
|
228
237
|
threadRequestsBrightsyMcp,
|
|
229
238
|
totalTokens,
|
|
230
239
|
writeInjectedMcpConfig
|
|
231
|
-
} from "./chunk-
|
|
240
|
+
} from "./chunk-KKHDPV45.js";
|
|
232
241
|
import {
|
|
233
242
|
brightsyConfigPath,
|
|
234
243
|
brightsyMcpServerName,
|
|
@@ -247,7 +256,7 @@ import {
|
|
|
247
256
|
listWorkspaces,
|
|
248
257
|
removeWorkspace,
|
|
249
258
|
syncWorkspacesFromThreads
|
|
250
|
-
} from "./chunk-
|
|
259
|
+
} from "./chunk-FBV6NK62.js";
|
|
251
260
|
import {
|
|
252
261
|
CLOUD_COORDINATOR_BUSY_REPLY,
|
|
253
262
|
CLOUD_COORDINATOR_STOPPED_REPLY,
|
|
@@ -275,7 +284,7 @@ import {
|
|
|
275
284
|
parseForceStopMessage,
|
|
276
285
|
slackCoordinatorSourceRef,
|
|
277
286
|
takenTeamSlugsForOrchestration
|
|
278
|
-
} from "./chunk-
|
|
287
|
+
} from "./chunk-756EO4GK.js";
|
|
279
288
|
import {
|
|
280
289
|
COORDINATOR_TOOL_PLAYBOOK,
|
|
281
290
|
SLACK_REPLY_FORMATTING,
|
|
@@ -284,7 +293,7 @@ import {
|
|
|
284
293
|
enrichWorkspacesWithGithub,
|
|
285
294
|
ensureGlobalCoordinatorCwd,
|
|
286
295
|
formatWorkspaceInventory
|
|
287
|
-
} from "./chunk-
|
|
296
|
+
} from "./chunk-I2OJ2YSP.js";
|
|
288
297
|
import {
|
|
289
298
|
LEGACY_PLAN_FILE_REL,
|
|
290
299
|
PLAN_FILE_NAME,
|
|
@@ -300,7 +309,7 @@ import "./chunk-MMI4RJ5I.js";
|
|
|
300
309
|
import {
|
|
301
310
|
cursorSdkMessageToEvents,
|
|
302
311
|
parseCursorRunnerLine
|
|
303
|
-
} from "./chunk-
|
|
312
|
+
} from "./chunk-WD2TARQS.js";
|
|
304
313
|
import {
|
|
305
314
|
caffeinateHoldPath,
|
|
306
315
|
getCaffeinateHold,
|
|
@@ -388,7 +397,7 @@ import {
|
|
|
388
397
|
worktreeDisplayLabel,
|
|
389
398
|
worktreeDisplayLabelForGroup,
|
|
390
399
|
worktreeNameFromPath
|
|
391
|
-
} from "./chunk-
|
|
400
|
+
} from "./chunk-EW7COXYE.js";
|
|
392
401
|
import {
|
|
393
402
|
ATTACHMENTS_DIR,
|
|
394
403
|
LEGACY_ATTACHMENTS_DIR,
|
|
@@ -455,10 +464,10 @@ import {
|
|
|
455
464
|
updateDefaultsSettings,
|
|
456
465
|
updateIntegrationsSettings,
|
|
457
466
|
updateOpencodeSettings
|
|
458
|
-
} from "./chunk-
|
|
467
|
+
} from "./chunk-4LKD3PGO.js";
|
|
459
468
|
import {
|
|
460
469
|
stripNestedElectronEnv
|
|
461
|
-
} from "./chunk-
|
|
470
|
+
} from "./chunk-4TR3HZFT.js";
|
|
462
471
|
import "./chunk-JT7R45JB.js";
|
|
463
472
|
import {
|
|
464
473
|
appendMessage,
|
|
@@ -2225,7 +2234,7 @@ async function startMcpServer() {
|
|
|
2225
2234
|
);
|
|
2226
2235
|
}
|
|
2227
2236
|
try {
|
|
2228
|
-
const { maxConcurrentAgents: maxConcurrentAgents2 } = await import("./app-settings-
|
|
2237
|
+
const { maxConcurrentAgents: maxConcurrentAgents2 } = await import("./app-settings-IYSSVZHH.js");
|
|
2229
2238
|
orch.setMaxConcurrent(maxConcurrentAgents2());
|
|
2230
2239
|
} catch {
|
|
2231
2240
|
}
|
|
@@ -2241,74 +2250,77 @@ async function startMcpServer() {
|
|
|
2241
2250
|
name: "sideboard",
|
|
2242
2251
|
version: "0.1.0"
|
|
2243
2252
|
});
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
workspaces.
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
-
|
|
2268
|
-
|
|
2269
|
-
|
|
2270
|
-
const
|
|
2253
|
+
const worktreeProfile = sideboardMcpProfile() === "worktree";
|
|
2254
|
+
if (!worktreeProfile) {
|
|
2255
|
+
server.tool(
|
|
2256
|
+
"list_workspaces",
|
|
2257
|
+
"List registered Sideboard workspaces (repos). Each line is name, path, and github:owner/repo when resolvable \u2014 use path as repoPath for list_branches/list_prs/list_issues/create_thread.",
|
|
2258
|
+
{},
|
|
2259
|
+
async () => {
|
|
2260
|
+
const workspaces = orch.listWorkspaces();
|
|
2261
|
+
const lines = await Promise.all(
|
|
2262
|
+
workspaces.map(async (w) => {
|
|
2263
|
+
const slug = await resolveGithubRepoSlug(w.path).catch(() => null);
|
|
2264
|
+
return slug ? `${w.name} ${w.path} github:${slug}` : `${w.name} ${w.path}`;
|
|
2265
|
+
})
|
|
2266
|
+
);
|
|
2267
|
+
return {
|
|
2268
|
+
content: [
|
|
2269
|
+
{ type: "text", text: lines.join("\n") || "(no workspaces)" }
|
|
2270
|
+
]
|
|
2271
|
+
};
|
|
2272
|
+
}
|
|
2273
|
+
);
|
|
2274
|
+
server.tool(
|
|
2275
|
+
"list_threads",
|
|
2276
|
+
"List Sideboard threads across all workspaces (one summary line each \u2014 token-frugal). Each line ends with sideboard://thread/<id> \u2014 use that URL in markdown links so the UI can open the chat.",
|
|
2277
|
+
{},
|
|
2278
|
+
async () => {
|
|
2279
|
+
const threads = orch.getThreads(true);
|
|
2280
|
+
const lines = threads.map((t) => {
|
|
2281
|
+
const repo = t.repoPath === GLOBAL_WORKSPACE_ID ? "Orchestration" : basename(t.repoPath) || t.repoPath;
|
|
2282
|
+
const live = t.status === "running" || t.status === "queued" ? readTurnLive(t.id) : null;
|
|
2283
|
+
const progress = live?.summary ? ` ${live.summary}` : "";
|
|
2284
|
+
return `${t.id.slice(0, 8)} ${t.status.padEnd(9)} ${t.agent.padEnd(8)} ${repo} ${t.sourceType}:${t.sourceRef} ${t.title} sideboard://thread/${t.id}${t.devPort ? ` http://localhost:${t.devPort}` : ""}${progress}`;
|
|
2285
|
+
});
|
|
2286
|
+
return {
|
|
2287
|
+
content: [{ type: "text", text: lines.join("\n") || "(no threads)" }]
|
|
2288
|
+
};
|
|
2289
|
+
}
|
|
2290
|
+
);
|
|
2291
|
+
server.tool(
|
|
2292
|
+
"get_thread",
|
|
2293
|
+
"Get a compact thread summary by id/ref. While running, includes progress (last tool/thinking) and lastActivityAt.",
|
|
2294
|
+
{ ref: z4.string() },
|
|
2295
|
+
async ({ ref }) => {
|
|
2296
|
+
const t = orch.getThread(ref);
|
|
2297
|
+
if (!t) {
|
|
2298
|
+
return { content: [{ type: "text", text: `Thread not found: ${ref}` }], isError: true };
|
|
2299
|
+
}
|
|
2271
2300
|
const live = t.status === "running" || t.status === "queued" ? readTurnLive(t.id) : null;
|
|
2272
|
-
const
|
|
2273
|
-
|
|
2274
|
-
|
|
2275
|
-
|
|
2276
|
-
|
|
2277
|
-
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
|
|
2281
|
-
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2301
|
+
const summary = {
|
|
2302
|
+
id: t.id,
|
|
2303
|
+
title: t.title,
|
|
2304
|
+
status: t.status,
|
|
2305
|
+
agent: t.agent,
|
|
2306
|
+
sourceType: t.sourceType,
|
|
2307
|
+
sourceRef: t.sourceRef,
|
|
2308
|
+
branchName: t.branchName,
|
|
2309
|
+
worktreePath: t.worktreePath,
|
|
2310
|
+
sessionId: t.sessionId,
|
|
2311
|
+
queueLength: t.queue.length,
|
|
2312
|
+
messageCount: t.messages.length,
|
|
2313
|
+
devPort: t.devPort,
|
|
2314
|
+
prUrl: t.prUrl,
|
|
2315
|
+
lastError: t.lastError ?? null,
|
|
2316
|
+
stillRunning: t.status === "running" || t.status === "queued",
|
|
2317
|
+
progress: live?.summary ?? null,
|
|
2318
|
+
lastActivityAt: live?.updatedAt ?? null
|
|
2319
|
+
};
|
|
2320
|
+
return { content: [{ type: "text", text: JSON.stringify(summary, null, 2) }] };
|
|
2288
2321
|
}
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
id: t.id,
|
|
2292
|
-
title: t.title,
|
|
2293
|
-
status: t.status,
|
|
2294
|
-
agent: t.agent,
|
|
2295
|
-
sourceType: t.sourceType,
|
|
2296
|
-
sourceRef: t.sourceRef,
|
|
2297
|
-
branchName: t.branchName,
|
|
2298
|
-
worktreePath: t.worktreePath,
|
|
2299
|
-
sessionId: t.sessionId,
|
|
2300
|
-
queueLength: t.queue.length,
|
|
2301
|
-
messageCount: t.messages.length,
|
|
2302
|
-
devPort: t.devPort,
|
|
2303
|
-
prUrl: t.prUrl,
|
|
2304
|
-
lastError: t.lastError ?? null,
|
|
2305
|
-
stillRunning: t.status === "running" || t.status === "queued",
|
|
2306
|
-
progress: live?.summary ?? null,
|
|
2307
|
-
lastActivityAt: live?.updatedAt ?? null
|
|
2308
|
-
};
|
|
2309
|
-
return { content: [{ type: "text", text: JSON.stringify(summary, null, 2) }] };
|
|
2310
|
-
}
|
|
2311
|
-
);
|
|
2322
|
+
);
|
|
2323
|
+
}
|
|
2312
2324
|
server.tool(
|
|
2313
2325
|
"present_artifact",
|
|
2314
2326
|
"Show an HTML, SVG, markdown, or React document in Sideboard\u2019s Claude-style side column (desktop). Use instead of claude.ai\u2019s artifact tool \u2014 pass the full document content. Prefer type=html for interactive pages. For type=react, pass a single component module that `export default`s a component (JSX/TSX ok) \u2014 Sideboard bootstraps React/ReactDOM/Babel and renders it; only `react`/`react-dom` imports are available, no other npm packages.",
|
|
@@ -2437,12 +2449,12 @@ async function startMcpServer() {
|
|
|
2437
2449
|
return { content: [{ type: "text", text: JSON.stringify(payload) }] };
|
|
2438
2450
|
}
|
|
2439
2451
|
);
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2452
|
+
if (!worktreeProfile) {
|
|
2453
|
+
registerSlackTools(server);
|
|
2454
|
+
registerLinearTools(server);
|
|
2443
2455
|
registerScheduleTools(server);
|
|
2444
2456
|
const { getCaffeinateHold: getCaffeinateHold2, setCaffeinateHold: setCaffeinateHold2 } = await import("./caffeinate-hold-X3JNPR42.js");
|
|
2445
|
-
const { resolveNewThreadOptions: resolveNewThreadOptions2, resolveThreadDefaults: resolveThreadDefaults2 } = await import("./app-settings-
|
|
2457
|
+
const { resolveNewThreadOptions: resolveNewThreadOptions2, resolveThreadDefaults: resolveThreadDefaults2 } = await import("./app-settings-IYSSVZHH.js");
|
|
2446
2458
|
const accountDefaults = resolveThreadDefaults2();
|
|
2447
2459
|
const accountDefaultsHint = `Account defaults: agent=${accountDefaults.agent}, model=${accountDefaults.model?.trim() || "Auto"}, effort=${accountDefaults.effort}`;
|
|
2448
2460
|
server.tool(
|
|
@@ -2793,7 +2805,7 @@ async function startMcpServer() {
|
|
|
2793
2805
|
);
|
|
2794
2806
|
server.tool(
|
|
2795
2807
|
"request_review",
|
|
2796
|
-
'Start a merge-readiness Review on a worktree agent thread (same as the desktop Review button). Opens a new Review chat tab, attaches .
|
|
2808
|
+
'Start a merge-readiness Review on a worktree agent thread (same as the desktop Review button). Opens a new Review chat tab, attaches .claude/skills/review/SKILL.md when present (else seeds that skill from .sideboard/review.md or the stock template), and sends "Review changes in this workspace." Expect Approve / Approve with nits / Request changes / Needs more information. Pass a worktree thread ref \u2014 not the orchestrator. Then wait_for_turn (loop while stillRunning) / get_turn_result on the returned review tab id.',
|
|
2797
2809
|
{ ref: z4.string().describe("Worktree thread id/ref to review") },
|
|
2798
2810
|
async ({ ref }) => {
|
|
2799
2811
|
try {
|
|
@@ -4534,10 +4546,11 @@ function slackReplyThreadTs(msg) {
|
|
|
4534
4546
|
}
|
|
4535
4547
|
var SLACK_PROGRESS_DELAY_MS = 2e4;
|
|
4536
4548
|
var SLACK_PROGRESS_EDIT_MS = 15e3;
|
|
4549
|
+
var SLACK_PROGRESS_PLACEHOLDER = "Thinking\u2026";
|
|
4537
4550
|
function formatSlackWorkingText(summary) {
|
|
4538
4551
|
const line = (summary ?? "").trim();
|
|
4539
|
-
if (!line || /^working/i.test(line)) return
|
|
4540
|
-
return
|
|
4552
|
+
if (!line || /^(working|thinking)/i.test(line)) return SLACK_PROGRESS_PLACEHOLDER;
|
|
4553
|
+
return line;
|
|
4541
4554
|
}
|
|
4542
4555
|
var SLACK_SEEN_REACTION = "eyes";
|
|
4543
4556
|
function writeTokenForTeam(teamId) {
|
|
@@ -4673,7 +4686,7 @@ function startSlackTurnProgress(msg, threadId, opts) {
|
|
|
4673
4686
|
};
|
|
4674
4687
|
const postWorking = async () => {
|
|
4675
4688
|
if (!stillLive()) return;
|
|
4676
|
-
const summary = readTurnLive(threadId())?.summary ??
|
|
4689
|
+
const summary = readTurnLive(threadId())?.summary ?? SLACK_PROGRESS_PLACEHOLDER;
|
|
4677
4690
|
const body = formatSlackWorkingText(summary);
|
|
4678
4691
|
try {
|
|
4679
4692
|
const posted = await postSlackText(target, signForThisMac(body), opts);
|
|
@@ -4691,7 +4704,7 @@ function startSlackTurnProgress(msg, threadId, opts) {
|
|
|
4691
4704
|
};
|
|
4692
4705
|
const editWorking = async () => {
|
|
4693
4706
|
if (!postedTs || !stillLive()) return;
|
|
4694
|
-
const summary = readTurnLive(threadId())?.summary ??
|
|
4707
|
+
const summary = readTurnLive(threadId())?.summary ?? SLACK_PROGRESS_PLACEHOLDER;
|
|
4695
4708
|
const body = formatSlackWorkingText(summary);
|
|
4696
4709
|
if (body === lastBody) return;
|
|
4697
4710
|
lastBody = body;
|
|
@@ -5594,6 +5607,9 @@ export {
|
|
|
5594
5607
|
REVIEW_REQUEST_PATH,
|
|
5595
5608
|
REVIEW_REQUEST_PREFILL,
|
|
5596
5609
|
REVIEW_REQUEST_TEMPLATE,
|
|
5610
|
+
REVIEW_SKILL_NAME,
|
|
5611
|
+
REVIEW_SKILL_PATH,
|
|
5612
|
+
SESSION_RESET_OCCUPANCY_TOKENS,
|
|
5597
5613
|
SIDEBOARD_FORCE_STOP,
|
|
5598
5614
|
SIDEBOARD_MCP_ALLOWED_TOOLS,
|
|
5599
5615
|
SIDEBOARD_MCP_PROFILE_ENV,
|
|
@@ -5608,6 +5624,7 @@ export {
|
|
|
5608
5624
|
SlackOAuthCancelledError,
|
|
5609
5625
|
SlackRelayHub,
|
|
5610
5626
|
THINKING_EFFORTS,
|
|
5627
|
+
WORKTREE_MCP_TOOLS,
|
|
5611
5628
|
ackSlackInboundSeen,
|
|
5612
5629
|
addPrStackLayer,
|
|
5613
5630
|
addStackLayerFromThread,
|
|
@@ -5627,6 +5644,7 @@ export {
|
|
|
5627
5644
|
applyAppEnvironment,
|
|
5628
5645
|
applyCompaction,
|
|
5629
5646
|
applyGithubGitAuthEnv,
|
|
5647
|
+
applyPromptCacheTtlEnv,
|
|
5630
5648
|
applyThreadIntoMain,
|
|
5631
5649
|
applyTurnUsage,
|
|
5632
5650
|
armSchedules,
|
|
@@ -5726,6 +5744,7 @@ export {
|
|
|
5726
5744
|
ensureGhPreferOrigin,
|
|
5727
5745
|
ensureGlobalCoordinatorCwd,
|
|
5728
5746
|
ensureReviewRequestFile,
|
|
5747
|
+
ensureReviewSkillFile,
|
|
5729
5748
|
ensureSlackCoordinator,
|
|
5730
5749
|
ensureSlackDeviceIdentity,
|
|
5731
5750
|
ensureWorkspace,
|
|
@@ -5864,6 +5883,7 @@ export {
|
|
|
5864
5883
|
isThisProcessDesktopHost,
|
|
5865
5884
|
isThreadCaffeinated,
|
|
5866
5885
|
isWorkspaceScratchPath,
|
|
5886
|
+
lastRequestOccupancy,
|
|
5867
5887
|
linearAuthorizationHeader,
|
|
5868
5888
|
linearGraphql,
|
|
5869
5889
|
linearOAuthAuthorizeUrl,
|
|
@@ -6031,6 +6051,7 @@ export {
|
|
|
6031
6051
|
shouldCompactContext,
|
|
6032
6052
|
shouldInjectBrightsyMcp,
|
|
6033
6053
|
shouldRefreshReviewRequestTemplate,
|
|
6054
|
+
shouldResetSessionForOccupancy,
|
|
6034
6055
|
shouldRunWorktreeCleanup,
|
|
6035
6056
|
sideboardHomeDir,
|
|
6036
6057
|
sideboardMcpProfile,
|
|
@@ -6108,6 +6129,7 @@ export {
|
|
|
6108
6129
|
worktreeDisplayLabelForGroup,
|
|
6109
6130
|
worktreeNameFromPath,
|
|
6110
6131
|
worktreesRoot,
|
|
6132
|
+
wrapReviewSkillMarkdown,
|
|
6111
6133
|
writeInjectedMcpConfig,
|
|
6112
6134
|
writePlanFile,
|
|
6113
6135
|
writeThread,
|