@wrongstack/cli 0.319.1 → 1.0.0

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.
Files changed (100) hide show
  1. package/data/providers.json +22 -15
  2. package/dist/{acp-5ANIAOZC.js → acp-3LARESEO.js} +113 -10
  3. package/dist/acp-hq-telemetry.d.ts +44 -0
  4. package/dist/{audit-ZPCLCC3C.js → audit-46YK5DSC.js} +1 -2
  5. package/dist/{auth-ND7J7DTD.js → auth-KIBJZZIE.js} +5 -6
  6. package/dist/auth-menu/add-provider.d.ts +7 -0
  7. package/dist/auth-menu/panel-service.d.ts +2 -20
  8. package/dist/{auto-discover-providers-MHFLDSD3.js → auto-discover-providers-VQU3IZMR.js} +1 -2
  9. package/dist/{bench-XYG56AMO.js → bench-YBU6BVQP.js} +175 -35
  10. package/dist/boot/brain-decision-log.d.ts +22 -2
  11. package/dist/{boot-auto-thin-BZ675EVT.js → boot-auto-thin-MANHOYHE.js} +1 -2
  12. package/dist/{chronicle-6EPPMUC5.js → chronicle-UTFETHP6.js} +1 -2
  13. package/dist/{chunk-LIWVIEZM.js → chunk-4HV5RKZH.js} +5 -5
  14. package/dist/{chunk-HF5VQWIY.js → chunk-5IA5337I.js} +3 -3
  15. package/dist/{chunk-TALOKMIC.js → chunk-C2E24IXZ.js} +31 -15
  16. package/dist/{chunk-XPX432BZ.js → chunk-DR2OXU46.js} +50 -39
  17. package/dist/chunk-ETYHZPXP.js +52 -0
  18. package/dist/{chunk-TYO2OVAD.js → chunk-EWKESL4L.js} +8 -4
  19. package/dist/{chunk-QAC263FZ.js → chunk-FPIWTJ2G.js} +2 -3
  20. package/dist/{chunk-7YLN7YUA.js → chunk-IMWXXF4J.js} +61 -9
  21. package/dist/{chunk-IMT6PNV5.js → chunk-MNQQ4ZNF.js} +26 -22
  22. package/dist/{chunk-P2OKBDCH.js → chunk-MXEJEYT7.js} +53 -14
  23. package/dist/{chunk-PCBJSXYV.js → chunk-O4A3HHKD.js} +2 -2
  24. package/dist/{chunk-XYKYXFEE.js → chunk-TE3Q32JP.js} +10 -4
  25. package/dist/{chunk-635WW3II.js → chunk-TEBMCYZN.js} +67 -18
  26. package/dist/{chunk-E4I2TF5S.js → chunk-TNK6237M.js} +2 -2
  27. package/dist/{chunk-GGGUZSAU.js → chunk-Z7A5MXKJ.js} +18 -12
  28. package/dist/{chunk-F5GA2QW2.js → chunk-ZSZ3EYWH.js} +2 -2
  29. package/dist/{cli-context-K73EIND5.js → cli-context-CYMKNOK3.js} +58 -307
  30. package/dist/{cli-main-QXSKKANW.js → cli-main-TTIVR4DI.js} +897 -286
  31. package/dist/{diag-doctor-QZVKUAE5.js → diag-doctor-7LYUYU35.js} +1 -2
  32. package/dist/execute-deps.d.ts +5 -1
  33. package/dist/{execution-7ZFY4FJY.js → execution-3Y55IWBK.js} +37 -20
  34. package/dist/{export-ROG3DKTZ.js → export-VVRIOWFV.js} +1 -2
  35. package/dist/{governance-JSGHHA2R.js → governance-RYSHV675.js} +1 -2
  36. package/dist/{hq-4QQJO2GN.js → hq-IG3YRGCO.js} +2 -3
  37. package/dist/hq-command-controller.d.ts +37 -7
  38. package/dist/hq-server/ws.d.ts +1 -1
  39. package/dist/{hq-server-CVAYICIS.js → hq-server-OILU3NPI.js} +2 -3
  40. package/dist/{hq-ttl-KUO3AU7X.js → hq-ttl-VJR65OBJ.js} +1 -2
  41. package/dist/{hq-tunnel-LO55RCZE.js → hq-tunnel-NIJ5EP2Y.js} +1 -2
  42. package/dist/index.js +5 -6
  43. package/dist/{init-4JQSG66Q.js → init-DRMMFG2G.js} +1 -2
  44. package/dist/{kanban-run-mirror-EKVNGXWW.js → kanban-run-mirror-22HQ5FNG.js} +1 -2
  45. package/dist/live-settings-input.d.ts +2 -0
  46. package/dist/{mailbox-serve-VKQIRCCB.js → mailbox-serve-VUCWZ2SJ.js} +2 -3
  47. package/dist/{mcp-AQKSASHD.js → mcp-HOMLC4WE.js} +1 -2
  48. package/dist/{modeldiag-ZL4ROTQ5.js → modeldiag-FMJT37SN.js} +2 -3
  49. package/dist/{per-subcommand-help-6VCIKDUW.js → per-subcommand-help-BWBHYVJO.js} +2 -3
  50. package/dist/{permissions-2PWBL4YU.js → permissions-CFDLXETM.js} +1 -2
  51. package/dist/{plugin-usage-7WCZW4NP.js → plugin-usage-HFBI3TFT.js} +2 -3
  52. package/dist/{plugins-7N3TF2QF.js → plugins-PZ2VZL7V.js} +4 -5
  53. package/dist/{project-BLQ3ALVL.js → project-AOQI5XTK.js} +1 -2
  54. package/dist/{project-manifest-RV5FXGQI.js → project-manifest-7NSFVBM3.js} +1 -2
  55. package/dist/{project-picker-CCQR3W4I.js → project-picker-SVBXMPKX.js} +1 -2
  56. package/dist/{projects-5J727S4L.js → projects-L6C6XLDY.js} +1 -2
  57. package/dist/provider-config-utils.d.ts +1 -1
  58. package/dist/{providers-models-OKKQZIWU.js → providers-models-YVMVYWRS.js} +3 -4
  59. package/dist/{proxy-wiring-QCI7EWQC.js → proxy-wiring-MGRSKZZB.js} +1 -2
  60. package/dist/{quick-XLYLZX4B.js → quick-CNB4Z3HS.js} +1 -2
  61. package/dist/{replay-RZXZKP2U.js → replay-JJ2NOWD6.js} +1 -2
  62. package/dist/{replay-FJ2JBXUA.js → replay-Z3FTJEMM.js} +1 -2
  63. package/dist/{rewind-2FFNOOKS.js → rewind-JA3ZLCNM.js} +1 -2
  64. package/dist/{sdd-runtime-R6FAK2G2.js → sdd-runtime-PTOSPYI4.js} +1 -2
  65. package/dist/services/statusline-config.d.ts +43 -13
  66. package/dist/{sessions-config-KAMEBVOX.js → sessions-config-UL45XKX7.js} +2 -3
  67. package/dist/{sessions-doctor-EXHAZSSE.js → sessions-doctor-QUL37U32.js} +1 -2
  68. package/dist/short-circuit-flags-6PSP56L7.js +10 -0
  69. package/dist/{simpleui-dist-JKNRCRRK.js → simpleui-dist-CXSIDAXZ.js} +1 -2
  70. package/dist/slash-commands/command-context.d.ts +10 -0
  71. package/dist/slash-commands/statusline.d.ts +1 -1
  72. package/dist/subcommands/handlers/bench-run-config.d.ts +18 -0
  73. package/dist/subcommands/handlers/bench.d.ts +8 -7
  74. package/dist/subcommands-HZQKA4G2.js +9 -0
  75. package/dist/{tools-skills-Q4P27URS.js → tools-skills-GH24UCBY.js} +1 -2
  76. package/dist/{update-K45CS6SS.js → update-5DPB4YD4.js} +1 -2
  77. package/dist/{update-check-PKSMSMD6.js → update-check-BS3DHTSI.js} +1 -2
  78. package/dist/version-help-MYKF724O.js +10 -0
  79. package/dist/webui-server/client-registration.d.ts +9 -1
  80. package/dist/{webui-server-F7MSRHOF.js → webui-server-T6AMOXJJ.js} +51 -12
  81. package/dist/wiring/brain-and-orchestration.d.ts +2 -0
  82. package/dist/wiring/cli-execute-builder.d.ts +4 -0
  83. package/dist/wiring/cli-slash-commands-setup.d.ts +1 -0
  84. package/dist/wiring/command-host-state.d.ts +50 -5
  85. package/dist/wiring/external-plugins.d.ts +9 -0
  86. package/dist/wiring/provider-runtime-setup.d.ts +2 -0
  87. package/dist/wiring/runtime-controller-deps.d.ts +3 -0
  88. package/dist/wiring/vector-memory-setup.d.ts +12 -0
  89. package/dist/wiring/wrongtrace-prompt-contributor.d.ts +5 -2
  90. package/dist/{wrongtrace-gate-counters-GSVY372D.js → wrongtrace-gate-counters-7C2EAAZL.js} +1 -2
  91. package/dist/{wrongtrace-telemetry-KBBM5NLQ.js → wrongtrace-telemetry-3ASFKOZO.js} +1 -2
  92. package/package.json +28 -28
  93. package/dist/chunk-7OCVIDC7.js +0 -11
  94. package/dist/chunk-KYDJJLJI.js +0 -52
  95. package/dist/launch-hints.d.ts +0 -49
  96. package/dist/short-circuit-flags-7YUCERBB.js +0 -11
  97. package/dist/subcommands-KE6MEQQP.js +0 -10
  98. package/dist/version-help-WMPSEL4U.js +0 -11
  99. package/dist/webui-server/privileged-actions.d.ts +0 -14
  100. package/dist/wiring/cli-heap-watchdog.d.ts +0 -34
@@ -8,7 +8,6 @@ import {
8
8
  import {
9
9
  API_VERSION
10
10
  } from "./chunk-XJXDOF63.js";
11
- import "./chunk-7OCVIDC7.js";
12
11
 
13
12
  // src/subcommands/handlers/diag-doctor.ts
14
13
  import * as fs2 from "node:fs/promises";
@@ -383,4 +382,4 @@ export {
383
382
  doctorCmd,
384
383
  proxyCmd
385
384
  };
386
- //# sourceMappingURL=diag-doctor-QZVKUAE5.js.map
385
+ //# sourceMappingURL=diag-doctor-7LYUYU35.js.map
@@ -25,7 +25,7 @@ import type { ReadlineInputReader } from './input-reader.js';
25
25
  import type { LiveSettingsInput } from './live-settings-input.js';
26
26
  import type { TerminalRenderer } from './renderer.js';
27
27
  import type { AutonomyMode } from './services/autonomy-mode.js';
28
- import type { StatuslineLines } from '@wrongstack/core/statusline';
28
+ import type { StatuslineDensities, StatuslineLines } from '@wrongstack/core/statusline';
29
29
  import type { StatuslineConfigKey } from './services/statusline-config.js';
30
30
  import type { SessionStats } from './session-stats.js';
31
31
  import type { UpdateInfo } from './update-check.js';
@@ -270,6 +270,10 @@ export interface ControllerDeps {
270
270
  statuslineLines?: StatuslineLines | undefined;
271
271
  setStatuslineLines?: ((lines: StatuslineLines) => void) | undefined;
272
272
  saveStatuslineLines?: ((lines: StatuslineLines) => Promise<void>) | undefined;
273
+ /** Per-chip statusline density pin (schema v3). */
274
+ statuslineDensities?: StatuslineDensities | undefined;
275
+ setStatuslineDensities?: ((densities: StatuslineDensities) => void) | undefined;
276
+ saveStatuslineDensities?: ((densities: StatuslineDensities) => Promise<void>) | undefined;
273
277
  getYolo?: (() => boolean) | undefined;
274
278
  onYolo?: ((setTo?: boolean) => boolean) | undefined;
275
279
  getAutonomy?: (() => AutonomyMode) | undefined;
@@ -21,7 +21,7 @@ import {
21
21
  } from "./chunk-GPPRNAKW.js";
22
22
  import {
23
23
  fmtTok
24
- } from "./chunk-TYO2OVAD.js";
24
+ } from "./chunk-EWKESL4L.js";
25
25
  import "./chunk-WHOIR577.js";
26
26
  import {
27
27
  advanceToNextTask,
@@ -40,19 +40,18 @@ import {
40
40
  terminalLink,
41
41
  terminalText
42
42
  } from "./chunk-HXJYHAR4.js";
43
- import {
44
- startCliHqConnection
45
- } from "./chunk-XYKYXFEE.js";
46
43
  import {
47
44
  CLI_VERSION
48
45
  } from "./chunk-XJXDOF63.js";
46
+ import {
47
+ startCliHqConnection
48
+ } from "./chunk-TE3Q32JP.js";
49
49
  import {
50
50
  activeProfileConfigPath
51
51
  } from "./chunk-YMXXOOFN.js";
52
52
  import {
53
53
  resolveActiveApiKey
54
- } from "./chunk-XPX432BZ.js";
55
- import "./chunk-7OCVIDC7.js";
54
+ } from "./chunk-DR2OXU46.js";
56
55
 
57
56
  // src/execution.ts
58
57
  import * as path14 from "node:path";
@@ -212,7 +211,7 @@ async function runWebUIDispatch(ctx) {
212
211
  const isSimpleUi = !isSessionChild && flags["simpleui"] === true;
213
212
  agent.disableInteractiveConfirmation();
214
213
  renderer.setSilent(true);
215
- const { runWebUI } = await import("./webui-server-F7MSRHOF.js");
214
+ const { runWebUI } = await import("./webui-server-T6AMOXJJ.js");
216
215
  const flagValue = (names) => {
217
216
  for (const name of names) {
218
217
  if (!Object.hasOwn(flags, name)) continue;
@@ -267,7 +266,7 @@ async function runWebUIDispatch(ctx) {
267
266
  webuiPublicWsUrl = webuiSessionChild?.publicWsUrl ?? flagValue(["webui-public-ws-url", "public-ws-url"]) ?? process.env["WEBUI_PUBLIC_WS_URL"];
268
267
  webuiRequireToken = webuiSessionChild?.requireToken ?? flagBoolean(["webui-require-token", "require-token"]) ?? envFlag("WEBUI_REQUIRE_TOKEN");
269
268
  if (isSimpleUi) {
270
- const { ensureSimpleUiDistDir } = await import("./simpleui-dist-JKNRCRRK.js");
269
+ const { ensureSimpleUiDistDir } = await import("./simpleui-dist-CXSIDAXZ.js");
271
270
  frontendDistDir = await ensureSimpleUiDistDir();
272
271
  }
273
272
  } catch (err) {
@@ -415,7 +414,7 @@ async function runWebUIDispatch(ctx) {
415
414
  applyLiveSettings?.({ yolo: enabled });
416
415
  },
417
416
  onWrongProxyPrefsChange: (payload) => {
418
- void import("./proxy-wiring-QCI7EWQC.js").then(
417
+ void import("./proxy-wiring-MGRSKZZB.js").then(
419
418
  ({ applyWrongProxyPrefs }) => applyWrongProxyPrefs(payload)
420
419
  );
421
420
  }
@@ -893,7 +892,7 @@ function onSwitchToSession(ctx, _sessionId, targetRoot, projectName) {
893
892
  import * as path4 from "node:path";
894
893
  import { color as color3 } from "@wrongstack/core/utils";
895
894
  async function getProjectPickerItems(ctx) {
896
- const { buildPickerItems } = await import("./project-picker-CCQR3W4I.js");
895
+ const { buildPickerItems } = await import("./project-picker-SVBXMPKX.js");
897
896
  return buildPickerItems({
898
897
  globalConfigPath: ctx.state.wpaths.globalConfig,
899
898
  currentProjectRoot: ctx.state.projectRoot
@@ -911,7 +910,7 @@ async function onProjectSelect(ctx, slug, kind) {
911
910
  }
912
911
  return;
913
912
  }
914
- const { loadManifest, saveManifest } = await import("./project-manifest-RV5FXGQI.js");
913
+ const { loadManifest, saveManifest } = await import("./project-manifest-7NSFVBM3.js");
915
914
  const manifest = await loadManifest(state.wpaths.globalConfig);
916
915
  const project = manifest.projects.find((p) => p.slug === slug);
917
916
  if (!project) return;
@@ -1214,7 +1213,7 @@ async function switchProjectInPlace(ctx, targetRoot, displayName) {
1214
1213
 
1215
1214
  // src/boot/tui-sdd-callback.ts
1216
1215
  async function getSDDContext() {
1217
- const { getActiveSDDContext: getActiveSDDContext2 } = await import("./sdd-runtime-R6FAK2G2.js");
1216
+ const { getActiveSDDContext: getActiveSDDContext2 } = await import("./sdd-runtime-PTOSPYI4.js");
1218
1217
  return getActiveSDDContext2();
1219
1218
  }
1220
1219
  async function onSDDOutput(output) {
@@ -1225,7 +1224,7 @@ async function onSDDOutput(output) {
1225
1224
  autoDetectTaskCompletion: autoDetectTaskCompletion2,
1226
1225
  getTaskProgress: getTaskProgress2,
1227
1226
  getActiveSDDPhase: getActiveSDDPhase2
1228
- } = await import("./sdd-runtime-R6FAK2G2.js");
1227
+ } = await import("./sdd-runtime-PTOSPYI4.js");
1229
1228
  const messages = [];
1230
1229
  const specSaved = await trySaveSpecFromAIOutput2(output);
1231
1230
  if (specSaved) messages.push("\u2713 Spec detected and saved! Use /sdd approve to continue.");
@@ -1907,6 +1906,11 @@ function createSettingsAdapter(ctx) {
1907
1906
  auditLevel: cfg.session?.auditLevel ?? "standard",
1908
1907
  indexOnStart: cfg.indexing?.onSessionStart !== false,
1909
1908
  maxIterations: cfg.tools?.maxIterations ?? 500,
1909
+ // Multi-diff summary threshold — mirrors the WebUI parity path
1910
+ // (pref-helpers.ts reads/writes `decrypted.autonomy.multiDiffSummaryThreshold`;
1911
+ // here we read from `decrypted.tools.multiDiffSummaryThreshold` to
1912
+ // match the Tools-section write gate added in saveSettings).
1913
+ multiDiffSummaryThreshold: cfg.tools?.multiDiffSummaryThreshold ?? 5,
1910
1914
  nextStepsTool: cfg.tools?.nextsteps?.enabled === true,
1911
1915
  restrictFsToRoot: resolvedRestrict,
1912
1916
  autoProceedMaxIterations: cfg.autonomy?.autoProceedMaxIterations ?? 50,
@@ -1956,7 +1960,7 @@ function createSettingsAdapter(ctx) {
1956
1960
  }
1957
1961
  async function saveSettings(s) {
1958
1962
  try {
1959
- if (s.mode !== void 0 || s.delayMs !== void 0 || s.titleAnimation !== void 0 || s.yolo !== void 0 || s.fleetChatVerbosity !== void 0 || s.chime !== void 0 || s.confirmExit !== void 0 || s.mouseMode !== void 0 || s.featureMcp !== void 0 || s.featurePlugins !== void 0 || s.featureMemory !== void 0 || s.featureSkills !== void 0 || s.featureModelsRegistry !== void 0 || s.featureTokenSaving !== void 0 || s.allowOutsideProjectRoot !== void 0 || s.contextAutoCompact !== void 0 || s.contextStrategy !== void 0 || s.contextMode !== void 0 || s.maxConcurrent !== void 0 || s.logLevel !== void 0 || s.auditLevel !== void 0 || s.indexOnStart !== void 0 || s.maxIterations !== void 0 || s.nextStepsTool !== void 0 || s.restrictFsToRoot !== void 0 || s.nextPrediction !== void 0 || s.debugStream !== void 0 || s.shellBangWarningDontShowAgain !== void 0 || s.configScope !== void 0 || s.enhanceDelayMs !== void 0 || s.enhanceEnabled !== void 0 || s.enhanceLanguage !== void 0 || s.midRunSendPicker !== void 0 || s.statuslineMode !== void 0 || s.thinkingWord !== void 0 || s.animationStyle !== void 0 || s.autonomyNextPrompt !== void 0 || s.autoProceedMaxIterations !== void 0 || s.reasoningMode !== void 0 || s.reasoningEffort !== void 0 || s.reasoningPreserve !== void 0 || s.cacheTtl !== void 0 || s.breakerEnabled !== void 0 || s.breakerAutoKillResetMs !== void 0 || s.showModelReasoning !== void 0 || s.showAgentSwarmPanel !== void 0 || s.showSidebar !== void 0 || s.panelPositions !== void 0 || s.showSageMemoryInject !== void 0 || s.sageMemoryInjectThreshold !== void 0 || s.readSymbols !== void 0 || // WrongProxy / WrongTrace: gate the persisted-section write on
1963
+ if (s.mode !== void 0 || s.delayMs !== void 0 || s.titleAnimation !== void 0 || s.yolo !== void 0 || s.fleetChatVerbosity !== void 0 || s.chime !== void 0 || s.confirmExit !== void 0 || s.mouseMode !== void 0 || s.featureMcp !== void 0 || s.featurePlugins !== void 0 || s.featureMemory !== void 0 || s.featureSkills !== void 0 || s.featureModelsRegistry !== void 0 || s.featureTokenSaving !== void 0 || s.allowOutsideProjectRoot !== void 0 || s.contextAutoCompact !== void 0 || s.contextStrategy !== void 0 || s.contextMode !== void 0 || s.maxConcurrent !== void 0 || s.logLevel !== void 0 || s.auditLevel !== void 0 || s.indexOnStart !== void 0 || s.maxIterations !== void 0 || s.multiDiffSummaryThreshold !== void 0 || s.nextStepsTool !== void 0 || s.restrictFsToRoot !== void 0 || s.nextPrediction !== void 0 || s.debugStream !== void 0 || s.shellBangWarningDontShowAgain !== void 0 || s.configScope !== void 0 || s.enhanceDelayMs !== void 0 || s.enhanceEnabled !== void 0 || s.enhanceLanguage !== void 0 || s.midRunSendPicker !== void 0 || s.statuslineMode !== void 0 || s.thinkingWord !== void 0 || s.animationStyle !== void 0 || s.autonomyNextPrompt !== void 0 || s.autoProceedMaxIterations !== void 0 || s.reasoningMode !== void 0 || s.reasoningEffort !== void 0 || s.reasoningPreserve !== void 0 || s.cacheTtl !== void 0 || s.breakerEnabled !== void 0 || s.breakerAutoKillResetMs !== void 0 || s.showModelReasoning !== void 0 || s.showAgentSwarmPanel !== void 0 || s.showSidebar !== void 0 || s.panelPositions !== void 0 || s.showSageMemoryInject !== void 0 || s.sageMemoryInjectThreshold !== void 0 || s.readSymbols !== void 0 || // WrongProxy / WrongTrace: gate the persisted-section write on
1960
1964
  // either key being present in the live patch. Without this, a
1961
1965
  // picker toggle round-trip would silently no-op the persistence
1962
1966
  // layer (the runtime probe would never read the change).
@@ -2066,6 +2070,9 @@ function createSettingsAdapter(ctx) {
2066
2070
  s.wrongProxyEnabled !== void 0 || s.wrongProxyUrl !== void 0) {
2067
2071
  const tools = decrypted.tools ?? {};
2068
2072
  if (s.maxIterations !== void 0) tools.maxIterations = s.maxIterations;
2073
+ if (s.multiDiffSummaryThreshold !== void 0) {
2074
+ tools.multiDiffSummaryThreshold = s.multiDiffSummaryThreshold;
2075
+ }
2069
2076
  if (s.nextStepsTool !== void 0) tools.nextsteps = { enabled: s.nextStepsTool };
2070
2077
  if (fsAccess !== void 0) tools.restrictToProjectRoot = fsAccess.restrictToProjectRoot;
2071
2078
  if (s.wrongProxyEnabled !== void 0 || s.wrongProxyUrl !== void 0) {
@@ -2184,7 +2191,7 @@ function createSettingsAdapter(ctx) {
2184
2191
  ...decrypted.indexing ?? {}
2185
2192
  }
2186
2193
  } : {},
2187
- ...s.maxIterations !== void 0 || s.nextStepsTool !== void 0 || fsAccess !== void 0 || // WrongProxy / WrongTrace: must be in the tools guard or the
2194
+ ...s.maxIterations !== void 0 || s.multiDiffSummaryThreshold !== void 0 || s.nextStepsTool !== void 0 || fsAccess !== void 0 || // WrongProxy / WrongTrace: must be in the tools guard or the
2188
2195
  // in-memory ConfigStore never sees the freshly-saved values,
2189
2196
  // and the next picker open in the same process would overwrite
2190
2197
  // the on-disk selection with stale state. See Chimera review.
@@ -2339,6 +2346,7 @@ function createBrainPanelHost(deps) {
2339
2346
  councilPerCallTimeoutMs: snap.council.perCallTimeoutMs,
2340
2347
  councilMaxConcurrency: snap.council.maxConcurrency,
2341
2348
  councilVoterMaxTokens: snap.council.voterMaxTokens,
2349
+ councilDeliberationRounds: snap.council.deliberationRounds,
2342
2350
  councilJudgeMaxTokens: snap.council.judgeMaxTokens,
2343
2351
  // The EFFECTIVE judge, not `council.judge`. The configured one is
2344
2352
  // usually absent, so the panel used to read "auto" and say nothing
@@ -2421,6 +2429,7 @@ function createBrainPanelHost(deps) {
2421
2429
  setCouncilPerCallTimeout: (ms) => apply({ council: { perCallTimeoutMs: ms ?? null } }),
2422
2430
  setCouncilMaxConcurrency: (count) => apply({ council: { maxConcurrency: count ?? null } }),
2423
2431
  setCouncilVoterMaxTokens: (tokens) => apply({ council: { voterMaxTokens: tokens ?? null } }),
2432
+ setCouncilDeliberationRounds: (rounds) => apply({ council: { deliberationRounds: rounds ?? null } }),
2424
2433
  setCouncilJudgeMaxTokens: (tokens) => apply({ council: { judgeMaxTokens: tokens ?? null } }),
2425
2434
  setLedgerEnabled: (on) => apply({ ledger: { enabled: on } }),
2426
2435
  setAutoDeny: (count) => apply({ ledger: { autoDenyAfterFailures: count ?? null } }),
@@ -2673,7 +2682,7 @@ async function finalizeExecutionCleanup(input) {
2673
2682
  })
2674
2683
  );
2675
2684
  } else {
2676
- const { reportWrongTraceSessionTelemetry } = await import("./wrongtrace-telemetry-KBBM5NLQ.js");
2685
+ const { reportWrongTraceSessionTelemetry } = await import("./wrongtrace-telemetry-3ASFKOZO.js");
2677
2686
  const usage = tokenCounter.total();
2678
2687
  const report = reportWrongTraceSessionTelemetry({
2679
2688
  sessionId: activeSession.id,
@@ -2701,7 +2710,7 @@ async function finalizeExecutionCleanup(input) {
2701
2710
  } catch {
2702
2711
  }
2703
2712
  try {
2704
- const { snapshotGateDecisions, persistWrongTraceGateCounters } = await import("./wrongtrace-gate-counters-GSVY372D.js");
2713
+ const { snapshotGateDecisions, persistWrongTraceGateCounters } = await import("./wrongtrace-gate-counters-7C2EAAZL.js");
2705
2714
  const projectRoot = agent.ctx.projectRoot;
2706
2715
  if (projectRoot) {
2707
2716
  await persistWrongTraceGateCounters(projectRoot, snapshotGateDecisions());
@@ -4436,7 +4445,7 @@ ${list}`);
4436
4445
  function parsePredictions(raw, max = 3) {
4437
4446
  const text = raw.trim();
4438
4447
  if (!text) return [];
4439
- if (/^none\b/i.test(text) || /no further steps/i.test(text)) return [];
4448
+ if (/^none\.?\s*$/i.test(text) || /^no further steps/i.test(text)) return [];
4440
4449
  const out = [];
4441
4450
  for (const lineRaw of text.split("\n")) {
4442
4451
  const line = lineRaw.trim();
@@ -6127,6 +6136,9 @@ async function execute(deps) {
6127
6136
  statuslineLines,
6128
6137
  setStatuslineLines,
6129
6138
  saveStatuslineLines,
6139
+ statuslineDensities,
6140
+ setStatuslineDensities,
6141
+ saveStatuslineDensities,
6130
6142
  getYolo,
6131
6143
  onYolo,
6132
6144
  getAutonomy,
@@ -6410,6 +6422,8 @@ async function execute(deps) {
6410
6422
  ensureAutonomousCoordinator
6411
6423
  }),
6412
6424
  onClearHistory: (dispatch) => {
6425
+ void attachments.clear().catch(() => {
6426
+ });
6413
6427
  dispatch({ type: "clearHistory", model: context.model, provider: context.provider.id });
6414
6428
  dispatch({ type: "resetContextChip" });
6415
6429
  dispatch({ type: "streamReset" });
@@ -6429,6 +6443,9 @@ async function execute(deps) {
6429
6443
  statuslineLines,
6430
6444
  setStatuslineLines,
6431
6445
  saveStatuslineLines,
6446
+ statuslineDensities,
6447
+ setStatuslineDensities,
6448
+ saveStatuslineDensities,
6432
6449
  getPluginItems,
6433
6450
  onPluginToggle,
6434
6451
  getMcpServers,
@@ -6640,7 +6657,7 @@ async function execute(deps) {
6640
6657
  ...createKanbanDispatchHandler({ config, events, skillLoader, sddSubagentFactory })
6641
6658
  });
6642
6659
  } else {
6643
- const headlessKanbanMirror = projectRoot ? (await import("./kanban-run-mirror-EKVNGXWW.js")).createKanbanRunMirror({
6660
+ const headlessKanbanMirror = projectRoot ? (await import("./kanban-run-mirror-22HQ5FNG.js")).createKanbanRunMirror({
6644
6661
  projectRoot,
6645
6662
  events,
6646
6663
  broadcast: () => {
@@ -6724,4 +6741,4 @@ export {
6724
6741
  execute,
6725
6742
  resolveReviewerFallbackModels
6726
6743
  };
6727
- //# sourceMappingURL=execution-7ZFY4FJY.js.map
6744
+ //# sourceMappingURL=execution-3Y55IWBK.js.map
@@ -1,7 +1,6 @@
1
1
  import {
2
2
  restoreFlags
3
3
  } from "./chunk-CSAPOCBP.js";
4
- import "./chunk-7OCVIDC7.js";
5
4
 
6
5
  // src/subcommands/handlers/export.ts
7
6
  import * as fs from "node:fs/promises";
@@ -64,4 +63,4 @@ var exportCmd = async (args, deps) => {
64
63
  export {
65
64
  exportCmd
66
65
  };
67
- //# sourceMappingURL=export-ROG3DKTZ.js.map
66
+ //# sourceMappingURL=export-VVRIOWFV.js.map
@@ -1,4 +1,3 @@
1
- import "./chunk-7OCVIDC7.js";
2
1
 
3
2
  // src/subcommands/handlers/governance.ts
4
3
  var DEFAULT_DEPENDENCIES = {
@@ -62,4 +61,4 @@ export {
62
61
  governanceCmd,
63
62
  runGovernanceStatusCommand
64
63
  };
65
- //# sourceMappingURL=governance-JSGHHA2R.js.map
64
+ //# sourceMappingURL=governance-RYSHV675.js.map
@@ -4,7 +4,6 @@ import {
4
4
  import {
5
5
  resolveAuditActor
6
6
  } from "./chunk-Q5GTM25S.js";
7
- import "./chunk-7OCVIDC7.js";
8
7
 
9
8
  // src/subcommands/handlers/hq.ts
10
9
  import * as fs from "node:fs/promises";
@@ -51,7 +50,7 @@ var hqCmd = async (args, deps) => {
51
50
  return 1;
52
51
  };
53
52
  async function startServer(deps) {
54
- const { startHqServer } = await import("./hq-server-CVAYICIS.js");
53
+ const { startHqServer } = await import("./hq-server-OILU3NPI.js");
55
54
  const dataDir = resolveDataDir(deps);
56
55
  const flags = deps.flags ?? {};
57
56
  const host = typeof flags["host"] === "string" ? flags["host"] : HQ_CLI_DEFAULT_HOST;
@@ -709,4 +708,4 @@ export {
709
708
  hqCmd,
710
709
  resolveAuditActor
711
710
  };
712
- //# sourceMappingURL=hq-4QQJO2GN.js.map
711
+ //# sourceMappingURL=hq-IG3YRGCO.js.map
@@ -25,16 +25,46 @@ import type { HqPublisherCommandResult } from '@wrongstack/core/hq';
25
25
  export interface HqCommandController {
26
26
  /** Project mailbox used to deliver steer/broadcast messages. */
27
27
  steerMailbox?: RemoteMailbox | undefined;
28
- /** Abort the session leader's running Agent.run(). Returns true if a run was aborted. */
29
- interruptLeader: () => boolean;
28
+ /**
29
+ * Abort the leader run of `sessionId`. Returns true if a run was aborted.
30
+ *
31
+ * The session is the one the command named, already resolved against this
32
+ * controller's default. A host that owns several sessions at once (the WebUI
33
+ * gives every open tab its own) MUST honour it rather than aborting whatever
34
+ * it considers the leader — that is how an operator who picked tab 3 in HQ
35
+ * ended up stopping tab 1.
36
+ */
37
+ interruptLeader: (sessionId?: string) => boolean;
30
38
  /** Terminate a specific subagent by id. Returns true if terminated. */
31
- terminateAgent?: (subagentId: string) => boolean | Promise<boolean>;
32
- /** Stop the entire fleet (all running/idle subagents). Returns kill count. */
33
- killFleet?: () => number | Promise<number>;
34
- /** Spawn a subagent of the given role. Returns the new subagentId. */
35
- spawnAgent?: (role: string, task?: string, maxIterations?: number) => Promise<string>;
39
+ terminateAgent?: (subagentId: string, sessionId?: string) => boolean | Promise<boolean>;
40
+ /** Stop the entire fleet of `sessionId` (all running/idle subagents). */
41
+ killFleet?: (sessionId?: string) => number | Promise<number>;
42
+ /** Spawn a subagent of the given role, owned by `sessionId`. */
43
+ spawnAgent?: (role: string, task?: string, maxIterations?: number, sessionId?: string) => Promise<string>;
36
44
  /** Derive the session-unique mailbox tag for addressing (e.g. `leader@<tag>`). */
37
45
  sessionTag: () => string;
46
+ /**
47
+ * The session HQ is speaking for, live.
48
+ *
49
+ * Steering addresses the bare `leader` alias, which EVERY leader in the
50
+ * project answers to — a second terminal on the same project consumes the
51
+ * same message (unread state is per reader, so both get it). Stamping the
52
+ * session id makes `acceptMailboxMessageForSession` drop it at every other
53
+ * leader, so an operator who picked one session in HQ reaches exactly that
54
+ * session. Optional: without it the message stays project-wide, which is
55
+ * the pre-existing behaviour rather than a silent drop.
56
+ */
57
+ sessionId?: (() => string | undefined) | undefined;
58
+ /**
59
+ * Does this host currently own `sessionId`?
60
+ *
61
+ * A command that names a session this process no longer has must be
62
+ * REJECTED, never silently redirected to the default: the operator picked a
63
+ * specific terminal, and steering a different one is worse than not steering
64
+ * at all. Absent means the host has a single session and the default check
65
+ * (equality with `sessionId()`) applies.
66
+ */
67
+ ownsSession?: ((sessionId: string) => boolean) | undefined;
38
68
  /** Whether raw shell execution is explicitly opted-in by the operator. */
39
69
  allowRunCommand: () => boolean;
40
70
  }
@@ -6,8 +6,8 @@
6
6
  import type { HqCommandAuditLog, HqEventEnvelope, HqPersistence, HqRedactionPolicy, HqToken, HqTranscriptEntry } from '@wrongstack/core/hq';
7
7
  import { WebSocket } from 'ws';
8
8
  import type { ConnectedClient, HqSnapshotBroadcaster, TranscriptRing } from './types.js';
9
- export { detectLeaderLoss } from './ws-leader.js';
10
9
  export { fanoutKanbanDelta } from './ws-client-events.js';
10
+ export { detectLeaderLoss } from './ws-leader.js';
11
11
  export { handleClientResume } from './ws-resume.js';
12
12
  export declare function handleBrowser(ws: WebSocket, snapshotBroadcaster: HqSnapshotBroadcaster, browsers: Set<WebSocket>, eventLog: HqEventEnvelope[]): void;
13
13
  export declare function handleClient(ws: WebSocket, clients: Map<WebSocket, ConnectedClient>, browsers: Set<WebSocket>, eventLog: HqEventEnvelope[], auth: {
@@ -10,10 +10,9 @@ import {
10
10
  readLocalSubagentTranscript,
11
11
  sanitizeApiError,
12
12
  startHqServer
13
- } from "./chunk-TALOKMIC.js";
13
+ } from "./chunk-C2E24IXZ.js";
14
14
  import "./chunk-HXJYHAR4.js";
15
15
  import "./chunk-Q5GTM25S.js";
16
- import "./chunk-7OCVIDC7.js";
17
16
  export {
18
17
  DEFAULT_HOST,
19
18
  DEFAULT_PORT,
@@ -27,4 +26,4 @@ export {
27
26
  sanitizeApiError,
28
27
  startHqServer
29
28
  };
30
- //# sourceMappingURL=hq-server-CVAYICIS.js.map
29
+ //# sourceMappingURL=hq-server-OILU3NPI.js.map
@@ -1,8 +1,7 @@
1
1
  import {
2
2
  parseTokenTtlValue
3
3
  } from "./chunk-UZ2TMHNH.js";
4
- import "./chunk-7OCVIDC7.js";
5
4
  export {
6
5
  parseTokenTtlValue
7
6
  };
8
- //# sourceMappingURL=hq-ttl-KUO3AU7X.js.map
7
+ //# sourceMappingURL=hq-ttl-VJR65OBJ.js.map
@@ -1,4 +1,3 @@
1
- import "./chunk-7OCVIDC7.js";
2
1
 
3
2
  // src/hq-tunnel.ts
4
3
  import { spawn } from "node:child_process";
@@ -111,4 +110,4 @@ export {
111
110
  hasRegisteredQuickTunnelConnection,
112
111
  startHqQuickTunnel
113
112
  };
114
- //# sourceMappingURL=hq-tunnel-LO55RCZE.js.map
113
+ //# sourceMappingURL=hq-tunnel-NIJ5EP2Y.js.map
package/dist/index.js CHANGED
@@ -2,14 +2,13 @@
2
2
  import {
3
3
  applyNodeEnvDefault,
4
4
  applySessionShellDefault
5
- } from "./chunk-PCBJSXYV.js";
5
+ } from "./chunk-O4A3HHKD.js";
6
6
  import {
7
7
  CLI_VERSION
8
8
  } from "./chunk-XJXDOF63.js";
9
9
  import {
10
10
  parseArgs
11
- } from "./chunk-GGGUZSAU.js";
12
- import "./chunk-7OCVIDC7.js";
11
+ } from "./chunk-Z7A5MXKJ.js";
13
12
 
14
13
  // src/cli-entry-main.ts
15
14
  async function main(argv) {
@@ -17,14 +16,14 @@ async function main(argv) {
17
16
  applySessionShellDefault();
18
17
  const earlyFlags = parseArgs(argv).flags;
19
18
  if (earlyFlags["help"] === true || earlyFlags["version"] === true) {
20
- const { handleHelpVersionShortCircuit } = await import("./short-circuit-flags-7YUCERBB.js");
19
+ const { handleHelpVersionShortCircuit } = await import("./short-circuit-flags-6PSP56L7.js");
21
20
  const earlyExit = await handleHelpVersionShortCircuit(argv);
22
21
  if (earlyExit !== null) return earlyExit;
23
22
  }
24
- const { initializeCli } = await import("./cli-context-K73EIND5.js");
23
+ const { initializeCli } = await import("./cli-context-CYMKNOK3.js");
25
24
  const cliCtx = await initializeCli(argv);
26
25
  if (typeof cliCtx === "number") return cliCtx;
27
- const { runInteractive } = await import("./cli-main-QXSKKANW.js");
26
+ const { runInteractive } = await import("./cli-main-TTIVR4DI.js");
28
27
  return runInteractive(cliCtx);
29
28
  }
30
29
 
@@ -1,4 +1,3 @@
1
- import "./chunk-7OCVIDC7.js";
2
1
 
3
2
  // src/subcommands/handlers/init.ts
4
3
  import { color } from "@wrongstack/core/utils";
@@ -24,4 +23,4 @@ var initCmd = async (_args, deps) => {
24
23
  export {
25
24
  initCmd
26
25
  };
27
- //# sourceMappingURL=init-4JQSG66Q.js.map
26
+ //# sourceMappingURL=init-DRMMFG2G.js.map
@@ -3,10 +3,9 @@ import {
3
3
  buildTaskGraphFromSddSnapshot,
4
4
  createKanbanRunMirror
5
5
  } from "./chunk-VCYZ3WZV.js";
6
- import "./chunk-7OCVIDC7.js";
7
6
  export {
8
7
  buildTaskGraphFromGoalPhase,
9
8
  buildTaskGraphFromSddSnapshot,
10
9
  createKanbanRunMirror
11
10
  };
12
- //# sourceMappingURL=kanban-run-mirror-EKVNGXWW.js.map
11
+ //# sourceMappingURL=kanban-run-mirror-22HQ5FNG.js.map
@@ -30,6 +30,8 @@ export interface LiveSettingsInput {
30
30
  indexOnStart?: boolean | undefined;
31
31
  maxIterations?: number | undefined;
32
32
  autoProceedMaxIterations?: number | undefined;
33
+ /** Per-tool diff threshold that triggers multi-diff summary view. Default: 5. */
34
+ multiDiffSummaryThreshold?: number | undefined;
33
35
  /** When true, file tools are confined to the project root. Default false. */
34
36
  restrictFsToRoot?: boolean | undefined;
35
37
  debugStream?: boolean | undefined;
@@ -1,7 +1,6 @@
1
1
  import {
2
2
  startCliHqConnection
3
- } from "./chunk-XYKYXFEE.js";
4
- import "./chunk-7OCVIDC7.js";
3
+ } from "./chunk-TE3Q32JP.js";
5
4
 
6
5
  // src/subcommands/handlers/mailbox-serve.ts
7
6
  import { createServer } from "node:http";
@@ -360,4 +359,4 @@ function printHelp(deps) {
360
359
  export {
361
360
  mailboxServeCmd
362
361
  };
363
- //# sourceMappingURL=mailbox-serve-VKQIRCCB.js.map
362
+ //# sourceMappingURL=mailbox-serve-VUCWZ2SJ.js.map
@@ -4,7 +4,6 @@ import {
4
4
  import {
5
5
  activeProfileConfigPath
6
6
  } from "./chunk-YMXXOOFN.js";
7
- import "./chunk-7OCVIDC7.js";
8
7
 
9
8
  // src/subcommands/handlers/mcp.ts
10
9
  import { allServers } from "@wrongstack/core/infrastructure";
@@ -441,4 +440,4 @@ function isRecord(value) {
441
440
  export {
442
441
  mcpCmd
443
442
  };
444
- //# sourceMappingURL=mcp-AQKSASHD.js.map
443
+ //# sourceMappingURL=mcp-HOMLC4WE.js.map
@@ -8,8 +8,7 @@ import {
8
8
  mutateConfigProviders,
9
9
  normalizeKeys,
10
10
  writeKeysBack
11
- } from "./chunk-XPX432BZ.js";
12
- import "./chunk-7OCVIDC7.js";
11
+ } from "./chunk-DR2OXU46.js";
13
12
 
14
13
  // src/subcommands/handlers/modeldiag.ts
15
14
  import * as fs from "node:fs/promises";
@@ -1323,4 +1322,4 @@ var modeldiagCmd = async (args, deps) => {
1323
1322
  export {
1324
1323
  modeldiagCmd
1325
1324
  };
1326
- //# sourceMappingURL=modeldiag-ZL4ROTQ5.js.map
1325
+ //# sourceMappingURL=modeldiag-FMJT37SN.js.map
@@ -7,9 +7,8 @@ import {
7
7
  renderFocusedHelpToString,
8
8
  renderGenericHelp,
9
9
  subcommandsWithFocusedHelp
10
- } from "./chunk-P2OKBDCH.js";
10
+ } from "./chunk-MXEJEYT7.js";
11
11
  import "./chunk-2VMJ3E5Z.js";
12
- import "./chunk-7OCVIDC7.js";
13
12
  export {
14
13
  deepSubcommandsWithFocusedHelp,
15
14
  renderBlockToString,
@@ -20,4 +19,4 @@ export {
20
19
  renderGenericHelp,
21
20
  subcommandsWithFocusedHelp
22
21
  };
23
- //# sourceMappingURL=per-subcommand-help-6VCIKDUW.js.map
22
+ //# sourceMappingURL=per-subcommand-help-BWBHYVJO.js.map
@@ -1,4 +1,3 @@
1
- import "./chunk-7OCVIDC7.js";
2
1
 
3
2
  // src/subcommands/handlers/permissions.ts
4
3
  import { DefaultPermissionPolicy } from "@wrongstack/core/security";
@@ -114,4 +113,4 @@ Flags:
114
113
  export {
115
114
  permissionsCmd
116
115
  };
117
- //# sourceMappingURL=permissions-2PWBL4YU.js.map
116
+ //# sourceMappingURL=permissions-CFDLXETM.js.map
@@ -1,13 +1,12 @@
1
1
  import {
2
2
  runPluginManagementCommand
3
- } from "./chunk-635WW3II.js";
3
+ } from "./chunk-TEBMCYZN.js";
4
4
  import {
5
5
  restoreFlags
6
6
  } from "./chunk-CSAPOCBP.js";
7
7
  import {
8
8
  activeProfileConfigPath
9
9
  } from "./chunk-YMXXOOFN.js";
10
- import "./chunk-7OCVIDC7.js";
11
10
 
12
11
  // src/subcommands/handlers/plugin-usage.ts
13
12
  var pluginCmd = async (args, deps) => {
@@ -41,4 +40,4 @@ export {
41
40
  pluginCmd,
42
41
  usageCmd
43
42
  };
44
- //# sourceMappingURL=plugin-usage-7WCZW4NP.js.map
43
+ //# sourceMappingURL=plugin-usage-HFBI3TFT.js.map
@@ -6,10 +6,9 @@ import {
6
6
  pluginNameFromSpec,
7
7
  setupPlugins,
8
8
  warnIfDeprecatedPluginName
9
- } from "./chunk-HF5VQWIY.js";
10
- import "./chunk-TYO2OVAD.js";
11
- import "./chunk-635WW3II.js";
12
- import "./chunk-7OCVIDC7.js";
9
+ } from "./chunk-5IA5337I.js";
10
+ import "./chunk-EWKESL4L.js";
11
+ import "./chunk-TEBMCYZN.js";
13
12
  export {
14
13
  BUILTIN_PLUGIN_FACTORIES,
15
14
  DEPRECATED_PLUGIN_NAMES,
@@ -19,4 +18,4 @@ export {
19
18
  setupPlugins,
20
19
  warnIfDeprecatedPluginName
21
20
  };
22
- //# sourceMappingURL=plugins-7N3TF2QF.js.map
21
+ //# sourceMappingURL=plugins-PZ2VZL7V.js.map
@@ -1,4 +1,3 @@
1
- import "./chunk-7OCVIDC7.js";
2
1
 
3
2
  // src/subcommands/handlers/project.ts
4
3
  import {
@@ -73,4 +72,4 @@ ${color.dim("Commit this file so every clone and machine shares the same HQ proj
73
72
  export {
74
73
  projectCmd
75
74
  };
76
- //# sourceMappingURL=project-BLQ3ALVL.js.map
75
+ //# sourceMappingURL=project-AOQI5XTK.js.map
@@ -6,7 +6,6 @@ import {
6
6
  saveManifest,
7
7
  touchProjectInManifest
8
8
  } from "./chunk-IS2PPBQV.js";
9
- import "./chunk-7OCVIDC7.js";
10
9
  export {
11
10
  ensureProjectDataDir,
12
11
  findProject,
@@ -15,4 +14,4 @@ export {
15
14
  saveManifest,
16
15
  touchProjectInManifest
17
16
  };
18
- //# sourceMappingURL=project-manifest-RV5FXGQI.js.map
17
+ //# sourceMappingURL=project-manifest-7NSFVBM3.js.map
@@ -6,7 +6,6 @@ import {
6
6
  skipDivider
7
7
  } from "./chunk-WQZW3RDP.js";
8
8
  import "./chunk-IS2PPBQV.js";
9
- import "./chunk-7OCVIDC7.js";
10
9
  export {
11
10
  buildPickerItems,
12
11
  effectiveVisibleHeight,
@@ -14,4 +13,4 @@ export {
14
13
  runProjectPicker,
15
14
  skipDivider
16
15
  };
17
- //# sourceMappingURL=project-picker-CCQR3W4I.js.map
16
+ //# sourceMappingURL=project-picker-SVBXMPKX.js.map
@@ -1,4 +1,3 @@
1
- import "./chunk-7OCVIDC7.js";
2
1
 
3
2
  // src/subcommands/handlers/projects.ts
4
3
  import * as fs from "node:fs/promises";
@@ -35,4 +34,4 @@ var projectsCmd = async (_args, deps) => {
35
34
  export {
36
35
  projectsCmd
37
36
  };
38
- //# sourceMappingURL=projects-5J727S4L.js.map
37
+ //# sourceMappingURL=projects-L6C6XLDY.js.map