@sideboard-ai/core 0.1.83 → 0.1.85
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 +88 -53
- package/dist/agents/cursor-runner.js +93 -56
- package/dist/{agents-4KRD46KG.js → agents-FD77JUOP.js} +10 -10
- package/dist/{agents-3YPUZME7.js → agents-YAYNNJWC.js} +9 -9
- package/dist/{app-settings-MQXL7OUF.js → app-settings-K6RFCRF6.js} +2 -2
- package/dist/{app-settings-GVSOIJLZ.js → app-settings-PEXK5VEX.js} +1 -1
- package/dist/{chunk-LVTNWH7B.js → chunk-2N5DVTGH.js} +2 -2
- package/dist/{chunk-JMRJ4F5B.js → chunk-3CCRD6WS.js} +69 -20
- package/dist/{chunk-AE5VBOFE.js → chunk-3KETJKYA.js} +9 -2
- package/dist/{chunk-IZ7RPF54.js → chunk-5KLC2MWZ.js} +5 -1
- package/dist/{chunk-DJFGX4RT.js → chunk-6GKDYUTJ.js} +3 -3
- package/dist/{chunk-VROPG6QF.js → chunk-6K5VAPVR.js} +3 -3
- package/dist/{chunk-HBBXS2FR.js → chunk-6WQAYBVE.js} +89 -21
- package/dist/{chunk-UHGN4KCL.js → chunk-AY53MPDE.js} +4 -0
- package/dist/{chunk-SEOICVGB.js → chunk-CBJSPTBG.js} +30 -6
- package/dist/{chunk-BTL7EMGT.js → chunk-HHTHF5BQ.js} +4 -4
- package/dist/{chunk-YO3CYL6B.js → chunk-I3FRXL7J.js} +1 -1
- package/dist/{chunk-RS54WYYH.js → chunk-JFQ2M6NQ.js} +2 -2
- package/dist/{chunk-NXXT5SE3.js → chunk-JTHWVYSD.js} +3 -3
- package/dist/{chunk-GD2FM6FN.js → chunk-KRAUS3RF.js} +87 -17
- package/dist/{chunk-D4DPQ552.js → chunk-LGXBYZZA.js} +9 -2
- package/dist/{chunk-E2MIA7DO.js → chunk-SH75CXJR.js} +2 -2
- package/dist/{chunk-JW6YFPQE.js → chunk-WGI6KXKJ.js} +36 -11
- package/dist/{chunk-ERJS3ZDP.js → chunk-XVFV56JG.js} +2 -2
- package/dist/{connected-teams-ZRS53OAT.js → connected-teams-BNBM7OIC.js} +2 -2
- package/dist/{connected-teams-35EIRJCP.js → connected-teams-LSQ5TAZP.js} +2 -2
- package/dist/{coordinator-prompt-46JE4NQR.js → coordinator-prompt-VN7FF76K.js} +5 -5
- package/dist/{coordinator-prompt-6ICA54JR.js → coordinator-prompt-YYQSPLIP.js} +4 -4
- package/dist/{global-workspace-GSLCEB5E.js → global-workspace-BRIDCBMY.js} +6 -6
- package/dist/{global-workspace-OBRWUPZG.js → global-workspace-U3XVTQLL.js} +5 -5
- package/dist/index.cjs +235 -94
- package/dist/index.d.cts +32 -6
- package/dist/index.d.ts +32 -6
- package/dist/index.js +47 -33
- package/dist/mcp/run-stdio.cjs +532 -399
- package/dist/mcp/run-stdio.js +43 -36
- package/dist/{run-V2WZUMJA.js → run-CFKZPY7F.js} +1 -1
- package/dist/{run-A4RHY7HH.js → run-XKTAJRWF.js} +1 -1
- package/dist/{workspaces-RJIWQB6J.js → workspaces-AIZDG6PS.js} +6 -6
- package/dist/{workspaces-7B3PTEF4.js → workspaces-IWQIWAMQ.js} +7 -7
- package/dist/{worktree-U3UIID2K.js → worktree-6ZALJUWG.js} +3 -3
- package/dist/{worktree-HSN5LWY6.js → worktree-7Y22WHR7.js} +4 -4
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -403,6 +403,9 @@ function wrapElectronAsNodeLaunch(file, args) {
|
|
|
403
403
|
args: ["-c", STRIP_NESTED_ELECTRON_THEN_EXEC, "sh", file, ...args]
|
|
404
404
|
};
|
|
405
405
|
}
|
|
406
|
+
function isStrippedElectronLaunch(command, args) {
|
|
407
|
+
return command === "/bin/sh" && Boolean(args?.[1]?.includes("ELECTRON_RUN_AS_NODE") && args[1].includes("unset"));
|
|
408
|
+
}
|
|
406
409
|
var NESTED_ELECTRON_ENV_PREFIXES, STRIP_NESTED_ELECTRON_THEN_EXEC;
|
|
407
410
|
var init_nested_electron_env = __esm({
|
|
408
411
|
"src/hook/nested-electron-env.ts"() {
|
|
@@ -2912,80 +2915,6 @@ var init_gh_errors = __esm({
|
|
|
2912
2915
|
}
|
|
2913
2916
|
});
|
|
2914
2917
|
|
|
2915
|
-
// src/git/git-auth-mode.ts
|
|
2916
|
-
function appendIndexedGitConfig(existing, entries) {
|
|
2917
|
-
const start = Number.parseInt(String(existing?.GIT_CONFIG_COUNT ?? "0"), 10);
|
|
2918
|
-
const count = Number.isFinite(start) && start > 0 ? start : 0;
|
|
2919
|
-
const out = {};
|
|
2920
|
-
entries.forEach((entry, i) => {
|
|
2921
|
-
const n = count + i;
|
|
2922
|
-
out[`GIT_CONFIG_KEY_${n}`] = entry.key;
|
|
2923
|
-
out[`GIT_CONFIG_VALUE_${n}`] = entry.value;
|
|
2924
|
-
});
|
|
2925
|
-
out.GIT_CONFIG_COUNT = String(count + entries.length);
|
|
2926
|
-
return out;
|
|
2927
|
-
}
|
|
2928
|
-
function githubAgentGitEnv(existing) {
|
|
2929
|
-
return appendIndexedGitConfig(existing, HTTPS_REWRITE);
|
|
2930
|
-
}
|
|
2931
|
-
function applyGithubGitAuthEnv(existing, opts) {
|
|
2932
|
-
const out = {};
|
|
2933
|
-
if (opts.mode === "gh" || opts.mode === "token") {
|
|
2934
|
-
Object.assign(out, githubAgentGitEnv(existing));
|
|
2935
|
-
}
|
|
2936
|
-
if (opts.mode === "token") {
|
|
2937
|
-
const token = opts.token?.trim();
|
|
2938
|
-
if (token && !existing?.GH_TOKEN?.trim()) {
|
|
2939
|
-
out.GH_TOKEN = token;
|
|
2940
|
-
}
|
|
2941
|
-
}
|
|
2942
|
-
return out;
|
|
2943
|
-
}
|
|
2944
|
-
function formatGitAuthModeDirective(mode) {
|
|
2945
|
-
switch (mode) {
|
|
2946
|
-
case "gh":
|
|
2947
|
-
return [
|
|
2948
|
-
"Git authentication (Account \u2192 GitHub mode: gh CLI):",
|
|
2949
|
-
"- This process rewrites `git@github.com:` and `ssh://git@github.com/` to HTTPS.",
|
|
2950
|
-
"- `gh` supplies credentials (`gh auth git-credential`). Do not switch remotes to SSH.",
|
|
2951
|
-
"- Push with `git push -u origin HEAD`. Create/update PRs with `gh` as below."
|
|
2952
|
-
].join("\n");
|
|
2953
|
-
case "ssh":
|
|
2954
|
-
return [
|
|
2955
|
-
"Git authentication (Account \u2192 GitHub mode: SSH):",
|
|
2956
|
-
"- Keep SSH remotes (`git@github.com:\u2026`). Do not rewrite them to HTTPS.",
|
|
2957
|
-
"- Use this Mac\u2019s SSH agent / keys. If push fails with `Permission denied (publickey)`, tell the user to start ssh-agent or switch Account \u2192 GitHub to Auto / gh CLI \u2014 do not rewrite remotes yourself.",
|
|
2958
|
-
"- Push with `git push -u origin HEAD`. Create/update PRs with `gh` as below (API still uses `gh`)."
|
|
2959
|
-
].join("\n");
|
|
2960
|
-
case "token":
|
|
2961
|
-
return [
|
|
2962
|
-
"Git authentication (Account \u2192 GitHub mode: personal access token):",
|
|
2963
|
-
"- This process rewrites GitHub SSH remotes to HTTPS.",
|
|
2964
|
-
"- `GH_TOKEN` is set in the environment. Use HTTPS git and `gh`; do not paste the token into commands or chat.",
|
|
2965
|
-
"- Push with `git push -u origin HEAD`. Create/update PRs with `gh` as below."
|
|
2966
|
-
].join("\n");
|
|
2967
|
-
case "auto":
|
|
2968
|
-
default:
|
|
2969
|
-
return [
|
|
2970
|
-
"Git authentication (Account \u2192 GitHub mode: auto):",
|
|
2971
|
-
"- Prefer the existing remote URL (SSH or HTTPS). Do not rewrite remotes unless a push/fetch fails.",
|
|
2972
|
-
'- If `git push` fails with `Permission denied (publickey)`, this shell has no ssh-agent. Retry over HTTPS (do not stop): `git -c url.https://github.com/.insteadOf=git@github.com: -c http.extraHeader="AUTHORIZATION: bearer $(gh auth token)" push -u origin HEAD`.',
|
|
2973
|
-
"- Then create/update the PR with `gh` as below."
|
|
2974
|
-
].join("\n");
|
|
2975
|
-
}
|
|
2976
|
-
}
|
|
2977
|
-
var HTTPS_REWRITE;
|
|
2978
|
-
var init_git_auth_mode = __esm({
|
|
2979
|
-
"src/git/git-auth-mode.ts"() {
|
|
2980
|
-
"use strict";
|
|
2981
|
-
HTTPS_REWRITE = [
|
|
2982
|
-
{ key: "url.https://github.com/.insteadOf", value: "git@github.com:" },
|
|
2983
|
-
{ key: "url.https://github.com/.insteadOf", value: "ssh://git@github.com/" },
|
|
2984
|
-
{ key: "credential.https://github.com.helper", value: "!gh auth git-credential" }
|
|
2985
|
-
];
|
|
2986
|
-
}
|
|
2987
|
-
});
|
|
2988
|
-
|
|
2989
2918
|
// src/agents/path.ts
|
|
2990
2919
|
function prependPathDir(env, dir) {
|
|
2991
2920
|
if (!dir || !(0, import_node_fs8.existsSync)(dir)) return;
|
|
@@ -3137,7 +3066,10 @@ async function git(args, cwd, opts) {
|
|
|
3137
3066
|
env: {
|
|
3138
3067
|
GIT_TERMINAL_PROMPT: "0",
|
|
3139
3068
|
GIT_ASKPASS: process.env.GIT_ASKPASS || "echo",
|
|
3069
|
+
SSH_ASKPASS: process.env.SSH_ASKPASS || "echo",
|
|
3140
3070
|
GIT_SSH_COMMAND: process.env.GIT_SSH_COMMAND || "ssh -o BatchMode=yes -o ConnectTimeout=15",
|
|
3071
|
+
GCM_INTERACTIVE: "never",
|
|
3072
|
+
GH_PROMPT_DISABLED: "1",
|
|
3141
3073
|
...opts?.env
|
|
3142
3074
|
}
|
|
3143
3075
|
});
|
|
@@ -3146,11 +3078,15 @@ async function gh(args, cwd, opts) {
|
|
|
3146
3078
|
return run("gh", args, {
|
|
3147
3079
|
cwd,
|
|
3148
3080
|
reject: opts?.reject,
|
|
3149
|
-
timeoutMs: opts?.timeoutMs
|
|
3081
|
+
timeoutMs: opts?.timeoutMs,
|
|
3082
|
+
env: {
|
|
3083
|
+
GH_PROMPT_DISABLED: "1",
|
|
3084
|
+
GIT_TERMINAL_PROMPT: "0"
|
|
3085
|
+
}
|
|
3150
3086
|
});
|
|
3151
3087
|
}
|
|
3152
3088
|
async function resolveGhAuthToken(cwd) {
|
|
3153
|
-
const result = await gh(["auth", "token"], cwd, { reject: false });
|
|
3089
|
+
const result = await gh(["auth", "token"], cwd, { reject: false, timeoutMs: 8e3 });
|
|
3154
3090
|
if (result.exitCode !== 0) return null;
|
|
3155
3091
|
const token = result.stdout.trim();
|
|
3156
3092
|
return token || null;
|
|
@@ -3164,6 +3100,148 @@ var init_run = __esm({
|
|
|
3164
3100
|
}
|
|
3165
3101
|
});
|
|
3166
3102
|
|
|
3103
|
+
// src/git/git-auth-mode.ts
|
|
3104
|
+
function nonInteractiveGitProcessEnv() {
|
|
3105
|
+
return {
|
|
3106
|
+
GIT_TERMINAL_PROMPT: "0",
|
|
3107
|
+
GIT_ASKPASS: process.env.GIT_ASKPASS?.trim() || "echo",
|
|
3108
|
+
SSH_ASKPASS: process.env.SSH_ASKPASS?.trim() || "echo",
|
|
3109
|
+
GIT_SSH_COMMAND: process.env.GIT_SSH_COMMAND?.trim() || "ssh -o BatchMode=yes -o ConnectTimeout=15",
|
|
3110
|
+
GCM_INTERACTIVE: "never",
|
|
3111
|
+
GH_PROMPT_DISABLED: "1"
|
|
3112
|
+
};
|
|
3113
|
+
}
|
|
3114
|
+
function appendIndexedGitConfig(existing, entries) {
|
|
3115
|
+
const start = Number.parseInt(String(existing?.GIT_CONFIG_COUNT ?? "0"), 10);
|
|
3116
|
+
const count = Number.isFinite(start) && start > 0 ? start : 0;
|
|
3117
|
+
const out = {};
|
|
3118
|
+
entries.forEach((entry, i) => {
|
|
3119
|
+
const n = count + i;
|
|
3120
|
+
out[`GIT_CONFIG_KEY_${n}`] = entry.key;
|
|
3121
|
+
out[`GIT_CONFIG_VALUE_${n}`] = entry.value;
|
|
3122
|
+
});
|
|
3123
|
+
out.GIT_CONFIG_COUNT = String(count + entries.length);
|
|
3124
|
+
return out;
|
|
3125
|
+
}
|
|
3126
|
+
function githubAgentGitEnv(existing) {
|
|
3127
|
+
return appendIndexedGitConfig(existing, HTTPS_REWRITE);
|
|
3128
|
+
}
|
|
3129
|
+
function githubHttpsBearerEnv(existing, token) {
|
|
3130
|
+
const rewrite = githubAgentGitEnv(existing);
|
|
3131
|
+
const header = appendIndexedGitConfig(
|
|
3132
|
+
{ ...existing, ...rewrite },
|
|
3133
|
+
[
|
|
3134
|
+
{
|
|
3135
|
+
key: "http.https://github.com/.extraHeader",
|
|
3136
|
+
value: `AUTHORIZATION: bearer ${token}`
|
|
3137
|
+
}
|
|
3138
|
+
]
|
|
3139
|
+
);
|
|
3140
|
+
return { ...rewrite, ...header };
|
|
3141
|
+
}
|
|
3142
|
+
function applyGithubGitAuthEnv(existing, opts) {
|
|
3143
|
+
const out = { ...nonInteractiveGitProcessEnv() };
|
|
3144
|
+
if (opts.mode === "ssh") return out;
|
|
3145
|
+
const existingToken = existing?.GH_TOKEN?.trim() || "";
|
|
3146
|
+
const provided = existingToken ? "" : opts.token?.trim() || "";
|
|
3147
|
+
const token = existingToken || provided;
|
|
3148
|
+
Object.assign(
|
|
3149
|
+
out,
|
|
3150
|
+
token ? githubHttpsBearerEnv(existing, token) : githubAgentGitEnv(existing)
|
|
3151
|
+
);
|
|
3152
|
+
if (provided) out.GH_TOKEN = provided;
|
|
3153
|
+
return out;
|
|
3154
|
+
}
|
|
3155
|
+
async function resolveGithubAgentToken(mode, cwd) {
|
|
3156
|
+
if (mode === "ssh") return null;
|
|
3157
|
+
if (mode === "token") return getGithubPat();
|
|
3158
|
+
try {
|
|
3159
|
+
return await resolveGhAuthToken(cwd);
|
|
3160
|
+
} catch {
|
|
3161
|
+
return null;
|
|
3162
|
+
}
|
|
3163
|
+
}
|
|
3164
|
+
async function resolveAgentGitAuthEnv(existing, opts) {
|
|
3165
|
+
let mode = "auto";
|
|
3166
|
+
if (opts?.mode) {
|
|
3167
|
+
mode = opts.mode;
|
|
3168
|
+
} else {
|
|
3169
|
+
try {
|
|
3170
|
+
mode = getGithubGitAuthMode();
|
|
3171
|
+
} catch {
|
|
3172
|
+
mode = "auto";
|
|
3173
|
+
}
|
|
3174
|
+
}
|
|
3175
|
+
const cwd = opts?.cwd?.trim() || process.cwd();
|
|
3176
|
+
let token = null;
|
|
3177
|
+
try {
|
|
3178
|
+
token = await resolveGithubAgentToken(mode, cwd);
|
|
3179
|
+
} catch {
|
|
3180
|
+
token = null;
|
|
3181
|
+
}
|
|
3182
|
+
return applyGithubGitAuthEnv(existing, { mode, token });
|
|
3183
|
+
}
|
|
3184
|
+
function codexUnattendedGitConfigArgs(sandbox) {
|
|
3185
|
+
const args = [
|
|
3186
|
+
"-c",
|
|
3187
|
+
'shell_environment_policy.inherit="all"',
|
|
3188
|
+
"-c",
|
|
3189
|
+
"shell_environment_policy.ignore_default_excludes=true"
|
|
3190
|
+
];
|
|
3191
|
+
if (sandbox === "workspace-write") {
|
|
3192
|
+
args.push("-c", "sandbox_workspace_write.network_access=true");
|
|
3193
|
+
}
|
|
3194
|
+
return args;
|
|
3195
|
+
}
|
|
3196
|
+
function formatGitAuthModeDirective(mode) {
|
|
3197
|
+
switch (mode) {
|
|
3198
|
+
case "gh":
|
|
3199
|
+
return [
|
|
3200
|
+
"Git authentication (Account \u2192 GitHub mode: gh CLI):",
|
|
3201
|
+
"- This process rewrites `git@github.com:` and `ssh://git@github.com/` to HTTPS.",
|
|
3202
|
+
"- `GH_TOKEN` is injected from `gh auth token` (no macOS Keychain prompts). Do not switch remotes to SSH.",
|
|
3203
|
+
"- Push with `git push -u origin HEAD`. Create/update PRs with `gh` as below."
|
|
3204
|
+
].join("\n");
|
|
3205
|
+
case "ssh":
|
|
3206
|
+
return [
|
|
3207
|
+
"Git authentication (Account \u2192 GitHub mode: SSH):",
|
|
3208
|
+
"- Keep SSH remotes (`git@github.com:\u2026`). Do not rewrite them to HTTPS.",
|
|
3209
|
+
"- SSH is batch-mode: it will not prompt for a Keychain password. If push fails with `Permission denied (publickey)`, tell the user to unlock ssh-agent or switch Account \u2192 GitHub to Auto / gh CLI \u2014 do not rewrite remotes yourself.",
|
|
3210
|
+
"- Push with `git push -u origin HEAD`. Create/update PRs with `gh` as below (API still uses `gh`)."
|
|
3211
|
+
].join("\n");
|
|
3212
|
+
case "token":
|
|
3213
|
+
return [
|
|
3214
|
+
"Git authentication (Account \u2192 GitHub mode: personal access token):",
|
|
3215
|
+
"- This process rewrites GitHub SSH remotes to HTTPS.",
|
|
3216
|
+
"- `GH_TOKEN` is set in the environment. Use HTTPS git and `gh`; do not paste the token into commands or chat.",
|
|
3217
|
+
"- Push with `git push -u origin HEAD`. Create/update PRs with `gh` as below."
|
|
3218
|
+
].join("\n");
|
|
3219
|
+
case "auto":
|
|
3220
|
+
default:
|
|
3221
|
+
return [
|
|
3222
|
+
"Git authentication (Account \u2192 GitHub mode: auto):",
|
|
3223
|
+
"- This process rewrites GitHub SSH remotes to HTTPS and authenticates with `GH_TOKEN` from `gh` so git/ssh never prompt the macOS Keychain (required for Slack / unattended Cursor).",
|
|
3224
|
+
"- Do not switch remotes to SSH. Push with `git push -u origin HEAD`.",
|
|
3225
|
+
"- If HTTPS auth fails, tell the user to run `gh auth login` on this Mac or set Account \u2192 GitHub to a PAT \u2014 do not wait for a Keychain dialog."
|
|
3226
|
+
].join("\n");
|
|
3227
|
+
}
|
|
3228
|
+
}
|
|
3229
|
+
var HTTPS_REWRITE;
|
|
3230
|
+
var init_git_auth_mode = __esm({
|
|
3231
|
+
"src/git/git-auth-mode.ts"() {
|
|
3232
|
+
"use strict";
|
|
3233
|
+
init_app_settings();
|
|
3234
|
+
init_run();
|
|
3235
|
+
HTTPS_REWRITE = [
|
|
3236
|
+
{ key: "url.https://github.com/.insteadOf", value: "git@github.com:" },
|
|
3237
|
+
{ key: "url.https://github.com/.insteadOf", value: "ssh://git@github.com/" },
|
|
3238
|
+
// Empty helper disables ~/.gitconfig osxkeychain so GUI agents cannot pop
|
|
3239
|
+
// "git-credential-osxkeychain wants to use the keychain".
|
|
3240
|
+
{ key: "credential.helper", value: "" }
|
|
3241
|
+
];
|
|
3242
|
+
}
|
|
3243
|
+
});
|
|
3244
|
+
|
|
3167
3245
|
// src/git/pr-gates.ts
|
|
3168
3246
|
function prIsInMergeQueue(gate) {
|
|
3169
3247
|
if (gate.isInMergeQueue) return true;
|
|
@@ -3649,7 +3727,7 @@ async function originGhRepoEnv(cwd, opts) {
|
|
|
3649
3727
|
await ensureGhPreferOrigin(cwd);
|
|
3650
3728
|
const slug = await resolveGithubRepoSlug(cwd);
|
|
3651
3729
|
const mode = opts?.mode ?? getGithubGitAuthMode();
|
|
3652
|
-
const token = mode === "token" ? getGithubPat() : null;
|
|
3730
|
+
const token = mode === "token" ? getGithubPat() : mode === "ssh" ? null : await resolveGhAuthToken(cwd);
|
|
3653
3731
|
return {
|
|
3654
3732
|
...applyGithubGitAuthEnv(opts?.env, { mode, token }),
|
|
3655
3733
|
...slug ? { GH_REPO: slug } : {}
|
|
@@ -5688,20 +5766,36 @@ function pushTurnStderr(tail, line, maxLines = 12) {
|
|
|
5688
5766
|
tail.push(trimmed);
|
|
5689
5767
|
while (tail.length > maxLines) tail.shift();
|
|
5690
5768
|
}
|
|
5769
|
+
function looksLikeMinifiedJsDump(line) {
|
|
5770
|
+
if (line.length < 200) return false;
|
|
5771
|
+
return /yield Promise\.all/.test(line) || /\(0,[A-Za-z$]\.\w+\)/.test(line) || /CURSOR_RIPGREP_PATH/.test(line);
|
|
5772
|
+
}
|
|
5773
|
+
function looksLikeNestedElectronCrash(line) {
|
|
5774
|
+
return /HasCustomHostObject|ElectronInitializeICUandStartNode/i.test(line);
|
|
5775
|
+
}
|
|
5776
|
+
function clipStderr(text3, maxChars) {
|
|
5777
|
+
const trimmed = text3.trim();
|
|
5778
|
+
if (trimmed.length <= maxChars) return trimmed;
|
|
5779
|
+
return trimmed.slice(0, maxChars);
|
|
5780
|
+
}
|
|
5691
5781
|
function summarizeTurnStderr(tail, maxChars = 500) {
|
|
5692
5782
|
if (tail.length === 0) return "";
|
|
5783
|
+
const cursorStartup = [...tail].reverse().find((line) => /cursor startup failed:/i.test(line));
|
|
5784
|
+
if (cursorStartup) return clipStderr(cursorStartup, maxChars);
|
|
5785
|
+
if (tail.some(looksLikeNestedElectronCrash)) return NESTED_ELECTRON_SUMMARY;
|
|
5693
5786
|
const moduleMissing = [...tail].reverse().find((line) => /cannot find module/i.test(line));
|
|
5694
|
-
if (moduleMissing)
|
|
5695
|
-
|
|
5787
|
+
if (moduleMissing) return clipStderr(moduleMissing, maxChars);
|
|
5788
|
+
const useful = tail.filter((line) => !looksLikeMinifiedJsDump(line));
|
|
5789
|
+
if (useful.length === 0 && tail.some(looksLikeMinifiedJsDump)) {
|
|
5790
|
+
return MINIFIED_DUMP_SUMMARY;
|
|
5696
5791
|
}
|
|
5697
|
-
const joined = tail.slice(-6).join("\n").trim();
|
|
5698
|
-
|
|
5699
|
-
return joined.slice(joined.length - maxChars);
|
|
5792
|
+
const joined = (useful.length ? useful : tail).slice(-6).join("\n").trim();
|
|
5793
|
+
return clipStderr(joined, maxChars);
|
|
5700
5794
|
}
|
|
5701
5795
|
function looksLikeInvalidAgentSession(text3) {
|
|
5702
5796
|
const lower = text3.trim().toLowerCase();
|
|
5703
5797
|
if (!lower) return false;
|
|
5704
|
-
return /session not found/.test(lower) || /no conversation found/.test(lower) || /conversation .+ not found/.test(lower) || /thread .+ not found/.test(lower) || /unknown session/.test(lower) || /invalid session/.test(lower) || /session .+ (missing|expired|deleted|gone)/.test(lower) || /cannot resume/.test(lower) || /failed to (load|resume|open) session/.test(lower);
|
|
5798
|
+
return /session not found/.test(lower) || /no conversation found/.test(lower) || /conversation .+ not found/.test(lower) || /thread .+ not found/.test(lower) || /unknown session/.test(lower) || /invalid session/.test(lower) || /session .+ (missing|expired|deleted|gone)/.test(lower) || /cannot resume/.test(lower) || /failed to (load|resume|open) session/.test(lower) || /corrupt local agent checkpoint/.test(lower) || /missing root blob/.test(lower) || /\bagent\b.{0,120}\bnot found\b/.test(lower);
|
|
5705
5799
|
}
|
|
5706
5800
|
function looksLikeAgentFailureMessage(text3) {
|
|
5707
5801
|
const lower = text3.trim().toLowerCase();
|
|
@@ -5741,6 +5835,12 @@ function humanizeAgentFailDetail(detail) {
|
|
|
5741
5835
|
if (/context.*(too long|exceed)|prompt is too long|conversation too long/.test(lower)) {
|
|
5742
5836
|
return `${raw} \u2014 start a new chat or compact context, then retry.`;
|
|
5743
5837
|
}
|
|
5838
|
+
if (/hascustomhostobject|electroninitializeicuandstartnode|nested chromium/i.test(lower)) {
|
|
5839
|
+
return `${raw} \u2014 retry the turn; if it keeps failing, pick another agent.`;
|
|
5840
|
+
}
|
|
5841
|
+
if (/corrupt local agent checkpoint|missing root blob|truncated crash dump/.test(lower)) {
|
|
5842
|
+
return `${raw} \u2014 retry the turn (Sideboard will start a fresh Cursor session).`;
|
|
5843
|
+
}
|
|
5744
5844
|
return raw;
|
|
5745
5845
|
}
|
|
5746
5846
|
function formatTurnExitError(exitCode, stderrSummary) {
|
|
@@ -5756,11 +5856,13 @@ function formatTurnExitError(exitCode, stderrSummary) {
|
|
|
5756
5856
|
if (looksLikeAgentFailureMessage(raw)) return detail;
|
|
5757
5857
|
return `exit ${code}: ${detail}`;
|
|
5758
5858
|
}
|
|
5759
|
-
var NODE_VERSION_FOOTER;
|
|
5859
|
+
var NODE_VERSION_FOOTER, NESTED_ELECTRON_SUMMARY, MINIFIED_DUMP_SUMMARY;
|
|
5760
5860
|
var init_error_detail = __esm({
|
|
5761
5861
|
"src/agents/error-detail.ts"() {
|
|
5762
5862
|
"use strict";
|
|
5763
5863
|
NODE_VERSION_FOOTER = /^Node\.js v\d+/i;
|
|
5864
|
+
NESTED_ELECTRON_SUMMARY = "Cursor local agent crashed at Electron startup (nested Chromium / HasCustomHostObject)";
|
|
5865
|
+
MINIFIED_DUMP_SUMMARY = "Cursor local agent crashed during startup (truncated crash dump)";
|
|
5764
5866
|
}
|
|
5765
5867
|
});
|
|
5766
5868
|
|
|
@@ -6209,7 +6311,12 @@ function applyNodeLaunch(launch, args) {
|
|
|
6209
6311
|
return { file: launch.file, args, env: launch.env };
|
|
6210
6312
|
}
|
|
6211
6313
|
const wrapped = wrapElectronAsNodeLaunch(launch.file, args);
|
|
6212
|
-
|
|
6314
|
+
if (process.platform === "win32") {
|
|
6315
|
+
return { file: wrapped.file, args: wrapped.args, env: launch.env };
|
|
6316
|
+
}
|
|
6317
|
+
const env = { ...launch.env };
|
|
6318
|
+
delete env.ELECTRON_RUN_AS_NODE;
|
|
6319
|
+
return { file: wrapped.file, args: wrapped.args, env };
|
|
6213
6320
|
}
|
|
6214
6321
|
async function resolveNodeLaunch(scriptPath) {
|
|
6215
6322
|
if (isAsarPath(scriptPath)) {
|
|
@@ -6386,6 +6493,10 @@ async function buildInjectedMcpServers(opts) {
|
|
|
6386
6493
|
if (orchId) {
|
|
6387
6494
|
sideboard.env.SIDEBOARD_ORCHESTRATOR_THREAD_ID = orchId;
|
|
6388
6495
|
}
|
|
6496
|
+
try {
|
|
6497
|
+
Object.assign(sideboard.env, await resolveAgentGitAuthEnv(sideboard.env));
|
|
6498
|
+
} catch {
|
|
6499
|
+
}
|
|
6389
6500
|
servers.push(sideboard);
|
|
6390
6501
|
}
|
|
6391
6502
|
if (opts.includeBrightsy && isBrightsyConnected()) {
|
|
@@ -6408,10 +6519,19 @@ async function buildInjectedMcpServers(opts) {
|
|
|
6408
6519
|
function toCursorMcpServers(servers) {
|
|
6409
6520
|
const out = {};
|
|
6410
6521
|
for (const s of servers) {
|
|
6522
|
+
const env = s.env ? { ...s.env } : void 0;
|
|
6523
|
+
if (env) delete env.ELECTRON_RUN_AS_NODE;
|
|
6524
|
+
let command = s.command;
|
|
6525
|
+
let args = s.args;
|
|
6526
|
+
if (process.platform !== "win32" && !isStrippedElectronLaunch(command, args)) {
|
|
6527
|
+
const wrapped = wrapElectronAsNodeLaunch(command, args ?? []);
|
|
6528
|
+
command = wrapped.file;
|
|
6529
|
+
args = wrapped.args;
|
|
6530
|
+
}
|
|
6411
6531
|
out[s.name] = {
|
|
6412
|
-
command
|
|
6413
|
-
...
|
|
6414
|
-
...
|
|
6532
|
+
command,
|
|
6533
|
+
...args && args.length > 0 ? { args } : {},
|
|
6534
|
+
...env && Object.keys(env).length > 0 ? { env } : {}
|
|
6415
6535
|
};
|
|
6416
6536
|
}
|
|
6417
6537
|
return out;
|
|
@@ -6481,6 +6601,8 @@ var init_injected_mcp = __esm({
|
|
|
6481
6601
|
init_app_settings();
|
|
6482
6602
|
init_paths();
|
|
6483
6603
|
init_node_launch();
|
|
6604
|
+
init_nested_electron_env();
|
|
6605
|
+
init_git_auth_mode();
|
|
6484
6606
|
import_meta = {};
|
|
6485
6607
|
SIDEBOARD_MCP_ALLOWED_TOOLS = [
|
|
6486
6608
|
"mcp__sideboard",
|
|
@@ -7024,6 +7146,7 @@ var init_codex = __esm({
|
|
|
7024
7146
|
init_global_workspace();
|
|
7025
7147
|
init_error_detail();
|
|
7026
7148
|
init_usage();
|
|
7149
|
+
init_git_auth_mode();
|
|
7027
7150
|
init_injected_mcp();
|
|
7028
7151
|
init_turn_input();
|
|
7029
7152
|
init_types();
|
|
@@ -7115,6 +7238,8 @@ var init_codex = __esm({
|
|
|
7115
7238
|
// `codex exec` rejects `--ask-for-approval` (global-only on newer CLIs).
|
|
7116
7239
|
"-c",
|
|
7117
7240
|
'approval_policy="never"',
|
|
7241
|
+
// Seatbelt cannot use the login Keychain; default policy also strips GH_TOKEN.
|
|
7242
|
+
...codexUnattendedGitConfigArgs(mode.codexSandbox),
|
|
7118
7243
|
...model ? ["--model", model] : [],
|
|
7119
7244
|
...mcpOverrides
|
|
7120
7245
|
];
|
|
@@ -8728,6 +8853,7 @@ __export(index_exports, {
|
|
|
8728
8853
|
cleanupOrphanWorktrees: () => cleanupOrphanWorktrees,
|
|
8729
8854
|
cloneRepoIntoSideboard: () => cloneRepoIntoSideboard,
|
|
8730
8855
|
codexAdapter: () => codexAdapter,
|
|
8856
|
+
codexUnattendedGitConfigArgs: () => codexUnattendedGitConfigArgs,
|
|
8731
8857
|
coerceOrchestratorAgent: () => coerceOrchestratorAgent,
|
|
8732
8858
|
collectTakenTeamSlugs: () => collectTakenTeamSlugs,
|
|
8733
8859
|
commentLinearIssue: () => commentLinearIssue,
|
|
@@ -8948,6 +9074,7 @@ __export(index_exports, {
|
|
|
8948
9074
|
mergeUsage: () => mergeUsage,
|
|
8949
9075
|
nextPastedTextName: () => nextPastedTextName,
|
|
8950
9076
|
nextThinkingEffort: () => nextThinkingEffort,
|
|
9077
|
+
nonInteractiveGitProcessEnv: () => nonInteractiveGitProcessEnv,
|
|
8951
9078
|
normalizeParseResult: () => normalizeParseResult,
|
|
8952
9079
|
normalizeThinkingEffort: () => normalizeThinkingEffort,
|
|
8953
9080
|
normalizeThread: () => normalizeThread,
|
|
@@ -9003,6 +9130,7 @@ __export(index_exports, {
|
|
|
9003
9130
|
requireAgent: () => requireAgent,
|
|
9004
9131
|
resetGhStackDetectCache: () => resetGhStackDetectCache,
|
|
9005
9132
|
resolveAgentExecutable: () => resolveAgentExecutable,
|
|
9133
|
+
resolveAgentGitAuthEnv: () => resolveAgentGitAuthEnv,
|
|
9006
9134
|
resolveClaudeExecutable: () => resolveClaudeExecutable,
|
|
9007
9135
|
resolveCommandBinarySync: () => resolveCommandBinarySync,
|
|
9008
9136
|
resolveConductorCursorAgentId: () => resolveConductorCursorAgentId,
|
|
@@ -9012,6 +9140,7 @@ __export(index_exports, {
|
|
|
9012
9140
|
resolveEffectiveIssueSource: () => resolveEffectiveIssueSource,
|
|
9013
9141
|
resolveFilesToCopy: () => resolveFilesToCopy,
|
|
9014
9142
|
resolveGhAuthToken: () => resolveGhAuthToken,
|
|
9143
|
+
resolveGithubAgentToken: () => resolveGithubAgentToken,
|
|
9015
9144
|
resolveGithubRepoSlug: () => resolveGithubRepoSlug,
|
|
9016
9145
|
resolveLinearState: () => resolveLinearState,
|
|
9017
9146
|
resolveLinearTeam: () => resolveLinearTeam,
|
|
@@ -9883,6 +10012,7 @@ init_agents();
|
|
|
9883
10012
|
var import_node_readline = require("readline");
|
|
9884
10013
|
var import_execa2 = require("execa");
|
|
9885
10014
|
init_worktree();
|
|
10015
|
+
init_git_auth_mode();
|
|
9886
10016
|
init_app_settings();
|
|
9887
10017
|
init_global_workspace();
|
|
9888
10018
|
init_brightsy();
|
|
@@ -10145,14 +10275,16 @@ async function spawnAgentTurn(thread, input, onEvent) {
|
|
|
10145
10275
|
);
|
|
10146
10276
|
}
|
|
10147
10277
|
const env = childEnvWithAppSettings(cmd.env);
|
|
10148
|
-
|
|
10149
|
-
|
|
10278
|
+
try {
|
|
10279
|
+
if (isOrchestratorThread(thread)) {
|
|
10280
|
+
Object.assign(env, await resolveAgentGitAuthEnv(env));
|
|
10281
|
+
} else {
|
|
10150
10282
|
const originEnv = await originGhRepoEnv(thread.worktreePath, { env });
|
|
10151
10283
|
Object.assign(env, originEnv);
|
|
10152
|
-
} catch (err) {
|
|
10153
|
-
const detail = err instanceof Error ? err.message : String(err);
|
|
10154
|
-
console.warn(`[sideboard] originGhRepoEnv failed (${thread.worktreePath}): ${detail}`);
|
|
10155
10284
|
}
|
|
10285
|
+
} catch (err) {
|
|
10286
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
10287
|
+
console.warn(`[sideboard] git auth env failed (${thread.worktreePath}): ${detail}`);
|
|
10156
10288
|
}
|
|
10157
10289
|
const child = (0, import_execa2.execa)(cmd.file, cmd.args, {
|
|
10158
10290
|
cwd: cmd.cwd,
|
|
@@ -10505,6 +10637,7 @@ var import_execa3 = require("execa");
|
|
|
10505
10637
|
var import_node_readline2 = require("readline");
|
|
10506
10638
|
init_settings();
|
|
10507
10639
|
init_nested_electron_env();
|
|
10640
|
+
init_git_auth_mode();
|
|
10508
10641
|
init_nested_electron_env();
|
|
10509
10642
|
var PORT_RANGE_SIZE = 10;
|
|
10510
10643
|
function matchSimpleGlob(pattern, name) {
|
|
@@ -10678,6 +10811,10 @@ async function spawnWorkspaceScript(command, opts) {
|
|
|
10678
10811
|
},
|
|
10679
10812
|
loginEnv
|
|
10680
10813
|
);
|
|
10814
|
+
try {
|
|
10815
|
+
Object.assign(env, await resolveAgentGitAuthEnv(env, { cwd: opts.worktreePath }));
|
|
10816
|
+
} catch {
|
|
10817
|
+
}
|
|
10681
10818
|
const shell = process.platform === "darwin" ? "zsh" : "bash";
|
|
10682
10819
|
const child = (0, import_execa3.execa)(shell, ["-lc", command], {
|
|
10683
10820
|
cwd: opts.worktreePath,
|
|
@@ -15322,7 +15459,7 @@ var Orchestrator = class {
|
|
|
15322
15459
|
}
|
|
15323
15460
|
let lastStderr = summarizeTurnStderr(stderrTail);
|
|
15324
15461
|
let detail = lastStderr || (exitCode !== 0 ? fallbackTurnFailDetail(assistantText) : "");
|
|
15325
|
-
if (exitCode !== 0 && !assistantText && parts.length === 0 && !this.stoppedTurns.has(threadId) && looksLikeInvalidAgentSession(detail) && this.requireThread(threadId).sessionId && this.requireThread(threadId).agent !== "
|
|
15462
|
+
if (exitCode !== 0 && !assistantText && parts.length === 0 && !this.stoppedTurns.has(threadId) && looksLikeInvalidAgentSession(detail) && this.requireThread(threadId).sessionId && this.requireThread(threadId).agent !== "brightsy") {
|
|
15326
15463
|
updateThread(threadId, { sessionId: null });
|
|
15327
15464
|
pushTurnStderr(
|
|
15328
15465
|
stderrTail,
|
|
@@ -20192,6 +20329,7 @@ async function startSlackRelayServer(opts) {
|
|
|
20192
20329
|
cleanupOrphanWorktrees,
|
|
20193
20330
|
cloneRepoIntoSideboard,
|
|
20194
20331
|
codexAdapter,
|
|
20332
|
+
codexUnattendedGitConfigArgs,
|
|
20195
20333
|
coerceOrchestratorAgent,
|
|
20196
20334
|
collectTakenTeamSlugs,
|
|
20197
20335
|
commentLinearIssue,
|
|
@@ -20412,6 +20550,7 @@ async function startSlackRelayServer(opts) {
|
|
|
20412
20550
|
mergeUsage,
|
|
20413
20551
|
nextPastedTextName,
|
|
20414
20552
|
nextThinkingEffort,
|
|
20553
|
+
nonInteractiveGitProcessEnv,
|
|
20415
20554
|
normalizeParseResult,
|
|
20416
20555
|
normalizeThinkingEffort,
|
|
20417
20556
|
normalizeThread,
|
|
@@ -20467,6 +20606,7 @@ async function startSlackRelayServer(opts) {
|
|
|
20467
20606
|
requireAgent,
|
|
20468
20607
|
resetGhStackDetectCache,
|
|
20469
20608
|
resolveAgentExecutable,
|
|
20609
|
+
resolveAgentGitAuthEnv,
|
|
20470
20610
|
resolveClaudeExecutable,
|
|
20471
20611
|
resolveCommandBinarySync,
|
|
20472
20612
|
resolveConductorCursorAgentId,
|
|
@@ -20476,6 +20616,7 @@ async function startSlackRelayServer(opts) {
|
|
|
20476
20616
|
resolveEffectiveIssueSource,
|
|
20477
20617
|
resolveFilesToCopy,
|
|
20478
20618
|
resolveGhAuthToken,
|
|
20619
|
+
resolveGithubAgentToken,
|
|
20479
20620
|
resolveGithubRepoSlug,
|
|
20480
20621
|
resolveLinearState,
|
|
20481
20622
|
resolveLinearTeam,
|
package/dist/index.d.cts
CHANGED
|
@@ -638,9 +638,9 @@ type IssueSource = 'linear' | 'github';
|
|
|
638
638
|
* How Sideboard and worktree agents authenticate GitHub git operations.
|
|
639
639
|
* A declared mode so the app and injected prompts agree. Sideboard never
|
|
640
640
|
* uses a third-party GitHub App (including Conductor.build) for git auth.
|
|
641
|
-
* - `auto` (default):
|
|
642
|
-
* - `gh`:
|
|
643
|
-
* - `ssh`: keep `git@` remotes;
|
|
641
|
+
* - `auto` (default): HTTPS in the agent process with `gh`’s token (no Keychain prompts)
|
|
642
|
+
* - `gh`: same HTTPS rewrite; `GH_TOKEN` from `gh auth token`
|
|
643
|
+
* - `ssh`: keep `git@` remotes; batch-mode SSH (no Keychain dialog — fails if agent locked)
|
|
644
644
|
* - `token`: stored PAT + HTTPS rewrite; `GH_TOKEN` in the agent env
|
|
645
645
|
*/
|
|
646
646
|
type GithubGitAuthMode = 'auto' | 'gh' | 'ssh' | 'token';
|
|
@@ -1145,6 +1145,11 @@ declare function formatMergePrError(raw: string): string;
|
|
|
1145
1145
|
declare function formatIpcInvokeError(err: unknown): string;
|
|
1146
1146
|
|
|
1147
1147
|
type EnvLike = NodeJS.ProcessEnv | Record<string, string | undefined>;
|
|
1148
|
+
/**
|
|
1149
|
+
* Fail closed instead of a macOS Keychain / SSH passphrase dialog.
|
|
1150
|
+
* Slack turns cannot click those prompts.
|
|
1151
|
+
*/
|
|
1152
|
+
declare function nonInteractiveGitProcessEnv(): Record<string, string>;
|
|
1148
1153
|
/**
|
|
1149
1154
|
* Append `GIT_CONFIG_KEY_n` / `VALUE_n` entries without clobbering inherited
|
|
1150
1155
|
* command-scoped git config (enterprise insteadOf, custom certs, …).
|
|
@@ -1154,18 +1159,39 @@ declare function appendIndexedGitConfig(existing: EnvLike | undefined, entries:
|
|
|
1154
1159
|
value: string;
|
|
1155
1160
|
}>): Record<string, string>;
|
|
1156
1161
|
/**
|
|
1157
|
-
* Rewrite GitHub SSH remotes to HTTPS
|
|
1158
|
-
*
|
|
1162
|
+
* Rewrite GitHub SSH remotes to HTTPS for this process only (does not edit
|
|
1163
|
+
* the stored remote). Credential helper is cleared so osxkeychain cannot prompt.
|
|
1159
1164
|
*/
|
|
1160
1165
|
declare function githubAgentGitEnv(existing?: EnvLike): Record<string, string>;
|
|
1161
1166
|
/**
|
|
1162
1167
|
* Extra env for a worktree agent given Account → GitHub git-auth mode.
|
|
1163
1168
|
* Does not set `GH_REPO` (caller adds that after resolving origin).
|
|
1169
|
+
*
|
|
1170
|
+
* `auto` and `gh` rewrite to HTTPS in-process and inject `GH_TOKEN` when
|
|
1171
|
+
* provided so Cursor / Slack never talk to the login keychain.
|
|
1164
1172
|
*/
|
|
1165
1173
|
declare function applyGithubGitAuthEnv(existing: EnvLike | undefined, opts: {
|
|
1166
1174
|
mode: GithubGitAuthMode;
|
|
1167
1175
|
token?: string | null;
|
|
1168
1176
|
}): Record<string, string>;
|
|
1177
|
+
/** PAT or `gh auth token`, resolved in the Sideboard parent (not the agent). */
|
|
1178
|
+
declare function resolveGithubAgentToken(mode: GithubGitAuthMode, cwd: string): Promise<string | null>;
|
|
1179
|
+
/**
|
|
1180
|
+
* Non-interactive GitHub env for agent / MCP children (HTTPS + token when
|
|
1181
|
+
* possible). Safe to call without a git checkout (`cwd` only needed for `gh`).
|
|
1182
|
+
* Always returns at least {@link nonInteractiveGitProcessEnv} — settings/vault
|
|
1183
|
+
* failures must not skip Keychain suppression.
|
|
1184
|
+
*/
|
|
1185
|
+
declare function resolveAgentGitAuthEnv(existing?: EnvLike, opts?: {
|
|
1186
|
+
cwd?: string;
|
|
1187
|
+
mode?: GithubGitAuthMode;
|
|
1188
|
+
}): Promise<Record<string, string>>;
|
|
1189
|
+
/**
|
|
1190
|
+
* Codex `exec -c` so sandboxed shells keep Sideboard’s git env.
|
|
1191
|
+
* Default `shell_environment_policy` drops `*TOKEN*` / `*KEY*` and
|
|
1192
|
+
* `workspace-write` has no network — both force `gh`/git onto Keychain or a hang.
|
|
1193
|
+
*/
|
|
1194
|
+
declare function codexUnattendedGitConfigArgs(sandbox: 'read-only' | 'workspace-write' | 'danger-full-access' | string): string[];
|
|
1169
1195
|
/** Injected prompt block so agents use the same git path as Sideboard. */
|
|
1170
1196
|
declare function formatGitAuthModeDirective(mode: GithubGitAuthMode): string;
|
|
1171
1197
|
|
|
@@ -4332,4 +4358,4 @@ interface SlackRelayClientOptions {
|
|
|
4332
4358
|
*/
|
|
4333
4359
|
declare function runSlackRelayClient(opts: SlackRelayClientOptions): Promise<void>;
|
|
4334
4360
|
|
|
4335
|
-
export { AGENT_GIT_ACTIONS, 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, 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 CreateChatTabInput, type CreateGlobalChatOpts, 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, type RepoSettings, type RepoSetupInfo, type RequestReviewResult, type ResolvedReviewGuidelines, type ReviewGuidelinesSource, type RunMode, type RunScript, SIDEBOARD_FORCE_STOP, SIDEBOARD_MCP_ALLOWED_TOOLS, SIDEBOARD_MCP_PROFILE_ENV, SLACK_LISTEN_BUSY_REPLY, SLACK_LISTEN_STOPPED_REPLY, SLACK_LISTEN_TIMEOUT_REPLY, SLACK_OAUTH_CANCELLED, SLACK_OAUTH_REDIRECT, SLACK_REPLY_FORMATTING, SLACK_SEEN_REACTION, type ScriptHandle, 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 UsageScope, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, ackSlackInboundSeen, addPrStackLayer, addStackLayerFromThread, addWorkspace, adoptThread, agentGitPrompt, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendIndexedGitConfig, appendMessage, applyAgentEvent, applyAppEnvironment, applyCompaction, applyGithubGitAuthEnv, applyThreadIntoMain, applyTurnUsage, 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, caffeinateWhileSlackListenEnabled, captureLoginEnv, captureTurnBaseline, checkoutPrStackLayer, childEnvWithAppSettings, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, cloneRepoIntoSideboard, codexAdapter, coerceOrchestratorAgent, collectTakenTeamSlugs, commentLinearIssue, commitAll, conductorBundledBinDir, conductorDbPath, confirmLand, connectBrightsyTeam, connectSlackToken, contextTokens, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, createChatTab, createEmptyThread, createExistingBranchWorktree, createGlobalChat, createLinearIssue, createLinearPkce, createOrUpdatePr, createPrStack, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, deleteBranchOnPurgeEnabled, deleteThreadRecord, detectAgents, detectGhStack, detectLocalMergeConflicts, disconnectBrightsyTeam, disconnectLinear, disconnectLinearConnection, disconnectSlackWorkspace, discoverSkills, dismissSlackReplyBadge, dropCachedPrefixOnResume, encodeBrightsyTarget, enrichPathWithNpmGlobalBin, enrichWorkspacesWithGithub, ensureAgentPath, ensureCloudCoordinator, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureReviewRequestFile, ensureSlackCoordinator, ensureSlackDeviceIdentity, ensureWorkspace, estimateMessageChars, estimateThreadChars, expandComposerPrompt, extractGhErrorDetail, extractPendingPlanQuestions, extractPresentedPlan, extractiveSummary, fetchPrHead, finalizeParts, findInvalidCacheControlTtlOrder, findOrphanWorktrees, findThreadByRef, findThreadForStackLayer, flattenTurnInput, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAgentInstructions, formatArtifactDirective, formatBrightsyFetchError, formatFetchError, formatGhLandError, formatGitAuthModeDirective, formatIpcInvokeError, formatMergePrError, formatMessagesAsTranscript, formatPlanQuestionAnswers, formatPlanQuestionsForChat, formatProcessGuideDirective, formatRateLimitResetHint, formatRenameBranchDirective, formatSlackExternalReplyPrompt, formatSlackInboundPrompt, formatSlackRepliesForTurn, formatSlackSignedReply, 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, getPrMeta, getPrStack, getRepoSetupInfo, getRunMode, getRunScript, getSlackWorkspace, gh, ghHeadRef, ghRepoSelectArgs, git, githubAgentGitEnv, globalAgentCwd, handleSlackInbound, harnessEnvKey, hasBakedLinearOAuth, hasBakedSlackOAuth, hasConductorHook, hasCursorWorktreeSetup, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, httpFetch, importConductorWorkspace, importConductorWorkspaceAsync, initPrStack, initStackFromThread, initializeGitRepository, inspectGitWorktree, installAgent, isAskUserToolName, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isConductorBundledCli, isCursorAutoModel, isDirty, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isImageFilePath, isInPrStack, isInboundForThisDesktop, isLinearConnected, isLinearOAuthCancelled, isOrchestratorCapableAgent, isOrchestratorThread, isPidAlive, isPlaceholderBranch, isPrNotMergeableError, isPresentPlanToolName, isSessionQuotaLimit, isSideboardScratchPath, isSlackCoordinatorThread, isSlackExternalReplyPrompt, isSlackOAuthCancelled, isThinkingEffort, isThreadCaffeinated, isWorkspaceScratchPath, linearAuthorizationHeader, linearGraphql, linearOAuthAuthorizeUrl, linearOAuthCredentials, listAgentSetupInfo, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssues, listGlobalThreads, listIssues, listLinearIssues, listLinearIssuesDirect, listLinearTeams, listModelsForAgent, listOpencodeModels, listPrs, listRunScripts, listSlackOutboundWatches, listSlackReplyBadges, listSlackWorkspaces, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, loadAgentInstructions, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mergePr, mergePrStack, mergeUsage, nextPastedTextName, nextThinkingEffort, normalizeParseResult, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, openPrStackLayers, openStackLayer, opencodeAdapter, orchestrationQuotaFallbackAgent, orchestrationQuotaOnLimit, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originGhRepoEnv, parseCursorRunnerLine, 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, recordSlackOutboundWatch, refreshGitHubAuth, refreshSlackReplyBadges, releaseCaffeinateHoldForThread, removeWorkspace, removeWorktree, repoSlug, requestOccupancy, requestReview, requireAgent, resetGhStackDetectCache, resolveAgentExecutable, resolveClaudeExecutable, resolveCommandBinarySync, resolveConductorCursorAgentId, resolveCursorModelId, resolveDefaultBranch, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGhAuthToken, resolveGithubRepoSlug, resolveLinearState, resolveLinearTeam, resolveLoginCommand, resolveNewThreadOptions, resolvePlanMarkdown, resolvePrSelector, resolveQuotaFallbackAgent, resolveRepoRoot, resolveReviewGuidelines, resolveSlackListenMode, resolveThreadDefaults, resolveThreadEffort, resolveVaultKey, resolveWorktreeStartPoint, rewriteLinearError, run, runArchiveScript, runCloudConnect, runCursorWorktreeSetup, runSetupScript, runSlackListen, runSlackRelayClient, sameWorktreePath, sanitizeMcpServerName, saveAppSettings, saveLinearOAuth, secureFileUnlocksWith, setCaffeinateHold, setHttpFetchImpl, setStatus, setVaultMasterKey, settingsSourceLabel, shouldAttachPastedText, shouldCompactContext, shouldInjectBrightsyMcp, shouldRefreshReviewRequestTemplate, 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, threadDisplayLabel, threadFilePath, threadLockPath, threadRequestsBrightsyMcp, threadsDir, threadsSharingWorktree, toPublicAppSettings, toolDescription, toolDetail, toolFilePath, totalTokens, updateAdvancedSettings, updateAgentExecutable, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateCodexSettings, updateDefaultsSettings, updateIntegrationsSettings, updateLinearIssue, updateOpencodeSettings, updateThread, validateLinearApiKey, withAgentInstructions, withExportedPath, withThreadLock, workspaceSettingsSourceLabel, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreesRoot, writeInjectedMcpConfig, writePlanFile, writeThread, writeWorktreeFile };
|
|
4361
|
+
export { AGENT_GIT_ACTIONS, 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, 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 CreateChatTabInput, type CreateGlobalChatOpts, 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, type RepoSettings, type RepoSetupInfo, type RequestReviewResult, type ResolvedReviewGuidelines, type ReviewGuidelinesSource, type RunMode, type RunScript, SIDEBOARD_FORCE_STOP, SIDEBOARD_MCP_ALLOWED_TOOLS, SIDEBOARD_MCP_PROFILE_ENV, SLACK_LISTEN_BUSY_REPLY, SLACK_LISTEN_STOPPED_REPLY, SLACK_LISTEN_TIMEOUT_REPLY, SLACK_OAUTH_CANCELLED, SLACK_OAUTH_REDIRECT, SLACK_REPLY_FORMATTING, SLACK_SEEN_REACTION, type ScriptHandle, 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 UsageScope, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, ackSlackInboundSeen, addPrStackLayer, addStackLayerFromThread, addWorkspace, adoptThread, agentGitPrompt, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendIndexedGitConfig, appendMessage, applyAgentEvent, applyAppEnvironment, applyCompaction, applyGithubGitAuthEnv, applyThreadIntoMain, applyTurnUsage, 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, caffeinateWhileSlackListenEnabled, captureLoginEnv, captureTurnBaseline, checkoutPrStackLayer, childEnvWithAppSettings, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, cloneRepoIntoSideboard, codexAdapter, codexUnattendedGitConfigArgs, coerceOrchestratorAgent, collectTakenTeamSlugs, commentLinearIssue, commitAll, conductorBundledBinDir, conductorDbPath, confirmLand, connectBrightsyTeam, connectSlackToken, contextTokens, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, createChatTab, createEmptyThread, createExistingBranchWorktree, createGlobalChat, createLinearIssue, createLinearPkce, createOrUpdatePr, createPrStack, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, deleteBranchOnPurgeEnabled, deleteThreadRecord, detectAgents, detectGhStack, detectLocalMergeConflicts, disconnectBrightsyTeam, disconnectLinear, disconnectLinearConnection, disconnectSlackWorkspace, discoverSkills, dismissSlackReplyBadge, dropCachedPrefixOnResume, encodeBrightsyTarget, enrichPathWithNpmGlobalBin, enrichWorkspacesWithGithub, ensureAgentPath, ensureCloudCoordinator, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureReviewRequestFile, ensureSlackCoordinator, ensureSlackDeviceIdentity, ensureWorkspace, estimateMessageChars, estimateThreadChars, expandComposerPrompt, extractGhErrorDetail, extractPendingPlanQuestions, extractPresentedPlan, extractiveSummary, fetchPrHead, finalizeParts, findInvalidCacheControlTtlOrder, findOrphanWorktrees, findThreadByRef, findThreadForStackLayer, flattenTurnInput, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAgentInstructions, formatArtifactDirective, formatBrightsyFetchError, formatFetchError, formatGhLandError, formatGitAuthModeDirective, formatIpcInvokeError, formatMergePrError, formatMessagesAsTranscript, formatPlanQuestionAnswers, formatPlanQuestionsForChat, formatProcessGuideDirective, formatRateLimitResetHint, formatRenameBranchDirective, formatSlackExternalReplyPrompt, formatSlackInboundPrompt, formatSlackRepliesForTurn, formatSlackSignedReply, 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, getPrMeta, getPrStack, getRepoSetupInfo, getRunMode, getRunScript, getSlackWorkspace, gh, ghHeadRef, ghRepoSelectArgs, git, githubAgentGitEnv, globalAgentCwd, handleSlackInbound, harnessEnvKey, hasBakedLinearOAuth, hasBakedSlackOAuth, hasConductorHook, hasCursorWorktreeSetup, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, httpFetch, importConductorWorkspace, importConductorWorkspaceAsync, initPrStack, initStackFromThread, initializeGitRepository, inspectGitWorktree, installAgent, isAskUserToolName, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isConductorBundledCli, isCursorAutoModel, isDirty, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isImageFilePath, isInPrStack, isInboundForThisDesktop, isLinearConnected, isLinearOAuthCancelled, isOrchestratorCapableAgent, isOrchestratorThread, isPidAlive, isPlaceholderBranch, isPrNotMergeableError, isPresentPlanToolName, isSessionQuotaLimit, isSideboardScratchPath, isSlackCoordinatorThread, isSlackExternalReplyPrompt, isSlackOAuthCancelled, isThinkingEffort, isThreadCaffeinated, isWorkspaceScratchPath, linearAuthorizationHeader, linearGraphql, linearOAuthAuthorizeUrl, linearOAuthCredentials, listAgentSetupInfo, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssues, listGlobalThreads, listIssues, listLinearIssues, listLinearIssuesDirect, listLinearTeams, listModelsForAgent, listOpencodeModels, listPrs, listRunScripts, listSlackOutboundWatches, listSlackReplyBadges, listSlackWorkspaces, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, loadAgentInstructions, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mergePr, mergePrStack, mergeUsage, nextPastedTextName, nextThinkingEffort, nonInteractiveGitProcessEnv, normalizeParseResult, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, openPrStackLayers, openStackLayer, opencodeAdapter, orchestrationQuotaFallbackAgent, orchestrationQuotaOnLimit, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originGhRepoEnv, parseCursorRunnerLine, 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, recordSlackOutboundWatch, refreshGitHubAuth, refreshSlackReplyBadges, releaseCaffeinateHoldForThread, removeWorkspace, removeWorktree, repoSlug, requestOccupancy, requestReview, requireAgent, resetGhStackDetectCache, resolveAgentExecutable, resolveAgentGitAuthEnv, resolveClaudeExecutable, resolveCommandBinarySync, resolveConductorCursorAgentId, resolveCursorModelId, resolveDefaultBranch, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGhAuthToken, resolveGithubAgentToken, resolveGithubRepoSlug, resolveLinearState, resolveLinearTeam, resolveLoginCommand, resolveNewThreadOptions, resolvePlanMarkdown, resolvePrSelector, resolveQuotaFallbackAgent, resolveRepoRoot, resolveReviewGuidelines, resolveSlackListenMode, resolveThreadDefaults, resolveThreadEffort, resolveVaultKey, resolveWorktreeStartPoint, rewriteLinearError, run, runArchiveScript, runCloudConnect, runCursorWorktreeSetup, runSetupScript, runSlackListen, runSlackRelayClient, sameWorktreePath, sanitizeMcpServerName, saveAppSettings, saveLinearOAuth, secureFileUnlocksWith, setCaffeinateHold, setHttpFetchImpl, setStatus, setVaultMasterKey, settingsSourceLabel, shouldAttachPastedText, shouldCompactContext, shouldInjectBrightsyMcp, shouldRefreshReviewRequestTemplate, 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, threadDisplayLabel, threadFilePath, threadLockPath, threadRequestsBrightsyMcp, threadsDir, threadsSharingWorktree, toPublicAppSettings, toolDescription, toolDetail, toolFilePath, totalTokens, updateAdvancedSettings, updateAgentExecutable, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateCodexSettings, updateDefaultsSettings, updateIntegrationsSettings, updateLinearIssue, updateOpencodeSettings, updateThread, validateLinearApiKey, withAgentInstructions, withExportedPath, withThreadLock, workspaceSettingsSourceLabel, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreesRoot, writeInjectedMcpConfig, writePlanFile, writeThread, writeWorktreeFile };
|