ur-agent 1.78.0 → 1.78.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,24 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.78.1
4
+
5
+ - Editing a file through Bash or NotebookEdit now clears that file's delivered
6
+ LSP diagnostics, so errors introduced by the edit reach the model. Diagnostics
7
+ are deduplicated across turns: one identical to a diagnostic already
8
+ delivered for the file is suppressed. Edit and Write cleared the delivered
9
+ set after writing; a `sed` edit through Bash and a notebook cell edit change
10
+ the file the same way but did not, so a problem reintroduced by either was
11
+ silently withheld.
12
+
13
+ ## 1.78.0
14
+
15
+ - The summary reserve is capped as a share of the context window, not just at a
16
+ flat 20,000 tokens. A model with a small window was left with a negative
17
+ effective window — every token count above it, so autocompact fired on every
18
+ turn and never settled. A small window now keeps at least four fifths of
19
+ itself for the conversation, and the effective size can no longer reach zero
20
+ for any reported value. Large windows still reserve the flat amount.
21
+
3
22
  ## 1.77.9
4
23
 
5
24
  - Leaked deliberation is collapsed out of the visible transcript. Models
package/dist/cli.js CHANGED
@@ -107573,7 +107573,7 @@ var init_auth = __esm(() => {
107573
107573
 
107574
107574
  // src/utils/userAgent.ts
107575
107575
  function getURCodeUserAgent() {
107576
- return `ur/${"1.77.9"}`;
107576
+ return `ur/${"1.78.1"}`;
107577
107577
  }
107578
107578
 
107579
107579
  // src/utils/workloadContext.ts
@@ -107595,7 +107595,7 @@ function getUserAgent() {
107595
107595
  const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
107596
107596
  const workload = getWorkload();
107597
107597
  const workloadSuffix = workload ? `, workload/${workload}` : "";
107598
- return `ur-cli/${"1.77.9"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
107598
+ return `ur-cli/${"1.78.1"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
107599
107599
  }
107600
107600
  function getMCPUserAgent() {
107601
107601
  const parts = [];
@@ -107609,7 +107609,7 @@ function getMCPUserAgent() {
107609
107609
  parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
107610
107610
  }
107611
107611
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
107612
- return `ur/${"1.77.9"}${suffix}`;
107612
+ return `ur/${"1.78.1"}${suffix}`;
107613
107613
  }
107614
107614
  function getWebFetchUserAgent() {
107615
107615
  return `UR-User (${getURCodeUserAgent()})`;
@@ -107747,7 +107747,7 @@ var init_user = __esm(() => {
107747
107747
  deviceId,
107748
107748
  sessionId: getSessionId(),
107749
107749
  email: getEmail(),
107750
- appVersion: "1.77.9",
107750
+ appVersion: "1.78.1",
107751
107751
  platform: getHostPlatformForAnalytics(),
107752
107752
  organizationUuid,
107753
107753
  accountUuid,
@@ -115634,7 +115634,7 @@ var init_metadata = __esm(() => {
115634
115634
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
115635
115635
  WHITESPACE_REGEX = /\s+/;
115636
115636
  getVersionBase = memoize_default(() => {
115637
- const match = "1.77.9".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
115637
+ const match = "1.78.1".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
115638
115638
  return match ? match[0] : undefined;
115639
115639
  });
115640
115640
  buildEnvContext = memoize_default(async () => {
@@ -115674,7 +115674,7 @@ var init_metadata = __esm(() => {
115674
115674
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
115675
115675
  isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
115676
115676
  isURAiAuth: isURAISubscriber(),
115677
- version: "1.77.9",
115677
+ version: "1.78.1",
115678
115678
  versionBase: getVersionBase(),
115679
115679
  buildTime: "",
115680
115680
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
@@ -116344,7 +116344,7 @@ function initialize1PEventLogging() {
116344
116344
  const platform2 = getPlatform();
116345
116345
  const attributes = {
116346
116346
  [import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
116347
- [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.77.9"
116347
+ [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.78.1"
116348
116348
  };
116349
116349
  if (platform2 === "wsl") {
116350
116350
  const wslVersion = getWslVersion();
@@ -116372,7 +116372,7 @@ function initialize1PEventLogging() {
116372
116372
  })
116373
116373
  ]
116374
116374
  });
116375
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.77.9");
116375
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.78.1");
116376
116376
  }
116377
116377
  async function reinitialize1PEventLoggingIfConfigChanged() {
116378
116378
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -126154,7 +126154,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
126154
126154
  function formatA2AAgentCard(options = {}, pretty = true) {
126155
126155
  return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
126156
126156
  }
126157
- var urVersion = "1.77.9", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
126157
+ var urVersion = "1.78.1", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
126158
126158
  var init_trends = __esm(() => {
126159
126159
  init_a2aCardSignature();
126160
126160
  coverage = [
@@ -128957,7 +128957,7 @@ function getAttributionHeader(fingerprint) {
128957
128957
  if (!isAttributionHeaderEnabled()) {
128958
128958
  return "";
128959
128959
  }
128960
- const version2 = `${"1.77.9"}.${fingerprint}`;
128960
+ const version2 = `${"1.78.1"}.${fingerprint}`;
128961
128961
  const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
128962
128962
  const cch = "";
128963
128963
  const workload = getWorkload();
@@ -156961,7 +156961,7 @@ var init_projectSafety = __esm(() => {
156961
156961
  function getInstruments() {
156962
156962
  if (instruments)
156963
156963
  return instruments;
156964
- const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.77.9");
156964
+ const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.78.1");
156965
156965
  instruments = {
156966
156966
  operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
156967
156967
  description: "GenAI operation duration.",
@@ -157059,7 +157059,7 @@ function genAiAgentAttributes() {
157059
157059
  "gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
157060
157060
  "gen_ai.provider.name": "ur",
157061
157061
  "gen_ai.agent.name": "UR-Nexus",
157062
- "gen_ai.agent.version": "1.77.9"
157062
+ "gen_ai.agent.version": "1.78.1"
157063
157063
  };
157064
157064
  }
157065
157065
  function genAiWorkflowAttributes(workflowName) {
@@ -157075,7 +157075,7 @@ function genAiWorkflowAttributes(workflowName) {
157075
157075
  function startGenAiWorkflowSpan(workflowName) {
157076
157076
  const attributes = genAiWorkflowAttributes(workflowName);
157077
157077
  const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
157078
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.9").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
157078
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.1").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
157079
157079
  }
157080
157080
  function endGenAiWorkflowSpan(span, options2 = {}) {
157081
157081
  try {
@@ -157113,7 +157113,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
157113
157113
  if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
157114
157114
  attributes["gen_ai.memory.record.count"] = options2.recordCount;
157115
157115
  }
157116
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.9").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
157116
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.1").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
157117
157117
  }
157118
157118
  function endGenAiMemorySpan(span, options2 = {}) {
157119
157119
  try {
@@ -250761,7 +250761,7 @@ function getTelemetryAttributes() {
250761
250761
  attributes["session.id"] = sessionId;
250762
250762
  }
250763
250763
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
250764
- attributes["app.version"] = "1.77.9";
250764
+ attributes["app.version"] = "1.78.1";
250765
250765
  }
250766
250766
  const oauthAccount = getOauthAccountInfo();
250767
250767
  if (oauthAccount) {
@@ -297268,7 +297268,7 @@ function getInstallationEnv() {
297268
297268
  return;
297269
297269
  }
297270
297270
  function getURCodeVersion() {
297271
- return "1.77.9";
297271
+ return "1.78.1";
297272
297272
  }
297273
297273
  async function getInstalledVSCodeExtensionVersion(command) {
297274
297274
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -304599,7 +304599,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
304599
304599
  const client2 = new Client({
304600
304600
  name: "ur",
304601
304601
  title: "UR",
304602
- version: "1.77.9",
304602
+ version: "1.78.1",
304603
304603
  description: "UR-Nexus autonomous engineering workflow engine",
304604
304604
  websiteUrl: PRODUCT_URL
304605
304605
  }, {
@@ -304959,7 +304959,7 @@ var init_client5 = __esm(() => {
304959
304959
  const client2 = new Client({
304960
304960
  name: "ur",
304961
304961
  title: "UR",
304962
- version: "1.77.9",
304962
+ version: "1.78.1",
304963
304963
  description: "UR-Nexus autonomous engineering workflow engine",
304964
304964
  websiteUrl: PRODUCT_URL
304965
304965
  }, {
@@ -317568,7 +317568,7 @@ async function createRuntime() {
317568
317568
  bootstrapTelemetry();
317569
317569
  const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
317570
317570
  [import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
317571
- [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.77.9"
317571
+ [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.78.1"
317572
317572
  }));
317573
317573
  const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
317574
317574
  resource,
@@ -317601,11 +317601,11 @@ async function createRuntime() {
317601
317601
  setMeterProvider(meterProvider);
317602
317602
  setLoggerProvider(loggerProvider);
317603
317603
  if (meterProvider) {
317604
- const meter = meterProvider.getMeter("ur-agent", "1.77.9");
317604
+ const meter = meterProvider.getMeter("ur-agent", "1.78.1");
317605
317605
  setMeter(meter, (name, options2) => meter.createCounter(name, options2));
317606
317606
  }
317607
317607
  if (loggerProvider) {
317608
- setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.77.9"));
317608
+ setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.78.1"));
317609
317609
  }
317610
317610
  if (!cleanupRegistered2) {
317611
317611
  cleanupRegistered2 = true;
@@ -318267,9 +318267,9 @@ async function assertMinVersion() {
318267
318267
  if (false) {}
318268
318268
  try {
318269
318269
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
318270
- if (versionConfig.minVersion && lt("1.77.9", versionConfig.minVersion)) {
318270
+ if (versionConfig.minVersion && lt("1.78.1", versionConfig.minVersion)) {
318271
318271
  console.error(`
318272
- It looks like your version of UR (${"1.77.9"}) needs an update.
318272
+ It looks like your version of UR (${"1.78.1"}) needs an update.
318273
318273
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
318274
318274
 
318275
318275
  To update, please run:
@@ -318485,7 +318485,7 @@ async function installGlobalPackage(specificVersion) {
318485
318485
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
318486
318486
  logEvent("tengu_auto_updater_lock_contention", {
318487
318487
  pid: process.pid,
318488
- currentVersion: "1.77.9"
318488
+ currentVersion: "1.78.1"
318489
318489
  });
318490
318490
  return "in_progress";
318491
318491
  }
@@ -318494,7 +318494,7 @@ async function installGlobalPackage(specificVersion) {
318494
318494
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
318495
318495
  logError2(new Error("Windows NPM detected in WSL environment"));
318496
318496
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
318497
- currentVersion: "1.77.9"
318497
+ currentVersion: "1.78.1"
318498
318498
  });
318499
318499
  console.error(`
318500
318500
  Error: Windows NPM detected in WSL
@@ -319029,7 +319029,7 @@ function detectLinuxGlobPatternWarnings() {
319029
319029
  }
319030
319030
  async function getDoctorDiagnostic() {
319031
319031
  const installationType = await getCurrentInstallationType();
319032
- const version2 = typeof MACRO !== "undefined" ? "1.77.9" : "unknown";
319032
+ const version2 = typeof MACRO !== "undefined" ? "1.78.1" : "unknown";
319033
319033
  const installationPath = await getInstallationPath();
319034
319034
  const invokedBinary = getInvokedBinary();
319035
319035
  const multipleInstallations = await detectMultipleInstallations();
@@ -319964,8 +319964,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
319964
319964
  const maxVersion = await getMaxVersion();
319965
319965
  if (maxVersion && gt(version2, maxVersion)) {
319966
319966
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
319967
- if (gte("1.77.9", maxVersion)) {
319968
- logForDebugging(`Native installer: current version ${"1.77.9"} is already at or above maxVersion ${maxVersion}, skipping update`);
319967
+ if (gte("1.78.1", maxVersion)) {
319968
+ logForDebugging(`Native installer: current version ${"1.78.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
319969
319969
  logEvent("tengu_native_update_skipped_max_version", {
319970
319970
  latency_ms: Date.now() - startTime,
319971
319971
  max_version: maxVersion,
@@ -319976,7 +319976,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
319976
319976
  version2 = maxVersion;
319977
319977
  }
319978
319978
  }
319979
- if (!forceReinstall && version2 === "1.77.9" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
319979
+ if (!forceReinstall && version2 === "1.78.1" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
319980
319980
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
319981
319981
  logEvent("tengu_native_update_complete", {
319982
319982
  latency_ms: Date.now() - startTime,
@@ -368545,6 +368545,7 @@ var init_UI12 = __esm(() => {
368545
368545
  import { extname as extname13, isAbsolute as isAbsolute28, resolve as resolve37 } from "path";
368546
368546
  var inputSchema16, outputSchema13, NotebookEditTool;
368547
368547
  var init_NotebookEditTool = __esm(() => {
368548
+ init_LSPDiagnosticRegistry();
368548
368549
  init_fileHistory();
368549
368550
  init_v4();
368550
368551
  init_Tool();
@@ -368845,6 +368846,7 @@ var init_NotebookEditTool = __esm(() => {
368845
368846
  const IPYNB_INDENT = 1;
368846
368847
  const updatedContent = jsonStringify(notebook, null, IPYNB_INDENT);
368847
368848
  writeTextContent(fullPath, updatedContent, encoding, lineEndings);
368849
+ clearDeliveredDiagnosticsForFile(`file://${fullPath}`);
368848
368850
  readFileState.set(fullPath, {
368849
368851
  content: updatedContent,
368850
368852
  timestamp: getFileModificationTime(fullPath),
@@ -387111,6 +387113,7 @@ Exit code 1`,
387111
387113
  const endings = detectLineEndings(absoluteFilePath);
387112
387114
  writeTextContent(absoluteFilePath, newContent, encoding, endings);
387113
387115
  notifyVscodeFileUpdated(absoluteFilePath, originalContent, newContent);
387116
+ clearDeliveredDiagnosticsForFile(`file://${absoluteFilePath}`);
387114
387117
  toolUseContext.readFileState.set(absoluteFilePath, {
387115
387118
  content: newContent,
387116
387119
  timestamp: getFileModificationTime(absoluteFilePath),
@@ -387388,6 +387391,7 @@ var init_BashTool = __esm(() => {
387388
387391
  init_readOnlyValidation();
387389
387392
  init_sedEditParser();
387390
387393
  init_shouldUseSandbox();
387394
+ init_LSPDiagnosticRegistry();
387391
387395
  init_UI6();
387392
387396
  init_utils9();
387393
387397
  jsx_dev_runtime154 = __toESM(require_jsx_dev_runtime(), 1);
@@ -389691,7 +389695,7 @@ function isAnyTracingEnabled() {
389691
389695
  return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
389692
389696
  }
389693
389697
  function getTracer() {
389694
- return import_api39.trace.getTracer("ur-agent.gen_ai", "1.77.9");
389698
+ return import_api39.trace.getTracer("ur-agent.gen_ai", "1.78.1");
389695
389699
  }
389696
389700
  function createSpanAttributes(spanType, customAttributes = {}) {
389697
389701
  const baseAttributes = getTelemetryAttributes();
@@ -419913,7 +419917,7 @@ function Feedback({
419913
419917
  platform: env2.platform,
419914
419918
  gitRepo: envInfo.isGit,
419915
419919
  terminal: env2.terminal,
419916
- version: "1.77.9",
419920
+ version: "1.78.1",
419917
419921
  transcript: normalizeMessagesForAPI(messages),
419918
419922
  errors: sanitizedErrors,
419919
419923
  lastApiRequest: getLastAPIRequest(),
@@ -420105,7 +420109,7 @@ function Feedback({
420105
420109
  ", ",
420106
420110
  env2.terminal,
420107
420111
  ", v",
420108
- "1.77.9"
420112
+ "1.78.1"
420109
420113
  ]
420110
420114
  }, undefined, true, undefined, this)
420111
420115
  ]
@@ -420211,7 +420215,7 @@ ${sanitizedDescription}
420211
420215
  ` + `**Environment Info**
420212
420216
  ` + `- Platform: ${env2.platform}
420213
420217
  ` + `- Terminal: ${env2.terminal}
420214
- ` + `- Version: ${"1.77.9"}
420218
+ ` + `- Version: ${"1.78.1"}
420215
420219
  ` + `- Feedback ID: ${feedbackId}
420216
420220
  ` + `
420217
420221
  **Errors**
@@ -423321,7 +423325,7 @@ function buildPrimarySection() {
423321
423325
  }, undefined, false, undefined, this);
423322
423326
  return [{
423323
423327
  label: "Version",
423324
- value: "1.77.9"
423328
+ value: "1.78.1"
423325
423329
  }, {
423326
423330
  label: "Session name",
423327
423331
  value: nameValue
@@ -426703,7 +426707,7 @@ function Config({
426703
426707
  }
426704
426708
  }, undefined, false, undefined, this)
426705
426709
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
426706
- currentVersion: "1.77.9",
426710
+ currentVersion: "1.78.1",
426707
426711
  onChoice: (choice) => {
426708
426712
  setShowSubmenu(null);
426709
426713
  setTabsHidden(false);
@@ -426715,7 +426719,7 @@ function Config({
426715
426719
  autoUpdatesChannel: "stable"
426716
426720
  };
426717
426721
  if (choice === "stay") {
426718
- newSettings.minimumVersion = "1.77.9";
426722
+ newSettings.minimumVersion = "1.78.1";
426719
426723
  }
426720
426724
  updateSettingsForSource("userSettings", newSettings);
426721
426725
  setSettingsData((prev_27) => ({
@@ -434779,7 +434783,7 @@ function HelpV2(t0) {
434779
434783
  let t6;
434780
434784
  if ($2[31] !== tabs) {
434781
434785
  t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
434782
- title: `UR v${"1.77.9"}`,
434786
+ title: `UR v${"1.78.1"}`,
434783
434787
  color: "professionalBlue",
434784
434788
  defaultTab: "general",
434785
434789
  children: tabs
@@ -435712,7 +435716,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
435712
435716
  async function handleInitialize(options2) {
435713
435717
  return {
435714
435718
  name: "UR",
435715
- version: "1.77.9",
435719
+ version: "1.78.1",
435716
435720
  protocolVersion: "0.1.0",
435717
435721
  workspaceRoot: options2.cwd,
435718
435722
  capabilities: {
@@ -452820,7 +452824,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
452820
452824
  return [];
452821
452825
  }
452822
452826
  }
452823
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.9") {
452827
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.78.1") {
452824
452828
  if (process.env.USER_TYPE === "ant") {
452825
452829
  const changelog = "";
452826
452830
  if (changelog) {
@@ -452847,7 +452851,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.9")
452847
452851
  releaseNotes
452848
452852
  };
452849
452853
  }
452850
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.77.9") {
452854
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.78.1") {
452851
452855
  if (process.env.USER_TYPE === "ant") {
452852
452856
  const changelog = "";
452853
452857
  if (changelog) {
@@ -455713,7 +455717,7 @@ function getRecentActivitySync() {
455713
455717
  return cachedActivity;
455714
455718
  }
455715
455719
  function getLogoDisplayData() {
455716
- const version2 = process.env.DEMO_VERSION ?? "1.77.9";
455720
+ const version2 = process.env.DEMO_VERSION ?? "1.78.1";
455717
455721
  const serverUrl = getDirectConnectServerUrl();
455718
455722
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
455719
455723
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -456580,7 +456584,7 @@ function LogoV2() {
456580
456584
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
456581
456585
  t2 = () => {
456582
456586
  const currentConfig2 = getGlobalConfig();
456583
- if (currentConfig2.lastReleaseNotesSeen === "1.77.9") {
456587
+ if (currentConfig2.lastReleaseNotesSeen === "1.78.1") {
456584
456588
  return;
456585
456589
  }
456586
456590
  saveGlobalConfig(_temp325);
@@ -457265,12 +457269,12 @@ function LogoV2() {
457265
457269
  return t41;
457266
457270
  }
457267
457271
  function _temp325(current) {
457268
- if (current.lastReleaseNotesSeen === "1.77.9") {
457272
+ if (current.lastReleaseNotesSeen === "1.78.1") {
457269
457273
  return current;
457270
457274
  }
457271
457275
  return {
457272
457276
  ...current,
457273
- lastReleaseNotesSeen: "1.77.9"
457277
+ lastReleaseNotesSeen: "1.78.1"
457274
457278
  };
457275
457279
  }
457276
457280
  function _temp241(s_0) {
@@ -474084,7 +474088,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
474084
474088
  if (spec.name !== specName) {
474085
474089
  throw new Error("Agentic CI workflow spec name does not match");
474086
474090
  }
474087
- const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.77.9" : "1.77.9");
474091
+ const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.78.1" : "1.78.1");
474088
474092
  if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
474089
474093
  throw new Error("invalid ur-agent package version");
474090
474094
  }
@@ -475077,7 +475081,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
475077
475081
  path: ".github/workflows/ur.yml",
475078
475082
  root: "project",
475079
475083
  content: compileAgenticCiWorkflow("default", {
475080
- packageVersion: typeof MACRO !== "undefined" ? "1.77.9" : "1.77.9"
475084
+ packageVersion: typeof MACRO !== "undefined" ? "1.78.1" : "1.78.1"
475081
475085
  })
475082
475086
  },
475083
475087
  {
@@ -475140,7 +475144,7 @@ function value(tokens, flag) {
475140
475144
  return index2 >= 0 ? tokens[index2 + 1] : undefined;
475141
475145
  }
475142
475146
  function cliVersion() {
475143
- return typeof MACRO !== "undefined" ? "1.77.9" : "1.77.9";
475147
+ return typeof MACRO !== "undefined" ? "1.78.1" : "1.78.1";
475144
475148
  }
475145
475149
  function workflowPath(cwd2) {
475146
475150
  return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
@@ -480996,7 +481000,7 @@ function createAcpStdioApp(deps) {
480996
481000
  }
480997
481001
  },
480998
481002
  authMethods: [],
480999
- agentInfo: { name: "UR-Nexus", version: "1.77.9" }
481003
+ agentInfo: { name: "UR-Nexus", version: "1.78.1" }
481000
481004
  })).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
481001
481005
  const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
481002
481006
  await runtime2.announce({
@@ -481093,7 +481097,7 @@ function createAcpStdioAgent(deps) {
481093
481097
  }
481094
481098
  },
481095
481099
  authMethods: [],
481096
- agentInfo: { name: "UR-Nexus", version: "1.77.9" }
481100
+ agentInfo: { name: "UR-Nexus", version: "1.78.1" }
481097
481101
  });
481098
481102
  return;
481099
481103
  case "authenticate":
@@ -690553,7 +690557,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
690553
690557
  smapsRollup,
690554
690558
  platform: process.platform,
690555
690559
  nodeVersion: process.version,
690556
- ccVersion: "1.77.9"
690560
+ ccVersion: "1.78.1"
690557
690561
  };
690558
690562
  }
690559
690563
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -691133,7 +691137,7 @@ var init_bridge_kick = __esm(() => {
691133
691137
  var call154 = async () => {
691134
691138
  return {
691135
691139
  type: "text",
691136
- value: "1.77.9"
691140
+ value: "1.78.1"
691137
691141
  };
691138
691142
  }, version2, version_default;
691139
691143
  var init_version = __esm(() => {
@@ -702400,7 +702404,7 @@ function generateHtmlReport(data, insights) {
702400
702404
  </html>`;
702401
702405
  }
702402
702406
  function buildExportData(data, insights, facets, remoteStats) {
702403
- const version3 = typeof MACRO !== "undefined" ? "1.77.9" : "unknown";
702407
+ const version3 = typeof MACRO !== "undefined" ? "1.78.1" : "unknown";
702404
702408
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
702405
702409
  const facets_summary = {
702406
702410
  total: facets.size,
@@ -706714,7 +706718,7 @@ var init_sessionStorage = __esm(() => {
706714
706718
  init_settings2();
706715
706719
  init_slowOperations();
706716
706720
  init_uuid();
706717
- VERSION7 = typeof MACRO !== "undefined" ? "1.77.9" : "unknown";
706721
+ VERSION7 = typeof MACRO !== "undefined" ? "1.78.1" : "unknown";
706718
706722
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
706719
706723
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
706720
706724
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -707929,7 +707933,7 @@ var init_filesystem = __esm(() => {
707929
707933
  });
707930
707934
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
707931
707935
  const nonce = randomBytes20(16).toString("hex");
707932
- return join232(getURTempDir(), "bundled-skills", "1.77.9", nonce);
707936
+ return join232(getURTempDir(), "bundled-skills", "1.78.1", nonce);
707933
707937
  });
707934
707938
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
707935
707939
  });
@@ -714286,7 +714290,7 @@ function computeFingerprint(messageText2, version3) {
714286
714290
  }
714287
714291
  function computeFingerprintFromMessages(messages) {
714288
714292
  const firstMessageText = extractFirstMessageText(messages);
714289
- return computeFingerprint(firstMessageText, "1.77.9");
714293
+ return computeFingerprint(firstMessageText, "1.78.1");
714290
714294
  }
714291
714295
  var FINGERPRINT_SALT = "59cf53e54c78";
714292
714296
  var init_fingerprint = () => {};
@@ -716208,7 +716212,7 @@ async function sideQuery(opts) {
716208
716212
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
716209
716213
  }
716210
716214
  const messageText2 = extractFirstUserMessageText(messages);
716211
- const fingerprint2 = computeFingerprint(messageText2, "1.77.9");
716215
+ const fingerprint2 = computeFingerprint(messageText2, "1.78.1");
716212
716216
  const attributionHeader = getAttributionHeader(fingerprint2);
716213
716217
  const systemBlocks = [
716214
716218
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -721045,7 +721049,7 @@ function buildSystemInitMessage(inputs) {
721045
721049
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
721046
721050
  apiKeySource: getURHQApiKeyWithSource().source,
721047
721051
  betas: getSdkBetas(),
721048
- ur_version: "1.77.9",
721052
+ ur_version: "1.78.1",
721049
721053
  output_style: outputStyle2,
721050
721054
  agents: inputs.agents.map((agent2) => agent2.agentType),
721051
721055
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -734917,7 +734921,7 @@ var init_useVoiceEnabled = __esm(() => {
734917
734921
  function getSemverPart(version3) {
734918
734922
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
734919
734923
  }
734920
- function useUpdateNotification(updatedVersion, initialVersion = "1.77.9") {
734924
+ function useUpdateNotification(updatedVersion, initialVersion = "1.78.1") {
734921
734925
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react223.useState(() => getSemverPart(initialVersion));
734922
734926
  if (!updatedVersion) {
734923
734927
  return null;
@@ -734966,7 +734970,7 @@ function AutoUpdater({
734966
734970
  return;
734967
734971
  }
734968
734972
  if (false) {}
734969
- const currentVersion = "1.77.9";
734973
+ const currentVersion = "1.78.1";
734970
734974
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
734971
734975
  let latestVersion = await getLatestVersion(channel);
734972
734976
  const isDisabled = isAutoUpdaterDisabled();
@@ -735195,12 +735199,12 @@ function NativeAutoUpdater({
735195
735199
  logEvent("tengu_native_auto_updater_start", {});
735196
735200
  try {
735197
735201
  const maxVersion = await getMaxVersion();
735198
- if (maxVersion && gt("1.77.9", maxVersion)) {
735202
+ if (maxVersion && gt("1.78.1", maxVersion)) {
735199
735203
  const msg = await getMaxVersionMessage();
735200
735204
  setMaxVersionIssue(msg ?? "affects your version");
735201
735205
  }
735202
735206
  const result = await installLatest(channel);
735203
- const currentVersion = "1.77.9";
735207
+ const currentVersion = "1.78.1";
735204
735208
  const latencyMs = Date.now() - startTime;
735205
735209
  if (result.lockFailed) {
735206
735210
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -735337,17 +735341,17 @@ function PackageManagerAutoUpdater(t0) {
735337
735341
  const maxVersion = await getMaxVersion();
735338
735342
  if (maxVersion && latest && gt(latest, maxVersion)) {
735339
735343
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
735340
- if (gte("1.77.9", maxVersion)) {
735341
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.77.9"} is already at or above maxVersion ${maxVersion}, skipping update`);
735344
+ if (gte("1.78.1", maxVersion)) {
735345
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.78.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
735342
735346
  setUpdateAvailable(false);
735343
735347
  return;
735344
735348
  }
735345
735349
  latest = maxVersion;
735346
735350
  }
735347
- const hasUpdate = latest && !gte("1.77.9", latest) && !shouldSkipVersion(latest);
735351
+ const hasUpdate = latest && !gte("1.78.1", latest) && !shouldSkipVersion(latest);
735348
735352
  setUpdateAvailable(!!hasUpdate);
735349
735353
  if (hasUpdate) {
735350
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.77.9"} -> ${latest}`);
735354
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.78.1"} -> ${latest}`);
735351
735355
  }
735352
735356
  };
735353
735357
  $2[0] = t1;
@@ -735381,7 +735385,7 @@ function PackageManagerAutoUpdater(t0) {
735381
735385
  wrap: "truncate",
735382
735386
  children: [
735383
735387
  "currentVersion: ",
735384
- "1.77.9"
735388
+ "1.78.1"
735385
735389
  ]
735386
735390
  }, undefined, true, undefined, this);
735387
735391
  $2[3] = verbose;
@@ -746181,7 +746185,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
746181
746185
  project_dir: getOriginalCwd(),
746182
746186
  added_dirs: addedDirs
746183
746187
  },
746184
- version: "1.77.9",
746188
+ version: "1.78.1",
746185
746189
  output_style: {
746186
746190
  name: outputStyleName
746187
746191
  },
@@ -746316,7 +746320,7 @@ function StatusLineInner({
746316
746320
  const attention = customStatusError ?? taskAttention;
746317
746321
  const terminalSize = React132.useContext(TerminalSizeContext);
746318
746322
  const defaultStatusLineText = buildDefaultStatusBar({
746319
- version: "1.77.9",
746323
+ version: "1.78.1",
746320
746324
  providerLabel: providerRuntime.providerLabel,
746321
746325
  authMode: providerRuntime.authLabel,
746322
746326
  model: renderModelName(mainLoopModel) || providerRuntime.model || "",
@@ -758601,7 +758605,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
758601
758605
  } catch {}
758602
758606
  const data = {
758603
758607
  trigger: trigger2,
758604
- version: "1.77.9",
758608
+ version: "1.78.1",
758605
758609
  platform: process.platform,
758606
758610
  transcript,
758607
758611
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -770975,7 +770979,7 @@ function WelcomeV2() {
770975
770979
  dimColor: true,
770976
770980
  children: [
770977
770981
  "v",
770978
- "1.77.9"
770982
+ "1.78.1"
770979
770983
  ]
770980
770984
  }, undefined, true, undefined, this)
770981
770985
  ]
@@ -772235,7 +772239,7 @@ function completeOnboarding() {
772235
772239
  saveGlobalConfig((current) => ({
772236
772240
  ...current,
772237
772241
  hasCompletedOnboarding: true,
772238
- lastOnboardingVersion: "1.77.9"
772242
+ lastOnboardingVersion: "1.78.1"
772239
772243
  }));
772240
772244
  }
772241
772245
  function showDialog(root2, renderer) {
@@ -777279,7 +777283,7 @@ function appendToLog(path24, message) {
777279
777283
  cwd: getFsImplementation().cwd(),
777280
777284
  userType: process.env.USER_TYPE,
777281
777285
  sessionId: getSessionId(),
777282
- version: "1.77.9"
777286
+ version: "1.78.1"
777283
777287
  };
777284
777288
  getLogWriter(path24).write(messageWithTimestamp);
777285
777289
  }
@@ -781438,8 +781442,8 @@ async function getEnvLessBridgeConfig() {
781438
781442
  }
781439
781443
  async function checkEnvLessBridgeMinVersion() {
781440
781444
  const cfg = await getEnvLessBridgeConfig();
781441
- if (cfg.min_version && lt("1.77.9", cfg.min_version)) {
781442
- return `Your version of UR (${"1.77.9"}) is too old for Remote Control.
781445
+ if (cfg.min_version && lt("1.78.1", cfg.min_version)) {
781446
+ return `Your version of UR (${"1.78.1"}) is too old for Remote Control.
781443
781447
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
781444
781448
  }
781445
781449
  return null;
@@ -781913,7 +781917,7 @@ async function initBridgeCore(params) {
781913
781917
  const rawApi = createBridgeApiClient({
781914
781918
  baseUrl,
781915
781919
  getAccessToken,
781916
- runnerVersion: "1.77.9",
781920
+ runnerVersion: "1.78.1",
781917
781921
  onDebug: logForDebugging,
781918
781922
  onAuth401,
781919
781923
  getTrustedDeviceToken
@@ -791386,7 +791390,7 @@ function getAgUiCapabilities() {
791386
791390
  name: "UR-Nexus",
791387
791391
  type: "ur-nexus",
791388
791392
  description: "Provider-flexible, local-first autonomous engineering workflow agent.",
791389
- version: "1.77.9",
791393
+ version: "1.78.1",
791390
791394
  provider: "UR",
791391
791395
  documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
791392
791396
  },
@@ -792526,7 +792530,7 @@ function createMCPServer(cwd4, debug2, verbose) {
792526
792530
  };
792527
792531
  const server2 = new Server({
792528
792532
  name: "ur-nexus",
792529
- version: "1.77.9"
792533
+ version: "1.78.1"
792530
792534
  }, {
792531
792535
  capabilities: {
792532
792536
  tools: {}
@@ -793684,7 +793688,7 @@ function thrownResponse(error40) {
793684
793688
  }
793685
793689
  async function createUrMcp2026Runtime(options4) {
793686
793690
  const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
793687
- const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.77.9" }, { capabilities: {} });
793691
+ const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.78.1" }, { capabilities: {} });
793688
793692
  const [clientTransport, serverTransport] = createLinkedTransportPair();
793689
793693
  try {
793690
793694
  await server2.connect(serverTransport);
@@ -793695,7 +793699,7 @@ async function createUrMcp2026Runtime(options4) {
793695
793699
  }
793696
793700
  const runtime2 = new Mcp2026Runtime({
793697
793701
  cwd: options4.cwd,
793698
- version: "1.77.9",
793702
+ version: "1.78.1",
793699
793703
  backend: {
793700
793704
  listTools: async () => {
793701
793705
  const listed = await client2.listTools();
@@ -795836,7 +795840,7 @@ async function update() {
795836
795840
  logEvent("tengu_update_check", {});
795837
795841
  const diagnostic2 = await getDoctorDiagnostic();
795838
795842
  const result = await checkUpgradeStatus({
795839
- currentVersion: "1.77.9",
795843
+ currentVersion: "1.78.1",
795840
795844
  packageName: UR_AGENT_PACKAGE_NAME,
795841
795845
  installationType: diagnostic2.installationType,
795842
795846
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -797152,7 +797156,7 @@ ${customInstructions}` : customInstructions;
797152
797156
  }
797153
797157
  }
797154
797158
  logForDiagnosticsNoPII("info", "started", {
797155
- version: "1.77.9",
797159
+ version: "1.78.1",
797156
797160
  is_native_binary: isInBundledMode()
797157
797161
  });
797158
797162
  registerCleanup(async () => {
@@ -797938,7 +797942,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
797938
797942
  pendingHookMessages
797939
797943
  }, renderAndRun);
797940
797944
  }
797941
- }).version("1.77.9 (UR-Nexus)", "-v, --version", "Output the version number");
797945
+ }).version("1.78.1 (UR-Nexus)", "-v, --version", "Output the version number");
797942
797946
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
797943
797947
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
797944
797948
  if (canUserConfigureAdvisor()) {
@@ -798990,7 +798994,7 @@ if (false) {}
798990
798994
  async function main2() {
798991
798995
  const args = process.argv.slice(2);
798992
798996
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
798993
- console.log(`${"1.77.9"} (UR-Nexus)`);
798997
+ console.log(`${"1.78.1"} (UR-Nexus)`);
798994
798998
  return;
798995
798999
  }
798996
799000
  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.78.0 (UR-Nexus)"
22
+ # expected for this release: "1.78.1 (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.78.0</p>
48
+ <p class="eyebrow">Version 1.78.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.78.0"
10
+ version = "1.78.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.78.0",
5
+ "version": "1.78.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.78.0",
3
+ "version": "1.78.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",