@sideboard-ai/core 0.1.155 → 0.1.157
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-JSTJLXAW.js → abletime-BEIDJG7W.js} +5 -1
- package/dist/{abletime-H7LPGIP2.js → abletime-GWZE6OYM.js} +5 -1
- package/dist/agents/cursor-runner.cjs +6 -1
- package/dist/agents/cursor-runner.js +6 -1
- package/dist/{agents-V24DYZI4.js → agents-C55LAEUR.js} +4 -2
- package/dist/{agents-YVW75KBO.js → agents-LCDXN2B2.js} +4 -2
- package/dist/{chunk-RNC3GR6L.js → chunk-4I4VKAPZ.js} +5 -4
- package/dist/{chunk-2F63IMCL.js → chunk-CVR4RJ6G.js} +5 -4
- package/dist/{chunk-JOK4XWBG.js → chunk-DVJBO3M7.js} +87 -3
- package/dist/{chunk-J2OKVOBM.js → chunk-GWEEGE6L.js} +119 -10
- package/dist/{chunk-4THE3EY7.js → chunk-KQ4JOGUH.js} +214 -39
- package/dist/{chunk-FDCFXMDG.js → chunk-N27GVFZY.js} +87 -3
- package/dist/{chunk-46ZTBUVJ.js → chunk-SUCJAWV4.js} +90 -9
- package/dist/{chunk-QZEZXYVV.js → chunk-TIJ6QVX5.js} +305 -33
- package/dist/{coordinator-prompt-7FHKCWXB.js → coordinator-prompt-26IJU2AV.js} +1 -1
- package/dist/{coordinator-prompt-KX2FVVYT.js → coordinator-prompt-AM47SATF.js} +1 -1
- package/dist/{global-workspace-2BRRKSDN.js → global-workspace-5BIW26YR.js} +1 -1
- package/dist/{global-workspace-4LHCZ2DC.js → global-workspace-QV7CC7SK.js} +1 -1
- package/dist/index.cjs +1438 -695
- package/dist/index.d.cts +150 -3
- package/dist/index.d.ts +150 -3
- package/dist/index.js +600 -322
- package/dist/mcp/run-stdio.cjs +1223 -573
- package/dist/mcp/run-stdio.js +501 -199
- package/dist/{orchestrator-HC7XVGJB.js → orchestrator-BUH3LJLL.js} +3 -3
- package/dist/{orchestrator-3FWEKDAQ.js → orchestrator-KQO4MXBI.js} +3 -3
- package/dist/{workspaces-5UNDTN4G.js → workspaces-NYSM2EPX.js} +1 -1
- package/dist/{workspaces-MQYNZXUK.js → workspaces-Q2VCHIAS.js} +1 -1
- package/package.json +1 -1
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
summarizeTurnStderr,
|
|
34
34
|
toolDescription,
|
|
35
35
|
turnFailChatText
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-KQ4JOGUH.js";
|
|
37
37
|
import {
|
|
38
38
|
extractPresentedPlan,
|
|
39
39
|
readPlanFile,
|
|
@@ -67,7 +67,7 @@ import {
|
|
|
67
67
|
stageAbsolutePathsAsAttachments,
|
|
68
68
|
stageBuffersAsAttachments,
|
|
69
69
|
syncWorkspacesFromThreads
|
|
70
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-4I4VKAPZ.js";
|
|
71
71
|
import {
|
|
72
72
|
addPrStackLayer,
|
|
73
73
|
allocateTeamName,
|
|
@@ -147,11 +147,13 @@ import {
|
|
|
147
147
|
childEnvWithAppSettings,
|
|
148
148
|
getIssueSource,
|
|
149
149
|
isAbleTimeConnected,
|
|
150
|
+
isLinearConnected,
|
|
150
151
|
isSecureFileEncrypted,
|
|
151
152
|
loadAppSettings,
|
|
152
153
|
orchestrationQuotaFallbackAgent,
|
|
153
154
|
orchestrationQuotaOnLimit,
|
|
154
155
|
readSecureJson,
|
|
156
|
+
resolveEffectiveIssueSource,
|
|
155
157
|
resolveNewThreadOptions,
|
|
156
158
|
resolveThreadDefaults,
|
|
157
159
|
resolveVaultKey,
|
|
@@ -392,7 +394,7 @@ async function continueSourceThread(threadId, prompt) {
|
|
|
392
394
|
await continueOnReply(threadId, prompt);
|
|
393
395
|
return;
|
|
394
396
|
}
|
|
395
|
-
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-
|
|
397
|
+
const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-KQO4MXBI.js");
|
|
396
398
|
await getOrchestrator2().send(threadId, prompt);
|
|
397
399
|
} catch {
|
|
398
400
|
}
|
|
@@ -733,9 +735,9 @@ async function spawnAgentTurn(thread, input, onEvent) {
|
|
|
733
735
|
`Cannot spawn ${thread.agent}: thread ${thread.id} has no worktreePath`
|
|
734
736
|
);
|
|
735
737
|
}
|
|
736
|
-
const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-
|
|
738
|
+
const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-QV7CC7SK.js");
|
|
737
739
|
if (isGlobalThread2(thread)) {
|
|
738
|
-
const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-
|
|
740
|
+
const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-AM47SATF.js");
|
|
739
741
|
ensureGlobalCoordinatorCwd2(
|
|
740
742
|
isOrchestratorThread(thread) ? { orchestratorThreadId: thread.id } : void 0
|
|
741
743
|
);
|
|
@@ -3073,7 +3075,7 @@ async function createThread(input, _onSetupLine) {
|
|
|
3073
3075
|
let sourceIsFork = false;
|
|
3074
3076
|
if (!input.cowboy && sourceType === "branch" && (!sourceRef || sourceRef === "HEAD" || sourceRef === "default")) {
|
|
3075
3077
|
if (isAbleTimeConnected() && getIssueSource() === "abletime") {
|
|
3076
|
-
const { ensureAbleTimeTask, issueAttachmentForAbleTimeTask } = await import("./abletime-
|
|
3078
|
+
const { ensureAbleTimeTask, issueAttachmentForAbleTimeTask } = await import("./abletime-BEIDJG7W.js");
|
|
3077
3079
|
const task = await ensureAbleTimeTask({
|
|
3078
3080
|
title: title?.trim() || "Untitled work",
|
|
3079
3081
|
description: input.prompt?.trim() || void 0
|
|
@@ -3569,7 +3571,7 @@ async function adoptThread(input) {
|
|
|
3569
3571
|
messages: input.messages ?? []
|
|
3570
3572
|
});
|
|
3571
3573
|
writeThread(thread);
|
|
3572
|
-
const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-
|
|
3574
|
+
const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-Q2VCHIAS.js");
|
|
3573
3575
|
await ensureWorkspace2(repoPath);
|
|
3574
3576
|
const { ensureWorktreeSideboardIgnored: ensureWorktreeSideboardIgnored2 } = await import("./worktree-exclude-N5X5I422.js");
|
|
3575
3577
|
await ensureWorktreeSideboardIgnored2(input.worktreePath);
|
|
@@ -5372,6 +5374,66 @@ function formatWorktreeDirective(thread, opts) {
|
|
|
5372
5374
|
function formatWorktreeReminder() {
|
|
5373
5375
|
return "Sideboard worktree: stay in this cwd for all file and git work. Push and open PRs against origin, never upstream. Do not edit the main repo checkout. If a goal is given (Greptile 5/5, CI green), watch-fix-push until it lands \u2014 do not watch after every push.";
|
|
5374
5376
|
}
|
|
5377
|
+
var GITHUB_TICKET_REF = /^(?:#?\d+|gh-\d+)$/i;
|
|
5378
|
+
var KEYED_TICKET_REF = /^(?:[A-Z][A-Z0-9]{0,9}-\d+|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$/i;
|
|
5379
|
+
function issueTicketFromThread(thread, preferredSource = "github") {
|
|
5380
|
+
if (thread?.sourceType !== "ticket") return null;
|
|
5381
|
+
const ref = thread.sourceRef?.trim() ?? "";
|
|
5382
|
+
if (!ref) return null;
|
|
5383
|
+
if (/github\.com\/[^/]+\/[^/]+\/issues\/\d+/i.test(ref) || GITHUB_TICKET_REF.test(ref)) {
|
|
5384
|
+
return { id: ref, provider: "github" };
|
|
5385
|
+
}
|
|
5386
|
+
if (KEYED_TICKET_REF.test(ref)) {
|
|
5387
|
+
return { id: ref, provider: preferredSource === "github" ? "linear" : preferredSource };
|
|
5388
|
+
}
|
|
5389
|
+
return { id: ref, provider: preferredSource };
|
|
5390
|
+
}
|
|
5391
|
+
function formatIssueToolsDirective(opts) {
|
|
5392
|
+
const github = opts.github !== false;
|
|
5393
|
+
if (!opts.linear && !opts.abletime && !github) return null;
|
|
5394
|
+
const lines = [
|
|
5395
|
+
"Issue tracking (Settings \u2192 Issues / Git \u2014 already signed in):",
|
|
5396
|
+
"- Use Sideboard `linear_*` / `github_*` / `abletime_*` tools. Do not call Claude Linear MCP, vendor GitHub MCP, or any other vendor issue MCP \u2014 those need a separate login and hang. If a vendor namespace shows needsAuth, ignore it and keep going with Sideboard tools."
|
|
5397
|
+
];
|
|
5398
|
+
if (opts.linear) {
|
|
5399
|
+
lines.push(
|
|
5400
|
+
"- Linear: `linear_get_issue` (comments), `linear_comment`, `linear_update_issue` (state), `linear_create_issue` (pass `parent` for spin-offs; call `linear_list_teams` first). Scope errors: reconnect Linear in Settings \u2192 Issues."
|
|
5401
|
+
);
|
|
5402
|
+
}
|
|
5403
|
+
if (github) {
|
|
5404
|
+
lines.push(
|
|
5405
|
+
"- GitHub: `github_get_issue` (comments), `github_comment`, `github_update_issue` (state open|closed), `github_create_issue` (pass `parent` for spin-offs). Uses Account `gh`."
|
|
5406
|
+
);
|
|
5407
|
+
}
|
|
5408
|
+
if (opts.abletime) {
|
|
5409
|
+
lines.push(
|
|
5410
|
+
"- AbleTime: `abletime_get_task` (comments), `abletime_comment`, `abletime_update_task` (state), `abletime_create_task` (pass `parent` for spin-offs; `abletime_list_projects` if needed)."
|
|
5411
|
+
);
|
|
5412
|
+
}
|
|
5413
|
+
lines.push(
|
|
5414
|
+
"- Do not ask the user to `claude mcp login` for tickets. Reconnect the Account source in Settings \u2192 Issues (or Git for `gh`)."
|
|
5415
|
+
);
|
|
5416
|
+
const ticket = opts.ticketId?.trim();
|
|
5417
|
+
if (ticket) {
|
|
5418
|
+
const provider = opts.ticketProvider ?? "linear";
|
|
5419
|
+
lines.push(
|
|
5420
|
+
`- This thread's ticket is \`${ticket}\` (${provider}). Use that id for get/comment/update; pass it as \`parent\` on spin-offs.`
|
|
5421
|
+
);
|
|
5422
|
+
}
|
|
5423
|
+
return lines.join("\n");
|
|
5424
|
+
}
|
|
5425
|
+
function formatIssueToolsReminder(opts) {
|
|
5426
|
+
const github = opts.github !== false;
|
|
5427
|
+
if (!opts.linear && !opts.abletime && !github) return null;
|
|
5428
|
+
const names = [
|
|
5429
|
+
opts.linear ? "linear_*" : null,
|
|
5430
|
+
github ? "github_*" : null,
|
|
5431
|
+
opts.abletime ? "abletime_*" : null
|
|
5432
|
+
].filter(Boolean);
|
|
5433
|
+
const ticket = opts.ticketId?.trim();
|
|
5434
|
+
const ticketBit = ticket ? ` This ticket: ${ticket}${opts.ticketProvider ? ` (${opts.ticketProvider})` : ""} \u2014 get/comment/update; create with parent for spin-offs.` : " get/comment/update/create (parent= for spin-offs).";
|
|
5435
|
+
return `Issues: Sideboard ${names.join(" / ")} (Account). Ignore vendor issue MCP auth.${ticketBit}`;
|
|
5436
|
+
}
|
|
5375
5437
|
function formatPrGateDirective() {
|
|
5376
5438
|
return [
|
|
5377
5439
|
"If a goal is given (not after every push):",
|
|
@@ -5790,7 +5852,7 @@ function formatScheduledPrompt(name, prompt) {
|
|
|
5790
5852
|
${prompt}`;
|
|
5791
5853
|
}
|
|
5792
5854
|
async function defaultDeps() {
|
|
5793
|
-
const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-
|
|
5855
|
+
const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-KQO4MXBI.js");
|
|
5794
5856
|
const orch = getOrchestrator2();
|
|
5795
5857
|
return {
|
|
5796
5858
|
findThread: (id) => findThreadByRef(id),
|
|
@@ -6558,6 +6620,14 @@ var Orchestrator = class {
|
|
|
6558
6620
|
const longRunningReminder = thread.agent !== "brightsy" && !isOrchestratorThread(thread) ? formatLongRunningReminder() : null;
|
|
6559
6621
|
const worktreeReminder = thread.agent !== "brightsy" && !isOrchestratorThread(thread) ? formatWorktreeReminder() : null;
|
|
6560
6622
|
const optionalServicesReminder = thread.agent !== "brightsy" && !isOrchestratorThread(thread) ? formatOptionalServicesReminder(loadAppSettings().integrations) : null;
|
|
6623
|
+
const issueTicket = issueTicketFromThread(thread, resolveEffectiveIssueSource());
|
|
6624
|
+
const issueToolsReminder = thread.agent !== "brightsy" && !isOrchestratorThread(thread) ? formatIssueToolsReminder({
|
|
6625
|
+
linear: isLinearConnected(),
|
|
6626
|
+
abletime: isAbleTimeConnected(),
|
|
6627
|
+
github: true,
|
|
6628
|
+
ticketId: issueTicket?.id,
|
|
6629
|
+
ticketProvider: issueTicket?.provider
|
|
6630
|
+
}) : null;
|
|
6561
6631
|
const slackReplyContext = formatSlackRepliesForTurn(
|
|
6562
6632
|
pendingSlackExternalReplies(thread.messages)
|
|
6563
6633
|
);
|
|
@@ -6566,6 +6636,7 @@ var Orchestrator = class {
|
|
|
6566
6636
|
orchestrationReminder,
|
|
6567
6637
|
worktreeReminder,
|
|
6568
6638
|
optionalServicesReminder,
|
|
6639
|
+
issueToolsReminder,
|
|
6569
6640
|
artifactReminder,
|
|
6570
6641
|
longRunningReminder,
|
|
6571
6642
|
slackReplyContext,
|
|
@@ -6598,6 +6669,14 @@ var Orchestrator = class {
|
|
|
6598
6669
|
const artifactDirective = isBrightsy ? null : formatArtifactDirective();
|
|
6599
6670
|
const longRunningDirective = isBrightsy || isOrchestration ? null : formatLongRunningDirective();
|
|
6600
6671
|
const optionalServicesDirective = isBrightsy || isOrchestration ? null : formatOptionalServicesDirective(loadAppSettings().integrations);
|
|
6672
|
+
const freshIssueTicket = issueTicketFromThread(fresh, resolveEffectiveIssueSource());
|
|
6673
|
+
const issueToolsDirective = isBrightsy || isOrchestration ? null : formatIssueToolsDirective({
|
|
6674
|
+
linear: isLinearConnected(),
|
|
6675
|
+
abletime: isAbleTimeConnected(),
|
|
6676
|
+
github: true,
|
|
6677
|
+
ticketId: freshIssueTicket?.id,
|
|
6678
|
+
ticketProvider: freshIssueTicket?.provider
|
|
6679
|
+
});
|
|
6601
6680
|
const settings = loadWorkspaceSettings(fresh.worktreePath, fresh.repoPath);
|
|
6602
6681
|
const renameBranchDirective = !isBrightsy && !isOrchestration && autoRenameBranchEnabled() ? formatRenameBranchDirective(fresh, {
|
|
6603
6682
|
customPrompt: settings?.prompts?.renameBranch
|
|
@@ -6628,6 +6707,7 @@ var Orchestrator = class {
|
|
|
6628
6707
|
coordinatorDirective,
|
|
6629
6708
|
worktreeDirective,
|
|
6630
6709
|
optionalServicesDirective,
|
|
6710
|
+
issueToolsDirective,
|
|
6631
6711
|
artifactDirective,
|
|
6632
6712
|
longRunningDirective,
|
|
6633
6713
|
renameBranchDirective,
|
|
@@ -6737,6 +6817,7 @@ var Orchestrator = class {
|
|
|
6737
6817
|
coordinatorDirective,
|
|
6738
6818
|
worktreeDirective,
|
|
6739
6819
|
optionalServicesDirective,
|
|
6820
|
+
issueToolsDirective,
|
|
6740
6821
|
artifactDirective,
|
|
6741
6822
|
longRunningDirective,
|
|
6742
6823
|
renameBranchDirective,
|
|
@@ -7791,7 +7872,7 @@ var Orchestrator = class {
|
|
|
7791
7872
|
this.emit({ type: "status_changed", threadId: archived.id, status: "archived" });
|
|
7792
7873
|
if (thread.repoPath && !isGlobalRepoPath(thread.repoPath)) {
|
|
7793
7874
|
try {
|
|
7794
|
-
const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-
|
|
7875
|
+
const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-Q2VCHIAS.js");
|
|
7795
7876
|
await ensureWorkspace2(thread.repoPath);
|
|
7796
7877
|
} catch {
|
|
7797
7878
|
}
|