ur-agent 1.81.4 → 1.81.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -55200,6 +55200,14 @@ async function listModelsForProviderWithSource(providerId, options = {}) {
55200
55200
  source: "live"
55201
55201
  };
55202
55202
  }
55203
+ if (options.freshOnly) {
55204
+ return {
55205
+ provider,
55206
+ models: [],
55207
+ source: "live",
55208
+ warning: `Live model discovery for "${provider}" returned no models. No cached catalog was shown.`
55209
+ };
55210
+ }
55203
55211
  const cachedModels = cachedModelsByProvider.get(cacheKey) ?? [];
55204
55212
  if (cachedModels.length > 0) {
55205
55213
  const age = describeCacheAge(cachedModelsAgeMs(cacheKey) ?? 0);
@@ -55218,6 +55226,14 @@ async function listModelsForProviderWithSource(providerId, options = {}) {
55218
55226
  warning: `Live model discovery for "${provider}" returned no models.`
55219
55227
  };
55220
55228
  } catch (error40) {
55229
+ if (options.freshOnly) {
55230
+ return {
55231
+ provider,
55232
+ models: [],
55233
+ source: "live",
55234
+ warning: `Live model discovery for "${provider}" failed: ${error40 instanceof Error ? error40.message : String(error40)}. No cached catalog was shown.`
55235
+ };
55236
+ }
55221
55237
  const cachedModels = cachedModelsByProvider.get(cacheKey) ?? [];
55222
55238
  if (cachedModels.length > 0) {
55223
55239
  const age = describeCacheAge(cachedModelsAgeMs(cacheKey) ?? 0);
@@ -108236,7 +108252,7 @@ var init_auth = __esm(() => {
108236
108252
 
108237
108253
  // src/utils/userAgent.ts
108238
108254
  function getURCodeUserAgent() {
108239
- return `ur/${"1.81.4"}`;
108255
+ return `ur/${"1.81.6"}`;
108240
108256
  }
108241
108257
 
108242
108258
  // src/utils/workloadContext.ts
@@ -108258,7 +108274,7 @@ function getUserAgent() {
108258
108274
  const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
108259
108275
  const workload = getWorkload();
108260
108276
  const workloadSuffix = workload ? `, workload/${workload}` : "";
108261
- return `ur-cli/${"1.81.4"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
108277
+ return `ur-cli/${"1.81.6"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
108262
108278
  }
108263
108279
  function getMCPUserAgent() {
108264
108280
  const parts = [];
@@ -108272,7 +108288,7 @@ function getMCPUserAgent() {
108272
108288
  parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
108273
108289
  }
108274
108290
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
108275
- return `ur/${"1.81.4"}${suffix}`;
108291
+ return `ur/${"1.81.6"}${suffix}`;
108276
108292
  }
108277
108293
  function getWebFetchUserAgent() {
108278
108294
  return `UR-User (${getURCodeUserAgent()})`;
@@ -108410,7 +108426,7 @@ var init_user = __esm(() => {
108410
108426
  deviceId,
108411
108427
  sessionId: getSessionId(),
108412
108428
  email: getEmail(),
108413
- appVersion: "1.81.4",
108429
+ appVersion: "1.81.6",
108414
108430
  platform: getHostPlatformForAnalytics(),
108415
108431
  organizationUuid,
108416
108432
  accountUuid,
@@ -116297,7 +116313,7 @@ var init_metadata = __esm(() => {
116297
116313
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
116298
116314
  WHITESPACE_REGEX = /\s+/;
116299
116315
  getVersionBase = memoize_default(() => {
116300
- const match = "1.81.4".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
116316
+ const match = "1.81.6".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
116301
116317
  return match ? match[0] : undefined;
116302
116318
  });
116303
116319
  buildEnvContext = memoize_default(async () => {
@@ -116337,7 +116353,7 @@ var init_metadata = __esm(() => {
116337
116353
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
116338
116354
  isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
116339
116355
  isURAiAuth: isURAISubscriber(),
116340
- version: "1.81.4",
116356
+ version: "1.81.6",
116341
116357
  versionBase: getVersionBase(),
116342
116358
  buildTime: "",
116343
116359
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
@@ -117007,7 +117023,7 @@ function initialize1PEventLogging() {
117007
117023
  const platform2 = getPlatform();
117008
117024
  const attributes = {
117009
117025
  [import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
117010
- [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.81.4"
117026
+ [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.81.6"
117011
117027
  };
117012
117028
  if (platform2 === "wsl") {
117013
117029
  const wslVersion = getWslVersion();
@@ -117035,7 +117051,7 @@ function initialize1PEventLogging() {
117035
117051
  })
117036
117052
  ]
117037
117053
  });
117038
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.81.4");
117054
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.81.6");
117039
117055
  }
117040
117056
  async function reinitialize1PEventLoggingIfConfigChanged() {
117041
117057
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -127001,7 +127017,7 @@ function formatA2AAgentCard(options = {}, pretty = true) {
127001
127017
  function formatA2AV1AgentCard(options = {}, pretty = true) {
127002
127018
  return JSON.stringify(buildA2AV1AgentCard(options), null, pretty ? 2 : 0);
127003
127019
  }
127004
- var urVersion = "1.81.4", researchSnapshotDate = "2026-08-10", coverage, priorityRoadmap;
127020
+ var urVersion = "1.81.6", researchSnapshotDate = "2026-08-10", coverage, priorityRoadmap;
127005
127021
  var init_trends = __esm(() => {
127006
127022
  init_a2aCardSignature();
127007
127023
  coverage = [
@@ -129891,7 +129907,7 @@ function getAttributionHeader(fingerprint) {
129891
129907
  if (!isAttributionHeaderEnabled()) {
129892
129908
  return "";
129893
129909
  }
129894
- const version2 = `${"1.81.4"}.${fingerprint}`;
129910
+ const version2 = `${"1.81.6"}.${fingerprint}`;
129895
129911
  const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
129896
129912
  const cch = "";
129897
129913
  const workload = getWorkload();
@@ -184812,7 +184828,7 @@ var init_projectSafety = __esm(() => {
184812
184828
  function getInstruments() {
184813
184829
  if (instruments)
184814
184830
  return instruments;
184815
- const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.81.4");
184831
+ const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.81.6");
184816
184832
  instruments = {
184817
184833
  operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
184818
184834
  description: "GenAI operation duration.",
@@ -184910,7 +184926,7 @@ function genAiAgentAttributes() {
184910
184926
  "gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
184911
184927
  "gen_ai.provider.name": "ur",
184912
184928
  "gen_ai.agent.name": "UR-Nexus",
184913
- "gen_ai.agent.version": "1.81.4"
184929
+ "gen_ai.agent.version": "1.81.6"
184914
184930
  };
184915
184931
  }
184916
184932
  function genAiWorkflowAttributes(workflowName, workflowRunId) {
@@ -184931,7 +184947,7 @@ function genAiWorkflowAttributes(workflowName, workflowRunId) {
184931
184947
  function startGenAiWorkflowSpan(workflowName, workflowRunId) {
184932
184948
  const attributes = genAiWorkflowAttributes(workflowName, workflowRunId);
184933
184949
  const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
184934
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.81.4").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
184950
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.81.6").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
184935
184951
  }
184936
184952
  function endGenAiWorkflowSpan(span, options2 = {}) {
184937
184953
  try {
@@ -184969,7 +184985,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
184969
184985
  if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
184970
184986
  attributes["gen_ai.memory.record.count"] = options2.recordCount;
184971
184987
  }
184972
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.81.4").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
184988
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.81.6").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
184973
184989
  }
184974
184990
  function endGenAiMemorySpan(span, options2 = {}) {
184975
184991
  try {
@@ -278684,7 +278700,7 @@ function getTelemetryAttributes() {
278684
278700
  attributes["session.id"] = sessionId;
278685
278701
  }
278686
278702
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
278687
- attributes["app.version"] = "1.81.4";
278703
+ attributes["app.version"] = "1.81.6";
278688
278704
  }
278689
278705
  const oauthAccount = getOauthAccountInfo();
278690
278706
  if (oauthAccount) {
@@ -320088,7 +320104,7 @@ function getInstallationEnv() {
320088
320104
  return;
320089
320105
  }
320090
320106
  function getURCodeVersion() {
320091
- return "1.81.4";
320107
+ return "1.81.6";
320092
320108
  }
320093
320109
  async function getInstalledVSCodeExtensionVersion(command) {
320094
320110
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -327458,7 +327474,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
327458
327474
  const client2 = new Client({
327459
327475
  name: "ur",
327460
327476
  title: "UR",
327461
- version: "1.81.4",
327477
+ version: "1.81.6",
327462
327478
  description: "UR-Nexus autonomous engineering workflow engine",
327463
327479
  websiteUrl: PRODUCT_URL
327464
327480
  }, {
@@ -327819,7 +327835,7 @@ var init_client5 = __esm(() => {
327819
327835
  const client2 = new Client({
327820
327836
  name: "ur",
327821
327837
  title: "UR",
327822
- version: "1.81.4",
327838
+ version: "1.81.6",
327823
327839
  description: "UR-Nexus autonomous engineering workflow engine",
327824
327840
  websiteUrl: PRODUCT_URL
327825
327841
  }, {
@@ -340592,7 +340608,7 @@ async function createRuntime() {
340592
340608
  bootstrapTelemetry();
340593
340609
  const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
340594
340610
  [import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
340595
- [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.81.4"
340611
+ [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.81.6"
340596
340612
  }));
340597
340613
  const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
340598
340614
  resource,
@@ -340625,11 +340641,11 @@ async function createRuntime() {
340625
340641
  setMeterProvider(meterProvider);
340626
340642
  setLoggerProvider(loggerProvider);
340627
340643
  if (meterProvider) {
340628
- const meter = meterProvider.getMeter("ur-agent", "1.81.4");
340644
+ const meter = meterProvider.getMeter("ur-agent", "1.81.6");
340629
340645
  setMeter(meter, (name, options2) => meter.createCounter(name, options2));
340630
340646
  }
340631
340647
  if (loggerProvider) {
340632
- setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.81.4"));
340648
+ setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.81.6"));
340633
340649
  }
340634
340650
  if (!cleanupRegistered3) {
340635
340651
  cleanupRegistered3 = true;
@@ -341291,9 +341307,9 @@ async function assertMinVersion() {
341291
341307
  if (false) {}
341292
341308
  try {
341293
341309
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
341294
- if (versionConfig.minVersion && lt("1.81.4", versionConfig.minVersion)) {
341310
+ if (versionConfig.minVersion && lt("1.81.6", versionConfig.minVersion)) {
341295
341311
  console.error(`
341296
- It looks like your version of UR (${"1.81.4"}) needs an update.
341312
+ It looks like your version of UR (${"1.81.6"}) needs an update.
341297
341313
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
341298
341314
 
341299
341315
  To update, please run:
@@ -341509,7 +341525,7 @@ async function installGlobalPackage(specificVersion) {
341509
341525
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
341510
341526
  logEvent("tengu_auto_updater_lock_contention", {
341511
341527
  pid: process.pid,
341512
- currentVersion: "1.81.4"
341528
+ currentVersion: "1.81.6"
341513
341529
  });
341514
341530
  return "in_progress";
341515
341531
  }
@@ -341518,7 +341534,7 @@ async function installGlobalPackage(specificVersion) {
341518
341534
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
341519
341535
  logError2(new Error("Windows NPM detected in WSL environment"));
341520
341536
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
341521
- currentVersion: "1.81.4"
341537
+ currentVersion: "1.81.6"
341522
341538
  });
341523
341539
  console.error(`
341524
341540
  Error: Windows NPM detected in WSL
@@ -342053,7 +342069,7 @@ function detectLinuxGlobPatternWarnings() {
342053
342069
  }
342054
342070
  async function getDoctorDiagnostic() {
342055
342071
  const installationType = await getCurrentInstallationType();
342056
- const version2 = typeof MACRO !== "undefined" ? "1.81.4" : "unknown";
342072
+ const version2 = typeof MACRO !== "undefined" ? "1.81.6" : "unknown";
342057
342073
  const installationPath = await getInstallationPath();
342058
342074
  const invokedBinary = getInvokedBinary();
342059
342075
  const multipleInstallations = await detectMultipleInstallations();
@@ -342988,8 +343004,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
342988
343004
  const maxVersion = await getMaxVersion();
342989
343005
  if (maxVersion && gt(version2, maxVersion)) {
342990
343006
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
342991
- if (gte("1.81.4", maxVersion)) {
342992
- logForDebugging(`Native installer: current version ${"1.81.4"} is already at or above maxVersion ${maxVersion}, skipping update`);
343007
+ if (gte("1.81.6", maxVersion)) {
343008
+ logForDebugging(`Native installer: current version ${"1.81.6"} is already at or above maxVersion ${maxVersion}, skipping update`);
342993
343009
  logEvent("tengu_native_update_skipped_max_version", {
342994
343010
  latency_ms: Date.now() - startTime,
342995
343011
  max_version: maxVersion,
@@ -343000,7 +343016,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
343000
343016
  version2 = maxVersion;
343001
343017
  }
343002
343018
  }
343003
- if (!forceReinstall && version2 === "1.81.4" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
343019
+ if (!forceReinstall && version2 === "1.81.6" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
343004
343020
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
343005
343021
  logEvent("tengu_native_update_complete", {
343006
343022
  latency_ms: Date.now() - startTime,
@@ -413687,7 +413703,7 @@ function isAnyTracingEnabled() {
413687
413703
  return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
413688
413704
  }
413689
413705
  function getTracer() {
413690
- return import_api39.trace.getTracer("ur-agent.gen_ai", "1.81.4");
413706
+ return import_api39.trace.getTracer("ur-agent.gen_ai", "1.81.6");
413691
413707
  }
413692
413708
  function createSpanAttributes(spanType, customAttributes = {}) {
413693
413709
  const baseAttributes = getTelemetryAttributes();
@@ -424143,13 +424159,6 @@ function describeUnreadRemainder(file2) {
424143
424159
 
424144
424160
  <system-reminder>This is lines ${firstLine}-${lastLine} of ${file2.totalLines}. ${file2.totalLines - lastLine} lines were not returned \u2014 read again with offset ${lastLine + 1} if you need them.</system-reminder>`;
424145
424161
  }
424146
- function shouldIncludeFileReadMitigation() {
424147
- const shortName = getCanonicalName(getMainLoopModel());
424148
- return !MITIGATION_EXEMPT_MODELS.has(shortName);
424149
- }
424150
- function getFileReadSecurityReminder() {
424151
- return isRedteamModeActive() ? REDTEAM_FILE_READ_REMINDER : CYBER_RISK_MITIGATION_REMINDER;
424152
- }
424153
424162
  function memoryFileFreshnessPrefix(data) {
424154
424163
  const mtimeMs = memoryFileMtimes.get(data);
424155
424164
  if (mtimeMs === undefined)
@@ -424427,17 +424436,7 @@ async function readImageWithTokenBudget(filePath, maxTokens = getDefaultFileRead
424427
424436
  }
424428
424437
  return result;
424429
424438
  }
424430
- var BLOCKED_DEVICE_PATHS, THIN_SPACE, fileReadListeners, MaxFileReadTokenExceededError, IMAGE_EXTENSIONS, inputSchema46, outputSchema39, FileReadTool, CYBER_RISK_MITIGATION_REMINDER = `
424431
-
424432
- <system-reminder>
424433
- Whenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer questions about the code behavior.
424434
- </system-reminder>
424435
- `, REDTEAM_FILE_READ_REMINDER = `
424436
-
424437
- <system-reminder>
424438
- UR redteam mode is active. You may analyze, modify, build, and test security-research code, including malware and exploits. Keep operational actions within the approved target scope and continue to honor tool permissions, sandboxing, and action confirmations. The selected model/provider may apply separate policies.
424439
- </system-reminder>
424440
- `, MITIGATION_EXEMPT_MODELS, memoryFileMtimes;
424439
+ var BLOCKED_DEVICE_PATHS, THIN_SPACE, fileReadListeners, MaxFileReadTokenExceededError, IMAGE_EXTENSIONS, inputSchema46, outputSchema39, FileReadTool, memoryFileMtimes;
424441
424440
  var init_FileReadTool = __esm(() => {
424442
424441
  init_v4();
424443
424442
  init_apiLimits();
@@ -424449,7 +424448,6 @@ var init_FileReadTool = __esm(() => {
424449
424448
  init_loadSkillsDir();
424450
424449
  init_Tool();
424451
424450
  init_cwd2();
424452
- init_redteamMode();
424453
424451
  init_envUtils();
424454
424452
  init_errors();
424455
424453
  init_file();
@@ -424460,7 +424458,6 @@ var init_FileReadTool = __esm(() => {
424460
424458
  init_log2();
424461
424459
  init_memoryFileDetection();
424462
424460
  init_messages();
424463
- init_model();
424464
424461
  init_notebook();
424465
424462
  init_path();
424466
424463
  init_pdf();
@@ -424795,7 +424792,7 @@ var init_FileReadTool = __esm(() => {
424795
424792
  case "text": {
424796
424793
  let content;
424797
424794
  if (data.file.content) {
424798
- content = memoryFileFreshnessPrefix(data) + formatFileLines(data.file) + describeUnreadRemainder(data.file) + (shouldIncludeFileReadMitigation() ? getFileReadSecurityReminder() : "");
424795
+ content = memoryFileFreshnessPrefix(data) + formatFileLines(data.file) + describeUnreadRemainder(data.file);
424799
424796
  } else {
424800
424797
  content = data.file.totalLines === 0 ? "<system-reminder>Warning: the file exists but the contents are empty.</system-reminder>" : `<system-reminder>Warning: the file exists but is shorter than the provided offset (${data.file.startLine}). The file has ${data.file.totalLines} lines.</system-reminder>`;
424801
424798
  }
@@ -424808,7 +424805,6 @@ var init_FileReadTool = __esm(() => {
424808
424805
  }
424809
424806
  }
424810
424807
  });
424811
- MITIGATION_EXEMPT_MODELS = new Set;
424812
424808
  memoryFileMtimes = new WeakMap;
424813
424809
  });
424814
424810
 
@@ -443846,7 +443842,7 @@ function Feedback({
443846
443842
  platform: env2.platform,
443847
443843
  gitRepo: envInfo.isGit,
443848
443844
  terminal: env2.terminal,
443849
- version: "1.81.4",
443845
+ version: "1.81.6",
443850
443846
  transcript: normalizeMessagesForAPI(messages),
443851
443847
  errors: sanitizedErrors,
443852
443848
  lastApiRequest: getLastAPIRequest(),
@@ -444038,7 +444034,7 @@ function Feedback({
444038
444034
  ", ",
444039
444035
  env2.terminal,
444040
444036
  ", v",
444041
- "1.81.4"
444037
+ "1.81.6"
444042
444038
  ]
444043
444039
  }, undefined, true, undefined, this)
444044
444040
  ]
@@ -444144,7 +444140,7 @@ ${sanitizedDescription}
444144
444140
  ` + `**Environment Info**
444145
444141
  ` + `- Platform: ${env2.platform}
444146
444142
  ` + `- Terminal: ${env2.terminal}
444147
- ` + `- Version: ${"1.81.4"}
444143
+ ` + `- Version: ${"1.81.6"}
444148
444144
  ` + `- Feedback ID: ${feedbackId}
444149
444145
  ` + `
444150
444146
  **Errors**
@@ -447254,7 +447250,7 @@ function buildPrimarySection() {
447254
447250
  }, undefined, false, undefined, this);
447255
447251
  return [{
447256
447252
  label: "Version",
447257
- value: "1.81.4"
447253
+ value: "1.81.6"
447258
447254
  }, {
447259
447255
  label: "Session name",
447260
447256
  value: nameValue
@@ -448046,6 +448042,39 @@ var init_EffortIndicator = __esm(() => {
448046
448042
  init_effort();
448047
448043
  });
448048
448044
 
448045
+ // src/utils/model/modelPresentation.ts
448046
+ function compactModelDisplayName(modelId, maxLength = DEFAULT_COMPACT_MODEL_LENGTH) {
448047
+ const trimmed = modelId.trim();
448048
+ const leaf2 = trimmed.split("/").filter(Boolean).at(-1) ?? trimmed;
448049
+ const limit = Number.isFinite(maxLength) ? Math.max(2, Math.floor(maxLength)) : DEFAULT_COMPACT_MODEL_LENGTH;
448050
+ if (leaf2.length <= limit)
448051
+ return leaf2;
448052
+ return `${leaf2.slice(0, limit - 1)}\u2026`;
448053
+ }
448054
+ function fullProviderModelDisplayName(providerId, model) {
448055
+ return providerId === "openrouter" ? model.id : model.displayName;
448056
+ }
448057
+ function buildProviderModelLabels(providerId, models) {
448058
+ if (providerId !== "openrouter") {
448059
+ return new Map(models.map((model) => [model.id, model.displayName]));
448060
+ }
448061
+ const baseLabels = models.map((model) => compactModelDisplayName(model.id));
448062
+ const counts = new Map;
448063
+ for (const label of baseLabels) {
448064
+ const key = label.toLowerCase();
448065
+ counts.set(key, (counts.get(key) ?? 0) + 1);
448066
+ }
448067
+ return new Map(models.map((model, index2) => {
448068
+ const label = baseLabels[index2];
448069
+ if ((counts.get(label.toLowerCase()) ?? 0) === 1) {
448070
+ return [model.id, label];
448071
+ }
448072
+ const vendor = model.id.includes("/") ? model.id.split("/")[0] : "model";
448073
+ return [model.id, `${label} \xB7 ${vendor}`];
448074
+ }));
448075
+ }
448076
+ var DEFAULT_COMPACT_MODEL_LENGTH = 30;
448077
+
448049
448078
  // src/components/ModelPicker.tsx
448050
448079
  function ModelPicker({
448051
448080
  initial,
@@ -448081,13 +448110,15 @@ function ModelPicker({
448081
448110
  setPickerError(null);
448082
448111
  listModelsForProviderWithSource(currentProvider, {
448083
448112
  settings: effectiveSettings,
448084
- signal: controller.signal
448113
+ signal: controller.signal,
448114
+ freshOnly: currentProvider === "openrouter"
448085
448115
  }).then((result) => {
448086
448116
  if (controller.signal.aborted)
448087
448117
  return;
448118
+ const modelLabels = buildProviderModelLabels(currentProvider, result.models);
448088
448119
  setProviderModelOptions(result.models.map((model) => ({
448089
448120
  value: model.id,
448090
- label: model.displayName,
448121
+ label: modelLabels.get(model.id) ?? model.displayName,
448091
448122
  description: `${model.description} \xB7 ${result.source}`,
448092
448123
  ...model.supportedParameters !== undefined && !model.supportedParameters.includes("tools") ? { disabled: true } : {}
448093
448124
  })));
@@ -448127,6 +448158,7 @@ function ModelPicker({
448127
448158
  const visibleCount = getAdaptiveModelVisibleCount(selectOptions.length, terminalSize?.rows);
448128
448159
  const hiddenCount = Math.max(0, selectOptions.length - visibleCount);
448129
448160
  const focusedModelName = selectOptions.find((opt) => opt.value === focusedValue)?.label;
448161
+ const focusedModelOption = selectOptions.find((opt) => opt.value === focusedValue);
448130
448162
  const focusedModel = resolveOptionModel(focusedValue);
448131
448163
  const focusedSupportsEffort = focusedModel ? modelSupportsEffort(focusedModel) : false;
448132
448164
  const focusedSupportsMax = focusedModel ? modelSupportsMaxEffort(focusedModel) : false;
@@ -448316,7 +448348,27 @@ function ModelPicker({
448316
448348
  " more\u2026"
448317
448349
  ]
448318
448350
  }, undefined, true, undefined, this)
448319
- }, undefined, false, undefined, this)
448351
+ }, undefined, false, undefined, this),
448352
+ focusedModelOption && focusedValue !== NO_PREFERENCE && /* @__PURE__ */ jsx_dev_runtime174.jsxDEV(ThemedBox_default, {
448353
+ paddingLeft: 3,
448354
+ marginTop: 1,
448355
+ flexDirection: "column",
448356
+ children: [
448357
+ /* @__PURE__ */ jsx_dev_runtime174.jsxDEV(ThemedText, {
448358
+ dimColor: true,
448359
+ color: "subtle",
448360
+ children: "Focused model \xB7 full name"
448361
+ }, undefined, false, undefined, this),
448362
+ /* @__PURE__ */ jsx_dev_runtime174.jsxDEV(ThemedText, {
448363
+ bold: true,
448364
+ color: "text",
448365
+ children: fullProviderModelDisplayName(currentProvider, {
448366
+ id: focusedModelOption.value,
448367
+ displayName: String(focusedModelOption.label)
448368
+ })
448369
+ }, undefined, false, undefined, this)
448370
+ ]
448371
+ }, undefined, true, undefined, this)
448320
448372
  ]
448321
448373
  }, undefined, true, undefined, this),
448322
448374
  /* @__PURE__ */ jsx_dev_runtime174.jsxDEV(ThemedBox_default, {
@@ -450636,7 +450688,7 @@ function Config({
450636
450688
  }
450637
450689
  }, undefined, false, undefined, this)
450638
450690
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
450639
- currentVersion: "1.81.4",
450691
+ currentVersion: "1.81.6",
450640
450692
  onChoice: (choice) => {
450641
450693
  setShowSubmenu(null);
450642
450694
  setTabsHidden(false);
@@ -450648,7 +450700,7 @@ function Config({
450648
450700
  autoUpdatesChannel: "stable"
450649
450701
  };
450650
450702
  if (choice === "stay") {
450651
- newSettings.minimumVersion = "1.81.4";
450703
+ newSettings.minimumVersion = "1.81.6";
450652
450704
  }
450653
450705
  updateSettingsForSource("userSettings", newSettings);
450654
450706
  setSettingsData((prev_27) => ({
@@ -458957,7 +459009,7 @@ function HelpV2(t0) {
458957
459009
  let t6;
458958
459010
  if ($2[31] !== tabs) {
458959
459011
  t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
458960
- title: `UR v${"1.81.4"}`,
459012
+ title: `UR v${"1.81.6"}`,
458961
459013
  color: "professionalBlue",
458962
459014
  defaultTab: "general",
458963
459015
  children: tabs
@@ -459890,7 +459942,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
459890
459942
  async function handleInitialize(options2) {
459891
459943
  return {
459892
459944
  name: "UR",
459893
- version: "1.81.4",
459945
+ version: "1.81.6",
459894
459946
  protocolVersion: "0.1.0",
459895
459947
  workspaceRoot: options2.cwd,
459896
459948
  capabilities: {
@@ -476998,7 +477050,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
476998
477050
  return [];
476999
477051
  }
477000
477052
  }
477001
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.81.4") {
477053
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.81.6") {
477002
477054
  if (process.env.USER_TYPE === "ant") {
477003
477055
  const changelog = "";
477004
477056
  if (changelog) {
@@ -477025,7 +477077,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.81.4")
477025
477077
  releaseNotes
477026
477078
  };
477027
477079
  }
477028
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.81.4") {
477080
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.81.6") {
477029
477081
  if (process.env.USER_TYPE === "ant") {
477030
477082
  const changelog = "";
477031
477083
  if (changelog) {
@@ -479813,6 +479865,9 @@ var init_transcriptSearch = __esm(() => {
479813
479865
  });
479814
479866
 
479815
479867
  // src/utils/logoV2Utils.ts
479868
+ function shouldUseCondensedLogo(hasReleaseNotes, showOnboarding, compactRequested, forceFull) {
479869
+ return compactRequested && !forceFull && !hasReleaseNotes && !showOnboarding;
479870
+ }
479816
479871
  function getCondensedLogoLayout(columns) {
479817
479872
  const safeColumns = Number.isFinite(columns) ? Math.max(1, Math.floor(columns)) : 1;
479818
479873
  const stacked = safeColumns < 35;
@@ -479930,7 +479985,7 @@ function getRecentActivitySync() {
479930
479985
  return cachedActivity;
479931
479986
  }
479932
479987
  function getLogoDisplayData() {
479933
- const version2 = process.env.DEMO_VERSION ?? "1.81.4";
479988
+ const version2 = process.env.DEMO_VERSION ?? "1.81.6";
479934
479989
  const serverUrl = getDirectConnectServerUrl();
479935
479990
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
479936
479991
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -480004,46 +480059,65 @@ var init_logoV2Utils = __esm(() => {
480004
480059
  });
480005
480060
 
480006
480061
  // src/components/LogoV2/URBanner.tsx
480007
- function getURWordmarkGlyphTone(glyph, _row, _column) {
480008
- return glyph === " " ? undefined : "ur";
480009
- }
480010
- function URBanner() {
480062
+ function getResponsiveURWordmarkVariant(availableWidth = Number.POSITIVE_INFINITY, availableHeight = Number.POSITIVE_INFINITY) {
480063
+ if (availableWidth >= 41 && availableHeight >= 22)
480064
+ return "full";
480065
+ if (availableWidth >= 20 && availableHeight >= 8)
480066
+ return "compact";
480067
+ return "minimal";
480068
+ }
480069
+ function URBanner({
480070
+ availableWidth,
480071
+ availableHeight
480072
+ } = {}) {
480011
480073
  if (isScreenReaderMode()) {
480012
480074
  return /* @__PURE__ */ jsx_dev_runtime233.jsxDEV(ThemedText, {
480013
480075
  children: "UR \u2014 the autonomous agent"
480014
480076
  }, undefined, false, undefined, this);
480015
480077
  }
480078
+ const variant = getResponsiveURWordmarkVariant(availableWidth, availableHeight);
480079
+ const rows = variant === "full" ? UR_WORDMARK_ROWS : variant === "compact" ? COMPACT_UR_WORDMARK_ROWS : ["UR"];
480080
+ const showTagline = variant !== "minimal";
480081
+ const decorateTagline = (availableWidth ?? Number.POSITIVE_INFINITY) >= 24;
480016
480082
  return /* @__PURE__ */ jsx_dev_runtime233.jsxDEV(ThemedBox_default, {
480017
480083
  flexDirection: "column",
480018
480084
  alignItems: "center",
480019
480085
  children: [
480020
- UR_WORDMARK_ROWS.map((row, i3) => /* @__PURE__ */ jsx_dev_runtime233.jsxDEV(ThemedText, {
480021
- bold: true,
480022
- children: [...row].map((glyph, column) => /* @__PURE__ */ jsx_dev_runtime233.jsxDEV(ThemedText, {
480023
- color: getURWordmarkGlyphTone(glyph, i3, column),
480024
- children: glyph
480025
- }, `${i3}:${column}`, false, undefined, this))
480086
+ rows.map((row, i3) => /* @__PURE__ */ jsx_dev_runtime233.jsxDEV(ThemedText, {
480087
+ color: "ur",
480088
+ children: row
480026
480089
  }, i3, false, undefined, this)),
480027
- /* @__PURE__ */ jsx_dev_runtime233.jsxDEV(ThemedText, {
480028
- bold: true,
480029
- children: /* @__PURE__ */ jsx_dev_runtime233.jsxDEV(ThemedText, {
480030
- color: "ur",
480031
- children: [
480032
- "\u2726 ",
480033
- UR_WORDMARK_TAGLINE,
480034
- " \u2726"
480035
- ]
480036
- }, undefined, true, undefined, this)
480090
+ showTagline && /* @__PURE__ */ jsx_dev_runtime233.jsxDEV(ThemedText, {
480091
+ color: "ur",
480092
+ children: decorateTagline ? `\u2726 ${UR_WORDMARK_TAGLINE} \u2726` : UR_WORDMARK_TAGLINE
480037
480093
  }, undefined, false, undefined, this)
480038
480094
  ]
480039
480095
  }, undefined, true, undefined, this);
480040
480096
  }
480041
- var jsx_dev_runtime233, UR_WORDMARK_ROWS, UR_WORDMARK_TAGLINE = "THE AUTONOMOUS AGENT";
480097
+ var jsx_dev_runtime233, UR_WORDMARK_ROWS, COMPACT_UR_WORDMARK_ROWS, UR_WORDMARK_TAGLINE = "THE AUTONOMOUS AGENT";
480042
480098
  var init_URBanner = __esm(() => {
480043
480099
  init_ink2();
480044
480100
  init_screenReader();
480045
480101
  jsx_dev_runtime233 = __toESM(require_jsx_dev_runtime(), 1);
480046
480102
  UR_WORDMARK_ROWS = [
480103
+ "UUUUUUUU UUUUUUUURRRRRRRRRRRRRRRRR ",
480104
+ "U::::::U U::::::UR::::::::::::::::R ",
480105
+ "U::::::U U::::::UR::::::RRRRRR:::::R ",
480106
+ "UU:::::U U:::::UURR:::::R R:::::R",
480107
+ " U:::::U U:::::U R::::R R:::::R",
480108
+ " U:::::D D:::::U R::::R R:::::R",
480109
+ " U:::::D D:::::U R::::RRRRRR:::::R ",
480110
+ " U:::::D D:::::U R:::::::::::::RR ",
480111
+ " U:::::D D:::::U R::::RRRRRR:::::R ",
480112
+ " U:::::D D:::::U R::::R R:::::R",
480113
+ " U:::::D D:::::U R::::R R:::::R",
480114
+ " U::::::U U::::::U R::::R R:::::R",
480115
+ " U:::::::UUU:::::::U RR:::::R R:::::R",
480116
+ " UU:::::::::::::UU R::::::R R:::::R",
480117
+ " UU:::::::::UU R::::::R R:::::R",
480118
+ " UUUUUUUUU RRRRRRRR RRRRRRR"
480119
+ ];
480120
+ COMPACT_UR_WORDMARK_ROWS = [
480047
480121
  "\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 ",
480048
480122
  "\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557",
480049
480123
  "\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D",
@@ -480055,21 +480129,21 @@ var init_URBanner = __esm(() => {
480055
480129
 
480056
480130
  // src/components/LogoV2/UrHouse.tsx
480057
480131
  function UrHouse({ size = "large" }) {
480058
- const rows = size === "small" ? SMALL : LARGE;
480132
+ const rows = size === "small" ? SMALL_HOUSE_ROWS : LARGE_HOUSE_ROWS;
480059
480133
  return /* @__PURE__ */ jsx_dev_runtime234.jsxDEV(ThemedBox_default, {
480060
480134
  flexDirection: "column",
480061
480135
  alignItems: "center",
480062
- children: rows.map((row, i3) => /* @__PURE__ */ jsx_dev_runtime234.jsxDEV(ThemedText, {
480136
+ children: rows.map((row, index2) => /* @__PURE__ */ jsx_dev_runtime234.jsxDEV(ThemedText, {
480063
480137
  color: "ur",
480064
480138
  children: row
480065
- }, i3, false, undefined, this))
480139
+ }, index2, false, undefined, this))
480066
480140
  }, undefined, false, undefined, this);
480067
480141
  }
480068
- var jsx_dev_runtime234, LARGE, SMALL;
480142
+ var jsx_dev_runtime234, LARGE_HOUSE_ROWS, SMALL_HOUSE_ROWS, AUTOMATIC_HOUSE_SIZE = "large";
480069
480143
  var init_UrHouse = __esm(() => {
480070
480144
  init_ink2();
480071
480145
  jsx_dev_runtime234 = __toESM(require_jsx_dev_runtime(), 1);
480072
- LARGE = [
480146
+ LARGE_HOUSE_ROWS = [
480073
480147
  " \u2571\u2572 ",
480074
480148
  " \u2571 \u2572 ",
480075
480149
  " \u2571 \u2572 ",
@@ -480079,7 +480153,7 @@ var init_UrHouse = __esm(() => {
480079
480153
  " \u2502 \u25A2\u25A2 \u2502 ",
480080
480154
  " \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2518 "
480081
480155
  ];
480082
- SMALL = [
480156
+ SMALL_HOUSE_ROWS = [
480083
480157
  " \u2571\u2572 ",
480084
480158
  "\u2571\u2500\u2500\u2572",
480085
480159
  "\u2502\u25A3\u25A3\u2502",
@@ -480369,7 +480443,7 @@ function CondensedLogo() {
480369
480443
  const effortValue = useAppState(_temp240);
480370
480444
  const effortProvider = useAppState((s) => s.provider.active);
480371
480445
  const model = useMainLoopModel();
480372
- const modelDisplayName = renderModelSetting(model);
480446
+ const modelDisplayName = compactModelDisplayName(renderModelSetting(model));
480373
480447
  const {
480374
480448
  version: version2,
480375
480449
  cwd: cwd2,
@@ -480774,7 +480848,8 @@ function LogoV2() {
480774
480848
  const activities = getRecentActivitySync();
480775
480849
  const username = getGlobalConfig().oauthAccount?.displayName ?? "";
480776
480850
  const {
480777
- columns
480851
+ columns,
480852
+ rows
480778
480853
  } = useTerminalSize();
480779
480854
  let t0;
480780
480855
  if ($2[0] === Symbol.for("react.memo_cache_sentinel")) {
@@ -480818,7 +480893,7 @@ function LogoV2() {
480818
480893
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
480819
480894
  t2 = () => {
480820
480895
  const currentConfig = getGlobalConfig();
480821
- if (currentConfig.lastReleaseNotesSeen === "1.81.4") {
480896
+ if (currentConfig.lastReleaseNotesSeen === "1.81.6") {
480822
480897
  return;
480823
480898
  }
480824
480899
  saveGlobalConfig(_temp325);
@@ -480841,7 +480916,7 @@ function LogoV2() {
480841
480916
  import_react144.useEffect(t2, t3);
480842
480917
  let t4;
480843
480918
  if ($2[5] === Symbol.for("react.memo_cache_sentinel")) {
480844
- t4 = !hasReleaseNotes && !showOnboarding && !isEnvTruthy(process.env.UR_CODE_FORCE_FULL_LOGO);
480919
+ t4 = shouldUseCondensedLogo(hasReleaseNotes, showOnboarding, isEnvTruthy(process.env.UR_CODE_COMPACT_LOGO), isEnvTruthy(process.env.UR_CODE_FORCE_FULL_LOGO));
480845
480920
  $2[5] = t4;
480846
480921
  } else {
480847
480922
  t4 = $2[5];
@@ -480883,7 +480958,7 @@ function LogoV2() {
480883
480958
  }
480884
480959
  import_react144.useEffect(t7, t8);
480885
480960
  const model = useMainLoopModel();
480886
- const fullModelDisplayName = renderModelSetting(model);
480961
+ const fullModelDisplayName = compactModelDisplayName(renderModelSetting(model));
480887
480962
  const {
480888
480963
  version: version2,
480889
480964
  cwd: cwd2,
@@ -480902,7 +480977,7 @@ function LogoV2() {
480902
480977
  t10 = $2[14];
480903
480978
  }
480904
480979
  const modelDisplayName = t10;
480905
- if (!hasReleaseNotes && !showOnboarding && !isEnvTruthy(process.env.UR_CODE_FORCE_FULL_LOGO)) {
480980
+ if (isCondensedMode) {
480906
480981
  let t112;
480907
480982
  let t122;
480908
480983
  let t132;
@@ -481071,7 +481146,7 @@ function LogoV2() {
481071
481146
  t122 = /* @__PURE__ */ jsx_dev_runtime241.jsxDEV(ThemedBox_default, {
481072
481147
  marginY: 1,
481073
481148
  children: /* @__PURE__ */ jsx_dev_runtime241.jsxDEV(UrHouse, {
481074
- size: "small"
481149
+ size: AUTOMATIC_HOUSE_SIZE
481075
481150
  }, undefined, false, undefined, this)
481076
481151
  }, undefined, false, undefined, this);
481077
481152
  $2[34] = t122;
@@ -481220,7 +481295,7 @@ function LogoV2() {
481220
481295
  t19 = /* @__PURE__ */ jsx_dev_runtime241.jsxDEV(ThemedBox_default, {
481221
481296
  marginY: 1,
481222
481297
  children: /* @__PURE__ */ jsx_dev_runtime241.jsxDEV(UrHouse, {
481223
- size: "large"
481298
+ size: AUTOMATIC_HOUSE_SIZE
481224
481299
  }, undefined, false, undefined, this)
481225
481300
  }, undefined, false, undefined, this);
481226
481301
  $2[48] = t19;
@@ -481306,7 +481381,10 @@ function LogoV2() {
481306
481381
  width: rightWidth,
481307
481382
  alignItems: "center",
481308
481383
  justifyContent: "center",
481309
- children: /* @__PURE__ */ jsx_dev_runtime241.jsxDEV(URBanner, {}, undefined, false, undefined, this)
481384
+ children: /* @__PURE__ */ jsx_dev_runtime241.jsxDEV(URBanner, {
481385
+ availableWidth: rightWidth,
481386
+ availableHeight: Math.max(1, rows - 4)
481387
+ }, undefined, false, undefined, this)
481310
481388
  }, undefined, false, undefined, this);
481311
481389
  let t26;
481312
481390
  if ($2[62] !== T22 || $2[63] !== t15 || $2[64] !== t23 || $2[65] !== t24 || $2[66] !== t25) {
@@ -481503,12 +481581,12 @@ function LogoV2() {
481503
481581
  return t41;
481504
481582
  }
481505
481583
  function _temp325(current) {
481506
- if (current.lastReleaseNotesSeen === "1.81.4") {
481584
+ if (current.lastReleaseNotesSeen === "1.81.6") {
481507
481585
  return current;
481508
481586
  }
481509
481587
  return {
481510
481588
  ...current,
481511
- lastReleaseNotesSeen: "1.81.4"
481589
+ lastReleaseNotesSeen: "1.81.6"
481512
481590
  };
481513
481591
  }
481514
481592
  function _temp241(s_0) {
@@ -497458,7 +497536,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
497458
497536
  if (spec.name !== specName) {
497459
497537
  throw new Error("Agentic CI workflow spec name does not match");
497460
497538
  }
497461
- const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.81.4" : "1.81.4");
497539
+ const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.81.6" : "1.81.6");
497462
497540
  if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
497463
497541
  throw new Error("invalid ur-agent package version");
497464
497542
  }
@@ -498451,7 +498529,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
498451
498529
  path: ".github/workflows/ur.yml",
498452
498530
  root: "project",
498453
498531
  content: compileAgenticCiWorkflow("default", {
498454
- packageVersion: typeof MACRO !== "undefined" ? "1.81.4" : "1.81.4"
498532
+ packageVersion: typeof MACRO !== "undefined" ? "1.81.6" : "1.81.6"
498455
498533
  })
498456
498534
  },
498457
498535
  {
@@ -498514,7 +498592,7 @@ function value(tokens, flag) {
498514
498592
  return index2 >= 0 ? tokens[index2 + 1] : undefined;
498515
498593
  }
498516
498594
  function cliVersion() {
498517
- return typeof MACRO !== "undefined" ? "1.81.4" : "1.81.4";
498595
+ return typeof MACRO !== "undefined" ? "1.81.6" : "1.81.6";
498518
498596
  }
498519
498597
  function workflowPath(cwd2) {
498520
498598
  return join168(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
@@ -504370,7 +504448,7 @@ function createAcpStdioApp(deps) {
504370
504448
  }
504371
504449
  },
504372
504450
  authMethods: [],
504373
- agentInfo: { name: "UR-Nexus", version: "1.81.4" }
504451
+ agentInfo: { name: "UR-Nexus", version: "1.81.6" }
504374
504452
  })).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
504375
504453
  const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
504376
504454
  await runtime2.announce({
@@ -504467,7 +504545,7 @@ function createAcpStdioAgent(deps) {
504467
504545
  }
504468
504546
  },
504469
504547
  authMethods: [],
504470
- agentInfo: { name: "UR-Nexus", version: "1.81.4" }
504548
+ agentInfo: { name: "UR-Nexus", version: "1.81.6" }
504471
504549
  });
504472
504550
  return;
504473
504551
  case "authenticate":
@@ -715719,7 +715797,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
715719
715797
  smapsRollup,
715720
715798
  platform: process.platform,
715721
715799
  nodeVersion: process.version,
715722
- ccVersion: "1.81.4"
715800
+ ccVersion: "1.81.6"
715723
715801
  };
715724
715802
  }
715725
715803
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -716308,7 +716386,7 @@ var init_bridge_kick = __esm(() => {
716308
716386
  var call154 = async () => {
716309
716387
  return {
716310
716388
  type: "text",
716311
- value: "1.81.4"
716389
+ value: "1.81.6"
716312
716390
  };
716313
716391
  }, version2, version_default;
716314
716392
  var init_version = __esm(() => {
@@ -719368,13 +719446,15 @@ function ProviderFirstModelPicker({
719368
719446
  try {
719369
719447
  const result = await listModelsForProviderWithSource(providerId, {
719370
719448
  settings: getSettingsForSource("userSettings") ?? undefined,
719371
- signal: controller.signal
719449
+ signal: controller.signal,
719450
+ freshOnly: providerId === "openrouter"
719372
719451
  });
719373
719452
  if (cancelled)
719374
719453
  return;
719454
+ const modelLabels = buildProviderModelLabels(providerId, result.models);
719375
719455
  const options5 = result.models.map((model) => ({
719376
719456
  value: model.id,
719377
- label: model.displayName,
719457
+ label: modelLabels.get(model.id) ?? model.displayName,
719378
719458
  description: formatProviderModelDescription(model, result.source, providerId),
719379
719459
  pricing: model.pricing,
719380
719460
  contextLength: model.contextLength,
@@ -719942,7 +720022,7 @@ function ProviderFirstModelPicker({
719942
720022
  }, undefined, false, undefined, this),
719943
720023
  /* @__PURE__ */ jsx_dev_runtime336.jsxDEV(ThemedText, {
719944
720024
  dimColor: true,
719945
- children: selectedProvider?.value === "openrouter" ? `${modelOptions.length} current models from your OpenRouter account` : `Showing models for ${selectedProvider?.label} (${selectedProvider?.accessType})`
720025
+ children: selectedProvider?.value === "openrouter" ? `${modelOptions.length} models \xB7 fetched fresh whenever this catalog opens` : `Showing models for ${selectedProvider?.label} (${selectedProvider?.accessType})`
719946
720026
  }, undefined, false, undefined, this),
719947
720027
  /* @__PURE__ */ jsx_dev_runtime336.jsxDEV(ThemedText, {
719948
720028
  color: modelSource === "live" ? "success" : "subtle",
@@ -719993,10 +720073,18 @@ function ProviderFirstModelPicker({
719993
720073
  marginBottom: 1,
719994
720074
  flexDirection: "column",
719995
720075
  children: [
720076
+ /* @__PURE__ */ jsx_dev_runtime336.jsxDEV(ThemedText, {
720077
+ dimColor: true,
720078
+ color: "subtle",
720079
+ children: "Focused model \xB7 full name"
720080
+ }, undefined, false, undefined, this),
719996
720081
  /* @__PURE__ */ jsx_dev_runtime336.jsxDEV(ThemedText, {
719997
720082
  bold: true,
719998
720083
  color: "text",
719999
- children: focusedModel.label
720084
+ children: fullProviderModelDisplayName(selectedProvider?.value ?? "", {
720085
+ id: focusedModel.value,
720086
+ displayName: focusedModel.label
720087
+ })
720000
720088
  }, undefined, false, undefined, this),
720001
720089
  /* @__PURE__ */ jsx_dev_runtime336.jsxDEV(ThemedText, {
720002
720090
  dimColor: true,
@@ -727667,7 +727755,7 @@ function generateHtmlReport(data, insights) {
727667
727755
  </html>`;
727668
727756
  }
727669
727757
  function buildExportData(data, insights, facets, remoteStats) {
727670
- const version3 = typeof MACRO !== "undefined" ? "1.81.4" : "unknown";
727758
+ const version3 = typeof MACRO !== "undefined" ? "1.81.6" : "unknown";
727671
727759
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
727672
727760
  const facets_summary = {
727673
727761
  total: facets.size,
@@ -731980,7 +732068,7 @@ var init_sessionStorage = __esm(() => {
731980
732068
  init_settings2();
731981
732069
  init_slowOperations();
731982
732070
  init_uuid();
731983
- VERSION7 = typeof MACRO !== "undefined" ? "1.81.4" : "unknown";
732071
+ VERSION7 = typeof MACRO !== "undefined" ? "1.81.6" : "unknown";
731984
732072
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
731985
732073
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
731986
732074
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -733195,7 +733283,7 @@ var init_filesystem = __esm(() => {
733195
733283
  });
733196
733284
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
733197
733285
  const nonce = randomBytes24(16).toString("hex");
733198
- return join243(getURTempDir(), "bundled-skills", "1.81.4", nonce);
733286
+ return join243(getURTempDir(), "bundled-skills", "1.81.6", nonce);
733199
733287
  });
733200
733288
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
733201
733289
  });
@@ -739595,7 +739683,7 @@ function computeFingerprint(messageText2, version3) {
739595
739683
  }
739596
739684
  function computeFingerprintFromMessages(messages) {
739597
739685
  const firstMessageText = extractFirstMessageText(messages);
739598
- return computeFingerprint(firstMessageText, "1.81.4");
739686
+ return computeFingerprint(firstMessageText, "1.81.6");
739599
739687
  }
739600
739688
  var FINGERPRINT_SALT = "59cf53e54c78";
739601
739689
  var init_fingerprint = () => {};
@@ -741530,7 +741618,7 @@ async function sideQuery(opts) {
741530
741618
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
741531
741619
  }
741532
741620
  const messageText2 = extractFirstUserMessageText(messages);
741533
- const fingerprint2 = computeFingerprint(messageText2, "1.81.4");
741621
+ const fingerprint2 = computeFingerprint(messageText2, "1.81.6");
741534
741622
  const attributionHeader = getAttributionHeader(fingerprint2);
741535
741623
  const systemBlocks = [
741536
741624
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -746364,7 +746452,7 @@ function buildSystemInitMessage(inputs) {
746364
746452
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
746365
746453
  apiKeySource: getURHQApiKeyWithSource().source,
746366
746454
  betas: getSdkBetas(),
746367
- ur_version: "1.81.4",
746455
+ ur_version: "1.81.6",
746368
746456
  output_style: outputStyle,
746369
746457
  agents: inputs.agents.map((agent2) => agent2.agentType),
746370
746458
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -760200,7 +760288,7 @@ var init_useVoiceEnabled = __esm(() => {
760200
760288
  function getSemverPart(version3) {
760201
760289
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
760202
760290
  }
760203
- function useUpdateNotification(updatedVersion, initialVersion = "1.81.4") {
760291
+ function useUpdateNotification(updatedVersion, initialVersion = "1.81.6") {
760204
760292
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react225.useState(() => getSemverPart(initialVersion));
760205
760293
  if (!updatedVersion) {
760206
760294
  return null;
@@ -760249,7 +760337,7 @@ function AutoUpdater({
760249
760337
  return;
760250
760338
  }
760251
760339
  if (false) {}
760252
- const currentVersion = "1.81.4";
760340
+ const currentVersion = "1.81.6";
760253
760341
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
760254
760342
  let latestVersion = await getLatestVersion(channel);
760255
760343
  const isDisabled = isAutoUpdaterDisabled();
@@ -760478,12 +760566,12 @@ function NativeAutoUpdater({
760478
760566
  logEvent("tengu_native_auto_updater_start", {});
760479
760567
  try {
760480
760568
  const maxVersion = await getMaxVersion();
760481
- if (maxVersion && gt("1.81.4", maxVersion)) {
760569
+ if (maxVersion && gt("1.81.6", maxVersion)) {
760482
760570
  const msg = await getMaxVersionMessage();
760483
760571
  setMaxVersionIssue(msg ?? "affects your version");
760484
760572
  }
760485
760573
  const result = await installLatest(channel);
760486
- const currentVersion = "1.81.4";
760574
+ const currentVersion = "1.81.6";
760487
760575
  const latencyMs = Date.now() - startTime;
760488
760576
  if (result.lockFailed) {
760489
760577
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -760620,17 +760708,17 @@ function PackageManagerAutoUpdater(t0) {
760620
760708
  const maxVersion = await getMaxVersion();
760621
760709
  if (maxVersion && latest && gt(latest, maxVersion)) {
760622
760710
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
760623
- if (gte("1.81.4", maxVersion)) {
760624
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.81.4"} is already at or above maxVersion ${maxVersion}, skipping update`);
760711
+ if (gte("1.81.6", maxVersion)) {
760712
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.81.6"} is already at or above maxVersion ${maxVersion}, skipping update`);
760625
760713
  setUpdateAvailable(false);
760626
760714
  return;
760627
760715
  }
760628
760716
  latest = maxVersion;
760629
760717
  }
760630
- const hasUpdate = latest && !gte("1.81.4", latest) && !shouldSkipVersion(latest);
760718
+ const hasUpdate = latest && !gte("1.81.6", latest) && !shouldSkipVersion(latest);
760631
760719
  setUpdateAvailable(!!hasUpdate);
760632
760720
  if (hasUpdate) {
760633
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.81.4"} -> ${latest}`);
760721
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.81.6"} -> ${latest}`);
760634
760722
  }
760635
760723
  };
760636
760724
  $2[0] = t1;
@@ -760664,7 +760752,7 @@ function PackageManagerAutoUpdater(t0) {
760664
760752
  wrap: "truncate",
760665
760753
  children: [
760666
760754
  "currentVersion: ",
760667
- "1.81.4"
760755
+ "1.81.6"
760668
760756
  ]
760669
760757
  }, undefined, true, undefined, this);
760670
760758
  $2[3] = verbose;
@@ -771517,7 +771605,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
771517
771605
  project_dir: getOriginalCwd(),
771518
771606
  added_dirs: addedDirs
771519
771607
  },
771520
- version: "1.81.4",
771608
+ version: "1.81.6",
771521
771609
  output_style: {
771522
771610
  name: outputStyleName
771523
771611
  },
@@ -771652,7 +771740,7 @@ function StatusLineInner({
771652
771740
  const attention = customStatusError ?? taskAttention;
771653
771741
  const terminalSize = React133.useContext(TerminalSizeContext);
771654
771742
  const defaultStatusLineText = buildDefaultStatusBar({
771655
- version: "1.81.4",
771743
+ version: "1.81.6",
771656
771744
  providerLabel: providerRuntime.providerLabel,
771657
771745
  authMode: providerRuntime.authLabel,
771658
771746
  model: renderModelName(mainLoopModel) || providerRuntime.model || "",
@@ -783908,7 +783996,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
783908
783996
  } catch {}
783909
783997
  const data = {
783910
783998
  trigger: trigger2,
783911
- version: "1.81.4",
783999
+ version: "1.81.6",
783912
784000
  platform: process.platform,
783913
784001
  transcript,
783914
784002
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -796277,13 +796365,13 @@ function WelcomeV2() {
796277
796365
  dimColor: true,
796278
796366
  children: [
796279
796367
  "v",
796280
- "1.81.4"
796368
+ "1.81.6"
796281
796369
  ]
796282
796370
  }, undefined, true, undefined, this)
796283
796371
  ]
796284
796372
  }, undefined, true, undefined, this),
796285
796373
  /* @__PURE__ */ jsx_dev_runtime464.jsxDEV(UrHouse, {
796286
- size: "large"
796374
+ size: AUTOMATIC_HOUSE_SIZE
796287
796375
  }, undefined, false, undefined, this),
796288
796376
  /* @__PURE__ */ jsx_dev_runtime464.jsxDEV(ThemedText, {
796289
796377
  color: "ur",
@@ -797537,7 +797625,7 @@ function completeOnboarding() {
797537
797625
  saveGlobalConfig((current) => ({
797538
797626
  ...current,
797539
797627
  hasCompletedOnboarding: true,
797540
- lastOnboardingVersion: "1.81.4"
797628
+ lastOnboardingVersion: "1.81.6"
797541
797629
  }));
797542
797630
  }
797543
797631
  function showDialog(root2, renderer) {
@@ -802683,7 +802771,7 @@ function appendToLog(path28, message) {
802683
802771
  cwd: getFsImplementation().cwd(),
802684
802772
  userType: process.env.USER_TYPE,
802685
802773
  sessionId: getSessionId(),
802686
- version: "1.81.4"
802774
+ version: "1.81.6"
802687
802775
  };
802688
802776
  getLogWriter(path28).write(messageWithTimestamp);
802689
802777
  }
@@ -806847,8 +806935,8 @@ async function getEnvLessBridgeConfig() {
806847
806935
  }
806848
806936
  async function checkEnvLessBridgeMinVersion() {
806849
806937
  const cfg = await getEnvLessBridgeConfig();
806850
- if (cfg.min_version && lt("1.81.4", cfg.min_version)) {
806851
- return `Your version of UR (${"1.81.4"}) is too old for Remote Control.
806938
+ if (cfg.min_version && lt("1.81.6", cfg.min_version)) {
806939
+ return `Your version of UR (${"1.81.6"}) is too old for Remote Control.
806852
806940
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
806853
806941
  }
806854
806942
  return null;
@@ -807322,7 +807410,7 @@ async function initBridgeCore(params) {
807322
807410
  const rawApi = createBridgeApiClient({
807323
807411
  baseUrl,
807324
807412
  getAccessToken,
807325
- runnerVersion: "1.81.4",
807413
+ runnerVersion: "1.81.6",
807326
807414
  onDebug: logForDebugging,
807327
807415
  onAuth401,
807328
807416
  getTrustedDeviceToken
@@ -816795,7 +816883,7 @@ function getAgUiCapabilities() {
816795
816883
  name: "UR-Nexus",
816796
816884
  type: "ur-nexus",
816797
816885
  description: "Provider-flexible, local-first autonomous engineering workflow agent.",
816798
- version: "1.81.4",
816886
+ version: "1.81.6",
816799
816887
  provider: "UR",
816800
816888
  documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
816801
816889
  },
@@ -818022,7 +818110,7 @@ function createMCPServer(cwd4, debug2, verbose) {
818022
818110
  };
818023
818111
  const server2 = new Server({
818024
818112
  name: "ur-nexus",
818025
- version: "1.81.4"
818113
+ version: "1.81.6"
818026
818114
  }, {
818027
818115
  capabilities: {
818028
818116
  tools: {}
@@ -819226,7 +819314,7 @@ function thrownResponse(error40) {
819226
819314
  }
819227
819315
  async function createUrMcp2026Runtime(options5) {
819228
819316
  const server2 = createMCPServer(options5.cwd, options5.debug === true, options5.verbose === true);
819229
- const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.81.4" }, { capabilities: {} });
819317
+ const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.81.6" }, { capabilities: {} });
819230
819318
  const [clientTransport, serverTransport] = createLinkedTransportPair();
819231
819319
  try {
819232
819320
  await server2.connect(serverTransport);
@@ -819237,7 +819325,7 @@ async function createUrMcp2026Runtime(options5) {
819237
819325
  }
819238
819326
  const runtime2 = new Mcp2026Runtime({
819239
819327
  cwd: options5.cwd,
819240
- version: "1.81.4",
819328
+ version: "1.81.6",
819241
819329
  backend: {
819242
819330
  listTools: async () => {
819243
819331
  const listed = await client2.listTools();
@@ -821972,7 +822060,7 @@ async function update() {
821972
822060
  logEvent("tengu_update_check", {});
821973
822061
  const diagnostic2 = await getDoctorDiagnostic();
821974
822062
  const result = await checkUpgradeStatus({
821975
- currentVersion: "1.81.4",
822063
+ currentVersion: "1.81.6",
821976
822064
  packageName: UR_AGENT_PACKAGE_NAME,
821977
822065
  installationType: diagnostic2.installationType,
821978
822066
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -823300,7 +823388,7 @@ ${customInstructions}` : customInstructions;
823300
823388
  }
823301
823389
  }
823302
823390
  logForDiagnosticsNoPII("info", "started", {
823303
- version: "1.81.4",
823391
+ version: "1.81.6",
823304
823392
  is_native_binary: isInBundledMode()
823305
823393
  });
823306
823394
  registerCleanup(async () => {
@@ -824087,7 +824175,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
824087
824175
  pendingHookMessages
824088
824176
  }, renderAndRun);
824089
824177
  }
824090
- }).version("1.81.4 (UR-Nexus)", "-v, --version", "Output the version number");
824178
+ }).version("1.81.6 (UR-Nexus)", "-v, --version", "Output the version number");
824091
824179
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
824092
824180
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
824093
824181
  if (canUserConfigureAdvisor()) {
@@ -825214,7 +825302,7 @@ if (false) {}
825214
825302
  async function main2() {
825215
825303
  const args = process.argv.slice(2);
825216
825304
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
825217
- console.log(`${"1.81.4"} (UR-Nexus)`);
825305
+ console.log(`${"1.81.6"} (UR-Nexus)`);
825218
825306
  return;
825219
825307
  }
825220
825308
  if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {