@sideboard-ai/core 0.1.174 → 0.1.175
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{abletime-PCLL36HW.js → abletime-BFIDZR3O.js} +2 -2
- package/dist/{abletime-7VW4EGPT.js → abletime-INEHQH6K.js} +2 -2
- package/dist/agents/cursor-runner.cjs +91 -62
- package/dist/agents/cursor-runner.js +1 -1
- package/dist/{agents-LMPVUPOH.js → agents-2W7LP7JR.js} +5 -5
- package/dist/{agents-ZWYRGFZB.js → agents-AWSFDB47.js} +6 -6
- package/dist/{chunk-M267JPEA.js → chunk-AN3THU7F.js} +1 -1
- package/dist/{chunk-AQPVBVJE.js → chunk-BBNUL4IE.js} +1 -1
- package/dist/{chunk-LZ6QMEQC.js → chunk-HVIEYTUK.js} +1 -1
- package/dist/{chunk-XD2BAANL.js → chunk-IEEAVWAP.js} +6 -6
- package/dist/{chunk-HJPGIETB.js → chunk-JIWRBNSO.js} +12 -12
- package/dist/{chunk-ELBYOGVA.js → chunk-N7WZ6NIN.js} +10 -1
- package/dist/{chunk-ZY7K4T37.js → chunk-NA7P3SZL.js} +3 -3
- package/dist/{chunk-XXIH6XYR.js → chunk-NQTKRAUF.js} +167 -35
- package/dist/{chunk-CUA4S537.js → chunk-QTJ2ERA6.js} +5 -5
- package/dist/{chunk-YEPVWJ3R.js → chunk-RCICB4OM.js} +9 -9
- package/dist/{chunk-CMJ2FBBV.js → chunk-RE2YWFUQ.js} +1 -1
- package/dist/{chunk-VCVBICMZ.js → chunk-TNOLCU5B.js} +3 -3
- package/dist/{chunk-6GN5WPYZ.js → chunk-VKQGAWHY.js} +10 -1
- package/dist/{chunk-S42XV45P.js → chunk-Y4MIXGPA.js} +1 -1
- package/dist/{chunk-TPPZXZTA.js → chunk-ZXHV3NHY.js} +224 -95
- package/dist/{connected-teams-DBWAMP7G.js → connected-teams-ON2KIKQX.js} +3 -3
- package/dist/{connected-teams-WGONUQOF.js → connected-teams-WOYCH7FR.js} +3 -3
- package/dist/{coordinator-prompt-LJKA2ODR.js → coordinator-prompt-7OHKB5WV.js} +1 -1
- package/dist/{coordinator-prompt-K3HXEPFD.js → coordinator-prompt-XCQCGUED.js} +1 -1
- package/dist/{global-workspace-VDFSU3DD.js → global-workspace-KPROJ54C.js} +1 -1
- package/dist/{global-workspace-KA7T26F5.js → global-workspace-WSQNEALF.js} +1 -1
- package/dist/index.cjs +565 -373
- package/dist/index.d.cts +49 -8
- package/dist/index.d.ts +49 -8
- package/dist/index.js +71 -25
- package/dist/mcp/run-stdio.cjs +762 -570
- package/dist/mcp/run-stdio.js +74 -25
- package/dist/{oauth-A7XXI2TM.js → oauth-6ZQ4Q4XN.js} +2 -2
- package/dist/{oauth-YJBAURIJ.js → oauth-O7UGLZOY.js} +2 -2
- package/dist/{orchestrator-VMUZJFTZ.js → orchestrator-PDEU75EE.js} +7 -7
- package/dist/{orchestrator-DMSSC4SV.js → orchestrator-QSNGJ2ER.js} +6 -6
- package/dist/{workspaces-GOGBPATJ.js → workspaces-P66DGCZE.js} +1 -1
- package/dist/{workspaces-UR7YEFMZ.js → workspaces-TEBTNS2M.js} +1 -1
- package/package.json +1 -1
|
@@ -16,8 +16,8 @@ import {
|
|
|
16
16
|
toAbleTimeIssueInfo,
|
|
17
17
|
updateAbleTimeTask,
|
|
18
18
|
verifyAbleTimeConnection
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import "./chunk-
|
|
19
|
+
} from "./chunk-BBNUL4IE.js";
|
|
20
|
+
import "./chunk-VKQGAWHY.js";
|
|
21
21
|
import "./chunk-OKZFTOM2.js";
|
|
22
22
|
import "./chunk-NSTQ6QKD.js";
|
|
23
23
|
import "./chunk-KGZBYWZ3.js";
|
|
@@ -14,8 +14,8 @@ import {
|
|
|
14
14
|
toAbleTimeIssueInfo,
|
|
15
15
|
updateAbleTimeTask,
|
|
16
16
|
verifyAbleTimeConnection
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
} from "./chunk-RE2YWFUQ.js";
|
|
18
|
+
import "./chunk-N7WZ6NIN.js";
|
|
19
19
|
import "./chunk-J7LQVLFQ.js";
|
|
20
20
|
import "./chunk-4TR3HZFT.js";
|
|
21
21
|
import "./chunk-JT7R45JB.js";
|
|
@@ -1,9 +1,31 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
18
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
19
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
20
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
21
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
22
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
23
|
+
mod
|
|
24
|
+
));
|
|
3
25
|
|
|
4
26
|
// src/agents/cursor-runner.ts
|
|
5
27
|
var import_sdk = require("@cursor/sdk");
|
|
6
|
-
var
|
|
28
|
+
var import_node_fs12 = require("fs");
|
|
7
29
|
var import_node_readline2 = require("readline");
|
|
8
30
|
|
|
9
31
|
// src/hook/nested-electron-env.ts
|
|
@@ -24,36 +46,75 @@ var STRIP_NESTED_ELECTRON_THEN_EXEC = [
|
|
|
24
46
|
].join("; ");
|
|
25
47
|
|
|
26
48
|
// src/agents/cursor-ripgrep.ts
|
|
27
|
-
var
|
|
49
|
+
var import_node_fs11 = require("fs");
|
|
28
50
|
var import_node_module = require("module");
|
|
29
|
-
var
|
|
51
|
+
var import_node_path12 = require("path");
|
|
30
52
|
|
|
31
53
|
// src/agents/node-launch.ts
|
|
54
|
+
var import_node_fs10 = require("fs");
|
|
55
|
+
var import_node_os5 = require("os");
|
|
56
|
+
var import_node_path11 = require("path");
|
|
57
|
+
|
|
58
|
+
// src/http/system-ca.ts
|
|
59
|
+
var import_node_child_process = require("child_process");
|
|
32
60
|
var import_node_fs5 = require("fs");
|
|
33
|
-
var
|
|
61
|
+
var import_node_path6 = require("path");
|
|
62
|
+
var import_node_tls = __toESM(require("tls"), 1);
|
|
63
|
+
|
|
64
|
+
// src/store/paths.ts
|
|
65
|
+
var import_node_path4 = require("path");
|
|
66
|
+
var import_node_os2 = require("os");
|
|
34
67
|
var import_node_path5 = require("path");
|
|
68
|
+
var import_node_fs4 = require("fs");
|
|
35
69
|
|
|
36
|
-
// src/
|
|
37
|
-
var
|
|
70
|
+
// src/hook/settings.ts
|
|
71
|
+
var import_node_fs3 = require("fs");
|
|
72
|
+
var import_node_os = require("os");
|
|
73
|
+
var import_node_path3 = require("path");
|
|
74
|
+
var import_smol_toml = require("smol-toml");
|
|
38
75
|
|
|
39
|
-
// src/
|
|
76
|
+
// src/hook/convention-setup.ts
|
|
40
77
|
var import_node_fs = require("fs");
|
|
41
|
-
var import_node_child_process = require("child_process");
|
|
42
|
-
var import_node_os = require("os");
|
|
43
78
|
var import_node_path = require("path");
|
|
44
79
|
|
|
45
|
-
// src/
|
|
80
|
+
// src/hook/cursor-worktrees.ts
|
|
46
81
|
var import_node_fs2 = require("fs");
|
|
47
|
-
var import_node_os2 = require("os");
|
|
48
82
|
var import_node_path2 = require("path");
|
|
83
|
+
var import_execa = require("execa");
|
|
84
|
+
var import_node_readline = require("readline");
|
|
85
|
+
|
|
86
|
+
// src/store/paths.ts
|
|
87
|
+
function appDataDir() {
|
|
88
|
+
const override = process.env.SIDEBOARD_APP_DATA?.trim();
|
|
89
|
+
const base = override ? override : process.platform === "darwin" ? (0, import_node_path5.join)((0, import_node_os2.homedir)(), "Library", "Application Support", "sideboard") : process.platform === "win32" ? (0, import_node_path5.join)(process.env.APPDATA ?? (0, import_node_path5.join)((0, import_node_os2.homedir)(), "AppData", "Roaming"), "sideboard") : (0, import_node_path5.join)((0, import_node_os2.homedir)(), ".local", "share", "sideboard");
|
|
90
|
+
(0, import_node_fs4.mkdirSync)(base, { recursive: true });
|
|
91
|
+
return base;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// src/http/system-ca.ts
|
|
95
|
+
var BUNDLE_MAX_AGE_MS = 24 * 60 * 60 * 1e3;
|
|
96
|
+
|
|
97
|
+
// src/git/run.ts
|
|
98
|
+
var import_execa2 = require("execa");
|
|
99
|
+
|
|
100
|
+
// src/agents/path.ts
|
|
101
|
+
var import_node_fs6 = require("fs");
|
|
102
|
+
var import_node_child_process2 = require("child_process");
|
|
103
|
+
var import_node_os3 = require("os");
|
|
104
|
+
var import_node_path7 = require("path");
|
|
105
|
+
|
|
106
|
+
// src/git/github-agent-auth.ts
|
|
107
|
+
var import_node_fs7 = require("fs");
|
|
108
|
+
var import_node_os4 = require("os");
|
|
109
|
+
var import_node_path8 = require("path");
|
|
49
110
|
|
|
50
111
|
// src/git/stale-lock.ts
|
|
51
|
-
var
|
|
52
|
-
var
|
|
112
|
+
var import_node_fs8 = require("fs");
|
|
113
|
+
var import_node_path9 = require("path");
|
|
53
114
|
|
|
54
115
|
// src/agents/packaged-runtime.ts
|
|
55
|
-
var
|
|
56
|
-
var
|
|
116
|
+
var import_node_fs9 = require("fs");
|
|
117
|
+
var import_node_path10 = require("path");
|
|
57
118
|
function electronResourcesPath() {
|
|
58
119
|
const resources = process.resourcesPath;
|
|
59
120
|
if (typeof resources !== "string" || !resources) return null;
|
|
@@ -62,14 +123,14 @@ function electronResourcesPath() {
|
|
|
62
123
|
function packagedCursorRuntimeDir() {
|
|
63
124
|
const resources = electronResourcesPath();
|
|
64
125
|
if (!resources) return null;
|
|
65
|
-
const dir = (0,
|
|
66
|
-
if (!(0,
|
|
126
|
+
const dir = (0, import_node_path10.join)(resources, "cursor-runtime");
|
|
127
|
+
if (!(0, import_node_fs9.existsSync)((0, import_node_path10.join)(dir, "core-dist", "agents", "cursor-runner.js"))) return null;
|
|
67
128
|
return dir;
|
|
68
129
|
}
|
|
69
130
|
function packagedCursorRipgrepCandidate(platformPkg, binName) {
|
|
70
131
|
const dir = packagedCursorRuntimeDir();
|
|
71
132
|
if (!dir) return null;
|
|
72
|
-
return (0,
|
|
133
|
+
return (0, import_node_path10.join)(dir, "node_modules", platformPkg, "bin", binName);
|
|
73
134
|
}
|
|
74
135
|
|
|
75
136
|
// src/agents/node-launch.ts
|
|
@@ -81,7 +142,7 @@ function unpackedAsarPath(filePath) {
|
|
|
81
142
|
if (!isAsarPath(filePath)) return null;
|
|
82
143
|
const unpacked = filePath.replace(/\.asar(?=[/\\])/, ".asar.unpacked");
|
|
83
144
|
if (unpacked === filePath) return null;
|
|
84
|
-
return (0,
|
|
145
|
+
return (0, import_node_fs10.existsSync)(unpacked) ? unpacked : null;
|
|
85
146
|
}
|
|
86
147
|
function nodeReadableScriptPath(scriptPath) {
|
|
87
148
|
return unpackedAsarPath(scriptPath) ?? scriptPath;
|
|
@@ -97,21 +158,21 @@ function platformRipgrepPackage() {
|
|
|
97
158
|
}
|
|
98
159
|
function usableRipgrepPath(candidate) {
|
|
99
160
|
const raw = candidate?.trim();
|
|
100
|
-
if (!raw || !(0,
|
|
161
|
+
if (!raw || !(0, import_node_path12.isAbsolute)(raw)) return null;
|
|
101
162
|
const readable = nodeReadableScriptPath(raw);
|
|
102
|
-
if (!(0,
|
|
163
|
+
if (!(0, import_node_fs11.existsSync)(readable) || isAsarPath(readable)) return null;
|
|
103
164
|
return readable;
|
|
104
165
|
}
|
|
105
166
|
function walkForBundledRipgrep(startFile) {
|
|
106
167
|
if (!startFile) return null;
|
|
107
168
|
const pkg = platformRipgrepPackage();
|
|
108
169
|
const name = rgBinaryName();
|
|
109
|
-
let dir = (0,
|
|
110
|
-
const root = (0,
|
|
170
|
+
let dir = (0, import_node_path12.dirname)((0, import_node_path12.resolve)(startFile));
|
|
171
|
+
const root = (0, import_node_path12.parse)(dir).root;
|
|
111
172
|
while (dir !== root) {
|
|
112
|
-
const hit = usableRipgrepPath((0,
|
|
173
|
+
const hit = usableRipgrepPath((0, import_node_path12.join)(dir, "node_modules", pkg, "bin", name));
|
|
113
174
|
if (hit) return hit;
|
|
114
|
-
const next = (0,
|
|
175
|
+
const next = (0, import_node_path12.dirname)(dir);
|
|
115
176
|
if (next === dir) break;
|
|
116
177
|
dir = next;
|
|
117
178
|
}
|
|
@@ -121,7 +182,7 @@ function requireResolveBundledRipgrep(fromFile) {
|
|
|
121
182
|
try {
|
|
122
183
|
const req = (0, import_node_module.createRequire)(fromFile);
|
|
123
184
|
const pkgJson = req.resolve(`${platformRipgrepPackage()}/package.json`);
|
|
124
|
-
return usableRipgrepPath((0,
|
|
185
|
+
return usableRipgrepPath((0, import_node_path12.join)((0, import_node_path12.dirname)(pkgJson), "bin", rgBinaryName()));
|
|
125
186
|
} catch {
|
|
126
187
|
return null;
|
|
127
188
|
}
|
|
@@ -147,45 +208,13 @@ function ensureCursorRipgrepPath(opts) {
|
|
|
147
208
|
}
|
|
148
209
|
|
|
149
210
|
// src/agents/cursor-store.ts
|
|
150
|
-
var
|
|
151
|
-
|
|
152
|
-
// src/store/paths.ts
|
|
153
|
-
var import_node_path10 = require("path");
|
|
154
|
-
var import_node_os5 = require("os");
|
|
155
|
-
var import_node_path11 = require("path");
|
|
156
|
-
var import_node_fs10 = require("fs");
|
|
157
|
-
|
|
158
|
-
// src/hook/settings.ts
|
|
159
|
-
var import_node_fs9 = require("fs");
|
|
160
|
-
var import_node_os4 = require("os");
|
|
161
|
-
var import_node_path9 = require("path");
|
|
162
|
-
var import_smol_toml = require("smol-toml");
|
|
163
|
-
|
|
164
|
-
// src/hook/convention-setup.ts
|
|
165
|
-
var import_node_fs7 = require("fs");
|
|
166
|
-
var import_node_path7 = require("path");
|
|
167
|
-
|
|
168
|
-
// src/hook/cursor-worktrees.ts
|
|
169
|
-
var import_node_fs8 = require("fs");
|
|
170
|
-
var import_node_path8 = require("path");
|
|
171
|
-
var import_execa2 = require("execa");
|
|
172
|
-
var import_node_readline = require("readline");
|
|
173
|
-
|
|
174
|
-
// src/store/paths.ts
|
|
175
|
-
function appDataDir() {
|
|
176
|
-
const override = process.env.SIDEBOARD_APP_DATA?.trim();
|
|
177
|
-
const base = override ? override : process.platform === "darwin" ? (0, import_node_path11.join)((0, import_node_os5.homedir)(), "Library", "Application Support", "sideboard") : process.platform === "win32" ? (0, import_node_path11.join)(process.env.APPDATA ?? (0, import_node_path11.join)((0, import_node_os5.homedir)(), "AppData", "Roaming"), "sideboard") : (0, import_node_path11.join)((0, import_node_os5.homedir)(), ".local", "share", "sideboard");
|
|
178
|
-
(0, import_node_fs10.mkdirSync)(base, { recursive: true });
|
|
179
|
-
return base;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
// src/agents/cursor-store.ts
|
|
211
|
+
var import_node_path13 = require("path");
|
|
183
212
|
var CURSOR_SDK_STORE_DIR = "cursor-sdk-store";
|
|
184
213
|
function cursorSdkStoreDir(threadId) {
|
|
185
|
-
const root = (0,
|
|
214
|
+
const root = (0, import_node_path13.join)(appDataDir(), CURSOR_SDK_STORE_DIR);
|
|
186
215
|
const id = sanitizeCursorStoreSegment(threadId);
|
|
187
216
|
if (!id) return root;
|
|
188
|
-
return (0,
|
|
217
|
+
return (0, import_node_path13.join)(root, "threads", id);
|
|
189
218
|
}
|
|
190
219
|
function sanitizeCursorStoreSegment(threadId) {
|
|
191
220
|
return (threadId ?? "").trim().replace(/[^a-zA-Z0-9._-]/g, "_");
|
|
@@ -712,7 +741,7 @@ function modelSelection(model, opts) {
|
|
|
712
741
|
}
|
|
713
742
|
function localAgentStore(threadId) {
|
|
714
743
|
const root = cursorSdkStoreDir(threadId);
|
|
715
|
-
(0,
|
|
744
|
+
(0, import_node_fs12.mkdirSync)(root, { recursive: true });
|
|
716
745
|
return new import_sdk.JsonlLocalAgentStore(root);
|
|
717
746
|
}
|
|
718
747
|
async function cancelStaleLocalRuns(agentId, opts) {
|
|
@@ -37,11 +37,11 @@ import {
|
|
|
37
37
|
resolveQuotaFallbackAgent,
|
|
38
38
|
turnCostUsdFromCursorUsage,
|
|
39
39
|
whichOnPath
|
|
40
|
-
} from "./chunk-
|
|
41
|
-
import "./chunk-
|
|
42
|
-
import "./chunk-
|
|
43
|
-
import "./chunk-
|
|
44
|
-
import "./chunk-
|
|
40
|
+
} from "./chunk-ZXHV3NHY.js";
|
|
41
|
+
import "./chunk-HVIEYTUK.js";
|
|
42
|
+
import "./chunk-Y4MIXGPA.js";
|
|
43
|
+
import "./chunk-VKQGAWHY.js";
|
|
44
|
+
import "./chunk-TNOLCU5B.js";
|
|
45
45
|
import "./chunk-7O53GXTA.js";
|
|
46
46
|
import "./chunk-D6JWYJ4P.js";
|
|
47
47
|
import "./chunk-LZQULFIT.js";
|
|
@@ -31,19 +31,19 @@ import {
|
|
|
31
31
|
resolveLoginCommand,
|
|
32
32
|
resolveQuotaFallbackAgent,
|
|
33
33
|
whichOnPath
|
|
34
|
-
} from "./chunk-
|
|
35
|
-
import "./chunk-
|
|
34
|
+
} from "./chunk-QTJ2ERA6.js";
|
|
35
|
+
import "./chunk-NA7P3SZL.js";
|
|
36
36
|
import "./chunk-7JIYKYLL.js";
|
|
37
37
|
import "./chunk-6K64FJDD.js";
|
|
38
|
-
import "./chunk-
|
|
39
|
-
import "./chunk-
|
|
40
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-IEEAVWAP.js";
|
|
39
|
+
import "./chunk-AN3THU7F.js";
|
|
40
|
+
import "./chunk-N7WZ6NIN.js";
|
|
41
41
|
import {
|
|
42
42
|
cursorSdkMessageToEvents,
|
|
43
43
|
parseCursorRunnerLine,
|
|
44
44
|
preferredCursorCostCents,
|
|
45
45
|
turnCostUsdFromCursorUsage
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-NQTKRAUF.js";
|
|
47
47
|
import {
|
|
48
48
|
ORCHESTRATOR_AGENT_KINDS,
|
|
49
49
|
assertOrchestratorCapableAgent,
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
loadBrightsyConfig,
|
|
5
5
|
refreshBrightsyAccessToken,
|
|
6
6
|
saveBrightsyConfig
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-AN3THU7F.js";
|
|
8
8
|
import {
|
|
9
9
|
appDataDir
|
|
10
10
|
} from "./chunk-EFVFB2AH.js";
|
|
@@ -18,7 +18,7 @@ import { join } from "path";
|
|
|
18
18
|
|
|
19
19
|
// src/brightsy/accounts.ts
|
|
20
20
|
async function loadConnectedTeams() {
|
|
21
|
-
const { listConnectedBrightsyTeams: listConnectedBrightsyTeams2 } = await import("./connected-teams-
|
|
21
|
+
const { listConnectedBrightsyTeams: listConnectedBrightsyTeams2 } = await import("./connected-teams-ON2KIKQX.js");
|
|
22
22
|
return listConnectedBrightsyTeams2();
|
|
23
23
|
}
|
|
24
24
|
async function runBrightsyTeamsJson(args) {
|
|
@@ -46,15 +46,15 @@ async function listBrightsyAccounts() {
|
|
|
46
46
|
}
|
|
47
47
|
async function getBrightsySession() {
|
|
48
48
|
try {
|
|
49
|
-
const { ensureBrightsyLocalConfigFresh: ensureBrightsyLocalConfigFresh2 } = await import("./oauth-
|
|
50
|
-
const { ensureConnectedBrightsyTeamTokens: ensureConnectedBrightsyTeamTokens2 } = await import("./connected-teams-
|
|
49
|
+
const { ensureBrightsyLocalConfigFresh: ensureBrightsyLocalConfigFresh2 } = await import("./oauth-6ZQ4Q4XN.js");
|
|
50
|
+
const { ensureConnectedBrightsyTeamTokens: ensureConnectedBrightsyTeamTokens2 } = await import("./connected-teams-ON2KIKQX.js");
|
|
51
51
|
await ensureBrightsyLocalConfigFresh2();
|
|
52
52
|
await ensureConnectedBrightsyTeamTokens2();
|
|
53
53
|
loadBrightsyConfig();
|
|
54
54
|
const data = await runBrightsyTeamsJson([]);
|
|
55
55
|
const accounts = Array.isArray(data.teams) ? data.teams : [];
|
|
56
56
|
const active = data.active ?? accounts.find((a) => a.active) ?? null;
|
|
57
|
-
const { ensureCliTeamTracked: ensureCliTeamTracked2 } = await import("./connected-teams-
|
|
57
|
+
const { ensureCliTeamTracked: ensureCliTeamTracked2 } = await import("./connected-teams-ON2KIKQX.js");
|
|
58
58
|
const connectedTeams = ensureCliTeamTracked2(
|
|
59
59
|
active ? { id: active.id, slug: active.slug, name: active.name } : void 0
|
|
60
60
|
);
|
|
@@ -94,7 +94,7 @@ async function performBrightsyAccountSwitch(accountIdOrSlug) {
|
|
|
94
94
|
return { cfg, target: data.active };
|
|
95
95
|
}
|
|
96
96
|
async function switchBrightsyAccount(accountIdOrSlug) {
|
|
97
|
-
const { connectBrightsyTeam: connectBrightsyTeam2 } = await import("./connected-teams-
|
|
97
|
+
const { connectBrightsyTeam: connectBrightsyTeam2 } = await import("./connected-teams-ON2KIKQX.js");
|
|
98
98
|
await connectBrightsyTeam2(accountIdOrSlug);
|
|
99
99
|
return getBrightsySession();
|
|
100
100
|
}
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
stripBrightsyNdjsonNoise,
|
|
25
25
|
sumUsageList,
|
|
26
26
|
toolDescription
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-QTJ2ERA6.js";
|
|
28
28
|
import {
|
|
29
29
|
SLACK_REPLY_FORMATTING,
|
|
30
30
|
addWorkspace,
|
|
@@ -47,7 +47,7 @@ import {
|
|
|
47
47
|
stageAbsolutePathsAsAttachments,
|
|
48
48
|
stageBuffersAsAttachments,
|
|
49
49
|
syncWorkspacesFromThreads
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-NA7P3SZL.js";
|
|
51
51
|
import {
|
|
52
52
|
addPrStackLayer,
|
|
53
53
|
allocateTeamName,
|
|
@@ -106,7 +106,7 @@ import {
|
|
|
106
106
|
} from "./chunk-6K64FJDD.js";
|
|
107
107
|
import {
|
|
108
108
|
httpFetch
|
|
109
|
-
} from "./chunk-
|
|
109
|
+
} from "./chunk-N7WZ6NIN.js";
|
|
110
110
|
import {
|
|
111
111
|
createAgentStreamCoalescer
|
|
112
112
|
} from "./chunk-AXQ4ZWHK.js";
|
|
@@ -124,7 +124,7 @@ import {
|
|
|
124
124
|
shouldRetryFailedAgentTurn,
|
|
125
125
|
summarizeTurnStderr,
|
|
126
126
|
turnFailChatText
|
|
127
|
-
} from "./chunk-
|
|
127
|
+
} from "./chunk-NQTKRAUF.js";
|
|
128
128
|
import {
|
|
129
129
|
assertOrchestratorCapableAgent,
|
|
130
130
|
childEnvWithAppSettings,
|
|
@@ -466,7 +466,7 @@ async function continueSourceThread(threadId, prompt) {
|
|
|
466
466
|
await continueOnReply(threadId, prompt);
|
|
467
467
|
return;
|
|
468
468
|
}
|
|
469
|
-
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-
|
|
469
|
+
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-PDEU75EE.js");
|
|
470
470
|
await getOrchestrator2().send(threadId, prompt);
|
|
471
471
|
} catch {
|
|
472
472
|
}
|
|
@@ -800,9 +800,9 @@ async function spawnAgentTurn(thread, input, onEvent) {
|
|
|
800
800
|
`Cannot spawn ${thread.agent}: thread ${thread.id} has no worktreePath`
|
|
801
801
|
);
|
|
802
802
|
}
|
|
803
|
-
const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-
|
|
803
|
+
const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-KPROJ54C.js");
|
|
804
804
|
if (isGlobalThread2(thread)) {
|
|
805
|
-
const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-
|
|
805
|
+
const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-7OHKB5WV.js");
|
|
806
806
|
ensureGlobalCoordinatorCwd2(
|
|
807
807
|
isOrchestratorThread(thread) ? { orchestratorThreadId: thread.id } : void 0
|
|
808
808
|
);
|
|
@@ -3684,7 +3684,7 @@ async function createThread(input, _onSetupLine) {
|
|
|
3684
3684
|
let sourceIsFork = false;
|
|
3685
3685
|
if (!input.cowboy && sourceType === "branch" && (!sourceRef || sourceRef === "HEAD" || sourceRef === "default")) {
|
|
3686
3686
|
if (isAbleTimeConnected() && getIssueSource() === "abletime") {
|
|
3687
|
-
const { ensureAbleTimeTask, issueAttachmentForAbleTimeTask } = await import("./abletime-
|
|
3687
|
+
const { ensureAbleTimeTask, issueAttachmentForAbleTimeTask } = await import("./abletime-INEHQH6K.js");
|
|
3688
3688
|
const task = await ensureAbleTimeTask({
|
|
3689
3689
|
title: title?.trim() || "Untitled work",
|
|
3690
3690
|
description: input.prompt?.trim() || void 0
|
|
@@ -3782,7 +3782,7 @@ async function createThread(input, _onSetupLine) {
|
|
|
3782
3782
|
return readThread(thread.id) ?? thread;
|
|
3783
3783
|
}
|
|
3784
3784
|
async function listLinearIssues(agent, repoPath) {
|
|
3785
|
-
const { getAdapter: getAdapter2 } = await import("./agents-
|
|
3785
|
+
const { getAdapter: getAdapter2 } = await import("./agents-AWSFDB47.js");
|
|
3786
3786
|
await requireAgent(agent, { requireLinear: true });
|
|
3787
3787
|
const adapter = getAdapter2(agent);
|
|
3788
3788
|
if (!adapter.listLinearIssues) {
|
|
@@ -4204,7 +4204,7 @@ async function adoptThread(input) {
|
|
|
4204
4204
|
messages: input.messages ?? []
|
|
4205
4205
|
});
|
|
4206
4206
|
writeThread(thread);
|
|
4207
|
-
const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-
|
|
4207
|
+
const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-TEBTNS2M.js");
|
|
4208
4208
|
await ensureWorkspace2(repoPath);
|
|
4209
4209
|
const { ensureWorktreeSideboardIgnored: ensureWorktreeSideboardIgnored2 } = await import("./worktree-exclude-X54WSOXM.js");
|
|
4210
4210
|
await ensureWorktreeSideboardIgnored2(input.worktreePath);
|
|
@@ -6686,7 +6686,7 @@ function formatScheduledPrompt(name, prompt) {
|
|
|
6686
6686
|
${prompt}`;
|
|
6687
6687
|
}
|
|
6688
6688
|
async function defaultDeps() {
|
|
6689
|
-
const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-
|
|
6689
|
+
const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-PDEU75EE.js");
|
|
6690
6690
|
const orch = getOrchestrator2();
|
|
6691
6691
|
return {
|
|
6692
6692
|
findThread: (id) => findThreadByRef(id),
|
|
@@ -8772,7 +8772,7 @@ var Orchestrator = class {
|
|
|
8772
8772
|
this.emit({ type: "status_changed", threadId: archived.id, status: "archived" });
|
|
8773
8773
|
if (thread.repoPath && !isGlobalRepoPath(thread.repoPath)) {
|
|
8774
8774
|
try {
|
|
8775
|
-
const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-
|
|
8775
|
+
const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-TEBTNS2M.js");
|
|
8776
8776
|
await ensureWorkspace2(thread.repoPath);
|
|
8777
8777
|
} catch {
|
|
8778
8778
|
}
|
|
@@ -3,17 +3,26 @@ var injected = null;
|
|
|
3
3
|
function setHttpFetchImpl(fetchImpl) {
|
|
4
4
|
injected = fetchImpl;
|
|
5
5
|
}
|
|
6
|
+
var TLS_ISSUER_RE = /UNABLE_TO_GET_ISSUER_CERT|UNABLE_TO_VERIFY_LEAF_SIGNATURE|SELF_SIGNED_CERT_IN_CHAIN/i;
|
|
7
|
+
var TLS_ISSUER_HINT = " \u2014 Node rejected the TLS certificate (corporate VPN/proxy CA). Desktop Linear can still work; reconnecting the API key will not fix this.";
|
|
8
|
+
function tlsIssuerHint(code, message) {
|
|
9
|
+
const text = `${code ?? ""} ${message}`;
|
|
10
|
+
return TLS_ISSUER_RE.test(text) ? TLS_ISSUER_HINT : "";
|
|
11
|
+
}
|
|
6
12
|
function formatFetchError(err, url) {
|
|
7
13
|
if (!(err instanceof Error)) return `${String(err)} (${url})`;
|
|
8
14
|
const cause = err.cause;
|
|
9
15
|
let detail = "";
|
|
16
|
+
let hint = tlsIssuerHint(void 0, err.message);
|
|
10
17
|
if (cause instanceof Error) {
|
|
11
18
|
const code = typeof cause.code === "string" ? cause.code : void 0;
|
|
12
19
|
detail = code ? ` [${code}: ${cause.message}]` : ` [${cause.message}]`;
|
|
20
|
+
hint = tlsIssuerHint(code, `${err.message} ${cause.message}`) || hint;
|
|
13
21
|
} else if (cause != null) {
|
|
14
22
|
detail = ` [${String(cause)}]`;
|
|
23
|
+
hint = tlsIssuerHint(void 0, String(cause)) || hint;
|
|
15
24
|
}
|
|
16
|
-
return `${err.message}${detail} (${url})`;
|
|
25
|
+
return `${err.message}${detail} (${url})${hint}`;
|
|
17
26
|
}
|
|
18
27
|
async function httpFetch(input, init) {
|
|
19
28
|
const url = typeof input === "string" ? input : input.href;
|
|
@@ -390,7 +390,7 @@ var COORDINATOR_TOOL_PLAYBOOK = [
|
|
|
390
390
|
"Workspaces:",
|
|
391
391
|
"- add_workspace / remove_workspace \u2014 register or unregister a git repo",
|
|
392
392
|
"Worktree threads (chats):",
|
|
393
|
-
"- create_thread \u2014 create a worktree + chat from branch | pr | ticket (appears on Home). Do not create a second worktree for a ticket, PR, or named branch that already has one \u2014 that call returns the live thread (alreadyStarted=true). Creating from the default branch still opens a new isolated worktree. Pass repoPath + parentThreadId; omit agent and model
|
|
393
|
+
"- create_thread \u2014 create a worktree + chat from branch | pr | ticket (appears on Home). Do not create a second worktree for a ticket, PR, or named branch that already has one \u2014 that call returns the live thread (alreadyStarted=true). Creating from the default branch still opens a new isolated worktree. Pass repoPath + parentThreadId; omit agent and model so Sideboard applies Settings \u2192 Default agent, model & effort (never pass your own agent or agent=cursor). If the repo has a setup script, Sideboard runs it in the background (does not block send_to_thread). Nested Codex (you are Codex and the child is Codex) deadlocks \u2014 omit agent; Sideboard coerces that case",
|
|
394
394
|
"- start_board_card \u2014 same as create_thread for a ticket/PR/named branch (attaches issue text when resolvable). Then send_to_thread.",
|
|
395
395
|
"- fork_worktree \u2014 fork a worktree chat into a NEW git worktree + chat (transcript attached); optional agent; leave model unset (Auto) unless you have a reason. Not for orchestration chats.",
|
|
396
396
|
"- fork_chat \u2014 fork a worktree chat (same worktree tab) OR a Global orchestration chat (new orchestration tab); optional agent; leave model unset (Auto) unless you have a reason. Remote coordinators: use this to continue another orchestration chat on a different agent after session limits.",
|
|
@@ -531,8 +531,8 @@ function ensureGlobalCoordinatorCwd(opts) {
|
|
|
531
531
|
"",
|
|
532
532
|
"When creating threads, pass `repoPath` from `list_workspaces` (or the path you just registered).",
|
|
533
533
|
orchId ? `Pass parentThreadId="${orchId}" (or omit it). Never invent another parentThreadId.` : "Pass `parentThreadId` for children (this chat's id from the turn reminder).",
|
|
534
|
-
"Omit `agent` / `model` on `create_thread
|
|
535
|
-
"Never pass `agent=codex` when you yourself are Codex \u2014 nested Codex deadlocks on shared ~/.codex locks. Omit agent
|
|
534
|
+
"Omit `agent` / `model` on `create_thread`. Sideboard applies Settings \u2192 Default agent, model & effort. Do not pass your own agent or `agent=cursor` \u2014 those are ignored.",
|
|
535
|
+
"Never pass `agent=codex` when you yourself are Codex \u2014 nested Codex deadlocks on shared ~/.codex locks. Omit agent; Sideboard applies Account defaults (and coerces only that nested-Codex case).",
|
|
536
536
|
"Typical flow (Home board): list_board \u2192 create_thread (sourceType=ticket|pr|branch) \u2192 send_to_thread \u2192 wait_for_turn (loop while stillRunning) \u2192 ask_git create-draft \u2192 wait_for_turn. Merge only if the user explicitly asked (`ask_git` merge).",
|
|
537
537
|
"Typical flow (branch / explicit source): list_workspaces \u2192 list_branches|list_prs|list_issues \u2192 create_thread \u2192 send_to_thread \u2192 wait_for_turn (loop while stillRunning) \u2192 ask_git create-draft.",
|
|
538
538
|
"Typical flow (find work): list_workspaces \u2192 pick repo(s) matching account / project context \u2192 Sideboard list_issues / linear_* (tickets) or list_prs(queue=review) (reviews) \u2192 show the options. Never wait on Claude Linear MCP. Only create_thread + send_to_thread when they asked to start (e.g. \u201Cfind me work and start it\u201D) \u2014 then wait_for_turn (loop while stillRunning) \u2192 ask_git create-draft.",
|