@sideboard-ai/core 0.1.115 → 0.1.116
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.cjs +22 -1
- package/dist/agents/cursor-runner.js +1 -1
- package/dist/{agents-3X3EFCQY.js → agents-7NIX44RB.js} +2 -2
- package/dist/{agents-AHAFC6FR.js → agents-DU7DHY7A.js} +1 -1
- package/dist/{chunk-MZ6HJ7VL.js → chunk-4HOFVKPC.js} +8 -7
- package/dist/{chunk-C6OBY6IC.js → chunk-5KSLD4MU.js} +50 -7
- package/dist/{chunk-DCNR7NAL.js → chunk-DWP25N32.js} +9 -8
- package/dist/{chunk-SLU5JVKD.js → chunk-GBY7OOMB.js} +22 -1
- package/dist/{chunk-66XTXHR3.js → chunk-OFF5AFCR.js} +56 -7
- package/dist/index.cjs +68 -13
- package/dist/index.d.cts +7 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.js +7 -5
- package/dist/mcp/run-stdio.cjs +63 -13
- package/dist/mcp/run-stdio.js +4 -4
- package/dist/{orchestrator-GKLYKLRC.js → orchestrator-NXPANCZA.js} +2 -2
- package/dist/{orchestrator-TXASYNHT.js → orchestrator-ZY4RUJKT.js} +3 -3
- package/package.json +1 -1
|
@@ -399,7 +399,7 @@ function cursorSdkMessageToEvents(msg) {
|
|
|
399
399
|
if (msg.type === "tool_call" && msg.call_id && msg.name) {
|
|
400
400
|
const normalized = normalizeCursorToolCall(msg.name, msg.args);
|
|
401
401
|
if (msg.status === "running") {
|
|
402
|
-
|
|
402
|
+
const events = [
|
|
403
403
|
{
|
|
404
404
|
type: "tool_use",
|
|
405
405
|
id: msg.call_id,
|
|
@@ -407,6 +407,16 @@ function cursorSdkMessageToEvents(msg) {
|
|
|
407
407
|
input: normalized.input
|
|
408
408
|
}
|
|
409
409
|
];
|
|
410
|
+
const live = unwrapCursorToolResult(msg.result);
|
|
411
|
+
if (live) {
|
|
412
|
+
events.push({
|
|
413
|
+
type: "tool_result",
|
|
414
|
+
id: msg.call_id,
|
|
415
|
+
content: live,
|
|
416
|
+
partial: true
|
|
417
|
+
});
|
|
418
|
+
}
|
|
419
|
+
return events;
|
|
410
420
|
}
|
|
411
421
|
if (msg.status === "completed" || msg.status === "error") {
|
|
412
422
|
return [
|
|
@@ -467,6 +477,17 @@ function nestedUpdateToEvents(update, parentId) {
|
|
|
467
477
|
isError: cursorToolResultIsError(void 0, update.toolCall.result),
|
|
468
478
|
parentId
|
|
469
479
|
});
|
|
480
|
+
} else {
|
|
481
|
+
const live = unwrapCursorToolResult(update.toolCall.result);
|
|
482
|
+
if (live) {
|
|
483
|
+
events.push({
|
|
484
|
+
type: "tool_result",
|
|
485
|
+
id: update.callId,
|
|
486
|
+
content: live,
|
|
487
|
+
partial: true,
|
|
488
|
+
parentId
|
|
489
|
+
});
|
|
490
|
+
}
|
|
470
491
|
}
|
|
471
492
|
return events;
|
|
472
493
|
}
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
resolveCursorModelId,
|
|
29
29
|
resolveLoginCommand,
|
|
30
30
|
resolveQuotaFallbackAgent
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-5KSLD4MU.js";
|
|
32
32
|
import "./chunk-EKIDHL2T.js";
|
|
33
33
|
import {
|
|
34
34
|
ORCHESTRATOR_AGENT_KINDS,
|
|
@@ -40,7 +40,7 @@ import "./chunk-7WC5UWEB.js";
|
|
|
40
40
|
import {
|
|
41
41
|
cursorSdkMessageToEvents,
|
|
42
42
|
parseCursorRunnerLine
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-GBY7OOMB.js";
|
|
44
44
|
import "./chunk-FZCIQYNQ.js";
|
|
45
45
|
import "./chunk-FKOIHGKV.js";
|
|
46
46
|
import "./chunk-4NR5FL46.js";
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
summarizeTurnStderr,
|
|
29
29
|
toolDescription,
|
|
30
30
|
turnFailChatText
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-OFF5AFCR.js";
|
|
32
32
|
import {
|
|
33
33
|
addWorkspace,
|
|
34
34
|
ensureWorkspace,
|
|
@@ -2410,7 +2410,7 @@ async function createThread(input, _onSetupLine) {
|
|
|
2410
2410
|
return readThread(thread.id) ?? thread;
|
|
2411
2411
|
}
|
|
2412
2412
|
async function listLinearIssues(agent, repoPath) {
|
|
2413
|
-
const { getAdapter: getAdapter2 } = await import("./agents-
|
|
2413
|
+
const { getAdapter: getAdapter2 } = await import("./agents-DU7DHY7A.js");
|
|
2414
2414
|
await requireAgent(agent, { requireLinear: true });
|
|
2415
2415
|
const adapter = getAdapter2(agent);
|
|
2416
2416
|
if (!adapter.listLinearIssues) {
|
|
@@ -4646,14 +4646,15 @@ function formatArtifactDirective() {
|
|
|
4646
4646
|
return [
|
|
4647
4647
|
"Sideboard side column (desktop UI):",
|
|
4648
4648
|
"claude.ai\u2019s \u201CArtifact\u201D tool does NOT exist in Claude Code. That is expected.",
|
|
4649
|
+
"Do not unprompted-duplicate a payload. Chat markdown (including tables) already renders in the transcript \u2014 do not also call present_schema with those same rows just to display them. If the user asks for an editable / interactive table, call present_schema even if markdown already showed the data. Do not also call present_artifact for a document you already fenced in chat.",
|
|
4649
4650
|
"Documents (HTML/SVG/markdown):",
|
|
4650
4651
|
"1) Emit a fenced code block tagged `html` (preferred), `svg`, or `markdown` with the FULL document \u2014 Sideboard opens a side column. Example:",
|
|
4651
4652
|
"```html",
|
|
4652
4653
|
"<!DOCTYPE html><html><head><title>Demo</title></head><body><h1>Hi</h1></body></html>",
|
|
4653
4654
|
"```",
|
|
4654
|
-
"2) Or call Sideboard MCP `present_artifact` with title, type (html|svg|markdown), and content.",
|
|
4655
|
+
"2) Or call Sideboard MCP `present_artifact` with title, type (html|svg|markdown), and content \u2014 not both a fence and this tool for the same body.",
|
|
4655
4656
|
"CMS / JSON Schema forms & tables (Brightsy or any schema+schemaUi source):",
|
|
4656
|
-
"3) Call Sideboard MCP `present_schema`
|
|
4657
|
+
"3) Call Sideboard MCP `present_schema` when the user needs to filter, edit, publish, or persist rows \u2014 including after you already showed a markdown table, if they then ask for an editable table. If they only need to read the data, a markdown table is enough. When you do call it, pass title, mode (table|form), and either:",
|
|
4657
4658
|
" - datasource=brightsy + resource_id (record type UUID) after fetching types via Brightsy MCP, or",
|
|
4658
4659
|
" - datasource=inline + resource: { id, title, schema, schemaUi } and optional records/record.",
|
|
4659
4660
|
"Files / media browser (CMS file manager column):",
|
|
@@ -4662,11 +4663,11 @@ function formatArtifactDirective() {
|
|
|
4662
4663
|
"Multiple-choice questions:",
|
|
4663
4664
|
"5) Call Sideboard MCP `ask_user` only when work is blocked on choosing among a few concrete options (approach forks, which API, auth vs cookies). First write a short chat message that explains the decision and what each option means (tradeoffs, when to pick it). Include a description on every option. After calling, stop and wait for their next message with answers. If you are asking a real multiple-choice, use ask_user rather than chat bullets so Sideboard shows the composer picker.",
|
|
4664
4665
|
"Do not call ask_user for greetings, check-ins, \u201Chello\u201D, open-ended how-can-I-help, or to invent a menu of possible next tasks \u2014 reply in chat. If one option is the obvious default, proceed without asking.",
|
|
4665
|
-
"Never say artifacts, CMS UI, or the Files column are unavailable.
|
|
4666
|
+
"Never say artifacts, CMS UI, or the Files column are unavailable. present_schema is for interactive list/edit/publish (use it when they ask to edit, even if chat already had a markdown table); present_files for storage UI; html fences for standalone pages; ask_user only for those blocked predefined-option questions."
|
|
4666
4667
|
].join("\n");
|
|
4667
4668
|
}
|
|
4668
4669
|
function formatUiReminder() {
|
|
4669
|
-
return "Sideboard UI: html fence or present_artifact
|
|
4670
|
+
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. ask_user only for a real multiple-choice (not hellos or \u201Cwhat next?\u201D) \u2014 reply in chat. Do not say artifacts/CMS UI are unavailable.";
|
|
4670
4671
|
}
|
|
4671
4672
|
|
|
4672
4673
|
// src/threads/sync-branch.ts
|
|
@@ -4937,7 +4938,7 @@ function formatScheduledPrompt(name, prompt) {
|
|
|
4937
4938
|
${prompt}`;
|
|
4938
4939
|
}
|
|
4939
4940
|
async function defaultDeps() {
|
|
4940
|
-
const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-
|
|
4941
|
+
const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-NXPANCZA.js");
|
|
4941
4942
|
const orch = getOrchestrator2();
|
|
4942
4943
|
return {
|
|
4943
4944
|
findThread: (id) => findThreadByRef(id),
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
packagedMcpStdioPath,
|
|
21
21
|
parseCursorRunnerLine,
|
|
22
22
|
resolveNodeLaunch
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-GBY7OOMB.js";
|
|
24
24
|
import {
|
|
25
25
|
codexUnattendedGitConfigArgs,
|
|
26
26
|
mergeAgentGitAuthEnv,
|
|
@@ -669,6 +669,9 @@ function classifyTool(name) {
|
|
|
669
669
|
}
|
|
670
670
|
return "other";
|
|
671
671
|
}
|
|
672
|
+
function isShellToolName(name) {
|
|
673
|
+
return classifyTool(name ?? "") === "shell";
|
|
674
|
+
}
|
|
672
675
|
function toolActivityLine(parts) {
|
|
673
676
|
const tools = parts.filter((p) => {
|
|
674
677
|
if (p.type !== "tool" || p.parentId) return false;
|
|
@@ -916,6 +919,30 @@ function applyAgentEvent(parts, event) {
|
|
|
916
919
|
if (event.type === "tool_result") {
|
|
917
920
|
const existing = parts.findIndex((p) => p.type === "tool" && p.id === event.id);
|
|
918
921
|
const fromResult = parseDiffStat(event.content);
|
|
922
|
+
if (event.partial) {
|
|
923
|
+
if (existing < 0) {
|
|
924
|
+
return [
|
|
925
|
+
...parts,
|
|
926
|
+
{
|
|
927
|
+
type: "tool",
|
|
928
|
+
id: event.id,
|
|
929
|
+
name: "tool",
|
|
930
|
+
description: "tool",
|
|
931
|
+
status: event.isError ? "error" : "running",
|
|
932
|
+
result: event.content,
|
|
933
|
+
...event.parentId ? { parentId: event.parentId } : {}
|
|
934
|
+
}
|
|
935
|
+
];
|
|
936
|
+
}
|
|
937
|
+
return parts.map((p, i) => {
|
|
938
|
+
if (i !== existing || p.type !== "tool") return p;
|
|
939
|
+
if (p.status === "done" || p.status === "error") return p;
|
|
940
|
+
return {
|
|
941
|
+
...p,
|
|
942
|
+
result: event.content ?? p.result
|
|
943
|
+
};
|
|
944
|
+
});
|
|
945
|
+
}
|
|
919
946
|
if (existing < 0) {
|
|
920
947
|
return [
|
|
921
948
|
...parts,
|
|
@@ -2031,13 +2058,22 @@ var codexAdapter = {
|
|
|
2031
2058
|
const events = [
|
|
2032
2059
|
{ type: "tool_use", id: item.id, name: "Bash", input }
|
|
2033
2060
|
];
|
|
2034
|
-
|
|
2061
|
+
const finished = type === "item.completed" || item.status === "completed" || item.status === "failed";
|
|
2062
|
+
const output = typeof item.aggregated_output === "string" && item.aggregated_output ? item.aggregated_output : void 0;
|
|
2063
|
+
if (finished) {
|
|
2035
2064
|
events.push({
|
|
2036
2065
|
type: "tool_result",
|
|
2037
2066
|
id: item.id,
|
|
2038
|
-
content:
|
|
2067
|
+
content: output,
|
|
2039
2068
|
isError: item.status === "failed"
|
|
2040
2069
|
});
|
|
2070
|
+
} else if (output) {
|
|
2071
|
+
events.push({
|
|
2072
|
+
type: "tool_result",
|
|
2073
|
+
id: item.id,
|
|
2074
|
+
content: output,
|
|
2075
|
+
partial: true
|
|
2076
|
+
});
|
|
2041
2077
|
}
|
|
2042
2078
|
return events.length === 1 ? events[0] : events;
|
|
2043
2079
|
}
|
|
@@ -2504,13 +2540,16 @@ var opencodeAdapter = {
|
|
|
2504
2540
|
);
|
|
2505
2541
|
const events = [{ type: "tool_use", id, name, input }];
|
|
2506
2542
|
const output = state?.output;
|
|
2507
|
-
|
|
2543
|
+
const finished = state?.status === "completed" || state?.status === "error" || state?.status === "failed";
|
|
2544
|
+
const running = state?.status === "running" || state?.status === "in_progress" || state?.status === "pending";
|
|
2545
|
+
if (output != null || finished) {
|
|
2508
2546
|
const content = typeof output === "string" ? output : output != null ? JSON.stringify(output) : formatUnknownDetail(state?.error) || void 0;
|
|
2509
2547
|
events.push({
|
|
2510
2548
|
type: "tool_result",
|
|
2511
2549
|
id,
|
|
2512
2550
|
content,
|
|
2513
|
-
isError: state?.status === "error" || state?.status === "failed"
|
|
2551
|
+
isError: state?.status === "error" || state?.status === "failed",
|
|
2552
|
+
...running && !finished ? { partial: true } : {}
|
|
2514
2553
|
});
|
|
2515
2554
|
}
|
|
2516
2555
|
return events.length === 1 ? events[0] : events;
|
|
@@ -2545,14 +2584,17 @@ var opencodeAdapter = {
|
|
|
2545
2584
|
withEventParentId({ type: "tool_use", id, name, input }, parentId)
|
|
2546
2585
|
];
|
|
2547
2586
|
const output = state?.output ?? part.output;
|
|
2548
|
-
|
|
2587
|
+
const finished = state?.status === "completed" || state?.status === "error" || state?.status === "failed";
|
|
2588
|
+
const running = state?.status === "running" || state?.status === "in_progress" || state?.status === "pending";
|
|
2589
|
+
if (output != null || finished) {
|
|
2549
2590
|
nested.push(
|
|
2550
2591
|
withEventParentId(
|
|
2551
2592
|
{
|
|
2552
2593
|
type: "tool_result",
|
|
2553
2594
|
id,
|
|
2554
2595
|
content: typeof output === "string" ? output : output != null ? JSON.stringify(output) : void 0,
|
|
2555
|
-
isError: state?.status === "error" || state?.status === "failed"
|
|
2596
|
+
isError: state?.status === "error" || state?.status === "failed",
|
|
2597
|
+
...running && !finished ? { partial: true } : {}
|
|
2556
2598
|
},
|
|
2557
2599
|
parentId
|
|
2558
2600
|
)
|
|
@@ -3107,6 +3149,7 @@ export {
|
|
|
3107
3149
|
toolDescription,
|
|
3108
3150
|
isSubagentToolName,
|
|
3109
3151
|
isPollWrapperToolName,
|
|
3152
|
+
isShellToolName,
|
|
3110
3153
|
toolActivityLine,
|
|
3111
3154
|
liveActivitySummary,
|
|
3112
3155
|
messagePartParentId,
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
resolveQuotaFallbackAgent,
|
|
18
18
|
stripBrightsyNdjsonNoise,
|
|
19
19
|
toolDescription
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-5KSLD4MU.js";
|
|
21
21
|
import {
|
|
22
22
|
addWorkspace,
|
|
23
23
|
ensureWorkspace,
|
|
@@ -63,7 +63,7 @@ import {
|
|
|
63
63
|
shouldRetryFailedAgentTurn,
|
|
64
64
|
summarizeTurnStderr,
|
|
65
65
|
turnFailChatText
|
|
66
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-GBY7OOMB.js";
|
|
67
67
|
import {
|
|
68
68
|
releaseCaffeinateHoldForThread
|
|
69
69
|
} from "./chunk-DCOZABNT.js";
|
|
@@ -2455,7 +2455,7 @@ async function createThread(input, _onSetupLine) {
|
|
|
2455
2455
|
return readThread(thread.id) ?? thread;
|
|
2456
2456
|
}
|
|
2457
2457
|
async function listLinearIssues(agent, repoPath) {
|
|
2458
|
-
const { getAdapter: getAdapter2 } = await import("./agents-
|
|
2458
|
+
const { getAdapter: getAdapter2 } = await import("./agents-7NIX44RB.js");
|
|
2459
2459
|
await requireAgent(agent, { requireLinear: true });
|
|
2460
2460
|
const adapter = getAdapter2(agent);
|
|
2461
2461
|
if (!adapter.listLinearIssues) {
|
|
@@ -4743,14 +4743,15 @@ function formatArtifactDirective() {
|
|
|
4743
4743
|
return [
|
|
4744
4744
|
"Sideboard side column (desktop UI):",
|
|
4745
4745
|
"claude.ai\u2019s \u201CArtifact\u201D tool does NOT exist in Claude Code. That is expected.",
|
|
4746
|
+
"Do not unprompted-duplicate a payload. Chat markdown (including tables) already renders in the transcript \u2014 do not also call present_schema with those same rows just to display them. If the user asks for an editable / interactive table, call present_schema even if markdown already showed the data. Do not also call present_artifact for a document you already fenced in chat.",
|
|
4746
4747
|
"Documents (HTML/SVG/markdown):",
|
|
4747
4748
|
"1) Emit a fenced code block tagged `html` (preferred), `svg`, or `markdown` with the FULL document \u2014 Sideboard opens a side column. Example:",
|
|
4748
4749
|
"```html",
|
|
4749
4750
|
"<!DOCTYPE html><html><head><title>Demo</title></head><body><h1>Hi</h1></body></html>",
|
|
4750
4751
|
"```",
|
|
4751
|
-
"2) Or call Sideboard MCP `present_artifact` with title, type (html|svg|markdown), and content.",
|
|
4752
|
+
"2) Or call Sideboard MCP `present_artifact` with title, type (html|svg|markdown), and content \u2014 not both a fence and this tool for the same body.",
|
|
4752
4753
|
"CMS / JSON Schema forms & tables (Brightsy or any schema+schemaUi source):",
|
|
4753
|
-
"3) Call Sideboard MCP `present_schema`
|
|
4754
|
+
"3) Call Sideboard MCP `present_schema` when the user needs to filter, edit, publish, or persist rows \u2014 including after you already showed a markdown table, if they then ask for an editable table. If they only need to read the data, a markdown table is enough. When you do call it, pass title, mode (table|form), and either:",
|
|
4754
4755
|
" - datasource=brightsy + resource_id (record type UUID) after fetching types via Brightsy MCP, or",
|
|
4755
4756
|
" - datasource=inline + resource: { id, title, schema, schemaUi } and optional records/record.",
|
|
4756
4757
|
"Files / media browser (CMS file manager column):",
|
|
@@ -4759,11 +4760,11 @@ function formatArtifactDirective() {
|
|
|
4759
4760
|
"Multiple-choice questions:",
|
|
4760
4761
|
"5) Call Sideboard MCP `ask_user` only when work is blocked on choosing among a few concrete options (approach forks, which API, auth vs cookies). First write a short chat message that explains the decision and what each option means (tradeoffs, when to pick it). Include a description on every option. After calling, stop and wait for their next message with answers. If you are asking a real multiple-choice, use ask_user rather than chat bullets so Sideboard shows the composer picker.",
|
|
4761
4762
|
"Do not call ask_user for greetings, check-ins, \u201Chello\u201D, open-ended how-can-I-help, or to invent a menu of possible next tasks \u2014 reply in chat. If one option is the obvious default, proceed without asking.",
|
|
4762
|
-
"Never say artifacts, CMS UI, or the Files column are unavailable.
|
|
4763
|
+
"Never say artifacts, CMS UI, or the Files column are unavailable. present_schema is for interactive list/edit/publish (use it when they ask to edit, even if chat already had a markdown table); present_files for storage UI; html fences for standalone pages; ask_user only for those blocked predefined-option questions."
|
|
4763
4764
|
].join("\n");
|
|
4764
4765
|
}
|
|
4765
4766
|
function formatUiReminder() {
|
|
4766
|
-
return "Sideboard UI: html fence or present_artifact
|
|
4767
|
+
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. ask_user only for a real multiple-choice (not hellos or \u201Cwhat next?\u201D) \u2014 reply in chat. Do not say artifacts/CMS UI are unavailable.";
|
|
4767
4768
|
}
|
|
4768
4769
|
var FILES_BY_AGENT = {
|
|
4769
4770
|
claude: [
|
|
@@ -5108,7 +5109,7 @@ function formatScheduledPrompt(name, prompt) {
|
|
|
5108
5109
|
${prompt}`;
|
|
5109
5110
|
}
|
|
5110
5111
|
async function defaultDeps() {
|
|
5111
|
-
const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-
|
|
5112
|
+
const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-ZY4RUJKT.js");
|
|
5112
5113
|
const orch = getOrchestrator2();
|
|
5113
5114
|
return {
|
|
5114
5115
|
findThread: (id) => findThreadByRef(id),
|
|
@@ -585,7 +585,7 @@ function cursorSdkMessageToEvents(msg) {
|
|
|
585
585
|
if (msg.type === "tool_call" && msg.call_id && msg.name) {
|
|
586
586
|
const normalized = normalizeCursorToolCall(msg.name, msg.args);
|
|
587
587
|
if (msg.status === "running") {
|
|
588
|
-
|
|
588
|
+
const events = [
|
|
589
589
|
{
|
|
590
590
|
type: "tool_use",
|
|
591
591
|
id: msg.call_id,
|
|
@@ -593,6 +593,16 @@ function cursorSdkMessageToEvents(msg) {
|
|
|
593
593
|
input: normalized.input
|
|
594
594
|
}
|
|
595
595
|
];
|
|
596
|
+
const live = unwrapCursorToolResult(msg.result);
|
|
597
|
+
if (live) {
|
|
598
|
+
events.push({
|
|
599
|
+
type: "tool_result",
|
|
600
|
+
id: msg.call_id,
|
|
601
|
+
content: live,
|
|
602
|
+
partial: true
|
|
603
|
+
});
|
|
604
|
+
}
|
|
605
|
+
return events;
|
|
596
606
|
}
|
|
597
607
|
if (msg.status === "completed" || msg.status === "error") {
|
|
598
608
|
return [
|
|
@@ -653,6 +663,17 @@ function nestedUpdateToEvents(update, parentId) {
|
|
|
653
663
|
isError: cursorToolResultIsError(void 0, update.toolCall.result),
|
|
654
664
|
parentId
|
|
655
665
|
});
|
|
666
|
+
} else {
|
|
667
|
+
const live = unwrapCursorToolResult(update.toolCall.result);
|
|
668
|
+
if (live) {
|
|
669
|
+
events.push({
|
|
670
|
+
type: "tool_result",
|
|
671
|
+
id: update.callId,
|
|
672
|
+
content: live,
|
|
673
|
+
partial: true,
|
|
674
|
+
parentId
|
|
675
|
+
});
|
|
676
|
+
}
|
|
656
677
|
}
|
|
657
678
|
return events;
|
|
658
679
|
}
|
|
@@ -1007,6 +1007,30 @@ function applyAgentEvent(parts, event) {
|
|
|
1007
1007
|
if (event.type === "tool_result") {
|
|
1008
1008
|
const existing = parts.findIndex((p) => p.type === "tool" && p.id === event.id);
|
|
1009
1009
|
const fromResult = parseDiffStat(event.content);
|
|
1010
|
+
if (event.partial) {
|
|
1011
|
+
if (existing < 0) {
|
|
1012
|
+
return [
|
|
1013
|
+
...parts,
|
|
1014
|
+
{
|
|
1015
|
+
type: "tool",
|
|
1016
|
+
id: event.id,
|
|
1017
|
+
name: "tool",
|
|
1018
|
+
description: "tool",
|
|
1019
|
+
status: event.isError ? "error" : "running",
|
|
1020
|
+
result: event.content,
|
|
1021
|
+
...event.parentId ? { parentId: event.parentId } : {}
|
|
1022
|
+
}
|
|
1023
|
+
];
|
|
1024
|
+
}
|
|
1025
|
+
return parts.map((p, i) => {
|
|
1026
|
+
if (i !== existing || p.type !== "tool") return p;
|
|
1027
|
+
if (p.status === "done" || p.status === "error") return p;
|
|
1028
|
+
return {
|
|
1029
|
+
...p,
|
|
1030
|
+
result: event.content ?? p.result
|
|
1031
|
+
};
|
|
1032
|
+
});
|
|
1033
|
+
}
|
|
1010
1034
|
if (existing < 0) {
|
|
1011
1035
|
return [
|
|
1012
1036
|
...parts,
|
|
@@ -2352,13 +2376,22 @@ var codexAdapter = {
|
|
|
2352
2376
|
const events = [
|
|
2353
2377
|
{ type: "tool_use", id: item.id, name: "Bash", input }
|
|
2354
2378
|
];
|
|
2355
|
-
|
|
2379
|
+
const finished = type === "item.completed" || item.status === "completed" || item.status === "failed";
|
|
2380
|
+
const output = typeof item.aggregated_output === "string" && item.aggregated_output ? item.aggregated_output : void 0;
|
|
2381
|
+
if (finished) {
|
|
2356
2382
|
events.push({
|
|
2357
2383
|
type: "tool_result",
|
|
2358
2384
|
id: item.id,
|
|
2359
|
-
content:
|
|
2385
|
+
content: output,
|
|
2360
2386
|
isError: item.status === "failed"
|
|
2361
2387
|
});
|
|
2388
|
+
} else if (output) {
|
|
2389
|
+
events.push({
|
|
2390
|
+
type: "tool_result",
|
|
2391
|
+
id: item.id,
|
|
2392
|
+
content: output,
|
|
2393
|
+
partial: true
|
|
2394
|
+
});
|
|
2362
2395
|
}
|
|
2363
2396
|
return events.length === 1 ? events[0] : events;
|
|
2364
2397
|
}
|
|
@@ -2579,7 +2612,7 @@ function cursorSdkMessageToEvents(msg) {
|
|
|
2579
2612
|
if (msg.type === "tool_call" && msg.call_id && msg.name) {
|
|
2580
2613
|
const normalized = normalizeCursorToolCall(msg.name, msg.args);
|
|
2581
2614
|
if (msg.status === "running") {
|
|
2582
|
-
|
|
2615
|
+
const events = [
|
|
2583
2616
|
{
|
|
2584
2617
|
type: "tool_use",
|
|
2585
2618
|
id: msg.call_id,
|
|
@@ -2587,6 +2620,16 @@ function cursorSdkMessageToEvents(msg) {
|
|
|
2587
2620
|
input: normalized.input
|
|
2588
2621
|
}
|
|
2589
2622
|
];
|
|
2623
|
+
const live = unwrapCursorToolResult(msg.result);
|
|
2624
|
+
if (live) {
|
|
2625
|
+
events.push({
|
|
2626
|
+
type: "tool_result",
|
|
2627
|
+
id: msg.call_id,
|
|
2628
|
+
content: live,
|
|
2629
|
+
partial: true
|
|
2630
|
+
});
|
|
2631
|
+
}
|
|
2632
|
+
return events;
|
|
2590
2633
|
}
|
|
2591
2634
|
if (msg.status === "completed" || msg.status === "error") {
|
|
2592
2635
|
return [
|
|
@@ -3056,13 +3099,16 @@ var opencodeAdapter = {
|
|
|
3056
3099
|
);
|
|
3057
3100
|
const events = [{ type: "tool_use", id, name, input }];
|
|
3058
3101
|
const output = state?.output;
|
|
3059
|
-
|
|
3102
|
+
const finished = state?.status === "completed" || state?.status === "error" || state?.status === "failed";
|
|
3103
|
+
const running = state?.status === "running" || state?.status === "in_progress" || state?.status === "pending";
|
|
3104
|
+
if (output != null || finished) {
|
|
3060
3105
|
const content = typeof output === "string" ? output : output != null ? JSON.stringify(output) : formatUnknownDetail(state?.error) || void 0;
|
|
3061
3106
|
events.push({
|
|
3062
3107
|
type: "tool_result",
|
|
3063
3108
|
id,
|
|
3064
3109
|
content,
|
|
3065
|
-
isError: state?.status === "error" || state?.status === "failed"
|
|
3110
|
+
isError: state?.status === "error" || state?.status === "failed",
|
|
3111
|
+
...running && !finished ? { partial: true } : {}
|
|
3066
3112
|
});
|
|
3067
3113
|
}
|
|
3068
3114
|
return events.length === 1 ? events[0] : events;
|
|
@@ -3097,14 +3143,17 @@ var opencodeAdapter = {
|
|
|
3097
3143
|
withEventParentId({ type: "tool_use", id, name, input }, parentId)
|
|
3098
3144
|
];
|
|
3099
3145
|
const output = state?.output ?? part.output;
|
|
3100
|
-
|
|
3146
|
+
const finished = state?.status === "completed" || state?.status === "error" || state?.status === "failed";
|
|
3147
|
+
const running = state?.status === "running" || state?.status === "in_progress" || state?.status === "pending";
|
|
3148
|
+
if (output != null || finished) {
|
|
3101
3149
|
nested.push(
|
|
3102
3150
|
withEventParentId(
|
|
3103
3151
|
{
|
|
3104
3152
|
type: "tool_result",
|
|
3105
3153
|
id,
|
|
3106
3154
|
content: typeof output === "string" ? output : output != null ? JSON.stringify(output) : void 0,
|
|
3107
|
-
isError: state?.status === "error" || state?.status === "failed"
|
|
3155
|
+
isError: state?.status === "error" || state?.status === "failed",
|
|
3156
|
+
...running && !finished ? { partial: true } : {}
|
|
3108
3157
|
},
|
|
3109
3158
|
parentId
|
|
3110
3159
|
)
|
package/dist/index.cjs
CHANGED
|
@@ -7766,6 +7766,9 @@ function classifyTool(name) {
|
|
|
7766
7766
|
}
|
|
7767
7767
|
return "other";
|
|
7768
7768
|
}
|
|
7769
|
+
function isShellToolName(name) {
|
|
7770
|
+
return classifyTool(name ?? "") === "shell";
|
|
7771
|
+
}
|
|
7769
7772
|
function toolActivityLine(parts) {
|
|
7770
7773
|
const tools = parts.filter((p) => {
|
|
7771
7774
|
if (p.type !== "tool" || p.parentId) return false;
|
|
@@ -8013,6 +8016,30 @@ function applyAgentEvent(parts, event) {
|
|
|
8013
8016
|
if (event.type === "tool_result") {
|
|
8014
8017
|
const existing = parts.findIndex((p) => p.type === "tool" && p.id === event.id);
|
|
8015
8018
|
const fromResult = parseDiffStat(event.content);
|
|
8019
|
+
if (event.partial) {
|
|
8020
|
+
if (existing < 0) {
|
|
8021
|
+
return [
|
|
8022
|
+
...parts,
|
|
8023
|
+
{
|
|
8024
|
+
type: "tool",
|
|
8025
|
+
id: event.id,
|
|
8026
|
+
name: "tool",
|
|
8027
|
+
description: "tool",
|
|
8028
|
+
status: event.isError ? "error" : "running",
|
|
8029
|
+
result: event.content,
|
|
8030
|
+
...event.parentId ? { parentId: event.parentId } : {}
|
|
8031
|
+
}
|
|
8032
|
+
];
|
|
8033
|
+
}
|
|
8034
|
+
return parts.map((p, i) => {
|
|
8035
|
+
if (i !== existing || p.type !== "tool") return p;
|
|
8036
|
+
if (p.status === "done" || p.status === "error") return p;
|
|
8037
|
+
return {
|
|
8038
|
+
...p,
|
|
8039
|
+
result: event.content ?? p.result
|
|
8040
|
+
};
|
|
8041
|
+
});
|
|
8042
|
+
}
|
|
8016
8043
|
if (existing < 0) {
|
|
8017
8044
|
return [
|
|
8018
8045
|
...parts,
|
|
@@ -9445,13 +9472,22 @@ var init_codex = __esm({
|
|
|
9445
9472
|
const events = [
|
|
9446
9473
|
{ type: "tool_use", id: item.id, name: "Bash", input }
|
|
9447
9474
|
];
|
|
9448
|
-
|
|
9475
|
+
const finished = type === "item.completed" || item.status === "completed" || item.status === "failed";
|
|
9476
|
+
const output = typeof item.aggregated_output === "string" && item.aggregated_output ? item.aggregated_output : void 0;
|
|
9477
|
+
if (finished) {
|
|
9449
9478
|
events.push({
|
|
9450
9479
|
type: "tool_result",
|
|
9451
9480
|
id: item.id,
|
|
9452
|
-
content:
|
|
9481
|
+
content: output,
|
|
9453
9482
|
isError: item.status === "failed"
|
|
9454
9483
|
});
|
|
9484
|
+
} else if (output) {
|
|
9485
|
+
events.push({
|
|
9486
|
+
type: "tool_result",
|
|
9487
|
+
id: item.id,
|
|
9488
|
+
content: output,
|
|
9489
|
+
partial: true
|
|
9490
|
+
});
|
|
9455
9491
|
}
|
|
9456
9492
|
return events.length === 1 ? events[0] : events;
|
|
9457
9493
|
}
|
|
@@ -9667,7 +9703,7 @@ function cursorSdkMessageToEvents(msg) {
|
|
|
9667
9703
|
if (msg.type === "tool_call" && msg.call_id && msg.name) {
|
|
9668
9704
|
const normalized = normalizeCursorToolCall(msg.name, msg.args);
|
|
9669
9705
|
if (msg.status === "running") {
|
|
9670
|
-
|
|
9706
|
+
const events = [
|
|
9671
9707
|
{
|
|
9672
9708
|
type: "tool_use",
|
|
9673
9709
|
id: msg.call_id,
|
|
@@ -9675,6 +9711,16 @@ function cursorSdkMessageToEvents(msg) {
|
|
|
9675
9711
|
input: normalized.input
|
|
9676
9712
|
}
|
|
9677
9713
|
];
|
|
9714
|
+
const live = unwrapCursorToolResult(msg.result);
|
|
9715
|
+
if (live) {
|
|
9716
|
+
events.push({
|
|
9717
|
+
type: "tool_result",
|
|
9718
|
+
id: msg.call_id,
|
|
9719
|
+
content: live,
|
|
9720
|
+
partial: true
|
|
9721
|
+
});
|
|
9722
|
+
}
|
|
9723
|
+
return events;
|
|
9678
9724
|
}
|
|
9679
9725
|
if (msg.status === "completed" || msg.status === "error") {
|
|
9680
9726
|
return [
|
|
@@ -10192,13 +10238,16 @@ var init_opencode = __esm({
|
|
|
10192
10238
|
);
|
|
10193
10239
|
const events = [{ type: "tool_use", id, name, input }];
|
|
10194
10240
|
const output = state?.output;
|
|
10195
|
-
|
|
10241
|
+
const finished = state?.status === "completed" || state?.status === "error" || state?.status === "failed";
|
|
10242
|
+
const running = state?.status === "running" || state?.status === "in_progress" || state?.status === "pending";
|
|
10243
|
+
if (output != null || finished) {
|
|
10196
10244
|
const content = typeof output === "string" ? output : output != null ? JSON.stringify(output) : formatUnknownDetail(state?.error) || void 0;
|
|
10197
10245
|
events.push({
|
|
10198
10246
|
type: "tool_result",
|
|
10199
10247
|
id,
|
|
10200
10248
|
content,
|
|
10201
|
-
isError: state?.status === "error" || state?.status === "failed"
|
|
10249
|
+
isError: state?.status === "error" || state?.status === "failed",
|
|
10250
|
+
...running && !finished ? { partial: true } : {}
|
|
10202
10251
|
});
|
|
10203
10252
|
}
|
|
10204
10253
|
return events.length === 1 ? events[0] : events;
|
|
@@ -10233,14 +10282,17 @@ var init_opencode = __esm({
|
|
|
10233
10282
|
withEventParentId({ type: "tool_use", id, name, input }, parentId)
|
|
10234
10283
|
];
|
|
10235
10284
|
const output = state?.output ?? part.output;
|
|
10236
|
-
|
|
10285
|
+
const finished = state?.status === "completed" || state?.status === "error" || state?.status === "failed";
|
|
10286
|
+
const running = state?.status === "running" || state?.status === "in_progress" || state?.status === "pending";
|
|
10287
|
+
if (output != null || finished) {
|
|
10237
10288
|
nested.push(
|
|
10238
10289
|
withEventParentId(
|
|
10239
10290
|
{
|
|
10240
10291
|
type: "tool_result",
|
|
10241
10292
|
id,
|
|
10242
10293
|
content: typeof output === "string" ? output : output != null ? JSON.stringify(output) : void 0,
|
|
10243
|
-
isError: state?.status === "error" || state?.status === "failed"
|
|
10294
|
+
isError: state?.status === "error" || state?.status === "failed",
|
|
10295
|
+
...running && !finished ? { partial: true } : {}
|
|
10244
10296
|
},
|
|
10245
10297
|
parentId
|
|
10246
10298
|
)
|
|
@@ -15214,14 +15266,15 @@ function formatArtifactDirective() {
|
|
|
15214
15266
|
return [
|
|
15215
15267
|
"Sideboard side column (desktop UI):",
|
|
15216
15268
|
"claude.ai\u2019s \u201CArtifact\u201D tool does NOT exist in Claude Code. That is expected.",
|
|
15269
|
+
"Do not unprompted-duplicate a payload. Chat markdown (including tables) already renders in the transcript \u2014 do not also call present_schema with those same rows just to display them. If the user asks for an editable / interactive table, call present_schema even if markdown already showed the data. Do not also call present_artifact for a document you already fenced in chat.",
|
|
15217
15270
|
"Documents (HTML/SVG/markdown):",
|
|
15218
15271
|
"1) Emit a fenced code block tagged `html` (preferred), `svg`, or `markdown` with the FULL document \u2014 Sideboard opens a side column. Example:",
|
|
15219
15272
|
"```html",
|
|
15220
15273
|
"<!DOCTYPE html><html><head><title>Demo</title></head><body><h1>Hi</h1></body></html>",
|
|
15221
15274
|
"```",
|
|
15222
|
-
"2) Or call Sideboard MCP `present_artifact` with title, type (html|svg|markdown), and content.",
|
|
15275
|
+
"2) Or call Sideboard MCP `present_artifact` with title, type (html|svg|markdown), and content \u2014 not both a fence and this tool for the same body.",
|
|
15223
15276
|
"CMS / JSON Schema forms & tables (Brightsy or any schema+schemaUi source):",
|
|
15224
|
-
"3) Call Sideboard MCP `present_schema`
|
|
15277
|
+
"3) Call Sideboard MCP `present_schema` when the user needs to filter, edit, publish, or persist rows \u2014 including after you already showed a markdown table, if they then ask for an editable table. If they only need to read the data, a markdown table is enough. When you do call it, pass title, mode (table|form), and either:",
|
|
15225
15278
|
" - datasource=brightsy + resource_id (record type UUID) after fetching types via Brightsy MCP, or",
|
|
15226
15279
|
" - datasource=inline + resource: { id, title, schema, schemaUi } and optional records/record.",
|
|
15227
15280
|
"Files / media browser (CMS file manager column):",
|
|
@@ -15230,11 +15283,11 @@ function formatArtifactDirective() {
|
|
|
15230
15283
|
"Multiple-choice questions:",
|
|
15231
15284
|
"5) Call Sideboard MCP `ask_user` only when work is blocked on choosing among a few concrete options (approach forks, which API, auth vs cookies). First write a short chat message that explains the decision and what each option means (tradeoffs, when to pick it). Include a description on every option. After calling, stop and wait for their next message with answers. If you are asking a real multiple-choice, use ask_user rather than chat bullets so Sideboard shows the composer picker.",
|
|
15232
15285
|
"Do not call ask_user for greetings, check-ins, \u201Chello\u201D, open-ended how-can-I-help, or to invent a menu of possible next tasks \u2014 reply in chat. If one option is the obvious default, proceed without asking.",
|
|
15233
|
-
"Never say artifacts, CMS UI, or the Files column are unavailable.
|
|
15286
|
+
"Never say artifacts, CMS UI, or the Files column are unavailable. present_schema is for interactive list/edit/publish (use it when they ask to edit, even if chat already had a markdown table); present_files for storage UI; html fences for standalone pages; ask_user only for those blocked predefined-option questions."
|
|
15234
15287
|
].join("\n");
|
|
15235
15288
|
}
|
|
15236
15289
|
function formatUiReminder() {
|
|
15237
|
-
return "Sideboard UI: html fence or present_artifact
|
|
15290
|
+
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. ask_user only for a real multiple-choice (not hellos or \u201Cwhat next?\u201D) \u2014 reply in chat. Do not say artifacts/CMS UI are unavailable.";
|
|
15238
15291
|
}
|
|
15239
15292
|
function loadAgentInstructions(worktreePath, agent) {
|
|
15240
15293
|
const candidates = FILES_BY_AGENT[agent] ?? FILES_BY_AGENT.claude;
|
|
@@ -17873,6 +17926,7 @@ __export(index_exports, {
|
|
|
17873
17926
|
isPresentPlanToolName: () => isPresentPlanToolName,
|
|
17874
17927
|
isPrimaryCheckoutThread: () => isPrimaryCheckoutThread,
|
|
17875
17928
|
isSessionQuotaLimit: () => isSessionQuotaLimit,
|
|
17929
|
+
isShellToolName: () => isShellToolName,
|
|
17876
17930
|
isSideboardScratchPath: () => isSideboardScratchPath,
|
|
17877
17931
|
isSlackCoordinatorThread: () => isSlackCoordinatorThread,
|
|
17878
17932
|
isSlackExternalReplyPrompt: () => isSlackExternalReplyPrompt,
|
|
@@ -20022,7 +20076,7 @@ async function startMcpServer() {
|
|
|
20022
20076
|
}
|
|
20023
20077
|
server.tool(
|
|
20024
20078
|
"present_artifact",
|
|
20025
|
-
"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.",
|
|
20079
|
+
"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. Do not also emit the same document as a chat html/markdown fence. 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.",
|
|
20026
20080
|
{
|
|
20027
20081
|
title: import_zod4.z.string().describe("Short title shown in the artifact pane header"),
|
|
20028
20082
|
type: import_zod4.z.enum(["html", "svg", "markdown", "react"]).describe(
|
|
@@ -20099,7 +20153,7 @@ async function startMcpServer() {
|
|
|
20099
20153
|
);
|
|
20100
20154
|
server.tool(
|
|
20101
20155
|
"present_schema",
|
|
20102
|
-
"Open Sideboard\u2019s schema-driven side column (filterable table and/or form). Pass JSON Schema + optional schemaUi. Prefer datasource=inline with embedded resource/records. Use datasource=brightsy with resource_id only when the user is logged into Brightsy.",
|
|
20156
|
+
"Open Sideboard\u2019s schema-driven side column (filterable table and/or form) when the user needs to filter, edit, publish, or persist records. Do not call this just to re-display rows you already wrote as a markdown table. If the user asks for an editable / interactive table, call this even if chat already showed those rows. Pass JSON Schema + optional schemaUi. Prefer datasource=inline with embedded resource/records. Use datasource=brightsy with resource_id only when the user is logged into Brightsy.",
|
|
20103
20157
|
{
|
|
20104
20158
|
title: import_zod4.z.string().describe("Pane title"),
|
|
20105
20159
|
mode: import_zod4.z.enum(["table", "form"]).optional().describe("table = list/filter records; form = edit one record"),
|
|
@@ -23629,6 +23683,7 @@ init_outbound_watch();
|
|
|
23629
23683
|
isPresentPlanToolName,
|
|
23630
23684
|
isPrimaryCheckoutThread,
|
|
23631
23685
|
isSessionQuotaLimit,
|
|
23686
|
+
isShellToolName,
|
|
23632
23687
|
isSideboardScratchPath,
|
|
23633
23688
|
isSlackCoordinatorThread,
|
|
23634
23689
|
isSlackExternalReplyPrompt,
|
package/dist/index.d.cts
CHANGED
|
@@ -441,6 +441,11 @@ type AgentEvent = {
|
|
|
441
441
|
content?: string;
|
|
442
442
|
isError?: boolean;
|
|
443
443
|
parentId?: string;
|
|
444
|
+
/**
|
|
445
|
+
* Update `result` without finishing the tool (live command tail).
|
|
446
|
+
* Codex `command_execution.aggregated_output` while in progress.
|
|
447
|
+
*/
|
|
448
|
+
partial?: boolean;
|
|
444
449
|
} | {
|
|
445
450
|
type: 'usage';
|
|
446
451
|
data: TokenUsage;
|
|
@@ -2213,6 +2218,7 @@ declare function toolDescription(name: string, input?: Record<string, unknown>):
|
|
|
2213
2218
|
declare function isSubagentToolName(name: string | undefined): boolean;
|
|
2214
2219
|
/** Bash/Agent poll wrappers — not the interesting work the user wants to see. */
|
|
2215
2220
|
declare function isPollWrapperToolName(name: string | undefined): boolean;
|
|
2221
|
+
declare function isShellToolName(name: string | undefined): boolean;
|
|
2216
2222
|
/**
|
|
2217
2223
|
* Cursor-style footer for a finished (or in-flight) turn: “Edited foo.ts, 1 search, ran 2 commands”.
|
|
2218
2224
|
*/
|
|
@@ -4744,4 +4750,4 @@ interface SlackRelayClientOptions {
|
|
|
4744
4750
|
*/
|
|
4745
4751
|
declare function runSlackRelayClient(opts: SlackRelayClientOptions): Promise<void>;
|
|
4746
4752
|
|
|
4747
|
-
export { AGENT_GIT_ACTIONS, AGENT_RUNNER_MAX_OLD_SPACE_MB, ATTACHMENTS_DIR, type ActiveRun, type AddStackLayerInput, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentEvent, type AgentGitAction, type AgentInstructionFile, 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, type BranchInfo, type BrightsyAccount, type BrightsyChatTarget, type BrightsyChatTargets, type BrightsyCloudConnectAgent, type BrightsyHarnessSettings, type BrightsySession, BrightsySideboardApi, type BrightsyTeamTargets, CLAUDE_MODEL_CATALOG, 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, CONVENTION_SETUP_RELPATHS, COORDINATOR_TOOL_PLAYBOOK, type CaffeinateHoldState, type ClaudeHarnessSettings, type CleanupOrphansResult, type CliAgentKind, type CliExecutableSettings, type CloudConnectAgent, type CloudConnectOptions, type CloudConnectStatus, 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 CursorModelInfo, type CursorSdkStreamMessage, type CursorTurnRequest, type CursorWorktreesConfig, type DefaultsAppSettings, type DevServerHandle, type DiffCommentInput, type DiffCommentLine, type DiffCommit, type DiffFile, type DiffResult, type DiffScope, type DiffScopeStat, type ExpandResult, FAMOUS_SOCCER_TEAMS, type ForkChatTabInput, type ForkThreadWorktreeInput, type FormatGhLandErrorOptions, GITHUB_GIT_AUTH_MODES, GLOBAL_WORKSPACE_ID, type GetDiffOptions, type GhStackStatus, type GitHubStatus, type GitWorktreeStatus, type GithubGitAuthMode, HARNESS_ENV_KEYS, type HarnessId, type InitStackFromThreadInput, type IntegrationsSettings, type IpcApi, type IssueInfo, type IssueSource, LEGACY_ATTACHMENTS_DIR, LEGACY_PLAN_FILE_REL, LEGACY_REVIEW_REQUEST_PATH, LINEAR_OAUTH_CANCELLED, LINEAR_OAUTH_PORT, LINEAR_OAUTH_REDIRECT, LINEAR_OAUTH_SCOPES, type LandPreview, type LandResult, type LinearComment, type LinearIssue, LinearOAuthCancelledError, type LinearTeam, type LinearTeamsResult, type LinearWorkflowState, type ListIssuesResult, MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS, type McpServerStatus, type MessagePart, ORCHESTRATOR_AGENT_KINDS, type OpenPrStackLayersInput, type OpenStackLayerInput, type OpenStackLayerResult, type OrchestrationQuotaOnLimit, Orchestrator, type OrchestratorAgentKind, type OrchestratorEvent, type OrchestratorRuntime, type OrphanWorktree, PASTE_ATTACH_MIN_CHARS, PASTE_ATTACH_MIN_LINES, PLAN_FILE_NAME, PLAN_FILE_REL, PLAN_MODE_INSTRUCTION, 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 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 ResolvedReviewGuidelines, type ReviewGuidelinesSource, type RunMode, type RunScript, 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 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 SlackReplyBadge, 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, WORKTREE_MCP_TOOLS, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, ackSlackInboundSeen, addPrStackLayer, addStackLayerFromThread, addWorkspace, adoptThread, agentGitPrompt, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendIndexedGitConfig, appendMessage, applyAgentEvent, applyAgentRunnerHeapEnv, applyAppEnvironment, applyCompaction, applyGithubGitAuthEnv, applyPromptCacheTtlEnv, applyThreadIntoMain, applyTurnUsage, armSchedules, assertOrchestratorCapableAgent, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, attachmentsGitignoreBody, autoArchiveOnMergeEnabled, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyInjectWorktreeMcpEnabled, brightsyMcpAllowedTools, brightsyMcpServerName, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildPastedTextAttachment, buildReviewRequestAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateHoldPath, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, caffeinateWhileSchedulesEnabled, caffeinateWhileSlackListenEnabled, captureLoginEnv, captureTurnBaseline, checkoutPrStackLayer, childEnvWithAppSettings, claimDesktopHost, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, cloneRepoIntoSideboard, codexAdapter, codexSandboxWritableRootsArgs, codexUnattendedGitConfigArgs, coerceOrchestratorAgent, collectTakenTeamSlugs, commentLinearIssue, commitAll, computeNextRunAt, conductorBundledBinDir, conductorDbPath, confirmLand, connectBrightsyTeam, connectSlackToken, contextTokens, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, cowboyModeEnabled, createChatTab, createEmptyThread, createExistingBranchWorktree, createGlobalChat, createLinearIssue, createLinearPkce, createOrUpdatePr, createPrStack, createSchedule, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, defaultScheduleName, deleteBranchOnPurgeEnabled, deleteSchedule, deleteThreadRecord, desktopHostPidPath, detectAgents, detectGhStack, detectLocalMergeConflicts, disconnectBrightsyTeam, disconnectLinear, disconnectLinearConnection, disconnectSlackWorkspace, discoverSkills, dismissSlackReplyBadge, dropCachedPrefixOnResume, encodeBrightsyTarget, enrichPathWithNpmGlobalBin, enrichWorkspacesWithGithub, ensureAgentPath, ensureCloudCoordinator, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureReviewRequestFile, ensureReviewSkillFile, ensureSlackCoordinator, ensureSlackDeviceIdentity, ensureWorkspace, estimateMessageChars, estimateThreadChars, expandComposerPrompt, extractGhErrorDetail, extractPendingPlanQuestions, extractPresentedPlan, extractiveSummary, fetchPrHead, finalizeParts, findConventionSetup, findInvalidCacheControlTtlOrder, findOrphanWorktrees, findSlackCoordinator, findThreadByRef, findThreadForStackLayer, fireSchedule, flattenTurnInput, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAgentInstructions, formatArtifactDirective, formatBrightsyFetchError, formatFetchError, formatGhLandError, formatGitAuthModeDirective, formatIpcInvokeError, formatMergePrError, formatMessagesAsTranscript, formatPlanQuestionAnswers, formatPlanQuestionsForChat, formatProcessGuideDirective, formatRateLimitResetHint, formatRenameBranchDirective, formatScheduleWhen, formatScheduledPrompt, formatSlackExternalReplyPrompt, formatSlackInboundPrompt, formatSlackRepliesForTurn, formatSlackSignedReply, formatSlackWorkingText, formatTranscriptMarkdown, formatUiReminder, formatWorkspaceInventory, formatWorktreeDirective, formatWorktreeReminder, fromInclusiveInputUsage, getAdapter, getAgentSetupInfo, getBrightsySession, getCaffeinateHold, getDefaultAgent, getDefaultEffort, getDefaultFast, getDefaultModel, getDefaultRunScript, getDiff, getDiffSummary, getGitHubStatus, getGithubGitAuthMode, getGithubPat, getIssueSource, getLinearApiKey, getLinearAuthToken, getLinearIssue, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrForHeadBranch, getPrMeta, getPrStack, getRepoSetupInfo, getRunMode, getRunScript, getSchedule, getSlackWorkspace, gh, ghHeadRef, ghRepoSelectArgs, git, githubAgentGitEnv, globalAgentCwd, handleSlackInbound, harnessEnvKey, hasBakedLinearOAuth, hasBakedSlackOAuth, hasConductorHook, hasConventionSetup, hasCursorWorktreeSetup, hasEnabledSchedules, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, httpFetch, importConductorWorkspace, importConductorWorkspaceAsync, initPrStack, initStackFromThread, initializeGitRepository, inspectGitWorktree, installAgent, interruptSlackCoordinatorForInbound, isAskUserToolName, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isConductorBundledCli, isCowboyThread, isCursorAutoModel, isDefaultishSourceRef, isDesktopHostAlive, isDirty, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isImageFilePath, isInPrStack, isInboundForThisDesktop, isLinearConnected, isLinearOAuthCancelled, isOrchestratorCapableAgent, isOrchestratorThread, isPidAlive, isPlaceholderBranch, isPollWrapperToolName, isPrNotMergeableError, isPresentPlanToolName, isPrimaryCheckoutThread, isSessionQuotaLimit, isSideboardScratchPath, isSlackCoordinatorThread, isSlackExternalReplyPrompt, isSlackOAuthCancelled, isSubagentToolName, isThinkingEffort, isThisProcessDesktopHost, isThreadCaffeinated, isWorkspaceScratchPath, lastRequestOccupancy, linearAuthorizationHeader, linearGraphql, linearOAuthAuthorizeUrl, linearOAuthCredentials, listAgentSetupInfo, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssues, listGlobalThreads, listIssues, listLinearIssues, listLinearIssuesDirect, listLinearTeams, listModelsForAgent, listOpencodeModels, listPrs, listRunScripts, listSchedules, listSlackOutboundWatches, listSlackReplyBadges, listSlackWorkspaces, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, liveActivitySummary, loadAgentInstructions, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mergeAgentGitAuthEnv, mergePr, mergePrStack, mergeSideboardIntoMcpServersJson, mergeUsage, messagePartParentId, nextPastedTextName, nextThinkingEffort, nonInteractiveGitProcessEnv, normalizeParseResult, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, openPrStackLayers, openStackLayer, opencodeAdapter, orchestrationQuotaFallbackAgent, orchestrationQuotaOnLimit, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originGhRepoEnv, parseCursorRunnerLine, parseDurationMs, parseForceStopMessage, parseGhStackViewJson, parseGithubSlugFromRemoteUrl, parseMcpList, parsePlanQuestionsInput, parseSessionQuotaResetAt, parseSlackRelayClientMessage, parseSlackRelayServerMessage, partsToAssistantText, pastedTextStats, pendingSlackExternalReplies, permalinkForSlackReplyBadge, permissionMode, persistVaultKeyInKeychain, planFileAbs, posixShellSingleQuote, prepareTerminalCommand, previewLand, promptMentionsBrightsy, pushBranch, readExistingReviewRequestFile, readKeychainVaultKey, readPlanFile, readSkillBody, readThread, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, recordScheduleRun, recordSlackOutboundWatch, refreshGitHubAuth, refreshSlackReplyBadges, registerPackagedUserMcpClients, releaseCaffeinateHoldForThread, releaseDesktopHost, removeWorkspace, removeWorktree, repoSlug, requestOccupancy, requestReview, requireAgent, resetGhStackDetectCache, resetGithubAgentTokenMemo, resolveAgentExecutable, resolveAgentGitAuthEnv, resolveClaudeExecutable, resolveCodexGitWritableRoots, resolveCommandBinarySync, resolveConductorCursorAgentId, resolveCursorModelId, resolveDefaultBranch, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGhAuthToken, resolveGitDirsForLockRecovery, resolveGithubAgentToken, resolveGithubRepoSlug, resolveLinearState, resolveLinearTeam, resolveLoginCommand, resolveNewThreadOptions, resolvePlanMarkdown, resolvePrSelector, resolvePrSelectors, resolveQuotaFallbackAgent, resolveRepoRoot, resolveReviewGuidelines, resolveScheduleThreadId, resolveSlackListenMode, resolveThreadDefaults, resolveThreadEffort, resolveVaultKey, resolveWorktreeStartPoint, rewriteLinearError, run, runArchiveScript, runCloudConnect, runConventionSetup, runCursorWorktreeSetup, runSetupScript, runSlackListen, runSlackRelayClient, runWorkspaceSetup, sameWorktreePath, sanitizeMcpServerName, saveAppSettings, saveLinearOAuth, schedulesPath, scrubGithubTokensFromChildEnv, secureFileUnlocksWith, setCaffeinateHold, setHttpFetchImpl, setStatus, setVaultMasterKey, settingsSourceLabel, shouldAttachPastedText, shouldCompactContext, shouldInjectBrightsyMcp, shouldRefreshReviewRequestTemplate, shouldRemoveWorktreeOnTeardown, shouldResetSessionForOccupancy, shouldRunWorktreeCleanup, sideboardHomeDir, sideboardMcpProfile, sideboardReposDir, sideboardWorkspacesDir, slackAppLevelToken, slackArchiveUrl, slackCoordinatorSourceRef, slackListenEnabled, slackOAuthCredentials, slackOAuthResultUrl, slackRelayUrl, slugify, spawnAgentTurn, splitForCompaction, stackAgentDefaultsFrom, stackIdFrom, stackMergeReadiness, stageAbsolutePathsAsAttachments, stageBuffersAsAttachments, startDevServer, startLinearOAuth, startMcpServer, startOrchestration, startSlackOAuth, startSlackRelayServer, stripBrightsyNdjsonNoise, stripNestedElectronEnv, submitPrStack, suggestSlug, summarizeConversation, switchBrightsyAccount, syncWorkspacesFromThreads, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, thinkingEffortBars, thinkingEffortLabel, thisProcessShouldDrainAgentQueues, threadDisplayLabel, threadFilePath, threadLivePath, threadLockPath, threadRequestsBrightsyMcp, threadsDir, threadsSharingWorktree, toPublicAppSettings, toolActivityLine, toolDescription, toolDetail, toolFilePath, totalTokens, updateAdvancedSettings, updateAgentExecutable, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateCodexSettings, updateDefaultsSettings, updateIntegrationsSettings, updateLinearIssue, updateOpencodeSettings, updateSchedule, updateThread, userClaudeMcpConfigPath, userCursorMcpConfigPath, validateLinearApiKey, waitForPidExit, warmGithubAgentAuth, withAgentInstructions, withEventParentId, withEventsParentId, withExportedPath, withMaxOldSpaceSize, withThreadLock, workspaceSettingsSourceLabel, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreesRoot, wrapReviewSkillMarkdown, writeInjectedMcpConfig, writePlanFile, writeThread, writeWorktreeFile };
|
|
4753
|
+
export { AGENT_GIT_ACTIONS, AGENT_RUNNER_MAX_OLD_SPACE_MB, ATTACHMENTS_DIR, type ActiveRun, type AddStackLayerInput, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentEvent, type AgentGitAction, type AgentInstructionFile, 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, type BranchInfo, type BrightsyAccount, type BrightsyChatTarget, type BrightsyChatTargets, type BrightsyCloudConnectAgent, type BrightsyHarnessSettings, type BrightsySession, BrightsySideboardApi, type BrightsyTeamTargets, CLAUDE_MODEL_CATALOG, 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, CONVENTION_SETUP_RELPATHS, COORDINATOR_TOOL_PLAYBOOK, type CaffeinateHoldState, type ClaudeHarnessSettings, type CleanupOrphansResult, type CliAgentKind, type CliExecutableSettings, type CloudConnectAgent, type CloudConnectOptions, type CloudConnectStatus, 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 CursorModelInfo, type CursorSdkStreamMessage, type CursorTurnRequest, type CursorWorktreesConfig, type DefaultsAppSettings, type DevServerHandle, type DiffCommentInput, type DiffCommentLine, type DiffCommit, type DiffFile, type DiffResult, type DiffScope, type DiffScopeStat, type ExpandResult, FAMOUS_SOCCER_TEAMS, type ForkChatTabInput, type ForkThreadWorktreeInput, type FormatGhLandErrorOptions, GITHUB_GIT_AUTH_MODES, GLOBAL_WORKSPACE_ID, type GetDiffOptions, type GhStackStatus, type GitHubStatus, type GitWorktreeStatus, type GithubGitAuthMode, HARNESS_ENV_KEYS, type HarnessId, type InitStackFromThreadInput, type IntegrationsSettings, type IpcApi, type IssueInfo, type IssueSource, LEGACY_ATTACHMENTS_DIR, LEGACY_PLAN_FILE_REL, LEGACY_REVIEW_REQUEST_PATH, LINEAR_OAUTH_CANCELLED, LINEAR_OAUTH_PORT, LINEAR_OAUTH_REDIRECT, LINEAR_OAUTH_SCOPES, type LandPreview, type LandResult, type LinearComment, type LinearIssue, LinearOAuthCancelledError, type LinearTeam, type LinearTeamsResult, type LinearWorkflowState, type ListIssuesResult, MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS, type McpServerStatus, type MessagePart, ORCHESTRATOR_AGENT_KINDS, type OpenPrStackLayersInput, type OpenStackLayerInput, type OpenStackLayerResult, type OrchestrationQuotaOnLimit, Orchestrator, type OrchestratorAgentKind, type OrchestratorEvent, type OrchestratorRuntime, type OrphanWorktree, PASTE_ATTACH_MIN_CHARS, PASTE_ATTACH_MIN_LINES, PLAN_FILE_NAME, PLAN_FILE_REL, PLAN_MODE_INSTRUCTION, 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 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 ResolvedReviewGuidelines, type ReviewGuidelinesSource, type RunMode, type RunScript, 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 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 SlackReplyBadge, 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, WORKTREE_MCP_TOOLS, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, ackSlackInboundSeen, addPrStackLayer, addStackLayerFromThread, addWorkspace, adoptThread, agentGitPrompt, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendIndexedGitConfig, appendMessage, applyAgentEvent, applyAgentRunnerHeapEnv, applyAppEnvironment, applyCompaction, applyGithubGitAuthEnv, applyPromptCacheTtlEnv, applyThreadIntoMain, applyTurnUsage, armSchedules, assertOrchestratorCapableAgent, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, attachmentsGitignoreBody, autoArchiveOnMergeEnabled, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyInjectWorktreeMcpEnabled, brightsyMcpAllowedTools, brightsyMcpServerName, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildPastedTextAttachment, buildReviewRequestAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateHoldPath, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, caffeinateWhileSchedulesEnabled, caffeinateWhileSlackListenEnabled, captureLoginEnv, captureTurnBaseline, checkoutPrStackLayer, childEnvWithAppSettings, claimDesktopHost, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, cloneRepoIntoSideboard, codexAdapter, codexSandboxWritableRootsArgs, codexUnattendedGitConfigArgs, coerceOrchestratorAgent, collectTakenTeamSlugs, commentLinearIssue, commitAll, computeNextRunAt, conductorBundledBinDir, conductorDbPath, confirmLand, connectBrightsyTeam, connectSlackToken, contextTokens, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, cowboyModeEnabled, createChatTab, createEmptyThread, createExistingBranchWorktree, createGlobalChat, createLinearIssue, createLinearPkce, createOrUpdatePr, createPrStack, createSchedule, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, defaultScheduleName, deleteBranchOnPurgeEnabled, deleteSchedule, deleteThreadRecord, desktopHostPidPath, detectAgents, detectGhStack, detectLocalMergeConflicts, disconnectBrightsyTeam, disconnectLinear, disconnectLinearConnection, disconnectSlackWorkspace, discoverSkills, dismissSlackReplyBadge, dropCachedPrefixOnResume, encodeBrightsyTarget, enrichPathWithNpmGlobalBin, enrichWorkspacesWithGithub, ensureAgentPath, ensureCloudCoordinator, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureReviewRequestFile, ensureReviewSkillFile, ensureSlackCoordinator, ensureSlackDeviceIdentity, ensureWorkspace, estimateMessageChars, estimateThreadChars, expandComposerPrompt, extractGhErrorDetail, extractPendingPlanQuestions, extractPresentedPlan, extractiveSummary, fetchPrHead, finalizeParts, findConventionSetup, findInvalidCacheControlTtlOrder, findOrphanWorktrees, findSlackCoordinator, findThreadByRef, findThreadForStackLayer, fireSchedule, flattenTurnInput, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAgentInstructions, formatArtifactDirective, formatBrightsyFetchError, formatFetchError, formatGhLandError, formatGitAuthModeDirective, formatIpcInvokeError, formatMergePrError, formatMessagesAsTranscript, formatPlanQuestionAnswers, formatPlanQuestionsForChat, formatProcessGuideDirective, formatRateLimitResetHint, formatRenameBranchDirective, formatScheduleWhen, formatScheduledPrompt, formatSlackExternalReplyPrompt, formatSlackInboundPrompt, formatSlackRepliesForTurn, formatSlackSignedReply, formatSlackWorkingText, formatTranscriptMarkdown, formatUiReminder, formatWorkspaceInventory, formatWorktreeDirective, formatWorktreeReminder, fromInclusiveInputUsage, getAdapter, getAgentSetupInfo, getBrightsySession, getCaffeinateHold, getDefaultAgent, getDefaultEffort, getDefaultFast, getDefaultModel, getDefaultRunScript, getDiff, getDiffSummary, getGitHubStatus, getGithubGitAuthMode, getGithubPat, getIssueSource, getLinearApiKey, getLinearAuthToken, getLinearIssue, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrForHeadBranch, getPrMeta, getPrStack, getRepoSetupInfo, getRunMode, getRunScript, getSchedule, getSlackWorkspace, gh, ghHeadRef, ghRepoSelectArgs, git, githubAgentGitEnv, globalAgentCwd, handleSlackInbound, harnessEnvKey, hasBakedLinearOAuth, hasBakedSlackOAuth, hasConductorHook, hasConventionSetup, hasCursorWorktreeSetup, hasEnabledSchedules, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, httpFetch, importConductorWorkspace, importConductorWorkspaceAsync, initPrStack, initStackFromThread, initializeGitRepository, inspectGitWorktree, installAgent, interruptSlackCoordinatorForInbound, isAskUserToolName, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isConductorBundledCli, isCowboyThread, isCursorAutoModel, isDefaultishSourceRef, isDesktopHostAlive, isDirty, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isImageFilePath, isInPrStack, isInboundForThisDesktop, isLinearConnected, isLinearOAuthCancelled, isOrchestratorCapableAgent, isOrchestratorThread, isPidAlive, isPlaceholderBranch, isPollWrapperToolName, isPrNotMergeableError, isPresentPlanToolName, isPrimaryCheckoutThread, isSessionQuotaLimit, isShellToolName, isSideboardScratchPath, isSlackCoordinatorThread, isSlackExternalReplyPrompt, isSlackOAuthCancelled, isSubagentToolName, isThinkingEffort, isThisProcessDesktopHost, isThreadCaffeinated, isWorkspaceScratchPath, lastRequestOccupancy, linearAuthorizationHeader, linearGraphql, linearOAuthAuthorizeUrl, linearOAuthCredentials, listAgentSetupInfo, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssues, listGlobalThreads, listIssues, listLinearIssues, listLinearIssuesDirect, listLinearTeams, listModelsForAgent, listOpencodeModels, listPrs, listRunScripts, listSchedules, listSlackOutboundWatches, listSlackReplyBadges, listSlackWorkspaces, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, liveActivitySummary, loadAgentInstructions, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mergeAgentGitAuthEnv, mergePr, mergePrStack, mergeSideboardIntoMcpServersJson, mergeUsage, messagePartParentId, nextPastedTextName, nextThinkingEffort, nonInteractiveGitProcessEnv, normalizeParseResult, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, openPrStackLayers, openStackLayer, opencodeAdapter, orchestrationQuotaFallbackAgent, orchestrationQuotaOnLimit, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originGhRepoEnv, parseCursorRunnerLine, parseDurationMs, parseForceStopMessage, parseGhStackViewJson, parseGithubSlugFromRemoteUrl, parseMcpList, parsePlanQuestionsInput, parseSessionQuotaResetAt, parseSlackRelayClientMessage, parseSlackRelayServerMessage, partsToAssistantText, pastedTextStats, pendingSlackExternalReplies, permalinkForSlackReplyBadge, permissionMode, persistVaultKeyInKeychain, planFileAbs, posixShellSingleQuote, prepareTerminalCommand, previewLand, promptMentionsBrightsy, pushBranch, readExistingReviewRequestFile, readKeychainVaultKey, readPlanFile, readSkillBody, readThread, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, recordScheduleRun, recordSlackOutboundWatch, refreshGitHubAuth, refreshSlackReplyBadges, registerPackagedUserMcpClients, releaseCaffeinateHoldForThread, releaseDesktopHost, removeWorkspace, removeWorktree, repoSlug, requestOccupancy, requestReview, requireAgent, resetGhStackDetectCache, resetGithubAgentTokenMemo, resolveAgentExecutable, resolveAgentGitAuthEnv, resolveClaudeExecutable, resolveCodexGitWritableRoots, resolveCommandBinarySync, resolveConductorCursorAgentId, resolveCursorModelId, resolveDefaultBranch, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGhAuthToken, resolveGitDirsForLockRecovery, resolveGithubAgentToken, resolveGithubRepoSlug, resolveLinearState, resolveLinearTeam, resolveLoginCommand, resolveNewThreadOptions, resolvePlanMarkdown, resolvePrSelector, resolvePrSelectors, resolveQuotaFallbackAgent, resolveRepoRoot, resolveReviewGuidelines, resolveScheduleThreadId, resolveSlackListenMode, resolveThreadDefaults, resolveThreadEffort, resolveVaultKey, resolveWorktreeStartPoint, rewriteLinearError, run, runArchiveScript, runCloudConnect, runConventionSetup, runCursorWorktreeSetup, runSetupScript, runSlackListen, runSlackRelayClient, runWorkspaceSetup, sameWorktreePath, sanitizeMcpServerName, saveAppSettings, saveLinearOAuth, schedulesPath, scrubGithubTokensFromChildEnv, secureFileUnlocksWith, setCaffeinateHold, setHttpFetchImpl, setStatus, setVaultMasterKey, settingsSourceLabel, shouldAttachPastedText, shouldCompactContext, shouldInjectBrightsyMcp, shouldRefreshReviewRequestTemplate, shouldRemoveWorktreeOnTeardown, shouldResetSessionForOccupancy, shouldRunWorktreeCleanup, sideboardHomeDir, sideboardMcpProfile, sideboardReposDir, sideboardWorkspacesDir, slackAppLevelToken, slackArchiveUrl, slackCoordinatorSourceRef, slackListenEnabled, slackOAuthCredentials, slackOAuthResultUrl, slackRelayUrl, slugify, spawnAgentTurn, splitForCompaction, stackAgentDefaultsFrom, stackIdFrom, stackMergeReadiness, stageAbsolutePathsAsAttachments, stageBuffersAsAttachments, startDevServer, startLinearOAuth, startMcpServer, startOrchestration, startSlackOAuth, startSlackRelayServer, stripBrightsyNdjsonNoise, stripNestedElectronEnv, submitPrStack, suggestSlug, summarizeConversation, switchBrightsyAccount, syncWorkspacesFromThreads, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, thinkingEffortBars, thinkingEffortLabel, thisProcessShouldDrainAgentQueues, threadDisplayLabel, threadFilePath, threadLivePath, threadLockPath, threadRequestsBrightsyMcp, threadsDir, threadsSharingWorktree, toPublicAppSettings, toolActivityLine, toolDescription, toolDetail, toolFilePath, totalTokens, updateAdvancedSettings, updateAgentExecutable, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateCodexSettings, updateDefaultsSettings, updateIntegrationsSettings, updateLinearIssue, updateOpencodeSettings, updateSchedule, updateThread, userClaudeMcpConfigPath, userCursorMcpConfigPath, validateLinearApiKey, waitForPidExit, warmGithubAgentAuth, withAgentInstructions, withEventParentId, withEventsParentId, withExportedPath, withMaxOldSpaceSize, withThreadLock, workspaceSettingsSourceLabel, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreesRoot, wrapReviewSkillMarkdown, writeInjectedMcpConfig, writePlanFile, writeThread, writeWorktreeFile };
|
package/dist/index.d.ts
CHANGED
|
@@ -441,6 +441,11 @@ type AgentEvent = {
|
|
|
441
441
|
content?: string;
|
|
442
442
|
isError?: boolean;
|
|
443
443
|
parentId?: string;
|
|
444
|
+
/**
|
|
445
|
+
* Update `result` without finishing the tool (live command tail).
|
|
446
|
+
* Codex `command_execution.aggregated_output` while in progress.
|
|
447
|
+
*/
|
|
448
|
+
partial?: boolean;
|
|
444
449
|
} | {
|
|
445
450
|
type: 'usage';
|
|
446
451
|
data: TokenUsage;
|
|
@@ -2213,6 +2218,7 @@ declare function toolDescription(name: string, input?: Record<string, unknown>):
|
|
|
2213
2218
|
declare function isSubagentToolName(name: string | undefined): boolean;
|
|
2214
2219
|
/** Bash/Agent poll wrappers — not the interesting work the user wants to see. */
|
|
2215
2220
|
declare function isPollWrapperToolName(name: string | undefined): boolean;
|
|
2221
|
+
declare function isShellToolName(name: string | undefined): boolean;
|
|
2216
2222
|
/**
|
|
2217
2223
|
* Cursor-style footer for a finished (or in-flight) turn: “Edited foo.ts, 1 search, ran 2 commands”.
|
|
2218
2224
|
*/
|
|
@@ -4744,4 +4750,4 @@ interface SlackRelayClientOptions {
|
|
|
4744
4750
|
*/
|
|
4745
4751
|
declare function runSlackRelayClient(opts: SlackRelayClientOptions): Promise<void>;
|
|
4746
4752
|
|
|
4747
|
-
export { AGENT_GIT_ACTIONS, AGENT_RUNNER_MAX_OLD_SPACE_MB, ATTACHMENTS_DIR, type ActiveRun, type AddStackLayerInput, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentEvent, type AgentGitAction, type AgentInstructionFile, 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, type BranchInfo, type BrightsyAccount, type BrightsyChatTarget, type BrightsyChatTargets, type BrightsyCloudConnectAgent, type BrightsyHarnessSettings, type BrightsySession, BrightsySideboardApi, type BrightsyTeamTargets, CLAUDE_MODEL_CATALOG, 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, CONVENTION_SETUP_RELPATHS, COORDINATOR_TOOL_PLAYBOOK, type CaffeinateHoldState, type ClaudeHarnessSettings, type CleanupOrphansResult, type CliAgentKind, type CliExecutableSettings, type CloudConnectAgent, type CloudConnectOptions, type CloudConnectStatus, 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 CursorModelInfo, type CursorSdkStreamMessage, type CursorTurnRequest, type CursorWorktreesConfig, type DefaultsAppSettings, type DevServerHandle, type DiffCommentInput, type DiffCommentLine, type DiffCommit, type DiffFile, type DiffResult, type DiffScope, type DiffScopeStat, type ExpandResult, FAMOUS_SOCCER_TEAMS, type ForkChatTabInput, type ForkThreadWorktreeInput, type FormatGhLandErrorOptions, GITHUB_GIT_AUTH_MODES, GLOBAL_WORKSPACE_ID, type GetDiffOptions, type GhStackStatus, type GitHubStatus, type GitWorktreeStatus, type GithubGitAuthMode, HARNESS_ENV_KEYS, type HarnessId, type InitStackFromThreadInput, type IntegrationsSettings, type IpcApi, type IssueInfo, type IssueSource, LEGACY_ATTACHMENTS_DIR, LEGACY_PLAN_FILE_REL, LEGACY_REVIEW_REQUEST_PATH, LINEAR_OAUTH_CANCELLED, LINEAR_OAUTH_PORT, LINEAR_OAUTH_REDIRECT, LINEAR_OAUTH_SCOPES, type LandPreview, type LandResult, type LinearComment, type LinearIssue, LinearOAuthCancelledError, type LinearTeam, type LinearTeamsResult, type LinearWorkflowState, type ListIssuesResult, MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS, type McpServerStatus, type MessagePart, ORCHESTRATOR_AGENT_KINDS, type OpenPrStackLayersInput, type OpenStackLayerInput, type OpenStackLayerResult, type OrchestrationQuotaOnLimit, Orchestrator, type OrchestratorAgentKind, type OrchestratorEvent, type OrchestratorRuntime, type OrphanWorktree, PASTE_ATTACH_MIN_CHARS, PASTE_ATTACH_MIN_LINES, PLAN_FILE_NAME, PLAN_FILE_REL, PLAN_MODE_INSTRUCTION, 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 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 ResolvedReviewGuidelines, type ReviewGuidelinesSource, type RunMode, type RunScript, 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 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 SlackReplyBadge, 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, WORKTREE_MCP_TOOLS, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, ackSlackInboundSeen, addPrStackLayer, addStackLayerFromThread, addWorkspace, adoptThread, agentGitPrompt, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendIndexedGitConfig, appendMessage, applyAgentEvent, applyAgentRunnerHeapEnv, applyAppEnvironment, applyCompaction, applyGithubGitAuthEnv, applyPromptCacheTtlEnv, applyThreadIntoMain, applyTurnUsage, armSchedules, assertOrchestratorCapableAgent, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, attachmentsGitignoreBody, autoArchiveOnMergeEnabled, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyInjectWorktreeMcpEnabled, brightsyMcpAllowedTools, brightsyMcpServerName, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildPastedTextAttachment, buildReviewRequestAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateHoldPath, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, caffeinateWhileSchedulesEnabled, caffeinateWhileSlackListenEnabled, captureLoginEnv, captureTurnBaseline, checkoutPrStackLayer, childEnvWithAppSettings, claimDesktopHost, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, cloneRepoIntoSideboard, codexAdapter, codexSandboxWritableRootsArgs, codexUnattendedGitConfigArgs, coerceOrchestratorAgent, collectTakenTeamSlugs, commentLinearIssue, commitAll, computeNextRunAt, conductorBundledBinDir, conductorDbPath, confirmLand, connectBrightsyTeam, connectSlackToken, contextTokens, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, cowboyModeEnabled, createChatTab, createEmptyThread, createExistingBranchWorktree, createGlobalChat, createLinearIssue, createLinearPkce, createOrUpdatePr, createPrStack, createSchedule, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, defaultScheduleName, deleteBranchOnPurgeEnabled, deleteSchedule, deleteThreadRecord, desktopHostPidPath, detectAgents, detectGhStack, detectLocalMergeConflicts, disconnectBrightsyTeam, disconnectLinear, disconnectLinearConnection, disconnectSlackWorkspace, discoverSkills, dismissSlackReplyBadge, dropCachedPrefixOnResume, encodeBrightsyTarget, enrichPathWithNpmGlobalBin, enrichWorkspacesWithGithub, ensureAgentPath, ensureCloudCoordinator, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureReviewRequestFile, ensureReviewSkillFile, ensureSlackCoordinator, ensureSlackDeviceIdentity, ensureWorkspace, estimateMessageChars, estimateThreadChars, expandComposerPrompt, extractGhErrorDetail, extractPendingPlanQuestions, extractPresentedPlan, extractiveSummary, fetchPrHead, finalizeParts, findConventionSetup, findInvalidCacheControlTtlOrder, findOrphanWorktrees, findSlackCoordinator, findThreadByRef, findThreadForStackLayer, fireSchedule, flattenTurnInput, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAgentInstructions, formatArtifactDirective, formatBrightsyFetchError, formatFetchError, formatGhLandError, formatGitAuthModeDirective, formatIpcInvokeError, formatMergePrError, formatMessagesAsTranscript, formatPlanQuestionAnswers, formatPlanQuestionsForChat, formatProcessGuideDirective, formatRateLimitResetHint, formatRenameBranchDirective, formatScheduleWhen, formatScheduledPrompt, formatSlackExternalReplyPrompt, formatSlackInboundPrompt, formatSlackRepliesForTurn, formatSlackSignedReply, formatSlackWorkingText, formatTranscriptMarkdown, formatUiReminder, formatWorkspaceInventory, formatWorktreeDirective, formatWorktreeReminder, fromInclusiveInputUsage, getAdapter, getAgentSetupInfo, getBrightsySession, getCaffeinateHold, getDefaultAgent, getDefaultEffort, getDefaultFast, getDefaultModel, getDefaultRunScript, getDiff, getDiffSummary, getGitHubStatus, getGithubGitAuthMode, getGithubPat, getIssueSource, getLinearApiKey, getLinearAuthToken, getLinearIssue, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrForHeadBranch, getPrMeta, getPrStack, getRepoSetupInfo, getRunMode, getRunScript, getSchedule, getSlackWorkspace, gh, ghHeadRef, ghRepoSelectArgs, git, githubAgentGitEnv, globalAgentCwd, handleSlackInbound, harnessEnvKey, hasBakedLinearOAuth, hasBakedSlackOAuth, hasConductorHook, hasConventionSetup, hasCursorWorktreeSetup, hasEnabledSchedules, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, httpFetch, importConductorWorkspace, importConductorWorkspaceAsync, initPrStack, initStackFromThread, initializeGitRepository, inspectGitWorktree, installAgent, interruptSlackCoordinatorForInbound, isAskUserToolName, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isConductorBundledCli, isCowboyThread, isCursorAutoModel, isDefaultishSourceRef, isDesktopHostAlive, isDirty, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isImageFilePath, isInPrStack, isInboundForThisDesktop, isLinearConnected, isLinearOAuthCancelled, isOrchestratorCapableAgent, isOrchestratorThread, isPidAlive, isPlaceholderBranch, isPollWrapperToolName, isPrNotMergeableError, isPresentPlanToolName, isPrimaryCheckoutThread, isSessionQuotaLimit, isSideboardScratchPath, isSlackCoordinatorThread, isSlackExternalReplyPrompt, isSlackOAuthCancelled, isSubagentToolName, isThinkingEffort, isThisProcessDesktopHost, isThreadCaffeinated, isWorkspaceScratchPath, lastRequestOccupancy, linearAuthorizationHeader, linearGraphql, linearOAuthAuthorizeUrl, linearOAuthCredentials, listAgentSetupInfo, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssues, listGlobalThreads, listIssues, listLinearIssues, listLinearIssuesDirect, listLinearTeams, listModelsForAgent, listOpencodeModels, listPrs, listRunScripts, listSchedules, listSlackOutboundWatches, listSlackReplyBadges, listSlackWorkspaces, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, liveActivitySummary, loadAgentInstructions, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mergeAgentGitAuthEnv, mergePr, mergePrStack, mergeSideboardIntoMcpServersJson, mergeUsage, messagePartParentId, nextPastedTextName, nextThinkingEffort, nonInteractiveGitProcessEnv, normalizeParseResult, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, openPrStackLayers, openStackLayer, opencodeAdapter, orchestrationQuotaFallbackAgent, orchestrationQuotaOnLimit, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originGhRepoEnv, parseCursorRunnerLine, parseDurationMs, parseForceStopMessage, parseGhStackViewJson, parseGithubSlugFromRemoteUrl, parseMcpList, parsePlanQuestionsInput, parseSessionQuotaResetAt, parseSlackRelayClientMessage, parseSlackRelayServerMessage, partsToAssistantText, pastedTextStats, pendingSlackExternalReplies, permalinkForSlackReplyBadge, permissionMode, persistVaultKeyInKeychain, planFileAbs, posixShellSingleQuote, prepareTerminalCommand, previewLand, promptMentionsBrightsy, pushBranch, readExistingReviewRequestFile, readKeychainVaultKey, readPlanFile, readSkillBody, readThread, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, recordScheduleRun, recordSlackOutboundWatch, refreshGitHubAuth, refreshSlackReplyBadges, registerPackagedUserMcpClients, releaseCaffeinateHoldForThread, releaseDesktopHost, removeWorkspace, removeWorktree, repoSlug, requestOccupancy, requestReview, requireAgent, resetGhStackDetectCache, resetGithubAgentTokenMemo, resolveAgentExecutable, resolveAgentGitAuthEnv, resolveClaudeExecutable, resolveCodexGitWritableRoots, resolveCommandBinarySync, resolveConductorCursorAgentId, resolveCursorModelId, resolveDefaultBranch, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGhAuthToken, resolveGitDirsForLockRecovery, resolveGithubAgentToken, resolveGithubRepoSlug, resolveLinearState, resolveLinearTeam, resolveLoginCommand, resolveNewThreadOptions, resolvePlanMarkdown, resolvePrSelector, resolvePrSelectors, resolveQuotaFallbackAgent, resolveRepoRoot, resolveReviewGuidelines, resolveScheduleThreadId, resolveSlackListenMode, resolveThreadDefaults, resolveThreadEffort, resolveVaultKey, resolveWorktreeStartPoint, rewriteLinearError, run, runArchiveScript, runCloudConnect, runConventionSetup, runCursorWorktreeSetup, runSetupScript, runSlackListen, runSlackRelayClient, runWorkspaceSetup, sameWorktreePath, sanitizeMcpServerName, saveAppSettings, saveLinearOAuth, schedulesPath, scrubGithubTokensFromChildEnv, secureFileUnlocksWith, setCaffeinateHold, setHttpFetchImpl, setStatus, setVaultMasterKey, settingsSourceLabel, shouldAttachPastedText, shouldCompactContext, shouldInjectBrightsyMcp, shouldRefreshReviewRequestTemplate, shouldRemoveWorktreeOnTeardown, shouldResetSessionForOccupancy, shouldRunWorktreeCleanup, sideboardHomeDir, sideboardMcpProfile, sideboardReposDir, sideboardWorkspacesDir, slackAppLevelToken, slackArchiveUrl, slackCoordinatorSourceRef, slackListenEnabled, slackOAuthCredentials, slackOAuthResultUrl, slackRelayUrl, slugify, spawnAgentTurn, splitForCompaction, stackAgentDefaultsFrom, stackIdFrom, stackMergeReadiness, stageAbsolutePathsAsAttachments, stageBuffersAsAttachments, startDevServer, startLinearOAuth, startMcpServer, startOrchestration, startSlackOAuth, startSlackRelayServer, stripBrightsyNdjsonNoise, stripNestedElectronEnv, submitPrStack, suggestSlug, summarizeConversation, switchBrightsyAccount, syncWorkspacesFromThreads, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, thinkingEffortBars, thinkingEffortLabel, thisProcessShouldDrainAgentQueues, threadDisplayLabel, threadFilePath, threadLivePath, threadLockPath, threadRequestsBrightsyMcp, threadsDir, threadsSharingWorktree, toPublicAppSettings, toolActivityLine, toolDescription, toolDetail, toolFilePath, totalTokens, updateAdvancedSettings, updateAgentExecutable, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateCodexSettings, updateDefaultsSettings, updateIntegrationsSettings, updateLinearIssue, updateOpencodeSettings, updateSchedule, updateThread, userClaudeMcpConfigPath, userCursorMcpConfigPath, validateLinearApiKey, waitForPidExit, warmGithubAgentAuth, withAgentInstructions, withEventParentId, withEventsParentId, withExportedPath, withMaxOldSpaceSize, withThreadLock, workspaceSettingsSourceLabel, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreesRoot, wrapReviewSkillMarkdown, writeInjectedMcpConfig, writePlanFile, writeThread, writeWorktreeFile };
|
|
4753
|
+
export { AGENT_GIT_ACTIONS, AGENT_RUNNER_MAX_OLD_SPACE_MB, ATTACHMENTS_DIR, type ActiveRun, type AddStackLayerInput, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentEvent, type AgentGitAction, type AgentInstructionFile, 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, type BranchInfo, type BrightsyAccount, type BrightsyChatTarget, type BrightsyChatTargets, type BrightsyCloudConnectAgent, type BrightsyHarnessSettings, type BrightsySession, BrightsySideboardApi, type BrightsyTeamTargets, CLAUDE_MODEL_CATALOG, 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, CONVENTION_SETUP_RELPATHS, COORDINATOR_TOOL_PLAYBOOK, type CaffeinateHoldState, type ClaudeHarnessSettings, type CleanupOrphansResult, type CliAgentKind, type CliExecutableSettings, type CloudConnectAgent, type CloudConnectOptions, type CloudConnectStatus, 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 CursorModelInfo, type CursorSdkStreamMessage, type CursorTurnRequest, type CursorWorktreesConfig, type DefaultsAppSettings, type DevServerHandle, type DiffCommentInput, type DiffCommentLine, type DiffCommit, type DiffFile, type DiffResult, type DiffScope, type DiffScopeStat, type ExpandResult, FAMOUS_SOCCER_TEAMS, type ForkChatTabInput, type ForkThreadWorktreeInput, type FormatGhLandErrorOptions, GITHUB_GIT_AUTH_MODES, GLOBAL_WORKSPACE_ID, type GetDiffOptions, type GhStackStatus, type GitHubStatus, type GitWorktreeStatus, type GithubGitAuthMode, HARNESS_ENV_KEYS, type HarnessId, type InitStackFromThreadInput, type IntegrationsSettings, type IpcApi, type IssueInfo, type IssueSource, LEGACY_ATTACHMENTS_DIR, LEGACY_PLAN_FILE_REL, LEGACY_REVIEW_REQUEST_PATH, LINEAR_OAUTH_CANCELLED, LINEAR_OAUTH_PORT, LINEAR_OAUTH_REDIRECT, LINEAR_OAUTH_SCOPES, type LandPreview, type LandResult, type LinearComment, type LinearIssue, LinearOAuthCancelledError, type LinearTeam, type LinearTeamsResult, type LinearWorkflowState, type ListIssuesResult, MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS, type McpServerStatus, type MessagePart, ORCHESTRATOR_AGENT_KINDS, type OpenPrStackLayersInput, type OpenStackLayerInput, type OpenStackLayerResult, type OrchestrationQuotaOnLimit, Orchestrator, type OrchestratorAgentKind, type OrchestratorEvent, type OrchestratorRuntime, type OrphanWorktree, PASTE_ATTACH_MIN_CHARS, PASTE_ATTACH_MIN_LINES, PLAN_FILE_NAME, PLAN_FILE_REL, PLAN_MODE_INSTRUCTION, 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 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 ResolvedReviewGuidelines, type ReviewGuidelinesSource, type RunMode, type RunScript, 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 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 SlackReplyBadge, 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, WORKTREE_MCP_TOOLS, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, ackSlackInboundSeen, addPrStackLayer, addStackLayerFromThread, addWorkspace, adoptThread, agentGitPrompt, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendIndexedGitConfig, appendMessage, applyAgentEvent, applyAgentRunnerHeapEnv, applyAppEnvironment, applyCompaction, applyGithubGitAuthEnv, applyPromptCacheTtlEnv, applyThreadIntoMain, applyTurnUsage, armSchedules, assertOrchestratorCapableAgent, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, attachmentsGitignoreBody, autoArchiveOnMergeEnabled, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyInjectWorktreeMcpEnabled, brightsyMcpAllowedTools, brightsyMcpServerName, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildPastedTextAttachment, buildReviewRequestAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateHoldPath, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, caffeinateWhileSchedulesEnabled, caffeinateWhileSlackListenEnabled, captureLoginEnv, captureTurnBaseline, checkoutPrStackLayer, childEnvWithAppSettings, claimDesktopHost, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, cloneRepoIntoSideboard, codexAdapter, codexSandboxWritableRootsArgs, codexUnattendedGitConfigArgs, coerceOrchestratorAgent, collectTakenTeamSlugs, commentLinearIssue, commitAll, computeNextRunAt, conductorBundledBinDir, conductorDbPath, confirmLand, connectBrightsyTeam, connectSlackToken, contextTokens, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, cowboyModeEnabled, createChatTab, createEmptyThread, createExistingBranchWorktree, createGlobalChat, createLinearIssue, createLinearPkce, createOrUpdatePr, createPrStack, createSchedule, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, defaultScheduleName, deleteBranchOnPurgeEnabled, deleteSchedule, deleteThreadRecord, desktopHostPidPath, detectAgents, detectGhStack, detectLocalMergeConflicts, disconnectBrightsyTeam, disconnectLinear, disconnectLinearConnection, disconnectSlackWorkspace, discoverSkills, dismissSlackReplyBadge, dropCachedPrefixOnResume, encodeBrightsyTarget, enrichPathWithNpmGlobalBin, enrichWorkspacesWithGithub, ensureAgentPath, ensureCloudCoordinator, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureReviewRequestFile, ensureReviewSkillFile, ensureSlackCoordinator, ensureSlackDeviceIdentity, ensureWorkspace, estimateMessageChars, estimateThreadChars, expandComposerPrompt, extractGhErrorDetail, extractPendingPlanQuestions, extractPresentedPlan, extractiveSummary, fetchPrHead, finalizeParts, findConventionSetup, findInvalidCacheControlTtlOrder, findOrphanWorktrees, findSlackCoordinator, findThreadByRef, findThreadForStackLayer, fireSchedule, flattenTurnInput, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAgentInstructions, formatArtifactDirective, formatBrightsyFetchError, formatFetchError, formatGhLandError, formatGitAuthModeDirective, formatIpcInvokeError, formatMergePrError, formatMessagesAsTranscript, formatPlanQuestionAnswers, formatPlanQuestionsForChat, formatProcessGuideDirective, formatRateLimitResetHint, formatRenameBranchDirective, formatScheduleWhen, formatScheduledPrompt, formatSlackExternalReplyPrompt, formatSlackInboundPrompt, formatSlackRepliesForTurn, formatSlackSignedReply, formatSlackWorkingText, formatTranscriptMarkdown, formatUiReminder, formatWorkspaceInventory, formatWorktreeDirective, formatWorktreeReminder, fromInclusiveInputUsage, getAdapter, getAgentSetupInfo, getBrightsySession, getCaffeinateHold, getDefaultAgent, getDefaultEffort, getDefaultFast, getDefaultModel, getDefaultRunScript, getDiff, getDiffSummary, getGitHubStatus, getGithubGitAuthMode, getGithubPat, getIssueSource, getLinearApiKey, getLinearAuthToken, getLinearIssue, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrForHeadBranch, getPrMeta, getPrStack, getRepoSetupInfo, getRunMode, getRunScript, getSchedule, getSlackWorkspace, gh, ghHeadRef, ghRepoSelectArgs, git, githubAgentGitEnv, globalAgentCwd, handleSlackInbound, harnessEnvKey, hasBakedLinearOAuth, hasBakedSlackOAuth, hasConductorHook, hasConventionSetup, hasCursorWorktreeSetup, hasEnabledSchedules, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, httpFetch, importConductorWorkspace, importConductorWorkspaceAsync, initPrStack, initStackFromThread, initializeGitRepository, inspectGitWorktree, installAgent, interruptSlackCoordinatorForInbound, isAskUserToolName, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isConductorBundledCli, isCowboyThread, isCursorAutoModel, isDefaultishSourceRef, isDesktopHostAlive, isDirty, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isImageFilePath, isInPrStack, isInboundForThisDesktop, isLinearConnected, isLinearOAuthCancelled, isOrchestratorCapableAgent, isOrchestratorThread, isPidAlive, isPlaceholderBranch, isPollWrapperToolName, isPrNotMergeableError, isPresentPlanToolName, isPrimaryCheckoutThread, isSessionQuotaLimit, isShellToolName, isSideboardScratchPath, isSlackCoordinatorThread, isSlackExternalReplyPrompt, isSlackOAuthCancelled, isSubagentToolName, isThinkingEffort, isThisProcessDesktopHost, isThreadCaffeinated, isWorkspaceScratchPath, lastRequestOccupancy, linearAuthorizationHeader, linearGraphql, linearOAuthAuthorizeUrl, linearOAuthCredentials, listAgentSetupInfo, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssues, listGlobalThreads, listIssues, listLinearIssues, listLinearIssuesDirect, listLinearTeams, listModelsForAgent, listOpencodeModels, listPrs, listRunScripts, listSchedules, listSlackOutboundWatches, listSlackReplyBadges, listSlackWorkspaces, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, liveActivitySummary, loadAgentInstructions, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mergeAgentGitAuthEnv, mergePr, mergePrStack, mergeSideboardIntoMcpServersJson, mergeUsage, messagePartParentId, nextPastedTextName, nextThinkingEffort, nonInteractiveGitProcessEnv, normalizeParseResult, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, openPrStackLayers, openStackLayer, opencodeAdapter, orchestrationQuotaFallbackAgent, orchestrationQuotaOnLimit, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originGhRepoEnv, parseCursorRunnerLine, parseDurationMs, parseForceStopMessage, parseGhStackViewJson, parseGithubSlugFromRemoteUrl, parseMcpList, parsePlanQuestionsInput, parseSessionQuotaResetAt, parseSlackRelayClientMessage, parseSlackRelayServerMessage, partsToAssistantText, pastedTextStats, pendingSlackExternalReplies, permalinkForSlackReplyBadge, permissionMode, persistVaultKeyInKeychain, planFileAbs, posixShellSingleQuote, prepareTerminalCommand, previewLand, promptMentionsBrightsy, pushBranch, readExistingReviewRequestFile, readKeychainVaultKey, readPlanFile, readSkillBody, readThread, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, recordScheduleRun, recordSlackOutboundWatch, refreshGitHubAuth, refreshSlackReplyBadges, registerPackagedUserMcpClients, releaseCaffeinateHoldForThread, releaseDesktopHost, removeWorkspace, removeWorktree, repoSlug, requestOccupancy, requestReview, requireAgent, resetGhStackDetectCache, resetGithubAgentTokenMemo, resolveAgentExecutable, resolveAgentGitAuthEnv, resolveClaudeExecutable, resolveCodexGitWritableRoots, resolveCommandBinarySync, resolveConductorCursorAgentId, resolveCursorModelId, resolveDefaultBranch, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGhAuthToken, resolveGitDirsForLockRecovery, resolveGithubAgentToken, resolveGithubRepoSlug, resolveLinearState, resolveLinearTeam, resolveLoginCommand, resolveNewThreadOptions, resolvePlanMarkdown, resolvePrSelector, resolvePrSelectors, resolveQuotaFallbackAgent, resolveRepoRoot, resolveReviewGuidelines, resolveScheduleThreadId, resolveSlackListenMode, resolveThreadDefaults, resolveThreadEffort, resolveVaultKey, resolveWorktreeStartPoint, rewriteLinearError, run, runArchiveScript, runCloudConnect, runConventionSetup, runCursorWorktreeSetup, runSetupScript, runSlackListen, runSlackRelayClient, runWorkspaceSetup, sameWorktreePath, sanitizeMcpServerName, saveAppSettings, saveLinearOAuth, schedulesPath, scrubGithubTokensFromChildEnv, secureFileUnlocksWith, setCaffeinateHold, setHttpFetchImpl, setStatus, setVaultMasterKey, settingsSourceLabel, shouldAttachPastedText, shouldCompactContext, shouldInjectBrightsyMcp, shouldRefreshReviewRequestTemplate, shouldRemoveWorktreeOnTeardown, shouldResetSessionForOccupancy, shouldRunWorktreeCleanup, sideboardHomeDir, sideboardMcpProfile, sideboardReposDir, sideboardWorkspacesDir, slackAppLevelToken, slackArchiveUrl, slackCoordinatorSourceRef, slackListenEnabled, slackOAuthCredentials, slackOAuthResultUrl, slackRelayUrl, slugify, spawnAgentTurn, splitForCompaction, stackAgentDefaultsFrom, stackIdFrom, stackMergeReadiness, stageAbsolutePathsAsAttachments, stageBuffersAsAttachments, startDevServer, startLinearOAuth, startMcpServer, startOrchestration, startSlackOAuth, startSlackRelayServer, stripBrightsyNdjsonNoise, stripNestedElectronEnv, submitPrStack, suggestSlug, summarizeConversation, switchBrightsyAccount, syncWorkspacesFromThreads, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, thinkingEffortBars, thinkingEffortLabel, thisProcessShouldDrainAgentQueues, threadDisplayLabel, threadFilePath, threadLivePath, threadLockPath, threadRequestsBrightsyMcp, threadsDir, threadsSharingWorktree, toPublicAppSettings, toolActivityLine, toolDescription, toolDetail, toolFilePath, totalTokens, updateAdvancedSettings, updateAgentExecutable, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateCodexSettings, updateDefaultsSettings, updateIntegrationsSettings, updateLinearIssue, updateOpencodeSettings, updateSchedule, updateThread, userClaudeMcpConfigPath, userCursorMcpConfigPath, validateLinearApiKey, waitForPidExit, warmGithubAgentAuth, withAgentInstructions, withEventParentId, withEventsParentId, withExportedPath, withMaxOldSpaceSize, withThreadLock, workspaceSettingsSourceLabel, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreesRoot, wrapReviewSkillMarkdown, writeInjectedMcpConfig, writePlanFile, writeThread, writeWorktreeFile };
|
package/dist/index.js
CHANGED
|
@@ -170,7 +170,7 @@ import {
|
|
|
170
170
|
worktreeCleanupSettings,
|
|
171
171
|
wrapReviewSkillMarkdown,
|
|
172
172
|
writeWorktreeFile
|
|
173
|
-
} from "./chunk-
|
|
173
|
+
} from "./chunk-DWP25N32.js";
|
|
174
174
|
import {
|
|
175
175
|
BRIGHTSY_MCP_ALLOWED_TOOLS,
|
|
176
176
|
CLAUDE_MODEL_CATALOG,
|
|
@@ -206,6 +206,7 @@ import {
|
|
|
206
206
|
isCursorAutoModel,
|
|
207
207
|
isPollWrapperToolName,
|
|
208
208
|
isSessionQuotaLimit,
|
|
209
|
+
isShellToolName,
|
|
209
210
|
isSubagentToolName,
|
|
210
211
|
listAgentSetupInfo,
|
|
211
212
|
listBrightsyChatTargets,
|
|
@@ -247,7 +248,7 @@ import {
|
|
|
247
248
|
withEventParentId,
|
|
248
249
|
withEventsParentId,
|
|
249
250
|
writeInjectedMcpConfig
|
|
250
|
-
} from "./chunk-
|
|
251
|
+
} from "./chunk-5KSLD4MU.js";
|
|
251
252
|
import {
|
|
252
253
|
brightsyConfigPath,
|
|
253
254
|
brightsyMcpServerName,
|
|
@@ -322,7 +323,7 @@ import {
|
|
|
322
323
|
cursorSdkMessageToEvents,
|
|
323
324
|
parseCursorRunnerLine,
|
|
324
325
|
withMaxOldSpaceSize
|
|
325
|
-
} from "./chunk-
|
|
326
|
+
} from "./chunk-GBY7OOMB.js";
|
|
326
327
|
import {
|
|
327
328
|
caffeinateHoldPath,
|
|
328
329
|
getCaffeinateHold,
|
|
@@ -2342,7 +2343,7 @@ async function startMcpServer() {
|
|
|
2342
2343
|
}
|
|
2343
2344
|
server.tool(
|
|
2344
2345
|
"present_artifact",
|
|
2345
|
-
"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.",
|
|
2346
|
+
"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. Do not also emit the same document as a chat html/markdown fence. 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.",
|
|
2346
2347
|
{
|
|
2347
2348
|
title: z4.string().describe("Short title shown in the artifact pane header"),
|
|
2348
2349
|
type: z4.enum(["html", "svg", "markdown", "react"]).describe(
|
|
@@ -2419,7 +2420,7 @@ async function startMcpServer() {
|
|
|
2419
2420
|
);
|
|
2420
2421
|
server.tool(
|
|
2421
2422
|
"present_schema",
|
|
2422
|
-
"Open Sideboard\u2019s schema-driven side column (filterable table and/or form). Pass JSON Schema + optional schemaUi. Prefer datasource=inline with embedded resource/records. Use datasource=brightsy with resource_id only when the user is logged into Brightsy.",
|
|
2423
|
+
"Open Sideboard\u2019s schema-driven side column (filterable table and/or form) when the user needs to filter, edit, publish, or persist records. Do not call this just to re-display rows you already wrote as a markdown table. If the user asks for an editable / interactive table, call this even if chat already showed those rows. Pass JSON Schema + optional schemaUi. Prefer datasource=inline with embedded resource/records. Use datasource=brightsy with resource_id only when the user is logged into Brightsy.",
|
|
2423
2424
|
{
|
|
2424
2425
|
title: z4.string().describe("Pane title"),
|
|
2425
2426
|
mode: z4.enum(["table", "form"]).optional().describe("table = list/filter records; form = edit one record"),
|
|
@@ -5905,6 +5906,7 @@ export {
|
|
|
5905
5906
|
isPresentPlanToolName,
|
|
5906
5907
|
isPrimaryCheckoutThread,
|
|
5907
5908
|
isSessionQuotaLimit,
|
|
5909
|
+
isShellToolName,
|
|
5908
5910
|
isSideboardScratchPath,
|
|
5909
5911
|
isSlackCoordinatorThread,
|
|
5910
5912
|
isSlackExternalReplyPrompt,
|
package/dist/mcp/run-stdio.cjs
CHANGED
|
@@ -7088,6 +7088,30 @@ function applyAgentEvent(parts, event) {
|
|
|
7088
7088
|
if (event.type === "tool_result") {
|
|
7089
7089
|
const existing = parts.findIndex((p) => p.type === "tool" && p.id === event.id);
|
|
7090
7090
|
const fromResult = parseDiffStat(event.content);
|
|
7091
|
+
if (event.partial) {
|
|
7092
|
+
if (existing < 0) {
|
|
7093
|
+
return [
|
|
7094
|
+
...parts,
|
|
7095
|
+
{
|
|
7096
|
+
type: "tool",
|
|
7097
|
+
id: event.id,
|
|
7098
|
+
name: "tool",
|
|
7099
|
+
description: "tool",
|
|
7100
|
+
status: event.isError ? "error" : "running",
|
|
7101
|
+
result: event.content,
|
|
7102
|
+
...event.parentId ? { parentId: event.parentId } : {}
|
|
7103
|
+
}
|
|
7104
|
+
];
|
|
7105
|
+
}
|
|
7106
|
+
return parts.map((p, i) => {
|
|
7107
|
+
if (i !== existing || p.type !== "tool") return p;
|
|
7108
|
+
if (p.status === "done" || p.status === "error") return p;
|
|
7109
|
+
return {
|
|
7110
|
+
...p,
|
|
7111
|
+
result: event.content ?? p.result
|
|
7112
|
+
};
|
|
7113
|
+
});
|
|
7114
|
+
}
|
|
7091
7115
|
if (existing < 0) {
|
|
7092
7116
|
return [
|
|
7093
7117
|
...parts,
|
|
@@ -8506,13 +8530,22 @@ var init_codex = __esm({
|
|
|
8506
8530
|
const events = [
|
|
8507
8531
|
{ type: "tool_use", id: item.id, name: "Bash", input }
|
|
8508
8532
|
];
|
|
8509
|
-
|
|
8533
|
+
const finished = type === "item.completed" || item.status === "completed" || item.status === "failed";
|
|
8534
|
+
const output = typeof item.aggregated_output === "string" && item.aggregated_output ? item.aggregated_output : void 0;
|
|
8535
|
+
if (finished) {
|
|
8510
8536
|
events.push({
|
|
8511
8537
|
type: "tool_result",
|
|
8512
8538
|
id: item.id,
|
|
8513
|
-
content:
|
|
8539
|
+
content: output,
|
|
8514
8540
|
isError: item.status === "failed"
|
|
8515
8541
|
});
|
|
8542
|
+
} else if (output) {
|
|
8543
|
+
events.push({
|
|
8544
|
+
type: "tool_result",
|
|
8545
|
+
id: item.id,
|
|
8546
|
+
content: output,
|
|
8547
|
+
partial: true
|
|
8548
|
+
});
|
|
8516
8549
|
}
|
|
8517
8550
|
return events.length === 1 ? events[0] : events;
|
|
8518
8551
|
}
|
|
@@ -8728,7 +8761,7 @@ function cursorSdkMessageToEvents(msg) {
|
|
|
8728
8761
|
if (msg.type === "tool_call" && msg.call_id && msg.name) {
|
|
8729
8762
|
const normalized = normalizeCursorToolCall(msg.name, msg.args);
|
|
8730
8763
|
if (msg.status === "running") {
|
|
8731
|
-
|
|
8764
|
+
const events = [
|
|
8732
8765
|
{
|
|
8733
8766
|
type: "tool_use",
|
|
8734
8767
|
id: msg.call_id,
|
|
@@ -8736,6 +8769,16 @@ function cursorSdkMessageToEvents(msg) {
|
|
|
8736
8769
|
input: normalized.input
|
|
8737
8770
|
}
|
|
8738
8771
|
];
|
|
8772
|
+
const live = unwrapCursorToolResult(msg.result);
|
|
8773
|
+
if (live) {
|
|
8774
|
+
events.push({
|
|
8775
|
+
type: "tool_result",
|
|
8776
|
+
id: msg.call_id,
|
|
8777
|
+
content: live,
|
|
8778
|
+
partial: true
|
|
8779
|
+
});
|
|
8780
|
+
}
|
|
8781
|
+
return events;
|
|
8739
8782
|
}
|
|
8740
8783
|
if (msg.status === "completed" || msg.status === "error") {
|
|
8741
8784
|
return [
|
|
@@ -9253,13 +9296,16 @@ var init_opencode = __esm({
|
|
|
9253
9296
|
);
|
|
9254
9297
|
const events = [{ type: "tool_use", id, name, input }];
|
|
9255
9298
|
const output = state?.output;
|
|
9256
|
-
|
|
9299
|
+
const finished = state?.status === "completed" || state?.status === "error" || state?.status === "failed";
|
|
9300
|
+
const running = state?.status === "running" || state?.status === "in_progress" || state?.status === "pending";
|
|
9301
|
+
if (output != null || finished) {
|
|
9257
9302
|
const content = typeof output === "string" ? output : output != null ? JSON.stringify(output) : formatUnknownDetail(state?.error) || void 0;
|
|
9258
9303
|
events.push({
|
|
9259
9304
|
type: "tool_result",
|
|
9260
9305
|
id,
|
|
9261
9306
|
content,
|
|
9262
|
-
isError: state?.status === "error" || state?.status === "failed"
|
|
9307
|
+
isError: state?.status === "error" || state?.status === "failed",
|
|
9308
|
+
...running && !finished ? { partial: true } : {}
|
|
9263
9309
|
});
|
|
9264
9310
|
}
|
|
9265
9311
|
return events.length === 1 ? events[0] : events;
|
|
@@ -9294,14 +9340,17 @@ var init_opencode = __esm({
|
|
|
9294
9340
|
withEventParentId({ type: "tool_use", id, name, input }, parentId)
|
|
9295
9341
|
];
|
|
9296
9342
|
const output = state?.output ?? part.output;
|
|
9297
|
-
|
|
9343
|
+
const finished = state?.status === "completed" || state?.status === "error" || state?.status === "failed";
|
|
9344
|
+
const running = state?.status === "running" || state?.status === "in_progress" || state?.status === "pending";
|
|
9345
|
+
if (output != null || finished) {
|
|
9298
9346
|
nested.push(
|
|
9299
9347
|
withEventParentId(
|
|
9300
9348
|
{
|
|
9301
9349
|
type: "tool_result",
|
|
9302
9350
|
id,
|
|
9303
9351
|
content: typeof output === "string" ? output : output != null ? JSON.stringify(output) : void 0,
|
|
9304
|
-
isError: state?.status === "error" || state?.status === "failed"
|
|
9352
|
+
isError: state?.status === "error" || state?.status === "failed",
|
|
9353
|
+
...running && !finished ? { partial: true } : {}
|
|
9305
9354
|
},
|
|
9306
9355
|
parentId
|
|
9307
9356
|
)
|
|
@@ -14244,14 +14293,15 @@ function formatArtifactDirective() {
|
|
|
14244
14293
|
return [
|
|
14245
14294
|
"Sideboard side column (desktop UI):",
|
|
14246
14295
|
"claude.ai\u2019s \u201CArtifact\u201D tool does NOT exist in Claude Code. That is expected.",
|
|
14296
|
+
"Do not unprompted-duplicate a payload. Chat markdown (including tables) already renders in the transcript \u2014 do not also call present_schema with those same rows just to display them. If the user asks for an editable / interactive table, call present_schema even if markdown already showed the data. Do not also call present_artifact for a document you already fenced in chat.",
|
|
14247
14297
|
"Documents (HTML/SVG/markdown):",
|
|
14248
14298
|
"1) Emit a fenced code block tagged `html` (preferred), `svg`, or `markdown` with the FULL document \u2014 Sideboard opens a side column. Example:",
|
|
14249
14299
|
"```html",
|
|
14250
14300
|
"<!DOCTYPE html><html><head><title>Demo</title></head><body><h1>Hi</h1></body></html>",
|
|
14251
14301
|
"```",
|
|
14252
|
-
"2) Or call Sideboard MCP `present_artifact` with title, type (html|svg|markdown), and content.",
|
|
14302
|
+
"2) Or call Sideboard MCP `present_artifact` with title, type (html|svg|markdown), and content \u2014 not both a fence and this tool for the same body.",
|
|
14253
14303
|
"CMS / JSON Schema forms & tables (Brightsy or any schema+schemaUi source):",
|
|
14254
|
-
"3) Call Sideboard MCP `present_schema`
|
|
14304
|
+
"3) Call Sideboard MCP `present_schema` when the user needs to filter, edit, publish, or persist rows \u2014 including after you already showed a markdown table, if they then ask for an editable table. If they only need to read the data, a markdown table is enough. When you do call it, pass title, mode (table|form), and either:",
|
|
14255
14305
|
" - datasource=brightsy + resource_id (record type UUID) after fetching types via Brightsy MCP, or",
|
|
14256
14306
|
" - datasource=inline + resource: { id, title, schema, schemaUi } and optional records/record.",
|
|
14257
14307
|
"Files / media browser (CMS file manager column):",
|
|
@@ -14260,11 +14310,11 @@ function formatArtifactDirective() {
|
|
|
14260
14310
|
"Multiple-choice questions:",
|
|
14261
14311
|
"5) Call Sideboard MCP `ask_user` only when work is blocked on choosing among a few concrete options (approach forks, which API, auth vs cookies). First write a short chat message that explains the decision and what each option means (tradeoffs, when to pick it). Include a description on every option. After calling, stop and wait for their next message with answers. If you are asking a real multiple-choice, use ask_user rather than chat bullets so Sideboard shows the composer picker.",
|
|
14262
14312
|
"Do not call ask_user for greetings, check-ins, \u201Chello\u201D, open-ended how-can-I-help, or to invent a menu of possible next tasks \u2014 reply in chat. If one option is the obvious default, proceed without asking.",
|
|
14263
|
-
"Never say artifacts, CMS UI, or the Files column are unavailable.
|
|
14313
|
+
"Never say artifacts, CMS UI, or the Files column are unavailable. present_schema is for interactive list/edit/publish (use it when they ask to edit, even if chat already had a markdown table); present_files for storage UI; html fences for standalone pages; ask_user only for those blocked predefined-option questions."
|
|
14264
14314
|
].join("\n");
|
|
14265
14315
|
}
|
|
14266
14316
|
function formatUiReminder() {
|
|
14267
|
-
return "Sideboard UI: html fence or present_artifact
|
|
14317
|
+
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. ask_user only for a real multiple-choice (not hellos or \u201Cwhat next?\u201D) \u2014 reply in chat. Do not say artifacts/CMS UI are unavailable.";
|
|
14268
14318
|
}
|
|
14269
14319
|
var import_node_fs40, import_node_path36;
|
|
14270
14320
|
var init_instructions = __esm({
|
|
@@ -18335,7 +18385,7 @@ async function startMcpServer() {
|
|
|
18335
18385
|
}
|
|
18336
18386
|
server.tool(
|
|
18337
18387
|
"present_artifact",
|
|
18338
|
-
"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.",
|
|
18388
|
+
"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. Do not also emit the same document as a chat html/markdown fence. 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.",
|
|
18339
18389
|
{
|
|
18340
18390
|
title: import_zod4.z.string().describe("Short title shown in the artifact pane header"),
|
|
18341
18391
|
type: import_zod4.z.enum(["html", "svg", "markdown", "react"]).describe(
|
|
@@ -18412,7 +18462,7 @@ async function startMcpServer() {
|
|
|
18412
18462
|
);
|
|
18413
18463
|
server.tool(
|
|
18414
18464
|
"present_schema",
|
|
18415
|
-
"Open Sideboard\u2019s schema-driven side column (filterable table and/or form). Pass JSON Schema + optional schemaUi. Prefer datasource=inline with embedded resource/records. Use datasource=brightsy with resource_id only when the user is logged into Brightsy.",
|
|
18465
|
+
"Open Sideboard\u2019s schema-driven side column (filterable table and/or form) when the user needs to filter, edit, publish, or persist records. Do not call this just to re-display rows you already wrote as a markdown table. If the user asks for an editable / interactive table, call this even if chat already showed those rows. Pass JSON Schema + optional schemaUi. Prefer datasource=inline with embedded resource/records. Use datasource=brightsy with resource_id only when the user is logged into Brightsy.",
|
|
18416
18466
|
{
|
|
18417
18467
|
title: import_zod4.z.string().describe("Pane title"),
|
|
18418
18468
|
mode: import_zod4.z.enum(["table", "form"]).optional().describe("table = list/filter records; form = edit one record"),
|
package/dist/mcp/run-stdio.js
CHANGED
|
@@ -19,11 +19,11 @@ import {
|
|
|
19
19
|
slackApi,
|
|
20
20
|
slackTokenFor,
|
|
21
21
|
updateSchedule
|
|
22
|
-
} from "../chunk-
|
|
22
|
+
} from "../chunk-4HOFVKPC.js";
|
|
23
23
|
import {
|
|
24
24
|
listModelsForAgent,
|
|
25
25
|
sideboardMcpProfile
|
|
26
|
-
} from "../chunk-
|
|
26
|
+
} from "../chunk-OFF5AFCR.js";
|
|
27
27
|
import "../chunk-YMRT2DU6.js";
|
|
28
28
|
import "../chunk-ZRCX43LS.js";
|
|
29
29
|
import "../chunk-N5PM7HGQ.js";
|
|
@@ -1435,7 +1435,7 @@ async function startMcpServer() {
|
|
|
1435
1435
|
}
|
|
1436
1436
|
server.tool(
|
|
1437
1437
|
"present_artifact",
|
|
1438
|
-
"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.",
|
|
1438
|
+
"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. Do not also emit the same document as a chat html/markdown fence. 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.",
|
|
1439
1439
|
{
|
|
1440
1440
|
title: z4.string().describe("Short title shown in the artifact pane header"),
|
|
1441
1441
|
type: z4.enum(["html", "svg", "markdown", "react"]).describe(
|
|
@@ -1512,7 +1512,7 @@ async function startMcpServer() {
|
|
|
1512
1512
|
);
|
|
1513
1513
|
server.tool(
|
|
1514
1514
|
"present_schema",
|
|
1515
|
-
"Open Sideboard\u2019s schema-driven side column (filterable table and/or form). Pass JSON Schema + optional schemaUi. Prefer datasource=inline with embedded resource/records. Use datasource=brightsy with resource_id only when the user is logged into Brightsy.",
|
|
1515
|
+
"Open Sideboard\u2019s schema-driven side column (filterable table and/or form) when the user needs to filter, edit, publish, or persist records. Do not call this just to re-display rows you already wrote as a markdown table. If the user asks for an editable / interactive table, call this even if chat already showed those rows. Pass JSON Schema + optional schemaUi. Prefer datasource=inline with embedded resource/records. Use datasource=brightsy with resource_id only when the user is logged into Brightsy.",
|
|
1516
1516
|
{
|
|
1517
1517
|
title: z4.string().describe("Pane title"),
|
|
1518
1518
|
mode: z4.enum(["table", "form"]).optional().describe("table = list/filter records; form = edit one record"),
|
|
@@ -6,8 +6,8 @@ import {
|
|
|
6
6
|
isPidAlive,
|
|
7
7
|
startOrchestration,
|
|
8
8
|
waitForPidExit
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-4HOFVKPC.js";
|
|
10
|
+
import "./chunk-OFF5AFCR.js";
|
|
11
11
|
import "./chunk-YMRT2DU6.js";
|
|
12
12
|
import "./chunk-ZRCX43LS.js";
|
|
13
13
|
import "./chunk-N5PM7HGQ.js";
|
|
@@ -4,15 +4,15 @@ import {
|
|
|
4
4
|
isPidAlive,
|
|
5
5
|
startOrchestration,
|
|
6
6
|
waitForPidExit
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-DWP25N32.js";
|
|
8
|
+
import "./chunk-5KSLD4MU.js";
|
|
9
9
|
import "./chunk-EKIDHL2T.js";
|
|
10
10
|
import "./chunk-K3TIQXOH.js";
|
|
11
11
|
import "./chunk-4OJMZ6P2.js";
|
|
12
12
|
import "./chunk-7WC5UWEB.js";
|
|
13
13
|
import "./chunk-QTUESPAW.js";
|
|
14
14
|
import "./chunk-AXQ4ZWHK.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-GBY7OOMB.js";
|
|
16
16
|
import "./chunk-DCOZABNT.js";
|
|
17
17
|
import "./chunk-FZCIQYNQ.js";
|
|
18
18
|
import "./chunk-FKOIHGKV.js";
|