@verboo/code 0.15.7 → 0.15.8

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 (2) hide show
  1. package/dist/cli.mjs +182 -163
  2. package/package.json +1 -1
package/dist/cli.mjs CHANGED
@@ -117992,7 +117992,7 @@ function getClaudeCodeUserAgent() {
117992
117992
  return `claude-code/${"99.0.0"}`;
117993
117993
  }
117994
117994
  function getVerbooCodeUserAgent() {
117995
- const version2 = "0.15.7";
117995
+ const version2 = "0.15.8";
117996
117996
  return `verboo-code/${version2}`;
117997
117997
  }
117998
117998
 
@@ -390235,7 +390235,7 @@ function getAnthropicEnvMetadata() {
390235
390235
  function getBuildAgeMinutes() {
390236
390236
  if (false)
390237
390237
  ;
390238
- const buildTime = new Date("2026-08-08T18:22:02.046Z").getTime();
390238
+ const buildTime = new Date("2026-08-08T20:16:10.186Z").getTime();
390239
390239
  if (isNaN(buildTime))
390240
390240
  return;
390241
390241
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -431923,7 +431923,7 @@ function buildPrimarySection() {
431923
431923
  });
431924
431924
  return [{
431925
431925
  label: "Version",
431926
- value: "0.15.7"
431926
+ value: "0.15.8"
431927
431927
  }, {
431928
431928
  label: "Session name",
431929
431929
  value: nameValue
@@ -445809,7 +445809,7 @@ function getReleaseTagUrl(version2 = publicBuildVersion) {
445809
445809
  return `${VERBOO_RELEASES_URL}/tag/v${normalizePublicVersion(version2)}`;
445810
445810
  }
445811
445811
  function getPublicBuildVersion() {
445812
- return "0.15.7";
445812
+ return "0.15.8";
445813
445813
  }
445814
445814
  var import_semver10, VERBOO_RELEASES_URL = "https://github.com/verbeux-ai/code/releases", fallbackBuildVersion, publicBuildVersion;
445815
445815
  var init_version = __esm(() => {
@@ -497203,7 +497203,7 @@ var init_bridge_kick = __esm(() => {
497203
497203
  var call66 = async () => {
497204
497204
  return {
497205
497205
  type: "text",
497206
- value: `${"99.0.0"} (built ${"2026-08-08T18:22:02.046Z"})`
497206
+ value: `${"99.0.0"} (built ${"2026-08-08T20:16:10.186Z"})`
497207
497207
  };
497208
497208
  }, version2, version_default;
497209
497209
  var init_version2 = __esm(() => {
@@ -521258,6 +521258,46 @@ function extractArgsAfterDoubleDash(commandOrValue, args = []) {
521258
521258
  return { command: commandOrValue, args };
521259
521259
  }
521260
521260
 
521261
+ // src/utils/model/activeModelIdentity.ts
521262
+ function comparableModelId(modelId) {
521263
+ return modelId.trim().replace(/\[1m\]$/i, "").trim();
521264
+ }
521265
+ function catalogContains(catalog2, modelId) {
521266
+ return catalog2?.some((model2) => model2.id === modelId) === true;
521267
+ }
521268
+ function classifyActiveModelProvider(modelId, catalogs) {
521269
+ const comparable = comparableModelId(modelId);
521270
+ if (catalogContains(catalogs.verboo, comparable))
521271
+ return "Verboo";
521272
+ if (catalogContains(catalogs.codex, comparable))
521273
+ return "Codex";
521274
+ if (catalogContains(catalogs.claude, comparable))
521275
+ return "Claude";
521276
+ if (/(?:^|[-_/])(claude|sonnet|opus|haiku)(?:$|[-_/])/i.test(comparable)) {
521277
+ return "Claude";
521278
+ }
521279
+ if (/^(?:gpt-|o\d)|(?:^|[-_/])codex(?:$|[-_/])/i.test(comparable)) {
521280
+ return "Codex";
521281
+ }
521282
+ return "Verboo";
521283
+ }
521284
+ function getActiveModelIdentity(modelId) {
521285
+ const model2 = modelId.trim();
521286
+ return {
521287
+ provider: classifyActiveModelProvider(model2, {
521288
+ verboo: getCachedVerbooModels(),
521289
+ codex: getCachedCodexModels(),
521290
+ claude: getCachedClaudeNativeModels()
521291
+ }),
521292
+ model: model2
521293
+ };
521294
+ }
521295
+ var init_activeModelIdentity = __esm(() => {
521296
+ init_claudeNativeModels();
521297
+ init_codexModels();
521298
+ init_verbooModels();
521299
+ });
521300
+
521261
521301
  // src/components/StartupScreen.ts
521262
521302
  var exports_StartupScreen = {};
521263
521303
  __export(exports_StartupScreen, {
@@ -521266,32 +521306,39 @@ __export(exports_StartupScreen, {
521266
521306
  detectProvider: () => detectProvider
521267
521307
  });
521268
521308
  function resolveVerbooStartupModel(modelOverride) {
521269
- const cachedModels = getCachedVerbooModels();
521309
+ const verbooModels = getCachedVerbooModels();
521310
+ const codexModels = getCachedCodexModels();
521311
+ const claudeModels = getCachedClaudeNativeModels();
521312
+ const availableModels = [
521313
+ ...verbooModels ?? [],
521314
+ ...codexModels ?? [],
521315
+ ...claudeModels ?? []
521316
+ ];
521317
+ const catalogsLoaded = verbooModels !== null || codexModels !== null || claudeModels !== null;
521270
521318
  const resolveIfAvailable = (model2) => {
521271
521319
  if (typeof model2 !== "string")
521272
521320
  return;
521273
521321
  const trimmed3 = model2.trim();
521274
- if (!trimmed3 || isClaudeModelLike(trimmed3))
521322
+ if (!trimmed3)
521275
521323
  return;
521276
521324
  const resolved = parseUserSpecifiedModel(trimmed3);
521277
- if (isClaudeModelLike(resolved))
521278
- return;
521279
- if (cachedModels !== null) {
521280
- return cachedModels.some((m) => m.id === resolved && !isClaudeModelLike(m.id)) ? resolved : undefined;
521325
+ if (catalogsLoaded) {
521326
+ return availableModels.some((model3) => model3.id === resolved) ? resolved : undefined;
521281
521327
  }
521282
521328
  return resolved;
521283
521329
  };
521284
- return resolveIfAvailable(modelOverride) ?? resolveIfAvailable(getUserSpecifiedModelSetting()) ?? cachedModels?.find((model2) => !isClaudeModelLike(model2.id))?.id ?? getDefaultVerbooModel();
521330
+ return resolveIfAvailable(modelOverride) ?? resolveIfAvailable(getUserSpecifiedModelSetting()) ?? getDefaultVerbooModel();
521285
521331
  }
521286
521332
  function detectProvider(modelOverride) {
521287
521333
  if (isVerbooMode()) {
521288
- const baseUrl2 = VERBOO_ROUTER_URL;
521289
- const isLocal2 = isLocalProviderUrl(baseUrl2);
521334
+ const model2 = resolveVerbooStartupModel(modelOverride);
521335
+ const identity4 = getActiveModelIdentity(model2);
521336
+ const baseUrl2 = identity4.provider === "Codex" ? DEFAULT_CODEX_BASE_URL : identity4.provider === "Claude" ? CLAUDE_NATIVE_API_BASE_URL : VERBOO_ROUTER_URL;
521290
521337
  return {
521291
- name: "Verboo",
521292
- model: resolveVerbooStartupModel(modelOverride),
521338
+ name: identity4.provider,
521339
+ model: identity4.model,
521293
521340
  baseUrl: baseUrl2,
521294
- isLocal: isLocal2
521341
+ isLocal: false
521295
521342
  };
521296
521343
  }
521297
521344
  const useGemini = process.env.CLAUDE_CODE_USE_GEMINI === "1" || process.env.CLAUDE_CODE_USE_GEMINI === "true";
@@ -521377,11 +521424,11 @@ function detectProvider(modelOverride) {
521377
521424
  }
521378
521425
  return { name, model: displayModel, baseUrl: baseUrl2, isLocal: isLocal2 };
521379
521426
  }
521380
- const modelSetting = modelOverride || getDefaultVerbooModel();
521427
+ const modelSetting = modelOverride || getUserSpecifiedModelSetting() || getDefaultMainLoopModel();
521381
521428
  const resolvedModel = parseUserSpecifiedModel(modelSetting);
521382
- const baseUrl = VERBOO_ROUTER_URL;
521429
+ const baseUrl = process.env.ANTHROPIC_BASE_URL || CLAUDE_NATIVE_API_BASE_URL;
521383
521430
  const isLocal = isLocalProviderUrl(baseUrl);
521384
- return { name: "Verboo", model: resolvedModel, baseUrl, isLocal };
521431
+ return { name: "Claude", model: resolvedModel, baseUrl, isLocal };
521385
521432
  }
521386
521433
  function truncateStartupText(text2, maxLength) {
521387
521434
  if (maxLength <= 0)
@@ -521396,49 +521443,16 @@ function renderStartupScreen(p, version3, displayCwd, columns) {
521396
521443
  const out = [""];
521397
521444
  const bold2 = `${ESC4}1m`;
521398
521445
  const PURPLE = rgb3(...ACCENT);
521399
- const PURPLE_FILL = `${PURPLE}${ESC4}48;2;${ACCENT[0]};${ACCENT[1]};${ACCENT[2]}m`;
521400
521446
  const DIMP = `${DIM2}${rgb3(...DIMCOL)}`;
521401
521447
  const STATUS_C = p.isLocal ? rgb3(130, 200, 140) : PURPLE;
521402
521448
  const statusLabel = p.isLocal ? "local" : "cloud";
521403
- const providerAndModel = p.name === "Verboo" ? p.model : `${p.name} · ${p.model}`;
521404
- if (columns < STARTUP_LOGO_MIN_COLUMNS) {
521405
- const detailWidth = Math.max(1, columns - 4);
521406
- const shownVersion = truncateStartupText(version3, Math.max(1, columns - 20));
521407
- const model2 = truncateStartupText(providerAndModel, Math.max(1, detailWidth - statusLabel.length - 4));
521408
- const cwd2 = truncateStartupText(displayCwd, detailWidth);
521409
- out.push(` ${bold2}${PURPLE}Verboo Code${RESET2} ${DIMP}v${shownVersion}${RESET2}`);
521410
- out.push(` ${STATUS_C}●${RESET2} ${DIMP}${model2} · ${statusLabel}${RESET2}`);
521411
- out.push(` ${DIMP}${cwd2}${RESET2}`);
521412
- } else {
521413
- const maxLogoWidth = Math.max(...VERBOO_LOGO.map((line) => line.trimEnd().length));
521414
- const logoTextPadding = 2;
521415
- const rightTextWidth = Math.max(1, columns - 2 - maxLogoWidth - logoTextPadding);
521416
- const shownVersion = truncateStartupText(version3, Math.max(1, rightTextWidth - 16));
521417
- const model2 = truncateStartupText(providerAndModel, Math.max(1, rightTextWidth - statusLabel.length - 5));
521418
- const cwd2 = truncateStartupText(displayCwd, rightTextWidth);
521419
- const hint = truncateStartupText("Type a request, or use /help for commands", rightTextWidth);
521420
- const rightColumn = [
521421
- "",
521422
- `${bold2}${PURPLE}Verboo Code${RESET2} ${DIMP}v${shownVersion}${RESET2}`,
521423
- `${STATUS_C}●${RESET2} ${DIMP}${model2} · ${statusLabel}${RESET2}`,
521424
- `${DIMP}${cwd2}${RESET2}`,
521425
- "",
521426
- `${DIMP}${hint}${RESET2}`,
521427
- ""
521428
- ];
521429
- for (let i3 = 0;i3 < VERBOO_LOGO.length; i3++) {
521430
- const line = (VERBOO_LOGO[i3] ?? "").trimEnd();
521431
- const mask = VERBOO_LOGO_MASK[i3] ?? "";
521432
- let painted = "";
521433
- for (let j = 0;j < line.length; j++) {
521434
- const character = line[j] ?? "";
521435
- const isBlock = character === "▀" || character === "▄";
521436
- painted += isBlock && mask[j] === "1" ? `${PURPLE_FILL}${character}${RESET2}` : isBlock ? `${PURPLE}${character}${RESET2}` : character;
521437
- }
521438
- const gap = " ".repeat(Math.max(0, maxLogoWidth - line.length + logoTextPadding));
521439
- out.push(` ${painted}${gap}${rightColumn[i3] ?? ""}`);
521440
- }
521441
- }
521449
+ const providerAndModel = `${p.name} · ${p.model}`;
521450
+ const shownVersion = truncateStartupText(version3, Math.max(1, columns - 22));
521451
+ const model2 = truncateStartupText(providerAndModel, Math.max(1, columns - statusLabel.length - 10));
521452
+ const cwd2 = truncateStartupText(displayCwd, Math.max(1, columns - 5));
521453
+ out.push(` ${PURPLE}╭${RESET2} \uD83D\uDC7B ${bold2}${PURPLE}Verboo Code${RESET2} ${DIMP}v${shownVersion}${RESET2}`);
521454
+ out.push(` ${PURPLE}│${RESET2} ${STATUS_C}●${RESET2} ${DIMP}${model2} · ${statusLabel}${RESET2}`);
521455
+ out.push(` ${PURPLE}╰${RESET2} ${DIMP}${cwd2}${RESET2}`);
521442
521456
  out.push("");
521443
521457
  return `${out.join(`
521444
521458
  `)}
@@ -521451,39 +521465,25 @@ function printStartupScreen(modelOverride) {
521451
521465
  const home = process.env.HOME || process.env.USERPROFILE || "";
521452
521466
  const cwd2 = process.cwd();
521453
521467
  const displayCwd = home && cwd2.startsWith(home) ? `~${cwd2.slice(home.length)}` : cwd2;
521454
- const version3 = "0.15.7";
521468
+ const version3 = "0.15.8";
521455
521469
  const columns = process.stdout.columns ?? STARTUP_DEFAULT_COLUMNS;
521456
521470
  process.stdout.write(renderStartupScreen(p, version3, displayCwd, columns));
521457
521471
  }
521458
- var ESC4 = "\x1B[", RESET2, DIM2, rgb3 = (r, g, b) => `${ESC4}38;2;${r};${g};${b}m`, ACCENT, DIMCOL, STARTUP_DEFAULT_COLUMNS = 80, VERBOO_LOGO, VERBOO_LOGO_MASK, STARTUP_LOGO_MIN_COLUMNS = 48;
521472
+ var ESC4 = "\x1B[", RESET2, DIM2, rgb3 = (r, g, b) => `${ESC4}38;2;${r};${g};${b}m`, ACCENT, DIMCOL, STARTUP_DEFAULT_COLUMNS = 80;
521459
521473
  var init_StartupScreen = __esm(() => {
521460
521474
  init_oauth();
521475
+ init_claudeNativeModels();
521476
+ init_claudeNativeConfig();
521477
+ init_codexModels();
521461
521478
  init_providerConfig();
521462
521479
  init_verbooModels();
521463
521480
  init_providerDiscovery();
521481
+ init_activeModelIdentity();
521464
521482
  init_model();
521465
521483
  RESET2 = `${ESC4}0m`;
521466
521484
  DIM2 = `${ESC4}2m`;
521467
521485
  ACCENT = [173, 52, 254];
521468
521486
  DIMCOL = [120, 100, 140];
521469
- VERBOO_LOGO = [
521470
- " ▄▀▀▀▀▀▀▀▄ ",
521471
- "▄▀▀▀▀▀▀▀▀▀▀▀▄",
521472
- "▀▀▀ ▀▀▀▀▀ ▀▀▀",
521473
- "▀▀▀▀▀▀▀▀▀▀▀▀▀",
521474
- "▀▀▀▀▀▄▄▄▀▀▀▀▀",
521475
- " ▀▀▀▀▀▀▀▀▀▀▀ ",
521476
- "▄▀▀ ▀▀▀▀▀ ▀▀▄"
521477
- ];
521478
- VERBOO_LOGO_MASK = [
521479
- " 011111110 ",
521480
- "0111111111110",
521481
- "1110111110111",
521482
- "1111011101111",
521483
- "1111100011111",
521484
- " 11111111111 ",
521485
- "110 01110 011"
521486
- ];
521487
521487
  });
521488
521488
 
521489
521489
  // node_modules/commander/lib/error.js
@@ -540694,7 +540694,7 @@ var init_routerRateLimitHook = __esm(() => {
540694
540694
  function getSemverPart(version3) {
540695
540695
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
540696
540696
  }
540697
- function useUpdateNotification(updatedVersion, initialVersion = "0.15.7") {
540697
+ function useUpdateNotification(updatedVersion, initialVersion = "0.15.8") {
540698
540698
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react227.useState(() => getSemverPart(initialVersion));
540699
540699
  const [pendingNotification2, setPendingNotification] = import_react227.useState(null);
540700
540700
  if (updatedVersion) {
@@ -540734,7 +540734,7 @@ function AutoUpdater({
540734
540734
  return;
540735
540735
  }
540736
540736
  if (false) {}
540737
- const currentVersion = "0.15.7";
540737
+ const currentVersion = "0.15.8";
540738
540738
  const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
540739
540739
  let latestVersion = await getLatestVersion(channel2);
540740
540740
  const isDisabled = isAutoUpdaterDisabled();
@@ -541087,17 +541087,17 @@ function PackageManagerAutoUpdater(t0) {
541087
541087
  const maxVersion = await getMaxVersion();
541088
541088
  if (maxVersion && latest && gt(latest, maxVersion)) {
541089
541089
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
541090
- if (gte("0.15.7", maxVersion)) {
541091
- logForDebugging(`PackageManagerAutoUpdater: current version ${"0.15.7"} is already at or above maxVersion ${maxVersion}, skipping update`);
541090
+ if (gte("0.15.8", maxVersion)) {
541091
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"0.15.8"} is already at or above maxVersion ${maxVersion}, skipping update`);
541092
541092
  setUpdateAvailable(false);
541093
541093
  return;
541094
541094
  }
541095
541095
  latest = maxVersion;
541096
541096
  }
541097
- const hasUpdate = latest && !gte("0.15.7", latest) && !shouldSkipVersion(latest);
541097
+ const hasUpdate = latest && !gte("0.15.8", latest) && !shouldSkipVersion(latest);
541098
541098
  setUpdateAvailable(!!hasUpdate);
541099
541099
  if (hasUpdate) {
541100
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.15.7"} -> ${latest}`);
541100
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.15.8"} -> ${latest}`);
541101
541101
  }
541102
541102
  };
541103
541103
  $2[0] = t1;
@@ -541131,7 +541131,7 @@ function PackageManagerAutoUpdater(t0) {
541131
541131
  wrap: "truncate",
541132
541132
  children: [
541133
541133
  "currentVersion: ",
541134
- "0.15.7"
541134
+ "0.15.8"
541135
541135
  ]
541136
541136
  });
541137
541137
  $2[3] = verbose;
@@ -551446,18 +551446,16 @@ function ModeIndicator({
551446
551446
  const modePart = currentMode && hasActiveMode && !getIsRemoteMode() ? /* @__PURE__ */ jsx_runtime436.jsxs(ThemedText, {
551447
551447
  color: getModeColor(currentMode),
551448
551448
  children: [
551449
- permissionModeSymbol(currentMode),
551449
+ currentMode === "bypassPermissions" || currentMode === "dontAsk" ? "⚠" : permissionModeSymbol(currentMode),
551450
551450
  " ",
551451
551451
  permissionModeTitle(currentMode).toLowerCase(),
551452
- " on",
551453
551452
  shouldShowModeHint && /* @__PURE__ */ jsx_runtime436.jsxs(ThemedText, {
551454
551453
  dimColor: true,
551455
551454
  children: [
551456
- " ",
551455
+ " · ",
551457
551456
  /* @__PURE__ */ jsx_runtime436.jsx(KeyboardShortcutHint, {
551458
551457
  shortcut: modeCycleShortcut,
551459
- action: "cycle",
551460
- parens: true
551458
+ action: "change"
551461
551459
  })
551462
551460
  ]
551463
551461
  })
@@ -551707,12 +551705,11 @@ function ContextWindowDisplayInner({ messages, permissionMode }) {
551707
551705
  const mainLoopModel = useMainLoopModel();
551708
551706
  const exceeds200k = import_react256.useMemo(() => doesMostRecentAssistantMessageExceed200k(messages), [messages]);
551709
551707
  const runtimeModel = getRuntimeMainLoopModel({ permissionMode, mainLoopModel, exceeds200kTokens: exceeds200k });
551708
+ const activeModel = getActiveModelIdentity(runtimeModel);
551710
551709
  const windowSize = getContextWindowForModel2(runtimeModel, getSdkBetas2());
551711
551710
  const { avgRate10s, isGenerating } = useTokenRateDetailed(messages);
551712
551711
  const contextTokens = import_react256.useMemo(() => tokenCountWithEstimation(messages), [messages]);
551713
551712
  const pct = import_react256.useMemo(() => Math.min(100, Math.max(0, Math.round(contextTokens / windowSize * 100))), [contextTokens, windowSize]);
551714
- const filled = Math.max(0, Math.min(BAR_WIDTH, Math.round(pct / 100 * BAR_WIDTH)));
551715
- const bar = "█".repeat(filled) + "░".repeat(BAR_WIDTH - filled);
551716
551713
  const contextColor = pct >= 90 ? "red" : pct >= 70 ? "yellow" : undefined;
551717
551714
  const rateValue = Math.round(avgRate10s);
551718
551715
  const showTokenRate = rateValue > 0;
@@ -551722,7 +551719,25 @@ function ContextWindowDisplayInner({ messages, permissionMode }) {
551722
551719
  return /* @__PURE__ */ jsx_runtime437.jsxs(ThemedBox_default, {
551723
551720
  flexDirection: "row",
551724
551721
  gap: 1,
551722
+ flexShrink: 1,
551725
551723
  children: [
551724
+ /* @__PURE__ */ jsx_runtime437.jsx(ThemedText, {
551725
+ color: "claude",
551726
+ children: activeModel.provider
551727
+ }),
551728
+ /* @__PURE__ */ jsx_runtime437.jsx(ThemedText, {
551729
+ dimColor: true,
551730
+ wrap: "truncate",
551731
+ children: activeModel.model
551732
+ }),
551733
+ /* @__PURE__ */ jsx_runtime437.jsx(ThemedText, {
551734
+ dimColor: true,
551735
+ children: "·"
551736
+ }),
551737
+ /* @__PURE__ */ jsx_runtime437.jsx(ThemedText, {
551738
+ dimColor: true,
551739
+ children: "context"
551740
+ }),
551726
551741
  /* @__PURE__ */ jsx_runtime437.jsxs(ThemedText, {
551727
551742
  color: contextColor,
551728
551743
  dimColor: contextColor === undefined,
@@ -551732,15 +551747,14 @@ function ContextWindowDisplayInner({ messages, permissionMode }) {
551732
551747
  ]
551733
551748
  }),
551734
551749
  /* @__PURE__ */ jsx_runtime437.jsx(ThemedText, {
551735
- color: contextColor,
551736
- dimColor: contextColor === undefined,
551737
- children: bar
551750
+ dimColor: true,
551751
+ children: "·"
551738
551752
  }),
551739
551753
  /* @__PURE__ */ jsx_runtime437.jsxs(ThemedText, {
551740
551754
  dimColor: true,
551741
551755
  children: [
551742
551756
  inputK,
551743
- "/",
551757
+ " / ",
551744
551758
  windowK
551745
551759
  ]
551746
551760
  }),
@@ -551933,7 +551947,7 @@ function BridgeStatusIndicator({
551933
551947
  ]
551934
551948
  });
551935
551949
  }
551936
- var React155, import_react256, jsx_runtime437, BAR_WIDTH = 16, ContextWindowDisplay, PromptInputFooter_default;
551950
+ var React155, import_react256, jsx_runtime437, ContextWindowDisplay, PromptInputFooter_default;
551937
551951
  var init_PromptInputFooter = __esm(() => {
551938
551952
  init_bridgeEnabled();
551939
551953
  init_bridgeStatusUtil();
@@ -551948,6 +551962,7 @@ var init_PromptInputFooter = __esm(() => {
551948
551962
  init_format2();
551949
551963
  init_fullscreen();
551950
551964
  init_model();
551965
+ init_activeModelIdentity();
551951
551966
  init_tokens();
551952
551967
  init_useTokenRate();
551953
551968
  init_CoordinatorAgentStatus();
@@ -552451,9 +552466,9 @@ function usePromptInputPlaceholder({
552451
552466
  return "Press up to edit queued messages";
552452
552467
  }
552453
552468
  if (submitCount < 1 && promptSuggestionEnabled && !proactiveModule4?.isProactiveActive()) {
552454
- return getExampleCommandFromCache() ?? "Ask Verboo to build, fix, or explain…";
552469
+ return getExampleCommandFromCache() ?? "Describe a task, bug, or idea…";
552455
552470
  }
552456
- return "Ask Verboo to build, fix, or explain…";
552471
+ return "Describe a task, bug, or idea…";
552457
552472
  }, [
552458
552473
  input,
552459
552474
  queuedCommands,
@@ -554307,9 +554322,10 @@ function PromptInput({
554307
554322
  hasStash: stashedPrompt !== undefined
554308
554323
  }),
554309
554324
  /* @__PURE__ */ jsx_runtime441.jsx(ThemedBox_default, {
554310
- marginLeft: 2,
554325
+ paddingX: 2,
554311
554326
  height: 1,
554312
554327
  overflow: "hidden",
554328
+ justifyContent: "flex-end",
554313
554329
  children: mode === "prompt" && !exitMessage.show && !isPasting ? /* @__PURE__ */ jsx_runtime441.jsx(ContextWindowDisplay, {
554314
554330
  messages,
554315
554331
  permissionMode: effectiveToolPermissionContext.mode
@@ -554489,10 +554505,8 @@ function getInitialPasteId(messages) {
554489
554505
  return maxId + 1;
554490
554506
  }
554491
554507
  function buildPromptBorderText(mode) {
554492
- if (mode !== "bash")
554493
- return;
554494
554508
  return {
554495
- content: " shell ",
554509
+ content: mode === "bash" ? " shell " : " prompt ",
554496
554510
  position: "top",
554497
554511
  align: "start",
554498
554512
  offset: 1
@@ -557160,10 +557174,10 @@ async function autoUpdateCliInBackground() {
557160
557174
  return;
557161
557175
  const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
557162
557176
  const latest = await getLatestVersion(channel2);
557163
- if (!latest || gte("0.15.7", latest))
557177
+ if (!latest || gte("0.15.8", latest))
557164
557178
  return;
557165
557179
  writeToStdout(`
557166
- Nova versão disponível: ${latest} (atual: ${"0.15.7"})
557180
+ Nova versão disponível: ${latest} (atual: ${"0.15.8"})
557167
557181
  `);
557168
557182
  writeToStdout(`Atualizando automaticamente...
557169
557183
  `);
@@ -575342,64 +575356,69 @@ var init_ApproveApiKey = __esm(() => {
575342
575356
 
575343
575357
  // src/components/LogoV2/WelcomeV2.tsx
575344
575358
  function WelcomeV2() {
575345
- const version3 = "0.15.7";
575359
+ const version3 = "0.15.8";
575346
575360
  return /* @__PURE__ */ jsx_runtime480.jsxs(ThemedBox_default, {
575347
- flexDirection: "row",
575348
- gap: 2,
575361
+ flexDirection: "column",
575349
575362
  marginY: 1,
575350
575363
  paddingX: 1,
575351
- alignItems: "center",
575352
575364
  children: [
575353
- /* @__PURE__ */ jsx_runtime480.jsx(ThemedBox_default, {
575354
- flexDirection: "column",
575355
- children: VERBOO_LOGO2.map((line, index) => /* @__PURE__ */ jsx_runtime480.jsx(ThemedText, {
575356
- color: "claude",
575357
- children: line
575358
- }, index))
575359
- }),
575360
575365
  /* @__PURE__ */ jsx_runtime480.jsxs(ThemedBox_default, {
575361
- flexDirection: "column",
575366
+ flexDirection: "row",
575362
575367
  children: [
575363
- /* @__PURE__ */ jsx_runtime480.jsxs(ThemedBox_default, {
575364
- flexDirection: "row",
575365
- gap: 1,
575368
+ /* @__PURE__ */ jsx_runtime480.jsx(ThemedText, {
575369
+ color: "claude",
575370
+ children: "╭"
575371
+ }),
575372
+ /* @__PURE__ */ jsx_runtime480.jsx(ThemedText, {
575373
+ children: " \uD83D\uDC7B "
575374
+ }),
575375
+ /* @__PURE__ */ jsx_runtime480.jsx(ThemedText, {
575376
+ bold: true,
575377
+ color: "claude",
575378
+ children: "Verboo Code"
575379
+ }),
575380
+ /* @__PURE__ */ jsx_runtime480.jsxs(ThemedText, {
575381
+ dimColor: true,
575366
575382
  children: [
575367
- /* @__PURE__ */ jsx_runtime480.jsx(ThemedText, {
575368
- bold: true,
575369
- color: "claude",
575370
- children: "Verboo Code"
575371
- }),
575372
- /* @__PURE__ */ jsx_runtime480.jsxs(ThemedText, {
575373
- dimColor: true,
575374
- children: [
575375
- "v",
575376
- version3
575377
- ]
575378
- })
575383
+ " v",
575384
+ version3
575379
575385
  ]
575386
+ })
575387
+ ]
575388
+ }),
575389
+ /* @__PURE__ */ jsx_runtime480.jsxs(ThemedBox_default, {
575390
+ flexDirection: "row",
575391
+ children: [
575392
+ /* @__PURE__ */ jsx_runtime480.jsx(ThemedText, {
575393
+ color: "claude",
575394
+ children: "│"
575380
575395
  }),
575381
575396
  /* @__PURE__ */ jsx_runtime480.jsx(ThemedText, {
575382
575397
  dimColor: true,
575383
- children: "Build, debug, and ship from your terminal."
575398
+ children: " Build, debug, and ship from your terminal."
575399
+ })
575400
+ ]
575401
+ }),
575402
+ /* @__PURE__ */ jsx_runtime480.jsxs(ThemedBox_default, {
575403
+ flexDirection: "row",
575404
+ children: [
575405
+ /* @__PURE__ */ jsx_runtime480.jsx(ThemedText, {
575406
+ color: "claude",
575407
+ children: "╰"
575408
+ }),
575409
+ /* @__PURE__ */ jsx_runtime480.jsx(ThemedText, {
575410
+ dimColor: true,
575411
+ children: " Describe what you need to get started."
575384
575412
  })
575385
575413
  ]
575386
575414
  })
575387
575415
  ]
575388
575416
  });
575389
575417
  }
575390
- var jsx_runtime480, VERBOO_LOGO2;
575418
+ var jsx_runtime480;
575391
575419
  var init_WelcomeV2 = __esm(() => {
575392
575420
  init_ink2();
575393
575421
  jsx_runtime480 = __toESM(require_jsx_runtime(), 1);
575394
- VERBOO_LOGO2 = [
575395
- " ▄▀▀▀▀▀▀▀▄ ",
575396
- "▄▀▀▀▀▀▀▀▀▀▀▀▄",
575397
- "▀▀▀ ▀▀▀▀▀ ▀▀▀",
575398
- "▀▀▀▀▀▀▀▀▀▀▀▀▀",
575399
- "▀▀▀▀▀▄▄▄▀▀▀▀▀",
575400
- " ▀▀▀▀▀▀▀▀▀▀▀ ",
575401
- "▄▀▀ ▀▀▀▀▀ ▀▀▄"
575402
- ];
575403
575422
  });
575404
575423
 
575405
575424
  // src/components/ui/OrderedListItem.tsx
@@ -593645,7 +593664,7 @@ __export(exports_update, {
593645
593664
  });
593646
593665
  async function update() {
593647
593666
  logEvent("tengu_update_check", {});
593648
- writeToStdout(`Current version: ${"0.15.7"}
593667
+ writeToStdout(`Current version: ${"0.15.8"}
593649
593668
  `);
593650
593669
  const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
593651
593670
  writeToStdout(`Checking for updates to ${channel2} version...
@@ -593730,8 +593749,8 @@ async function update() {
593730
593749
  writeToStdout(`Verboo Code is managed by Homebrew.
593731
593750
  `);
593732
593751
  const latest = await getLatestVersion(channel2);
593733
- if (latest && !gte("0.15.7", latest)) {
593734
- writeToStdout(`Update available: ${"0.15.7"} → ${latest}
593752
+ if (latest && !gte("0.15.8", latest)) {
593753
+ writeToStdout(`Update available: ${"0.15.8"} → ${latest}
593735
593754
  `);
593736
593755
  writeToStdout(`
593737
593756
  `);
@@ -593747,8 +593766,8 @@ async function update() {
593747
593766
  writeToStdout(`Verboo Code is managed by winget.
593748
593767
  `);
593749
593768
  const latest = await getLatestVersion(channel2);
593750
- if (latest && !gte("0.15.7", latest)) {
593751
- writeToStdout(`Update available: ${"0.15.7"} → ${latest}
593769
+ if (latest && !gte("0.15.8", latest)) {
593770
+ writeToStdout(`Update available: ${"0.15.8"} → ${latest}
593752
593771
  `);
593753
593772
  writeToStdout(`
593754
593773
  `);
@@ -593764,8 +593783,8 @@ async function update() {
593764
593783
  writeToStdout(`Verboo Code is managed by apk.
593765
593784
  `);
593766
593785
  const latest = await getLatestVersion(channel2);
593767
- if (latest && !gte("0.15.7", latest)) {
593768
- writeToStdout(`Update available: ${"0.15.7"} → ${latest}
593786
+ if (latest && !gte("0.15.8", latest)) {
593787
+ writeToStdout(`Update available: ${"0.15.8"} → ${latest}
593769
593788
  `);
593770
593789
  writeToStdout(`
593771
593790
  `);
@@ -593818,11 +593837,11 @@ async function update() {
593818
593837
  `);
593819
593838
  await gracefulShutdown(1);
593820
593839
  }
593821
- if (result.latestVersion === "0.15.7") {
593822
- writeToStdout(source_default.green(`Verboo Code is up to date (${"0.15.7"})`) + `
593840
+ if (result.latestVersion === "0.15.8") {
593841
+ writeToStdout(source_default.green(`Verboo Code is up to date (${"0.15.8"})`) + `
593823
593842
  `);
593824
593843
  } else {
593825
- writeToStdout(source_default.green(`Successfully updated from ${"0.15.7"} to version ${result.latestVersion}`) + `
593844
+ writeToStdout(source_default.green(`Successfully updated from ${"0.15.8"} to version ${result.latestVersion}`) + `
593826
593845
  `);
593827
593846
  await regenerateCompletionCache();
593828
593847
  }
@@ -593882,12 +593901,12 @@ async function update() {
593882
593901
  `);
593883
593902
  await gracefulShutdown(1);
593884
593903
  }
593885
- if (latestVersion === "0.15.7") {
593886
- writeToStdout(source_default.green(`Verboo Code is up to date (${"0.15.7"})`) + `
593904
+ if (latestVersion === "0.15.8") {
593905
+ writeToStdout(source_default.green(`Verboo Code is up to date (${"0.15.8"})`) + `
593887
593906
  `);
593888
593907
  await gracefulShutdown(0);
593889
593908
  }
593890
- writeToStdout(`New version available: ${latestVersion} (current: ${"0.15.7"})
593909
+ writeToStdout(`New version available: ${latestVersion} (current: ${"0.15.8"})
593891
593910
  `);
593892
593911
  writeToStdout(`Installing update...
593893
593912
  `);
@@ -593932,7 +593951,7 @@ async function update() {
593932
593951
  logForDebugging(`update: Installation status: ${status2}`);
593933
593952
  switch (status2) {
593934
593953
  case "success":
593935
- writeToStdout(source_default.green(`Successfully updated from ${"0.15.7"} to version ${latestVersion}`) + `
593954
+ writeToStdout(source_default.green(`Successfully updated from ${"0.15.8"} to version ${latestVersion}`) + `
593936
593955
  `);
593937
593956
  await regenerateCompletionCache();
593938
593957
  break;
@@ -595251,7 +595270,7 @@ ${customInstructions}` : customInstructions;
595251
595270
  is_native_binary: isInBundledMode()
595252
595271
  });
595253
595272
  logMemoryDiagnostics("start", {
595254
- version: "0.15.7",
595273
+ version: "0.15.8",
595255
595274
  debug: debug2,
595256
595275
  debugToStderr,
595257
595276
  print: print ?? false,
@@ -596062,7 +596081,7 @@ Usage: verboo --remote "your task description"`, () => gracefulShutdown(1));
596062
596081
  pendingHookMessages
596063
596082
  }, renderAndRun);
596064
596083
  }
596065
- }).version(`0.15.7 (${cliDesc})`, "-v, --version", "Output the version number");
596084
+ }).version(`0.15.8 (${cliDesc})`, "-v, --version", "Output the version number");
596066
596085
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
596067
596086
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
596068
596087
  if (canUserConfigureAdvisor()) {
@@ -596643,7 +596662,7 @@ if (false) {}
596643
596662
  async function main2() {
596644
596663
  const args = process.argv.slice(2);
596645
596664
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
596646
- console.log(`${"0.15.7"} (Verboo Code)`);
596665
+ console.log(`${"0.15.8"} (Verboo Code)`);
596647
596666
  return;
596648
596667
  }
596649
596668
  if (!IS_VERBOO_CLI && args.includes("--provider")) {
@@ -596817,4 +596836,4 @@ async function main2() {
596817
596836
  }
596818
596837
  main2();
596819
596838
 
596820
- //# debugId=01F120A1BA0FBE6664756E2164756E21
596839
+ //# debugId=BFD42A66E2F1999764756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@verboo/code",
3
- "version": "0.15.7",
3
+ "version": "0.15.8",
4
4
  "description": "Verboo Code — coding agent for the Verboo platform",
5
5
  "type": "module",
6
6
  "bin": {