@atlasharness/atlascode 0.1.17 → 0.1.19

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 +461 -265
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -130295,7 +130295,7 @@ var init_modelAllowlist = __esm(() => {
130295
130295
  init_aliases();
130296
130296
  init_model();
130297
130297
  init_modelprovider2();
130298
- AUTO_MODE_ROLES = ["premium", "small"];
130298
+ AUTO_MODE_ROLES = ["premium", "fast", "small"];
130299
130299
  });
130300
130300
 
130301
130301
  // src/tui/utils/model/model.ts
@@ -269513,6 +269513,67 @@ var init_UserToolRejectMessage = __esm(() => {
269513
269513
  jsx_dev_runtime102 = __toESM(require_jsx_dev_runtime(), 1);
269514
269514
  });
269515
269515
 
269516
+ // src/tui/components/permissions/permissionVerdict.ts
269517
+ function verdictLine(reason, mode) {
269518
+ const modeLabel = permissionModeTitle2(mode);
269519
+ switch (reason?.type) {
269520
+ case "rule": {
269521
+ const behavior = reason.rule.ruleBehavior;
269522
+ return `${VERDICT_PREFIX}: hit ${behavior} rule "${permissionRuleValueToString2(reason.rule.ruleValue)}" from ${getSettingSourceDisplayNameLowercase(reason.rule.source)}`;
269523
+ }
269524
+ case "classifier":
269525
+ return `${VERDICT_PREFIX}: ${reason.classifier} classifier says: ${reason.reason}`;
269526
+ case "mode":
269527
+ return `${VERDICT_PREFIX}: no rule matched — ${modeLabel} mode asks you`;
269528
+ case "other":
269529
+ return `${VERDICT_PREFIX}: no rule matched — ${modeLabel} mode asks you`;
269530
+ case "hook":
269531
+ return `${VERDICT_PREFIX}: hook "${reason.hookName}"${reason.hookSource ? ` (${reason.hookSource})` : ""}${reason.reason ? ` says: ${reason.reason}` : ""}`;
269532
+ case "safetyCheck":
269533
+ return `${VERDICT_PREFIX}: safety check — ${reason.reason}`;
269534
+ case "workingDir":
269535
+ return `${VERDICT_PREFIX}: ${reason.reason}`;
269536
+ case "subcommandResults": {
269537
+ const n = reason.reasons.size;
269538
+ return `${VERDICT_PREFIX}: ${n} sub-command${n === 1 ? "" : "s"} checked, ${modeLabel} mode asks you`;
269539
+ }
269540
+ case "permissionPromptTool":
269541
+ return `${VERDICT_PREFIX}: ${reason.permissionPromptToolName} handled this request`;
269542
+ case "asyncAgent":
269543
+ return `${VERDICT_PREFIX}: ${reason.reason}`;
269544
+ case "sandboxOverride":
269545
+ return `${VERDICT_PREFIX}: sandbox override (${reason.reason})`;
269546
+ default:
269547
+ return null;
269548
+ }
269549
+ }
269550
+ function successCardRenderMode(renderedMessage, userApproved) {
269551
+ if (renderedMessage !== null)
269552
+ return "full";
269553
+ return userApproved ? "marker" : "skip";
269554
+ }
269555
+ var VERDICT_PREFIX = "Verdict";
269556
+ var init_permissionVerdict = __esm(() => {
269557
+ init_constants5();
269558
+ init_permissionRuleParser2();
269559
+ init_PermissionMode();
269560
+ });
269561
+
269562
+ // src/tui/utils/userApprovals.ts
269563
+ function setUserApproval(toolUseID) {
269564
+ USER_APPROVALS.set(toolUseID, true);
269565
+ }
269566
+ function getUserApproval(toolUseID) {
269567
+ return USER_APPROVALS.has(toolUseID);
269568
+ }
269569
+ function deleteUserApproval(toolUseID) {
269570
+ USER_APPROVALS.delete(toolUseID);
269571
+ }
269572
+ var USER_APPROVALS;
269573
+ var init_userApprovals = __esm(() => {
269574
+ USER_APPROVALS = new Map;
269575
+ });
269576
+
269516
269577
  // src/tui/components/messages/UserToolResultMessage/UserToolSuccessMessage.tsx
269517
269578
  function UserToolSuccessMessage({
269518
269579
  message,
@@ -269529,8 +269590,10 @@ function UserToolSuccessMessage({
269529
269590
  const [theme] = useTheme();
269530
269591
  const [classifierRule] = React32.useState(() => getClassifierApproval2(toolUseID));
269531
269592
  const [yoloReason] = React32.useState(() => getYoloClassifierApproval2(toolUseID));
269593
+ const [userApproved] = React32.useState(() => getUserApproval(toolUseID));
269532
269594
  React32.useEffect(() => {
269533
269595
  deleteClassifierApproval2(toolUseID);
269596
+ deleteUserApproval(toolUseID);
269534
269597
  }, [toolUseID]);
269535
269598
  if (!message.toolUseResult || !tool) {
269536
269599
  return null;
@@ -269548,7 +269611,8 @@ function UserToolSuccessMessage({
269548
269611
  isTranscriptMode,
269549
269612
  input: lookups.toolUseByToolUseID.get(toolUseID)?.input
269550
269613
  }) ?? null;
269551
- if (renderedMessage === null) {
269614
+ const renderMode = successCardRenderMode(renderedMessage, userApproved);
269615
+ if (renderMode === "skip") {
269552
269616
  return null;
269553
269617
  }
269554
269618
  const rendersAsAssistantText = tool.userFacingName(undefined) === "";
@@ -269578,12 +269642,28 @@ function UserToolSuccessMessage({
269578
269642
  height: 1,
269579
269643
  children: /* @__PURE__ */ jsx_dev_runtime103.jsxDEV(ThemedText, {
269580
269644
  dimColor: true,
269581
- children: "Allowed by auto mode classifier"
269582
- }, undefined, false, undefined, this)
269583
- }, undefined, false, undefined, this) : null
269645
+ children: [
269646
+ "Allowed by auto mode classifier: ",
269647
+ yoloReason
269648
+ ]
269649
+ }, undefined, true, undefined, this)
269650
+ }, undefined, false, undefined, this) : null,
269651
+ userApproved && /* @__PURE__ */ jsx_dev_runtime103.jsxDEV(MessageResponse, {
269652
+ height: 1,
269653
+ children: /* @__PURE__ */ jsx_dev_runtime103.jsxDEV(ThemedText, {
269654
+ dimColor: true,
269655
+ children: [
269656
+ /* @__PURE__ */ jsx_dev_runtime103.jsxDEV(ThemedText, {
269657
+ color: "success",
269658
+ children: figures_default.tick
269659
+ }, undefined, false, undefined, this),
269660
+ " Allowed · your decision"
269661
+ ]
269662
+ }, undefined, true, undefined, this)
269663
+ }, undefined, false, undefined, this)
269584
269664
  ]
269585
269665
  }, undefined, true, undefined, this),
269586
- /* @__PURE__ */ jsx_dev_runtime103.jsxDEV(SentryErrorBoundary, {
269666
+ renderMode === "full" ? /* @__PURE__ */ jsx_dev_runtime103.jsxDEV(SentryErrorBoundary, {
269587
269667
  children: /* @__PURE__ */ jsx_dev_runtime103.jsxDEV(HookProgressMessage, {
269588
269668
  hookEvent: "PostToolUse",
269589
269669
  lookups,
@@ -269591,7 +269671,7 @@ function UserToolSuccessMessage({
269591
269671
  verbose,
269592
269672
  isTranscriptMode
269593
269673
  }, undefined, false, undefined, this)
269594
- }, undefined, false, undefined, this)
269674
+ }, undefined, false, undefined, this) : null
269595
269675
  ]
269596
269676
  }, undefined, true, undefined, this);
269597
269677
  }
@@ -269603,6 +269683,8 @@ var init_UserToolSuccessMessage = __esm(() => {
269603
269683
  init_ink2();
269604
269684
  init_Tool();
269605
269685
  init_classifierApprovals();
269686
+ init_permissionVerdict();
269687
+ init_userApprovals();
269606
269688
  init_MessageResponse();
269607
269689
  init_HookProgressMessage();
269608
269690
  React32 = __toESM(require_react(), 1);
@@ -331161,7 +331243,7 @@ async function installPluginFromMarketplace({
331161
331243
  }
331162
331244
  return {
331163
331245
  success: true,
331164
- message: `✓ Installed ${entry.name}${result.depNote}. Run /reload-plugins to activate.`
331246
+ message: `✓ Installed ${entry.name}${result.depNote}.`
331165
331247
  };
331166
331248
  } catch (err) {
331167
331249
  const errorMessage = err instanceof Error ? err.message : String(err);
@@ -399314,6 +399396,139 @@ var init_agents3 = __esm(() => {
399314
399396
  agents_default = agents;
399315
399397
  });
399316
399398
 
399399
+ // src/tui/utils/plugins/refresh.ts
399400
+ async function refreshActivePlugins(setAppState) {
399401
+ logForDebugging3("refreshActivePlugins: clearing all plugin caches");
399402
+ clearAllCaches();
399403
+ clearPluginCacheExclusions();
399404
+ const pluginResult = await loadAllPlugins();
399405
+ const [pluginCommands, agentDefinitions] = await Promise.all([
399406
+ getPluginCommands(),
399407
+ getAgentDefinitionsWithOverrides(getOriginalCwd())
399408
+ ]);
399409
+ const { enabled, disabled, errors } = pluginResult;
399410
+ const [mcpCounts, lspCounts] = await Promise.all([
399411
+ Promise.all(enabled.map(async (p) => {
399412
+ if (p.mcpServers)
399413
+ return Object.keys(p.mcpServers).length;
399414
+ const servers = await loadPluginMcpServers(p, errors);
399415
+ if (servers)
399416
+ p.mcpServers = servers;
399417
+ return servers ? Object.keys(servers).length : 0;
399418
+ })),
399419
+ Promise.all(enabled.map(async (p) => {
399420
+ if (p.lspServers)
399421
+ return Object.keys(p.lspServers).length;
399422
+ const servers = await loadPluginLspServers(p, errors);
399423
+ if (servers)
399424
+ p.lspServers = servers;
399425
+ return servers ? Object.keys(servers).length : 0;
399426
+ }))
399427
+ ]);
399428
+ const mcp_count = mcpCounts.reduce((sum, n) => sum + n, 0);
399429
+ const lsp_count = lspCounts.reduce((sum, n) => sum + n, 0);
399430
+ setAppState((prev) => ({
399431
+ ...prev,
399432
+ plugins: {
399433
+ ...prev.plugins,
399434
+ enabled,
399435
+ disabled,
399436
+ commands: pluginCommands,
399437
+ errors: mergePluginErrors(prev.plugins.errors, errors),
399438
+ needsRefresh: false
399439
+ },
399440
+ agentDefinitions,
399441
+ mcp: {
399442
+ ...prev.mcp,
399443
+ pluginReconnectKey: prev.mcp.pluginReconnectKey + 1
399444
+ }
399445
+ }));
399446
+ reinitializeLspServerManager2();
399447
+ let hook_load_failed = false;
399448
+ try {
399449
+ await loadPluginHooks();
399450
+ } catch (e) {
399451
+ hook_load_failed = true;
399452
+ logError3(e);
399453
+ logForDebugging3(`refreshActivePlugins: loadPluginHooks failed: ${errorMessage2(e)}`);
399454
+ }
399455
+ const hook_count = enabled.reduce((sum, p) => {
399456
+ if (!p.hooksConfig)
399457
+ return sum;
399458
+ return sum + Object.values(p.hooksConfig).reduce((s, matchers) => s + (matchers?.reduce((h, m) => h + m.hooks.length, 0) ?? 0), 0);
399459
+ }, 0);
399460
+ logForDebugging3(`refreshActivePlugins: ${enabled.length} enabled, ${pluginCommands.length} commands, ${agentDefinitions.allAgents.length} agents, ${hook_count} hooks, ${mcp_count} MCP, ${lsp_count} LSP`);
399461
+ return {
399462
+ enabled_count: enabled.length,
399463
+ disabled_count: disabled.length,
399464
+ command_count: pluginCommands.length,
399465
+ agent_count: agentDefinitions.allAgents.length,
399466
+ hook_count,
399467
+ mcp_count,
399468
+ lsp_count,
399469
+ error_count: errors.length + (hook_load_failed ? 1 : 0),
399470
+ agentDefinitions,
399471
+ pluginCommands
399472
+ };
399473
+ }
399474
+ async function refreshActivePluginsLightweight(setAppState) {
399475
+ logForDebugging3("refreshActivePluginsLightweight: clearing all plugin caches");
399476
+ clearAllCaches();
399477
+ clearPluginCacheExclusions();
399478
+ const pluginResult = await loadAllPlugins();
399479
+ const [pluginCommands, agentDefinitions] = await Promise.all([
399480
+ getPluginCommands(),
399481
+ getAgentDefinitionsWithOverrides(getOriginalCwd())
399482
+ ]);
399483
+ const { enabled, disabled, errors } = pluginResult;
399484
+ setAppState((prev) => ({
399485
+ ...prev,
399486
+ plugins: {
399487
+ ...prev.plugins,
399488
+ enabled,
399489
+ disabled,
399490
+ commands: pluginCommands,
399491
+ errors: mergePluginErrors(prev.plugins.errors, errors),
399492
+ needsRefresh: false
399493
+ },
399494
+ agentDefinitions
399495
+ }));
399496
+ logForDebugging3(`refreshActivePluginsLightweight: ${enabled.length} enabled, ${pluginCommands.length} commands, ${agentDefinitions.allAgents.length} agents`);
399497
+ return {
399498
+ enabled_count: enabled.length,
399499
+ disabled_count: disabled.length,
399500
+ command_count: pluginCommands.length,
399501
+ agent_count: agentDefinitions.allAgents.length,
399502
+ error_count: errors.length,
399503
+ agentDefinitions,
399504
+ pluginCommands
399505
+ };
399506
+ }
399507
+ function mergePluginErrors(existing, fresh) {
399508
+ const preserved = existing.filter((e) => e.source === "lsp-manager" || e.source.startsWith("plugin:"));
399509
+ const freshKeys = new Set(fresh.map(errorKey));
399510
+ const deduped = preserved.filter((e) => !freshKeys.has(errorKey(e)));
399511
+ return [...deduped, ...fresh];
399512
+ }
399513
+ function errorKey(e) {
399514
+ return e.type === "generic-error" ? `generic-error:${e.source}:${e.error}` : `${e.type}:${e.source}`;
399515
+ }
399516
+ var init_refresh = __esm(() => {
399517
+ init_bootstrap();
399518
+ init_manager();
399519
+ init_loadAgentsDir2();
399520
+ init_debug();
399521
+ init_errors4();
399522
+ init_log5();
399523
+ init_cacheUtils();
399524
+ init_loadPluginCommands();
399525
+ init_loadPluginHooks();
399526
+ init_lspPluginIntegration();
399527
+ init_mcpPluginIntegration();
399528
+ init_orphanedPluginFilter();
399529
+ init_pluginLoader();
399530
+ });
399531
+
399317
399532
  // src/tui/utils/plugins/parseMarketplaceInput.ts
399318
399533
  import { homedir as homedir37 } from "os";
399319
399534
  import { resolve as resolve48 } from "path";
@@ -400832,12 +401047,12 @@ function BrowseMarketplace({
400832
401047
  setSelectedForInstall(new Set);
400833
401048
  clearAllCaches();
400834
401049
  if (failureCount === 0) {
400835
- const message = `✓ Installed ${successCount_0} ${plural2(successCount_0, "plugin")}. ` + `Run /reload-plugins to activate.`;
401050
+ const message = `✓ Installed ${successCount_0} ${plural2(successCount_0, "plugin")}.`;
400836
401051
  setResult(message);
400837
401052
  } else if (successCount_0 === 0) {
400838
401053
  setError(`Failed to install: ${formatFailureDetails(newFailedPlugins, true)}`);
400839
401054
  } else {
400840
- const message_0 = `✓ Installed ${successCount_0} of ${successCount_0 + failureCount} plugins. ` + `Failed: ${formatFailureDetails(newFailedPlugins, false)}. ` + `Run /reload-plugins to activate successfully installed plugins.`;
401055
+ const message_0 = `✓ Installed ${successCount_0} of ${successCount_0 + failureCount} plugins. ` + `Failed: ${formatFailureDetails(newFailedPlugins, false)}.`;
400841
401056
  setResult(message_0);
400842
401057
  }
400843
401058
  if (successCount_0 > 0) {
@@ -401031,10 +401246,10 @@ function BrowseMarketplace({
401031
401246
  onDone: (outcome, detail) => {
401032
401247
  switch (outcome) {
401033
401248
  case "configured":
401034
- finish(`✓ Installed and configured ${plugin_5.name}. Run /reload-plugins to apply.`);
401249
+ finish(`✓ Installed and configured ${plugin_5.name}.`);
401035
401250
  break;
401036
401251
  case "skipped":
401037
- finish(`✓ Installed ${plugin_5.name}. Run /reload-plugins to apply.`);
401252
+ finish(`✓ Installed ${plugin_5.name}.`);
401038
401253
  break;
401039
401254
  case "error":
401040
401255
  finish(`Installed but failed to save config: ${detail}`);
@@ -401704,12 +401919,12 @@ function DiscoverPlugins({
401704
401919
  setSelectedForInstall(new Set);
401705
401920
  clearAllCaches();
401706
401921
  if (failureCount === 0) {
401707
- const message = `✓ Installed ${successCount_0} ${plural2(successCount_0, "plugin")}. ` + `Run /reload-plugins to activate.`;
401922
+ const message = `✓ Installed ${successCount_0} ${plural2(successCount_0, "plugin")}.`;
401708
401923
  setResult(message);
401709
401924
  } else if (successCount_0 === 0) {
401710
401925
  setError(`Failed to install: ${formatFailureDetails(newFailedPlugins, true)}`);
401711
401926
  } else {
401712
- const message_0 = `✓ Installed ${successCount_0} of ${successCount_0 + failureCount} plugins. ` + `Failed: ${formatFailureDetails(newFailedPlugins, false)}. ` + `Run /reload-plugins to activate successfully installed plugins.`;
401927
+ const message_0 = `✓ Installed ${successCount_0} of ${successCount_0 + failureCount} plugins. ` + `Failed: ${formatFailureDetails(newFailedPlugins, false)}.`;
401713
401928
  setResult(message_0);
401714
401929
  }
401715
401930
  if (successCount_0 > 0) {
@@ -401916,10 +402131,10 @@ function DiscoverPlugins({
401916
402131
  onDone: (outcome, detail) => {
401917
402132
  switch (outcome) {
401918
402133
  case "configured":
401919
- finish(`✓ Installed and configured ${plugin_4.name}. Run /reload-plugins to apply.`);
402134
+ finish(`✓ Installed and configured ${plugin_4.name}.`);
401920
402135
  break;
401921
402136
  case "skipped":
401922
- finish(`✓ Installed ${plugin_4.name}. Run /reload-plugins to apply.`);
402137
+ finish(`✓ Installed ${plugin_4.name}.`);
401923
402138
  break;
401924
402139
  case "error":
401925
402140
  finish(`Installed but failed to save config: ${detail}`);
@@ -405321,7 +405536,7 @@ function ManagePlugins({
405321
405536
  } else if (typeof viewState === "object" && (viewState.type === "plugin-options" || viewState.type === "configuring-options")) {
405322
405537
  setViewState("plugin-list");
405323
405538
  setSelectedPlugin(null);
405324
- setResult("Plugin enabled. Configuration skipped — run /reload-plugins to apply.");
405539
+ setResult("Plugin enabled. Configuration skipped.");
405325
405540
  if (onManageComplete) {
405326
405541
  onManageComplete();
405327
405542
  }
@@ -405831,7 +406046,7 @@ function ManagePlugins({
405831
406046
  }
405832
406047
  const operationName = operation === "enable" ? "Enabled" : operation === "disable" ? "Disabled" : operation === "update" ? "Updated" : "Uninstalled";
405833
406048
  const depWarn = reverseDependents && reverseDependents.length > 0 ? ` · required by ${reverseDependents.join(", ")}` : "";
405834
- const message = `✓ ${operationName} ${selectedPlugin.plugin.name}${depWarn}. Run /reload-plugins to apply.`;
406049
+ const message = `✓ ${operationName} ${selectedPlugin.plugin.name}${depWarn}.`;
405835
406050
  setResult(message);
405836
406051
  if (onManageComplete) {
405837
406052
  await onManageComplete();
@@ -406190,7 +406405,7 @@ function ManagePlugins({
406190
406405
  return;
406191
406406
  }
406192
406407
  clearAllCaches();
406193
- setResult(`✓ Disabled ${selectedPlugin.plugin.name} in .atlas/settings.local.json. Run /reload-plugins to apply.`);
406408
+ setResult(`✓ Disabled ${selectedPlugin.plugin.name} in .atlas/settings.local.json.`);
406194
406409
  if (onManageComplete)
406195
406410
  onManageComplete();
406196
406411
  setParentViewState({
@@ -406309,10 +406524,10 @@ function ManagePlugins({
406309
406524
  onDone: (outcome, detail) => {
406310
406525
  switch (outcome) {
406311
406526
  case "configured":
406312
- finish(`✓ Enabled and configured ${selectedPlugin.plugin.name}. Run /reload-plugins to apply.`);
406527
+ finish(`✓ Enabled and configured ${selectedPlugin.plugin.name}.`);
406313
406528
  break;
406314
406529
  case "skipped":
406315
- finish(`✓ Enabled ${selectedPlugin.plugin.name}. Run /reload-plugins to apply.`);
406530
+ finish(`✓ Enabled ${selectedPlugin.plugin.name}.`);
406316
406531
  break;
406317
406532
  case "error":
406318
406533
  finish(`Failed to save configuration: ${detail}`);
@@ -408885,7 +409100,7 @@ function PluginSettings(t0) {
408885
409100
  let t3;
408886
409101
  if ($[5] !== setAppState) {
408887
409102
  t3 = () => {
408888
- setAppState(_temp134);
409103
+ refreshActivePluginsLightweight(setAppState);
408889
409104
  };
408890
409105
  $[5] = setAppState;
408891
409106
  $[6] = t3;
@@ -409397,15 +409612,6 @@ function PluginSettings(t0) {
409397
409612
  }
409398
409613
  return t27;
409399
409614
  }
409400
- function _temp134(prev) {
409401
- return prev.plugins.needsRefresh ? prev : {
409402
- ...prev,
409403
- plugins: {
409404
- ...prev.plugins,
409405
- needsRefresh: true
409406
- }
409407
- };
409408
- }
409409
409615
  function _temp05(s) {
409410
409616
  let count = s.plugins.errors.length;
409411
409617
  for (const m of s.plugins.installationStatus.marketplaces) {
@@ -409430,6 +409636,7 @@ var init_PluginSettings = __esm(() => {
409430
409636
  init_marketplaceHelpers();
409431
409637
  init_marketplaceManager();
409432
409638
  init_pluginStartupCheck();
409639
+ init_refresh();
409433
409640
  init_settings3();
409434
409641
  init_AddMarketplace();
409435
409642
  init_MarketplaceAdopt();
@@ -409478,106 +409685,6 @@ var init_plugin3 = __esm(() => {
409478
409685
  plugin_default = plugin;
409479
409686
  });
409480
409687
 
409481
- // src/tui/utils/plugins/refresh.ts
409482
- async function refreshActivePlugins(setAppState) {
409483
- logForDebugging3("refreshActivePlugins: clearing all plugin caches");
409484
- clearAllCaches();
409485
- clearPluginCacheExclusions();
409486
- const pluginResult = await loadAllPlugins();
409487
- const [pluginCommands, agentDefinitions] = await Promise.all([
409488
- getPluginCommands(),
409489
- getAgentDefinitionsWithOverrides(getOriginalCwd())
409490
- ]);
409491
- const { enabled, disabled, errors } = pluginResult;
409492
- const [mcpCounts, lspCounts] = await Promise.all([
409493
- Promise.all(enabled.map(async (p) => {
409494
- if (p.mcpServers)
409495
- return Object.keys(p.mcpServers).length;
409496
- const servers = await loadPluginMcpServers(p, errors);
409497
- if (servers)
409498
- p.mcpServers = servers;
409499
- return servers ? Object.keys(servers).length : 0;
409500
- })),
409501
- Promise.all(enabled.map(async (p) => {
409502
- if (p.lspServers)
409503
- return Object.keys(p.lspServers).length;
409504
- const servers = await loadPluginLspServers(p, errors);
409505
- if (servers)
409506
- p.lspServers = servers;
409507
- return servers ? Object.keys(servers).length : 0;
409508
- }))
409509
- ]);
409510
- const mcp_count = mcpCounts.reduce((sum, n) => sum + n, 0);
409511
- const lsp_count = lspCounts.reduce((sum, n) => sum + n, 0);
409512
- setAppState((prev) => ({
409513
- ...prev,
409514
- plugins: {
409515
- ...prev.plugins,
409516
- enabled,
409517
- disabled,
409518
- commands: pluginCommands,
409519
- errors: mergePluginErrors(prev.plugins.errors, errors),
409520
- needsRefresh: false
409521
- },
409522
- agentDefinitions,
409523
- mcp: {
409524
- ...prev.mcp,
409525
- pluginReconnectKey: prev.mcp.pluginReconnectKey + 1
409526
- }
409527
- }));
409528
- reinitializeLspServerManager2();
409529
- let hook_load_failed = false;
409530
- try {
409531
- await loadPluginHooks();
409532
- } catch (e) {
409533
- hook_load_failed = true;
409534
- logError3(e);
409535
- logForDebugging3(`refreshActivePlugins: loadPluginHooks failed: ${errorMessage2(e)}`);
409536
- }
409537
- const hook_count = enabled.reduce((sum, p) => {
409538
- if (!p.hooksConfig)
409539
- return sum;
409540
- return sum + Object.values(p.hooksConfig).reduce((s, matchers) => s + (matchers?.reduce((h, m) => h + m.hooks.length, 0) ?? 0), 0);
409541
- }, 0);
409542
- logForDebugging3(`refreshActivePlugins: ${enabled.length} enabled, ${pluginCommands.length} commands, ${agentDefinitions.allAgents.length} agents, ${hook_count} hooks, ${mcp_count} MCP, ${lsp_count} LSP`);
409543
- return {
409544
- enabled_count: enabled.length,
409545
- disabled_count: disabled.length,
409546
- command_count: pluginCommands.length,
409547
- agent_count: agentDefinitions.allAgents.length,
409548
- hook_count,
409549
- mcp_count,
409550
- lsp_count,
409551
- error_count: errors.length + (hook_load_failed ? 1 : 0),
409552
- agentDefinitions,
409553
- pluginCommands
409554
- };
409555
- }
409556
- function mergePluginErrors(existing, fresh) {
409557
- const preserved = existing.filter((e) => e.source === "lsp-manager" || e.source.startsWith("plugin:"));
409558
- const freshKeys = new Set(fresh.map(errorKey));
409559
- const deduped = preserved.filter((e) => !freshKeys.has(errorKey(e)));
409560
- return [...deduped, ...fresh];
409561
- }
409562
- function errorKey(e) {
409563
- return e.type === "generic-error" ? `generic-error:${e.source}:${e.error}` : `${e.type}:${e.source}`;
409564
- }
409565
- var init_refresh = __esm(() => {
409566
- init_bootstrap();
409567
- init_manager();
409568
- init_loadAgentsDir2();
409569
- init_debug();
409570
- init_errors4();
409571
- init_log5();
409572
- init_cacheUtils();
409573
- init_loadPluginCommands();
409574
- init_loadPluginHooks();
409575
- init_lspPluginIntegration();
409576
- init_mcpPluginIntegration();
409577
- init_orphanedPluginFilter();
409578
- init_pluginLoader();
409579
- });
409580
-
409581
409688
  // src/tui/commands/reload-plugins/reload-plugins.ts
409582
409689
  var exports_reload_plugins = {};
409583
409690
  __export(exports_reload_plugins, {
@@ -409874,7 +409981,7 @@ function SandboxConfigTab() {
409874
409981
  t0 = depCheck.warnings.length > 0 ? /* @__PURE__ */ jsx_dev_runtime296.jsxDEV(ThemedBox_default, {
409875
409982
  marginTop: 1,
409876
409983
  flexDirection: "column",
409877
- children: depCheck.warnings.map(_temp135)
409984
+ children: depCheck.warnings.map(_temp134)
409878
409985
  }, undefined, false, undefined, this) : null;
409879
409986
  $[0] = t0;
409880
409987
  } else {
@@ -410050,7 +410157,7 @@ function SandboxConfigTab() {
410050
410157
  }
410051
410158
  return t1;
410052
410159
  }
410053
- function _temp135(w, i) {
410160
+ function _temp134(w, i) {
410054
410161
  return /* @__PURE__ */ jsx_dev_runtime296.jsxDEV(ThemedText, {
410055
410162
  dimColor: true,
410056
410163
  children: w
@@ -410081,7 +410188,7 @@ function SandboxDependenciesTab(t0) {
410081
410188
  const isMac = platform === "macos";
410082
410189
  let t2;
410083
410190
  if ($[1] !== depCheck.errors) {
410084
- t2 = depCheck.errors.some(_temp136);
410191
+ t2 = depCheck.errors.some(_temp135);
410085
410192
  $[1] = depCheck.errors;
410086
410193
  $[2] = t2;
410087
410194
  } else {
@@ -410295,7 +410402,7 @@ function _temp341(e_1) {
410295
410402
  function _temp262(e_0) {
410296
410403
  return e_0.includes("bwrap");
410297
410404
  }
410298
- function _temp136(e) {
410405
+ function _temp135(e) {
410299
410406
  return e.includes("ripgrep");
410300
410407
  }
410301
410408
  var import_compiler_runtime236, jsx_dev_runtime297;
@@ -412024,11 +412131,8 @@ var init_export2 = __esm(() => {
412024
412131
 
412025
412132
  // src/tui/utils/immediateCommand.ts
412026
412133
  function shouldInferenceConfigCommandBeImmediate() {
412027
- return getFeatureValue_CACHED_MAY_BE_STALE("atlas_immediate_model_command", false);
412134
+ return true;
412028
412135
  }
412029
- var init_immediateCommand = __esm(() => {
412030
- init_growthbook();
412031
- });
412032
412136
 
412033
412137
  // src/tui/commands/model/model.tsx
412034
412138
  var exports_model = {};
@@ -412040,7 +412144,7 @@ function ModelPickerWrapper(t0) {
412040
412144
  const {
412041
412145
  onDone
412042
412146
  } = t0;
412043
- const mainLoopModel = useAppState(_temp137);
412147
+ const mainLoopModel = useAppState(_temp136);
412044
412148
  const mainLoopModelForSession = useAppState(_temp263);
412045
412149
  const setAppState = useSetAppState();
412046
412150
  let t1;
@@ -412116,7 +412220,7 @@ function ModelPickerWrapper(t0) {
412116
412220
  function _temp263(s_0) {
412117
412221
  return s_0.mainLoopModelForSession;
412118
412222
  }
412119
- function _temp137(s) {
412223
+ function _temp136(s) {
412120
412224
  return s.mainLoopModel;
412121
412225
  }
412122
412226
  function SetModelAndClose({
@@ -412250,7 +412354,6 @@ var init_model2 = __esm(() => {
412250
412354
  // src/tui/commands/model/index.ts
412251
412355
  var model_default;
412252
412356
  var init_model3 = __esm(() => {
412253
- init_immediateCommand();
412254
412357
  init_model();
412255
412358
  model_default = {
412256
412359
  type: "local-jsx",
@@ -412708,7 +412811,7 @@ function ShowCurrentEffort(t0) {
412708
412811
  const {
412709
412812
  onDone
412710
412813
  } = t0;
412711
- const effortValue = useAppState(_temp138);
412814
+ const effortValue = useAppState(_temp137);
412712
412815
  const model = useMainLoopModel();
412713
412816
  const {
412714
412817
  message
@@ -412716,7 +412819,7 @@ function ShowCurrentEffort(t0) {
412716
412819
  onDone(message);
412717
412820
  return null;
412718
412821
  }
412719
- function _temp138(s) {
412822
+ function _temp137(s) {
412720
412823
  return s.effortValue;
412721
412824
  }
412722
412825
  function ApplyEffortAndClose(t0) {
@@ -412797,7 +412900,6 @@ var init_effort3 = __esm(() => {
412797
412900
  // src/tui/commands/effort/index.ts
412798
412901
  var effort_default;
412799
412902
  var init_effort4 = __esm(() => {
412800
- init_immediateCommand();
412801
412903
  effort_default = {
412802
412904
  type: "local-jsx",
412803
412905
  name: "effort",
@@ -414470,7 +414572,7 @@ function StatsContent(t0) {
414470
414572
  });
414471
414573
  }
414472
414574
  if (key.tab) {
414473
- setActiveTab(_temp139);
414575
+ setActiveTab(_temp138);
414474
414576
  }
414475
414577
  if (input === "r" && !key.ctrl && !key.meta) {
414476
414578
  setDateRange(getNextDateRange(dateRange));
@@ -414635,7 +414737,7 @@ function StatsContent(t0) {
414635
414737
  }
414636
414738
  return t12;
414637
414739
  }
414638
- function _temp139(prev_0) {
414740
+ function _temp138(prev_0) {
414639
414741
  return prev_0 === "Overview" ? "Models" : "Overview";
414640
414742
  }
414641
414743
  function DateRangeSelector(t0) {
@@ -415253,7 +415355,7 @@ function ModelsTab(t0) {
415253
415355
  children: chartOutput.xAxisLabels
415254
415356
  }, undefined, false, undefined, this),
415255
415357
  /* @__PURE__ */ jsx_dev_runtime310.jsxDEV(ThemedBox_default, {
415256
- children: chartOutput.legend.map(_temp140)
415358
+ children: chartOutput.legend.map(_temp139)
415257
415359
  }, undefined, false, undefined, this)
415258
415360
  ]
415259
415361
  }, undefined, true, undefined, this),
@@ -415281,7 +415383,7 @@ function ModelsTab(t0) {
415281
415383
  ]
415282
415384
  }, undefined, true, undefined, this);
415283
415385
  }
415284
- function _temp140(item, i) {
415386
+ function _temp139(item, i) {
415285
415387
  return /* @__PURE__ */ jsx_dev_runtime310.jsxDEV(ThemedText, {
415286
415388
  children: [
415287
415389
  i > 0 ? " · " : "",
@@ -432059,7 +432161,7 @@ function useKeybindingWarnings(warnings, isReload) {
432059
432161
  removeNotification("keybinding-config-warning");
432060
432162
  return;
432061
432163
  }
432062
- const errorCount = count7(warnings, _temp141);
432164
+ const errorCount = count7(warnings, _temp140);
432063
432165
  const warnCount = count7(warnings, _temp264);
432064
432166
  let message;
432065
432167
  if (errorCount > 0 && warnCount > 0) {
@@ -432103,7 +432205,7 @@ function useKeybindingWarnings(warnings, isReload) {
432103
432205
  function _temp264(w_0) {
432104
432206
  return w_0.severity === "warning";
432105
432207
  }
432106
- function _temp141(w) {
432208
+ function _temp140(w) {
432107
432209
  return w.severity === "error";
432108
432210
  }
432109
432211
  function KeybindingSetup({
@@ -434951,7 +435053,7 @@ function PreviewBoxBody(t0) {
434951
435053
  const effectiveMinHeight = Math.min(minHeight ?? 0, effectiveMaxLines);
434952
435054
  const paddingNeeded = Math.max(0, effectiveMinHeight - truncatedLines.length - (isTruncated ? 1 : 0));
434953
435055
  const lines = paddingNeeded > 0 ? [...truncatedLines, ...Array(paddingNeeded).fill("")] : truncatedLines;
434954
- const contentWidth = Math.max(minWidth, ...lines.map(_temp143));
435056
+ const contentWidth = Math.max(minWidth, ...lines.map(_temp141));
434955
435057
  const boxWidth = Math.min(contentWidth + 4, effectiveMaxWidth);
434956
435058
  const innerWidth = boxWidth - 4;
434957
435059
  let t6;
@@ -435091,7 +435193,7 @@ function PreviewBoxBody(t0) {
435091
435193
  }
435092
435194
  return t8;
435093
435195
  }
435094
- function _temp143(line) {
435196
+ function _temp141(line) {
435095
435197
  return stringWidth2(line);
435096
435198
  }
435097
435199
  var import_compiler_runtime254, import_react179, jsx_dev_runtime322, BOX_CHARS;
@@ -435161,7 +435263,7 @@ function QuestionNavigationBar(t0) {
435161
435263
  t2 = t3;
435162
435264
  break bb0;
435163
435265
  }
435164
- const tabHeaders = questions.map(_temp144);
435266
+ const tabHeaders = questions.map(_temp143);
435165
435267
  const idealWidths = tabHeaders.map(_temp265);
435166
435268
  const totalIdealWidth = idealWidths.reduce(_temp342, 0);
435167
435269
  if (totalIdealWidth <= availableForTabs) {
@@ -435337,7 +435439,7 @@ function _temp342(sum, w) {
435337
435439
  function _temp265(header_0) {
435338
435440
  return 4 + stringWidth2(header_0);
435339
435441
  }
435340
- function _temp144(q_0, index_0) {
435442
+ function _temp143(q_0, index_0) {
435341
435443
  return q_0?.header || `Q${index_0 + 1}`;
435342
435444
  }
435343
435445
  var import_compiler_runtime255, jsx_dev_runtime323;
@@ -435768,7 +435870,7 @@ function QuestionView(t0) {
435768
435870
  onRemoveImage
435769
435871
  } = t0;
435770
435872
  const hideSubmitTab = t1 === undefined ? false : t1;
435771
- const isInPlanMode = useAppState(_temp145) === "plan";
435873
+ const isInPlanMode = useAppState(_temp144) === "plan";
435772
435874
  const [isFooterFocused, setIsFooterFocused] = import_react181.useState(false);
435773
435875
  const [footerIndex, setFooterIndex] = import_react181.useState(0);
435774
435876
  const [isOtherFocused, setIsOtherFocused] = import_react181.useState(false);
@@ -436336,7 +436438,7 @@ function _temp266(opt) {
436336
436438
  description: opt.description
436337
436439
  };
436338
436440
  }
436339
- function _temp145(s) {
436441
+ function _temp144(s) {
436340
436442
  return s.toolPermissionContext.mode;
436341
436443
  }
436342
436444
  var import_compiler_runtime256, import_react181, jsx_dev_runtime325;
@@ -436414,7 +436516,7 @@ function PermissionRuleExplanation(t0) {
436414
436516
  permissionResult,
436415
436517
  toolType
436416
436518
  } = t0;
436417
- const permissionMode = useAppState(_temp146);
436519
+ const permissionMode = useAppState(_temp145);
436418
436520
  const t1 = permissionResult?.decisionReason;
436419
436521
  let t2;
436420
436522
  if ($[0] !== t1 || $[1] !== toolType) {
@@ -436475,7 +436577,7 @@ function PermissionRuleExplanation(t0) {
436475
436577
  }
436476
436578
  return t5;
436477
436579
  }
436478
- function _temp146(s) {
436580
+ function _temp145(s) {
436479
436581
  return s.toolPermissionContext.mode;
436480
436582
  }
436481
436583
  var import_compiler_runtime257, jsx_dev_runtime326;
@@ -436912,7 +437014,7 @@ function AskUserQuestionPermissionRequestBody(t0) {
436912
437014
  const maxAllowedHeight = Math.max(MIN_CONTENT_HEIGHT, terminalRows - CONTENT_CHROME_OVERHEAD);
436913
437015
  if ($[5] !== highlight || $[6] !== maxAllowedHeight || $[7] !== maxHeight || $[8] !== maxWidth || $[9] !== questions || $[10] !== theme) {
436914
437016
  for (const q of questions) {
436915
- const hasPreview = q.options.some(_temp147);
437017
+ const hasPreview = q.options.some(_temp146);
436916
437018
  if (hasPreview) {
436917
437019
  const maxPreviewContentLines = Math.max(1, maxAllowedHeight - 11);
436918
437020
  let maxPreviewBoxHeight = 0;
@@ -437442,7 +437544,7 @@ function _temp344(c) {
437442
437544
  function _temp267(contents) {
437443
437545
  return Object.values(contents);
437444
437546
  }
437445
- function _temp147(opt) {
437547
+ function _temp146(opt) {
437446
437548
  return opt.preview;
437447
437549
  }
437448
437550
  async function convertImagesToBlocks(images) {
@@ -437484,6 +437586,28 @@ var init_AskUserQuestionPermissionRequest = __esm(() => {
437484
437586
  jsx_dev_runtime328 = __toESM(require_jsx_dev_runtime(), 1);
437485
437587
  });
437486
437588
 
437589
+ // src/tui/utils/permissions/autoModePermissionOption.ts
437590
+ function isAutoModeOptionVisible(context) {
437591
+ return isAutoModeGateEnabled() && context.mode !== "auto";
437592
+ }
437593
+ function applyAutoModePermissionOption(context, setAppState, recheckPermission) {
437594
+ let next;
437595
+ try {
437596
+ next = {
437597
+ ...transitionPermissionMode(context.mode, "auto", context),
437598
+ mode: "auto"
437599
+ };
437600
+ } catch {
437601
+ recheckPermission();
437602
+ return;
437603
+ }
437604
+ setAppState((prev) => ({ ...prev, toolPermissionContext: next }));
437605
+ recheckPermission();
437606
+ }
437607
+ var init_autoModePermissionOption = __esm(() => {
437608
+ init_permissionSetup2();
437609
+ });
437610
+
437487
437611
  // src/tui/tools/BashTool/destructiveCommandWarning.ts
437488
437612
  function getDestructiveCommandWarning2(command) {
437489
437613
  for (const { pattern, warning } of DESTRUCTIVE_PATTERNS) {
@@ -438303,7 +438427,7 @@ function SuggestedRules(t0) {
438303
438427
  t3 = "Suggested rules:";
438304
438428
  t4 = " ";
438305
438429
  T0 = Ansi;
438306
- t1 = rules.map(_temp148).join(", ");
438430
+ t1 = rules.map(_temp147).join(", ");
438307
438431
  }
438308
438432
  $[0] = suggestions;
438309
438433
  $[1] = T0;
@@ -438357,7 +438481,7 @@ function SuggestedRules(t0) {
438357
438481
  }
438358
438482
  return t7;
438359
438483
  }
438360
- function _temp148(rule) {
438484
+ function _temp147(rule) {
438361
438485
  return source_default.bold(permissionRuleValueToString2(rule));
438362
438486
  }
438363
438487
  function extractDirectories(updates) {
@@ -439181,7 +439305,7 @@ function usePermissionExplainerUI(props) {
439181
439305
  setPromise(createExplanationPromise(props));
439182
439306
  }
439183
439307
  }
439184
- setVisible(_temp149);
439308
+ setVisible(_temp148);
439185
439309
  };
439186
439310
  $[1] = promise;
439187
439311
  $[2] = props;
@@ -439216,7 +439340,7 @@ function usePermissionExplainerUI(props) {
439216
439340
  }
439217
439341
  return t3;
439218
439342
  }
439219
- function _temp149(v) {
439343
+ function _temp148(v) {
439220
439344
  return !v;
439221
439345
  }
439222
439346
  function ExplanationResult(t0) {
@@ -440148,6 +440272,16 @@ function getFilePermissionOptions({
440148
440272
  }
440149
440273
  });
440150
440274
  }
440275
+ if (isAutoModeOptionVisible(toolPermissionContext)) {
440276
+ options.push({
440277
+ label: "Auto mode",
440278
+ description: "Switch this session to auto mode; this request is re-checked by the auto gate",
440279
+ value: "auto-mode",
440280
+ option: {
440281
+ type: "accept-auto-mode"
440282
+ }
440283
+ });
440284
+ }
440151
440285
  return options;
440152
440286
  }
440153
440287
  var jsx_dev_runtime334;
@@ -440158,6 +440292,7 @@ var init_permissionOptions = __esm(() => {
440158
440292
  init_shortcutFormat();
440159
440293
  init_path3();
440160
440294
  init_filesystem2();
440295
+ init_autoModePermissionOption();
440161
440296
  jsx_dev_runtime334 = __toESM(require_jsx_dev_runtime(), 1);
440162
440297
  });
440163
440298
 
@@ -440229,15 +440364,20 @@ function handleReject(params, options) {
440229
440364
  onReject();
440230
440365
  toolUseConfirm.onReject(options?.feedback);
440231
440366
  }
440367
+ function handleAcceptAutoMode(params, _options) {
440368
+ applyAutoModePermissionOption(params.toolPermissionContext, params.setAppState, () => params.toolUseConfirm.recheckPermission());
440369
+ }
440232
440370
  var PERMISSION_HANDLERS;
440233
440371
  var init_usePermissionHandler = __esm(() => {
440372
+ init_autoModePermissionOption();
440234
440373
  init_constants8();
440235
440374
  init_env2();
440236
440375
  init_filesystem2();
440237
440376
  PERMISSION_HANDLERS = {
440238
440377
  "accept-once": handleAcceptOnce,
440239
440378
  "accept-session": handleAcceptSession,
440240
- reject: handleReject
440379
+ reject: handleReject,
440380
+ "accept-auto-mode": handleAcceptAutoMode
440241
440381
  };
440242
440382
  });
440243
440383
 
@@ -440253,6 +440393,7 @@ function useFilePermissionDialog({
440253
440393
  operationType = "write"
440254
440394
  }) {
440255
440395
  const toolPermissionContext = useAppState((s) => s.toolPermissionContext);
440396
+ const setAppState = useSetAppState();
440256
440397
  const [acceptFeedback, setAcceptFeedback] = import_react188.useState("");
440257
440398
  const [rejectFeedback, setRejectFeedback] = import_react188.useState("");
440258
440399
  const [focusedOption, setFocusedOption] = import_react188.useState("yes");
@@ -440279,7 +440420,8 @@ function useFilePermissionDialog({
440279
440420
  onReject,
440280
440421
  completionType,
440281
440422
  languageName,
440282
- operationType
440423
+ operationType,
440424
+ setAppState
440283
440425
  };
440284
440426
  const originalOnAllow = toolUseConfirm.onAllow;
440285
440427
  toolUseConfirm.onAllow = (_input, permissionUpdates, feedback) => {
@@ -440302,7 +440444,8 @@ function useFilePermissionDialog({
440302
440444
  onReject,
440303
440445
  operationType,
440304
440446
  yesFeedbackModeEntered,
440305
- noFeedbackModeEntered
440447
+ noFeedbackModeEntered,
440448
+ setAppState
440306
440449
  ]);
440307
440450
  const handleCycleMode = import_react188.useCallback(() => {
440308
440451
  const sessionOption = options.find((o) => o.option.type === "accept-session");
@@ -440587,7 +440730,7 @@ function SedEditPermissionRequest(t0) {
440587
440730
  `),
440588
440731
  fileExists: true
440589
440732
  };
440590
- })().catch(_temp150);
440733
+ })().catch(_temp149);
440591
440734
  $[3] = filePath;
440592
440735
  $[4] = t1;
440593
440736
  } else {
@@ -440613,7 +440756,7 @@ function SedEditPermissionRequest(t0) {
440613
440756
  }
440614
440757
  return t2;
440615
440758
  }
440616
- function _temp150(e) {
440759
+ function _temp149(e) {
440617
440760
  if (!isENOENT2(e)) {
440618
440761
  throw e;
440619
440762
  }
@@ -441171,7 +441314,8 @@ function bashToolUseOptions({
441171
441314
  yesInputMode = false,
441172
441315
  noInputMode = false,
441173
441316
  editablePrefix,
441174
- onEditablePrefixChange
441317
+ onEditablePrefixChange,
441318
+ showAutoModeOption = false
441175
441319
  }) {
441176
441320
  const options = [];
441177
441321
  if (yesInputMode) {
@@ -441214,6 +441358,13 @@ function bashToolUseOptions({
441214
441358
  }
441215
441359
  }
441216
441360
  }
441361
+ if (showAutoModeOption) {
441362
+ options.push({
441363
+ label: "Auto mode",
441364
+ description: "Switch this session to auto mode; this request is re-checked by the auto gate",
441365
+ value: "yes-auto-mode"
441366
+ });
441367
+ }
441217
441368
  if (noInputMode) {
441218
441369
  options.push({
441219
441370
  type: "input",
@@ -441371,6 +441522,7 @@ function BashPermissionRequestInner({
441371
441522
  }) {
441372
441523
  const [theme] = useTheme();
441373
441524
  const toolPermissionContext = useAppState((s) => s.toolPermissionContext);
441525
+ const setAppState = useSetAppState();
441374
441526
  const explainerState = usePermissionExplainerUI({
441375
441527
  toolName: toolUseConfirm.tool.name,
441376
441528
  toolInput: toolUseConfirm.input,
@@ -441480,8 +441632,9 @@ function BashPermissionRequestInner({
441480
441632
  yesInputMode,
441481
441633
  noInputMode,
441482
441634
  editablePrefix,
441483
- onEditablePrefixChange
441484
- }), [toolUseConfirm, classifierDescription, initialClassifierDescriptionEmpty, existingAllowDescriptions, yesInputMode, noInputMode, editablePrefix, onEditablePrefixChange]);
441635
+ onEditablePrefixChange,
441636
+ showAutoModeOption: isAutoModeOptionVisible(toolPermissionContext)
441637
+ }), [toolUseConfirm, classifierDescription, initialClassifierDescriptionEmpty, existingAllowDescriptions, yesInputMode, noInputMode, editablePrefix, onEditablePrefixChange, toolPermissionContext]);
441485
441638
  const handleToggleDebug = import_react192.useCallback(() => {
441486
441639
  setShowPermissionDebug((prev) => !prev);
441487
441640
  }, []);
@@ -441499,6 +441652,7 @@ function BashPermissionRequestInner({
441499
441652
  if (value_0 === "yes-prefix-edited") {
441500
441653
  const trimmedPrefix = (editablePrefix ?? "").trim();
441501
441654
  logUnaryPermissionEvent("tool_use_single", toolUseConfirm, "accept");
441655
+ setUserApproval(toolUseConfirm.toolUseID);
441502
441656
  if (!trimmedPrefix) {
441503
441657
  toolUseConfirm.onAllow(toolUseConfirm.input, []);
441504
441658
  } else {
@@ -441519,6 +441673,7 @@ function BashPermissionRequestInner({
441519
441673
  if (feature("BASH_CLASSIFIER") && value_0 === "yes-classifier-reviewed") {
441520
441674
  const trimmedDescription = classifierDescription.trim();
441521
441675
  logUnaryPermissionEvent("tool_use_single", toolUseConfirm, "accept");
441676
+ setUserApproval(toolUseConfirm.toolUseID);
441522
441677
  if (!trimmedDescription) {
441523
441678
  toolUseConfirm.onAllow(toolUseConfirm.input, []);
441524
441679
  } else {
@@ -441536,16 +441691,22 @@ function BashPermissionRequestInner({
441536
441691
  onDone();
441537
441692
  return;
441538
441693
  }
441694
+ if (value_0 === "yes-auto-mode") {
441695
+ applyAutoModePermissionOption(toolPermissionContext, setAppState, () => toolUseConfirm.recheckPermission());
441696
+ return;
441697
+ }
441539
441698
  switch (value_0) {
441540
441699
  case "yes": {
441541
441700
  const trimmedFeedback_0 = acceptFeedback.trim();
441542
441701
  logUnaryPermissionEvent("tool_use_single", toolUseConfirm, "accept");
441702
+ setUserApproval(toolUseConfirm.toolUseID);
441543
441703
  toolUseConfirm.onAllow(toolUseConfirm.input, [], trimmedFeedback_0 || undefined);
441544
441704
  onDone();
441545
441705
  break;
441546
441706
  }
441547
441707
  case "yes-apply-suggestions": {
441548
441708
  logUnaryPermissionEvent("tool_use_single", toolUseConfirm, "accept");
441709
+ setUserApproval(toolUseConfirm.toolUseID);
441549
441710
  const permissionUpdates_0 = "suggestions" in toolUseConfirm.permissionResult ? toolUseConfirm.permissionResult.suggestions || [] : [];
441550
441711
  toolUseConfirm.onAllow(toolUseConfirm.input, permissionUpdates_0);
441551
441712
  onDone();
@@ -441558,6 +441719,7 @@ function BashPermissionRequestInner({
441558
441719
  }
441559
441720
  }
441560
441721
  }
441722
+ const verdictLineText = verdictLine(toolUseConfirm.permissionResult.decisionReason, toolPermissionContext.mode);
441561
441723
  const classifierSubtitle = feature("BASH_CLASSIFIER") ? toolUseConfirm.classifierAutoApproved ? /* @__PURE__ */ jsx_dev_runtime338.jsxDEV(ThemedText, {
441562
441724
  children: [
441563
441725
  /* @__PURE__ */ jsx_dev_runtime338.jsxDEV(ThemedText, {
@@ -441630,6 +441792,10 @@ function BashPermissionRequestInner({
441630
441792
  /* @__PURE__ */ jsx_dev_runtime338.jsxDEV(ThemedBox_default, {
441631
441793
  flexDirection: "column",
441632
441794
  children: [
441795
+ verdictLineText !== null && /* @__PURE__ */ jsx_dev_runtime338.jsxDEV(ThemedText, {
441796
+ dimColor: true,
441797
+ children: verdictLineText
441798
+ }, undefined, false, undefined, this),
441633
441799
  /* @__PURE__ */ jsx_dev_runtime338.jsxDEV(PermissionRuleExplanation, {
441634
441800
  permissionResult: toolUseConfirm.permissionResult,
441635
441801
  toolType: "command"
@@ -441691,6 +441857,7 @@ var init_BashPermissionRequest = __esm(() => {
441691
441857
  init_useKeybinding();
441692
441858
  init_growthbook();
441693
441859
  init_AppState();
441860
+ init_autoModePermissionOption();
441694
441861
  init_BashTool();
441695
441862
  init_bashPermissions2();
441696
441863
  init_destructiveCommandWarning2();
@@ -441707,6 +441874,8 @@ var init_BashPermissionRequest = __esm(() => {
441707
441874
  init_PermissionDialog();
441708
441875
  init_PermissionExplanation();
441709
441876
  init_PermissionRuleExplanation();
441877
+ init_permissionVerdict();
441878
+ init_userApprovals();
441710
441879
  init_SedEditPermissionRequest();
441711
441880
  init_useShellPermissionFeedback();
441712
441881
  init_utils13();
@@ -441725,7 +441894,7 @@ function EnterPlanModePermissionRequest(t0) {
441725
441894
  onReject,
441726
441895
  workerBadge
441727
441896
  } = t0;
441728
- const toolPermissionContextMode = useAppState(_temp151);
441897
+ const toolPermissionContextMode = useAppState(_temp150);
441729
441898
  let t1;
441730
441899
  if ($[0] !== onDone || $[1] !== onReject || $[2] !== toolPermissionContextMode || $[3] !== toolUseConfirm) {
441731
441900
  t1 = function handleResponse(value) {
@@ -441876,7 +442045,7 @@ function EnterPlanModePermissionRequest(t0) {
441876
442045
  }
441877
442046
  return t9;
441878
442047
  }
441879
- function _temp151(s) {
442048
+ function _temp150(s) {
441880
442049
  return s.toolPermissionContext.mode;
441881
442050
  }
441882
442051
  var import_compiler_runtime267, jsx_dev_runtime339;
@@ -442807,7 +442976,7 @@ function PermissionPrompt(t0) {
442807
442976
  let t7;
442808
442977
  if ($[31] !== onCancel || $[32] !== setAppState) {
442809
442978
  t7 = () => {
442810
- setAppState(_temp153);
442979
+ setAppState(_temp151);
442811
442980
  onCancel?.();
442812
442981
  };
442813
442982
  $[31] = onCancel;
@@ -442904,7 +443073,7 @@ function PermissionPrompt(t0) {
442904
443073
  }
442905
443074
  return t13;
442906
443075
  }
442907
- function _temp153(prev) {
443076
+ function _temp151(prev) {
442908
443077
  return {
442909
443078
  ...prev,
442910
443079
  attribution: {
@@ -443336,7 +443505,7 @@ function createSingleEditDiffConfig(filePath, oldString, newString, replaceAll)
443336
443505
  import { basename as basename57, relative as relative33 } from "path";
443337
443506
  function FileEditPermissionRequest(props) {
443338
443507
  const $ = import_compiler_runtime270.c(51);
443339
- const parseInput = _temp154;
443508
+ const parseInput = _temp153;
443340
443509
  let T0;
443341
443510
  let T1;
443342
443511
  let T2;
@@ -443512,7 +443681,7 @@ function FileEditPermissionRequest(props) {
443512
443681
  }
443513
443682
  return t16;
443514
443683
  }
443515
- function _temp154(input) {
443684
+ function _temp153(input) {
443516
443685
  return FileEditTool.inputSchema.parse(input);
443517
443686
  }
443518
443687
  var import_compiler_runtime270, jsx_dev_runtime343, ideDiffSupport;
@@ -443586,7 +443755,7 @@ function FilesystemPermissionRequest(t0) {
443586
443755
  const isReadOnly = toolUseConfirm.tool.isReadOnly(toolUseConfirm.input);
443587
443756
  const userFacingReadOrEdit = isReadOnly ? "Read" : "Edit";
443588
443757
  const title = `${userFacingReadOrEdit} file`;
443589
- const parseInput = _temp155;
443758
+ const parseInput = _temp154;
443590
443759
  if (!path) {
443591
443760
  let t3;
443592
443761
  if ($[5] !== onDone || $[6] !== onReject || $[7] !== toolUseConfirm || $[8] !== toolUseContext || $[9] !== verbose || $[10] !== workerBadge) {
@@ -443677,7 +443846,7 @@ function FilesystemPermissionRequest(t0) {
443677
443846
  }
443678
443847
  return t6;
443679
443848
  }
443680
- function _temp155(input) {
443849
+ function _temp154(input) {
443681
443850
  return input;
443682
443851
  }
443683
443852
  var import_compiler_runtime271, jsx_dev_runtime344;
@@ -443747,7 +443916,7 @@ function FileWriteToolDiff(t0) {
443747
443916
  firstLine,
443748
443917
  fileContent: oldContent,
443749
443918
  width: columns - 2
443750
- }, _.newStart, false, undefined, this)), _temp156) : /* @__PURE__ */ jsx_dev_runtime345.jsxDEV(HighlightedCode, {
443919
+ }, _.newStart, false, undefined, this)), _temp155) : /* @__PURE__ */ jsx_dev_runtime345.jsxDEV(HighlightedCode, {
443751
443920
  code: content || "(No content)",
443752
443921
  filePath: file_path
443753
443922
  }, undefined, false, undefined, this);
@@ -443782,7 +443951,7 @@ function FileWriteToolDiff(t0) {
443782
443951
  }
443783
443952
  return t4;
443784
443953
  }
443785
- function _temp156(i) {
443954
+ function _temp155(i) {
443786
443955
  return /* @__PURE__ */ jsx_dev_runtime345.jsxDEV(NoSelect, {
443787
443956
  fromLeftEdge: true,
443788
443957
  children: /* @__PURE__ */ jsx_dev_runtime345.jsxDEV(ThemedText, {
@@ -443806,7 +443975,7 @@ var init_FileWriteToolDiff = __esm(() => {
443806
443975
  import { basename as basename58, relative as relative34 } from "path";
443807
443976
  function FileWritePermissionRequest(props) {
443808
443977
  const $ = import_compiler_runtime273.c(30);
443809
- const parseInput = _temp157;
443978
+ const parseInput = _temp156;
443810
443979
  let t0;
443811
443980
  if ($[0] !== props.toolUseConfirm.input) {
443812
443981
  t0 = parseInput(props.toolUseConfirm.input);
@@ -443953,7 +444122,7 @@ function FileWritePermissionRequest(props) {
443953
444122
  }
443954
444123
  return t13;
443955
444124
  }
443956
- function _temp157(input) {
444125
+ function _temp156(input) {
443957
444126
  return FileWriteTool.inputSchema.parse(input);
443958
444127
  }
443959
444128
  var import_compiler_runtime273, jsx_dev_runtime346, ideDiffSupport2;
@@ -444000,7 +444169,7 @@ function NotebookEditToolDiff(props) {
444000
444169
  if ($[0] !== props.notebook_path) {
444001
444170
  t0 = getFsImplementation2().readFile(props.notebook_path, {
444002
444171
  encoding: "utf-8"
444003
- }).then(_temp158).catch(_temp269);
444172
+ }).then(_temp157).catch(_temp269);
444004
444173
  $[0] = props.notebook_path;
444005
444174
  $[1] = t0;
444006
444175
  } else {
@@ -444027,7 +444196,7 @@ function NotebookEditToolDiff(props) {
444027
444196
  function _temp269() {
444028
444197
  return null;
444029
444198
  }
444030
- function _temp158(content) {
444199
+ function _temp157(content) {
444031
444200
  return safeParseJSON3(content);
444032
444201
  }
444033
444202
  function NotebookEditToolDiffInner(t0) {
@@ -444278,7 +444447,7 @@ var init_NotebookEditToolDiff = __esm(() => {
444278
444447
  import { basename as basename59 } from "path";
444279
444448
  function NotebookEditPermissionRequest(props) {
444280
444449
  const $ = import_compiler_runtime275.c(52);
444281
- const parseInput = _temp159;
444450
+ const parseInput = _temp158;
444282
444451
  let T0;
444283
444452
  let T1;
444284
444453
  let T2;
@@ -444450,7 +444619,7 @@ function NotebookEditPermissionRequest(props) {
444450
444619
  }
444451
444620
  return t15;
444452
444621
  }
444453
- function _temp159(input) {
444622
+ function _temp158(input) {
444454
444623
  const result = NotebookEditTool2.inputSchema.safeParse(input);
444455
444624
  if (!result.success) {
444456
444625
  logError3(new Error(`Failed to parse notebook edit input: ${result.error.message}`));
@@ -444688,7 +444857,8 @@ function powershellToolUseOptions({
444688
444857
  yesInputMode = false,
444689
444858
  noInputMode = false,
444690
444859
  editablePrefix,
444691
- onEditablePrefixChange
444860
+ onEditablePrefixChange,
444861
+ showAutoModeOption = false
444692
444862
  }) {
444693
444863
  const options = [];
444694
444864
  if (yesInputMode) {
@@ -444731,6 +444901,13 @@ function powershellToolUseOptions({
444731
444901
  }
444732
444902
  }
444733
444903
  }
444904
+ if (showAutoModeOption) {
444905
+ options.push({
444906
+ label: "Auto mode",
444907
+ description: "Switch this session to auto mode; this request is re-checked by the auto gate",
444908
+ value: "yes-auto-mode"
444909
+ });
444910
+ }
444734
444911
  if (noInputMode) {
444735
444912
  options.push({
444736
444913
  type: "input",
@@ -444767,6 +444944,8 @@ function PowerShellPermissionRequest(props) {
444767
444944
  description
444768
444945
  } = PowerShellTool.inputSchema.parse(toolUseConfirm.input);
444769
444946
  const [theme] = useTheme();
444947
+ const toolPermissionContext = useAppState((s) => s.toolPermissionContext);
444948
+ const setAppState = useSetAppState();
444770
444949
  const explainerState = usePermissionExplainerUI({
444771
444950
  toolName: toolUseConfirm.tool.name,
444772
444951
  toolInput: toolUseConfirm.input,
@@ -444826,8 +445005,9 @@ function PowerShellPermissionRequest(props) {
444826
445005
  yesInputMode,
444827
445006
  noInputMode,
444828
445007
  editablePrefix,
444829
- onEditablePrefixChange
444830
- }), [toolUseConfirm, yesInputMode, noInputMode, editablePrefix, onEditablePrefixChange]);
445008
+ onEditablePrefixChange,
445009
+ showAutoModeOption: isAutoModeOptionVisible(toolPermissionContext)
445010
+ }), [toolUseConfirm, yesInputMode, noInputMode, editablePrefix, onEditablePrefixChange, toolPermissionContext]);
444831
445011
  const handleToggleDebug = import_react196.useCallback(() => {
444832
445012
  setShowPermissionDebug((prev) => !prev);
444833
445013
  }, []);
@@ -444838,6 +445018,7 @@ function PowerShellPermissionRequest(props) {
444838
445018
  if (value === "yes-prefix-edited") {
444839
445019
  const trimmedPrefix = (editablePrefix ?? "").trim();
444840
445020
  logUnaryPermissionEvent("tool_use_single", toolUseConfirm, "accept");
445021
+ setUserApproval(toolUseConfirm.toolUseID);
444841
445022
  if (!trimmedPrefix) {
444842
445023
  toolUseConfirm.onAllow(toolUseConfirm.input, []);
444843
445024
  } else {
@@ -444855,16 +445036,22 @@ function PowerShellPermissionRequest(props) {
444855
445036
  onDone();
444856
445037
  return;
444857
445038
  }
445039
+ if (value === "yes-auto-mode") {
445040
+ applyAutoModePermissionOption(toolPermissionContext, setAppState, () => toolUseConfirm.recheckPermission());
445041
+ return;
445042
+ }
444858
445043
  switch (value) {
444859
445044
  case "yes": {
444860
445045
  const trimmedFeedback = acceptFeedback.trim();
444861
445046
  logUnaryPermissionEvent("tool_use_single", toolUseConfirm, "accept");
445047
+ setUserApproval(toolUseConfirm.toolUseID);
444862
445048
  toolUseConfirm.onAllow(toolUseConfirm.input, [], trimmedFeedback || undefined);
444863
445049
  onDone();
444864
445050
  break;
444865
445051
  }
444866
445052
  case "yes-apply-suggestions": {
444867
445053
  logUnaryPermissionEvent("tool_use_single", toolUseConfirm, "accept");
445054
+ setUserApproval(toolUseConfirm.toolUseID);
444868
445055
  const permissionUpdates = "suggestions" in toolUseConfirm.permissionResult ? toolUseConfirm.permissionResult.suggestions || [] : [];
444869
445056
  toolUseConfirm.onAllow(toolUseConfirm.input, permissionUpdates);
444870
445057
  onDone();
@@ -444877,6 +445064,7 @@ function PowerShellPermissionRequest(props) {
444877
445064
  }
444878
445065
  }
444879
445066
  }
445067
+ const verdictLineText = verdictLine(toolUseConfirm.permissionResult.decisionReason, toolPermissionContext.mode);
444880
445068
  return /* @__PURE__ */ jsx_dev_runtime349.jsxDEV(PermissionDialog, {
444881
445069
  workerBadge,
444882
445070
  title: "PowerShell command",
@@ -444926,6 +445114,10 @@ function PowerShellPermissionRequest(props) {
444926
445114
  /* @__PURE__ */ jsx_dev_runtime349.jsxDEV(ThemedBox_default, {
444927
445115
  flexDirection: "column",
444928
445116
  children: [
445117
+ verdictLineText !== null && /* @__PURE__ */ jsx_dev_runtime349.jsxDEV(ThemedText, {
445118
+ dimColor: true,
445119
+ children: verdictLineText
445120
+ }, undefined, false, undefined, this),
444929
445121
  /* @__PURE__ */ jsx_dev_runtime349.jsxDEV(PermissionRuleExplanation, {
444930
445122
  permissionResult: toolUseConfirm.permissionResult,
444931
445123
  toolType: "command"
@@ -444977,10 +445169,12 @@ var import_react196, jsx_dev_runtime349;
444977
445169
  var init_PowerShellPermissionRequest = __esm(() => {
444978
445170
  init_ink2();
444979
445171
  init_useKeybinding();
445172
+ init_AppState();
444980
445173
  init_growthbook();
444981
445174
  init_destructiveCommandWarning3();
444982
445175
  init_PowerShellTool();
444983
445176
  init_readOnlyValidation2();
445177
+ init_autoModePermissionOption();
444984
445178
  init_staticPrefix();
444985
445179
  init_select();
444986
445180
  init_hooks8();
@@ -444988,6 +445182,8 @@ var init_PowerShellPermissionRequest = __esm(() => {
444988
445182
  init_PermissionDialog();
444989
445183
  init_PermissionExplanation();
444990
445184
  init_PermissionRuleExplanation();
445185
+ init_permissionVerdict();
445186
+ init_userApprovals();
444991
445187
  init_useShellPermissionFeedback();
444992
445188
  init_utils13();
444993
445189
  init_powershellToolUseOptions();
@@ -445004,7 +445200,7 @@ function SkillPermissionRequest(props) {
445004
445200
  onReject,
445005
445201
  workerBadge
445006
445202
  } = props;
445007
- const parseInput = _temp160;
445203
+ const parseInput = _temp159;
445008
445204
  let t0;
445009
445205
  if ($[0] !== toolUseConfirm.input) {
445010
445206
  t0 = parseInput(toolUseConfirm.input);
@@ -445397,7 +445593,7 @@ function SkillPermissionRequest(props) {
445397
445593
  }
445398
445594
  return t19;
445399
445595
  }
445400
- function _temp160(input) {
445596
+ function _temp159(input) {
445401
445597
  const result = SkillTool2.inputSchema.safeParse(input);
445402
445598
  if (!result.success) {
445403
445599
  logError3(new Error(`Failed to parse skill tool input: ${result.error.message}`));
@@ -447503,7 +447699,7 @@ function PromptDialog(t0) {
447503
447699
  useKeybinding("app:interrupt", onAbort, t1);
447504
447700
  let t2;
447505
447701
  if ($[1] !== request.options) {
447506
- t2 = request.options.map(_temp161);
447702
+ t2 = request.options.map(_temp160);
447507
447703
  $[1] = request.options;
447508
447704
  $[2] = t2;
447509
447705
  } else {
@@ -447565,7 +447761,7 @@ function PromptDialog(t0) {
447565
447761
  }
447566
447762
  return t6;
447567
447763
  }
447568
- function _temp161(opt) {
447764
+ function _temp160(opt) {
447569
447765
  return {
447570
447766
  label: opt.label,
447571
447767
  value: opt.key,
@@ -448865,7 +449061,7 @@ function Notifications(t0) {
448865
449061
  const {
448866
449062
  status: ideStatus
448867
449063
  } = useIdeConnectionStatus(mcpClients);
448868
- const notifications = useAppState(_temp163);
449064
+ const notifications = useAppState(_temp161);
448869
449065
  const {
448870
449066
  addNotification,
448871
449067
  removeNotification
@@ -449012,7 +449208,7 @@ function Notifications(t0) {
449012
449208
  function _temp270() {
449013
449209
  return setEnvHookNotifier2(null);
449014
449210
  }
449015
- function _temp163(s) {
449211
+ function _temp161(s) {
449016
449212
  return s.notifications;
449017
449213
  }
449018
449214
  function NotificationContent({
@@ -453368,7 +453564,7 @@ function AutoModeOptInDialog(t0) {
453368
453564
  } else {
453369
453565
  t1 = $[0];
453370
453566
  }
453371
- import_react215.default.useEffect(_temp164, t1);
453567
+ import_react215.default.useEffect(_temp163, t1);
453372
453568
  let t2;
453373
453569
  if ($[1] !== onAccept || $[2] !== onDecline) {
453374
453570
  t2 = function onChange(value) {
@@ -453501,7 +453697,7 @@ function AutoModeOptInDialog(t0) {
453501
453697
  }
453502
453698
  return t10;
453503
453699
  }
453504
- function _temp164() {}
453700
+ function _temp163() {}
453505
453701
  var import_compiler_runtime288, import_react215, jsx_dev_runtime367, AUTO_MODE_DESCRIPTION = "Auto mode lets Atlas handle permission prompts automatically — Atlas checks each tool call for risky actions and prompt injection before executing. Actions Atlas identifies as safe are executed, while actions Atlas identifies as risky are blocked and Atlas may try a different approach. Ideal for long-running tasks. Sessions are slightly more expensive. Atlas can make mistakes that allow harmful commands to run, it's recommended to only use in isolated environments. Shift+Tab to change mode.";
453506
453702
  var init_AutoModeOptInDialog = __esm(() => {
453507
453703
  init_ink2();
@@ -453519,12 +453715,12 @@ function getVisibleAgentTasks(tasks) {
453519
453715
  return Object.values(tasks).filter((t) => isPanelAgentTask2(t) && t.evictAfter !== 0).sort((a, b) => a.startTime - b.startTime);
453520
453716
  }
453521
453717
  function useCoordinatorTaskCount() {
453522
- const tasks = useAppState(_temp165);
453718
+ const tasks = useAppState(_temp164);
453523
453719
  let t0;
453524
453720
  t0 = 0;
453525
453721
  return t0;
453526
453722
  }
453527
- function _temp165(s) {
453723
+ function _temp164(s) {
453528
453724
  return s.tasks;
453529
453725
  }
453530
453726
  var import_compiler_runtime289, React115;
@@ -453991,7 +454187,7 @@ function GlobalSearchDialog(t0) {
453991
454187
  }
453992
454188
  abortRef.current?.abort();
453993
454189
  if (!q.trim()) {
453994
- setMatches(_temp166);
454190
+ setMatches(_temp165);
453995
454191
  setIsSearching(false);
453996
454192
  setTruncated(false);
453997
454193
  return;
@@ -454217,7 +454413,7 @@ function _temp347(m_2) {
454217
454413
  return m_2.length ? [] : m_2;
454218
454414
  }
454219
454415
  function _temp271() {}
454220
- function _temp166(m) {
454416
+ function _temp165(m) {
454221
454417
  return m.length ? [] : m;
454222
454418
  }
454223
454419
  function matchKey(m) {
@@ -454454,7 +454650,7 @@ function QuickOpenDialog(t0) {
454454
454650
  if (gen !== queryGenRef.current) {
454455
454651
  return;
454456
454652
  }
454457
- const paths = items.filter(_temp167).map(_temp272).filter(_temp348).map(_temp434);
454653
+ const paths = items.filter(_temp166).map(_temp272).filter(_temp348).map(_temp434);
454458
454654
  setResults(paths);
454459
454655
  });
454460
454656
  };
@@ -454643,7 +454839,7 @@ function _temp348(p) {
454643
454839
  function _temp272(i_0) {
454644
454840
  return i_0.displayText;
454645
454841
  }
454646
- function _temp167(i) {
454842
+ function _temp166(i) {
454647
454843
  return i.id.startsWith("file-");
454648
454844
  }
454649
454845
  var import_compiler_runtime292, import_react219, jsx_dev_runtime372, VISIBLE_RESULTS2 = 8, PREVIEW_LINES = 20;
@@ -454809,7 +455005,7 @@ function ThinkingToggle(t0) {
454809
455005
  defaultFocusValue: currentValue ? "true" : "false",
454810
455006
  options,
454811
455007
  onChange: handleSelectChange,
454812
- onCancel: onCancel ?? _temp168,
455008
+ onCancel: onCancel ?? _temp167,
454813
455009
  visibleOptionCount: 2
454814
455010
  }, undefined, false, undefined, this)
454815
455011
  }, undefined, false, undefined, this)
@@ -454886,7 +455082,7 @@ function ThinkingToggle(t0) {
454886
455082
  }
454887
455083
  return t11;
454888
455084
  }
454889
- function _temp168() {}
455085
+ function _temp167() {}
454890
455086
  var import_compiler_runtime293, import_react220, jsx_dev_runtime373;
454891
455087
  var init_ThinkingToggle = __esm(() => {
454892
455088
  init_useExitOnCtrlCDWithKeybindings();
@@ -455335,7 +455531,7 @@ function TeammateDetailView(t0) {
455335
455531
  if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
455336
455532
  t4 = (input) => {
455337
455533
  if (input === "p") {
455338
- setPromptExpanded(_temp169);
455534
+ setPromptExpanded(_temp168);
455339
455535
  }
455340
455536
  };
455341
455537
  $[6] = t4;
@@ -455529,7 +455725,7 @@ function _temp273(task_0) {
455529
455725
  ]
455530
455726
  }, task_0.id, true, undefined, this);
455531
455727
  }
455532
- function _temp169(prev) {
455728
+ function _temp168(prev) {
455533
455729
  return !prev;
455534
455730
  }
455535
455731
  async function killTeammate(paneId, backendType, teamName, teammateId, teammateName, setAppState) {
@@ -456789,7 +456985,7 @@ function VimTextInput(props) {
456789
456985
  const t11 = props.multiline;
456790
456986
  const t12 = props.showCursor ? " " : "";
456791
456987
  const t13 = props.highlightPastedText;
456792
- const t14 = isTerminalFocused ? source_default.inverse : _temp170;
456988
+ const t14 = isTerminalFocused ? source_default.inverse : _temp169;
456793
456989
  let t15;
456794
456990
  if ($[0] !== theme) {
456795
456991
  t15 = color("text", theme);
@@ -456902,7 +457098,7 @@ function VimTextInput(props) {
456902
457098
  }
456903
457099
  return t19;
456904
457100
  }
456905
- function _temp170(text) {
457101
+ function _temp169(text) {
456906
457102
  return text;
456907
457103
  }
456908
457104
  var import_compiler_runtime295, import_react223, jsx_dev_runtime375;
@@ -458183,7 +458379,7 @@ function BackgroundTaskStatus(t0) {
458183
458379
  const {
458184
458380
  columns
458185
458381
  } = useTerminalSize();
458186
- const tasks = useAppState(_temp173);
458382
+ const tasks = useAppState(_temp171);
458187
458383
  const viewingAgentTaskId = useAppState(_temp274);
458188
458384
  let t3;
458189
458385
  if ($[0] !== tasks) {
@@ -458238,7 +458434,7 @@ function BackgroundTaskStatus(t0) {
458238
458434
  const allPills = t6;
458239
458435
  let t7;
458240
458436
  if ($[10] !== allPills) {
458241
- t7 = allPills.map(_temp171);
458437
+ t7 = allPills.map(_temp170);
458242
458438
  $[10] = allPills;
458243
458439
  $[11] = t7;
458244
458440
  } else {
@@ -458436,7 +458632,7 @@ function BackgroundTaskStatus(t0) {
458436
458632
  }
458437
458633
  return t11;
458438
458634
  }
458439
- function _temp171(pill_0, i_0) {
458635
+ function _temp170(pill_0, i_0) {
458440
458636
  const pillText = `@${pill_0.name}`;
458441
458637
  return stringWidth2(pillText) + (i_0 > 0 ? 1 : 0);
458442
458638
  }
@@ -458478,7 +458674,7 @@ function _temp349(t) {
458478
458674
  function _temp274(s_0) {
458479
458675
  return s_0.viewingAgentTaskId;
458480
458676
  }
458481
- function _temp173(s) {
458677
+ function _temp171(s) {
458482
458678
  return s.tasks;
458483
458679
  }
458484
458680
  function AgentPill(t0) {
@@ -458701,7 +458897,7 @@ function TeamStatus(t0) {
458701
458897
  teamsSelected,
458702
458898
  showHint
458703
458899
  } = t0;
458704
- const teamContext = useAppState(_temp174);
458900
+ const teamContext = useAppState(_temp173);
458705
458901
  let t1;
458706
458902
  if ($[0] !== teamContext) {
458707
458903
  t1 = teamContext ? Object.values(teamContext.teammates).filter(_temp275).length : 0;
@@ -458783,7 +458979,7 @@ function TeamStatus(t0) {
458783
458979
  function _temp275(t) {
458784
458980
  return t.name !== "team-lead";
458785
458981
  }
458786
- function _temp174(s) {
458982
+ function _temp173(s) {
458787
458983
  return s.teamContext;
458788
458984
  }
458789
458985
  var import_compiler_runtime297, jsx_dev_runtime395;
@@ -458821,7 +459017,7 @@ function HistorySearchInput(t0) {
458821
459017
  value,
458822
459018
  onChange,
458823
459019
  cursorOffset: value.length,
458824
- onChangeCursorOffset: _temp175,
459020
+ onChangeCursorOffset: _temp174,
458825
459021
  columns: t3,
458826
459022
  focus: true,
458827
459023
  showCursor: true,
@@ -458852,7 +459048,7 @@ function HistorySearchInput(t0) {
458852
459048
  }
458853
459049
  return t5;
458854
459050
  }
458855
- function _temp175() {}
459051
+ function _temp174() {}
458856
459052
  var import_compiler_runtime298, jsx_dev_runtime396, HistorySearchInput_default;
458857
459053
  var init_HistorySearchInput = __esm(() => {
458858
459054
  init_stringWidth();
@@ -465354,7 +465550,7 @@ function useCanUseTool(setToolUseConfirmQueue, setToolPermissionContext) {
465354
465550
  if (feature("BASH_CLASSIFIER") && result.pendingClassifierCheck && tool.name === BASH_TOOL_NAME2 && !appState.toolPermissionContext.awaitAutomatedChecksBeforeDialog) {
465355
465551
  const speculativePromise = peekSpeculativeClassifierCheck2(input.command);
465356
465552
  if (speculativePromise) {
465357
- const raceResult = await Promise.race([speculativePromise.then(_temp176), new Promise(_temp276)]);
465553
+ const raceResult = await Promise.race([speculativePromise.then(_temp175), new Promise(_temp276)]);
465358
465554
  if (ctx.resolveIfAborted(resolve)) {
465359
465555
  return;
465360
465556
  }
@@ -465417,7 +465613,7 @@ function _temp276(res) {
465417
465613
  type: "timeout"
465418
465614
  });
465419
465615
  }
465420
- function _temp176(r) {
465616
+ function _temp175(r) {
465421
465617
  return {
465422
465618
  type: "result",
465423
465619
  result: r
@@ -466202,7 +466398,7 @@ async function handlePromptSubmit(params) {
466202
466398
  const spaceIndex = trimmedInput.indexOf(" ");
466203
466399
  const commandName = spaceIndex === -1 ? trimmedInput.slice(1) : trimmedInput.slice(1, spaceIndex);
466204
466400
  const commandArgs = spaceIndex === -1 ? "" : trimmedInput.slice(spaceIndex + 1).trim();
466205
- const immediateCommand = commands.find((cmd) => cmd.immediate && isCommandEnabled2(cmd) && (cmd.name === commandName || cmd.aliases?.includes(commandName) || getCommandName2(cmd) === commandName));
466401
+ const immediateCommand = commands.find((cmd) => (cmd.immediate ?? true) && isCommandEnabled2(cmd) && (cmd.name === commandName || cmd.aliases?.includes(commandName) || getCommandName2(cmd) === commandName));
466206
466402
  if (immediateCommand && immediateCommand.type === "local-jsx" && (queryGuard.isActive || isExternalLoading)) {
466207
466403
  onInputChange("");
466208
466404
  setCursorOffset(0);
@@ -467038,7 +467234,7 @@ var init_useManagePlugins = __esm(() => {
467038
467234
  // src/tui/components/TeammateViewHeader.tsx
467039
467235
  function TeammateViewHeader() {
467040
467236
  const $ = import_compiler_runtime305.c(14);
467041
- const viewedTeammate = useAppState(_temp177);
467237
+ const viewedTeammate = useAppState(_temp176);
467042
467238
  if (!viewedTeammate) {
467043
467239
  return null;
467044
467240
  }
@@ -467137,7 +467333,7 @@ function TeammateViewHeader() {
467137
467333
  }
467138
467334
  return t6;
467139
467335
  }
467140
- function _temp177(s) {
467336
+ function _temp176(s) {
467141
467337
  return getViewedTeammateTask(s);
467142
467338
  }
467143
467339
  var import_compiler_runtime305, jsx_dev_runtime406;
@@ -468487,7 +468683,7 @@ function SessionBackgroundHint(t0) {
468487
468683
  const setAppState = useSetAppState();
468488
468684
  const appStateStore = useAppStateStore();
468489
468685
  const [showSessionHint, setShowSessionHint] = import_react256.useState(false);
468490
- const handleDoublePress = useDoublePress(setShowSessionHint, onBackgroundSession, _temp178);
468686
+ const handleDoublePress = useDoublePress(setShowSessionHint, onBackgroundSession, _temp177);
468491
468687
  let t1;
468492
468688
  if ($[0] !== appStateStore || $[1] !== handleDoublePress || $[2] !== isLoading || $[3] !== setAppState) {
468493
468689
  t1 = () => {
@@ -468567,7 +468763,7 @@ function _temp277(c) {
468567
468763
  hasUsedBackgroundTask: true
468568
468764
  };
468569
468765
  }
468570
- function _temp178() {}
468766
+ function _temp177() {}
468571
468767
  var import_compiler_runtime307, import_react256, jsx_dev_runtime407;
468572
468768
  var init_SessionBackgroundHint = __esm(() => {
468573
468769
  init_useDoublePress();
@@ -468743,9 +468939,9 @@ function useInstallMessages() {
468743
468939
  }
468744
468940
  async function _temp278() {
468745
468941
  const messages = await checkInstall();
468746
- return messages.map(_temp179);
468942
+ return messages.map(_temp178);
468747
468943
  }
468748
- function _temp179(message, index) {
468944
+ function _temp178(message, index) {
468749
468945
  let priority = "low";
468750
468946
  if (message.type === "error" || message.userActionRequired) {
468751
468947
  priority = "high";
@@ -469134,9 +469330,9 @@ var init_officialMarketplaceStartupCheck = __esm(() => {
469134
469330
 
469135
469331
  // src/tui/hooks/useOfficialMarketplaceNotification.tsx
469136
469332
  function useOfficialMarketplaceNotification() {
469137
- useStartupNotification(_temp180);
469333
+ useStartupNotification(_temp179);
469138
469334
  }
469139
- async function _temp180() {
469335
+ async function _temp179() {
469140
469336
  const result = await checkAndInstallOfficialMarketplace();
469141
469337
  const notifs = [];
469142
469338
  if (result.configSaveFailed) {
@@ -469696,7 +469892,7 @@ function SandboxViolationExpandedView() {
469696
469892
  }
469697
469893
  let t5;
469698
469894
  if ($[6] !== violations) {
469699
- t5 = violations.map(_temp181);
469895
+ t5 = violations.map(_temp180);
469700
469896
  $[6] = violations;
469701
469897
  $[7] = t5;
469702
469898
  } else {
@@ -469743,7 +469939,7 @@ function SandboxViolationExpandedView() {
469743
469939
  }
469744
469940
  return t8;
469745
469941
  }
469746
- function _temp181(v, i) {
469942
+ function _temp180(v, i) {
469747
469943
  return /* @__PURE__ */ jsx_dev_runtime412.jsxDEV(ThemedBox_default, {
469748
469944
  paddingLeft: 2,
469749
469945
  children: /* @__PURE__ */ jsx_dev_runtime412.jsxDEV(ThemedText, {
@@ -469784,7 +469980,7 @@ function useMcpConnectivityStatus(t0) {
469784
469980
  if (getIsRemoteMode()) {
469785
469981
  return;
469786
469982
  }
469787
- const failedLocalClients = mcpClients.filter(_temp183);
469983
+ const failedLocalClients = mcpClients.filter(_temp181);
469788
469984
  const failedClaudeAiClients = mcpClients.filter(_temp279);
469789
469985
  const needsAuthLocalServers = mcpClients.filter(_temp350);
469790
469986
  const needsAuthClaudeAiServers = mcpClients.filter(_temp436);
@@ -469911,7 +470107,7 @@ function _temp350(client_1) {
469911
470107
  function _temp279(client_0) {
469912
470108
  return false;
469913
470109
  }
469914
- function _temp183(client) {
470110
+ function _temp181(client) {
469915
470111
  return client.type === "failed" && client.config.type !== "sse-ide" && client.config.type !== "ws-ide" && client.config.type !== "claudeai-proxy";
469916
470112
  }
469917
470113
  var import_compiler_runtime310, import_react262, jsx_dev_runtime413, EMPTY_MCP_CLIENTS;
@@ -469974,7 +470170,7 @@ function useLspInitializationNotification() {
469974
470170
  addNotification
469975
470171
  } = useNotifications();
469976
470172
  const setAppState = useSetAppState();
469977
- const [shouldPoll, setShouldPoll] = React126.useState(_temp184);
470173
+ const [shouldPoll, setShouldPoll] = React126.useState(_temp183);
469978
470174
  let t0;
469979
470175
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
469980
470176
  t0 = new Set;
@@ -470101,7 +470297,7 @@ function _temp280(e) {
470101
470297
  }
470102
470298
  return `${e.type}:${e.source}`;
470103
470299
  }
470104
- function _temp184() {
470300
+ function _temp183() {
470105
470301
  return isEnvTruthy2("true");
470106
470302
  }
470107
470303
  var import_compiler_runtime311, React126, jsx_dev_runtime414, LSP_POLL_INTERVAL_MS = 5000;
@@ -470433,7 +470629,7 @@ var init_usePluginRecommendationBase = __esm(() => {
470433
470629
  import { extname as extname19, join as join173 } from "path";
470434
470630
  function useLspPluginRecommendation() {
470435
470631
  const $ = import_compiler_runtime313.c(12);
470436
- const trackedFiles = useAppState(_temp185);
470632
+ const trackedFiles = useAppState(_temp184);
470437
470633
  const {
470438
470634
  addNotification
470439
470635
  } = useNotifications();
@@ -470577,7 +470773,7 @@ function _temp281(current) {
470577
470773
  lspRecommendationDisabled: true
470578
470774
  };
470579
470775
  }
470580
- function _temp185(s) {
470776
+ function _temp184(s) {
470581
470777
  return s.fileHistory.trackedFiles;
470582
470778
  }
470583
470779
  var import_compiler_runtime313, React128, TIMEOUT_THRESHOLD_MS = 28000;
@@ -470972,7 +471168,7 @@ function usePluginInstallationStatus() {
470972
471168
  const {
470973
471169
  addNotification
470974
471170
  } = useNotifications();
470975
- const installationStatus = useAppState(_temp186);
471171
+ const installationStatus = useAppState(_temp185);
470976
471172
  let t0;
470977
471173
  bb0: {
470978
471174
  if (!installationStatus) {
@@ -471098,7 +471294,7 @@ function _temp351(p) {
471098
471294
  function _temp282(m) {
471099
471295
  return m.status === "failed";
471100
471296
  }
471101
- function _temp186(s) {
471297
+ function _temp185(s) {
471102
471298
  return s.plugins.installationStatus;
471103
471299
  }
471104
471300
  var import_compiler_runtime315, import_react264, jsx_dev_runtime418;
@@ -471159,7 +471355,7 @@ function usePluginAutoupdateNotification() {
471159
471355
  if (updatedPlugins.length === 0) {
471160
471356
  return;
471161
471357
  }
471162
- const pluginNames = updatedPlugins.map(_temp187);
471358
+ const pluginNames = updatedPlugins.map(_temp186);
471163
471359
  const displayNames = pluginNames.length <= 2 ? pluginNames.join(" and ") : `${pluginNames.length} plugins`;
471164
471360
  addNotification({
471165
471361
  key: "plugin-autoupdate-restart",
@@ -471196,7 +471392,7 @@ function usePluginAutoupdateNotification() {
471196
471392
  }
471197
471393
  import_react265.useEffect(t3, t4);
471198
471394
  }
471199
- function _temp187(id) {
471395
+ function _temp186(id) {
471200
471396
  const atIndex = id.indexOf("@");
471201
471397
  return atIndex > 0 ? id.substring(0, atIndex) : id;
471202
471398
  }
@@ -471591,7 +471787,7 @@ function AwsAuthStatusBox() {
471591
471787
  t4 = status.output.length > 0 && /* @__PURE__ */ jsx_dev_runtime420.jsxDEV(ThemedBox_default, {
471592
471788
  flexDirection: "column",
471593
471789
  marginTop: 1,
471594
- children: status.output.slice(-5).map(_temp188)
471790
+ children: status.output.slice(-5).map(_temp187)
471595
471791
  }, undefined, false, undefined, this);
471596
471792
  $[4] = status.output;
471597
471793
  $[5] = t4;
@@ -471634,7 +471830,7 @@ function AwsAuthStatusBox() {
471634
471830
  }
471635
471831
  return t6;
471636
471832
  }
471637
- function _temp188(line, index) {
471833
+ function _temp187(line, index) {
471638
471834
  const m = line.match(URL_RE);
471639
471835
  if (!m) {
471640
471836
  return /* @__PURE__ */ jsx_dev_runtime420.jsxDEV(ThemedText, {
@@ -471717,9 +471913,9 @@ var init_useDeprecationWarningNotification = __esm(() => {
471717
471913
 
471718
471914
  // src/tui/hooks/notifs/useNpmDeprecationNotification.tsx
471719
471915
  function useNpmDeprecationNotification() {
471720
- useStartupNotification(_temp189);
471916
+ useStartupNotification(_temp188);
471721
471917
  }
471722
- async function _temp189() {
471918
+ async function _temp188() {
471723
471919
  if (isInBundledMode2() || isEnvTruthy2(process.env.DISABLE_INSTALLATION_CHECKS)) {
471724
471920
  return null;
471725
471921
  }
@@ -471897,7 +472093,7 @@ function _temp283(hasShownHintRef_0, addNotification_0) {
471897
472093
  const ideName_0 = infos[0]?.name;
471898
472094
  if (ideName_0 && !hasShownHintRef_0.current) {
471899
472095
  hasShownHintRef_0.current = true;
471900
- saveGlobalConfig(_temp190);
472096
+ saveGlobalConfig(_temp189);
471901
472097
  addNotification_0({
471902
472098
  key: "ide-status-hint",
471903
472099
  jsx: /* @__PURE__ */ jsx_dev_runtime421.jsxDEV(ThemedText, {
@@ -471915,7 +472111,7 @@ function _temp283(hasShownHintRef_0, addNotification_0) {
471915
472111
  }
471916
472112
  });
471917
472113
  }
471918
- function _temp190(current) {
472114
+ function _temp189(current) {
471919
472115
  return {
471920
472116
  ...current,
471921
472117
  ideHintShownCount: (current.ideHintShownCount ?? 0) + 1
@@ -472244,7 +472440,7 @@ function DevBar() {
472244
472440
  }
472245
472441
  let t1;
472246
472442
  if ($[1] !== slowOps) {
472247
- t1 = slowOps.slice(-3).map(_temp191).join(" · ");
472443
+ t1 = slowOps.slice(-3).map(_temp190).join(" · ");
472248
472444
  $[1] = slowOps;
472249
472445
  $[2] = t1;
472250
472446
  } else {
@@ -472268,7 +472464,7 @@ function DevBar() {
472268
472464
  }
472269
472465
  return t2;
472270
472466
  }
472271
- function _temp191(op) {
472467
+ function _temp190(op) {
472272
472468
  return `${op.operation} (${Math.round(op.durationMs)}ms)`;
472273
472469
  }
472274
472470
  var import_compiler_runtime321, import_react272, jsx_dev_runtime423;
@@ -474720,9 +474916,9 @@ function AnimatedTerminalTitle(t0) {
474720
474916
  return null;
474721
474917
  }
474722
474918
  function _temp284(setFrame_0) {
474723
- return setFrame_0(_temp192);
474919
+ return setFrame_0(_temp191);
474724
474920
  }
474725
- function _temp192(f) {
474921
+ function _temp191(f) {
474726
474922
  return (f + 1) % TITLE_ANIMATION_FRAMES.length;
474727
474923
  }
474728
474924
  function REPL({
@@ -478254,7 +478450,7 @@ function MCPServerMultiselectDialog(t0) {
478254
478450
  }
478255
478451
  let t5;
478256
478452
  if ($[7] !== serverNames) {
478257
- t5 = serverNames.map(_temp193);
478453
+ t5 = serverNames.map(_temp192);
478258
478454
  $[7] = serverNames;
478259
478455
  $[8] = t5;
478260
478456
  } else {
@@ -478343,7 +478539,7 @@ function MCPServerMultiselectDialog(t0) {
478343
478539
  }
478344
478540
  return t9;
478345
478541
  }
478346
- function _temp193(server_0) {
478542
+ function _temp192(server_0) {
478347
478543
  return {
478348
478544
  label: server_0,
478349
478545
  value: server_0
@@ -478622,7 +478818,7 @@ function PreflightStep(t0) {
478622
478818
  onSuccess();
478623
478819
  } else {
478624
478820
  if (result && !result.success) {
478625
- const timer = setTimeout(_temp194, 100);
478821
+ const timer = setTimeout(_temp193, 100);
478626
478822
  return () => clearTimeout(timer);
478627
478823
  }
478628
478824
  }
@@ -478715,7 +478911,7 @@ function PreflightStep(t0) {
478715
478911
  }
478716
478912
  return t6;
478717
478913
  }
478718
- function _temp194() {
478914
+ function _temp193() {
478719
478915
  return process.exit(1);
478720
478916
  }
478721
478917
  var import_compiler_runtime327, import_react282, jsx_dev_runtime433;
@@ -481014,9 +481210,9 @@ function _temp352(tool_0) {
481014
481210
  return tool_0 === BASH_TOOL_NAME2 || tool_0.startsWith(BASH_TOOL_NAME2 + "(");
481015
481211
  }
481016
481212
  function _temp285(command) {
481017
- return command.type === "prompt" && command.loadedFrom === "commands_DEPRECATED" && (command.source === "projectSettings" || command.source === "localSettings") && command.allowedTools?.some(_temp195);
481213
+ return command.type === "prompt" && command.loadedFrom === "commands_DEPRECATED" && (command.source === "projectSettings" || command.source === "localSettings") && command.allowedTools?.some(_temp194);
481018
481214
  }
481019
- function _temp195(tool) {
481215
+ function _temp194(tool) {
481020
481216
  return tool === BASH_TOOL_NAME2 || tool.startsWith(BASH_TOOL_NAME2 + "(");
481021
481217
  }
481022
481218
  var import_compiler_runtime333, import_react287, jsx_dev_runtime440;
@@ -481052,7 +481248,7 @@ function BypassPermissionsModeDialog(t0) {
481052
481248
  } else {
481053
481249
  t1 = $[0];
481054
481250
  }
481055
- import_react288.default.useEffect(_temp196, t1);
481251
+ import_react288.default.useEffect(_temp195, t1);
481056
481252
  let t2;
481057
481253
  if ($[1] !== onAccept) {
481058
481254
  t2 = function onChange(value) {
@@ -481139,7 +481335,7 @@ function BypassPermissionsModeDialog(t0) {
481139
481335
  function _temp286() {
481140
481336
  gracefulShutdownSync(0);
481141
481337
  }
481142
- function _temp196() {}
481338
+ function _temp195() {}
481143
481339
  var import_compiler_runtime334, import_react288, jsx_dev_runtime441;
481144
481340
  var init_BypassPermissionsModeDialog = __esm(() => {
481145
481341
  init_ink2();
@@ -481753,7 +481949,7 @@ function NoConversationsMessage() {
481753
481949
  } else {
481754
481950
  t0 = $[0];
481755
481951
  }
481756
- useKeybinding("app:interrupt", _temp197, t0);
481952
+ useKeybinding("app:interrupt", _temp196, t0);
481757
481953
  let t1;
481758
481954
  if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
481759
481955
  t1 = /* @__PURE__ */ jsx_dev_runtime444.jsxDEV(ThemedBox_default, {
@@ -481774,7 +481970,7 @@ function NoConversationsMessage() {
481774
481970
  }
481775
481971
  return t1;
481776
481972
  }
481777
- function _temp197() {
481973
+ function _temp196() {
481778
481974
  process.exit(1);
481779
481975
  }
481780
481976
  function CrossProjectMessage(t0) {
@@ -487469,7 +487665,7 @@ function SetupNotes(t0) {
487469
487665
  }
487470
487666
  let t2;
487471
487667
  if ($[1] !== messages) {
487472
- t2 = messages.map(_temp198);
487668
+ t2 = messages.map(_temp197);
487473
487669
  $[1] = messages;
487474
487670
  $[2] = t2;
487475
487671
  } else {
@@ -487493,7 +487689,7 @@ function SetupNotes(t0) {
487493
487689
  }
487494
487690
  return t3;
487495
487691
  }
487496
- function _temp198(message, index) {
487692
+ function _temp197(message, index) {
487497
487693
  return /* @__PURE__ */ jsx_dev_runtime448.jsxDEV(ThemedBox_default, {
487498
487694
  marginLeft: 2,
487499
487695
  children: /* @__PURE__ */ jsx_dev_runtime448.jsxDEV(ThemedText, {