@wrongstack/cli 0.306.0 → 0.306.3
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/{auth-GVPYLJPS.js → auth-L3WGSGDX.js} +4 -4
- package/dist/{chunk-WC3DK6BI.js → chunk-HITHEXE3.js} +2 -2
- package/dist/{chunk-5JW3XCRA.js → chunk-KXN5HZDL.js} +2 -2
- package/dist/{chunk-V3XH6XBJ.js → chunk-T6YAVFXA.js} +33 -2
- package/dist/{chunk-3IC4IEZC.js → chunk-VUVOMXWP.js} +34 -3
- package/dist/{cli-main-DHNFGP3Z.js → cli-main-3PUWFKSL.js} +132 -106
- package/dist/execute-deps.d.ts +14 -0
- package/dist/{execution-TTE7R5UY.js → execution-4IG5XKOL.js} +378 -2
- package/dist/index.js +7 -7
- package/dist/{mcp-MSARYOPN.js → mcp-JNWEQ6T2.js} +17 -5
- package/dist/provider-helpers.d.ts +1 -5
- package/dist/{providers-models-VV74TRQ2.js → providers-models-HQN3AT3K.js} +2 -2
- package/dist/services/run-git.d.ts +18 -0
- package/dist/slash-commands/git.d.ts +0 -5
- package/dist/slash-commands/theme.d.ts +32 -0
- package/dist/tui-resource-menus.d.ts +13 -0
- package/package.json +24 -24
|
@@ -25,8 +25,9 @@ import {
|
|
|
25
25
|
persistConfigSetting,
|
|
26
26
|
persistTelegramConfig,
|
|
27
27
|
removeSuggestions,
|
|
28
|
+
runGit,
|
|
28
29
|
setSuggestions
|
|
29
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-T6YAVFXA.js";
|
|
30
31
|
import {
|
|
31
32
|
startCliHqConnection
|
|
32
33
|
} from "./chunk-FKWHSFX4.js";
|
|
@@ -80,15 +81,15 @@ import {
|
|
|
80
81
|
runClaudeOAuthLogin,
|
|
81
82
|
runCopilotOAuthLogin,
|
|
82
83
|
validateFamily
|
|
83
|
-
} from "./chunk-
|
|
84
|
+
} from "./chunk-HITHEXE3.js";
|
|
84
85
|
import {
|
|
85
86
|
LOCAL_LLM_PRESETS,
|
|
86
87
|
parseSpawnFlags
|
|
87
|
-
} from "./chunk-
|
|
88
|
+
} from "./chunk-KXN5HZDL.js";
|
|
88
89
|
import {
|
|
89
90
|
buildPickableProviders,
|
|
90
91
|
visibleModelIds
|
|
91
|
-
} from "./chunk-
|
|
92
|
+
} from "./chunk-VUVOMXWP.js";
|
|
92
93
|
import {
|
|
93
94
|
runCodexOAuthLogin
|
|
94
95
|
} from "./chunk-SSSJQVUY.js";
|
|
@@ -16503,35 +16504,8 @@ function handleFleetHelp(opts) {
|
|
|
16503
16504
|
}
|
|
16504
16505
|
|
|
16505
16506
|
// src/slash-commands/git.ts
|
|
16506
|
-
import { spawn as spawn5 } from "node:child_process";
|
|
16507
16507
|
import { assessCommitSafety } from "@wrongstack/core/coordination";
|
|
16508
|
-
import { color as color27
|
|
16509
|
-
async function runGit(args, cwd) {
|
|
16510
|
-
try {
|
|
16511
|
-
return await new Promise((resolve8, reject) => {
|
|
16512
|
-
const child = spawn5("git", args, {
|
|
16513
|
-
cwd,
|
|
16514
|
-
stdio: ["ignore", "pipe", "pipe"],
|
|
16515
|
-
signal: AbortSignal.timeout(3e4),
|
|
16516
|
-
windowsHide: true
|
|
16517
|
-
});
|
|
16518
|
-
let stdout = "";
|
|
16519
|
-
let stderr = "";
|
|
16520
|
-
child.stdout?.on("data", (d) => {
|
|
16521
|
-
stdout += d;
|
|
16522
|
-
});
|
|
16523
|
-
child.stderr?.on("data", (d) => {
|
|
16524
|
-
stderr += d;
|
|
16525
|
-
});
|
|
16526
|
-
child.on("error", (err) => {
|
|
16527
|
-
reject(new Error(`Failed to run git: ${err.message}`));
|
|
16528
|
-
});
|
|
16529
|
-
child.on("close", (code) => resolve8({ stdout, stderr, code: code ?? 0 }));
|
|
16530
|
-
});
|
|
16531
|
-
} catch (err) {
|
|
16532
|
-
throw new Error(toErrorMessage14(err));
|
|
16533
|
-
}
|
|
16534
|
-
}
|
|
16508
|
+
import { color as color27 } from "@wrongstack/core/utils";
|
|
16535
16509
|
async function isGitRepo2(cwd) {
|
|
16536
16510
|
const result = await runGit(["rev-parse", "--git-dir"], cwd);
|
|
16537
16511
|
return result.code === 0;
|
|
@@ -16836,7 +16810,7 @@ import {
|
|
|
16836
16810
|
color as color28,
|
|
16837
16811
|
configureChildEnvGitIdentity as configureChildEnvGitIdentity2,
|
|
16838
16812
|
getChildEnvGitIdentity,
|
|
16839
|
-
toErrorMessage as
|
|
16813
|
+
toErrorMessage as toErrorMessage14
|
|
16840
16814
|
} from "@wrongstack/core/utils";
|
|
16841
16815
|
function looksLikeEmail(s) {
|
|
16842
16816
|
return /^[^\s@]+@[^\s@]+$/.test(s);
|
|
@@ -16971,7 +16945,7 @@ function buildGitIdCommand(opts) {
|
|
|
16971
16945
|
message: `${color28.red("Unknown subcommand")} "${sub}". Try ${color28.dim("/gitid")}, ${color28.dim("/gitid set <name...> <email>")}, or ${color28.dim("/gitid help")}.`
|
|
16972
16946
|
};
|
|
16973
16947
|
} catch (err) {
|
|
16974
|
-
return { message: `${color28.red("gitid error")}: ${
|
|
16948
|
+
return { message: `${color28.red("gitid error")}: ${toErrorMessage14(err)}` };
|
|
16975
16949
|
}
|
|
16976
16950
|
}
|
|
16977
16951
|
};
|
|
@@ -19408,7 +19382,7 @@ function buildMailboxDemoCommand(opts) {
|
|
|
19408
19382
|
}
|
|
19409
19383
|
|
|
19410
19384
|
// src/slash-commands/mailbox-serve.ts
|
|
19411
|
-
import { spawn as
|
|
19385
|
+
import { spawn as spawn5 } from "node:child_process";
|
|
19412
19386
|
import * as fs12 from "node:fs/promises";
|
|
19413
19387
|
import * as os2 from "node:os";
|
|
19414
19388
|
import * as path23 from "node:path";
|
|
@@ -19471,7 +19445,7 @@ function buildMailboxServeCommand(opts) {
|
|
|
19471
19445
|
spawnArgs = ["mailbox", "serve", ...flags];
|
|
19472
19446
|
if (isWin) shim = buildWin32CmdShimInvocation(wstackCmd, spawnArgs);
|
|
19473
19447
|
}
|
|
19474
|
-
const child =
|
|
19448
|
+
const child = spawn5(shim?.command ?? wstackCmd, shim?.args ?? spawnArgs, {
|
|
19475
19449
|
cwd,
|
|
19476
19450
|
// POSIX-only: own process group so the bridge outlives the REPL.
|
|
19477
19451
|
// On win32 `detached` opens a visible console window (project
|
|
@@ -19751,11 +19725,11 @@ function errorMessage(err) {
|
|
|
19751
19725
|
}
|
|
19752
19726
|
|
|
19753
19727
|
// src/slash-commands/memory.ts
|
|
19754
|
-
import { toErrorMessage as
|
|
19728
|
+
import { toErrorMessage as toErrorMessage17 } from "@wrongstack/core/utils";
|
|
19755
19729
|
import { getSageSurface as getSageSurface2 } from "@wrongstack/sage";
|
|
19756
19730
|
|
|
19757
19731
|
// src/slash-commands/memory-compact.ts
|
|
19758
|
-
import { toErrorMessage as
|
|
19732
|
+
import { toErrorMessage as toErrorMessage15 } from "@wrongstack/core/utils";
|
|
19759
19733
|
import { getSageSurface } from "@wrongstack/sage";
|
|
19760
19734
|
var COMPACT_SYSTEM_PROMPT = `You are a memory curator. Your task is to review, deduplicate, and improve a set of long-term memory entries.
|
|
19761
19735
|
|
|
@@ -19868,7 +19842,7 @@ async function runCompact(opts) {
|
|
|
19868
19842
|
responseText = response.content.filter((b) => b.type === "text").map((b) => b.text).join("").trim();
|
|
19869
19843
|
} catch (err) {
|
|
19870
19844
|
return {
|
|
19871
|
-
message: `LLM call failed: ${
|
|
19845
|
+
message: `LLM call failed: ${toErrorMessage15(err)}`
|
|
19872
19846
|
};
|
|
19873
19847
|
}
|
|
19874
19848
|
if (!responseText) {
|
|
@@ -19884,7 +19858,7 @@ ${responseText.slice(0, 500)}` };
|
|
|
19884
19858
|
parsed = JSON.parse(jsonMatch[0]);
|
|
19885
19859
|
} catch (err) {
|
|
19886
19860
|
return {
|
|
19887
|
-
message: `Failed to parse LLM response: ${
|
|
19861
|
+
message: `Failed to parse LLM response: ${toErrorMessage15(err)}
|
|
19888
19862
|
|
|
19889
19863
|
Raw response:
|
|
19890
19864
|
${responseText.slice(0, 500)}`
|
|
@@ -19957,7 +19931,7 @@ ${responseText.slice(0, 500)}`
|
|
|
19957
19931
|
}
|
|
19958
19932
|
}
|
|
19959
19933
|
} catch (err) {
|
|
19960
|
-
errors.push(`${op.action} failed for ${op.targets.join(", ")}: ${
|
|
19934
|
+
errors.push(`${op.action} failed for ${op.targets.join(", ")}: ${toErrorMessage15(err)}`);
|
|
19961
19935
|
}
|
|
19962
19936
|
}
|
|
19963
19937
|
const lines = ["## Memory Compact \u2014 Complete"];
|
|
@@ -20363,7 +20337,7 @@ function formatSageShow(stats, memories) {
|
|
|
20363
20337
|
}
|
|
20364
20338
|
|
|
20365
20339
|
// src/slash-commands/memory-triage.ts
|
|
20366
|
-
import { toErrorMessage as
|
|
20340
|
+
import { toErrorMessage as toErrorMessage16 } from "@wrongstack/core/utils";
|
|
20367
20341
|
import {
|
|
20368
20342
|
fileTriageProposals,
|
|
20369
20343
|
formatTriageReport,
|
|
@@ -20475,7 +20449,7 @@ Usage: /memory triage [--dry-run|--apply] [--limit N] [--max-phase3 N] [--max-ph
|
|
|
20475
20449
|
verbose: false
|
|
20476
20450
|
});
|
|
20477
20451
|
} catch (err) {
|
|
20478
|
-
return { message: `Triage failed: ${
|
|
20452
|
+
return { message: `Triage failed: ${toErrorMessage16(err)}` };
|
|
20479
20453
|
}
|
|
20480
20454
|
if (!dryRun) {
|
|
20481
20455
|
const applyReport = await applyDispatch(Sage, report);
|
|
@@ -20503,7 +20477,11 @@ async function loadActiveMemories(Sage, limit) {
|
|
|
20503
20477
|
const page = await Sage.listSagePage({
|
|
20504
20478
|
statuses: ["active", "stale"],
|
|
20505
20479
|
limit: pageSize,
|
|
20506
|
-
cursor
|
|
20480
|
+
cursor,
|
|
20481
|
+
// Admin surface: the user running this command owns every session in the
|
|
20482
|
+
// project, so it opts out of the session filter the agent-facing tools
|
|
20483
|
+
// rely on. Without this, session-scoped memories vanish from the listing.
|
|
20484
|
+
includeAllSessions: true
|
|
20507
20485
|
});
|
|
20508
20486
|
all.push(...page.memories);
|
|
20509
20487
|
if (limit && all.length >= limit) break;
|
|
@@ -20532,7 +20510,7 @@ async function applyDispatch(Sage, report) {
|
|
|
20532
20510
|
autoOk++;
|
|
20533
20511
|
} catch (err) {
|
|
20534
20512
|
autoFail++;
|
|
20535
|
-
lines.push(` \u2717 Failed to update ${action.memoryId}: ${
|
|
20513
|
+
lines.push(` \u2717 Failed to update ${action.memoryId}: ${toErrorMessage16(err)}`);
|
|
20536
20514
|
}
|
|
20537
20515
|
}
|
|
20538
20516
|
lines.push(`**Auto-apply:** ${autoOk} succeeded, ${autoFail} failed`);
|
|
@@ -20547,7 +20525,7 @@ async function applyDispatch(Sage, report) {
|
|
|
20547
20525
|
} catch (err) {
|
|
20548
20526
|
mergeFail++;
|
|
20549
20527
|
lines.push(
|
|
20550
|
-
` \u2717 Failed to merge ${merge.supersededId} \u2192 ${merge.keeperId}: ${
|
|
20528
|
+
` \u2717 Failed to merge ${merge.supersededId} \u2192 ${merge.keeperId}: ${toErrorMessage16(err)}`
|
|
20551
20529
|
);
|
|
20552
20530
|
}
|
|
20553
20531
|
}
|
|
@@ -20633,7 +20611,7 @@ function buildMemoryCommand(opts) {
|
|
|
20633
20611
|
message: `Remembered \`${memory.id}\` [${memory.kind}] ${memory.text}${tags}`
|
|
20634
20612
|
};
|
|
20635
20613
|
} catch (err) {
|
|
20636
|
-
return { message: `Could not remember: ${
|
|
20614
|
+
return { message: `Could not remember: ${toErrorMessage17(err)}` };
|
|
20637
20615
|
}
|
|
20638
20616
|
}
|
|
20639
20617
|
case "update":
|
|
@@ -20671,7 +20649,7 @@ function buildMemoryCommand(opts) {
|
|
|
20671
20649
|
message: `Updated \`${memory.id}\` [${memory.kind}|${memory.status}] ${memory.text}`
|
|
20672
20650
|
};
|
|
20673
20651
|
} catch (err) {
|
|
20674
|
-
return { message: `Could not update: ${
|
|
20652
|
+
return { message: `Could not update: ${toErrorMessage17(err)}` };
|
|
20675
20653
|
}
|
|
20676
20654
|
}
|
|
20677
20655
|
case "delete":
|
|
@@ -20686,7 +20664,7 @@ function buildMemoryCommand(opts) {
|
|
|
20686
20664
|
await Sage.deleteSage(id, reason, { force: true });
|
|
20687
20665
|
return { message: `Deleted \`${id}\`.` };
|
|
20688
20666
|
} catch (err) {
|
|
20689
|
-
return { message: `Could not delete: ${
|
|
20667
|
+
return { message: `Could not delete: ${toErrorMessage17(err)}` };
|
|
20690
20668
|
}
|
|
20691
20669
|
}
|
|
20692
20670
|
case "forget":
|
|
@@ -20870,7 +20848,11 @@ function buildMemoryCommand(opts) {
|
|
|
20870
20848
|
statuses: resolvedStatus ? [resolvedStatus] : ["active"],
|
|
20871
20849
|
kind: kindVal,
|
|
20872
20850
|
query: query || void 0,
|
|
20873
|
-
limit
|
|
20851
|
+
limit,
|
|
20852
|
+
// Admin surface: the user running this command owns every session in the
|
|
20853
|
+
// project, so it opts out of the session filter the agent-facing tools
|
|
20854
|
+
// rely on. Without this, session-scoped memories vanish from the listing.
|
|
20855
|
+
includeAllSessions: true
|
|
20874
20856
|
});
|
|
20875
20857
|
if (page.memories.length === 0) {
|
|
20876
20858
|
return { message: "No memories matched the gather criteria." };
|
|
@@ -20934,7 +20916,7 @@ function buildMemoryCommand(opts) {
|
|
|
20934
20916
|
}
|
|
20935
20917
|
return { message: lines.join("\n") };
|
|
20936
20918
|
} catch (err) {
|
|
20937
|
-
return { message: `gather failed: ${
|
|
20919
|
+
return { message: `gather failed: ${toErrorMessage17(err)}` };
|
|
20938
20920
|
}
|
|
20939
20921
|
}
|
|
20940
20922
|
case "verify": {
|
|
@@ -21029,7 +21011,7 @@ function buildMemoryCommand(opts) {
|
|
|
21029
21011
|
File size reduced. Audit-logged as \`memory.log_compacted\`.`
|
|
21030
21012
|
};
|
|
21031
21013
|
} catch (err) {
|
|
21032
|
-
return { message: `Compaction failed: ${
|
|
21014
|
+
return { message: `Compaction failed: ${toErrorMessage17(err)}` };
|
|
21033
21015
|
}
|
|
21034
21016
|
}
|
|
21035
21017
|
case "stats": {
|
|
@@ -21257,7 +21239,7 @@ async function runAudienceMemory(store, rest) {
|
|
|
21257
21239
|
message: `Remembered \`${memory.id}\` for ${formatAudienceSelector(memory.audience)}: ${memory.text}`
|
|
21258
21240
|
};
|
|
21259
21241
|
} catch (err) {
|
|
21260
|
-
return { message: `Could not remember: ${
|
|
21242
|
+
return { message: `Could not remember: ${toErrorMessage17(err)}` };
|
|
21261
21243
|
}
|
|
21262
21244
|
}
|
|
21263
21245
|
if (sub === "clear") {
|
|
@@ -21269,7 +21251,7 @@ async function runAudienceMemory(store, rest) {
|
|
|
21269
21251
|
message: `Cleared audience scope from \`${id}\` \u2014 it is now general project memory.`
|
|
21270
21252
|
};
|
|
21271
21253
|
} catch (err) {
|
|
21272
|
-
return { message: `Could not clear audience: ${
|
|
21254
|
+
return { message: `Could not clear audience: ${toErrorMessage17(err)}` };
|
|
21273
21255
|
}
|
|
21274
21256
|
}
|
|
21275
21257
|
if (sub === "search" || sub === "find") {
|
|
@@ -21893,7 +21875,7 @@ import {
|
|
|
21893
21875
|
ConfigError as ConfigError4,
|
|
21894
21876
|
ToolValidationError as ToolValidationError4
|
|
21895
21877
|
} from "@wrongstack/core/types";
|
|
21896
|
-
import { atomicWrite as atomicWrite7, color as color37, toErrorMessage as
|
|
21878
|
+
import { atomicWrite as atomicWrite7, color as color37, toErrorMessage as toErrorMessage18 } from "@wrongstack/core/utils";
|
|
21897
21879
|
async function patchProfileConfig(mutate, profileConfigPath) {
|
|
21898
21880
|
const targetPath = profileConfigPath;
|
|
21899
21881
|
let raw = "{}";
|
|
@@ -22125,7 +22107,7 @@ function buildModelsCommand(opts) {
|
|
|
22125
22107
|
};
|
|
22126
22108
|
} catch (err) {
|
|
22127
22109
|
return {
|
|
22128
|
-
message: `${color37.red("models error")}: ${
|
|
22110
|
+
message: `${color37.red("models error")}: ${toErrorMessage18(err)}`
|
|
22129
22111
|
};
|
|
22130
22112
|
}
|
|
22131
22113
|
}
|
|
@@ -22997,7 +22979,7 @@ function buildPruneCommand(opts) {
|
|
|
22997
22979
|
|
|
22998
22980
|
// src/slash-commands/refiner.ts
|
|
22999
22981
|
import { noOpVault as noOpVault5 } from "@wrongstack/core/security";
|
|
23000
|
-
import { color as color42, toErrorMessage as
|
|
22982
|
+
import { color as color42, toErrorMessage as toErrorMessage19 } from "@wrongstack/core/utils";
|
|
23001
22983
|
function buildRefinerCommand(opts) {
|
|
23002
22984
|
const help = [
|
|
23003
22985
|
"Usage:",
|
|
@@ -23097,7 +23079,7 @@ function buildRefinerCommand(opts) {
|
|
|
23097
23079
|
};
|
|
23098
23080
|
} catch (err) {
|
|
23099
23081
|
return {
|
|
23100
|
-
message: `${color42.red("refiner error")}: ${
|
|
23082
|
+
message: `${color42.red("refiner error")}: ${toErrorMessage19(err)}`
|
|
23101
23083
|
};
|
|
23102
23084
|
}
|
|
23103
23085
|
}
|
|
@@ -23119,7 +23101,7 @@ function buildRefinerCommand(opts) {
|
|
|
23119
23101
|
};
|
|
23120
23102
|
} catch (err) {
|
|
23121
23103
|
return {
|
|
23122
|
-
message: `${color42.red("refiner error")}: ${
|
|
23104
|
+
message: `${color42.red("refiner error")}: ${toErrorMessage19(err)}`
|
|
23123
23105
|
};
|
|
23124
23106
|
}
|
|
23125
23107
|
}
|
|
@@ -24302,7 +24284,7 @@ ${sddHelp()}`
|
|
|
24302
24284
|
|
|
24303
24285
|
// src/slash-commands/session.ts
|
|
24304
24286
|
import { SessionRecovery } from "@wrongstack/core/storage";
|
|
24305
|
-
import { color as color43, isPidAlive, toErrorMessage as
|
|
24287
|
+
import { color as color43, isPidAlive, toErrorMessage as toErrorMessage20 } from "@wrongstack/core/utils";
|
|
24306
24288
|
function statusIcon2(status) {
|
|
24307
24289
|
switch (status) {
|
|
24308
24290
|
case "active":
|
|
@@ -24424,7 +24406,7 @@ function buildLoadCommand(opts) {
|
|
|
24424
24406
|
message: name ? color43.green(`Renamed ${targetId} \u2192 "${name}"`) : color43.green(`Cleared name on ${targetId} (title: "${summary.title}")`)
|
|
24425
24407
|
};
|
|
24426
24408
|
} catch (err) {
|
|
24427
|
-
return { message: color43.red(`Rename failed: ${
|
|
24409
|
+
return { message: color43.red(`Rename failed: ${toErrorMessage20(err)}`) };
|
|
24428
24410
|
}
|
|
24429
24411
|
}
|
|
24430
24412
|
if (first === "delete") {
|
|
@@ -24455,7 +24437,7 @@ function buildLoadCommand(opts) {
|
|
|
24455
24437
|
await opts.sessionStore.delete(targetId);
|
|
24456
24438
|
return { message: color43.green(`Deleted session ${targetId}`) };
|
|
24457
24439
|
} catch (err) {
|
|
24458
|
-
return { message: color43.red(`Delete failed: ${
|
|
24440
|
+
return { message: color43.red(`Delete failed: ${toErrorMessage20(err)}`) };
|
|
24459
24441
|
}
|
|
24460
24442
|
}
|
|
24461
24443
|
const showIncomplete = parts.includes("--incomplete") || parts.includes("-i");
|
|
@@ -24789,7 +24771,7 @@ async function killSession(sessionId, confirm) {
|
|
|
24789
24771
|
};
|
|
24790
24772
|
} catch (err) {
|
|
24791
24773
|
return {
|
|
24792
|
-
message: color43.red(`Failed to kill session: ${
|
|
24774
|
+
message: color43.red(`Failed to kill session: ${toErrorMessage20(err)}`)
|
|
24793
24775
|
};
|
|
24794
24776
|
}
|
|
24795
24777
|
}
|
|
@@ -24809,7 +24791,7 @@ import { decryptConfigSecrets as decryptConfigSecrets4, encryptConfigSecrets as
|
|
|
24809
24791
|
import {
|
|
24810
24792
|
ConfigError as ConfigError5
|
|
24811
24793
|
} from "@wrongstack/core/types";
|
|
24812
|
-
import { atomicWrite as atomicWrite9, color as color44, expectDefined as expectDefined8, toErrorMessage as
|
|
24794
|
+
import { atomicWrite as atomicWrite9, color as color44, expectDefined as expectDefined8, toErrorMessage as toErrorMessage21 } from "@wrongstack/core/utils";
|
|
24813
24795
|
import { catalogProviderIdFor } from "@wrongstack/providers";
|
|
24814
24796
|
async function resolveCatalogModelIds(registry, config, providerIds) {
|
|
24815
24797
|
const out = /* @__PURE__ */ new Map();
|
|
@@ -25383,7 +25365,7 @@ function buildSetModelCommand(opts) {
|
|
|
25383
25365
|
};
|
|
25384
25366
|
} catch (err) {
|
|
25385
25367
|
return {
|
|
25386
|
-
message: `${color44.red("setmodel error")}: ${
|
|
25368
|
+
message: `${color44.red("setmodel error")}: ${toErrorMessage21(err)}`
|
|
25387
25369
|
};
|
|
25388
25370
|
}
|
|
25389
25371
|
}
|
|
@@ -25394,7 +25376,7 @@ function buildSetModelCommand(opts) {
|
|
|
25394
25376
|
import { execFile as execFile3 } from "node:child_process";
|
|
25395
25377
|
import { access as access4 } from "node:fs/promises";
|
|
25396
25378
|
import * as path25 from "node:path";
|
|
25397
|
-
import { color as color45, toErrorMessage as
|
|
25379
|
+
import { color as color45, toErrorMessage as toErrorMessage22 } from "@wrongstack/core/utils";
|
|
25398
25380
|
import { parseNextSteps } from "@wrongstack/tools/next-steps";
|
|
25399
25381
|
function readGitStatus(projectRoot, includeBranch) {
|
|
25400
25382
|
const args = ["status", "--short"];
|
|
@@ -25519,7 +25501,7 @@ function buildSuggestCommand(opts) {
|
|
|
25519
25501
|
suggestCache = { suggestions, at: Date.now() };
|
|
25520
25502
|
return { message: formatSuggestions(suggestions) };
|
|
25521
25503
|
} catch (err) {
|
|
25522
|
-
const msg = `Suggestion generation failed: ${
|
|
25504
|
+
const msg = `Suggestion generation failed: ${toErrorMessage22(err)}`;
|
|
25523
25505
|
opts.renderer.writeWarning(msg);
|
|
25524
25506
|
return { message: msg };
|
|
25525
25507
|
}
|
|
@@ -25742,22 +25724,58 @@ function presetHelpLines(perLine = 4) {
|
|
|
25742
25724
|
}
|
|
25743
25725
|
return lines;
|
|
25744
25726
|
}
|
|
25727
|
+
function computeWindow(total, selected, rows) {
|
|
25728
|
+
const chromeRows = 5;
|
|
25729
|
+
const markerRows = 2;
|
|
25730
|
+
const minVisible = 3;
|
|
25731
|
+
if (total <= 0) return { start: 0, end: 0, hasAbove: false, hasBelow: false };
|
|
25732
|
+
const available = Math.max(1, rows - chromeRows - markerRows);
|
|
25733
|
+
const visible = Math.max(minVisible, Math.min(total, Math.floor(available)));
|
|
25734
|
+
const safeSelected = selected >= 0 && selected < total ? selected : 0;
|
|
25735
|
+
let start;
|
|
25736
|
+
if (safeSelected < visible) {
|
|
25737
|
+
start = 0;
|
|
25738
|
+
} else {
|
|
25739
|
+
const halfWindow = Math.floor(visible / 2);
|
|
25740
|
+
start = safeSelected - halfWindow;
|
|
25741
|
+
start = Math.max(0, Math.min(total - visible, start));
|
|
25742
|
+
}
|
|
25743
|
+
const end = Math.min(total, start + visible);
|
|
25744
|
+
return { start, end, hasAbove: start > 0, hasBelow: end < total };
|
|
25745
|
+
}
|
|
25746
|
+
function truncateDesc(desc, columns, active2) {
|
|
25747
|
+
const markWidth = active2 ? 9 : 0;
|
|
25748
|
+
const budget = Math.max(0, columns - 26 - markWidth);
|
|
25749
|
+
if (desc.length <= budget) return desc;
|
|
25750
|
+
if (budget <= 1) return "\u2026";
|
|
25751
|
+
return `${desc.slice(0, budget - 1)}\u2026`;
|
|
25752
|
+
}
|
|
25745
25753
|
async function runThemePicker(reader, activeId) {
|
|
25746
25754
|
let cursor = THEME_OPTIONS.findIndex((p) => p.id === activeId);
|
|
25747
25755
|
if (cursor < 0) cursor = 0;
|
|
25748
25756
|
const render = (currentCursor) => {
|
|
25757
|
+
const rows = process.stdout.rows ?? 24;
|
|
25758
|
+
const columns = process.stdout.columns ?? 80;
|
|
25759
|
+
const { start, end, hasAbove, hasBelow } = computeWindow(
|
|
25760
|
+
THEME_OPTIONS.length,
|
|
25761
|
+
currentCursor,
|
|
25762
|
+
rows
|
|
25763
|
+
);
|
|
25749
25764
|
const lines = [];
|
|
25750
|
-
lines.push(`
|
|
25751
|
-
${color46.bold(color46.amber("WrongStack") + color46.dim(" \u2014 TUI Theme Selection"))}
|
|
25752
|
-
`);
|
|
25753
|
-
lines.push(color46.dim(" \u2191\u2193 navigate Enter select q quit\n"));
|
|
25754
25765
|
lines.push("");
|
|
25755
|
-
|
|
25766
|
+
lines.push(`${color46.bold(color46.amber("WrongStack") + color46.dim(" \u2014 TUI Theme Selection"))}`);
|
|
25767
|
+
lines.push(color46.dim(" \u2191\u2193 navigate Enter select q quit"));
|
|
25768
|
+
lines.push("");
|
|
25769
|
+
if (hasAbove) lines.push(color46.dim(` \u2026 ${start} more above`));
|
|
25770
|
+
for (let i = start; i < end; i++) {
|
|
25771
|
+
const p = THEME_OPTIONS[i];
|
|
25756
25772
|
const mark = p.id === activeId ? color46.green(" [active]") : "";
|
|
25757
25773
|
const prefix = i === currentCursor ? color46.bold("\u276F ") : " ";
|
|
25758
25774
|
const name = i === currentCursor ? color46.bold(p.name) : p.name;
|
|
25759
|
-
|
|
25775
|
+
const desc = truncateDesc(p.desc, columns, p.id === activeId);
|
|
25776
|
+
lines.push(` ${prefix}${name.padEnd(21)} ${color46.dim(desc)}${mark}`);
|
|
25760
25777
|
}
|
|
25778
|
+
if (hasBelow) lines.push(color46.dim(` \u2026 ${THEME_OPTIONS.length - end} more below`));
|
|
25761
25779
|
lines.push("");
|
|
25762
25780
|
return lines.join("\n");
|
|
25763
25781
|
};
|
|
@@ -26294,11 +26312,18 @@ function buildMouseCommand(_opts) {
|
|
|
26294
26312
|
" /mouse Show current mouse-mode status",
|
|
26295
26313
|
" /mouse on Enable full mouse mode",
|
|
26296
26314
|
" /mouse off Disable scrollbar drag and clickable UI",
|
|
26297
|
-
" /mouse
|
|
26315
|
+
" /mouse native Hand the mouse back to the terminal (select + copy)",
|
|
26316
|
+
" /mouse toggle Flip between on and off",
|
|
26317
|
+
"",
|
|
26318
|
+
"In both on and off the wheel scrolls virtualized chat history in-app. Full",
|
|
26319
|
+
"mouse mode also makes the scrollbar drag-able and status-bar chips /",
|
|
26320
|
+
"confirm buttons clickable.",
|
|
26321
|
+
"",
|
|
26322
|
+
"Native mode releases mouse tracking entirely, so the terminal does its own",
|
|
26323
|
+
"click-drag text selection and copy again. The cost is the wheel: it scrolls",
|
|
26324
|
+
"the terminal, not the transcript. PgUp/PgDn and Ctrl+U/D still page through",
|
|
26325
|
+
"history. Use /mouse on or /mouse off to take the mouse back.",
|
|
26298
26326
|
"",
|
|
26299
|
-
"The wheel always scrolls virtualized chat history in-app. Full mouse mode",
|
|
26300
|
-
"also makes the scrollbar drag-able and status-bar chips / confirm buttons",
|
|
26301
|
-
"clickable. Shift+wheel, PgUp/PgDn, and Ctrl+U/D page through history.",
|
|
26302
26327
|
"The setting persists."
|
|
26303
26328
|
].join("\n"),
|
|
26304
26329
|
async run(args) {
|
|
@@ -26307,10 +26332,11 @@ function buildMouseCommand(_opts) {
|
|
|
26307
26332
|
if (!arg || arg === "status") intent = "query";
|
|
26308
26333
|
else if (arg === "on" || arg === "enable" || arg === "true" || arg === "1") intent = "on";
|
|
26309
26334
|
else if (arg === "off" || arg === "disable" || arg === "false" || arg === "0") intent = "off";
|
|
26335
|
+
else if (arg === "native" || arg === "none" || arg === "terminal") intent = "native";
|
|
26310
26336
|
else if (arg === "toggle") intent = "toggle";
|
|
26311
26337
|
else {
|
|
26312
26338
|
return {
|
|
26313
|
-
message: `Unknown argument: ${arg}. Use /mouse on, /mouse off, or /mouse toggle.`
|
|
26339
|
+
message: `Unknown argument: ${arg}. Use /mouse on, /mouse off, /mouse native, or /mouse toggle.`
|
|
26314
26340
|
};
|
|
26315
26341
|
}
|
|
26316
26342
|
return { metadata: { mouseToggle: intent } };
|
|
@@ -26319,7 +26345,7 @@ function buildMouseCommand(_opts) {
|
|
|
26319
26345
|
}
|
|
26320
26346
|
|
|
26321
26347
|
// src/slash-commands/project.ts
|
|
26322
|
-
import { spawn as
|
|
26348
|
+
import { spawn as spawn6 } from "node:child_process";
|
|
26323
26349
|
import * as fs16 from "node:fs/promises";
|
|
26324
26350
|
import { createRequire } from "node:module";
|
|
26325
26351
|
import * as path26 from "node:path";
|
|
@@ -26644,7 +26670,7 @@ async function switchProjectCommand(opts, ctx, target, displayName) {
|
|
|
26644
26670
|
const canSwitch = await confirmProjectSwitch(opts, targetName);
|
|
26645
26671
|
if (!canSwitch) return { message: "" };
|
|
26646
26672
|
const nodeExe = process.execPath;
|
|
26647
|
-
const child =
|
|
26673
|
+
const child = spawn6(nodeExe, [cliPath, "--no-interactive"], {
|
|
26648
26674
|
cwd: resolved,
|
|
26649
26675
|
stdio: "inherit",
|
|
26650
26676
|
detached: false
|
|
@@ -26786,7 +26812,7 @@ async function spawnInProject(opts, _ctx, root, projectName) {
|
|
|
26786
26812
|
}
|
|
26787
26813
|
await saveManifest(manifest, opts.paths?.globalConfig);
|
|
26788
26814
|
const nodeExe = process.execPath;
|
|
26789
|
-
const child =
|
|
26815
|
+
const child = spawn6(nodeExe, [cliPath, "--no-interactive"], {
|
|
26790
26816
|
cwd: root,
|
|
26791
26817
|
stdio: "inherit",
|
|
26792
26818
|
detached: false
|
|
@@ -26828,7 +26854,7 @@ async function handleNewSession(_opts, _ctx) {
|
|
|
26828
26854
|
}
|
|
26829
26855
|
}
|
|
26830
26856
|
const nodeExe = process.execPath;
|
|
26831
|
-
const child =
|
|
26857
|
+
const child = spawn6(nodeExe, [cliPath, "--no-interactive"], {
|
|
26832
26858
|
cwd: process.cwd(),
|
|
26833
26859
|
stdio: "inherit",
|
|
26834
26860
|
detached: false
|
|
@@ -26881,13 +26907,13 @@ async function handlePrevSessions(opts, _ctx) {
|
|
|
26881
26907
|
}
|
|
26882
26908
|
|
|
26883
26909
|
// src/slash-commands/review.ts
|
|
26884
|
-
import { spawn as
|
|
26910
|
+
import { spawn as spawn7 } from "node:child_process";
|
|
26885
26911
|
import * as fsp3 from "node:fs/promises";
|
|
26886
26912
|
import * as path27 from "node:path";
|
|
26887
26913
|
import { emitReviewIfChanged } from "@wrongstack/core/plugin";
|
|
26888
26914
|
async function runGit2(args, cwd) {
|
|
26889
26915
|
return new Promise((resolve8) => {
|
|
26890
|
-
const child =
|
|
26916
|
+
const child = spawn7("git", args, {
|
|
26891
26917
|
cwd,
|
|
26892
26918
|
stdio: ["ignore", "pipe", "pipe"],
|
|
26893
26919
|
signal: AbortSignal.timeout(1e4),
|
|
@@ -27086,7 +27112,7 @@ function buildSecurityCommand(opts) {
|
|
|
27086
27112
|
// src/slash-commands/settings.ts
|
|
27087
27113
|
import { noOpVault as noOpVault9 } from "@wrongstack/core/security";
|
|
27088
27114
|
import { resolveFleetChatVerbosity as resolveFleetChatVerbosity2 } from "@wrongstack/core/types";
|
|
27089
|
-
import { color as color49, toErrorMessage as
|
|
27115
|
+
import { color as color49, toErrorMessage as toErrorMessage23 } from "@wrongstack/core/utils";
|
|
27090
27116
|
import { getProcessRegistry } from "@wrongstack/tools";
|
|
27091
27117
|
|
|
27092
27118
|
// src/utils/delay-format.ts
|
|
@@ -28019,7 +28045,7 @@ function buildSettingsCommand(opts) {
|
|
|
28019
28045
|
};
|
|
28020
28046
|
} catch (err) {
|
|
28021
28047
|
return {
|
|
28022
|
-
message: `${color49.red("Settings error")}: ${
|
|
28048
|
+
message: `${color49.red("Settings error")}: ${toErrorMessage23(err)}`
|
|
28023
28049
|
};
|
|
28024
28050
|
}
|
|
28025
28051
|
}
|
|
@@ -28320,7 +28346,7 @@ function parseFlags2(args) {
|
|
|
28320
28346
|
}
|
|
28321
28347
|
|
|
28322
28348
|
// src/slash-commands/spawn-agents.ts
|
|
28323
|
-
import { toErrorMessage as
|
|
28349
|
+
import { toErrorMessage as toErrorMessage24 } from "@wrongstack/core/utils";
|
|
28324
28350
|
function buildSpawnCommand(opts) {
|
|
28325
28351
|
return {
|
|
28326
28352
|
name: "spawn",
|
|
@@ -28357,7 +28383,7 @@ function buildSpawnCommand(opts) {
|
|
|
28357
28383
|
const summary = Object.keys(parsed).length > 0 ? await opts.onSpawn(description, parsed) : await opts.onSpawn(description);
|
|
28358
28384
|
return { message: summary };
|
|
28359
28385
|
} catch (err) {
|
|
28360
|
-
return { message: `Spawn failed: ${
|
|
28386
|
+
return { message: `Spawn failed: ${toErrorMessage24(err)}` };
|
|
28361
28387
|
}
|
|
28362
28388
|
}
|
|
28363
28389
|
};
|
|
@@ -29028,7 +29054,7 @@ ${formatTaskProgress(file.tasks)}`;
|
|
|
29028
29054
|
// src/slash-commands/techstack.ts
|
|
29029
29055
|
import * as fs17 from "node:fs/promises";
|
|
29030
29056
|
import * as path28 from "node:path";
|
|
29031
|
-
import { color as color52, toErrorMessage as
|
|
29057
|
+
import { color as color52, toErrorMessage as toErrorMessage25 } from "@wrongstack/core/utils";
|
|
29032
29058
|
async function discoverPackageFiles(projectRoot) {
|
|
29033
29059
|
const files = [];
|
|
29034
29060
|
const rootPkg = path28.join(projectRoot, "package.json");
|
|
@@ -29236,7 +29262,7 @@ function buildTechStackCommand(opts) {
|
|
|
29236
29262
|
message: `TechStack remediation finished: ${applied} applied, ${failed} failed, ${skipped} skipped.`
|
|
29237
29263
|
};
|
|
29238
29264
|
} catch (err) {
|
|
29239
|
-
const msg = `TechStack remediation failed: ${
|
|
29265
|
+
const msg = `TechStack remediation failed: ${toErrorMessage25(err)}`;
|
|
29240
29266
|
opts.renderer.writeWarning(msg);
|
|
29241
29267
|
return { message: msg };
|
|
29242
29268
|
} finally {
|
|
@@ -29255,7 +29281,7 @@ function buildTechStackCommand(opts) {
|
|
|
29255
29281
|
message: `TechStack inventory complete: ${snapshot.workspaces.length} workspaces, ${snapshot.dependencies.length} dependencies (fingerprint: ${snapshot.fingerprint})`
|
|
29256
29282
|
};
|
|
29257
29283
|
} catch (err) {
|
|
29258
|
-
const msg = `TechStack inventory failed: ${
|
|
29284
|
+
const msg = `TechStack inventory failed: ${toErrorMessage25(err)}`;
|
|
29259
29285
|
opts.renderer.writeWarning(msg);
|
|
29260
29286
|
return { message: msg };
|
|
29261
29287
|
}
|
|
@@ -29270,7 +29296,7 @@ function buildTechStackCommand(opts) {
|
|
|
29270
29296
|
);
|
|
29271
29297
|
}
|
|
29272
29298
|
} catch (err) {
|
|
29273
|
-
discoveryNote = color52.red(`Could not scan for package files: ${
|
|
29299
|
+
discoveryNote = color52.red(`Could not scan for package files: ${toErrorMessage25(err)}`);
|
|
29274
29300
|
}
|
|
29275
29301
|
const task = buildTechStackTask({
|
|
29276
29302
|
projectRoot: opts.projectRoot,
|
|
@@ -29310,7 +29336,7 @@ function buildTechStackCommand(opts) {
|
|
|
29310
29336
|
});
|
|
29311
29337
|
return { message: summary };
|
|
29312
29338
|
} catch (err) {
|
|
29313
|
-
const msg = `Tech stack scan failed: ${
|
|
29339
|
+
const msg = `Tech stack scan failed: ${toErrorMessage25(err)}`;
|
|
29314
29340
|
opts.renderer.writeWarning(msg);
|
|
29315
29341
|
return { message: msg };
|
|
29316
29342
|
}
|
|
@@ -29319,7 +29345,7 @@ function buildTechStackCommand(opts) {
|
|
|
29319
29345
|
}
|
|
29320
29346
|
|
|
29321
29347
|
// src/slash-commands/telegram-settings.ts
|
|
29322
|
-
import { color as color54, toErrorMessage as
|
|
29348
|
+
import { color as color54, toErrorMessage as toErrorMessage26 } from "@wrongstack/core/utils";
|
|
29323
29349
|
|
|
29324
29350
|
// src/slash-commands/telegram-setup.ts
|
|
29325
29351
|
import { color as color53 } from "@wrongstack/core/utils";
|
|
@@ -29817,7 +29843,7 @@ function buildTelegramSettingsCommand(opts) {
|
|
|
29817
29843
|
};
|
|
29818
29844
|
} catch (err) {
|
|
29819
29845
|
return {
|
|
29820
|
-
message: `${color54.red("Settings error")}: ${
|
|
29846
|
+
message: `${color54.red("Settings error")}: ${toErrorMessage26(err)}`
|
|
29821
29847
|
};
|
|
29822
29848
|
}
|
|
29823
29849
|
}
|
|
@@ -29971,7 +29997,7 @@ import {
|
|
|
29971
29997
|
normalizeToolDescriptionMode,
|
|
29972
29998
|
normalizeToolResultRenderMode,
|
|
29973
29999
|
setToolResultRenderMode,
|
|
29974
|
-
toErrorMessage as
|
|
30000
|
+
toErrorMessage as toErrorMessage27
|
|
29975
30001
|
} from "@wrongstack/core/utils";
|
|
29976
30002
|
function fit(text, width) {
|
|
29977
30003
|
if (text.length <= width) return text.padEnd(width);
|
|
@@ -30206,7 +30232,7 @@ function buildToolCommand(opts) {
|
|
|
30206
30232
|
try {
|
|
30207
30233
|
return { message: await cmdEnableAll() };
|
|
30208
30234
|
} catch (err) {
|
|
30209
|
-
return { message: `${color55.red("Error")}: ${
|
|
30235
|
+
return { message: `${color55.red("Error")}: ${toErrorMessage27(err)}` };
|
|
30210
30236
|
}
|
|
30211
30237
|
}
|
|
30212
30238
|
const name = parts[0] ?? "";
|
|
@@ -30220,7 +30246,7 @@ function buildToolCommand(opts) {
|
|
|
30220
30246
|
for (const t of targets) results.push(await cmdDisable(t));
|
|
30221
30247
|
return { message: results.join("\n") };
|
|
30222
30248
|
} catch (err) {
|
|
30223
|
-
return { message: `${color55.red("Error")}: ${
|
|
30249
|
+
return { message: `${color55.red("Error")}: ${toErrorMessage27(err)}` };
|
|
30224
30250
|
}
|
|
30225
30251
|
}
|
|
30226
30252
|
if (sub === "enable") {
|
|
@@ -30232,7 +30258,7 @@ function buildToolCommand(opts) {
|
|
|
30232
30258
|
for (const t of targets) results.push(await cmdEnable(t));
|
|
30233
30259
|
return { message: results.join("\n") };
|
|
30234
30260
|
} catch (err) {
|
|
30235
|
-
return { message: `${color55.red("Error")}: ${
|
|
30261
|
+
return { message: `${color55.red("Error")}: ${toErrorMessage27(err)}` };
|
|
30236
30262
|
}
|
|
30237
30263
|
}
|
|
30238
30264
|
const action = parts[1]?.toLowerCase();
|
|
@@ -30245,7 +30271,7 @@ function buildToolCommand(opts) {
|
|
|
30245
30271
|
try {
|
|
30246
30272
|
return { message: action === "disable" ? await cmdDisable(name) : await cmdEnable(name) };
|
|
30247
30273
|
} catch (err) {
|
|
30248
|
-
return { message: `${color55.red("Error")}: ${
|
|
30274
|
+
return { message: `${color55.red("Error")}: ${toErrorMessage27(err)}` };
|
|
30249
30275
|
}
|
|
30250
30276
|
}
|
|
30251
30277
|
if (!opts.toolRegistry.get(name) && !opts.toolRegistry.isDisabled(name)) {
|
|
@@ -30285,7 +30311,7 @@ function buildToolCommand(opts) {
|
|
|
30285
30311
|
};
|
|
30286
30312
|
} catch (err) {
|
|
30287
30313
|
return {
|
|
30288
|
-
message: `${color55.red("Could not save tool setting")}: ${
|
|
30314
|
+
message: `${color55.red("Could not save tool setting")}: ${toErrorMessage27(err)}`
|
|
30289
30315
|
};
|
|
30290
30316
|
}
|
|
30291
30317
|
}
|
|
@@ -30305,7 +30331,7 @@ function buildToolCommand(opts) {
|
|
|
30305
30331
|
};
|
|
30306
30332
|
} catch (err) {
|
|
30307
30333
|
return {
|
|
30308
|
-
message: `${color55.red("Could not save tool setting")}: ${
|
|
30334
|
+
message: `${color55.red("Could not save tool setting")}: ${toErrorMessage27(err)}`
|
|
30309
30335
|
};
|
|
30310
30336
|
}
|
|
30311
30337
|
}
|
|
@@ -31201,7 +31227,7 @@ function summaryLine(findings, fixable, handoffs, power) {
|
|
|
31201
31227
|
// src/slash-commands/working-dir.ts
|
|
31202
31228
|
import * as fs19 from "node:fs/promises";
|
|
31203
31229
|
import * as path30 from "node:path";
|
|
31204
|
-
import { color as color58, toErrorMessage as
|
|
31230
|
+
import { color as color58, toErrorMessage as toErrorMessage28 } from "@wrongstack/core/utils";
|
|
31205
31231
|
function buildWorkingDirCommand(_opts) {
|
|
31206
31232
|
return {
|
|
31207
31233
|
name: "working_dir",
|
|
@@ -31258,7 +31284,7 @@ function buildWorkingDirCommand(_opts) {
|
|
|
31258
31284
|
ctx.setWorkingDir(resolved);
|
|
31259
31285
|
} catch (err) {
|
|
31260
31286
|
return {
|
|
31261
|
-
message: color58.red(
|
|
31287
|
+
message: color58.red(toErrorMessage28(err))
|
|
31262
31288
|
};
|
|
31263
31289
|
}
|
|
31264
31290
|
const prevRel = path30.relative(ctx.projectRoot, previous) || ".";
|
|
@@ -32242,7 +32268,7 @@ async function runInteractive(cliCtx) {
|
|
|
32242
32268
|
onEvent: evOn
|
|
32243
32269
|
});
|
|
32244
32270
|
const savedProviderCfg = config.providers?.[config.provider];
|
|
32245
|
-
const { execute } = await import("./execution-
|
|
32271
|
+
const { execute } = await import("./execution-4IG5XKOL.js");
|
|
32246
32272
|
const stopHeapWatchdog = startSharedHeapWatchdog({
|
|
32247
32273
|
collectStats: () => {
|
|
32248
32274
|
const hqQueue = hqPublisherRef.current?.getQueueStats();
|
|
@@ -32480,4 +32506,4 @@ export {
|
|
|
32480
32506
|
CLI_VERSION,
|
|
32481
32507
|
runInteractive
|
|
32482
32508
|
};
|
|
32483
|
-
//# sourceMappingURL=cli-main-
|
|
32509
|
+
//# sourceMappingURL=cli-main-3PUWFKSL.js.map
|