ur-agent 1.83.0 → 1.83.2

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
@@ -60527,17 +60527,18 @@ function isRecord(value) {
60527
60527
  function parseModelReasoningCapabilities(value) {
60528
60528
  if (!isRecord(value))
60529
60529
  return;
60530
- const supportedEfforts = value.supported_efforts === null ? null : Array.isArray(value.supported_efforts) ? Array.from(new Set(value.supported_efforts.filter((entry) => typeof entry === "string").map((entry) => entry.trim().toLowerCase()).filter(Boolean))) : undefined;
60531
- const defaultEffort = asString(value.default_effort)?.toLowerCase();
60530
+ const rawSupportedEfforts = value.supported_efforts !== undefined ? value.supported_efforts : value.supportedEfforts;
60531
+ const supportedEfforts = rawSupportedEfforts === null ? null : Array.isArray(rawSupportedEfforts) ? Array.from(new Set(rawSupportedEfforts.filter((entry) => typeof entry === "string").map((entry) => entry.trim().toLowerCase()).filter(Boolean))) : undefined;
60532
+ const defaultEffort = asString(value.default_effort !== undefined ? value.default_effort : value.defaultEffort)?.toLowerCase();
60532
60533
  const rawAliases = isRecord(value.effort_aliases) ? value.effort_aliases : isRecord(value.effortAliases) ? value.effortAliases : undefined;
60533
60534
  const effortAliases = rawAliases ? Object.fromEntries(Object.entries(rawAliases).flatMap(([selector, wireValue]) => {
60534
60535
  const normalizedSelector = selector.trim().toLowerCase();
60535
60536
  const normalizedWireValue = asString(wireValue)?.toLowerCase();
60536
60537
  return normalizedSelector && normalizedWireValue ? [[normalizedSelector, normalizedWireValue]] : [];
60537
60538
  })) : undefined;
60538
- const defaultEnabled = typeof value.default_enabled === "boolean" ? value.default_enabled : undefined;
60539
+ const defaultEnabled = typeof value.default_enabled === "boolean" ? value.default_enabled : typeof value.defaultEnabled === "boolean" ? value.defaultEnabled : undefined;
60539
60540
  const mandatory = typeof value.mandatory === "boolean" ? value.mandatory : undefined;
60540
- const supportsMaxTokens = typeof value.supports_max_tokens === "boolean" ? value.supports_max_tokens : undefined;
60541
+ const supportsMaxTokens = typeof value.supports_max_tokens === "boolean" ? value.supports_max_tokens : typeof value.supportsMaxTokens === "boolean" ? value.supportsMaxTokens : undefined;
60541
60542
  if (supportedEfforts === undefined && (effortAliases === undefined || Object.keys(effortAliases).length === 0) && defaultEffort === undefined && defaultEnabled === undefined && mandatory === undefined && supportsMaxTokens === undefined) {
60542
60543
  return;
60543
60544
  }
@@ -96718,6 +96719,23 @@ var init_thinking = __esm(() => {
96718
96719
  });
96719
96720
 
96720
96721
  // src/utils/effort.ts
96722
+ function getUltraEquivalentWireValue(capabilities) {
96723
+ if (!Array.isArray(capabilities?.supportedEfforts))
96724
+ return;
96725
+ const advertised = new Set(capabilities.supportedEfforts.map((value) => value.trim().toLowerCase()).filter(Boolean));
96726
+ const explicitAlias = Object.entries(capabilities.effortAliases ?? {}).find(([selector]) => selector.trim().toLowerCase() === "ultra")?.[1];
96727
+ const normalizedAlias = explicitAlias?.trim().toLowerCase();
96728
+ if (normalizedAlias && advertised.has(normalizedAlias)) {
96729
+ return normalizedAlias;
96730
+ }
96731
+ if (advertised.has("ultra"))
96732
+ return "ultra";
96733
+ if (advertised.has("max"))
96734
+ return "max";
96735
+ if (advertised.has("xhigh"))
96736
+ return "xhigh";
96737
+ return;
96738
+ }
96721
96739
  function normalizeEffortLevels(values) {
96722
96740
  const advertised = new Set(values.map((value) => value.trim().toLowerCase()).filter(isEffortLevel));
96723
96741
  return EFFORT_LEVELS.filter((level) => advertised.has(level));
@@ -96738,9 +96756,11 @@ function getSupportedEffortLevelsForModel(model, provider = getRuntimeProvider()
96738
96756
  if (discovered?.supportedEfforts !== undefined) {
96739
96757
  const advertisedWireValues = new Set(discovered.supportedEfforts.map((value) => value.trim().toLowerCase()));
96740
96758
  const advertisedAliases = Object.entries(discovered.effortAliases ?? {}).filter(([selector, wireValue]) => isEffortLevel(selector) && advertisedWireValues.has(wireValue.trim().toLowerCase())).map(([selector]) => selector);
96759
+ const ultraEquivalent = getUltraEquivalentWireValue(discovered);
96741
96760
  return applyOverrides(normalizeEffortLevels([
96742
96761
  ...discovered.supportedEfforts,
96743
- ...advertisedAliases
96762
+ ...advertisedAliases,
96763
+ ...ultraEquivalent ? ["ultra"] : []
96744
96764
  ]));
96745
96765
  }
96746
96766
  if (discovered && provider === "openrouter") {
@@ -96757,6 +96777,13 @@ function getSupportedEffortLevelsForModel(model, provider = getRuntimeProvider()
96757
96777
  }
96758
96778
  return [];
96759
96779
  }
96780
+ function getSupportedEffortLevelLabelsForModel(model, provider = getRuntimeProvider()) {
96781
+ const levels = getSupportedEffortLevelsForModel(model, provider);
96782
+ if (!levels.includes("ultra"))
96783
+ return levels;
96784
+ const nativeUltra = getUltraEquivalentWireValue(getRuntimeModelReasoningCapabilities(model, provider));
96785
+ return levels.map((level) => level === "ultra" && nativeUltra && nativeUltra !== "ultra" ? `ultra\u2192${nativeUltra}` : level);
96786
+ }
96760
96787
  function resolveProviderEffortLevel(model, requested, provider = getRuntimeProvider()) {
96761
96788
  const supported = getSupportedEffortLevelsForModel(model, provider);
96762
96789
  if (supported.length === 0)
@@ -96781,6 +96808,11 @@ function modelSupportsEffort(model, provider = getRuntimeProvider()) {
96781
96808
  function getProviderEffortWireValue(model, requested, provider = getRuntimeProvider()) {
96782
96809
  const capabilities = getRuntimeModelReasoningCapabilities(model, provider);
96783
96810
  const supported = getSupportedEffortLevelsForModel(model, provider);
96811
+ if (requested === "ultra") {
96812
+ if (!supported.includes("ultra"))
96813
+ return;
96814
+ return getUltraEquivalentWireValue(capabilities);
96815
+ }
96784
96816
  if (!supported.includes(requested)) {
96785
96817
  if (requested !== "max")
96786
96818
  return;
@@ -96790,9 +96822,10 @@ function getProviderEffortWireValue(model, requested, provider = getRuntimeProvi
96790
96822
  const alias = capabilities?.effortAliases?.[requested];
96791
96823
  if (!alias)
96792
96824
  return requested;
96825
+ const normalizedAlias = alias.trim().toLowerCase();
96793
96826
  const advertised = capabilities.supportedEfforts;
96794
- if (Array.isArray(advertised) && advertised.some((value) => value.trim().toLowerCase() === alias)) {
96795
- return alias;
96827
+ if (Array.isArray(advertised) && advertised.some((value) => value.trim().toLowerCase() === normalizedAlias)) {
96828
+ return normalizedAlias;
96796
96829
  }
96797
96830
  return;
96798
96831
  }
@@ -96894,7 +96927,7 @@ function getEffortLevelDescription(level) {
96894
96927
  case "max":
96895
96928
  return "Maximum capability with deepest reasoning";
96896
96929
  case "ultra":
96897
- return "Provider-advertised ultra reasoning (available only on models that explicitly support it)";
96930
+ return "The provider-advertised beyond-high ceiling, using its exact native effort value";
96898
96931
  }
96899
96932
  }
96900
96933
  function getEffortValueDescription(value) {
@@ -102123,7 +102156,7 @@ function toGeminiThinkingConfig(params, providerId = "gemini-api") {
102123
102156
  const provider = resolveProviderId(providerId);
102124
102157
  const wireEffort = provider && typeof requested === "string" && isEffortLevel(requested) ? getProviderEffortWireValue(String(params.model ?? ""), requested, provider) : undefined;
102125
102158
  const effort = wireEffort ?? (requested === "ultra" ? undefined : requested);
102126
- if (wireEffort && !isEffortLevel(wireEffort)) {
102159
+ if (wireEffort) {
102127
102160
  return { thinkingLevel: wireEffort };
102128
102161
  }
102129
102162
  if (effort === "minimal" || effort === "low" || effort === "medium" || effort === "high") {
@@ -115416,7 +115449,7 @@ var init_auth = __esm(() => {
115416
115449
 
115417
115450
  // src/utils/userAgent.ts
115418
115451
  function getURCodeUserAgent() {
115419
- return `ur/${"1.83.0"}`;
115452
+ return `ur/${"1.83.2"}`;
115420
115453
  }
115421
115454
 
115422
115455
  // src/utils/workloadContext.ts
@@ -115438,7 +115471,7 @@ function getUserAgent() {
115438
115471
  const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
115439
115472
  const workload = getWorkload();
115440
115473
  const workloadSuffix = workload ? `, workload/${workload}` : "";
115441
- return `ur-cli/${"1.83.0"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
115474
+ return `ur-cli/${"1.83.2"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
115442
115475
  }
115443
115476
  function getMCPUserAgent() {
115444
115477
  const parts = [];
@@ -115452,7 +115485,7 @@ function getMCPUserAgent() {
115452
115485
  parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
115453
115486
  }
115454
115487
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
115455
- return `ur/${"1.83.0"}${suffix}`;
115488
+ return `ur/${"1.83.2"}${suffix}`;
115456
115489
  }
115457
115490
  function getWebFetchUserAgent() {
115458
115491
  return `UR-User (${getURCodeUserAgent()})`;
@@ -115590,7 +115623,7 @@ var init_user = __esm(() => {
115590
115623
  deviceId,
115591
115624
  sessionId: getSessionId(),
115592
115625
  email: getEmail(),
115593
- appVersion: "1.83.0",
115626
+ appVersion: "1.83.2",
115594
115627
  platform: getHostPlatformForAnalytics(),
115595
115628
  organizationUuid,
115596
115629
  accountUuid,
@@ -123477,7 +123510,7 @@ var init_metadata = __esm(() => {
123477
123510
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
123478
123511
  WHITESPACE_REGEX = /\s+/;
123479
123512
  getVersionBase = memoize_default(() => {
123480
- const match = "1.83.0".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
123513
+ const match = "1.83.2".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
123481
123514
  return match ? match[0] : undefined;
123482
123515
  });
123483
123516
  buildEnvContext = memoize_default(async () => {
@@ -123517,7 +123550,7 @@ var init_metadata = __esm(() => {
123517
123550
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
123518
123551
  isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
123519
123552
  isURAiAuth: isURAISubscriber(),
123520
- version: "1.83.0",
123553
+ version: "1.83.2",
123521
123554
  versionBase: getVersionBase(),
123522
123555
  buildTime: "",
123523
123556
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
@@ -124187,7 +124220,7 @@ function initialize1PEventLogging() {
124187
124220
  const platform2 = getPlatform();
124188
124221
  const attributes = {
124189
124222
  [import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
124190
- [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.83.0"
124223
+ [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.83.2"
124191
124224
  };
124192
124225
  if (platform2 === "wsl") {
124193
124226
  const wslVersion = getWslVersion();
@@ -124215,7 +124248,7 @@ function initialize1PEventLogging() {
124215
124248
  })
124216
124249
  ]
124217
124250
  });
124218
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.83.0");
124251
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.83.2");
124219
124252
  }
124220
124253
  async function reinitialize1PEventLoggingIfConfigChanged() {
124221
124254
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -140423,7 +140456,7 @@ function formatA2AV1AgentCard(options = {}, pretty = true) {
140423
140456
  var urVersion, researchSnapshotDate = "2026-08-10", coverage, priorityRoadmap;
140424
140457
  var init_trends = __esm(() => {
140425
140458
  init_a2aCardSignature();
140426
- urVersion = typeof MACRO !== "undefined" ? "1.83.0" : "1.83.0";
140459
+ urVersion = typeof MACRO !== "undefined" ? "1.83.2" : "1.83.2";
140427
140460
  coverage = [
140428
140461
  {
140429
140462
  id: "local-runtime",
@@ -156188,7 +156221,7 @@ function getAttributionHeader(fingerprint) {
156188
156221
  if (!isAttributionHeaderEnabled()) {
156189
156222
  return "";
156190
156223
  }
156191
- const version2 = `${"1.83.0"}.${fingerprint}`;
156224
+ const version2 = `${"1.83.2"}.${fingerprint}`;
156192
156225
  const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
156193
156226
  const cch = "";
156194
156227
  const workload = getWorkload();
@@ -206570,7 +206603,7 @@ function getTelemetryAttributes() {
206570
206603
  attributes["session.id"] = sessionId;
206571
206604
  }
206572
206605
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
206573
- attributes["app.version"] = "1.83.0";
206606
+ attributes["app.version"] = "1.83.2";
206574
206607
  }
206575
206608
  const oauthAccount = getOauthAccountInfo();
206576
206609
  if (oauthAccount) {
@@ -206918,7 +206951,7 @@ var init_betaSessionTracing = __esm(() => {
206918
206951
  function getInstruments() {
206919
206952
  if (instruments)
206920
206953
  return instruments;
206921
- const meter = import_api9.metrics.getMeter("ur-agent.gen_ai", "1.83.0");
206954
+ const meter = import_api9.metrics.getMeter("ur-agent.gen_ai", "1.83.2");
206922
206955
  instruments = {
206923
206956
  operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
206924
206957
  description: "GenAI operation duration.",
@@ -207016,7 +207049,7 @@ function genAiAgentAttributes() {
207016
207049
  "gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
207017
207050
  "gen_ai.provider.name": "ur",
207018
207051
  "gen_ai.agent.name": "UR-Nexus",
207019
- "gen_ai.agent.version": "1.83.0"
207052
+ "gen_ai.agent.version": "1.83.2"
207020
207053
  };
207021
207054
  }
207022
207055
  function genAiWorkflowAttributes(workflowName, workflowRunId) {
@@ -207037,7 +207070,7 @@ function genAiWorkflowAttributes(workflowName, workflowRunId) {
207037
207070
  function startGenAiWorkflowSpan(workflowName, workflowRunId) {
207038
207071
  const attributes = genAiWorkflowAttributes(workflowName, workflowRunId);
207039
207072
  const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
207040
- return import_api9.trace.getTracer("ur-agent.gen_ai", "1.83.0").startSpan(name, { kind: import_api9.SpanKind.INTERNAL, attributes });
207073
+ return import_api9.trace.getTracer("ur-agent.gen_ai", "1.83.2").startSpan(name, { kind: import_api9.SpanKind.INTERNAL, attributes });
207041
207074
  }
207042
207075
  function endGenAiWorkflowSpan(span, options2 = {}) {
207043
207076
  try {
@@ -207075,7 +207108,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
207075
207108
  if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
207076
207109
  attributes["gen_ai.memory.record.count"] = options2.recordCount;
207077
207110
  }
207078
- return import_api9.trace.getTracer("ur-agent.gen_ai", "1.83.0").startSpan(operation, { kind: import_api9.SpanKind.INTERNAL, attributes });
207111
+ return import_api9.trace.getTracer("ur-agent.gen_ai", "1.83.2").startSpan(operation, { kind: import_api9.SpanKind.INTERNAL, attributes });
207079
207112
  }
207080
207113
  function endGenAiMemorySpan(span, options2 = {}) {
207081
207114
  try {
@@ -213343,7 +213376,7 @@ async function createRuntime() {
213343
213376
  bootstrapTelemetry();
213344
213377
  const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
213345
213378
  [import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
213346
- [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.83.0"
213379
+ [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.83.2"
213347
213380
  }));
213348
213381
  const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
213349
213382
  resource,
@@ -213376,11 +213409,11 @@ async function createRuntime() {
213376
213409
  setMeterProvider(meterProvider);
213377
213410
  setLoggerProvider(loggerProvider);
213378
213411
  if (meterProvider) {
213379
- const meter = meterProvider.getMeter("ur-agent", "1.83.0");
213412
+ const meter = meterProvider.getMeter("ur-agent", "1.83.2");
213380
213413
  setMeter(meter, (name, options2) => meter.createCounter(name, options2));
213381
213414
  }
213382
213415
  if (loggerProvider) {
213383
- setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.83.0"));
213416
+ setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.83.2"));
213384
213417
  }
213385
213418
  if (!cleanupRegistered2) {
213386
213419
  cleanupRegistered2 = true;
@@ -213929,7 +213962,7 @@ function isAnyTracingEnabled() {
213929
213962
  return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
213930
213963
  }
213931
213964
  function getTracer() {
213932
- return import_api31.trace.getTracer("ur-agent.gen_ai", "1.83.0");
213965
+ return import_api31.trace.getTracer("ur-agent.gen_ai", "1.83.2");
213933
213966
  }
213934
213967
  function createSpanAttributes(spanType, customAttributes = {}) {
213935
213968
  const baseAttributes = getTelemetryAttributes();
@@ -356455,7 +356488,7 @@ function getInstallationEnv() {
356455
356488
  return;
356456
356489
  }
356457
356490
  function getURCodeVersion() {
356458
- return "1.83.0";
356491
+ return "1.83.2";
356459
356492
  }
356460
356493
  async function getInstalledVSCodeExtensionVersion(command) {
356461
356494
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -367526,7 +367559,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
367526
367559
  const client2 = new Client({
367527
367560
  name: "ur",
367528
367561
  title: "UR",
367529
- version: "1.83.0",
367562
+ version: "1.83.2",
367530
367563
  description: "UR-Nexus autonomous engineering workflow engine",
367531
367564
  websiteUrl: PRODUCT_URL
367532
367565
  }, {
@@ -367883,7 +367916,7 @@ var init_client3 = __esm(() => {
367883
367916
  const client2 = new Client({
367884
367917
  name: "ur",
367885
367918
  title: "UR",
367886
- version: "1.83.0",
367919
+ version: "1.83.2",
367887
367920
  description: "UR-Nexus autonomous engineering workflow engine",
367888
367921
  websiteUrl: PRODUCT_URL
367889
367922
  }, {
@@ -428678,9 +428711,9 @@ async function assertMinVersion() {
428678
428711
  if (false) {}
428679
428712
  try {
428680
428713
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
428681
- if (versionConfig.minVersion && lt("1.83.0", versionConfig.minVersion)) {
428714
+ if (versionConfig.minVersion && lt("1.83.2", versionConfig.minVersion)) {
428682
428715
  console.error(`
428683
- It looks like your version of UR (${"1.83.0"}) needs an update.
428716
+ It looks like your version of UR (${"1.83.2"}) needs an update.
428684
428717
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
428685
428718
 
428686
428719
  To update, please run:
@@ -428896,7 +428929,7 @@ async function installGlobalPackage(specificVersion) {
428896
428929
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
428897
428930
  logEvent("tengu_auto_updater_lock_contention", {
428898
428931
  pid: process.pid,
428899
- currentVersion: "1.83.0"
428932
+ currentVersion: "1.83.2"
428900
428933
  });
428901
428934
  return "in_progress";
428902
428935
  }
@@ -428905,7 +428938,7 @@ async function installGlobalPackage(specificVersion) {
428905
428938
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
428906
428939
  logError2(new Error("Windows NPM detected in WSL environment"));
428907
428940
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
428908
- currentVersion: "1.83.0"
428941
+ currentVersion: "1.83.2"
428909
428942
  });
428910
428943
  console.error(`
428911
428944
  Error: Windows NPM detected in WSL
@@ -429440,7 +429473,7 @@ function detectLinuxGlobPatternWarnings() {
429440
429473
  }
429441
429474
  async function getDoctorDiagnostic() {
429442
429475
  const installationType = await getCurrentInstallationType();
429443
- const version2 = typeof MACRO !== "undefined" ? "1.83.0" : "unknown";
429476
+ const version2 = typeof MACRO !== "undefined" ? "1.83.2" : "unknown";
429444
429477
  const installationPath = await getInstallationPath();
429445
429478
  const invokedBinary = getInvokedBinary();
429446
429479
  const multipleInstallations = await detectMultipleInstallations();
@@ -430375,8 +430408,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
430375
430408
  const maxVersion = await getMaxVersion();
430376
430409
  if (maxVersion && gt(version2, maxVersion)) {
430377
430410
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
430378
- if (gte("1.83.0", maxVersion)) {
430379
- logForDebugging(`Native installer: current version ${"1.83.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
430411
+ if (gte("1.83.2", maxVersion)) {
430412
+ logForDebugging(`Native installer: current version ${"1.83.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
430380
430413
  logEvent("tengu_native_update_skipped_max_version", {
430381
430414
  latency_ms: Date.now() - startTime,
430382
430415
  max_version: maxVersion,
@@ -430387,7 +430420,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
430387
430420
  version2 = maxVersion;
430388
430421
  }
430389
430422
  }
430390
- if (!forceReinstall && version2 === "1.83.0" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
430423
+ if (!forceReinstall && version2 === "1.83.2" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
430391
430424
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
430392
430425
  logEvent("tengu_native_update_complete", {
430393
430426
  latency_ms: Date.now() - startTime,
@@ -480811,7 +480844,7 @@ var init_filesystem = __esm(() => {
480811
480844
  });
480812
480845
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
480813
480846
  const nonce = randomBytes22(16).toString("hex");
480814
- return join143(getURTempDir(), "bundled-skills", "1.83.0", nonce);
480847
+ return join143(getURTempDir(), "bundled-skills", "1.83.2", nonce);
480815
480848
  });
480816
480849
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
480817
480850
  });
@@ -482833,7 +482866,7 @@ function Feedback({
482833
482866
  platform: env2.platform,
482834
482867
  gitRepo: envInfo.isGit,
482835
482868
  terminal: env2.terminal,
482836
- version: "1.83.0",
482869
+ version: "1.83.2",
482837
482870
  transcript: normalizeMessagesForAPI(messages),
482838
482871
  errors: sanitizedErrors,
482839
482872
  lastApiRequest: getLastAPIRequest(),
@@ -483025,7 +483058,7 @@ function Feedback({
483025
483058
  ", ",
483026
483059
  env2.terminal,
483027
483060
  ", v",
483028
- "1.83.0"
483061
+ "1.83.2"
483029
483062
  ]
483030
483063
  }, undefined, true, undefined, this)
483031
483064
  ]
@@ -483131,7 +483164,7 @@ ${sanitizedDescription}
483131
483164
  ` + `**Environment Info**
483132
483165
  ` + `- Platform: ${env2.platform}
483133
483166
  ` + `- Terminal: ${env2.terminal}
483134
- ` + `- Version: ${"1.83.0"}
483167
+ ` + `- Version: ${"1.83.2"}
483135
483168
  ` + `- Feedback ID: ${feedbackId}
483136
483169
  ` + `
483137
483170
  **Errors**
@@ -486241,7 +486274,7 @@ function buildPrimarySection() {
486241
486274
  }, undefined, false, undefined, this);
486242
486275
  return [{
486243
486276
  label: "Version",
486244
- value: "1.83.0"
486277
+ value: "1.83.2"
486245
486278
  }, {
486246
486279
  label: "Session name",
486247
486280
  value: nameValue
@@ -487204,6 +487237,7 @@ function ModelPicker({
487204
487237
  const focusedModelOption = selectOptions.find((opt) => opt.value === focusedValue);
487205
487238
  const focusedModel = resolveOptionModel(focusedValue);
487206
487239
  const focusedEffortLevels = focusedModel ? getSupportedEffortLevelsForModel(focusedModel, currentProvider) : [];
487240
+ const focusedEffortLevelLabels = focusedModel ? getSupportedEffortLevelLabelsForModel(focusedModel, currentProvider) : [];
487207
487241
  const focusedSupportsEffort = focusedModel ? modelSupportsEffort(focusedModel, currentProvider) : false;
487208
487242
  const focusedSupportsThinking = focusedModel ? modelSupportsThinking(focusedModel) : false;
487209
487243
  const focusedDefaultEffort = getDefaultEffortLevelForOption(focusedValue, currentProvider);
@@ -487441,8 +487475,8 @@ function ModelPicker({
487441
487475
  dimColor: true,
487442
487476
  color: "subtle",
487443
487477
  children: [
487444
- "Provider levels: ",
487445
- focusedEffortLevels.join(" \xB7 ")
487478
+ "Available levels: ",
487479
+ focusedEffortLevelLabels.join(" \xB7 ")
487446
487480
  ]
487447
487481
  }, undefined, true, undefined, this)
487448
487482
  ]
@@ -489756,7 +489790,7 @@ function Config({
489756
489790
  }
489757
489791
  }, undefined, false, undefined, this)
489758
489792
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ChannelDowngradeDialog, {
489759
- currentVersion: "1.83.0",
489793
+ currentVersion: "1.83.2",
489760
489794
  onChoice: (choice) => {
489761
489795
  setShowSubmenu(null);
489762
489796
  setTabsHidden(false);
@@ -489768,7 +489802,7 @@ function Config({
489768
489802
  autoUpdatesChannel: "stable"
489769
489803
  };
489770
489804
  if (choice === "stay") {
489771
- newSettings.minimumVersion = "1.83.0";
489805
+ newSettings.minimumVersion = "1.83.2";
489772
489806
  }
489773
489807
  updateSettingsForSource("userSettings", newSettings);
489774
489808
  setSettingsData((prev_27) => ({
@@ -498084,7 +498118,7 @@ function HelpV2(t0) {
498084
498118
  let t6;
498085
498119
  if ($2[31] !== tabs) {
498086
498120
  t6 = /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Tabs, {
498087
- title: `UR v${"1.83.0"}`,
498121
+ title: `UR v${"1.83.2"}`,
498088
498122
  color: "professionalBlue",
498089
498123
  defaultTab: "general",
498090
498124
  children: tabs
@@ -499017,7 +499051,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
499017
499051
  async function handleInitialize(options2) {
499018
499052
  return {
499019
499053
  name: "UR",
499020
- version: "1.83.0",
499054
+ version: "1.83.2",
499021
499055
  protocolVersion: "0.1.0",
499022
499056
  workspaceRoot: options2.cwd,
499023
499057
  capabilities: {
@@ -516118,7 +516152,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
516118
516152
  return [];
516119
516153
  }
516120
516154
  }
516121
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.83.0") {
516155
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.83.2") {
516122
516156
  if (process.env.USER_TYPE === "ant") {
516123
516157
  const changelog = "";
516124
516158
  if (changelog) {
@@ -516145,7 +516179,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.83.0")
516145
516179
  releaseNotes
516146
516180
  };
516147
516181
  }
516148
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.83.0") {
516182
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.83.2") {
516149
516183
  if (process.env.USER_TYPE === "ant") {
516150
516184
  const changelog = "";
516151
516185
  if (changelog) {
@@ -519053,7 +519087,7 @@ function getRecentActivitySync() {
519053
519087
  return cachedActivity;
519054
519088
  }
519055
519089
  function getLogoDisplayData() {
519056
- const version2 = process.env.DEMO_VERSION ?? "1.83.0";
519090
+ const version2 = process.env.DEMO_VERSION ?? "1.83.2";
519057
519091
  const serverUrl = getDirectConnectServerUrl();
519058
519092
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd2());
519059
519093
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -519941,7 +519975,7 @@ function LogoV2() {
519941
519975
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
519942
519976
  t2 = () => {
519943
519977
  const currentConfig = getGlobalConfig();
519944
- if (currentConfig.lastReleaseNotesSeen === "1.83.0") {
519978
+ if (currentConfig.lastReleaseNotesSeen === "1.83.2") {
519945
519979
  return;
519946
519980
  }
519947
519981
  saveGlobalConfig(_temp325);
@@ -520629,12 +520663,12 @@ function LogoV2() {
520629
520663
  return t41;
520630
520664
  }
520631
520665
  function _temp325(current) {
520632
- if (current.lastReleaseNotesSeen === "1.83.0") {
520666
+ if (current.lastReleaseNotesSeen === "1.83.2") {
520633
520667
  return current;
520634
520668
  }
520635
520669
  return {
520636
520670
  ...current,
520637
- lastReleaseNotesSeen: "1.83.0"
520671
+ lastReleaseNotesSeen: "1.83.2"
520638
520672
  };
520639
520673
  }
520640
520674
  function _temp241(s_0) {
@@ -536584,7 +536618,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
536584
536618
  if (spec.name !== specName) {
536585
536619
  throw new Error("Agentic CI workflow spec name does not match");
536586
536620
  }
536587
- const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.83.0" : "1.83.0");
536621
+ const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.83.2" : "1.83.2");
536588
536622
  if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
536589
536623
  throw new Error("invalid ur-agent package version");
536590
536624
  }
@@ -537580,7 +537614,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
537580
537614
  path: ".github/workflows/ur.yml",
537581
537615
  root: "project",
537582
537616
  content: compileAgenticCiWorkflow("default", {
537583
- packageVersion: typeof MACRO !== "undefined" ? "1.83.0" : "1.83.0"
537617
+ packageVersion: typeof MACRO !== "undefined" ? "1.83.2" : "1.83.2"
537584
537618
  })
537585
537619
  },
537586
537620
  {
@@ -537643,7 +537677,7 @@ function value(tokens, flag) {
537643
537677
  return index2 >= 0 ? tokens[index2 + 1] : undefined;
537644
537678
  }
537645
537679
  function cliVersion() {
537646
- return typeof MACRO !== "undefined" ? "1.83.0" : "1.83.0";
537680
+ return typeof MACRO !== "undefined" ? "1.83.2" : "1.83.2";
537647
537681
  }
537648
537682
  function workflowPath(cwd2) {
537649
537683
  return join172(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
@@ -543499,7 +543533,7 @@ function createAcpStdioApp(deps) {
543499
543533
  }
543500
543534
  },
543501
543535
  authMethods: [],
543502
- agentInfo: { name: "UR-Nexus", version: "1.83.0" }
543536
+ agentInfo: { name: "UR-Nexus", version: "1.83.2" }
543503
543537
  })).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
543504
543538
  const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
543505
543539
  await runtime2.announce({
@@ -543596,7 +543630,7 @@ function createAcpStdioAgent(deps) {
543596
543630
  }
543597
543631
  },
543598
543632
  authMethods: [],
543599
- agentInfo: { name: "UR-Nexus", version: "1.83.0" }
543633
+ agentInfo: { name: "UR-Nexus", version: "1.83.2" }
543600
543634
  });
543601
543635
  return;
543602
543636
  case "authenticate":
@@ -756135,7 +756169,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
756135
756169
  smapsRollup,
756136
756170
  platform: process.platform,
756137
756171
  nodeVersion: process.version,
756138
- ccVersion: "1.83.0"
756172
+ ccVersion: "1.83.2"
756139
756173
  };
756140
756174
  }
756141
756175
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -756724,7 +756758,7 @@ var init_bridge_kick = __esm(() => {
756724
756758
  var call154 = async () => {
756725
756759
  return {
756726
756760
  type: "text",
756727
- value: "1.83.0"
756761
+ value: "1.83.2"
756728
756762
  };
756729
756763
  }, version2, version_default;
756730
756764
  var init_version = __esm(() => {
@@ -759911,6 +759945,7 @@ function ProviderFirstModelPicker({
759911
759945
  const focusedResolvedModel = focusedModel ? parseUserSpecifiedModel(focusedModel.value) : undefined;
759912
759946
  const focusedProviderId = selectedProvider?.value;
759913
759947
  const focusedEffortLevels = focusedResolvedModel && focusedProviderId ? getSupportedEffortLevelsForModel(focusedResolvedModel, focusedProviderId) : [];
759948
+ const focusedEffortLevelLabels = focusedResolvedModel && focusedProviderId ? getSupportedEffortLevelLabelsForModel(focusedResolvedModel, focusedProviderId) : [];
759914
759949
  const focusedSupportsEffort = focusedResolvedModel ? modelSupportsEffort(focusedResolvedModel, focusedProviderId) : false;
759915
759950
  const focusedDefaultEffort = focusedResolvedModel ? convertEffortValueToLevel(getDefaultEffortForModel(focusedResolvedModel, focusedProviderId) ?? (focusedEffortLevels.includes("high") ? "high" : focusedEffortLevels.at(-1)) ?? "high") : "high";
759916
759951
  const displayedEffort = focusedResolvedModel ? resolveProviderEffortLevel(focusedResolvedModel, effort ?? focusedDefaultEffort, focusedProviderId) ?? focusedDefaultEffort : focusedDefaultEffort;
@@ -760630,8 +760665,8 @@ function ProviderFirstModelPicker({
760630
760665
  dimColor: true,
760631
760666
  color: "subtle",
760632
760667
  children: [
760633
- "Provider levels: ",
760634
- focusedEffortLevels.join(" \xB7 ")
760668
+ "Available levels: ",
760669
+ focusedEffortLevelLabels.join(" \xB7 ")
760635
760670
  ]
760636
760671
  }, undefined, true, undefined, this)
760637
760672
  ]
@@ -762770,7 +762805,7 @@ function setEffortValue(effortValue, model, provider = getRuntimeProvider()) {
762770
762805
  }
762771
762806
  if (model && effortValue === "ultra" && !getSupportedEffortLevelsForModel(model, provider).includes("ultra")) {
762772
762807
  return {
762773
- message: `Not applied: ${model} on ${provider} does not advertise the ultra reasoning-effort level.`
762808
+ message: `Not applied: ${model} on ${provider} does not advertise a beyond-high reasoning-effort ceiling for Ultra.`
762774
762809
  };
762775
762810
  }
762776
762811
  const persistable = toPersistableEffort(effortValue);
@@ -762835,12 +762870,12 @@ function showCurrentEffort(appStateEffort, model, provider = getRuntimeProvider(
762835
762870
  const applied = resolveAppliedEffort(model, appStateEffort, provider);
762836
762871
  if (applied === undefined) {
762837
762872
  return {
762838
- message: `Effort: auto for ${model} on ${provider}; UR sends no explicit effort and the provider chooses its default. Provider levels: ${getSupportedEffortLevelsForModel(model, provider).join(", ")}`
762873
+ message: `Effort: auto for ${model} on ${provider}; UR sends no explicit effort and the provider chooses its default. Available levels: ${getSupportedEffortLevelLabelsForModel(model, provider).join(", ")}`
762839
762874
  };
762840
762875
  }
762841
762876
  const level = getDisplayedEffortLevel(model, appStateEffort, provider);
762842
762877
  return {
762843
- message: `Effort: auto; applied ${level} for ${model} on ${provider}. Provider levels: ${getSupportedEffortLevelsForModel(model, provider).join(", ")}`
762878
+ message: `Effort: auto; applied ${level} for ${model} on ${provider}. Available levels: ${getSupportedEffortLevelLabelsForModel(model, provider).join(", ")}`
762844
762879
  };
762845
762880
  }
762846
762881
  if (!modelSupportsEffort(model, provider)) {
@@ -762850,18 +762885,18 @@ function showCurrentEffort(appStateEffort, model, provider = getRuntimeProvider(
762850
762885
  }
762851
762886
  if (effectiveValue === "ultra" && !getSupportedEffortLevelsForModel(model, provider).includes("ultra")) {
762852
762887
  return {
762853
- message: `Requested effort: ultra; not applied \u2014 ${model} on ${provider} does not advertise ultra. Provider levels: ${getSupportedEffortLevelsForModel(model, provider).join(", ")}`
762888
+ message: `Requested effort: ultra; not applied \u2014 ${model} on ${provider} does not advertise a beyond-high ceiling. Available levels: ${getSupportedEffortLevelLabelsForModel(model, provider).join(", ")}`
762854
762889
  };
762855
762890
  }
762856
762891
  const appliedLevel = getDisplayedEffortLevel(model, appStateEffort, provider);
762857
762892
  if (typeof effectiveValue === "string" && appliedLevel !== effectiveValue) {
762858
762893
  return {
762859
- message: `Requested effort: ${effectiveValue}; applied effort for ${model} on ${provider}: ${appliedLevel} (${getEffortValueDescription(appliedLevel)}). Provider levels: ${getSupportedEffortLevelsForModel(model, provider).join(", ")}`
762894
+ message: `Requested effort: ${effectiveValue}; applied effort for ${model} on ${provider}: ${appliedLevel} (${getEffortValueDescription(appliedLevel)}). Available levels: ${getSupportedEffortLevelLabelsForModel(model, provider).join(", ")}`
762860
762895
  };
762861
762896
  }
762862
762897
  const description = getEffortValueDescription(effectiveValue);
762863
762898
  return {
762864
- message: `Current effort: ${effectiveValue}; applied ${appliedLevel} for ${model} on ${provider} (${description}). Provider levels: ${getSupportedEffortLevelsForModel(model, provider).join(", ")}`
762899
+ message: `Current effort: ${effectiveValue}; applied ${appliedLevel} for ${model} on ${provider} (${description}). Available levels: ${getSupportedEffortLevelLabelsForModel(model, provider).join(", ")}`
762865
762900
  };
762866
762901
  }
762867
762902
  function unsetEffortLevel() {
@@ -762963,7 +762998,7 @@ async function call168(onDone, _context, args) {
762963
762998
  if (COMMON_HELP_ARGS2.includes(args)) {
762964
762999
  onDone(`Usage: /effort [minimal|low|medium|high|xhigh|max|ultra|auto]
762965
763000
 
762966
- UR reads the selected model's exact provider-advertised levels. \`max\` means that model's established ceiling, so it resolves to max, xhigh, or high as appropriate. \`ultra\` is shown and accepted only when the selected provider/model explicitly advertises it (or an explicit provider-authored alias); it never silently degrades to max.
763001
+ UR reads the selected model's exact provider-advertised levels. \`max\` means that model's established ceiling, so it resolves to max, xhigh, or high as appropriate. \`ultra\` is UR's visible beyond-high ceiling selector: it appears only when the model advertises ultra, max, xhigh, or an explicit equivalent, and UR sends that exact provider value. High-only and boolean-thinking models never receive Ultra.
762967
763002
 
762968
763003
  Effort levels:
762969
763004
  - minimal: Lowest latency and cost
@@ -762972,7 +763007,7 @@ Effort levels:
762972
763007
  - high: Comprehensive implementation with extensive testing
762973
763008
  - xhigh: Extended reasoning above high
762974
763009
  - max: The selected model's established maximum level
762975
- - ultra: Explicit provider-advertised ultra reasoning
763010
+ - ultra: Provider-advertised beyond-high ceiling (shown with its native mapping)
762976
763011
  - auto: Use the model/provider default`);
762977
763012
  return;
762978
763013
  }
@@ -768393,7 +768428,7 @@ function generateHtmlReport(data, insights) {
768393
768428
  </html>`;
768394
768429
  }
768395
768430
  function buildExportData(data, insights, facets, remoteStats) {
768396
- const version3 = typeof MACRO !== "undefined" ? "1.83.0" : "unknown";
768431
+ const version3 = typeof MACRO !== "undefined" ? "1.83.2" : "unknown";
768397
768432
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
768398
768433
  const facets_summary = {
768399
768434
  total: facets.size,
@@ -772706,7 +772741,7 @@ var init_sessionStorage = __esm(() => {
772706
772741
  init_settings2();
772707
772742
  init_slowOperations();
772708
772743
  init_uuid();
772709
- VERSION7 = typeof MACRO !== "undefined" ? "1.83.0" : "unknown";
772744
+ VERSION7 = typeof MACRO !== "undefined" ? "1.83.2" : "unknown";
772710
772745
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
772711
772746
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
772712
772747
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -774185,7 +774220,7 @@ function computeFingerprint(messageText2, version3) {
774185
774220
  }
774186
774221
  function computeFingerprintFromMessages(messages) {
774187
774222
  const firstMessageText = extractFirstMessageText(messages);
774188
- return computeFingerprint(firstMessageText, "1.83.0");
774223
+ return computeFingerprint(firstMessageText, "1.83.2");
774189
774224
  }
774190
774225
  var FINGERPRINT_SALT = "59cf53e54c78";
774191
774226
  var init_fingerprint = () => {};
@@ -774918,9 +774953,6 @@ ${deferredToolList}
774918
774953
  return;
774919
774954
  });
774920
774955
  }
774921
- if (!getSupportedEffortLevelsForModel(options5.model, effortProvider).includes("ultra")) {
774922
- throw new Error(`Effort ultra is not available: ${options5.model} on ${effortProvider} does not advertise ultra or a provider-authored equivalent.`);
774923
- }
774924
774956
  }
774925
774957
  const effort = resolveAppliedEffort(options5.model, options5.effortValue, effortProvider);
774926
774958
  if (process.env.UR_EVAL_METRICS_FILE) {
@@ -776178,7 +776210,7 @@ async function sideQuery(opts) {
776178
776210
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
776179
776211
  }
776180
776212
  const messageText2 = extractFirstUserMessageText(messages);
776181
- const fingerprint2 = computeFingerprint(messageText2, "1.83.0");
776213
+ const fingerprint2 = computeFingerprint(messageText2, "1.83.2");
776182
776214
  const attributionHeader = getAttributionHeader(fingerprint2);
776183
776215
  const systemBlocks = [
776184
776216
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -781012,7 +781044,7 @@ function buildSystemInitMessage(inputs) {
781012
781044
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
781013
781045
  apiKeySource: getURHQApiKeyWithSource().source,
781014
781046
  betas: getSdkBetas(),
781015
- ur_version: "1.83.0",
781047
+ ur_version: "1.83.2",
781016
781048
  output_style: outputStyle,
781017
781049
  agents: inputs.agents.map((agent2) => agent2.agentType),
781018
781050
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -794840,7 +794872,7 @@ var init_useVoiceEnabled = __esm(() => {
794840
794872
  function getSemverPart(version3) {
794841
794873
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
794842
794874
  }
794843
- function useUpdateNotification(updatedVersion, initialVersion = "1.83.0") {
794875
+ function useUpdateNotification(updatedVersion, initialVersion = "1.83.2") {
794844
794876
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react225.useState(() => getSemverPart(initialVersion));
794845
794877
  if (!updatedVersion) {
794846
794878
  return null;
@@ -794889,7 +794921,7 @@ function AutoUpdater({
794889
794921
  return;
794890
794922
  }
794891
794923
  if (false) {}
794892
- const currentVersion = "1.83.0";
794924
+ const currentVersion = "1.83.2";
794893
794925
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
794894
794926
  let latestVersion = await getLatestVersion(channel);
794895
794927
  const isDisabled = isAutoUpdaterDisabled();
@@ -795118,12 +795150,12 @@ function NativeAutoUpdater({
795118
795150
  logEvent("tengu_native_auto_updater_start", {});
795119
795151
  try {
795120
795152
  const maxVersion = await getMaxVersion();
795121
- if (maxVersion && gt("1.83.0", maxVersion)) {
795153
+ if (maxVersion && gt("1.83.2", maxVersion)) {
795122
795154
  const msg = await getMaxVersionMessage();
795123
795155
  setMaxVersionIssue(msg ?? "affects your version");
795124
795156
  }
795125
795157
  const result = await installLatest(channel);
795126
- const currentVersion = "1.83.0";
795158
+ const currentVersion = "1.83.2";
795127
795159
  const latencyMs = Date.now() - startTime;
795128
795160
  if (result.lockFailed) {
795129
795161
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -795260,17 +795292,17 @@ function PackageManagerAutoUpdater(t0) {
795260
795292
  const maxVersion = await getMaxVersion();
795261
795293
  if (maxVersion && latest && gt(latest, maxVersion)) {
795262
795294
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
795263
- if (gte("1.83.0", maxVersion)) {
795264
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.83.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
795295
+ if (gte("1.83.2", maxVersion)) {
795296
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.83.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
795265
795297
  setUpdateAvailable(false);
795266
795298
  return;
795267
795299
  }
795268
795300
  latest = maxVersion;
795269
795301
  }
795270
- const hasUpdate = latest && !gte("1.83.0", latest) && !shouldSkipVersion(latest);
795302
+ const hasUpdate = latest && !gte("1.83.2", latest) && !shouldSkipVersion(latest);
795271
795303
  setUpdateAvailable(!!hasUpdate);
795272
795304
  if (hasUpdate) {
795273
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.83.0"} -> ${latest}`);
795305
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.83.2"} -> ${latest}`);
795274
795306
  }
795275
795307
  };
795276
795308
  $2[0] = t1;
@@ -795304,7 +795336,7 @@ function PackageManagerAutoUpdater(t0) {
795304
795336
  wrap: "truncate",
795305
795337
  children: [
795306
795338
  "currentVersion: ",
795307
- "1.83.0"
795339
+ "1.83.2"
795308
795340
  ]
795309
795341
  }, undefined, true, undefined, this);
795310
795342
  $2[3] = verbose;
@@ -806157,7 +806189,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
806157
806189
  project_dir: getOriginalCwd(),
806158
806190
  added_dirs: addedDirs
806159
806191
  },
806160
- version: "1.83.0",
806192
+ version: "1.83.2",
806161
806193
  output_style: {
806162
806194
  name: outputStyleName
806163
806195
  },
@@ -806292,7 +806324,7 @@ function StatusLineInner({
806292
806324
  const attention = customStatusError ?? taskAttention;
806293
806325
  const terminalSize = React135.useContext(TerminalSizeContext);
806294
806326
  const defaultStatusLineText = buildDefaultStatusBar({
806295
- version: "1.83.0",
806327
+ version: "1.83.2",
806296
806328
  providerLabel: providerRuntime.providerLabel,
806297
806329
  authMode: providerRuntime.authLabel,
806298
806330
  model: renderModelName(mainLoopModel) || providerRuntime.model || "",
@@ -818531,7 +818563,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
818531
818563
  } catch {}
818532
818564
  const data = {
818533
818565
  trigger: trigger2,
818534
- version: "1.83.0",
818566
+ version: "1.83.2",
818535
818567
  platform: process.platform,
818536
818568
  transcript,
818537
818569
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -830901,7 +830933,7 @@ function WelcomeV2() {
830901
830933
  dimColor: true,
830902
830934
  children: [
830903
830935
  "v",
830904
- "1.83.0"
830936
+ "1.83.2"
830905
830937
  ]
830906
830938
  }, undefined, true, undefined, this)
830907
830939
  ]
@@ -832147,7 +832179,7 @@ function completeOnboarding() {
832147
832179
  saveGlobalConfig((current) => ({
832148
832180
  ...current,
832149
832181
  hasCompletedOnboarding: true,
832150
- lastOnboardingVersion: "1.83.0"
832182
+ lastOnboardingVersion: "1.83.2"
832151
832183
  }));
832152
832184
  }
832153
832185
  function showDialog(root2, renderer) {
@@ -837293,7 +837325,7 @@ function appendToLog(path28, message) {
837293
837325
  cwd: getFsImplementation().cwd(),
837294
837326
  userType: process.env.USER_TYPE,
837295
837327
  sessionId: getSessionId(),
837296
- version: "1.83.0"
837328
+ version: "1.83.2"
837297
837329
  };
837298
837330
  getLogWriter(path28).write(messageWithTimestamp);
837299
837331
  }
@@ -841457,8 +841489,8 @@ async function getEnvLessBridgeConfig() {
841457
841489
  }
841458
841490
  async function checkEnvLessBridgeMinVersion() {
841459
841491
  const cfg = await getEnvLessBridgeConfig();
841460
- if (cfg.min_version && lt("1.83.0", cfg.min_version)) {
841461
- return `Your version of UR (${"1.83.0"}) is too old for Remote Control.
841492
+ if (cfg.min_version && lt("1.83.2", cfg.min_version)) {
841493
+ return `Your version of UR (${"1.83.2"}) is too old for Remote Control.
841462
841494
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
841463
841495
  }
841464
841496
  return null;
@@ -841932,7 +841964,7 @@ async function initBridgeCore(params) {
841932
841964
  const rawApi = createBridgeApiClient({
841933
841965
  baseUrl,
841934
841966
  getAccessToken,
841935
- runnerVersion: "1.83.0",
841967
+ runnerVersion: "1.83.2",
841936
841968
  onDebug: logForDebugging,
841937
841969
  onAuth401,
841938
841970
  getTrustedDeviceToken
@@ -855374,7 +855406,7 @@ function getAgUiCapabilities() {
855374
855406
  name: "UR-Nexus",
855375
855407
  type: "ur-nexus",
855376
855408
  description: "Provider-flexible, local-first autonomous engineering workflow agent.",
855377
- version: "1.83.0",
855409
+ version: "1.83.2",
855378
855410
  provider: "UR",
855379
855411
  documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
855380
855412
  },
@@ -856195,7 +856227,7 @@ function createMCPServer(cwd4, debug2, verbose) {
856195
856227
  };
856196
856228
  const server2 = new Server({
856197
856229
  name: "ur-nexus",
856198
- version: "1.83.0"
856230
+ version: "1.83.2"
856199
856231
  }, {
856200
856232
  capabilities: {
856201
856233
  tools: {}
@@ -857398,7 +857430,7 @@ function thrownResponse(error61) {
857398
857430
  }
857399
857431
  async function createUrMcp2026Runtime(options5) {
857400
857432
  const server2 = createMCPServer(options5.cwd, options5.debug === true, options5.verbose === true);
857401
- const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.83.0" }, { capabilities: {} });
857433
+ const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.83.2" }, { capabilities: {} });
857402
857434
  const [clientTransport, serverTransport] = createLinkedTransportPair();
857403
857435
  try {
857404
857436
  await server2.connect(serverTransport);
@@ -857409,7 +857441,7 @@ async function createUrMcp2026Runtime(options5) {
857409
857441
  }
857410
857442
  const runtime2 = new Mcp2026Runtime({
857411
857443
  cwd: options5.cwd,
857412
- version: "1.83.0",
857444
+ version: "1.83.2",
857413
857445
  backend: {
857414
857446
  listTools: async () => {
857415
857447
  const listed = await client2.listTools();
@@ -860245,7 +860277,7 @@ async function update() {
860245
860277
  logEvent("tengu_update_check", {});
860246
860278
  const diagnostic2 = await getDoctorDiagnostic();
860247
860279
  const result = await checkUpgradeStatus({
860248
- currentVersion: "1.83.0",
860280
+ currentVersion: "1.83.2",
860249
860281
  packageName: UR_AGENT_PACKAGE_NAME,
860250
860282
  installationType: diagnostic2.installationType,
860251
860283
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -861573,7 +861605,7 @@ ${customInstructions}` : customInstructions;
861573
861605
  }
861574
861606
  }
861575
861607
  logForDiagnosticsNoPII("info", "started", {
861576
- version: "1.83.0",
861608
+ version: "1.83.2",
861577
861609
  is_native_binary: isInBundledMode()
861578
861610
  });
861579
861611
  registerCleanup(async () => {
@@ -862360,7 +862392,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
862360
862392
  pendingHookMessages
862361
862393
  }, renderAndRun);
862362
862394
  }
862363
- }).version("1.83.0 (UR-Nexus)", "-v, --version", "Output the version number");
862395
+ }).version("1.83.2 (UR-Nexus)", "-v, --version", "Output the version number");
862364
862396
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
862365
862397
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
862366
862398
  if (canUserConfigureAdvisor()) {
@@ -863487,7 +863519,7 @@ if (false) {}
863487
863519
  async function main2() {
863488
863520
  const args = process.argv.slice(2);
863489
863521
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
863490
- console.log(`${"1.83.0"} (UR-Nexus)`);
863522
+ console.log(`${"1.83.2"} (UR-Nexus)`);
863491
863523
  return;
863492
863524
  }
863493
863525
  if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {