@ainative/cody-cli 0.7.16 → 0.7.18

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.js +416 -250
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -125344,7 +125344,12 @@ async function getOauthProfileFromApiKey() {
125344
125344
  }
125345
125345
  }
125346
125346
  async function getOauthProfileFromOauthToken(accessToken) {
125347
- const endpoint = `${getOauthConfig().BASE_API_URL}/api/oauth/profile`;
125347
+ const baseUrl = getOauthConfig().BASE_API_URL;
125348
+ const isAINative = baseUrl.includes("ainative.studio");
125349
+ if (isAINative) {
125350
+ return getAINativeProfile(baseUrl, accessToken);
125351
+ }
125352
+ const endpoint = `${baseUrl}/api/oauth/profile`;
125348
125353
  try {
125349
125354
  const response = await axios_default.get(endpoint, {
125350
125355
  headers: {
@@ -125358,6 +125363,64 @@ async function getOauthProfileFromOauthToken(accessToken) {
125358
125363
  logError2(error41);
125359
125364
  }
125360
125365
  }
125366
+ async function getAINativeProfile(baseUrl, accessToken) {
125367
+ try {
125368
+ const response = await axios_default.get(`${baseUrl}/api/v1/auth/me`, {
125369
+ headers: {
125370
+ Authorization: `Bearer ${accessToken}`,
125371
+ "Content-Type": "application/json"
125372
+ },
125373
+ timeout: 1e4
125374
+ });
125375
+ const user = response.data?.data;
125376
+ if (!user)
125377
+ return;
125378
+ return {
125379
+ account: {
125380
+ uuid: user.id || crypto.randomUUID(),
125381
+ email: user.email || "",
125382
+ display_name: user.name || undefined,
125383
+ created_at: user.createdAt || new Date().toISOString()
125384
+ },
125385
+ organization: {
125386
+ uuid: user.organizationId || crypto.randomUUID(),
125387
+ name: user.organization || ""
125388
+ }
125389
+ };
125390
+ } catch (error41) {
125391
+ const apiKey = process.env.AINATIVE_API_KEY || process.env.ANTHROPIC_API_KEY;
125392
+ if (apiKey) {
125393
+ try {
125394
+ const response = await axios_default.get(`${baseUrl}/api/v1/auth/me`, {
125395
+ headers: {
125396
+ "x-api-key": apiKey,
125397
+ "Content-Type": "application/json"
125398
+ },
125399
+ timeout: 1e4
125400
+ });
125401
+ const user = response.data?.data;
125402
+ if (!user)
125403
+ return;
125404
+ return {
125405
+ account: {
125406
+ uuid: user.id || crypto.randomUUID(),
125407
+ email: user.email || "",
125408
+ display_name: user.name || undefined,
125409
+ created_at: user.createdAt || new Date().toISOString()
125410
+ },
125411
+ organization: {
125412
+ uuid: user.organizationId || crypto.randomUUID(),
125413
+ name: user.organization || ""
125414
+ }
125415
+ };
125416
+ } catch {
125417
+ logError2(error41);
125418
+ }
125419
+ } else {
125420
+ logError2(error41);
125421
+ }
125422
+ }
125423
+ }
125361
125424
  var init_getOauthProfile = __esm(() => {
125362
125425
  init_axios2();
125363
125426
  init_oauth();
@@ -180961,7 +181024,7 @@ var init_metadata = __esm(() => {
180961
181024
  isClaudeAiAuth: isClaudeAISubscriber(),
180962
181025
  version: "0.7.15",
180963
181026
  versionBase: getVersionBase(),
180964
- buildTime: "1775421369",
181027
+ buildTime: "1775423471",
180965
181028
  deploymentEnvironment: env4.detectDeploymentEnvironment(),
180966
181029
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
180967
181030
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -198219,21 +198282,21 @@ var init_string_width = __esm(() => {
198219
198282
  });
198220
198283
 
198221
198284
  // node_modules/wrap-ansi/index.js
198222
- function wrapAnsi(string4, columns, options) {
198285
+ function wrapAnsi(string4, columns2, options) {
198223
198286
  return String(string4).normalize().replaceAll(`\r
198224
198287
  `, `
198225
198288
  `).split(`
198226
- `).map((line) => exec2(line, columns, options)).join(`
198289
+ `).map((line) => exec2(line, columns2, options)).join(`
198227
198290
  `);
198228
198291
  }
198229
- var ESCAPES2, END_CODE = 39, ANSI_ESCAPE_BELL = "\x07", ANSI_CSI = "[", ANSI_OSC = "]", ANSI_SGR_TERMINATOR = "m", ANSI_ESCAPE_LINK, wrapAnsiCode = (code) => `${ESCAPES2.values().next().value}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`, wrapAnsiHyperlink = (url3) => `${ESCAPES2.values().next().value}${ANSI_ESCAPE_LINK}${url3}${ANSI_ESCAPE_BELL}`, wordLengths = (string4) => string4.split(" ").map((character) => stringWidth2(character)), wrapWord = (rows, word, columns) => {
198292
+ var ESCAPES2, END_CODE = 39, ANSI_ESCAPE_BELL = "\x07", ANSI_CSI = "[", ANSI_OSC = "]", ANSI_SGR_TERMINATOR = "m", ANSI_ESCAPE_LINK, wrapAnsiCode = (code) => `${ESCAPES2.values().next().value}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`, wrapAnsiHyperlink = (url3) => `${ESCAPES2.values().next().value}${ANSI_ESCAPE_LINK}${url3}${ANSI_ESCAPE_BELL}`, wordLengths = (string4) => string4.split(" ").map((character) => stringWidth2(character)), wrapWord = (rows, word, columns2) => {
198230
198293
  const characters = [...word];
198231
198294
  let isInsideEscape = false;
198232
198295
  let isInsideLinkEscape = false;
198233
198296
  let visible = stringWidth2(stripAnsi(rows.at(-1)));
198234
198297
  for (const [index, character] of characters.entries()) {
198235
198298
  const characterLength = stringWidth2(character);
198236
- if (visible + characterLength <= columns) {
198299
+ if (visible + characterLength <= columns2) {
198237
198300
  rows[rows.length - 1] += character;
198238
198301
  } else {
198239
198302
  rows.push(character);
@@ -198256,7 +198319,7 @@ var ESCAPES2, END_CODE = 39, ANSI_ESCAPE_BELL = "\x07", ANSI_CSI = "[", ANSI_OSC
198256
198319
  continue;
198257
198320
  }
198258
198321
  visible += characterLength;
198259
- if (visible === columns && index < characters.length - 1) {
198322
+ if (visible === columns2 && index < characters.length - 1) {
198260
198323
  rows.push("");
198261
198324
  visible = 0;
198262
198325
  }
@@ -198277,7 +198340,7 @@ var ESCAPES2, END_CODE = 39, ANSI_ESCAPE_BELL = "\x07", ANSI_CSI = "[", ANSI_OSC
198277
198340
  return string4;
198278
198341
  }
198279
198342
  return words.slice(0, last).join(" ") + words.slice(last).join("");
198280
- }, exec2 = (string4, columns, options = {}) => {
198343
+ }, exec2 = (string4, columns2, options = {}) => {
198281
198344
  if (options.trim !== false && string4.trim() === "") {
198282
198345
  return "";
198283
198346
  }
@@ -198292,7 +198355,7 @@ var ESCAPES2, END_CODE = 39, ANSI_ESCAPE_BELL = "\x07", ANSI_CSI = "[", ANSI_OSC
198292
198355
  }
198293
198356
  let rowLength = stringWidth2(rows.at(-1));
198294
198357
  if (index !== 0) {
198295
- if (rowLength >= columns && (options.wordWrap === false || options.trim === false)) {
198358
+ if (rowLength >= columns2 && (options.wordWrap === false || options.trim === false)) {
198296
198359
  rows.push("");
198297
198360
  rowLength = 0;
198298
198361
  }
@@ -198301,25 +198364,25 @@ var ESCAPES2, END_CODE = 39, ANSI_ESCAPE_BELL = "\x07", ANSI_CSI = "[", ANSI_OSC
198301
198364
  rowLength++;
198302
198365
  }
198303
198366
  }
198304
- if (options.hard && lengths[index] > columns) {
198305
- const remainingColumns = columns - rowLength;
198306
- const breaksStartingThisLine = 1 + Math.floor((lengths[index] - remainingColumns - 1) / columns);
198307
- const breaksStartingNextLine = Math.floor((lengths[index] - 1) / columns);
198367
+ if (options.hard && lengths[index] > columns2) {
198368
+ const remainingColumns = columns2 - rowLength;
198369
+ const breaksStartingThisLine = 1 + Math.floor((lengths[index] - remainingColumns - 1) / columns2);
198370
+ const breaksStartingNextLine = Math.floor((lengths[index] - 1) / columns2);
198308
198371
  if (breaksStartingNextLine < breaksStartingThisLine) {
198309
198372
  rows.push("");
198310
198373
  }
198311
- wrapWord(rows, word, columns);
198374
+ wrapWord(rows, word, columns2);
198312
198375
  continue;
198313
198376
  }
198314
- if (rowLength + lengths[index] > columns && rowLength > 0 && lengths[index] > 0) {
198315
- if (options.wordWrap === false && rowLength < columns) {
198316
- wrapWord(rows, word, columns);
198377
+ if (rowLength + lengths[index] > columns2 && rowLength > 0 && lengths[index] > 0) {
198378
+ if (options.wordWrap === false && rowLength < columns2) {
198379
+ wrapWord(rows, word, columns2);
198317
198380
  continue;
198318
198381
  }
198319
198382
  rows.push("");
198320
198383
  }
198321
- if (rowLength + lengths[index] > columns && options.wordWrap === false) {
198322
- wrapWord(rows, word, columns);
198384
+ if (rowLength + lengths[index] > columns2 && options.wordWrap === false) {
198385
+ wrapWord(rows, word, columns2);
198323
198386
  continue;
198324
198387
  }
198325
198388
  rows[rows.length - 1] += word;
@@ -198388,22 +198451,22 @@ function sliceFit(text, start, end) {
198388
198451
  const s = sliceAnsi(text, start, end);
198389
198452
  return stringWidth(s) > end - start ? sliceAnsi(text, start, end - 1) : s;
198390
198453
  }
198391
- function truncate2(text, columns, position) {
198392
- if (columns < 1)
198454
+ function truncate2(text, columns2, position) {
198455
+ if (columns2 < 1)
198393
198456
  return "";
198394
- if (columns === 1)
198457
+ if (columns2 === 1)
198395
198458
  return ELLIPSIS;
198396
198459
  const length = stringWidth(text);
198397
- if (length <= columns)
198460
+ if (length <= columns2)
198398
198461
  return text;
198399
198462
  if (position === "start") {
198400
- return ELLIPSIS + sliceFit(text, length - columns + 1, length);
198463
+ return ELLIPSIS + sliceFit(text, length - columns2 + 1, length);
198401
198464
  }
198402
198465
  if (position === "middle") {
198403
- const half = Math.floor(columns / 2);
198404
- return sliceFit(text, 0, half) + ELLIPSIS + sliceFit(text, length - (columns - half) + 1, length);
198466
+ const half = Math.floor(columns2 / 2);
198467
+ return sliceFit(text, 0, half) + ELLIPSIS + sliceFit(text, length - (columns2 - half) + 1, length);
198405
198468
  }
198406
- return sliceFit(text, 0, columns - 1) + ELLIPSIS;
198469
+ return sliceFit(text, 0, columns2 - 1) + ELLIPSIS;
198407
198470
  }
198408
198471
  function wrapText2(text, maxWidth, wrapType) {
198409
198472
  if (wrapType === "wrap") {
@@ -202934,10 +202997,10 @@ var init_keyboard_event = __esm(() => {
202934
202997
  });
202935
202998
 
202936
202999
  // src/ink/frame.ts
202937
- function emptyFrame(rows, columns, stylePool, charPool, hyperlinkPool) {
203000
+ function emptyFrame(rows, columns2, stylePool, charPool, hyperlinkPool) {
202938
203001
  return {
202939
203002
  screen: createScreen(0, 0, stylePool, charPool, hyperlinkPool),
202940
- viewport: { width: columns, height: rows },
203003
+ viewport: { width: columns2, height: rows },
202941
203004
  cursor: { x: 0, y: 0, visible: true }
202942
203005
  };
202943
203006
  }
@@ -270110,13 +270173,13 @@ function OutputLine(t0) {
270110
270173
  linkifyUrls
270111
270174
  } = t0;
270112
270175
  const {
270113
- columns
270176
+ columns: columns2
270114
270177
  } = useTerminalSize();
270115
270178
  const expandShellOutput = useExpandShellOutput();
270116
270179
  const inVirtualList = React16.useContext(InVirtualListContext);
270117
270180
  const shouldShowFull = verbose || expandShellOutput;
270118
270181
  let t1;
270119
- if ($3[0] !== columns || $3[1] !== content || $3[2] !== inVirtualList || $3[3] !== linkifyUrls || $3[4] !== shouldShowFull) {
270182
+ if ($3[0] !== columns2 || $3[1] !== content || $3[2] !== inVirtualList || $3[3] !== linkifyUrls || $3[4] !== shouldShowFull) {
270120
270183
  bb0: {
270121
270184
  let formatted = tryJsonFormatContent(content);
270122
270185
  if (linkifyUrls) {
@@ -270126,9 +270189,9 @@ function OutputLine(t0) {
270126
270189
  t1 = stripUnderlineAnsi(formatted);
270127
270190
  break bb0;
270128
270191
  }
270129
- t1 = stripUnderlineAnsi(renderTruncatedContent(formatted, columns, inVirtualList));
270192
+ t1 = stripUnderlineAnsi(renderTruncatedContent(formatted, columns2, inVirtualList));
270130
270193
  }
270131
- $3[0] = columns;
270194
+ $3[0] = columns2;
270132
270195
  $3[1] = content;
270133
270196
  $3[2] = inVirtualList;
270134
270197
  $3[3] = linkifyUrls;
@@ -336406,13 +336469,13 @@ async function installOAuthTokens(tokens) {
336406
336469
  organizationUuid: tokens.tokenAccount.organizationUuid
336407
336470
  });
336408
336471
  } else if (isAINative) {
336409
- const email3 = process.env.AINATIVE_USERNAME || process.env.USER_EMAIL || "user@ainative.studio";
336472
+ const { randomUUID: randomUUID10 } = await import("crypto");
336410
336473
  storeOAuthAccountInfo({
336411
- accountUuid: tokens.accessToken.substring(0, 36),
336412
- emailAddress: email3,
336474
+ accountUuid: randomUUID10(),
336475
+ emailAddress: "",
336413
336476
  organizationUuid: undefined
336414
336477
  });
336415
- logForDebugging(`[AINative] Stored fallback account info for ${email3}`);
336478
+ logForDebugging("[AINative] Stored fallback account info (no profile available)");
336416
336479
  }
336417
336480
  const storageResult = saveOAuthTokensIfNeeded(tokens);
336418
336481
  clearOAuthTokenCache();
@@ -336483,8 +336546,8 @@ async function authLogin({
336483
336546
  const envScopes = process.env.CLAUDE_CODE_OAUTH_SCOPES;
336484
336547
  if (!envScopes) {
336485
336548
  process.stderr.write(`CLAUDE_CODE_OAUTH_SCOPES is required when using CLAUDE_CODE_OAUTH_REFRESH_TOKEN.
336486
- ` + `Set it to the space-separated scopes the refresh token was issued with
336487
- ` + `(e.g. "user:inference" or "user:profile user:inference user:sessions:claude_code user:mcp_servers").
336549
+ Set it to the space-separated scopes the refresh token was issued with
336550
+ (e.g. "user:inference" or "user:profile user:inference user:sessions:claude_code user:mcp_servers").
336488
336551
  `);
336489
336552
  process.exit(1);
336490
336553
  }
@@ -337627,7 +337690,7 @@ function TaskListV2({
337627
337690
  const [, forceUpdate] = React22.useState(0);
337628
337691
  const {
337629
337692
  rows,
337630
- columns
337693
+ columns: columns2
337631
337694
  } = useTerminalSize();
337632
337695
  const completionTimestampsRef = React22.useRef(new Map);
337633
337696
  const previousCompletedIdsRef = React22.useRef(null);
@@ -337760,7 +337823,7 @@ function TaskListV2({
337760
337823
  openBlockers: task_0.blockedBy.filter((id_3) => unresolvedTaskIds.has(id_3)),
337761
337824
  activity: task_0.owner ? teammateActivity[task_0.owner] : undefined,
337762
337825
  ownerActive: task_0.owner ? activeTeammates.has(task_0.owner) : false,
337763
- columns
337826
+ columns: columns2
337764
337827
  }, task_0.id, false, undefined, this)),
337765
337828
  maxDisplay > 0 && hiddenSummary && /* @__PURE__ */ jsx_dev_runtime62.jsxDEV(ThemedText, {
337766
337829
  dimColor: true,
@@ -337841,7 +337904,7 @@ function TaskItem(t0) {
337841
337904
  openBlockers,
337842
337905
  activity,
337843
337906
  ownerActive,
337844
- columns
337907
+ columns: columns2
337845
337908
  } = t0;
337846
337909
  const isCompleted = task.status === "completed";
337847
337910
  const isInProgress = task.status === "in_progress";
@@ -337859,7 +337922,7 @@ function TaskItem(t0) {
337859
337922
  color: color2
337860
337923
  } = t1;
337861
337924
  const showActivity = isInProgress && !isBlocked && activity;
337862
- const showOwner = columns >= 60 && task.owner && ownerActive;
337925
+ const showOwner = columns2 >= 60 && task.owner && ownerActive;
337863
337926
  let t2;
337864
337927
  if ($3[2] !== showOwner || $3[3] !== task.owner) {
337865
337928
  t2 = showOwner ? stringWidth(` (@${task.owner})`) : 0;
@@ -337870,7 +337933,7 @@ function TaskItem(t0) {
337870
337933
  t2 = $3[4];
337871
337934
  }
337872
337935
  const ownerWidth = t2;
337873
- const maxSubjectWidth = Math.max(15, columns - 15 - ownerWidth);
337936
+ const maxSubjectWidth = Math.max(15, columns2 - 15 - ownerWidth);
337874
337937
  let t3;
337875
337938
  if ($3[5] !== maxSubjectWidth || $3[6] !== task.subject) {
337876
337939
  t3 = truncateToWidth(task.subject, maxSubjectWidth);
@@ -337881,7 +337944,7 @@ function TaskItem(t0) {
337881
337944
  t3 = $3[7];
337882
337945
  }
337883
337946
  const displaySubject = t3;
337884
- const maxActivityWidth = Math.max(15, columns - 15);
337947
+ const maxActivityWidth = Math.max(15, columns2 - 15);
337885
337948
  let t4;
337886
337949
  if ($3[8] !== activity || $3[9] !== maxActivityWidth) {
337887
337950
  t4 = activity ? truncateToWidth(activity, maxActivityWidth) : undefined;
@@ -338928,7 +338991,7 @@ function SpinnerAnimationRow({
338928
338991
  pauseStartTimeRef,
338929
338992
  spinnerSuffix,
338930
338993
  verbose,
338931
- columns,
338994
+ columns: columns2,
338932
338995
  hasRunningTeammates,
338933
338996
  teammateTokens,
338934
338997
  foregroundedTeammate,
@@ -338988,7 +339051,7 @@ function SpinnerAnimationRow({
338988
339051
  const sep11 = SEP_WIDTH;
338989
339052
  const wantsThinking = thinkingStatus !== null;
338990
339053
  const wantsTimerAndTokens = verbose || hasRunningTeammates || effectiveElapsedMs > SHOW_TOKENS_AFTER_MS;
338991
- const availableSpace = columns - messageWidth - 5;
339054
+ const availableSpace = columns2 - messageWidth - 5;
338992
339055
  let showThinking = wantsThinking && availableSpace > thinkingWidthValue;
338993
339056
  if (!showThinking && wantsThinking && thinkingStatus === "thinking" && effortSuffix) {
338994
339057
  if (availableSpace > THINKING_BARE_WIDTH) {
@@ -343169,7 +343232,7 @@ function TeammateSpinnerLine({
343169
343232
  const treeChar = isHighlighted ? isLast ? "╘═" : "╞═" : isLast ? "└─" : "├─";
343170
343233
  const nameColor = toInkColor(teammate.identity.color);
343171
343234
  const {
343172
- columns
343235
+ columns: columns2
343173
343236
  } = useTerminalSize();
343174
343237
  const idleStartRef = import_react57.useRef(null);
343175
343238
  const frozenDurationRef = import_react57.useRef(null);
@@ -343200,10 +343263,10 @@ function TeammateSpinnerLine({
343200
343263
  const viewHintText = " · enter to view";
343201
343264
  const viewHintWidth = stringWidth(viewHintText);
343202
343265
  const minActivityWidth = 25;
343203
- const spaceWithFullName = columns - basePrefix - fullNameWidth - 2;
343204
- const showName = columns >= 60 && spaceWithFullName >= minActivityWidth;
343266
+ const spaceWithFullName = columns2 - basePrefix - fullNameWidth - 2;
343267
+ const showName = columns2 >= 60 && spaceWithFullName >= minActivityWidth;
343205
343268
  const nameWidth = showName ? fullNameWidth + 2 : 0;
343206
- const availableForActivity = columns - basePrefix - nameWidth;
343269
+ const availableForActivity = columns2 - basePrefix - nameWidth;
343207
343270
  const showViewHint = isSelected && !isForegrounded && availableForActivity > viewHintWidth + statsWidth + minActivityWidth + 5;
343208
343271
  const showSelectHint = isHighlighted && availableForActivity > selectHintWidth + (showViewHint ? viewHintWidth : 0) + statsWidth + minActivityWidth + 5;
343209
343272
  const showStats = availableForActivity > statsWidth + minActivityWidth + 5;
@@ -343763,7 +343826,7 @@ function SpinnerWithVerbInner({
343763
343826
  tasks
343764
343827
  }) : undefined;
343765
343828
  const {
343766
- columns
343829
+ columns: columns2
343767
343830
  } = useTerminalSize();
343768
343831
  const tasksV2 = useTasksV2();
343769
343832
  const [thinkingStatus, setThinkingStatus] = import_react58.useState(null);
@@ -343918,7 +343981,7 @@ function SpinnerWithVerbInner({
343918
343981
  pauseStartTimeRef,
343919
343982
  spinnerSuffix,
343920
343983
  verbose,
343921
- columns,
343984
+ columns: columns2,
343922
343985
  hasRunningTeammates,
343923
343986
  teammateTokens,
343924
343987
  foregroundedTeammate,
@@ -343967,7 +344030,7 @@ function BriefIdleStatus() {
343967
344030
  const connStatus = useAppState(_temp73);
343968
344031
  const runningCount = useAppState(_temp82);
343969
344032
  const {
343970
- columns
344033
+ columns: columns2
343971
344034
  } = useTerminalSize();
343972
344035
  const showConnWarning = connStatus === "reconnecting" || connStatus === "disconnected";
343973
344036
  const connText = connStatus === "reconnecting" ? "Reconnecting…" : "Disconnected";
@@ -343985,7 +344048,7 @@ function BriefIdleStatus() {
343985
344048
  }
343986
344049
  return t02;
343987
344050
  }
343988
- const pad = Math.max(1, columns - 2 - stringWidth(leftText) - stringWidth(rightText));
344051
+ const pad = Math.max(1, columns2 - 2 - stringWidth(leftText) - stringWidth(rightText));
343989
344052
  let t0;
343990
344053
  if ($3[1] !== leftText) {
343991
344054
  t0 = leftText ? /* @__PURE__ */ jsx_dev_runtime70.jsxDEV(ThemedText, {
@@ -344183,6 +344246,8 @@ function ConsoleOAuthFlow({
344183
344246
  };
344184
344247
  });
344185
344248
  const [pastedCode, setPastedCode] = import_react59.useState("");
344249
+ const [apiKeyInput2, setApiKeyInput2] = import_react59.useState("");
344250
+ const [apiKeyCursorOffset2, setApiKeyCursorOffset2] = import_react59.useState(0);
344186
344251
  const [cursorOffset, setCursorOffset] = import_react59.useState(0);
344187
344252
  const [oauthService] = import_react59.useState(() => new OAuthService);
344188
344253
  const [loginWithClaudeAi, setLoginWithClaudeAi] = import_react59.useState(() => {
@@ -344485,7 +344550,7 @@ function OAuthStatusMessage(t0) {
344485
344550
  } = t0;
344486
344551
  switch (oauthStatus.state) {
344487
344552
  case "idle": {
344488
- const t1 = startingMessage ? startingMessage : "Cody CLI can be used with your AINative subscription or billed based on API usage through your AINative Console account.";
344553
+ const t1 = startingMessage ? startingMessage : "Sign in to Cody CLI with your AINative account.";
344489
344554
  let t2;
344490
344555
  if ($3[0] !== t1) {
344491
344556
  t2 = /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
@@ -344511,13 +344576,12 @@ function OAuthStatusMessage(t0) {
344511
344576
  t4 = {
344512
344577
  label: /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
344513
344578
  children: [
344514
- "AINative account with subscription ·",
344579
+ "AINative OAuth login ·",
344515
344580
  " ",
344516
344581
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
344517
344582
  dimColor: true,
344518
- children: "Pro, Team, or Enterprise"
344583
+ children: "Sign in via browser"
344519
344584
  }, undefined, false, undefined, this),
344520
- false,
344521
344585
  `
344522
344586
  `
344523
344587
  ]
@@ -344533,17 +344597,17 @@ function OAuthStatusMessage(t0) {
344533
344597
  t5 = {
344534
344598
  label: /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
344535
344599
  children: [
344536
- "AINative Console account ·",
344600
+ "AINative API key ·",
344537
344601
  " ",
344538
344602
  /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
344539
344603
  dimColor: true,
344540
- children: "API usage billing"
344604
+ children: "Paste your sk_ key"
344541
344605
  }, undefined, false, undefined, this),
344542
344606
  `
344543
344607
  `
344544
344608
  ]
344545
344609
  }, undefined, true, undefined, this),
344546
- value: "console"
344610
+ value: "apikey"
344547
344611
  };
344548
344612
  $3[4] = t5;
344549
344613
  } else {
@@ -344581,17 +344645,17 @@ function OAuthStatusMessage(t0) {
344581
344645
  setOAuthStatus({
344582
344646
  state: "platform_setup"
344583
344647
  });
344648
+ } else if (value_0 === "apikey") {
344649
+ logEvent("tengu_oauth_apikey_selected", {});
344650
+ setOAuthStatus({
344651
+ state: "api_key_input"
344652
+ });
344584
344653
  } else {
344585
344654
  setOAuthStatus({
344586
344655
  state: "ready_to_start"
344587
344656
  });
344588
- if (value_0 === "claudeai") {
344589
- logEvent("tengu_oauth_claudeai_selected", {});
344590
- setLoginWithClaudeAi(true);
344591
- } else {
344592
- logEvent("tengu_oauth_console_selected", {});
344593
- setLoginWithClaudeAi(false);
344594
- }
344657
+ logEvent("tengu_oauth_claudeai_selected", {});
344658
+ setLoginWithClaudeAi(true);
344595
344659
  }
344596
344660
  }
344597
344661
  }, undefined, false, undefined, this)
@@ -344754,6 +344818,93 @@ function OAuthStatusMessage(t0) {
344754
344818
  }
344755
344819
  return t8;
344756
344820
  }
344821
+ case "api_key_input": {
344822
+ const apiKeyColumns = columns - 22;
344823
+ return /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedBox_default, {
344824
+ flexDirection: "column",
344825
+ gap: 1,
344826
+ marginTop: 1,
344827
+ children: [
344828
+ /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
344829
+ bold: true,
344830
+ children: "Enter your AINative API key"
344831
+ }, undefined, false, undefined, this),
344832
+ /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
344833
+ dimColor: true,
344834
+ children: "Paste your sk_ prefixed API key below."
344835
+ }, undefined, false, undefined, this),
344836
+ /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedBox_default, {
344837
+ children: [
344838
+ /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
344839
+ children: "API key: "
344840
+ }, undefined, false, undefined, this),
344841
+ /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(TextInput, {
344842
+ value: apiKeyInput,
344843
+ onChange: setApiKeyInput,
344844
+ onSubmit: async (value) => {
344845
+ const key = value.trim();
344846
+ if (!key)
344847
+ return;
344848
+ if (!key.startsWith("sk_")) {
344849
+ setOAuthStatus({
344850
+ state: "error",
344851
+ message: "Invalid API key. AINative API keys start with sk_",
344852
+ toRetry: { state: "api_key_input" }
344853
+ });
344854
+ return;
344855
+ }
344856
+ const normalized = key.slice(-20);
344857
+ saveGlobalConfig((current) => {
344858
+ const approved = current.customApiKeyResponses?.approved ?? [];
344859
+ if (!approved.includes(normalized)) {
344860
+ approved.push(normalized);
344861
+ }
344862
+ return {
344863
+ ...current,
344864
+ customApiKeyResponses: {
344865
+ ...current.customApiKeyResponses,
344866
+ approved,
344867
+ rejected: (current.customApiKeyResponses?.rejected ?? []).filter((r) => r !== normalized)
344868
+ },
344869
+ ainativeSubscriptionCache: {
344870
+ planId: "api",
344871
+ planName: "API",
344872
+ status: "active",
344873
+ isActive: true,
344874
+ price: 0,
344875
+ fetchedAt: Date.now()
344876
+ },
344877
+ ainativePlanCache: "AINative API"
344878
+ };
344879
+ });
344880
+ process.env.ANTHROPIC_API_KEY = key;
344881
+ logEvent("tengu_oauth_apikey_saved", {});
344882
+ setOAuthStatus({ state: "success" });
344883
+ },
344884
+ cursorOffset: apiKeyCursorOffset,
344885
+ onChangeCursorOffset: setApiKeyCursorOffset,
344886
+ columns: apiKeyColumns,
344887
+ mask: "*"
344888
+ }, undefined, false, undefined, this)
344889
+ ]
344890
+ }, undefined, true, undefined, this),
344891
+ /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedBox_default, {
344892
+ marginTop: 1,
344893
+ children: /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
344894
+ dimColor: true,
344895
+ children: [
344896
+ "Press ",
344897
+ /* @__PURE__ */ jsx_dev_runtime71.jsxDEV(ThemedText, {
344898
+ bold: true,
344899
+ children: "Esc"
344900
+ }, undefined, false, undefined, this),
344901
+ " to go back."
344902
+ ]
344903
+ }, undefined, true, undefined, this)
344904
+ }, undefined, false, undefined, this)
344905
+ ]
344906
+ }, undefined, true, undefined, this);
344907
+ }
344757
344908
  case "waiting_for_login": {
344758
344909
  let t1;
344759
344910
  if ($3[20] !== forcedMethodMessage) {
@@ -344990,6 +345141,7 @@ var init_ConsoleOAuthFlow = __esm(() => {
344990
345141
  init_notifier();
344991
345142
  init_oauth2();
344992
345143
  init_auth2();
345144
+ init_config2();
344993
345145
  init_log3();
344994
345146
  init_settings2();
344995
345147
  init_select();
@@ -352371,7 +352523,7 @@ function StopHookSummaryMessage(t0) {
352371
352523
  stopReason
352372
352524
  } = message;
352373
352525
  const {
352374
- columns
352526
+ columns: columns2
352375
352527
  } = useTerminalSize();
352376
352528
  let t1;
352377
352529
  if ($3[0] !== hookInfos || $3[1] !== message.totalDurationMs) {
@@ -352462,7 +352614,7 @@ function StopHookSummaryMessage(t0) {
352462
352614
  } else {
352463
352615
  t4 = $3[16];
352464
352616
  }
352465
- const t5 = columns - 10;
352617
+ const t5 = columns2 - 10;
352466
352618
  let t6;
352467
352619
  if ($3[17] !== hookCount) {
352468
352620
  t6 = /* @__PURE__ */ jsx_dev_runtime105.jsxDEV(ThemedText, {
@@ -352635,7 +352787,7 @@ function SystemTextMessageInner(t0) {
352635
352787
  dimColor
352636
352788
  } = t0;
352637
352789
  const {
352638
- columns
352790
+ columns: columns2
352639
352791
  } = useTerminalSize();
352640
352792
  const bg = useSelectedMessageBg();
352641
352793
  const t1 = addMargin ? 1 : 0;
@@ -352656,7 +352808,7 @@ function SystemTextMessageInner(t0) {
352656
352808
  } else {
352657
352809
  t2 = $3[3];
352658
352810
  }
352659
- const t3 = columns - 10;
352811
+ const t3 = columns2 - 10;
352660
352812
  let t4;
352661
352813
  if ($3[4] !== content) {
352662
352814
  t4 = content.trim();
@@ -353345,7 +353497,7 @@ function UserToolRejectMessage(t0) {
353345
353497
  isTranscriptMode
353346
353498
  } = t0;
353347
353499
  const {
353348
- columns
353500
+ columns: columns2
353349
353501
  } = useTerminalSize();
353350
353502
  const [theme] = useTheme();
353351
353503
  if (!tool || !tool.renderToolUseRejectedMessage) {
@@ -353361,7 +353513,7 @@ function UserToolRejectMessage(t0) {
353361
353513
  const t1 = tool.inputSchema;
353362
353514
  let t2;
353363
353515
  let t3;
353364
- if ($3[1] !== columns || $3[2] !== input || $3[3] !== isTranscriptMode || $3[4] !== progressMessagesForMessage || $3[5] !== style || $3[6] !== theme || $3[7] !== tool || $3[8] !== tools || $3[9] !== verbose) {
353516
+ if ($3[1] !== columns2 || $3[2] !== input || $3[3] !== isTranscriptMode || $3[4] !== progressMessagesForMessage || $3[5] !== style || $3[6] !== theme || $3[7] !== tool || $3[8] !== tools || $3[9] !== verbose) {
353365
353517
  t3 = Symbol.for("react.early_return_sentinel");
353366
353518
  bb0: {
353367
353519
  const parsedInput = t1.safeParse(input);
@@ -353377,7 +353529,7 @@ function UserToolRejectMessage(t0) {
353377
353529
  break bb0;
353378
353530
  }
353379
353531
  t2 = tool.renderToolUseRejectedMessage(parsedInput.data, {
353380
- columns,
353532
+ columns: columns2,
353381
353533
  messages: [],
353382
353534
  tools,
353383
353535
  verbose,
@@ -353387,7 +353539,7 @@ function UserToolRejectMessage(t0) {
353387
353539
  isTranscriptMode
353388
353540
  }) ?? /* @__PURE__ */ jsx_dev_runtime110.jsxDEV(FallbackToolUseRejectedMessage, {}, undefined, false, undefined, this);
353389
353541
  }
353390
- $3[1] = columns;
353542
+ $3[1] = columns2;
353391
353543
  $3[2] = input;
353392
353544
  $3[3] = isTranscriptMode;
353393
353545
  $3[4] = progressMessagesForMessage;
@@ -354040,7 +354192,7 @@ function UserMessage(t0) {
354040
354192
  isTranscriptMode
354041
354193
  } = t0;
354042
354194
  const {
354043
- columns
354195
+ columns: columns2
354044
354196
  } = useTerminalSize();
354045
354197
  switch (param.type) {
354046
354198
  case "text": {
@@ -354083,7 +354235,7 @@ function UserMessage(t0) {
354083
354235
  return t2;
354084
354236
  }
354085
354237
  case "tool_result": {
354086
- const t1 = columns - 5;
354238
+ const t1 = columns2 - 5;
354087
354239
  let t2;
354088
354240
  if ($3[10] !== isTranscriptMode || $3[11] !== lookups || $3[12] !== message || $3[13] !== param || $3[14] !== progressMessagesForMessage || $3[15] !== style || $3[16] !== t1 || $3[17] !== tools || $3[18] !== verbose) {
354089
354241
  t2 = /* @__PURE__ */ jsx_dev_runtime114.jsxDEV(UserToolResultMessage, {
@@ -377607,41 +377759,55 @@ var require_color_diff_napi = __commonJS((exports, module) => {
377607
377759
  var A = { r: "\x1B[0m", g: "\x1B[32m", rd: "\x1B[31m", c: "\x1B[36m", m: "\x1B[35m", d: "\x1B[2m" };
377608
377760
 
377609
377761
  class ColorDiff {
377610
- constructor(p, f, fp, fc) {
377611
- this.p = p;
377612
- this.firstLine = f;
377762
+ constructor(hunk, firstLine, filePath, prefixContent) {
377763
+ this.hunk = hunk;
377764
+ this.filePath = filePath;
377765
+ this.firstLine = firstLine;
377766
+ this.prefixContent = prefixContent ?? null;
377613
377767
  }
377614
- render(t, w2, d) {
377615
- if (!this.p)
377768
+ render(themeName, width, dim2) {
377769
+ if (!this.hunk || !this.hunk.lines)
377616
377770
  return null;
377617
- let n2 = this.firstLine || 1;
377618
- return this.p.split(`
377619
- `).map((l) => {
377620
- if (l[0] == "+")
377621
- return A.g + String(n2++).padStart(4) + " " + l.slice(1) + A.r;
377622
- if (l[0] == "-")
377623
- return A.rd + " " + l.slice(1) + A.r;
377624
- if (l.startsWith("@@")) {
377625
- const m2 = l.match(/@@ -\d+(?:,\d+)? \+(\d+)/);
377626
- if (m2)
377627
- n2 = parseInt(m2[1]);
377628
- return A.c + l + A.r;
377771
+ const maxLineNum = Math.max(this.hunk.oldStart + this.hunk.oldLines - 1, this.hunk.newStart + this.hunk.newLines - 1, 1);
377772
+ const maxDigits = String(maxLineNum).length;
377773
+ let oldLine = this.hunk.oldStart;
377774
+ let newLine = this.hunk.newStart;
377775
+ const out = [];
377776
+ for (const rawLine of this.hunk.lines) {
377777
+ const marker = rawLine[0];
377778
+ const code = rawLine.slice(1);
377779
+ let lineNumber;
377780
+ if (marker === "+") {
377781
+ lineNumber = newLine++;
377782
+ out.push(A.g + String(lineNumber).padStart(maxDigits) + " +" + code + A.r);
377783
+ } else if (marker === "-") {
377784
+ lineNumber = oldLine++;
377785
+ out.push(A.rd + " ".repeat(maxDigits) + " -" + code + A.r);
377786
+ } else {
377787
+ lineNumber = newLine;
377788
+ oldLine++;
377789
+ newLine++;
377790
+ out.push(String(lineNumber).padStart(maxDigits) + " " + code);
377629
377791
  }
377630
- return String(n2++).padStart(4) + " " + (l[0] == " " ? l.slice(1) : l);
377631
- });
377792
+ }
377793
+ return out;
377632
377794
  }
377633
377795
  }
377634
377796
 
377635
377797
  class ColorFile {
377636
- constructor(c6, f) {
377637
- this.c = c6;
377638
- this.ext = (f || "").split(".").pop();
377798
+ constructor(code, filePath) {
377799
+ this.code = code;
377800
+ this.filePath = filePath;
377801
+ this.ext = (filePath || "").split(".").pop();
377639
377802
  }
377640
- render(t, w2) {
377641
- if (!this.c)
377803
+ render(themeName, width) {
377804
+ if (!this.code || typeof this.code !== "string")
377642
377805
  return null;
377643
- return this.c.split(`
377644
- `).map((l, i3) => {
377806
+ const lines = this.code.split(`
377807
+ `);
377808
+ if (lines.length > 0 && lines[lines.length - 1] === "")
377809
+ lines.pop();
377810
+ return lines.map((l, i3) => {
377645
377811
  const num = A.d + String(i3 + 1).padStart(4) + " " + A.r;
377646
377812
  let h2 = l;
377647
377813
  if (["js", "ts", "tsx", "jsx", "mjs"].includes(this.ext)) {
@@ -378510,7 +378676,7 @@ function FileEditToolUseRejectedMessage(t0) {
378510
378676
  verbose
378511
378677
  } = t0;
378512
378678
  const {
378513
- columns
378679
+ columns: columns2
378514
378680
  } = useTerminalSize();
378515
378681
  let t1;
378516
378682
  if ($3[0] !== operation) {
@@ -378597,7 +378763,7 @@ function FileEditToolUseRejectedMessage(t0) {
378597
378763
  }
378598
378764
  const truncatedContent = t52;
378599
378765
  const t62 = truncatedContent || "(No content)";
378600
- const t72 = columns - 12;
378766
+ const t72 = columns2 - 12;
378601
378767
  let t8;
378602
378768
  if ($3[16] !== file_path || $3[17] !== t62 || $3[18] !== t72) {
378603
378769
  t8 = /* @__PURE__ */ jsx_dev_runtime129.jsxDEV(HighlightedCode, {
@@ -378663,7 +378829,7 @@ function FileEditToolUseRejectedMessage(t0) {
378663
378829
  }
378664
378830
  return t52;
378665
378831
  }
378666
- const t5 = columns - 12;
378832
+ const t5 = columns2 - 12;
378667
378833
  let t6;
378668
378834
  if ($3[29] !== fileContent || $3[30] !== file_path || $3[31] !== firstLine || $3[32] !== patch || $3[33] !== t5) {
378669
378835
  t6 = /* @__PURE__ */ jsx_dev_runtime129.jsxDEV(StructuredDiffList, {
@@ -378727,7 +378893,7 @@ function FileEditToolUpdatedMessage(t0) {
378727
378893
  previewHint
378728
378894
  } = t0;
378729
378895
  const {
378730
- columns
378896
+ columns: columns2
378731
378897
  } = useTerminalSize();
378732
378898
  const numAdditions = structuredPatch2.reduce(_temp211, 0);
378733
378899
  const numRemovals = structuredPatch2.reduce(_temp46, 0);
@@ -378819,7 +378985,7 @@ function FileEditToolUpdatedMessage(t0) {
378819
378985
  } else {
378820
378986
  t5 = $3[12];
378821
378987
  }
378822
- const t6 = columns - 12;
378988
+ const t6 = columns2 - 12;
378823
378989
  let t7;
378824
378990
  if ($3[13] !== fileContent || $3[14] !== filePath || $3[15] !== firstLine || $3[16] !== structuredPatch2 || $3[17] !== t6) {
378825
378991
  t7 = /* @__PURE__ */ jsx_dev_runtime130.jsxDEV(StructuredDiffList, {
@@ -380098,7 +380264,7 @@ function FileWriteToolCreatedMessage(t0) {
380098
380264
  verbose
380099
380265
  } = t0;
380100
380266
  const {
380101
- columns
380267
+ columns: columns2
380102
380268
  } = useTerminalSize();
380103
380269
  const contentWithFallback = content || "(No content)";
380104
380270
  const numLines = countLines(content);
@@ -380162,7 +380328,7 @@ function FileWriteToolCreatedMessage(t0) {
380162
380328
  } else {
380163
380329
  t5 = $3[12];
380164
380330
  }
380165
- const t6 = columns - 12;
380331
+ const t6 = columns2 - 12;
380166
380332
  let t7;
380167
380333
  if ($3[13] !== filePath || $3[14] !== t5 || $3[15] !== t6) {
380168
380334
  t7 = /* @__PURE__ */ jsx_dev_runtime132.jsxDEV(ThemedBox_default, {
@@ -418830,7 +418996,7 @@ function getAnthropicEnvMetadata() {
418830
418996
  function getBuildAgeMinutes() {
418831
418997
  if (false)
418832
418998
  ;
418833
- const buildTime = new Date("1775421369").getTime();
418999
+ const buildTime = new Date("1775423471").getTime();
418834
419000
  if (isNaN(buildTime))
418835
419001
  return;
418836
419002
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -438676,8 +438842,8 @@ class Cursor {
438676
438842
  this.selection = selection;
438677
438843
  this.offset = Math.max(0, Math.min(this.text.length, offset));
438678
438844
  }
438679
- static fromText(text2, columns, offset = 0, selection = 0) {
438680
- return new Cursor(new MeasuredText(text2, columns - 1), offset, selection);
438845
+ static fromText(text2, columns2, offset = 0, selection = 0) {
438846
+ return new Cursor(new MeasuredText(text2, columns2 - 1), offset, selection);
438681
438847
  }
438682
438848
  getViewportStartLine(maxVisibleLines) {
438683
438849
  if (maxVisibleLines === undefined || maxVisibleLines <= 0)
@@ -439332,8 +439498,8 @@ class MeasuredText {
439332
439498
  text;
439333
439499
  navigationCache;
439334
439500
  graphemeBoundaries;
439335
- constructor(text2, columns) {
439336
- this.columns = columns;
439501
+ constructor(text2, columns2) {
439502
+ this.columns = columns2;
439337
439503
  this.text = text2.normalize("NFC");
439338
439504
  this.navigationCache = new Map;
439339
439505
  }
@@ -439645,7 +439811,7 @@ function useTextInput({
439645
439811
  multiline = false,
439646
439812
  cursorChar,
439647
439813
  invert,
439648
- columns,
439814
+ columns: columns2,
439649
439815
  onImagePaste: _onImagePaste,
439650
439816
  disableCursorMovementForUpDownKeys = false,
439651
439817
  disableEscapeDoublePress = false,
@@ -439661,7 +439827,7 @@ function useTextInput({
439661
439827
  }
439662
439828
  const offset = externalOffset;
439663
439829
  const setOffset = onOffsetChange;
439664
- const cursor = Cursor.fromText(originalValue, columns, offset);
439830
+ const cursor = Cursor.fromText(originalValue, columns2, offset);
439665
439831
  const { addNotification, removeNotification } = useNotifications();
439666
439832
  const handleCtrlC = useDoublePress((show) => {
439667
439833
  onExitMessage?.(show, "Ctrl-C");
@@ -439748,7 +439914,7 @@ function useTextInput({
439748
439914
  const newText = before + text2 + after;
439749
439915
  const newOffset = start + text2.length;
439750
439916
  updateYankLength(text2.length);
439751
- return Cursor.fromText(newText, columns, newOffset);
439917
+ return Cursor.fromText(newText, columns2, newOffset);
439752
439918
  }
439753
439919
  const handleCtrl = mapInput([
439754
439920
  ["a", () => cursor.startOfLine()],
@@ -440904,7 +441070,7 @@ var init_PromptInputFooterSuggestions = __esm(() => {
440904
441070
  maxColumnWidth,
440905
441071
  isSelected
440906
441072
  } = t0;
440907
- const columns = useTerminalSize().columns;
441073
+ const columns2 = useTerminalSize().columns;
440908
441074
  const isUnified = isUnifiedSuggestion(item.id);
440909
441075
  if (isUnified) {
440910
441076
  let t12;
@@ -440932,7 +441098,7 @@ var init_PromptInputFooterSuggestions = __esm(() => {
440932
441098
  t23 = $3[3];
440933
441099
  }
440934
441100
  const descReserve = t23;
440935
- const maxPathLength = columns - 2 - 4 - separatorWidth - descReserve;
441101
+ const maxPathLength = columns2 - 2 - 4 - separatorWidth - descReserve;
440936
441102
  let t32;
440937
441103
  if ($3[4] !== item.displayText || $3[5] !== maxPathLength) {
440938
441104
  t32 = truncatePathMiddle(item.displayText, maxPathLength);
@@ -440958,7 +441124,7 @@ var init_PromptInputFooterSuggestions = __esm(() => {
440958
441124
  displayText = item.displayText;
440959
441125
  }
440960
441126
  }
440961
- const availableWidth = columns - 2 - stringWidth(displayText) - separatorWidth - 4;
441127
+ const availableWidth = columns2 - 2 - stringWidth(displayText) - separatorWidth - 4;
440962
441128
  let lineContent;
440963
441129
  if (item.description) {
440964
441130
  const maxDescLength = Math.max(0, availableWidth);
@@ -440993,7 +441159,7 @@ var init_PromptInputFooterSuggestions = __esm(() => {
440993
441159
  }
440994
441160
  return t22;
440995
441161
  }
440996
- const maxNameWidth = Math.floor(columns * 0.4);
441162
+ const maxNameWidth = Math.floor(columns2 * 0.4);
440997
441163
  const displayTextWidth = Math.min(maxColumnWidth ?? stringWidth(item.displayText) + 5, maxNameWidth);
440998
441164
  const textColor_0 = item.color || (isSelected ? "suggestion" : undefined);
440999
441165
  const shouldDim = !isSelected;
@@ -441014,7 +441180,7 @@ var init_PromptInputFooterSuggestions = __esm(() => {
441014
441180
  const paddedDisplayText = displayText_0 + " ".repeat(Math.max(0, displayTextWidth - stringWidth(displayText_0)));
441015
441181
  const tagText = item.tag ? `[${item.tag}] ` : "";
441016
441182
  const tagWidth = stringWidth(tagText);
441017
- const descriptionWidth = Math.max(0, columns - displayTextWidth - tagWidth - 4);
441183
+ const descriptionWidth = Math.max(0, columns2 - displayTextWidth - tagWidth - 4);
441018
441184
  let t1;
441019
441185
  if ($3[19] !== descriptionWidth || $3[20] !== item.description) {
441020
441186
  t1 = item.description ? truncateToWidth(item.description.replace(/\s+/g, " "), descriptionWidth) : "";
@@ -446094,7 +446260,7 @@ function ThemePicker(t0) {
446094
446260
  const [theme] = useTheme();
446095
446261
  const themeSetting = useThemeSetting();
446096
446262
  const {
446097
- columns
446263
+ columns: columns2
446098
446264
  } = useTerminalSize();
446099
446265
  let t6;
446100
446266
  if ($3[0] === Symbol.for("react.memo_cache_sentinel")) {
@@ -446321,7 +446487,7 @@ function ThemePicker(t0) {
446321
446487
  t20 = $3[34];
446322
446488
  }
446323
446489
  let t21;
446324
- if ($3[35] !== columns) {
446490
+ if ($3[35] !== columns2) {
446325
446491
  t21 = /* @__PURE__ */ jsx_dev_runtime171.jsxDEV(ThemedBox_default, {
446326
446492
  flexDirection: "column",
446327
446493
  borderTop: true,
@@ -446335,10 +446501,10 @@ function ThemePicker(t0) {
446335
446501
  dim: false,
446336
446502
  filePath: "demo.js",
446337
446503
  firstLine: null,
446338
- width: columns
446504
+ width: columns2
446339
446505
  }, undefined, false, undefined, this)
446340
446506
  }, undefined, false, undefined, this);
446341
- $3[35] = columns;
446507
+ $3[35] = columns2;
446342
446508
  $3[36] = t21;
446343
446509
  } else {
446344
446510
  t21 = $3[36];
@@ -447823,13 +447989,13 @@ function useSearchInput({
447823
447989
  onExit: onExit2,
447824
447990
  onCancel,
447825
447991
  onExitUp,
447826
- columns,
447992
+ columns: columns2,
447827
447993
  passthroughCtrlKeys = [],
447828
447994
  initialQuery = "",
447829
447995
  backspaceExitsOnEmpty = true
447830
447996
  }) {
447831
447997
  const { columns: terminalColumns } = useTerminalSize();
447832
- const effectiveColumns = columns ?? terminalColumns;
447998
+ const effectiveColumns = columns2 ?? terminalColumns;
447833
447999
  const [query2, setQueryState] = import_react104.useState(initialQuery);
447834
448000
  const [cursorOffset, setCursorOffset] = import_react104.useState(initialQuery.length);
447835
448001
  const setQuery = import_react104.useCallback((q2) => {
@@ -450242,9 +450408,9 @@ function Usage() {
450242
450408
  const [error43, setError] = import_react107.useState(null);
450243
450409
  const [isLoading, setIsLoading] = import_react107.useState(true);
450244
450410
  const {
450245
- columns
450411
+ columns: columns2
450246
450412
  } = useTerminalSize();
450247
- const availableWidth = columns - 2;
450413
+ const availableWidth = columns2 - 2;
450248
450414
  const maxWidth = Math.min(availableWidth, 80);
450249
450415
  const loadUtilization = React53.useCallback(async () => {
450250
450416
  setIsLoading(true);
@@ -451825,12 +451991,12 @@ function extractFirstFrame(output) {
451825
451991
  return output;
451826
451992
  return output.slice(contentStart, endIndex);
451827
451993
  }
451828
- function renderToAnsiString(node, columns) {
451994
+ function renderToAnsiString(node, columns2) {
451829
451995
  return new Promise(async (resolve37) => {
451830
451996
  let output = "";
451831
451997
  const stream4 = new PassThrough3;
451832
- if (columns !== undefined) {
451833
- stream4.columns = columns;
451998
+ if (columns2 !== undefined) {
451999
+ stream4.columns = columns2;
451834
452000
  }
451835
452001
  stream4.on("data", (chunk) => {
451836
452002
  output += chunk.toString();
@@ -451845,8 +452011,8 @@ function renderToAnsiString(node, columns) {
451845
452011
  await resolve37(extractFirstFrame(output));
451846
452012
  });
451847
452013
  }
451848
- async function renderToString(node, columns) {
451849
- const output = await renderToAnsiString(node, columns);
452014
+ async function renderToString(node, columns2) {
452015
+ const output = await renderToAnsiString(node, columns2);
451850
452016
  return stripAnsi(output);
451851
452017
  }
451852
452018
  var import_compiler_runtime148, import_react109, jsx_dev_runtime186, SYNC_START = "\x1B[?2026h", SYNC_END = "\x1B[?2026l";
@@ -452365,7 +452531,7 @@ function DiffDetailView(t0) {
452365
452531
  isUntracked
452366
452532
  } = t0;
452367
452533
  const {
452368
- columns
452534
+ columns: columns2
452369
452535
  } = useTerminalSize();
452370
452536
  let t1;
452371
452537
  bb0: {
@@ -452668,7 +452834,7 @@ function DiffDetailView(t0) {
452668
452834
  t5 = $3[38];
452669
452835
  }
452670
452836
  let t6;
452671
- if ($3[39] !== columns || $3[40] !== fileContent || $3[41] !== filePath || $3[42] !== firstLine || $3[43] !== hunks) {
452837
+ if ($3[39] !== columns2 || $3[40] !== fileContent || $3[41] !== filePath || $3[42] !== firstLine || $3[43] !== hunks) {
452672
452838
  t6 = hunks.length === 0 ? /* @__PURE__ */ jsx_dev_runtime188.jsxDEV(ThemedText, {
452673
452839
  dimColor: true,
452674
452840
  children: "No diff content"
@@ -452678,9 +452844,9 @@ function DiffDetailView(t0) {
452678
452844
  firstLine,
452679
452845
  fileContent,
452680
452846
  dim: false,
452681
- width: columns - 2 - 2
452847
+ width: columns2 - 2 - 2
452682
452848
  }, index, false, undefined, this));
452683
- $3[39] = columns;
452849
+ $3[39] = columns2;
452684
452850
  $3[40] = fileContent;
452685
452851
  $3[41] = filePath;
452686
452852
  $3[42] = firstLine;
@@ -452753,7 +452919,7 @@ function DiffFileList(t0) {
452753
452919
  selectedIndex
452754
452920
  } = t0;
452755
452921
  const {
452756
- columns
452922
+ columns: columns2
452757
452923
  } = useTerminalSize();
452758
452924
  let t1;
452759
452925
  bb0: {
@@ -452815,12 +452981,12 @@ function DiffFileList(t0) {
452815
452981
  let t2;
452816
452982
  let t3;
452817
452983
  let t4;
452818
- if ($3[6] !== columns || $3[7] !== endIndex || $3[8] !== files || $3[9] !== selectedIndex || $3[10] !== startIndex) {
452984
+ if ($3[6] !== columns2 || $3[7] !== endIndex || $3[8] !== files || $3[9] !== selectedIndex || $3[10] !== startIndex) {
452819
452985
  const visibleFiles = files.slice(startIndex, endIndex);
452820
452986
  const hasMoreAbove = startIndex > 0;
452821
452987
  hasMoreBelow = endIndex < files.length;
452822
452988
  needsPagination = files.length > MAX_VISIBLE_FILES;
452823
- const maxPathWidth = Math.max(20, columns - 16 - 3 - 4);
452989
+ const maxPathWidth = Math.max(20, columns2 - 16 - 3 - 4);
452824
452990
  T0 = ThemedBox_default;
452825
452991
  t2 = "column";
452826
452992
  if ($3[17] !== hasMoreAbove || $3[18] !== needsPagination || $3[19] !== startIndex) {
@@ -452850,7 +453016,7 @@ function DiffFileList(t0) {
452850
453016
  t52 = $3[24];
452851
453017
  }
452852
453018
  t4 = visibleFiles.map(t52);
452853
- $3[6] = columns;
453019
+ $3[6] = columns2;
452854
453020
  $3[7] = endIndex;
452855
453021
  $3[8] = files;
452856
453022
  $3[9] = selectedIndex;
@@ -456684,7 +456850,7 @@ function Commands(t0) {
456684
456850
  const {
456685
456851
  commands,
456686
456852
  maxHeight,
456687
- columns,
456853
+ columns: columns2,
456688
456854
  title,
456689
456855
  onCancel,
456690
456856
  emptyMessage
@@ -456693,7 +456859,7 @@ function Commands(t0) {
456693
456859
  headerFocused,
456694
456860
  focusHeader
456695
456861
  } = useTabHeaderFocus();
456696
- const maxWidth = Math.max(1, columns - 10);
456862
+ const maxWidth = Math.max(1, columns2 - 10);
456697
456863
  const visibleCount = Math.max(1, Math.floor((maxHeight - 10) / 2));
456698
456864
  let t1;
456699
456865
  if ($3[0] !== commands || $3[1] !== maxWidth) {
@@ -457382,7 +457548,7 @@ function HelpV2(t0) {
457382
457548
  } = t0;
457383
457549
  const {
457384
457550
  rows,
457385
- columns
457551
+ columns: columns2
457386
457552
  } = useTerminalSize();
457387
457553
  const maxHeight = Math.floor(rows / 2);
457388
457554
  const insideModal = useIsInsideModal();
@@ -457445,23 +457611,23 @@ function HelpV2(t0) {
457445
457611
  t4 = $3[8];
457446
457612
  }
457447
457613
  let tabs;
457448
- if ($3[9] !== antOnlyCommands || $3[10] !== builtinCommands || $3[11] !== close || $3[12] !== columns || $3[13] !== customCommands || $3[14] !== maxHeight) {
457614
+ if ($3[9] !== antOnlyCommands || $3[10] !== builtinCommands || $3[11] !== close || $3[12] !== columns2 || $3[13] !== customCommands || $3[14] !== maxHeight) {
457449
457615
  tabs = [t4];
457450
457616
  let t52;
457451
- if ($3[16] !== builtinCommands || $3[17] !== close || $3[18] !== columns || $3[19] !== maxHeight) {
457617
+ if ($3[16] !== builtinCommands || $3[17] !== close || $3[18] !== columns2 || $3[19] !== maxHeight) {
457452
457618
  t52 = /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Tab, {
457453
457619
  title: "commands",
457454
457620
  children: /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Commands, {
457455
457621
  commands: builtinCommands,
457456
457622
  maxHeight,
457457
- columns,
457623
+ columns: columns2,
457458
457624
  title: "Browse default commands:",
457459
457625
  onCancel: close
457460
457626
  }, undefined, false, undefined, this)
457461
457627
  }, "commands", false, undefined, this);
457462
457628
  $3[16] = builtinCommands;
457463
457629
  $3[17] = close;
457464
- $3[18] = columns;
457630
+ $3[18] = columns2;
457465
457631
  $3[19] = maxHeight;
457466
457632
  $3[20] = t52;
457467
457633
  } else {
@@ -457469,20 +457635,20 @@ function HelpV2(t0) {
457469
457635
  }
457470
457636
  tabs.push(t52);
457471
457637
  let t62;
457472
- if ($3[21] !== close || $3[22] !== columns || $3[23] !== customCommands || $3[24] !== maxHeight) {
457638
+ if ($3[21] !== close || $3[22] !== columns2 || $3[23] !== customCommands || $3[24] !== maxHeight) {
457473
457639
  t62 = /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Tab, {
457474
457640
  title: "custom-commands",
457475
457641
  children: /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Commands, {
457476
457642
  commands: customCommands,
457477
457643
  maxHeight,
457478
- columns,
457644
+ columns: columns2,
457479
457645
  title: "Browse custom commands:",
457480
457646
  emptyMessage: "No custom commands found",
457481
457647
  onCancel: close
457482
457648
  }, undefined, false, undefined, this)
457483
457649
  }, "custom", false, undefined, this);
457484
457650
  $3[21] = close;
457485
- $3[22] = columns;
457651
+ $3[22] = columns2;
457486
457652
  $3[23] = customCommands;
457487
457653
  $3[24] = maxHeight;
457488
457654
  $3[25] = t62;
@@ -457494,7 +457660,7 @@ function HelpV2(t0) {
457494
457660
  $3[9] = antOnlyCommands;
457495
457661
  $3[10] = builtinCommands;
457496
457662
  $3[11] = close;
457497
- $3[12] = columns;
457663
+ $3[12] = columns2;
457498
457664
  $3[13] = customCommands;
457499
457665
  $3[14] = maxHeight;
457500
457666
  $3[15] = tabs;
@@ -482756,24 +482922,24 @@ var init_transcriptSearch = __esm(() => {
482756
482922
  });
482757
482923
 
482758
482924
  // src/utils/logoV2Utils.ts
482759
- function getLayoutMode(columns) {
482760
- if (columns >= 70)
482925
+ function getLayoutMode(columns2) {
482926
+ if (columns2 >= 70)
482761
482927
  return "horizontal";
482762
482928
  return "compact";
482763
482929
  }
482764
- function calculateLayoutDimensions(columns, layoutMode, optimalLeftWidth) {
482930
+ function calculateLayoutDimensions(columns2, layoutMode, optimalLeftWidth) {
482765
482931
  if (layoutMode === "horizontal") {
482766
482932
  const leftWidth = optimalLeftWidth;
482767
482933
  const usedSpace = BORDER_PADDING + CONTENT_PADDING + DIVIDER_WIDTH + leftWidth;
482768
- const availableForRight = columns - usedSpace;
482934
+ const availableForRight = columns2 - usedSpace;
482769
482935
  let rightWidth = Math.max(30, availableForRight);
482770
- const totalWidth2 = Math.min(leftWidth + rightWidth + DIVIDER_WIDTH + CONTENT_PADDING, columns - BORDER_PADDING);
482936
+ const totalWidth2 = Math.min(leftWidth + rightWidth + DIVIDER_WIDTH + CONTENT_PADDING, columns2 - BORDER_PADDING);
482771
482937
  if (totalWidth2 < leftWidth + rightWidth + DIVIDER_WIDTH + CONTENT_PADDING) {
482772
482938
  rightWidth = totalWidth2 - leftWidth - DIVIDER_WIDTH - CONTENT_PADDING;
482773
482939
  }
482774
482940
  return { leftWidth, rightWidth, totalWidth: totalWidth2 };
482775
482941
  }
482776
- const totalWidth = Math.min(columns - BORDER_PADDING, MAX_LEFT_WIDTH + 20);
482942
+ const totalWidth = Math.min(columns2 - BORDER_PADDING, MAX_LEFT_WIDTH + 20);
482777
482943
  return {
482778
482944
  leftWidth: totalWidth,
482779
482945
  rightWidth: totalWidth,
@@ -483922,7 +484088,7 @@ var init_GuestPassesUpsell = __esm(() => {
483922
484088
  function CondensedLogo() {
483923
484089
  const $3 = import_compiler_runtime200.c(29);
483924
484090
  const {
483925
- columns
484091
+ columns: columns2
483926
484092
  } = useTerminalSize();
483927
484093
  const agent = useAppState(_temp114);
483928
484094
  const effortValue = useAppState(_temp243);
@@ -483972,7 +484138,7 @@ function CondensedLogo() {
483972
484138
  t3 = $3[6];
483973
484139
  }
483974
484140
  import_react145.useEffect(t2, t3);
483975
- const textWidth = Math.max(columns - 15, 20);
484141
+ const textWidth = Math.max(columns2 - 15, 20);
483976
484142
  const truncatedVersion = truncate(version6, Math.max(textWidth - 13, 6));
483977
484143
  const effortSuffix = getEffortSuffix(model, effortValue);
483978
484144
  const {
@@ -484336,7 +484502,7 @@ function LogoV2() {
484336
484502
  const activities = getRecentActivitySync();
484337
484503
  const username = getGlobalConfig().oauthAccount?.displayName ?? "";
484338
484504
  const {
484339
- columns
484505
+ columns: columns2
484340
484506
  } = useTerminalSize();
484341
484507
  let t0;
484342
484508
  if ($3[0] === Symbol.for("react.memo_cache_sentinel")) {
@@ -484596,13 +484762,13 @@ function LogoV2() {
484596
484762
  }
484597
484763
  return t232;
484598
484764
  }
484599
- const layoutMode = getLayoutMode(columns);
484765
+ const layoutMode = getLayoutMode(columns2);
484600
484766
  const userTheme = resolveThemeSetting(getGlobalConfig().theme);
484601
484767
  const borderTitle = ` ${color("claude", userTheme)("Cody CLI")} ${color("inactive", userTheme)(`v${version6}`)} `;
484602
484768
  const compactBorderTitle = color("claude", userTheme)(" Cody CLI ");
484603
484769
  if (layoutMode === "compact") {
484604
484770
  let welcomeMessage = formatWelcomeMessage(username);
484605
- if (stringWidth(welcomeMessage) > columns - 4) {
484771
+ if (stringWidth(welcomeMessage) > columns2 - 4) {
484606
484772
  let t113;
484607
484773
  if ($3[31] === Symbol.for("react.memo_cache_sentinel")) {
484608
484774
  t113 = formatWelcomeMessage(null);
@@ -484612,7 +484778,7 @@ function LogoV2() {
484612
484778
  }
484613
484779
  welcomeMessage = t113;
484614
484780
  }
484615
- const cwdAvailableWidth = agentName ? columns - 4 - 1 - stringWidth(agentName) - 3 : columns - 4;
484781
+ const cwdAvailableWidth = agentName ? columns2 - 4 - 1 - stringWidth(agentName) - 3 : columns2 - 4;
484616
484782
  const truncatedCwd = truncatePath(cwd2, Math.max(cwdAvailableWidth, 10));
484617
484783
  let t112;
484618
484784
  if ($3[32] !== compactBorderTitle) {
@@ -484700,7 +484866,7 @@ function LogoV2() {
484700
484866
  paddingX: 1,
484701
484867
  paddingY: 1,
484702
484868
  alignItems: "center",
484703
- width: columns,
484869
+ width: columns2,
484704
484870
  children: [
484705
484871
  /* @__PURE__ */ jsx_dev_runtime257.jsxDEV(ThemedText, {
484706
484872
  bold: true,
@@ -484737,7 +484903,7 @@ function LogoV2() {
484737
484903
  const {
484738
484904
  leftWidth,
484739
484905
  rightWidth
484740
- } = calculateLayoutDimensions(columns, layoutMode, optimalLeftWidth);
484906
+ } = calculateLayoutDimensions(columns2, layoutMode, optimalLeftWidth);
484741
484907
  const T0 = OffscreenFreeze;
484742
484908
  const T1 = ThemedBox_default;
484743
484909
  const t11 = "column";
@@ -485275,7 +485441,7 @@ function MessageRowImpl(t0) {
485275
485441
  onOpenRateLimitOptions,
485276
485442
  lastThinkingBlockId,
485277
485443
  latestBashOutputUUID,
485278
- columns,
485444
+ columns: columns2,
485279
485445
  isLoading,
485280
485446
  lookups
485281
485447
  } = t0;
@@ -485396,7 +485562,7 @@ function MessageRowImpl(t0) {
485396
485562
  }
485397
485563
  const hasMetadata = t5;
485398
485564
  const t6 = !hasMetadata;
485399
- const t7 = hasMetadata ? undefined : columns;
485565
+ const t7 = hasMetadata ? undefined : columns2;
485400
485566
  let t8;
485401
485567
  if ($3[37] !== commands || $3[38] !== inProgressToolUseIDs || $3[39] !== isActiveCollapsedGroup || $3[40] !== isStatic || $3[41] !== isTranscriptMode || $3[42] !== isUserContinuation || $3[43] !== lastThinkingBlockId || $3[44] !== latestBashOutputUUID || $3[45] !== lookups || $3[46] !== msg || $3[47] !== onOpenRateLimitOptions || $3[48] !== progressMessagesForMessage || $3[49] !== shouldAnimate || $3[50] !== t6 || $3[51] !== t7 || $3[52] !== tools || $3[53] !== verbose) {
485402
485568
  t8 = /* @__PURE__ */ jsx_dev_runtime260.jsxDEV(Message, {
@@ -485479,10 +485645,10 @@ function MessageRowImpl(t0) {
485479
485645
  t9 = $3[59];
485480
485646
  }
485481
485647
  let t10;
485482
- if ($3[60] !== columns || $3[61] !== messageEl || $3[62] !== t9) {
485648
+ if ($3[60] !== columns2 || $3[61] !== messageEl || $3[62] !== t9) {
485483
485649
  t10 = /* @__PURE__ */ jsx_dev_runtime260.jsxDEV(OffscreenFreeze, {
485484
485650
  children: /* @__PURE__ */ jsx_dev_runtime260.jsxDEV(ThemedBox_default, {
485485
- width: columns,
485651
+ width: columns2,
485486
485652
  flexDirection: "column",
485487
485653
  children: [
485488
485654
  t9,
@@ -485490,7 +485656,7 @@ function MessageRowImpl(t0) {
485490
485656
  ]
485491
485657
  }, undefined, true, undefined, this)
485492
485658
  }, undefined, false, undefined, this);
485493
- $3[60] = columns;
485659
+ $3[60] = columns2;
485494
485660
  $3[61] = messageEl;
485495
485661
  $3[62] = t9;
485496
485662
  $3[63] = t10;
@@ -485964,7 +486130,7 @@ var init_StatusNotices = __esm(() => {
485964
486130
  });
485965
486131
 
485966
486132
  // src/hooks/useVirtualScroll.ts
485967
- function useVirtualScroll(scrollRef, itemKeys, columns) {
486133
+ function useVirtualScroll(scrollRef, itemKeys, columns2) {
485968
486134
  const heightCache = import_react152.useRef(new Map);
485969
486135
  const offsetVersionRef = import_react152.useRef(0);
485970
486136
  const lastScrollTopRef = import_react152.useRef(0);
@@ -485975,13 +486141,13 @@ function useVirtualScroll(scrollRef, itemKeys, columns) {
485975
486141
  });
485976
486142
  const itemRefs = import_react152.useRef(new Map);
485977
486143
  const refCache = import_react152.useRef(new Map);
485978
- const prevColumns = import_react152.useRef(columns);
486144
+ const prevColumns = import_react152.useRef(columns2);
485979
486145
  const skipMeasurementRef = import_react152.useRef(false);
485980
486146
  const prevRangeRef = import_react152.useRef(null);
485981
486147
  const freezeRendersRef = import_react152.useRef(0);
485982
- if (prevColumns.current !== columns) {
485983
- const ratio = prevColumns.current / columns;
485984
- prevColumns.current = columns;
486148
+ if (prevColumns.current !== columns2) {
486149
+ const ratio = prevColumns.current / columns2;
486150
+ prevColumns.current = columns2;
485985
486151
  for (const [k2, h2] of heightCache.current) {
485986
486152
  heightCache.current.set(k2, Math.max(1, Math.round(h2 * ratio)));
485987
486153
  }
@@ -486450,7 +486616,7 @@ function FullscreenLayout(t0) {
486450
486616
  const newMessageCount = t3 === undefined ? 0 : t3;
486451
486617
  const {
486452
486618
  rows: terminalRows,
486453
- columns
486619
+ columns: columns2
486454
486620
  } = useTerminalSize();
486455
486621
  const [stickyPrompt, setStickyPrompt] = import_react154.useState(null);
486456
486622
  let t4;
@@ -486631,11 +486797,11 @@ function FullscreenLayout(t0) {
486631
486797
  t17 = $3[32];
486632
486798
  }
486633
486799
  let t18;
486634
- if ($3[33] !== columns || $3[34] !== modal || $3[35] !== modalScrollRef || $3[36] !== terminalRows) {
486800
+ if ($3[33] !== columns2 || $3[34] !== modal || $3[35] !== modalScrollRef || $3[36] !== terminalRows) {
486635
486801
  t18 = modal != null && /* @__PURE__ */ jsx_dev_runtime264.jsxDEV(ModalContext, {
486636
486802
  value: {
486637
486803
  rows: terminalRows - MODAL_TRANSCRIPT_PEEK - 1,
486638
- columns: columns - 4,
486804
+ columns: columns2 - 4,
486639
486805
  scrollRef: modalScrollRef ?? null
486640
486806
  },
486641
486807
  children: /* @__PURE__ */ jsx_dev_runtime264.jsxDEV(ThemedBox_default, {
@@ -486652,7 +486818,7 @@ function FullscreenLayout(t0) {
486652
486818
  flexShrink: 0,
486653
486819
  children: /* @__PURE__ */ jsx_dev_runtime264.jsxDEV(ThemedText, {
486654
486820
  color: "permission",
486655
- children: "▔".repeat(columns)
486821
+ children: "▔".repeat(columns2)
486656
486822
  }, undefined, false, undefined, this)
486657
486823
  }, undefined, false, undefined, this),
486658
486824
  /* @__PURE__ */ jsx_dev_runtime264.jsxDEV(ThemedBox_default, {
@@ -486665,7 +486831,7 @@ function FullscreenLayout(t0) {
486665
486831
  ]
486666
486832
  }, undefined, true, undefined, this)
486667
486833
  }, undefined, false, undefined, this);
486668
- $3[33] = columns;
486834
+ $3[33] = columns2;
486669
486835
  $3[34] = modal;
486670
486836
  $3[35] = modalScrollRef;
486671
486837
  $3[36] = terminalRows;
@@ -487083,7 +487249,7 @@ function VirtualItem(t0) {
487083
487249
  function VirtualMessageList({
487084
487250
  messages,
487085
487251
  scrollRef,
487086
- columns,
487252
+ columns: columns2,
487087
487253
  itemKey,
487088
487254
  renderItem,
487089
487255
  onItemClick,
@@ -487123,7 +487289,7 @@ function VirtualMessageList({
487123
487289
  getItemElement,
487124
487290
  getItemHeight,
487125
487291
  scrollToIndex
487126
- } = useVirtualScroll(scrollRef, keys2, columns);
487292
+ } = useVirtualScroll(scrollRef, keys2, columns2);
487127
487293
  const [start, end] = range;
487128
487294
  const isVisible = import_react155.useCallback((i3) => {
487129
487295
  const h2 = getItemHeight(i3);
@@ -487852,7 +488018,7 @@ var import_compiler_runtime210, React83, import_react156, jsx_dev_runtime266, Lo
487852
488018
  renderRange
487853
488019
  }) => {
487854
488020
  const {
487855
- columns
488021
+ columns: columns2
487856
488022
  } = useTerminalSize();
487857
488023
  const toggleShowAllShortcut = useShortcutDisplay("transcript:toggleShowAll", "Transcript", "Ctrl+E");
487858
488024
  const normalizedMessages = import_react156.useMemo(() => normalizeMessages(messages).filter(isNotEmptyMessage), [messages]);
@@ -488033,7 +488199,7 @@ var import_compiler_runtime210, React83, import_react156, jsx_dev_runtime266, Lo
488033
488199
  onOpenRateLimitOptions,
488034
488200
  lastThinkingBlockId,
488035
488201
  latestBashOutputUUID,
488036
- columns,
488202
+ columns: columns2,
488037
488203
  isLoading,
488038
488204
  lookups: lookups_0
488039
488205
  }, k_0, false, undefined, this);
@@ -488046,7 +488212,7 @@ var import_compiler_runtime210, React83, import_react156, jsx_dev_runtime266, Lo
488046
488212
  marginTop: 1,
488047
488213
  children: /* @__PURE__ */ jsx_dev_runtime266.jsxDEV(Divider, {
488048
488214
  title: `${unseenDivider.count} new ${plural(unseenDivider.count, "message")}`,
488049
- width: columns,
488215
+ width: columns2,
488050
488216
  color: "inactive"
488051
488217
  }, undefined, false, undefined, this)
488052
488218
  }, "unseen-divider", false, undefined, this), wrapped];
@@ -488080,18 +488246,18 @@ var import_compiler_runtime210, React83, import_react156, jsx_dev_runtime266, Lo
488080
488246
  }, undefined, false, undefined, this),
488081
488247
  hasTruncatedMessages_0 && /* @__PURE__ */ jsx_dev_runtime266.jsxDEV(Divider, {
488082
488248
  title: `${toggleShowAllShortcut} to show ${source_default.bold(hiddenMessageCount_0)} previous messages`,
488083
- width: columns
488249
+ width: columns2
488084
488250
  }, undefined, false, undefined, this),
488085
488251
  isTranscriptMode && showAllInTranscript && hiddenMessageCount_0 > 0 && !disableRenderCap && /* @__PURE__ */ jsx_dev_runtime266.jsxDEV(Divider, {
488086
488252
  title: `${toggleShowAllShortcut} to hide ${source_default.bold(hiddenMessageCount_0)} previous messages`,
488087
- width: columns
488253
+ width: columns2
488088
488254
  }, undefined, false, undefined, this),
488089
488255
  virtualScrollRuntimeGate ? /* @__PURE__ */ jsx_dev_runtime266.jsxDEV(InVirtualListContext.Provider, {
488090
488256
  value: true,
488091
488257
  children: /* @__PURE__ */ jsx_dev_runtime266.jsxDEV(VirtualMessageList, {
488092
488258
  messages: renderableMessages,
488093
488259
  scrollRef,
488094
- columns,
488260
+ columns: columns2,
488095
488261
  itemKey: messageKey,
488096
488262
  renderItem: renderMessageRow,
488097
488263
  onItemClick,
@@ -489028,7 +489194,7 @@ function LogSelector(t0) {
489028
489194
  const maxHeight = t1 === undefined ? Infinity : t1;
489029
489195
  const showAllProjects = t2 === undefined ? false : t2;
489030
489196
  const terminalSize = useTerminalSize();
489031
- const columns = forceWidth === undefined ? terminalSize.columns : forceWidth;
489197
+ const columns2 = forceWidth === undefined ? terminalSize.columns : forceWidth;
489032
489198
  const exitState = useExitOnCtrlCDWithKeybindings(onCancel);
489033
489199
  const isTerminalFocused = useTerminalFocus();
489034
489200
  let t3;
@@ -489428,7 +489594,7 @@ function LogSelector(t0) {
489428
489594
  t28 = filteredLogs;
489429
489595
  }
489430
489596
  const displayedLogs = t28;
489431
- const maxLabelWidth = Math.max(30, columns - 4);
489597
+ const maxLabelWidth = Math.max(30, columns2 - 4);
489432
489598
  let t29;
489433
489599
  bb2: {
489434
489600
  if (!isResumeWithRenameEnabled) {
@@ -490145,11 +490311,11 @@ function LogSelector(t0) {
490145
490311
  t59 = $3[165];
490146
490312
  }
490147
490313
  let t60;
490148
- if ($3[166] !== columns || $3[167] !== displayedLogs.length || $3[168] !== effectiveTagIndex || $3[169] !== focusedIndex || $3[170] !== hasTags || $3[171] !== showAllProjects || $3[172] !== tagTabs || $3[173] !== viewMode || $3[174] !== visibleCount) {
490314
+ if ($3[166] !== columns2 || $3[167] !== displayedLogs.length || $3[168] !== effectiveTagIndex || $3[169] !== focusedIndex || $3[170] !== hasTags || $3[171] !== showAllProjects || $3[172] !== tagTabs || $3[173] !== viewMode || $3[174] !== visibleCount) {
490149
490315
  t60 = hasTags ? /* @__PURE__ */ jsx_dev_runtime270.jsxDEV(TagTabs, {
490150
490316
  tabs: tagTabs,
490151
490317
  selectedIndex: effectiveTagIndex,
490152
- availableWidth: columns,
490318
+ availableWidth: columns2,
490153
490319
  showAllProjects
490154
490320
  }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime270.jsxDEV(ThemedBox_default, {
490155
490321
  flexShrink: 0,
@@ -490172,7 +490338,7 @@ function LogSelector(t0) {
490172
490338
  ]
490173
490339
  }, undefined, true, undefined, this)
490174
490340
  }, undefined, false, undefined, this);
490175
- $3[166] = columns;
490341
+ $3[166] = columns2;
490176
490342
  $3[167] = displayedLogs.length;
490177
490343
  $3[168] = effectiveTagIndex;
490178
490344
  $3[169] = focusedIndex;
@@ -490316,7 +490482,7 @@ function LogSelector(t0) {
490316
490482
  t69 = $3[201];
490317
490483
  }
490318
490484
  let t70;
490319
- if ($3[202] !== agenticSearchState.status || $3[203] !== branchFilterEnabled || $3[204] !== columns || $3[205] !== displayedLogs || $3[206] !== expandedGroupSessionIds || $3[207] !== flatOptions || $3[208] !== focusedLog || $3[209] !== focusedNode?.id || $3[210] !== handleFlatOptionsSelectFocus || $3[211] !== handleRenameSubmit || $3[212] !== handleTreeSelectFocus || $3[213] !== isAgenticSearchOptionFocused || $3[214] !== onCancel || $3[215] !== onSelect || $3[216] !== renameCursorOffset || $3[217] !== renameValue || $3[218] !== treeNodes || $3[219] !== viewMode || $3[220] !== visibleCount) {
490485
+ if ($3[202] !== agenticSearchState.status || $3[203] !== branchFilterEnabled || $3[204] !== columns2 || $3[205] !== displayedLogs || $3[206] !== expandedGroupSessionIds || $3[207] !== flatOptions || $3[208] !== focusedLog || $3[209] !== focusedNode?.id || $3[210] !== handleFlatOptionsSelectFocus || $3[211] !== handleRenameSubmit || $3[212] !== handleTreeSelectFocus || $3[213] !== isAgenticSearchOptionFocused || $3[214] !== onCancel || $3[215] !== onSelect || $3[216] !== renameCursorOffset || $3[217] !== renameValue || $3[218] !== treeNodes || $3[219] !== viewMode || $3[220] !== visibleCount) {
490320
490486
  t70 = agenticSearchState.status === "searching" ? null : viewMode === "rename" && focusedLog ? /* @__PURE__ */ jsx_dev_runtime270.jsxDEV(ThemedBox_default, {
490321
490487
  paddingLeft: 2,
490322
490488
  flexDirection: "column",
@@ -490332,7 +490498,7 @@ function LogSelector(t0) {
490332
490498
  onChange: setRenameValue,
490333
490499
  onSubmit: handleRenameSubmit,
490334
490500
  placeholder: getLogDisplayTitle(focusedLog, "Enter new session name"),
490335
- columns,
490501
+ columns: columns2,
490336
490502
  cursorOffset: renameCursorOffset,
490337
490503
  onChangeCursorOffset: setRenameCursorOffset,
490338
490504
  showCursor: true
@@ -490395,7 +490561,7 @@ function LogSelector(t0) {
490395
490561
  }, undefined, false, undefined, this);
490396
490562
  $3[202] = agenticSearchState.status;
490397
490563
  $3[203] = branchFilterEnabled;
490398
- $3[204] = columns;
490564
+ $3[204] = columns2;
490399
490565
  $3[205] = displayedLogs;
490400
490566
  $3[206] = expandedGroupSessionIds;
490401
490567
  $3[207] = flatOptions;
@@ -496452,7 +496618,7 @@ function ShellDetailDialog(t0) {
496452
496618
  onBack
496453
496619
  } = t0;
496454
496620
  const {
496455
- columns
496621
+ columns: columns2
496456
496622
  } = useTerminalSize();
496457
496623
  let t1;
496458
496624
  if ($3[0] !== shell) {
@@ -496740,7 +496906,7 @@ function ShellDetailDialog(t0) {
496740
496906
  t23 = $3[44];
496741
496907
  }
496742
496908
  let t24;
496743
- if ($3[45] !== columns || $3[46] !== deferredOutputPromise) {
496909
+ if ($3[45] !== columns2 || $3[46] !== deferredOutputPromise) {
496744
496910
  t24 = /* @__PURE__ */ jsx_dev_runtime286.jsxDEV(ThemedBox_default, {
496745
496911
  flexDirection: "column",
496746
496912
  children: [
@@ -496749,12 +496915,12 @@ function ShellDetailDialog(t0) {
496749
496915
  fallback: t23,
496750
496916
  children: /* @__PURE__ */ jsx_dev_runtime286.jsxDEV(ShellOutputContent, {
496751
496917
  outputPromise: deferredOutputPromise,
496752
- columns
496918
+ columns: columns2
496753
496919
  }, undefined, false, undefined, this)
496754
496920
  }, undefined, false, undefined, this)
496755
496921
  ]
496756
496922
  }, undefined, true, undefined, this);
496757
- $3[45] = columns;
496923
+ $3[45] = columns2;
496758
496924
  $3[46] = deferredOutputPromise;
496759
496925
  $3[47] = t24;
496760
496926
  } else {
@@ -496805,7 +496971,7 @@ function ShellOutputContent(t0) {
496805
496971
  const $3 = import_compiler_runtime225.c(19);
496806
496972
  const {
496807
496973
  outputPromise,
496808
- columns
496974
+ columns: columns2
496809
496975
  } = t0;
496810
496976
  const {
496811
496977
  content,
@@ -496854,7 +497020,7 @@ function ShellOutputContent(t0) {
496854
497020
  isIncomplete = $3[3];
496855
497021
  rendered = $3[4];
496856
497022
  }
496857
- const t1 = columns - 6;
497023
+ const t1 = columns2 - 6;
496858
497024
  let t2;
496859
497025
  if ($3[5] !== rendered) {
496860
497026
  t2 = rendered.map(_temp253);
@@ -497552,9 +497718,9 @@ function Item(t0) {
497552
497718
  isSelected
497553
497719
  } = t0;
497554
497720
  const {
497555
- columns
497721
+ columns: columns2
497556
497722
  } = useTerminalSize();
497557
- const maxActivityWidth = Math.max(30, columns - 26);
497723
+ const maxActivityWidth = Math.max(30, columns2 - 26);
497558
497724
  let t1;
497559
497725
  if ($3[0] === Symbol.for("react.memo_cache_sentinel")) {
497560
497726
  t1 = isCoordinatorMode();
@@ -499152,9 +499318,9 @@ function PermissionRuleInput(t0) {
499152
499318
  }
499153
499319
  useKeybinding("confirm:no", onCancel, t1);
499154
499320
  const {
499155
- columns
499321
+ columns: columns2
499156
499322
  } = useTerminalSize();
499157
- const textInputColumns = columns - 6;
499323
+ const textInputColumns = columns2 - 6;
499158
499324
  let t2;
499159
499325
  if ($3[1] !== onSubmit || $3[2] !== ruleBehavior) {
499160
499326
  t2 = (value) => {
@@ -511926,7 +512092,7 @@ var init_bridge_kick = __esm(() => {
511926
512092
  var call56 = async () => {
511927
512093
  return {
511928
512094
  type: "text",
511929
- value: `${"0.7.15"} (built ${"1775421369"})`
512095
+ value: `${"0.7.15"} (built ${"1775423471"})`
511930
512096
  };
511931
512097
  }, version6, version_default;
511932
512098
  var init_version = __esm(() => {
@@ -514481,7 +514647,7 @@ function ExportDialog({
514481
514647
  const [cursorOffset, setCursorOffset] = import_react189.useState(defaultFilename.length);
514482
514648
  const [showFilenameInput, setShowFilenameInput] = import_react189.useState(false);
514483
514649
  const {
514484
- columns
514650
+ columns: columns2
514485
514651
  } = useTerminalSize();
514486
514652
  const handleGoBack = import_react189.useCallback(() => {
514487
514653
  setShowFilenameInput(false);
@@ -514607,7 +514773,7 @@ function ExportDialog({
514607
514773
  onSubmit: handleFilenameSubmit,
514608
514774
  focus: true,
514609
514775
  showCursor: true,
514610
- columns,
514776
+ columns: columns2,
514611
514777
  cursorOffset,
514612
514778
  onChangeCursorOffset: setCursorOffset
514613
514779
  }, undefined, false, undefined, this)
@@ -514664,7 +514830,7 @@ function normalizedUpperBound(m2) {
514664
514830
  return Array.isArray(c6) ? c6.length : 1;
514665
514831
  }
514666
514832
  async function streamRenderedMessages(messages, tools, sink2, {
514667
- columns,
514833
+ columns: columns2,
514668
514834
  verbose = false,
514669
514835
  chunkSize = 40,
514670
514836
  onProgress
@@ -514688,7 +514854,7 @@ async function streamRenderedMessages(messages, tools, sink2, {
514688
514854
  renderRange: range
514689
514855
  }, undefined, false, undefined, this)
514690
514856
  }, undefined, false, undefined, this)
514691
- }, undefined, false, undefined, this), columns);
514857
+ }, undefined, false, undefined, this), columns2);
514692
514858
  let ceiling = chunkSize;
514693
514859
  for (const m2 of messages)
514694
514860
  ceiling += normalizedUpperBound(m2);
@@ -514700,10 +514866,10 @@ async function streamRenderedMessages(messages, tools, sink2, {
514700
514866
  onProgress?.(offset + chunkSize);
514701
514867
  }
514702
514868
  }
514703
- async function renderMessagesToPlainText(messages, tools = [], columns) {
514869
+ async function renderMessagesToPlainText(messages, tools = [], columns2) {
514704
514870
  const parts = [];
514705
514871
  await streamRenderedMessages(messages, tools, (chunk) => void parts.push(stripAnsi(chunk)), {
514706
- columns
514872
+ columns: columns2
514707
514873
  });
514708
514874
  return parts.join("");
514709
514875
  }
@@ -539228,7 +539394,7 @@ function UserMessageOption(t0) {
539228
539394
  paddingRight
539229
539395
  } = t0;
539230
539396
  const {
539231
- columns
539397
+ columns: columns2
539232
539398
  } = useTerminalSize();
539233
539399
  if (isCurrent) {
539234
539400
  let t12;
@@ -539260,7 +539426,7 @@ function UserMessageOption(t0) {
539260
539426
  let t4;
539261
539427
  let t5;
539262
539428
  let t6;
539263
- if ($3[3] !== color3 || $3[4] !== columns || $3[5] !== content || $3[6] !== dimColor || $3[7] !== lastBlock || $3[8] !== paddingRight) {
539429
+ if ($3[3] !== color3 || $3[4] !== columns2 || $3[5] !== content || $3[6] !== dimColor || $3[7] !== lastBlock || $3[8] !== paddingRight) {
539264
539430
  t6 = Symbol.for("react.early_return_sentinel");
539265
539431
  bb0: {
539266
539432
  const rawMessageText = typeof content === "string" ? content.trim() : lastBlock && isTextBlock2(lastBlock) ? lastBlock.text.trim() : "(no prompt)";
@@ -539363,12 +539529,12 @@ function UserMessageOption(t0) {
539363
539529
  T0 = ThemedText;
539364
539530
  t1 = color3;
539365
539531
  t2 = dimColor;
539366
- t3 = paddingRight ? truncate(messageText, columns - paddingRight, true) : messageText.slice(0, 500).split(`
539532
+ t3 = paddingRight ? truncate(messageText, columns2 - paddingRight, true) : messageText.slice(0, 500).split(`
539367
539533
  `).slice(0, 4).join(`
539368
539534
  `);
539369
539535
  }
539370
539536
  $3[3] = color3;
539371
- $3[4] = columns;
539537
+ $3[4] = columns2;
539372
539538
  $3[5] = content;
539373
539539
  $3[6] = dimColor;
539374
539540
  $3[7] = lastBlock;
@@ -539895,14 +540061,14 @@ function QuestionNavigationBar(t0) {
539895
540061
  } = t0;
539896
540062
  const hideSubmitTab = t1 === undefined ? false : t1;
539897
540063
  const {
539898
- columns
540064
+ columns: columns2
539899
540065
  } = useTerminalSize();
539900
540066
  let t2;
539901
- if ($3[0] !== columns || $3[1] !== currentQuestionIndex || $3[2] !== hideSubmitTab || $3[3] !== questions) {
540067
+ if ($3[0] !== columns2 || $3[1] !== currentQuestionIndex || $3[2] !== hideSubmitTab || $3[3] !== questions) {
539902
540068
  bb0: {
539903
540069
  const submitText = hideSubmitTab ? "" : ` ${figures_default.tick} Submit `;
539904
540070
  const fixedWidth = stringWidth("← ") + stringWidth(" →") + stringWidth(submitText);
539905
- const availableForTabs = columns - fixedWidth;
540071
+ const availableForTabs = columns2 - fixedWidth;
539906
540072
  if (availableForTabs <= 0) {
539907
540073
  let t33;
539908
540074
  if ($3[5] !== currentQuestionIndex || $3[6] !== questions) {
@@ -539960,7 +540126,7 @@ function QuestionNavigationBar(t0) {
539960
540126
  }
539961
540127
  t2 = tabHeaders.map(t32);
539962
540128
  }
539963
- $3[0] = columns;
540129
+ $3[0] = columns2;
539964
540130
  $3[1] = currentQuestionIndex;
539965
540131
  $3[2] = hideSubmitTab;
539966
540132
  $3[3] = questions;
@@ -540288,9 +540454,9 @@ function PreviewQuestionView({
540288
540454
  const LEFT_PANEL_WIDTH = 30;
540289
540455
  const GAP = 4;
540290
540456
  const {
540291
- columns
540457
+ columns: columns2
540292
540458
  } = useTerminalSize();
540293
- const previewMaxWidth = columns - LEFT_PANEL_WIDTH - GAP;
540459
+ const previewMaxWidth = columns2 - LEFT_PANEL_WIDTH - GAP;
540294
540460
  const PREVIEW_OVERHEAD = 11;
540295
540461
  const previewMaxLines = import_react203.useMemo(() => {
540296
540462
  return minContentHeight ? Math.max(1, minContentHeight - PREVIEW_OVERHEAD) : undefined;
@@ -544178,21 +544344,21 @@ function DiffBody(t0) {
544178
544344
  fileContent
544179
544345
  } = import_react209.use(promise3);
544180
544346
  const {
544181
- columns
544347
+ columns: columns2
544182
544348
  } = useTerminalSize();
544183
544349
  let t1;
544184
- if ($3[0] !== columns || $3[1] !== fileContent || $3[2] !== file_path || $3[3] !== firstLine || $3[4] !== patch) {
544350
+ if ($3[0] !== columns2 || $3[1] !== fileContent || $3[2] !== file_path || $3[3] !== firstLine || $3[4] !== patch) {
544185
544351
  t1 = /* @__PURE__ */ jsx_dev_runtime379.jsxDEV(DiffFrame, {
544186
544352
  children: /* @__PURE__ */ jsx_dev_runtime379.jsxDEV(StructuredDiffList, {
544187
544353
  hunks: patch,
544188
544354
  dim: false,
544189
- width: columns,
544355
+ width: columns2,
544190
544356
  filePath: file_path,
544191
544357
  firstLine,
544192
544358
  fileContent
544193
544359
  }, undefined, false, undefined, this)
544194
544360
  }, undefined, false, undefined, this);
544195
- $3[0] = columns;
544361
+ $3[0] = columns2;
544196
544362
  $3[1] = fileContent;
544197
544363
  $3[2] = file_path;
544198
544364
  $3[3] = firstLine;
@@ -548454,7 +548620,7 @@ function FileWriteToolDiff(t0) {
548454
548620
  oldContent
548455
548621
  } = t0;
548456
548622
  const {
548457
- columns
548623
+ columns: columns2
548458
548624
  } = useTerminalSize();
548459
548625
  let t1;
548460
548626
  bb0: {
@@ -548494,19 +548660,19 @@ function FileWriteToolDiff(t0) {
548494
548660
  }
548495
548661
  const firstLine = t2;
548496
548662
  let t3;
548497
- if ($3[6] !== columns || $3[7] !== content || $3[8] !== file_path || $3[9] !== firstLine || $3[10] !== hunks || $3[11] !== oldContent) {
548663
+ if ($3[6] !== columns2 || $3[7] !== content || $3[8] !== file_path || $3[9] !== firstLine || $3[10] !== hunks || $3[11] !== oldContent) {
548498
548664
  t3 = hunks ? intersperse(hunks.map((_2) => /* @__PURE__ */ jsx_dev_runtime392.jsxDEV(StructuredDiff, {
548499
548665
  patch: _2,
548500
548666
  dim: false,
548501
548667
  filePath: file_path,
548502
548668
  firstLine,
548503
548669
  fileContent: oldContent,
548504
- width: columns - 2
548670
+ width: columns2 - 2
548505
548671
  }, _2.newStart, false, undefined, this)), _temp180) : /* @__PURE__ */ jsx_dev_runtime392.jsxDEV(HighlightedCode, {
548506
548672
  code: content || "(No content)",
548507
548673
  filePath: file_path
548508
548674
  }, undefined, false, undefined, this);
548509
- $3[6] = columns;
548675
+ $3[6] = columns2;
548510
548676
  $3[7] = content;
548511
548677
  $3[8] = file_path;
548512
548678
  $3[9] = firstLine;
@@ -551117,7 +551283,7 @@ function ElicitationFormDialog({
551117
551283
  resolveAbortRef.current.clear();
551118
551284
  }, []);
551119
551285
  const {
551120
- columns,
551286
+ columns: columns2,
551121
551287
  rows
551122
551288
  } = useTerminalSize();
551123
551289
  const currentField = currentFieldIndex !== undefined ? schemaFields[currentFieldIndex] : undefined;
@@ -551790,7 +551956,7 @@ function ElicitationFormDialog({
551790
551956
  onChange: handleTextInputChange,
551791
551957
  onSubmit: handleTextInputSubmit,
551792
551958
  placeholder: `Type something…`,
551793
- columns: Math.min(columns - 20, 60),
551959
+ columns: Math.min(columns2 - 20, 60),
551794
551960
  cursorOffset: textInputCursorOffset,
551795
551961
  onChangeCursorOffset: setTextInputCursorOffset,
551796
551962
  focus: true,
@@ -561843,7 +562009,7 @@ function BackgroundTaskStatus(t0) {
561843
562009
  const isLeaderIdle = t2 === undefined ? false : t2;
561844
562010
  const setAppState = useSetAppState();
561845
562011
  const {
561846
- columns
562012
+ columns: columns2
561847
562013
  } = useTerminalSize();
561848
562014
  const tasks2 = useAppState(_temp195);
561849
562015
  const viewingAgentTaskId = useAppState(_temp281);
@@ -561919,7 +562085,7 @@ function BackgroundTaskStatus(t0) {
561919
562085
  t82 = $3[14];
561920
562086
  }
561921
562087
  const viewedIdx = t82;
561922
- const availableWidth = Math.max(20, columns - 20 - 4);
562088
+ const availableWidth = Math.max(20, columns2 - 20 - 4);
561923
562089
  const t92 = selectedIdx >= 0 ? selectedIdx : 0;
561924
562090
  let t102;
561925
562091
  if ($3[15] !== availableWidth || $3[16] !== pillWidths || $3[17] !== t92) {
@@ -562816,7 +562982,7 @@ function ModeIndicator({
562816
562982
  onOpenTasksDialog
562817
562983
  }) {
562818
562984
  const {
562819
- columns
562985
+ columns: columns2
562820
562986
  } = useTerminalSize();
562821
562987
  const modeCycleShortcut = useShortcutDisplay("chat:cycleMode", "Chat", "shift+tab");
562822
562988
  const tasks2 = useAppState((s) => s.tasks);
@@ -562864,7 +563030,7 @@ function ModeIndicator({
562864
563030
  const isViewingCompletedTeammate = isViewingTeammate && viewedTask != null && viewedTask.status !== "running";
562865
563031
  const hasBackgroundTasks = runningTaskCount > 0 || isViewingTeammate;
562866
563032
  const primaryItemCount = (isCoordinator || hasActiveMode ? 1 : 0) + (hasBackgroundTasks ? 1 : 0) + (hasTeams ? 1 : 0);
562867
- const shouldShowPrStatus = isPrStatusEnabled() && prStatus.number !== null && prStatus.reviewState !== null && prStatus.url !== null && primaryItemCount < 2 && (primaryItemCount === 0 || columns >= 80);
563033
+ const shouldShowPrStatus = isPrStatusEnabled() && prStatus.number !== null && prStatus.reviewState !== null && prStatus.url !== null && primaryItemCount < 2 && (primaryItemCount === 0 || columns2 >= 80);
562868
563034
  const shouldShowModeHint = primaryItemCount < 2;
562869
563035
  const hasInProcessTeammates = !showSpinnerTree && hasBackgroundTasks && Object.values(tasks2).some((t_1) => t_1.type === "in_process_teammate");
562870
563036
  const hasTeammatePills = hasInProcessTeammates || !showSpinnerTree && isViewingTeammate;
@@ -563148,13 +563314,13 @@ function PromptInputFooter({
563148
563314
  }) {
563149
563315
  const settings = useSettings();
563150
563316
  const {
563151
- columns,
563317
+ columns: columns2,
563152
563318
  rows
563153
563319
  } = useTerminalSize();
563154
563320
  const messagesRef = import_react255.useRef(messages);
563155
563321
  messagesRef.current = messages;
563156
563322
  const lastAssistantMessageId = import_react255.useMemo(() => getLastAssistantMessageId(messages), [messages]);
563157
- const isNarrow = columns < 80;
563323
+ const isNarrow = columns2 < 80;
563158
563324
  const isFullscreen = isFullscreenEnvEnabled();
563159
563325
  const isShort = isFullscreen && rows < 24;
563160
563326
  const coordinatorTaskCount = useCoordinatorTaskCount();
@@ -565215,10 +565381,10 @@ function PromptInput({
565215
565381
  useBuddyNotification();
565216
565382
  const companionSpeaking = false;
565217
565383
  const {
565218
- columns,
565384
+ columns: columns2,
565219
565385
  rows
565220
565386
  } = useTerminalSize();
565221
- const textInputColumns = columns - 3 - companionReservedColumns(columns, companionSpeaking);
565387
+ const textInputColumns = columns2 - 3 - companionReservedColumns(columns2, companionSpeaking);
565222
565388
  const maxVisibleLines = isFullscreenEnvEnabled() ? Math.max(MIN_INPUT_VIEWPORT_LINES, Math.floor(rows / 2) - PROMPT_FOOTER_LINES) : undefined;
565223
565389
  const handleInputClick = import_react260.useCallback((e) => {
565224
565390
  if (!input || isSearchingHistory)
@@ -565490,7 +565656,7 @@ function PromptInput({
565490
565656
  color: swarmBanner.bgColor,
565491
565657
  children: swarmBanner.text ? /* @__PURE__ */ jsx_dev_runtime436.jsxDEV(jsx_dev_runtime436.Fragment, {
565492
565658
  children: [
565493
- "─".repeat(Math.max(0, columns - stringWidth(swarmBanner.text) - 4)),
565659
+ "─".repeat(Math.max(0, columns2 - stringWidth(swarmBanner.text) - 4)),
565494
565660
  /* @__PURE__ */ jsx_dev_runtime436.jsxDEV(ThemedText, {
565495
565661
  backgroundColor: swarmBanner.bgColor,
565496
565662
  color: "inverseText",
@@ -565502,7 +565668,7 @@ function PromptInput({
565502
565668
  }, undefined, true, undefined, this),
565503
565669
  "──"
565504
565670
  ]
565505
- }, undefined, true, undefined, this) : "─".repeat(columns)
565671
+ }, undefined, true, undefined, this) : "─".repeat(columns2)
565506
565672
  }, undefined, false, undefined, this),
565507
565673
  /* @__PURE__ */ jsx_dev_runtime436.jsxDEV(ThemedBox_default, {
565508
565674
  flexDirection: "row",
@@ -565524,7 +565690,7 @@ function PromptInput({
565524
565690
  }, undefined, true, undefined, this),
565525
565691
  /* @__PURE__ */ jsx_dev_runtime436.jsxDEV(ThemedText, {
565526
565692
  color: swarmBanner.bgColor,
565527
- children: "─".repeat(columns)
565693
+ children: "─".repeat(columns2)
565528
565694
  }, undefined, false, undefined, this)
565529
565695
  ]
565530
565696
  }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime436.jsxDEV(ThemedBox_default, {