@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.
Files changed (2) hide show
  1. package/dist/cli.mjs +276 -80
  2. 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
- body.reasoning_effort = normalizeDeepSeekReasoningEffort(effort);
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, false);
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 handlePlanSelect = import_react62.useCallback(async (group) => {
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 options2 = plans.map((plan, idx) => ({
290395
- label: `${idx + 1}. ${plan.name}`,
290396
- value: plan,
290397
- description: getPlanPriceDescription(plan)
290398
- }));
290399
- options2.push({ label: "Voltar", value: null, description: "" });
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: options2,
290595
+ options: [
290596
+ { label: "Assinar Agora", value: "confirm" },
290597
+ { label: "Voltar", value: "back" }
290598
+ ],
290410
290599
  onChange: (v) => {
290411
- if (!v) {
290412
- setStep("splash");
290413
- return;
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-06-24T01:40:51.551Z").getTime();
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 (isRecord2(parsed)) {
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 isRecord2(value) {
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.6"
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.6";
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 isRecord3(value) {
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 (!isRecord3(config3)) {
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 (isRecord3(extMapping)) {
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-06-24T01:40:51.551Z"})`
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.6";
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.6") {
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.6";
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.6", maxVersion)) {
536867
- logForDebugging(`PackageManagerAutoUpdater: current version ${"0.10.6"} is already at or above maxVersion ${maxVersion}, skipping update`);
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.6", latest) && !shouldSkipVersion(latest);
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.6"} -> ${latest}`);
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.6"
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.6", latest))
552878
+ if (!latest || gte("0.10.7", latest))
552684
552879
  return;
552685
552880
  writeToStdout(`
552686
- Nova versão disponível: ${latest} (atual: ${"0.10.6"})
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.6",
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.6",
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.6",
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.6",
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.6"}
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.6", latest)) {
587519
- writeToStdout(`Update available: ${"0.10.6"} → ${latest}
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.6", latest)) {
587536
- writeToStdout(`Update available: ${"0.10.6"} → ${latest}
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.6", latest)) {
587553
- writeToStdout(`Update available: ${"0.10.6"} → ${latest}
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.6") {
587607
- writeToStdout(source_default.green(`Verboo Code is up to date (${"0.10.6"})`) + `
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.6"} to version ${result.latestVersion}`) + `
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.6") {
587671
- writeToStdout(source_default.green(`Verboo Code is up to date (${"0.10.6"})`) + `
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.6"})
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.6"} to version ${latestVersion}`) + `
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.6",
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.6 (${cliDesc})`, "-v, --version", "Output the version number");
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.6"} (Verboo Code)`);
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=3FF4A7EC08344AC564756E2164756E21
590726
+ //# debugId=925E7674DF13B51B64756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@verboo/code",
3
- "version": "0.10.6",
3
+ "version": "0.10.7",
4
4
  "description": "Verboo Code — coding agent for the Verboo platform",
5
5
  "type": "module",
6
6
  "bin": {