ur-agent 1.74.0 → 1.75.0

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,24 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.75.0
4
+
5
+ - The UI can no longer stay on "working" for a prompt that is running nowhere.
6
+ `QueryGuard`'s `dispatching` state — the gap between `reserve()` and
7
+ `tryStart()` — has no owner: if that chain dies where handlePromptSubmit's
8
+ `finally` cannot observe it, nothing calls `cancelReservation()`, `isActive`
9
+ stays true forever, and the queue behind it never drains. The guard now
10
+ records when it entered a state, and an outstanding reservation older than
11
+ 120s is released and logged. `running` is deliberately excluded — a long
12
+ query is legitimate and is bounded by the request and stream-inactivity
13
+ timeouts instead.
14
+ - New work no longer lands in a finished task list. `useTasksV2` clears a fully
15
+ completed list on a 5s hide timer, so a `TaskCreate` inside that window
16
+ appended to it: the new list arrived pre-populated with ticked items and the
17
+ progress count was wrong from the first task. `TaskCreate` now retires a
18
+ fully completed list before adding, making the rule deterministic rather than
19
+ timing-dependent. A list with any pending, running, failed or blocked task is
20
+ left alone, so "add this to the current list" still works.
21
+
3
22
  ## 1.74.0
4
23
 
5
24
  - Provider API key entry no longer renders one character per line. The field in
package/dist/cli.js CHANGED
@@ -76001,7 +76001,7 @@ var init_auth = __esm(() => {
76001
76001
 
76002
76002
  // src/utils/userAgent.ts
76003
76003
  function getURCodeUserAgent() {
76004
- return `ur/${"1.74.0"}`;
76004
+ return `ur/${"1.75.0"}`;
76005
76005
  }
76006
76006
 
76007
76007
  // src/utils/workloadContext.ts
@@ -76023,7 +76023,7 @@ function getUserAgent() {
76023
76023
  const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
76024
76024
  const workload = getWorkload();
76025
76025
  const workloadSuffix = workload ? `, workload/${workload}` : "";
76026
- return `ur-cli/${"1.74.0"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
76026
+ return `ur-cli/${"1.75.0"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
76027
76027
  }
76028
76028
  function getMCPUserAgent() {
76029
76029
  const parts = [];
@@ -76037,7 +76037,7 @@ function getMCPUserAgent() {
76037
76037
  parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
76038
76038
  }
76039
76039
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
76040
- return `ur/${"1.74.0"}${suffix}`;
76040
+ return `ur/${"1.75.0"}${suffix}`;
76041
76041
  }
76042
76042
  function getWebFetchUserAgent() {
76043
76043
  return `UR-User (${getURCodeUserAgent()})`;
@@ -76175,7 +76175,7 @@ var init_user = __esm(() => {
76175
76175
  deviceId,
76176
76176
  sessionId: getSessionId(),
76177
76177
  email: getEmail(),
76178
- appVersion: "1.74.0",
76178
+ appVersion: "1.75.0",
76179
76179
  platform: getHostPlatformForAnalytics(),
76180
76180
  organizationUuid,
76181
76181
  accountUuid,
@@ -84375,7 +84375,7 @@ var init_metadata = __esm(() => {
84375
84375
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
84376
84376
  WHITESPACE_REGEX = /\s+/;
84377
84377
  getVersionBase = memoize_default(() => {
84378
- const match = "1.74.0".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
84378
+ const match = "1.75.0".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
84379
84379
  return match ? match[0] : undefined;
84380
84380
  });
84381
84381
  buildEnvContext = memoize_default(async () => {
@@ -84415,7 +84415,7 @@ var init_metadata = __esm(() => {
84415
84415
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
84416
84416
  isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
84417
84417
  isURAiAuth: isURAISubscriber(),
84418
- version: "1.74.0",
84418
+ version: "1.75.0",
84419
84419
  versionBase: getVersionBase(),
84420
84420
  buildTime: "",
84421
84421
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
@@ -85085,7 +85085,7 @@ function initialize1PEventLogging() {
85085
85085
  const platform2 = getPlatform();
85086
85086
  const attributes = {
85087
85087
  [import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
85088
- [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.74.0"
85088
+ [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.75.0"
85089
85089
  };
85090
85090
  if (platform2 === "wsl") {
85091
85091
  const wslVersion = getWslVersion();
@@ -85113,7 +85113,7 @@ function initialize1PEventLogging() {
85113
85113
  })
85114
85114
  ]
85115
85115
  });
85116
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.74.0");
85116
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.75.0");
85117
85117
  }
85118
85118
  async function reinitialize1PEventLoggingIfConfigChanged() {
85119
85119
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -94990,7 +94990,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
94990
94990
  function formatA2AAgentCard(options = {}, pretty = true) {
94991
94991
  return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
94992
94992
  }
94993
- var urVersion = "1.74.0", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
94993
+ var urVersion = "1.75.0", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
94994
94994
  var init_trends = __esm(() => {
94995
94995
  init_a2aCardSignature();
94996
94996
  coverage = [
@@ -97793,7 +97793,7 @@ function getAttributionHeader(fingerprint) {
97793
97793
  if (!isAttributionHeaderEnabled()) {
97794
97794
  return "";
97795
97795
  }
97796
- const version2 = `${"1.74.0"}.${fingerprint}`;
97796
+ const version2 = `${"1.75.0"}.${fingerprint}`;
97797
97797
  const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
97798
97798
  const cch = "";
97799
97799
  const workload = getWorkload();
@@ -155582,7 +155582,7 @@ var init_projectSafety = __esm(() => {
155582
155582
  function getInstruments() {
155583
155583
  if (instruments)
155584
155584
  return instruments;
155585
- const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.74.0");
155585
+ const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.75.0");
155586
155586
  instruments = {
155587
155587
  operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
155588
155588
  description: "GenAI operation duration.",
@@ -155680,7 +155680,7 @@ function genAiAgentAttributes() {
155680
155680
  "gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
155681
155681
  "gen_ai.provider.name": "ur",
155682
155682
  "gen_ai.agent.name": "UR-Nexus",
155683
- "gen_ai.agent.version": "1.74.0"
155683
+ "gen_ai.agent.version": "1.75.0"
155684
155684
  };
155685
155685
  }
155686
155686
  function genAiWorkflowAttributes(workflowName) {
@@ -155696,7 +155696,7 @@ function genAiWorkflowAttributes(workflowName) {
155696
155696
  function startGenAiWorkflowSpan(workflowName) {
155697
155697
  const attributes = genAiWorkflowAttributes(workflowName);
155698
155698
  const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
155699
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.74.0").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
155699
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.75.0").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
155700
155700
  }
155701
155701
  function endGenAiWorkflowSpan(span, options2 = {}) {
155702
155702
  try {
@@ -155734,7 +155734,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
155734
155734
  if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
155735
155735
  attributes["gen_ai.memory.record.count"] = options2.recordCount;
155736
155736
  }
155737
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.74.0").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
155737
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.75.0").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
155738
155738
  }
155739
155739
  function endGenAiMemorySpan(span, options2 = {}) {
155740
155740
  try {
@@ -157764,11 +157764,13 @@ __export(exports_tasks, {
157764
157764
  unassignTeammateTasks: () => unassignTeammateTasks,
157765
157765
  setLeaderTeamName: () => setLeaderTeamName,
157766
157766
  sanitizePathComponent: () => sanitizePathComponent,
157767
+ retireCompletedTaskList: () => retireCompletedTaskList,
157767
157768
  resetTaskList: () => resetTaskList,
157768
157769
  onTasksUpdated: () => onTasksUpdated,
157769
157770
  notifyTasksUpdated: () => notifyTasksUpdated,
157770
157771
  listTasks: () => listTasks,
157771
157772
  isTodoV2Enabled: () => isTodoV2Enabled,
157773
+ isTaskListFullyCompleted: () => isTaskListFullyCompleted,
157772
157774
  inspectTaskListForGate: () => inspectTaskListForGate,
157773
157775
  getTasksDir: () => getTasksDir,
157774
157776
  getTaskPath: () => getTaskPath,
@@ -157843,6 +157845,17 @@ function isTodoV2Enabled() {
157843
157845
  }
157844
157846
  return !getIsNonInteractiveSession();
157845
157847
  }
157848
+ function isTaskListFullyCompleted(tasks) {
157849
+ return tasks.length > 0 && tasks.every((task) => task.status === "completed");
157850
+ }
157851
+ async function retireCompletedTaskList(taskListId) {
157852
+ const tasks = await listTasks(taskListId);
157853
+ if (!isTaskListFullyCompleted(tasks)) {
157854
+ return false;
157855
+ }
157856
+ await resetTaskList(taskListId);
157857
+ return true;
157858
+ }
157846
157859
  async function resetTaskList(taskListId) {
157847
157860
  const dir = getTasksDir(taskListId);
157848
157861
  const lockPath = await ensureTaskListLockFile(taskListId);
@@ -249205,7 +249218,7 @@ function getTelemetryAttributes() {
249205
249218
  attributes["session.id"] = sessionId;
249206
249219
  }
249207
249220
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
249208
- attributes["app.version"] = "1.74.0";
249221
+ attributes["app.version"] = "1.75.0";
249209
249222
  }
249210
249223
  const oauthAccount = getOauthAccountInfo();
249211
249224
  if (oauthAccount) {
@@ -295748,7 +295761,7 @@ function getInstallationEnv() {
295748
295761
  return;
295749
295762
  }
295750
295763
  function getURCodeVersion() {
295751
- return "1.74.0";
295764
+ return "1.75.0";
295752
295765
  }
295753
295766
  async function getInstalledVSCodeExtensionVersion(command) {
295754
295767
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -303079,7 +303092,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
303079
303092
  const client2 = new Client({
303080
303093
  name: "ur",
303081
303094
  title: "UR",
303082
- version: "1.74.0",
303095
+ version: "1.75.0",
303083
303096
  description: "UR-Nexus autonomous engineering workflow engine",
303084
303097
  websiteUrl: PRODUCT_URL
303085
303098
  }, {
@@ -303439,7 +303452,7 @@ var init_client5 = __esm(() => {
303439
303452
  const client2 = new Client({
303440
303453
  name: "ur",
303441
303454
  title: "UR",
303442
- version: "1.74.0",
303455
+ version: "1.75.0",
303443
303456
  description: "UR-Nexus autonomous engineering workflow engine",
303444
303457
  websiteUrl: PRODUCT_URL
303445
303458
  }, {
@@ -315978,7 +315991,7 @@ async function createRuntime() {
315978
315991
  bootstrapTelemetry();
315979
315992
  const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
315980
315993
  [import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
315981
- [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.74.0"
315994
+ [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.75.0"
315982
315995
  }));
315983
315996
  const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
315984
315997
  resource,
@@ -316011,11 +316024,11 @@ async function createRuntime() {
316011
316024
  setMeterProvider(meterProvider);
316012
316025
  setLoggerProvider(loggerProvider);
316013
316026
  if (meterProvider) {
316014
- const meter = meterProvider.getMeter("ur-agent", "1.74.0");
316027
+ const meter = meterProvider.getMeter("ur-agent", "1.75.0");
316015
316028
  setMeter(meter, (name, options2) => meter.createCounter(name, options2));
316016
316029
  }
316017
316030
  if (loggerProvider) {
316018
- setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.74.0"));
316031
+ setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.75.0"));
316019
316032
  }
316020
316033
  if (!cleanupRegistered2) {
316021
316034
  cleanupRegistered2 = true;
@@ -316677,9 +316690,9 @@ async function assertMinVersion() {
316677
316690
  if (false) {}
316678
316691
  try {
316679
316692
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
316680
- if (versionConfig.minVersion && lt("1.74.0", versionConfig.minVersion)) {
316693
+ if (versionConfig.minVersion && lt("1.75.0", versionConfig.minVersion)) {
316681
316694
  console.error(`
316682
- It looks like your version of UR (${"1.74.0"}) needs an update.
316695
+ It looks like your version of UR (${"1.75.0"}) needs an update.
316683
316696
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
316684
316697
 
316685
316698
  To update, please run:
@@ -316895,7 +316908,7 @@ async function installGlobalPackage(specificVersion) {
316895
316908
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
316896
316909
  logEvent("tengu_auto_updater_lock_contention", {
316897
316910
  pid: process.pid,
316898
- currentVersion: "1.74.0"
316911
+ currentVersion: "1.75.0"
316899
316912
  });
316900
316913
  return "in_progress";
316901
316914
  }
@@ -316904,7 +316917,7 @@ async function installGlobalPackage(specificVersion) {
316904
316917
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
316905
316918
  logError2(new Error("Windows NPM detected in WSL environment"));
316906
316919
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
316907
- currentVersion: "1.74.0"
316920
+ currentVersion: "1.75.0"
316908
316921
  });
316909
316922
  console.error(`
316910
316923
  Error: Windows NPM detected in WSL
@@ -317439,7 +317452,7 @@ function detectLinuxGlobPatternWarnings() {
317439
317452
  }
317440
317453
  async function getDoctorDiagnostic() {
317441
317454
  const installationType = await getCurrentInstallationType();
317442
- const version2 = typeof MACRO !== "undefined" ? "1.74.0" : "unknown";
317455
+ const version2 = typeof MACRO !== "undefined" ? "1.75.0" : "unknown";
317443
317456
  const installationPath = await getInstallationPath();
317444
317457
  const invokedBinary = getInvokedBinary();
317445
317458
  const multipleInstallations = await detectMultipleInstallations();
@@ -318374,8 +318387,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
318374
318387
  const maxVersion = await getMaxVersion();
318375
318388
  if (maxVersion && gt(version2, maxVersion)) {
318376
318389
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
318377
- if (gte("1.74.0", maxVersion)) {
318378
- logForDebugging(`Native installer: current version ${"1.74.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
318390
+ if (gte("1.75.0", maxVersion)) {
318391
+ logForDebugging(`Native installer: current version ${"1.75.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
318379
318392
  logEvent("tengu_native_update_skipped_max_version", {
318380
318393
  latency_ms: Date.now() - startTime,
318381
318394
  max_version: maxVersion,
@@ -318386,7 +318399,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
318386
318399
  version2 = maxVersion;
318387
318400
  }
318388
318401
  }
318389
- if (!forceReinstall && version2 === "1.74.0" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
318402
+ if (!forceReinstall && version2 === "1.75.0" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
318390
318403
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
318391
318404
  logEvent("tengu_native_update_complete", {
318392
318405
  latency_ms: Date.now() - startTime,
@@ -378218,6 +378231,7 @@ var init_TaskCreateTool = __esm(() => {
378218
378231
  ...new Set([...blockedBy ?? [], ...addBlockedBy ?? []])
378219
378232
  ];
378220
378233
  const taskListId = getTaskListId();
378234
+ await retireCompletedTaskList(taskListId);
378221
378235
  const taskId = await createTask(taskListId, {
378222
378236
  subject,
378223
378237
  description,
@@ -388242,7 +388256,7 @@ function isAnyTracingEnabled() {
388242
388256
  return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
388243
388257
  }
388244
388258
  function getTracer() {
388245
- return import_api39.trace.getTracer("ur-agent.gen_ai", "1.74.0");
388259
+ return import_api39.trace.getTracer("ur-agent.gen_ai", "1.75.0");
388246
388260
  }
388247
388261
  function createSpanAttributes(spanType, customAttributes = {}) {
388248
388262
  const baseAttributes = getTelemetryAttributes();
@@ -418448,7 +418462,7 @@ function Feedback({
418448
418462
  platform: env2.platform,
418449
418463
  gitRepo: envInfo.isGit,
418450
418464
  terminal: env2.terminal,
418451
- version: "1.74.0",
418465
+ version: "1.75.0",
418452
418466
  transcript: normalizeMessagesForAPI(messages),
418453
418467
  errors: sanitizedErrors,
418454
418468
  lastApiRequest: getLastAPIRequest(),
@@ -418640,7 +418654,7 @@ function Feedback({
418640
418654
  ", ",
418641
418655
  env2.terminal,
418642
418656
  ", v",
418643
- "1.74.0"
418657
+ "1.75.0"
418644
418658
  ]
418645
418659
  }, undefined, true, undefined, this)
418646
418660
  ]
@@ -418746,7 +418760,7 @@ ${sanitizedDescription}
418746
418760
  ` + `**Environment Info**
418747
418761
  ` + `- Platform: ${env2.platform}
418748
418762
  ` + `- Terminal: ${env2.terminal}
418749
- ` + `- Version: ${"1.74.0"}
418763
+ ` + `- Version: ${"1.75.0"}
418750
418764
  ` + `- Feedback ID: ${feedbackId}
418751
418765
  ` + `
418752
418766
  **Errors**
@@ -421856,7 +421870,7 @@ function buildPrimarySection() {
421856
421870
  }, undefined, false, undefined, this);
421857
421871
  return [{
421858
421872
  label: "Version",
421859
- value: "1.74.0"
421873
+ value: "1.75.0"
421860
421874
  }, {
421861
421875
  label: "Session name",
421862
421876
  value: nameValue
@@ -425186,7 +425200,7 @@ function Config({
425186
425200
  }
425187
425201
  }, undefined, false, undefined, this)
425188
425202
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
425189
- currentVersion: "1.74.0",
425203
+ currentVersion: "1.75.0",
425190
425204
  onChoice: (choice) => {
425191
425205
  setShowSubmenu(null);
425192
425206
  setTabsHidden(false);
@@ -425198,7 +425212,7 @@ function Config({
425198
425212
  autoUpdatesChannel: "stable"
425199
425213
  };
425200
425214
  if (choice === "stay") {
425201
- newSettings.minimumVersion = "1.74.0";
425215
+ newSettings.minimumVersion = "1.75.0";
425202
425216
  }
425203
425217
  updateSettingsForSource("userSettings", newSettings);
425204
425218
  setSettingsData((prev_27) => ({
@@ -433262,7 +433276,7 @@ function HelpV2(t0) {
433262
433276
  let t6;
433263
433277
  if ($2[31] !== tabs) {
433264
433278
  t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
433265
- title: `UR v${"1.74.0"}`,
433279
+ title: `UR v${"1.75.0"}`,
433266
433280
  color: "professionalBlue",
433267
433281
  defaultTab: "general",
433268
433282
  children: tabs
@@ -434195,7 +434209,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
434195
434209
  async function handleInitialize(options2) {
434196
434210
  return {
434197
434211
  name: "UR",
434198
- version: "1.74.0",
434212
+ version: "1.75.0",
434199
434213
  protocolVersion: "0.1.0",
434200
434214
  workspaceRoot: options2.cwd,
434201
434215
  capabilities: {
@@ -451303,7 +451317,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
451303
451317
  return [];
451304
451318
  }
451305
451319
  }
451306
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.74.0") {
451320
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.75.0") {
451307
451321
  if (process.env.USER_TYPE === "ant") {
451308
451322
  const changelog = "";
451309
451323
  if (changelog) {
@@ -451330,7 +451344,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.74.0")
451330
451344
  releaseNotes
451331
451345
  };
451332
451346
  }
451333
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.74.0") {
451347
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.75.0") {
451334
451348
  if (process.env.USER_TYPE === "ant") {
451335
451349
  const changelog = "";
451336
451350
  if (changelog) {
@@ -454196,7 +454210,7 @@ function getRecentActivitySync() {
454196
454210
  return cachedActivity;
454197
454211
  }
454198
454212
  function getLogoDisplayData() {
454199
- const version2 = process.env.DEMO_VERSION ?? "1.74.0";
454213
+ const version2 = process.env.DEMO_VERSION ?? "1.75.0";
454200
454214
  const serverUrl = getDirectConnectServerUrl();
454201
454215
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
454202
454216
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -455063,7 +455077,7 @@ function LogoV2() {
455063
455077
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
455064
455078
  t2 = () => {
455065
455079
  const currentConfig2 = getGlobalConfig();
455066
- if (currentConfig2.lastReleaseNotesSeen === "1.74.0") {
455080
+ if (currentConfig2.lastReleaseNotesSeen === "1.75.0") {
455067
455081
  return;
455068
455082
  }
455069
455083
  saveGlobalConfig(_temp325);
@@ -455748,12 +455762,12 @@ function LogoV2() {
455748
455762
  return t41;
455749
455763
  }
455750
455764
  function _temp325(current) {
455751
- if (current.lastReleaseNotesSeen === "1.74.0") {
455765
+ if (current.lastReleaseNotesSeen === "1.75.0") {
455752
455766
  return current;
455753
455767
  }
455754
455768
  return {
455755
455769
  ...current,
455756
- lastReleaseNotesSeen: "1.74.0"
455770
+ lastReleaseNotesSeen: "1.75.0"
455757
455771
  };
455758
455772
  }
455759
455773
  function _temp241(s_0) {
@@ -472567,7 +472581,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
472567
472581
  if (spec.name !== specName) {
472568
472582
  throw new Error("Agentic CI workflow spec name does not match");
472569
472583
  }
472570
- const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.74.0" : "1.74.0");
472584
+ const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.75.0" : "1.75.0");
472571
472585
  if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
472572
472586
  throw new Error("invalid ur-agent package version");
472573
472587
  }
@@ -473560,7 +473574,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
473560
473574
  path: ".github/workflows/ur.yml",
473561
473575
  root: "project",
473562
473576
  content: compileAgenticCiWorkflow("default", {
473563
- packageVersion: typeof MACRO !== "undefined" ? "1.74.0" : "1.74.0"
473577
+ packageVersion: typeof MACRO !== "undefined" ? "1.75.0" : "1.75.0"
473564
473578
  })
473565
473579
  },
473566
473580
  {
@@ -473623,7 +473637,7 @@ function value(tokens, flag) {
473623
473637
  return index2 >= 0 ? tokens[index2 + 1] : undefined;
473624
473638
  }
473625
473639
  function cliVersion() {
473626
- return typeof MACRO !== "undefined" ? "1.74.0" : "1.74.0";
473640
+ return typeof MACRO !== "undefined" ? "1.75.0" : "1.75.0";
473627
473641
  }
473628
473642
  function workflowPath(cwd2) {
473629
473643
  return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
@@ -479479,7 +479493,7 @@ function createAcpStdioApp(deps) {
479479
479493
  }
479480
479494
  },
479481
479495
  authMethods: [],
479482
- agentInfo: { name: "UR-Nexus", version: "1.74.0" }
479496
+ agentInfo: { name: "UR-Nexus", version: "1.75.0" }
479483
479497
  })).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
479484
479498
  const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
479485
479499
  await runtime2.announce({
@@ -479576,7 +479590,7 @@ function createAcpStdioAgent(deps) {
479576
479590
  }
479577
479591
  },
479578
479592
  authMethods: [],
479579
- agentInfo: { name: "UR-Nexus", version: "1.74.0" }
479593
+ agentInfo: { name: "UR-Nexus", version: "1.75.0" }
479580
479594
  });
479581
479595
  return;
479582
479596
  case "authenticate":
@@ -503028,7 +503042,7 @@ var init_code_index2 = __esm(() => {
503028
503042
 
503029
503043
  // node_modules/typescript/lib/typescript.js
503030
503044
  var require_typescript3 = __commonJS((exports, module) => {
503031
- var __dirname = "/sessions/optimistic-sharp-johnson/mnt/UR-1.65.0/node_modules/typescript/lib", __filename = "/sessions/optimistic-sharp-johnson/mnt/UR-1.65.0/node_modules/typescript/lib/typescript.js";
503045
+ var __dirname = "/Users/maith/Desktop/ur3-dev/UR-1.65.0/node_modules/typescript/lib", __filename = "/Users/maith/Desktop/ur3-dev/UR-1.65.0/node_modules/typescript/lib/typescript.js";
503032
503046
  /*! *****************************************************************************
503033
503047
  Copyright (c) Microsoft Corporation. All rights reserved.
503034
503048
  Licensed under the Apache License, Version 2.0 (the "License"); you may not use
@@ -689019,7 +689033,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
689019
689033
  smapsRollup,
689020
689034
  platform: process.platform,
689021
689035
  nodeVersion: process.version,
689022
- ccVersion: "1.74.0"
689036
+ ccVersion: "1.75.0"
689023
689037
  };
689024
689038
  }
689025
689039
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -689599,7 +689613,7 @@ var init_bridge_kick = __esm(() => {
689599
689613
  var call154 = async () => {
689600
689614
  return {
689601
689615
  type: "text",
689602
- value: "1.74.0"
689616
+ value: "1.75.0"
689603
689617
  };
689604
689618
  }, version2, version_default;
689605
689619
  var init_version = __esm(() => {
@@ -700840,7 +700854,7 @@ function generateHtmlReport(data, insights) {
700840
700854
  </html>`;
700841
700855
  }
700842
700856
  function buildExportData(data, insights, facets, remoteStats) {
700843
- const version3 = typeof MACRO !== "undefined" ? "1.74.0" : "unknown";
700857
+ const version3 = typeof MACRO !== "undefined" ? "1.75.0" : "unknown";
700844
700858
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
700845
700859
  const facets_summary = {
700846
700860
  total: facets.size,
@@ -705154,7 +705168,7 @@ var init_sessionStorage = __esm(() => {
705154
705168
  init_settings2();
705155
705169
  init_slowOperations();
705156
705170
  init_uuid();
705157
- VERSION7 = typeof MACRO !== "undefined" ? "1.74.0" : "unknown";
705171
+ VERSION7 = typeof MACRO !== "undefined" ? "1.75.0" : "unknown";
705158
705172
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
705159
705173
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
705160
705174
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -706369,7 +706383,7 @@ var init_filesystem = __esm(() => {
706369
706383
  });
706370
706384
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
706371
706385
  const nonce = randomBytes20(16).toString("hex");
706372
- return join232(getURTempDir(), "bundled-skills", "1.74.0", nonce);
706386
+ return join232(getURTempDir(), "bundled-skills", "1.75.0", nonce);
706373
706387
  });
706374
706388
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
706375
706389
  });
@@ -712672,7 +712686,7 @@ function computeFingerprint(messageText2, version3) {
712672
712686
  }
712673
712687
  function computeFingerprintFromMessages(messages) {
712674
712688
  const firstMessageText = extractFirstMessageText(messages);
712675
- return computeFingerprint(firstMessageText, "1.74.0");
712689
+ return computeFingerprint(firstMessageText, "1.75.0");
712676
712690
  }
712677
712691
  var FINGERPRINT_SALT = "59cf53e54c78";
712678
712692
  var init_fingerprint = () => {};
@@ -714568,7 +714582,7 @@ async function sideQuery(opts) {
714568
714582
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
714569
714583
  }
714570
714584
  const messageText2 = extractFirstUserMessageText(messages);
714571
- const fingerprint2 = computeFingerprint(messageText2, "1.74.0");
714585
+ const fingerprint2 = computeFingerprint(messageText2, "1.75.0");
714572
714586
  const attributionHeader = getAttributionHeader(fingerprint2);
714573
714587
  const systemBlocks = [
714574
714588
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -718962,10 +718976,16 @@ class QueryGuard {
718962
718976
  _status = "idle";
718963
718977
  _generation = 0;
718964
718978
  _changed = createSignal();
718979
+ _statusSince = 0;
718980
+ _now = () => Date.now();
718981
+ setClockForTests(now8) {
718982
+ this._now = now8;
718983
+ }
718965
718984
  reserve() {
718966
718985
  if (this._status !== "idle")
718967
718986
  return false;
718968
718987
  this._status = "dispatching";
718988
+ this._statusSince = this._now();
718969
718989
  this._notify();
718970
718990
  return true;
718971
718991
  }
@@ -718973,12 +718993,14 @@ class QueryGuard {
718973
718993
  if (this._status !== "dispatching")
718974
718994
  return;
718975
718995
  this._status = "idle";
718996
+ this._statusSince = this._now();
718976
718997
  this._notify();
718977
718998
  }
718978
718999
  tryStart() {
718979
719000
  if (this._status === "running")
718980
719001
  return null;
718981
719002
  this._status = "running";
719003
+ this._statusSince = this._now();
718982
719004
  ++this._generation;
718983
719005
  this._notify();
718984
719006
  return this._generation;
@@ -718989,6 +719011,7 @@ class QueryGuard {
718989
719011
  if (this._status !== "running")
718990
719012
  return false;
718991
719013
  this._status = "idle";
719014
+ this._statusSince = this._now();
718992
719015
  this._notify();
718993
719016
  return true;
718994
719017
  }
@@ -718996,12 +719019,32 @@ class QueryGuard {
718996
719019
  if (this._status === "idle")
718997
719020
  return;
718998
719021
  this._status = "idle";
719022
+ this._statusSince = this._now();
718999
719023
  ++this._generation;
719000
719024
  this._notify();
719001
719025
  }
719002
719026
  get isActive() {
719003
719027
  return this._status !== "idle";
719004
719028
  }
719029
+ get status() {
719030
+ return this._status;
719031
+ }
719032
+ heldForMs() {
719033
+ if (this._status === "idle")
719034
+ return 0;
719035
+ return Math.max(0, this._now() - this._statusSince);
719036
+ }
719037
+ isDispatchStuck(thresholdMs = DISPATCH_STUCK_MS) {
719038
+ return this._status === "dispatching" && this.heldForMs() >= thresholdMs;
719039
+ }
719040
+ releaseIfStuck(thresholdMs = DISPATCH_STUCK_MS) {
719041
+ if (!this.isDispatchStuck(thresholdMs))
719042
+ return false;
719043
+ this._status = "idle";
719044
+ this._statusSince = this._now();
719045
+ this._notify();
719046
+ return true;
719047
+ }
719005
719048
  get generation() {
719006
719049
  return this._generation;
719007
719050
  }
@@ -719013,6 +719056,7 @@ class QueryGuard {
719013
719056
  this._changed.emit();
719014
719057
  }
719015
719058
  }
719059
+ var DISPATCH_STUCK_MS = 120000;
719016
719060
  var init_QueryGuard = () => {};
719017
719061
 
719018
719062
  // src/components/permissions/WorkerBadge.tsx
@@ -719355,7 +719399,7 @@ function buildSystemInitMessage(inputs) {
719355
719399
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
719356
719400
  apiKeySource: getURHQApiKeyWithSource().source,
719357
719401
  betas: getSdkBetas(),
719358
- ur_version: "1.74.0",
719402
+ ur_version: "1.75.0",
719359
719403
  output_style: outputStyle2,
719360
719404
  agents: inputs.agents.map((agent2) => agent2.agentType),
719361
719405
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -733227,7 +733271,7 @@ var init_useVoiceEnabled = __esm(() => {
733227
733271
  function getSemverPart(version3) {
733228
733272
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
733229
733273
  }
733230
- function useUpdateNotification(updatedVersion, initialVersion = "1.74.0") {
733274
+ function useUpdateNotification(updatedVersion, initialVersion = "1.75.0") {
733231
733275
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react223.useState(() => getSemverPart(initialVersion));
733232
733276
  if (!updatedVersion) {
733233
733277
  return null;
@@ -733276,7 +733320,7 @@ function AutoUpdater({
733276
733320
  return;
733277
733321
  }
733278
733322
  if (false) {}
733279
- const currentVersion = "1.74.0";
733323
+ const currentVersion = "1.75.0";
733280
733324
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
733281
733325
  let latestVersion = await getLatestVersion(channel);
733282
733326
  const isDisabled = isAutoUpdaterDisabled();
@@ -733505,12 +733549,12 @@ function NativeAutoUpdater({
733505
733549
  logEvent("tengu_native_auto_updater_start", {});
733506
733550
  try {
733507
733551
  const maxVersion = await getMaxVersion();
733508
- if (maxVersion && gt("1.74.0", maxVersion)) {
733552
+ if (maxVersion && gt("1.75.0", maxVersion)) {
733509
733553
  const msg = await getMaxVersionMessage();
733510
733554
  setMaxVersionIssue(msg ?? "affects your version");
733511
733555
  }
733512
733556
  const result = await installLatest(channel);
733513
- const currentVersion = "1.74.0";
733557
+ const currentVersion = "1.75.0";
733514
733558
  const latencyMs = Date.now() - startTime;
733515
733559
  if (result.lockFailed) {
733516
733560
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -733647,17 +733691,17 @@ function PackageManagerAutoUpdater(t0) {
733647
733691
  const maxVersion = await getMaxVersion();
733648
733692
  if (maxVersion && latest && gt(latest, maxVersion)) {
733649
733693
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
733650
- if (gte("1.74.0", maxVersion)) {
733651
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.74.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
733694
+ if (gte("1.75.0", maxVersion)) {
733695
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.75.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
733652
733696
  setUpdateAvailable(false);
733653
733697
  return;
733654
733698
  }
733655
733699
  latest = maxVersion;
733656
733700
  }
733657
- const hasUpdate = latest && !gte("1.74.0", latest) && !shouldSkipVersion(latest);
733701
+ const hasUpdate = latest && !gte("1.75.0", latest) && !shouldSkipVersion(latest);
733658
733702
  setUpdateAvailable(!!hasUpdate);
733659
733703
  if (hasUpdate) {
733660
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.74.0"} -> ${latest}`);
733704
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.75.0"} -> ${latest}`);
733661
733705
  }
733662
733706
  };
733663
733707
  $2[0] = t1;
@@ -733691,7 +733735,7 @@ function PackageManagerAutoUpdater(t0) {
733691
733735
  wrap: "truncate",
733692
733736
  children: [
733693
733737
  "currentVersion: ",
733694
- "1.74.0"
733738
+ "1.75.0"
733695
733739
  ]
733696
733740
  }, undefined, true, undefined, this);
733697
733741
  $2[3] = verbose;
@@ -744490,7 +744534,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
744490
744534
  project_dir: getOriginalCwd(),
744491
744535
  added_dirs: addedDirs
744492
744536
  },
744493
- version: "1.74.0",
744537
+ version: "1.75.0",
744494
744538
  output_style: {
744495
744539
  name: outputStyleName
744496
744540
  },
@@ -744572,7 +744616,7 @@ function StatusLineInner({
744572
744616
  const activeTask = taskValues.find((task2) => task2.status === "running");
744573
744617
  const terminalSize = React132.useContext(TerminalSizeContext);
744574
744618
  const defaultStatusLineText = buildDefaultStatusBar({
744575
- version: "1.74.0",
744619
+ version: "1.75.0",
744576
744620
  providerLabel: providerRuntime.providerLabel,
744577
744621
  authMode: providerRuntime.authLabel,
744578
744622
  model: renderModelName(mainLoopModel) || providerRuntime.model || "",
@@ -753901,6 +753945,16 @@ function useQueueProcessor({
753901
753945
  }) {
753902
753946
  const isQueryActive = import_react273.useSyncExternalStore(queryGuard.subscribe, queryGuard.getSnapshot);
753903
753947
  const queueSnapshot = import_react273.useSyncExternalStore(subscribeToCommandQueue, getCommandQueueSnapshot);
753948
+ import_react273.useEffect(() => {
753949
+ if (queryGuard.status !== "dispatching")
753950
+ return;
753951
+ const timer = setInterval(() => {
753952
+ if (queryGuard.releaseIfStuck()) {
753953
+ logForDebugging(`QueryGuard reservation released after ${DISPATCH_STUCK_MS}ms with no query start; the dispatch chain did not reach onQuery.`);
753954
+ }
753955
+ }, DISPATCH_STUCK_CHECK_MS);
753956
+ return () => clearInterval(timer);
753957
+ }, [isQueryActive, queryGuard]);
753904
753958
  import_react273.useEffect(() => {
753905
753959
  if (isQueryActive)
753906
753960
  return;
@@ -753917,10 +753971,12 @@ function useQueueProcessor({
753917
753971
  queryGuard
753918
753972
  ]);
753919
753973
  }
753920
- var import_react273;
753974
+ var import_react273, DISPATCH_STUCK_CHECK_MS = 5000;
753921
753975
  var init_useQueueProcessor = __esm(() => {
753922
753976
  init_messageQueueManager();
753977
+ init_QueryGuard();
753923
753978
  init_queueProcessor();
753979
+ init_debug();
753924
753980
  import_react273 = __toESM(require_react(), 1);
753925
753981
  });
753926
753982
 
@@ -756757,7 +756813,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
756757
756813
  } catch {}
756758
756814
  const data = {
756759
756815
  trigger: trigger2,
756760
- version: "1.74.0",
756816
+ version: "1.75.0",
756761
756817
  platform: process.platform,
756762
756818
  transcript,
756763
756819
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -769122,7 +769178,7 @@ function WelcomeV2() {
769122
769178
  dimColor: true,
769123
769179
  children: [
769124
769180
  "v",
769125
- "1.74.0"
769181
+ "1.75.0"
769126
769182
  ]
769127
769183
  }, undefined, true, undefined, this)
769128
769184
  ]
@@ -770382,7 +770438,7 @@ function completeOnboarding() {
770382
770438
  saveGlobalConfig((current) => ({
770383
770439
  ...current,
770384
770440
  hasCompletedOnboarding: true,
770385
- lastOnboardingVersion: "1.74.0"
770441
+ lastOnboardingVersion: "1.75.0"
770386
770442
  }));
770387
770443
  }
770388
770444
  function showDialog(root2, renderer) {
@@ -775426,7 +775482,7 @@ function appendToLog(path24, message) {
775426
775482
  cwd: getFsImplementation().cwd(),
775427
775483
  userType: process.env.USER_TYPE,
775428
775484
  sessionId: getSessionId(),
775429
- version: "1.74.0"
775485
+ version: "1.75.0"
775430
775486
  };
775431
775487
  getLogWriter(path24).write(messageWithTimestamp);
775432
775488
  }
@@ -779585,8 +779641,8 @@ async function getEnvLessBridgeConfig() {
779585
779641
  }
779586
779642
  async function checkEnvLessBridgeMinVersion() {
779587
779643
  const cfg = await getEnvLessBridgeConfig();
779588
- if (cfg.min_version && lt("1.74.0", cfg.min_version)) {
779589
- return `Your version of UR (${"1.74.0"}) is too old for Remote Control.
779644
+ if (cfg.min_version && lt("1.75.0", cfg.min_version)) {
779645
+ return `Your version of UR (${"1.75.0"}) is too old for Remote Control.
779590
779646
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
779591
779647
  }
779592
779648
  return null;
@@ -780060,7 +780116,7 @@ async function initBridgeCore(params) {
780060
780116
  const rawApi = createBridgeApiClient({
780061
780117
  baseUrl,
780062
780118
  getAccessToken,
780063
- runnerVersion: "1.74.0",
780119
+ runnerVersion: "1.75.0",
780064
780120
  onDebug: logForDebugging,
780065
780121
  onAuth401,
780066
780122
  getTrustedDeviceToken
@@ -789533,7 +789589,7 @@ function getAgUiCapabilities() {
789533
789589
  name: "UR-Nexus",
789534
789590
  type: "ur-nexus",
789535
789591
  description: "Provider-flexible, local-first autonomous engineering workflow agent.",
789536
- version: "1.74.0",
789592
+ version: "1.75.0",
789537
789593
  provider: "UR",
789538
789594
  documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
789539
789595
  },
@@ -790673,7 +790729,7 @@ function createMCPServer(cwd4, debug2, verbose) {
790673
790729
  };
790674
790730
  const server2 = new Server({
790675
790731
  name: "ur-nexus",
790676
- version: "1.74.0"
790732
+ version: "1.75.0"
790677
790733
  }, {
790678
790734
  capabilities: {
790679
790735
  tools: {}
@@ -791831,7 +791887,7 @@ function thrownResponse(error40) {
791831
791887
  }
791832
791888
  async function createUrMcp2026Runtime(options4) {
791833
791889
  const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
791834
- const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.74.0" }, { capabilities: {} });
791890
+ const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.75.0" }, { capabilities: {} });
791835
791891
  const [clientTransport, serverTransport] = createLinkedTransportPair();
791836
791892
  try {
791837
791893
  await server2.connect(serverTransport);
@@ -791842,7 +791898,7 @@ async function createUrMcp2026Runtime(options4) {
791842
791898
  }
791843
791899
  const runtime2 = new Mcp2026Runtime({
791844
791900
  cwd: options4.cwd,
791845
- version: "1.74.0",
791901
+ version: "1.75.0",
791846
791902
  backend: {
791847
791903
  listTools: async () => {
791848
791904
  const listed = await client2.listTools();
@@ -793975,7 +794031,7 @@ async function update() {
793975
794031
  logEvent("tengu_update_check", {});
793976
794032
  const diagnostic2 = await getDoctorDiagnostic();
793977
794033
  const result = await checkUpgradeStatus({
793978
- currentVersion: "1.74.0",
794034
+ currentVersion: "1.75.0",
793979
794035
  packageName: UR_AGENT_PACKAGE_NAME,
793980
794036
  installationType: diagnostic2.installationType,
793981
794037
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -795291,7 +795347,7 @@ ${customInstructions}` : customInstructions;
795291
795347
  }
795292
795348
  }
795293
795349
  logForDiagnosticsNoPII("info", "started", {
795294
- version: "1.74.0",
795350
+ version: "1.75.0",
795295
795351
  is_native_binary: isInBundledMode()
795296
795352
  });
795297
795353
  registerCleanup(async () => {
@@ -796077,7 +796133,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
796077
796133
  pendingHookMessages
796078
796134
  }, renderAndRun);
796079
796135
  }
796080
- }).version("1.74.0 (UR-Nexus)", "-v, --version", "Output the version number");
796136
+ }).version("1.75.0 (UR-Nexus)", "-v, --version", "Output the version number");
796081
796137
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
796082
796138
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
796083
796139
  if (canUserConfigureAdvisor()) {
@@ -797129,7 +797185,7 @@ if (false) {}
797129
797185
  async function main2() {
797130
797186
  const args = process.argv.slice(2);
797131
797187
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
797132
- console.log(`${"1.74.0"} (UR-Nexus)`);
797188
+ console.log(`${"1.75.0"} (UR-Nexus)`);
797133
797189
  return;
797134
797190
  }
797135
797191
  if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
@@ -19,7 +19,7 @@ You need:
19
19
 
20
20
  ```sh
21
21
  ur --version
22
- # expected for this release: "1.74.0 (UR-Nexus)"
22
+ # expected for this release: "1.75.0 (UR-Nexus)"
23
23
  ```
24
24
 
25
25
  ## 0.1 First-workspace model selection (1.45.4)
@@ -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.74.0</p>
48
+ <p class="eyebrow">Version 1.75.0</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.74.0"
10
+ version = "1.75.0"
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.74.0",
5
+ "version": "1.75.0",
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.74.0",
3
+ "version": "1.75.0",
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",