@sideboard-ai/core 0.1.191 → 0.1.193
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-JFMBCSIQ.js → abletime-QHKWGTBY.js} +4 -3
- package/dist/{abletime-53T7G667.js → abletime-UX53JTIH.js} +4 -3
- package/dist/agents/cursor-runner.js +4 -4
- package/dist/{agents-DTPVTDB5.js → agents-MN4GSQTL.js} +19 -17
- package/dist/{agents-5OBZETUV.js → agents-OK5VD25T.js} +10 -8
- package/dist/{app-settings-663VQWUV.js → app-settings-LO7UFHQ6.js} +5 -2
- package/dist/{app-settings-74HBAAH7.js → app-settings-QYLNKRK4.js} +5 -2
- package/dist/branch-prefix-7F37FIPX.js +10 -0
- package/dist/branch-prefix-EVW2KHGQ.js +12 -0
- package/dist/{caffeinate-hold-SK2QISPE.js → caffeinate-hold-22VFDPSO.js} +2 -2
- package/dist/{caffeinate-hold-DBKMRZZO.js → caffeinate-hold-OK4JJ5PP.js} +2 -2
- package/dist/{chunk-GPSIZGEZ.js → chunk-3DX2T2KR.js} +181 -172
- package/dist/{chunk-HVIEYTUK.js → chunk-3OHR73VK.js} +1 -1
- package/dist/{chunk-VIODP5PT.js → chunk-4OVCJPVI.js} +13 -11
- package/dist/{chunk-UBQIELFS.js → chunk-4QJRH5DL.js} +1 -1
- package/dist/{chunk-AO35MGOE.js → chunk-4TYXWPAJ.js} +1 -1
- package/dist/chunk-64QSHOKV.js +869 -0
- package/dist/{chunk-FY64F2ZQ.js → chunk-7AJ7OZZF.js} +4 -4
- package/dist/{chunk-WLPXZFRE.js → chunk-7J72QJOM.js} +1 -1
- package/dist/chunk-7SNJMKD6.js +20 -0
- package/dist/{chunk-WXKXSZN4.js → chunk-BIKCWYRP.js} +16 -873
- package/dist/{chunk-J7LQVLFQ.js → chunk-BWRS6GAS.js} +19 -1
- package/dist/{chunk-GOZ6T3AG.js → chunk-CJFBSQIB.js} +1 -1
- package/dist/{chunk-GBWKMWUQ.js → chunk-EBPBGQ4P.js} +13 -13
- package/dist/{chunk-JTJHOYCU.js → chunk-EQNRWDLN.js} +10 -4
- package/dist/{chunk-5RRAKGPK.js → chunk-EQXXGOMD.js} +192 -182
- package/dist/{chunk-XXEIF2IL.js → chunk-HIX2VDRE.js} +13 -11
- package/dist/chunk-ILWQT2UN.js +55 -0
- package/dist/chunk-JTWKGOFI.js +23 -0
- package/dist/{chunk-TCQAFTSV.js → chunk-KJBYIIJU.js} +1 -1
- package/dist/{chunk-OKZFTOM2.js → chunk-KORE4WOF.js} +19 -1
- package/dist/{chunk-OLDZXO53.js → chunk-MQC2VA5U.js} +14 -14
- package/dist/{chunk-4M2AK3O5.js → chunk-O4BMPY5Y.js} +1 -1
- package/dist/chunk-PBEPPXMY.js +57 -0
- package/dist/{chunk-IEEAVWAP.js → chunk-PE337IM2.js} +7 -7
- package/dist/chunk-RCWHL4TK.js +866 -0
- package/dist/{chunk-EFVFB2AH.js → chunk-WFUDY6PC.js} +12 -5
- package/dist/{chunk-XBLN52RZ.js → chunk-XPKKCFRT.js} +9 -866
- package/dist/{chunk-OCQPTUR7.js → chunk-YWI3IBP2.js} +1 -1
- package/dist/{connected-teams-WOYCH7FR.js → connected-teams-PU4AMFNA.js} +2 -2
- package/dist/{connected-teams-ON2KIKQX.js → connected-teams-SYQQGCXD.js} +2 -2
- package/dist/{coordinator-prompt-LWKOL3AZ.js → coordinator-prompt-GXJIPWNA.js} +7 -5
- package/dist/{coordinator-prompt-MSC44OOM.js → coordinator-prompt-WB65HIZ3.js} +9 -7
- package/dist/{cursor-recover-NDMLLNYX.js → cursor-recover-DTQAUDGO.js} +2 -2
- package/dist/{cursor-recover-L5MD6MBO.js → cursor-recover-TXVTLAMA.js} +1 -1
- package/dist/github-DWROJOB7.js +11 -0
- package/dist/github-IIF7AQNO.js +9 -0
- package/dist/{global-workspace-6G5JJH2E.js → global-workspace-BZ6V6TEX.js} +7 -5
- package/dist/{global-workspace-XATJTV3N.js → global-workspace-MMK5UFUZ.js} +9 -7
- package/dist/index.cjs +332 -205
- package/dist/index.d.cts +53 -9
- package/dist/index.d.ts +53 -9
- package/dist/index.js +147 -136
- package/dist/mcp/run-stdio.cjs +316 -201
- package/dist/mcp/run-stdio.js +84 -85
- package/dist/{orchestrator-F3CXDBZB.js → orchestrator-4KI6VIFG.js} +16 -12
- package/dist/{orchestrator-2X6LYBQI.js → orchestrator-SFOT6Q6F.js} +15 -11
- package/dist/{paths-RRCLNSJB.js → paths-C2VERLAE.js} +1 -1
- package/dist/{paths-53TLA7VQ.js → paths-LOXCISLX.js} +1 -1
- package/dist/{thread-store-ZL6GDIDP.js → thread-store-CO77HV2K.js} +2 -2
- package/dist/{thread-store-RXXNSRVO.js → thread-store-M4B52FUS.js} +2 -2
- package/dist/{workspaces-LMFCRXTT.js → workspaces-ACMZMKPD.js} +7 -5
- package/dist/{workspaces-FWKPWSXV.js → workspaces-KPJS7GLY.js} +9 -7
- package/dist/{worktree-7LOSSD7G.js → worktree-6IEVF3GN.js} +15 -12
- package/dist/{worktree-LPWTX2NA.js → worktree-UW6DNBIE.js} +20 -17
- package/dist/worktree-labels-3XDS6O3U.js +22 -0
- package/dist/worktree-labels-PEDOJBMD.js +24 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,3 +1,35 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ABLETIME_MCP_PATH,
|
|
3
|
+
ABLETIME_MCP_PM_PATH,
|
|
4
|
+
ABLETIME_PM_TOOL_NAMES,
|
|
5
|
+
DEFAULT_ABLETIME_HOST,
|
|
6
|
+
ableTimeDependencyTarget,
|
|
7
|
+
abletimeMcpRequest,
|
|
8
|
+
abletimeMcpUrl,
|
|
9
|
+
abletimeToolUsesPm,
|
|
10
|
+
callAbleTimeTool,
|
|
11
|
+
commentAbleTimeTask,
|
|
12
|
+
createAbleTimeTask,
|
|
13
|
+
ensureAbleTimeTask,
|
|
14
|
+
getAbleTimeOrientation,
|
|
15
|
+
getAbleTimeTask,
|
|
16
|
+
issueAttachmentForAbleTimeTask,
|
|
17
|
+
listAbleTimeAssignedIssues,
|
|
18
|
+
listAbleTimeProjects,
|
|
19
|
+
listAbleTimeTasks,
|
|
20
|
+
mapAbleTimeTask,
|
|
21
|
+
normalizeAbleTimeHost,
|
|
22
|
+
rewriteAbleTimeError,
|
|
23
|
+
searchAbleTimeTasks,
|
|
24
|
+
taskUrl,
|
|
25
|
+
toAbleTimeIssueInfo,
|
|
26
|
+
updateAbleTimeTask,
|
|
27
|
+
verifyAbleTimeConnection
|
|
28
|
+
} from "./chunk-O4BMPY5Y.js";
|
|
29
|
+
import {
|
|
30
|
+
getGitHubStatus,
|
|
31
|
+
refreshGitHubAuth
|
|
32
|
+
} from "./chunk-ILWQT2UN.js";
|
|
1
33
|
import {
|
|
2
34
|
AGENT_GIT_ACTIONS,
|
|
3
35
|
BOARD_COLUMN_DEFS,
|
|
@@ -197,9 +229,11 @@ import {
|
|
|
197
229
|
resolveCreateFirstPrompt,
|
|
198
230
|
resolveDetachedJobScript,
|
|
199
231
|
resolveFilesToCopy,
|
|
232
|
+
resolveOrchChildFollowUp,
|
|
200
233
|
resolveReviewGuidelines,
|
|
201
234
|
resolveScheduleThreadId,
|
|
202
235
|
resolveSendFollowUp,
|
|
236
|
+
resolveSidebarGitPrompt,
|
|
203
237
|
runArchiveScript,
|
|
204
238
|
runConventionSetup,
|
|
205
239
|
runSetupScript,
|
|
@@ -238,18 +272,7 @@ import {
|
|
|
238
272
|
worktreeCleanupSettings,
|
|
239
273
|
wrapReviewSkillMarkdown,
|
|
240
274
|
writeWorktreeFile
|
|
241
|
-
} from "./chunk-
|
|
242
|
-
import {
|
|
243
|
-
LEGACY_PLAN_FILE_REL,
|
|
244
|
-
PLAN_FILE_NAME,
|
|
245
|
-
PLAN_FILE_REL,
|
|
246
|
-
extractPresentedPlan,
|
|
247
|
-
isPresentPlanToolName,
|
|
248
|
-
planFileAbs,
|
|
249
|
-
readPlanFile,
|
|
250
|
-
resolvePlanMarkdown,
|
|
251
|
-
writePlanFile
|
|
252
|
-
} from "./chunk-DJU54RYW.js";
|
|
275
|
+
} from "./chunk-EQXXGOMD.js";
|
|
253
276
|
import {
|
|
254
277
|
BRIGHTSY_MCP_ALLOWED_TOOLS,
|
|
255
278
|
CLAUDE_MODEL_CATALOG,
|
|
@@ -344,7 +367,18 @@ import {
|
|
|
344
367
|
withEventParentId,
|
|
345
368
|
withEventsParentId,
|
|
346
369
|
writeInjectedMcpConfig
|
|
347
|
-
} from "./chunk-
|
|
370
|
+
} from "./chunk-MQC2VA5U.js";
|
|
371
|
+
import {
|
|
372
|
+
LEGACY_PLAN_FILE_REL,
|
|
373
|
+
PLAN_FILE_NAME,
|
|
374
|
+
PLAN_FILE_REL,
|
|
375
|
+
extractPresentedPlan,
|
|
376
|
+
isPresentPlanToolName,
|
|
377
|
+
planFileAbs,
|
|
378
|
+
readPlanFile,
|
|
379
|
+
resolvePlanMarkdown,
|
|
380
|
+
writePlanFile
|
|
381
|
+
} from "./chunk-DJU54RYW.js";
|
|
348
382
|
import {
|
|
349
383
|
CLOUD_COORDINATOR_BUSY_REPLY,
|
|
350
384
|
CLOUD_COORDINATOR_STOPPED_REPLY,
|
|
@@ -387,18 +421,15 @@ import {
|
|
|
387
421
|
stageBuffersAsAttachments,
|
|
388
422
|
syncWorkspacesFromThreads,
|
|
389
423
|
takenTeamSlugsForOrchestration
|
|
390
|
-
} from "./chunk-
|
|
424
|
+
} from "./chunk-4OVCJPVI.js";
|
|
391
425
|
import {
|
|
392
|
-
FAMOUS_SOCCER_TEAMS,
|
|
393
426
|
GITHUB_PR_BODY_MAX_CHARS,
|
|
394
427
|
GITHUB_PR_BODY_SAFE_CHARS,
|
|
395
428
|
PR_DETAILS_JSON_FIELDS,
|
|
396
429
|
addPrStackLayer,
|
|
397
|
-
allocateTeamName,
|
|
398
430
|
allocateTeamSlug,
|
|
399
431
|
appendIndexedGitConfig,
|
|
400
432
|
applyGithubGitAuthEnv,
|
|
401
|
-
branchDisplayLabel,
|
|
402
433
|
canonicalizeRepoPath,
|
|
403
434
|
checkoutPrStackLayer,
|
|
404
435
|
clampGithubPrBody,
|
|
@@ -439,19 +470,16 @@ import {
|
|
|
439
470
|
isGhPrBodyTooLongError,
|
|
440
471
|
isGhRateLimitError,
|
|
441
472
|
isInPrStack,
|
|
442
|
-
isPlaceholderBranch,
|
|
443
473
|
isPrNotMergeableError,
|
|
444
474
|
isSideboardScratchPath,
|
|
445
475
|
listBranches,
|
|
446
476
|
listPrs,
|
|
447
477
|
listWorktrees,
|
|
448
|
-
lookupSoccerTeam,
|
|
449
478
|
markPrReady,
|
|
450
479
|
mergeAgentGitAuthEnv,
|
|
451
480
|
mergePr,
|
|
452
481
|
mergePrStack,
|
|
453
482
|
nonInteractiveGitProcessEnv,
|
|
454
|
-
normalizeWorktreePath,
|
|
455
483
|
originFetchBranch,
|
|
456
484
|
originGhRepoEnv,
|
|
457
485
|
parseGhStackViewJson,
|
|
@@ -477,14 +505,8 @@ import {
|
|
|
477
505
|
stackMergeReadiness,
|
|
478
506
|
submitPrStack,
|
|
479
507
|
suggestSlug,
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
warmGithubAgentAuth,
|
|
483
|
-
worktreeDisplayLabel,
|
|
484
|
-
worktreeDisplayLabelForGroup,
|
|
485
|
-
worktreeNameFromPath,
|
|
486
|
-
worktreeSlugForTicket
|
|
487
|
-
} from "./chunk-WXKXSZN4.js";
|
|
508
|
+
warmGithubAgentAuth
|
|
509
|
+
} from "./chunk-BIKCWYRP.js";
|
|
488
510
|
import {
|
|
489
511
|
ATTACHMENTS_DIR,
|
|
490
512
|
CLI_DIR,
|
|
@@ -494,6 +516,7 @@ import {
|
|
|
494
516
|
attachmentsGitignoreBody,
|
|
495
517
|
isWorkspaceScratchPath
|
|
496
518
|
} from "./chunk-6K64FJDD.js";
|
|
519
|
+
import "./chunk-QQKDGPUI.js";
|
|
497
520
|
import {
|
|
498
521
|
brightsyMcpServerName,
|
|
499
522
|
connectBrightsyTeam,
|
|
@@ -503,7 +526,7 @@ import {
|
|
|
503
526
|
listBrightsyAccounts,
|
|
504
527
|
listConnectedBrightsyTeams,
|
|
505
528
|
switchBrightsyAccount
|
|
506
|
-
} from "./chunk-
|
|
529
|
+
} from "./chunk-PE337IM2.js";
|
|
507
530
|
import {
|
|
508
531
|
brightsyAccessTokenNeedsRefresh,
|
|
509
532
|
brightsyConfigPath,
|
|
@@ -512,34 +535,6 @@ import {
|
|
|
512
535
|
refreshBrightsyAccessToken,
|
|
513
536
|
saveBrightsyConfig
|
|
514
537
|
} from "./chunk-AN3THU7F.js";
|
|
515
|
-
import {
|
|
516
|
-
ABLETIME_MCP_PATH,
|
|
517
|
-
ABLETIME_MCP_PM_PATH,
|
|
518
|
-
ABLETIME_PM_TOOL_NAMES,
|
|
519
|
-
DEFAULT_ABLETIME_HOST,
|
|
520
|
-
ableTimeDependencyTarget,
|
|
521
|
-
abletimeMcpRequest,
|
|
522
|
-
abletimeMcpUrl,
|
|
523
|
-
abletimeToolUsesPm,
|
|
524
|
-
callAbleTimeTool,
|
|
525
|
-
commentAbleTimeTask,
|
|
526
|
-
createAbleTimeTask,
|
|
527
|
-
ensureAbleTimeTask,
|
|
528
|
-
getAbleTimeOrientation,
|
|
529
|
-
getAbleTimeTask,
|
|
530
|
-
issueAttachmentForAbleTimeTask,
|
|
531
|
-
listAbleTimeAssignedIssues,
|
|
532
|
-
listAbleTimeProjects,
|
|
533
|
-
listAbleTimeTasks,
|
|
534
|
-
mapAbleTimeTask,
|
|
535
|
-
normalizeAbleTimeHost,
|
|
536
|
-
rewriteAbleTimeError,
|
|
537
|
-
searchAbleTimeTasks,
|
|
538
|
-
taskUrl,
|
|
539
|
-
toAbleTimeIssueInfo,
|
|
540
|
-
updateAbleTimeTask,
|
|
541
|
-
verifyAbleTimeConnection
|
|
542
|
-
} from "./chunk-4M2AK3O5.js";
|
|
543
538
|
import {
|
|
544
539
|
formatFetchError,
|
|
545
540
|
httpFetch,
|
|
@@ -557,7 +552,21 @@ import {
|
|
|
557
552
|
trustSystemCertificates,
|
|
558
553
|
turnCostUsdFromCursorUsage,
|
|
559
554
|
withMaxOldSpaceSize
|
|
560
|
-
} from "./chunk-
|
|
555
|
+
} from "./chunk-7AJ7OZZF.js";
|
|
556
|
+
import {
|
|
557
|
+
conductorBundledBinDir,
|
|
558
|
+
enrichPathWithNpmGlobalBin,
|
|
559
|
+
ensureAgentPath,
|
|
560
|
+
gh,
|
|
561
|
+
git,
|
|
562
|
+
isConductorBundledCli,
|
|
563
|
+
posixShellSingleQuote,
|
|
564
|
+
resolveCommandBinarySync,
|
|
565
|
+
resolveGhAuthToken,
|
|
566
|
+
resolveGitDirsForLockRecovery,
|
|
567
|
+
run,
|
|
568
|
+
withExportedPath
|
|
569
|
+
} from "./chunk-UFHNSFAS.js";
|
|
561
570
|
import {
|
|
562
571
|
FOLLOW_UP_BEHAVIORS,
|
|
563
572
|
GITHUB_GIT_AUTH_MODES,
|
|
@@ -607,6 +616,7 @@ import {
|
|
|
607
616
|
getGithubPat,
|
|
608
617
|
getIssueSource,
|
|
609
618
|
getLinearApiKey,
|
|
619
|
+
gitBranchPrefixSetting,
|
|
610
620
|
harnessEnvKey,
|
|
611
621
|
isAbleTimeConnected,
|
|
612
622
|
isIssueSourceConnected,
|
|
@@ -652,17 +662,22 @@ import {
|
|
|
652
662
|
updateOpencodeSettings,
|
|
653
663
|
updateProjectProfileSettings,
|
|
654
664
|
writeViewerContext
|
|
655
|
-
} from "./chunk-
|
|
665
|
+
} from "./chunk-BWRS6GAS.js";
|
|
656
666
|
import {
|
|
657
667
|
stripNestedElectronEnv
|
|
658
668
|
} from "./chunk-4TR3HZFT.js";
|
|
669
|
+
import {
|
|
670
|
+
examplePrefixedBranch,
|
|
671
|
+
resolveGitBranchPrefix,
|
|
672
|
+
sanitizeGitBranchPrefix
|
|
673
|
+
} from "./chunk-7SNJMKD6.js";
|
|
659
674
|
import {
|
|
660
675
|
caffeinateHoldPath,
|
|
661
676
|
getCaffeinateHold,
|
|
662
677
|
isThreadCaffeinated,
|
|
663
678
|
releaseCaffeinateHoldForThread,
|
|
664
679
|
setCaffeinateHold
|
|
665
|
-
} from "./chunk-
|
|
680
|
+
} from "./chunk-4TYXWPAJ.js";
|
|
666
681
|
import "./chunk-JT7R45JB.js";
|
|
667
682
|
import {
|
|
668
683
|
appendMessage,
|
|
@@ -679,7 +694,7 @@ import {
|
|
|
679
694
|
updateThread,
|
|
680
695
|
withThreadLock,
|
|
681
696
|
writeThread
|
|
682
|
-
} from "./chunk-
|
|
697
|
+
} from "./chunk-KJBYIIJU.js";
|
|
683
698
|
import {
|
|
684
699
|
THINKING_EFFORTS,
|
|
685
700
|
isThinkingEffort,
|
|
@@ -715,69 +730,21 @@ import {
|
|
|
715
730
|
threadsDir,
|
|
716
731
|
workspaceSettingsSourceLabel,
|
|
717
732
|
worktreesRoot
|
|
718
|
-
} from "./chunk-
|
|
719
|
-
import "./chunk-QQKDGPUI.js";
|
|
733
|
+
} from "./chunk-WFUDY6PC.js";
|
|
720
734
|
import {
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
} from "./chunk-
|
|
734
|
-
|
|
735
|
-
// src/integrations/github.ts
|
|
736
|
-
async function getGitHubStatus() {
|
|
737
|
-
const which = await run("which", ["gh"], { reject: false });
|
|
738
|
-
if (which.exitCode !== 0 || !which.stdout.trim()) {
|
|
739
|
-
return {
|
|
740
|
-
connected: false,
|
|
741
|
-
login: null,
|
|
742
|
-
hosts: [],
|
|
743
|
-
reason: "gh CLI not found on PATH"
|
|
744
|
-
};
|
|
745
|
-
}
|
|
746
|
-
const loginResult = await run(
|
|
747
|
-
"gh",
|
|
748
|
-
["api", "user", "--jq", ".login"],
|
|
749
|
-
{ reject: false }
|
|
750
|
-
);
|
|
751
|
-
if (loginResult.exitCode === 0 && loginResult.stdout.trim()) {
|
|
752
|
-
return {
|
|
753
|
-
connected: true,
|
|
754
|
-
login: loginResult.stdout.trim(),
|
|
755
|
-
hosts: ["github.com"],
|
|
756
|
-
reason: null
|
|
757
|
-
};
|
|
758
|
-
}
|
|
759
|
-
const status = await run("gh", ["auth", "status"], { reject: false });
|
|
760
|
-
const text7 = `${status.stdout}
|
|
761
|
-
${status.stderr}`;
|
|
762
|
-
const loginMatch = text7.match(/Logged in to ([^\s]+) account (\S+)/i) ?? text7.match(/Logged in to ([^\s]+) as (\S+)/i);
|
|
763
|
-
if (loginMatch) {
|
|
764
|
-
return {
|
|
765
|
-
connected: true,
|
|
766
|
-
login: loginMatch[2].replace(/['"]/g, ""),
|
|
767
|
-
hosts: [loginMatch[1]],
|
|
768
|
-
reason: null
|
|
769
|
-
};
|
|
770
|
-
}
|
|
771
|
-
return {
|
|
772
|
-
connected: false,
|
|
773
|
-
login: null,
|
|
774
|
-
hosts: [],
|
|
775
|
-
reason: status.stderr.trim() || status.stdout.trim() || "Not logged in to GitHub (run: gh auth login)"
|
|
776
|
-
};
|
|
777
|
-
}
|
|
778
|
-
async function refreshGitHubAuth() {
|
|
779
|
-
return getGitHubStatus();
|
|
780
|
-
}
|
|
735
|
+
FAMOUS_SOCCER_TEAMS,
|
|
736
|
+
allocateTeamName,
|
|
737
|
+
branchDisplayLabel,
|
|
738
|
+
isPlaceholderBranch,
|
|
739
|
+
lookupSoccerTeam,
|
|
740
|
+
normalizeWorktreePath,
|
|
741
|
+
threadDisplayLabel,
|
|
742
|
+
ticketSlugForBranch,
|
|
743
|
+
worktreeDisplayLabel,
|
|
744
|
+
worktreeDisplayLabelForGroup,
|
|
745
|
+
worktreeNameFromPath,
|
|
746
|
+
worktreeSlugForTicket
|
|
747
|
+
} from "./chunk-RCWHL4TK.js";
|
|
781
748
|
|
|
782
749
|
// src/integrations/issue-since.ts
|
|
783
750
|
var ISSUE_SINCE_ERROR = "updatedSince must be an ISO datetime, YYYY-MM-DD, or relative time (yesterday, 2d, 3 hours ago)";
|
|
@@ -1297,6 +1264,16 @@ query SideboardLabels($first: Int!) {
|
|
|
1297
1264
|
}
|
|
1298
1265
|
}
|
|
1299
1266
|
`;
|
|
1267
|
+
var TEAM_LABELS_QUERY = `
|
|
1268
|
+
query SideboardTeamLabels($id: String!, $first: Int!, $after: String) {
|
|
1269
|
+
team(id: $id) {
|
|
1270
|
+
labels(first: $first, after: $after) {
|
|
1271
|
+
nodes { id name }
|
|
1272
|
+
pageInfo { hasNextPage endCursor }
|
|
1273
|
+
}
|
|
1274
|
+
}
|
|
1275
|
+
}
|
|
1276
|
+
`;
|
|
1300
1277
|
var PROJECTS_QUERY = `
|
|
1301
1278
|
query SideboardProjects($first: Int!, $filter: ProjectFilter) {
|
|
1302
1279
|
projects(first: $first, filter: $filter) {
|
|
@@ -1670,15 +1647,38 @@ function formatRelationList(relations) {
|
|
|
1670
1647
|
if (!relations.length) return "(none)";
|
|
1671
1648
|
return relations.map((r) => `${r.type} ${r.issue.identifier || r.issue.id}`).join(", ");
|
|
1672
1649
|
}
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
return (json.issueLabels?.nodes ?? []).flatMap((node) => {
|
|
1650
|
+
function mapLabelNodes(nodes) {
|
|
1651
|
+
return (nodes ?? []).flatMap((node) => {
|
|
1676
1652
|
const id = String(node.id ?? "").trim();
|
|
1677
1653
|
const name = String(node.name ?? "").trim();
|
|
1678
1654
|
if (!id) return [];
|
|
1679
1655
|
return [{ id, name }];
|
|
1680
1656
|
});
|
|
1681
1657
|
}
|
|
1658
|
+
async function listLinearWorkspaceLabels(opts) {
|
|
1659
|
+
const json = await linearGraphql(LABELS_QUERY, { first: 250 }, opts);
|
|
1660
|
+
return mapLabelNodes(json.issueLabels?.nodes);
|
|
1661
|
+
}
|
|
1662
|
+
async function listLinearLabels(opts) {
|
|
1663
|
+
const teamId = opts?.teamId?.trim();
|
|
1664
|
+
if (teamId) {
|
|
1665
|
+
const out = [];
|
|
1666
|
+
let after;
|
|
1667
|
+
for (let page = 0; page < 4; page++) {
|
|
1668
|
+
const json = await linearGraphql(
|
|
1669
|
+
TEAM_LABELS_QUERY,
|
|
1670
|
+
after ? { id: teamId, first: 250, after } : { id: teamId, first: 250 },
|
|
1671
|
+
opts
|
|
1672
|
+
);
|
|
1673
|
+
const conn = json.team?.labels;
|
|
1674
|
+
out.push(...mapLabelNodes(conn?.nodes));
|
|
1675
|
+
if (!conn?.pageInfo?.hasNextPage || !conn.pageInfo.endCursor) break;
|
|
1676
|
+
after = conn.pageInfo.endCursor;
|
|
1677
|
+
}
|
|
1678
|
+
if (out.length) return out;
|
|
1679
|
+
}
|
|
1680
|
+
return listLinearWorkspaceLabels(opts);
|
|
1681
|
+
}
|
|
1682
1682
|
async function listLinearProjects(filter, opts) {
|
|
1683
1683
|
const json = await linearGraphql(PROJECTS_QUERY, { first: 50, filter: filter ?? {} }, opts);
|
|
1684
1684
|
return (json.projects?.nodes ?? []).flatMap((node) => {
|
|
@@ -1973,7 +1973,7 @@ async function updateLinearIssue(input, opts) {
|
|
|
1973
1973
|
}
|
|
1974
1974
|
const addRelations = input.relations?.length ? input.relations : void 0;
|
|
1975
1975
|
const removeRelations = input.removeRelations?.length ? input.removeRelations : void 0;
|
|
1976
|
-
const needsIssue = Boolean(input.state?.trim()) || input.cycle !== void 0 || Boolean(addRelations) || Boolean(removeRelations);
|
|
1976
|
+
const needsIssue = Boolean(input.state?.trim()) || input.cycle !== void 0 || input.labels !== void 0 || Boolean(addRelations) || Boolean(removeRelations);
|
|
1977
1977
|
const existing = needsIssue ? await getLinearIssue(issueId, opts) : void 0;
|
|
1978
1978
|
if (input.state?.trim()) {
|
|
1979
1979
|
const { teams } = await listLinearTeams(opts);
|
|
@@ -2008,7 +2008,10 @@ async function updateLinearIssue(input, opts) {
|
|
|
2008
2008
|
mutationInput.priority = normalizePriority(input.priority);
|
|
2009
2009
|
}
|
|
2010
2010
|
if (input.labels !== void 0) {
|
|
2011
|
-
mutationInput.labelIds = await resolveLinearLabelIds(input.labels,
|
|
2011
|
+
mutationInput.labelIds = await resolveLinearLabelIds(input.labels, {
|
|
2012
|
+
...opts,
|
|
2013
|
+
teamId: existing?.team?.id
|
|
2014
|
+
});
|
|
2012
2015
|
}
|
|
2013
2016
|
if (input.project !== void 0) {
|
|
2014
2017
|
mutationInput.projectId = await resolveLinearProjectId(input.project, opts);
|
|
@@ -2312,7 +2315,7 @@ function parseProjectTitles(raw) {
|
|
|
2312
2315
|
}
|
|
2313
2316
|
async function listGitHubIssueProjects(number, cwd, repoArgs) {
|
|
2314
2317
|
const result = await gh(
|
|
2315
|
-
["issue", "view", String(number), ...repoArgs, "--json", "projectItems
|
|
2318
|
+
["issue", "view", String(number), ...repoArgs, "--json", "projectItems"],
|
|
2316
2319
|
cwd,
|
|
2317
2320
|
{ reject: false }
|
|
2318
2321
|
);
|
|
@@ -5061,7 +5064,7 @@ async function startMcpServer() {
|
|
|
5061
5064
|
);
|
|
5062
5065
|
}
|
|
5063
5066
|
try {
|
|
5064
|
-
const { maxConcurrentAgents: maxConcurrentAgents2 } = await import("./app-settings-
|
|
5067
|
+
const { maxConcurrentAgents: maxConcurrentAgents2 } = await import("./app-settings-LO7UFHQ6.js");
|
|
5065
5068
|
orch.setMaxConcurrent(maxConcurrentAgents2());
|
|
5066
5069
|
} catch {
|
|
5067
5070
|
}
|
|
@@ -5375,8 +5378,8 @@ async function startMcpServer() {
|
|
|
5375
5378
|
registerSlackTools(server);
|
|
5376
5379
|
registerConnectedIssueVendorTools(server);
|
|
5377
5380
|
registerScheduleTools(server);
|
|
5378
|
-
const { getCaffeinateHold: getCaffeinateHold2, setCaffeinateHold: setCaffeinateHold2 } = await import("./caffeinate-hold-
|
|
5379
|
-
const { resolveNewThreadOptions: resolveNewThreadOptions2, resolveThreadDefaults: resolveThreadDefaults2 } = await import("./app-settings-
|
|
5381
|
+
const { getCaffeinateHold: getCaffeinateHold2, setCaffeinateHold: setCaffeinateHold2 } = await import("./caffeinate-hold-22VFDPSO.js");
|
|
5382
|
+
const { resolveNewThreadOptions: resolveNewThreadOptions2, resolveThreadDefaults: resolveThreadDefaults2 } = await import("./app-settings-LO7UFHQ6.js");
|
|
5380
5383
|
const accountDefaults = resolveThreadDefaults2();
|
|
5381
5384
|
const accountDefaultsHint = `Account defaults: agent=${accountDefaults.agent}, model=${accountDefaults.model?.trim() || "Auto"}, effort=${accountDefaults.effort}`;
|
|
5382
5385
|
server.tool(
|
|
@@ -5536,7 +5539,7 @@ async function startMcpServer() {
|
|
|
5536
5539
|
);
|
|
5537
5540
|
server.tool(
|
|
5538
5541
|
"send_to_thread",
|
|
5539
|
-
'
|
|
5542
|
+
'Steer a prompt on a worktree thread chat (Settings \u2192 Follow-up, default steer: interrupt and start now, skip the inbox). Use after create_thread to start or continue a conversation. For commit/push/PR, prefer ask_git (canonical desktop-button phrases). Send "Merge PR." / ask_git merge only when the user explicitly asked to merge. force_stop=true kills the in-flight turn and clears the queue before this prompt \u2014 only when the current request is wrong and must be replaced. Do not send_to_thread to check in, resume after a halt notice, or because wait_for_turn returned stillRunning; that interrupts the child mid-thought. Call wait_for_turn again instead.',
|
|
5540
5543
|
{
|
|
5541
5544
|
ref: z9.string(),
|
|
5542
5545
|
prompt: z9.string(),
|
|
@@ -5549,7 +5552,9 @@ async function startMcpServer() {
|
|
|
5549
5552
|
orch.stop(ref, { clearQueue: true, notifyParent: false });
|
|
5550
5553
|
}
|
|
5551
5554
|
}
|
|
5552
|
-
const thread = await orch.send(ref, prompt
|
|
5555
|
+
const thread = await orch.send(ref, prompt, {
|
|
5556
|
+
followUp: resolveOrchChildFollowUp()
|
|
5557
|
+
});
|
|
5553
5558
|
return mcpJson({
|
|
5554
5559
|
id: thread.id,
|
|
5555
5560
|
status: thread.status,
|
|
@@ -5560,7 +5565,7 @@ async function startMcpServer() {
|
|
|
5560
5565
|
);
|
|
5561
5566
|
server.tool(
|
|
5562
5567
|
"wait_for_turn",
|
|
5563
|
-
"Wait until the thread finishes its current/queued turn, or return early with a live progress snapshot. MCP clients often kill tools around 60s, so this returns within 45s even while the child is still working. stillRunning is the source of truth \u2014 if false, the child is not working (do not say it is waiting for a gate). If stillRunning is true, progress is tools/thinking (or \u201Cqueued, waiting for a concurrency slot\u201D if it has not started). Call wait_for_turn again. Do not
|
|
5568
|
+
"Wait until the thread finishes its current/queued turn, or return early with a live progress snapshot. MCP clients often kill tools around 60s, so this returns within 45s even while the child is still working. stillRunning is the source of truth \u2014 if false, the child is not working (do not say it is waiting for a gate). If stillRunning is true, progress is tools/thinking (or \u201Cqueued, waiting for a concurrency slot\u201D if it has not started). Call wait_for_turn again. Do not send_to_thread a check-in (that steers / interrupts), force_stop, or assume a hang. On status error, lastError/text is the failure. On status stopped or broken, the child did not finish \u2014 resume with send_to_thread or tell the user; do not treat that as success. When finished, usage is the last agent turn\u2019s tokens + costUsd (when the provider reported cost).",
|
|
5564
5569
|
{
|
|
5565
5570
|
ref: z9.string(),
|
|
5566
5571
|
timeoutMs: z9.number().optional()
|
|
@@ -5717,7 +5722,7 @@ async function startMcpServer() {
|
|
|
5717
5722
|
);
|
|
5718
5723
|
server.tool(
|
|
5719
5724
|
"ask_git",
|
|
5720
|
-
"Commit & push, open a draft PR, mark ready for review, resolve conflicts, or merge \u2014 same
|
|
5725
|
+
"Commit & push, open a draft PR, mark ready for review, resolve conflicts, or merge \u2014 same prompts as the desktop git buttons (including Resolve). Always steers the worktree agent; does not push or open the PR locally. Then wait_for_turn (loop while stillRunning). Do not start a checks loop on a plain push \u2014 only if the user gave a goal (Greptile 5/5, CI green). Pass a worktree thread ref (not the orchestrator). action=ready-for-review and action=merge only when the user explicitly asked (or clicked the desktop button). Do not run git or gh from the orchestration cwd.",
|
|
5721
5726
|
{
|
|
5722
5727
|
ref: z9.string().describe("Worktree thread id/ref"),
|
|
5723
5728
|
action: z9.enum(AGENT_GIT_ACTIONS).describe(
|
|
@@ -8592,6 +8597,7 @@ export {
|
|
|
8592
8597
|
estimateMessageChars,
|
|
8593
8598
|
estimateOccupancyTokens,
|
|
8594
8599
|
estimateThreadChars,
|
|
8600
|
+
examplePrefixedBranch,
|
|
8595
8601
|
expandComposerPrompt,
|
|
8596
8602
|
extractBrightsyContextSummary,
|
|
8597
8603
|
extractGhErrorDetail,
|
|
@@ -8704,6 +8710,7 @@ export {
|
|
|
8704
8710
|
ghHeadRef,
|
|
8705
8711
|
ghRepoSelectArgs,
|
|
8706
8712
|
git,
|
|
8713
|
+
gitBranchPrefixSetting,
|
|
8707
8714
|
githubAgentGitEnv,
|
|
8708
8715
|
githubHttpsInsteadOfEntries,
|
|
8709
8716
|
githubRelationEditFlag,
|
|
@@ -8952,6 +8959,7 @@ export {
|
|
|
8952
8959
|
resolveEffectiveIssueSource,
|
|
8953
8960
|
resolveFilesToCopy,
|
|
8954
8961
|
resolveGhAuthToken,
|
|
8962
|
+
resolveGitBranchPrefix,
|
|
8955
8963
|
resolveGitDirsForLockRecovery,
|
|
8956
8964
|
resolveGitHubIssueRepo,
|
|
8957
8965
|
resolveGithubAgentToken,
|
|
@@ -8964,6 +8972,7 @@ export {
|
|
|
8964
8972
|
resolveLoginCommand,
|
|
8965
8973
|
resolveNewOrchestratorOptions,
|
|
8966
8974
|
resolveNewThreadOptions,
|
|
8975
|
+
resolveOrchChildFollowUp,
|
|
8967
8976
|
resolveOrchestratorDefaults,
|
|
8968
8977
|
resolvePlanMarkdown,
|
|
8969
8978
|
resolvePrSelector,
|
|
@@ -8973,6 +8982,7 @@ export {
|
|
|
8973
8982
|
resolveReviewGuidelines,
|
|
8974
8983
|
resolveScheduleThreadId,
|
|
8975
8984
|
resolveSendFollowUp,
|
|
8985
|
+
resolveSidebarGitPrompt,
|
|
8976
8986
|
resolveSlackListenMode,
|
|
8977
8987
|
resolveThreadDefaults,
|
|
8978
8988
|
resolveThreadEffort,
|
|
@@ -8992,6 +9002,7 @@ export {
|
|
|
8992
9002
|
runSlackRelayClient,
|
|
8993
9003
|
runWorkspaceSetup,
|
|
8994
9004
|
sameWorktreePath,
|
|
9005
|
+
sanitizeGitBranchPrefix,
|
|
8995
9006
|
sanitizeMcpServerName,
|
|
8996
9007
|
saveAbleTimeConnection,
|
|
8997
9008
|
saveAppSettings,
|