@sideboard-ai/core 0.1.287 → 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/{abletime-I4RODUKT.js → abletime-4WJUVE64.js} +4 -4
- package/dist/{abletime-4CH2IOX5.js → abletime-VFKYNSJT.js} +4 -4
- package/dist/{abletime-oauth-7OZZ3ABX.js → abletime-oauth-FW24YHYX.js} +3 -3
- package/dist/{abletime-oauth-C2HN2Q6F.js → abletime-oauth-ICMB2XV2.js} +3 -3
- package/dist/{abletime-rest-E4LBRFLM.js → abletime-rest-HFMRTUDT.js} +3 -3
- package/dist/{abletime-rest-WFI2HWBU.js → abletime-rest-OGWC7BC6.js} +3 -3
- package/dist/agents/cursor-runner.js +3 -3
- package/dist/{agents-D3PU4UCP.js → agents-4BBCKITL.js} +20 -18
- package/dist/{agents-KU4QPB3Y.js → agents-XAKSP653.js} +18 -16
- package/dist/{app-settings-EQQZQNYD.js → app-settings-EHMXHNG5.js} +1 -1
- package/dist/{app-settings-NI4X5HW3.js → app-settings-MR2U6AXN.js} +1 -1
- package/dist/{chunk-K5XSTHHP.js → chunk-2IXKTAIT.js} +2 -2
- package/dist/{chunk-YNTXWFXT.js → chunk-36J3IZBS.js} +12 -12
- package/dist/{chunk-IJMUYHPT.js → chunk-3E4NOIXN.js} +3 -3
- package/dist/chunk-4BXRRHDC.js +139 -0
- package/dist/{chunk-5MGLNVNK.js → chunk-5HPMKLJ7.js} +2 -2
- package/dist/{chunk-VOIWX5HA.js → chunk-7UUILVMV.js} +1 -1
- package/dist/chunk-AF2DMY3K.js +295 -0
- package/dist/{chunk-5QOLFOAX.js → chunk-AFLNFGGB.js} +1 -1
- package/dist/{chunk-5T4YWFLD.js → chunk-AHH5USEA.js} +2 -2
- package/dist/{chunk-6CVVNAIU.js → chunk-B3BPLPKQ.js} +2 -2
- package/dist/{chunk-LKVP7JCB.js → chunk-C546EOEF.js} +35 -315
- package/dist/{chunk-QPBR5SAL.js → chunk-EBGJXOXT.js} +27 -129
- package/dist/{chunk-RFPMTOV2.js → chunk-G74TSBJ3.js} +6 -6
- package/dist/{chunk-L65YT2SC.js → chunk-GBAACE3C.js} +7 -7
- package/dist/{chunk-VQEARG5H.js → chunk-GU6DT6NO.js} +5 -5
- package/dist/{chunk-S2OOM7AU.js → chunk-K6IOJI3L.js} +1 -1
- package/dist/{chunk-UFJLNCOF.js → chunk-LUQ7MIVD.js} +8 -298
- package/dist/{chunk-U6QDXT4K.js → chunk-MIVX7QKI.js} +1 -1
- package/dist/{chunk-WRIMAEF2.js → chunk-MVZO7QZ2.js} +12 -12
- package/dist/{chunk-LS4FFCPL.js → chunk-MYJYINTS.js} +3 -3
- package/dist/{chunk-DEJALWKM.js → chunk-NFPWLDCH.js} +5 -5
- package/dist/chunk-NXXQFLNQ.js +300 -0
- package/dist/{chunk-KLAQ4G34.js → chunk-O4324MXE.js} +4 -4
- package/dist/chunk-OH4EN323.js +89 -0
- package/dist/{chunk-ZGAMETNF.js → chunk-V3BSO2O6.js} +4 -4
- package/dist/{chunk-Z3EE3PUZ.js → chunk-VNCPRMIK.js} +10 -300
- package/dist/chunk-W2KZTDET.js +302 -0
- package/dist/{chunk-TMM4FEZ5.js → chunk-Y67TBJD5.js} +3 -3
- package/dist/{chunk-XSDCLM3F.js → chunk-YSLCWCMJ.js} +1 -1
- package/dist/{conductor-FOKYVMUE.js → conductor-5MNGC25D.js} +6 -6
- package/dist/{conductor-KDUL6AMD.js → conductor-UFJXJPTF.js} +7 -7
- package/dist/{coordinator-prompt-GU5PGLG6.js → coordinator-prompt-5Q66Y5KW.js} +4 -4
- package/dist/{coordinator-prompt-YARYX53V.js → coordinator-prompt-BYPEW6DE.js} +4 -4
- package/dist/{global-workspace-SMCPOWE5.js → global-workspace-BTH2YGDZ.js} +4 -4
- package/dist/{global-workspace-C5HMC66E.js → global-workspace-YKOYXSB2.js} +4 -4
- package/dist/index.cjs +618 -323
- package/dist/index.d.cts +42 -10
- package/dist/index.d.ts +42 -10
- package/dist/index.js +494 -281
- package/dist/mcp/run-stdio.cjs +602 -225
- package/dist/mcp/run-stdio.js +334 -188
- package/dist/optional-cli-6SW4OOX3.js +23 -0
- package/dist/optional-cli-FRUZSZ3U.js +98 -0
- package/dist/{orchestrator-2UAVOXTN.js → orchestrator-IG4VU7MT.js} +13 -11
- package/dist/{orchestrator-NWKE56BW.js → orchestrator-MKF3YBNK.js} +10 -8
- 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-KHQ5ETSQ.js → workspaces-ELO2YVTU.js} +4 -4
- package/dist/{workspaces-DQMDCRB2.js → workspaces-RFD6I4FM.js} +4 -4
- package/dist/{worktree-NKLNVNXX.js → worktree-ADVQ6X6C.js} +3 -3
- package/dist/{worktree-YTZC3UQN.js → worktree-TN7DZDJZ.js} +3 -3
- 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
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
import {
|
|
4
4
|
titleFromPrompt
|
|
5
5
|
} from "./chunk-LX5R5JOR.js";
|
|
6
|
+
import {
|
|
7
|
+
formatOptionalServicesDirectiveForTurn,
|
|
8
|
+
formatOptionalServicesReminderForTurn
|
|
9
|
+
} from "./chunk-4BXRRHDC.js";
|
|
6
10
|
import {
|
|
7
11
|
extractPresentedPlan,
|
|
8
12
|
isPresentPlanToolName,
|
|
@@ -23,7 +27,7 @@ import {
|
|
|
23
27
|
parseSessionQuotaResetAt,
|
|
24
28
|
planModeTurnInstruction,
|
|
25
29
|
resolveQuotaFallbackAgent
|
|
26
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-LUQ7MIVD.js";
|
|
27
31
|
import {
|
|
28
32
|
REVIEW_TAB_TITLE,
|
|
29
33
|
applyWorktreePkgCacheEnv,
|
|
@@ -62,7 +66,7 @@ import {
|
|
|
62
66
|
worktreeDevProcessKey,
|
|
63
67
|
worktreeRunProcessKey,
|
|
64
68
|
worktreeSetupProcessKey
|
|
65
|
-
} from "./chunk-
|
|
69
|
+
} from "./chunk-G74TSBJ3.js";
|
|
66
70
|
import {
|
|
67
71
|
applyAgentEvent,
|
|
68
72
|
clipAgentEventForPaint,
|
|
@@ -89,7 +93,7 @@ import {
|
|
|
89
93
|
summarizeTurnStderr,
|
|
90
94
|
toolDescription,
|
|
91
95
|
turnFailChatText
|
|
92
|
-
} from "./chunk-
|
|
96
|
+
} from "./chunk-AFLNFGGB.js";
|
|
93
97
|
import {
|
|
94
98
|
SLACK_REPLY_FORMATTING,
|
|
95
99
|
addWorkspace,
|
|
@@ -114,7 +118,7 @@ import {
|
|
|
114
118
|
stageAbsolutePathsAsAttachments,
|
|
115
119
|
stageBuffersAsAttachments,
|
|
116
120
|
syncWorkspacesFromThreads
|
|
117
|
-
} from "./chunk-
|
|
121
|
+
} from "./chunk-O4324MXE.js";
|
|
118
122
|
import {
|
|
119
123
|
addPrStackLayer,
|
|
120
124
|
allocateTeamSlug,
|
|
@@ -156,7 +160,7 @@ import {
|
|
|
156
160
|
resolveRepoRoot,
|
|
157
161
|
switchWorktreeBranch,
|
|
158
162
|
withRepoGitLock
|
|
159
|
-
} from "./chunk-
|
|
163
|
+
} from "./chunk-5HPMKLJ7.js";
|
|
160
164
|
import {
|
|
161
165
|
clearStaleIndexLocks,
|
|
162
166
|
enrichPathWithNpmGlobalBin,
|
|
@@ -197,7 +201,7 @@ import {
|
|
|
197
201
|
usageOnLimit,
|
|
198
202
|
withTurnScopedCost,
|
|
199
203
|
writeViewerContext
|
|
200
|
-
} from "./chunk-
|
|
204
|
+
} from "./chunk-MVZO7QZ2.js";
|
|
201
205
|
import {
|
|
202
206
|
writePrivateFile
|
|
203
207
|
} from "./chunk-NSTQ6QKD.js";
|
|
@@ -234,7 +238,7 @@ import {
|
|
|
234
238
|
worktreeNameFromPath,
|
|
235
239
|
worktreeSlugForTicket,
|
|
236
240
|
writeThread
|
|
237
|
-
} from "./chunk-
|
|
241
|
+
} from "./chunk-YRXV3E7J.js";
|
|
238
242
|
import {
|
|
239
243
|
annotateDevAccessRuns,
|
|
240
244
|
appDataDir,
|
|
@@ -499,9 +503,9 @@ async function spawnAgentTurn(thread, input, onEvent) {
|
|
|
499
503
|
`Cannot spawn ${thread.agent}: thread ${thread.id} has no worktreePath`
|
|
500
504
|
);
|
|
501
505
|
}
|
|
502
|
-
const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-
|
|
506
|
+
const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-BTH2YGDZ.js");
|
|
503
507
|
if (isGlobalThread2(thread)) {
|
|
504
|
-
const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-
|
|
508
|
+
const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-BYPEW6DE.js");
|
|
505
509
|
ensureGlobalCoordinatorCwd2(
|
|
506
510
|
isOrchestratorThread(thread) ? { orchestratorThreadId: thread.id } : void 0
|
|
507
511
|
);
|
|
@@ -2449,7 +2453,7 @@ async function createThread(input, _onSetupLine) {
|
|
|
2449
2453
|
});
|
|
2450
2454
|
await requireAgent(resolved.agent);
|
|
2451
2455
|
if (input.cowboy) {
|
|
2452
|
-
const { cowboyModeEnabled } = await import("./app-settings-
|
|
2456
|
+
const { cowboyModeEnabled } = await import("./app-settings-EHMXHNG5.js");
|
|
2453
2457
|
if (!cowboyModeEnabled()) {
|
|
2454
2458
|
throw new Error(
|
|
2455
2459
|
"Cowboy mode is off. Enable it in Settings \u2192 Advanced."
|
|
@@ -2508,7 +2512,7 @@ async function createThread(input, _onSetupLine) {
|
|
|
2508
2512
|
let sourceIsFork = false;
|
|
2509
2513
|
if (!input.cowboy && sourceType === "branch" && (!sourceRef || sourceRef === "HEAD" || sourceRef === "default")) {
|
|
2510
2514
|
if (isAbleTimeConnected() && getIssueSource() === "abletime") {
|
|
2511
|
-
const { ensureAbleTimeTask, issueAttachmentForAbleTimeTask } = await import("./abletime-
|
|
2515
|
+
const { ensureAbleTimeTask, issueAttachmentForAbleTimeTask } = await import("./abletime-VFKYNSJT.js");
|
|
2512
2516
|
const task = await ensureAbleTimeTask({
|
|
2513
2517
|
title: title?.trim() || "Untitled work",
|
|
2514
2518
|
description: input.prompt?.trim() || void 0
|
|
@@ -3115,7 +3119,7 @@ async function adoptThread(input) {
|
|
|
3115
3119
|
messages: input.messages ?? []
|
|
3116
3120
|
});
|
|
3117
3121
|
writeThread(thread);
|
|
3118
|
-
const { addWorkspace: addWorkspace2 } = await import("./workspaces-
|
|
3122
|
+
const { addWorkspace: addWorkspace2 } = await import("./workspaces-ELO2YVTU.js");
|
|
3119
3123
|
await addWorkspace2(repoPath);
|
|
3120
3124
|
const { ensureWorktreeSideboardIgnored } = await import("./worktree-exclude-5N2KTYIT.js");
|
|
3121
3125
|
await ensureWorktreeSideboardIgnored(input.worktreePath);
|
|
@@ -5274,112 +5278,6 @@ function formatUiReminder() {
|
|
|
5274
5278
|
return "Sideboard UI: markdown table is enough to read data; present_schema if they ask to edit/filter (even after markdown); present_files for the file manager. html fence or present_artifact, not both for the same document. type=log appends (same artifact_id, new lines only). ask_user only for a real multiple-choice (not hellos, \u201Cwhat next?\u201D, or after a review) \u2014 reply in chat. ask_user wakes the parent orchestrator; notify_orchestrator if blocked without a picker. Do not say artifacts/CMS UI are unavailable. Dev / preview: run_dev_script (same as the Dev button; pass name \u2014 several scripts can run at once) returns {url, port, preview} (SIDEBOARD_PORT \u2014 never guess :3000). preview=url \u2192 open url; preview=window \u2192 Electron window is the app, url is renderer/HMR only. list_run_scripts active[].url if already running; get_run_log for that script\u2019s Run-tab terminal; stop_dev_script to stop one.";
|
|
5275
5279
|
}
|
|
5276
5280
|
|
|
5277
|
-
// src/integrations/optional-services.ts
|
|
5278
|
-
var OPTIONAL_SERVICES = [
|
|
5279
|
-
{
|
|
5280
|
-
id: "vercel",
|
|
5281
|
-
label: "Vercel",
|
|
5282
|
-
hint: "Deploys and project settings. Agents use the `vercel` CLI (`VERCEL_TOKEN`).",
|
|
5283
|
-
tokenPlaceholder: "token from vercel.com/account/tokens",
|
|
5284
|
-
tokenDocs: "https://vercel.com/account/tokens",
|
|
5285
|
-
envKey: "VERCEL_TOKEN",
|
|
5286
|
-
cli: "vercel",
|
|
5287
|
-
npmPackage: "vercel"
|
|
5288
|
-
},
|
|
5289
|
-
{
|
|
5290
|
-
id: "supabase",
|
|
5291
|
-
label: "Supabase",
|
|
5292
|
-
hint: "Database and project management. Agents use the `supabase` CLI (`SUPABASE_ACCESS_TOKEN`).",
|
|
5293
|
-
tokenPlaceholder: "sbp_\u2026",
|
|
5294
|
-
tokenDocs: "https://supabase.com/dashboard/account/tokens",
|
|
5295
|
-
envKey: "SUPABASE_ACCESS_TOKEN",
|
|
5296
|
-
cli: "supabase",
|
|
5297
|
-
npmPackage: "supabase"
|
|
5298
|
-
},
|
|
5299
|
-
{
|
|
5300
|
-
id: "posthog",
|
|
5301
|
-
label: "PostHog",
|
|
5302
|
-
hint: "Product analytics. No first-class CLI \u2014 agents use the HTTP API (`POSTHOG_PERSONAL_API_KEY`).",
|
|
5303
|
-
tokenPlaceholder: "phx_\u2026",
|
|
5304
|
-
tokenDocs: "https://app.posthog.com/settings/user-api-keys",
|
|
5305
|
-
envKey: "POSTHOG_PERSONAL_API_KEY",
|
|
5306
|
-
hostEnvKey: "POSTHOG_HOST",
|
|
5307
|
-
defaultHost: "https://us.posthog.com",
|
|
5308
|
-
hostPlaceholder: "https://us.posthog.com"
|
|
5309
|
-
},
|
|
5310
|
-
{
|
|
5311
|
-
id: "sentry",
|
|
5312
|
-
label: "Sentry",
|
|
5313
|
-
hint: "Error tracking. Agents use `sentry-cli` (`SENTRY_AUTH_TOKEN`).",
|
|
5314
|
-
tokenPlaceholder: "sntrys_\u2026 or auth token",
|
|
5315
|
-
tokenDocs: "https://sentry.io/settings/account/api/auth-tokens/",
|
|
5316
|
-
envKey: "SENTRY_AUTH_TOKEN",
|
|
5317
|
-
cli: "sentry-cli",
|
|
5318
|
-
npmPackage: "@sentry/cli",
|
|
5319
|
-
hostEnvKey: "SENTRY_URL",
|
|
5320
|
-
defaultHost: "https://sentry.io",
|
|
5321
|
-
hostPlaceholder: "https://sentry.io"
|
|
5322
|
-
}
|
|
5323
|
-
];
|
|
5324
|
-
function optionalServiceConnected(id, integrations) {
|
|
5325
|
-
if (id === "vercel") return Boolean(integrations.vercelToken?.trim());
|
|
5326
|
-
if (id === "supabase") return Boolean(integrations.supabaseAccessToken?.trim());
|
|
5327
|
-
if (id === "posthog") return Boolean(integrations.posthogPersonalApiKey?.trim());
|
|
5328
|
-
return Boolean(integrations.sentryAuthToken?.trim());
|
|
5329
|
-
}
|
|
5330
|
-
function connectedOptionalServices(integrations) {
|
|
5331
|
-
return OPTIONAL_SERVICES.filter((spec) => optionalServiceConnected(spec.id, integrations));
|
|
5332
|
-
}
|
|
5333
|
-
function formatOptionalServicesDirective(integrations) {
|
|
5334
|
-
const connected = connectedOptionalServices(integrations);
|
|
5335
|
-
if (connected.length === 0) return null;
|
|
5336
|
-
const lines = [
|
|
5337
|
-
"Optional connectors (connected \u2014 tokens are already in this process env):"
|
|
5338
|
-
];
|
|
5339
|
-
for (const spec of connected) {
|
|
5340
|
-
if (spec.cli) {
|
|
5341
|
-
const extras = spec.hostEnvKey ? ` / \`${spec.hostEnvKey}\`` : "";
|
|
5342
|
-
lines.push(
|
|
5343
|
-
`- ${spec.label}: use the \`${spec.cli}\` CLI (\`${spec.envKey}\`${extras}). Do not add a ${spec.label} MCP.`
|
|
5344
|
-
);
|
|
5345
|
-
} else {
|
|
5346
|
-
const extras = spec.hostEnvKey ? ` / \`${spec.hostEnvKey}\`` : "";
|
|
5347
|
-
lines.push(
|
|
5348
|
-
`- ${spec.label}: no first-class CLI \u2014 call the HTTP API with \`${spec.envKey}\`${extras}. Do not add a ${spec.label} MCP.`
|
|
5349
|
-
);
|
|
5350
|
-
}
|
|
5351
|
-
}
|
|
5352
|
-
lines.push(
|
|
5353
|
-
"If a connector MCP is listed but needsAuth or returns unauthorized, do not sign in to that MCP. Check the native CLI (or the HTTP API when there is no CLI) \u2014 the token is already in this process."
|
|
5354
|
-
);
|
|
5355
|
-
lines.push(
|
|
5356
|
-
"If a CLI is missing, say so or use the HTTP API with the same token. The user can Install CLI from Settings \u2192 Connectors. Do not ask the user to install a vendor MCP."
|
|
5357
|
-
);
|
|
5358
|
-
lines.push(
|
|
5359
|
-
"Safe CLI / HTTP (every connector \u2014 `vercel logs`, Supabase inspect, `sentry-cli`, PostHog API):"
|
|
5360
|
-
);
|
|
5361
|
-
lines.push(
|
|
5362
|
-
'- Never put raw `--json` / `--expand` / huge dumps in the tool result. That crashes any worktree agent mid-turn (Claude / Cursor / Codex / OpenCode). Cursor chat fills with `file://\u2026/cursor-runtime/\u2026/@cursor/sdk/dist/esm/index.js` then minified `importas e from"@bufbuild/protobuf"`.'
|
|
5363
|
-
);
|
|
5364
|
-
lines.push(
|
|
5365
|
-
"- Write output to `.context/cli/` (worktree scratch; not `.context/attachments/`). Then read a slice. Tight window first (`--limit`, recent `--since` / last N events); raise only if empty."
|
|
5366
|
-
);
|
|
5367
|
-
lines.push(
|
|
5368
|
-
"- Filter (`jq`) to the fields you need (timestamp, path, status, message) \u2014 not the full request object."
|
|
5369
|
-
);
|
|
5370
|
-
lines.push(
|
|
5371
|
-
"- One query at a time. After you have the error line, stop fetching. Piping to `head` does not help \u2014 the CLI still buffers until you kill it."
|
|
5372
|
-
);
|
|
5373
|
-
lines.push(
|
|
5374
|
-
"- If a call is still running at ~40s with no useful output, stop waiting on the raw shell; detach (`/long-running`) or `stop_job` if it is hanging / doing the wrong thing."
|
|
5375
|
-
);
|
|
5376
|
-
return lines.join("\n");
|
|
5377
|
-
}
|
|
5378
|
-
function formatOptionalServicesReminder(integrations) {
|
|
5379
|
-
if (connectedOptionalServices(integrations).length === 0) return null;
|
|
5380
|
-
return "Settings \u2192 Connectors: official CLIs / PostHog HTTP with injected env. If a connector MCP needsAuth or is unauthorized, check the native CLI or HTTP API instead of signing in. Write output to `.context/cli/` (not `.context/attachments/`) and read a slice \u2014 never dump raw --json/--expand into the tool result (any agent). stop_job if a fetch hangs. Do not add vendor MCPs.";
|
|
5381
|
-
}
|
|
5382
|
-
|
|
5383
5281
|
// src/mcp/viewer-context-tools.ts
|
|
5384
5282
|
import { z as z3 } from "zod";
|
|
5385
5283
|
|
|
@@ -6095,7 +5993,7 @@ function formatScheduledPrompt(name, prompt) {
|
|
|
6095
5993
|
${prompt}`;
|
|
6096
5994
|
}
|
|
6097
5995
|
async function defaultDeps() {
|
|
6098
|
-
const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-
|
|
5996
|
+
const { getOrchestrator: getOrchestrator2, startOrchestration: startOrchestration2 } = await import("./orchestrator-MKF3YBNK.js");
|
|
6099
5997
|
const orch = getOrchestrator2();
|
|
6100
5998
|
return {
|
|
6101
5999
|
findThread: (id) => findThreadByRef(id),
|
|
@@ -6413,7 +6311,7 @@ var Orchestrator = class {
|
|
|
6413
6311
|
orphans: orphans.map((o) => ({ path: o.path, repoPath: o.repoPath }))
|
|
6414
6312
|
});
|
|
6415
6313
|
}
|
|
6416
|
-
const { autoCleanupOrphansEnabled } = await import("./app-settings-
|
|
6314
|
+
const { autoCleanupOrphansEnabled } = await import("./app-settings-EHMXHNG5.js");
|
|
6417
6315
|
if (autoCleanupOrphansEnabled() && shouldRunWorktreeCleanup() && orphans.length > 0) {
|
|
6418
6316
|
await cleanupOrphanWorktrees({ repoPaths });
|
|
6419
6317
|
}
|
|
@@ -6807,7 +6705,7 @@ var Orchestrator = class {
|
|
|
6807
6705
|
}
|
|
6808
6706
|
await setup;
|
|
6809
6707
|
if (skipSetup) return;
|
|
6810
|
-
const { autoRunAfterSetupEnabled } = await import("./app-settings-
|
|
6708
|
+
const { autoRunAfterSetupEnabled } = await import("./app-settings-EHMXHNG5.js");
|
|
6811
6709
|
if (autoRunAfterSetupEnabled()) {
|
|
6812
6710
|
try {
|
|
6813
6711
|
await this.startDev(threadId);
|
|
@@ -7146,7 +7044,7 @@ var Orchestrator = class {
|
|
|
7146
7044
|
const artifactReminder = thread.agent !== "brightsy" ? formatUiReminder() : null;
|
|
7147
7045
|
const longRunningReminder = thread.agent !== "brightsy" && !isOrchestratorThread(thread) ? formatLongRunningReminder({ activeRuns: worktreeActiveRuns }) : null;
|
|
7148
7046
|
const worktreeReminder = thread.agent !== "brightsy" && !isOrchestratorThread(thread) ? formatWorktreeReminder() : null;
|
|
7149
|
-
const optionalServicesReminder = thread.agent !== "brightsy" && !isOrchestratorThread(thread) ?
|
|
7047
|
+
const optionalServicesReminder = thread.agent !== "brightsy" && !isOrchestratorThread(thread) ? await formatOptionalServicesReminderForTurn(loadAppSettings().integrations) : null;
|
|
7150
7048
|
const issueTicket = issueTicketFromThread(thread, resolveEffectiveIssueSource());
|
|
7151
7049
|
const issueToolsReminder = thread.agent !== "brightsy" && !isOrchestratorThread(thread) ? formatIssueToolsReminder({
|
|
7152
7050
|
linear: isLinearConnected(),
|
|
@@ -7198,7 +7096,7 @@ ${formatEnvReminder(projectNameForRepoPath(thread.repoPath || thread.worktreePat
|
|
|
7198
7096
|
}
|
|
7199
7097
|
const isBrightsy = fresh.agent === "brightsy";
|
|
7200
7098
|
const isOrchestration = isOrchestratorThread(fresh);
|
|
7201
|
-
const { autoRenameBranchEnabled, getGithubGitAuthMode, gitBranchPrefixSetting } = await import("./app-settings-
|
|
7099
|
+
const { autoRenameBranchEnabled, getGithubGitAuthMode, gitBranchPrefixSetting } = await import("./app-settings-EHMXHNG5.js");
|
|
7202
7100
|
const gitAuthMode = getGithubGitAuthMode();
|
|
7203
7101
|
const worktreeDirective = isBrightsy || isOrchestration ? null : formatWorktreeDirective(fresh, {
|
|
7204
7102
|
githubSlug: await withTimeout(
|
|
@@ -7217,7 +7115,7 @@ ${formatEnvReminder(projectNameForRepoPath(thread.repoPath || thread.worktreePat
|
|
|
7217
7115
|
});
|
|
7218
7116
|
const artifactDirective = isBrightsy ? null : formatArtifactDirective();
|
|
7219
7117
|
const longRunningDirective = isBrightsy || isOrchestration ? null : formatLongRunningDirective();
|
|
7220
|
-
const optionalServicesDirective = isBrightsy || isOrchestration ? null :
|
|
7118
|
+
const optionalServicesDirective = isBrightsy || isOrchestration ? null : await formatOptionalServicesDirectiveForTurn(loadAppSettings().integrations);
|
|
7221
7119
|
const freshIssueTicket = issueTicketFromThread(fresh, resolveEffectiveIssueSource());
|
|
7222
7120
|
const issueToolsDirective = isBrightsy || isOrchestration ? null : formatIssueToolsDirective({
|
|
7223
7121
|
linear: isLinearConnected(),
|
|
@@ -7394,7 +7292,7 @@ ${formatEnvReminder(projectNameForRepoPath(thread.repoPath || thread.worktreePat
|
|
|
7394
7292
|
}
|
|
7395
7293
|
} catch {
|
|
7396
7294
|
}
|
|
7397
|
-
const retryNote = isolateCodexPluginRetry ? "Codex plugin/MCP failed \u2014 continuing without that vendor plugin (Settings \u2192 Connectors
|
|
7295
|
+
const retryNote = isolateCodexPluginRetry ? "Codex plugin/MCP failed \u2014 continuing without that vendor plugin (PostHog: Settings \u2192 Connectors and posthog_api)" : looksLikeInvalidAgentSession(detail) ? "Agent session missing \u2014 starting a fresh session" : looksLikeV8Oom(detail) ? "Agent ran out of memory \u2014 starting a fresh session" : "Agent runner crashed \u2014 restarting Node once";
|
|
7398
7296
|
pushTurnStderr(stderrTail, retryNote);
|
|
7399
7297
|
this.emit({
|
|
7400
7298
|
type: "turn_output",
|
|
@@ -8514,7 +8412,7 @@ ${formatEnvReminder(projectNameForRepoPath(thread.repoPath || thread.worktreePat
|
|
|
8514
8412
|
if (Object.keys(patch).length === 0) continue;
|
|
8515
8413
|
updateThread(t.id, patch);
|
|
8516
8414
|
}
|
|
8517
|
-
const { autoArchiveOnMergeEnabled } = await import("./app-settings-
|
|
8415
|
+
const { autoArchiveOnMergeEnabled } = await import("./app-settings-EHMXHNG5.js");
|
|
8518
8416
|
const latest = this.requireThread(thread.id);
|
|
8519
8417
|
if (!shouldAutoArchiveOnPrMerge({
|
|
8520
8418
|
previousPrState: prevState || null,
|
|
@@ -8831,7 +8729,7 @@ ${formatEnvReminder(projectNameForRepoPath(thread.repoPath || thread.worktreePat
|
|
|
8831
8729
|
await runArchiveScript(thread.repoPath, thread.worktreePath);
|
|
8832
8730
|
} catch {
|
|
8833
8731
|
}
|
|
8834
|
-
const { deleteBranchOnPurgeEnabled } = await import("./app-settings-
|
|
8732
|
+
const { deleteBranchOnPurgeEnabled } = await import("./app-settings-EHMXHNG5.js");
|
|
8835
8733
|
const deleteBranch = opts?.deleteBranch ?? deleteBranchOnPurgeEnabled();
|
|
8836
8734
|
await removeWorktree(thread.repoPath, thread.worktreePath, {
|
|
8837
8735
|
deleteBranch: deleteBranch ? thread.branchName : void 0
|
|
@@ -8967,7 +8865,7 @@ async function startOrchestration(opts) {
|
|
|
8967
8865
|
sourceRef: "default",
|
|
8968
8866
|
...createOpts
|
|
8969
8867
|
}).catch(async () => {
|
|
8970
|
-
const { resolveDefaultBranch: resolveDefaultBranch2, resolveRepoRoot: resolveRepoRoot2 } = await import("./worktree-
|
|
8868
|
+
const { resolveDefaultBranch: resolveDefaultBranch2, resolveRepoRoot: resolveRepoRoot2 } = await import("./worktree-ADVQ6X6C.js");
|
|
8971
8869
|
const repo = await resolveRepoRoot2(repoPath);
|
|
8972
8870
|
const def = await resolveDefaultBranch2(repo);
|
|
8973
8871
|
return orch.createThread({
|
|
@@ -8977,7 +8875,7 @@ async function startOrchestration(opts) {
|
|
|
8977
8875
|
repoPath: repo
|
|
8978
8876
|
});
|
|
8979
8877
|
});
|
|
8980
|
-
const { updateThread: upd } = await import("./thread-store-
|
|
8878
|
+
const { updateThread: upd } = await import("./thread-store-DPKESDFR.js");
|
|
8981
8879
|
const updated = upd(thread.id, {
|
|
8982
8880
|
sourceType: "orchestration",
|
|
8983
8881
|
sourceRef: goal
|
|
@@ -5,17 +5,17 @@ import {
|
|
|
5
5
|
compactSummaryPart,
|
|
6
6
|
isInternalAgentStatusText,
|
|
7
7
|
lastAssistantMessageText
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-AFLNFGGB.js";
|
|
9
9
|
import {
|
|
10
10
|
isCloudCoordinatorThread,
|
|
11
11
|
isGlobalThread,
|
|
12
12
|
isOrchestratorThread,
|
|
13
13
|
isSlackCoordinatorThread
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-O4324MXE.js";
|
|
15
15
|
import {
|
|
16
16
|
mergeAgentGitAuthEnv,
|
|
17
17
|
resolveAgentGitAuthEnv
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-5HPMKLJ7.js";
|
|
19
19
|
import {
|
|
20
20
|
ATTACHMENTS_DIR,
|
|
21
21
|
DETACHED_JOBS_DIR,
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
import {
|
|
33
33
|
assertOrchestratorCapableAgent,
|
|
34
34
|
contextTokens
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-MVZO7QZ2.js";
|
|
36
36
|
import {
|
|
37
37
|
stripNestedElectronEnv
|
|
38
38
|
} from "./chunk-WWUABK6B.js";
|
|
@@ -46,7 +46,7 @@ import {
|
|
|
46
46
|
updateThread,
|
|
47
47
|
worktreeNameFromPath,
|
|
48
48
|
writeThread
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-YRXV3E7J.js";
|
|
50
50
|
import {
|
|
51
51
|
findConventionSetup,
|
|
52
52
|
loadRepoSettings,
|
|
@@ -1674,7 +1674,7 @@ var PORT_RANGE_SIZE = 10;
|
|
|
1674
1674
|
var RECLAIM_RETRY_DELAY_MS = 40;
|
|
1675
1675
|
var RECLAIM_TRIES = 8;
|
|
1676
1676
|
async function killReclaimable(ports, worktreePath, signal) {
|
|
1677
|
-
const { killListenersOnPorts: killListenersOnPorts2, killStaleWorktreeListeners: killStaleWorktreeListeners2 } = await import("./conductor-
|
|
1677
|
+
const { killListenersOnPorts: killListenersOnPorts2, killStaleWorktreeListeners: killStaleWorktreeListeners2 } = await import("./conductor-5MNGC25D.js");
|
|
1678
1678
|
if (worktreePath) killStaleWorktreeListeners2(ports, worktreePath, signal);
|
|
1679
1679
|
else killListenersOnPorts2(ports);
|
|
1680
1680
|
}
|
|
@@ -2,17 +2,17 @@ import {
|
|
|
2
2
|
compactSummaryPart,
|
|
3
3
|
isInternalAgentStatusText,
|
|
4
4
|
lastAssistantMessageText
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-YSLCWCMJ.js";
|
|
6
6
|
import {
|
|
7
7
|
isCloudCoordinatorThread,
|
|
8
8
|
isGlobalThread,
|
|
9
9
|
isOrchestratorThread,
|
|
10
10
|
isSlackCoordinatorThread
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-V3BSO2O6.js";
|
|
12
12
|
import {
|
|
13
13
|
mergeAgentGitAuthEnv,
|
|
14
14
|
resolveAgentGitAuthEnv
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-2IXKTAIT.js";
|
|
16
16
|
import {
|
|
17
17
|
allocateTeamName,
|
|
18
18
|
createEmptyThread,
|
|
@@ -23,13 +23,13 @@ import {
|
|
|
23
23
|
updateThread,
|
|
24
24
|
worktreeNameFromPath,
|
|
25
25
|
writeThread
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-QB5MDOHL.js";
|
|
27
27
|
import {
|
|
28
28
|
ensureWorktreeSideboardIgnored
|
|
29
29
|
} from "./chunk-2P4XKWV2.js";
|
|
30
30
|
import {
|
|
31
31
|
clipToolResultForStore
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-MIVX7QKI.js";
|
|
33
33
|
import {
|
|
34
34
|
ATTACHMENTS_DIR,
|
|
35
35
|
DETACHED_JOBS_DIR,
|
|
@@ -43,7 +43,7 @@ import {
|
|
|
43
43
|
import {
|
|
44
44
|
assertOrchestratorCapableAgent,
|
|
45
45
|
contextTokens
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-36J3IZBS.js";
|
|
47
47
|
import {
|
|
48
48
|
stripNestedElectronEnv
|
|
49
49
|
} from "./chunk-4TR3HZFT.js";
|
|
@@ -1776,7 +1776,7 @@ var PORT_RANGE_SIZE = 10;
|
|
|
1776
1776
|
var RECLAIM_RETRY_DELAY_MS = 40;
|
|
1777
1777
|
var RECLAIM_TRIES = 8;
|
|
1778
1778
|
async function killReclaimable(ports, worktreePath, signal) {
|
|
1779
|
-
const { killListenersOnPorts: killListenersOnPorts2, killStaleWorktreeListeners: killStaleWorktreeListeners2 } = await import("./conductor-
|
|
1779
|
+
const { killListenersOnPorts: killListenersOnPorts2, killStaleWorktreeListeners: killStaleWorktreeListeners2 } = await import("./conductor-UFJXJPTF.js");
|
|
1780
1780
|
if (worktreePath) killStaleWorktreeListeners2(ports, worktreePath, signal);
|
|
1781
1781
|
else killListenersOnPorts2(ports);
|
|
1782
1782
|
}
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
import {
|
|
7
7
|
getAbleTimeHost,
|
|
8
8
|
isAbleTimeConnected
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-MVZO7QZ2.js";
|
|
10
10
|
|
|
11
11
|
// src/integrations/abletime-mcp.ts
|
|
12
12
|
var DEFAULT_ABLETIME_HOST = "https://track.abletime.com";
|
|
@@ -155,7 +155,7 @@ function textsFromUnknown(value) {
|
|
|
155
155
|
return "";
|
|
156
156
|
}
|
|
157
157
|
async function abletimeMcpRequest(method, params, opts) {
|
|
158
|
-
const rawToken = opts?.token ?? await import("./abletime-oauth-
|
|
158
|
+
const rawToken = opts?.token ?? await import("./abletime-oauth-FW24YHYX.js").then((m) => m.ensureAbleTimeAccessToken());
|
|
159
159
|
if (!rawToken?.trim()) {
|
|
160
160
|
throw new Error("AbleTime is not connected \u2014 paste a personal access token in Account settings");
|
|
161
161
|
}
|
|
@@ -226,9 +226,9 @@ async function callAbleTimeTool(name, args = {}, opts) {
|
|
|
226
226
|
if (!opts?.token && !isAbleTimeConnected()) {
|
|
227
227
|
throw new Error("AbleTime is not connected \u2014 paste a personal access token in Account settings");
|
|
228
228
|
}
|
|
229
|
-
const rawToken = opts?.token ?? await import("./abletime-oauth-
|
|
229
|
+
const rawToken = opts?.token ?? await import("./abletime-oauth-FW24YHYX.js").then((m) => m.ensureAbleTimeAccessToken());
|
|
230
230
|
if (rawToken && ableTimeUsesRest(rawToken)) {
|
|
231
|
-
const { callAbleTimeRestTool } = await import("./abletime-rest-
|
|
231
|
+
const { callAbleTimeRestTool } = await import("./abletime-rest-OGWC7BC6.js");
|
|
232
232
|
return callAbleTimeRestTool(name, args, { ...opts, token: rawToken });
|
|
233
233
|
}
|
|
234
234
|
const requestOpts = { ...opts, pm: opts?.pm ?? abletimeToolUsesPm(name) };
|
|
@@ -244,7 +244,7 @@ async function callAbleTimeTool(name, args = {}, opts) {
|
|
|
244
244
|
return await call();
|
|
245
245
|
}
|
|
246
246
|
if (rawToken && ableTimeUsesRest(rawToken) && isAbleTimeRejectedCredential(message)) {
|
|
247
|
-
const { callAbleTimeRestTool } = await import("./abletime-rest-
|
|
247
|
+
const { callAbleTimeRestTool } = await import("./abletime-rest-OGWC7BC6.js");
|
|
248
248
|
return callAbleTimeRestTool(name, args, { ...opts, token: rawToken });
|
|
249
249
|
}
|
|
250
250
|
throw err instanceof Error ? new Error(rewriteAbleTimeError(err.message)) : err;
|