@verboo/code 0.8.7 → 0.8.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 +58 -67
  2. package/package.json +1 -1
package/dist/cli.mjs CHANGED
@@ -143578,7 +143578,7 @@ function calculateContextPercentages(currentUsage, contextWindowSize) {
143578
143578
  if (!currentUsage) {
143579
143579
  return { used: null, remaining: null };
143580
143580
  }
143581
- const totalInputTokens = currentUsage.input_tokens + currentUsage.cache_creation_input_tokens + currentUsage.cache_read_input_tokens;
143581
+ const totalInputTokens = currentUsage.input_tokens;
143582
143582
  const usedPercentage = Math.round(totalInputTokens / contextWindowSize * 100);
143583
143583
  const clampedUsed = Math.min(100, Math.max(0, usedPercentage));
143584
143584
  return {
@@ -280711,7 +280711,7 @@ async function getLatestVersion(channel) {
280711
280711
  const npmTag = channel === "stable" ? "stable" : "latest";
280712
280712
  const result = await execFileNoThrowWithCwd("npm", ["view", `${"@verboo/code"}@${npmTag}`, "version", "--prefer-online"], { abortSignal: AbortSignal.timeout(5000), cwd: homedir19() });
280713
280713
  if (result.code !== 0) {
280714
- logForDebugging2(`npm view failed with code ${result.code}`);
280714
+ logForDebugging2(`npm view failed with code ${result.code} for tag '${npmTag}'`);
280715
280715
  if (result.stderr) {
280716
280716
  logForDebugging2(`npm stderr: ${result.stderr.trim()}`);
280717
280717
  } else {
@@ -280720,6 +280720,13 @@ async function getLatestVersion(channel) {
280720
280720
  if (result.stdout) {
280721
280721
  logForDebugging2(`npm stdout: ${result.stdout.trim()}`);
280722
280722
  }
280723
+ if (npmTag === "stable") {
280724
+ logForDebugging2(`Tag 'stable' indisponível; caindo para 'latest' como fallback`);
280725
+ const fallback = await execFileNoThrowWithCwd("npm", ["view", `${"@verboo/code"}@latest`, "version", "--prefer-online"], { abortSignal: AbortSignal.timeout(5000), cwd: homedir19() });
280726
+ if (fallback.code === 0) {
280727
+ return fallback.stdout.trim();
280728
+ }
280729
+ }
280723
280730
  return null;
280724
280731
  }
280725
280732
  return result.stdout.trim();
@@ -389790,17 +389797,9 @@ async function* queryLoop(params, consumedCommandUuids) {
389790
389797
  const lastAssistant = assistantMessages.at(-1);
389791
389798
  if (lastAssistant?.type === "assistant") {
389792
389799
  const lastText = lastAssistant.message.content.filter((b) => b.type === "text").map((b) => b.text).join(" ").toLowerCase();
389793
- const continuationSignals = [
389794
- /\bso now (i|let me|we) (need to|have to|should|must|will) (do|create|write|edit|update|fix|implement|add|run|check|make|build|set up)\b/,
389795
- /\bnow i('ll| will) (do|create|write|edit|update|fix|implement|add|run|check|make|build|set up|go|proceed)\b/,
389796
- /\blet me (go ahead and |now )?(do|create|write|edit|update|fix|implement|add|run|check|make|build|set up|proceed)\b/,
389797
- ...lastText.length < 80 ? [/\b(i('ll| will| need to| have to| must) (now )?(do|create|write|edit|update|fix|implement|add|run|check|make|build|set up))\b/] : [],
389798
- /\btime to (do|create|write|edit|update|fix|implement|add|run|check|make|build|get started|begin)\b/,
389799
- ...lastText.length < 80 ? [/\bnext,?\s+(i('ll| will)|let me|i need to) (do|create|write|edit|update|fix|implement|add|run|check|make|build)\b/] : []
389800
- ];
389801
- const completionMarkers = /\b(done|finished|completed|complete|summary|that's all|that is all|all set|hope this helps|let me know if)\b/;
389802
- if (completionMarkers.test(lastText)) {} else if (continuationSignals.some((re) => re.test(lastText))) {
389803
- logForDebugging2(`Continuation nudge triggered (${state2.continuationNudgeCount + 1}/${MAX_CONTINUATION_NUDGES}): model said "${lastText.slice(-120)}" without tool calls`);
389800
+ const completionMarkers = /\b(done|finished|completed|complete|summary|that's all|that is all|all set|hope this helps|let me know if|pronto|conclu[íi]do|finalizado|terminado|conclus[ãa]o|resumo|isso [ée] tudo|espero que ajude|qualquer d[úu]vida|qualquer coisa avise|fico [àa] disposi[çc][ãa]o)\b/;
389801
+ if (!completionMarkers.test(lastText)) {
389802
+ logForDebugging2(`Continuation nudge triggered (${state2.continuationNudgeCount + 1}/${MAX_CONTINUATION_NUDGES}): assistant produced text without tool_use, tail="${lastText.slice(-120)}"`);
389804
389803
  const nudge = createUserMessage({
389805
389804
  content: "Continue with the task. Use the appropriate tools to proceed.",
389806
389805
  isMeta: true
@@ -389827,15 +389826,7 @@ async function* queryLoop(params, consumedCommandUuids) {
389827
389826
  const lastAssistantForDiag = assistantMessages.at(-1);
389828
389827
  const lastTextForDiag = lastAssistantForDiag?.type === "assistant" ? lastAssistantForDiag.message.content.filter((b) => b.type === "text").map((b) => b.text).join(" ") : "";
389829
389828
  const lastTextLower = lastTextForDiag.toLowerCase();
389830
- const completionMarkersDiag = /\b(done|finished|completed|complete|summary|that's all|that is all|all set|hope this helps|let me know if)\b/;
389831
- const continuationSignalsDiag = [
389832
- /\bso now (i|let me|we) (need to|have to|should|must|will) (do|create|write|edit|update|fix|implement|add|run|check|make|build|set up)\b/,
389833
- /\bnow i('ll| will) (do|create|write|edit|update|fix|implement|add|run|check|make|build|set up|go|proceed)\b/,
389834
- /\blet me (go ahead and |now )?(do|create|write|edit|update|fix|implement|add|run|check|make|build|set up|proceed)\b/,
389835
- /\b(i('ll| will| need to| have to| must) (now )?(do|create|write|edit|update|fix|implement|add|run|check|make|build|set up))\b/,
389836
- /\btime to (do|create|write|edit|update|fix|implement|add|run|check|make|build|get started|begin)\b/,
389837
- /\bnext,?\s+(i('ll| will)|let me|i need to) (do|create|write|edit|update|fix|implement|add|run|check|make|build)\b/
389838
- ];
389829
+ const completionMarkersDiag = /\b(done|finished|completed|complete|summary|that's all|that is all|all set|hope this helps|let me know if|pronto|conclu[íi]do|finalizado|terminado|conclus[ãa]o|resumo|isso [ée] tudo|espero que ajude|qualquer d[úu]vida|qualquer coisa avise|fico [àa] disposi[çc][ãa]o)\b/;
389839
389830
  logForDebugging2(JSON.stringify({
389840
389831
  type: "silent_stop_diagnostic",
389841
389832
  turnCount,
@@ -389846,8 +389837,8 @@ async function* queryLoop(params, consumedCommandUuids) {
389846
389837
  textLength: lastTextForDiag.length,
389847
389838
  textPreview: lastTextForDiag.slice(-500),
389848
389839
  matchedCompletionMarker: completionMarkersDiag.test(lastTextLower),
389849
- matchedContinuationSignal: continuationSignalsDiag.some((re) => re.test(lastTextLower))
389850
- }), { level: "warn" });
389840
+ reachedNudgeCap: state2.continuationNudgeCount >= MAX_CONTINUATION_NUDGES
389841
+ }), { level: "debug" });
389851
389842
  }
389852
389843
  return { reason: "completed" };
389853
389844
  }
@@ -390162,7 +390153,7 @@ function getAnthropicEnvMetadata() {
390162
390153
  function getBuildAgeMinutes() {
390163
390154
  if (false)
390164
390155
  ;
390165
- const buildTime = new Date("2026-05-12T16:51:30.966Z").getTime();
390156
+ const buildTime = new Date("2026-05-13T14:00:04.454Z").getTime();
390166
390157
  if (isNaN(buildTime))
390167
390158
  return;
390168
390159
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -418283,7 +418274,7 @@ function buildPrimarySection() {
418283
418274
  }, undefined, false, undefined, this);
418284
418275
  return [{
418285
418276
  label: "Version",
418286
- value: "0.8.7"
418277
+ value: "0.8.8"
418287
418278
  }, {
418288
418279
  label: "Session name",
418289
418280
  value: nameValue
@@ -432578,7 +432569,7 @@ function getReleaseTagUrl(version2 = publicBuildVersion) {
432578
432569
  return `${VERBOO_RELEASES_URL}/tag/v${normalizePublicVersion(version2)}`;
432579
432570
  }
432580
432571
  function getPublicBuildVersion() {
432581
- return "0.8.7";
432572
+ return "0.8.8";
432582
432573
  }
432583
432574
  var import_semver10, VERBOO_RELEASES_URL = "https://github.com/verbeux-ai/code/releases", fallbackBuildVersion, publicBuildVersion;
432584
432575
  var init_version = __esm(() => {
@@ -487674,7 +487665,7 @@ var init_bridge_kick = __esm(() => {
487674
487665
  var call62 = async () => {
487675
487666
  return {
487676
487667
  type: "text",
487677
- value: `${"99.0.0"} (built ${"2026-05-12T16:51:30.966Z"})`
487668
+ value: `${"99.0.0"} (built ${"2026-05-13T14:00:04.454Z"})`
487678
487669
  };
487679
487670
  }, version2, version_default;
487680
487671
  var init_version2 = __esm(() => {
@@ -519831,7 +519822,7 @@ function printStartupScreen(modelOverride) {
519831
519822
  const home = process.env.HOME || process.env.USERPROFILE || "";
519832
519823
  const cwd2 = process.cwd();
519833
519824
  const displayCwd = home && cwd2.startsWith(home) ? `~${cwd2.slice(home.length)}` : cwd2;
519834
- const version3 = "0.8.7";
519825
+ const version3 = "0.8.8";
519835
519826
  const bold2 = `${ESC3}1m`;
519836
519827
  const PURPLE = rgb3(...ACCENT);
519837
519828
  const SOFT = rgb3(...CREAM);
@@ -538065,17 +538056,17 @@ var init_useVoiceEnabled = __esm(() => {
538065
538056
  function getSemverPart(version3) {
538066
538057
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
538067
538058
  }
538068
- function useUpdateNotification(updatedVersion, initialVersion = "99.0.0") {
538059
+ function useUpdateNotification(updatedVersion, initialVersion = "0.8.8") {
538069
538060
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react223.useState(() => getSemverPart(initialVersion));
538070
- if (!updatedVersion) {
538071
- return null;
538072
- }
538073
- const updatedSemver = getSemverPart(updatedVersion);
538074
- if (updatedSemver !== lastNotifiedSemver) {
538075
- setLastNotifiedSemver(updatedSemver);
538076
- return updatedSemver;
538061
+ const [pendingNotification2, setPendingNotification] = import_react223.useState(null);
538062
+ if (updatedVersion) {
538063
+ const updatedSemver = getSemverPart(updatedVersion);
538064
+ if (updatedSemver !== lastNotifiedSemver) {
538065
+ setLastNotifiedSemver(updatedSemver);
538066
+ setPendingNotification(updatedSemver);
538067
+ }
538077
538068
  }
538078
- return null;
538069
+ return pendingNotification2;
538079
538070
  }
538080
538071
  var import_react223, import_semver13;
538081
538072
  var init_useUpdateNotification = __esm(() => {
@@ -538105,7 +538096,7 @@ function AutoUpdater({
538105
538096
  return;
538106
538097
  }
538107
538098
  if (false) {}
538108
- const currentVersion = "0.8.7";
538099
+ const currentVersion = "0.8.8";
538109
538100
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
538110
538101
  let latestVersion = await getLatestVersion(channel);
538111
538102
  const isDisabled = isAutoUpdaterDisabled();
@@ -538458,17 +538449,17 @@ function PackageManagerAutoUpdater(t0) {
538458
538449
  const maxVersion = await getMaxVersion();
538459
538450
  if (maxVersion && latest && gt(latest, maxVersion)) {
538460
538451
  logForDebugging2(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
538461
- if (gte("0.8.7", maxVersion)) {
538462
- logForDebugging2(`PackageManagerAutoUpdater: current version ${"0.8.7"} is already at or above maxVersion ${maxVersion}, skipping update`);
538452
+ if (gte("0.8.8", maxVersion)) {
538453
+ logForDebugging2(`PackageManagerAutoUpdater: current version ${"0.8.8"} is already at or above maxVersion ${maxVersion}, skipping update`);
538463
538454
  setUpdateAvailable(false);
538464
538455
  return;
538465
538456
  }
538466
538457
  latest = maxVersion;
538467
538458
  }
538468
- const hasUpdate = latest && !gte("0.8.7", latest) && !shouldSkipVersion(latest);
538459
+ const hasUpdate = latest && !gte("0.8.8", latest) && !shouldSkipVersion(latest);
538469
538460
  setUpdateAvailable(!!hasUpdate);
538470
538461
  if (hasUpdate) {
538471
- logForDebugging2(`PackageManagerAutoUpdater: Update available ${"0.8.7"} -> ${latest}`);
538462
+ logForDebugging2(`PackageManagerAutoUpdater: Update available ${"0.8.8"} -> ${latest}`);
538472
538463
  }
538473
538464
  };
538474
538465
  $2[0] = t1;
@@ -538502,7 +538493,7 @@ function PackageManagerAutoUpdater(t0) {
538502
538493
  wrap: "truncate",
538503
538494
  children: [
538504
538495
  "currentVersion: ",
538505
- "0.8.7"
538496
+ "0.8.8"
538506
538497
  ]
538507
538498
  }, undefined, true, undefined, this);
538508
538499
  $2[3] = verbose;
@@ -570909,7 +570900,7 @@ function WelcomeV2() {
570909
570900
  dimColor: true,
570910
570901
  children: [
570911
570902
  "v",
570912
- "0.8.7",
570903
+ "0.8.8",
570913
570904
  " "
570914
570905
  ]
570915
570906
  }, undefined, true, undefined, this)
@@ -571096,7 +571087,7 @@ function WelcomeV2() {
571096
571087
  dimColor: true,
571097
571088
  children: [
571098
571089
  "v",
571099
- "0.8.7",
571090
+ "0.8.8",
571100
571091
  " "
571101
571092
  ]
571102
571093
  }, undefined, true, undefined, this)
@@ -571312,7 +571303,7 @@ function AppleTerminalWelcomeV2(t0) {
571312
571303
  dimColor: true,
571313
571304
  children: [
571314
571305
  "v",
571315
- "0.8.7",
571306
+ "0.8.8",
571316
571307
  " "
571317
571308
  ]
571318
571309
  }, undefined, true, undefined, this);
@@ -571521,7 +571512,7 @@ function AppleTerminalWelcomeV2(t0) {
571521
571512
  dimColor: true,
571522
571513
  children: [
571523
571514
  "v",
571524
- "0.8.7",
571515
+ "0.8.8",
571525
571516
  " "
571526
571517
  ]
571527
571518
  }, undefined, true, undefined, this);
@@ -588892,7 +588883,7 @@ __export(exports_update, {
588892
588883
  async function update() {
588893
588884
  if (getAPIProvider() !== "firstParty") {
588894
588885
  writeToStdout(source_default.yellow(`Auto-update is not available for third-party provider builds.
588895
- `) + `Current version: ${"0.8.7"}
588886
+ `) + `Current version: ${"0.8.8"}
588896
588887
 
588897
588888
  ` + `To update, reinstall from npm:
588898
588889
  ` + source_default.bold(` npm install -g ${"@verboo/code"}@latest`) + `
@@ -588903,7 +588894,7 @@ async function update() {
588903
588894
  await gracefulShutdown(0);
588904
588895
  }
588905
588896
  logEvent("tengu_update_check", {});
588906
- writeToStdout(`Current version: ${"0.8.7"}
588897
+ writeToStdout(`Current version: ${"0.8.8"}
588907
588898
  `);
588908
588899
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
588909
588900
  writeToStdout(`Checking for updates to ${channel} version...
@@ -588988,8 +588979,8 @@ async function update() {
588988
588979
  writeToStdout(`Verboo Code is managed by Homebrew.
588989
588980
  `);
588990
588981
  const latest = await getLatestVersion(channel);
588991
- if (latest && !gte("0.8.7", latest)) {
588992
- writeToStdout(`Update available: ${"0.8.7"} → ${latest}
588982
+ if (latest && !gte("0.8.8", latest)) {
588983
+ writeToStdout(`Update available: ${"0.8.8"} → ${latest}
588993
588984
  `);
588994
588985
  writeToStdout(`
588995
588986
  `);
@@ -589005,8 +588996,8 @@ async function update() {
589005
588996
  writeToStdout(`Verboo Code is managed by winget.
589006
588997
  `);
589007
588998
  const latest = await getLatestVersion(channel);
589008
- if (latest && !gte("0.8.7", latest)) {
589009
- writeToStdout(`Update available: ${"0.8.7"} → ${latest}
588999
+ if (latest && !gte("0.8.8", latest)) {
589000
+ writeToStdout(`Update available: ${"0.8.8"} → ${latest}
589010
589001
  `);
589011
589002
  writeToStdout(`
589012
589003
  `);
@@ -589022,8 +589013,8 @@ async function update() {
589022
589013
  writeToStdout(`Verboo Code is managed by apk.
589023
589014
  `);
589024
589015
  const latest = await getLatestVersion(channel);
589025
- if (latest && !gte("0.8.7", latest)) {
589026
- writeToStdout(`Update available: ${"0.8.7"} → ${latest}
589016
+ if (latest && !gte("0.8.8", latest)) {
589017
+ writeToStdout(`Update available: ${"0.8.8"} → ${latest}
589027
589018
  `);
589028
589019
  writeToStdout(`
589029
589020
  `);
@@ -589088,11 +589079,11 @@ async function update() {
589088
589079
  `);
589089
589080
  await gracefulShutdown(1);
589090
589081
  }
589091
- if (result.latestVersion === "0.8.7") {
589092
- writeToStdout(source_default.green(`Verboo Code is up to date (${"0.8.7"})`) + `
589082
+ if (result.latestVersion === "0.8.8") {
589083
+ writeToStdout(source_default.green(`Verboo Code is up to date (${"0.8.8"})`) + `
589093
589084
  `);
589094
589085
  } else {
589095
- writeToStdout(source_default.green(`Successfully updated from ${"0.8.7"} to version ${result.latestVersion}`) + `
589086
+ writeToStdout(source_default.green(`Successfully updated from ${"0.8.8"} to version ${result.latestVersion}`) + `
589096
589087
  `);
589097
589088
  await regenerateCompletionCache();
589098
589089
  }
@@ -589152,12 +589143,12 @@ async function update() {
589152
589143
  `);
589153
589144
  await gracefulShutdown(1);
589154
589145
  }
589155
- if (latestVersion === "0.8.7") {
589156
- writeToStdout(source_default.green(`Verboo Code is up to date (${"0.8.7"})`) + `
589146
+ if (latestVersion === "0.8.8") {
589147
+ writeToStdout(source_default.green(`Verboo Code is up to date (${"0.8.8"})`) + `
589157
589148
  `);
589158
589149
  await gracefulShutdown(0);
589159
589150
  }
589160
- writeToStdout(`New version available: ${latestVersion} (current: ${"0.8.7"})
589151
+ writeToStdout(`New version available: ${latestVersion} (current: ${"0.8.8"})
589161
589152
  `);
589162
589153
  writeToStdout(`Installing update...
589163
589154
  `);
@@ -589202,7 +589193,7 @@ async function update() {
589202
589193
  logForDebugging2(`update: Installation status: ${status2}`);
589203
589194
  switch (status2) {
589204
589195
  case "success":
589205
- writeToStdout(source_default.green(`Successfully updated from ${"0.8.7"} to version ${latestVersion}`) + `
589196
+ writeToStdout(source_default.green(`Successfully updated from ${"0.8.8"} to version ${latestVersion}`) + `
589206
589197
  `);
589207
589198
  await regenerateCompletionCache();
589208
589199
  break;
@@ -590462,7 +590453,7 @@ ${customInstructions}` : customInstructions;
590462
590453
  is_native_binary: isInBundledMode()
590463
590454
  });
590464
590455
  logMemoryDiagnostics("start", {
590465
- version: "0.8.7",
590456
+ version: "0.8.8",
590466
590457
  debug: debug2,
590467
590458
  debugToStderr,
590468
590459
  print: print ?? false,
@@ -591268,7 +591259,7 @@ Usage: verboo --remote "your task description"`, () => gracefulShutdown(1));
591268
591259
  pendingHookMessages
591269
591260
  }, renderAndRun);
591270
591261
  }
591271
- }).version(`0.8.7 (${cliDesc})`, "-v, --version", "Output the version number");
591262
+ }).version(`0.8.8 (${cliDesc})`, "-v, --version", "Output the version number");
591272
591263
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
591273
591264
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
591274
591265
  if (canUserConfigureAdvisor()) {
@@ -591842,7 +591833,7 @@ if (false) {}
591842
591833
  async function main2() {
591843
591834
  const args = process.argv.slice(2);
591844
591835
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
591845
- console.log(`${"0.8.7"} (Verboo Code)`);
591836
+ console.log(`${"0.8.8"} (Verboo Code)`);
591846
591837
  return;
591847
591838
  }
591848
591839
  if (!IS_VERBOO_CLI && args.includes("--provider")) {
@@ -592007,4 +591998,4 @@ async function main2() {
592007
591998
  }
592008
591999
  main2();
592009
592000
 
592010
- //# debugId=858C122152A1A60464756E2164756E21
592001
+ //# debugId=2C9E0A9507621FFB64756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@verboo/code",
3
- "version": "0.8.7",
3
+ "version": "0.8.8",
4
4
  "description": "Verboo Code — coding agent for the Verboo platform",
5
5
  "type": "module",
6
6
  "bin": {