@sideboard-ai/core 0.1.288 → 0.1.289
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-GZLTMGSH.js → agents-4BBCKITL.js} +4 -4
- package/dist/{agents-UQMHFZSM.js → agents-XAKSP653.js} +4 -4
- package/dist/{chunk-HNB2HTCV.js → chunk-2IXKTAIT.js} +1 -1
- package/dist/{chunk-3W5SL5EW.js → chunk-5HPMKLJ7.js} +1 -1
- package/dist/{chunk-WW5XGEMY.js → chunk-C546EOEF.js} +12 -12
- package/dist/{chunk-442O6OXM.js → chunk-EBGJXOXT.js} +11 -11
- package/dist/{chunk-4NM72HJZ.js → chunk-G74TSBJ3.js} +4 -4
- package/dist/{chunk-WQSIUZEB.js → chunk-GBAACE3C.js} +4 -4
- package/dist/{chunk-2N77CLRQ.js → chunk-LUQ7MIVD.js} +3 -3
- package/dist/{chunk-IA4MPG7F.js → chunk-O4324MXE.js} +2 -2
- package/dist/{chunk-DBOFDEQ7.js → chunk-V3BSO2O6.js} +2 -2
- package/dist/{chunk-6NVQNTJO.js → chunk-VNCPRMIK.js} +3 -3
- package/dist/{conductor-MCU63Z5U.js → conductor-5MNGC25D.js} +4 -4
- package/dist/{conductor-ZLYZVIAV.js → conductor-UFJXJPTF.js} +4 -4
- package/dist/{coordinator-prompt-KHCXXDRO.js → coordinator-prompt-5Q66Y5KW.js} +3 -3
- package/dist/{coordinator-prompt-UV6THLMD.js → coordinator-prompt-BYPEW6DE.js} +3 -3
- package/dist/{global-workspace-GDHZSFP6.js → global-workspace-BTH2YGDZ.js} +3 -3
- package/dist/{global-workspace-AXTSYVAE.js → global-workspace-YKOYXSB2.js} +3 -3
- package/dist/index.cjs +149 -49
- package/dist/index.d.cts +18 -2
- package/dist/index.d.ts +18 -2
- package/dist/index.js +132 -32
- package/dist/mcp/run-stdio.js +6 -6
- package/dist/{orchestrator-SDH6W6ZL.js → orchestrator-IG4VU7MT.js} +6 -6
- package/dist/{orchestrator-5ZBHR6BJ.js → orchestrator-MKF3YBNK.js} +6 -6
- package/dist/{thread-store-7XBOUQ5K.js → thread-store-DPKESDFR.js} +1 -1
- package/dist/{thread-store-ZQZDREVH.js → thread-store-X6S2GIR5.js} +1 -1
- package/dist/{workspaces-Q2R2XGO3.js → workspaces-ELO2YVTU.js} +3 -3
- package/dist/{workspaces-L2UR4KC2.js → workspaces-RFD6I4FM.js} +3 -3
- package/dist/{worktree-2GOK4VYT.js → worktree-ADVQ6X6C.js} +2 -2
- package/dist/{worktree-YEUTJ7MZ.js → worktree-TN7DZDJZ.js} +2 -2
- package/package.json +1 -1
- /package/dist/{chunk-N5UGX3JL.js → chunk-QB5MDOHL.js} +0 -0
- /package/dist/{chunk-JPH7PYSK.js → chunk-YRXV3E7J.js} +0 -0
package/dist/index.js
CHANGED
|
@@ -186,7 +186,7 @@ import {
|
|
|
186
186
|
worktreeBoardStatus,
|
|
187
187
|
worktreeCleanupSettings,
|
|
188
188
|
writeWorktreeFile
|
|
189
|
-
} from "./chunk-
|
|
189
|
+
} from "./chunk-C546EOEF.js";
|
|
190
190
|
import {
|
|
191
191
|
LEGACY_PLAN_FILE_REL,
|
|
192
192
|
PLAN_FILE_NAME,
|
|
@@ -281,7 +281,7 @@ import {
|
|
|
281
281
|
userMcpNamesToDisable,
|
|
282
282
|
worktreeMcpToolNames,
|
|
283
283
|
writeInjectedMcpConfig
|
|
284
|
-
} from "./chunk-
|
|
284
|
+
} from "./chunk-VNCPRMIK.js";
|
|
285
285
|
import {
|
|
286
286
|
brightsyMcpServerName,
|
|
287
287
|
connectBrightsyTeam,
|
|
@@ -408,7 +408,7 @@ import {
|
|
|
408
408
|
workspaceAgentChatSummaries,
|
|
409
409
|
worktreeRunPortsPath,
|
|
410
410
|
wrapReviewSkillMarkdown
|
|
411
|
-
} from "./chunk-
|
|
411
|
+
} from "./chunk-GBAACE3C.js";
|
|
412
412
|
import {
|
|
413
413
|
STDERR_EVENT_MAX_CHARS,
|
|
414
414
|
STDOUT_EVENT_MAX_CHARS,
|
|
@@ -608,7 +608,7 @@ import {
|
|
|
608
608
|
stageBuffersAsAttachments,
|
|
609
609
|
syncWorkspacesFromThreads,
|
|
610
610
|
takenTeamSlugsForOrchestration
|
|
611
|
-
} from "./chunk-
|
|
611
|
+
} from "./chunk-V3BSO2O6.js";
|
|
612
612
|
import {
|
|
613
613
|
GITHUB_PR_BODY_MAX_CHARS,
|
|
614
614
|
GITHUB_PR_BODY_SAFE_CHARS,
|
|
@@ -696,7 +696,7 @@ import {
|
|
|
696
696
|
suggestSlug,
|
|
697
697
|
switchWorktreeBranch,
|
|
698
698
|
warmGithubAgentAuth
|
|
699
|
-
} from "./chunk-
|
|
699
|
+
} from "./chunk-2IXKTAIT.js";
|
|
700
700
|
import {
|
|
701
701
|
FAMOUS_SOCCER_TEAMS,
|
|
702
702
|
allocateTeamName,
|
|
@@ -728,7 +728,7 @@ import {
|
|
|
728
728
|
worktreeNameFromPath,
|
|
729
729
|
worktreeSlugForTicket,
|
|
730
730
|
writeThread
|
|
731
|
-
} from "./chunk-
|
|
731
|
+
} from "./chunk-QB5MDOHL.js";
|
|
732
732
|
import "./chunk-2P4XKWV2.js";
|
|
733
733
|
import {
|
|
734
734
|
BRIGHTSY_OAUTH_CLIENT_ID,
|
|
@@ -5126,7 +5126,7 @@ async function handleJobStop(params, _ctx) {
|
|
|
5126
5126
|
return stopDetachedJob(jobCwd(rec), id, reason ? { reason } : void 0);
|
|
5127
5127
|
}
|
|
5128
5128
|
async function defaultTurnWait(ref, timeoutMs) {
|
|
5129
|
-
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-
|
|
5129
|
+
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-IG4VU7MT.js");
|
|
5130
5130
|
const orch = getOrchestrator2();
|
|
5131
5131
|
const thread = await orch.waitForTurn(ref, timeoutMs, {
|
|
5132
5132
|
resolveIfStillRunning: true
|
|
@@ -5439,15 +5439,15 @@ async function getHomeBoardInputs(workspaces, opts) {
|
|
|
5439
5439
|
}
|
|
5440
5440
|
const promise = (async () => {
|
|
5441
5441
|
const inputs = await loadHomeBoardInputs(workspaces);
|
|
5442
|
-
const
|
|
5442
|
+
const fetchedAt2 = opts?.now ?? Date.now();
|
|
5443
5443
|
const pins = syncBoardPins(listBoardPins(), inputs.issues, inputs.prs);
|
|
5444
5444
|
replaceBoardPins(pins);
|
|
5445
|
-
const loaded = { ...inputs, fetchedAt, fromCache: false, pins };
|
|
5445
|
+
const loaded = { ...inputs, fetchedAt: fetchedAt2, fromCache: false, pins };
|
|
5446
5446
|
if (shouldCacheHomeBoardInputs(inputs)) {
|
|
5447
5447
|
const entry = {
|
|
5448
5448
|
version: CACHE_VERSION,
|
|
5449
5449
|
workspaceKey: key,
|
|
5450
|
-
fetchedAt,
|
|
5450
|
+
fetchedAt: fetchedAt2,
|
|
5451
5451
|
inputs
|
|
5452
5452
|
};
|
|
5453
5453
|
memory = entry;
|
|
@@ -9165,14 +9165,46 @@ var RemoteHub = class {
|
|
|
9165
9165
|
this.codes.delete(code);
|
|
9166
9166
|
this.attachPhone(socket, host);
|
|
9167
9167
|
}
|
|
9168
|
+
/** In-memory session, with the live Mac's label when that socket is up. */
|
|
9169
|
+
memorySession(sessionToken) {
|
|
9170
|
+
const cached2 = this.phonesByToken.get(sessionToken);
|
|
9171
|
+
if (!cached2) return null;
|
|
9172
|
+
const live = this.hosts.get(cached2.deviceId);
|
|
9173
|
+
const remembered = this.remembered.get(cached2.deviceId);
|
|
9174
|
+
const current = live?.sessionToken ?? remembered?.sessionToken ?? null;
|
|
9175
|
+
if (current && current !== sessionToken) {
|
|
9176
|
+
this.phonesByToken.delete(sessionToken);
|
|
9177
|
+
return null;
|
|
9178
|
+
}
|
|
9179
|
+
return {
|
|
9180
|
+
deviceId: cached2.deviceId,
|
|
9181
|
+
deviceLabel: live?.deviceLabel || remembered?.deviceLabel || cached2.deviceLabel
|
|
9182
|
+
};
|
|
9183
|
+
}
|
|
9184
|
+
knownSession(sessionToken) {
|
|
9185
|
+
const cached2 = this.memorySession(sessionToken);
|
|
9186
|
+
if (cached2) return cached2;
|
|
9187
|
+
const stored = this.opts.phoneSessions?.find(sessionToken) ?? null;
|
|
9188
|
+
if (!stored) return null;
|
|
9189
|
+
const live = this.hosts.get(stored.deviceId);
|
|
9190
|
+
const remembered = this.remembered.get(stored.deviceId);
|
|
9191
|
+
const current = live?.sessionToken ?? remembered?.sessionToken ?? null;
|
|
9192
|
+
if (current && current !== sessionToken) return null;
|
|
9193
|
+
this.phonesByToken.set(sessionToken, stored);
|
|
9194
|
+
if (remembered && !remembered.sessionToken) remembered.sessionToken = sessionToken;
|
|
9195
|
+
if (live && !live.sessionToken) live.sessionToken = sessionToken;
|
|
9196
|
+
return {
|
|
9197
|
+
deviceId: stored.deviceId,
|
|
9198
|
+
deviceLabel: live?.deviceLabel || remembered?.deviceLabel || stored.deviceLabel
|
|
9199
|
+
};
|
|
9200
|
+
}
|
|
9168
9201
|
resumePhone(socket, sessionToken) {
|
|
9169
|
-
const
|
|
9170
|
-
|
|
9171
|
-
if (!deviceId || !remembered || remembered.sessionToken !== sessionToken) {
|
|
9202
|
+
const known = this.knownSession(sessionToken);
|
|
9203
|
+
if (!known) {
|
|
9172
9204
|
send2(socket, { type: "error", message: "phone session expired \u2014 pair again" });
|
|
9173
9205
|
return;
|
|
9174
9206
|
}
|
|
9175
|
-
const host = this.hosts.get(deviceId);
|
|
9207
|
+
const host = this.hosts.get(known.deviceId);
|
|
9176
9208
|
if (!host) {
|
|
9177
9209
|
send2(socket, { type: "host_offline" });
|
|
9178
9210
|
return;
|
|
@@ -9181,17 +9213,13 @@ var RemoteHub = class {
|
|
|
9181
9213
|
}
|
|
9182
9214
|
listHosts(socket, sessionTokens) {
|
|
9183
9215
|
const hosts = sessionTokens.map((sessionToken) => {
|
|
9184
|
-
const
|
|
9185
|
-
|
|
9186
|
-
const
|
|
9187
|
-
if (!valid || !deviceId || !remembered) {
|
|
9188
|
-
return { sessionToken, deviceId: "", deviceLabel: "", online: false };
|
|
9189
|
-
}
|
|
9190
|
-
const host = this.hosts.get(deviceId);
|
|
9216
|
+
const known = this.knownSession(sessionToken);
|
|
9217
|
+
if (!known) return { sessionToken, deviceId: "", deviceLabel: "", online: false };
|
|
9218
|
+
const host = this.hosts.get(known.deviceId);
|
|
9191
9219
|
return {
|
|
9192
9220
|
sessionToken,
|
|
9193
|
-
deviceId,
|
|
9194
|
-
deviceLabel: host?.deviceLabel ||
|
|
9221
|
+
deviceId: known.deviceId,
|
|
9222
|
+
deviceLabel: host?.deviceLabel || known.deviceLabel,
|
|
9195
9223
|
online: Boolean(host)
|
|
9196
9224
|
};
|
|
9197
9225
|
});
|
|
@@ -9222,18 +9250,20 @@ var RemoteHub = class {
|
|
|
9222
9250
|
}
|
|
9223
9251
|
host.phone = null;
|
|
9224
9252
|
}
|
|
9253
|
+
const created = sessionToken == null;
|
|
9225
9254
|
const token = sessionToken ?? randomBytes5(24).toString("hex");
|
|
9226
9255
|
if (host.sessionToken && host.sessionToken !== token) {
|
|
9227
9256
|
this.phonesByToken.delete(host.sessionToken);
|
|
9228
9257
|
}
|
|
9229
9258
|
host.sessionToken = token;
|
|
9230
9259
|
host.phone = socket;
|
|
9231
|
-
this.phonesByToken.set(token, host.deviceId);
|
|
9260
|
+
this.phonesByToken.set(token, { deviceId: host.deviceId, deviceLabel: host.deviceLabel });
|
|
9232
9261
|
this.remembered.set(host.deviceId, {
|
|
9233
9262
|
hostSecret: host.hostSecret,
|
|
9234
9263
|
sessionToken: token,
|
|
9235
9264
|
deviceLabel: host.deviceLabel
|
|
9236
9265
|
});
|
|
9266
|
+
if (created) this.opts.phoneSessions?.save(host.deviceId, token);
|
|
9237
9267
|
this.bySocket.set(socket, { role: "phone", deviceId: host.deviceId });
|
|
9238
9268
|
this.opts.onAuthorized?.(socket);
|
|
9239
9269
|
send2(socket, {
|
|
@@ -9476,6 +9506,29 @@ function phoneAccountDefaults() {
|
|
|
9476
9506
|
};
|
|
9477
9507
|
}
|
|
9478
9508
|
|
|
9509
|
+
// src/remote/phone-viewer-login.ts
|
|
9510
|
+
var TTL_MS = 5 * 6e4;
|
|
9511
|
+
var cached = "";
|
|
9512
|
+
var fetchedAt = 0;
|
|
9513
|
+
var inflight2 = null;
|
|
9514
|
+
function phoneViewerLogin() {
|
|
9515
|
+
return cached;
|
|
9516
|
+
}
|
|
9517
|
+
function refreshPhoneViewerLogin(force = false) {
|
|
9518
|
+
const now = Date.now();
|
|
9519
|
+
if (!force && fetchedAt && now - fetchedAt < TTL_MS) return Promise.resolve(cached);
|
|
9520
|
+
if (inflight2) return inflight2;
|
|
9521
|
+
const run2 = getGitHubStatus().then((status) => {
|
|
9522
|
+
cached = status.login?.trim() ?? "";
|
|
9523
|
+
fetchedAt = Date.now();
|
|
9524
|
+
return cached;
|
|
9525
|
+
}).catch(() => cached).finally(() => {
|
|
9526
|
+
if (inflight2 === run2) inflight2 = null;
|
|
9527
|
+
});
|
|
9528
|
+
inflight2 = run2;
|
|
9529
|
+
return run2;
|
|
9530
|
+
}
|
|
9531
|
+
|
|
9479
9532
|
// src/remote/phone-stream.ts
|
|
9480
9533
|
var PHONE_STREAM_FLUSH_MS = 80;
|
|
9481
9534
|
function phoneStreamFrame(parts) {
|
|
@@ -9776,7 +9829,8 @@ function isProjectPath(path2) {
|
|
|
9776
9829
|
function listPhoneChats() {
|
|
9777
9830
|
return listGlobalThreads().slice().sort((a, b) => a.updatedAt < b.updatedAt ? 1 : a.updatedAt > b.updatedAt ? -1 : 0).map(summarize);
|
|
9778
9831
|
}
|
|
9779
|
-
function listPhoneSidebar() {
|
|
9832
|
+
function listPhoneSidebar(viewerLogin = phoneViewerLogin()) {
|
|
9833
|
+
const settings = loadAppSettings();
|
|
9780
9834
|
const threads = listThreads();
|
|
9781
9835
|
const byRepo = /* @__PURE__ */ new Map();
|
|
9782
9836
|
for (const thread of threads) {
|
|
@@ -9794,10 +9848,16 @@ function listPhoneSidebar() {
|
|
|
9794
9848
|
path: path2,
|
|
9795
9849
|
worktrees: groupHomeBoardWorktrees(repoThreads).map((group) => {
|
|
9796
9850
|
const tags = workspaceTagsFromGroup(group);
|
|
9851
|
+
const badge = classifyWorktreeListBadges(
|
|
9852
|
+
group,
|
|
9853
|
+
viewerLogin,
|
|
9854
|
+
resolveProjectReviewLabel(settings, path2)
|
|
9855
|
+
)[0];
|
|
9797
9856
|
return {
|
|
9798
9857
|
label: worktreeDisplayLabelForGroup(group),
|
|
9799
9858
|
chats: group.map(summarize),
|
|
9800
|
-
...tags.length > 0 ? { tags } : {}
|
|
9859
|
+
...tags.length > 0 ? { tags } : {},
|
|
9860
|
+
...badge ? { badge: { id: badge.id, label: badge.label, title: badge.title } } : {}
|
|
9801
9861
|
};
|
|
9802
9862
|
})
|
|
9803
9863
|
}));
|
|
@@ -10696,7 +10756,9 @@ function chatKey(row2) {
|
|
|
10696
10756
|
function phoneBoardKey(sidebar) {
|
|
10697
10757
|
const orchestration = sidebar.orchestration.map(chatKey).join("\n");
|
|
10698
10758
|
const projects = sidebar.projects.map((project) => {
|
|
10699
|
-
const trees = project.worktrees.map(
|
|
10759
|
+
const trees = project.worktrees.map(
|
|
10760
|
+
(tree) => `${tree.label} ${tree.badge?.id ?? ""} ${(tree.tags ?? []).join(",")} ${tree.chats.map(chatKey).join("\n")}`
|
|
10761
|
+
).join("\n");
|
|
10700
10762
|
return `${project.path} ${project.name}
|
|
10701
10763
|
${trees}`;
|
|
10702
10764
|
}).join("\n---\n");
|
|
@@ -10774,10 +10836,23 @@ function startPhoneBoardSync(opts) {
|
|
|
10774
10836
|
const unsubscribe = (opts.subscribe ?? subscribePhoneBoard)(schedule);
|
|
10775
10837
|
const offEvents = (opts.events ?? ((listener) => getOrchestrator().on(listener)))(handle);
|
|
10776
10838
|
push();
|
|
10839
|
+
let loginTimer = null;
|
|
10840
|
+
const refreshViewerLogin = opts.refreshViewerLogin;
|
|
10841
|
+
if (refreshViewerLogin) {
|
|
10842
|
+
const afterLogin = () => {
|
|
10843
|
+
void refreshViewerLogin().then(() => {
|
|
10844
|
+
if (!stopped) push();
|
|
10845
|
+
});
|
|
10846
|
+
};
|
|
10847
|
+
afterLogin();
|
|
10848
|
+
loginTimer = setInterval(afterLogin, opts.viewerLoginIntervalMs ?? 5 * 6e4);
|
|
10849
|
+
}
|
|
10777
10850
|
return () => {
|
|
10778
10851
|
stopped = true;
|
|
10779
10852
|
if (timer) clearTimeout(timer);
|
|
10780
10853
|
timer = null;
|
|
10854
|
+
if (loginTimer) clearInterval(loginTimer);
|
|
10855
|
+
loginTimer = null;
|
|
10781
10856
|
unsubscribe();
|
|
10782
10857
|
offEvents();
|
|
10783
10858
|
};
|
|
@@ -10844,7 +10919,8 @@ function runRemoteHost(opts) {
|
|
|
10844
10919
|
},
|
|
10845
10920
|
onRunningChat: (chatId) => {
|
|
10846
10921
|
deliverPhoneTurn({ onOutbound: emit }, chatId);
|
|
10847
|
-
}
|
|
10922
|
+
},
|
|
10923
|
+
refreshViewerLogin: () => refreshPhoneViewerLogin(true)
|
|
10848
10924
|
});
|
|
10849
10925
|
};
|
|
10850
10926
|
const send3 = (msg) => {
|
|
@@ -11106,9 +11182,15 @@ var RelayAccountStore = class {
|
|
|
11106
11182
|
account_id TEXT NOT NULL,
|
|
11107
11183
|
host_secret_hash TEXT NOT NULL,
|
|
11108
11184
|
device_label TEXT NOT NULL,
|
|
11109
|
-
created_at INTEGER NOT NULL
|
|
11185
|
+
created_at INTEGER NOT NULL,
|
|
11186
|
+
session_token_hash TEXT
|
|
11110
11187
|
);
|
|
11111
11188
|
`);
|
|
11189
|
+
const cols = this.db.prepare("PRAGMA table_info(devices)").all();
|
|
11190
|
+
if (!cols.some((col) => col.name === "session_token_hash")) {
|
|
11191
|
+
this.db.exec("ALTER TABLE devices ADD COLUMN session_token_hash TEXT");
|
|
11192
|
+
}
|
|
11193
|
+
this.db.exec("CREATE INDEX IF NOT EXISTS devices_session ON devices(session_token_hash)");
|
|
11112
11194
|
}
|
|
11113
11195
|
close() {
|
|
11114
11196
|
this.db.close();
|
|
@@ -11237,6 +11319,20 @@ var RelayAccountStore = class {
|
|
|
11237
11319
|
throw err;
|
|
11238
11320
|
}
|
|
11239
11321
|
}
|
|
11322
|
+
/** Store a phone pairing when it is created. A later process looks it up on a memory miss. */
|
|
11323
|
+
savePhoneSession(deviceId, sessionToken) {
|
|
11324
|
+
const id = deviceId.trim();
|
|
11325
|
+
const token = sessionToken.trim();
|
|
11326
|
+
if (!id || !token) return;
|
|
11327
|
+
this.db.prepare("UPDATE devices SET session_token_hash = ? WHERE device_id = ?").run(sha256(token), id);
|
|
11328
|
+
}
|
|
11329
|
+
findPhoneSession(sessionToken) {
|
|
11330
|
+
const token = sessionToken.trim();
|
|
11331
|
+
if (!token) return null;
|
|
11332
|
+
const row2 = this.db.prepare("SELECT device_id, device_label FROM devices WHERE session_token_hash = ?").get(sha256(token));
|
|
11333
|
+
if (!row2) return null;
|
|
11334
|
+
return { deviceId: row2.device_id, deviceLabel: row2.device_label };
|
|
11335
|
+
}
|
|
11240
11336
|
requireAccount(accountId) {
|
|
11241
11337
|
const row2 = this.db.prepare("SELECT id FROM accounts WHERE id = ?").get(accountId);
|
|
11242
11338
|
if (!row2) throw new Error("That Sideboard account is no longer on the relay.");
|
|
@@ -12226,6 +12322,10 @@ async function startRelayServer(opts) {
|
|
|
12226
12322
|
const decision = accountStore.authorizeHost(input);
|
|
12227
12323
|
return decision.ok ? { ok: true } : { ok: false, message: decision.message };
|
|
12228
12324
|
} : void 0,
|
|
12325
|
+
phoneSessions: accountStore ? {
|
|
12326
|
+
find: (sessionToken) => accountStore.findPhoneSession(sessionToken),
|
|
12327
|
+
save: (deviceId, sessionToken) => accountStore.savePhoneSession(deviceId, sessionToken)
|
|
12328
|
+
} : void 0,
|
|
12229
12329
|
onAuthorized: (socket) => authMarks.get(socket)?.()
|
|
12230
12330
|
});
|
|
12231
12331
|
const handleCallback = async (reqUrl, res) => {
|
|
@@ -12597,7 +12697,7 @@ async function continueSourceThread(threadId, prompt) {
|
|
|
12597
12697
|
await continueOnReply(threadId, prompt);
|
|
12598
12698
|
return;
|
|
12599
12699
|
}
|
|
12600
|
-
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-
|
|
12700
|
+
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-IG4VU7MT.js");
|
|
12601
12701
|
await getOrchestrator2().send(threadId, prompt);
|
|
12602
12702
|
} catch {
|
|
12603
12703
|
}
|
|
@@ -12706,8 +12806,8 @@ function displayName(user) {
|
|
|
12706
12806
|
return fromProfile || user.real_name?.trim() || user.name?.trim() || "";
|
|
12707
12807
|
}
|
|
12708
12808
|
async function resolveUserName(token, userId, fallback, fetchImpl) {
|
|
12709
|
-
const
|
|
12710
|
-
if (
|
|
12809
|
+
const cached2 = nameCache.get(userId);
|
|
12810
|
+
if (cached2) return cached2;
|
|
12711
12811
|
try {
|
|
12712
12812
|
const data = await slackApi(token, "users.info", { user: userId }, fetchImpl);
|
|
12713
12813
|
const name = displayName(data.user ?? {}) || fallback;
|
package/dist/mcp/run-stdio.js
CHANGED
|
@@ -50,7 +50,7 @@ import {
|
|
|
50
50
|
syncBoardPins,
|
|
51
51
|
updateSchedule,
|
|
52
52
|
workspaceTagTargetRef
|
|
53
|
-
} from "../chunk-
|
|
53
|
+
} from "../chunk-EBGJXOXT.js";
|
|
54
54
|
import "../chunk-LX5R5JOR.js";
|
|
55
55
|
import {
|
|
56
56
|
commentAbleTimeTask,
|
|
@@ -93,7 +93,7 @@ import {
|
|
|
93
93
|
sideboardMcpProfile,
|
|
94
94
|
trustSystemCertificates,
|
|
95
95
|
worktreeMcpToolNames
|
|
96
|
-
} from "../chunk-
|
|
96
|
+
} from "../chunk-LUQ7MIVD.js";
|
|
97
97
|
import "../chunk-W2KZTDET.js";
|
|
98
98
|
import "../chunk-7IAMHN2N.js";
|
|
99
99
|
import "../chunk-PXMLMBMI.js";
|
|
@@ -110,7 +110,7 @@ import {
|
|
|
110
110
|
waitForDetachedJob,
|
|
111
111
|
waitForTurnToolResult,
|
|
112
112
|
workspaceAgentChatSummaries
|
|
113
|
-
} from "../chunk-
|
|
113
|
+
} from "../chunk-G74TSBJ3.js";
|
|
114
114
|
import {
|
|
115
115
|
clipToolResultForStore,
|
|
116
116
|
isInternalAgentStatusText,
|
|
@@ -119,7 +119,7 @@ import {
|
|
|
119
119
|
import {
|
|
120
120
|
GLOBAL_WORKSPACE_ID,
|
|
121
121
|
isCloudCoordinatorThread
|
|
122
|
-
} from "../chunk-
|
|
122
|
+
} from "../chunk-O4324MXE.js";
|
|
123
123
|
import {
|
|
124
124
|
canonicalizeRepoPath,
|
|
125
125
|
formatGhLandError,
|
|
@@ -130,7 +130,7 @@ import {
|
|
|
130
130
|
resolveListPrsOptions,
|
|
131
131
|
resolveRepoRoot,
|
|
132
132
|
warmGithubAgentAuth
|
|
133
|
-
} from "../chunk-
|
|
133
|
+
} from "../chunk-5HPMKLJ7.js";
|
|
134
134
|
import {
|
|
135
135
|
CLI_DIR
|
|
136
136
|
} from "../chunk-N2WW62LF.js";
|
|
@@ -160,7 +160,7 @@ import "../chunk-FJZWM2ON.js";
|
|
|
160
160
|
import "../chunk-UN5Q7POQ.js";
|
|
161
161
|
import {
|
|
162
162
|
normalizeWorkspaceTags
|
|
163
|
-
} from "../chunk-
|
|
163
|
+
} from "../chunk-YRXV3E7J.js";
|
|
164
164
|
import "../chunk-4RZRHTSZ.js";
|
|
165
165
|
import "../chunk-KGZBYWZ3.js";
|
|
166
166
|
import {
|
|
@@ -9,18 +9,18 @@ import {
|
|
|
9
9
|
resolveSendFollowUp,
|
|
10
10
|
startOrchestration,
|
|
11
11
|
waitForPidExit
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-C546EOEF.js";
|
|
13
13
|
import "./chunk-PGPSIEMW.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-VNCPRMIK.js";
|
|
15
15
|
import "./chunk-VGNLMGBK.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-GBAACE3C.js";
|
|
17
17
|
import "./chunk-YSLCWCMJ.js";
|
|
18
18
|
import "./chunk-7H655NEW.js";
|
|
19
19
|
import "./chunk-AF2DMY3K.js";
|
|
20
20
|
import "./chunk-NXXQFLNQ.js";
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-V3BSO2O6.js";
|
|
22
|
+
import "./chunk-2IXKTAIT.js";
|
|
23
|
+
import "./chunk-QB5MDOHL.js";
|
|
24
24
|
import "./chunk-2P4XKWV2.js";
|
|
25
25
|
import "./chunk-33KDPEK4.js";
|
|
26
26
|
import "./chunk-JAT3JFOS.js";
|
|
@@ -11,20 +11,20 @@ import {
|
|
|
11
11
|
resolveSendFollowUp,
|
|
12
12
|
startOrchestration,
|
|
13
13
|
waitForPidExit
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-EBGJXOXT.js";
|
|
15
15
|
import "./chunk-LX5R5JOR.js";
|
|
16
16
|
import "./chunk-4BXRRHDC.js";
|
|
17
17
|
import "./chunk-4GK32AYX.js";
|
|
18
18
|
import "./chunk-5DZUWGKV.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-LUQ7MIVD.js";
|
|
20
20
|
import "./chunk-W2KZTDET.js";
|
|
21
21
|
import "./chunk-7IAMHN2N.js";
|
|
22
22
|
import "./chunk-PXMLMBMI.js";
|
|
23
23
|
import "./chunk-2GPQZZLY.js";
|
|
24
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-G74TSBJ3.js";
|
|
25
25
|
import "./chunk-AFLNFGGB.js";
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-O4324MXE.js";
|
|
27
|
+
import "./chunk-5HPMKLJ7.js";
|
|
28
28
|
import "./chunk-N2WW62LF.js";
|
|
29
29
|
import "./chunk-DD67JWTN.js";
|
|
30
30
|
import "./chunk-2UG25RMK.js";
|
|
@@ -33,7 +33,7 @@ import "./chunk-NSTQ6QKD.js";
|
|
|
33
33
|
import "./chunk-WWUABK6B.js";
|
|
34
34
|
import "./chunk-FJZWM2ON.js";
|
|
35
35
|
import "./chunk-UN5Q7POQ.js";
|
|
36
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-YRXV3E7J.js";
|
|
37
37
|
import "./chunk-4RZRHTSZ.js";
|
|
38
38
|
import "./chunk-KGZBYWZ3.js";
|
|
39
39
|
import "./chunk-H5XL4KUS.js";
|
|
@@ -11,8 +11,8 @@ import {
|
|
|
11
11
|
removeWorkspace,
|
|
12
12
|
sameWorkspacePath,
|
|
13
13
|
syncWorkspacesFromThreads
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-O4324MXE.js";
|
|
15
|
+
import "./chunk-5HPMKLJ7.js";
|
|
16
16
|
import "./chunk-N2WW62LF.js";
|
|
17
17
|
import "./chunk-DD67JWTN.js";
|
|
18
18
|
import "./chunk-2UG25RMK.js";
|
|
@@ -21,7 +21,7 @@ import "./chunk-NSTQ6QKD.js";
|
|
|
21
21
|
import "./chunk-WWUABK6B.js";
|
|
22
22
|
import "./chunk-FJZWM2ON.js";
|
|
23
23
|
import "./chunk-UN5Q7POQ.js";
|
|
24
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-YRXV3E7J.js";
|
|
25
25
|
import "./chunk-4RZRHTSZ.js";
|
|
26
26
|
import "./chunk-KGZBYWZ3.js";
|
|
27
27
|
import "./chunk-H5XL4KUS.js";
|
|
@@ -9,9 +9,9 @@ import {
|
|
|
9
9
|
removeWorkspace,
|
|
10
10
|
sameWorkspacePath,
|
|
11
11
|
syncWorkspacesFromThreads
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-V3BSO2O6.js";
|
|
13
|
+
import "./chunk-2IXKTAIT.js";
|
|
14
|
+
import "./chunk-QB5MDOHL.js";
|
|
15
15
|
import "./chunk-2P4XKWV2.js";
|
|
16
16
|
import "./chunk-6K64FJDD.js";
|
|
17
17
|
import "./chunk-UWQ6UCIB.js";
|
|
@@ -50,7 +50,7 @@ import {
|
|
|
50
50
|
slugify,
|
|
51
51
|
suggestSlug,
|
|
52
52
|
switchWorktreeBranch
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-5HPMKLJ7.js";
|
|
54
54
|
import "./chunk-N2WW62LF.js";
|
|
55
55
|
import "./chunk-DD67JWTN.js";
|
|
56
56
|
import "./chunk-2UG25RMK.js";
|
|
@@ -74,7 +74,7 @@ import {
|
|
|
74
74
|
worktreeDisplayLabelForGroup,
|
|
75
75
|
worktreeNameFromPath,
|
|
76
76
|
worktreeSlugForTicket
|
|
77
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-YRXV3E7J.js";
|
|
78
78
|
import "./chunk-4RZRHTSZ.js";
|
|
79
79
|
import "./chunk-KGZBYWZ3.js";
|
|
80
80
|
import "./chunk-H5XL4KUS.js";
|
|
@@ -48,7 +48,7 @@ import {
|
|
|
48
48
|
slugify,
|
|
49
49
|
suggestSlug,
|
|
50
50
|
switchWorktreeBranch
|
|
51
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-2IXKTAIT.js";
|
|
52
52
|
import {
|
|
53
53
|
FAMOUS_SOCCER_TEAMS,
|
|
54
54
|
allocateTeamName,
|
|
@@ -64,7 +64,7 @@ import {
|
|
|
64
64
|
worktreeDisplayLabelForGroup,
|
|
65
65
|
worktreeNameFromPath,
|
|
66
66
|
worktreeSlugForTicket
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-QB5MDOHL.js";
|
|
68
68
|
import "./chunk-2P4XKWV2.js";
|
|
69
69
|
import "./chunk-6K64FJDD.js";
|
|
70
70
|
import "./chunk-UWQ6UCIB.js";
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|