ur-agent 1.28.0 → 1.28.1

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 (3) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/cli.js +240 -179
  3. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -69257,7 +69257,7 @@ var init_auth = __esm(() => {
69257
69257
 
69258
69258
  // src/utils/userAgent.ts
69259
69259
  function getURCodeUserAgent() {
69260
- return `ur/${"1.28.0"}`;
69260
+ return `ur/${"1.28.1"}`;
69261
69261
  }
69262
69262
 
69263
69263
  // src/utils/workloadContext.ts
@@ -69279,7 +69279,7 @@ function getUserAgent() {
69279
69279
  const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
69280
69280
  const workload = getWorkload();
69281
69281
  const workloadSuffix = workload ? `, workload/${workload}` : "";
69282
- return `ur-cli/${"1.28.0"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
69282
+ return `ur-cli/${"1.28.1"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
69283
69283
  }
69284
69284
  function getMCPUserAgent() {
69285
69285
  const parts = [];
@@ -69293,7 +69293,7 @@ function getMCPUserAgent() {
69293
69293
  parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
69294
69294
  }
69295
69295
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
69296
- return `ur/${"1.28.0"}${suffix}`;
69296
+ return `ur/${"1.28.1"}${suffix}`;
69297
69297
  }
69298
69298
  function getWebFetchUserAgent() {
69299
69299
  return `UR-User (${getURCodeUserAgent()})`;
@@ -69431,7 +69431,7 @@ var init_user = __esm(() => {
69431
69431
  deviceId,
69432
69432
  sessionId: getSessionId(),
69433
69433
  email: getEmail(),
69434
- appVersion: "1.28.0",
69434
+ appVersion: "1.28.1",
69435
69435
  platform: getHostPlatformForAnalytics(),
69436
69436
  organizationUuid,
69437
69437
  accountUuid,
@@ -75948,7 +75948,7 @@ var init_metadata = __esm(() => {
75948
75948
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
75949
75949
  WHITESPACE_REGEX = /\s+/;
75950
75950
  getVersionBase = memoize_default(() => {
75951
- const match = "1.28.0".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
75951
+ const match = "1.28.1".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
75952
75952
  return match ? match[0] : undefined;
75953
75953
  });
75954
75954
  buildEnvContext = memoize_default(async () => {
@@ -75988,7 +75988,7 @@ var init_metadata = __esm(() => {
75988
75988
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
75989
75989
  isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
75990
75990
  isURAiAuth: isURAISubscriber2(),
75991
- version: "1.28.0",
75991
+ version: "1.28.1",
75992
75992
  versionBase: getVersionBase(),
75993
75993
  buildTime: "",
75994
75994
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
@@ -76658,7 +76658,7 @@ function initialize1PEventLogging() {
76658
76658
  const platform2 = getPlatform();
76659
76659
  const attributes = {
76660
76660
  [import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
76661
- [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.28.0"
76661
+ [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.28.1"
76662
76662
  };
76663
76663
  if (platform2 === "wsl") {
76664
76664
  const wslVersion = getWslVersion();
@@ -76685,7 +76685,7 @@ function initialize1PEventLogging() {
76685
76685
  })
76686
76686
  ]
76687
76687
  });
76688
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.28.0");
76688
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.28.1");
76689
76689
  }
76690
76690
  async function reinitialize1PEventLoggingIfConfigChanged() {
76691
76691
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -81982,7 +81982,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
81982
81982
  function formatA2AAgentCard(options = {}, pretty = true) {
81983
81983
  return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
81984
81984
  }
81985
- var urVersion = "1.28.0", coverage, priorityRoadmap;
81985
+ var urVersion = "1.28.1", coverage, priorityRoadmap;
81986
81986
  var init_trends = __esm(() => {
81987
81987
  coverage = [
81988
81988
  {
@@ -83975,7 +83975,7 @@ function getAttributionHeader(fingerprint) {
83975
83975
  if (!isAttributionHeaderEnabled()) {
83976
83976
  return "";
83977
83977
  }
83978
- const version2 = `${"1.28.0"}.${fingerprint}`;
83978
+ const version2 = `${"1.28.1"}.${fingerprint}`;
83979
83979
  const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
83980
83980
  const cch = "";
83981
83981
  const workload = getWorkload();
@@ -191648,7 +191648,7 @@ function getTelemetryAttributes() {
191648
191648
  attributes["session.id"] = sessionId;
191649
191649
  }
191650
191650
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
191651
- attributes["app.version"] = "1.28.0";
191651
+ attributes["app.version"] = "1.28.1";
191652
191652
  }
191653
191653
  const oauthAccount = getOauthAccountInfo();
191654
191654
  if (oauthAccount) {
@@ -195358,8 +195358,10 @@ var init_commitAttribution = __esm(() => {
195358
195358
  function getDefaultAppState() {
195359
195359
  const teammateUtils = (init_teammate(), __toCommonJS(exports_teammate));
195360
195360
  const initialMode = teammateUtils.isTeammate() && teammateUtils.isPlanModeRequired() ? "plan" : "default";
195361
+ const initialSettings = getInitialSettings();
195361
195362
  return {
195362
- settings: getInitialSettings(),
195363
+ settings: initialSettings,
195364
+ provider: getActiveProviderSettings(initialSettings),
195363
195365
  tasks: {},
195364
195366
  agentNameRegistry: new Map,
195365
195367
  verbose: false,
@@ -195467,6 +195469,7 @@ var init_AppStateStore = __esm(() => {
195467
195469
  init_commitAttribution();
195468
195470
  init_settings2();
195469
195471
  init_thinking();
195472
+ init_providerRegistry();
195470
195473
  IDLE_SPECULATION_STATE = { status: "idle" };
195471
195474
  });
195472
195475
 
@@ -227050,7 +227053,7 @@ function getInstallationEnv() {
227050
227053
  return;
227051
227054
  }
227052
227055
  function getURCodeVersion() {
227053
- return "1.28.0";
227056
+ return "1.28.1";
227054
227057
  }
227055
227058
  async function getInstalledVSCodeExtensionVersion(command) {
227056
227059
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -229889,7 +229892,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
229889
229892
  const client2 = new Client({
229890
229893
  name: "ur",
229891
229894
  title: "UR",
229892
- version: "1.28.0",
229895
+ version: "1.28.1",
229893
229896
  description: "UR-AGENT autonomous engineering workflow engine",
229894
229897
  websiteUrl: PRODUCT_URL
229895
229898
  }, {
@@ -230243,7 +230246,7 @@ var init_client5 = __esm(() => {
230243
230246
  const client2 = new Client({
230244
230247
  name: "ur",
230245
230248
  title: "UR",
230246
- version: "1.28.0",
230249
+ version: "1.28.1",
230247
230250
  description: "UR-AGENT autonomous engineering workflow engine",
230248
230251
  websiteUrl: PRODUCT_URL
230249
230252
  }, {
@@ -240059,9 +240062,9 @@ async function assertMinVersion() {
240059
240062
  if (false) {}
240060
240063
  try {
240061
240064
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
240062
- if (versionConfig.minVersion && lt("1.28.0", versionConfig.minVersion)) {
240065
+ if (versionConfig.minVersion && lt("1.28.1", versionConfig.minVersion)) {
240063
240066
  console.error(`
240064
- It looks like your version of UR (${"1.28.0"}) needs an update.
240067
+ It looks like your version of UR (${"1.28.1"}) needs an update.
240065
240068
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
240066
240069
 
240067
240070
  To update, please run:
@@ -240277,7 +240280,7 @@ async function installGlobalPackage(specificVersion) {
240277
240280
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
240278
240281
  logEvent("tengu_auto_updater_lock_contention", {
240279
240282
  pid: process.pid,
240280
- currentVersion: "1.28.0"
240283
+ currentVersion: "1.28.1"
240281
240284
  });
240282
240285
  return "in_progress";
240283
240286
  }
@@ -240286,7 +240289,7 @@ async function installGlobalPackage(specificVersion) {
240286
240289
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
240287
240290
  logError2(new Error("Windows NPM detected in WSL environment"));
240288
240291
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
240289
- currentVersion: "1.28.0"
240292
+ currentVersion: "1.28.1"
240290
240293
  });
240291
240294
  console.error(`
240292
240295
  Error: Windows NPM detected in WSL
@@ -240821,7 +240824,7 @@ function detectLinuxGlobPatternWarnings() {
240821
240824
  }
240822
240825
  async function getDoctorDiagnostic() {
240823
240826
  const installationType = await getCurrentInstallationType();
240824
- const version2 = typeof MACRO !== "undefined" ? "1.28.0" : "unknown";
240827
+ const version2 = typeof MACRO !== "undefined" ? "1.28.1" : "unknown";
240825
240828
  const installationPath = await getInstallationPath();
240826
240829
  const invokedBinary = getInvokedBinary();
240827
240830
  const multipleInstallations = await detectMultipleInstallations();
@@ -241756,8 +241759,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
241756
241759
  const maxVersion = await getMaxVersion();
241757
241760
  if (maxVersion && gt(version2, maxVersion)) {
241758
241761
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
241759
- if (gte("1.28.0", maxVersion)) {
241760
- logForDebugging(`Native installer: current version ${"1.28.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
241762
+ if (gte("1.28.1", maxVersion)) {
241763
+ logForDebugging(`Native installer: current version ${"1.28.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
241761
241764
  logEvent("tengu_native_update_skipped_max_version", {
241762
241765
  latency_ms: Date.now() - startTime,
241763
241766
  max_version: maxVersion,
@@ -241768,7 +241771,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
241768
241771
  version2 = maxVersion;
241769
241772
  }
241770
241773
  }
241771
- if (!forceReinstall && version2 === "1.28.0" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
241774
+ if (!forceReinstall && version2 === "1.28.1" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
241772
241775
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
241773
241776
  logEvent("tengu_native_update_complete", {
241774
241777
  latency_ms: Date.now() - startTime,
@@ -333641,6 +333644,7 @@ function applySettingsChange(source, setAppState) {
333641
333644
  return {
333642
333645
  ...prev,
333643
333646
  settings: newSettings,
333647
+ provider: getActiveProviderSettings(newSettings),
333644
333648
  toolPermissionContext: newContext,
333645
333649
  ...effortChanged && newEffort !== undefined ? { effortValue: newEffort } : {}
333646
333650
  };
@@ -333652,6 +333656,7 @@ var init_applySettingsChange = __esm(() => {
333652
333656
  init_permissionSetup();
333653
333657
  init_permissions2();
333654
333658
  init_permissionsLoader();
333659
+ init_providerRegistry();
333655
333660
  init_settings2();
333656
333661
  });
333657
333662
 
@@ -338693,7 +338698,7 @@ function Feedback({
338693
338698
  platform: env2.platform,
338694
338699
  gitRepo: envInfo.isGit,
338695
338700
  terminal: env2.terminal,
338696
- version: "1.28.0",
338701
+ version: "1.28.1",
338697
338702
  transcript: normalizeMessagesForAPI(messages),
338698
338703
  errors: sanitizedErrors,
338699
338704
  lastApiRequest: getLastAPIRequest(),
@@ -338885,7 +338890,7 @@ function Feedback({
338885
338890
  ", ",
338886
338891
  env2.terminal,
338887
338892
  ", v",
338888
- "1.28.0"
338893
+ "1.28.1"
338889
338894
  ]
338890
338895
  }, undefined, true, undefined, this)
338891
338896
  ]
@@ -338991,7 +338996,7 @@ ${sanitizedDescription}
338991
338996
  ` + `**Environment Info**
338992
338997
  ` + `- Platform: ${env2.platform}
338993
338998
  ` + `- Terminal: ${env2.terminal}
338994
- ` + `- Version: ${"1.28.0"}
338999
+ ` + `- Version: ${"1.28.1"}
338995
339000
  ` + `- Feedback ID: ${feedbackId}
338996
339001
  ` + `
338997
339002
  **Errors**
@@ -342102,7 +342107,7 @@ function buildPrimarySection() {
342102
342107
  }, undefined, false, undefined, this);
342103
342108
  return [{
342104
342109
  label: "Version",
342105
- value: "1.28.0"
342110
+ value: "1.28.1"
342106
342111
  }, {
342107
342112
  label: "Session name",
342108
342113
  value: nameValue
@@ -345402,7 +345407,7 @@ function Config({
345402
345407
  }
345403
345408
  }, undefined, false, undefined, this)
345404
345409
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime177.jsxDEV(ChannelDowngradeDialog, {
345405
- currentVersion: "1.28.0",
345410
+ currentVersion: "1.28.1",
345406
345411
  onChoice: (choice) => {
345407
345412
  setShowSubmenu(null);
345408
345413
  setTabsHidden(false);
@@ -345414,7 +345419,7 @@ function Config({
345414
345419
  autoUpdatesChannel: "stable"
345415
345420
  };
345416
345421
  if (choice === "stay") {
345417
- newSettings.minimumVersion = "1.28.0";
345422
+ newSettings.minimumVersion = "1.28.1";
345418
345423
  }
345419
345424
  updateSettingsForSource("userSettings", newSettings);
345420
345425
  setSettingsData((prev_27) => ({
@@ -353484,7 +353489,7 @@ function HelpV2(t0) {
353484
353489
  let t6;
353485
353490
  if ($3[31] !== tabs) {
353486
353491
  t6 = /* @__PURE__ */ jsx_dev_runtime204.jsxDEV(Tabs, {
353487
- title: `UR v${"1.28.0"}`,
353492
+ title: `UR v${"1.28.1"}`,
353488
353493
  color: "professionalBlue",
353489
353494
  defaultTab: "general",
353490
353495
  children: tabs
@@ -373586,7 +373591,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
373586
373591
  return [];
373587
373592
  }
373588
373593
  }
373589
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.28.0") {
373594
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.28.1") {
373590
373595
  if (process.env.USER_TYPE === "ant") {
373591
373596
  const changelog = "";
373592
373597
  if (changelog) {
@@ -373613,7 +373618,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.28.0")
373613
373618
  releaseNotes
373614
373619
  };
373615
373620
  }
373616
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.28.0") {
373621
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.28.1") {
373617
373622
  if (process.env.USER_TYPE === "ant") {
373618
373623
  const changelog = "";
373619
373624
  if (changelog) {
@@ -374783,7 +374788,7 @@ function getRecentActivitySync() {
374783
374788
  return cachedActivity;
374784
374789
  }
374785
374790
  function getLogoDisplayData() {
374786
- const version2 = process.env.DEMO_VERSION ?? "1.28.0";
374791
+ const version2 = process.env.DEMO_VERSION ?? "1.28.1";
374787
374792
  const serverUrl = getDirectConnectServerUrl();
374788
374793
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd2());
374789
374794
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -375572,7 +375577,7 @@ function LogoV2() {
375572
375577
  if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
375573
375578
  t2 = () => {
375574
375579
  const currentConfig = getGlobalConfig();
375575
- if (currentConfig.lastReleaseNotesSeen === "1.28.0") {
375580
+ if (currentConfig.lastReleaseNotesSeen === "1.28.1") {
375576
375581
  return;
375577
375582
  }
375578
375583
  saveGlobalConfig(_temp326);
@@ -376257,12 +376262,12 @@ function LogoV2() {
376257
376262
  return t41;
376258
376263
  }
376259
376264
  function _temp326(current) {
376260
- if (current.lastReleaseNotesSeen === "1.28.0") {
376265
+ if (current.lastReleaseNotesSeen === "1.28.1") {
376261
376266
  return current;
376262
376267
  }
376263
376268
  return {
376264
376269
  ...current,
376265
- lastReleaseNotesSeen: "1.28.0"
376270
+ lastReleaseNotesSeen: "1.28.1"
376266
376271
  };
376267
376272
  }
376268
376273
  function _temp243(s_0) {
@@ -393251,7 +393256,7 @@ function buildToolUseContext(tools, readFileStateCache) {
393251
393256
  async function handleInitialize() {
393252
393257
  return {
393253
393258
  name: "ur-agent",
393254
- version: "1.28.0",
393259
+ version: "1.28.1",
393255
393260
  protocolVersion: "0.1.0"
393256
393261
  };
393257
393262
  }
@@ -406712,7 +406717,7 @@ var init_code_index2 = __esm(() => {
406712
406717
 
406713
406718
  // node_modules/typescript/lib/typescript.js
406714
406719
  var require_typescript2 = __commonJS((exports, module) => {
406715
- var __dirname = "/sessions/confident-pensive-edison/mnt/UR-1.19.0/node_modules/typescript/lib", __filename = "/sessions/confident-pensive-edison/mnt/UR-1.19.0/node_modules/typescript/lib/typescript.js";
406720
+ var __dirname = "/Users/maith/Desktop/ur3-dev/UR-1.19.0/node_modules/typescript/lib", __filename = "/Users/maith/Desktop/ur3-dev/UR-1.19.0/node_modules/typescript/lib/typescript.js";
406716
406721
  /*! *****************************************************************************
406717
406722
  Copyright (c) Microsoft Corporation. All rights reserved.
406718
406723
  Licensed under the Apache License, Version 2.0 (the "License"); you may not use
@@ -592246,7 +592251,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
592246
592251
  smapsRollup,
592247
592252
  platform: process.platform,
592248
592253
  nodeVersion: process.version,
592249
- ccVersion: "1.28.0"
592254
+ ccVersion: "1.28.1"
592250
592255
  };
592251
592256
  }
592252
592257
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -592832,7 +592837,7 @@ var init_bridge_kick = __esm(() => {
592832
592837
  var call136 = async () => {
592833
592838
  return {
592834
592839
  type: "text",
592835
- value: "1.28.0"
592840
+ value: "1.28.1"
592836
592841
  };
592837
592842
  }, version2, version_default;
592838
592843
  var init_version = __esm(() => {
@@ -596295,6 +596300,7 @@ function SetModelAndClose({
596295
596300
  onDone
596296
596301
  }) {
596297
596302
  const isFastMode = useAppState((s) => s.fastMode);
596303
+ const providerSelection = useAppState((s) => s.provider);
596298
596304
  const setAppState = useSetAppState();
596299
596305
  const model = args === "default" ? null : args;
596300
596306
  React105.useEffect(() => {
@@ -596317,11 +596323,11 @@ function SetModelAndClose({
596317
596323
  });
596318
596324
  return;
596319
596325
  }
596326
+ const currentProvider = providerSelection?.active ?? getActiveProviderSettings(getInitialSettings()).active ?? "ollama";
596320
596327
  if (!model) {
596321
- setModel(null);
596328
+ setModel(null, currentProvider);
596322
596329
  return;
596323
596330
  }
596324
- const currentProvider = getActiveProviderSettings(getInitialSettings()).active ?? "ollama";
596325
596331
  const providerValidation = validateProviderModelPair(currentProvider, model);
596326
596332
  if (providerValidation.valid === false) {
596327
596333
  onDone(`Invalid model for current provider:
@@ -596341,14 +596347,21 @@ function SetModelAndClose({
596341
596347
  });
596342
596348
  return;
596343
596349
  }
596344
- setModel(model);
596350
+ setModel(model, currentProvider);
596345
596351
  return;
596346
596352
  }
596347
- function setModel(modelValue) {
596353
+ function setModel(modelValue, provider) {
596348
596354
  setAppState((prev) => ({
596349
596355
  ...prev,
596350
596356
  mainLoopModel: modelValue,
596351
- mainLoopModelForSession: null
596357
+ mainLoopModelForSession: null,
596358
+ ...provider ? {
596359
+ provider: {
596360
+ ...prev.provider ?? {},
596361
+ active: provider,
596362
+ model: modelValue ?? undefined
596363
+ }
596364
+ } : {}
596352
596365
  }));
596353
596366
  let message = `Set model to ${source_default.bold(renderModelLabel(modelValue))}`;
596354
596367
  let wasFastModeToggledOn = undefined;
@@ -596374,7 +596387,7 @@ function SetModelAndClose({
596374
596387
  onDone(message);
596375
596388
  }
596376
596389
  handleModelChange();
596377
- }, [model, onDone, setAppState]);
596390
+ }, [model, onDone, providerSelection?.active, setAppState]);
596378
596391
  return null;
596379
596392
  }
596380
596393
  function ismodelO1mUnavailable(model) {
@@ -596662,6 +596675,24 @@ var exports_provider = {};
596662
596675
  __export(exports_provider, {
596663
596676
  call: () => call143
596664
596677
  });
596678
+ function ApplyProviderAndClose({
596679
+ provider,
596680
+ message,
596681
+ onDone
596682
+ }) {
596683
+ const setAppState = useSetAppState();
596684
+ React106.useEffect(() => {
596685
+ setAppState((prev) => ({
596686
+ ...prev,
596687
+ provider: {
596688
+ ...prev.provider ?? {},
596689
+ ...provider
596690
+ }
596691
+ }));
596692
+ onDone(message);
596693
+ }, [message, onDone, provider, setAppState]);
596694
+ return null;
596695
+ }
596665
596696
  function ProviderPickerWrapper({
596666
596697
  onDone
596667
596698
  }) {
@@ -596727,7 +596758,7 @@ Fallback: ${providerRuntime.fallback}`;
596727
596758
  onDone(message);
596728
596759
  return null;
596729
596760
  }
596730
- var jsx_dev_runtime349, call143 = async (onDone, _context, args) => {
596761
+ var React106, jsx_dev_runtime349, call143 = async (onDone, _context, args) => {
596731
596762
  args = args?.trim() || "";
596732
596763
  if (COMMON_INFO_ARGS.includes(args)) {
596733
596764
  logEvent("tengu_provider_command_inline_help", {
@@ -596773,7 +596804,12 @@ Run: /model ${suggestedModel}`, { display: "system" });
596773
596804
  }
596774
596805
  const result = setSafeProviderConfig2("provider", args);
596775
596806
  if (result.ok) {
596776
- onDone(result.message);
596807
+ const saved = getActiveProviderSettings2(getInitialSettings2());
596808
+ return /* @__PURE__ */ jsx_dev_runtime349.jsxDEV(ApplyProviderAndClose, {
596809
+ provider: saved,
596810
+ message: result.message,
596811
+ onDone
596812
+ }, undefined, false, undefined, this);
596777
596813
  } else {
596778
596814
  onDone(result.message, { display: "system" });
596779
596815
  }
@@ -596791,6 +596827,7 @@ var init_provider = __esm(() => {
596791
596827
  init_AppState();
596792
596828
  init_providerRegistry();
596793
596829
  init_useSettings();
596830
+ React106 = __toESM(require_react(), 1);
596794
596831
  jsx_dev_runtime349 = __toESM(require_jsx_dev_runtime(), 1);
596795
596832
  });
596796
596833
 
@@ -596936,8 +596973,8 @@ function ToggleTagAndClose(t0) {
596936
596973
  tagName,
596937
596974
  onDone
596938
596975
  } = t0;
596939
- const [showConfirm, setShowConfirm] = React106.useState(false);
596940
- const [sessionId, setSessionId] = React106.useState(null);
596976
+ const [showConfirm, setShowConfirm] = React107.useState(false);
596977
+ const [sessionId, setSessionId] = React107.useState(null);
596941
596978
  let t1;
596942
596979
  if ($3[0] !== tagName) {
596943
596980
  t1 = recursivelySanitizeUnicode(tagName).trim();
@@ -596992,7 +597029,7 @@ function ToggleTagAndClose(t0) {
596992
597029
  t2 = $3[4];
596993
597030
  t3 = $3[5];
596994
597031
  }
596995
- React106.useEffect(t2, t3);
597032
+ React107.useEffect(t2, t3);
596996
597033
  if (showConfirm && sessionId) {
596997
597034
  let t4;
596998
597035
  if ($3[6] !== normalizedTag || $3[7] !== onDone || $3[8] !== sessionId) {
@@ -597074,7 +597111,7 @@ Examples:
597074
597111
  t1 = $3[1];
597075
597112
  t2 = $3[2];
597076
597113
  }
597077
- React106.useEffect(t1, t2);
597114
+ React107.useEffect(t1, t2);
597078
597115
  return null;
597079
597116
  }
597080
597117
  async function call145(onDone, _context, args) {
@@ -597094,7 +597131,7 @@ async function call145(onDone, _context, args) {
597094
597131
  onDone
597095
597132
  }, undefined, false, undefined, this);
597096
597133
  }
597097
- var import_compiler_runtime264, React106, jsx_dev_runtime350;
597134
+ var import_compiler_runtime264, React107, jsx_dev_runtime350;
597098
597135
  var init_tag = __esm(() => {
597099
597136
  init_source2();
597100
597137
  init_state();
@@ -597105,7 +597142,7 @@ var init_tag = __esm(() => {
597105
597142
  init_analytics();
597106
597143
  init_sessionStorage();
597107
597144
  import_compiler_runtime264 = __toESM(require_compiler_runtime(), 1);
597108
- React106 = __toESM(require_react(), 1);
597145
+ React107 = __toESM(require_react(), 1);
597109
597146
  jsx_dev_runtime350 = __toESM(require_jsx_dev_runtime(), 1);
597110
597147
  });
597111
597148
 
@@ -598160,7 +598197,7 @@ function ApplyEffortAndClose(t0) {
598160
598197
  t1 = $3[4];
598161
598198
  t2 = $3[5];
598162
598199
  }
598163
- React108.useEffect(t1, t2);
598200
+ React109.useEffect(t1, t2);
598164
598201
  return null;
598165
598202
  }
598166
598203
  async function call150(onDone, _context, args) {
@@ -598187,7 +598224,7 @@ Effort levels:
598187
598224
  onDone
598188
598225
  }, undefined, false, undefined, this);
598189
598226
  }
598190
- var import_compiler_runtime267, React108, jsx_dev_runtime355, COMMON_HELP_ARGS2;
598227
+ var import_compiler_runtime267, React109, jsx_dev_runtime355, COMMON_HELP_ARGS2;
598191
598228
  var init_effort2 = __esm(() => {
598192
598229
  init_useMainLoopModel();
598193
598230
  init_analytics();
@@ -598195,7 +598232,7 @@ var init_effort2 = __esm(() => {
598195
598232
  init_effort();
598196
598233
  init_settings2();
598197
598234
  import_compiler_runtime267 = __toESM(require_compiler_runtime(), 1);
598198
- React108 = __toESM(require_react(), 1);
598235
+ React109 = __toESM(require_react(), 1);
598199
598236
  jsx_dev_runtime355 = __toESM(require_jsx_dev_runtime(), 1);
598200
598237
  COMMON_HELP_ARGS2 = ["help", "-h", "--help"];
598201
598238
  });
@@ -602717,7 +602754,7 @@ function generateHtmlReport(data, insights) {
602717
602754
  </html>`;
602718
602755
  }
602719
602756
  function buildExportData(data, insights, facets, remoteStats) {
602720
- const version3 = typeof MACRO !== "undefined" ? "1.28.0" : "unknown";
602757
+ const version3 = typeof MACRO !== "undefined" ? "1.28.1" : "unknown";
602721
602758
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
602722
602759
  const facets_summary = {
602723
602760
  total: facets.size,
@@ -606995,7 +607032,7 @@ var init_sessionStorage = __esm(() => {
606995
607032
  init_settings2();
606996
607033
  init_slowOperations();
606997
607034
  init_uuid();
606998
- VERSION5 = typeof MACRO !== "undefined" ? "1.28.0" : "unknown";
607035
+ VERSION5 = typeof MACRO !== "undefined" ? "1.28.1" : "unknown";
606999
607036
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
607000
607037
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
607001
607038
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -608200,7 +608237,7 @@ var init_filesystem = __esm(() => {
608200
608237
  });
608201
608238
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
608202
608239
  const nonce = randomBytes18(16).toString("hex");
608203
- return join200(getURTempDir(), "bundled-skills", "1.28.0", nonce);
608240
+ return join200(getURTempDir(), "bundled-skills", "1.28.1", nonce);
608204
608241
  });
608205
608242
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
608206
608243
  });
@@ -614492,7 +614529,7 @@ function computeFingerprint(messageText2, version3) {
614492
614529
  }
614493
614530
  function computeFingerprintFromMessages(messages) {
614494
614531
  const firstMessageText = extractFirstMessageText(messages);
614495
- return computeFingerprint(firstMessageText, "1.28.0");
614532
+ return computeFingerprint(firstMessageText, "1.28.1");
614496
614533
  }
614497
614534
  var FINGERPRINT_SALT = "59cf53e54c78";
614498
614535
  var init_fingerprint = () => {};
@@ -616359,7 +616396,7 @@ async function sideQuery(opts) {
616359
616396
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
616360
616397
  }
616361
616398
  const messageText2 = extractFirstUserMessageText(messages);
616362
- const fingerprint = computeFingerprint(messageText2, "1.28.0");
616399
+ const fingerprint = computeFingerprint(messageText2, "1.28.1");
616363
616400
  const attributionHeader = getAttributionHeader(fingerprint);
616364
616401
  const systemBlocks = [
616365
616402
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -621096,7 +621133,7 @@ function buildSystemInitMessage(inputs) {
621096
621133
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
621097
621134
  apiKeySource: getURHQApiKeyWithSource().source,
621098
621135
  betas: getSdkBetas(),
621099
- ur_version: "1.28.0",
621136
+ ur_version: "1.28.1",
621100
621137
  output_style: outputStyle2,
621101
621138
  agents: inputs.agents.map((agent) => agent.agentType),
621102
621139
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -635724,7 +635761,7 @@ var init_useVoiceEnabled = __esm(() => {
635724
635761
  function getSemverPart(version3) {
635725
635762
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
635726
635763
  }
635727
- function useUpdateNotification(updatedVersion, initialVersion = "1.28.0") {
635764
+ function useUpdateNotification(updatedVersion, initialVersion = "1.28.1") {
635728
635765
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react226.useState(() => getSemverPart(initialVersion));
635729
635766
  if (!updatedVersion) {
635730
635767
  return null;
@@ -635768,12 +635805,12 @@ function AutoUpdater({
635768
635805
  }, []);
635769
635806
  const isUpdatingRef = import_react227.useRef(isUpdating);
635770
635807
  isUpdatingRef.current = isUpdating;
635771
- const checkForUpdates = React127.useCallback(async () => {
635808
+ const checkForUpdates = React128.useCallback(async () => {
635772
635809
  if (isUpdatingRef.current) {
635773
635810
  return;
635774
635811
  }
635775
635812
  if (false) {}
635776
- const currentVersion = "1.28.0";
635813
+ const currentVersion = "1.28.1";
635777
635814
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
635778
635815
  let latestVersion = await getLatestVersion(channel);
635779
635816
  const isDisabled = isAutoUpdaterDisabled();
@@ -635931,7 +635968,7 @@ function AutoUpdater({
635931
635968
  ]
635932
635969
  }, undefined, true, undefined, this);
635933
635970
  }
635934
- var React127, import_react227, jsx_dev_runtime402;
635971
+ var React128, import_react227, jsx_dev_runtime402;
635935
635972
  var init_AutoUpdater = __esm(() => {
635936
635973
  init_analytics();
635937
635974
  init_dist3();
@@ -635945,7 +635982,7 @@ var init_AutoUpdater = __esm(() => {
635945
635982
  init_nativeInstaller();
635946
635983
  init_settings2();
635947
635984
  init_updateNotice();
635948
- React127 = __toESM(require_react(), 1);
635985
+ React128 = __toESM(require_react(), 1);
635949
635986
  import_react227 = __toESM(require_react(), 1);
635950
635987
  jsx_dev_runtime402 = __toESM(require_jsx_dev_runtime(), 1);
635951
635988
  });
@@ -635989,7 +636026,7 @@ function NativeAutoUpdater({
635989
636026
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
635990
636027
  const isUpdatingRef = import_react228.useRef(isUpdating);
635991
636028
  isUpdatingRef.current = isUpdating;
635992
- const checkForUpdates = React128.useCallback(async () => {
636029
+ const checkForUpdates = React129.useCallback(async () => {
635993
636030
  if (isUpdatingRef.current) {
635994
636031
  return;
635995
636032
  }
@@ -636002,12 +636039,12 @@ function NativeAutoUpdater({
636002
636039
  logEvent("tengu_native_auto_updater_start", {});
636003
636040
  try {
636004
636041
  const maxVersion = await getMaxVersion();
636005
- if (maxVersion && gt("1.28.0", maxVersion)) {
636042
+ if (maxVersion && gt("1.28.1", maxVersion)) {
636006
636043
  const msg = await getMaxVersionMessage();
636007
636044
  setMaxVersionIssue(msg ?? "affects your version");
636008
636045
  }
636009
636046
  const result = await installLatest(channel);
636010
- const currentVersion = "1.28.0";
636047
+ const currentVersion = "1.28.1";
636011
636048
  const latencyMs = Date.now() - startTime;
636012
636049
  if (result.lockFailed) {
636013
636050
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -636107,7 +636144,7 @@ function NativeAutoUpdater({
636107
636144
  ]
636108
636145
  }, undefined, true, undefined, this);
636109
636146
  }
636110
- var React128, import_react228, jsx_dev_runtime403;
636147
+ var React129, import_react228, jsx_dev_runtime403;
636111
636148
  var init_NativeAutoUpdater = __esm(() => {
636112
636149
  init_analytics();
636113
636150
  init_debug();
@@ -636119,7 +636156,7 @@ var init_NativeAutoUpdater = __esm(() => {
636119
636156
  init_config();
636120
636157
  init_nativeInstaller();
636121
636158
  init_settings2();
636122
- React128 = __toESM(require_react(), 1);
636159
+ React129 = __toESM(require_react(), 1);
636123
636160
  import_react228 = __toESM(require_react(), 1);
636124
636161
  jsx_dev_runtime403 = __toESM(require_jsx_dev_runtime(), 1);
636125
636162
  });
@@ -636144,17 +636181,17 @@ function PackageManagerAutoUpdater(t0) {
636144
636181
  const maxVersion = await getMaxVersion();
636145
636182
  if (maxVersion && latest && gt(latest, maxVersion)) {
636146
636183
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
636147
- if (gte("1.28.0", maxVersion)) {
636148
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.28.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
636184
+ if (gte("1.28.1", maxVersion)) {
636185
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.28.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
636149
636186
  setUpdateAvailable(false);
636150
636187
  return;
636151
636188
  }
636152
636189
  latest = maxVersion;
636153
636190
  }
636154
- const hasUpdate = latest && !gte("1.28.0", latest) && !shouldSkipVersion(latest);
636191
+ const hasUpdate = latest && !gte("1.28.1", latest) && !shouldSkipVersion(latest);
636155
636192
  setUpdateAvailable(!!hasUpdate);
636156
636193
  if (hasUpdate) {
636157
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.28.0"} -> ${latest}`);
636194
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.28.1"} -> ${latest}`);
636158
636195
  }
636159
636196
  };
636160
636197
  $3[0] = t1;
@@ -636175,7 +636212,7 @@ function PackageManagerAutoUpdater(t0) {
636175
636212
  t2 = $3[1];
636176
636213
  t3 = $3[2];
636177
636214
  }
636178
- React129.useEffect(t2, t3);
636215
+ React130.useEffect(t2, t3);
636179
636216
  useInterval(checkForUpdates, 1800000);
636180
636217
  if (!updateAvailable) {
636181
636218
  return null;
@@ -636188,7 +636225,7 @@ function PackageManagerAutoUpdater(t0) {
636188
636225
  wrap: "truncate",
636189
636226
  children: [
636190
636227
  "currentVersion: ",
636191
- "1.28.0"
636228
+ "1.28.1"
636192
636229
  ]
636193
636230
  }, undefined, true, undefined, this);
636194
636231
  $3[3] = verbose;
@@ -636230,7 +636267,7 @@ function PackageManagerAutoUpdater(t0) {
636230
636267
  }
636231
636268
  return t6;
636232
636269
  }
636233
- var import_compiler_runtime306, React129, import_react229, jsx_dev_runtime404;
636270
+ var import_compiler_runtime306, React130, import_react229, jsx_dev_runtime404;
636234
636271
  var init_PackageManagerAutoUpdater = __esm(() => {
636235
636272
  init_dist3();
636236
636273
  init_ink2();
@@ -636240,7 +636277,7 @@ var init_PackageManagerAutoUpdater = __esm(() => {
636240
636277
  init_packageManagers();
636241
636278
  init_settings2();
636242
636279
  import_compiler_runtime306 = __toESM(require_compiler_runtime(), 1);
636243
- React129 = __toESM(require_react(), 1);
636280
+ React130 = __toESM(require_react(), 1);
636244
636281
  import_react229 = __toESM(require_react(), 1);
636245
636282
  jsx_dev_runtime404 = __toESM(require_jsx_dev_runtime(), 1);
636246
636283
  });
@@ -636256,8 +636293,8 @@ function AutoUpdaterWrapper(t0) {
636256
636293
  showSuccessMessage,
636257
636294
  verbose
636258
636295
  } = t0;
636259
- const [useNativeInstaller, setUseNativeInstaller] = React130.useState(null);
636260
- const [isPackageManager, setIsPackageManager] = React130.useState(null);
636296
+ const [useNativeInstaller, setUseNativeInstaller] = React131.useState(null);
636297
+ const [isPackageManager, setIsPackageManager] = React131.useState(null);
636261
636298
  let t1;
636262
636299
  let t2;
636263
636300
  if ($3[0] === Symbol.for("react.memo_cache_sentinel")) {
@@ -636278,7 +636315,7 @@ function AutoUpdaterWrapper(t0) {
636278
636315
  t1 = $3[0];
636279
636316
  t2 = $3[1];
636280
636317
  }
636281
- React130.useEffect(t1, t2);
636318
+ React131.useEffect(t1, t2);
636282
636319
  if (useNativeInstaller === null || isPackageManager === null) {
636283
636320
  return null;
636284
636321
  }
@@ -636329,7 +636366,7 @@ function AutoUpdaterWrapper(t0) {
636329
636366
  }
636330
636367
  return t3;
636331
636368
  }
636332
- var import_compiler_runtime307, React130, jsx_dev_runtime405;
636369
+ var import_compiler_runtime307, React131, jsx_dev_runtime405;
636333
636370
  var init_AutoUpdaterWrapper = __esm(() => {
636334
636371
  init_config();
636335
636372
  init_debug();
@@ -636338,7 +636375,7 @@ var init_AutoUpdaterWrapper = __esm(() => {
636338
636375
  init_NativeAutoUpdater();
636339
636376
  init_PackageManagerAutoUpdater();
636340
636377
  import_compiler_runtime307 = __toESM(require_compiler_runtime(), 1);
636341
- React130 = __toESM(require_react(), 1);
636378
+ React131 = __toESM(require_react(), 1);
636342
636379
  jsx_dev_runtime405 = __toESM(require_jsx_dev_runtime(), 1);
636343
636380
  });
636344
636381
 
@@ -646151,7 +646188,7 @@ function useCoordinatorTaskCount() {
646151
646188
  function _temp186(s) {
646152
646189
  return s.tasks;
646153
646190
  }
646154
- var import_compiler_runtime314, React133, jsx_dev_runtime415;
646191
+ var import_compiler_runtime314, React134, jsx_dev_runtime415;
646155
646192
  var init_CoordinatorAgentStatus = __esm(() => {
646156
646193
  init_figures2();
646157
646194
  init_useTerminalSize();
@@ -646164,7 +646201,7 @@ var init_CoordinatorAgentStatus = __esm(() => {
646164
646201
  init_framework();
646165
646202
  init_taskStatusUtils();
646166
646203
  import_compiler_runtime314 = __toESM(require_compiler_runtime(), 1);
646167
- React133 = __toESM(require_react(), 1);
646204
+ React134 = __toESM(require_react(), 1);
646168
646205
  jsx_dev_runtime415 = __toESM(require_jsx_dev_runtime(), 1);
646169
646206
  });
646170
646207
 
@@ -648570,6 +648607,17 @@ var init_statusBar = __esm(() => {
648570
648607
  });
648571
648608
 
648572
648609
  // src/components/StatusLine.tsx
648610
+ function getEffectiveStatusLineSettings(settings, providerSelection) {
648611
+ if (!providerSelection) {
648612
+ return settings;
648613
+ }
648614
+ return {
648615
+ ...settings,
648616
+ provider: {
648617
+ ...providerSelection
648618
+ }
648619
+ };
648620
+ }
648573
648621
  function statusLineShouldDisplay(settings) {
648574
648622
  let isKairosActive = false;
648575
648623
  if (false) {}
@@ -648593,7 +648641,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
648593
648641
  const providerRuntime = getProviderRuntimeInfo(settings);
648594
648642
  const outputStyleName = settings?.outputStyle || DEFAULT_OUTPUT_STYLE_NAME;
648595
648643
  const currentUsage = getCurrentUsage(messages);
648596
- const contextWindowSize = getContextWindowForModel(runtimeModel, getSdkBetas());
648644
+ const contextWindowSize = getContextWindowForModel(runtimeModel, getSdkBetas(), providerRuntime.provider === "ollama" ? "ollama" : "foundry");
648597
648645
  const contextPercentages = calculateContextPercentages(currentUsage, contextWindowSize);
648598
648646
  const sessionId = getSessionId();
648599
648647
  const sessionName = getCurrentSessionTitle(sessionId);
@@ -648634,7 +648682,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
648634
648682
  project_dir: getOriginalCwd(),
648635
648683
  added_dirs: addedDirs
648636
648684
  },
648637
- version: "1.28.0",
648685
+ version: "1.28.1",
648638
648686
  output_style: {
648639
648687
  name: outputStyleName
648640
648688
  },
@@ -648700,16 +648748,24 @@ function StatusLineInner({
648700
648748
  const tasks2 = useAppState((s) => s.tasks);
648701
648749
  const setAppState = useSetAppState();
648702
648750
  const settings = useSettings();
648751
+ const providerSelection = useAppState((s) => s.provider);
648703
648752
  const [branch2, setBranch] = import_react250.useState(null);
648704
648753
  const {
648705
648754
  addNotification
648706
648755
  } = useNotifications();
648707
648756
  const mainLoopModel = useMainLoopModel();
648708
- const providerRuntime = getProviderRuntimeInfo(settings);
648757
+ const effectiveSettings = getEffectiveStatusLineSettings(settings, providerSelection);
648758
+ const providerRuntime = getProviderRuntimeInfo(effectiveSettings);
648759
+ const providerRuntimeKey = [
648760
+ providerRuntime.provider,
648761
+ providerRuntime.model ?? "",
648762
+ providerRuntime.baseUrl ?? "",
648763
+ providerRuntime.fallback ?? ""
648764
+ ].join("|");
648709
648765
  const taskValues = Object.values(tasks2);
648710
648766
  const taskRunningCount = taskValues.filter((task2) => task2.status === "running" || task2.status === "pending").length;
648711
648767
  const defaultStatusLineText = buildDefaultStatusBar({
648712
- version: "1.28.0",
648768
+ version: "1.28.1",
648713
648769
  providerLabel: providerRuntime.providerLabel,
648714
648770
  authMode: providerRuntime.authLabel,
648715
648771
  model: providerRuntime.model ?? renderModelName(mainLoopModel),
@@ -648720,8 +648776,8 @@ function StatusLineInner({
648720
648776
  latestVersion: autoUpdaterResult?.status === "success" ? null : autoUpdaterResult?.version,
648721
648777
  isCheckingUpdate: isAutoUpdating
648722
648778
  });
648723
- const settingsRef = import_react250.useRef(settings);
648724
- settingsRef.current = settings;
648779
+ const settingsRef = import_react250.useRef(effectiveSettings);
648780
+ settingsRef.current = effectiveSettings;
648725
648781
  const vimModeRef = import_react250.useRef(vimMode);
648726
648782
  vimModeRef.current = vimMode;
648727
648783
  const permissionModeRef = import_react250.useRef(permissionMode);
@@ -648735,7 +648791,8 @@ function StatusLineInner({
648735
648791
  exceeds200kTokens: false,
648736
648792
  permissionMode,
648737
648793
  vimMode,
648738
- mainLoopModel
648794
+ mainLoopModel,
648795
+ providerRuntimeKey
648739
648796
  });
648740
648797
  const debounceTimerRef = import_react250.useRef(undefined);
648741
648798
  const logNextResultRef = import_react250.useRef(true);
@@ -648804,17 +648861,18 @@ function StatusLineInner({
648804
648861
  import_react250.useEffect(() => {
648805
648862
  if (!settings?.statusLine)
648806
648863
  return;
648807
- if (lastAssistantMessageId !== previousStateRef.current.messageId || permissionMode !== previousStateRef.current.permissionMode || vimMode !== previousStateRef.current.vimMode || mainLoopModel !== previousStateRef.current.mainLoopModel) {
648864
+ if (lastAssistantMessageId !== previousStateRef.current.messageId || permissionMode !== previousStateRef.current.permissionMode || vimMode !== previousStateRef.current.vimMode || mainLoopModel !== previousStateRef.current.mainLoopModel || providerRuntimeKey !== previousStateRef.current.providerRuntimeKey) {
648808
648865
  previousStateRef.current.permissionMode = permissionMode;
648809
648866
  previousStateRef.current.vimMode = vimMode;
648810
648867
  previousStateRef.current.mainLoopModel = mainLoopModel;
648868
+ previousStateRef.current.providerRuntimeKey = providerRuntimeKey;
648811
648869
  scheduleUpdate();
648812
648870
  }
648813
- }, [lastAssistantMessageId, permissionMode, vimMode, mainLoopModel, scheduleUpdate]);
648814
- const statusLineCommand = settings?.statusLine?.command;
648871
+ }, [lastAssistantMessageId, permissionMode, vimMode, mainLoopModel, providerRuntimeKey, scheduleUpdate]);
648872
+ const statusLineCommand = effectiveSettings?.statusLine?.command;
648815
648873
  const isFirstSettingsRender = import_react250.useRef(true);
648816
648874
  import_react250.useEffect(() => {
648817
- if (!settings?.statusLine)
648875
+ if (!effectiveSettings?.statusLine)
648818
648876
  return;
648819
648877
  if (isFirstSettingsRender.current) {
648820
648878
  isFirstSettingsRender.current = false;
@@ -648824,7 +648882,7 @@ function StatusLineInner({
648824
648882
  doUpdate();
648825
648883
  }, [statusLineCommand, doUpdate]);
648826
648884
  import_react250.useEffect(() => {
648827
- const statusLine = settings?.statusLine;
648885
+ const statusLine = effectiveSettings?.statusLine;
648828
648886
  if (statusLine) {
648829
648887
  logEvent("tengu_status_line_mount", {
648830
648888
  command_length: statusLine.command.length,
@@ -648857,8 +648915,8 @@ function StatusLineInner({
648857
648915
  }
648858
648916
  };
648859
648917
  }, []);
648860
- const paddingX = settings?.statusLine?.padding ?? 0;
648861
- const renderedStatusLineText = settings?.statusLine ? statusLineText : defaultStatusLineText;
648918
+ const paddingX = effectiveSettings?.statusLine?.padding ?? 0;
648919
+ const renderedStatusLineText = effectiveSettings?.statusLine ? statusLineText : defaultStatusLineText;
648862
648920
  return /* @__PURE__ */ jsx_dev_runtime424.jsxDEV(ThemedBox_default, {
648863
648921
  paddingX,
648864
648922
  gap: 2,
@@ -649116,7 +649174,7 @@ function BackgroundTaskStatus(t0) {
649116
649174
  if ($3[25] !== selectedIdx || $3[26] !== setAppState || $3[27] !== viewedIdx || $3[28] !== visiblePills) {
649117
649175
  t13 = visiblePills.map((pill_1, i_1) => {
649118
649176
  const needsSeparator = i_1 > 0;
649119
- return /* @__PURE__ */ jsx_dev_runtime425.jsxDEV(React136.Fragment, {
649177
+ return /* @__PURE__ */ jsx_dev_runtime425.jsxDEV(React137.Fragment, {
649120
649178
  children: [
649121
649179
  needsSeparator && /* @__PURE__ */ jsx_dev_runtime425.jsxDEV(ThemedText, {
649122
649180
  children: " "
@@ -649486,7 +649544,7 @@ function getAgentThemeColor(colorName) {
649486
649544
  }
649487
649545
  return;
649488
649546
  }
649489
- var import_compiler_runtime321, React136, import_react251, jsx_dev_runtime425;
649547
+ var import_compiler_runtime321, React137, import_react251, jsx_dev_runtime425;
649490
649548
  var init_BackgroundTaskStatus = __esm(() => {
649491
649549
  init_figures();
649492
649550
  init_useTerminalSize();
@@ -649500,7 +649558,7 @@ var init_BackgroundTaskStatus = __esm(() => {
649500
649558
  init_KeyboardShortcutHint();
649501
649559
  init_taskStatusUtils();
649502
649560
  import_compiler_runtime321 = __toESM(require_compiler_runtime(), 1);
649503
- React136 = __toESM(require_react(), 1);
649561
+ React137 = __toESM(require_react(), 1);
649504
649562
  import_react251 = __toESM(require_react(), 1);
649505
649563
  jsx_dev_runtime425 = __toESM(require_jsx_dev_runtime(), 1);
649506
649564
  });
@@ -650634,7 +650692,7 @@ function PromptInputQueuedCommandsImpl() {
650634
650692
  }, i3, false, undefined, this))
650635
650693
  }, undefined, false, undefined, this);
650636
650694
  }
650637
- var React137, import_react255, jsx_dev_runtime432, EMPTY_SET2, MAX_VISIBLE_NOTIFICATIONS = 3, PromptInputQueuedCommands;
650695
+ var React138, import_react255, jsx_dev_runtime432, EMPTY_SET2, MAX_VISIBLE_NOTIFICATIONS = 3, PromptInputQueuedCommands;
650638
650696
  var init_PromptInputQueuedCommands = __esm(() => {
650639
650697
  init_ink2();
650640
650698
  init_AppState();
@@ -650645,11 +650703,11 @@ var init_PromptInputQueuedCommands = __esm(() => {
650645
650703
  init_messages();
650646
650704
  init_slowOperations();
650647
650705
  init_Message();
650648
- React137 = __toESM(require_react(), 1);
650706
+ React138 = __toESM(require_react(), 1);
650649
650707
  import_react255 = __toESM(require_react(), 1);
650650
650708
  jsx_dev_runtime432 = __toESM(require_jsx_dev_runtime(), 1);
650651
650709
  EMPTY_SET2 = new Set;
650652
- PromptInputQueuedCommands = React137.memo(PromptInputQueuedCommandsImpl);
650710
+ PromptInputQueuedCommands = React138.memo(PromptInputQueuedCommandsImpl);
650653
650711
  });
650654
650712
 
650655
650713
  // src/components/PromptInput/PromptInputStashNotice.tsx
@@ -650988,8 +651046,8 @@ function useSwarmBanner() {
650988
651046
  const agent = useAppState((s) => s.agent);
650989
651047
  useAppState((s) => s.viewingAgentTaskId);
650990
651048
  const store = useAppStateStore();
650991
- const [insideTmux, setInsideTmux] = React138.useState(null);
650992
- React138.useEffect(() => {
651049
+ const [insideTmux, setInsideTmux] = React139.useState(null);
651050
+ React139.useEffect(() => {
650993
651051
  isInsideTmux().then(setInsideTmux);
650994
651052
  }, []);
650995
651053
  const state2 = store.getState();
@@ -651056,7 +651114,7 @@ function useSwarmBanner() {
651056
651114
  function toThemeColor(colorName, fallback = "cyan_FOR_SUBAGENTS_ONLY") {
651057
651115
  return colorName && AGENT_COLORS.includes(colorName) ? AGENT_COLOR_TO_THEME_COLOR[colorName] : fallback;
651058
651116
  }
651059
- var React138;
651117
+ var React139;
651060
651118
  var init_useSwarmBanner = __esm(() => {
651061
651119
  init_AppState();
651062
651120
  init_selectors();
@@ -651066,7 +651124,7 @@ var init_useSwarmBanner = __esm(() => {
651066
651124
  init_registry();
651067
651125
  init_teammate();
651068
651126
  init_teammateContext();
651069
- React138 = __toESM(require_react(), 1);
651127
+ React139 = __toESM(require_react(), 1);
651070
651128
  });
651071
651129
 
651072
651130
  // src/components/PromptInput/PromptInput.tsx
@@ -651122,12 +651180,12 @@ function PromptInput({
651122
651180
  show: false
651123
651181
  });
651124
651182
  const [cursorOffset, setCursorOffset] = import_react259.useState(input.length);
651125
- const lastInternalInputRef = React139.useRef(input);
651183
+ const lastInternalInputRef = React140.useRef(input);
651126
651184
  if (input !== lastInternalInputRef.current) {
651127
651185
  setCursorOffset(input.length);
651128
651186
  lastInternalInputRef.current = input;
651129
651187
  }
651130
- const trackAndSetInput = React139.useCallback((value) => {
651188
+ const trackAndSetInput = React140.useCallback((value) => {
651131
651189
  lastInternalInputRef.current = value;
651132
651190
  onInputChange(value);
651133
651191
  }, [onInputChange]);
@@ -652815,7 +652873,7 @@ function buildBorderText(showFastIcon, showFastIconHint, fastModeCooldown) {
652815
652873
  offset: 0
652816
652874
  };
652817
652875
  }
652818
- var React139, import_react259, jsx_dev_runtime434, PROMPT_FOOTER_LINES = 5, MIN_INPUT_VIEWPORT_LINES = 3, PromptInput_default;
652876
+ var React140, import_react259, jsx_dev_runtime434, PROMPT_FOOTER_LINES = 5, MIN_INPUT_VIEWPORT_LINES = 3, PromptInput_default;
652819
652877
  var init_PromptInput = __esm(() => {
652820
652878
  init_source2();
652821
652879
  init_notifications();
@@ -652911,10 +652969,10 @@ var init_PromptInput = __esm(() => {
652911
652969
  init_useShowFastIconHint();
652912
652970
  init_useSwarmBanner();
652913
652971
  init_utils10();
652914
- React139 = __toESM(require_react(), 1);
652972
+ React140 = __toESM(require_react(), 1);
652915
652973
  import_react259 = __toESM(require_react(), 1);
652916
652974
  jsx_dev_runtime434 = __toESM(require_jsx_dev_runtime(), 1);
652917
- PromptInput_default = React139.memo(PromptInput);
652975
+ PromptInput_default = React140.memo(PromptInput);
652918
652976
  });
652919
652977
 
652920
652978
  // src/utils/controlMessageCompat.ts
@@ -660195,7 +660253,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
660195
660253
  } catch {}
660196
660254
  const data = {
660197
660255
  trigger: trigger2,
660198
- version: "1.28.0",
660256
+ version: "1.28.1",
660199
660257
  platform: process.platform,
660200
660258
  transcript,
660201
660259
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -664110,7 +664168,7 @@ function useLspInitializationNotification() {
664110
664168
  addNotification
664111
664169
  } = useNotifications();
664112
664170
  const setAppState = useSetAppState();
664113
- const [shouldPoll, setShouldPoll] = React144.useState(_temp204);
664171
+ const [shouldPoll, setShouldPoll] = React145.useState(_temp204);
664114
664172
  let t0;
664115
664173
  if ($3[0] === Symbol.for("react.memo_cache_sentinel")) {
664116
664174
  t0 = new Set;
@@ -664118,7 +664176,7 @@ function useLspInitializationNotification() {
664118
664176
  } else {
664119
664177
  t0 = $3[0];
664120
664178
  }
664121
- const notifiedErrorsRef = React144.useRef(t0);
664179
+ const notifiedErrorsRef = React145.useRef(t0);
664122
664180
  let t1;
664123
664181
  if ($3[1] !== addNotification || $3[2] !== setAppState) {
664124
664182
  t1 = (source, errorMessage5) => {
@@ -664229,7 +664287,7 @@ function useLspInitializationNotification() {
664229
664287
  t3 = $3[8];
664230
664288
  t4 = $3[9];
664231
664289
  }
664232
- React144.useEffect(t3, t4);
664290
+ React145.useEffect(t3, t4);
664233
664291
  }
664234
664292
  function _temp286(e) {
664235
664293
  if (e.type === "generic-error") {
@@ -664240,7 +664298,7 @@ function _temp286(e) {
664240
664298
  function _temp204() {
664241
664299
  return isEnvTruthy("true");
664242
664300
  }
664243
- var import_compiler_runtime345, React144, jsx_dev_runtime452, LSP_POLL_INTERVAL_MS = 5000;
664301
+ var import_compiler_runtime345, React145, jsx_dev_runtime452, LSP_POLL_INTERVAL_MS = 5000;
664244
664302
  var init_useLspInitializationNotification = __esm(() => {
664245
664303
  init_dist3();
664246
664304
  init_state();
@@ -664251,7 +664309,7 @@ var init_useLspInitializationNotification = __esm(() => {
664251
664309
  init_debug();
664252
664310
  init_envUtils();
664253
664311
  import_compiler_runtime345 = __toESM(require_compiler_runtime(), 1);
664254
- React144 = __toESM(require_react(), 1);
664312
+ React145 = __toESM(require_react(), 1);
664255
664313
  jsx_dev_runtime452 = __toESM(require_jsx_dev_runtime(), 1);
664256
664314
  });
664257
664315
 
@@ -664437,8 +664495,8 @@ var init_lspRecommendation = __esm(() => {
664437
664495
  // src/hooks/usePluginRecommendationBase.tsx
664438
664496
  function usePluginRecommendationBase() {
664439
664497
  const $3 = import_compiler_runtime346.c(6);
664440
- const [recommendation, setRecommendation] = React145.useState(null);
664441
- const isCheckingRef = React145.useRef(false);
664498
+ const [recommendation, setRecommendation] = React146.useState(null);
664499
+ const isCheckingRef = React146.useRef(false);
664442
664500
  let t0;
664443
664501
  if ($3[0] !== recommendation) {
664444
664502
  t0 = (resolve50) => {
@@ -664526,7 +664584,7 @@ async function installPluginAndNotify(pluginId, pluginName, keyPrefix, addNotifi
664526
664584
  });
664527
664585
  }
664528
664586
  }
664529
- var import_compiler_runtime346, React145, jsx_dev_runtime453;
664587
+ var import_compiler_runtime346, React146, jsx_dev_runtime453;
664530
664588
  var init_usePluginRecommendationBase = __esm(() => {
664531
664589
  init_figures();
664532
664590
  init_state();
@@ -664534,7 +664592,7 @@ var init_usePluginRecommendationBase = __esm(() => {
664534
664592
  init_log2();
664535
664593
  init_marketplaceManager();
664536
664594
  import_compiler_runtime346 = __toESM(require_compiler_runtime(), 1);
664537
- React145 = __toESM(require_react(), 1);
664595
+ React146 = __toESM(require_react(), 1);
664538
664596
  jsx_dev_runtime453 = __toESM(require_jsx_dev_runtime(), 1);
664539
664597
  });
664540
664598
 
@@ -664553,7 +664611,7 @@ function useLspPluginRecommendation() {
664553
664611
  } else {
664554
664612
  t0 = $3[0];
664555
664613
  }
664556
- const checkedFilesRef = React146.useRef(t0);
664614
+ const checkedFilesRef = React147.useRef(t0);
664557
664615
  const {
664558
664616
  recommendation,
664559
664617
  clearRecommendation,
@@ -664606,7 +664664,7 @@ function useLspPluginRecommendation() {
664606
664664
  t1 = $3[3];
664607
664665
  t2 = $3[4];
664608
664666
  }
664609
- React146.useEffect(t1, t2);
664667
+ React147.useEffect(t1, t2);
664610
664668
  let t3;
664611
664669
  if ($3[5] !== addNotification || $3[6] !== clearRecommendation || $3[7] !== recommendation) {
664612
664670
  t3 = (response) => {
@@ -664689,7 +664747,7 @@ function _temp287(current) {
664689
664747
  function _temp205(s) {
664690
664748
  return s.fileHistory.trackedFiles;
664691
664749
  }
664692
- var import_compiler_runtime347, React146, TIMEOUT_THRESHOLD_MS = 28000;
664750
+ var import_compiler_runtime347, React147, TIMEOUT_THRESHOLD_MS = 28000;
664693
664751
  var init_useLspPluginRecommendation = __esm(() => {
664694
664752
  init_state();
664695
664753
  init_notifications();
@@ -664702,7 +664760,7 @@ var init_useLspPluginRecommendation = __esm(() => {
664702
664760
  init_settings2();
664703
664761
  init_usePluginRecommendationBase();
664704
664762
  import_compiler_runtime347 = __toESM(require_compiler_runtime(), 1);
664705
- React146 = __toESM(require_react(), 1);
664763
+ React147 = __toESM(require_react(), 1);
664706
664764
  });
664707
664765
 
664708
664766
  // src/components/LspRecommendation/LspRecommendationMenu.tsx
@@ -664712,9 +664770,9 @@ function LspRecommendationMenu({
664712
664770
  fileExtension: fileExtension3,
664713
664771
  onResponse
664714
664772
  }) {
664715
- const onResponseRef = React147.useRef(onResponse);
664773
+ const onResponseRef = React148.useRef(onResponse);
664716
664774
  onResponseRef.current = onResponse;
664717
- React147.useEffect(() => {
664775
+ React148.useEffect(() => {
664718
664776
  const timeoutId = setTimeout((ref) => ref.current("no"), AUTO_DISMISS_MS2, onResponseRef);
664719
664777
  return () => clearTimeout(timeoutId);
664720
664778
  }, []);
@@ -664829,19 +664887,19 @@ function LspRecommendationMenu({
664829
664887
  }, undefined, true, undefined, this)
664830
664888
  }, undefined, false, undefined, this);
664831
664889
  }
664832
- var React147, jsx_dev_runtime454, AUTO_DISMISS_MS2 = 30000;
664890
+ var React148, jsx_dev_runtime454, AUTO_DISMISS_MS2 = 30000;
664833
664891
  var init_LspRecommendationMenu = __esm(() => {
664834
664892
  init_ink2();
664835
664893
  init_select();
664836
664894
  init_PermissionDialog();
664837
- React147 = __toESM(require_react(), 1);
664895
+ React148 = __toESM(require_react(), 1);
664838
664896
  jsx_dev_runtime454 = __toESM(require_jsx_dev_runtime(), 1);
664839
664897
  });
664840
664898
 
664841
664899
  // src/hooks/useURCodeHintRecommendation.tsx
664842
664900
  function useURCodeHintRecommendation() {
664843
664901
  const $3 = import_compiler_runtime348.c(11);
664844
- const pendingHint2 = React148.useSyncExternalStore(subscribeToPendingHint, getPendingHintSnapshot);
664902
+ const pendingHint2 = React149.useSyncExternalStore(subscribeToPendingHint, getPendingHintSnapshot);
664845
664903
  const {
664846
664904
  addNotification
664847
664905
  } = useNotifications();
@@ -664878,7 +664936,7 @@ function useURCodeHintRecommendation() {
664878
664936
  t0 = $3[2];
664879
664937
  t1 = $3[3];
664880
664938
  }
664881
- React148.useEffect(t0, t1);
664939
+ React149.useEffect(t0, t1);
664882
664940
  let t2;
664883
664941
  if ($3[4] !== addNotification || $3[5] !== clearRecommendation || $3[6] !== recommendation) {
664884
664942
  t2 = (response) => {
@@ -664943,7 +665001,7 @@ function useURCodeHintRecommendation() {
664943
665001
  }
664944
665002
  return t3;
664945
665003
  }
664946
- var import_compiler_runtime348, React148;
665004
+ var import_compiler_runtime348, React149;
664947
665005
  var init_useURCodeHintRecommendation = __esm(() => {
664948
665006
  init_notifications();
664949
665007
  init_analytics();
@@ -664953,7 +665011,7 @@ var init_useURCodeHintRecommendation = __esm(() => {
664953
665011
  init_pluginInstallationHelpers();
664954
665012
  init_usePluginRecommendationBase();
664955
665013
  import_compiler_runtime348 = __toESM(require_compiler_runtime(), 1);
664956
- React148 = __toESM(require_react(), 1);
665014
+ React149 = __toESM(require_react(), 1);
664957
665015
  });
664958
665016
 
664959
665017
  // src/components/URCodeHint/PluginHintMenu.tsx
@@ -664964,9 +665022,9 @@ function PluginHintMenu({
664964
665022
  sourceCommand,
664965
665023
  onResponse
664966
665024
  }) {
664967
- const onResponseRef = React149.useRef(onResponse);
665025
+ const onResponseRef = React150.useRef(onResponse);
664968
665026
  onResponseRef.current = onResponse;
664969
- React149.useEffect(() => {
665027
+ React150.useEffect(() => {
664970
665028
  const timeoutId = setTimeout((ref) => ref.current("no"), AUTO_DISMISS_MS3, onResponseRef);
664971
665029
  return () => clearTimeout(timeoutId);
664972
665030
  }, []);
@@ -665072,12 +665130,12 @@ function PluginHintMenu({
665072
665130
  }, undefined, true, undefined, this)
665073
665131
  }, undefined, false, undefined, this);
665074
665132
  }
665075
- var React149, jsx_dev_runtime455, AUTO_DISMISS_MS3 = 30000;
665133
+ var React150, jsx_dev_runtime455, AUTO_DISMISS_MS3 = 30000;
665076
665134
  var init_PluginHintMenu = __esm(() => {
665077
665135
  init_ink2();
665078
665136
  init_select();
665079
665137
  init_PermissionDialog();
665080
- React149 = __toESM(require_react(), 1);
665138
+ React150 = __toESM(require_react(), 1);
665081
665139
  jsx_dev_runtime455 = __toESM(require_jsx_dev_runtime(), 1);
665082
665140
  });
665083
665141
 
@@ -667570,8 +667628,8 @@ function TranscriptSearchBar({
667570
667628
  onExit: () => onClose(query2),
667571
667629
  onCancel
667572
667630
  });
667573
- const [indexStatus, setIndexStatus] = React154.useState("building");
667574
- React154.useEffect(() => {
667631
+ const [indexStatus, setIndexStatus] = React155.useState("building");
667632
+ React155.useEffect(() => {
667575
667633
  let alive = true;
667576
667634
  const warm = jumpRef.current?.warmSearchIndex;
667577
667635
  if (!warm) {
@@ -667788,7 +667846,7 @@ function REPL({
667788
667846
  const mainLoopModel = useMainLoopModel();
667789
667847
  const [localCommands, setLocalCommands] = import_react317.useState(initialCommands);
667790
667848
  useSkillsChange(isRemoteSession ? undefined : getProjectRoot(), setLocalCommands);
667791
- const proactiveActive = React154.useSyncExternalStore(proactiveModule5?.subscribeToProactiveChanges ?? PROACTIVE_NO_OP_SUBSCRIBE, proactiveModule5?.isProactiveActive ?? PROACTIVE_FALSE);
667849
+ const proactiveActive = React155.useSyncExternalStore(proactiveModule5?.subscribeToProactiveChanges ?? PROACTIVE_NO_OP_SUBSCRIBE, proactiveModule5?.isProactiveActive ?? PROACTIVE_FALSE);
667792
667850
  const isBriefOnly = useAppState((s) => s.isBriefOnly);
667793
667851
  const localTools = import_react317.useMemo(() => getTools(toolPermissionContext), [toolPermissionContext, proactiveActive, isBriefOnly]);
667794
667852
  useKickOffCheckAndDisableBypassPermissionsIfNeeded();
@@ -667916,36 +667974,36 @@ function REPL({
667916
667974
  const scrollRef = import_react317.useRef(null);
667917
667975
  const modalScrollRef = import_react317.useRef(null);
667918
667976
  const lastUserScrollTsRef = import_react317.useRef(0);
667919
- const queryGuard = React154.useRef(new QueryGuard).current;
667920
- const isQueryActive = React154.useSyncExternalStore(queryGuard.subscribe, queryGuard.getSnapshot);
667921
- const [isExternalLoading, setIsExternalLoadingRaw] = React154.useState(remoteSessionConfig?.hasInitialPrompt ?? false);
667977
+ const queryGuard = React155.useRef(new QueryGuard).current;
667978
+ const isQueryActive = React155.useSyncExternalStore(queryGuard.subscribe, queryGuard.getSnapshot);
667979
+ const [isExternalLoading, setIsExternalLoadingRaw] = React155.useState(remoteSessionConfig?.hasInitialPrompt ?? false);
667922
667980
  const isLoading = isQueryActive || isExternalLoading;
667923
- const [userInputOnProcessing, setUserInputOnProcessingRaw] = React154.useState(undefined);
667924
- const userInputBaselineRef = React154.useRef(0);
667925
- const userMessagePendingRef = React154.useRef(false);
667926
- const loadingStartTimeRef = React154.useRef(0);
667927
- const totalPausedMsRef = React154.useRef(0);
667928
- const pauseStartTimeRef = React154.useRef(null);
667929
- const resetTimingRefs = React154.useCallback(() => {
667981
+ const [userInputOnProcessing, setUserInputOnProcessingRaw] = React155.useState(undefined);
667982
+ const userInputBaselineRef = React155.useRef(0);
667983
+ const userMessagePendingRef = React155.useRef(false);
667984
+ const loadingStartTimeRef = React155.useRef(0);
667985
+ const totalPausedMsRef = React155.useRef(0);
667986
+ const pauseStartTimeRef = React155.useRef(null);
667987
+ const resetTimingRefs = React155.useCallback(() => {
667930
667988
  loadingStartTimeRef.current = Date.now();
667931
667989
  totalPausedMsRef.current = 0;
667932
667990
  pauseStartTimeRef.current = null;
667933
667991
  }, []);
667934
- const wasQueryActiveRef = React154.useRef(false);
667992
+ const wasQueryActiveRef = React155.useRef(false);
667935
667993
  if (isQueryActive && !wasQueryActiveRef.current) {
667936
667994
  resetTimingRefs();
667937
667995
  }
667938
667996
  wasQueryActiveRef.current = isQueryActive;
667939
- const setIsExternalLoading = React154.useCallback((value) => {
667997
+ const setIsExternalLoading = React155.useCallback((value) => {
667940
667998
  setIsExternalLoadingRaw(value);
667941
667999
  if (value)
667942
668000
  resetTimingRefs();
667943
668001
  }, [resetTimingRefs]);
667944
- const swarmStartTimeRef = React154.useRef(null);
667945
- const swarmBudgetInfoRef = React154.useRef(undefined);
667946
- const focusedInputDialogRef = React154.useRef(undefined);
668002
+ const swarmStartTimeRef = React155.useRef(null);
668003
+ const swarmBudgetInfoRef = React155.useRef(undefined);
668004
+ const focusedInputDialogRef = React155.useRef(undefined);
667947
668005
  const PROMPT_SUPPRESSION_MS = 1500;
667948
- const [isPromptInputActive, setIsPromptInputActive] = React154.useState(false);
668006
+ const [isPromptInputActive, setIsPromptInputActive] = React155.useState(false);
667949
668007
  const [autoUpdaterResult, setAutoUpdaterResult] = import_react317.useState(null);
667950
668008
  import_react317.useEffect(() => {
667951
668009
  if (autoUpdaterResult?.notifications) {
@@ -668219,7 +668277,7 @@ function REPL({
668219
668277
  const terminalFocusRef = import_react317.useRef(isTerminalFocused);
668220
668278
  terminalFocusRef.current = isTerminalFocused;
668221
668279
  const [theme2] = useTheme();
668222
- const tipPickedThisTurnRef = React154.useRef(false);
668280
+ const tipPickedThisTurnRef = React155.useRef(false);
668223
668281
  const pickNewSpinnerTip = import_react317.useCallback(() => {
668224
668282
  if (tipPickedThisTurnRef.current)
668225
668283
  return;
@@ -669983,8 +670041,8 @@ Note: ctrl + z now suspends UR, ctrl + _ undoes input.
669983
670041
  setPositions
669984
670042
  } = useSearchHighlight();
669985
670043
  const transcriptCols = useTerminalSize().columns;
669986
- const prevColsRef = React154.useRef(transcriptCols);
669987
- React154.useEffect(() => {
670044
+ const prevColsRef = React155.useRef(transcriptCols);
670045
+ React155.useEffect(() => {
669988
670046
  if (prevColsRef.current !== transcriptCols) {
669989
670047
  prevColsRef.current = transcriptCols;
669990
670048
  if (searchQuery || searchOpen) {
@@ -670794,7 +670852,7 @@ Note: ctrl + z now suspends UR, ctrl + _ undoes input.
670794
670852
  }
670795
670853
  return mainReturn;
670796
670854
  }
670797
- var import_compiler_runtime359, React154, import_react317, jsx_dev_runtime465, useFrustrationDetection = () => ({
670855
+ var import_compiler_runtime359, React155, import_react317, jsx_dev_runtime465, useFrustrationDetection = () => ({
670798
670856
  state: "closed",
670799
670857
  handleTranscriptSelect: () => {}
670800
670858
  }), useAntOrgWarningNotification = () => {}, getCoordinatorUserContext = () => ({}), proactiveModule5 = null, PROACTIVE_NO_OP_SUBSCRIBE = (_cb) => () => {}, PROACTIVE_FALSE = () => false, SUGGEST_BG_PR_NOOP = (_p, _n) => false, EMPTY_MCP_CLIENTS2, HISTORY_STUB, RECENT_SCROLL_REPIN_WINDOW_MS = 3000, TITLE_ANIMATION_FRAMES, TITLE_STATIC_PREFIX = "\u2733", TITLE_ANIMATION_INTERVAL_MS = 960;
@@ -671000,7 +671058,7 @@ var init_REPL = __esm(() => {
671000
671058
  init_osc();
671001
671059
  init_attachments2();
671002
671060
  import_compiler_runtime359 = __toESM(require_compiler_runtime(), 1);
671003
- React154 = __toESM(require_react(), 1);
671061
+ React155 = __toESM(require_react(), 1);
671004
671062
  import_react317 = __toESM(require_react(), 1);
671005
671063
  jsx_dev_runtime465 = __toESM(require_jsx_dev_runtime(), 1);
671006
671064
  EMPTY_MCP_CLIENTS2 = [];
@@ -672079,7 +672137,7 @@ function WelcomeV2() {
672079
672137
  dimColor: true,
672080
672138
  children: [
672081
672139
  "v",
672082
- "1.28.0"
672140
+ "1.28.1"
672083
672141
  ]
672084
672142
  }, undefined, true, undefined, this)
672085
672143
  ]
@@ -673339,7 +673397,7 @@ function completeOnboarding() {
673339
673397
  saveGlobalConfig((current) => ({
673340
673398
  ...current,
673341
673399
  hasCompletedOnboarding: true,
673342
- lastOnboardingVersion: "1.28.0"
673400
+ lastOnboardingVersion: "1.28.1"
673343
673401
  }));
673344
673402
  }
673345
673403
  function showDialog(root2, renderer) {
@@ -678443,7 +678501,7 @@ function appendToLog(path24, message) {
678443
678501
  cwd: getFsImplementation().cwd(),
678444
678502
  userType: process.env.USER_TYPE,
678445
678503
  sessionId: getSessionId(),
678446
- version: "1.28.0"
678504
+ version: "1.28.1"
678447
678505
  };
678448
678506
  getLogWriter(path24).write(messageWithTimestamp);
678449
678507
  }
@@ -682537,8 +682595,8 @@ async function getEnvLessBridgeConfig() {
682537
682595
  }
682538
682596
  async function checkEnvLessBridgeMinVersion() {
682539
682597
  const cfg = await getEnvLessBridgeConfig();
682540
- if (cfg.min_version && lt("1.28.0", cfg.min_version)) {
682541
- return `Your version of UR (${"1.28.0"}) is too old for Remote Control.
682598
+ if (cfg.min_version && lt("1.28.1", cfg.min_version)) {
682599
+ return `Your version of UR (${"1.28.1"}) is too old for Remote Control.
682542
682600
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
682543
682601
  }
682544
682602
  return null;
@@ -683012,7 +683070,7 @@ async function initBridgeCore(params) {
683012
683070
  const rawApi = createBridgeApiClient({
683013
683071
  baseUrl,
683014
683072
  getAccessToken,
683015
- runnerVersion: "1.28.0",
683073
+ runnerVersion: "1.28.1",
683016
683074
  onDebug: logForDebugging,
683017
683075
  onAuth401,
683018
683076
  getTrustedDeviceToken
@@ -688694,7 +688752,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
688694
688752
  setCwd(cwd3);
688695
688753
  const server2 = new Server({
688696
688754
  name: "ur/tengu",
688697
- version: "1.28.0"
688755
+ version: "1.28.1"
688698
688756
  }, {
688699
688757
  capabilities: {
688700
688758
  tools: {}
@@ -690507,7 +690565,7 @@ async function update() {
690507
690565
  logEvent("tengu_update_check", {});
690508
690566
  const diagnostic = await getDoctorDiagnostic();
690509
690567
  const result = await checkUpgradeStatus({
690510
- currentVersion: "1.28.0",
690568
+ currentVersion: "1.28.1",
690511
690569
  packageName: UR_AGENT_PACKAGE_NAME,
690512
690570
  installationType: diagnostic.installationType,
690513
690571
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -691753,7 +691811,7 @@ ${customInstructions}` : customInstructions;
691753
691811
  }
691754
691812
  }
691755
691813
  logForDiagnosticsNoPII("info", "started", {
691756
- version: "1.28.0",
691814
+ version: "1.28.1",
691757
691815
  is_native_binary: isInBundledMode()
691758
691816
  });
691759
691817
  registerCleanup(async () => {
@@ -692055,8 +692113,10 @@ ${customInstructions}` : customInstructions;
692055
692113
  const fullRemoteControl = remoteControl || getRemoteControlAtStartup() || kairosEnabled;
692056
692114
  let ccrMirrorEnabled = false;
692057
692115
  if (false) {}
692116
+ const initialSettings = getInitialSettings();
692058
692117
  const initialState = {
692059
- settings: getInitialSettings(),
692118
+ settings: initialSettings,
692119
+ provider: getActiveProviderSettings(initialSettings),
692060
692120
  tasks: {},
692061
692121
  agentNameRegistry: new Map,
692062
692122
  verbose: verbose ?? getGlobalConfig().verbose ?? false,
@@ -692537,7 +692597,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
692537
692597
  pendingHookMessages
692538
692598
  }, renderAndRun);
692539
692599
  }
692540
- }).version("1.28.0 (UR-AGENT)", "-v, --version", "Output the version number");
692600
+ }).version("1.28.1 (UR-AGENT)", "-v, --version", "Output the version number");
692541
692601
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
692542
692602
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
692543
692603
  if (canUserConfigureAdvisor()) {
@@ -693334,6 +693394,7 @@ var init_main3 = __esm(() => {
693334
693394
  init_sessionStorage();
693335
693395
  init_settings();
693336
693396
  init_settings2();
693397
+ init_providerRegistry();
693337
693398
  init_settingsCache();
693338
693399
  init_tasks();
693339
693400
  init_pluginTelemetry();
@@ -693415,7 +693476,7 @@ if (false) {}
693415
693476
  async function main2() {
693416
693477
  const args = process.argv.slice(2);
693417
693478
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
693418
- console.log(`${"1.28.0"} (UR-AGENT)`);
693479
+ console.log(`${"1.28.1"} (UR-AGENT)`);
693419
693480
  return;
693420
693481
  }
693421
693482
  if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {