ur-agent 1.77.5 → 1.77.6

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,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.77.6
4
+
5
+ - A request body rejected for its size now takes the prompt-too-long recovery
6
+ path instead of killing the turn. Ollama fronts the model with a Go HTTP
7
+ server that rejects an oversized body before the model sees it, reporting
8
+ `400: http: request body too large` — a message naming neither a prompt nor a
9
+ token count, so it missed the matcher and none of the compaction-and-retry
10
+ recovery ran. Proxy and gateway phrasings of the same condition are covered
11
+ too. An unrelated 400 is not swept in.
12
+ - Deliberation stays out of user-facing text. The prompt asked for brevity but
13
+ never said that weighing causes, checking arithmetic, and talking through
14
+ what a test failure means are thinking rather than output — so they were
15
+ emitted verbatim, at length, mid-task.
16
+
3
17
  ## 1.77.5
4
18
 
5
19
  - A tool call the model writes as text is now recovered for every provider.
package/dist/cli.js CHANGED
@@ -107552,7 +107552,7 @@ var init_auth = __esm(() => {
107552
107552
 
107553
107553
  // src/utils/userAgent.ts
107554
107554
  function getURCodeUserAgent() {
107555
- return `ur/${"1.77.5"}`;
107555
+ return `ur/${"1.77.6"}`;
107556
107556
  }
107557
107557
 
107558
107558
  // src/utils/workloadContext.ts
@@ -107574,7 +107574,7 @@ function getUserAgent() {
107574
107574
  const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
107575
107575
  const workload = getWorkload();
107576
107576
  const workloadSuffix = workload ? `, workload/${workload}` : "";
107577
- return `ur-cli/${"1.77.5"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
107577
+ return `ur-cli/${"1.77.6"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
107578
107578
  }
107579
107579
  function getMCPUserAgent() {
107580
107580
  const parts = [];
@@ -107588,7 +107588,7 @@ function getMCPUserAgent() {
107588
107588
  parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
107589
107589
  }
107590
107590
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
107591
- return `ur/${"1.77.5"}${suffix}`;
107591
+ return `ur/${"1.77.6"}${suffix}`;
107592
107592
  }
107593
107593
  function getWebFetchUserAgent() {
107594
107594
  return `UR-User (${getURCodeUserAgent()})`;
@@ -107726,7 +107726,7 @@ var init_user = __esm(() => {
107726
107726
  deviceId,
107727
107727
  sessionId: getSessionId(),
107728
107728
  email: getEmail(),
107729
- appVersion: "1.77.5",
107729
+ appVersion: "1.77.6",
107730
107730
  platform: getHostPlatformForAnalytics(),
107731
107731
  organizationUuid,
107732
107732
  accountUuid,
@@ -115613,7 +115613,7 @@ var init_metadata = __esm(() => {
115613
115613
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
115614
115614
  WHITESPACE_REGEX = /\s+/;
115615
115615
  getVersionBase = memoize_default(() => {
115616
- const match = "1.77.5".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
115616
+ const match = "1.77.6".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
115617
115617
  return match ? match[0] : undefined;
115618
115618
  });
115619
115619
  buildEnvContext = memoize_default(async () => {
@@ -115653,7 +115653,7 @@ var init_metadata = __esm(() => {
115653
115653
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
115654
115654
  isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
115655
115655
  isURAiAuth: isURAISubscriber(),
115656
- version: "1.77.5",
115656
+ version: "1.77.6",
115657
115657
  versionBase: getVersionBase(),
115658
115658
  buildTime: "",
115659
115659
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
@@ -116323,7 +116323,7 @@ function initialize1PEventLogging() {
116323
116323
  const platform2 = getPlatform();
116324
116324
  const attributes = {
116325
116325
  [import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
116326
- [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.77.5"
116326
+ [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.77.6"
116327
116327
  };
116328
116328
  if (platform2 === "wsl") {
116329
116329
  const wslVersion = getWslVersion();
@@ -116351,7 +116351,7 @@ function initialize1PEventLogging() {
116351
116351
  })
116352
116352
  ]
116353
116353
  });
116354
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.77.5");
116354
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.77.6");
116355
116355
  }
116356
116356
  async function reinitialize1PEventLoggingIfConfigChanged() {
116357
116357
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -126133,7 +126133,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
126133
126133
  function formatA2AAgentCard(options = {}, pretty = true) {
126134
126134
  return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
126135
126135
  }
126136
- var urVersion = "1.77.5", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
126136
+ var urVersion = "1.77.6", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
126137
126137
  var init_trends = __esm(() => {
126138
126138
  init_a2aCardSignature();
126139
126139
  coverage = [
@@ -128936,7 +128936,7 @@ function getAttributionHeader(fingerprint) {
128936
128936
  if (!isAttributionHeaderEnabled()) {
128937
128937
  return "";
128938
128938
  }
128939
- const version2 = `${"1.77.5"}.${fingerprint}`;
128939
+ const version2 = `${"1.77.6"}.${fingerprint}`;
128940
128940
  const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
128941
128941
  const cch = "";
128942
128942
  const workload = getWorkload();
@@ -156940,7 +156940,7 @@ var init_projectSafety = __esm(() => {
156940
156940
  function getInstruments() {
156941
156941
  if (instruments)
156942
156942
  return instruments;
156943
- const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.77.5");
156943
+ const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.77.6");
156944
156944
  instruments = {
156945
156945
  operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
156946
156946
  description: "GenAI operation duration.",
@@ -157038,7 +157038,7 @@ function genAiAgentAttributes() {
157038
157038
  "gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
157039
157039
  "gen_ai.provider.name": "ur",
157040
157040
  "gen_ai.agent.name": "UR-Nexus",
157041
- "gen_ai.agent.version": "1.77.5"
157041
+ "gen_ai.agent.version": "1.77.6"
157042
157042
  };
157043
157043
  }
157044
157044
  function genAiWorkflowAttributes(workflowName) {
@@ -157054,7 +157054,7 @@ function genAiWorkflowAttributes(workflowName) {
157054
157054
  function startGenAiWorkflowSpan(workflowName) {
157055
157055
  const attributes = genAiWorkflowAttributes(workflowName);
157056
157056
  const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
157057
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.5").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
157057
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.6").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
157058
157058
  }
157059
157059
  function endGenAiWorkflowSpan(span, options2 = {}) {
157060
157060
  try {
@@ -157092,7 +157092,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
157092
157092
  if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
157093
157093
  attributes["gen_ai.memory.record.count"] = options2.recordCount;
157094
157094
  }
157095
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.5").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
157095
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.6").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
157096
157096
  }
157097
157097
  function endGenAiMemorySpan(span, options2 = {}) {
157098
157098
  try {
@@ -250740,7 +250740,7 @@ function getTelemetryAttributes() {
250740
250740
  attributes["session.id"] = sessionId;
250741
250741
  }
250742
250742
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
250743
- attributes["app.version"] = "1.77.5";
250743
+ attributes["app.version"] = "1.77.6";
250744
250744
  }
250745
250745
  const oauthAccount = getOauthAccountInfo();
250746
250746
  if (oauthAccount) {
@@ -297247,7 +297247,7 @@ function getInstallationEnv() {
297247
297247
  return;
297248
297248
  }
297249
297249
  function getURCodeVersion() {
297250
- return "1.77.5";
297250
+ return "1.77.6";
297251
297251
  }
297252
297252
  async function getInstalledVSCodeExtensionVersion(command) {
297253
297253
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -304578,7 +304578,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
304578
304578
  const client2 = new Client({
304579
304579
  name: "ur",
304580
304580
  title: "UR",
304581
- version: "1.77.5",
304581
+ version: "1.77.6",
304582
304582
  description: "UR-Nexus autonomous engineering workflow engine",
304583
304583
  websiteUrl: PRODUCT_URL
304584
304584
  }, {
@@ -304938,7 +304938,7 @@ var init_client5 = __esm(() => {
304938
304938
  const client2 = new Client({
304939
304939
  name: "ur",
304940
304940
  title: "UR",
304941
- version: "1.77.5",
304941
+ version: "1.77.6",
304942
304942
  description: "UR-Nexus autonomous engineering workflow engine",
304943
304943
  websiteUrl: PRODUCT_URL
304944
304944
  }, {
@@ -317491,7 +317491,7 @@ async function createRuntime() {
317491
317491
  bootstrapTelemetry();
317492
317492
  const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
317493
317493
  [import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
317494
- [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.77.5"
317494
+ [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.77.6"
317495
317495
  }));
317496
317496
  const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
317497
317497
  resource,
@@ -317524,11 +317524,11 @@ async function createRuntime() {
317524
317524
  setMeterProvider(meterProvider);
317525
317525
  setLoggerProvider(loggerProvider);
317526
317526
  if (meterProvider) {
317527
- const meter = meterProvider.getMeter("ur-agent", "1.77.5");
317527
+ const meter = meterProvider.getMeter("ur-agent", "1.77.6");
317528
317528
  setMeter(meter, (name, options2) => meter.createCounter(name, options2));
317529
317529
  }
317530
317530
  if (loggerProvider) {
317531
- setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.77.5"));
317531
+ setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.77.6"));
317532
317532
  }
317533
317533
  if (!cleanupRegistered2) {
317534
317534
  cleanupRegistered2 = true;
@@ -318190,9 +318190,9 @@ async function assertMinVersion() {
318190
318190
  if (false) {}
318191
318191
  try {
318192
318192
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
318193
- if (versionConfig.minVersion && lt("1.77.5", versionConfig.minVersion)) {
318193
+ if (versionConfig.minVersion && lt("1.77.6", versionConfig.minVersion)) {
318194
318194
  console.error(`
318195
- It looks like your version of UR (${"1.77.5"}) needs an update.
318195
+ It looks like your version of UR (${"1.77.6"}) needs an update.
318196
318196
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
318197
318197
 
318198
318198
  To update, please run:
@@ -318408,7 +318408,7 @@ async function installGlobalPackage(specificVersion) {
318408
318408
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
318409
318409
  logEvent("tengu_auto_updater_lock_contention", {
318410
318410
  pid: process.pid,
318411
- currentVersion: "1.77.5"
318411
+ currentVersion: "1.77.6"
318412
318412
  });
318413
318413
  return "in_progress";
318414
318414
  }
@@ -318417,7 +318417,7 @@ async function installGlobalPackage(specificVersion) {
318417
318417
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
318418
318418
  logError2(new Error("Windows NPM detected in WSL environment"));
318419
318419
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
318420
- currentVersion: "1.77.5"
318420
+ currentVersion: "1.77.6"
318421
318421
  });
318422
318422
  console.error(`
318423
318423
  Error: Windows NPM detected in WSL
@@ -318952,7 +318952,7 @@ function detectLinuxGlobPatternWarnings() {
318952
318952
  }
318953
318953
  async function getDoctorDiagnostic() {
318954
318954
  const installationType = await getCurrentInstallationType();
318955
- const version2 = typeof MACRO !== "undefined" ? "1.77.5" : "unknown";
318955
+ const version2 = typeof MACRO !== "undefined" ? "1.77.6" : "unknown";
318956
318956
  const installationPath = await getInstallationPath();
318957
318957
  const invokedBinary = getInvokedBinary();
318958
318958
  const multipleInstallations = await detectMultipleInstallations();
@@ -319887,8 +319887,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
319887
319887
  const maxVersion = await getMaxVersion();
319888
319888
  if (maxVersion && gt(version2, maxVersion)) {
319889
319889
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
319890
- if (gte("1.77.5", maxVersion)) {
319891
- logForDebugging(`Native installer: current version ${"1.77.5"} is already at or above maxVersion ${maxVersion}, skipping update`);
319890
+ if (gte("1.77.6", maxVersion)) {
319891
+ logForDebugging(`Native installer: current version ${"1.77.6"} is already at or above maxVersion ${maxVersion}, skipping update`);
319892
319892
  logEvent("tengu_native_update_skipped_max_version", {
319893
319893
  latency_ms: Date.now() - startTime,
319894
319894
  max_version: maxVersion,
@@ -319899,7 +319899,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
319899
319899
  version2 = maxVersion;
319900
319900
  }
319901
319901
  }
319902
- if (!forceReinstall && version2 === "1.77.5" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
319902
+ if (!forceReinstall && version2 === "1.77.6" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
319903
319903
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
319904
319904
  logEvent("tengu_native_update_complete", {
319905
319905
  latency_ms: Date.now() - startTime,
@@ -389603,7 +389603,7 @@ function isAnyTracingEnabled() {
389603
389603
  return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
389604
389604
  }
389605
389605
  function getTracer() {
389606
- return import_api39.trace.getTracer("ur-agent.gen_ai", "1.77.5");
389606
+ return import_api39.trace.getTracer("ur-agent.gen_ai", "1.77.6");
389607
389607
  }
389608
389608
  function createSpanAttributes(spanType, customAttributes = {}) {
389609
389609
  const baseAttributes = getTelemetryAttributes();
@@ -411821,6 +411821,10 @@ function isPromptTooLongMessage(msg) {
411821
411821
  }
411822
411822
  return content.some((block2) => block2.type === "text" && block2.text.startsWith(PROMPT_TOO_LONG_ERROR_MESSAGE));
411823
411823
  }
411824
+ function isOversizedRequestBodyMessage(rawMessage) {
411825
+ const text = rawMessage.toLowerCase();
411826
+ return text.includes("request body too large") || text.includes("request entity too large") || text.includes("payload too large") || text.includes("body size limit");
411827
+ }
411824
411828
  function parsePromptTooLongTokenCounts(rawMessage) {
411825
411829
  const match = rawMessage.match(/prompt is too long[^0-9]*(\d+)\s*tokens?\s*>\s*(\d+)/i);
411826
411830
  return {
@@ -412065,7 +412069,7 @@ function getAssistantMessageFromError(error40, model, options2) {
412065
412069
  error: "rate_limit"
412066
412070
  });
412067
412071
  }
412068
- if (error40 instanceof Error && error40.message.toLowerCase().includes("prompt is too long")) {
412072
+ if (error40 instanceof Error && (error40.message.toLowerCase().includes("prompt is too long") || isOversizedRequestBodyMessage(error40.message))) {
412069
412073
  return createAssistantAPIErrorMessage({
412070
412074
  content: PROMPT_TOO_LONG_ERROR_MESSAGE,
412071
412075
  error: "invalid_request",
@@ -419821,7 +419825,7 @@ function Feedback({
419821
419825
  platform: env2.platform,
419822
419826
  gitRepo: envInfo.isGit,
419823
419827
  terminal: env2.terminal,
419824
- version: "1.77.5",
419828
+ version: "1.77.6",
419825
419829
  transcript: normalizeMessagesForAPI(messages),
419826
419830
  errors: sanitizedErrors,
419827
419831
  lastApiRequest: getLastAPIRequest(),
@@ -420013,7 +420017,7 @@ function Feedback({
420013
420017
  ", ",
420014
420018
  env2.terminal,
420015
420019
  ", v",
420016
- "1.77.5"
420020
+ "1.77.6"
420017
420021
  ]
420018
420022
  }, undefined, true, undefined, this)
420019
420023
  ]
@@ -420119,7 +420123,7 @@ ${sanitizedDescription}
420119
420123
  ` + `**Environment Info**
420120
420124
  ` + `- Platform: ${env2.platform}
420121
420125
  ` + `- Terminal: ${env2.terminal}
420122
- ` + `- Version: ${"1.77.5"}
420126
+ ` + `- Version: ${"1.77.6"}
420123
420127
  ` + `- Feedback ID: ${feedbackId}
420124
420128
  ` + `
420125
420129
  **Errors**
@@ -423229,7 +423233,7 @@ function buildPrimarySection() {
423229
423233
  }, undefined, false, undefined, this);
423230
423234
  return [{
423231
423235
  label: "Version",
423232
- value: "1.77.5"
423236
+ value: "1.77.6"
423233
423237
  }, {
423234
423238
  label: "Session name",
423235
423239
  value: nameValue
@@ -426611,7 +426615,7 @@ function Config({
426611
426615
  }
426612
426616
  }, undefined, false, undefined, this)
426613
426617
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
426614
- currentVersion: "1.77.5",
426618
+ currentVersion: "1.77.6",
426615
426619
  onChoice: (choice) => {
426616
426620
  setShowSubmenu(null);
426617
426621
  setTabsHidden(false);
@@ -426623,7 +426627,7 @@ function Config({
426623
426627
  autoUpdatesChannel: "stable"
426624
426628
  };
426625
426629
  if (choice === "stay") {
426626
- newSettings.minimumVersion = "1.77.5";
426630
+ newSettings.minimumVersion = "1.77.6";
426627
426631
  }
426628
426632
  updateSettingsForSource("userSettings", newSettings);
426629
426633
  setSettingsData((prev_27) => ({
@@ -434687,7 +434691,7 @@ function HelpV2(t0) {
434687
434691
  let t6;
434688
434692
  if ($2[31] !== tabs) {
434689
434693
  t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
434690
- title: `UR v${"1.77.5"}`,
434694
+ title: `UR v${"1.77.6"}`,
434691
434695
  color: "professionalBlue",
434692
434696
  defaultTab: "general",
434693
434697
  children: tabs
@@ -435620,7 +435624,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
435620
435624
  async function handleInitialize(options2) {
435621
435625
  return {
435622
435626
  name: "UR",
435623
- version: "1.77.5",
435627
+ version: "1.77.6",
435624
435628
  protocolVersion: "0.1.0",
435625
435629
  workspaceRoot: options2.cwd,
435626
435630
  capabilities: {
@@ -452728,7 +452732,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
452728
452732
  return [];
452729
452733
  }
452730
452734
  }
452731
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.5") {
452735
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.6") {
452732
452736
  if (process.env.USER_TYPE === "ant") {
452733
452737
  const changelog = "";
452734
452738
  if (changelog) {
@@ -452755,7 +452759,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.5")
452755
452759
  releaseNotes
452756
452760
  };
452757
452761
  }
452758
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.77.5") {
452762
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.77.6") {
452759
452763
  if (process.env.USER_TYPE === "ant") {
452760
452764
  const changelog = "";
452761
452765
  if (changelog) {
@@ -455621,7 +455625,7 @@ function getRecentActivitySync() {
455621
455625
  return cachedActivity;
455622
455626
  }
455623
455627
  function getLogoDisplayData() {
455624
- const version2 = process.env.DEMO_VERSION ?? "1.77.5";
455628
+ const version2 = process.env.DEMO_VERSION ?? "1.77.6";
455625
455629
  const serverUrl = getDirectConnectServerUrl();
455626
455630
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
455627
455631
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -456488,7 +456492,7 @@ function LogoV2() {
456488
456492
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
456489
456493
  t2 = () => {
456490
456494
  const currentConfig2 = getGlobalConfig();
456491
- if (currentConfig2.lastReleaseNotesSeen === "1.77.5") {
456495
+ if (currentConfig2.lastReleaseNotesSeen === "1.77.6") {
456492
456496
  return;
456493
456497
  }
456494
456498
  saveGlobalConfig(_temp325);
@@ -457173,12 +457177,12 @@ function LogoV2() {
457173
457177
  return t41;
457174
457178
  }
457175
457179
  function _temp325(current) {
457176
- if (current.lastReleaseNotesSeen === "1.77.5") {
457180
+ if (current.lastReleaseNotesSeen === "1.77.6") {
457177
457181
  return current;
457178
457182
  }
457179
457183
  return {
457180
457184
  ...current,
457181
- lastReleaseNotesSeen: "1.77.5"
457185
+ lastReleaseNotesSeen: "1.77.6"
457182
457186
  };
457183
457187
  }
457184
457188
  function _temp241(s_0) {
@@ -473992,7 +473996,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
473992
473996
  if (spec.name !== specName) {
473993
473997
  throw new Error("Agentic CI workflow spec name does not match");
473994
473998
  }
473995
- const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.77.5" : "1.77.5");
473999
+ const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.77.6" : "1.77.6");
473996
474000
  if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
473997
474001
  throw new Error("invalid ur-agent package version");
473998
474002
  }
@@ -474985,7 +474989,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
474985
474989
  path: ".github/workflows/ur.yml",
474986
474990
  root: "project",
474987
474991
  content: compileAgenticCiWorkflow("default", {
474988
- packageVersion: typeof MACRO !== "undefined" ? "1.77.5" : "1.77.5"
474992
+ packageVersion: typeof MACRO !== "undefined" ? "1.77.6" : "1.77.6"
474989
474993
  })
474990
474994
  },
474991
474995
  {
@@ -475048,7 +475052,7 @@ function value(tokens, flag) {
475048
475052
  return index2 >= 0 ? tokens[index2 + 1] : undefined;
475049
475053
  }
475050
475054
  function cliVersion() {
475051
- return typeof MACRO !== "undefined" ? "1.77.5" : "1.77.5";
475055
+ return typeof MACRO !== "undefined" ? "1.77.6" : "1.77.6";
475052
475056
  }
475053
475057
  function workflowPath(cwd2) {
475054
475058
  return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
@@ -480904,7 +480908,7 @@ function createAcpStdioApp(deps) {
480904
480908
  }
480905
480909
  },
480906
480910
  authMethods: [],
480907
- agentInfo: { name: "UR-Nexus", version: "1.77.5" }
480911
+ agentInfo: { name: "UR-Nexus", version: "1.77.6" }
480908
480912
  })).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
480909
480913
  const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
480910
480914
  await runtime2.announce({
@@ -481001,7 +481005,7 @@ function createAcpStdioAgent(deps) {
481001
481005
  }
481002
481006
  },
481003
481007
  authMethods: [],
481004
- agentInfo: { name: "UR-Nexus", version: "1.77.5" }
481008
+ agentInfo: { name: "UR-Nexus", version: "1.77.6" }
481005
481009
  });
481006
481010
  return;
481007
481011
  case "authenticate":
@@ -690461,7 +690465,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
690461
690465
  smapsRollup,
690462
690466
  platform: process.platform,
690463
690467
  nodeVersion: process.version,
690464
- ccVersion: "1.77.5"
690468
+ ccVersion: "1.77.6"
690465
690469
  };
690466
690470
  }
690467
690471
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -691041,7 +691045,7 @@ var init_bridge_kick = __esm(() => {
691041
691045
  var call154 = async () => {
691042
691046
  return {
691043
691047
  type: "text",
691044
- value: "1.77.5"
691048
+ value: "1.77.6"
691045
691049
  };
691046
691050
  }, version2, version_default;
691047
691051
  var init_version = __esm(() => {
@@ -702308,7 +702312,7 @@ function generateHtmlReport(data, insights) {
702308
702312
  </html>`;
702309
702313
  }
702310
702314
  function buildExportData(data, insights, facets, remoteStats) {
702311
- const version3 = typeof MACRO !== "undefined" ? "1.77.5" : "unknown";
702315
+ const version3 = typeof MACRO !== "undefined" ? "1.77.6" : "unknown";
702312
702316
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
702313
702317
  const facets_summary = {
702314
702318
  total: facets.size,
@@ -706622,7 +706626,7 @@ var init_sessionStorage = __esm(() => {
706622
706626
  init_settings2();
706623
706627
  init_slowOperations();
706624
706628
  init_uuid();
706625
- VERSION7 = typeof MACRO !== "undefined" ? "1.77.5" : "unknown";
706629
+ VERSION7 = typeof MACRO !== "undefined" ? "1.77.6" : "unknown";
706626
706630
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
706627
706631
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
706628
706632
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -707837,7 +707841,7 @@ var init_filesystem = __esm(() => {
707837
707841
  });
707838
707842
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
707839
707843
  const nonce = randomBytes20(16).toString("hex");
707840
- return join232(getURTempDir(), "bundled-skills", "1.77.5", nonce);
707844
+ return join232(getURTempDir(), "bundled-skills", "1.77.6", nonce);
707841
707845
  });
707842
707846
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
707843
707847
  });
@@ -713476,6 +713480,8 @@ Focus text output on:
713476
713480
  - High-level status updates at natural milestones
713477
713481
  - Errors or blockers that change the plan
713478
713482
 
713483
+ Reason silently, then act. Working through a problem \u2014 weighing causes, checking arithmetic, deciding between fixes, talking yourself through what a test failure means \u2014 is thinking, not output. Do it, then emit the decision and the tool call. A paragraph that starts "Wait", "Maybe", "Let me think", "The issue is", or that revises itself mid-sentence, belongs nowhere in user-facing text.
713484
+
713479
713485
  Finishing a task is not an invitation to write at length. The work is in the files and the tool calls; the final message only says what changed and anything the user must act on. Specifically:
713480
713486
  - Never paste code, file contents, or diffs you already wrote to disk. Cite \`file_path:line\` instead. The user can open the file.
713481
713487
  - Report an audit, review, or investigation as its findings \u2014 one line each, and only the ones that matter. Do not narrate how you searched or restate what you read.
@@ -714192,7 +714198,7 @@ function computeFingerprint(messageText2, version3) {
714192
714198
  }
714193
714199
  function computeFingerprintFromMessages(messages) {
714194
714200
  const firstMessageText = extractFirstMessageText(messages);
714195
- return computeFingerprint(firstMessageText, "1.77.5");
714201
+ return computeFingerprint(firstMessageText, "1.77.6");
714196
714202
  }
714197
714203
  var FINGERPRINT_SALT = "59cf53e54c78";
714198
714204
  var init_fingerprint = () => {};
@@ -716114,7 +716120,7 @@ async function sideQuery(opts) {
716114
716120
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
716115
716121
  }
716116
716122
  const messageText2 = extractFirstUserMessageText(messages);
716117
- const fingerprint2 = computeFingerprint(messageText2, "1.77.5");
716123
+ const fingerprint2 = computeFingerprint(messageText2, "1.77.6");
716118
716124
  const attributionHeader = getAttributionHeader(fingerprint2);
716119
716125
  const systemBlocks = [
716120
716126
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -720951,7 +720957,7 @@ function buildSystemInitMessage(inputs) {
720951
720957
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
720952
720958
  apiKeySource: getURHQApiKeyWithSource().source,
720953
720959
  betas: getSdkBetas(),
720954
- ur_version: "1.77.5",
720960
+ ur_version: "1.77.6",
720955
720961
  output_style: outputStyle2,
720956
720962
  agents: inputs.agents.map((agent2) => agent2.agentType),
720957
720963
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -734823,7 +734829,7 @@ var init_useVoiceEnabled = __esm(() => {
734823
734829
  function getSemverPart(version3) {
734824
734830
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
734825
734831
  }
734826
- function useUpdateNotification(updatedVersion, initialVersion = "1.77.5") {
734832
+ function useUpdateNotification(updatedVersion, initialVersion = "1.77.6") {
734827
734833
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react223.useState(() => getSemverPart(initialVersion));
734828
734834
  if (!updatedVersion) {
734829
734835
  return null;
@@ -734872,7 +734878,7 @@ function AutoUpdater({
734872
734878
  return;
734873
734879
  }
734874
734880
  if (false) {}
734875
- const currentVersion = "1.77.5";
734881
+ const currentVersion = "1.77.6";
734876
734882
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
734877
734883
  let latestVersion = await getLatestVersion(channel);
734878
734884
  const isDisabled = isAutoUpdaterDisabled();
@@ -735101,12 +735107,12 @@ function NativeAutoUpdater({
735101
735107
  logEvent("tengu_native_auto_updater_start", {});
735102
735108
  try {
735103
735109
  const maxVersion = await getMaxVersion();
735104
- if (maxVersion && gt("1.77.5", maxVersion)) {
735110
+ if (maxVersion && gt("1.77.6", maxVersion)) {
735105
735111
  const msg = await getMaxVersionMessage();
735106
735112
  setMaxVersionIssue(msg ?? "affects your version");
735107
735113
  }
735108
735114
  const result = await installLatest(channel);
735109
- const currentVersion = "1.77.5";
735115
+ const currentVersion = "1.77.6";
735110
735116
  const latencyMs = Date.now() - startTime;
735111
735117
  if (result.lockFailed) {
735112
735118
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -735243,17 +735249,17 @@ function PackageManagerAutoUpdater(t0) {
735243
735249
  const maxVersion = await getMaxVersion();
735244
735250
  if (maxVersion && latest && gt(latest, maxVersion)) {
735245
735251
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
735246
- if (gte("1.77.5", maxVersion)) {
735247
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.77.5"} is already at or above maxVersion ${maxVersion}, skipping update`);
735252
+ if (gte("1.77.6", maxVersion)) {
735253
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.77.6"} is already at or above maxVersion ${maxVersion}, skipping update`);
735248
735254
  setUpdateAvailable(false);
735249
735255
  return;
735250
735256
  }
735251
735257
  latest = maxVersion;
735252
735258
  }
735253
- const hasUpdate = latest && !gte("1.77.5", latest) && !shouldSkipVersion(latest);
735259
+ const hasUpdate = latest && !gte("1.77.6", latest) && !shouldSkipVersion(latest);
735254
735260
  setUpdateAvailable(!!hasUpdate);
735255
735261
  if (hasUpdate) {
735256
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.77.5"} -> ${latest}`);
735262
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.77.6"} -> ${latest}`);
735257
735263
  }
735258
735264
  };
735259
735265
  $2[0] = t1;
@@ -735287,7 +735293,7 @@ function PackageManagerAutoUpdater(t0) {
735287
735293
  wrap: "truncate",
735288
735294
  children: [
735289
735295
  "currentVersion: ",
735290
- "1.77.5"
735296
+ "1.77.6"
735291
735297
  ]
735292
735298
  }, undefined, true, undefined, this);
735293
735299
  $2[3] = verbose;
@@ -746087,7 +746093,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
746087
746093
  project_dir: getOriginalCwd(),
746088
746094
  added_dirs: addedDirs
746089
746095
  },
746090
- version: "1.77.5",
746096
+ version: "1.77.6",
746091
746097
  output_style: {
746092
746098
  name: outputStyleName
746093
746099
  },
@@ -746222,7 +746228,7 @@ function StatusLineInner({
746222
746228
  const attention = customStatusError ?? taskAttention;
746223
746229
  const terminalSize = React132.useContext(TerminalSizeContext);
746224
746230
  const defaultStatusLineText = buildDefaultStatusBar({
746225
- version: "1.77.5",
746231
+ version: "1.77.6",
746226
746232
  providerLabel: providerRuntime.providerLabel,
746227
746233
  authMode: providerRuntime.authLabel,
746228
746234
  model: renderModelName(mainLoopModel) || providerRuntime.model || "",
@@ -758507,7 +758513,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
758507
758513
  } catch {}
758508
758514
  const data = {
758509
758515
  trigger: trigger2,
758510
- version: "1.77.5",
758516
+ version: "1.77.6",
758511
758517
  platform: process.platform,
758512
758518
  transcript,
758513
758519
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -770881,7 +770887,7 @@ function WelcomeV2() {
770881
770887
  dimColor: true,
770882
770888
  children: [
770883
770889
  "v",
770884
- "1.77.5"
770890
+ "1.77.6"
770885
770891
  ]
770886
770892
  }, undefined, true, undefined, this)
770887
770893
  ]
@@ -772141,7 +772147,7 @@ function completeOnboarding() {
772141
772147
  saveGlobalConfig((current) => ({
772142
772148
  ...current,
772143
772149
  hasCompletedOnboarding: true,
772144
- lastOnboardingVersion: "1.77.5"
772150
+ lastOnboardingVersion: "1.77.6"
772145
772151
  }));
772146
772152
  }
772147
772153
  function showDialog(root2, renderer) {
@@ -777185,7 +777191,7 @@ function appendToLog(path24, message) {
777185
777191
  cwd: getFsImplementation().cwd(),
777186
777192
  userType: process.env.USER_TYPE,
777187
777193
  sessionId: getSessionId(),
777188
- version: "1.77.5"
777194
+ version: "1.77.6"
777189
777195
  };
777190
777196
  getLogWriter(path24).write(messageWithTimestamp);
777191
777197
  }
@@ -781344,8 +781350,8 @@ async function getEnvLessBridgeConfig() {
781344
781350
  }
781345
781351
  async function checkEnvLessBridgeMinVersion() {
781346
781352
  const cfg = await getEnvLessBridgeConfig();
781347
- if (cfg.min_version && lt("1.77.5", cfg.min_version)) {
781348
- return `Your version of UR (${"1.77.5"}) is too old for Remote Control.
781353
+ if (cfg.min_version && lt("1.77.6", cfg.min_version)) {
781354
+ return `Your version of UR (${"1.77.6"}) is too old for Remote Control.
781349
781355
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
781350
781356
  }
781351
781357
  return null;
@@ -781819,7 +781825,7 @@ async function initBridgeCore(params) {
781819
781825
  const rawApi = createBridgeApiClient({
781820
781826
  baseUrl,
781821
781827
  getAccessToken,
781822
- runnerVersion: "1.77.5",
781828
+ runnerVersion: "1.77.6",
781823
781829
  onDebug: logForDebugging,
781824
781830
  onAuth401,
781825
781831
  getTrustedDeviceToken
@@ -791292,7 +791298,7 @@ function getAgUiCapabilities() {
791292
791298
  name: "UR-Nexus",
791293
791299
  type: "ur-nexus",
791294
791300
  description: "Provider-flexible, local-first autonomous engineering workflow agent.",
791295
- version: "1.77.5",
791301
+ version: "1.77.6",
791296
791302
  provider: "UR",
791297
791303
  documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
791298
791304
  },
@@ -792432,7 +792438,7 @@ function createMCPServer(cwd4, debug2, verbose) {
792432
792438
  };
792433
792439
  const server2 = new Server({
792434
792440
  name: "ur-nexus",
792435
- version: "1.77.5"
792441
+ version: "1.77.6"
792436
792442
  }, {
792437
792443
  capabilities: {
792438
792444
  tools: {}
@@ -793590,7 +793596,7 @@ function thrownResponse(error40) {
793590
793596
  }
793591
793597
  async function createUrMcp2026Runtime(options4) {
793592
793598
  const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
793593
- const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.77.5" }, { capabilities: {} });
793599
+ const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.77.6" }, { capabilities: {} });
793594
793600
  const [clientTransport, serverTransport] = createLinkedTransportPair();
793595
793601
  try {
793596
793602
  await server2.connect(serverTransport);
@@ -793601,7 +793607,7 @@ async function createUrMcp2026Runtime(options4) {
793601
793607
  }
793602
793608
  const runtime2 = new Mcp2026Runtime({
793603
793609
  cwd: options4.cwd,
793604
- version: "1.77.5",
793610
+ version: "1.77.6",
793605
793611
  backend: {
793606
793612
  listTools: async () => {
793607
793613
  const listed = await client2.listTools();
@@ -795742,7 +795748,7 @@ async function update() {
795742
795748
  logEvent("tengu_update_check", {});
795743
795749
  const diagnostic2 = await getDoctorDiagnostic();
795744
795750
  const result = await checkUpgradeStatus({
795745
- currentVersion: "1.77.5",
795751
+ currentVersion: "1.77.6",
795746
795752
  packageName: UR_AGENT_PACKAGE_NAME,
795747
795753
  installationType: diagnostic2.installationType,
795748
795754
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -797058,7 +797064,7 @@ ${customInstructions}` : customInstructions;
797058
797064
  }
797059
797065
  }
797060
797066
  logForDiagnosticsNoPII("info", "started", {
797061
- version: "1.77.5",
797067
+ version: "1.77.6",
797062
797068
  is_native_binary: isInBundledMode()
797063
797069
  });
797064
797070
  registerCleanup(async () => {
@@ -797844,7 +797850,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
797844
797850
  pendingHookMessages
797845
797851
  }, renderAndRun);
797846
797852
  }
797847
- }).version("1.77.5 (UR-Nexus)", "-v, --version", "Output the version number");
797853
+ }).version("1.77.6 (UR-Nexus)", "-v, --version", "Output the version number");
797848
797854
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
797849
797855
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
797850
797856
  if (canUserConfigureAdvisor()) {
@@ -798896,7 +798902,7 @@ if (false) {}
798896
798902
  async function main2() {
798897
798903
  const args = process.argv.slice(2);
798898
798904
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
798899
- console.log(`${"1.77.5"} (UR-Nexus)`);
798905
+ console.log(`${"1.77.6"} (UR-Nexus)`);
798900
798906
  return;
798901
798907
  }
798902
798908
  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.77.5 (UR-Nexus)"
22
+ # expected for this release: "1.77.6 (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.77.5</p>
48
+ <p class="eyebrow">Version 1.77.6</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.77.5"
10
+ version = "1.77.6"
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.77.5",
5
+ "version": "1.77.6",
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.77.5",
3
+ "version": "1.77.6",
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",