@verboo/code 0.7.11 → 0.7.12
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/cli.mjs +88 -32
- package/package.json +1 -1
package/dist/cli.mjs
CHANGED
|
@@ -115518,7 +115518,7 @@ function printStartupScreen(modelOverride) {
|
|
|
115518
115518
|
const home = process.env.HOME || process.env.USERPROFILE || "";
|
|
115519
115519
|
const cwd2 = process.cwd();
|
|
115520
115520
|
const displayCwd = home && cwd2.startsWith(home) ? `~${cwd2.slice(home.length)}` : cwd2;
|
|
115521
|
-
const version2 = "0.7.
|
|
115521
|
+
const version2 = "0.7.12";
|
|
115522
115522
|
const bold2 = `${ESC}1m`;
|
|
115523
115523
|
const PURPLE = rgb(...ACCENT);
|
|
115524
115524
|
const SOFT = rgb(...CREAM);
|
|
@@ -201954,11 +201954,13 @@ function mapOpenAICompatibilityFailureToAssistantMessage(options2) {
|
|
|
201954
201954
|
content: `The selected model (${options2.model}) is not available on this provider. Run ${switchCmd} to choose another model, or verify installed local models (for Ollama: ollama list).`,
|
|
201955
201955
|
error: "invalid_request"
|
|
201956
201956
|
});
|
|
201957
|
-
case "auth_invalid":
|
|
201957
|
+
case "auth_invalid": {
|
|
201958
|
+
const verbooFirstParty = isVerbooMode() && isFirstPartyAnthropicBaseUrl();
|
|
201958
201959
|
return createAssistantAPIErrorMessage({
|
|
201959
|
-
content: `${API_ERROR_MESSAGE_PREFIX}: Authentication failed
|
|
201960
|
+
content: verbooFirstParty ? `${API_ERROR_MESSAGE_PREFIX}: Authentication failed. ${getIsNonInteractiveSession() ? "Run `verboo /login` and retry." : "Please run /login."}` : `${API_ERROR_MESSAGE_PREFIX}: Authentication failed. Verify your provider credentials (OPENAI_API_KEY / ANTHROPIC_BASE_URL / endpoint-specific auth headers).`,
|
|
201960
201961
|
error: "authentication_failed"
|
|
201961
201962
|
});
|
|
201963
|
+
}
|
|
201962
201964
|
case "rate_limited":
|
|
201963
201965
|
return createAssistantAPIErrorMessage({
|
|
201964
201966
|
content: `${API_ERROR_MESSAGE_PREFIX}: Provider rate limit reached. Retry in a few seconds.`,
|
|
@@ -202055,10 +202057,10 @@ function getRequestTooLargeErrorMessage() {
|
|
|
202055
202057
|
return getIsNonInteractiveSession() ? `Request too large (${limits}). Try with a smaller file.` : `Request too large (${limits}). Double press esc to go back and try with a smaller file.`;
|
|
202056
202058
|
}
|
|
202057
202059
|
function getTokenRevokedErrorMessage() {
|
|
202058
|
-
return getIsNonInteractiveSession() ?
|
|
202060
|
+
return getIsNonInteractiveSession() ? `${API_ERROR_MESSAGE_PREFIX}: OAuth token revoked. Run \`verboo /login\` to re-authenticate, or contact your administrator.` : TOKEN_REVOKED_ERROR_MESSAGE;
|
|
202059
202061
|
}
|
|
202060
202062
|
function getOauthOrgNotAllowedErrorMessage() {
|
|
202061
|
-
return getIsNonInteractiveSession() ?
|
|
202063
|
+
return getIsNonInteractiveSession() ? `${API_ERROR_MESSAGE_PREFIX}: Your organization does not have access to Verboo Code. Run \`verboo /login\` to switch accounts, or contact your administrator.` : OAUTH_ORG_NOT_ALLOWED_ERROR_MESSAGE;
|
|
202062
202064
|
}
|
|
202063
202065
|
function isCCRMode() {
|
|
202064
202066
|
return isEnvTruthy(process.env.CLAUDE_CODE_REMOTE);
|
|
@@ -202430,7 +202432,7 @@ Run /share and post the JSON file to ${MACRO.FEEDBACK_CHANNEL}.`;
|
|
|
202430
202432
|
}
|
|
202431
202433
|
return createAssistantAPIErrorMessage({
|
|
202432
202434
|
error: "authentication_failed",
|
|
202433
|
-
content: getIsNonInteractiveSession() ?
|
|
202435
|
+
content: getIsNonInteractiveSession() ? `${API_ERROR_MESSAGE_PREFIX}: ${error42.message} · Failed to authenticate. Run \`verboo /login\` to refresh credentials.` : `Please run /login · ${API_ERROR_MESSAGE_PREFIX}: ${error42.message}`
|
|
202434
202436
|
});
|
|
202435
202437
|
}
|
|
202436
202438
|
if (isEnvTruthy(process.env.CLAUDE_CODE_USE_BEDROCK) && error42 instanceof Error && error42.message.toLowerCase().includes("model id")) {
|
|
@@ -202609,6 +202611,7 @@ var init_errors6 = __esm(() => {
|
|
|
202609
202611
|
init_providers();
|
|
202610
202612
|
init_state();
|
|
202611
202613
|
init_apiLimits();
|
|
202614
|
+
init_oauth();
|
|
202612
202615
|
init_envUtils();
|
|
202613
202616
|
init_format2();
|
|
202614
202617
|
init_imageResizer();
|
|
@@ -376810,7 +376813,7 @@ function getAnthropicEnvMetadata() {
|
|
|
376810
376813
|
function getBuildAgeMinutes() {
|
|
376811
376814
|
if (false)
|
|
376812
376815
|
;
|
|
376813
|
-
const buildTime = new Date("2026-05-
|
|
376816
|
+
const buildTime = new Date("2026-05-01T21:13:05.033Z").getTime();
|
|
376814
376817
|
if (isNaN(buildTime))
|
|
376815
376818
|
return;
|
|
376816
376819
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -417346,7 +417349,7 @@ function buildPrimarySection() {
|
|
|
417346
417349
|
}, undefined, false, undefined, this);
|
|
417347
417350
|
return [{
|
|
417348
417351
|
label: "Version",
|
|
417349
|
-
value: "0.7.
|
|
417352
|
+
value: "0.7.12"
|
|
417350
417353
|
}, {
|
|
417351
417354
|
label: "Session name",
|
|
417352
417355
|
value: nameValue
|
|
@@ -485296,7 +485299,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
485296
485299
|
var call60 = async () => {
|
|
485297
485300
|
return {
|
|
485298
485301
|
type: "text",
|
|
485299
|
-
value: `${"99.0.0"} (built ${"2026-05-
|
|
485302
|
+
value: `${"99.0.0"} (built ${"2026-05-01T21:13:05.033Z"})`
|
|
485300
485303
|
};
|
|
485301
485304
|
}, version2, version_default;
|
|
485302
485305
|
var init_version = __esm(() => {
|
|
@@ -538084,6 +538087,49 @@ var init_PromptInputFooterLeftSide = __esm(() => {
|
|
|
538084
538087
|
});
|
|
538085
538088
|
|
|
538086
538089
|
// src/components/PromptInput/PromptInputFooter.tsx
|
|
538090
|
+
function ContextWindowDisplay({ messages, permissionMode }) {
|
|
538091
|
+
const mainLoopModel = useMainLoopModel();
|
|
538092
|
+
const exceeds200k = doesMostRecentAssistantMessageExceed200k(messages);
|
|
538093
|
+
const runtimeModel = getRuntimeMainLoopModel({ permissionMode, mainLoopModel, exceeds200kTokens: exceeds200k });
|
|
538094
|
+
const usage = getCurrentUsage(messages);
|
|
538095
|
+
const windowSize = getContextWindowForModel(runtimeModel, getSdkBetas());
|
|
538096
|
+
if (!usage) {
|
|
538097
|
+
const emptyBar = "░".repeat(BAR_WIDTH);
|
|
538098
|
+
const windowK2 = formatNumber(windowSize);
|
|
538099
|
+
return /* @__PURE__ */ jsx_dev_runtime429.jsxDEV(ThemedText, {
|
|
538100
|
+
dimColor: true,
|
|
538101
|
+
children: [
|
|
538102
|
+
"ctx [",
|
|
538103
|
+
emptyBar,
|
|
538104
|
+
"] 0/",
|
|
538105
|
+
windowK2,
|
|
538106
|
+
" 0%"
|
|
538107
|
+
]
|
|
538108
|
+
}, undefined, true, undefined, this);
|
|
538109
|
+
}
|
|
538110
|
+
const { used } = calculateContextPercentages(usage, windowSize);
|
|
538111
|
+
const pct = Math.round(used);
|
|
538112
|
+
const filled = Math.round(pct / 100 * BAR_WIDTH);
|
|
538113
|
+
const bar = "█".repeat(filled) + "░".repeat(BAR_WIDTH - filled);
|
|
538114
|
+
const color3 = pct >= 90 ? "red" : pct >= 70 ? "yellow" : undefined;
|
|
538115
|
+
const inputK = formatNumber(usage.input_tokens);
|
|
538116
|
+
const windowK = formatNumber(windowSize);
|
|
538117
|
+
return /* @__PURE__ */ jsx_dev_runtime429.jsxDEV(ThemedText, {
|
|
538118
|
+
dimColor: true,
|
|
538119
|
+
color: color3,
|
|
538120
|
+
children: [
|
|
538121
|
+
"ctx [",
|
|
538122
|
+
bar,
|
|
538123
|
+
"] ",
|
|
538124
|
+
inputK,
|
|
538125
|
+
"/",
|
|
538126
|
+
windowK,
|
|
538127
|
+
" ",
|
|
538128
|
+
pct,
|
|
538129
|
+
"%"
|
|
538130
|
+
]
|
|
538131
|
+
}, undefined, true, undefined, this);
|
|
538132
|
+
}
|
|
538087
538133
|
function PromptInputFooter({
|
|
538088
538134
|
apiKeyStatus,
|
|
538089
538135
|
debug,
|
|
@@ -538174,6 +538220,10 @@ function PromptInputFooter({
|
|
|
538174
538220
|
lastAssistantMessageId,
|
|
538175
538221
|
vimMode
|
|
538176
538222
|
}, undefined, false, undefined, this),
|
|
538223
|
+
mode === "prompt" && !exitMessage.show && !isPasting && /* @__PURE__ */ jsx_dev_runtime429.jsxDEV(ContextWindowDisplay, {
|
|
538224
|
+
messages,
|
|
538225
|
+
permissionMode: toolPermissionContext.mode
|
|
538226
|
+
}, undefined, false, undefined, this),
|
|
538177
538227
|
/* @__PURE__ */ jsx_dev_runtime429.jsxDEV(PromptInputFooterLeftSide, {
|
|
538178
538228
|
exitMessage,
|
|
538179
538229
|
vimMode,
|
|
@@ -538258,16 +538308,22 @@ function BridgeStatusIndicator({
|
|
|
538258
538308
|
]
|
|
538259
538309
|
}, undefined, true, undefined, this);
|
|
538260
538310
|
}
|
|
538261
|
-
var import_react252, jsx_dev_runtime429, PromptInputFooter_default;
|
|
538311
|
+
var import_react252, jsx_dev_runtime429, BAR_WIDTH = 20, PromptInputFooter_default;
|
|
538262
538312
|
var init_PromptInputFooter = __esm(() => {
|
|
538263
538313
|
init_bridgeEnabled();
|
|
538264
538314
|
init_bridgeStatusUtil();
|
|
538315
|
+
init_state();
|
|
538265
538316
|
init_promptOverlayContext();
|
|
538317
|
+
init_useMainLoopModel();
|
|
538266
538318
|
init_useSettings();
|
|
538267
538319
|
init_useTerminalSize();
|
|
538268
538320
|
init_ink2();
|
|
538269
538321
|
init_AppState();
|
|
538322
|
+
init_context();
|
|
538323
|
+
init_format2();
|
|
538270
538324
|
init_fullscreen();
|
|
538325
|
+
init_model();
|
|
538326
|
+
init_tokens();
|
|
538271
538327
|
init_CoordinatorAgentStatus();
|
|
538272
538328
|
init_StatusLine();
|
|
538273
538329
|
init_Notifications();
|
|
@@ -561013,7 +561069,7 @@ function WelcomeV2() {
|
|
|
561013
561069
|
dimColor: true,
|
|
561014
561070
|
children: [
|
|
561015
561071
|
"v",
|
|
561016
|
-
"0.7.
|
|
561072
|
+
"0.7.12",
|
|
561017
561073
|
" "
|
|
561018
561074
|
]
|
|
561019
561075
|
}, undefined, true, undefined, this)
|
|
@@ -561200,7 +561256,7 @@ function WelcomeV2() {
|
|
|
561200
561256
|
dimColor: true,
|
|
561201
561257
|
children: [
|
|
561202
561258
|
"v",
|
|
561203
|
-
"0.7.
|
|
561259
|
+
"0.7.12",
|
|
561204
561260
|
" "
|
|
561205
561261
|
]
|
|
561206
561262
|
}, undefined, true, undefined, this)
|
|
@@ -561416,7 +561472,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
561416
561472
|
dimColor: true,
|
|
561417
561473
|
children: [
|
|
561418
561474
|
"v",
|
|
561419
|
-
"0.7.
|
|
561475
|
+
"0.7.12",
|
|
561420
561476
|
" "
|
|
561421
561477
|
]
|
|
561422
561478
|
}, undefined, true, undefined, this);
|
|
@@ -561625,7 +561681,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
561625
561681
|
dimColor: true,
|
|
561626
561682
|
children: [
|
|
561627
561683
|
"v",
|
|
561628
|
-
"0.7.
|
|
561684
|
+
"0.7.12",
|
|
561629
561685
|
" "
|
|
561630
561686
|
]
|
|
561631
561687
|
}, undefined, true, undefined, this);
|
|
@@ -579665,7 +579721,7 @@ __export(exports_update, {
|
|
|
579665
579721
|
async function update() {
|
|
579666
579722
|
if (getAPIProvider() !== "firstParty") {
|
|
579667
579723
|
writeToStdout(source_default.yellow(`Auto-update is not available for third-party provider builds.
|
|
579668
|
-
`) + `Current version: ${"0.7.
|
|
579724
|
+
`) + `Current version: ${"0.7.12"}
|
|
579669
579725
|
|
|
579670
579726
|
` + `To update, reinstall from npm:
|
|
579671
579727
|
` + source_default.bold(` npm install -g ${"@verboo/code"}@latest`) + `
|
|
@@ -579676,7 +579732,7 @@ async function update() {
|
|
|
579676
579732
|
await gracefulShutdown(0);
|
|
579677
579733
|
}
|
|
579678
579734
|
logEvent("tengu_update_check", {});
|
|
579679
|
-
writeToStdout(`Current version: ${"0.7.
|
|
579735
|
+
writeToStdout(`Current version: ${"0.7.12"}
|
|
579680
579736
|
`);
|
|
579681
579737
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
579682
579738
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -579761,8 +579817,8 @@ async function update() {
|
|
|
579761
579817
|
writeToStdout(`Claude is managed by Homebrew.
|
|
579762
579818
|
`);
|
|
579763
579819
|
const latest = await getLatestVersion(channel);
|
|
579764
|
-
if (latest && !gte("0.7.
|
|
579765
|
-
writeToStdout(`Update available: ${"0.7.
|
|
579820
|
+
if (latest && !gte("0.7.12", latest)) {
|
|
579821
|
+
writeToStdout(`Update available: ${"0.7.12"} → ${latest}
|
|
579766
579822
|
`);
|
|
579767
579823
|
writeToStdout(`
|
|
579768
579824
|
`);
|
|
@@ -579778,8 +579834,8 @@ async function update() {
|
|
|
579778
579834
|
writeToStdout(`Claude is managed by winget.
|
|
579779
579835
|
`);
|
|
579780
579836
|
const latest = await getLatestVersion(channel);
|
|
579781
|
-
if (latest && !gte("0.7.
|
|
579782
|
-
writeToStdout(`Update available: ${"0.7.
|
|
579837
|
+
if (latest && !gte("0.7.12", latest)) {
|
|
579838
|
+
writeToStdout(`Update available: ${"0.7.12"} → ${latest}
|
|
579783
579839
|
`);
|
|
579784
579840
|
writeToStdout(`
|
|
579785
579841
|
`);
|
|
@@ -579795,8 +579851,8 @@ async function update() {
|
|
|
579795
579851
|
writeToStdout(`Claude is managed by apk.
|
|
579796
579852
|
`);
|
|
579797
579853
|
const latest = await getLatestVersion(channel);
|
|
579798
|
-
if (latest && !gte("0.7.
|
|
579799
|
-
writeToStdout(`Update available: ${"0.7.
|
|
579854
|
+
if (latest && !gte("0.7.12", latest)) {
|
|
579855
|
+
writeToStdout(`Update available: ${"0.7.12"} → ${latest}
|
|
579800
579856
|
`);
|
|
579801
579857
|
writeToStdout(`
|
|
579802
579858
|
`);
|
|
@@ -579861,11 +579917,11 @@ async function update() {
|
|
|
579861
579917
|
`);
|
|
579862
579918
|
await gracefulShutdown(1);
|
|
579863
579919
|
}
|
|
579864
|
-
if (result.latestVersion === "0.7.
|
|
579865
|
-
writeToStdout(source_default.green(`Verboo Code is up to date (${"0.7.
|
|
579920
|
+
if (result.latestVersion === "0.7.12") {
|
|
579921
|
+
writeToStdout(source_default.green(`Verboo Code is up to date (${"0.7.12"})`) + `
|
|
579866
579922
|
`);
|
|
579867
579923
|
} else {
|
|
579868
|
-
writeToStdout(source_default.green(`Successfully updated from ${"0.7.
|
|
579924
|
+
writeToStdout(source_default.green(`Successfully updated from ${"0.7.12"} to version ${result.latestVersion}`) + `
|
|
579869
579925
|
`);
|
|
579870
579926
|
await regenerateCompletionCache();
|
|
579871
579927
|
}
|
|
@@ -579925,12 +579981,12 @@ async function update() {
|
|
|
579925
579981
|
`);
|
|
579926
579982
|
await gracefulShutdown(1);
|
|
579927
579983
|
}
|
|
579928
|
-
if (latestVersion === "0.7.
|
|
579929
|
-
writeToStdout(source_default.green(`Verboo Code is up to date (${"0.7.
|
|
579984
|
+
if (latestVersion === "0.7.12") {
|
|
579985
|
+
writeToStdout(source_default.green(`Verboo Code is up to date (${"0.7.12"})`) + `
|
|
579930
579986
|
`);
|
|
579931
579987
|
await gracefulShutdown(0);
|
|
579932
579988
|
}
|
|
579933
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"0.7.
|
|
579989
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"0.7.12"})
|
|
579934
579990
|
`);
|
|
579935
579991
|
writeToStdout(`Installing update...
|
|
579936
579992
|
`);
|
|
@@ -579975,7 +580031,7 @@ async function update() {
|
|
|
579975
580031
|
logForDebugging2(`update: Installation status: ${status2}`);
|
|
579976
580032
|
switch (status2) {
|
|
579977
580033
|
case "success":
|
|
579978
|
-
writeToStdout(source_default.green(`Successfully updated from ${"0.7.
|
|
580034
|
+
writeToStdout(source_default.green(`Successfully updated from ${"0.7.12"} to version ${latestVersion}`) + `
|
|
579979
580035
|
`);
|
|
579980
580036
|
await regenerateCompletionCache();
|
|
579981
580037
|
break;
|
|
@@ -582028,7 +582084,7 @@ Usage: verboo --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
582028
582084
|
pendingHookMessages
|
|
582029
582085
|
}, renderAndRun);
|
|
582030
582086
|
}
|
|
582031
|
-
}).version(`0.7.
|
|
582087
|
+
}).version(`0.7.12 (${cliDesc})`, "-v, --version", "Output the version number");
|
|
582032
582088
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
582033
582089
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
582034
582090
|
if (canUserConfigureAdvisor()) {
|
|
@@ -582596,7 +582652,7 @@ if (false) {}
|
|
|
582596
582652
|
async function main2() {
|
|
582597
582653
|
const args = process.argv.slice(2);
|
|
582598
582654
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
582599
|
-
console.log(`${"0.7.
|
|
582655
|
+
console.log(`${"0.7.12"} (Verboo Code)`);
|
|
582600
582656
|
return;
|
|
582601
582657
|
}
|
|
582602
582658
|
if (args.includes("--provider")) {
|
|
@@ -582752,4 +582808,4 @@ async function main2() {
|
|
|
582752
582808
|
}
|
|
582753
582809
|
main2();
|
|
582754
582810
|
|
|
582755
|
-
//# debugId=
|
|
582811
|
+
//# debugId=B566AA3C880BEEFC64756E2164756E21
|