ur-agent 1.77.1 → 1.77.3

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,27 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.77.3
4
+
5
+ - Read says when it did not return the whole file. It stops at 2000 lines by
6
+ default, but the result was only numbered lines with nothing marking the
7
+ cutoff, so a partial read was indistinguishable from a complete one and
8
+ concluding "this code is not in the file" from one was a reasonable inference
9
+ from what the model was shown. A truncated read now reports the range it
10
+ returned, how many lines were left, and the offset to resume from — the same
11
+ signal Grep and Glob already gave. A complete read, the final page of a
12
+ paginated read, and an empty read all stay silent, so nothing is added to the
13
+ common case.
14
+
15
+ ## 1.77.2
16
+
17
+ - Git commit and pull-request guidance is no longer sent outside a git
18
+ repository. `shouldIncludeGitInstructions` consulted only the environment
19
+ variable and the setting, so roughly 9KB rode in the system prompt on every
20
+ turn even in workspaces with no `.git` — instructions the model could not act
21
+ on. The repository check uses the memoized synchronous `findGitRoot` already
22
+ relied on for permission checks and prompt building, so it costs nothing. The
23
+ environment variable and setting still win when either is set explicitly.
24
+
3
25
  ## 1.77.1
4
26
 
5
27
  - Finishing a task no longer produces a long write-up. Both output-efficiency
package/dist/cli.js CHANGED
@@ -87513,6 +87513,7 @@ function describeQuestionPayloadProblems(value) {
87513
87513
  if (!Array.isArray(questions) || questions.length === 0) {
87514
87514
  return ["`questions` must be a non-empty array."];
87515
87515
  }
87516
+ const shapes = questions.slice(0, 3).map((question, index2) => isRecord2(question) ? `questions[${index2}] has keys: ${Object.keys(question).join(", ") || "(none)"}` : `questions[${index2}] is ${Array.isArray(question) ? "an array" : typeof question}`).join("; ");
87516
87517
  questions.forEach((question, index2) => {
87517
87518
  const where = `questions[${index2}]`;
87518
87519
  if (!isRecord2(question)) {
@@ -87534,6 +87535,9 @@ function describeQuestionPayloadProblems(value) {
87534
87535
  problems.push(`${where}.options must contain at least 2 distinct labels; this question is open-ended and should be asked in plain text instead.`);
87535
87536
  }
87536
87537
  });
87538
+ if (problems.length > 0 && shapes) {
87539
+ problems.push(`Received ${shapes}.`);
87540
+ }
87537
87541
  return problems;
87538
87542
  }
87539
87543
 
@@ -87656,7 +87660,7 @@ function normalizeQuestionOptionInput(value) {
87656
87660
  const option = objectValue(value);
87657
87661
  if (!option)
87658
87662
  return value;
87659
- const label = typeof option.label === "string" && option.label.trim() || typeof option.value === "string" && option.value.trim() || typeof option.name === "string" && option.name.trim() || typeof option.text === "string" && option.text.trim() || typeof option.title === "string" && option.title.trim() || typeof option.id === "string" && option.id.trim() || typeof option.description === "string" && option.description.trim() || "";
87663
+ const label = typeof option.label === "string" && option.label.trim() || typeof option.value === "string" && option.value.trim() || typeof option.name === "string" && option.name.trim() || typeof option.text === "string" && option.text.trim() || typeof option.title === "string" && option.title.trim() || typeof option.header === "string" && option.header.trim() || typeof option.id === "string" && option.id.trim() || typeof option.description === "string" && option.description.trim() || "";
87660
87664
  if (!label)
87661
87665
  return value;
87662
87666
  const description = typeof option.description === "string" && option.description.trim() || label;
@@ -87729,12 +87733,14 @@ function looksLikeOptionEntry(value) {
87729
87733
  if (!entry)
87730
87734
  return false;
87731
87735
  for (const key of Object.keys(entry)) {
87736
+ if (key === "header")
87737
+ continue;
87732
87738
  if (RESERVED_QUESTION_KEYS.has(key))
87733
87739
  return false;
87734
87740
  if (RESERVED_QUESTION_OPTION_KEYS.has(key.toLowerCase()))
87735
87741
  return false;
87736
87742
  }
87737
- return typeof entry.label === "string" || typeof entry.value === "string" || typeof entry.description === "string";
87743
+ return typeof entry.label === "string" || typeof entry.value === "string" || typeof entry.header === "string" || typeof entry.description === "string";
87738
87744
  }
87739
87745
  function recoverFlattenedOptions(input, entries) {
87740
87746
  if (entries.length < 2 || !entries.every(looksLikeOptionEntry))
@@ -107542,7 +107548,7 @@ var init_auth = __esm(() => {
107542
107548
 
107543
107549
  // src/utils/userAgent.ts
107544
107550
  function getURCodeUserAgent() {
107545
- return `ur/${"1.77.1"}`;
107551
+ return `ur/${"1.77.3"}`;
107546
107552
  }
107547
107553
 
107548
107554
  // src/utils/workloadContext.ts
@@ -107564,7 +107570,7 @@ function getUserAgent() {
107564
107570
  const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
107565
107571
  const workload = getWorkload();
107566
107572
  const workloadSuffix = workload ? `, workload/${workload}` : "";
107567
- return `ur-cli/${"1.77.1"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
107573
+ return `ur-cli/${"1.77.3"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
107568
107574
  }
107569
107575
  function getMCPUserAgent() {
107570
107576
  const parts = [];
@@ -107578,7 +107584,7 @@ function getMCPUserAgent() {
107578
107584
  parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
107579
107585
  }
107580
107586
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
107581
- return `ur/${"1.77.1"}${suffix}`;
107587
+ return `ur/${"1.77.3"}${suffix}`;
107582
107588
  }
107583
107589
  function getWebFetchUserAgent() {
107584
107590
  return `UR-User (${getURCodeUserAgent()})`;
@@ -107716,7 +107722,7 @@ var init_user = __esm(() => {
107716
107722
  deviceId,
107717
107723
  sessionId: getSessionId(),
107718
107724
  email: getEmail(),
107719
- appVersion: "1.77.1",
107725
+ appVersion: "1.77.3",
107720
107726
  platform: getHostPlatformForAnalytics(),
107721
107727
  organizationUuid,
107722
107728
  accountUuid,
@@ -115603,7 +115609,7 @@ var init_metadata = __esm(() => {
115603
115609
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
115604
115610
  WHITESPACE_REGEX = /\s+/;
115605
115611
  getVersionBase = memoize_default(() => {
115606
- const match = "1.77.1".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
115612
+ const match = "1.77.3".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
115607
115613
  return match ? match[0] : undefined;
115608
115614
  });
115609
115615
  buildEnvContext = memoize_default(async () => {
@@ -115643,7 +115649,7 @@ var init_metadata = __esm(() => {
115643
115649
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
115644
115650
  isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
115645
115651
  isURAiAuth: isURAISubscriber(),
115646
- version: "1.77.1",
115652
+ version: "1.77.3",
115647
115653
  versionBase: getVersionBase(),
115648
115654
  buildTime: "",
115649
115655
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
@@ -116313,7 +116319,7 @@ function initialize1PEventLogging() {
116313
116319
  const platform2 = getPlatform();
116314
116320
  const attributes = {
116315
116321
  [import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
116316
- [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.77.1"
116322
+ [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.77.3"
116317
116323
  };
116318
116324
  if (platform2 === "wsl") {
116319
116325
  const wslVersion = getWslVersion();
@@ -116341,7 +116347,7 @@ function initialize1PEventLogging() {
116341
116347
  })
116342
116348
  ]
116343
116349
  });
116344
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.77.1");
116350
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.77.3");
116345
116351
  }
116346
116352
  async function reinitialize1PEventLoggingIfConfigChanged() {
116347
116353
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -126123,7 +126129,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
126123
126129
  function formatA2AAgentCard(options = {}, pretty = true) {
126124
126130
  return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
126125
126131
  }
126126
- var urVersion = "1.77.1", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
126132
+ var urVersion = "1.77.3", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
126127
126133
  var init_trends = __esm(() => {
126128
126134
  init_a2aCardSignature();
126129
126135
  coverage = [
@@ -128926,7 +128932,7 @@ function getAttributionHeader(fingerprint) {
128926
128932
  if (!isAttributionHeaderEnabled()) {
128927
128933
  return "";
128928
128934
  }
128929
- const version2 = `${"1.77.1"}.${fingerprint}`;
128935
+ const version2 = `${"1.77.3"}.${fingerprint}`;
128930
128936
  const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
128931
128937
  const cch = "";
128932
128938
  const workload = getWorkload();
@@ -153314,10 +153320,15 @@ function shouldIncludeGitInstructions() {
153314
153320
  return false;
153315
153321
  if (isEnvDefinedFalsy(envVal))
153316
153322
  return true;
153317
- return getInitialSettings().includeGitInstructions ?? true;
153323
+ if ((getInitialSettings().includeGitInstructions ?? true) === false) {
153324
+ return false;
153325
+ }
153326
+ return findGitRoot(getCwd()) !== null;
153318
153327
  }
153319
153328
  var init_gitSettings = __esm(() => {
153329
+ init_cwd2();
153320
153330
  init_envUtils();
153331
+ init_git();
153321
153332
  init_settings2();
153322
153333
  });
153323
153334
 
@@ -156925,7 +156936,7 @@ var init_projectSafety = __esm(() => {
156925
156936
  function getInstruments() {
156926
156937
  if (instruments)
156927
156938
  return instruments;
156928
- const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.77.1");
156939
+ const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.77.3");
156929
156940
  instruments = {
156930
156941
  operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
156931
156942
  description: "GenAI operation duration.",
@@ -157023,7 +157034,7 @@ function genAiAgentAttributes() {
157023
157034
  "gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
157024
157035
  "gen_ai.provider.name": "ur",
157025
157036
  "gen_ai.agent.name": "UR-Nexus",
157026
- "gen_ai.agent.version": "1.77.1"
157037
+ "gen_ai.agent.version": "1.77.3"
157027
157038
  };
157028
157039
  }
157029
157040
  function genAiWorkflowAttributes(workflowName) {
@@ -157039,7 +157050,7 @@ function genAiWorkflowAttributes(workflowName) {
157039
157050
  function startGenAiWorkflowSpan(workflowName) {
157040
157051
  const attributes = genAiWorkflowAttributes(workflowName);
157041
157052
  const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
157042
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.1").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
157053
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.3").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
157043
157054
  }
157044
157055
  function endGenAiWorkflowSpan(span, options2 = {}) {
157045
157056
  try {
@@ -157077,7 +157088,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
157077
157088
  if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
157078
157089
  attributes["gen_ai.memory.record.count"] = options2.recordCount;
157079
157090
  }
157080
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.1").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
157091
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.3").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
157081
157092
  }
157082
157093
  function endGenAiMemorySpan(span, options2 = {}) {
157083
157094
  try {
@@ -250725,7 +250736,7 @@ function getTelemetryAttributes() {
250725
250736
  attributes["session.id"] = sessionId;
250726
250737
  }
250727
250738
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
250728
- attributes["app.version"] = "1.77.1";
250739
+ attributes["app.version"] = "1.77.3";
250729
250740
  }
250730
250741
  const oauthAccount = getOauthAccountInfo();
250731
250742
  if (oauthAccount) {
@@ -297232,7 +297243,7 @@ function getInstallationEnv() {
297232
297243
  return;
297233
297244
  }
297234
297245
  function getURCodeVersion() {
297235
- return "1.77.1";
297246
+ return "1.77.3";
297236
297247
  }
297237
297248
  async function getInstalledVSCodeExtensionVersion(command) {
297238
297249
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -304563,7 +304574,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
304563
304574
  const client2 = new Client({
304564
304575
  name: "ur",
304565
304576
  title: "UR",
304566
- version: "1.77.1",
304577
+ version: "1.77.3",
304567
304578
  description: "UR-Nexus autonomous engineering workflow engine",
304568
304579
  websiteUrl: PRODUCT_URL
304569
304580
  }, {
@@ -304923,7 +304934,7 @@ var init_client5 = __esm(() => {
304923
304934
  const client2 = new Client({
304924
304935
  name: "ur",
304925
304936
  title: "UR",
304926
- version: "1.77.1",
304937
+ version: "1.77.3",
304927
304938
  description: "UR-Nexus autonomous engineering workflow engine",
304928
304939
  websiteUrl: PRODUCT_URL
304929
304940
  }, {
@@ -317476,7 +317487,7 @@ async function createRuntime() {
317476
317487
  bootstrapTelemetry();
317477
317488
  const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
317478
317489
  [import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
317479
- [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.77.1"
317490
+ [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.77.3"
317480
317491
  }));
317481
317492
  const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
317482
317493
  resource,
@@ -317509,11 +317520,11 @@ async function createRuntime() {
317509
317520
  setMeterProvider(meterProvider);
317510
317521
  setLoggerProvider(loggerProvider);
317511
317522
  if (meterProvider) {
317512
- const meter = meterProvider.getMeter("ur-agent", "1.77.1");
317523
+ const meter = meterProvider.getMeter("ur-agent", "1.77.3");
317513
317524
  setMeter(meter, (name, options2) => meter.createCounter(name, options2));
317514
317525
  }
317515
317526
  if (loggerProvider) {
317516
- setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.77.1"));
317527
+ setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.77.3"));
317517
317528
  }
317518
317529
  if (!cleanupRegistered2) {
317519
317530
  cleanupRegistered2 = true;
@@ -318175,9 +318186,9 @@ async function assertMinVersion() {
318175
318186
  if (false) {}
318176
318187
  try {
318177
318188
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
318178
- if (versionConfig.minVersion && lt("1.77.1", versionConfig.minVersion)) {
318189
+ if (versionConfig.minVersion && lt("1.77.3", versionConfig.minVersion)) {
318179
318190
  console.error(`
318180
- It looks like your version of UR (${"1.77.1"}) needs an update.
318191
+ It looks like your version of UR (${"1.77.3"}) needs an update.
318181
318192
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
318182
318193
 
318183
318194
  To update, please run:
@@ -318393,7 +318404,7 @@ async function installGlobalPackage(specificVersion) {
318393
318404
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
318394
318405
  logEvent("tengu_auto_updater_lock_contention", {
318395
318406
  pid: process.pid,
318396
- currentVersion: "1.77.1"
318407
+ currentVersion: "1.77.3"
318397
318408
  });
318398
318409
  return "in_progress";
318399
318410
  }
@@ -318402,7 +318413,7 @@ async function installGlobalPackage(specificVersion) {
318402
318413
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
318403
318414
  logError2(new Error("Windows NPM detected in WSL environment"));
318404
318415
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
318405
- currentVersion: "1.77.1"
318416
+ currentVersion: "1.77.3"
318406
318417
  });
318407
318418
  console.error(`
318408
318419
  Error: Windows NPM detected in WSL
@@ -318937,7 +318948,7 @@ function detectLinuxGlobPatternWarnings() {
318937
318948
  }
318938
318949
  async function getDoctorDiagnostic() {
318939
318950
  const installationType = await getCurrentInstallationType();
318940
- const version2 = typeof MACRO !== "undefined" ? "1.77.1" : "unknown";
318951
+ const version2 = typeof MACRO !== "undefined" ? "1.77.3" : "unknown";
318941
318952
  const installationPath = await getInstallationPath();
318942
318953
  const invokedBinary = getInvokedBinary();
318943
318954
  const multipleInstallations = await detectMultipleInstallations();
@@ -319872,8 +319883,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
319872
319883
  const maxVersion = await getMaxVersion();
319873
319884
  if (maxVersion && gt(version2, maxVersion)) {
319874
319885
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
319875
- if (gte("1.77.1", maxVersion)) {
319876
- logForDebugging(`Native installer: current version ${"1.77.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
319886
+ if (gte("1.77.3", maxVersion)) {
319887
+ logForDebugging(`Native installer: current version ${"1.77.3"} is already at or above maxVersion ${maxVersion}, skipping update`);
319877
319888
  logEvent("tengu_native_update_skipped_max_version", {
319878
319889
  latency_ms: Date.now() - startTime,
319879
319890
  max_version: maxVersion,
@@ -319884,7 +319895,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
319884
319895
  version2 = maxVersion;
319885
319896
  }
319886
319897
  }
319887
- if (!forceReinstall && version2 === "1.77.1" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
319898
+ if (!forceReinstall && version2 === "1.77.3" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
319888
319899
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
319889
319900
  logEvent("tengu_native_update_complete", {
319890
319901
  latency_ms: Date.now() - startTime,
@@ -389588,7 +389599,7 @@ function isAnyTracingEnabled() {
389588
389599
  return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
389589
389600
  }
389590
389601
  function getTracer() {
389591
- return import_api39.trace.getTracer("ur-agent.gen_ai", "1.77.1");
389602
+ return import_api39.trace.getTracer("ur-agent.gen_ai", "1.77.3");
389592
389603
  }
389593
389604
  function createSpanAttributes(spanType, customAttributes = {}) {
389594
389605
  const baseAttributes = getTelemetryAttributes();
@@ -400227,6 +400238,16 @@ function pickLineFormatInstruction() {
400227
400238
  function formatFileLines(file2) {
400228
400239
  return addLineNumbers(file2);
400229
400240
  }
400241
+ function describeUnreadRemainder(file2) {
400242
+ const firstLine = Math.max(1, file2.startLine);
400243
+ const lastLine = firstLine + file2.numLines - 1;
400244
+ if (file2.numLines <= 0 || lastLine >= file2.totalLines) {
400245
+ return "";
400246
+ }
400247
+ return `
400248
+
400249
+ <system-reminder>This is lines ${firstLine}-${lastLine} of ${file2.totalLines}. ${file2.totalLines - lastLine} lines were not returned \u2014 read again with offset ${lastLine + 1} if you need them.</system-reminder>`;
400250
+ }
400230
400251
  function shouldIncludeFileReadMitigation() {
400231
400252
  const shortName = getCanonicalName(getMainLoopModel());
400232
400253
  return !MITIGATION_EXEMPT_MODELS.has(shortName);
@@ -400870,7 +400891,7 @@ var init_FileReadTool = __esm(() => {
400870
400891
  case "text": {
400871
400892
  let content;
400872
400893
  if (data.file.content) {
400873
- content = memoryFileFreshnessPrefix(data) + formatFileLines(data.file) + (shouldIncludeFileReadMitigation() ? CYBER_RISK_MITIGATION_REMINDER : "");
400894
+ content = memoryFileFreshnessPrefix(data) + formatFileLines(data.file) + describeUnreadRemainder(data.file) + (shouldIncludeFileReadMitigation() ? CYBER_RISK_MITIGATION_REMINDER : "");
400874
400895
  } else {
400875
400896
  content = data.file.totalLines === 0 ? "<system-reminder>Warning: the file exists but the contents are empty.</system-reminder>" : `<system-reminder>Warning: the file exists but is shorter than the provided offset (${data.file.startLine}). The file has ${data.file.totalLines} lines.</system-reminder>`;
400876
400897
  }
@@ -419755,7 +419776,7 @@ function Feedback({
419755
419776
  platform: env2.platform,
419756
419777
  gitRepo: envInfo.isGit,
419757
419778
  terminal: env2.terminal,
419758
- version: "1.77.1",
419779
+ version: "1.77.3",
419759
419780
  transcript: normalizeMessagesForAPI(messages),
419760
419781
  errors: sanitizedErrors,
419761
419782
  lastApiRequest: getLastAPIRequest(),
@@ -419947,7 +419968,7 @@ function Feedback({
419947
419968
  ", ",
419948
419969
  env2.terminal,
419949
419970
  ", v",
419950
- "1.77.1"
419971
+ "1.77.3"
419951
419972
  ]
419952
419973
  }, undefined, true, undefined, this)
419953
419974
  ]
@@ -420053,7 +420074,7 @@ ${sanitizedDescription}
420053
420074
  ` + `**Environment Info**
420054
420075
  ` + `- Platform: ${env2.platform}
420055
420076
  ` + `- Terminal: ${env2.terminal}
420056
- ` + `- Version: ${"1.77.1"}
420077
+ ` + `- Version: ${"1.77.3"}
420057
420078
  ` + `- Feedback ID: ${feedbackId}
420058
420079
  ` + `
420059
420080
  **Errors**
@@ -423163,7 +423184,7 @@ function buildPrimarySection() {
423163
423184
  }, undefined, false, undefined, this);
423164
423185
  return [{
423165
423186
  label: "Version",
423166
- value: "1.77.1"
423187
+ value: "1.77.3"
423167
423188
  }, {
423168
423189
  label: "Session name",
423169
423190
  value: nameValue
@@ -426545,7 +426566,7 @@ function Config({
426545
426566
  }
426546
426567
  }, undefined, false, undefined, this)
426547
426568
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
426548
- currentVersion: "1.77.1",
426569
+ currentVersion: "1.77.3",
426549
426570
  onChoice: (choice) => {
426550
426571
  setShowSubmenu(null);
426551
426572
  setTabsHidden(false);
@@ -426557,7 +426578,7 @@ function Config({
426557
426578
  autoUpdatesChannel: "stable"
426558
426579
  };
426559
426580
  if (choice === "stay") {
426560
- newSettings.minimumVersion = "1.77.1";
426581
+ newSettings.minimumVersion = "1.77.3";
426561
426582
  }
426562
426583
  updateSettingsForSource("userSettings", newSettings);
426563
426584
  setSettingsData((prev_27) => ({
@@ -434621,7 +434642,7 @@ function HelpV2(t0) {
434621
434642
  let t6;
434622
434643
  if ($2[31] !== tabs) {
434623
434644
  t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
434624
- title: `UR v${"1.77.1"}`,
434645
+ title: `UR v${"1.77.3"}`,
434625
434646
  color: "professionalBlue",
434626
434647
  defaultTab: "general",
434627
434648
  children: tabs
@@ -435554,7 +435575,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
435554
435575
  async function handleInitialize(options2) {
435555
435576
  return {
435556
435577
  name: "UR",
435557
- version: "1.77.1",
435578
+ version: "1.77.3",
435558
435579
  protocolVersion: "0.1.0",
435559
435580
  workspaceRoot: options2.cwd,
435560
435581
  capabilities: {
@@ -452662,7 +452683,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
452662
452683
  return [];
452663
452684
  }
452664
452685
  }
452665
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.1") {
452686
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.3") {
452666
452687
  if (process.env.USER_TYPE === "ant") {
452667
452688
  const changelog = "";
452668
452689
  if (changelog) {
@@ -452689,7 +452710,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.1")
452689
452710
  releaseNotes
452690
452711
  };
452691
452712
  }
452692
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.77.1") {
452713
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.77.3") {
452693
452714
  if (process.env.USER_TYPE === "ant") {
452694
452715
  const changelog = "";
452695
452716
  if (changelog) {
@@ -455555,7 +455576,7 @@ function getRecentActivitySync() {
455555
455576
  return cachedActivity;
455556
455577
  }
455557
455578
  function getLogoDisplayData() {
455558
- const version2 = process.env.DEMO_VERSION ?? "1.77.1";
455579
+ const version2 = process.env.DEMO_VERSION ?? "1.77.3";
455559
455580
  const serverUrl = getDirectConnectServerUrl();
455560
455581
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
455561
455582
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -456422,7 +456443,7 @@ function LogoV2() {
456422
456443
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
456423
456444
  t2 = () => {
456424
456445
  const currentConfig2 = getGlobalConfig();
456425
- if (currentConfig2.lastReleaseNotesSeen === "1.77.1") {
456446
+ if (currentConfig2.lastReleaseNotesSeen === "1.77.3") {
456426
456447
  return;
456427
456448
  }
456428
456449
  saveGlobalConfig(_temp325);
@@ -457107,12 +457128,12 @@ function LogoV2() {
457107
457128
  return t41;
457108
457129
  }
457109
457130
  function _temp325(current) {
457110
- if (current.lastReleaseNotesSeen === "1.77.1") {
457131
+ if (current.lastReleaseNotesSeen === "1.77.3") {
457111
457132
  return current;
457112
457133
  }
457113
457134
  return {
457114
457135
  ...current,
457115
- lastReleaseNotesSeen: "1.77.1"
457136
+ lastReleaseNotesSeen: "1.77.3"
457116
457137
  };
457117
457138
  }
457118
457139
  function _temp241(s_0) {
@@ -473926,7 +473947,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
473926
473947
  if (spec.name !== specName) {
473927
473948
  throw new Error("Agentic CI workflow spec name does not match");
473928
473949
  }
473929
- const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.77.1" : "1.77.1");
473950
+ const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.77.3" : "1.77.3");
473930
473951
  if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
473931
473952
  throw new Error("invalid ur-agent package version");
473932
473953
  }
@@ -474919,7 +474940,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
474919
474940
  path: ".github/workflows/ur.yml",
474920
474941
  root: "project",
474921
474942
  content: compileAgenticCiWorkflow("default", {
474922
- packageVersion: typeof MACRO !== "undefined" ? "1.77.1" : "1.77.1"
474943
+ packageVersion: typeof MACRO !== "undefined" ? "1.77.3" : "1.77.3"
474923
474944
  })
474924
474945
  },
474925
474946
  {
@@ -474982,7 +475003,7 @@ function value(tokens, flag) {
474982
475003
  return index2 >= 0 ? tokens[index2 + 1] : undefined;
474983
475004
  }
474984
475005
  function cliVersion() {
474985
- return typeof MACRO !== "undefined" ? "1.77.1" : "1.77.1";
475006
+ return typeof MACRO !== "undefined" ? "1.77.3" : "1.77.3";
474986
475007
  }
474987
475008
  function workflowPath(cwd2) {
474988
475009
  return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
@@ -480838,7 +480859,7 @@ function createAcpStdioApp(deps) {
480838
480859
  }
480839
480860
  },
480840
480861
  authMethods: [],
480841
- agentInfo: { name: "UR-Nexus", version: "1.77.1" }
480862
+ agentInfo: { name: "UR-Nexus", version: "1.77.3" }
480842
480863
  })).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
480843
480864
  const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
480844
480865
  await runtime2.announce({
@@ -480935,7 +480956,7 @@ function createAcpStdioAgent(deps) {
480935
480956
  }
480936
480957
  },
480937
480958
  authMethods: [],
480938
- agentInfo: { name: "UR-Nexus", version: "1.77.1" }
480959
+ agentInfo: { name: "UR-Nexus", version: "1.77.3" }
480939
480960
  });
480940
480961
  return;
480941
480962
  case "authenticate":
@@ -690395,7 +690416,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
690395
690416
  smapsRollup,
690396
690417
  platform: process.platform,
690397
690418
  nodeVersion: process.version,
690398
- ccVersion: "1.77.1"
690419
+ ccVersion: "1.77.3"
690399
690420
  };
690400
690421
  }
690401
690422
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -690975,7 +690996,7 @@ var init_bridge_kick = __esm(() => {
690975
690996
  var call154 = async () => {
690976
690997
  return {
690977
690998
  type: "text",
690978
- value: "1.77.1"
690999
+ value: "1.77.3"
690979
691000
  };
690980
691001
  }, version2, version_default;
690981
691002
  var init_version = __esm(() => {
@@ -702242,7 +702263,7 @@ function generateHtmlReport(data, insights) {
702242
702263
  </html>`;
702243
702264
  }
702244
702265
  function buildExportData(data, insights, facets, remoteStats) {
702245
- const version3 = typeof MACRO !== "undefined" ? "1.77.1" : "unknown";
702266
+ const version3 = typeof MACRO !== "undefined" ? "1.77.3" : "unknown";
702246
702267
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
702247
702268
  const facets_summary = {
702248
702269
  total: facets.size,
@@ -706556,7 +706577,7 @@ var init_sessionStorage = __esm(() => {
706556
706577
  init_settings2();
706557
706578
  init_slowOperations();
706558
706579
  init_uuid();
706559
- VERSION7 = typeof MACRO !== "undefined" ? "1.77.1" : "unknown";
706580
+ VERSION7 = typeof MACRO !== "undefined" ? "1.77.3" : "unknown";
706560
706581
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
706561
706582
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
706562
706583
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -707771,7 +707792,7 @@ var init_filesystem = __esm(() => {
707771
707792
  });
707772
707793
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
707773
707794
  const nonce = randomBytes20(16).toString("hex");
707774
- return join232(getURTempDir(), "bundled-skills", "1.77.1", nonce);
707795
+ return join232(getURTempDir(), "bundled-skills", "1.77.3", nonce);
707775
707796
  });
707776
707797
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
707777
707798
  });
@@ -714126,7 +714147,7 @@ function computeFingerprint(messageText2, version3) {
714126
714147
  }
714127
714148
  function computeFingerprintFromMessages(messages) {
714128
714149
  const firstMessageText = extractFirstMessageText(messages);
714129
- return computeFingerprint(firstMessageText, "1.77.1");
714150
+ return computeFingerprint(firstMessageText, "1.77.3");
714130
714151
  }
714131
714152
  var FINGERPRINT_SALT = "59cf53e54c78";
714132
714153
  var init_fingerprint = () => {};
@@ -716048,7 +716069,7 @@ async function sideQuery(opts) {
716048
716069
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
716049
716070
  }
716050
716071
  const messageText2 = extractFirstUserMessageText(messages);
716051
- const fingerprint2 = computeFingerprint(messageText2, "1.77.1");
716072
+ const fingerprint2 = computeFingerprint(messageText2, "1.77.3");
716052
716073
  const attributionHeader = getAttributionHeader(fingerprint2);
716053
716074
  const systemBlocks = [
716054
716075
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -720885,7 +720906,7 @@ function buildSystemInitMessage(inputs) {
720885
720906
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
720886
720907
  apiKeySource: getURHQApiKeyWithSource().source,
720887
720908
  betas: getSdkBetas(),
720888
- ur_version: "1.77.1",
720909
+ ur_version: "1.77.3",
720889
720910
  output_style: outputStyle2,
720890
720911
  agents: inputs.agents.map((agent2) => agent2.agentType),
720891
720912
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -734757,7 +734778,7 @@ var init_useVoiceEnabled = __esm(() => {
734757
734778
  function getSemverPart(version3) {
734758
734779
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
734759
734780
  }
734760
- function useUpdateNotification(updatedVersion, initialVersion = "1.77.1") {
734781
+ function useUpdateNotification(updatedVersion, initialVersion = "1.77.3") {
734761
734782
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react223.useState(() => getSemverPart(initialVersion));
734762
734783
  if (!updatedVersion) {
734763
734784
  return null;
@@ -734806,7 +734827,7 @@ function AutoUpdater({
734806
734827
  return;
734807
734828
  }
734808
734829
  if (false) {}
734809
- const currentVersion = "1.77.1";
734830
+ const currentVersion = "1.77.3";
734810
734831
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
734811
734832
  let latestVersion = await getLatestVersion(channel);
734812
734833
  const isDisabled = isAutoUpdaterDisabled();
@@ -735035,12 +735056,12 @@ function NativeAutoUpdater({
735035
735056
  logEvent("tengu_native_auto_updater_start", {});
735036
735057
  try {
735037
735058
  const maxVersion = await getMaxVersion();
735038
- if (maxVersion && gt("1.77.1", maxVersion)) {
735059
+ if (maxVersion && gt("1.77.3", maxVersion)) {
735039
735060
  const msg = await getMaxVersionMessage();
735040
735061
  setMaxVersionIssue(msg ?? "affects your version");
735041
735062
  }
735042
735063
  const result = await installLatest(channel);
735043
- const currentVersion = "1.77.1";
735064
+ const currentVersion = "1.77.3";
735044
735065
  const latencyMs = Date.now() - startTime;
735045
735066
  if (result.lockFailed) {
735046
735067
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -735177,17 +735198,17 @@ function PackageManagerAutoUpdater(t0) {
735177
735198
  const maxVersion = await getMaxVersion();
735178
735199
  if (maxVersion && latest && gt(latest, maxVersion)) {
735179
735200
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
735180
- if (gte("1.77.1", maxVersion)) {
735181
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.77.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
735201
+ if (gte("1.77.3", maxVersion)) {
735202
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.77.3"} is already at or above maxVersion ${maxVersion}, skipping update`);
735182
735203
  setUpdateAvailable(false);
735183
735204
  return;
735184
735205
  }
735185
735206
  latest = maxVersion;
735186
735207
  }
735187
- const hasUpdate = latest && !gte("1.77.1", latest) && !shouldSkipVersion(latest);
735208
+ const hasUpdate = latest && !gte("1.77.3", latest) && !shouldSkipVersion(latest);
735188
735209
  setUpdateAvailable(!!hasUpdate);
735189
735210
  if (hasUpdate) {
735190
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.77.1"} -> ${latest}`);
735211
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.77.3"} -> ${latest}`);
735191
735212
  }
735192
735213
  };
735193
735214
  $2[0] = t1;
@@ -735221,7 +735242,7 @@ function PackageManagerAutoUpdater(t0) {
735221
735242
  wrap: "truncate",
735222
735243
  children: [
735223
735244
  "currentVersion: ",
735224
- "1.77.1"
735245
+ "1.77.3"
735225
735246
  ]
735226
735247
  }, undefined, true, undefined, this);
735227
735248
  $2[3] = verbose;
@@ -746021,7 +746042,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
746021
746042
  project_dir: getOriginalCwd(),
746022
746043
  added_dirs: addedDirs
746023
746044
  },
746024
- version: "1.77.1",
746045
+ version: "1.77.3",
746025
746046
  output_style: {
746026
746047
  name: outputStyleName
746027
746048
  },
@@ -746156,7 +746177,7 @@ function StatusLineInner({
746156
746177
  const attention = customStatusError ?? taskAttention;
746157
746178
  const terminalSize = React132.useContext(TerminalSizeContext);
746158
746179
  const defaultStatusLineText = buildDefaultStatusBar({
746159
- version: "1.77.1",
746180
+ version: "1.77.3",
746160
746181
  providerLabel: providerRuntime.providerLabel,
746161
746182
  authMode: providerRuntime.authLabel,
746162
746183
  model: renderModelName(mainLoopModel) || providerRuntime.model || "",
@@ -758441,7 +758462,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
758441
758462
  } catch {}
758442
758463
  const data = {
758443
758464
  trigger: trigger2,
758444
- version: "1.77.1",
758465
+ version: "1.77.3",
758445
758466
  platform: process.platform,
758446
758467
  transcript,
758447
758468
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -770815,7 +770836,7 @@ function WelcomeV2() {
770815
770836
  dimColor: true,
770816
770837
  children: [
770817
770838
  "v",
770818
- "1.77.1"
770839
+ "1.77.3"
770819
770840
  ]
770820
770841
  }, undefined, true, undefined, this)
770821
770842
  ]
@@ -772075,7 +772096,7 @@ function completeOnboarding() {
772075
772096
  saveGlobalConfig((current) => ({
772076
772097
  ...current,
772077
772098
  hasCompletedOnboarding: true,
772078
- lastOnboardingVersion: "1.77.1"
772099
+ lastOnboardingVersion: "1.77.3"
772079
772100
  }));
772080
772101
  }
772081
772102
  function showDialog(root2, renderer) {
@@ -777119,7 +777140,7 @@ function appendToLog(path24, message) {
777119
777140
  cwd: getFsImplementation().cwd(),
777120
777141
  userType: process.env.USER_TYPE,
777121
777142
  sessionId: getSessionId(),
777122
- version: "1.77.1"
777143
+ version: "1.77.3"
777123
777144
  };
777124
777145
  getLogWriter(path24).write(messageWithTimestamp);
777125
777146
  }
@@ -781278,8 +781299,8 @@ async function getEnvLessBridgeConfig() {
781278
781299
  }
781279
781300
  async function checkEnvLessBridgeMinVersion() {
781280
781301
  const cfg = await getEnvLessBridgeConfig();
781281
- if (cfg.min_version && lt("1.77.1", cfg.min_version)) {
781282
- return `Your version of UR (${"1.77.1"}) is too old for Remote Control.
781302
+ if (cfg.min_version && lt("1.77.3", cfg.min_version)) {
781303
+ return `Your version of UR (${"1.77.3"}) is too old for Remote Control.
781283
781304
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
781284
781305
  }
781285
781306
  return null;
@@ -781753,7 +781774,7 @@ async function initBridgeCore(params) {
781753
781774
  const rawApi = createBridgeApiClient({
781754
781775
  baseUrl,
781755
781776
  getAccessToken,
781756
- runnerVersion: "1.77.1",
781777
+ runnerVersion: "1.77.3",
781757
781778
  onDebug: logForDebugging,
781758
781779
  onAuth401,
781759
781780
  getTrustedDeviceToken
@@ -791226,7 +791247,7 @@ function getAgUiCapabilities() {
791226
791247
  name: "UR-Nexus",
791227
791248
  type: "ur-nexus",
791228
791249
  description: "Provider-flexible, local-first autonomous engineering workflow agent.",
791229
- version: "1.77.1",
791250
+ version: "1.77.3",
791230
791251
  provider: "UR",
791231
791252
  documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
791232
791253
  },
@@ -792366,7 +792387,7 @@ function createMCPServer(cwd4, debug2, verbose) {
792366
792387
  };
792367
792388
  const server2 = new Server({
792368
792389
  name: "ur-nexus",
792369
- version: "1.77.1"
792390
+ version: "1.77.3"
792370
792391
  }, {
792371
792392
  capabilities: {
792372
792393
  tools: {}
@@ -793524,7 +793545,7 @@ function thrownResponse(error40) {
793524
793545
  }
793525
793546
  async function createUrMcp2026Runtime(options4) {
793526
793547
  const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
793527
- const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.77.1" }, { capabilities: {} });
793548
+ const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.77.3" }, { capabilities: {} });
793528
793549
  const [clientTransport, serverTransport] = createLinkedTransportPair();
793529
793550
  try {
793530
793551
  await server2.connect(serverTransport);
@@ -793535,7 +793556,7 @@ async function createUrMcp2026Runtime(options4) {
793535
793556
  }
793536
793557
  const runtime2 = new Mcp2026Runtime({
793537
793558
  cwd: options4.cwd,
793538
- version: "1.77.1",
793559
+ version: "1.77.3",
793539
793560
  backend: {
793540
793561
  listTools: async () => {
793541
793562
  const listed = await client2.listTools();
@@ -795676,7 +795697,7 @@ async function update() {
795676
795697
  logEvent("tengu_update_check", {});
795677
795698
  const diagnostic2 = await getDoctorDiagnostic();
795678
795699
  const result = await checkUpgradeStatus({
795679
- currentVersion: "1.77.1",
795700
+ currentVersion: "1.77.3",
795680
795701
  packageName: UR_AGENT_PACKAGE_NAME,
795681
795702
  installationType: diagnostic2.installationType,
795682
795703
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -796992,7 +797013,7 @@ ${customInstructions}` : customInstructions;
796992
797013
  }
796993
797014
  }
796994
797015
  logForDiagnosticsNoPII("info", "started", {
796995
- version: "1.77.1",
797016
+ version: "1.77.3",
796996
797017
  is_native_binary: isInBundledMode()
796997
797018
  });
796998
797019
  registerCleanup(async () => {
@@ -797778,7 +797799,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
797778
797799
  pendingHookMessages
797779
797800
  }, renderAndRun);
797780
797801
  }
797781
- }).version("1.77.1 (UR-Nexus)", "-v, --version", "Output the version number");
797802
+ }).version("1.77.3 (UR-Nexus)", "-v, --version", "Output the version number");
797782
797803
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
797783
797804
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
797784
797805
  if (canUserConfigureAdvisor()) {
@@ -798830,7 +798851,7 @@ if (false) {}
798830
798851
  async function main2() {
798831
798852
  const args = process.argv.slice(2);
798832
798853
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
798833
- console.log(`${"1.77.1"} (UR-Nexus)`);
798854
+ console.log(`${"1.77.3"} (UR-Nexus)`);
798834
798855
  return;
798835
798856
  }
798836
798857
  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.1 (UR-Nexus)"
22
+ # expected for this release: "1.77.3 (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.1</p>
48
+ <p class="eyebrow">Version 1.77.3</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.1"
10
+ version = "1.77.3"
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.1",
5
+ "version": "1.77.3",
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.1",
3
+ "version": "1.77.3",
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",