@sideboard-ai/core 0.1.187 → 0.1.189
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 +1 -1
- package/dist/{agents-TPK2JYL4.js → agents-WH3TW5OP.js} +1 -1
- package/dist/{agents-W3JQANEC.js → agents-XPWKGOVT.js} +2 -2
- package/dist/{chunk-6XOSOIDJ.js → chunk-ISOCLQEX.js} +1 -1
- package/dist/{chunk-S6HYHXFO.js → chunk-LE5OZCKB.js} +45 -10
- package/dist/{chunk-7DBYKEYF.js → chunk-QU663NPO.js} +34 -0
- package/dist/{chunk-P56XKPWT.js → chunk-U6FCBOS7.js} +47 -12
- package/dist/{chunk-NQTKRAUF.js → chunk-ZSFQLR7Y.js} +34 -0
- package/dist/index.cjs +173 -19
- package/dist/index.d.cts +22 -1
- package/dist/index.d.ts +22 -1
- package/dist/index.js +97 -14
- package/dist/mcp/run-stdio.cjs +169 -19
- package/dist/mcp/run-stdio.js +94 -13
- package/dist/{orchestrator-5CFTLN7B.js → orchestrator-CWBYGHAT.js} +3 -3
- package/dist/{orchestrator-6PZQ7DZS.js → orchestrator-EVDOHS2S.js} +2 -2
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -8687,11 +8687,45 @@ function looksLikeHugeToolResultDump(text7) {
|
|
|
8687
8687
|
if (t.length < 4e3) return false;
|
|
8688
8688
|
return looksLikeMinifiedJsDump(t);
|
|
8689
8689
|
}
|
|
8690
|
+
function clipJobWaitResultJson(content) {
|
|
8691
|
+
const trimmed = content.trim();
|
|
8692
|
+
if (!trimmed.startsWith("{")) return void 0;
|
|
8693
|
+
try {
|
|
8694
|
+
const rec = JSON.parse(trimmed);
|
|
8695
|
+
const isJob = typeof rec.stillRunning === "boolean" || typeof rec.stopped === "boolean" || typeof rec.delta === "string" && typeof rec.status === "string";
|
|
8696
|
+
if (!isJob) return void 0;
|
|
8697
|
+
if (typeof rec.delta === "string" && rec.delta.length > 3500) {
|
|
8698
|
+
rec.delta = `\u2026(truncated ${rec.delta.length} chars)
|
|
8699
|
+
${rec.delta.slice(-3500)}`;
|
|
8700
|
+
}
|
|
8701
|
+
if (typeof rec.progress === "string" && rec.progress.length > 800) {
|
|
8702
|
+
rec.progress = rec.progress.slice(-800);
|
|
8703
|
+
}
|
|
8704
|
+
if (typeof rec.hint === "string" && rec.hint.length > 240) {
|
|
8705
|
+
rec.hint = rec.hint.slice(0, 240);
|
|
8706
|
+
}
|
|
8707
|
+
let out = JSON.stringify(rec);
|
|
8708
|
+
if (out.length <= TOOL_RESULT_STORE_MAX_CHARS) return out;
|
|
8709
|
+
return JSON.stringify({
|
|
8710
|
+
stillRunning: rec.stillRunning,
|
|
8711
|
+
ok: rec.ok,
|
|
8712
|
+
failed: rec.failed,
|
|
8713
|
+
status: rec.status,
|
|
8714
|
+
id: rec.id,
|
|
8715
|
+
phase: rec.phase,
|
|
8716
|
+
delta: typeof rec.delta === "string" ? rec.delta.slice(-2500) : ""
|
|
8717
|
+
});
|
|
8718
|
+
} catch {
|
|
8719
|
+
return void 0;
|
|
8720
|
+
}
|
|
8721
|
+
}
|
|
8690
8722
|
function clipToolResultForStore(content) {
|
|
8691
8723
|
if (content == null) return void 0;
|
|
8692
8724
|
if (looksLikeCursorSdkSourceDump(content) || looksLikeMinifiedJsDump(content)) {
|
|
8693
8725
|
return `${HUGE_TOOL_RESULT_SUMMARY} (${content.length} chars omitted)`;
|
|
8694
8726
|
}
|
|
8727
|
+
const jobClipped = clipJobWaitResultJson(content);
|
|
8728
|
+
if (jobClipped) return jobClipped;
|
|
8695
8729
|
if (content.length <= TOOL_RESULT_STORE_MAX_CHARS) return content;
|
|
8696
8730
|
const head = 5e3;
|
|
8697
8731
|
const tail = 2e3;
|
|
@@ -15993,8 +16027,37 @@ function listRunningDetachedJobs(worktreePath) {
|
|
|
15993
16027
|
}
|
|
15994
16028
|
function looksLikeDeferredDonePromise(text7) {
|
|
15995
16029
|
const t = (text7 ?? "").trim();
|
|
15996
|
-
if (!t) return false;
|
|
15997
|
-
|
|
16030
|
+
if (!t || t.length > DEFERRED_DONE_MAX_CHARS) return false;
|
|
16031
|
+
const unquoted = t.replace(/`[^`]*`/g, " ").replace(/["“”][^"“”]*["“”]/g, " ").replace(/\s+/g, " ").trim();
|
|
16032
|
+
if (!unquoted) return false;
|
|
16033
|
+
return /\b(i['’]?ll|i will)\s+let you know\b/i.test(unquoted) || /\blet you know when\b/i.test(unquoted) || /\b(check back|ping me)\s+when\b/i.test(unquoted) || /\bi(?:['’]ll| will)\s+(report|update you)\s+when\b/i.test(unquoted);
|
|
16034
|
+
}
|
|
16035
|
+
function isJobContinuePrompt(text7) {
|
|
16036
|
+
const t = text7.trim();
|
|
16037
|
+
return t.startsWith("Detached job still running:") || t.startsWith("You ended the turn after promising to report later");
|
|
16038
|
+
}
|
|
16039
|
+
function collapseGhRunWatchLog(text7) {
|
|
16040
|
+
if (!text7.includes(GH_WATCH_REFRESH)) return text7;
|
|
16041
|
+
const frames = text7.split(/(?=Refreshing run status every 3 seconds\.)/);
|
|
16042
|
+
const watchFrames = frames.filter((f) => f.includes(GH_WATCH_REFRESH));
|
|
16043
|
+
if (watchFrames.length <= 1) return text7;
|
|
16044
|
+
const prefix = frames[0]?.includes(GH_WATCH_REFRESH) ? "" : frames[0] ?? "";
|
|
16045
|
+
const last = watchFrames[watchFrames.length - 1] ?? "";
|
|
16046
|
+
const omitted = watchFrames.length - 1;
|
|
16047
|
+
const note = `(${omitted} identical gh run watch refresh${omitted === 1 ? "" : "es"} omitted)
|
|
16048
|
+
`;
|
|
16049
|
+
return [prefix.trimEnd(), note, last.trimStart()].filter(Boolean).join("\n");
|
|
16050
|
+
}
|
|
16051
|
+
function capJobLogDelta(text7) {
|
|
16052
|
+
const collapsed = collapseGhRunWatchLog(text7);
|
|
16053
|
+
const lines = collapsed.split("\n");
|
|
16054
|
+
let out = lines.length > MAX_JOB_DELTA_LINES ? `\u2026(${lines.length - MAX_JOB_DELTA_LINES} earlier lines omitted)
|
|
16055
|
+
${lines.slice(-MAX_JOB_DELTA_LINES).join("\n")}` : collapsed;
|
|
16056
|
+
if (out.length > MAX_JOB_DELTA_CHARS) {
|
|
16057
|
+
out = `\u2026(truncated ${out.length} chars)
|
|
16058
|
+
${out.slice(-MAX_JOB_DELTA_CHARS)}`;
|
|
16059
|
+
}
|
|
16060
|
+
return out;
|
|
15998
16061
|
}
|
|
15999
16062
|
function formatJobStillRunningContinuePrompt(jobIds) {
|
|
16000
16063
|
const ids = jobIds.join(", ");
|
|
@@ -16057,7 +16120,7 @@ function takeDelta(logFile, cursorFile) {
|
|
|
16057
16120
|
const lines = readLogLines(logFile);
|
|
16058
16121
|
const cursor = readIntFile(cursorFile) ?? 0;
|
|
16059
16122
|
const start = Math.min(Math.max(0, cursor), lines.length);
|
|
16060
|
-
return { delta: lines.slice(start).join("\n"), nextCursor: lines.length };
|
|
16123
|
+
return { delta: capJobLogDelta(lines.slice(start).join("\n")), nextCursor: lines.length };
|
|
16061
16124
|
}
|
|
16062
16125
|
function snapshotJob(dir) {
|
|
16063
16126
|
const pid = readIntFile((0, import_node_path42.join)(dir, "pid"));
|
|
@@ -16225,7 +16288,7 @@ async function stopDetachedJob(cwd, id, opts) {
|
|
|
16225
16288
|
hint: stopped ? MCP_STOP_JOB_HINT : MCP_WAIT_JOB_STILL_RUNNING_HINT
|
|
16226
16289
|
};
|
|
16227
16290
|
}
|
|
16228
|
-
var import_node_fs42, import_node_path42, MAX_JOB_CONTINUES, MCP_WAIT_JOB_STILL_RUNNING_HINT, MCP_STOP_JOB_HINT, JOB_ID_RE;
|
|
16291
|
+
var import_node_fs42, import_node_path42, MAX_JOB_CONTINUES, MAX_JOB_DELTA_LINES, MAX_JOB_DELTA_CHARS, DEFERRED_DONE_MAX_CHARS, GH_WATCH_REFRESH, MCP_WAIT_JOB_STILL_RUNNING_HINT, MCP_STOP_JOB_HINT, JOB_ID_RE;
|
|
16229
16292
|
var init_wait_for_job = __esm({
|
|
16230
16293
|
"src/mcp/wait-for-job.ts"() {
|
|
16231
16294
|
"use strict";
|
|
@@ -16234,6 +16297,10 @@ var init_wait_for_job = __esm({
|
|
|
16234
16297
|
init_workspace_scratch();
|
|
16235
16298
|
init_wait_for_turn();
|
|
16236
16299
|
MAX_JOB_CONTINUES = 8;
|
|
16300
|
+
MAX_JOB_DELTA_LINES = 80;
|
|
16301
|
+
MAX_JOB_DELTA_CHARS = 4e3;
|
|
16302
|
+
DEFERRED_DONE_MAX_CHARS = 480;
|
|
16303
|
+
GH_WATCH_REFRESH = "Refreshing run status every 3 seconds.";
|
|
16237
16304
|
MCP_WAIT_JOB_STILL_RUNNING_HINT = "Job is still running. The type=log pane already appended this delta. Call wait_for_job again. If it is hanging, producing no useful output, or doing the wrong thing, call stop_job (same id) instead of looping forever. Do not end the turn or tell the user you will let them know later.";
|
|
16238
16305
|
MCP_STOP_JOB_HINT = "Stopped. The type=log pane is status=failed with the last delta. Do not wait again unless you start a new command.";
|
|
16239
16306
|
JOB_ID_RE = /^[a-zA-Z0-9._-]{1,64}$/;
|
|
@@ -19956,7 +20023,7 @@ function formatIssueToolsDirective(opts) {
|
|
|
19956
20023
|
];
|
|
19957
20024
|
if (opts.linear) {
|
|
19958
20025
|
lines.push(
|
|
19959
|
-
"- Linear: `linear_search_issues` (assignee=me; pass `updatedSince` for \u201Cany updates since yesterday?\u201D \u2014 new tickets, edits, and comments), `linear_get_issue` (comments; pass `include=full` if crush.truncated), `linear_comment`, `linear_update_issue` (state), `linear_create_issue` (pass `parent` for spin-offs; call `linear_list_teams` first). Scope errors: reconnect Linear in Settings \u2192 Issues."
|
|
20026
|
+
"- Linear: `linear_search_issues` (assignee=me; pass `updatedSince` for \u201Cany updates since yesterday?\u201D \u2014 new tickets, edits, and comments), `linear_get_issue` (comments; pass `include=full` if crush.truncated), `linear_comment`, `linear_update_issue` (state, cycle), `linear_create_issue` (pass `parent` for spin-offs; call `linear_list_teams` first). Scope errors: reconnect Linear in Settings \u2192 Issues."
|
|
19960
20027
|
);
|
|
19961
20028
|
}
|
|
19962
20029
|
if (github) {
|
|
@@ -21469,11 +21536,13 @@ var init_orchestrator = __esm({
|
|
|
21469
21536
|
this.emit({ type: "error", threadId, message: `context compact failed: ${message}` });
|
|
21470
21537
|
thread = this.requireThread(threadId);
|
|
21471
21538
|
}
|
|
21472
|
-
const
|
|
21539
|
+
const autoContinue = isJobContinuePrompt(prompt) || prompt.trim().startsWith("The previous agent process ended before it finished.");
|
|
21540
|
+
const sentAttachments = !autoContinue && thread.attachments.length > 0 ? [...thread.attachments] : void 0;
|
|
21473
21541
|
appendMessage(threadId, {
|
|
21474
21542
|
role: "user",
|
|
21475
21543
|
text: prompt,
|
|
21476
21544
|
...sentAttachments ? { attachments: sentAttachments } : {},
|
|
21545
|
+
...autoContinue ? { origin: "continue" } : {},
|
|
21477
21546
|
ts: (/* @__PURE__ */ new Date()).toISOString()
|
|
21478
21547
|
});
|
|
21479
21548
|
thread = this.requireThread(threadId);
|
|
@@ -21482,7 +21551,7 @@ var init_orchestrator = __esm({
|
|
|
21482
21551
|
thread.worktreePath,
|
|
21483
21552
|
gitPrompt,
|
|
21484
21553
|
{
|
|
21485
|
-
attachments: sentAttachments ?? thread.attachments
|
|
21554
|
+
attachments: autoContinue ? [] : sentAttachments ?? thread.attachments
|
|
21486
21555
|
}
|
|
21487
21556
|
);
|
|
21488
21557
|
const slackInbound = /^(Slack DM|Slack @mention)(?:\n|$)/.test(
|
|
@@ -21535,7 +21604,7 @@ var init_orchestrator = __esm({
|
|
|
21535
21604
|
slackReplyContext,
|
|
21536
21605
|
expandedPrompt
|
|
21537
21606
|
].filter(Boolean).join("\n\n");
|
|
21538
|
-
if (thread.attachments.length > 0) {
|
|
21607
|
+
if (!autoContinue && thread.attachments.length > 0) {
|
|
21539
21608
|
updateThread(threadId, { attachments: [] });
|
|
21540
21609
|
}
|
|
21541
21610
|
const adapter = getAdapter(thread.agent);
|
|
@@ -23526,6 +23595,7 @@ __export(index_exports, {
|
|
|
23526
23595
|
listLinearIssues: () => listLinearIssues,
|
|
23527
23596
|
listLinearIssuesDirect: () => listLinearIssuesDirect,
|
|
23528
23597
|
listLinearIssuesFiltered: () => listLinearIssuesFiltered,
|
|
23598
|
+
listLinearTeamCycles: () => listLinearTeamCycles,
|
|
23529
23599
|
listLinearTeams: () => listLinearTeams,
|
|
23530
23600
|
listModelsForAgent: () => listModelsForAgent,
|
|
23531
23601
|
listOpencodeModels: () => listOpencodeModels,
|
|
@@ -23662,6 +23732,7 @@ __export(index_exports, {
|
|
|
23662
23732
|
resolveGitHubIssueRepo: () => resolveGitHubIssueRepo,
|
|
23663
23733
|
resolveGithubAgentToken: () => resolveGithubAgentToken,
|
|
23664
23734
|
resolveGithubRepoSlug: () => resolveGithubRepoSlug,
|
|
23735
|
+
resolveLinearCycle: () => resolveLinearCycle,
|
|
23665
23736
|
resolveLinearState: () => resolveLinearState,
|
|
23666
23737
|
resolveLinearTeam: () => resolveLinearTeam,
|
|
23667
23738
|
resolveLoginCommand: () => resolveLoginCommand,
|
|
@@ -24247,7 +24318,7 @@ var LIST_ISSUE_FIELDS = `
|
|
|
24247
24318
|
assignee { id name }
|
|
24248
24319
|
team { id key }
|
|
24249
24320
|
labels(first: 10) { nodes { name } }
|
|
24250
|
-
cycle { name number startsAt endsAt completedAt }
|
|
24321
|
+
cycle { id name number startsAt endsAt completedAt }
|
|
24251
24322
|
`;
|
|
24252
24323
|
var ISSUE_REF_FIELDS = `
|
|
24253
24324
|
id
|
|
@@ -24273,7 +24344,7 @@ var ISSUE_FIELDS = `
|
|
|
24273
24344
|
creator { id name }
|
|
24274
24345
|
team { id key name }
|
|
24275
24346
|
labels(first: 50) { nodes { name } }
|
|
24276
|
-
cycle { name number startsAt endsAt completedAt }
|
|
24347
|
+
cycle { id name number startsAt endsAt completedAt }
|
|
24277
24348
|
project { id name }
|
|
24278
24349
|
parent { ${ISSUE_REF_FIELDS} }
|
|
24279
24350
|
children(first: 25) { nodes { ${ISSUE_REF_FIELDS} } }
|
|
@@ -24358,6 +24429,19 @@ query SideboardTeams {
|
|
|
24358
24429
|
key
|
|
24359
24430
|
name
|
|
24360
24431
|
states(first: 50) { nodes { id name type } }
|
|
24432
|
+
activeCycle { id name number startsAt endsAt completedAt }
|
|
24433
|
+
}
|
|
24434
|
+
}
|
|
24435
|
+
}
|
|
24436
|
+
`;
|
|
24437
|
+
var TEAM_CYCLES_QUERY = `
|
|
24438
|
+
query SideboardTeamCycles($id: String!) {
|
|
24439
|
+
team(id: $id) {
|
|
24440
|
+
id
|
|
24441
|
+
key
|
|
24442
|
+
activeCycle { id name number startsAt endsAt completedAt }
|
|
24443
|
+
cycles(first: 40) {
|
|
24444
|
+
nodes { id name number startsAt endsAt completedAt }
|
|
24361
24445
|
}
|
|
24362
24446
|
}
|
|
24363
24447
|
}
|
|
@@ -24450,11 +24534,26 @@ function linearCycleIsActive(cycle, now = Date.now()) {
|
|
|
24450
24534
|
if (Number.isFinite(end) && now > end) return false;
|
|
24451
24535
|
return true;
|
|
24452
24536
|
}
|
|
24537
|
+
function cycleDisplayName(node) {
|
|
24538
|
+
return String(node?.name ?? (node?.number != null ? `Cycle ${node.number}` : "")).trim();
|
|
24539
|
+
}
|
|
24540
|
+
function mapNamedCycle(node) {
|
|
24541
|
+
if (!node?.id) return null;
|
|
24542
|
+
const name = cycleDisplayName(node);
|
|
24543
|
+
if (!name) return null;
|
|
24544
|
+
return {
|
|
24545
|
+
id: String(node.id),
|
|
24546
|
+
name,
|
|
24547
|
+
number: typeof node.number === "number" ? node.number : void 0,
|
|
24548
|
+
isActive: linearCycleIsActive(node)
|
|
24549
|
+
};
|
|
24550
|
+
}
|
|
24453
24551
|
function mapCycle(node) {
|
|
24454
24552
|
if (!node?.name && node?.number == null) return null;
|
|
24455
|
-
const name =
|
|
24553
|
+
const name = cycleDisplayName(node);
|
|
24456
24554
|
if (!name) return null;
|
|
24457
24555
|
return {
|
|
24556
|
+
...node.id ? { id: String(node.id) } : {},
|
|
24458
24557
|
name,
|
|
24459
24558
|
number: typeof node.number === "number" ? node.number : void 0,
|
|
24460
24559
|
isActive: linearCycleIsActive(node)
|
|
@@ -24593,6 +24692,10 @@ function toIssueInfo(issue) {
|
|
|
24593
24692
|
};
|
|
24594
24693
|
}
|
|
24595
24694
|
function mapTeam(node) {
|
|
24695
|
+
const cycles = (node.cycles?.nodes ?? []).flatMap((c) => {
|
|
24696
|
+
const cycle = mapNamedCycle(c);
|
|
24697
|
+
return cycle ? [cycle] : [];
|
|
24698
|
+
});
|
|
24596
24699
|
return {
|
|
24597
24700
|
id: String(node.id ?? ""),
|
|
24598
24701
|
key: String(node.key ?? ""),
|
|
@@ -24600,7 +24703,9 @@ function mapTeam(node) {
|
|
|
24600
24703
|
states: (node.states?.nodes ?? []).flatMap((s) => {
|
|
24601
24704
|
const state = mapState(s);
|
|
24602
24705
|
return state ? [state] : [];
|
|
24603
|
-
})
|
|
24706
|
+
}),
|
|
24707
|
+
activeCycle: mapNamedCycle(node.activeCycle),
|
|
24708
|
+
...cycles.length ? { cycles } : {}
|
|
24604
24709
|
};
|
|
24605
24710
|
}
|
|
24606
24711
|
function resolveLinearTeam(teams, team) {
|
|
@@ -24627,6 +24732,27 @@ function resolveLinearState(team, state) {
|
|
|
24627
24732
|
}
|
|
24628
24733
|
return found;
|
|
24629
24734
|
}
|
|
24735
|
+
function resolveLinearCycle(team, cycle) {
|
|
24736
|
+
if (cycle == null) return null;
|
|
24737
|
+
const s = cycle.trim();
|
|
24738
|
+
if (!s || /^(none|clear|unschedule|null)$/i.test(s)) return null;
|
|
24739
|
+
if (/^(current|active|this)$/i.test(s)) {
|
|
24740
|
+
const active = team.activeCycle ?? team.cycles?.find((c) => c.isActive);
|
|
24741
|
+
if (!active?.id) {
|
|
24742
|
+
throw new Error(`Linear team ${team.key} has no active cycle`);
|
|
24743
|
+
}
|
|
24744
|
+
return active.id;
|
|
24745
|
+
}
|
|
24746
|
+
const lower = s.toLowerCase();
|
|
24747
|
+
const asNumber = Number.parseInt(s, 10);
|
|
24748
|
+
const cycles = team.cycles ?? [];
|
|
24749
|
+
const found = cycles.find((c) => c.id === s) || cycles.find((c) => c.name.toLowerCase() === lower) || (Number.isInteger(asNumber) ? cycles.find((c) => c.number === asNumber) : void 0);
|
|
24750
|
+
if (!found) {
|
|
24751
|
+
const available = cycles.map((c) => c.number != null ? `${c.name} (${c.number})` : c.name).join(", ") || "(none)";
|
|
24752
|
+
throw new Error(`Linear cycle not found on ${team.key}: ${cycle}. Available: ${available}`);
|
|
24753
|
+
}
|
|
24754
|
+
return found.id;
|
|
24755
|
+
}
|
|
24630
24756
|
function normalizePriority(priority) {
|
|
24631
24757
|
if (priority == null) return void 0;
|
|
24632
24758
|
if (!Number.isInteger(priority) || priority < 0 || priority > 4) {
|
|
@@ -24774,6 +24900,19 @@ async function listLinearTeams(opts) {
|
|
|
24774
24900
|
teams: (json.teams?.nodes ?? []).map(mapTeam)
|
|
24775
24901
|
};
|
|
24776
24902
|
}
|
|
24903
|
+
async function listLinearTeamCycles(teamId, opts) {
|
|
24904
|
+
const json = await linearGraphql(TEAM_CYCLES_QUERY, { id: teamId }, opts);
|
|
24905
|
+
if (!json.team?.id) {
|
|
24906
|
+
throw new Error(`Linear team not found: ${teamId}`);
|
|
24907
|
+
}
|
|
24908
|
+
const mapped = mapTeam(json.team);
|
|
24909
|
+
return {
|
|
24910
|
+
id: mapped.id,
|
|
24911
|
+
key: mapped.key,
|
|
24912
|
+
activeCycle: mapped.activeCycle,
|
|
24913
|
+
cycles: mapped.cycles ?? []
|
|
24914
|
+
};
|
|
24915
|
+
}
|
|
24777
24916
|
async function getLinearIssue(id, opts) {
|
|
24778
24917
|
const issueId = id.trim();
|
|
24779
24918
|
if (!issueId) throw new Error("Linear issue id is required (uuid or ENG-123)");
|
|
@@ -24829,16 +24968,28 @@ async function updateLinearIssue(input, opts) {
|
|
|
24829
24968
|
if (input.description !== void 0) {
|
|
24830
24969
|
mutationInput.description = input.description;
|
|
24831
24970
|
}
|
|
24971
|
+
const needsTeam = Boolean(input.state?.trim()) || input.cycle !== void 0;
|
|
24972
|
+
const existing = needsTeam ? await getLinearIssue(issueId, opts) : void 0;
|
|
24832
24973
|
if (input.state?.trim()) {
|
|
24833
|
-
const existing = await getLinearIssue(issueId, opts);
|
|
24834
24974
|
const { teams } = await listLinearTeams(opts);
|
|
24835
|
-
const teamRef = existing
|
|
24975
|
+
const teamRef = existing?.team?.key || existing?.team?.id;
|
|
24836
24976
|
const team = teamRef ? resolveLinearTeam(teams, teamRef) : void 0;
|
|
24837
24977
|
if (!team?.states.length) {
|
|
24838
|
-
throw new Error(`Linear issue ${existing
|
|
24978
|
+
throw new Error(`Linear issue ${existing?.identifier ?? issueId} has no workflow states to resolve "${input.state}"`);
|
|
24839
24979
|
}
|
|
24840
24980
|
mutationInput.stateId = resolveLinearState(team, input.state).id;
|
|
24841
24981
|
}
|
|
24982
|
+
if (input.cycle !== void 0) {
|
|
24983
|
+
const teamId = existing?.team?.id;
|
|
24984
|
+
if (!teamId) {
|
|
24985
|
+
throw new Error(`Linear issue ${existing?.identifier ?? issueId} has no team to resolve a cycle`);
|
|
24986
|
+
}
|
|
24987
|
+
const cycles = await listLinearTeamCycles(teamId, opts);
|
|
24988
|
+
mutationInput.cycleId = resolveLinearCycle(
|
|
24989
|
+
{ ...cycles, key: cycles.key || existing?.team?.key || teamId },
|
|
24990
|
+
input.cycle
|
|
24991
|
+
);
|
|
24992
|
+
}
|
|
24842
24993
|
if (input.assignee !== void 0) {
|
|
24843
24994
|
const assignee = input.assignee?.trim() || null;
|
|
24844
24995
|
if (assignee === "me") {
|
|
@@ -24852,7 +25003,7 @@ async function updateLinearIssue(input, opts) {
|
|
|
24852
25003
|
mutationInput.priority = normalizePriority(input.priority);
|
|
24853
25004
|
}
|
|
24854
25005
|
if (Object.keys(mutationInput).length === 0) {
|
|
24855
|
-
throw new Error("linear_update_issue needs at least one of title, description, state, assignee, priority");
|
|
25006
|
+
throw new Error("linear_update_issue needs at least one of title, description, state, assignee, priority, cycle");
|
|
24856
25007
|
}
|
|
24857
25008
|
const json = await linearGraphql(ISSUE_UPDATE, { id: issueId, input: mutationInput }, opts);
|
|
24858
25009
|
if (!json.issueUpdate?.success || !json.issueUpdate.issue) {
|
|
@@ -26981,7 +27132,7 @@ var prioritySchema = import_zod6.z.number().int().min(0).max(4).optional().descr
|
|
|
26981
27132
|
function registerLinearTools(server) {
|
|
26982
27133
|
server.tool(
|
|
26983
27134
|
"linear_list_teams",
|
|
26984
|
-
|
|
27135
|
+
'List Linear teams (id, key, name), workflow states, and the active cycle. Use team key on create; state name or type on create/update; cycle name/"current"/"none" on update.',
|
|
26985
27136
|
{},
|
|
26986
27137
|
async () => {
|
|
26987
27138
|
try {
|
|
@@ -27068,14 +27219,15 @@ function registerLinearTools(server) {
|
|
|
27068
27219
|
);
|
|
27069
27220
|
server.tool(
|
|
27070
27221
|
"linear_update_issue",
|
|
27071
|
-
|
|
27222
|
+
'Update a Linear issue (uuid or ENG-123). Pass title, description, state, assignee, priority, and/or cycle. Cycle is name, number, "current"/"active", or "none" to unschedule. When reviewing a PR or ticket, wait until they type a next step before changing the ticket \u2014 do not ask_user after the review. The author is notified.',
|
|
27072
27223
|
{
|
|
27073
27224
|
id: import_zod6.z.string(),
|
|
27074
27225
|
title: import_zod6.z.string().optional(),
|
|
27075
27226
|
description: import_zod6.z.string().optional(),
|
|
27076
27227
|
state: import_zod6.z.string().optional(),
|
|
27077
27228
|
assignee: import_zod6.z.string().nullable().optional(),
|
|
27078
|
-
priority: prioritySchema
|
|
27229
|
+
priority: prioritySchema,
|
|
27230
|
+
cycle: import_zod6.z.string().nullable().optional().describe('Cycle name, number, "current"/"active", or "none" to unschedule.')
|
|
27079
27231
|
},
|
|
27080
27232
|
async (args) => {
|
|
27081
27233
|
try {
|
|
@@ -31654,6 +31806,7 @@ init_outbound_watch();
|
|
|
31654
31806
|
listLinearIssues,
|
|
31655
31807
|
listLinearIssuesDirect,
|
|
31656
31808
|
listLinearIssuesFiltered,
|
|
31809
|
+
listLinearTeamCycles,
|
|
31657
31810
|
listLinearTeams,
|
|
31658
31811
|
listModelsForAgent,
|
|
31659
31812
|
listOpencodeModels,
|
|
@@ -31790,6 +31943,7 @@ init_outbound_watch();
|
|
|
31790
31943
|
resolveGitHubIssueRepo,
|
|
31791
31944
|
resolveGithubAgentToken,
|
|
31792
31945
|
resolveGithubRepoSlug,
|
|
31946
|
+
resolveLinearCycle,
|
|
31793
31947
|
resolveLinearState,
|
|
31794
31948
|
resolveLinearTeam,
|
|
31795
31949
|
resolveLoginCommand,
|
package/dist/index.d.cts
CHANGED
|
@@ -87,6 +87,11 @@ interface ThreadMessage {
|
|
|
87
87
|
* in chat history after pending thread.attachments are cleared).
|
|
88
88
|
*/
|
|
89
89
|
attachments?: ThreadAttachment[];
|
|
90
|
+
/**
|
|
91
|
+
* Host-queued keep-alive (job still running / crash recover). Shown as a
|
|
92
|
+
* system note — not a user bubble.
|
|
93
|
+
*/
|
|
94
|
+
origin?: 'continue';
|
|
90
95
|
ts: string;
|
|
91
96
|
}
|
|
92
97
|
/** Composer / turn attachment (e.g. forked chat transcript). */
|
|
@@ -406,6 +411,7 @@ interface PrStack {
|
|
|
406
411
|
blockedReason: string | null;
|
|
407
412
|
}
|
|
408
413
|
interface IssueCycleInfo {
|
|
414
|
+
id?: string;
|
|
409
415
|
name: string;
|
|
410
416
|
number?: number;
|
|
411
417
|
isActive: boolean;
|
|
@@ -2101,11 +2107,19 @@ interface LinearWorkflowState {
|
|
|
2101
2107
|
name: string;
|
|
2102
2108
|
type: string;
|
|
2103
2109
|
}
|
|
2110
|
+
interface LinearCycle {
|
|
2111
|
+
id: string;
|
|
2112
|
+
name: string;
|
|
2113
|
+
number?: number;
|
|
2114
|
+
isActive: boolean;
|
|
2115
|
+
}
|
|
2104
2116
|
interface LinearTeam {
|
|
2105
2117
|
id: string;
|
|
2106
2118
|
key: string;
|
|
2107
2119
|
name: string;
|
|
2108
2120
|
states: LinearWorkflowState[];
|
|
2121
|
+
activeCycle?: LinearCycle | null;
|
|
2122
|
+
cycles?: LinearCycle[];
|
|
2109
2123
|
}
|
|
2110
2124
|
interface LinearIssueRef {
|
|
2111
2125
|
id: string;
|
|
@@ -2165,6 +2179,7 @@ interface LinearIssue {
|
|
|
2165
2179
|
};
|
|
2166
2180
|
labels: string[];
|
|
2167
2181
|
cycle?: {
|
|
2182
|
+
id?: string;
|
|
2168
2183
|
name: string;
|
|
2169
2184
|
number?: number;
|
|
2170
2185
|
isActive: boolean;
|
|
@@ -2204,6 +2219,7 @@ declare function linearCycleIsActive(cycle: {
|
|
|
2204
2219
|
declare function flipLinearRelationType(type: string): string;
|
|
2205
2220
|
declare function resolveLinearTeam(teams: LinearTeam[], team: string): LinearTeam;
|
|
2206
2221
|
declare function resolveLinearState(team: Pick<LinearTeam, 'key' | 'states'>, state: string): LinearWorkflowState;
|
|
2222
|
+
declare function resolveLinearCycle(team: Pick<LinearTeam, 'key' | 'activeCycle' | 'cycles'>, cycle: string | null): string | null;
|
|
2207
2223
|
type LinearAssignedIssuesResult = {
|
|
2208
2224
|
viewer: {
|
|
2209
2225
|
id: string;
|
|
@@ -2259,6 +2275,9 @@ declare function listLinearIssuesDirect(opts?: {
|
|
|
2259
2275
|
declare function listLinearTeams(opts?: {
|
|
2260
2276
|
apiKey?: string | null;
|
|
2261
2277
|
}): Promise<LinearTeamsResult>;
|
|
2278
|
+
declare function listLinearTeamCycles(teamId: string, opts?: {
|
|
2279
|
+
apiKey?: string | null;
|
|
2280
|
+
}): Promise<Pick<LinearTeam, 'id' | 'key' | 'activeCycle' | 'cycles'>>;
|
|
2262
2281
|
declare function getLinearIssue(id: string, opts?: {
|
|
2263
2282
|
apiKey?: string | null;
|
|
2264
2283
|
}): Promise<LinearIssue>;
|
|
@@ -2280,6 +2299,8 @@ declare function updateLinearIssue(input: {
|
|
|
2280
2299
|
state?: string;
|
|
2281
2300
|
assignee?: string | null;
|
|
2282
2301
|
priority?: number;
|
|
2302
|
+
/** Cycle name, number, "current"/"active", or "none" to unschedule. */
|
|
2303
|
+
cycle?: string | null;
|
|
2283
2304
|
}, opts?: {
|
|
2284
2305
|
apiKey?: string | null;
|
|
2285
2306
|
}): Promise<LinearIssue>;
|
|
@@ -6292,4 +6313,4 @@ declare function pollSlackOutboundWatches(opts?: {
|
|
|
6292
6313
|
now?: number;
|
|
6293
6314
|
}): Promise<void>;
|
|
6294
6315
|
|
|
6295
|
-
export { ABLETIME_MCP_PATH, AGENT_GIT_ACTIONS, AGENT_RUNNER_MAX_OLD_SPACE_MB, ATTACHMENTS_DIR, type AbleTimeAssignedIssuesResult, type AbleTimeComment, type AbleTimeMcpToolName, type AbleTimeOrientation, type AbleTimeProject, type AbleTimeTask, type AbleTimeViewer, type AccountProfile, type ActiveRun, type AddBoardPinInput, type AddStackLayerInput, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentEvent, type AgentGitAction, type AgentKind, type AgentModelCatalog, type AgentModelInfo, type AgentSetupActionResult, type AgentSetupInfo, type AgentSetupKind, type AgentStatus, type AgentTurnInput, type AnthropicCacheControl, type AppSettings, type ApplyIntoMainResult, type AttachCommand, type Autonomy, BAKED_SLACK_RELAY_URL, BRIGHTSY_MCP_ALLOWED_TOOLS, BRIGHTSY_SUMMARIZE_CONTEXT_TOOL, BUNDLED_LONG_RUNNING_PATH, BUNDLED_SKILL_PREFIX, type BoardPin, type BranchInfo, type BrightsyAccount, type BrightsyChatTarget, type BrightsyChatTargets, type BrightsyCloudConnectAgent, type BrightsyHarnessSettings, type BrightsySession, BrightsySideboardApi, type BrightsyTeamTargets, CHARS_PER_CONTEXT_TOKEN, CLAUDE_MODEL_CATALOG, CLI_DIR, CLOUD_COORDINATOR_BUSY_REPLY, CLOUD_COORDINATOR_STOPPED_REPLY, CLOUD_COORDINATOR_TIMEOUT_REPLY, CLOUD_ORCHESTRATOR_GOAL, CONTEXT_COMPACT_CHARS, CONTEXT_KEEP_RECENT_CHARS, CONTEXT_KEEP_RECENT_MESSAGES, CONTEXT_MIN_MESSAGES, CONTEXT_REVIEW_PATH, CONVENTION_SETUP_RELPATHS, COORDINATOR_TOOL_PLAYBOOK, type CaffeinateHoldState, type ClaudeHarnessSettings, type CleanupOrphansResult, type CliAgentKind, type CliExecutableSettings, type CloudConnectAgent, type CloudConnectOptions, type CloudConnectStatus, type CodeLineRange, type CodeRefInput, type CompactResult, type CompactThresholds, type ComposerFileBuffer, type ConductorSettings, type ConductorWorkspace, type ConnectedBrightsyTeamInfo, type ConventionSetupFile, type CowboyThreadFields, type CreateChatTabInput, type CreateGlobalChatOpts, type CreateScheduledTaskInput, type CreateStackInput, type CreateThreadInput, type CreateWorktreeResult, type CursorAgentUsageSnapshot, type CursorModelInfo, type CursorSdkStreamMessage, type CursorTurnRequest, type CursorUsageCost, type CursorWorktreesConfig, DEFAULT_ABLETIME_HOST, DEFAULT_WORKTREE_SORT, DETACHED_JOBS_DIR, type DefaultsAppSettings, type DefaultsSettingsPatch, type DevServerHandle, type DiffCommentInput, type DiffCommentLine, type DiffCommit, type DiffFile, type DiffResult, type DiffScope, type DiffScopeStat, type EnsuredReviewGuidelines, type ExpandResult, FAMOUS_SOCCER_TEAMS, FOLLOW_UP_BEHAVIORS, type FastForwardMainResult, type FollowUpBehavior, type ForkChatTabInput, type ForkThreadWorktreeInput, type FormatGhLandErrorOptions, GITHUB_GIT_AUTH_MODES, GITHUB_PR_BODY_MAX_CHARS, GITHUB_PR_BODY_SAFE_CHARS, GLOBAL_WORKSPACE_ID, type GetDiffOptions, type GhStackStatus, type GitHubIssue, type GitHubIssueComment, type GitHubStatus, type GitWorktreeStatus, type GithubGitAuthMode, HARNESS_ENV_KEYS, HOME_BOARD_CACHE_TTL_MS, type HarnessId, type HomeBoardLoaded, type HomeBoardRemoteData, IMPLIED_TICKET_RESOLVE_PROMPT, ISSUE_SOURCE_LABELS, type InitStackFromThreadInput, type IntegrationsSettings, type IpcApi, type IssueActivityComment, type IssueAssigneeFilter, type IssueCycleInfo, type IssueInfo, type IssueSource, LEGACY_ATTACHMENTS_DIR, LEGACY_DETACHED_JOBS_DIR, LEGACY_PLAN_FILE_REL, LEGACY_REVIEW_REQUEST_PATH, LINEAR_OAUTH_CANCELLED, LINEAR_OAUTH_PORT, LINEAR_OAUTH_REDIRECT, LINEAR_OAUTH_SCOPES, LIVE_TURN_SPAWN_GRACE_MS, LONG_RUNNING_SKILL_COMMAND, type LandPreview, type LandResult, type LinearAssignedIssuesResult, type LinearAssigneeFilter, type LinearComment, type LinearIssue, type LinearIssueAttachment, type LinearIssueComment, type LinearIssueRef, type LinearIssueRelation, LinearOAuthCancelledError, type LinearTeam, type LinearTeamsResult, type LinearWorkflowState, type ListIssuesOptions, type ListIssuesResult, type ListPrsOptions, MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS, type McpServerStatus, type MessagePart, OPTIONAL_SERVICES, OPTIONAL_SERVICE_IDS, ORCHESTRATOR_AGENT_KINDS, type OpenPrStackLayersInput, type OpenStackLayerInput, type OpenStackLayerResult, type OptionalServiceCliStatus, type OptionalServiceId, type OptionalServiceSpec, type OrchestrationQuotaOnLimit, Orchestrator, type OrchestratorAgentKind, type OrchestratorDefaultsSettings, type OrchestratorEvent, type OrchestratorRuntime, type OrphanWorktree, PASTE_ATTACH_MIN_CHARS, PASTE_ATTACH_MIN_LINES, PLAN_FILE_NAME, PLAN_FILE_REL, PLAN_MODE_INSTRUCTION, PLAN_QUESTION_ANSWERS_PREFIX, PROFILE_NOTES_MAX, PR_DETAILS_JSON_FIELDS, type PathRefInput, type PendingPlanQuestions, type PlanQuestion, type PlanQuestionAnswer, type PlanQuestionOption, type PlanToolPartLike, type PrActor, type PrCheckRun, type PrCommentInfo, type PrCommitInfo, type PrDetails, type PrInfo, type PrMeta, type PrReviewInfo, type PrStack, type PrStackLayer, type PresentedPlan, type ProjectProfileSettings, type PublicAppSettings, type PublicIntegrationsSettings, REPO_REVIEW_NAME, REPO_REVIEW_PATH, REVIEW_REQUEST_NAME, REVIEW_REQUEST_PATH, REVIEW_REQUEST_PREFILL, REVIEW_REQUEST_TEMPLATE, REVIEW_SKILL_NAME, REVIEW_SKILL_PATH, type RepoSettings, type RepoSetupInfo, type RequestReviewResult, type ResolvedAccountProfile, type ResolvedReviewGuidelines, type ResolvedThreadDefaults, type ResolvedViewerProfile, type ReviewGuidelinesSource, type RunMode, type RunScript, SEED_FULL_TOOL_MESSAGES, SEED_MAX_CHARS, SESSION_RESET_OCCUPANCY_TOKENS, SIDEBOARD_FORCE_STOP, SIDEBOARD_MCP_ALLOWED_TOOLS, SIDEBOARD_MCP_PROFILE_ENV, SLACK_LISTEN_STOPPED_REPLY, SLACK_LISTEN_TIMEOUT_REPLY, SLACK_OAUTH_CANCELLED, SLACK_OAUTH_REDIRECT, SLACK_PROGRESS_DELAY_MS, SLACK_PROGRESS_EDIT_MS, SLACK_REPLY_FORMATTING, SLACK_SEEN_REACTION, type ScheduleCreatedBy, type ScheduleWhen, type ScheduledTask, type ScriptHandle, type SessionSeedOptions, type SetupLogSnapshot, type SetupRunResult, type SideboardMcpProfile, type SkillInfo, type SlackInboundMessage, type SlackListenOptions, type SlackListenStatus, SlackOAuthCancelledError, type SlackOutboundReply, type SlackOutboundWatch, type SlackRelayClientMessage, type SlackRelayClientOptions, SlackRelayHub, type SlackRelayServerHandle, type SlackRelayServerMessage, type SlackRelayServerOptions, type SlackWorkspaceInfo, type SourceType, type SpawnTurnHandle, type SummarizeResult, THINKING_EFFORTS, type TeamName, type ThinkingEffort, type Thread, type ThreadAttachment, type ThreadMessage, type ThreadOptionsPatch, type ThreadStatus, type TokenUsage, type ToolPartLike, type TranscriptToolDetail, type TurnCommand, type UpdateScheduledTaskPatch, type UsageScope, type ViewerContextWriteResult, type ViewerProfile, WORKTREE_ABLETIME_MCP_TOOLS, WORKTREE_GITHUB_MCP_TOOLS, WORKTREE_LINEAR_MCP_TOOLS, WORKTREE_MCP_TOOLS, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, type WorktreeSortMode, abletimeMcpRequest, abletimeMcpUrl, ackSlackInboundSeen, addBoardPin, addPrStackLayer, addStackLayerFromThread, addWorkspace, adoptThread, agentGitPrompt, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendIndexedGitConfig, appendMessage, applyAgentEvent, applyAgentRunnerHeapEnv, applyAppEnvironment, applyCompaction, applyForwardOccupancy, applyGithubGitAuthEnv, applyPromptCacheTtlEnv, applySystemCaEnv, applyThreadIntoMain, applyTurnUsage, armSchedules, assertOrchestratorCapableAgent, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, attachmentsGitignoreBody, autoArchiveOnMergeEnabled, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAccessTokenNeedsRefresh, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyInjectWorktreeMcpEnabled, brightsyMcpAllowedTools, brightsyMcpServerName, buildBrightsySessionSeed, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildCodeRefAttachment, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildLinearIssueFilter, buildPastedTextAttachment, buildPathRefAttachment, buildReviewRequestAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateHoldPath, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, caffeinateWhileSchedulesEnabled, caffeinateWhileSlackListenEnabled, callAbleTimeTool, canonicalizeRepoPath, captureLoginEnv, captureTurnBaseline, checkoutPrStackLayer, childEnvWithAppSettings, claimDesktopHost, clampGithubPrBody, classifyWorktreeColumn, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, clearBoardPins, clearHomeBoardCache, cloneRepoIntoSideboard, codeRefRangeLabel, codexAdapter, codexSandboxWritableRootsArgs, codexUnattendedGitConfigArgs, coerceOrchestratorAgent, collectTakenTeamSlugs, commentAbleTimeTask, commentGitHubIssue, commentLinearIssue, commitAll, computeNextRunAt, conductorBundledBinDir, conductorDbPath, confirmLand, connectBrightsyTeam, connectOptionalService, connectSlackToken, connectedOptionalServices, contextTokens, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, countUnpushedVsOrigin, cowboyModeEnabled, createAbleTimeTask, createChatTab, createEmptyThread, createExistingBranchWorktree, createGitHubIssue, createGlobalChat, createLinearIssue, createLinearPkce, createOrUpdatePr, createPrStack, createSchedule, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, defaultScheduleName, deleteBranchOnPurgeEnabled, deleteSchedule, deleteThreadRecord, desktopHostPidPath, detectAgents, detectGhStack, detectLocalMergeConflicts, detectOptionalServiceClis, disconnectAbleTimeConnection, disconnectBrightsyTeam, disconnectLinear, disconnectLinearConnection, disconnectOptionalService, disconnectSlackWorkspace, discoverSkills, dropCachedPrefixOnResume, emptyPublicIntegrations, emptySetupLog, encodeBrightsyTarget, enrichPathWithNpmGlobalBin, enrichWorkspacesWithGithub, ensureAbleTimeTask, ensureAgentPath, ensureBrightsyLocalConfigFresh, ensureCloudCoordinator, ensureConnectedBrightsyTeamTokens, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureReviewGuidelinesFile, ensureReviewRequestFile, ensureReviewSkillFile, ensureSlackCoordinator, ensureSlackDeviceIdentity, ensureWorkspace, estimateMessageChars, estimateOccupancyTokens, estimateThreadChars, expandComposerPrompt, extractBrightsyContextSummary, extractGhErrorDetail, extractPendingPlanQuestions, extractPresentedPlan, extractiveSummary, fastForwardMainCheckoutIfSafe, fetchOriginForWorktree, fetchPrHead, finalizeParts, findConventionSetup, findInvalidCacheControlTtlOrder, findLastBrightsyContextSummary, findLiveThreadForCreate, findLiveThreadForCreateSource, findOrphanWorktrees, findProjectProfileKey, findSlackCoordinator, findThreadByRef, findThreadForStackLayer, fireSchedule, flattenTurnInput, flipLinearRelationType, foldLegacyRolesIntoNotes, followUpBehavior, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAccountProfilePlaybookLine, formatArtifactDirective, formatBrightsyFetchError, formatDetachedJobInvoke, formatFetchError, formatGhLandError, formatGitAuthModeDirective, formatIpcInvokeError, formatIssueToolsDirective, formatIssueToolsReminder, formatLinearDirective, formatLinearReminder, formatLongRunningDirective, formatLongRunningReminder, formatMergePrError, formatMessagesAsTranscript, formatOptionalServicesDirective, formatOptionalServicesReminder, formatPlanQuestionAnswers, formatPlanQuestionsForChat, formatPrGateDirective, formatProcessGuideDirective, formatProjectProfilePlaybookLines, formatRateLimitResetHint, formatRenameBranchDirective, formatScheduleWhen, formatScheduledPrompt, formatSlackExternalReplyPrompt, formatSlackInboundPrompt, formatSlackRepliesForTurn, formatSlackReplyContinuePrompt, formatSlackSignedReply, formatSlackWorkingText, formatTranscriptMarkdown, formatUiReminder, formatViewerContextDirective, formatViewerContextReminder, formatWorkspaceInventory, formatWorkspaceProfileSuffix, formatWorktreeDirective, formatWorktreeReminder, forwardContextUsage, forwardOccupancyTokens, fromInclusiveInputUsage, getAbleTimeAccessToken, getAbleTimeHost, getAbleTimeOrientation, getAbleTimeTask, getAdapter, getAgentSetupInfo, getBrightsySession, getCaffeinateHold, getDefaultAgent, getDefaultEffort, getDefaultFast, getDefaultModel, getDefaultRunScript, getDiff, getDiffSummary, getGitHubIssue, getGitHubStatus, getGithubGitAuthMode, getGithubPat, getHomeBoardInputs, getIssueSource, getLinearApiKey, getLinearAuthToken, getLinearIssue, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrForHeadBranch, getPrMeta, getPrStack, getRepoSetupInfo, getRunMode, getRunScript, getSchedule, getSlackWorkspace, gh, ghHeadRef, ghRepoSelectArgs, git, githubAgentGitEnv, githubHttpsInsteadOfEntries, globalAgentCwd, groupHomeBoardWorktrees, handleSlackInbound, harnessEnvKey, hasBakedLinearOAuth, hasBakedSlackOAuth, hasConductorHook, hasConventionSetup, hasCursorWorktreeSetup, hasEnabledSchedules, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, httpFetch, importConductorWorkspace, importConductorWorkspaceAsync, initPrStack, initStackFromThread, initializeGitRepository, inspectGitWorktree, installAgent, installNpmGlobalPackage, installOptionalServiceCli, interruptSlackCoordinatorForInbound, invalidateThreadListCache, isAbleTimeConnected, isAskUserToolName, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isConductorBundledCli, isCowboyThread, isCursorApiKeyConfigured, isCursorAutoModel, isDefaultishSourceRef, isDesktopHostAlive, isDirty, isGhPrBodyTooLongError, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isHomeBoardThread, isImageFilePath, isInPrStack, isInboundForThisDesktop, isInjectedOrchMcpName, isInternalAgentStatusText, isIssueSourceConnected, isLinearConnected, isLinearOAuthCancelled, isOptionalServiceId, isOrchestratorCapableAgent, isOrchestratorThread, isPidAlive, isPlaceholderBranch, isPlanQuestionAnswersMessage, isPollWrapperToolName, isPrNotMergeableError, isPresentPlanToolName, isPrimaryCheckoutThread, isSessionQuotaLimit, isSetupLastError, isShellToolName, isSideboardScratchPath, isSlackCoordinatorThread, isSlackExternalReplyPrompt, isSlackOAuthCancelled, isStaleLastErrorDuringTurn, isSubagentToolName, isThinkingEffort, isThisProcessDesktopHost, isThreadCaffeinated, isThreadRecordFile, isWorkspaceScratchPath, issueAttachmentForAbleTimeTask, issueMatchesAssignee, issueSourceLabel, issueTicketFromThread, lastAssistantMessageText, lastRequestOccupancy, latestPendingPlanQuestions, linearAuthorizationHeader, linearCycleIsActive, linearGraphql, linearOAuthAuthorizeUrl, linearOAuthCredentials, linearTicketIdFromThread, listAbleTimeAssignedIssues, listAbleTimeProjects, listAbleTimeTasks, listAgentSetupInfo, listBoardPins, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssueCommentsSince, listGitHubIssues, listGlobalThreads, listIssues, listLinearAssignedIssues, listLinearCommentsSince, listLinearIssues, listLinearIssuesDirect, listLinearIssuesFiltered, listLinearTeams, listModelsForAgent, listOpencodeModels, listPrs, listRunScripts, listSchedules, listSlackOutboundWatches, listSlackWorkspaces, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, liveActivitySummary, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadHomeBoardInputs, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, mapAbleTimeTask, markPrReady, materializeSystemCaBundle, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mcpStatusThinkingFromClaudeInit, mentionsPrGoal, mergeAgentGitAuthEnv, mergePr, mergePrStack, mergeSetupOutput, mergeSideboardIntoMcpServersJson, mergeUsage, messagePartParentId, messagesSinceLastBrightsyContextSummary, nextPastedTextName, nextThinkingEffort, nonInteractiveGitProcessEnv, normalizeAbleTimeHost, normalizeCodeSelection, normalizeParseResult, normalizeServiceOrigin, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, openPrStackLayers, openStackLayer, opencodeAdapter, optionalServiceConnected, optionalServiceSpec, orchestrationQuotaFallbackAgent, orchestrationQuotaOnLimit, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originFetchBranch, originGhRepoEnv, packagedDetachedJobPath, parseCursorRunnerLine, parseDurationMs, parseForceStopMessage, parseGhStackViewJson, parseGitHubIssueNumber, parseGithubSlugFromRemoteUrl, parseMcpList, parsePlanQuestionsInput, parsePrDetailsView, parseSessionQuotaResetAt, parseSlackRelayClientMessage, parseSlackRelayServerMessage, partsToAssistantText, pastedTextStats, pendingSlackExternalReplies, permissionMode, persistPendingFileAttachments, persistVaultKeyInKeychain, planFileAbs, planQuestionsSignature, pollSlackOutboundWatches, posixShellSingleQuote, preferredCursorCostCents, prepareTerminalCommand, previewLand, promptMentionsBrightsy, pushBranch, readExistingReviewRequestFile, readKeychainVaultKey, readPlanFile, readSetupLog, readSkillBody, readThread, readViewerContext, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, recordScheduleRun, recordSlackOutboundWatch, refreshBrightsyAccessToken, refreshGitHubAuth, registerPackagedUserMcpClients, releaseCaffeinateHoldForThread, releaseDesktopHost, removeBoardPin, removeWorkspace, removeWorktree, repoSlug, requestOccupancy, requestReview, requireAgent, resetGhStackDetectCache, resetGithubAgentTokenMemo, resolveAccountProfile, resolveAccountProfileFromSettings, resolveAgentExecutable, resolveAgentGitAuthEnv, resolveClaudeExecutable, resolveCodexGitWritableRoots, resolveCommandBinarySync, resolveConductorCursorAgentId, resolveCreateFirstPrompt, resolveCursorModelId, resolveDefaultBranch, resolveDetachedJobScript, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGhAuthToken, resolveGitDirsForLockRecovery, resolveGitHubIssueRepo, resolveGithubAgentToken, resolveGithubRepoSlug, resolveLinearState, resolveLinearTeam, resolveLoginCommand, resolveNewOrchestratorOptions, resolveNewThreadOptions, resolveOrchestratorDefaults, resolvePlanMarkdown, resolvePrSelector, resolvePrSelectors, resolveQuotaFallbackAgent, resolveRepoRoot, resolveReviewGuidelines, resolveScheduleThreadId, resolveSendFollowUp, resolveSlackListenMode, resolveThreadDefaults, resolveThreadEffort, resolveVaultKey, resolveViewerProfile, resolveViewerProfileForRepo, resolveWorktreeStartPoint, rewriteAbleTimeError, rewriteLinearError, run, runArchiveScript, runCloudConnect, runConventionSetup, runCursorWorktreeSetup, runSetupScript, runSlackListen, runSlackRelayClient, runWorkspaceSetup, sameWorktreePath, sanitizeMcpServerName, saveAbleTimeConnection, saveAppSettings, saveLinearOAuth, schedulesPath, scrubGithubTokensFromChildEnv, searchAbleTimeTasks, secureFileUnlocksWith, setCaffeinateHold, setHttpFetchImpl, setStatus, setVaultMasterKey, settingsSourceLabel, shouldAttachPastedText, shouldCompactContext, shouldInjectBrightsyMcp, shouldRefreshReviewRequestTemplate, shouldRemoveWorktreeOnTeardown, shouldResetSessionForOccupancy, shouldRunWorktreeCleanup, shouldStampSetupLastError, showCostEnabled, sideboardHomeDir, sideboardMcpProfile, sideboardReposDir, sideboardWorkspacesDir, slackAppLevelToken, slackArchiveUrl, slackCoordinatorSourceRef, slackListenEnabled, slackOAuthCredentials, slackOAuthResultUrl, slackRelayUrl, slugify, spawnAgentTurn, splitForCompaction, splitTurnInputForSystemPrompt, stackAgentDefaultsFrom, stackIdFrom, stackMergeReadiness, stageAbsolutePathsAsAttachments, stageBuffersAsAttachments, startDevServer, startLinearOAuth, startMcpServer, startOrchestration, startSlackOAuth, startSlackRelayServer, stripBrightsyNdjsonNoise, stripNestedElectronEnv, submitPrStack, suggestSlug, sumUsageList, summarizeConversation, switchBrightsyAccount, syncWorkspacesFromThreads, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, taskUrl, thinkingEffortBars, thinkingEffortLabel, thisProcessShouldDrainAgentQueues, threadDisplayLabel, threadFilePath, threadHasCompactedContext, threadLivePath, threadLockPath, threadRequestsBrightsyMcp, threadsDir, threadsSharingWorktree, ticketSlugForBranch, toAbleTimeIssueInfo, toGitHubIssueInfo, toPublicAppSettings, toolActivityLine, toolDescription, toolDetail, toolFilePath, totalTokens, trustSystemCertificates, turnCostUsdFromCursorUsage, updateAbleTimeTask, updateAdvancedSettings, updateAgentExecutable, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateCodexSettings, updateDefaultsSettings, updateGitHubIssue, updateIntegrationsSettings, updateLinearIssue, updateOpencodeSettings, updateProjectProfileSettings, updateSchedule, updateThread, userClaudeMcpConfigPath, userCursorMcpConfigPath, userMcpNamesToDisable, validateLinearApiKey, verifyAbleTimeConnection, verifyOptionalService, visibleToolRowDetail, waitForPidExit, warmGithubAgentAuth, whichOnPath, withEventParentId, withEventsParentId, withExportedPath, withMaxOldSpaceSize, withThreadLock, workspaceSettingsSourceLabel, worktreeBoardStatus, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreeSlugForTicket, worktreesRoot, wrapReviewSkillMarkdown, writeInjectedMcpConfig, writePlanFile, writeThread, writeViewerContext, writeWorktreeFile };
|
|
6316
|
+
export { ABLETIME_MCP_PATH, AGENT_GIT_ACTIONS, AGENT_RUNNER_MAX_OLD_SPACE_MB, ATTACHMENTS_DIR, type AbleTimeAssignedIssuesResult, type AbleTimeComment, type AbleTimeMcpToolName, type AbleTimeOrientation, type AbleTimeProject, type AbleTimeTask, type AbleTimeViewer, type AccountProfile, type ActiveRun, type AddBoardPinInput, type AddStackLayerInput, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentEvent, type AgentGitAction, type AgentKind, type AgentModelCatalog, type AgentModelInfo, type AgentSetupActionResult, type AgentSetupInfo, type AgentSetupKind, type AgentStatus, type AgentTurnInput, type AnthropicCacheControl, type AppSettings, type ApplyIntoMainResult, type AttachCommand, type Autonomy, BAKED_SLACK_RELAY_URL, BRIGHTSY_MCP_ALLOWED_TOOLS, BRIGHTSY_SUMMARIZE_CONTEXT_TOOL, BUNDLED_LONG_RUNNING_PATH, BUNDLED_SKILL_PREFIX, type BoardPin, type BranchInfo, type BrightsyAccount, type BrightsyChatTarget, type BrightsyChatTargets, type BrightsyCloudConnectAgent, type BrightsyHarnessSettings, type BrightsySession, BrightsySideboardApi, type BrightsyTeamTargets, CHARS_PER_CONTEXT_TOKEN, CLAUDE_MODEL_CATALOG, CLI_DIR, CLOUD_COORDINATOR_BUSY_REPLY, CLOUD_COORDINATOR_STOPPED_REPLY, CLOUD_COORDINATOR_TIMEOUT_REPLY, CLOUD_ORCHESTRATOR_GOAL, CONTEXT_COMPACT_CHARS, CONTEXT_KEEP_RECENT_CHARS, CONTEXT_KEEP_RECENT_MESSAGES, CONTEXT_MIN_MESSAGES, CONTEXT_REVIEW_PATH, CONVENTION_SETUP_RELPATHS, COORDINATOR_TOOL_PLAYBOOK, type CaffeinateHoldState, type ClaudeHarnessSettings, type CleanupOrphansResult, type CliAgentKind, type CliExecutableSettings, type CloudConnectAgent, type CloudConnectOptions, type CloudConnectStatus, type CodeLineRange, type CodeRefInput, type CompactResult, type CompactThresholds, type ComposerFileBuffer, type ConductorSettings, type ConductorWorkspace, type ConnectedBrightsyTeamInfo, type ConventionSetupFile, type CowboyThreadFields, type CreateChatTabInput, type CreateGlobalChatOpts, type CreateScheduledTaskInput, type CreateStackInput, type CreateThreadInput, type CreateWorktreeResult, type CursorAgentUsageSnapshot, type CursorModelInfo, type CursorSdkStreamMessage, type CursorTurnRequest, type CursorUsageCost, type CursorWorktreesConfig, DEFAULT_ABLETIME_HOST, DEFAULT_WORKTREE_SORT, DETACHED_JOBS_DIR, type DefaultsAppSettings, type DefaultsSettingsPatch, type DevServerHandle, type DiffCommentInput, type DiffCommentLine, type DiffCommit, type DiffFile, type DiffResult, type DiffScope, type DiffScopeStat, type EnsuredReviewGuidelines, type ExpandResult, FAMOUS_SOCCER_TEAMS, FOLLOW_UP_BEHAVIORS, type FastForwardMainResult, type FollowUpBehavior, type ForkChatTabInput, type ForkThreadWorktreeInput, type FormatGhLandErrorOptions, GITHUB_GIT_AUTH_MODES, GITHUB_PR_BODY_MAX_CHARS, GITHUB_PR_BODY_SAFE_CHARS, GLOBAL_WORKSPACE_ID, type GetDiffOptions, type GhStackStatus, type GitHubIssue, type GitHubIssueComment, type GitHubStatus, type GitWorktreeStatus, type GithubGitAuthMode, HARNESS_ENV_KEYS, HOME_BOARD_CACHE_TTL_MS, type HarnessId, type HomeBoardLoaded, type HomeBoardRemoteData, IMPLIED_TICKET_RESOLVE_PROMPT, ISSUE_SOURCE_LABELS, type InitStackFromThreadInput, type IntegrationsSettings, type IpcApi, type IssueActivityComment, type IssueAssigneeFilter, type IssueCycleInfo, type IssueInfo, type IssueSource, LEGACY_ATTACHMENTS_DIR, LEGACY_DETACHED_JOBS_DIR, LEGACY_PLAN_FILE_REL, LEGACY_REVIEW_REQUEST_PATH, LINEAR_OAUTH_CANCELLED, LINEAR_OAUTH_PORT, LINEAR_OAUTH_REDIRECT, LINEAR_OAUTH_SCOPES, LIVE_TURN_SPAWN_GRACE_MS, LONG_RUNNING_SKILL_COMMAND, type LandPreview, type LandResult, type LinearAssignedIssuesResult, type LinearAssigneeFilter, type LinearComment, type LinearCycle, type LinearIssue, type LinearIssueAttachment, type LinearIssueComment, type LinearIssueRef, type LinearIssueRelation, LinearOAuthCancelledError, type LinearTeam, type LinearTeamsResult, type LinearWorkflowState, type ListIssuesOptions, type ListIssuesResult, type ListPrsOptions, MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS, type McpServerStatus, type MessagePart, OPTIONAL_SERVICES, OPTIONAL_SERVICE_IDS, ORCHESTRATOR_AGENT_KINDS, type OpenPrStackLayersInput, type OpenStackLayerInput, type OpenStackLayerResult, type OptionalServiceCliStatus, type OptionalServiceId, type OptionalServiceSpec, type OrchestrationQuotaOnLimit, Orchestrator, type OrchestratorAgentKind, type OrchestratorDefaultsSettings, type OrchestratorEvent, type OrchestratorRuntime, type OrphanWorktree, PASTE_ATTACH_MIN_CHARS, PASTE_ATTACH_MIN_LINES, PLAN_FILE_NAME, PLAN_FILE_REL, PLAN_MODE_INSTRUCTION, PLAN_QUESTION_ANSWERS_PREFIX, PROFILE_NOTES_MAX, PR_DETAILS_JSON_FIELDS, type PathRefInput, type PendingPlanQuestions, type PlanQuestion, type PlanQuestionAnswer, type PlanQuestionOption, type PlanToolPartLike, type PrActor, type PrCheckRun, type PrCommentInfo, type PrCommitInfo, type PrDetails, type PrInfo, type PrMeta, type PrReviewInfo, type PrStack, type PrStackLayer, type PresentedPlan, type ProjectProfileSettings, type PublicAppSettings, type PublicIntegrationsSettings, REPO_REVIEW_NAME, REPO_REVIEW_PATH, REVIEW_REQUEST_NAME, REVIEW_REQUEST_PATH, REVIEW_REQUEST_PREFILL, REVIEW_REQUEST_TEMPLATE, REVIEW_SKILL_NAME, REVIEW_SKILL_PATH, type RepoSettings, type RepoSetupInfo, type RequestReviewResult, type ResolvedAccountProfile, type ResolvedReviewGuidelines, type ResolvedThreadDefaults, type ResolvedViewerProfile, type ReviewGuidelinesSource, type RunMode, type RunScript, SEED_FULL_TOOL_MESSAGES, SEED_MAX_CHARS, SESSION_RESET_OCCUPANCY_TOKENS, SIDEBOARD_FORCE_STOP, SIDEBOARD_MCP_ALLOWED_TOOLS, SIDEBOARD_MCP_PROFILE_ENV, SLACK_LISTEN_STOPPED_REPLY, SLACK_LISTEN_TIMEOUT_REPLY, SLACK_OAUTH_CANCELLED, SLACK_OAUTH_REDIRECT, SLACK_PROGRESS_DELAY_MS, SLACK_PROGRESS_EDIT_MS, SLACK_REPLY_FORMATTING, SLACK_SEEN_REACTION, type ScheduleCreatedBy, type ScheduleWhen, type ScheduledTask, type ScriptHandle, type SessionSeedOptions, type SetupLogSnapshot, type SetupRunResult, type SideboardMcpProfile, type SkillInfo, type SlackInboundMessage, type SlackListenOptions, type SlackListenStatus, SlackOAuthCancelledError, type SlackOutboundReply, type SlackOutboundWatch, type SlackRelayClientMessage, type SlackRelayClientOptions, SlackRelayHub, type SlackRelayServerHandle, type SlackRelayServerMessage, type SlackRelayServerOptions, type SlackWorkspaceInfo, type SourceType, type SpawnTurnHandle, type SummarizeResult, THINKING_EFFORTS, type TeamName, type ThinkingEffort, type Thread, type ThreadAttachment, type ThreadMessage, type ThreadOptionsPatch, type ThreadStatus, type TokenUsage, type ToolPartLike, type TranscriptToolDetail, type TurnCommand, type UpdateScheduledTaskPatch, type UsageScope, type ViewerContextWriteResult, type ViewerProfile, WORKTREE_ABLETIME_MCP_TOOLS, WORKTREE_GITHUB_MCP_TOOLS, WORKTREE_LINEAR_MCP_TOOLS, WORKTREE_MCP_TOOLS, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, type WorktreeSortMode, abletimeMcpRequest, abletimeMcpUrl, ackSlackInboundSeen, addBoardPin, addPrStackLayer, addStackLayerFromThread, addWorkspace, adoptThread, agentGitPrompt, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendIndexedGitConfig, appendMessage, applyAgentEvent, applyAgentRunnerHeapEnv, applyAppEnvironment, applyCompaction, applyForwardOccupancy, applyGithubGitAuthEnv, applyPromptCacheTtlEnv, applySystemCaEnv, applyThreadIntoMain, applyTurnUsage, armSchedules, assertOrchestratorCapableAgent, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, attachmentsGitignoreBody, autoArchiveOnMergeEnabled, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAccessTokenNeedsRefresh, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyInjectWorktreeMcpEnabled, brightsyMcpAllowedTools, brightsyMcpServerName, buildBrightsySessionSeed, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildCodeRefAttachment, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildLinearIssueFilter, buildPastedTextAttachment, buildPathRefAttachment, buildReviewRequestAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateHoldPath, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, caffeinateWhileSchedulesEnabled, caffeinateWhileSlackListenEnabled, callAbleTimeTool, canonicalizeRepoPath, captureLoginEnv, captureTurnBaseline, checkoutPrStackLayer, childEnvWithAppSettings, claimDesktopHost, clampGithubPrBody, classifyWorktreeColumn, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, clearBoardPins, clearHomeBoardCache, cloneRepoIntoSideboard, codeRefRangeLabel, codexAdapter, codexSandboxWritableRootsArgs, codexUnattendedGitConfigArgs, coerceOrchestratorAgent, collectTakenTeamSlugs, commentAbleTimeTask, commentGitHubIssue, commentLinearIssue, commitAll, computeNextRunAt, conductorBundledBinDir, conductorDbPath, confirmLand, connectBrightsyTeam, connectOptionalService, connectSlackToken, connectedOptionalServices, contextTokens, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, countUnpushedVsOrigin, cowboyModeEnabled, createAbleTimeTask, createChatTab, createEmptyThread, createExistingBranchWorktree, createGitHubIssue, createGlobalChat, createLinearIssue, createLinearPkce, createOrUpdatePr, createPrStack, createSchedule, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, defaultScheduleName, deleteBranchOnPurgeEnabled, deleteSchedule, deleteThreadRecord, desktopHostPidPath, detectAgents, detectGhStack, detectLocalMergeConflicts, detectOptionalServiceClis, disconnectAbleTimeConnection, disconnectBrightsyTeam, disconnectLinear, disconnectLinearConnection, disconnectOptionalService, disconnectSlackWorkspace, discoverSkills, dropCachedPrefixOnResume, emptyPublicIntegrations, emptySetupLog, encodeBrightsyTarget, enrichPathWithNpmGlobalBin, enrichWorkspacesWithGithub, ensureAbleTimeTask, ensureAgentPath, ensureBrightsyLocalConfigFresh, ensureCloudCoordinator, ensureConnectedBrightsyTeamTokens, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureReviewGuidelinesFile, ensureReviewRequestFile, ensureReviewSkillFile, ensureSlackCoordinator, ensureSlackDeviceIdentity, ensureWorkspace, estimateMessageChars, estimateOccupancyTokens, estimateThreadChars, expandComposerPrompt, extractBrightsyContextSummary, extractGhErrorDetail, extractPendingPlanQuestions, extractPresentedPlan, extractiveSummary, fastForwardMainCheckoutIfSafe, fetchOriginForWorktree, fetchPrHead, finalizeParts, findConventionSetup, findInvalidCacheControlTtlOrder, findLastBrightsyContextSummary, findLiveThreadForCreate, findLiveThreadForCreateSource, findOrphanWorktrees, findProjectProfileKey, findSlackCoordinator, findThreadByRef, findThreadForStackLayer, fireSchedule, flattenTurnInput, flipLinearRelationType, foldLegacyRolesIntoNotes, followUpBehavior, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAccountProfilePlaybookLine, formatArtifactDirective, formatBrightsyFetchError, formatDetachedJobInvoke, formatFetchError, formatGhLandError, formatGitAuthModeDirective, formatIpcInvokeError, formatIssueToolsDirective, formatIssueToolsReminder, formatLinearDirective, formatLinearReminder, formatLongRunningDirective, formatLongRunningReminder, formatMergePrError, formatMessagesAsTranscript, formatOptionalServicesDirective, formatOptionalServicesReminder, formatPlanQuestionAnswers, formatPlanQuestionsForChat, formatPrGateDirective, formatProcessGuideDirective, formatProjectProfilePlaybookLines, formatRateLimitResetHint, formatRenameBranchDirective, formatScheduleWhen, formatScheduledPrompt, formatSlackExternalReplyPrompt, formatSlackInboundPrompt, formatSlackRepliesForTurn, formatSlackReplyContinuePrompt, formatSlackSignedReply, formatSlackWorkingText, formatTranscriptMarkdown, formatUiReminder, formatViewerContextDirective, formatViewerContextReminder, formatWorkspaceInventory, formatWorkspaceProfileSuffix, formatWorktreeDirective, formatWorktreeReminder, forwardContextUsage, forwardOccupancyTokens, fromInclusiveInputUsage, getAbleTimeAccessToken, getAbleTimeHost, getAbleTimeOrientation, getAbleTimeTask, getAdapter, getAgentSetupInfo, getBrightsySession, getCaffeinateHold, getDefaultAgent, getDefaultEffort, getDefaultFast, getDefaultModel, getDefaultRunScript, getDiff, getDiffSummary, getGitHubIssue, getGitHubStatus, getGithubGitAuthMode, getGithubPat, getHomeBoardInputs, getIssueSource, getLinearApiKey, getLinearAuthToken, getLinearIssue, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrForHeadBranch, getPrMeta, getPrStack, getRepoSetupInfo, getRunMode, getRunScript, getSchedule, getSlackWorkspace, gh, ghHeadRef, ghRepoSelectArgs, git, githubAgentGitEnv, githubHttpsInsteadOfEntries, globalAgentCwd, groupHomeBoardWorktrees, handleSlackInbound, harnessEnvKey, hasBakedLinearOAuth, hasBakedSlackOAuth, hasConductorHook, hasConventionSetup, hasCursorWorktreeSetup, hasEnabledSchedules, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, httpFetch, importConductorWorkspace, importConductorWorkspaceAsync, initPrStack, initStackFromThread, initializeGitRepository, inspectGitWorktree, installAgent, installNpmGlobalPackage, installOptionalServiceCli, interruptSlackCoordinatorForInbound, invalidateThreadListCache, isAbleTimeConnected, isAskUserToolName, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isConductorBundledCli, isCowboyThread, isCursorApiKeyConfigured, isCursorAutoModel, isDefaultishSourceRef, isDesktopHostAlive, isDirty, isGhPrBodyTooLongError, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isHomeBoardThread, isImageFilePath, isInPrStack, isInboundForThisDesktop, isInjectedOrchMcpName, isInternalAgentStatusText, isIssueSourceConnected, isLinearConnected, isLinearOAuthCancelled, isOptionalServiceId, isOrchestratorCapableAgent, isOrchestratorThread, isPidAlive, isPlaceholderBranch, isPlanQuestionAnswersMessage, isPollWrapperToolName, isPrNotMergeableError, isPresentPlanToolName, isPrimaryCheckoutThread, isSessionQuotaLimit, isSetupLastError, isShellToolName, isSideboardScratchPath, isSlackCoordinatorThread, isSlackExternalReplyPrompt, isSlackOAuthCancelled, isStaleLastErrorDuringTurn, isSubagentToolName, isThinkingEffort, isThisProcessDesktopHost, isThreadCaffeinated, isThreadRecordFile, isWorkspaceScratchPath, issueAttachmentForAbleTimeTask, issueMatchesAssignee, issueSourceLabel, issueTicketFromThread, lastAssistantMessageText, lastRequestOccupancy, latestPendingPlanQuestions, linearAuthorizationHeader, linearCycleIsActive, linearGraphql, linearOAuthAuthorizeUrl, linearOAuthCredentials, linearTicketIdFromThread, listAbleTimeAssignedIssues, listAbleTimeProjects, listAbleTimeTasks, listAgentSetupInfo, listBoardPins, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssueCommentsSince, listGitHubIssues, listGlobalThreads, listIssues, listLinearAssignedIssues, listLinearCommentsSince, listLinearIssues, listLinearIssuesDirect, listLinearIssuesFiltered, listLinearTeamCycles, listLinearTeams, listModelsForAgent, listOpencodeModels, listPrs, listRunScripts, listSchedules, listSlackOutboundWatches, listSlackWorkspaces, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, liveActivitySummary, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadHomeBoardInputs, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, mapAbleTimeTask, markPrReady, materializeSystemCaBundle, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mcpStatusThinkingFromClaudeInit, mentionsPrGoal, mergeAgentGitAuthEnv, mergePr, mergePrStack, mergeSetupOutput, mergeSideboardIntoMcpServersJson, mergeUsage, messagePartParentId, messagesSinceLastBrightsyContextSummary, nextPastedTextName, nextThinkingEffort, nonInteractiveGitProcessEnv, normalizeAbleTimeHost, normalizeCodeSelection, normalizeParseResult, normalizeServiceOrigin, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, openPrStackLayers, openStackLayer, opencodeAdapter, optionalServiceConnected, optionalServiceSpec, orchestrationQuotaFallbackAgent, orchestrationQuotaOnLimit, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originFetchBranch, originGhRepoEnv, packagedDetachedJobPath, parseCursorRunnerLine, parseDurationMs, parseForceStopMessage, parseGhStackViewJson, parseGitHubIssueNumber, parseGithubSlugFromRemoteUrl, parseMcpList, parsePlanQuestionsInput, parsePrDetailsView, parseSessionQuotaResetAt, parseSlackRelayClientMessage, parseSlackRelayServerMessage, partsToAssistantText, pastedTextStats, pendingSlackExternalReplies, permissionMode, persistPendingFileAttachments, persistVaultKeyInKeychain, planFileAbs, planQuestionsSignature, pollSlackOutboundWatches, posixShellSingleQuote, preferredCursorCostCents, prepareTerminalCommand, previewLand, promptMentionsBrightsy, pushBranch, readExistingReviewRequestFile, readKeychainVaultKey, readPlanFile, readSetupLog, readSkillBody, readThread, readViewerContext, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, recordScheduleRun, recordSlackOutboundWatch, refreshBrightsyAccessToken, refreshGitHubAuth, registerPackagedUserMcpClients, releaseCaffeinateHoldForThread, releaseDesktopHost, removeBoardPin, removeWorkspace, removeWorktree, repoSlug, requestOccupancy, requestReview, requireAgent, resetGhStackDetectCache, resetGithubAgentTokenMemo, resolveAccountProfile, resolveAccountProfileFromSettings, resolveAgentExecutable, resolveAgentGitAuthEnv, resolveClaudeExecutable, resolveCodexGitWritableRoots, resolveCommandBinarySync, resolveConductorCursorAgentId, resolveCreateFirstPrompt, resolveCursorModelId, resolveDefaultBranch, resolveDetachedJobScript, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGhAuthToken, resolveGitDirsForLockRecovery, resolveGitHubIssueRepo, resolveGithubAgentToken, resolveGithubRepoSlug, resolveLinearCycle, resolveLinearState, resolveLinearTeam, resolveLoginCommand, resolveNewOrchestratorOptions, resolveNewThreadOptions, resolveOrchestratorDefaults, resolvePlanMarkdown, resolvePrSelector, resolvePrSelectors, resolveQuotaFallbackAgent, resolveRepoRoot, resolveReviewGuidelines, resolveScheduleThreadId, resolveSendFollowUp, resolveSlackListenMode, resolveThreadDefaults, resolveThreadEffort, resolveVaultKey, resolveViewerProfile, resolveViewerProfileForRepo, resolveWorktreeStartPoint, rewriteAbleTimeError, rewriteLinearError, run, runArchiveScript, runCloudConnect, runConventionSetup, runCursorWorktreeSetup, runSetupScript, runSlackListen, runSlackRelayClient, runWorkspaceSetup, sameWorktreePath, sanitizeMcpServerName, saveAbleTimeConnection, saveAppSettings, saveLinearOAuth, schedulesPath, scrubGithubTokensFromChildEnv, searchAbleTimeTasks, secureFileUnlocksWith, setCaffeinateHold, setHttpFetchImpl, setStatus, setVaultMasterKey, settingsSourceLabel, shouldAttachPastedText, shouldCompactContext, shouldInjectBrightsyMcp, shouldRefreshReviewRequestTemplate, shouldRemoveWorktreeOnTeardown, shouldResetSessionForOccupancy, shouldRunWorktreeCleanup, shouldStampSetupLastError, showCostEnabled, sideboardHomeDir, sideboardMcpProfile, sideboardReposDir, sideboardWorkspacesDir, slackAppLevelToken, slackArchiveUrl, slackCoordinatorSourceRef, slackListenEnabled, slackOAuthCredentials, slackOAuthResultUrl, slackRelayUrl, slugify, spawnAgentTurn, splitForCompaction, splitTurnInputForSystemPrompt, stackAgentDefaultsFrom, stackIdFrom, stackMergeReadiness, stageAbsolutePathsAsAttachments, stageBuffersAsAttachments, startDevServer, startLinearOAuth, startMcpServer, startOrchestration, startSlackOAuth, startSlackRelayServer, stripBrightsyNdjsonNoise, stripNestedElectronEnv, submitPrStack, suggestSlug, sumUsageList, summarizeConversation, switchBrightsyAccount, syncWorkspacesFromThreads, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, taskUrl, thinkingEffortBars, thinkingEffortLabel, thisProcessShouldDrainAgentQueues, threadDisplayLabel, threadFilePath, threadHasCompactedContext, threadLivePath, threadLockPath, threadRequestsBrightsyMcp, threadsDir, threadsSharingWorktree, ticketSlugForBranch, toAbleTimeIssueInfo, toGitHubIssueInfo, toPublicAppSettings, toolActivityLine, toolDescription, toolDetail, toolFilePath, totalTokens, trustSystemCertificates, turnCostUsdFromCursorUsage, updateAbleTimeTask, updateAdvancedSettings, updateAgentExecutable, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateCodexSettings, updateDefaultsSettings, updateGitHubIssue, updateIntegrationsSettings, updateLinearIssue, updateOpencodeSettings, updateProjectProfileSettings, updateSchedule, updateThread, userClaudeMcpConfigPath, userCursorMcpConfigPath, userMcpNamesToDisable, validateLinearApiKey, verifyAbleTimeConnection, verifyOptionalService, visibleToolRowDetail, waitForPidExit, warmGithubAgentAuth, whichOnPath, withEventParentId, withEventsParentId, withExportedPath, withMaxOldSpaceSize, withThreadLock, workspaceSettingsSourceLabel, worktreeBoardStatus, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreeSlugForTicket, worktreesRoot, wrapReviewSkillMarkdown, writeInjectedMcpConfig, writePlanFile, writeThread, writeViewerContext, writeWorktreeFile };
|