@touchzada/claudinho 0.1.7 → 0.1.10

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 CHANGED
@@ -51021,36 +51021,36 @@ var init_PermissionMode = __esm(() => {
51021
51021
  externalPermissionModeSchema = lazySchema(() => v4_default.enum(EXTERNAL_PERMISSION_MODES));
51022
51022
  PERMISSION_MODE_CONFIG = {
51023
51023
  default: {
51024
- title: "Default",
51025
- shortTitle: "Default",
51024
+ title: "Padrão",
51025
+ shortTitle: "Padrão",
51026
51026
  symbol: "",
51027
51027
  color: "text",
51028
51028
  external: "default"
51029
51029
  },
51030
51030
  plan: {
51031
- title: "Plan Mode",
51032
- shortTitle: "Plan",
51031
+ title: "Modo Planejamento",
51032
+ shortTitle: "Plano",
51033
51033
  symbol: PAUSE_ICON,
51034
51034
  color: "planMode",
51035
51035
  external: "plan"
51036
51036
  },
51037
51037
  acceptEdits: {
51038
- title: "Accept edits",
51039
- shortTitle: "Accept",
51038
+ title: "Aceitar edições",
51039
+ shortTitle: "Aceitar",
51040
51040
  symbol: "⏵⏵",
51041
51041
  color: "autoAccept",
51042
51042
  external: "acceptEdits"
51043
51043
  },
51044
51044
  bypassPermissions: {
51045
- title: "Bypass Permissions",
51046
- shortTitle: "Bypass",
51045
+ title: "Pular Permissões",
51046
+ shortTitle: "Pular",
51047
51047
  symbol: "⏵⏵",
51048
51048
  color: "error",
51049
51049
  external: "bypassPermissions"
51050
51050
  },
51051
51051
  dontAsk: {
51052
- title: "Don't Ask",
51053
- shortTitle: "DontAsk",
51052
+ title: "Não Perguntar",
51053
+ shortTitle: "NãoPerguntar",
51054
51054
  symbol: "⏵⏵",
51055
51055
  color: "error",
51056
51056
  external: "dontAsk"
@@ -119886,7 +119886,7 @@ function printStartupScreen() {
119886
119886
  const sLen = ` ● ${sL} Ready — type /help to begin`.length;
119887
119887
  out.push(boxPad + boxRow(sRow, W2, sLen));
119888
119888
  out.push(`${boxPad}${rgb(...BORDER)}╚${"═".repeat(W2 - 2)}╝${RESET}`);
119889
- out.push(`${boxPad} ${DIM}${rgb(...DIMCOL)} claudinho ${RESET}${rgb(...ACCENT)}v${"0.1.7"}${RESET}`);
119889
+ out.push(`${boxPad} ${DIM}${rgb(...DIMCOL)} claudinho ${RESET}${rgb(...ACCENT)}v${"0.1.10"}${RESET}`);
119890
119890
  out.push("");
119891
119891
  process.stdout.write(out.join(`
119892
119892
  `) + `
@@ -282537,18 +282537,18 @@ function ConsoleOAuthFlow({
282537
282537
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
282538
282538
  dimColor: true,
282539
282539
  children: [
282540
- "Browser didn't open? Use the url below to sign in",
282540
+ "Browser didn't open? Use a url abaixo pra fazer login",
282541
282541
  " "
282542
282542
  ]
282543
282543
  }, undefined, true, undefined, this),
282544
282544
  urlCopied ? /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
282545
282545
  color: "success",
282546
- children: "(Copied!)"
282546
+ children: "(Copiado!)"
282547
282547
  }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
282548
282548
  dimColor: true,
282549
282549
  children: /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(KeyboardShortcutHint, {
282550
282550
  shortcut: "c",
282551
- action: "copy",
282551
+ action: "copiar",
282552
282552
  parens: true
282553
282553
  }, undefined, false, undefined, this)
282554
282554
  }, undefined, false, undefined, this)
@@ -282570,14 +282570,14 @@ function ConsoleOAuthFlow({
282570
282570
  children: [
282571
282571
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
282572
282572
  color: "success",
282573
- children: "✓ Long-lived authentication token created successfully!"
282573
+ children: "✓ Token de autenticação de longa duração criado com sucesso!"
282574
282574
  }, undefined, false, undefined, this),
282575
282575
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedBox_default, {
282576
282576
  flexDirection: "column",
282577
282577
  gap: 1,
282578
282578
  children: [
282579
282579
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
282580
- children: "Your OAuth token (valid for 1 year):"
282580
+ children: "Seu token OAuth (válido por 1 ano):"
282581
282581
  }, undefined, false, undefined, this),
282582
282582
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
282583
282583
  color: "warning",
@@ -282585,11 +282585,11 @@ function ConsoleOAuthFlow({
282585
282585
  }, undefined, false, undefined, this),
282586
282586
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
282587
282587
  dimColor: true,
282588
- children: "Store this token securely. You won't be able to see it again."
282588
+ children: "Guarde esse token com segurança. Você não vai conseguir ver ele de novo."
282589
282589
  }, undefined, false, undefined, this),
282590
282590
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
282591
282591
  dimColor: true,
282592
- children: "Use this token by setting: export CLAUDE_CODE_OAUTH_TOKEN=<token>"
282592
+ children: "Use esse token configurando: export CLAUDE_CODE_OAUTH_TOKEN=<token>"
282593
282593
  }, undefined, false, undefined, this)
282594
282594
  ]
282595
282595
  }, undefined, true, undefined, this)
@@ -282637,7 +282637,7 @@ function OAuthStatusMessage(t0) {
282637
282637
  } = t0;
282638
282638
  switch (oauthStatus.state) {
282639
282639
  case "idle": {
282640
- const t1 = startingMessage ? startingMessage : "Claude Code can be used with your Claude subscription or billed based on API usage through your Console account.";
282640
+ const t1 = startingMessage ? startingMessage : "O Claudinho pode ser usado com sua assinatura Claude ou cobrado com base no uso da API através da sua conta Console.";
282641
282641
  let t2;
282642
282642
  if ($2[0] !== t1) {
282643
282643
  t2 = /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
@@ -282652,7 +282652,7 @@ function OAuthStatusMessage(t0) {
282652
282652
  let t3;
282653
282653
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
282654
282654
  t3 = /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
282655
- children: "Select login method:"
282655
+ children: "Escolhe o método de login:"
282656
282656
  }, undefined, false, undefined, this);
282657
282657
  $2[2] = t3;
282658
282658
  } else {
@@ -282663,11 +282663,11 @@ function OAuthStatusMessage(t0) {
282663
282663
  t4 = {
282664
282664
  label: /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
282665
282665
  children: [
282666
- "Claude account with subscription ·",
282666
+ "Conta Claude com assinatura ·",
282667
282667
  " ",
282668
282668
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
282669
282669
  dimColor: true,
282670
- children: "Pro, Max, Team, or Enterprise"
282670
+ children: "Pro, Max, Team ou Enterprise"
282671
282671
  }, undefined, false, undefined, this),
282672
282672
  false,
282673
282673
  `
@@ -282685,11 +282685,11 @@ function OAuthStatusMessage(t0) {
282685
282685
  t5 = {
282686
282686
  label: /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
282687
282687
  children: [
282688
- "Anthropic Console account ·",
282688
+ "Conta Anthropic Console ·",
282689
282689
  " ",
282690
282690
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
282691
282691
  dimColor: true,
282692
- children: "API usage billing"
282692
+ children: "Cobrança por uso da API"
282693
282693
  }, undefined, false, undefined, this),
282694
282694
  `
282695
282695
  `
@@ -282706,11 +282706,11 @@ function OAuthStatusMessage(t0) {
282706
282706
  t6 = [t4, t5, {
282707
282707
  label: /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
282708
282708
  children: [
282709
- "3rd-party platform ·",
282709
+ "Plataforma de terceiros ·",
282710
282710
  " ",
282711
282711
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
282712
282712
  dimColor: true,
282713
- children: "OpenAI, Gemini, Bedrock, Ollama, and more"
282713
+ children: "OpenAI, Gemini, Bedrock, Ollama e mais"
282714
282714
  }, undefined, false, undefined, this),
282715
282715
  `
282716
282716
  `
@@ -282779,7 +282779,7 @@ function OAuthStatusMessage(t0) {
282779
282779
  if ($2[12] === Symbol.for("react.memo_cache_sentinel")) {
282780
282780
  t1 = /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
282781
282781
  bold: true,
282782
- children: "Using 3rd-party platforms"
282782
+ children: "Usando plataformas de terceiros"
282783
282783
  }, undefined, false, undefined, this);
282784
282784
  $2[12] = t1;
282785
282785
  } else {
@@ -282790,16 +282790,16 @@ function OAuthStatusMessage(t0) {
282790
282790
  if ($2[13] === Symbol.for("react.memo_cache_sentinel")) {
282791
282791
  t2 = /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
282792
282792
  children: [
282793
- "OpenClaude supports OpenAI-compatible providers (GPT-4o, DeepSeek, Ollama, Groq), Google Gemini, Amazon Bedrock, Microsoft Foundry, and Vertex AI. Run ",
282793
+ "O Claudinho suporta provedores compatíveis com OpenAI (GPT-4o, DeepSeek, Ollama, Groq), Google Gemini, Amazon Bedrock, Microsoft Foundry e Vertex AI. Rode ",
282794
282794
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
282795
282795
  bold: true,
282796
282796
  children: "/provider"
282797
282797
  }, undefined, false, undefined, this),
282798
- " to save a provider profile, or set the required environment variables manually, then restart OpenClaude."
282798
+ " para salvar um perfil, ou configure as variáveis de ambiente manualmente e reinicie o claudinho."
282799
282799
  ]
282800
282800
  }, undefined, true, undefined, this);
282801
282801
  t3 = /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
282802
- children: "If you are part of an enterprise organization, contact your administrator for setup instructions."
282802
+ children: "Se você faz parte de uma organização enterprise, contate seu administrador para instruções de configuração."
282803
282803
  }, undefined, false, undefined, this);
282804
282804
  $2[13] = t2;
282805
282805
  $2[14] = t3;
@@ -282811,7 +282811,7 @@ function OAuthStatusMessage(t0) {
282811
282811
  if ($2[15] === Symbol.for("react.memo_cache_sentinel")) {
282812
282812
  t4 = /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
282813
282813
  bold: true,
282814
- children: "Documentation:"
282814
+ children: "Documentação:"
282815
282815
  }, undefined, false, undefined, this);
282816
282816
  $2[15] = t4;
282817
282817
  } else {
@@ -282858,7 +282858,7 @@ function OAuthStatusMessage(t0) {
282858
282858
  t4,
282859
282859
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
282860
282860
  children: [
282861
- Guided setup inside OpenClaude:",
282861
+ Configuração guiada no claudinho:",
282862
282862
  `
282863
282863
  `,
282864
282864
  " ",
@@ -282921,12 +282921,12 @@ function OAuthStatusMessage(t0) {
282921
282921
  children: /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
282922
282922
  dimColor: true,
282923
282923
  children: [
282924
- "Press ",
282924
+ "Pressione ",
282925
282925
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
282926
282926
  bold: true,
282927
282927
  children: "Enter"
282928
282928
  }, undefined, false, undefined, this),
282929
- " to go back to login options."
282929
+ " pra voltar às opções de login."
282930
282930
  ]
282931
282931
  }, undefined, true, undefined, this)
282932
282932
  }, undefined, false, undefined, this)
@@ -282960,7 +282960,7 @@ function OAuthStatusMessage(t0) {
282960
282960
  children: [
282961
282961
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(Spinner, {}, undefined, false, undefined, this),
282962
282962
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
282963
- children: "Opening browser to sign in…"
282963
+ children: "Abrindo navegador pra fazer login…"
282964
282964
  }, undefined, false, undefined, this)
282965
282965
  ]
282966
282966
  }, undefined, true, undefined, this);
@@ -283029,7 +283029,7 @@ function OAuthStatusMessage(t0) {
283029
283029
  children: [
283030
283030
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(Spinner, {}, undefined, false, undefined, this),
283031
283031
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
283032
- children: "Creating API key for Claude Code…"
283032
+ children: "Criando chave de API pro Claudinho…"
283033
283033
  }, undefined, false, undefined, this)
283034
283034
  ]
283035
283035
  }, undefined, true, undefined, this)
@@ -283048,7 +283048,7 @@ function OAuthStatusMessage(t0) {
283048
283048
  gap: 1,
283049
283049
  children: /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
283050
283050
  color: "permission",
283051
- children: "Retrying…"
283051
+ children: "Tentando de novo…"
283052
283052
  }, undefined, false, undefined, this)
283053
283053
  }, undefined, false, undefined, this);
283054
283054
  $2[38] = t1;
@@ -283065,7 +283065,7 @@ function OAuthStatusMessage(t0) {
283065
283065
  getOauthAccountInfo()?.emailAddress ? /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
283066
283066
  dimColor: true,
283067
283067
  children: [
283068
- "Logged in as",
283068
+ "Logado como",
283069
283069
  " ",
283070
283070
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
283071
283071
  children: getOauthAccountInfo()?.emailAddress
@@ -283075,12 +283075,12 @@ function OAuthStatusMessage(t0) {
283075
283075
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
283076
283076
  color: "success",
283077
283077
  children: [
283078
- "Login successful. Press ",
283078
+ "Login bem-sucedido. Pressione ",
283079
283079
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
283080
283080
  bold: true,
283081
283081
  children: "Enter"
283082
283082
  }, undefined, false, undefined, this),
283083
- " to continue…"
283083
+ " pra continuar…"
283084
283084
  ]
283085
283085
  }, undefined, true, undefined, this)
283086
283086
  ]
@@ -283110,7 +283110,7 @@ function OAuthStatusMessage(t0) {
283110
283110
  t1 = /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
283111
283111
  color: "error",
283112
283112
  children: [
283113
- "OAuth error: ",
283113
+ "Erro no OAuth: ",
283114
283114
  oauthStatus.message
283115
283115
  ]
283116
283116
  }, undefined, true, undefined, this);
@@ -283126,12 +283126,12 @@ function OAuthStatusMessage(t0) {
283126
283126
  children: /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
283127
283127
  color: "permission",
283128
283128
  children: [
283129
- "Press ",
283129
+ "Pressione ",
283130
283130
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
283131
283131
  bold: true,
283132
283132
  children: "Enter"
283133
283133
  }, undefined, false, undefined, this),
283134
- " to retry."
283134
+ " pra tentar de novo."
283135
283135
  ]
283136
283136
  }, undefined, true, undefined, this)
283137
283137
  }, undefined, false, undefined, this);
@@ -283163,7 +283163,7 @@ function OAuthStatusMessage(t0) {
283163
283163
  }
283164
283164
  }
283165
283165
  }
283166
- var import_react_compiler_runtime62, import_react62, jsx_dev_runtime71, PASTE_HERE_MSG = "Paste code here if prompted > ";
283166
+ var import_react_compiler_runtime62, import_react62, jsx_dev_runtime71, PASTE_HERE_MSG = "Cole o código aqui se solicitado > ";
283167
283167
  var init_ConsoleOAuthFlow = __esm(() => {
283168
283168
  init_auth6();
283169
283169
  init_useTerminalSize();
@@ -358431,7 +358431,7 @@ function getAnthropicEnvMetadata() {
358431
358431
  function getBuildAgeMinutes() {
358432
358432
  if (false)
358433
358433
  ;
358434
- const buildTime = new Date("2026-04-04T05:07:12.634Z").getTime();
358434
+ const buildTime = new Date("2026-04-04T17:18:59.991Z").getTime();
358435
358435
  if (isNaN(buildTime))
358436
358436
  return;
358437
358437
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -385293,7 +385293,7 @@ function buildPrimarySection() {
385293
385293
  }, undefined, false, undefined, this);
385294
385294
  return [{
385295
385295
  label: "Version",
385296
- value: "0.1.7"
385296
+ value: "0.1.10"
385297
385297
  }, {
385298
385298
  label: "Session name",
385299
385299
  value: nameValue
@@ -385710,22 +385710,22 @@ function ThemePicker(t0) {
385710
385710
  let t10;
385711
385711
  if ($2[7] === Symbol.for("react.memo_cache_sentinel")) {
385712
385712
  t10 = [...[], {
385713
- label: "Dark mode",
385713
+ label: "Modo escuro",
385714
385714
  value: "dark"
385715
385715
  }, {
385716
- label: "Light mode",
385716
+ label: "Modo claro",
385717
385717
  value: "light"
385718
385718
  }, {
385719
- label: "Dark mode (colorblind-friendly)",
385719
+ label: "Modo escuro (amigável pra daltonismo)",
385720
385720
  value: "dark-daltonized"
385721
385721
  }, {
385722
- label: "Light mode (colorblind-friendly)",
385722
+ label: "Modo claro (amigável pra daltonismo)",
385723
385723
  value: "light-daltonized"
385724
385724
  }, {
385725
- label: "Dark mode (ANSI colors only)",
385725
+ label: "Modo escuro ( cores ANSI)",
385726
385726
  value: "dark-ansi"
385727
385727
  }, {
385728
- label: "Light mode (ANSI colors only)",
385728
+ label: "Modo claro ( cores ANSI)",
385729
385729
  value: "light-ansi"
385730
385730
  }];
385731
385731
  $2[7] = t10;
@@ -385736,11 +385736,11 @@ function ThemePicker(t0) {
385736
385736
  let t11;
385737
385737
  if ($2[8] !== showIntroText) {
385738
385738
  t11 = showIntroText ? /* @__PURE__ */ jsx_dev_runtime171.jsxDEV(ThemedText, {
385739
- children: "Let's get started."
385739
+ children: "Bora começar."
385740
385740
  }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime171.jsxDEV(ThemedText, {
385741
385741
  bold: true,
385742
385742
  color: "permission",
385743
- children: "Theme"
385743
+ children: "Tema"
385744
385744
  }, undefined, false, undefined, this);
385745
385745
  $2[8] = showIntroText;
385746
385746
  $2[9] = t11;
@@ -385751,7 +385751,7 @@ function ThemePicker(t0) {
385751
385751
  if ($2[10] === Symbol.for("react.memo_cache_sentinel")) {
385752
385752
  t12 = /* @__PURE__ */ jsx_dev_runtime171.jsxDEV(ThemedText, {
385753
385753
  bold: true,
385754
- children: "Choose the text style that looks best with your terminal"
385754
+ children: "Escolhe o estilo de texto que fica melhor no teu terminal"
385755
385755
  }, undefined, false, undefined, this);
385756
385756
  $2[10] = t12;
385757
385757
  } else {
@@ -385894,7 +385894,7 @@ function ThemePicker(t0) {
385894
385894
  } else {
385895
385895
  t21 = $2[36];
385896
385896
  }
385897
- const t22 = colorModuleUnavailableReason === "env" ? `Syntax highlighting disabled (via CLAUDE_CODE_SYNTAX_HIGHLIGHT=${process.env.CLAUDE_CODE_SYNTAX_HIGHLIGHT})` : syntaxHighlightingDisabled ? `Syntax highlighting disabled (${syntaxToggleShortcut} to enable)` : syntaxTheme ? `Syntax theme: ${syntaxTheme.theme}${syntaxTheme.source ? ` (from ${syntaxTheme.source})` : ""} (${syntaxToggleShortcut} to disable)` : `Syntax highlighting enabled (${syntaxToggleShortcut} to disable)`;
385897
+ const t22 = colorModuleUnavailableReason === "env" ? `Syntax highlighting desabilitado (via CLAUDE_CODE_SYNTAX_HIGHLIGHT=${process.env.CLAUDE_CODE_SYNTAX_HIGHLIGHT})` : syntaxHighlightingDisabled ? `Syntax highlighting desabilitado (${syntaxToggleShortcut} pra habilitar)` : syntaxTheme ? `Tema de syntax: ${syntaxTheme.theme}${syntaxTheme.source ? ` (de ${syntaxTheme.source})` : ""} (${syntaxToggleShortcut} pra desabilitar)` : `Syntax highlighting habilitado (${syntaxToggleShortcut} pra desabilitar)`;
385898
385898
  let t23;
385899
385899
  if ($2[37] !== t22) {
385900
385900
  t23 = /* @__PURE__ */ jsx_dev_runtime171.jsxDEV(ThemedText, {
@@ -385977,19 +385977,19 @@ function ThemePicker(t0) {
385977
385977
  italic: true,
385978
385978
  children: exitState.pending ? /* @__PURE__ */ jsx_dev_runtime171.jsxDEV(jsx_dev_runtime171.Fragment, {
385979
385979
  children: [
385980
- "Press ",
385980
+ "Pressione ",
385981
385981
  exitState.keyName,
385982
- " again to exit"
385982
+ " de novo pra sair"
385983
385983
  ]
385984
385984
  }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime171.jsxDEV(Byline, {
385985
385985
  children: [
385986
385986
  /* @__PURE__ */ jsx_dev_runtime171.jsxDEV(KeyboardShortcutHint, {
385987
385987
  shortcut: "Enter",
385988
- action: "select"
385988
+ action: "selecionar"
385989
385989
  }, undefined, false, undefined, this),
385990
385990
  /* @__PURE__ */ jsx_dev_runtime171.jsxDEV(KeyboardShortcutHint, {
385991
385991
  shortcut: "Esc",
385992
- action: "cancel"
385992
+ action: "cancelar"
385993
385993
  }, undefined, false, undefined, this)
385994
385994
  ]
385995
385995
  }, undefined, true, undefined, this)
@@ -387781,7 +387781,7 @@ function Config({
387781
387781
  const settingsItems = [
387782
387782
  {
387783
387783
  id: "autoCompactEnabled",
387784
- label: "Auto-compact",
387784
+ label: "Auto-compactar",
387785
387785
  value: globalConfig2.autoCompactEnabled,
387786
387786
  type: "boolean",
387787
387787
  onChange(autoCompactEnabled) {
@@ -387800,7 +387800,7 @@ function Config({
387800
387800
  },
387801
387801
  {
387802
387802
  id: "spinnerTipsEnabled",
387803
- label: "Show tips",
387803
+ label: "Mostrar dicas",
387804
387804
  value: settingsData?.spinnerTipsEnabled ?? true,
387805
387805
  type: "boolean",
387806
387806
  onChange(spinnerTipsEnabled) {
@@ -387818,7 +387818,7 @@ function Config({
387818
387818
  },
387819
387819
  {
387820
387820
  id: "prefersReducedMotion",
387821
- label: "Reduce motion",
387821
+ label: "Reduzir movimento",
387822
387822
  value: settingsData?.prefersReducedMotion ?? false,
387823
387823
  type: "boolean",
387824
387824
  onChange(prefersReducedMotion) {
@@ -387843,7 +387843,7 @@ function Config({
387843
387843
  },
387844
387844
  {
387845
387845
  id: "thinkingEnabled",
387846
- label: "Thinking mode",
387846
+ label: "Modo pensamento",
387847
387847
  value: thinkingEnabled ?? true,
387848
387848
  type: "boolean",
387849
387849
  onChange(enabled) {
@@ -387895,7 +387895,7 @@ function Config({
387895
387895
  }] : [],
387896
387896
  ...getFeatureValue_CACHED_MAY_BE_STALE("tengu_chomp_inflection", false) ? [{
387897
387897
  id: "promptSuggestionEnabled",
387898
- label: "Prompt suggestions",
387898
+ label: "Sugestões de prompt",
387899
387899
  value: promptSuggestionEnabled,
387900
387900
  type: "boolean",
387901
387901
  onChange(enabled_1) {
@@ -387911,7 +387911,7 @@ function Config({
387911
387911
  ...[],
387912
387912
  ...isFileCheckpointingAvailable ? [{
387913
387913
  id: "fileCheckpointingEnabled",
387914
- label: "Rewind code (checkpoints)",
387914
+ label: "Rebobinar código (checkpoints)",
387915
387915
  value: globalConfig2.fileCheckpointingEnabled,
387916
387916
  type: "boolean",
387917
387917
  onChange(enabled_3) {
@@ -387930,14 +387930,14 @@ function Config({
387930
387930
  }] : [],
387931
387931
  {
387932
387932
  id: "verbose",
387933
- label: "Verbose output",
387933
+ label: "Saída detalhada",
387934
387934
  value: verbose,
387935
387935
  type: "boolean",
387936
387936
  onChange: onChangeVerbose
387937
387937
  },
387938
387938
  {
387939
387939
  id: "terminalProgressBarEnabled",
387940
- label: "Terminal progress bar",
387940
+ label: "Barra de progresso no terminal",
387941
387941
  value: globalConfig2.terminalProgressBarEnabled,
387942
387942
  type: "boolean",
387943
387943
  onChange(terminalProgressBarEnabled) {
@@ -387956,7 +387956,7 @@ function Config({
387956
387956
  },
387957
387957
  ...getFeatureValue_CACHED_MAY_BE_STALE("tengu_terminal_sidebar", false) ? [{
387958
387958
  id: "showStatusInTerminalTab",
387959
- label: "Show status in terminal tab",
387959
+ label: "Mostrar status na aba do terminal",
387960
387960
  value: globalConfig2.showStatusInTerminalTab ?? false,
387961
387961
  type: "boolean",
387962
387962
  onChange(showStatusInTerminalTab) {
@@ -387975,7 +387975,7 @@ function Config({
387975
387975
  }] : [],
387976
387976
  {
387977
387977
  id: "showTurnDuration",
387978
- label: "Show turn duration",
387978
+ label: "Mostrar duração do turno",
387979
387979
  value: globalConfig2.showTurnDuration,
387980
387980
  type: "boolean",
387981
387981
  onChange(showTurnDuration) {
@@ -387994,7 +387994,7 @@ function Config({
387994
387994
  },
387995
387995
  {
387996
387996
  id: "defaultPermissionMode",
387997
- label: "Default permission mode",
387997
+ label: "Modo de permissão padrão",
387998
387998
  value: settingsData?.permissions?.defaultMode || "default",
387999
387999
  options: (() => {
388000
388000
  const priorityOrder = ["default", "plan"];
@@ -388037,7 +388037,7 @@ function Config({
388037
388037
  ...[],
388038
388038
  {
388039
388039
  id: "respectGitignore",
388040
- label: "Respect .gitignore in file picker",
388040
+ label: "Respeitar .gitignore no seletor de arquivos",
388041
388041
  value: globalConfig2.respectGitignore,
388042
388042
  type: "boolean",
388043
388043
  onChange(respectGitignore) {
@@ -388056,7 +388056,7 @@ function Config({
388056
388056
  },
388057
388057
  {
388058
388058
  id: "copyFullResponse",
388059
- label: "Always copy full response (skip /copy picker)",
388059
+ label: "Sempre copiar resposta completa (pular seletor /copy)",
388060
388060
  value: globalConfig2.copyFullResponse,
388061
388061
  type: "boolean",
388062
388062
  onChange(copyFullResponse) {
@@ -388076,7 +388076,7 @@ function Config({
388076
388076
  },
388077
388077
  ...isFullscreenEnvEnabled() ? [{
388078
388078
  id: "copyOnSelect",
388079
- label: "Copy on select",
388079
+ label: "Copiar ao selecionar",
388080
388080
  value: globalConfig2.copyOnSelect ?? true,
388081
388081
  type: "boolean",
388082
388082
  onChange(copyOnSelect) {
@@ -388096,27 +388096,27 @@ function Config({
388096
388096
  }] : [],
388097
388097
  autoUpdaterDisabledReason ? {
388098
388098
  id: "autoUpdatesChannel",
388099
- label: "Auto-update channel",
388099
+ label: "Canal de atualização automática",
388100
388100
  value: "disabled",
388101
388101
  type: "managedEnum",
388102
388102
  onChange() {}
388103
388103
  } : {
388104
388104
  id: "autoUpdatesChannel",
388105
- label: "Auto-update channel",
388105
+ label: "Canal de atualização automática",
388106
388106
  value: settingsData?.autoUpdatesChannel ?? "latest",
388107
388107
  type: "managedEnum",
388108
388108
  onChange() {}
388109
388109
  },
388110
388110
  {
388111
388111
  id: "theme",
388112
- label: "Theme",
388112
+ label: "Tema",
388113
388113
  value: themeSetting,
388114
388114
  type: "managedEnum",
388115
388115
  onChange: setTheme
388116
388116
  },
388117
388117
  {
388118
388118
  id: "notifChannel",
388119
- label: "Notifications",
388119
+ label: "Notificações",
388120
388120
  value: globalConfig2.preferredNotifChannel,
388121
388121
  options: ["auto", "iterm2", "terminal_bell", "iterm2_with_bell", "kitty", "ghostty", "notifications_disabled"],
388122
388122
  type: "enum",
@@ -388134,14 +388134,14 @@ function Config({
388134
388134
  ...[],
388135
388135
  {
388136
388136
  id: "outputStyle",
388137
- label: "Output style",
388137
+ label: "Estilo de saída",
388138
388138
  value: currentOutputStyle,
388139
388139
  type: "managedEnum",
388140
388140
  onChange: () => {}
388141
388141
  },
388142
388142
  ...showDefaultViewPicker ? [{
388143
388143
  id: "defaultView",
388144
- label: "What you see by default",
388144
+ label: "Visualização padrão",
388145
388145
  value: settingsData?.defaultView === undefined ? "default" : String(settingsData.defaultView),
388146
388146
  options: ["transcript", "chat", "default"],
388147
388147
  type: "enum",
@@ -388175,14 +388175,14 @@ function Config({
388175
388175
  }] : [],
388176
388176
  {
388177
388177
  id: "language",
388178
- label: "Language",
388178
+ label: "Idioma",
388179
388179
  value: currentLanguage ?? "Default (English)",
388180
388180
  type: "managedEnum",
388181
388181
  onChange: () => {}
388182
388182
  },
388183
388183
  {
388184
388184
  id: "editorMode",
388185
- label: "Editor mode",
388185
+ label: "Modo do editor",
388186
388186
  value: globalConfig2.editorMode === "emacs" ? "normal" : globalConfig2.editorMode || "normal",
388187
388187
  options: ["normal", "vim"],
388188
388188
  type: "enum",
@@ -388203,7 +388203,7 @@ function Config({
388203
388203
  },
388204
388204
  {
388205
388205
  id: "prStatusFooterEnabled",
388206
- label: "Show PR status footer",
388206
+ label: "Mostrar rodapé de status do PR",
388207
388207
  value: globalConfig2.prStatusFooterEnabled ?? true,
388208
388208
  type: "boolean",
388209
388209
  onChange(enabled_4) {
@@ -388226,14 +388226,14 @@ function Config({
388226
388226
  },
388227
388227
  {
388228
388228
  id: "model",
388229
- label: "Model",
388229
+ label: "Modelo",
388230
388230
  value: mainLoopModel === null ? "Default (recommended)" : mainLoopModel,
388231
388231
  type: "managedEnum",
388232
388232
  onChange: onChangeMainModelConfig
388233
388233
  },
388234
388234
  ...isConnectedToIde ? [{
388235
388235
  id: "diffTool",
388236
- label: "Diff tool",
388236
+ label: "Ferramenta de diff",
388237
388237
  value: globalConfig2.diffTool ?? "auto",
388238
388238
  options: ["terminal", "auto"],
388239
388239
  type: "enum",
@@ -388254,7 +388254,7 @@ function Config({
388254
388254
  }] : [],
388255
388255
  ...!isSupportedTerminal() ? [{
388256
388256
  id: "autoConnectIde",
388257
- label: "Auto-connect to IDE (external terminal)",
388257
+ label: "Auto-conectar à IDE (terminal externo)",
388258
388258
  value: globalConfig2.autoConnectIde ?? false,
388259
388259
  type: "boolean",
388260
388260
  onChange(autoConnectIde) {
@@ -388274,7 +388274,7 @@ function Config({
388274
388274
  }] : [],
388275
388275
  ...isSupportedTerminal() ? [{
388276
388276
  id: "autoInstallIdeExtension",
388277
- label: "Auto-install IDE extension",
388277
+ label: "Auto-instalar extensão da IDE",
388278
388278
  value: globalConfig2.autoInstallIdeExtension ?? true,
388279
388279
  type: "boolean",
388280
388280
  onChange(autoInstallIdeExtension) {
@@ -388294,7 +388294,7 @@ function Config({
388294
388294
  }] : [],
388295
388295
  {
388296
388296
  id: "claudeInChromeDefaultEnabled",
388297
- label: "Claude in Chrome enabled by default",
388297
+ label: "Claudinho no Chrome habilitado por padrão",
388298
388298
  value: globalConfig2.claudeInChromeDefaultEnabled ?? true,
388299
388299
  type: "boolean",
388300
388300
  onChange(enabled_5) {
@@ -388339,7 +388339,7 @@ function Config({
388339
388339
  }
388340
388340
  }, {
388341
388341
  id: "teammateDefaultModel",
388342
- label: "Default teammate model",
388342
+ label: "Modelo padrão do companheiro",
388343
388343
  value: teammateModelDisplayString(globalConfig2.teammateDefaultModel),
388344
388344
  type: "managedEnum",
388345
388345
  onChange() {}
@@ -388348,7 +388348,7 @@ function Config({
388348
388348
  ...[],
388349
388349
  ...shouldShowExternalIncludesToggle ? [{
388350
388350
  id: "showExternalIncludesDialog",
388351
- label: "External CLAUDE.md includes",
388351
+ label: "Includes externos do CLAUDE.md",
388352
388352
  value: (() => {
388353
388353
  const projectConfig = getCurrentProjectConfig();
388354
388354
  if (projectConfig.hasClaudeMdExternalIncludesApproved) {
@@ -388472,69 +388472,69 @@ function Config({
388472
388472
  const initialUsingCustomKey = Boolean(effectiveApiKey && initialConfig.current.customApiKeyResponses?.approved?.includes(normalizeApiKeyForConfig(effectiveApiKey)));
388473
388473
  const currentUsingCustomKey = Boolean(effectiveApiKey && globalConfig2.customApiKeyResponses?.approved?.includes(normalizeApiKeyForConfig(effectiveApiKey)));
388474
388474
  if (initialUsingCustomKey !== currentUsingCustomKey) {
388475
- formattedChanges.push(`${currentUsingCustomKey ? "Enabled" : "Disabled"} custom API key`);
388475
+ formattedChanges.push(`${currentUsingCustomKey ? "Habilitou" : "Desabilitou"} chave de API customizada`);
388476
388476
  logEvent("tengu_config_changed", {
388477
388477
  key: "env.ANTHROPIC_API_KEY",
388478
388478
  value: currentUsingCustomKey
388479
388479
  });
388480
388480
  }
388481
388481
  if (globalConfig2.theme !== initialConfig.current.theme) {
388482
- formattedChanges.push(`Set theme to ${source_default.bold(globalConfig2.theme)}`);
388482
+ formattedChanges.push(`Definiu tema como ${source_default.bold(globalConfig2.theme)}`);
388483
388483
  }
388484
388484
  if (globalConfig2.preferredNotifChannel !== initialConfig.current.preferredNotifChannel) {
388485
- formattedChanges.push(`Set notifications to ${source_default.bold(globalConfig2.preferredNotifChannel)}`);
388485
+ formattedChanges.push(`Definiu notificações como ${source_default.bold(globalConfig2.preferredNotifChannel)}`);
388486
388486
  }
388487
388487
  if (currentOutputStyle !== initialOutputStyle.current) {
388488
- formattedChanges.push(`Set output style to ${source_default.bold(currentOutputStyle)}`);
388488
+ formattedChanges.push(`Definiu estilo de saída como ${source_default.bold(currentOutputStyle)}`);
388489
388489
  }
388490
388490
  if (currentLanguage !== initialLanguage.current) {
388491
- formattedChanges.push(`Set response language to ${source_default.bold(currentLanguage ?? "Default (English)")}`);
388491
+ formattedChanges.push(`Definiu idioma de resposta como ${source_default.bold(currentLanguage ?? "Default (English)")}`);
388492
388492
  }
388493
388493
  if (globalConfig2.editorMode !== initialConfig.current.editorMode) {
388494
- formattedChanges.push(`Set editor mode to ${source_default.bold(globalConfig2.editorMode || "emacs")}`);
388494
+ formattedChanges.push(`Definiu modo do editor como ${source_default.bold(globalConfig2.editorMode || "emacs")}`);
388495
388495
  }
388496
388496
  if (globalConfig2.diffTool !== initialConfig.current.diffTool) {
388497
- formattedChanges.push(`Set diff tool to ${source_default.bold(globalConfig2.diffTool)}`);
388497
+ formattedChanges.push(`Definiu ferramenta de diff como ${source_default.bold(globalConfig2.diffTool)}`);
388498
388498
  }
388499
388499
  if (globalConfig2.autoConnectIde !== initialConfig.current.autoConnectIde) {
388500
- formattedChanges.push(`${globalConfig2.autoConnectIde ? "Enabled" : "Disabled"} auto-connect to IDE`);
388500
+ formattedChanges.push(`${globalConfig2.autoConnectIde ? "Habilitou" : "Desabilitou"} auto-conectar à IDE`);
388501
388501
  }
388502
388502
  if (globalConfig2.autoInstallIdeExtension !== initialConfig.current.autoInstallIdeExtension) {
388503
- formattedChanges.push(`${globalConfig2.autoInstallIdeExtension ? "Enabled" : "Disabled"} auto-install IDE extension`);
388503
+ formattedChanges.push(`${globalConfig2.autoInstallIdeExtension ? "Habilitou" : "Desabilitou"} auto-instalar extensão da IDE`);
388504
388504
  }
388505
388505
  if (globalConfig2.autoCompactEnabled !== initialConfig.current.autoCompactEnabled) {
388506
- formattedChanges.push(`${globalConfig2.autoCompactEnabled ? "Enabled" : "Disabled"} auto-compact`);
388506
+ formattedChanges.push(`${globalConfig2.autoCompactEnabled ? "Habilitou" : "Desabilitou"} auto-compactar`);
388507
388507
  }
388508
388508
  if (globalConfig2.respectGitignore !== initialConfig.current.respectGitignore) {
388509
- formattedChanges.push(`${globalConfig2.respectGitignore ? "Enabled" : "Disabled"} respect .gitignore in file picker`);
388509
+ formattedChanges.push(`${globalConfig2.respectGitignore ? "Habilitou" : "Desabilitou"} respeitar .gitignore no seletor de arquivos`);
388510
388510
  }
388511
388511
  if (globalConfig2.copyFullResponse !== initialConfig.current.copyFullResponse) {
388512
- formattedChanges.push(`${globalConfig2.copyFullResponse ? "Enabled" : "Disabled"} always copy full response`);
388512
+ formattedChanges.push(`${globalConfig2.copyFullResponse ? "Habilitou" : "Desabilitou"} sempre copiar resposta completa`);
388513
388513
  }
388514
388514
  if (globalConfig2.copyOnSelect !== initialConfig.current.copyOnSelect) {
388515
- formattedChanges.push(`${globalConfig2.copyOnSelect ? "Enabled" : "Disabled"} copy on select`);
388515
+ formattedChanges.push(`${globalConfig2.copyOnSelect ? "Habilitou" : "Desabilitou"} copiar ao selecionar`);
388516
388516
  }
388517
388517
  if (globalConfig2.terminalProgressBarEnabled !== initialConfig.current.terminalProgressBarEnabled) {
388518
- formattedChanges.push(`${globalConfig2.terminalProgressBarEnabled ? "Enabled" : "Disabled"} terminal progress bar`);
388518
+ formattedChanges.push(`${globalConfig2.terminalProgressBarEnabled ? "Habilitou" : "Desabilitou"} barra de progresso no terminal`);
388519
388519
  }
388520
388520
  if (globalConfig2.showStatusInTerminalTab !== initialConfig.current.showStatusInTerminalTab) {
388521
- formattedChanges.push(`${globalConfig2.showStatusInTerminalTab ? "Enabled" : "Disabled"} terminal tab status`);
388521
+ formattedChanges.push(`${globalConfig2.showStatusInTerminalTab ? "Habilitou" : "Desabilitou"} status na aba do terminal`);
388522
388522
  }
388523
388523
  if (globalConfig2.showTurnDuration !== initialConfig.current.showTurnDuration) {
388524
- formattedChanges.push(`${globalConfig2.showTurnDuration ? "Enabled" : "Disabled"} turn duration`);
388524
+ formattedChanges.push(`${globalConfig2.showTurnDuration ? "Habilitou" : "Desabilitou"} duração do turno`);
388525
388525
  }
388526
388526
  if (globalConfig2.remoteControlAtStartup !== initialConfig.current.remoteControlAtStartup) {
388527
- const remoteLabel = globalConfig2.remoteControlAtStartup === undefined ? "Reset Remote Control to default" : `${globalConfig2.remoteControlAtStartup ? "Enabled" : "Disabled"} Remote Control for all sessions`;
388527
+ const remoteLabel = globalConfig2.remoteControlAtStartup === undefined ? "Resetou Controle Remoto pro padrão" : `${globalConfig2.remoteControlAtStartup ? "Habilitou" : "Desabilitou"} Controle Remoto pra todas as sessões`;
388528
388528
  formattedChanges.push(remoteLabel);
388529
388529
  }
388530
388530
  if (settingsData?.autoUpdatesChannel !== initialSettingsData.current?.autoUpdatesChannel) {
388531
- formattedChanges.push(`Set auto-update channel to ${source_default.bold(settingsData?.autoUpdatesChannel ?? "latest")}`);
388531
+ formattedChanges.push(`Definiu canal de atualização automática como ${source_default.bold(settingsData?.autoUpdatesChannel ?? "latest")}`);
388532
388532
  }
388533
388533
  if (formattedChanges.length > 0) {
388534
388534
  onClose(formattedChanges.join(`
388535
388535
  `));
388536
388536
  } else {
388537
- onClose("Config dialog dismissed", {
388537
+ onClose("Painel de configuração fechado", {
388538
388538
  display: "system"
388539
388539
  });
388540
388540
  }
@@ -389002,7 +389002,7 @@ function Config({
389002
389002
  }, undefined, false, undefined, this)
389003
389003
  ]
389004
389004
  }, undefined, true, undefined, this) : showSubmenu === "EnableAutoUpdates" ? /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(Dialog, {
389005
- title: "Enable Auto-Updates",
389005
+ title: "Habilitar Atualizações Automáticas",
389006
389006
  onCancel: () => {
389007
389007
  setShowSubmenu(null);
389008
389008
  setTabsHidden(false);
@@ -389012,23 +389012,23 @@ function Config({
389012
389012
  children: autoUpdaterDisabledReason?.type !== "config" ? /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(jsx_dev_runtime178.Fragment, {
389013
389013
  children: [
389014
389014
  /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ThemedText, {
389015
- children: autoUpdaterDisabledReason?.type === "env" ? "Auto-updates are controlled by an environment variable and cannot be changed here." : "Auto-updates are disabled in development builds."
389015
+ children: autoUpdaterDisabledReason?.type === "env" ? "Atualizações automáticas são controladas por uma variável de ambiente e não podem ser alteradas aqui." : "Atualizações automáticas estão desabilitadas em builds de desenvolvimento."
389016
389016
  }, undefined, false, undefined, this),
389017
389017
  autoUpdaterDisabledReason?.type === "env" && /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ThemedText, {
389018
389018
  dimColor: true,
389019
389019
  children: [
389020
- "Unset ",
389020
+ "Remova ",
389021
389021
  autoUpdaterDisabledReason.envVar,
389022
- " to re-enable auto-updates."
389022
+ " pra reabilitar atualizações automáticas."
389023
389023
  ]
389024
389024
  }, undefined, true, undefined, this)
389025
389025
  ]
389026
389026
  }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(Select, {
389027
389027
  options: [{
389028
- label: "Enable with latest channel",
389028
+ label: "Habilitar com canal latest",
389029
389029
  value: "latest"
389030
389030
  }, {
389031
- label: "Enable with stable channel",
389031
+ label: "Habilitar com canal stable",
389032
389032
  value: "stable"
389033
389033
  }],
389034
389034
  onChange: (channel) => {
@@ -389092,7 +389092,7 @@ function Config({
389092
389092
  isFocused: isSearchMode && !headerFocused,
389093
389093
  isTerminalFocused,
389094
389094
  cursorOffset: searchCursorOffset,
389095
- placeholder: "Search settings…"
389095
+ placeholder: "Buscar configurações…"
389096
389096
  }, undefined, false, undefined, this),
389097
389097
  /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ThemedBox_default, {
389098
389098
  flexDirection: "column",
@@ -389100,7 +389100,7 @@ function Config({
389100
389100
  dimColor: true,
389101
389101
  italic: true,
389102
389102
  children: [
389103
- 'No settings match "',
389103
+ 'Nenhuma configuração corresponde a "',
389104
389104
  searchQuery,
389105
389105
  '"'
389106
389106
  ]
@@ -389112,7 +389112,7 @@ function Config({
389112
389112
  figures_default.arrowUp,
389113
389113
  " ",
389114
389114
  scrollOffset,
389115
- " more above"
389115
+ " mais acima"
389116
389116
  ]
389117
389117
  }, undefined, true, undefined, this),
389118
389118
  filteredSettingsItems.slice(scrollOffset, scrollOffset + maxVisible).map((setting_2, i3) => {
@@ -389143,7 +389143,7 @@ function Config({
389143
389143
  color: "warning",
389144
389144
  children: [
389145
389145
  " ",
389146
- "Changing thinking mode mid-conversation will increase latency and may reduce quality."
389146
+ "Mudar o modo pensamento no meio da conversa pode aumentar a latência e reduzir a qualidade."
389147
389147
  ]
389148
389148
  }, undefined, true, undefined, this)
389149
389149
  ]
@@ -389163,7 +389163,7 @@ function Config({
389163
389163
  children: [
389164
389164
  /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ThemedText, {
389165
389165
  color: isSelected ? "suggestion" : undefined,
389166
- children: "disabled"
389166
+ children: "desabilitado"
389167
389167
  }, undefined, false, undefined, this),
389168
389168
  /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ThemedText, {
389169
389169
  dimColor: true,
@@ -389190,7 +389190,7 @@ function Config({
389190
389190
  " ",
389191
389191
  filteredSettingsItems.length - scrollOffset - maxVisible,
389192
389192
  " ",
389193
- "more below"
389193
+ "mais abaixo"
389194
389194
  ]
389195
389195
  }, undefined, true, undefined, this)
389196
389196
  ]
@@ -389202,17 +389202,17 @@ function Config({
389202
389202
  children: [
389203
389203
  /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(KeyboardShortcutHint, {
389204
389204
  shortcut: "←/→ tab",
389205
- action: "switch"
389205
+ action: "trocar"
389206
389206
  }, undefined, false, undefined, this),
389207
389207
  /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(KeyboardShortcutHint, {
389208
389208
  shortcut: "↓",
389209
- action: "return"
389209
+ action: "voltar"
389210
389210
  }, undefined, false, undefined, this),
389211
389211
  /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ConfigurableShortcutHint, {
389212
389212
  action: "confirm:no",
389213
389213
  context: "Settings",
389214
389214
  fallback: "Esc",
389215
- description: "close"
389215
+ description: "fechar"
389216
389216
  }, undefined, false, undefined, this)
389217
389217
  ]
389218
389218
  }, undefined, true, undefined, this)
@@ -389221,21 +389221,21 @@ function Config({
389221
389221
  children: /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(Byline, {
389222
389222
  children: [
389223
389223
  /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ThemedText, {
389224
- children: "Type to filter"
389224
+ children: "Digite pra filtrar"
389225
389225
  }, undefined, false, undefined, this),
389226
389226
  /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(KeyboardShortcutHint, {
389227
389227
  shortcut: "Enter/↓",
389228
- action: "select"
389228
+ action: "selecionar"
389229
389229
  }, undefined, false, undefined, this),
389230
389230
  /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(KeyboardShortcutHint, {
389231
389231
  shortcut: "↑",
389232
- action: "tabs"
389232
+ action: "abas"
389233
389233
  }, undefined, false, undefined, this),
389234
389234
  /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ConfigurableShortcutHint, {
389235
389235
  action: "confirm:no",
389236
389236
  context: "Settings",
389237
389237
  fallback: "Esc",
389238
- description: "clear"
389238
+ description: "limpar"
389239
389239
  }, undefined, false, undefined, this)
389240
389240
  ]
389241
389241
  }, undefined, true, undefined, this)
@@ -389247,25 +389247,25 @@ function Config({
389247
389247
  action: "select:accept",
389248
389248
  context: "Settings",
389249
389249
  fallback: "Space",
389250
- description: "change"
389250
+ description: "mudar"
389251
389251
  }, undefined, false, undefined, this),
389252
389252
  /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ConfigurableShortcutHint, {
389253
389253
  action: "settings:close",
389254
389254
  context: "Settings",
389255
389255
  fallback: "Enter",
389256
- description: "save"
389256
+ description: "salvar"
389257
389257
  }, undefined, false, undefined, this),
389258
389258
  /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ConfigurableShortcutHint, {
389259
389259
  action: "settings:search",
389260
389260
  context: "Settings",
389261
389261
  fallback: "/",
389262
- description: "search"
389262
+ description: "buscar"
389263
389263
  }, undefined, false, undefined, this),
389264
389264
  /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ConfigurableShortcutHint, {
389265
389265
  action: "confirm:no",
389266
389266
  context: "Settings",
389267
389267
  fallback: "Esc",
389268
- description: "cancel"
389268
+ description: "cancelar"
389269
389269
  }, undefined, false, undefined, this)
389270
389270
  ]
389271
389271
  }, undefined, true, undefined, this)
@@ -389367,7 +389367,7 @@ function NotifChannelLabel(t0) {
389367
389367
  return "iTerm2 w/ Bell";
389368
389368
  }
389369
389369
  case "notifications_disabled": {
389370
- return "Disabled";
389370
+ return "Desabilitado";
389371
389371
  }
389372
389372
  default: {
389373
389373
  return value;
@@ -441466,31 +441466,31 @@ function buildSavedProfileSummary(profile, env4) {
441466
441466
  function buildProfileSaveMessage(profile, env4, filePath) {
441467
441467
  const summary = buildSavedProfileSummary(profile, env4);
441468
441468
  const lines = [
441469
- `Saved ${summary.providerLabel} profile.`,
441470
- `Model: ${summary.modelLabel}`,
441469
+ `Perfil ${summary.providerLabel} salvo.`,
441470
+ `Modelo: ${summary.modelLabel}`,
441471
441471
  `Endpoint: ${summary.endpointLabel}`
441472
441472
  ];
441473
441473
  if (summary.credentialLabel) {
441474
- lines.push(`Credentials: ${summary.credentialLabel}`);
441474
+ lines.push(`Credenciais: ${summary.credentialLabel}`);
441475
441475
  }
441476
- lines.push(`Profile: ${filePath}`);
441477
- lines.push("Restart OpenClaude to use it.");
441476
+ lines.push(`Perfil: ${filePath}`);
441477
+ lines.push("Reinicia o claudinho pra usar.");
441478
441478
  return lines.join(`
441479
441479
  `);
441480
441480
  }
441481
441481
  function buildUsageText() {
441482
441482
  const summary = buildCurrentProviderSummary();
441483
441483
  return [
441484
- "Usage: /provider",
441484
+ "Uso: /provider",
441485
441485
  "",
441486
- "Guided setup for saved provider profiles.",
441486
+ "Setup guiado pra perfis de provedor salvos.",
441487
441487
  "",
441488
- `Current provider: ${summary.providerLabel}`,
441489
- `Current model: ${summary.modelLabel}`,
441490
- `Current endpoint: ${summary.endpointLabel}`,
441491
- `Saved profile: ${summary.savedProfileLabel}`,
441488
+ `Provedor atual: ${summary.providerLabel}`,
441489
+ `Modelo atual: ${summary.modelLabel}`,
441490
+ `Endpoint atual: ${summary.endpointLabel}`,
441491
+ `Perfil salvo: ${summary.savedProfileLabel}`,
441492
441492
  "",
441493
- "Choose Auto, Ollama, OpenAI-compatible, Gemini, or Codex, then save a profile for the next OpenClaude restart."
441493
+ "Escolhe Auto, Ollama, OpenAI-compatível, Gemini ou Codex, e salva um perfil pro próximo restart do claudinho."
441494
441494
  ].join(`
441495
441495
  `);
441496
441496
  }
@@ -441503,7 +441503,7 @@ function finishProfileSave(onDone, profile, env4) {
441503
441503
  });
441504
441504
  } catch (error42) {
441505
441505
  const message = error42 instanceof Error ? error42.message : String(error42);
441506
- onDone(`Failed to save provider profile: ${message}`, {
441506
+ onDone(`Falha ao salvar perfil de provedor: ${message}`, {
441507
441507
  display: "system"
441508
441508
  });
441509
441509
  }
@@ -441533,7 +441533,7 @@ function TextEntryDialog({
441533
441533
  const inputColumns = Math.max(30, columns - 6);
441534
441534
  const handleSubmit = React96.useCallback((nextValue) => {
441535
441535
  if (!allowEmpty && nextValue.trim().length === 0) {
441536
- setError("A value is required for this step.");
441536
+ setError("Um valor é obrigatório pra esse passo.");
441537
441537
  return;
441538
441538
  }
441539
441539
  const validationError = validate2?.(nextValue);
@@ -441584,46 +441584,46 @@ function ProviderChooser({
441584
441584
  {
441585
441585
  label: "Auto",
441586
441586
  value: "auto",
441587
- description: "Prefer local Ollama when available, otherwise guide you into OpenAI-compatible setup"
441587
+ description: "Prefere Ollama local se tiver, senão te ajuda a configurar OpenAI"
441588
441588
  },
441589
441589
  {
441590
441590
  label: "Ollama",
441591
441591
  value: "ollama",
441592
- description: "Use a local Ollama model with no API key"
441592
+ description: "Roda modelo local sem precisar de chave de API"
441593
441593
  },
441594
441594
  {
441595
- label: "OpenAI-compatible",
441595
+ label: "OpenAI-compatível",
441596
441596
  value: "openai",
441597
- description: "GPT-4o, DeepSeek, OpenRouter, Groq, LM Studio, and similar APIs"
441597
+ description: "GPT-4o, DeepSeek, OpenRouter, Groq, LM Studio e outras APIs"
441598
441598
  },
441599
441599
  {
441600
441600
  label: "Gemini",
441601
441601
  value: "gemini",
441602
- description: "Use a Google Gemini API key"
441602
+ description: "Usa chave de API do Google Gemini"
441603
441603
  },
441604
441604
  {
441605
441605
  label: "Codex",
441606
441606
  value: "codex",
441607
- description: "Use existing ChatGPT Codex CLI auth or env credentials"
441607
+ description: "Usa auth do ChatGPT Codex CLI ou credenciais do ambiente"
441608
441608
  }
441609
441609
  ];
441610
441610
  if (summary.savedProfileLabel !== "none") {
441611
441611
  options2.push({
441612
- label: "Clear saved profile",
441612
+ label: "Limpar perfil salvo",
441613
441613
  value: "clear",
441614
- description: "Remove .openclaude-profile.json and return to normal startup"
441614
+ description: "Remove perfil salvo e volta pro startup normal"
441615
441615
  });
441616
441616
  }
441617
441617
  return /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(Dialog, {
441618
- title: "Set up a provider profile",
441619
- subtitle: `Current provider: ${summary.providerLabel}`,
441618
+ title: "Configurar perfil de provedor",
441619
+ subtitle: `Provedor atual: ${summary.providerLabel}`,
441620
441620
  onCancel,
441621
441621
  children: /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(ThemedBox_default, {
441622
441622
  flexDirection: "column",
441623
441623
  gap: 1,
441624
441624
  children: [
441625
441625
  /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(ThemedText, {
441626
- children: "Save a provider profile for the next OpenClaude restart without editing environment variables first."
441626
+ children: "Salva um perfil de provedor pro próximo restart do claudinho sem precisar mexer nas variáveis de ambiente."
441627
441627
  }, undefined, false, undefined, this),
441628
441628
  /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(ThemedBox_default, {
441629
441629
  flexDirection: "column",
@@ -441631,21 +441631,21 @@ function ProviderChooser({
441631
441631
  /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(ThemedText, {
441632
441632
  dimColor: true,
441633
441633
  children: [
441634
- "Current model: ",
441634
+ "Modelo atual: ",
441635
441635
  summary.modelLabel
441636
441636
  ]
441637
441637
  }, undefined, true, undefined, this),
441638
441638
  /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(ThemedText, {
441639
441639
  dimColor: true,
441640
441640
  children: [
441641
- "Current endpoint: ",
441641
+ "Endpoint atual: ",
441642
441642
  summary.endpointLabel
441643
441643
  ]
441644
441644
  }, undefined, true, undefined, this),
441645
441645
  /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(ThemedText, {
441646
441646
  dimColor: true,
441647
441647
  children: [
441648
- "Saved profile: ",
441648
+ "Perfil salvo: ",
441649
441649
  summary.savedProfileLabel
441650
441650
  ]
441651
441651
  }, undefined, true, undefined, this)
@@ -441668,30 +441668,30 @@ function AutoGoalChooser({
441668
441668
  }) {
441669
441669
  const options2 = [
441670
441670
  {
441671
- label: "Balanced",
441671
+ label: "Balanceado",
441672
441672
  value: "balanced",
441673
- description: "Strong everyday default for most users"
441673
+ description: "Padrão bom pra maioria dos casos"
441674
441674
  },
441675
441675
  {
441676
- label: "Coding",
441676
+ label: "Código",
441677
441677
  value: "coding",
441678
- description: "Prefer coding-oriented local models or GPT-4o defaults"
441678
+ description: "Prefere modelos locais bons pra código ou GPT-4o"
441679
441679
  },
441680
441680
  {
441681
- label: "Latency",
441681
+ label: "Velocidade",
441682
441682
  value: "latency",
441683
- description: "Prefer faster local models or gpt-4o-mini defaults"
441683
+ description: "Prefere modelos locais mais rápidos ou gpt-4o-mini"
441684
441684
  }
441685
441685
  ];
441686
441686
  return /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(Dialog, {
441687
- title: "Auto setup goal",
441687
+ title: "Objetivo do setup automático",
441688
441688
  onCancel: onBack,
441689
441689
  children: /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(ThemedBox_default, {
441690
441690
  flexDirection: "column",
441691
441691
  gap: 1,
441692
441692
  children: [
441693
441693
  /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(ThemedText, {
441694
- children: "Pick the goal Auto setup should optimize for."
441694
+ children: "Escolhe o objetivo que o setup automático deve otimizar."
441695
441695
  }, undefined, false, undefined, this),
441696
441696
  /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(Select, {
441697
441697
  options: options2,
@@ -441756,12 +441756,12 @@ function AutoRecommendationStep({
441756
441756
  }, [goal]);
441757
441757
  if (status2.state === "loading") {
441758
441758
  return /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(LoadingState, {
441759
- message: "Checking local providers…"
441759
+ message: "Verificando provedores locais…"
441760
441760
  }, undefined, false, undefined, this);
441761
441761
  }
441762
441762
  if (status2.state === "error") {
441763
441763
  return /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(Dialog, {
441764
- title: "Auto setup failed",
441764
+ title: "Setup automático falhou",
441765
441765
  onCancel,
441766
441766
  color: "warning",
441767
441767
  children: /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(ThemedBox_default, {
@@ -441773,8 +441773,8 @@ function AutoRecommendationStep({
441773
441773
  }, undefined, false, undefined, this),
441774
441774
  /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(Select, {
441775
441775
  options: [
441776
- { label: "Back", value: "back" },
441777
- { label: "Cancel", value: "cancel" }
441776
+ { label: "Voltar", value: "back" },
441777
+ { label: "Cancelar", value: "cancel" }
441778
441778
  ],
441779
441779
  onChange: (value) => value === "back" ? onBack() : onCancel(),
441780
441780
  onCancel
@@ -441785,7 +441785,7 @@ function AutoRecommendationStep({
441785
441785
  }
441786
441786
  if (status2.state === "openai") {
441787
441787
  return /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(Dialog, {
441788
- title: "Auto setup fallback",
441788
+ title: "Fallback do setup automático",
441789
441789
  onCancel,
441790
441790
  children: /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(ThemedBox_default, {
441791
441791
  flexDirection: "column",
@@ -441793,7 +441793,7 @@ function AutoRecommendationStep({
441793
441793
  children: [
441794
441794
  /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(ThemedText, {
441795
441795
  children: [
441796
- "No viable local Ollama chat model was detected. Auto setup can continue into OpenAI-compatible setup with a default model of",
441796
+ "Nenhum modelo Ollama local viável foi detectado. O setup automático pode continuar pro setup OpenAI-compatível com modelo padrão",
441797
441797
  " ",
441798
441798
  status2.defaultModel,
441799
441799
  "."
@@ -441801,9 +441801,9 @@ function AutoRecommendationStep({
441801
441801
  }, undefined, true, undefined, this),
441802
441802
  /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(Select, {
441803
441803
  options: [
441804
- { label: "Continue to OpenAI-compatible setup", value: "continue" },
441805
- { label: "Back", value: "back" },
441806
- { label: "Cancel", value: "cancel" }
441804
+ { label: "Continuar pro setup OpenAI-compatível", value: "continue" },
441805
+ { label: "Voltar", value: "back" },
441806
+ { label: "Cancelar", value: "cancel" }
441807
441807
  ],
441808
441808
  onChange: (value) => {
441809
441809
  if (value === "continue") {
@@ -441821,7 +441821,7 @@ function AutoRecommendationStep({
441821
441821
  }, undefined, false, undefined, this);
441822
441822
  }
441823
441823
  return /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(Dialog, {
441824
- title: "Save recommended profile?",
441824
+ title: "Salvar perfil recomendado?",
441825
441825
  onCancel: onBack,
441826
441826
  children: /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(ThemedBox_default, {
441827
441827
  flexDirection: "column",
@@ -441829,24 +441829,24 @@ function AutoRecommendationStep({
441829
441829
  children: [
441830
441830
  /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(ThemedText, {
441831
441831
  children: [
441832
- "Auto setup recommends a local Ollama profile for ",
441832
+ "O setup automático recomenda um perfil Ollama local pra ",
441833
441833
  goal,
441834
- " based on the models currently available on this machine."
441834
+ " baseado nos modelos disponíveis nessa máquina."
441835
441835
  ]
441836
441836
  }, undefined, true, undefined, this),
441837
441837
  /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(ThemedText, {
441838
441838
  dimColor: true,
441839
441839
  children: [
441840
- "Recommended model: ",
441840
+ "Modelo recomendado: ",
441841
441841
  status2.model,
441842
441842
  status2.summary ? ` · ${status2.summary}` : ""
441843
441843
  ]
441844
441844
  }, undefined, true, undefined, this),
441845
441845
  /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(Select, {
441846
441846
  options: [
441847
- { label: "Save recommended Ollama profile", value: "save" },
441848
- { label: "Back", value: "back" },
441849
- { label: "Cancel", value: "cancel" }
441847
+ { label: "Salvar perfil Ollama recomendado", value: "save" },
441848
+ { label: "Voltar", value: "back" },
441849
+ { label: "Cancelar", value: "cancel" }
441850
441850
  ],
441851
441851
  onChange: (value) => {
441852
441852
  if (value === "save") {
@@ -441914,12 +441914,12 @@ function OllamaModelStep({
441914
441914
  }, []);
441915
441915
  if (status2.state === "loading") {
441916
441916
  return /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(LoadingState, {
441917
- message: "Checking local Ollama models…"
441917
+ message: "Verificando modelos Ollama locais…"
441918
441918
  }, undefined, false, undefined, this);
441919
441919
  }
441920
441920
  if (status2.state === "unavailable") {
441921
441921
  return /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(Dialog, {
441922
- title: "Ollama setup",
441922
+ title: "Setup do Ollama",
441923
441923
  onCancel,
441924
441924
  color: "warning",
441925
441925
  children: /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(ThemedBox_default, {
@@ -441931,8 +441931,8 @@ function OllamaModelStep({
441931
441931
  }, undefined, false, undefined, this),
441932
441932
  /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(Select, {
441933
441933
  options: [
441934
- { label: "Back", value: "back" },
441935
- { label: "Cancel", value: "cancel" }
441934
+ { label: "Voltar", value: "back" },
441935
+ { label: "Cancelar", value: "cancel" }
441936
441936
  ],
441937
441937
  onChange: (value) => value === "back" ? onBack() : onCancel(),
441938
441938
  onCancel
@@ -441942,14 +441942,14 @@ function OllamaModelStep({
441942
441942
  }, undefined, false, undefined, this);
441943
441943
  }
441944
441944
  return /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(Dialog, {
441945
- title: "Choose an Ollama model",
441945
+ title: "Escolhe um modelo Ollama",
441946
441946
  onCancel: onBack,
441947
441947
  children: /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(ThemedBox_default, {
441948
441948
  flexDirection: "column",
441949
441949
  gap: 1,
441950
441950
  children: [
441951
441951
  /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(ThemedText, {
441952
- children: "Pick one of the installed Ollama models to save into a local provider profile."
441952
+ children: "Escolhe um dos modelos Ollama instalados pra salvar num perfil local."
441953
441953
  }, undefined, false, undefined, this),
441954
441954
  /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(Select, {
441955
441955
  options: status2.options,
@@ -441976,7 +441976,7 @@ function CodexCredentialStep({
441976
441976
  const credentials = resolveCodexCredentials(process.env);
441977
441977
  if (!credentials.ok) {
441978
441978
  return /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(Dialog, {
441979
- title: "Codex setup",
441979
+ title: "Setup do Codex",
441980
441980
  onCancel,
441981
441981
  color: "warning",
441982
441982
  children: /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(ThemedBox_default, {
@@ -441988,8 +441988,8 @@ function CodexCredentialStep({
441988
441988
  }, undefined, false, undefined, this),
441989
441989
  /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(Select, {
441990
441990
  options: [
441991
- { label: "Back", value: "back" },
441992
- { label: "Cancel", value: "cancel" }
441991
+ { label: "Voltar", value: "back" },
441992
+ { label: "Cancelar", value: "cancel" }
441993
441993
  ],
441994
441994
  onChange: (value) => value === "back" ? onBack() : onCancel(),
441995
441995
  onCancel
@@ -442002,16 +442002,16 @@ function CodexCredentialStep({
442002
442002
  {
442003
442003
  label: "codexplan",
442004
442004
  value: "codexplan",
442005
- description: "GPT-5.4 with higher reasoning on the Codex backend"
442005
+ description: "GPT-5.4 com raciocínio maior no backend do Codex"
442006
442006
  },
442007
442007
  {
442008
442008
  label: "codexspark",
442009
442009
  value: "codexspark",
442010
- description: "Faster Codex Spark tool loop profile"
442010
+ description: "Perfil Codex Spark mais rápido pro loop de ferramentas"
442011
442011
  }
442012
442012
  ];
442013
442013
  return /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(Dialog, {
442014
- title: "Choose a Codex profile",
442014
+ title: "Escolhe um perfil do Codex",
442015
442015
  onCancel: onBack,
442016
442016
  children: /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(ThemedBox_default, {
442017
442017
  flexDirection: "column",
@@ -442019,10 +442019,10 @@ function CodexCredentialStep({
442019
442019
  children: [
442020
442020
  /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(ThemedText, {
442021
442021
  children: [
442022
- "Reuse your existing Codex credentials from",
442022
+ "Reusa suas credenciais existentes do Codex de",
442023
442023
  " ",
442024
442024
  credentials.sourceDescription,
442025
- " and save a model alias profile."
442025
+ " e salva um perfil de alias de modelo."
442026
442026
  ]
442027
442027
  }, undefined, true, undefined, this),
442028
442028
  /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(Select, {
@@ -442086,7 +442086,7 @@ function ProviderWizard({ onDone }) {
442086
442086
  setStep({ name: "gemini-key" });
442087
442087
  } else if (value === "clear") {
442088
442088
  const filePath = deleteProfileFile();
442089
- onDone(`Removed saved provider profile at ${filePath}. Restart OpenClaude to go back to normal startup.`, {
442089
+ onDone(`Perfil de provedor removido de ${filePath}. Reinicia o claudinho pra voltar pro startup normal.`, {
442090
442090
  display: "system"
442091
442091
  });
442092
442092
  } else {
@@ -442117,16 +442117,16 @@ function ProviderWizard({ onDone }) {
442117
442117
  case "openai-key":
442118
442118
  return /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(TextEntryDialog, {
442119
442119
  resetStateKey: step.name,
442120
- title: "OpenAI-compatible setup",
442121
- subtitle: "Step 1 of 3",
442122
- description: process.env.OPENAI_API_KEY ? "Enter an API key, or leave this blank to reuse the current OPENAI_API_KEY from this session." : "Enter the API key for your OpenAI-compatible provider.",
442120
+ title: "Setup OpenAI-compatível",
442121
+ subtitle: "Passo 1 de 3",
442122
+ description: process.env.OPENAI_API_KEY ? "Digite uma chave de API, ou deixa em branco pra reusar a OPENAI_API_KEY atual dessa sessão." : "Digite a chave de API do seu provedor OpenAI-compatível.",
442123
442123
  initialValue: "",
442124
442124
  placeholder: "sk-...",
442125
442125
  mask: "*",
442126
442126
  allowEmpty: Boolean(process.env.OPENAI_API_KEY),
442127
442127
  validate: (value) => {
442128
442128
  const candidate = value.trim() || process.env.OPENAI_API_KEY || "";
442129
- return sanitizeApiKey(candidate) ? null : "Enter a real API key. Placeholder values like SUA_CHAVE are not valid.";
442129
+ return sanitizeApiKey(candidate) ? null : "Digite uma chave de API real. Placeholders tipo SUA_CHAVE não são válidos.";
442130
442130
  },
442131
442131
  onSubmit: (value) => {
442132
442132
  const apiKey = value.trim() || process.env.OPENAI_API_KEY || "";
@@ -442141,9 +442141,9 @@ function ProviderWizard({ onDone }) {
442141
442141
  case "openai-base":
442142
442142
  return /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(TextEntryDialog, {
442143
442143
  resetStateKey: step.name,
442144
- title: "OpenAI-compatible setup",
442145
- subtitle: "Step 2 of 3",
442146
- description: `Optionally enter a base URL. Leave blank for ${DEFAULT_OPENAI_BASE_URL}.`,
442144
+ title: "Setup OpenAI-compatível",
442145
+ subtitle: "Passo 2 de 3",
442146
+ description: `Opcionalmente digite uma URL base. Deixa em branco pra ${DEFAULT_OPENAI_BASE_URL}.`,
442147
442147
  initialValue: defaults2.openAIBaseUrl === DEFAULT_OPENAI_BASE_URL ? "" : defaults2.openAIBaseUrl,
442148
442148
  placeholder: DEFAULT_OPENAI_BASE_URL,
442149
442149
  allowEmpty: true,
@@ -442163,9 +442163,9 @@ function ProviderWizard({ onDone }) {
442163
442163
  case "openai-model":
442164
442164
  return /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(TextEntryDialog, {
442165
442165
  resetStateKey: step.name,
442166
- title: "OpenAI-compatible setup",
442167
- subtitle: "Step 3 of 3",
442168
- description: `Enter a model name. Leave blank for ${step.defaultModel}.`,
442166
+ title: "Setup OpenAI-compatível",
442167
+ subtitle: "Passo 3 de 3",
442168
+ description: `Digite um nome de modelo. Deixa em branco pra ${step.defaultModel}.`,
442169
442169
  initialValue: defaults2.openAIModel ?? step.defaultModel,
442170
442170
  placeholder: step.defaultModel,
442171
442171
  allowEmpty: true,
@@ -442190,9 +442190,9 @@ function ProviderWizard({ onDone }) {
442190
442190
  case "gemini-key":
442191
442191
  return /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(TextEntryDialog, {
442192
442192
  resetStateKey: step.name,
442193
- title: "Gemini setup",
442194
- subtitle: "Step 1 of 2",
442195
- description: process.env.GEMINI_API_KEY || process.env.GOOGLE_API_KEY ? "Enter a Gemini API key, or leave this blank to reuse the current GEMINI_API_KEY/GOOGLE_API_KEY from this session." : "Enter a Gemini API key. You can create one at https://aistudio.google.com/apikey.",
442193
+ title: "Setup do Gemini",
442194
+ subtitle: "Passo 1 de 2",
442195
+ description: process.env.GEMINI_API_KEY || process.env.GOOGLE_API_KEY ? "Digite uma chave de API do Gemini, ou deixa em branco pra reusar a GEMINI_API_KEY/GOOGLE_API_KEY atual dessa sessão." : "Digite uma chave de API do Gemini. Você pode criar uma em https://aistudio.google.com/apikey.",
442196
442196
  initialValue: "",
442197
442197
  placeholder: "AIza...",
442198
442198
  mask: "*",
@@ -442206,9 +442206,9 @@ function ProviderWizard({ onDone }) {
442206
442206
  case "gemini-model":
442207
442207
  return /* @__PURE__ */ jsx_dev_runtime297.jsxDEV(TextEntryDialog, {
442208
442208
  resetStateKey: step.name,
442209
- title: "Gemini setup",
442210
- subtitle: "Step 2 of 2",
442211
- description: `Enter a Gemini model name. Leave blank for ${DEFAULT_GEMINI_MODEL}.`,
442209
+ title: "Setup do Gemini",
442210
+ subtitle: "Passo 2 de 2",
442211
+ description: `Digite um nome de modelo do Gemini. Deixa em branco pra ${DEFAULT_GEMINI_MODEL}.`,
442212
442212
  initialValue: defaults2.geminiModel,
442213
442213
  placeholder: DEFAULT_GEMINI_MODEL,
442214
442214
  allowEmpty: true,
@@ -442272,7 +442272,7 @@ var init_provider2 = __esm(() => {
442272
442272
  provider_default = {
442273
442273
  type: "local-jsx",
442274
442274
  name: "provider",
442275
- description: "Set up and save a third-party provider profile for OpenClaude",
442275
+ description: "Configure e salve o perfil do seu provedor de IA",
442276
442276
  get immediate() {
442277
442277
  return shouldInferenceConfigCommandBeImmediate();
442278
442278
  },
@@ -451210,7 +451210,7 @@ var init_bridge_kick = __esm(() => {
451210
451210
  var call58 = async () => {
451211
451211
  return {
451212
451212
  type: "text",
451213
- value: `${"99.0.0"} (built ${"2026-04-04T05:07:12.634Z"})`
451213
+ value: `${"99.0.0"} (built ${"2026-04-04T17:18:59.991Z"})`
451214
451214
  };
451215
451215
  }, version2, version_default;
451216
451216
  var init_version = __esm(() => {
@@ -470876,8 +470876,7 @@ function prependBullets(items) {
470876
470876
  return items.flatMap((item) => Array.isArray(item) ? item.map((subitem) => ` - ${subitem}`) : [` - ${item}`]);
470877
470877
  }
470878
470878
  function getSimpleIntroSection(outputStyleConfig) {
470879
- return `
470880
- You are Claudinho, an AI coding assistant powered by OpenClaude. You are NOT Claude Code from Anthropic - you are an independent agent modified by Luciano Gomes that works with multiple AI models.
470879
+ return `You are Claudinho, an AI coding assistant.
470881
470880
  ${outputStyleConfig !== null ? 'According to your "Output Style" below, which describes how you should respond to user queries, use the instructions below and the tools available to you to assist the user.' : "Use the instructions below and the tools available to you to assist the user with software engineering tasks."}
470882
470881
 
470883
470882
  ${getPersonalitySection()}
@@ -497615,13 +497614,7 @@ function getNextPermissionMode(toolPermissionContext, _teamContext) {
497615
497614
  case "acceptEdits":
497616
497615
  return "plan";
497617
497616
  case "plan":
497618
- if (toolPermissionContext.isBypassPermissionsModeAvailable) {
497619
- return "bypassPermissions";
497620
- }
497621
- if (canCycleToAuto(toolPermissionContext)) {
497622
- return "auto";
497623
- }
497624
- return "default";
497617
+ return "bypassPermissions";
497625
497618
  case "bypassPermissions":
497626
497619
  if (canCycleToAuto(toolPermissionContext)) {
497627
497620
  return "auto";
@@ -502831,10 +502824,10 @@ function usePromptInputPlaceholder({
502831
502824
  }
502832
502825
  if (viewingAgentName) {
502833
502826
  const displayName = viewingAgentName.length > MAX_TEAMMATE_NAME_LENGTH ? viewingAgentName.slice(0, MAX_TEAMMATE_NAME_LENGTH - 3) + "..." : viewingAgentName;
502834
- return `Message @${displayName}…`;
502827
+ return `Mensagem pra @${displayName}…`;
502835
502828
  }
502836
502829
  if (queuedCommands.some(isQueuedCommandEditable) && (getGlobalConfig().queuedCommandUpHintCount || 0) < NUM_TIMES_QUEUE_HINT_SHOWN) {
502837
- return "Press up to edit queued messages";
502830
+ return "Pressione pra editar mensagens na fila";
502838
502831
  }
502839
502832
  if (submitCount < 1 && promptSuggestionEnabled && !proactiveModule4?.isProactiveActive()) {
502840
502833
  return getExampleCommandFromCache();
@@ -503964,6 +503957,14 @@ function PromptInput({
503964
503957
  let isEnteringAutoModeFirstTime = false;
503965
503958
  if (false) {}
503966
503959
  if (false) {}
503960
+ if (nextMode === "bypassPermissions" && toolPermissionContext.mode !== "bypassPermissions") {
503961
+ console.warn(`
503962
+ ⚠️ MODO PULAR PERMISSÕES ATIVADO ⚠️`);
503963
+ console.warn("O Claudinho vai executar TODAS as ações sem perguntar.");
503964
+ console.warn("Use apenas em ambientes de teste isolados!");
503965
+ console.warn(`Aperte Shift+Tab novamente pra voltar ao modo padrão.
503966
+ `);
503967
+ }
503967
503968
  if (false) {}
503968
503969
  const {
503969
503970
  context: preparedContext
@@ -513867,6 +513868,85 @@ var init_pt_BR = __esm(() => {
513867
513868
  "auth-required": "Sessões web do Claudinho requerem autenticação com uma conta Claude.ai",
513868
513869
  "run-status": "Execute /status no Claudinho para verificar sua conta"
513869
513870
  },
513871
+ config: {
513872
+ title: "Configurações",
513873
+ "search-placeholder": "Buscar configurações...",
513874
+ "auto-compact": "Auto-compactar",
513875
+ "show-tips": "Mostrar dicas",
513876
+ "reduce-motion": "Reduzir movimento",
513877
+ "thinking-mode": "Modo pensamento",
513878
+ "fast-mode": "Modo rápido",
513879
+ "prompt-suggestions": "Sugestões de prompt",
513880
+ "speculative-execution": "Execução especulativa",
513881
+ "rewind-code": "Rebobinar código (checkpoints)",
513882
+ "verbose-output": "Saída detalhada",
513883
+ "terminal-progress-bar": "Barra de progresso no terminal",
513884
+ "show-status-in-terminal-tab": "Mostrar status na aba do terminal",
513885
+ "show-turn-duration": "Mostrar duração do turno",
513886
+ "default-permission-mode": "Modo de permissão padrão",
513887
+ "use-auto-mode-during-plan": "Usar modo automático durante planejamento",
513888
+ "respect-gitignore": "Respeitar .gitignore no seletor de arquivos",
513889
+ "always-copy-full-response": "Sempre copiar resposta completa (pular seletor /copy)",
513890
+ "copy-on-select": "Copiar ao selecionar",
513891
+ "auto-update-channel": "Canal de atualização automática",
513892
+ theme: "Tema",
513893
+ "local-notifications": "Notificações locais",
513894
+ notifications: "Notificações",
513895
+ "push-when-idle": "Notificar quando ocioso",
513896
+ "push-when-input-needed": "Notificar quando precisar de entrada",
513897
+ "push-when-claude-decides": "Notificar quando o Claudinho decidir",
513898
+ "output-style": "Estilo de saída",
513899
+ "default-view": "O que você vê por padrão",
513900
+ language: "Idioma",
513901
+ model: "Modelo",
513902
+ "teammate-model": "Modelo do colega de equipe",
513903
+ "external-includes": "Inclusões externas",
513904
+ enabled: "Ativado",
513905
+ disabled: "Desativado",
513906
+ on: "Ligado",
513907
+ off: "Desligado",
513908
+ auto: "Automático",
513909
+ default: "Padrão",
513910
+ transcript: "Transcrição",
513911
+ chat: "Chat",
513912
+ latest: "Mais recente",
513913
+ stable: "Estável",
513914
+ beta: "Beta",
513915
+ iterm2: "iTerm2",
513916
+ terminal_bell: "Sino do terminal",
513917
+ iterm2_with_bell: "iTerm2 com sino",
513918
+ kitty: "Kitty",
513919
+ ghostty: "Ghostty",
513920
+ notifications_disabled: "Notificações desativadas"
513921
+ },
513922
+ provider: {
513923
+ title: "Configurar Provedor",
513924
+ "choose-provider": "Escolha um provedor",
513925
+ "auto-detect": "Detectar automaticamente",
513926
+ openai: "OpenAI",
513927
+ gemini: "Google Gemini",
513928
+ ollama: "Ollama (local)",
513929
+ codex: "Codex",
513930
+ anthropic: "Anthropic",
513931
+ "clear-config": "Limpar configuração",
513932
+ "enter-api-key": "Digite sua chave de API",
513933
+ "enter-base-url": "Digite a URL base (opcional)",
513934
+ "choose-model": "Escolha um modelo",
513935
+ detecting: "Detectando...",
513936
+ checking: "Verificando...",
513937
+ "api-key-required": "Chave de API é obrigatória",
513938
+ "invalid-url": "URL inválida",
513939
+ "detection-failed": "Falha na detecção",
513940
+ "no-models-found": "Nenhum modelo encontrado",
513941
+ "saved-successfully": "Configuração salva com sucesso",
513942
+ "cleared-successfully": "Configuração limpa com sucesso",
513943
+ "current-provider": "Provedor atual",
513944
+ "current-model": "Modelo atual",
513945
+ "current-endpoint": "Endpoint atual",
513946
+ "saved-profile": "Perfil salvo",
513947
+ "not-set": "(não configurado)",
513948
+ none: "nenhum"
513949
+ },
513870
513950
  keyboardActions: {
513871
513951
  expand: "expandir",
513872
513952
  manage: "gerenciar",
@@ -513921,8 +514001,8 @@ var init_pt_BR = __esm(() => {
513921
514001
  tips: {
513922
514002
  "new-user-warmup": "Comece com features pequenas ou correções de bugs, peça pra eu propor um plano, e verifique as edições sugeridas",
513923
514003
  "plan-mode-for-complex-tasks": "Use o Modo Planejamento pra preparar uma solicitação complexa antes de fazer mudanças. Pressione {{shortcut}} duas vezes pra ativar.",
513924
- "shift-tab-ant": "Aperte {{shortcut}} pra alternar entre modo padrão e modo automático",
513925
- "shift-tab-external": "Aperte {{shortcut}} pra alternar entre modo padrão, modo auto-aceitar edições e modo planejamento",
514004
+ "shift-tab-ant": "Aperte {{shortcut}} pra alternar entre os modos",
514005
+ "shift-tab-external": "Aperte {{shortcut}} pra alternar entre modo padrão, aceitar edições, planejamento e pular permissões (⚠️ perigoso)",
513926
514006
  "default-permission-mode-config": "Use /config pra mudar seu modo de permissão padrão (incluindo Modo Planejamento)",
513927
514007
  "git-worktrees": "Use git worktrees pra rodar múltiplas sessões do Claude em paralelo.",
513928
514008
  "color-when-multi-clauding": "Rodando várias sessões do Claude? Use /color e /rename pra diferenciá-las rapidinho.",
@@ -513952,8 +514032,8 @@ var init_pt_BR = __esm(() => {
513952
514032
  continue: "Execute claudinho --continue ou claudinho --resume pra retomar uma conversa",
513953
514033
  "rename-conversation": "Nomeie suas conversas com /rename pra encontrá-las facilmente no /resume depois",
513954
514034
  "custom-commands": "Crie skills adicionando arquivos .md em .claude/skills/ no seu projeto ou ~/.claude/skills/ pra skills que funcionam em qualquer projeto",
513955
- "shift-tab-ant": "Aperte {{shortcut}} pra alternar entre modo padrão e modo automático",
513956
- "shift-tab-external": "Aperte {{shortcut}} pra alternar entre modo padrão, modo auto-aceitar edições e modo planejamento",
514035
+ "shift-tab-ant": "Aperte {{shortcut}} pra alternar entre os modos",
514036
+ "shift-tab-external": "Aperte {{shortcut}} pra alternar entre modo padrão, aceitar edições, planejamento e pular permissões (⚠️ perigoso)",
513957
514037
  "image-paste": "Use {{shortcut}} pra colar imagens da sua área de transferência",
513958
514038
  "custom-agents": "Use /agents pra otimizar tarefas específicas. Ex: Arquiteto de Software, Escritor de Código, Revisor de Código",
513959
514039
  "agent-flag": "Use --agent <nome_agente> pra iniciar diretamente uma conversa com um subagente",
@@ -524327,7 +524407,7 @@ function WelcomeV2() {
524327
524407
  /* @__PURE__ */ jsx_dev_runtime467.jsxDEV(ThemedText, {
524328
524408
  color: "claude",
524329
524409
  children: [
524330
- "Welcome to Open Claude",
524410
+ "Bem-vindo ao Claudinho",
524331
524411
  " "
524332
524412
  ]
524333
524413
  }, undefined, true, undefined, this),
@@ -524335,7 +524415,7 @@ function WelcomeV2() {
524335
524415
  dimColor: true,
524336
524416
  children: [
524337
524417
  "v",
524338
- "0.1.7",
524418
+ "0.1.10",
524339
524419
  " "
524340
524420
  ]
524341
524421
  }, undefined, true, undefined, this)
@@ -524527,7 +524607,7 @@ function WelcomeV2() {
524527
524607
  /* @__PURE__ */ jsx_dev_runtime467.jsxDEV(ThemedText, {
524528
524608
  color: "claude",
524529
524609
  children: [
524530
- "Welcome to Open Claude",
524610
+ "Bem-vindo ao Claudinho",
524531
524611
  " "
524532
524612
  ]
524533
524613
  }, undefined, true, undefined, this),
@@ -524535,7 +524615,7 @@ function WelcomeV2() {
524535
524615
  dimColor: true,
524536
524616
  children: [
524537
524617
  "v",
524538
- "0.1.7",
524618
+ "0.1.10",
524539
524619
  " "
524540
524620
  ]
524541
524621
  }, undefined, true, undefined, this)
@@ -524761,7 +524841,7 @@ function AppleTerminalWelcomeV2(t0) {
524761
524841
  dimColor: true,
524762
524842
  children: [
524763
524843
  "v",
524764
- "0.1.7",
524844
+ "0.1.10",
524765
524845
  " "
524766
524846
  ]
524767
524847
  }, undefined, true, undefined, this);
@@ -525015,7 +525095,7 @@ function AppleTerminalWelcomeV2(t0) {
525015
525095
  dimColor: true,
525016
525096
  children: [
525017
525097
  "v",
525018
- "0.1.7",
525098
+ "0.1.10",
525019
525099
  " "
525020
525100
  ]
525021
525101
  }, undefined, true, undefined, this);
@@ -545999,7 +546079,7 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
545999
546079
  pendingHookMessages
546000
546080
  }, renderAndRun);
546001
546081
  }
546002
- }).version("0.1.7 (Open Claude)", "-v, --version", "Output the version number");
546082
+ }).version("0.1.10 (Open Claude)", "-v, --version", "Output the version number");
546003
546083
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
546004
546084
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
546005
546085
  if (canUserConfigureAdvisor()) {
@@ -546579,7 +546659,7 @@ function validateProviderEnvOrExit() {
546579
546659
  async function main2() {
546580
546660
  const args = process.argv.slice(2);
546581
546661
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
546582
- console.log(`${"0.1.7"} (Open Claude)`);
546662
+ console.log(`${"0.1.10"} (Open Claude)`);
546583
546663
  return;
546584
546664
  }
546585
546665
  {
@@ -546687,4 +546767,4 @@ async function main2() {
546687
546767
  }
546688
546768
  main2();
546689
546769
 
546690
- //# debugId=D5E4E43319B3DF3A64756E2164756E21
546770
+ //# debugId=97EE9D80B950730E64756E2164756E21