@sideboard-ai/core 0.1.319 → 0.1.321
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-L3ODNTBT.js → abletime-CRRLEYTE.js} +4 -4
- package/dist/{abletime-DVYO4IVS.js → abletime-ICW6Q2AB.js} +4 -4
- package/dist/{abletime-oauth-2VWQCXGT.js → abletime-oauth-P3KPPJE4.js} +3 -3
- package/dist/{abletime-oauth-6DTX7LB7.js → abletime-oauth-Q76XBSPG.js} +3 -3
- package/dist/{abletime-rest-PYQM234B.js → abletime-rest-DNFAYYLP.js} +3 -3
- package/dist/{abletime-rest-7NICZYOC.js → abletime-rest-DQ3PNKXP.js} +3 -3
- package/dist/agents/cursor-runner.js +2 -2
- package/dist/{agents-KABJUDPI.js → agents-PFVYC36J.js} +10 -10
- package/dist/{agents-2AR7I6B6.js → agents-ROFDNE7Z.js} +11 -11
- package/dist/{app-settings-CZVFMOI5.js → app-settings-KMPVI2B7.js} +1 -1
- package/dist/{app-settings-V6YPYY57.js → app-settings-P3H4SEIK.js} +1 -1
- package/dist/{chunk-QVN2WOKJ.js → chunk-2TUE6JKQ.js} +12 -0
- package/dist/{chunk-OO3R6CS2.js → chunk-45UB2J47.js} +537 -90
- package/dist/{chunk-DD67JWTN.js → chunk-4YXZOXMT.js} +1 -1
- package/dist/{chunk-5OM7UCTQ.js → chunk-56M6VEXI.js} +3 -3
- package/dist/{chunk-ZM43NTJJ.js → chunk-5OQONGHO.js} +5 -5
- package/dist/{chunk-V5BTGQ6M.js → chunk-6U6QRUHY.js} +1 -1
- package/dist/{chunk-QPLQXWND.js → chunk-72PUPPV2.js} +3 -3
- package/dist/{chunk-53OCOGND.js → chunk-7JV5QP5K.js} +3 -3
- package/dist/{chunk-HOLB6ZFZ.js → chunk-B4CDSSRN.js} +2 -0
- package/dist/{chunk-ST2UQBJT.js → chunk-BANN5HUX.js} +8 -8
- package/dist/{chunk-AESO2KJS.js → chunk-BPDVHB4U.js} +3 -3
- package/dist/{chunk-WLZHRNE6.js → chunk-BTIXTH4N.js} +3 -3
- package/dist/{chunk-AUJ4XB6H.js → chunk-DFUXW2IT.js} +2 -2
- package/dist/{chunk-I5TESHDN.js → chunk-EQ52JR3Q.js} +5 -5
- package/dist/{chunk-E52SQENB.js → chunk-FZKAAAEB.js} +3 -1
- package/dist/{chunk-YALFZKSC.js → chunk-H6GXYV5Q.js} +23 -20
- package/dist/{chunk-JD7CC6SW.js → chunk-HHPTGIKS.js} +2 -2
- package/dist/{chunk-GCHSJCCX.js → chunk-IFU4W4C4.js} +3 -1
- package/dist/{chunk-YEIHCSZS.js → chunk-IFWGG2M2.js} +9 -0
- package/dist/{chunk-IAPO7ZFG.js → chunk-JNEFEA2A.js} +8 -8
- package/dist/{chunk-U2N32EA6.js → chunk-LD2DXHBP.js} +543 -92
- package/dist/{chunk-7Q327QF2.js → chunk-QIC2JXHW.js} +5 -5
- package/dist/{chunk-2P4XKWV2.js → chunk-QKHEVSB5.js} +1 -1
- package/dist/{chunk-NRSC4N5X.js → chunk-RGUZPMTF.js} +8 -8
- package/dist/{chunk-AZ4GEEGL.js → chunk-RHJKZOPQ.js} +3 -3
- package/dist/{chunk-HH3VVTEC.js → chunk-S5CJUIPY.js} +5 -5
- package/dist/{chunk-A6C67DY5.js → chunk-SPMIZSKH.js} +16 -13
- package/dist/{chunk-FDXHNROD.js → chunk-TEFFR6PB.js} +2 -2
- package/dist/{chunk-TUJFCJJU.js → chunk-UWJUARFA.js} +546 -187
- package/dist/{chunk-MBYGWNLQ.js → chunk-UX6EDDGR.js} +1 -1
- package/dist/{chunk-LXBZQP2Q.js → chunk-V76MQ7MH.js} +5 -5
- package/dist/{chunk-GH7UMULC.js → chunk-XDQSHSL6.js} +8 -8
- package/dist/{chunk-2UG25RMK.js → chunk-YBTSZ2SW.js} +12 -0
- package/dist/{chunk-A46CIARU.js → chunk-YWBLQBSN.js} +549 -188
- package/dist/{chunk-Y3Y7SZBZ.js → chunk-ZHGMRBSC.js} +1 -1
- package/dist/{conductor-MG2RAQNT.js → conductor-CNT3VL3S.js} +8 -8
- package/dist/{conductor-NIUBJLTS.js → conductor-XLXJU24U.js} +8 -8
- package/dist/{connected-teams-IHK2WXUI.js → connected-teams-H4LZOJDC.js} +2 -2
- package/dist/{connected-teams-IFW3NQ6G.js → connected-teams-XYRZMQO4.js} +2 -2
- package/dist/{coordinator-prompt-X74F3JIC.js → coordinator-prompt-D5EE2YTV.js} +6 -6
- package/dist/{coordinator-prompt-3CT3D5UM.js → coordinator-prompt-TU24TQ4I.js} +6 -6
- package/dist/{global-workspace-BUWMRNW5.js → global-workspace-743TPQNF.js} +6 -6
- package/dist/{global-workspace-FTNJEML3.js → global-workspace-UPMXDQM7.js} +6 -6
- package/dist/index.cjs +2160 -867
- package/dist/index.d.cts +211 -74
- package/dist/index.d.ts +211 -74
- package/dist/index.js +496 -78
- package/dist/mcp/run-stdio.cjs +1377 -478
- package/dist/mcp/run-stdio.js +80 -32
- package/dist/{optional-cli-6GGESWGE.js → optional-cli-2YDQQCCD.js} +5 -5
- package/dist/{optional-cli-EMSZBYDE.js → optional-cli-USD6PROE.js} +4 -4
- package/dist/{orchestrator-NCA4LSCC.js → orchestrator-B4STIW4B.js} +14 -14
- package/dist/{orchestrator-H3DSZ5RM.js → orchestrator-VQ4HRYVB.js} +13 -13
- package/dist/{run-PCX5QWR4.js → run-7QMRYP3F.js} +3 -1
- package/dist/{run-TB7RBII2.js → run-UPNCCRCN.js} +3 -1
- package/dist/{thread-store-PLNIWFZ4.js → thread-store-3F7GR64A.js} +1 -1
- package/dist/{thread-store-7BBA63KV.js → thread-store-JRSL4HQY.js} +1 -1
- package/dist/{workspaces-MGKEAYNM.js → workspaces-47WQL5IG.js} +6 -6
- package/dist/{workspaces-2V5UYPYC.js → workspaces-75FD4QUR.js} +6 -6
- package/dist/{worktree-XJKLDYOL.js → worktree-G3E6WP66.js} +11 -9
- package/dist/{worktree-THAXW5U7.js → worktree-PDNPL5CQ.js} +11 -9
- package/dist/{worktree-exclude-RXZPTCNH.js → worktree-exclude-INRDQFWV.js} +2 -2
- package/dist/{worktree-exclude-5N2KTYIT.js → worktree-exclude-P5NJODWP.js} +2 -2
- package/package.json +1 -1
package/dist/mcp/run-stdio.js
CHANGED
|
@@ -56,7 +56,7 @@ import {
|
|
|
56
56
|
updateSchedule,
|
|
57
57
|
workspaceTagTargetRef,
|
|
58
58
|
writeAgentBlock
|
|
59
|
-
} from "../chunk-
|
|
59
|
+
} from "../chunk-45UB2J47.js";
|
|
60
60
|
import "../chunk-LX5R5JOR.js";
|
|
61
61
|
import {
|
|
62
62
|
commentAbleTimeTask,
|
|
@@ -76,12 +76,12 @@ import {
|
|
|
76
76
|
searchAbleTimeTasks,
|
|
77
77
|
toAbleTimeIssueInfo,
|
|
78
78
|
updateAbleTimeTask
|
|
79
|
-
} from "../chunk-
|
|
80
|
-
import "../chunk-
|
|
81
|
-
import "../chunk-
|
|
79
|
+
} from "../chunk-72PUPPV2.js";
|
|
80
|
+
import "../chunk-HHPTGIKS.js";
|
|
81
|
+
import "../chunk-5OQONGHO.js";
|
|
82
82
|
import {
|
|
83
83
|
normalizeServiceOrigin
|
|
84
|
-
} from "../chunk-
|
|
84
|
+
} from "../chunk-UX6EDDGR.js";
|
|
85
85
|
import {
|
|
86
86
|
PRESENT_PLAN_REQUIRES_PLAN_MODE,
|
|
87
87
|
PRESENT_PLAN_TOOL_DESCRIPTION,
|
|
@@ -97,9 +97,9 @@ import {
|
|
|
97
97
|
shouldRegisterMcpWaitForTurn,
|
|
98
98
|
sideboardMcpProfile,
|
|
99
99
|
worktreeMcpToolNames
|
|
100
|
-
} from "../chunk-
|
|
101
|
-
import "../chunk-
|
|
102
|
-
import "../chunk-
|
|
100
|
+
} from "../chunk-XDQSHSL6.js";
|
|
101
|
+
import "../chunk-7JV5QP5K.js";
|
|
102
|
+
import "../chunk-6U6QRUHY.js";
|
|
103
103
|
import "../chunk-E63AM3PW.js";
|
|
104
104
|
import {
|
|
105
105
|
httpFetch
|
|
@@ -114,18 +114,18 @@ import {
|
|
|
114
114
|
waitForDetachedJob,
|
|
115
115
|
waitForTurnToolResult,
|
|
116
116
|
workspaceAgentChatSummaries
|
|
117
|
-
} from "../chunk-
|
|
117
|
+
} from "../chunk-RGUZPMTF.js";
|
|
118
118
|
import {
|
|
119
119
|
HUGE_TOOL_RESULT_SUMMARY,
|
|
120
120
|
clipToolResultForStore,
|
|
121
121
|
formatUnknownDetail,
|
|
122
122
|
isInternalAgentStatusText,
|
|
123
123
|
looksLikeHugeToolResultDump
|
|
124
|
-
} from "../chunk-
|
|
124
|
+
} from "../chunk-EQ52JR3Q.js";
|
|
125
125
|
import {
|
|
126
126
|
GLOBAL_WORKSPACE_ID,
|
|
127
127
|
isCloudCoordinatorThread
|
|
128
|
-
} from "../chunk-
|
|
128
|
+
} from "../chunk-SPMIZSKH.js";
|
|
129
129
|
import {
|
|
130
130
|
canonicalizeRepoPath,
|
|
131
131
|
formatGhLandError,
|
|
@@ -134,18 +134,20 @@ import {
|
|
|
134
134
|
listPrs,
|
|
135
135
|
resolveGithubRepoSlug,
|
|
136
136
|
resolveListPrsOptions,
|
|
137
|
+
resolveOriginRemote,
|
|
138
|
+
resolveProjectRemoteTag,
|
|
137
139
|
resolveRepoRoot,
|
|
138
140
|
warmGithubAgentAuth
|
|
139
|
-
} from "../chunk-
|
|
141
|
+
} from "../chunk-YWBLQBSN.js";
|
|
140
142
|
import {
|
|
141
143
|
CLI_DIR
|
|
142
144
|
} from "../chunk-N2WW62LF.js";
|
|
143
|
-
import "../chunk-
|
|
145
|
+
import "../chunk-4YXZOXMT.js";
|
|
144
146
|
import {
|
|
145
147
|
gh,
|
|
146
148
|
resolveGhAuthToken,
|
|
147
149
|
run
|
|
148
|
-
} from "../chunk-
|
|
150
|
+
} from "../chunk-YBTSZ2SW.js";
|
|
149
151
|
import {
|
|
150
152
|
disconnectLinearConnection,
|
|
151
153
|
formatWorkspaceProfileSuffix,
|
|
@@ -158,7 +160,7 @@ import {
|
|
|
158
160
|
resolveViewerProfile,
|
|
159
161
|
resolveViewerProfileForRepo,
|
|
160
162
|
saveLinearOAuth
|
|
161
|
-
} from "../chunk-
|
|
163
|
+
} from "../chunk-IFU4W4C4.js";
|
|
162
164
|
import "../chunk-NSTQ6QKD.js";
|
|
163
165
|
import {
|
|
164
166
|
dropNestedElectronEnvFromProcess
|
|
@@ -169,7 +171,7 @@ import {
|
|
|
169
171
|
normalizeWorkspaceTags,
|
|
170
172
|
readThread,
|
|
171
173
|
updateThread
|
|
172
|
-
} from "../chunk-
|
|
174
|
+
} from "../chunk-B4CDSSRN.js";
|
|
173
175
|
import "../chunk-WMZIANPV.js";
|
|
174
176
|
import "../chunk-KGZBYWZ3.js";
|
|
175
177
|
import {
|
|
@@ -1959,6 +1961,18 @@ async function commentLinearIssue(input, opts) {
|
|
|
1959
1961
|
}
|
|
1960
1962
|
|
|
1961
1963
|
// src/integrations/issues.ts
|
|
1964
|
+
var CURSOR_ISSUES_UNAVAILABLE = "Cursor Origin has no issue tracker. Tickets for this repo come from Linear or AbleTime (Settings \u2192 Issues).";
|
|
1965
|
+
var ENTIRE_ISSUES_ARE_TRAILS = "Entire does not use GitHub Issues. Tickets for this repo are Trails (`entire trail list`). Linear or AbleTime still work when selected in Settings \u2192 Issues.";
|
|
1966
|
+
async function cursorIssuesUnavailableReason(repoPath) {
|
|
1967
|
+
try {
|
|
1968
|
+
const remote = await resolveOriginRemote(repoPath);
|
|
1969
|
+
if (remote?.forge === "cursor") return CURSOR_ISSUES_UNAVAILABLE;
|
|
1970
|
+
if (remote?.forge === "entire") return ENTIRE_ISSUES_ARE_TRAILS;
|
|
1971
|
+
return null;
|
|
1972
|
+
} catch {
|
|
1973
|
+
return null;
|
|
1974
|
+
}
|
|
1975
|
+
}
|
|
1962
1976
|
function assigneeKey(assignee) {
|
|
1963
1977
|
return (assignee ?? "").trim().toLowerCase();
|
|
1964
1978
|
}
|
|
@@ -2120,6 +2134,17 @@ async function listIssues(repoPath, opts) {
|
|
|
2120
2134
|
...since ? { since, comments: commentsFromAbleTimeIssues(tasks, issues2, since) } : {}
|
|
2121
2135
|
};
|
|
2122
2136
|
}
|
|
2137
|
+
const unavailableReason = await cursorIssuesUnavailableReason(repoPath);
|
|
2138
|
+
if (unavailableReason) {
|
|
2139
|
+
return {
|
|
2140
|
+
source,
|
|
2141
|
+
preferredSource,
|
|
2142
|
+
linearConnected,
|
|
2143
|
+
abletimeConnected,
|
|
2144
|
+
issues: [],
|
|
2145
|
+
unavailableReason
|
|
2146
|
+
};
|
|
2147
|
+
}
|
|
2123
2148
|
const [issues, login] = await Promise.all([
|
|
2124
2149
|
listGitHubIssues(repoPath, { assignee, query, limit: opts?.limit, updatedSince: since }),
|
|
2125
2150
|
githubViewerLogin(repoPath)
|
|
@@ -2889,11 +2914,15 @@ function fail2(err) {
|
|
|
2889
2914
|
true
|
|
2890
2915
|
);
|
|
2891
2916
|
}
|
|
2917
|
+
async function cursorIssueBlock(repoPath) {
|
|
2918
|
+
const cwd = await resolveRepoRoot((repoPath ?? "").trim() || process.cwd());
|
|
2919
|
+
return cursorIssuesUnavailableReason(cwd);
|
|
2920
|
+
}
|
|
2892
2921
|
var repoPathSchema = z3.string().optional().describe("Workspace / worktree path. Omit on a worktree turn (uses cwd).");
|
|
2893
2922
|
function registerGithubIssueTools(server) {
|
|
2894
2923
|
server.tool(
|
|
2895
2924
|
"github_search_issues",
|
|
2896
|
-
"Search or list open GitHub issues in this repo via Account gh. Default 40; pass query and/or limit (max 250) when truncated. assignee: me, unassigned, all, or a login. Pass updatedSince for new/updated tickets and new comments (e.g. \u201Cany updates since yesterday?\u201D).",
|
|
2925
|
+
"Search or list open GitHub issues in this repo via Account gh. A Cursor origin returns unavailableReason \u2014 Origin has no issue tracker. An Entire origin does the same \u2014 tickets there are Trails (`entire trail`), not GitHub Issues. Default 40; pass query and/or limit (max 250) when truncated. assignee: me, unassigned, all, or a login. Pass updatedSince for new/updated tickets and new comments (e.g. \u201Cany updates since yesterday?\u201D).",
|
|
2897
2926
|
{
|
|
2898
2927
|
query: z3.string().optional().describe("Search text (title, body, identifiers). Omit to list by assignee only."),
|
|
2899
2928
|
assignee: z3.string().optional().describe("me, unassigned, all, or a GitHub login. Default: all when query is set, otherwise me."),
|
|
@@ -2905,6 +2934,15 @@ function registerGithubIssueTools(server) {
|
|
|
2905
2934
|
try {
|
|
2906
2935
|
const cwd = await resolveRepoRoot((repoPath ?? "").trim() || process.cwd());
|
|
2907
2936
|
const page = clampMcpIssueLimit(limit);
|
|
2937
|
+
const blocked = await cursorIssuesUnavailableReason(cwd);
|
|
2938
|
+
if (blocked) {
|
|
2939
|
+
return mcpJson(
|
|
2940
|
+
formatListedIssuesForMcp(
|
|
2941
|
+
{ source: "github", issues: [], unavailableReason: blocked },
|
|
2942
|
+
page
|
|
2943
|
+
)
|
|
2944
|
+
);
|
|
2945
|
+
}
|
|
2908
2946
|
const since = updatedSince ? parseIssueSince(updatedSince) : void 0;
|
|
2909
2947
|
const issues = await listGitHubIssues(cwd, {
|
|
2910
2948
|
query,
|
|
@@ -2940,6 +2978,8 @@ function registerGithubIssueTools(server) {
|
|
|
2940
2978
|
{ repoPath: repoPathSchema },
|
|
2941
2979
|
async ({ repoPath }) => {
|
|
2942
2980
|
try {
|
|
2981
|
+
const blocked = await cursorIssueBlock(repoPath);
|
|
2982
|
+
if (blocked) throw new Error(blocked);
|
|
2943
2983
|
return text2({ projects: await listGitHubProjects({ repoPath }) });
|
|
2944
2984
|
} catch (err) {
|
|
2945
2985
|
return fail2(err);
|
|
@@ -2952,6 +2992,8 @@ function registerGithubIssueTools(server) {
|
|
|
2952
2992
|
{ id: z3.string(), include: mcpIssueIncludeSchema, repoPath: repoPathSchema },
|
|
2953
2993
|
async ({ id, include, repoPath }) => {
|
|
2954
2994
|
try {
|
|
2995
|
+
const blocked = await cursorIssueBlock(repoPath);
|
|
2996
|
+
if (blocked) throw new Error(blocked);
|
|
2955
2997
|
return text2(formatGitHubIssuePayload(await getGitHubIssue(id, { repoPath }), include));
|
|
2956
2998
|
} catch (err) {
|
|
2957
2999
|
return fail2(err);
|
|
@@ -2980,6 +3022,8 @@ function registerGithubIssueTools(server) {
|
|
|
2980
3022
|
{ id: z3.string(), body: z3.string(), repoPath: repoPathSchema },
|
|
2981
3023
|
async ({ id, body, repoPath }) => {
|
|
2982
3024
|
try {
|
|
3025
|
+
const blocked = await cursorIssueBlock(repoPath);
|
|
3026
|
+
if (blocked) throw new Error(blocked);
|
|
2983
3027
|
return text2(await commentGitHubIssue({ id, body }, { repoPath }));
|
|
2984
3028
|
} catch (err) {
|
|
2985
3029
|
return fail2(err);
|
|
@@ -3007,6 +3051,8 @@ function registerGithubIssueTools(server) {
|
|
|
3007
3051
|
},
|
|
3008
3052
|
async (args) => {
|
|
3009
3053
|
try {
|
|
3054
|
+
const blocked = await cursorIssueBlock(args.repoPath);
|
|
3055
|
+
if (blocked) throw new Error(blocked);
|
|
3010
3056
|
return text2(await updateGitHubIssue(args, { repoPath: args.repoPath }));
|
|
3011
3057
|
} catch (err) {
|
|
3012
3058
|
return fail2(err);
|
|
@@ -3024,6 +3070,8 @@ function registerGithubIssueTools(server) {
|
|
|
3024
3070
|
},
|
|
3025
3071
|
async (args) => {
|
|
3026
3072
|
try {
|
|
3073
|
+
const blocked = await cursorIssueBlock(args.repoPath);
|
|
3074
|
+
if (blocked) throw new Error(blocked);
|
|
3027
3075
|
return text2(await createGitHubIssue(args, { repoPath: args.repoPath }));
|
|
3028
3076
|
} catch (err) {
|
|
3029
3077
|
return fail2(err);
|
|
@@ -3545,7 +3593,7 @@ function parseWhen(args) {
|
|
|
3545
3593
|
function registerScheduleTools(server) {
|
|
3546
3594
|
server.tool(
|
|
3547
3595
|
"list_schedules",
|
|
3548
|
-
"List local Sideboard
|
|
3596
|
+
"List local Sideboard automations that trigger a chat when due. Jobs fire only while Sideboard.app is running on this Mac (sleep skips until wake). Shown in the sidebar after Board.",
|
|
3549
3597
|
{},
|
|
3550
3598
|
async () => {
|
|
3551
3599
|
try {
|
|
@@ -3557,9 +3605,9 @@ function registerScheduleTools(server) {
|
|
|
3557
3605
|
);
|
|
3558
3606
|
server.tool(
|
|
3559
3607
|
"create_schedule",
|
|
3560
|
-
"Create a local
|
|
3608
|
+
"Create a local automation that, when due, sends a prompt to an existing chat (chatId) or starts a new Global orchestration chat (omit chatId). Pass chatId=self to continue this chat. If that chat is missing or archived when the job fires, Sideboard starts a new Global chat (recurring jobs then continue that chat). Exactly one of at (ISO datetime), every (15m/1h/6h/1d), or cron (5-field). Recurring jobs without chatId open a new Global chat each run and archive it when that run finishes. History keeps the latest run for that automation. Creating or enabling a future job turns on Settings \u2192 Advanced \u2192 Caffeinate while automations are enabled so the Mac stays awake until due. Sideboard.app must be running for the job to fire.",
|
|
3561
3609
|
{
|
|
3562
|
-
prompt: z7.string().describe("User message / goal queued when the
|
|
3610
|
+
prompt: z7.string().describe("User message / goal queued when the automation fires"),
|
|
3563
3611
|
name: z7.string().optional(),
|
|
3564
3612
|
at: z7.string().optional().describe("ISO datetime for a one-shot"),
|
|
3565
3613
|
every: z7.string().optional().describe("Interval such as 15m, 1h, 6h, 1d"),
|
|
@@ -3595,7 +3643,7 @@ function registerScheduleTools(server) {
|
|
|
3595
3643
|
});
|
|
3596
3644
|
return text4({
|
|
3597
3645
|
schedule,
|
|
3598
|
-
hint: scheduleNeedsCaffeinate(schedule) ? "Fires while Sideboard.app is running. Recurring jobs without chatId create a new orchestration chat each run. Caffeinate while
|
|
3646
|
+
hint: scheduleNeedsCaffeinate(schedule) ? "Fires while Sideboard.app is running. Recurring jobs without chatId create a new orchestration chat each run and archive it when that run finishes (History keeps the latest). Caffeinate while automations are enabled is now on so the Mac can stay awake until this job is due." : "Fires while Sideboard.app is running. Recurring jobs without chatId create a new orchestration chat each run and archive it when that run finishes (History keeps the latest)."
|
|
3599
3647
|
});
|
|
3600
3648
|
} catch (err) {
|
|
3601
3649
|
return fail4(err);
|
|
@@ -3604,7 +3652,7 @@ function registerScheduleTools(server) {
|
|
|
3604
3652
|
);
|
|
3605
3653
|
server.tool(
|
|
3606
3654
|
"update_schedule",
|
|
3607
|
-
"Update a local
|
|
3655
|
+
"Update a local automation (prompt, cadence, target chat, enabled). Pass id from list_schedules.",
|
|
3608
3656
|
{
|
|
3609
3657
|
id: z7.string(),
|
|
3610
3658
|
prompt: z7.string().optional(),
|
|
@@ -3659,7 +3707,7 @@ function registerScheduleTools(server) {
|
|
|
3659
3707
|
);
|
|
3660
3708
|
server.tool(
|
|
3661
3709
|
"delete_schedule",
|
|
3662
|
-
"Delete a local
|
|
3710
|
+
"Delete a local automation. Pass id from list_schedules.",
|
|
3663
3711
|
{ id: z7.string() },
|
|
3664
3712
|
async ({ id }) => {
|
|
3665
3713
|
try {
|
|
@@ -3672,12 +3720,12 @@ function registerScheduleTools(server) {
|
|
|
3672
3720
|
);
|
|
3673
3721
|
server.tool(
|
|
3674
3722
|
"run_schedule",
|
|
3675
|
-
"Fire
|
|
3723
|
+
"Fire an automation now (does not wait for nextRunAt). Queues the prompt on the target chat or starts a new Global chat. If Sideboard.app is running, the desktop drains the turn.",
|
|
3676
3724
|
{ id: z7.string() },
|
|
3677
3725
|
async ({ id }) => {
|
|
3678
3726
|
try {
|
|
3679
3727
|
if (!getSchedule(id)) {
|
|
3680
|
-
return fail4(new Error(`
|
|
3728
|
+
return fail4(new Error(`Automation not found: ${id}`));
|
|
3681
3729
|
}
|
|
3682
3730
|
const schedule = await fireSchedule(id);
|
|
3683
3731
|
return text4({ schedule });
|
|
@@ -4012,7 +4060,7 @@ async function startMcpServer() {
|
|
|
4012
4060
|
);
|
|
4013
4061
|
}
|
|
4014
4062
|
try {
|
|
4015
|
-
const { maxConcurrentAgents } = await import("../app-settings-
|
|
4063
|
+
const { maxConcurrentAgents } = await import("../app-settings-KMPVI2B7.js");
|
|
4016
4064
|
orch.setMaxConcurrent(maxConcurrentAgents());
|
|
4017
4065
|
} catch {
|
|
4018
4066
|
}
|
|
@@ -4047,13 +4095,13 @@ async function startMcpServer() {
|
|
|
4047
4095
|
if (!worktreeProfile) {
|
|
4048
4096
|
server.tool(
|
|
4049
4097
|
"list_projects",
|
|
4050
|
-
"List registered projects (git repos). Each line is name, path,
|
|
4098
|
+
"List registered projects (git repos). Each line is name, path, that repo's origin as host:owner/repo (github:, cursor:, entire:, or another hostname), and project context when set. Projects do not share one git host. Use path as repoPath for list_board/list_branches/list_prs/list_issues/create_workspace. Account / project context (Settings \u2192 Agents / Projects) says which tickets and review PRs belong to the user.",
|
|
4051
4099
|
{},
|
|
4052
4100
|
async () => {
|
|
4053
4101
|
const workspaces = orch.listWorkspaces();
|
|
4054
4102
|
const lines = await Promise.all(
|
|
4055
4103
|
workspaces.map(async (w) => {
|
|
4056
|
-
const
|
|
4104
|
+
const tag = await resolveProjectRemoteTag(w.path).catch(() => null);
|
|
4057
4105
|
let profile;
|
|
4058
4106
|
try {
|
|
4059
4107
|
profile = resolveViewerProfileForRepo(w.path);
|
|
@@ -4061,7 +4109,7 @@ async function startMcpServer() {
|
|
|
4061
4109
|
profile = resolveViewerProfile();
|
|
4062
4110
|
}
|
|
4063
4111
|
const suffix = formatWorkspaceProfileSuffix(profile);
|
|
4064
|
-
return
|
|
4112
|
+
return tag ? `${w.name} ${w.path} ${tag}${suffix}` : `${w.name} ${w.path}${suffix}`;
|
|
4065
4113
|
})
|
|
4066
4114
|
);
|
|
4067
4115
|
return {
|
|
@@ -4560,7 +4608,7 @@ async function startMcpServer() {
|
|
|
4560
4608
|
if (!worktreeProfile) {
|
|
4561
4609
|
registerConnectedIssueVendorTools(server);
|
|
4562
4610
|
const { getCaffeinateHold, setCaffeinateHold } = await import("../caffeinate-hold-H7TTUDGM.js");
|
|
4563
|
-
const { resolveNewThreadOptions, resolveThreadDefaults } = await import("../app-settings-
|
|
4611
|
+
const { resolveNewThreadOptions, resolveThreadDefaults } = await import("../app-settings-KMPVI2B7.js");
|
|
4564
4612
|
const accountDefaults = resolveThreadDefaults();
|
|
4565
4613
|
const accountDefaultsHint = `Account defaults: agent=${accountDefaults.agent}, model=${accountDefaults.model?.trim() || "Auto"}, effort=${accountDefaults.effort}`;
|
|
4566
4614
|
server.tool(
|
|
@@ -4908,7 +4956,7 @@ async function startMcpServer() {
|
|
|
4908
4956
|
error: true,
|
|
4909
4957
|
action,
|
|
4910
4958
|
lastError: message,
|
|
4911
|
-
hint: /body is too long/i.test(message) ? "Branch is already pushed. send_to_chat so the worktree agent
|
|
4959
|
+
hint: /body is too long/i.test(message) ? "Branch is already pushed. send_to_chat so the worktree agent retries with a short body (GitHub: gh pr create --draft --assignee @me -R <slug>; Cursor: origin pr create --draft --push -R <slug>; Entire: entire trail create --title with a short --body). Keep the description short." : void 0
|
|
4912
4960
|
},
|
|
4913
4961
|
true
|
|
4914
4962
|
);
|
|
@@ -5218,7 +5266,7 @@ async function startMcpServer() {
|
|
|
5218
5266
|
);
|
|
5219
5267
|
server.tool(
|
|
5220
5268
|
"list_issues",
|
|
5221
|
-
"List or search issues (Linear, AbleTime, or GitHub; falls back to GitHub). Use Settings \u2192 Agents / Projects notes and roles to pick tickets relevant to the viewer (query + assignee=me or unassigned as the notes say). Default 40; pass query and/or limit (max 250) when truncated. assignee: me (Linear default), unassigned, all, or a user id. Pass updatedSince for new/updated tickets and new comments (\u201Cany updates since yesterday?\u201D). Then create_workspace with sourceType=ticket.",
|
|
5269
|
+
"List or search issues (Linear, AbleTime, or GitHub; falls back to GitHub). Cursor Origin has no issue tracker \u2014 a Cursor repo returns unavailableReason unless Linear or AbleTime is the source. Entire tickets are Trails (`entire trail`), not GitHub Issues, so an Entire repo does the same unless Linear or AbleTime is the source. Use Settings \u2192 Agents / Projects notes and roles to pick tickets relevant to the viewer (query + assignee=me or unassigned as the notes say). Default 40; pass query and/or limit (max 250) when truncated. assignee: me (Linear default), unassigned, all, or a user id. Pass updatedSince for new/updated tickets and new comments (\u201Cany updates since yesterday?\u201D). Then create_workspace with sourceType=ticket.",
|
|
5222
5270
|
{
|
|
5223
5271
|
repoPath: z8.string(),
|
|
5224
5272
|
query: z8.string().optional().describe("Search title, identifier, or description"),
|
|
@@ -3,12 +3,12 @@ import {
|
|
|
3
3
|
detectOptionalServiceClis,
|
|
4
4
|
installOptionalServiceCli,
|
|
5
5
|
optionalCliPresence
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-RHJKZOPQ.js";
|
|
7
|
+
import "./chunk-TEFFR6PB.js";
|
|
8
|
+
import "./chunk-BPDVHB4U.js";
|
|
9
9
|
import "./chunk-JAT3JFOS.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-2TUE6JKQ.js";
|
|
11
|
+
import "./chunk-FZKAAAEB.js";
|
|
12
12
|
import "./chunk-77WWLBCI.js";
|
|
13
13
|
import "./chunk-4TR3HZFT.js";
|
|
14
14
|
import "./chunk-WDRMZKVB.js";
|
|
@@ -4,16 +4,16 @@ import {
|
|
|
4
4
|
OPTIONAL_SERVICES,
|
|
5
5
|
isOptionalServiceId,
|
|
6
6
|
optionalServiceSpec
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-UX6EDDGR.js";
|
|
8
8
|
import {
|
|
9
9
|
installNpmGlobalPackage,
|
|
10
10
|
whichOnPath
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-7JV5QP5K.js";
|
|
12
12
|
import "./chunk-2GPQZZLY.js";
|
|
13
13
|
import {
|
|
14
14
|
enrichPathWithNpmGlobalBin
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-YBTSZ2SW.js";
|
|
16
|
+
import "./chunk-IFU4W4C4.js";
|
|
17
17
|
import "./chunk-NSTQ6QKD.js";
|
|
18
18
|
import "./chunk-WWUABK6B.js";
|
|
19
19
|
import "./chunk-FJZWM2ON.js";
|
|
@@ -9,30 +9,30 @@ import {
|
|
|
9
9
|
resolveSendFollowUp,
|
|
10
10
|
startOrchestration,
|
|
11
11
|
waitForPidExit
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-LD2DXHBP.js";
|
|
13
13
|
import "./chunk-PGPSIEMW.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-JNEFEA2A.js";
|
|
15
|
+
import "./chunk-S5CJUIPY.js";
|
|
16
|
+
import "./chunk-BANN5HUX.js";
|
|
17
|
+
import "./chunk-QIC2JXHW.js";
|
|
18
18
|
import "./chunk-7H655NEW.js";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-TEFFR6PB.js";
|
|
20
|
+
import "./chunk-BPDVHB4U.js";
|
|
21
|
+
import "./chunk-H6GXYV5Q.js";
|
|
22
|
+
import "./chunk-UWJUARFA.js";
|
|
23
|
+
import "./chunk-IFWGG2M2.js";
|
|
24
|
+
import "./chunk-QKHEVSB5.js";
|
|
25
25
|
import "./chunk-RSA47QYR.js";
|
|
26
26
|
import "./chunk-JAT3JFOS.js";
|
|
27
27
|
import "./chunk-F2PVRF3B.js";
|
|
28
28
|
import "./chunk-AXQ4ZWHK.js";
|
|
29
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-ZHGMRBSC.js";
|
|
30
30
|
import "./chunk-5XNT6BCG.js";
|
|
31
31
|
import "./chunk-6K64FJDD.js";
|
|
32
32
|
import "./chunk-LG6RJBIY.js";
|
|
33
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-2TUE6JKQ.js";
|
|
34
34
|
import "./chunk-YDUHLWI5.js";
|
|
35
|
-
import "./chunk-
|
|
35
|
+
import "./chunk-FZKAAAEB.js";
|
|
36
36
|
import "./chunk-77WWLBCI.js";
|
|
37
37
|
import "./chunk-4TR3HZFT.js";
|
|
38
38
|
import "./chunk-WDRMZKVB.js";
|
|
@@ -11,29 +11,29 @@ import {
|
|
|
11
11
|
resolveSendFollowUp,
|
|
12
12
|
startOrchestration,
|
|
13
13
|
waitForPidExit
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-45UB2J47.js";
|
|
15
15
|
import "./chunk-LX5R5JOR.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-UX6EDDGR.js";
|
|
17
17
|
import "./chunk-4GK32AYX.js";
|
|
18
18
|
import "./chunk-DC3VZXMA.js";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-XDQSHSL6.js";
|
|
20
|
+
import "./chunk-7JV5QP5K.js";
|
|
21
|
+
import "./chunk-6U6QRUHY.js";
|
|
22
22
|
import "./chunk-E63AM3PW.js";
|
|
23
23
|
import "./chunk-2GPQZZLY.js";
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-RGUZPMTF.js";
|
|
25
|
+
import "./chunk-EQ52JR3Q.js";
|
|
26
|
+
import "./chunk-SPMIZSKH.js";
|
|
27
|
+
import "./chunk-YWBLQBSN.js";
|
|
28
28
|
import "./chunk-N2WW62LF.js";
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-4YXZOXMT.js";
|
|
30
|
+
import "./chunk-YBTSZ2SW.js";
|
|
31
|
+
import "./chunk-IFU4W4C4.js";
|
|
32
32
|
import "./chunk-NSTQ6QKD.js";
|
|
33
33
|
import "./chunk-WWUABK6B.js";
|
|
34
34
|
import "./chunk-FJZWM2ON.js";
|
|
35
35
|
import "./chunk-J2LNLI4S.js";
|
|
36
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-B4CDSSRN.js";
|
|
37
37
|
import "./chunk-WMZIANPV.js";
|
|
38
38
|
import "./chunk-KGZBYWZ3.js";
|
|
39
39
|
import "./chunk-WOU343SI.js";
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
gh,
|
|
3
3
|
git,
|
|
4
|
+
originCli,
|
|
4
5
|
resolveGhAuthToken,
|
|
5
6
|
resolveGitDirsForLockRecovery,
|
|
6
7
|
run
|
|
7
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-2TUE6JKQ.js";
|
|
8
9
|
import "./chunk-4TR3HZFT.js";
|
|
9
10
|
export {
|
|
10
11
|
gh,
|
|
11
12
|
git,
|
|
13
|
+
originCli,
|
|
12
14
|
resolveGhAuthToken,
|
|
13
15
|
resolveGitDirsForLockRecovery,
|
|
14
16
|
run
|
|
@@ -3,14 +3,16 @@
|
|
|
3
3
|
import {
|
|
4
4
|
gh,
|
|
5
5
|
git,
|
|
6
|
+
originCli,
|
|
6
7
|
resolveGhAuthToken,
|
|
7
8
|
resolveGitDirsForLockRecovery,
|
|
8
9
|
run
|
|
9
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-YBTSZ2SW.js";
|
|
10
11
|
import "./chunk-WWUABK6B.js";
|
|
11
12
|
export {
|
|
12
13
|
gh,
|
|
13
14
|
git,
|
|
15
|
+
originCli,
|
|
14
16
|
resolveGhAuthToken,
|
|
15
17
|
resolveGitDirsForLockRecovery,
|
|
16
18
|
run
|
|
@@ -9,15 +9,15 @@ import {
|
|
|
9
9
|
removeWorkspace,
|
|
10
10
|
sameWorkspacePath,
|
|
11
11
|
syncWorkspacesFromThreads
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-H6GXYV5Q.js";
|
|
13
|
+
import "./chunk-UWJUARFA.js";
|
|
14
|
+
import "./chunk-IFWGG2M2.js";
|
|
15
|
+
import "./chunk-QKHEVSB5.js";
|
|
16
16
|
import "./chunk-F2PVRF3B.js";
|
|
17
17
|
import "./chunk-6K64FJDD.js";
|
|
18
18
|
import "./chunk-LG6RJBIY.js";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-2TUE6JKQ.js";
|
|
20
|
+
import "./chunk-FZKAAAEB.js";
|
|
21
21
|
import "./chunk-77WWLBCI.js";
|
|
22
22
|
import "./chunk-4TR3HZFT.js";
|
|
23
23
|
import "./chunk-WDRMZKVB.js";
|
|
@@ -11,17 +11,17 @@ import {
|
|
|
11
11
|
removeWorkspace,
|
|
12
12
|
sameWorkspacePath,
|
|
13
13
|
syncWorkspacesFromThreads
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-SPMIZSKH.js";
|
|
15
|
+
import "./chunk-YWBLQBSN.js";
|
|
16
16
|
import "./chunk-N2WW62LF.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-4YXZOXMT.js";
|
|
18
|
+
import "./chunk-YBTSZ2SW.js";
|
|
19
|
+
import "./chunk-IFU4W4C4.js";
|
|
20
20
|
import "./chunk-NSTQ6QKD.js";
|
|
21
21
|
import "./chunk-WWUABK6B.js";
|
|
22
22
|
import "./chunk-FJZWM2ON.js";
|
|
23
23
|
import "./chunk-J2LNLI4S.js";
|
|
24
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-B4CDSSRN.js";
|
|
25
25
|
import "./chunk-WMZIANPV.js";
|
|
26
26
|
import "./chunk-KGZBYWZ3.js";
|
|
27
27
|
import "./chunk-WOU343SI.js";
|
|
@@ -9,11 +9,11 @@ import {
|
|
|
9
9
|
connectedPrSelectors,
|
|
10
10
|
countUnpushedVsOrigin,
|
|
11
11
|
createExistingBranchWorktree,
|
|
12
|
-
createOrUpdatePr,
|
|
13
12
|
createThreadWorktree,
|
|
14
13
|
currentBranch,
|
|
15
14
|
detectLocalMergeConflicts,
|
|
16
15
|
ensureGhPreferOrigin,
|
|
16
|
+
entireUsesTrails,
|
|
17
17
|
fastForwardMainCheckoutIfSafe,
|
|
18
18
|
fetchOriginForWorktree,
|
|
19
19
|
fetchPrHead,
|
|
@@ -23,7 +23,6 @@ import {
|
|
|
23
23
|
getPrForHeadBranch,
|
|
24
24
|
getPrMeta,
|
|
25
25
|
ghHeadRef,
|
|
26
|
-
ghPrCreateAssigneeArgs,
|
|
27
26
|
ghRepoSelectArgs,
|
|
28
27
|
githubAgentGitEnv,
|
|
29
28
|
isDefaultishSourceRef,
|
|
@@ -43,18 +42,20 @@ import {
|
|
|
43
42
|
resolveDefaultBranch,
|
|
44
43
|
resolveDiffBaseRef,
|
|
45
44
|
resolveGithubRepoSlug,
|
|
45
|
+
resolveOriginRemote,
|
|
46
46
|
resolvePrSelector,
|
|
47
47
|
resolvePrSelectors,
|
|
48
|
+
resolveProjectRemoteTag,
|
|
48
49
|
resolveRepoRoot,
|
|
49
50
|
resolveWorktreeStartPoint,
|
|
50
51
|
slugify,
|
|
51
52
|
suggestSlug,
|
|
52
53
|
switchWorktreeBranch
|
|
53
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-YWBLQBSN.js";
|
|
54
55
|
import "./chunk-N2WW62LF.js";
|
|
55
|
-
import "./chunk-
|
|
56
|
-
import "./chunk-
|
|
57
|
-
import "./chunk-
|
|
56
|
+
import "./chunk-4YXZOXMT.js";
|
|
57
|
+
import "./chunk-YBTSZ2SW.js";
|
|
58
|
+
import "./chunk-IFU4W4C4.js";
|
|
58
59
|
import "./chunk-NSTQ6QKD.js";
|
|
59
60
|
import "./chunk-WWUABK6B.js";
|
|
60
61
|
import "./chunk-FJZWM2ON.js";
|
|
@@ -74,7 +75,7 @@ import {
|
|
|
74
75
|
worktreeDisplayLabelForGroup,
|
|
75
76
|
worktreeNameFromPath,
|
|
76
77
|
worktreeSlugForTicket
|
|
77
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-B4CDSSRN.js";
|
|
78
79
|
import "./chunk-WMZIANPV.js";
|
|
79
80
|
import "./chunk-KGZBYWZ3.js";
|
|
80
81
|
import "./chunk-WOU343SI.js";
|
|
@@ -90,11 +91,11 @@ export {
|
|
|
90
91
|
connectedPrSelectors,
|
|
91
92
|
countUnpushedVsOrigin,
|
|
92
93
|
createExistingBranchWorktree,
|
|
93
|
-
createOrUpdatePr,
|
|
94
94
|
createThreadWorktree,
|
|
95
95
|
currentBranch,
|
|
96
96
|
detectLocalMergeConflicts,
|
|
97
97
|
ensureGhPreferOrigin,
|
|
98
|
+
entireUsesTrails,
|
|
98
99
|
fastForwardMainCheckoutIfSafe,
|
|
99
100
|
fetchOriginForWorktree,
|
|
100
101
|
fetchPrHead,
|
|
@@ -104,7 +105,6 @@ export {
|
|
|
104
105
|
getPrForHeadBranch,
|
|
105
106
|
getPrMeta,
|
|
106
107
|
ghHeadRef,
|
|
107
|
-
ghPrCreateAssigneeArgs,
|
|
108
108
|
ghRepoSelectArgs,
|
|
109
109
|
githubAgentGitEnv,
|
|
110
110
|
isDefaultishSourceRef,
|
|
@@ -128,8 +128,10 @@ export {
|
|
|
128
128
|
resolveDefaultBranch,
|
|
129
129
|
resolveDiffBaseRef,
|
|
130
130
|
resolveGithubRepoSlug,
|
|
131
|
+
resolveOriginRemote,
|
|
131
132
|
resolvePrSelector,
|
|
132
133
|
resolvePrSelectors,
|
|
134
|
+
resolveProjectRemoteTag,
|
|
133
135
|
resolveRepoRoot,
|
|
134
136
|
resolveWorktreeStartPoint,
|
|
135
137
|
slugify,
|