ur-agent 1.68.3 → 1.68.4

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,22 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.68.4
4
+
5
+ - The status line now reports subagents running in the current turn:
6
+ `agents: 2 running`, separate from the existing background `tasks:` count.
7
+ `isBackgroundTask()` excludes foreground entries on purpose — it was narrowed
8
+ to stop stale ratios like `tasks: 0/4 active` outliving the work — but nothing
9
+ counted them instead, so while subagents ran the bar said nothing at all,
10
+ which is the one moment the number matters.
11
+ - Counted conservatively on purpose: a pending agent is not reported as running,
12
+ a backgrounded agent is not counted twice across both numbers, a foreground
13
+ shell is not labelled an agent, and zero renders nothing rather than
14
+ `agents: 0`. A wrong number in a status line is worse than a missing one.
15
+ - No tool count was added. A `toolCount` field was drafted and then removed
16
+ rather than shipped unpopulated; a meaningful count of in-flight tool calls
17
+ needs hooks into tool execution, and a static "tools registered" total is
18
+ noise.
19
+
3
20
  ## 1.68.3
4
21
 
5
22
  - `Ollama request failed (400): http: request body too large` now explains
package/dist/cli.js CHANGED
@@ -75669,7 +75669,7 @@ var init_auth = __esm(() => {
75669
75669
 
75670
75670
  // src/utils/userAgent.ts
75671
75671
  function getURCodeUserAgent() {
75672
- return `ur/${"1.68.3"}`;
75672
+ return `ur/${"1.68.4"}`;
75673
75673
  }
75674
75674
 
75675
75675
  // src/utils/workloadContext.ts
@@ -75691,7 +75691,7 @@ function getUserAgent() {
75691
75691
  const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
75692
75692
  const workload = getWorkload();
75693
75693
  const workloadSuffix = workload ? `, workload/${workload}` : "";
75694
- return `ur-cli/${"1.68.3"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
75694
+ return `ur-cli/${"1.68.4"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
75695
75695
  }
75696
75696
  function getMCPUserAgent() {
75697
75697
  const parts = [];
@@ -75705,7 +75705,7 @@ function getMCPUserAgent() {
75705
75705
  parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
75706
75706
  }
75707
75707
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
75708
- return `ur/${"1.68.3"}${suffix}`;
75708
+ return `ur/${"1.68.4"}${suffix}`;
75709
75709
  }
75710
75710
  function getWebFetchUserAgent() {
75711
75711
  return `UR-User (${getURCodeUserAgent()})`;
@@ -75843,7 +75843,7 @@ var init_user = __esm(() => {
75843
75843
  deviceId,
75844
75844
  sessionId: getSessionId(),
75845
75845
  email: getEmail(),
75846
- appVersion: "1.68.3",
75846
+ appVersion: "1.68.4",
75847
75847
  platform: getHostPlatformForAnalytics(),
75848
75848
  organizationUuid,
75849
75849
  accountUuid,
@@ -84043,7 +84043,7 @@ var init_metadata = __esm(() => {
84043
84043
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
84044
84044
  WHITESPACE_REGEX = /\s+/;
84045
84045
  getVersionBase = memoize_default(() => {
84046
- const match = "1.68.3".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
84046
+ const match = "1.68.4".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
84047
84047
  return match ? match[0] : undefined;
84048
84048
  });
84049
84049
  buildEnvContext = memoize_default(async () => {
@@ -84083,7 +84083,7 @@ var init_metadata = __esm(() => {
84083
84083
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
84084
84084
  isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
84085
84085
  isURAiAuth: isURAISubscriber(),
84086
- version: "1.68.3",
84086
+ version: "1.68.4",
84087
84087
  versionBase: getVersionBase(),
84088
84088
  buildTime: "",
84089
84089
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
@@ -84753,7 +84753,7 @@ function initialize1PEventLogging() {
84753
84753
  const platform2 = getPlatform();
84754
84754
  const attributes = {
84755
84755
  [import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
84756
- [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.68.3"
84756
+ [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.68.4"
84757
84757
  };
84758
84758
  if (platform2 === "wsl") {
84759
84759
  const wslVersion = getWslVersion();
@@ -84781,7 +84781,7 @@ function initialize1PEventLogging() {
84781
84781
  })
84782
84782
  ]
84783
84783
  });
84784
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.68.3");
84784
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.68.4");
84785
84785
  }
84786
84786
  async function reinitialize1PEventLoggingIfConfigChanged() {
84787
84787
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -94669,7 +94669,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
94669
94669
  function formatA2AAgentCard(options = {}, pretty = true) {
94670
94670
  return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
94671
94671
  }
94672
- var urVersion = "1.68.3", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
94672
+ var urVersion = "1.68.4", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
94673
94673
  var init_trends = __esm(() => {
94674
94674
  init_a2aCardSignature();
94675
94675
  coverage = [
@@ -97472,7 +97472,7 @@ function getAttributionHeader(fingerprint) {
97472
97472
  if (!isAttributionHeaderEnabled()) {
97473
97473
  return "";
97474
97474
  }
97475
- const version2 = `${"1.68.3"}.${fingerprint}`;
97475
+ const version2 = `${"1.68.4"}.${fingerprint}`;
97476
97476
  const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
97477
97477
  const cch = "";
97478
97478
  const workload = getWorkload();
@@ -155345,7 +155345,7 @@ var init_projectSafety = __esm(() => {
155345
155345
  function getInstruments() {
155346
155346
  if (instruments)
155347
155347
  return instruments;
155348
- const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.68.3");
155348
+ const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.68.4");
155349
155349
  instruments = {
155350
155350
  operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
155351
155351
  description: "GenAI operation duration.",
@@ -155443,7 +155443,7 @@ function genAiAgentAttributes() {
155443
155443
  "gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
155444
155444
  "gen_ai.provider.name": "ur",
155445
155445
  "gen_ai.agent.name": "UR-Nexus",
155446
- "gen_ai.agent.version": "1.68.3"
155446
+ "gen_ai.agent.version": "1.68.4"
155447
155447
  };
155448
155448
  }
155449
155449
  function genAiWorkflowAttributes(workflowName) {
@@ -155459,7 +155459,7 @@ function genAiWorkflowAttributes(workflowName) {
155459
155459
  function startGenAiWorkflowSpan(workflowName) {
155460
155460
  const attributes = genAiWorkflowAttributes(workflowName);
155461
155461
  const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
155462
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.68.3").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
155462
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.68.4").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
155463
155463
  }
155464
155464
  function endGenAiWorkflowSpan(span, options2 = {}) {
155465
155465
  try {
@@ -155497,7 +155497,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
155497
155497
  if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
155498
155498
  attributes["gen_ai.memory.record.count"] = options2.recordCount;
155499
155499
  }
155500
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.68.3").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
155500
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.68.4").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
155501
155501
  }
155502
155502
  function endGenAiMemorySpan(span, options2 = {}) {
155503
155503
  try {
@@ -248980,7 +248980,7 @@ function getTelemetryAttributes() {
248980
248980
  attributes["session.id"] = sessionId;
248981
248981
  }
248982
248982
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
248983
- attributes["app.version"] = "1.68.3";
248983
+ attributes["app.version"] = "1.68.4";
248984
248984
  }
248985
248985
  const oauthAccount = getOauthAccountInfo();
248986
248986
  if (oauthAccount) {
@@ -295460,7 +295460,7 @@ function getInstallationEnv() {
295460
295460
  return;
295461
295461
  }
295462
295462
  function getURCodeVersion() {
295463
- return "1.68.3";
295463
+ return "1.68.4";
295464
295464
  }
295465
295465
  async function getInstalledVSCodeExtensionVersion(command) {
295466
295466
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -302791,7 +302791,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
302791
302791
  const client2 = new Client({
302792
302792
  name: "ur",
302793
302793
  title: "UR",
302794
- version: "1.68.3",
302794
+ version: "1.68.4",
302795
302795
  description: "UR-Nexus autonomous engineering workflow engine",
302796
302796
  websiteUrl: PRODUCT_URL
302797
302797
  }, {
@@ -303151,7 +303151,7 @@ var init_client5 = __esm(() => {
303151
303151
  const client2 = new Client({
303152
303152
  name: "ur",
303153
303153
  title: "UR",
303154
- version: "1.68.3",
303154
+ version: "1.68.4",
303155
303155
  description: "UR-Nexus autonomous engineering workflow engine",
303156
303156
  websiteUrl: PRODUCT_URL
303157
303157
  }, {
@@ -315690,7 +315690,7 @@ async function createRuntime() {
315690
315690
  bootstrapTelemetry();
315691
315691
  const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
315692
315692
  [import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
315693
- [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.68.3"
315693
+ [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.68.4"
315694
315694
  }));
315695
315695
  const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
315696
315696
  resource,
@@ -315723,11 +315723,11 @@ async function createRuntime() {
315723
315723
  setMeterProvider(meterProvider);
315724
315724
  setLoggerProvider(loggerProvider);
315725
315725
  if (meterProvider) {
315726
- const meter = meterProvider.getMeter("ur-agent", "1.68.3");
315726
+ const meter = meterProvider.getMeter("ur-agent", "1.68.4");
315727
315727
  setMeter(meter, (name, options2) => meter.createCounter(name, options2));
315728
315728
  }
315729
315729
  if (loggerProvider) {
315730
- setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.68.3"));
315730
+ setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.68.4"));
315731
315731
  }
315732
315732
  if (!cleanupRegistered2) {
315733
315733
  cleanupRegistered2 = true;
@@ -316389,9 +316389,9 @@ async function assertMinVersion() {
316389
316389
  if (false) {}
316390
316390
  try {
316391
316391
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
316392
- if (versionConfig.minVersion && lt("1.68.3", versionConfig.minVersion)) {
316392
+ if (versionConfig.minVersion && lt("1.68.4", versionConfig.minVersion)) {
316393
316393
  console.error(`
316394
- It looks like your version of UR (${"1.68.3"}) needs an update.
316394
+ It looks like your version of UR (${"1.68.4"}) needs an update.
316395
316395
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
316396
316396
 
316397
316397
  To update, please run:
@@ -316607,7 +316607,7 @@ async function installGlobalPackage(specificVersion) {
316607
316607
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
316608
316608
  logEvent("tengu_auto_updater_lock_contention", {
316609
316609
  pid: process.pid,
316610
- currentVersion: "1.68.3"
316610
+ currentVersion: "1.68.4"
316611
316611
  });
316612
316612
  return "in_progress";
316613
316613
  }
@@ -316616,7 +316616,7 @@ async function installGlobalPackage(specificVersion) {
316616
316616
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
316617
316617
  logError2(new Error("Windows NPM detected in WSL environment"));
316618
316618
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
316619
- currentVersion: "1.68.3"
316619
+ currentVersion: "1.68.4"
316620
316620
  });
316621
316621
  console.error(`
316622
316622
  Error: Windows NPM detected in WSL
@@ -317151,7 +317151,7 @@ function detectLinuxGlobPatternWarnings() {
317151
317151
  }
317152
317152
  async function getDoctorDiagnostic() {
317153
317153
  const installationType = await getCurrentInstallationType();
317154
- const version2 = typeof MACRO !== "undefined" ? "1.68.3" : "unknown";
317154
+ const version2 = typeof MACRO !== "undefined" ? "1.68.4" : "unknown";
317155
317155
  const installationPath = await getInstallationPath();
317156
317156
  const invokedBinary = getInvokedBinary();
317157
317157
  const multipleInstallations = await detectMultipleInstallations();
@@ -318086,8 +318086,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
318086
318086
  const maxVersion = await getMaxVersion();
318087
318087
  if (maxVersion && gt(version2, maxVersion)) {
318088
318088
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
318089
- if (gte("1.68.3", maxVersion)) {
318090
- logForDebugging(`Native installer: current version ${"1.68.3"} is already at or above maxVersion ${maxVersion}, skipping update`);
318089
+ if (gte("1.68.4", maxVersion)) {
318090
+ logForDebugging(`Native installer: current version ${"1.68.4"} is already at or above maxVersion ${maxVersion}, skipping update`);
318091
318091
  logEvent("tengu_native_update_skipped_max_version", {
318092
318092
  latency_ms: Date.now() - startTime,
318093
318093
  max_version: maxVersion,
@@ -318098,7 +318098,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
318098
318098
  version2 = maxVersion;
318099
318099
  }
318100
318100
  }
318101
- if (!forceReinstall && version2 === "1.68.3" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
318101
+ if (!forceReinstall && version2 === "1.68.4" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
318102
318102
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
318103
318103
  logEvent("tengu_native_update_complete", {
318104
318104
  latency_ms: Date.now() - startTime,
@@ -388309,7 +388309,7 @@ function isAnyTracingEnabled() {
388309
388309
  return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
388310
388310
  }
388311
388311
  function getTracer() {
388312
- return import_api39.trace.getTracer("ur-agent.gen_ai", "1.68.3");
388312
+ return import_api39.trace.getTracer("ur-agent.gen_ai", "1.68.4");
388313
388313
  }
388314
388314
  function createSpanAttributes(spanType, customAttributes = {}) {
388315
388315
  const baseAttributes = getTelemetryAttributes();
@@ -419553,7 +419553,7 @@ function Feedback({
419553
419553
  platform: env2.platform,
419554
419554
  gitRepo: envInfo.isGit,
419555
419555
  terminal: env2.terminal,
419556
- version: "1.68.3",
419556
+ version: "1.68.4",
419557
419557
  transcript: normalizeMessagesForAPI(messages),
419558
419558
  errors: sanitizedErrors,
419559
419559
  lastApiRequest: getLastAPIRequest(),
@@ -419745,7 +419745,7 @@ function Feedback({
419745
419745
  ", ",
419746
419746
  env2.terminal,
419747
419747
  ", v",
419748
- "1.68.3"
419748
+ "1.68.4"
419749
419749
  ]
419750
419750
  }, undefined, true, undefined, this)
419751
419751
  ]
@@ -419851,7 +419851,7 @@ ${sanitizedDescription}
419851
419851
  ` + `**Environment Info**
419852
419852
  ` + `- Platform: ${env2.platform}
419853
419853
  ` + `- Terminal: ${env2.terminal}
419854
- ` + `- Version: ${"1.68.3"}
419854
+ ` + `- Version: ${"1.68.4"}
419855
419855
  ` + `- Feedback ID: ${feedbackId}
419856
419856
  ` + `
419857
419857
  **Errors**
@@ -422961,7 +422961,7 @@ function buildPrimarySection() {
422961
422961
  }, undefined, false, undefined, this);
422962
422962
  return [{
422963
422963
  label: "Version",
422964
- value: "1.68.3"
422964
+ value: "1.68.4"
422965
422965
  }, {
422966
422966
  label: "Session name",
422967
422967
  value: nameValue
@@ -426291,7 +426291,7 @@ function Config({
426291
426291
  }
426292
426292
  }, undefined, false, undefined, this)
426293
426293
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
426294
- currentVersion: "1.68.3",
426294
+ currentVersion: "1.68.4",
426295
426295
  onChoice: (choice) => {
426296
426296
  setShowSubmenu(null);
426297
426297
  setTabsHidden(false);
@@ -426303,7 +426303,7 @@ function Config({
426303
426303
  autoUpdatesChannel: "stable"
426304
426304
  };
426305
426305
  if (choice === "stay") {
426306
- newSettings.minimumVersion = "1.68.3";
426306
+ newSettings.minimumVersion = "1.68.4";
426307
426307
  }
426308
426308
  updateSettingsForSource("userSettings", newSettings);
426309
426309
  setSettingsData((prev_27) => ({
@@ -434377,7 +434377,7 @@ function HelpV2(t0) {
434377
434377
  let t6;
434378
434378
  if ($2[31] !== tabs) {
434379
434379
  t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
434380
- title: `UR v${"1.68.3"}`,
434380
+ title: `UR v${"1.68.4"}`,
434381
434381
  color: "professionalBlue",
434382
434382
  defaultTab: "general",
434383
434383
  children: tabs
@@ -435310,7 +435310,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
435310
435310
  async function handleInitialize(options2) {
435311
435311
  return {
435312
435312
  name: "UR",
435313
- version: "1.68.3",
435313
+ version: "1.68.4",
435314
435314
  protocolVersion: "0.1.0",
435315
435315
  workspaceRoot: options2.cwd,
435316
435316
  capabilities: {
@@ -452418,7 +452418,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
452418
452418
  return [];
452419
452419
  }
452420
452420
  }
452421
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.68.3") {
452421
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.68.4") {
452422
452422
  if (process.env.USER_TYPE === "ant") {
452423
452423
  const changelog = "";
452424
452424
  if (changelog) {
@@ -452445,7 +452445,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.68.3")
452445
452445
  releaseNotes
452446
452446
  };
452447
452447
  }
452448
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.68.3") {
452448
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.68.4") {
452449
452449
  if (process.env.USER_TYPE === "ant") {
452450
452450
  const changelog = "";
452451
452451
  if (changelog) {
@@ -455311,7 +455311,7 @@ function getRecentActivitySync() {
455311
455311
  return cachedActivity;
455312
455312
  }
455313
455313
  function getLogoDisplayData() {
455314
- const version2 = process.env.DEMO_VERSION ?? "1.68.3";
455314
+ const version2 = process.env.DEMO_VERSION ?? "1.68.4";
455315
455315
  const serverUrl = getDirectConnectServerUrl();
455316
455316
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
455317
455317
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -456178,7 +456178,7 @@ function LogoV2() {
456178
456178
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
456179
456179
  t2 = () => {
456180
456180
  const currentConfig2 = getGlobalConfig();
456181
- if (currentConfig2.lastReleaseNotesSeen === "1.68.3") {
456181
+ if (currentConfig2.lastReleaseNotesSeen === "1.68.4") {
456182
456182
  return;
456183
456183
  }
456184
456184
  saveGlobalConfig(_temp325);
@@ -456863,12 +456863,12 @@ function LogoV2() {
456863
456863
  return t41;
456864
456864
  }
456865
456865
  function _temp325(current) {
456866
- if (current.lastReleaseNotesSeen === "1.68.3") {
456866
+ if (current.lastReleaseNotesSeen === "1.68.4") {
456867
456867
  return current;
456868
456868
  }
456869
456869
  return {
456870
456870
  ...current,
456871
- lastReleaseNotesSeen: "1.68.3"
456871
+ lastReleaseNotesSeen: "1.68.4"
456872
456872
  };
456873
456873
  }
456874
456874
  function _temp241(s_0) {
@@ -473814,7 +473814,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
473814
473814
  if (spec.name !== specName) {
473815
473815
  throw new Error("Agentic CI workflow spec name does not match");
473816
473816
  }
473817
- const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.68.3" : "1.68.3");
473817
+ const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.68.4" : "1.68.4");
473818
473818
  if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
473819
473819
  throw new Error("invalid ur-agent package version");
473820
473820
  }
@@ -474807,7 +474807,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
474807
474807
  path: ".github/workflows/ur.yml",
474808
474808
  root: "project",
474809
474809
  content: compileAgenticCiWorkflow("default", {
474810
- packageVersion: typeof MACRO !== "undefined" ? "1.68.3" : "1.68.3"
474810
+ packageVersion: typeof MACRO !== "undefined" ? "1.68.4" : "1.68.4"
474811
474811
  })
474812
474812
  },
474813
474813
  {
@@ -474877,7 +474877,7 @@ function value(tokens, flag) {
474877
474877
  return index2 >= 0 ? tokens[index2 + 1] : undefined;
474878
474878
  }
474879
474879
  function cliVersion() {
474880
- return typeof MACRO !== "undefined" ? "1.68.3" : "1.68.3";
474880
+ return typeof MACRO !== "undefined" ? "1.68.4" : "1.68.4";
474881
474881
  }
474882
474882
  function workflowPath(cwd2) {
474883
474883
  return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
@@ -480742,7 +480742,7 @@ function createAcpStdioApp(deps) {
480742
480742
  }
480743
480743
  },
480744
480744
  authMethods: [],
480745
- agentInfo: { name: "UR-Nexus", version: "1.68.3" }
480745
+ agentInfo: { name: "UR-Nexus", version: "1.68.4" }
480746
480746
  })).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
480747
480747
  const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
480748
480748
  await runtime2.announce({
@@ -480839,7 +480839,7 @@ function createAcpStdioAgent(deps) {
480839
480839
  }
480840
480840
  },
480841
480841
  authMethods: [],
480842
- agentInfo: { name: "UR-Nexus", version: "1.68.3" }
480842
+ agentInfo: { name: "UR-Nexus", version: "1.68.4" }
480843
480843
  });
480844
480844
  return;
480845
480845
  case "authenticate":
@@ -691999,7 +691999,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
691999
691999
  smapsRollup,
692000
692000
  platform: process.platform,
692001
692001
  nodeVersion: process.version,
692002
- ccVersion: "1.68.3"
692002
+ ccVersion: "1.68.4"
692003
692003
  };
692004
692004
  }
692005
692005
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -692579,7 +692579,7 @@ var init_bridge_kick = __esm(() => {
692579
692579
  var call153 = async () => {
692580
692580
  return {
692581
692581
  type: "text",
692582
- value: "1.68.3"
692582
+ value: "1.68.4"
692583
692583
  };
692584
692584
  }, version2, version_default;
692585
692585
  var init_version = __esm(() => {
@@ -703759,7 +703759,7 @@ function generateHtmlReport(data, insights) {
703759
703759
  </html>`;
703760
703760
  }
703761
703761
  function buildExportData(data, insights, facets, remoteStats) {
703762
- const version3 = typeof MACRO !== "undefined" ? "1.68.3" : "unknown";
703762
+ const version3 = typeof MACRO !== "undefined" ? "1.68.4" : "unknown";
703763
703763
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
703764
703764
  const facets_summary = {
703765
703765
  total: facets.size,
@@ -708086,7 +708086,7 @@ var init_sessionStorage = __esm(() => {
708086
708086
  init_settings2();
708087
708087
  init_slowOperations();
708088
708088
  init_uuid();
708089
- VERSION7 = typeof MACRO !== "undefined" ? "1.68.3" : "unknown";
708089
+ VERSION7 = typeof MACRO !== "undefined" ? "1.68.4" : "unknown";
708090
708090
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
708091
708091
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
708092
708092
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -709303,7 +709303,7 @@ var init_filesystem = __esm(() => {
709303
709303
  });
709304
709304
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
709305
709305
  const nonce = randomBytes20(16).toString("hex");
709306
- return join230(getURTempDir(), "bundled-skills", "1.68.3", nonce);
709306
+ return join230(getURTempDir(), "bundled-skills", "1.68.4", nonce);
709307
709307
  });
709308
709308
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
709309
709309
  });
@@ -715609,7 +715609,7 @@ function computeFingerprint(messageText2, version3) {
715609
715609
  }
715610
715610
  function computeFingerprintFromMessages(messages) {
715611
715611
  const firstMessageText = extractFirstMessageText(messages);
715612
- return computeFingerprint(firstMessageText, "1.68.3");
715612
+ return computeFingerprint(firstMessageText, "1.68.4");
715613
715613
  }
715614
715614
  var FINGERPRINT_SALT = "59cf53e54c78";
715615
715615
  var init_fingerprint = () => {};
@@ -717508,7 +717508,7 @@ async function sideQuery(opts) {
717508
717508
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
717509
717509
  }
717510
717510
  const messageText2 = extractFirstUserMessageText(messages);
717511
- const fingerprint2 = computeFingerprint(messageText2, "1.68.3");
717511
+ const fingerprint2 = computeFingerprint(messageText2, "1.68.4");
717512
717512
  const attributionHeader = getAttributionHeader(fingerprint2);
717513
717513
  const systemBlocks = [
717514
717514
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -722295,7 +722295,7 @@ function buildSystemInitMessage(inputs) {
722295
722295
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
722296
722296
  apiKeySource: getURHQApiKeyWithSource().source,
722297
722297
  betas: getSdkBetas(),
722298
- ur_version: "1.68.3",
722298
+ ur_version: "1.68.4",
722299
722299
  output_style: outputStyle2,
722300
722300
  agents: inputs.agents.map((agent2) => agent2.agentType),
722301
722301
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -736246,7 +736246,7 @@ var init_useVoiceEnabled = __esm(() => {
736246
736246
  function getSemverPart(version3) {
736247
736247
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
736248
736248
  }
736249
- function useUpdateNotification(updatedVersion, initialVersion = "1.68.3") {
736249
+ function useUpdateNotification(updatedVersion, initialVersion = "1.68.4") {
736250
736250
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react222.useState(() => getSemverPart(initialVersion));
736251
736251
  if (!updatedVersion) {
736252
736252
  return null;
@@ -736295,7 +736295,7 @@ function AutoUpdater({
736295
736295
  return;
736296
736296
  }
736297
736297
  if (false) {}
736298
- const currentVersion = "1.68.3";
736298
+ const currentVersion = "1.68.4";
736299
736299
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
736300
736300
  let latestVersion = await getLatestVersion(channel);
736301
736301
  const isDisabled = isAutoUpdaterDisabled();
@@ -736524,12 +736524,12 @@ function NativeAutoUpdater({
736524
736524
  logEvent("tengu_native_auto_updater_start", {});
736525
736525
  try {
736526
736526
  const maxVersion = await getMaxVersion();
736527
- if (maxVersion && gt("1.68.3", maxVersion)) {
736527
+ if (maxVersion && gt("1.68.4", maxVersion)) {
736528
736528
  const msg = await getMaxVersionMessage();
736529
736529
  setMaxVersionIssue(msg ?? "affects your version");
736530
736530
  }
736531
736531
  const result = await installLatest(channel);
736532
- const currentVersion = "1.68.3";
736532
+ const currentVersion = "1.68.4";
736533
736533
  const latencyMs = Date.now() - startTime;
736534
736534
  if (result.lockFailed) {
736535
736535
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -736666,17 +736666,17 @@ function PackageManagerAutoUpdater(t0) {
736666
736666
  const maxVersion = await getMaxVersion();
736667
736667
  if (maxVersion && latest && gt(latest, maxVersion)) {
736668
736668
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
736669
- if (gte("1.68.3", maxVersion)) {
736670
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.68.3"} is already at or above maxVersion ${maxVersion}, skipping update`);
736669
+ if (gte("1.68.4", maxVersion)) {
736670
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.68.4"} is already at or above maxVersion ${maxVersion}, skipping update`);
736671
736671
  setUpdateAvailable(false);
736672
736672
  return;
736673
736673
  }
736674
736674
  latest = maxVersion;
736675
736675
  }
736676
- const hasUpdate = latest && !gte("1.68.3", latest) && !shouldSkipVersion(latest);
736676
+ const hasUpdate = latest && !gte("1.68.4", latest) && !shouldSkipVersion(latest);
736677
736677
  setUpdateAvailable(!!hasUpdate);
736678
736678
  if (hasUpdate) {
736679
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.68.3"} -> ${latest}`);
736679
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.68.4"} -> ${latest}`);
736680
736680
  }
736681
736681
  };
736682
736682
  $2[0] = t1;
@@ -736710,7 +736710,7 @@ function PackageManagerAutoUpdater(t0) {
736710
736710
  wrap: "truncate",
736711
736711
  children: [
736712
736712
  "currentVersion: ",
736713
- "1.68.3"
736713
+ "1.68.4"
736714
736714
  ]
736715
736715
  }, undefined, true, undefined, this);
736716
736716
  $2[3] = verbose;
@@ -747250,6 +747250,19 @@ function countActiveBackgroundTasks(tasks2) {
747250
747250
  }
747251
747251
  return active3;
747252
747252
  }
747253
+ function countActiveForegroundAgents(tasks2) {
747254
+ let active3 = 0;
747255
+ for (const task2 of tasks2) {
747256
+ if (task2.status !== "running")
747257
+ continue;
747258
+ if (!("isBackgrounded" in task2) || task2.isBackgrounded !== false)
747259
+ continue;
747260
+ if (!String(task2.type ?? "").includes("agent"))
747261
+ continue;
747262
+ active3 += 1;
747263
+ }
747264
+ return active3;
747265
+ }
747253
747266
  function statusBarShouldDisplay({
747254
747267
  settingsStatusLineConfigured,
747255
747268
  isKairosActive,
@@ -747277,6 +747290,7 @@ function buildDefaultStatusBar({
747277
747290
  branch: branch2,
747278
747291
  taskRunningCount = 0,
747279
747292
  taskTotalCount = 0,
747293
+ agentRunningCount = 0,
747280
747294
  checksStatus,
747281
747295
  latestVersion,
747282
747296
  isCheckingUpdate
@@ -747285,6 +747299,9 @@ function buildDefaultStatusBar({
747285
747299
  if (model) {
747286
747300
  parts.push(model);
747287
747301
  }
747302
+ if (agentRunningCount > 0) {
747303
+ parts.push(`agents: ${agentRunningCount} running`);
747304
+ }
747288
747305
  if (taskRunningCount > 0) {
747289
747306
  parts.push(taskTotalCount > taskRunningCount ? `tasks: ${taskRunningCount}/${taskTotalCount} active` : `tasks: ${taskRunningCount} active`);
747290
747307
  }
@@ -747403,7 +747420,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
747403
747420
  project_dir: getOriginalCwd(),
747404
747421
  added_dirs: addedDirs
747405
747422
  },
747406
- version: "1.68.3",
747423
+ version: "1.68.4",
747407
747424
  output_style: {
747408
747425
  name: outputStyleName
747409
747426
  },
@@ -747480,14 +747497,16 @@ function StatusLineInner({
747480
747497
  const providerRuntimeKey = buildStatusLineRefreshKey(providerRuntime, mainLoopModel);
747481
747498
  const taskValues = Object.values(tasks2);
747482
747499
  const taskRunningCount = countActiveBackgroundTasks(taskValues);
747500
+ const agentRunningCount = countActiveForegroundAgents(taskValues);
747483
747501
  const defaultStatusLineText = buildDefaultStatusBar({
747484
- version: "1.68.3",
747502
+ version: "1.68.4",
747485
747503
  providerLabel: providerRuntime.providerLabel,
747486
747504
  authMode: providerRuntime.authLabel,
747487
747505
  model: renderModelName(mainLoopModel) || providerRuntime.model || "",
747488
747506
  mode: permissionMode,
747489
747507
  branch: branch2,
747490
747508
  taskRunningCount,
747509
+ agentRunningCount,
747491
747510
  latestVersion: autoUpdaterResult?.status === "success" ? null : autoUpdaterResult?.version,
747492
747511
  isCheckingUpdate: isAutoUpdating
747493
747512
  });
@@ -759661,7 +759680,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
759661
759680
  } catch {}
759662
759681
  const data = {
759663
759682
  trigger: trigger2,
759664
- version: "1.68.3",
759683
+ version: "1.68.4",
759665
759684
  platform: process.platform,
759666
759685
  transcript,
759667
759686
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -772029,7 +772048,7 @@ function WelcomeV2() {
772029
772048
  dimColor: true,
772030
772049
  children: [
772031
772050
  "v",
772032
- "1.68.3"
772051
+ "1.68.4"
772033
772052
  ]
772034
772053
  }, undefined, true, undefined, this)
772035
772054
  ]
@@ -773289,7 +773308,7 @@ function completeOnboarding() {
773289
773308
  saveGlobalConfig((current) => ({
773290
773309
  ...current,
773291
773310
  hasCompletedOnboarding: true,
773292
- lastOnboardingVersion: "1.68.3"
773311
+ lastOnboardingVersion: "1.68.4"
773293
773312
  }));
773294
773313
  }
773295
773314
  function showDialog(root2, renderer) {
@@ -778333,7 +778352,7 @@ function appendToLog(path24, message) {
778333
778352
  cwd: getFsImplementation().cwd(),
778334
778353
  userType: process.env.USER_TYPE,
778335
778354
  sessionId: getSessionId(),
778336
- version: "1.68.3"
778355
+ version: "1.68.4"
778337
778356
  };
778338
778357
  getLogWriter(path24).write(messageWithTimestamp);
778339
778358
  }
@@ -782497,8 +782516,8 @@ async function getEnvLessBridgeConfig() {
782497
782516
  }
782498
782517
  async function checkEnvLessBridgeMinVersion() {
782499
782518
  const cfg = await getEnvLessBridgeConfig();
782500
- if (cfg.min_version && lt("1.68.3", cfg.min_version)) {
782501
- return `Your version of UR (${"1.68.3"}) is too old for Remote Control.
782519
+ if (cfg.min_version && lt("1.68.4", cfg.min_version)) {
782520
+ return `Your version of UR (${"1.68.4"}) is too old for Remote Control.
782502
782521
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
782503
782522
  }
782504
782523
  return null;
@@ -782972,7 +782991,7 @@ async function initBridgeCore(params) {
782972
782991
  const rawApi = createBridgeApiClient({
782973
782992
  baseUrl,
782974
782993
  getAccessToken,
782975
- runnerVersion: "1.68.3",
782994
+ runnerVersion: "1.68.4",
782976
782995
  onDebug: logForDebugging,
782977
782996
  onAuth401,
782978
782997
  getTrustedDeviceToken
@@ -792445,7 +792464,7 @@ function getAgUiCapabilities() {
792445
792464
  name: "UR-Nexus",
792446
792465
  type: "ur-nexus",
792447
792466
  description: "Provider-flexible, local-first autonomous engineering workflow agent.",
792448
- version: "1.68.3",
792467
+ version: "1.68.4",
792449
792468
  provider: "UR",
792450
792469
  documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
792451
792470
  },
@@ -793585,7 +793604,7 @@ function createMCPServer(cwd4, debug2, verbose) {
793585
793604
  };
793586
793605
  const server2 = new Server({
793587
793606
  name: "ur-nexus",
793588
- version: "1.68.3"
793607
+ version: "1.68.4"
793589
793608
  }, {
793590
793609
  capabilities: {
793591
793610
  tools: {}
@@ -794743,7 +794762,7 @@ function thrownResponse(error40) {
794743
794762
  }
794744
794763
  async function createUrMcp2026Runtime(options4) {
794745
794764
  const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
794746
- const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.68.3" }, { capabilities: {} });
794765
+ const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.68.4" }, { capabilities: {} });
794747
794766
  const [clientTransport, serverTransport] = createLinkedTransportPair();
794748
794767
  try {
794749
794768
  await server2.connect(serverTransport);
@@ -794754,7 +794773,7 @@ async function createUrMcp2026Runtime(options4) {
794754
794773
  }
794755
794774
  const runtime2 = new Mcp2026Runtime({
794756
794775
  cwd: options4.cwd,
794757
- version: "1.68.3",
794776
+ version: "1.68.4",
794758
794777
  backend: {
794759
794778
  listTools: async () => {
794760
794779
  const listed = await client2.listTools();
@@ -796887,7 +796906,7 @@ async function update() {
796887
796906
  logEvent("tengu_update_check", {});
796888
796907
  const diagnostic2 = await getDoctorDiagnostic();
796889
796908
  const result = await checkUpgradeStatus({
796890
- currentVersion: "1.68.3",
796909
+ currentVersion: "1.68.4",
796891
796910
  packageName: UR_AGENT_PACKAGE_NAME,
796892
796911
  installationType: diagnostic2.installationType,
796893
796912
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -798203,7 +798222,7 @@ ${customInstructions}` : customInstructions;
798203
798222
  }
798204
798223
  }
798205
798224
  logForDiagnosticsNoPII("info", "started", {
798206
- version: "1.68.3",
798225
+ version: "1.68.4",
798207
798226
  is_native_binary: isInBundledMode()
798208
798227
  });
798209
798228
  registerCleanup(async () => {
@@ -798989,7 +799008,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
798989
799008
  pendingHookMessages
798990
799009
  }, renderAndRun);
798991
799010
  }
798992
- }).version("1.68.3 (UR-Nexus)", "-v, --version", "Output the version number");
799011
+ }).version("1.68.4 (UR-Nexus)", "-v, --version", "Output the version number");
798993
799012
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
798994
799013
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
798995
799014
  if (canUserConfigureAdvisor()) {
@@ -800048,7 +800067,7 @@ if (false) {}
800048
800067
  async function main2() {
800049
800068
  const args = process.argv.slice(2);
800050
800069
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
800051
- console.log(`${"1.68.3"} (UR-Nexus)`);
800070
+ console.log(`${"1.68.4"} (UR-Nexus)`);
800052
800071
  return;
800053
800072
  }
800054
800073
  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.68.3 (UR-Nexus)"
22
+ # expected for this release: "1.68.4 (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.68.3</p>
48
+ <p class="eyebrow">Version 1.68.4</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.68.3"
10
+ version = "1.68.4"
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.68.3",
5
+ "version": "1.68.4",
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.68.3",
3
+ "version": "1.68.4",
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",
@@ -1,6 +1,6 @@
1
1
  # UR-Nexus — Technical Specifications
2
2
 
3
- > Audited against the executable source and tests for `ur-agent` v1.68.3.
3
+ > Audited against the executable source and tests for `ur-agent` v1.68.4.
4
4
  > Command, tool, flag, provider, and setting claims are checked against the
5
5
  > implementation rather than copied from product prose. Release validation
6
6
  > keeps this version synchronized and packages the complete `technical/`