ur-agent 1.61.0 → 1.61.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.61.1
4
+
5
+ - Fixed secondary model queries failing on any Ollama setup whose session model
6
+ is not `qwen2.5-coder:7b`. `getSmallFastModel()` fell back to the compiled
7
+ default when auto-routing was off or no model list had been discovered, so a
8
+ user running `kimi-k2.7-code:cloud` had every WebFetch summarisation and
9
+ classifier call rejected with "Model qwen2.5-coder:7b is not available for
10
+ provider ollama". A fallback to a model the user may never have pulled is a
11
+ guaranteed failure; it now falls back to the session model, which is
12
+ guaranteed to exist.
13
+ - WebFetch no longer returns a failed summarisation as if it were the page.
14
+ The error text was passed through as the fetch result, so the evidence ledger
15
+ recorded "API Error: Provider ollama ..." as the content of example.com and a
16
+ `--check` against real page text correctly found nothing. It now throws, and
17
+ the failure is visible as a failed tool call.
18
+
3
19
  ## 1.61.0
4
20
 
5
21
  - Added `ur selftest`, end-to-end drills for the gap that produced every
package/dist/cli.js CHANGED
@@ -63662,6 +63662,9 @@ function getSmallFastModel() {
63662
63662
  return routed;
63663
63663
  }
63664
63664
  }
63665
+ const sessionModel = getMainLoopModel();
63666
+ if (sessionModel)
63667
+ return sessionModel;
63665
63668
  return getDefaultOllamaModel();
63666
63669
  }
63667
63670
  return process.env.URHQ_SMALL_FAST_MODEL || getDefaultmodelHModel();
@@ -75204,7 +75207,7 @@ var init_auth = __esm(() => {
75204
75207
 
75205
75208
  // src/utils/userAgent.ts
75206
75209
  function getURCodeUserAgent() {
75207
- return `ur/${"1.61.0"}`;
75210
+ return `ur/${"1.61.1"}`;
75208
75211
  }
75209
75212
 
75210
75213
  // src/utils/workloadContext.ts
@@ -75226,7 +75229,7 @@ function getUserAgent() {
75226
75229
  const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
75227
75230
  const workload = getWorkload();
75228
75231
  const workloadSuffix = workload ? `, workload/${workload}` : "";
75229
- return `ur-cli/${"1.61.0"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
75232
+ return `ur-cli/${"1.61.1"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
75230
75233
  }
75231
75234
  function getMCPUserAgent() {
75232
75235
  const parts = [];
@@ -75240,7 +75243,7 @@ function getMCPUserAgent() {
75240
75243
  parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
75241
75244
  }
75242
75245
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
75243
- return `ur/${"1.61.0"}${suffix}`;
75246
+ return `ur/${"1.61.1"}${suffix}`;
75244
75247
  }
75245
75248
  function getWebFetchUserAgent() {
75246
75249
  return `UR-User (${getURCodeUserAgent()})`;
@@ -75378,7 +75381,7 @@ var init_user = __esm(() => {
75378
75381
  deviceId,
75379
75382
  sessionId: getSessionId(),
75380
75383
  email: getEmail(),
75381
- appVersion: "1.61.0",
75384
+ appVersion: "1.61.1",
75382
75385
  platform: getHostPlatformForAnalytics(),
75383
75386
  organizationUuid,
75384
75387
  accountUuid,
@@ -83578,7 +83581,7 @@ var init_metadata = __esm(() => {
83578
83581
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
83579
83582
  WHITESPACE_REGEX = /\s+/;
83580
83583
  getVersionBase = memoize_default(() => {
83581
- const match = "1.61.0".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
83584
+ const match = "1.61.1".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
83582
83585
  return match ? match[0] : undefined;
83583
83586
  });
83584
83587
  buildEnvContext = memoize_default(async () => {
@@ -83618,7 +83621,7 @@ var init_metadata = __esm(() => {
83618
83621
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
83619
83622
  isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
83620
83623
  isURAiAuth: isURAISubscriber(),
83621
- version: "1.61.0",
83624
+ version: "1.61.1",
83622
83625
  versionBase: getVersionBase(),
83623
83626
  buildTime: "",
83624
83627
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
@@ -84288,7 +84291,7 @@ function initialize1PEventLogging() {
84288
84291
  const platform2 = getPlatform();
84289
84292
  const attributes = {
84290
84293
  [import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
84291
- [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.61.0"
84294
+ [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.61.1"
84292
84295
  };
84293
84296
  if (platform2 === "wsl") {
84294
84297
  const wslVersion = getWslVersion();
@@ -84316,7 +84319,7 @@ function initialize1PEventLogging() {
84316
84319
  })
84317
84320
  ]
84318
84321
  });
84319
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.61.0");
84322
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.61.1");
84320
84323
  }
84321
84324
  async function reinitialize1PEventLoggingIfConfigChanged() {
84322
84325
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -94155,7 +94158,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
94155
94158
  function formatA2AAgentCard(options = {}, pretty = true) {
94156
94159
  return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
94157
94160
  }
94158
- var urVersion = "1.61.0", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
94161
+ var urVersion = "1.61.1", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
94159
94162
  var init_trends = __esm(() => {
94160
94163
  init_a2aCardSignature();
94161
94164
  coverage = [
@@ -96958,7 +96961,7 @@ function getAttributionHeader(fingerprint) {
96958
96961
  if (!isAttributionHeaderEnabled()) {
96959
96962
  return "";
96960
96963
  }
96961
- const version2 = `${"1.61.0"}.${fingerprint}`;
96964
+ const version2 = `${"1.61.1"}.${fingerprint}`;
96962
96965
  const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
96963
96966
  const cch = "";
96964
96967
  const workload = getWorkload();
@@ -154547,7 +154550,7 @@ var init_projectSafety = __esm(() => {
154547
154550
  function getInstruments() {
154548
154551
  if (instruments)
154549
154552
  return instruments;
154550
- const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.61.0");
154553
+ const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.61.1");
154551
154554
  instruments = {
154552
154555
  operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
154553
154556
  description: "GenAI operation duration.",
@@ -154645,7 +154648,7 @@ function genAiAgentAttributes() {
154645
154648
  "gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
154646
154649
  "gen_ai.provider.name": "ur",
154647
154650
  "gen_ai.agent.name": "UR-Nexus",
154648
- "gen_ai.agent.version": "1.61.0"
154651
+ "gen_ai.agent.version": "1.61.1"
154649
154652
  };
154650
154653
  }
154651
154654
  function genAiWorkflowAttributes(workflowName) {
@@ -154661,7 +154664,7 @@ function genAiWorkflowAttributes(workflowName) {
154661
154664
  function startGenAiWorkflowSpan(workflowName) {
154662
154665
  const attributes = genAiWorkflowAttributes(workflowName);
154663
154666
  const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
154664
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.61.0").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
154667
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.61.1").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
154665
154668
  }
154666
154669
  function endGenAiWorkflowSpan(span, options2 = {}) {
154667
154670
  try {
@@ -154699,7 +154702,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
154699
154702
  if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
154700
154703
  attributes["gen_ai.memory.record.count"] = options2.recordCount;
154701
154704
  }
154702
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.61.0").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
154705
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.61.1").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
154703
154706
  }
154704
154707
  function endGenAiMemorySpan(span, options2 = {}) {
154705
154708
  try {
@@ -206218,7 +206221,7 @@ function getTelemetryAttributes() {
206218
206221
  attributes["session.id"] = sessionId;
206219
206222
  }
206220
206223
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
206221
- attributes["app.version"] = "1.61.0";
206224
+ attributes["app.version"] = "1.61.1";
206222
206225
  }
206223
206226
  const oauthAccount = getOauthAccountInfo();
206224
206227
  if (oauthAccount) {
@@ -241992,7 +241995,7 @@ function getInstallationEnv() {
241992
241995
  return;
241993
241996
  }
241994
241997
  function getURCodeVersion() {
241995
- return "1.61.0";
241998
+ return "1.61.1";
241996
241999
  }
241997
242000
  async function getInstalledVSCodeExtensionVersion(command) {
241998
242001
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -249323,7 +249326,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
249323
249326
  const client2 = new Client({
249324
249327
  name: "ur",
249325
249328
  title: "UR",
249326
- version: "1.61.0",
249329
+ version: "1.61.1",
249327
249330
  description: "UR-Nexus autonomous engineering workflow engine",
249328
249331
  websiteUrl: PRODUCT_URL
249329
249332
  }, {
@@ -249683,7 +249686,7 @@ var init_client5 = __esm(() => {
249683
249686
  const client2 = new Client({
249684
249687
  name: "ur",
249685
249688
  title: "UR",
249686
- version: "1.61.0",
249689
+ version: "1.61.1",
249687
249690
  description: "UR-Nexus autonomous engineering workflow engine",
249688
249691
  websiteUrl: PRODUCT_URL
249689
249692
  }, {
@@ -262284,7 +262287,7 @@ async function createRuntime() {
262284
262287
  bootstrapTelemetry();
262285
262288
  const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
262286
262289
  [import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
262287
- [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.61.0"
262290
+ [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.61.1"
262288
262291
  }));
262289
262292
  const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
262290
262293
  resource,
@@ -262317,11 +262320,11 @@ async function createRuntime() {
262317
262320
  setMeterProvider(meterProvider);
262318
262321
  setLoggerProvider(loggerProvider);
262319
262322
  if (meterProvider) {
262320
- const meter = meterProvider.getMeter("ur-agent", "1.61.0");
262323
+ const meter = meterProvider.getMeter("ur-agent", "1.61.1");
262321
262324
  setMeter(meter, (name, options2) => meter.createCounter(name, options2));
262322
262325
  }
262323
262326
  if (loggerProvider) {
262324
- setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.61.0"));
262327
+ setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.61.1"));
262325
262328
  }
262326
262329
  if (!cleanupRegistered2) {
262327
262330
  cleanupRegistered2 = true;
@@ -262983,9 +262986,9 @@ async function assertMinVersion() {
262983
262986
  if (false) {}
262984
262987
  try {
262985
262988
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
262986
- if (versionConfig.minVersion && lt("1.61.0", versionConfig.minVersion)) {
262989
+ if (versionConfig.minVersion && lt("1.61.1", versionConfig.minVersion)) {
262987
262990
  console.error(`
262988
- It looks like your version of UR (${"1.61.0"}) needs an update.
262991
+ It looks like your version of UR (${"1.61.1"}) needs an update.
262989
262992
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
262990
262993
 
262991
262994
  To update, please run:
@@ -263201,7 +263204,7 @@ async function installGlobalPackage(specificVersion) {
263201
263204
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
263202
263205
  logEvent("tengu_auto_updater_lock_contention", {
263203
263206
  pid: process.pid,
263204
- currentVersion: "1.61.0"
263207
+ currentVersion: "1.61.1"
263205
263208
  });
263206
263209
  return "in_progress";
263207
263210
  }
@@ -263210,7 +263213,7 @@ async function installGlobalPackage(specificVersion) {
263210
263213
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
263211
263214
  logError2(new Error("Windows NPM detected in WSL environment"));
263212
263215
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
263213
- currentVersion: "1.61.0"
263216
+ currentVersion: "1.61.1"
263214
263217
  });
263215
263218
  console.error(`
263216
263219
  Error: Windows NPM detected in WSL
@@ -263745,7 +263748,7 @@ function detectLinuxGlobPatternWarnings() {
263745
263748
  }
263746
263749
  async function getDoctorDiagnostic() {
263747
263750
  const installationType = await getCurrentInstallationType();
263748
- const version2 = typeof MACRO !== "undefined" ? "1.61.0" : "unknown";
263751
+ const version2 = typeof MACRO !== "undefined" ? "1.61.1" : "unknown";
263749
263752
  const installationPath = await getInstallationPath();
263750
263753
  const invokedBinary = getInvokedBinary();
263751
263754
  const multipleInstallations = await detectMultipleInstallations();
@@ -264680,8 +264683,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
264680
264683
  const maxVersion = await getMaxVersion();
264681
264684
  if (maxVersion && gt(version2, maxVersion)) {
264682
264685
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
264683
- if (gte("1.61.0", maxVersion)) {
264684
- logForDebugging(`Native installer: current version ${"1.61.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
264686
+ if (gte("1.61.1", maxVersion)) {
264687
+ logForDebugging(`Native installer: current version ${"1.61.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
264685
264688
  logEvent("tengu_native_update_skipped_max_version", {
264686
264689
  latency_ms: Date.now() - startTime,
264687
264690
  max_version: maxVersion,
@@ -264692,7 +264695,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
264692
264695
  version2 = maxVersion;
264693
264696
  }
264694
264697
  }
264695
- if (!forceReinstall && version2 === "1.61.0" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
264698
+ if (!forceReinstall && version2 === "1.61.1" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
264696
264699
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
264697
264700
  logEvent("tengu_native_update_complete", {
264698
264701
  latency_ms: Date.now() - startTime,
@@ -315265,7 +315268,11 @@ async function applyPromptToMarkdown(prompt, markdownContent, signal, isNonInter
315265
315268
  if (content.length > 0) {
315266
315269
  const contentBlock = content[0];
315267
315270
  if ("text" in contentBlock) {
315268
- return contentBlock.text;
315271
+ const text = contentBlock.text;
315272
+ if (assistantMessage.isApiErrorMessage || /^API Error:/.test(text)) {
315273
+ throw new Error(`Fetched the page, but summarising it failed: ${text.trim()}`);
315274
+ }
315275
+ return text;
315269
315276
  }
315270
315277
  }
315271
315278
  return "No response from model";
@@ -334887,7 +334894,7 @@ function isAnyTracingEnabled() {
334887
334894
  return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
334888
334895
  }
334889
334896
  function getTracer() {
334890
- return import_api39.trace.getTracer("ur-agent.gen_ai", "1.61.0");
334897
+ return import_api39.trace.getTracer("ur-agent.gen_ai", "1.61.1");
334891
334898
  }
334892
334899
  function createSpanAttributes(spanType, customAttributes = {}) {
334893
334900
  const baseAttributes = getTelemetryAttributes();
@@ -364390,7 +364397,7 @@ function Feedback({
364390
364397
  platform: env2.platform,
364391
364398
  gitRepo: envInfo.isGit,
364392
364399
  terminal: env2.terminal,
364393
- version: "1.61.0",
364400
+ version: "1.61.1",
364394
364401
  transcript: normalizeMessagesForAPI(messages),
364395
364402
  errors: sanitizedErrors,
364396
364403
  lastApiRequest: getLastAPIRequest(),
@@ -364582,7 +364589,7 @@ function Feedback({
364582
364589
  ", ",
364583
364590
  env2.terminal,
364584
364591
  ", v",
364585
- "1.61.0"
364592
+ "1.61.1"
364586
364593
  ]
364587
364594
  }, undefined, true, undefined, this)
364588
364595
  ]
@@ -364688,7 +364695,7 @@ ${sanitizedDescription}
364688
364695
  ` + `**Environment Info**
364689
364696
  ` + `- Platform: ${env2.platform}
364690
364697
  ` + `- Terminal: ${env2.terminal}
364691
- ` + `- Version: ${"1.61.0"}
364698
+ ` + `- Version: ${"1.61.1"}
364692
364699
  ` + `- Feedback ID: ${feedbackId}
364693
364700
  ` + `
364694
364701
  **Errors**
@@ -367798,7 +367805,7 @@ function buildPrimarySection() {
367798
367805
  }, undefined, false, undefined, this);
367799
367806
  return [{
367800
367807
  label: "Version",
367801
- value: "1.61.0"
367808
+ value: "1.61.1"
367802
367809
  }, {
367803
367810
  label: "Session name",
367804
367811
  value: nameValue
@@ -371128,7 +371135,7 @@ function Config({
371128
371135
  }
371129
371136
  }, undefined, false, undefined, this)
371130
371137
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
371131
- currentVersion: "1.61.0",
371138
+ currentVersion: "1.61.1",
371132
371139
  onChoice: (choice) => {
371133
371140
  setShowSubmenu(null);
371134
371141
  setTabsHidden(false);
@@ -371140,7 +371147,7 @@ function Config({
371140
371147
  autoUpdatesChannel: "stable"
371141
371148
  };
371142
371149
  if (choice === "stay") {
371143
- newSettings.minimumVersion = "1.61.0";
371150
+ newSettings.minimumVersion = "1.61.1";
371144
371151
  }
371145
371152
  updateSettingsForSource("userSettings", newSettings);
371146
371153
  setSettingsData((prev_27) => ({
@@ -379204,7 +379211,7 @@ function HelpV2(t0) {
379204
379211
  let t6;
379205
379212
  if ($2[31] !== tabs) {
379206
379213
  t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
379207
- title: `UR v${"1.61.0"}`,
379214
+ title: `UR v${"1.61.1"}`,
379208
379215
  color: "professionalBlue",
379209
379216
  defaultTab: "general",
379210
379217
  children: tabs
@@ -380121,7 +380128,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
380121
380128
  async function handleInitialize(options2) {
380122
380129
  return {
380123
380130
  name: "UR",
380124
- version: "1.61.0",
380131
+ version: "1.61.1",
380125
380132
  protocolVersion: "0.1.0",
380126
380133
  workspaceRoot: options2.cwd,
380127
380134
  capabilities: {
@@ -397229,7 +397236,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
397229
397236
  return [];
397230
397237
  }
397231
397238
  }
397232
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.61.0") {
397239
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.61.1") {
397233
397240
  if (process.env.USER_TYPE === "ant") {
397234
397241
  const changelog = "";
397235
397242
  if (changelog) {
@@ -397256,7 +397263,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.61.0")
397256
397263
  releaseNotes
397257
397264
  };
397258
397265
  }
397259
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.61.0") {
397266
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.61.1") {
397260
397267
  if (process.env.USER_TYPE === "ant") {
397261
397268
  const changelog = "";
397262
397269
  if (changelog) {
@@ -400113,7 +400120,7 @@ function getRecentActivitySync() {
400113
400120
  return cachedActivity;
400114
400121
  }
400115
400122
  function getLogoDisplayData() {
400116
- const version2 = process.env.DEMO_VERSION ?? "1.61.0";
400123
+ const version2 = process.env.DEMO_VERSION ?? "1.61.1";
400117
400124
  const serverUrl = getDirectConnectServerUrl();
400118
400125
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
400119
400126
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -400997,7 +401004,7 @@ function LogoV2() {
400997
401004
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
400998
401005
  t2 = () => {
400999
401006
  const currentConfig2 = getGlobalConfig();
401000
- if (currentConfig2.lastReleaseNotesSeen === "1.61.0") {
401007
+ if (currentConfig2.lastReleaseNotesSeen === "1.61.1") {
401001
401008
  return;
401002
401009
  }
401003
401010
  saveGlobalConfig(_temp327);
@@ -401682,12 +401689,12 @@ function LogoV2() {
401682
401689
  return t41;
401683
401690
  }
401684
401691
  function _temp327(current) {
401685
- if (current.lastReleaseNotesSeen === "1.61.0") {
401692
+ if (current.lastReleaseNotesSeen === "1.61.1") {
401686
401693
  return current;
401687
401694
  }
401688
401695
  return {
401689
401696
  ...current,
401690
- lastReleaseNotesSeen: "1.61.0"
401697
+ lastReleaseNotesSeen: "1.61.1"
401691
401698
  };
401692
401699
  }
401693
401700
  function _temp241(s_0) {
@@ -418485,7 +418492,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
418485
418492
  if (spec.name !== specName) {
418486
418493
  throw new Error("Agentic CI workflow spec name does not match");
418487
418494
  }
418488
- const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.61.0" : "1.61.0");
418495
+ const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.61.1" : "1.61.1");
418489
418496
  if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
418490
418497
  throw new Error("invalid ur-agent package version");
418491
418498
  }
@@ -419478,7 +419485,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
419478
419485
  path: ".github/workflows/ur.yml",
419479
419486
  root: "project",
419480
419487
  content: compileAgenticCiWorkflow("default", {
419481
- packageVersion: typeof MACRO !== "undefined" ? "1.61.0" : "1.61.0"
419488
+ packageVersion: typeof MACRO !== "undefined" ? "1.61.1" : "1.61.1"
419482
419489
  })
419483
419490
  },
419484
419491
  {
@@ -419541,7 +419548,7 @@ function value(tokens, flag) {
419541
419548
  return index2 >= 0 ? tokens[index2 + 1] : undefined;
419542
419549
  }
419543
419550
  function cliVersion() {
419544
- return typeof MACRO !== "undefined" ? "1.61.0" : "1.61.0";
419551
+ return typeof MACRO !== "undefined" ? "1.61.1" : "1.61.1";
419545
419552
  }
419546
419553
  function workflowPath(cwd2) {
419547
419554
  return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
@@ -425397,7 +425404,7 @@ function createAcpStdioApp(deps) {
425397
425404
  }
425398
425405
  },
425399
425406
  authMethods: [],
425400
- agentInfo: { name: "UR-Nexus", version: "1.61.0" }
425407
+ agentInfo: { name: "UR-Nexus", version: "1.61.1" }
425401
425408
  })).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
425402
425409
  const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
425403
425410
  await runtime2.announce({
@@ -425494,7 +425501,7 @@ function createAcpStdioAgent(deps) {
425494
425501
  }
425495
425502
  },
425496
425503
  authMethods: [],
425497
- agentInfo: { name: "UR-Nexus", version: "1.61.0" }
425504
+ agentInfo: { name: "UR-Nexus", version: "1.61.1" }
425498
425505
  });
425499
425506
  return;
425500
425507
  case "authenticate":
@@ -633792,7 +633799,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
633792
633799
  smapsRollup,
633793
633800
  platform: process.platform,
633794
633801
  nodeVersion: process.version,
633795
- ccVersion: "1.61.0"
633802
+ ccVersion: "1.61.1"
633796
633803
  };
633797
633804
  }
633798
633805
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -634372,7 +634379,7 @@ var init_bridge_kick = __esm(() => {
634372
634379
  var call153 = async () => {
634373
634380
  return {
634374
634381
  type: "text",
634375
- value: "1.61.0"
634382
+ value: "1.61.1"
634376
634383
  };
634377
634384
  }, version2, version_default;
634378
634385
  var init_version = __esm(() => {
@@ -645443,7 +645450,7 @@ function generateHtmlReport(data, insights) {
645443
645450
  </html>`;
645444
645451
  }
645445
645452
  function buildExportData(data, insights, facets, remoteStats) {
645446
- const version3 = typeof MACRO !== "undefined" ? "1.61.0" : "unknown";
645453
+ const version3 = typeof MACRO !== "undefined" ? "1.61.1" : "unknown";
645447
645454
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
645448
645455
  const facets_summary = {
645449
645456
  total: facets.size,
@@ -649754,7 +649761,7 @@ var init_sessionStorage = __esm(() => {
649754
649761
  init_settings2();
649755
649762
  init_slowOperations();
649756
649763
  init_uuid();
649757
- VERSION7 = typeof MACRO !== "undefined" ? "1.61.0" : "unknown";
649764
+ VERSION7 = typeof MACRO !== "undefined" ? "1.61.1" : "unknown";
649758
649765
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
649759
649766
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
649760
649767
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -650969,7 +650976,7 @@ var init_filesystem = __esm(() => {
650969
650976
  });
650970
650977
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
650971
650978
  const nonce = randomBytes20(16).toString("hex");
650972
- return join231(getURTempDir(), "bundled-skills", "1.61.0", nonce);
650979
+ return join231(getURTempDir(), "bundled-skills", "1.61.1", nonce);
650973
650980
  });
650974
650981
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
650975
650982
  });
@@ -657264,7 +657271,7 @@ function computeFingerprint(messageText2, version3) {
657264
657271
  }
657265
657272
  function computeFingerprintFromMessages(messages) {
657266
657273
  const firstMessageText = extractFirstMessageText(messages);
657267
- return computeFingerprint(firstMessageText, "1.61.0");
657274
+ return computeFingerprint(firstMessageText, "1.61.1");
657268
657275
  }
657269
657276
  var FINGERPRINT_SALT = "59cf53e54c78";
657270
657277
  var init_fingerprint = () => {};
@@ -659160,7 +659167,7 @@ async function sideQuery(opts) {
659160
659167
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
659161
659168
  }
659162
659169
  const messageText2 = extractFirstUserMessageText(messages);
659163
- const fingerprint2 = computeFingerprint(messageText2, "1.61.0");
659170
+ const fingerprint2 = computeFingerprint(messageText2, "1.61.1");
659164
659171
  const attributionHeader = getAttributionHeader(fingerprint2);
659165
659172
  const systemBlocks = [
659166
659173
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -663931,7 +663938,7 @@ function buildSystemInitMessage(inputs) {
663931
663938
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
663932
663939
  apiKeySource: getURHQApiKeyWithSource().source,
663933
663940
  betas: getSdkBetas(),
663934
- ur_version: "1.61.0",
663941
+ ur_version: "1.61.1",
663935
663942
  output_style: outputStyle2,
663936
663943
  agents: inputs.agents.map((agent2) => agent2.agentType),
663937
663944
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -677791,7 +677798,7 @@ var init_useVoiceEnabled = __esm(() => {
677791
677798
  function getSemverPart(version3) {
677792
677799
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
677793
677800
  }
677794
- function useUpdateNotification(updatedVersion, initialVersion = "1.61.0") {
677801
+ function useUpdateNotification(updatedVersion, initialVersion = "1.61.1") {
677795
677802
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react222.useState(() => getSemverPart(initialVersion));
677796
677803
  if (!updatedVersion) {
677797
677804
  return null;
@@ -677840,7 +677847,7 @@ function AutoUpdater({
677840
677847
  return;
677841
677848
  }
677842
677849
  if (false) {}
677843
- const currentVersion = "1.61.0";
677850
+ const currentVersion = "1.61.1";
677844
677851
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
677845
677852
  let latestVersion = await getLatestVersion(channel);
677846
677853
  const isDisabled = isAutoUpdaterDisabled();
@@ -678069,12 +678076,12 @@ function NativeAutoUpdater({
678069
678076
  logEvent("tengu_native_auto_updater_start", {});
678070
678077
  try {
678071
678078
  const maxVersion = await getMaxVersion();
678072
- if (maxVersion && gt("1.61.0", maxVersion)) {
678079
+ if (maxVersion && gt("1.61.1", maxVersion)) {
678073
678080
  const msg = await getMaxVersionMessage();
678074
678081
  setMaxVersionIssue(msg ?? "affects your version");
678075
678082
  }
678076
678083
  const result = await installLatest(channel);
678077
- const currentVersion = "1.61.0";
678084
+ const currentVersion = "1.61.1";
678078
678085
  const latencyMs = Date.now() - startTime;
678079
678086
  if (result.lockFailed) {
678080
678087
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -678211,17 +678218,17 @@ function PackageManagerAutoUpdater(t0) {
678211
678218
  const maxVersion = await getMaxVersion();
678212
678219
  if (maxVersion && latest && gt(latest, maxVersion)) {
678213
678220
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
678214
- if (gte("1.61.0", maxVersion)) {
678215
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.61.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
678221
+ if (gte("1.61.1", maxVersion)) {
678222
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.61.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
678216
678223
  setUpdateAvailable(false);
678217
678224
  return;
678218
678225
  }
678219
678226
  latest = maxVersion;
678220
678227
  }
678221
- const hasUpdate = latest && !gte("1.61.0", latest) && !shouldSkipVersion(latest);
678228
+ const hasUpdate = latest && !gte("1.61.1", latest) && !shouldSkipVersion(latest);
678222
678229
  setUpdateAvailable(!!hasUpdate);
678223
678230
  if (hasUpdate) {
678224
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.61.0"} -> ${latest}`);
678231
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.61.1"} -> ${latest}`);
678225
678232
  }
678226
678233
  };
678227
678234
  $2[0] = t1;
@@ -678255,7 +678262,7 @@ function PackageManagerAutoUpdater(t0) {
678255
678262
  wrap: "truncate",
678256
678263
  children: [
678257
678264
  "currentVersion: ",
678258
- "1.61.0"
678265
+ "1.61.1"
678259
678266
  ]
678260
678267
  }, undefined, true, undefined, this);
678261
678268
  $2[3] = verbose;
@@ -688952,7 +688959,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
688952
688959
  project_dir: getOriginalCwd(),
688953
688960
  added_dirs: addedDirs
688954
688961
  },
688955
- version: "1.61.0",
688962
+ version: "1.61.1",
688956
688963
  output_style: {
688957
688964
  name: outputStyleName
688958
688965
  },
@@ -689035,7 +689042,7 @@ function StatusLineInner({
689035
689042
  const taskValues = Object.values(tasks2);
689036
689043
  const taskRunningCount = taskValues.filter((task2) => task2.status === "running" || task2.status === "pending").length;
689037
689044
  const defaultStatusLineText = buildDefaultStatusBar({
689038
- version: "1.61.0",
689045
+ version: "1.61.1",
689039
689046
  providerLabel: providerRuntime.providerLabel,
689040
689047
  authMode: providerRuntime.authLabel,
689041
689048
  model: providerRuntime.model ?? renderModelName(mainLoopModel),
@@ -701178,7 +701185,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
701178
701185
  } catch {}
701179
701186
  const data = {
701180
701187
  trigger: trigger2,
701181
- version: "1.61.0",
701188
+ version: "1.61.1",
701182
701189
  platform: process.platform,
701183
701190
  transcript,
701184
701191
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -713458,7 +713465,7 @@ function WelcomeV2() {
713458
713465
  dimColor: true,
713459
713466
  children: [
713460
713467
  "v",
713461
- "1.61.0"
713468
+ "1.61.1"
713462
713469
  ]
713463
713470
  }, undefined, true, undefined, this)
713464
713471
  ]
@@ -714718,7 +714725,7 @@ function completeOnboarding() {
714718
714725
  saveGlobalConfig((current) => ({
714719
714726
  ...current,
714720
714727
  hasCompletedOnboarding: true,
714721
- lastOnboardingVersion: "1.61.0"
714728
+ lastOnboardingVersion: "1.61.1"
714722
714729
  }));
714723
714730
  }
714724
714731
  function showDialog(root2, renderer) {
@@ -719762,7 +719769,7 @@ function appendToLog(path24, message) {
719762
719769
  cwd: getFsImplementation().cwd(),
719763
719770
  userType: process.env.USER_TYPE,
719764
719771
  sessionId: getSessionId(),
719765
- version: "1.61.0"
719772
+ version: "1.61.1"
719766
719773
  };
719767
719774
  getLogWriter(path24).write(messageWithTimestamp);
719768
719775
  }
@@ -723921,8 +723928,8 @@ async function getEnvLessBridgeConfig() {
723921
723928
  }
723922
723929
  async function checkEnvLessBridgeMinVersion() {
723923
723930
  const cfg = await getEnvLessBridgeConfig();
723924
- if (cfg.min_version && lt("1.61.0", cfg.min_version)) {
723925
- return `Your version of UR (${"1.61.0"}) is too old for Remote Control.
723931
+ if (cfg.min_version && lt("1.61.1", cfg.min_version)) {
723932
+ return `Your version of UR (${"1.61.1"}) is too old for Remote Control.
723926
723933
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
723927
723934
  }
723928
723935
  return null;
@@ -724396,7 +724403,7 @@ async function initBridgeCore(params) {
724396
724403
  const rawApi = createBridgeApiClient({
724397
724404
  baseUrl,
724398
724405
  getAccessToken,
724399
- runnerVersion: "1.61.0",
724406
+ runnerVersion: "1.61.1",
724400
724407
  onDebug: logForDebugging,
724401
724408
  onAuth401,
724402
724409
  getTrustedDeviceToken
@@ -733872,7 +733879,7 @@ function getAgUiCapabilities() {
733872
733879
  name: "UR-Nexus",
733873
733880
  type: "ur-nexus",
733874
733881
  description: "Provider-flexible, local-first autonomous engineering workflow agent.",
733875
- version: "1.61.0",
733882
+ version: "1.61.1",
733876
733883
  provider: "UR",
733877
733884
  documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
733878
733885
  },
@@ -735012,7 +735019,7 @@ function createMCPServer(cwd4, debug2, verbose) {
735012
735019
  };
735013
735020
  const server2 = new Server({
735014
735021
  name: "ur-nexus",
735015
- version: "1.61.0"
735022
+ version: "1.61.1"
735016
735023
  }, {
735017
735024
  capabilities: {
735018
735025
  tools: {}
@@ -736170,7 +736177,7 @@ function thrownResponse(error40) {
736170
736177
  }
736171
736178
  async function createUrMcp2026Runtime(options4) {
736172
736179
  const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
736173
- const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.61.0" }, { capabilities: {} });
736180
+ const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.61.1" }, { capabilities: {} });
736174
736181
  const [clientTransport, serverTransport] = createLinkedTransportPair();
736175
736182
  try {
736176
736183
  await server2.connect(serverTransport);
@@ -736181,7 +736188,7 @@ async function createUrMcp2026Runtime(options4) {
736181
736188
  }
736182
736189
  const runtime2 = new Mcp2026Runtime({
736183
736190
  cwd: options4.cwd,
736184
- version: "1.61.0",
736191
+ version: "1.61.1",
736185
736192
  backend: {
736186
736193
  listTools: async () => {
736187
736194
  const listed = await client2.listTools();
@@ -738314,7 +738321,7 @@ async function update() {
738314
738321
  logEvent("tengu_update_check", {});
738315
738322
  const diagnostic2 = await getDoctorDiagnostic();
738316
738323
  const result = await checkUpgradeStatus({
738317
- currentVersion: "1.61.0",
738324
+ currentVersion: "1.61.1",
738318
738325
  packageName: UR_AGENT_PACKAGE_NAME,
738319
738326
  installationType: diagnostic2.installationType,
738320
738327
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -739630,7 +739637,7 @@ ${customInstructions}` : customInstructions;
739630
739637
  }
739631
739638
  }
739632
739639
  logForDiagnosticsNoPII("info", "started", {
739633
- version: "1.61.0",
739640
+ version: "1.61.1",
739634
739641
  is_native_binary: isInBundledMode()
739635
739642
  });
739636
739643
  registerCleanup(async () => {
@@ -740416,7 +740423,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
740416
740423
  pendingHookMessages
740417
740424
  }, renderAndRun);
740418
740425
  }
740419
- }).version("1.61.0 (UR-Nexus)", "-v, --version", "Output the version number");
740426
+ }).version("1.61.1 (UR-Nexus)", "-v, --version", "Output the version number");
740420
740427
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
740421
740428
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
740422
740429
  if (canUserConfigureAdvisor()) {
@@ -741468,7 +741475,7 @@ if (false) {}
741468
741475
  async function main2() {
741469
741476
  const args = process.argv.slice(2);
741470
741477
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
741471
- console.log(`${"1.61.0"} (UR-Nexus)`);
741478
+ console.log(`${"1.61.1"} (UR-Nexus)`);
741472
741479
  return;
741473
741480
  }
741474
741481
  if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
@@ -45,7 +45,7 @@
45
45
  <main id="content" class="content">
46
46
  <header class="topbar">
47
47
  <div>
48
- <p class="eyebrow">Version 1.61.0</p>
48
+ <p class="eyebrow">Version 1.61.1</p>
49
49
  <h1>UR-Nexus Documentation</h1>
50
50
  <p class="lead">A practical, tutorial-style reference for installing, configuring, automating, extending, and operating UR-Nexus.</p>
51
51
  </div>
@@ -7,7 +7,7 @@ plugins {
7
7
  }
8
8
 
9
9
  group = "dev.urnexus"
10
- version = "1.61.0"
10
+ version = "1.61.1"
11
11
 
12
12
  repositories {
13
13
  mavenCentral()
@@ -2,7 +2,7 @@
2
2
  "name": "ur-inline-diffs",
3
3
  "displayName": "UR Inline Diffs",
4
4
  "description": "Review, apply, and reject UR inline diff bundles from .ur/ide/diffs inside VS Code.",
5
- "version": "1.61.0",
5
+ "version": "1.61.1",
6
6
  "publisher": "ur-nexus",
7
7
  "engines": {
8
8
  "vscode": "^1.92.0"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ur-agent",
3
- "version": "1.61.0",
3
+ "version": "1.61.1",
4
4
  "description": "UR-Nexus — autonomous engineering workflow engine (plan, execute, test, verify, document, benchmark, reproduce)",
5
5
  "type": "module",
6
6
  "packageManager": "bun@1.3.14",