@verboo/code 0.10.6 → 0.10.7
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 +276 -80
- package/package.json +1 -1
package/dist/cli.mjs
CHANGED
|
@@ -173034,13 +173034,19 @@ function filterAnthropicHeaders(headers) {
|
|
|
173034
173034
|
const filtered = {};
|
|
173035
173035
|
for (const [key, value] of Object.entries(headers)) {
|
|
173036
173036
|
const lower = key.toLowerCase();
|
|
173037
|
-
if (lower.startsWith("x-anthropic") || lower.startsWith("anthropic-") || lower.startsWith("x-claude") || lower === "x-app" || lower === "x-client-app" || lower === "authorization" || lower === "x-api-key" || lower === "api-key") {
|
|
173037
|
+
if (lower.startsWith("x-anthropic") || lower.startsWith("anthropic-") || lower.startsWith("x-claude") || lower.startsWith("x-verboo") || lower === "x-app" || lower === "x-client-app" || lower === "authorization" || lower === "x-api-key" || lower === "api-key") {
|
|
173038
173038
|
continue;
|
|
173039
173039
|
}
|
|
173040
173040
|
filtered[key] = value;
|
|
173041
173041
|
}
|
|
173042
173042
|
return filtered;
|
|
173043
173043
|
}
|
|
173044
|
+
function normalizeBaseUrlForComparison(baseUrl) {
|
|
173045
|
+
return baseUrl.replace(/\/+$/, "").toLowerCase();
|
|
173046
|
+
}
|
|
173047
|
+
function isVerbooRouterUrl(baseUrl) {
|
|
173048
|
+
return normalizeBaseUrlForComparison(baseUrl) === normalizeBaseUrlForComparison(VERBOO_ROUTER_URL);
|
|
173049
|
+
}
|
|
173044
173050
|
function hasGeminiApiHost(baseUrl) {
|
|
173045
173051
|
if (!baseUrl)
|
|
173046
173052
|
return false;
|
|
@@ -173096,6 +173102,33 @@ function sleepMs(ms) {
|
|
|
173096
173102
|
function captureRouterRateLimit(headers, sourceUrl) {
|
|
173097
173103
|
updateRouterRateLimitFromHeaders(headers, { sourceUrl });
|
|
173098
173104
|
}
|
|
173105
|
+
function isRecord2(value) {
|
|
173106
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
173107
|
+
}
|
|
173108
|
+
function buildResponseFormatFromOutputConfig(params) {
|
|
173109
|
+
const outputConfig = params.output_config;
|
|
173110
|
+
if (!isRecord2(outputConfig))
|
|
173111
|
+
return;
|
|
173112
|
+
const format4 = outputConfig.format;
|
|
173113
|
+
if (!isRecord2(format4))
|
|
173114
|
+
return;
|
|
173115
|
+
if (format4.type === "json_object") {
|
|
173116
|
+
return { type: "json_object" };
|
|
173117
|
+
}
|
|
173118
|
+
if (format4.type !== "json_schema" || !isRecord2(format4.schema)) {
|
|
173119
|
+
return;
|
|
173120
|
+
}
|
|
173121
|
+
const name = typeof format4.name === "string" && format4.name.trim() ? format4.name.trim() : "structured_output";
|
|
173122
|
+
const strict = typeof format4.strict === "boolean" ? format4.strict : true;
|
|
173123
|
+
return {
|
|
173124
|
+
type: "json_schema",
|
|
173125
|
+
json_schema: {
|
|
173126
|
+
name,
|
|
173127
|
+
strict,
|
|
173128
|
+
schema: sanitizeSchemaForOpenAICompat(format4.schema)
|
|
173129
|
+
}
|
|
173130
|
+
};
|
|
173131
|
+
}
|
|
173099
173132
|
function convertSystemPrompt2(system) {
|
|
173100
173133
|
if (!system)
|
|
173101
173134
|
return "";
|
|
@@ -174045,8 +174078,13 @@ class OpenAIShimMessages {
|
|
|
174045
174078
|
stream: params.stream ?? false,
|
|
174046
174079
|
store: false
|
|
174047
174080
|
};
|
|
174081
|
+
const responseFormat = buildResponseFormatFromOutputConfig(params);
|
|
174082
|
+
if (responseFormat) {
|
|
174083
|
+
body.response_format = responseFormat;
|
|
174084
|
+
}
|
|
174048
174085
|
if (request.reasoning) {
|
|
174049
174086
|
body.reasoning_effort = request.reasoning.effort;
|
|
174087
|
+
body.effort = request.reasoning.effort;
|
|
174050
174088
|
}
|
|
174051
174089
|
const maxTokensValue = typeof params.max_tokens === "number" && params.max_tokens > 0 ? params.max_tokens : undefined;
|
|
174052
174090
|
const maxCompletionTokensValue = typeof params.max_completion_tokens === "number" ? params.max_completion_tokens : undefined;
|
|
@@ -174087,7 +174125,9 @@ class OpenAIShimMessages {
|
|
|
174087
174125
|
if (deepSeekThinkingType === "enabled") {
|
|
174088
174126
|
const effort = request.reasoning?.effort;
|
|
174089
174127
|
if (effort) {
|
|
174090
|
-
|
|
174128
|
+
const normalizedEffort = normalizeDeepSeekReasoningEffort(effort);
|
|
174129
|
+
body.reasoning_effort = normalizedEffort;
|
|
174130
|
+
body.effort = normalizedEffort;
|
|
174091
174131
|
}
|
|
174092
174132
|
}
|
|
174093
174133
|
}
|
|
@@ -174159,6 +174199,9 @@ class OpenAIShimMessages {
|
|
|
174159
174199
|
...this.defaultHeaders,
|
|
174160
174200
|
...filterAnthropicHeaders(options2?.headers)
|
|
174161
174201
|
};
|
|
174202
|
+
if (isVerbooRouterUrl(request.baseUrl)) {
|
|
174203
|
+
headers[VERBOO_SESSION_HEADER] = getSessionId();
|
|
174204
|
+
}
|
|
174162
174205
|
const isGemini = isGeminiMode();
|
|
174163
174206
|
const routeCredential = resolveRouteCredentialValue({
|
|
174164
174207
|
routeId: runtimeShimContext.routeId,
|
|
@@ -174311,7 +174354,7 @@ class OpenAIShimMessages {
|
|
|
174311
174354
|
tokensOut = data.usage?.completion_tokens ?? 0;
|
|
174312
174355
|
} catch {}
|
|
174313
174356
|
}
|
|
174314
|
-
logApiCallEnd(correlationId, startTime2, request.resolvedModel, "success", tokensIn, tokensOut,
|
|
174357
|
+
logApiCallEnd(correlationId, startTime2, request.resolvedModel, "success", tokensIn, tokensOut, Boolean(params.stream));
|
|
174315
174358
|
return response;
|
|
174316
174359
|
}
|
|
174317
174360
|
if (isGithub && response.status === 429 && attempt < maxAttempts - 1) {
|
|
@@ -174465,9 +174508,11 @@ function createOpenAIShimClient(options2) {
|
|
|
174465
174508
|
messages: beta.messages
|
|
174466
174509
|
};
|
|
174467
174510
|
}
|
|
174468
|
-
var GITHUB_429_MAX_RETRIES = 3, GITHUB_429_BASE_DELAY_SEC = 1, GITHUB_429_MAX_DELAY_SEC = 32, GEMINI_API_HOST = "generativelanguage.googleapis.com", COPILOT_HEADERS2, JSON_REPAIR_SUFFIXES, routerStatusHandler = null, OpenAIShimStream;
|
|
174511
|
+
var GITHUB_429_MAX_RETRIES = 3, GITHUB_429_BASE_DELAY_SEC = 1, GITHUB_429_MAX_DELAY_SEC = 32, GEMINI_API_HOST = "generativelanguage.googleapis.com", VERBOO_SESSION_HEADER = "X-Verboo-Session-Id", COPILOT_HEADERS2, JSON_REPAIR_SUFFIXES, routerStatusHandler = null, OpenAIShimStream;
|
|
174469
174512
|
var init_openaiShim = __esm(() => {
|
|
174470
174513
|
init_sdk();
|
|
174514
|
+
init_state();
|
|
174515
|
+
init_oauth();
|
|
174471
174516
|
init_codexCredentials();
|
|
174472
174517
|
init_debug();
|
|
174473
174518
|
init_envUtils();
|
|
@@ -188367,6 +188412,7 @@ async function getAnthropicClient({
|
|
|
188367
188412
|
defaultHeaders,
|
|
188368
188413
|
maxRetries,
|
|
188369
188414
|
timeout: parseInt(process.env.API_TIMEOUT_MS || String(600000), 10),
|
|
188415
|
+
reasoningEffort: shimReasoningEffort,
|
|
188370
188416
|
providerOverride: {
|
|
188371
188417
|
model: safeVerbooModel,
|
|
188372
188418
|
baseURL: VERBOO_ROUTER_URL,
|
|
@@ -290285,26 +290331,14 @@ function getSlotsInfo(group) {
|
|
|
290285
290331
|
}
|
|
290286
290332
|
return `${current} assinantes`;
|
|
290287
290333
|
}
|
|
290288
|
-
function getPlanPriceDescription(group) {
|
|
290289
|
-
const price = formatPrice2(group.priceCents, group.currency);
|
|
290290
|
-
const interval = formatInterval(group.billingInterval);
|
|
290291
|
-
const models = getModelNames(group);
|
|
290292
|
-
const slots = getSlotsInfo(group);
|
|
290293
|
-
let desc = `${price}${interval}`;
|
|
290294
|
-
if (models)
|
|
290295
|
-
desc += ` · ${models}`;
|
|
290296
|
-
desc += ` · ${slots}`;
|
|
290297
|
-
if (group.trialDays && group.trialDays > 0) {
|
|
290298
|
-
desc += ` · ${group.trialDays} dias de trial`;
|
|
290299
|
-
}
|
|
290300
|
-
return desc;
|
|
290301
|
-
}
|
|
290302
290334
|
function PurchaseFlowView({
|
|
290303
290335
|
accessToken,
|
|
290304
290336
|
onDone
|
|
290305
290337
|
}) {
|
|
290306
290338
|
const [step, setStep] = import_react62.useState("splash");
|
|
290307
290339
|
const [plans, setPlans] = import_react62.useState([]);
|
|
290340
|
+
const [selectedPlan, setSelectedPlan] = import_react62.useState(null);
|
|
290341
|
+
const [focusIndex, setFocusIndex] = import_react62.useState(0);
|
|
290308
290342
|
const [errorMsg, setErrorMsg] = import_react62.useState(null);
|
|
290309
290343
|
const fetchPlans = import_react62.useCallback(async () => {
|
|
290310
290344
|
setStep("loading-plans");
|
|
@@ -290314,6 +290348,7 @@ function PurchaseFlowView({
|
|
|
290314
290348
|
setStep("splash");
|
|
290315
290349
|
} else {
|
|
290316
290350
|
setPlans(groups);
|
|
290351
|
+
setFocusIndex(0);
|
|
290317
290352
|
setStep("plans");
|
|
290318
290353
|
}
|
|
290319
290354
|
}, []);
|
|
@@ -290332,7 +290367,7 @@ function PurchaseFlowView({
|
|
|
290332
290367
|
}
|
|
290333
290368
|
onDone(false);
|
|
290334
290369
|
}, [accessToken, onDone]);
|
|
290335
|
-
const
|
|
290370
|
+
const handleCheckout = import_react62.useCallback(async (group) => {
|
|
290336
290371
|
setStep("checkout");
|
|
290337
290372
|
try {
|
|
290338
290373
|
const result = await createCheckoutSession(accessToken, group.id);
|
|
@@ -290356,6 +290391,27 @@ function PurchaseFlowView({
|
|
|
290356
290391
|
setStep("error");
|
|
290357
290392
|
}
|
|
290358
290393
|
}, [accessToken, onDone, startPolling]);
|
|
290394
|
+
use_input_default((input, key) => {
|
|
290395
|
+
if (step !== "plans" || plans.length === 0)
|
|
290396
|
+
return;
|
|
290397
|
+
if (key.leftArrow) {
|
|
290398
|
+
setFocusIndex((i3) => Math.max(0, i3 - 1));
|
|
290399
|
+
} else if (key.rightArrow) {
|
|
290400
|
+
setFocusIndex((i3) => Math.min(plans.length - 1, i3 + 1));
|
|
290401
|
+
} else if (key.upArrow) {
|
|
290402
|
+
setFocusIndex((i3) => Math.max(0, i3 - COLS));
|
|
290403
|
+
} else if (key.downArrow) {
|
|
290404
|
+
setFocusIndex((i3) => Math.min(plans.length - 1, i3 + COLS));
|
|
290405
|
+
} else if (key.return) {
|
|
290406
|
+
const plan = plans[focusIndex];
|
|
290407
|
+
if (plan) {
|
|
290408
|
+
setSelectedPlan(plan);
|
|
290409
|
+
setStep("plan-detail");
|
|
290410
|
+
}
|
|
290411
|
+
} else if (key.escape) {
|
|
290412
|
+
setStep("splash");
|
|
290413
|
+
}
|
|
290414
|
+
}, { isActive: step === "plans" });
|
|
290359
290415
|
switch (step) {
|
|
290360
290416
|
case "splash":
|
|
290361
290417
|
return /* @__PURE__ */ jsx_runtime71.jsxs(ThemedBox_default, {
|
|
@@ -290391,12 +290447,12 @@ function PurchaseFlowView({
|
|
|
290391
290447
|
]
|
|
290392
290448
|
});
|
|
290393
290449
|
case "plans": {
|
|
290394
|
-
const
|
|
290395
|
-
|
|
290396
|
-
|
|
290397
|
-
|
|
290398
|
-
|
|
290399
|
-
|
|
290450
|
+
const rows = [];
|
|
290451
|
+
for (let i3 = 0;i3 < plans.length; i3 += COLS) {
|
|
290452
|
+
rows.push(plans.slice(i3, i3 + COLS));
|
|
290453
|
+
}
|
|
290454
|
+
const focusedRow = Math.floor(focusIndex / COLS);
|
|
290455
|
+
const focusedCol = focusIndex % COLS;
|
|
290400
290456
|
return /* @__PURE__ */ jsx_runtime71.jsxs(ThemedBox_default, {
|
|
290401
290457
|
flexDirection: "column",
|
|
290402
290458
|
gap: 1,
|
|
@@ -290405,14 +290461,147 @@ function PurchaseFlowView({
|
|
|
290405
290461
|
bold: true,
|
|
290406
290462
|
children: "Planos disponiveis"
|
|
290407
290463
|
}),
|
|
290464
|
+
/* @__PURE__ */ jsx_runtime71.jsx(ThemedText, {
|
|
290465
|
+
dimColor: true,
|
|
290466
|
+
children: "Setas para navegar, Enter para selecionar, Esc para voltar"
|
|
290467
|
+
}),
|
|
290468
|
+
/* @__PURE__ */ jsx_runtime71.jsx(ThemedBox_default, {
|
|
290469
|
+
flexDirection: "column",
|
|
290470
|
+
gap: 1,
|
|
290471
|
+
children: rows.map((row, rowIdx) => /* @__PURE__ */ jsx_runtime71.jsxs(ThemedBox_default, {
|
|
290472
|
+
flexDirection: "row",
|
|
290473
|
+
gap: 2,
|
|
290474
|
+
children: [
|
|
290475
|
+
row.map((plan, colIdx) => {
|
|
290476
|
+
const isFocused = rowIdx === focusedRow && colIdx === focusedCol;
|
|
290477
|
+
const price = formatPrice2(plan.priceCents, plan.currency);
|
|
290478
|
+
const interval = formatInterval(plan.billingInterval);
|
|
290479
|
+
const models = getModelNames(plan);
|
|
290480
|
+
const slots = getSlotsInfo(plan);
|
|
290481
|
+
return /* @__PURE__ */ jsx_runtime71.jsxs(ThemedBox_default, {
|
|
290482
|
+
flexDirection: "column",
|
|
290483
|
+
borderStyle: isFocused ? "bold" : "round",
|
|
290484
|
+
borderColor: isFocused ? "claude" : undefined,
|
|
290485
|
+
paddingX: 1,
|
|
290486
|
+
paddingY: 0,
|
|
290487
|
+
flexGrow: 1,
|
|
290488
|
+
width: "33%",
|
|
290489
|
+
children: [
|
|
290490
|
+
/* @__PURE__ */ jsx_runtime71.jsx(ThemedText, {
|
|
290491
|
+
bold: true,
|
|
290492
|
+
wrap: "truncate",
|
|
290493
|
+
children: plan.name
|
|
290494
|
+
}),
|
|
290495
|
+
/* @__PURE__ */ jsx_runtime71.jsxs(ThemedText, {
|
|
290496
|
+
children: [
|
|
290497
|
+
price,
|
|
290498
|
+
interval
|
|
290499
|
+
]
|
|
290500
|
+
}),
|
|
290501
|
+
/* @__PURE__ */ jsx_runtime71.jsx(ThemedText, {
|
|
290502
|
+
dimColor: true,
|
|
290503
|
+
wrap: "truncate",
|
|
290504
|
+
title: models,
|
|
290505
|
+
children: models
|
|
290506
|
+
}),
|
|
290507
|
+
/* @__PURE__ */ jsx_runtime71.jsx(ThemedText, {
|
|
290508
|
+
dimColor: true,
|
|
290509
|
+
children: slots
|
|
290510
|
+
}),
|
|
290511
|
+
plan.trialDays && plan.trialDays > 0 && /* @__PURE__ */ jsx_runtime71.jsxs(ThemedText, {
|
|
290512
|
+
color: "success",
|
|
290513
|
+
children: [
|
|
290514
|
+
plan.trialDays,
|
|
290515
|
+
" dias trial"
|
|
290516
|
+
]
|
|
290517
|
+
})
|
|
290518
|
+
]
|
|
290519
|
+
}, plan.id);
|
|
290520
|
+
}),
|
|
290521
|
+
row.length < COLS && Array.from({ length: COLS - row.length }).map((_, i3) => /* @__PURE__ */ jsx_runtime71.jsx(ThemedBox_default, {
|
|
290522
|
+
flexGrow: 1,
|
|
290523
|
+
width: "33%"
|
|
290524
|
+
}, `empty-${i3}`))
|
|
290525
|
+
]
|
|
290526
|
+
}, rowIdx))
|
|
290527
|
+
})
|
|
290528
|
+
]
|
|
290529
|
+
});
|
|
290530
|
+
}
|
|
290531
|
+
case "plan-detail": {
|
|
290532
|
+
const plan = selectedPlan;
|
|
290533
|
+
const price = formatPrice2(plan.priceCents, plan.currency);
|
|
290534
|
+
const interval = formatInterval(plan.billingInterval);
|
|
290535
|
+
const models = getModelNames(plan);
|
|
290536
|
+
const slots = getSlotsInfo(plan);
|
|
290537
|
+
return /* @__PURE__ */ jsx_runtime71.jsxs(ThemedBox_default, {
|
|
290538
|
+
flexDirection: "column",
|
|
290539
|
+
gap: 1,
|
|
290540
|
+
children: [
|
|
290541
|
+
/* @__PURE__ */ jsx_runtime71.jsxs(ThemedBox_default, {
|
|
290542
|
+
flexDirection: "column",
|
|
290543
|
+
borderStyle: "round",
|
|
290544
|
+
paddingX: 1,
|
|
290545
|
+
paddingY: 0,
|
|
290546
|
+
gap: 0,
|
|
290547
|
+
children: [
|
|
290548
|
+
/* @__PURE__ */ jsx_runtime71.jsx(ThemedText, {
|
|
290549
|
+
bold: true,
|
|
290550
|
+
children: plan.name
|
|
290551
|
+
}),
|
|
290552
|
+
/* @__PURE__ */ jsx_runtime71.jsxs(ThemedText, {
|
|
290553
|
+
children: [
|
|
290554
|
+
price,
|
|
290555
|
+
interval
|
|
290556
|
+
]
|
|
290557
|
+
}),
|
|
290558
|
+
/* @__PURE__ */ jsx_runtime71.jsxs(ThemedBox_default, {
|
|
290559
|
+
flexDirection: "column",
|
|
290560
|
+
marginTop: 1,
|
|
290561
|
+
children: [
|
|
290562
|
+
/* @__PURE__ */ jsx_runtime71.jsxs(ThemedText, {
|
|
290563
|
+
children: [
|
|
290564
|
+
/* @__PURE__ */ jsx_runtime71.jsx(ThemedText, {
|
|
290565
|
+
dimColor: true,
|
|
290566
|
+
children: "Modelos: "
|
|
290567
|
+
}),
|
|
290568
|
+
models
|
|
290569
|
+
]
|
|
290570
|
+
}),
|
|
290571
|
+
/* @__PURE__ */ jsx_runtime71.jsxs(ThemedText, {
|
|
290572
|
+
children: [
|
|
290573
|
+
/* @__PURE__ */ jsx_runtime71.jsx(ThemedText, {
|
|
290574
|
+
dimColor: true,
|
|
290575
|
+
children: "Assinantes: "
|
|
290576
|
+
}),
|
|
290577
|
+
slots
|
|
290578
|
+
]
|
|
290579
|
+
}),
|
|
290580
|
+
plan.trialDays && plan.trialDays > 0 && /* @__PURE__ */ jsx_runtime71.jsxs(ThemedText, {
|
|
290581
|
+
children: [
|
|
290582
|
+
/* @__PURE__ */ jsx_runtime71.jsx(ThemedText, {
|
|
290583
|
+
dimColor: true,
|
|
290584
|
+
children: "Trial: "
|
|
290585
|
+
}),
|
|
290586
|
+
plan.trialDays,
|
|
290587
|
+
" dias"
|
|
290588
|
+
]
|
|
290589
|
+
})
|
|
290590
|
+
]
|
|
290591
|
+
})
|
|
290592
|
+
]
|
|
290593
|
+
}),
|
|
290408
290594
|
/* @__PURE__ */ jsx_runtime71.jsx(Select, {
|
|
290409
|
-
options:
|
|
290595
|
+
options: [
|
|
290596
|
+
{ label: "Assinar Agora", value: "confirm" },
|
|
290597
|
+
{ label: "Voltar", value: "back" }
|
|
290598
|
+
],
|
|
290410
290599
|
onChange: (v) => {
|
|
290411
|
-
if (
|
|
290412
|
-
|
|
290413
|
-
|
|
290600
|
+
if (v === "confirm") {
|
|
290601
|
+
handleCheckout(plan);
|
|
290602
|
+
} else {
|
|
290603
|
+
setStep("plans");
|
|
290414
290604
|
}
|
|
290415
|
-
handlePlanSelect(v);
|
|
290416
290605
|
}
|
|
290417
290606
|
})
|
|
290418
290607
|
]
|
|
@@ -290486,7 +290675,7 @@ async function showNoModelsFlow(accessToken) {
|
|
|
290486
290675
|
});
|
|
290487
290676
|
});
|
|
290488
290677
|
}
|
|
290489
|
-
var import_react62, jsx_runtime71, POLL_INTERVAL_MS = 3000, POLL_TIMEOUT_MS;
|
|
290678
|
+
var import_react62, jsx_runtime71, POLL_INTERVAL_MS = 3000, POLL_TIMEOUT_MS, COLS = 3;
|
|
290490
290679
|
var init_purchaseFlow = __esm(() => {
|
|
290491
290680
|
init_select();
|
|
290492
290681
|
init_Spinner2();
|
|
@@ -389432,7 +389621,7 @@ function getAnthropicEnvMetadata() {
|
|
|
389432
389621
|
function getBuildAgeMinutes() {
|
|
389433
389622
|
if (false)
|
|
389434
389623
|
;
|
|
389435
|
-
const buildTime = new Date("2026-
|
|
389624
|
+
const buildTime = new Date("2026-07-08T22:33:47.743Z").getTime();
|
|
389436
389625
|
if (isNaN(buildTime))
|
|
389437
389626
|
return;
|
|
389438
389627
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -401208,7 +401397,7 @@ async function loadPluginSettings(pluginPath, manifest) {
|
|
|
401208
401397
|
try {
|
|
401209
401398
|
const content = await readFile33(settingsJsonPath, { encoding: "utf-8" });
|
|
401210
401399
|
const parsed = jsonParse(content);
|
|
401211
|
-
if (
|
|
401400
|
+
if (isRecord3(parsed)) {
|
|
401212
401401
|
const filtered = parsePluginSettings(parsed);
|
|
401213
401402
|
if (filtered) {
|
|
401214
401403
|
logForDebugging(`Loaded settings from settings.json for plugin ${manifest.name}`);
|
|
@@ -401977,7 +402166,7 @@ function getEmptyPluginLoadResultForVerboo() {
|
|
|
401977
402166
|
logForDebugging("External plugins disabled via VERBOO_DISABLE_PLUGINS=1");
|
|
401978
402167
|
return { enabled: [], disabled: [], errors: [] };
|
|
401979
402168
|
}
|
|
401980
|
-
function
|
|
402169
|
+
function isRecord3(value) {
|
|
401981
402170
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
401982
402171
|
}
|
|
401983
402172
|
var PluginSettingsSchema, loadAllPlugins, loadAllPluginsCacheOnly;
|
|
@@ -402367,6 +402556,12 @@ function isSyntheticMessage(message) {
|
|
|
402367
402556
|
function isSyntheticApiErrorMessage(message) {
|
|
402368
402557
|
return message.type === "assistant" && message.isApiErrorMessage === true && message.message.model === SYNTHETIC_MODEL;
|
|
402369
402558
|
}
|
|
402559
|
+
function removeInterruptedMessage(messages, interruptedUserMessage) {
|
|
402560
|
+
const idx = messages.findIndex((m) => m.uuid === interruptedUserMessage.uuid);
|
|
402561
|
+
if (idx !== -1) {
|
|
402562
|
+
messages.splice(idx, 2);
|
|
402563
|
+
}
|
|
402564
|
+
}
|
|
402370
402565
|
function getLastAssistantMessage(messages) {
|
|
402371
402566
|
return messages.findLast((msg) => msg.type === "assistant");
|
|
402372
402567
|
}
|
|
@@ -417662,7 +417857,7 @@ function buildPrimarySection() {
|
|
|
417662
417857
|
});
|
|
417663
417858
|
return [{
|
|
417664
417859
|
label: "Version",
|
|
417665
|
-
value: "0.10.
|
|
417860
|
+
value: "0.10.7"
|
|
417666
417861
|
}, {
|
|
417667
417862
|
label: "Session name",
|
|
417668
417863
|
value: nameValue
|
|
@@ -430590,7 +430785,7 @@ function getReleaseTagUrl(version2 = publicBuildVersion) {
|
|
|
430590
430785
|
return `${VERBOO_RELEASES_URL}/tag/v${normalizePublicVersion(version2)}`;
|
|
430591
430786
|
}
|
|
430592
430787
|
function getPublicBuildVersion() {
|
|
430593
|
-
return "0.10.
|
|
430788
|
+
return "0.10.7";
|
|
430594
430789
|
}
|
|
430595
430790
|
var import_semver10, VERBOO_RELEASES_URL = "https://github.com/verbeux-ai/code/releases", fallbackBuildVersion, publicBuildVersion;
|
|
430596
430791
|
var init_version = __esm(() => {
|
|
@@ -433878,21 +434073,21 @@ function extractLspInfoFromManifest(lspServers) {
|
|
|
433878
434073
|
}
|
|
433879
434074
|
return extractFromServerConfigRecord(lspServers);
|
|
433880
434075
|
}
|
|
433881
|
-
function
|
|
434076
|
+
function isRecord4(value) {
|
|
433882
434077
|
return typeof value === "object" && value !== null;
|
|
433883
434078
|
}
|
|
433884
434079
|
function extractFromServerConfigRecord(serverConfigs) {
|
|
433885
434080
|
const extensions = new Set;
|
|
433886
434081
|
let command7 = null;
|
|
433887
434082
|
for (const [_serverName, config3] of Object.entries(serverConfigs)) {
|
|
433888
|
-
if (!
|
|
434083
|
+
if (!isRecord4(config3)) {
|
|
433889
434084
|
continue;
|
|
433890
434085
|
}
|
|
433891
434086
|
if (!command7 && typeof config3.command === "string") {
|
|
433892
434087
|
command7 = config3.command;
|
|
433893
434088
|
}
|
|
433894
434089
|
const extMapping = config3.extensionToLanguage;
|
|
433895
|
-
if (
|
|
434090
|
+
if (isRecord4(extMapping)) {
|
|
433896
434091
|
for (const ext of Object.keys(extMapping)) {
|
|
433897
434092
|
extensions.add(ext.toLowerCase());
|
|
433898
434093
|
}
|
|
@@ -485934,7 +486129,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
485934
486129
|
var call63 = async () => {
|
|
485935
486130
|
return {
|
|
485936
486131
|
type: "text",
|
|
485937
|
-
value: `${"99.0.0"} (built ${"2026-
|
|
486132
|
+
value: `${"99.0.0"} (built ${"2026-07-08T22:33:47.743Z"})`
|
|
485938
486133
|
};
|
|
485939
486134
|
}, version2, version_default;
|
|
485940
486135
|
var init_version2 = __esm(() => {
|
|
@@ -500207,7 +500402,7 @@ function transformMessagesForExternalTranscript(messages, replIds) {
|
|
|
500207
500402
|
});
|
|
500208
500403
|
}
|
|
500209
500404
|
function cleanMessagesForLogging(messages, allMessages = messages) {
|
|
500210
|
-
const filtered = messages.filter(isLoggableMessage);
|
|
500405
|
+
const filtered = messages.filter((m) => isLoggableMessage(m) && !isSyntheticMessage(m));
|
|
500211
500406
|
return getUserType() !== "ant" ? transformMessagesForExternalTranscript(filtered, collectReplIds(allMessages)) : filtered;
|
|
500212
500407
|
}
|
|
500213
500408
|
async function getLogByIndex(index) {
|
|
@@ -518178,7 +518373,7 @@ function printStartupScreen(modelOverride) {
|
|
|
518178
518373
|
const home = process.env.HOME || process.env.USERPROFILE || "";
|
|
518179
518374
|
const cwd2 = process.cwd();
|
|
518180
518375
|
const displayCwd = home && cwd2.startsWith(home) ? `~${cwd2.slice(home.length)}` : cwd2;
|
|
518181
|
-
const version3 = "0.10.
|
|
518376
|
+
const version3 = "0.10.7";
|
|
518182
518377
|
const bold2 = `${ESC4}1m`;
|
|
518183
518378
|
const PURPLE = rgb3(...ACCENT);
|
|
518184
518379
|
const SOFT = rgb3(...CREAM);
|
|
@@ -536470,7 +536665,7 @@ var init_routerRateLimitHook = __esm(() => {
|
|
|
536470
536665
|
function getSemverPart(version3) {
|
|
536471
536666
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
536472
536667
|
}
|
|
536473
|
-
function useUpdateNotification(updatedVersion, initialVersion = "0.10.
|
|
536668
|
+
function useUpdateNotification(updatedVersion, initialVersion = "0.10.7") {
|
|
536474
536669
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react225.useState(() => getSemverPart(initialVersion));
|
|
536475
536670
|
const [pendingNotification2, setPendingNotification] = import_react225.useState(null);
|
|
536476
536671
|
if (updatedVersion) {
|
|
@@ -536510,7 +536705,7 @@ function AutoUpdater({
|
|
|
536510
536705
|
return;
|
|
536511
536706
|
}
|
|
536512
536707
|
if (false) {}
|
|
536513
|
-
const currentVersion = "0.10.
|
|
536708
|
+
const currentVersion = "0.10.7";
|
|
536514
536709
|
const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
536515
536710
|
let latestVersion = await getLatestVersion(channel2);
|
|
536516
536711
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -536863,17 +537058,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
536863
537058
|
const maxVersion = await getMaxVersion();
|
|
536864
537059
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
536865
537060
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
536866
|
-
if (gte("0.10.
|
|
536867
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"0.10.
|
|
537061
|
+
if (gte("0.10.7", maxVersion)) {
|
|
537062
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"0.10.7"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
536868
537063
|
setUpdateAvailable(false);
|
|
536869
537064
|
return;
|
|
536870
537065
|
}
|
|
536871
537066
|
latest = maxVersion;
|
|
536872
537067
|
}
|
|
536873
|
-
const hasUpdate = latest && !gte("0.10.
|
|
537068
|
+
const hasUpdate = latest && !gte("0.10.7", latest) && !shouldSkipVersion(latest);
|
|
536874
537069
|
setUpdateAvailable(!!hasUpdate);
|
|
536875
537070
|
if (hasUpdate) {
|
|
536876
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.10.
|
|
537071
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.10.7"} -> ${latest}`);
|
|
536877
537072
|
}
|
|
536878
537073
|
};
|
|
536879
537074
|
$2[0] = t1;
|
|
@@ -536907,7 +537102,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
536907
537102
|
wrap: "truncate",
|
|
536908
537103
|
children: [
|
|
536909
537104
|
"currentVersion: ",
|
|
536910
|
-
"0.10.
|
|
537105
|
+
"0.10.7"
|
|
536911
537106
|
]
|
|
536912
537107
|
});
|
|
536913
537108
|
$2[3] = verbose;
|
|
@@ -552680,10 +552875,10 @@ async function autoUpdateCliInBackground() {
|
|
|
552680
552875
|
return;
|
|
552681
552876
|
const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
552682
552877
|
const latest = await getLatestVersion(channel2);
|
|
552683
|
-
if (!latest || gte("0.10.
|
|
552878
|
+
if (!latest || gte("0.10.7", latest))
|
|
552684
552879
|
return;
|
|
552685
552880
|
writeToStdout(`
|
|
552686
|
-
Nova versão disponível: ${latest} (atual: ${"0.10.
|
|
552881
|
+
Nova versão disponível: ${latest} (atual: ${"0.10.7"})
|
|
552687
552882
|
`);
|
|
552688
552883
|
writeToStdout(`Atualizando automaticamente...
|
|
552689
552884
|
`);
|
|
@@ -566340,6 +566535,9 @@ Error: sandbox required but unavailable: ${reason}
|
|
|
566340
566535
|
});
|
|
566341
566536
|
} else {
|
|
566342
566537
|
const newAbortController = createAbortController();
|
|
566538
|
+
const INIT_ABORT_TIMEOUT_MS = 120000;
|
|
566539
|
+
const abortTimeoutId = setTimeout(() => newAbortController.abort("timeout"), INIT_ABORT_TIMEOUT_MS);
|
|
566540
|
+
newAbortController.signal.addEventListener("abort", () => clearTimeout(abortTimeoutId), { once: true });
|
|
566343
566541
|
setAbortController(newAbortController);
|
|
566344
566542
|
onQuery([initialMsg.message], newAbortController, true, [], mainLoopModel);
|
|
566345
566543
|
}
|
|
@@ -569409,7 +569607,7 @@ function WelcomeV2() {
|
|
|
569409
569607
|
dimColor: true,
|
|
569410
569608
|
children: [
|
|
569411
569609
|
"v",
|
|
569412
|
-
"0.10.
|
|
569610
|
+
"0.10.7",
|
|
569413
569611
|
" "
|
|
569414
569612
|
]
|
|
569415
569613
|
})
|
|
@@ -569596,7 +569794,7 @@ function WelcomeV2() {
|
|
|
569596
569794
|
dimColor: true,
|
|
569597
569795
|
children: [
|
|
569598
569796
|
"v",
|
|
569599
|
-
"0.10.
|
|
569797
|
+
"0.10.7",
|
|
569600
569798
|
" "
|
|
569601
569799
|
]
|
|
569602
569800
|
})
|
|
@@ -569812,7 +570010,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
569812
570010
|
dimColor: true,
|
|
569813
570011
|
children: [
|
|
569814
570012
|
"v",
|
|
569815
|
-
"0.10.
|
|
570013
|
+
"0.10.7",
|
|
569816
570014
|
" "
|
|
569817
570015
|
]
|
|
569818
570016
|
});
|
|
@@ -570021,7 +570219,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
570021
570219
|
dimColor: true,
|
|
570022
570220
|
children: [
|
|
570023
570221
|
"v",
|
|
570024
|
-
"0.10.
|
|
570222
|
+
"0.10.7",
|
|
570025
570223
|
" "
|
|
570026
570224
|
]
|
|
570027
570225
|
});
|
|
@@ -583026,7 +583224,6 @@ var init_initReplBridge = __esm(() => {
|
|
|
583026
583224
|
var exports_print = {};
|
|
583027
583225
|
__export(exports_print, {
|
|
583028
583226
|
runHeadless: () => runHeadless,
|
|
583029
|
-
removeInterruptedMessage: () => removeInterruptedMessage,
|
|
583030
583227
|
reconcileMcpServers: () => reconcileMcpServers,
|
|
583031
583228
|
joinPromptValues: () => joinPromptValues,
|
|
583032
583229
|
handleOrphanedPermissionResponse: () => handleOrphanedPermissionResponse,
|
|
@@ -585488,12 +585685,6 @@ function emitLoadError(message, outputFormat) {
|
|
|
585488
585685
|
`);
|
|
585489
585686
|
}
|
|
585490
585687
|
}
|
|
585491
|
-
function removeInterruptedMessage(messages, interruptedUserMessage) {
|
|
585492
|
-
const idx = messages.findIndex((m) => m.uuid === interruptedUserMessage.uuid);
|
|
585493
|
-
if (idx !== -1) {
|
|
585494
|
-
messages.splice(idx, 2);
|
|
585495
|
-
}
|
|
585496
|
-
}
|
|
585497
585688
|
async function loadInitialMessages(setAppState, options2) {
|
|
585498
585689
|
const persistSession = !isSessionPersistenceDisabled();
|
|
585499
585690
|
if (options2.continue) {
|
|
@@ -587430,7 +587621,7 @@ __export(exports_update, {
|
|
|
587430
587621
|
});
|
|
587431
587622
|
async function update() {
|
|
587432
587623
|
logEvent("tengu_update_check", {});
|
|
587433
|
-
writeToStdout(`Current version: ${"0.10.
|
|
587624
|
+
writeToStdout(`Current version: ${"0.10.7"}
|
|
587434
587625
|
`);
|
|
587435
587626
|
const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
587436
587627
|
writeToStdout(`Checking for updates to ${channel2} version...
|
|
@@ -587515,8 +587706,8 @@ async function update() {
|
|
|
587515
587706
|
writeToStdout(`Verboo Code is managed by Homebrew.
|
|
587516
587707
|
`);
|
|
587517
587708
|
const latest = await getLatestVersion(channel2);
|
|
587518
|
-
if (latest && !gte("0.10.
|
|
587519
|
-
writeToStdout(`Update available: ${"0.10.
|
|
587709
|
+
if (latest && !gte("0.10.7", latest)) {
|
|
587710
|
+
writeToStdout(`Update available: ${"0.10.7"} → ${latest}
|
|
587520
587711
|
`);
|
|
587521
587712
|
writeToStdout(`
|
|
587522
587713
|
`);
|
|
@@ -587532,8 +587723,8 @@ async function update() {
|
|
|
587532
587723
|
writeToStdout(`Verboo Code is managed by winget.
|
|
587533
587724
|
`);
|
|
587534
587725
|
const latest = await getLatestVersion(channel2);
|
|
587535
|
-
if (latest && !gte("0.10.
|
|
587536
|
-
writeToStdout(`Update available: ${"0.10.
|
|
587726
|
+
if (latest && !gte("0.10.7", latest)) {
|
|
587727
|
+
writeToStdout(`Update available: ${"0.10.7"} → ${latest}
|
|
587537
587728
|
`);
|
|
587538
587729
|
writeToStdout(`
|
|
587539
587730
|
`);
|
|
@@ -587549,8 +587740,8 @@ async function update() {
|
|
|
587549
587740
|
writeToStdout(`Verboo Code is managed by apk.
|
|
587550
587741
|
`);
|
|
587551
587742
|
const latest = await getLatestVersion(channel2);
|
|
587552
|
-
if (latest && !gte("0.10.
|
|
587553
|
-
writeToStdout(`Update available: ${"0.10.
|
|
587743
|
+
if (latest && !gte("0.10.7", latest)) {
|
|
587744
|
+
writeToStdout(`Update available: ${"0.10.7"} → ${latest}
|
|
587554
587745
|
`);
|
|
587555
587746
|
writeToStdout(`
|
|
587556
587747
|
`);
|
|
@@ -587603,11 +587794,11 @@ async function update() {
|
|
|
587603
587794
|
`);
|
|
587604
587795
|
await gracefulShutdown(1);
|
|
587605
587796
|
}
|
|
587606
|
-
if (result.latestVersion === "0.10.
|
|
587607
|
-
writeToStdout(source_default.green(`Verboo Code is up to date (${"0.10.
|
|
587797
|
+
if (result.latestVersion === "0.10.7") {
|
|
587798
|
+
writeToStdout(source_default.green(`Verboo Code is up to date (${"0.10.7"})`) + `
|
|
587608
587799
|
`);
|
|
587609
587800
|
} else {
|
|
587610
|
-
writeToStdout(source_default.green(`Successfully updated from ${"0.10.
|
|
587801
|
+
writeToStdout(source_default.green(`Successfully updated from ${"0.10.7"} to version ${result.latestVersion}`) + `
|
|
587611
587802
|
`);
|
|
587612
587803
|
await regenerateCompletionCache();
|
|
587613
587804
|
}
|
|
@@ -587667,12 +587858,12 @@ async function update() {
|
|
|
587667
587858
|
`);
|
|
587668
587859
|
await gracefulShutdown(1);
|
|
587669
587860
|
}
|
|
587670
|
-
if (latestVersion === "0.10.
|
|
587671
|
-
writeToStdout(source_default.green(`Verboo Code is up to date (${"0.10.
|
|
587861
|
+
if (latestVersion === "0.10.7") {
|
|
587862
|
+
writeToStdout(source_default.green(`Verboo Code is up to date (${"0.10.7"})`) + `
|
|
587672
587863
|
`);
|
|
587673
587864
|
await gracefulShutdown(0);
|
|
587674
587865
|
}
|
|
587675
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"0.10.
|
|
587866
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"0.10.7"})
|
|
587676
587867
|
`);
|
|
587677
587868
|
writeToStdout(`Installing update...
|
|
587678
587869
|
`);
|
|
@@ -587717,7 +587908,7 @@ async function update() {
|
|
|
587717
587908
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
587718
587909
|
switch (status2) {
|
|
587719
587910
|
case "success":
|
|
587720
|
-
writeToStdout(source_default.green(`Successfully updated from ${"0.10.
|
|
587911
|
+
writeToStdout(source_default.green(`Successfully updated from ${"0.10.7"} to version ${latestVersion}`) + `
|
|
587721
587912
|
`);
|
|
587722
587913
|
await regenerateCompletionCache();
|
|
587723
587914
|
break;
|
|
@@ -588972,7 +589163,7 @@ ${customInstructions}` : customInstructions;
|
|
|
588972
589163
|
is_native_binary: isInBundledMode()
|
|
588973
589164
|
});
|
|
588974
589165
|
logMemoryDiagnostics("start", {
|
|
588975
|
-
version: "0.10.
|
|
589166
|
+
version: "0.10.7",
|
|
588976
589167
|
debug: debug2,
|
|
588977
589168
|
debugToStderr,
|
|
588978
589169
|
print: print ?? false,
|
|
@@ -589694,6 +589885,11 @@ Usage: verboo --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
589694
589885
|
if (processedResume.restoredAgentDef) {
|
|
589695
589886
|
mainThreadAgentDefinition = processedResume.restoredAgentDef;
|
|
589696
589887
|
}
|
|
589888
|
+
if (processedResume && !processedResume.initialState.initialMessage && result.turnInterruptionState && result.turnInterruptionState.kind !== "none") {
|
|
589889
|
+
if (result.turnInterruptionState.message.isMeta) {
|
|
589890
|
+
removeInterruptedMessage(processedResume.messages, result.turnInterruptionState.message);
|
|
589891
|
+
}
|
|
589892
|
+
}
|
|
589697
589893
|
logEvent("tengu_session_resumed", {
|
|
589698
589894
|
entrypoint: "cli_flag",
|
|
589699
589895
|
success: true,
|
|
@@ -589778,7 +589974,7 @@ Usage: verboo --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
589778
589974
|
pendingHookMessages
|
|
589779
589975
|
}, renderAndRun);
|
|
589780
589976
|
}
|
|
589781
|
-
}).version(`0.10.
|
|
589977
|
+
}).version(`0.10.7 (${cliDesc})`, "-v, --version", "Output the version number");
|
|
589782
589978
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
589783
589979
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
589784
589980
|
if (canUserConfigureAdvisor()) {
|
|
@@ -590353,7 +590549,7 @@ if (false) {}
|
|
|
590353
590549
|
async function main2() {
|
|
590354
590550
|
const args = process.argv.slice(2);
|
|
590355
590551
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
590356
|
-
console.log(`${"0.10.
|
|
590552
|
+
console.log(`${"0.10.7"} (Verboo Code)`);
|
|
590357
590553
|
return;
|
|
590358
590554
|
}
|
|
590359
590555
|
if (!IS_VERBOO_CLI && args.includes("--provider")) {
|
|
@@ -590527,4 +590723,4 @@ async function main2() {
|
|
|
590527
590723
|
}
|
|
590528
590724
|
main2();
|
|
590529
590725
|
|
|
590530
|
-
//# debugId=
|
|
590726
|
+
//# debugId=925E7674DF13B51B64756E2164756E21
|