@sideboard-ai/core 0.1.235 → 0.1.236
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-WZNDTRVL.js → abletime-KOGCIQCO.js} +5 -5
- package/dist/{abletime-BGVOCEOU.js → abletime-VSV6AUBV.js} +5 -5
- package/dist/{abletime-oauth-ZLU2EYRK.js → abletime-oauth-LY7KZICW.js} +4 -4
- package/dist/{abletime-oauth-6M5GWEPX.js → abletime-oauth-QMDV45JC.js} +4 -4
- package/dist/{abletime-rest-WNHIATB3.js → abletime-rest-LXOWKPL7.js} +4 -4
- package/dist/{abletime-rest-F7XG5NGY.js → abletime-rest-NL56UVK5.js} +4 -4
- package/dist/agents/cursor-runner.cjs +39 -35
- package/dist/agents/cursor-runner.js +3 -3
- package/dist/{agents-37JCAVSC.js → agents-JC6DRIT3.js} +9 -9
- package/dist/{agents-MOMMKSYV.js → agents-S4HYHRL3.js} +8 -8
- package/dist/{app-settings-KBL2G7M4.js → app-settings-2CFCRYD7.js} +2 -2
- package/dist/{app-settings-UXWCPDEA.js → app-settings-I27UBVI4.js} +2 -2
- package/dist/{caffeinate-hold-OK4JJ5PP.js → caffeinate-hold-FNKIPXDU.js} +2 -2
- package/dist/{caffeinate-hold-22VFDPSO.js → caffeinate-hold-PXHGH7ZN.js} +2 -2
- package/dist/{chunk-7J72QJOM.js → chunk-224IXQOM.js} +1 -1
- package/dist/{chunk-4VGCG2HV.js → chunk-3AJUH66R.js} +2 -2
- package/dist/{chunk-P6ZM5QJW.js → chunk-3PGFAVFL.js} +2 -2
- package/dist/{chunk-RZTRWN2V.js → chunk-4H5WO4H3.js} +1 -1
- package/dist/{chunk-MVLXDYN5.js → chunk-5ELC3KK3.js} +5 -5
- package/dist/{chunk-WPD7BR6C.js → chunk-5SHYLRTU.js} +1 -1
- package/dist/{chunk-S2OEFXST.js → chunk-5UN5C5WP.js} +5 -5
- package/dist/{chunk-LJWF3VA3.js → chunk-6Q2CFQ4D.js} +74 -30
- package/dist/{chunk-WFUDY6PC.js → chunk-A4JGXX2F.js} +155 -24
- package/dist/{chunk-EAYXD2IC.js → chunk-ANGPU5JL.js} +282 -14
- package/dist/{chunk-GHRZNPBK.js → chunk-C2CBF4YE.js} +2 -2
- package/dist/{chunk-TNVJPFHM.js → chunk-CJKL7A4G.js} +5 -5
- package/dist/{chunk-SWNEA5OZ.js → chunk-CRAXJAYJ.js} +3 -3
- package/dist/{chunk-C774RJJA.js → chunk-CWHMLCLN.js} +3 -3
- package/dist/{chunk-YWI3IBP2.js → chunk-DQN5U2VH.js} +1 -1
- package/dist/{chunk-D4VKJO5C.js → chunk-DYXNBXE3.js} +304 -16
- package/dist/{chunk-SPAMHHJH.js → chunk-J5GON4SU.js} +1 -1
- package/dist/{chunk-4VFOJZPS.js → chunk-JXZS56VW.js} +3 -3
- package/dist/{chunk-EQNRWDLN.js → chunk-KK63BFYN.js} +151 -24
- package/dist/{chunk-X5B3OS5I.js → chunk-N6XI5KXL.js} +1 -1
- package/dist/{chunk-XJETIO4K.js → chunk-NJ5OXOTN.js} +2 -2
- package/dist/{chunk-RGNPPRZZ.js → chunk-NYAEMZ3L.js} +3 -3
- package/dist/{chunk-7H2CVVLF.js → chunk-O3UAQAYA.js} +3 -3
- package/dist/{chunk-4TYXWPAJ.js → chunk-OJFEVWZN.js} +1 -1
- package/dist/{chunk-I5NC7DWO.js → chunk-P3DCZRER.js} +1 -1
- package/dist/{chunk-TWXSZYR2.js → chunk-RRXRLHIE.js} +5 -5
- package/dist/{chunk-AS4UN7QL.js → chunk-VVOAXBND.js} +5 -5
- package/dist/{chunk-7366AB7E.js → chunk-XMCJDWPA.js} +77 -32
- package/dist/{connected-teams-KQUDU7LZ.js → connected-teams-62AJRDDD.js} +2 -2
- package/dist/{connected-teams-JUJAQZZE.js → connected-teams-GXV22ZSF.js} +2 -2
- package/dist/{coordinator-prompt-CE7MN6QY.js → coordinator-prompt-2BRUH7PJ.js} +6 -6
- package/dist/{coordinator-prompt-IGDMFKCD.js → coordinator-prompt-BIP7ZEJ3.js} +6 -6
- package/dist/{cursor-recover-DTQAUDGO.js → cursor-recover-DFMCTZA4.js} +2 -2
- package/dist/{cursor-recover-4PQAADAU.js → cursor-recover-K3EBEM7M.js} +2 -2
- package/dist/{global-workspace-7WH24UFO.js → global-workspace-3XZN3QHZ.js} +6 -6
- package/dist/{global-workspace-NCIC2Y2U.js → global-workspace-DWCFG7LP.js} +6 -6
- package/dist/index.cjs +1219 -707
- package/dist/index.d.cts +70 -1
- package/dist/index.d.ts +70 -1
- package/dist/index.js +79 -23
- package/dist/mcp/run-stdio.cjs +1123 -659
- package/dist/mcp/run-stdio.js +45 -22
- package/dist/{orchestrator-6NPBOBNA.js → orchestrator-AYPDBGIF.js} +10 -10
- package/dist/{orchestrator-RKWRI3PJ.js → orchestrator-TEJJAQWP.js} +11 -11
- package/dist/{paths-C2VERLAE.js → paths-LGKOG7MY.js} +1 -1
- package/dist/{paths-LOXCISLX.js → paths-O6ZEAEUD.js} +1 -1
- package/dist/{thread-store-IKJD4EOK.js → thread-store-AYPBEZT5.js} +3 -3
- package/dist/{thread-store-FBK5SZ5P.js → thread-store-YOPKY74K.js} +3 -3
- package/dist/{workspaces-H2TRFDE2.js → workspaces-NYT2472Z.js} +6 -6
- package/dist/{workspaces-NSQZSDQD.js → workspaces-V7522TQH.js} +6 -6
- package/dist/{worktree-W7BSI4GU.js → worktree-AGVPKDBH.js} +5 -5
- package/dist/{worktree-FMIX4BRV.js → worktree-IRALYI6A.js} +5 -5
- package/package.json +1 -1
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
// src/store/paths.ts
|
|
5
5
|
import { basename } from "path";
|
|
6
6
|
import { homedir as homedir2 } from "os";
|
|
7
|
-
import { join as
|
|
7
|
+
import { join as join5 } from "path";
|
|
8
8
|
import { mkdirSync } from "fs";
|
|
9
9
|
|
|
10
10
|
// src/hook/settings.ts
|
|
11
|
-
import { existsSync as
|
|
11
|
+
import { existsSync as existsSync4, readFileSync as readFileSync3 } from "fs";
|
|
12
12
|
import { homedir } from "os";
|
|
13
|
-
import { join as
|
|
13
|
+
import { join as join4 } from "path";
|
|
14
14
|
import { parse as parseToml } from "smol-toml";
|
|
15
15
|
|
|
16
16
|
// src/hook/convention-setup.ts
|
|
@@ -120,10 +120,133 @@ async function runCursorWorktreeSetup(repoPath, worktreePath, onLine) {
|
|
|
120
120
|
return { ran: true, exitCode: lastExit, source: sourceLabel };
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
+
// src/hook/dev-preview.ts
|
|
124
|
+
import { existsSync as existsSync3, readdirSync, readFileSync as readFileSync2 } from "fs";
|
|
125
|
+
import { join as join3 } from "path";
|
|
126
|
+
var ELECTRON_CMD_RE = /\belectron(?:-vite|-forge|-builder|mon)?\b/i;
|
|
127
|
+
var PNPM_FILTER_RE = /--filter(?:=|\s+)(?:"([^"]+)"|'([^']+)'|([^\s]+))/;
|
|
128
|
+
var SKIP_DIR = /* @__PURE__ */ new Set([
|
|
129
|
+
"node_modules",
|
|
130
|
+
"dist",
|
|
131
|
+
"out",
|
|
132
|
+
"coverage",
|
|
133
|
+
".git",
|
|
134
|
+
".context",
|
|
135
|
+
".next",
|
|
136
|
+
".turbo",
|
|
137
|
+
".output"
|
|
138
|
+
]);
|
|
139
|
+
function parseDevPreview(raw) {
|
|
140
|
+
return raw === "url" || raw === "window" ? raw : void 0;
|
|
141
|
+
}
|
|
142
|
+
function commandLooksLikeElectron(command) {
|
|
143
|
+
return ELECTRON_CMD_RE.test(command);
|
|
144
|
+
}
|
|
145
|
+
function pnpmFilterPackage(command) {
|
|
146
|
+
const m = command.match(PNPM_FILTER_RE);
|
|
147
|
+
return m?.[1] ?? m?.[2] ?? m?.[3] ?? null;
|
|
148
|
+
}
|
|
149
|
+
function readJsonObject(path) {
|
|
150
|
+
try {
|
|
151
|
+
const raw = JSON.parse(readFileSync2(path, "utf8"));
|
|
152
|
+
return raw && typeof raw === "object" && !Array.isArray(raw) ? raw : null;
|
|
153
|
+
} catch {
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
function packageLooksLikeElectron(pkg) {
|
|
158
|
+
const deps = {
|
|
159
|
+
...pkg.dependencies,
|
|
160
|
+
...pkg.devDependencies,
|
|
161
|
+
...pkg.optionalDependencies
|
|
162
|
+
};
|
|
163
|
+
if (deps.electron || deps["electron-vite"] || deps["electron-builder"] || deps["@electron-forge/cli"] || deps["electron-forge"]) {
|
|
164
|
+
return true;
|
|
165
|
+
}
|
|
166
|
+
const scripts = pkg.scripts;
|
|
167
|
+
if (scripts && typeof scripts === "object") {
|
|
168
|
+
for (const value of Object.values(scripts)) {
|
|
169
|
+
if (typeof value === "string" && commandLooksLikeElectron(value)) {
|
|
170
|
+
return true;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return false;
|
|
175
|
+
}
|
|
176
|
+
function findPackageJsonByName(root, name, budget = 80) {
|
|
177
|
+
const queue = [root];
|
|
178
|
+
let seen = 0;
|
|
179
|
+
while (queue.length && seen < budget) {
|
|
180
|
+
const dir = queue.shift();
|
|
181
|
+
const pkgPath = join3(dir, "package.json");
|
|
182
|
+
if (existsSync3(pkgPath)) {
|
|
183
|
+
seen += 1;
|
|
184
|
+
const pkg = readJsonObject(pkgPath);
|
|
185
|
+
if (pkg?.name === name) return pkgPath;
|
|
186
|
+
}
|
|
187
|
+
let entries;
|
|
188
|
+
try {
|
|
189
|
+
entries = readdirSync(dir, { withFileTypes: true });
|
|
190
|
+
} catch {
|
|
191
|
+
continue;
|
|
192
|
+
}
|
|
193
|
+
for (const entry of entries) {
|
|
194
|
+
if (!entry.isDirectory() || entry.isSymbolicLink() || SKIP_DIR.has(entry.name) || entry.name.startsWith(".")) {
|
|
195
|
+
continue;
|
|
196
|
+
}
|
|
197
|
+
queue.push(join3(dir, entry.name));
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return null;
|
|
201
|
+
}
|
|
202
|
+
function classifyRunScriptPreview(opts) {
|
|
203
|
+
if (opts.preview === "url" || opts.preview === "window") return opts.preview;
|
|
204
|
+
if (commandLooksLikeElectron(opts.command)) return "window";
|
|
205
|
+
const root = opts.worktreePath?.trim();
|
|
206
|
+
if (!root) return "url";
|
|
207
|
+
const filter = pnpmFilterPackage(opts.command);
|
|
208
|
+
if (filter) {
|
|
209
|
+
if (filter.startsWith(".") || filter.startsWith("/")) {
|
|
210
|
+
const pkg = readJsonObject(join3(root, filter, "package.json"));
|
|
211
|
+
if (pkg && packageLooksLikeElectron(pkg)) return "window";
|
|
212
|
+
} else {
|
|
213
|
+
const found = findPackageJsonByName(root, filter);
|
|
214
|
+
if (found) {
|
|
215
|
+
const pkg = readJsonObject(found);
|
|
216
|
+
if (pkg && packageLooksLikeElectron(pkg)) return "window";
|
|
217
|
+
return "url";
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
const rootPkg = readJsonObject(join3(root, "package.json"));
|
|
222
|
+
if (rootPkg && packageLooksLikeElectron(rootPkg)) return "window";
|
|
223
|
+
return "url";
|
|
224
|
+
}
|
|
225
|
+
function runScriptPreview(script, worktreePath) {
|
|
226
|
+
if (!script) return "url";
|
|
227
|
+
return classifyRunScriptPreview({
|
|
228
|
+
command: script.command,
|
|
229
|
+
preview: script.preview,
|
|
230
|
+
worktreePath
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
function activeRunPreview(scriptName, scripts, worktreePath) {
|
|
234
|
+
return runScriptPreview(
|
|
235
|
+
scripts.find((s) => s.name === scriptName),
|
|
236
|
+
worktreePath
|
|
237
|
+
);
|
|
238
|
+
}
|
|
239
|
+
function annotateDevAccessRuns(runs, scripts, worktreePath) {
|
|
240
|
+
return runs.map((run) => ({
|
|
241
|
+
...run,
|
|
242
|
+
preview: activeRunPreview(run.scriptName, scripts, worktreePath)
|
|
243
|
+
}));
|
|
244
|
+
}
|
|
245
|
+
|
|
123
246
|
// src/hook/settings.ts
|
|
124
247
|
function expandHome(path) {
|
|
125
248
|
if (path.startsWith("~/") || path === "~") {
|
|
126
|
-
return
|
|
249
|
+
return join4(homedir(), path.slice(2));
|
|
127
250
|
}
|
|
128
251
|
return path;
|
|
129
252
|
}
|
|
@@ -136,8 +259,8 @@ function parseAvailableIn(raw) {
|
|
|
136
259
|
return out.length ? out : void 0;
|
|
137
260
|
}
|
|
138
261
|
function parseSettingsFile(path, source) {
|
|
139
|
-
if (!
|
|
140
|
-
const raw =
|
|
262
|
+
if (!existsSync4(path)) return null;
|
|
263
|
+
const raw = readFileSync3(path, "utf8");
|
|
141
264
|
const data = parseToml(raw);
|
|
142
265
|
const scripts = data.scripts ?? {};
|
|
143
266
|
const setup = typeof scripts.setup === "string" ? scripts.setup : void 0;
|
|
@@ -175,7 +298,8 @@ function parseSettingsFile(path, source) {
|
|
|
175
298
|
command: value.command,
|
|
176
299
|
default: Boolean(value.default),
|
|
177
300
|
icon: typeof value.icon === "string" ? value.icon : void 0,
|
|
178
|
-
availableIn: parseAvailableIn(value.available_in)
|
|
301
|
+
availableIn: parseAvailableIn(value.available_in),
|
|
302
|
+
preview: parseDevPreview(value.preview)
|
|
179
303
|
});
|
|
180
304
|
}
|
|
181
305
|
}
|
|
@@ -246,15 +370,15 @@ function finalizeSettings(parsed) {
|
|
|
246
370
|
};
|
|
247
371
|
}
|
|
248
372
|
function familyFiles(rootPath, source) {
|
|
249
|
-
const dir =
|
|
373
|
+
const dir = join4(rootPath, `.${source}`);
|
|
250
374
|
return {
|
|
251
|
-
toml:
|
|
252
|
-
local:
|
|
375
|
+
toml: join4(dir, "settings.toml"),
|
|
376
|
+
local: join4(dir, "settings.local.toml")
|
|
253
377
|
};
|
|
254
378
|
}
|
|
255
379
|
function familyExists(rootPath, source) {
|
|
256
380
|
const files = familyFiles(rootPath, source);
|
|
257
|
-
return
|
|
381
|
+
return existsSync4(files.toml) || existsSync4(files.local);
|
|
258
382
|
}
|
|
259
383
|
function detectFamily(rootPath) {
|
|
260
384
|
if (familyExists(rootPath, "sideboard")) return "sideboard";
|
|
@@ -301,10 +425,10 @@ function settingsSourceLabel(rootPath) {
|
|
|
301
425
|
const family = detectFamily(rootPath);
|
|
302
426
|
if (!family) return null;
|
|
303
427
|
const files = familyFiles(rootPath, family);
|
|
304
|
-
if (
|
|
428
|
+
if (existsSync4(files.toml) && existsSync4(files.local)) {
|
|
305
429
|
return `.${family}/settings.toml + local`;
|
|
306
430
|
}
|
|
307
|
-
if (
|
|
431
|
+
if (existsSync4(files.local)) return `.${family}/settings.local.toml`;
|
|
308
432
|
return `.${family}/settings.toml`;
|
|
309
433
|
}
|
|
310
434
|
function workspaceSettingsSourceLabel(worktreePath, repoPath) {
|
|
@@ -320,32 +444,32 @@ function workspaceSettingsSourceLabel(worktreePath, repoPath) {
|
|
|
320
444
|
// src/store/paths.ts
|
|
321
445
|
function appDataDir() {
|
|
322
446
|
const override = process.env.SIDEBOARD_APP_DATA?.trim();
|
|
323
|
-
const base = override ? override : process.platform === "darwin" ?
|
|
447
|
+
const base = override ? override : process.platform === "darwin" ? join5(homedir2(), "Library", "Application Support", "sideboard") : process.platform === "win32" ? join5(process.env.APPDATA ?? join5(homedir2(), "AppData", "Roaming"), "sideboard") : join5(homedir2(), ".local", "share", "sideboard");
|
|
324
448
|
mkdirSync(base, { recursive: true });
|
|
325
449
|
return base;
|
|
326
450
|
}
|
|
327
451
|
function threadsDir() {
|
|
328
|
-
const dir =
|
|
452
|
+
const dir = join5(appDataDir(), "threads");
|
|
329
453
|
mkdirSync(dir, { recursive: true });
|
|
330
454
|
return dir;
|
|
331
455
|
}
|
|
332
456
|
function locksDir() {
|
|
333
|
-
const dir =
|
|
457
|
+
const dir = join5(appDataDir(), "locks");
|
|
334
458
|
mkdirSync(dir, { recursive: true });
|
|
335
459
|
return dir;
|
|
336
460
|
}
|
|
337
461
|
function sideboardHomeDir() {
|
|
338
|
-
const dir =
|
|
462
|
+
const dir = join5(homedir2(), "sideboard");
|
|
339
463
|
mkdirSync(dir, { recursive: true });
|
|
340
464
|
return dir;
|
|
341
465
|
}
|
|
342
466
|
function sideboardReposDir() {
|
|
343
|
-
const dir =
|
|
467
|
+
const dir = join5(sideboardHomeDir(), "repos");
|
|
344
468
|
mkdirSync(dir, { recursive: true });
|
|
345
469
|
return dir;
|
|
346
470
|
}
|
|
347
471
|
function sideboardWorkspacesDir() {
|
|
348
|
-
const dir =
|
|
472
|
+
const dir = join5(sideboardHomeDir(), "workspaces");
|
|
349
473
|
mkdirSync(dir, { recursive: true });
|
|
350
474
|
return dir;
|
|
351
475
|
}
|
|
@@ -358,21 +482,21 @@ function worktreesRoot(repoPath) {
|
|
|
358
482
|
mkdirSync(settings.worktreesRoot, { recursive: true });
|
|
359
483
|
return settings.worktreesRoot;
|
|
360
484
|
}
|
|
361
|
-
const dir =
|
|
485
|
+
const dir = join5(sideboardWorkspacesDir(), repoSlug(repoPath));
|
|
362
486
|
mkdirSync(dir, { recursive: true });
|
|
363
487
|
return dir;
|
|
364
488
|
}
|
|
365
489
|
function threadFilePath(id) {
|
|
366
|
-
return
|
|
490
|
+
return join5(threadsDir(), `${id}.json`);
|
|
367
491
|
}
|
|
368
492
|
function threadLivePath(id) {
|
|
369
|
-
return
|
|
493
|
+
return join5(threadsDir(), `${id}.live.json`);
|
|
370
494
|
}
|
|
371
495
|
function threadLockPath(id) {
|
|
372
|
-
return
|
|
496
|
+
return join5(locksDir(), `${id}.lock`);
|
|
373
497
|
}
|
|
374
498
|
function globalAgentCwd() {
|
|
375
|
-
const dir =
|
|
499
|
+
const dir = join5(appDataDir(), "global");
|
|
376
500
|
mkdirSync(dir, { recursive: true });
|
|
377
501
|
return dir;
|
|
378
502
|
}
|
|
@@ -380,6 +504,9 @@ function globalAgentCwd() {
|
|
|
380
504
|
export {
|
|
381
505
|
findConventionSetup,
|
|
382
506
|
runCursorWorktreeSetup,
|
|
507
|
+
runScriptPreview,
|
|
508
|
+
activeRunPreview,
|
|
509
|
+
annotateDevAccessRuns,
|
|
383
510
|
loadRepoSettings,
|
|
384
511
|
loadWorkspaceSettings,
|
|
385
512
|
workspaceSettingsSourceLabel,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
cursorSdkStoreDir
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-N6XI5KXL.js";
|
|
6
6
|
import {
|
|
7
7
|
normalizeThinkingEffort
|
|
8
8
|
} from "./chunk-KGZBYWZ3.js";
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
threadFilePath,
|
|
11
11
|
threadLockPath,
|
|
12
12
|
threadsDir
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-KK63BFYN.js";
|
|
14
14
|
|
|
15
15
|
// src/store/thread-store.ts
|
|
16
16
|
import { randomUUID } from "crypto";
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
textFromAbleTimeDoc
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-C2CBF4YE.js";
|
|
6
6
|
import {
|
|
7
7
|
assertAbleTimeCredential,
|
|
8
8
|
callAbleTimeTool,
|
|
9
9
|
normalizeAbleTimeHost,
|
|
10
10
|
rewriteAbleTimeError
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-VVOAXBND.js";
|
|
12
12
|
import {
|
|
13
13
|
isAbleTimeConnected,
|
|
14
14
|
saveAbleTimeConnection
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-4H5WO4H3.js";
|
|
16
16
|
|
|
17
17
|
// src/integrations/abletime.ts
|
|
18
18
|
var CLOSED_STATES = /* @__PURE__ */ new Set([
|
|
@@ -7,13 +7,13 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
getGithubGitAuthMode,
|
|
9
9
|
getGithubPat
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-P3DCZRER.js";
|
|
11
11
|
import {
|
|
12
12
|
listThreads
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-3AJUH66R.js";
|
|
14
14
|
import {
|
|
15
15
|
worktreesRoot
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-A4JGXX2F.js";
|
|
17
17
|
import {
|
|
18
18
|
gh,
|
|
19
19
|
git,
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
resolveRepoRoot,
|
|
9
9
|
takenSlugsFromThread,
|
|
10
10
|
teamSlugFromName
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-JXZS56VW.js";
|
|
12
12
|
import {
|
|
13
13
|
ATTACHMENTS_DIR,
|
|
14
14
|
attachmentsGitignoreBody
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
listThreads,
|
|
19
19
|
updateThread,
|
|
20
20
|
writeThread
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-NJ5OXOTN.js";
|
|
22
22
|
import {
|
|
23
23
|
assertOrchestratorCapableAgent,
|
|
24
24
|
formatAccountProfilePlaybookLine,
|
|
@@ -31,12 +31,12 @@ import {
|
|
|
31
31
|
resolveThreadDefaults,
|
|
32
32
|
resolveViewerProfile,
|
|
33
33
|
resolveViewerProfileForRepo
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-4H5WO4H3.js";
|
|
35
35
|
import {
|
|
36
36
|
appDataDir,
|
|
37
37
|
globalAgentCwd,
|
|
38
38
|
sideboardReposDir
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-KK63BFYN.js";
|
|
40
40
|
|
|
41
41
|
// src/store/workspaces.ts
|
|
42
42
|
import { existsSync as existsSync2, mkdirSync as mkdirSync3, readFileSync as readFileSync3, statSync as statSync2, writeFileSync as writeFileSync3 } from "fs";
|
|
@@ -357,7 +357,7 @@ var COORDINATOR_TOOL_PLAYBOOK = [
|
|
|
357
357
|
"- archive_thread / restore_thread \u2014 archive (tears down worktree when last tab) or restore",
|
|
358
358
|
"Setup / run:",
|
|
359
359
|
"- run_setup \u2014 re-run worktree setup (already runs automatically on create when a script exists)",
|
|
360
|
-
"- list_run_scripts / run_dev_script / stop_dev_script \u2014 start/stop named run scripts",
|
|
360
|
+
"- list_run_scripts / run_dev_script / stop_dev_script \u2014 start/stop named run scripts. run_dev_script returns {url, port, preview} (SIDEBOARD_PORT). preview=url \u2192 tell the worktree agent to open that URL; preview=window \u2192 Electron: the native window is the app (url is renderer/HMR only). Never localhost:3000. list_run_scripts active[].url if already running.",
|
|
361
361
|
"Inspect / review / PRs:",
|
|
362
362
|
"- get_diff \u2014 compact diff summary",
|
|
363
363
|
"- get_pr_checks \u2014 snapshot of a worktree thread's PR checks (null = no PR). Use this to inspect status. If the user gave a goal, the worktree agent watches with `gh pr checks --watch` \u2014 do not poll for the human.",
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
import {
|
|
7
7
|
getAbleTimeHost,
|
|
8
8
|
isAbleTimeConnected
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-4H5WO4H3.js";
|
|
10
10
|
|
|
11
11
|
// src/integrations/abletime-mcp.ts
|
|
12
12
|
var DEFAULT_ABLETIME_HOST = "https://track.abletime.com";
|
|
@@ -155,7 +155,7 @@ function textsFromUnknown(value) {
|
|
|
155
155
|
return "";
|
|
156
156
|
}
|
|
157
157
|
async function abletimeMcpRequest(method, params, opts) {
|
|
158
|
-
const rawToken = opts?.token ?? await import("./abletime-oauth-
|
|
158
|
+
const rawToken = opts?.token ?? await import("./abletime-oauth-LY7KZICW.js").then((m) => m.ensureAbleTimeAccessToken());
|
|
159
159
|
if (!rawToken?.trim()) {
|
|
160
160
|
throw new Error("AbleTime is not connected \u2014 paste a personal access token in Account settings");
|
|
161
161
|
}
|
|
@@ -226,9 +226,9 @@ async function callAbleTimeTool(name, args = {}, opts) {
|
|
|
226
226
|
if (!opts?.token && !isAbleTimeConnected()) {
|
|
227
227
|
throw new Error("AbleTime is not connected \u2014 paste a personal access token in Account settings");
|
|
228
228
|
}
|
|
229
|
-
const rawToken = opts?.token ?? await import("./abletime-oauth-
|
|
229
|
+
const rawToken = opts?.token ?? await import("./abletime-oauth-LY7KZICW.js").then((m) => m.ensureAbleTimeAccessToken());
|
|
230
230
|
if (rawToken && ableTimeUsesRest(rawToken)) {
|
|
231
|
-
const { callAbleTimeRestTool } = await import("./abletime-rest-
|
|
231
|
+
const { callAbleTimeRestTool } = await import("./abletime-rest-LXOWKPL7.js");
|
|
232
232
|
return callAbleTimeRestTool(name, args, { ...opts, token: rawToken });
|
|
233
233
|
}
|
|
234
234
|
const requestOpts = { ...opts, pm: opts?.pm ?? abletimeToolUsesPm(name) };
|
|
@@ -244,7 +244,7 @@ async function callAbleTimeTool(name, args = {}, opts) {
|
|
|
244
244
|
return await call();
|
|
245
245
|
}
|
|
246
246
|
if (rawToken && ableTimeUsesRest(rawToken) && isAbleTimeRejectedCredential(message)) {
|
|
247
|
-
const { callAbleTimeRestTool } = await import("./abletime-rest-
|
|
247
|
+
const { callAbleTimeRestTool } = await import("./abletime-rest-LXOWKPL7.js");
|
|
248
248
|
return callAbleTimeRestTool(name, args, { ...opts, token: rawToken });
|
|
249
249
|
}
|
|
250
250
|
throw err instanceof Error ? new Error(rewriteAbleTimeError(err.message)) : err;
|