ur-agent 1.78.0 → 1.78.2

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,35 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.78.2
4
+
5
+ - `describeQuestionPayloadProblems` returns only problems again. A description
6
+ of the payload's shape had been appended to that list, which changed its
7
+ length and broke callers that count entries. The shape is now returned by a
8
+ separate `describeQuestionPayloadShape`, and the tool error message joins the
9
+ two, so the diagnosis is unchanged while the list stays a list of problems.
10
+ - The effective-context-window arithmetic is exposed as a pure function,
11
+ `computeEffectiveContextWindowSize`, so the reserve cap can be checked
12
+ without a provider or settings in scope.
13
+
14
+ ## 1.78.1
15
+
16
+ - Editing a file through Bash or NotebookEdit now clears that file's delivered
17
+ LSP diagnostics, so errors introduced by the edit reach the model. Diagnostics
18
+ are deduplicated across turns: one identical to a diagnostic already
19
+ delivered for the file is suppressed. Edit and Write cleared the delivered
20
+ set after writing; a `sed` edit through Bash and a notebook cell edit change
21
+ the file the same way but did not, so a problem reintroduced by either was
22
+ silently withheld.
23
+
24
+ ## 1.78.0
25
+
26
+ - The summary reserve is capped as a share of the context window, not just at a
27
+ flat 20,000 tokens. A model with a small window was left with a negative
28
+ effective window — every token count above it, so autocompact fired on every
29
+ turn and never settled. A small window now keeps at least four fifths of
30
+ itself for the conversation, and the effective size can no longer reach zero
31
+ for any reported value. Large windows still reserve the flat amount.
32
+
3
33
  ## 1.77.9
4
34
 
5
35
  - Leaked deliberation is collapsed out of the visible transcript. Models
package/dist/cli.js CHANGED
@@ -87529,7 +87529,6 @@ function describeQuestionPayloadProblems(value) {
87529
87529
  if (!Array.isArray(questions) || questions.length === 0) {
87530
87530
  return ["`questions` must be a non-empty array."];
87531
87531
  }
87532
- 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("; ");
87533
87532
  questions.forEach((question, index2) => {
87534
87533
  const where = `questions[${index2}]`;
87535
87534
  if (!isRecord2(question)) {
@@ -87551,11 +87550,19 @@ function describeQuestionPayloadProblems(value) {
87551
87550
  problems.push(`${where}.options must contain at least 2 distinct labels; this question is open-ended and should be asked in plain text instead.`);
87552
87551
  }
87553
87552
  });
87554
- if (problems.length > 0 && shapes) {
87555
- problems.push(`Received ${shapes}.`);
87556
- }
87557
87553
  return problems;
87558
87554
  }
87555
+ function describeQuestionPayloadShape(value) {
87556
+ if (!isRecord2(value)) {
87557
+ return `Received ${Array.isArray(value) ? "an array" : typeof value}.`;
87558
+ }
87559
+ const questions = value.questions;
87560
+ if (!Array.isArray(questions)) {
87561
+ return `Received an object with keys: ${Object.keys(value).join(", ") || "(none)"}.`;
87562
+ }
87563
+ 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("; ");
87564
+ return shapes ? `Received ${shapes}.` : "";
87565
+ }
87559
87566
 
87560
87567
  // src/tools/AskUserQuestionTool/AskUserQuestionTool.tsx
87561
87568
  function objectValue(value) {
@@ -107573,7 +107580,7 @@ var init_auth = __esm(() => {
107573
107580
 
107574
107581
  // src/utils/userAgent.ts
107575
107582
  function getURCodeUserAgent() {
107576
- return `ur/${"1.77.9"}`;
107583
+ return `ur/${"1.78.2"}`;
107577
107584
  }
107578
107585
 
107579
107586
  // src/utils/workloadContext.ts
@@ -107595,7 +107602,7 @@ function getUserAgent() {
107595
107602
  const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
107596
107603
  const workload = getWorkload();
107597
107604
  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})`;
107605
+ return `ur-cli/${"1.78.2"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
107599
107606
  }
107600
107607
  function getMCPUserAgent() {
107601
107608
  const parts = [];
@@ -107609,7 +107616,7 @@ function getMCPUserAgent() {
107609
107616
  parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
107610
107617
  }
107611
107618
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
107612
- return `ur/${"1.77.9"}${suffix}`;
107619
+ return `ur/${"1.78.2"}${suffix}`;
107613
107620
  }
107614
107621
  function getWebFetchUserAgent() {
107615
107622
  return `UR-User (${getURCodeUserAgent()})`;
@@ -107747,7 +107754,7 @@ var init_user = __esm(() => {
107747
107754
  deviceId,
107748
107755
  sessionId: getSessionId(),
107749
107756
  email: getEmail(),
107750
- appVersion: "1.77.9",
107757
+ appVersion: "1.78.2",
107751
107758
  platform: getHostPlatformForAnalytics(),
107752
107759
  organizationUuid,
107753
107760
  accountUuid,
@@ -115634,7 +115641,7 @@ var init_metadata = __esm(() => {
115634
115641
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
115635
115642
  WHITESPACE_REGEX = /\s+/;
115636
115643
  getVersionBase = memoize_default(() => {
115637
- const match = "1.77.9".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
115644
+ const match = "1.78.2".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
115638
115645
  return match ? match[0] : undefined;
115639
115646
  });
115640
115647
  buildEnvContext = memoize_default(async () => {
@@ -115674,7 +115681,7 @@ var init_metadata = __esm(() => {
115674
115681
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
115675
115682
  isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
115676
115683
  isURAiAuth: isURAISubscriber(),
115677
- version: "1.77.9",
115684
+ version: "1.78.2",
115678
115685
  versionBase: getVersionBase(),
115679
115686
  buildTime: "",
115680
115687
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
@@ -116344,7 +116351,7 @@ function initialize1PEventLogging() {
116344
116351
  const platform2 = getPlatform();
116345
116352
  const attributes = {
116346
116353
  [import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
116347
- [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.77.9"
116354
+ [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.78.2"
116348
116355
  };
116349
116356
  if (platform2 === "wsl") {
116350
116357
  const wslVersion = getWslVersion();
@@ -116372,7 +116379,7 @@ function initialize1PEventLogging() {
116372
116379
  })
116373
116380
  ]
116374
116381
  });
116375
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.77.9");
116382
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.78.2");
116376
116383
  }
116377
116384
  async function reinitialize1PEventLoggingIfConfigChanged() {
116378
116385
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -126154,7 +126161,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
126154
126161
  function formatA2AAgentCard(options = {}, pretty = true) {
126155
126162
  return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
126156
126163
  }
126157
- var urVersion = "1.77.9", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
126164
+ var urVersion = "1.78.2", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
126158
126165
  var init_trends = __esm(() => {
126159
126166
  init_a2aCardSignature();
126160
126167
  coverage = [
@@ -128957,7 +128964,7 @@ function getAttributionHeader(fingerprint) {
128957
128964
  if (!isAttributionHeaderEnabled()) {
128958
128965
  return "";
128959
128966
  }
128960
- const version2 = `${"1.77.9"}.${fingerprint}`;
128967
+ const version2 = `${"1.78.2"}.${fingerprint}`;
128961
128968
  const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
128962
128969
  const cch = "";
128963
128970
  const workload = getWorkload();
@@ -156961,7 +156968,7 @@ var init_projectSafety = __esm(() => {
156961
156968
  function getInstruments() {
156962
156969
  if (instruments)
156963
156970
  return instruments;
156964
- const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.77.9");
156971
+ const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.78.2");
156965
156972
  instruments = {
156966
156973
  operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
156967
156974
  description: "GenAI operation duration.",
@@ -157059,7 +157066,7 @@ function genAiAgentAttributes() {
157059
157066
  "gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
157060
157067
  "gen_ai.provider.name": "ur",
157061
157068
  "gen_ai.agent.name": "UR-Nexus",
157062
- "gen_ai.agent.version": "1.77.9"
157069
+ "gen_ai.agent.version": "1.78.2"
157063
157070
  };
157064
157071
  }
157065
157072
  function genAiWorkflowAttributes(workflowName) {
@@ -157075,7 +157082,7 @@ function genAiWorkflowAttributes(workflowName) {
157075
157082
  function startGenAiWorkflowSpan(workflowName) {
157076
157083
  const attributes = genAiWorkflowAttributes(workflowName);
157077
157084
  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 });
157085
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.2").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
157079
157086
  }
157080
157087
  function endGenAiWorkflowSpan(span, options2 = {}) {
157081
157088
  try {
@@ -157113,7 +157120,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
157113
157120
  if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
157114
157121
  attributes["gen_ai.memory.record.count"] = options2.recordCount;
157115
157122
  }
157116
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.9").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
157123
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.2").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
157117
157124
  }
157118
157125
  function endGenAiMemorySpan(span, options2 = {}) {
157119
157126
  try {
@@ -250761,7 +250768,7 @@ function getTelemetryAttributes() {
250761
250768
  attributes["session.id"] = sessionId;
250762
250769
  }
250763
250770
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
250764
- attributes["app.version"] = "1.77.9";
250771
+ attributes["app.version"] = "1.78.2";
250765
250772
  }
250766
250773
  const oauthAccount = getOauthAccountInfo();
250767
250774
  if (oauthAccount) {
@@ -297268,7 +297275,7 @@ function getInstallationEnv() {
297268
297275
  return;
297269
297276
  }
297270
297277
  function getURCodeVersion() {
297271
- return "1.77.9";
297278
+ return "1.78.2";
297272
297279
  }
297273
297280
  async function getInstalledVSCodeExtensionVersion(command) {
297274
297281
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -304599,7 +304606,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
304599
304606
  const client2 = new Client({
304600
304607
  name: "ur",
304601
304608
  title: "UR",
304602
- version: "1.77.9",
304609
+ version: "1.78.2",
304603
304610
  description: "UR-Nexus autonomous engineering workflow engine",
304604
304611
  websiteUrl: PRODUCT_URL
304605
304612
  }, {
@@ -304959,7 +304966,7 @@ var init_client5 = __esm(() => {
304959
304966
  const client2 = new Client({
304960
304967
  name: "ur",
304961
304968
  title: "UR",
304962
- version: "1.77.9",
304969
+ version: "1.78.2",
304963
304970
  description: "UR-Nexus autonomous engineering workflow engine",
304964
304971
  websiteUrl: PRODUCT_URL
304965
304972
  }, {
@@ -317568,7 +317575,7 @@ async function createRuntime() {
317568
317575
  bootstrapTelemetry();
317569
317576
  const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
317570
317577
  [import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
317571
- [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.77.9"
317578
+ [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.78.2"
317572
317579
  }));
317573
317580
  const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
317574
317581
  resource,
@@ -317601,11 +317608,11 @@ async function createRuntime() {
317601
317608
  setMeterProvider(meterProvider);
317602
317609
  setLoggerProvider(loggerProvider);
317603
317610
  if (meterProvider) {
317604
- const meter = meterProvider.getMeter("ur-agent", "1.77.9");
317611
+ const meter = meterProvider.getMeter("ur-agent", "1.78.2");
317605
317612
  setMeter(meter, (name, options2) => meter.createCounter(name, options2));
317606
317613
  }
317607
317614
  if (loggerProvider) {
317608
- setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.77.9"));
317615
+ setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.78.2"));
317609
317616
  }
317610
317617
  if (!cleanupRegistered2) {
317611
317618
  cleanupRegistered2 = true;
@@ -318267,9 +318274,9 @@ async function assertMinVersion() {
318267
318274
  if (false) {}
318268
318275
  try {
318269
318276
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
318270
- if (versionConfig.minVersion && lt("1.77.9", versionConfig.minVersion)) {
318277
+ if (versionConfig.minVersion && lt("1.78.2", versionConfig.minVersion)) {
318271
318278
  console.error(`
318272
- It looks like your version of UR (${"1.77.9"}) needs an update.
318279
+ It looks like your version of UR (${"1.78.2"}) needs an update.
318273
318280
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
318274
318281
 
318275
318282
  To update, please run:
@@ -318485,7 +318492,7 @@ async function installGlobalPackage(specificVersion) {
318485
318492
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
318486
318493
  logEvent("tengu_auto_updater_lock_contention", {
318487
318494
  pid: process.pid,
318488
- currentVersion: "1.77.9"
318495
+ currentVersion: "1.78.2"
318489
318496
  });
318490
318497
  return "in_progress";
318491
318498
  }
@@ -318494,7 +318501,7 @@ async function installGlobalPackage(specificVersion) {
318494
318501
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
318495
318502
  logError2(new Error("Windows NPM detected in WSL environment"));
318496
318503
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
318497
- currentVersion: "1.77.9"
318504
+ currentVersion: "1.78.2"
318498
318505
  });
318499
318506
  console.error(`
318500
318507
  Error: Windows NPM detected in WSL
@@ -319029,7 +319036,7 @@ function detectLinuxGlobPatternWarnings() {
319029
319036
  }
319030
319037
  async function getDoctorDiagnostic() {
319031
319038
  const installationType = await getCurrentInstallationType();
319032
- const version2 = typeof MACRO !== "undefined" ? "1.77.9" : "unknown";
319039
+ const version2 = typeof MACRO !== "undefined" ? "1.78.2" : "unknown";
319033
319040
  const installationPath = await getInstallationPath();
319034
319041
  const invokedBinary = getInvokedBinary();
319035
319042
  const multipleInstallations = await detectMultipleInstallations();
@@ -319964,8 +319971,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
319964
319971
  const maxVersion = await getMaxVersion();
319965
319972
  if (maxVersion && gt(version2, maxVersion)) {
319966
319973
  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`);
319974
+ if (gte("1.78.2", maxVersion)) {
319975
+ logForDebugging(`Native installer: current version ${"1.78.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
319969
319976
  logEvent("tengu_native_update_skipped_max_version", {
319970
319977
  latency_ms: Date.now() - startTime,
319971
319978
  max_version: maxVersion,
@@ -319976,7 +319983,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
319976
319983
  version2 = maxVersion;
319977
319984
  }
319978
319985
  }
319979
- if (!forceReinstall && version2 === "1.77.9" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
319986
+ if (!forceReinstall && version2 === "1.78.2" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
319980
319987
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
319981
319988
  logEvent("tengu_native_update_complete", {
319982
319989
  latency_ms: Date.now() - startTime,
@@ -368545,6 +368552,7 @@ var init_UI12 = __esm(() => {
368545
368552
  import { extname as extname13, isAbsolute as isAbsolute28, resolve as resolve37 } from "path";
368546
368553
  var inputSchema16, outputSchema13, NotebookEditTool;
368547
368554
  var init_NotebookEditTool = __esm(() => {
368555
+ init_LSPDiagnosticRegistry();
368548
368556
  init_fileHistory();
368549
368557
  init_v4();
368550
368558
  init_Tool();
@@ -368845,6 +368853,7 @@ var init_NotebookEditTool = __esm(() => {
368845
368853
  const IPYNB_INDENT = 1;
368846
368854
  const updatedContent = jsonStringify(notebook, null, IPYNB_INDENT);
368847
368855
  writeTextContent(fullPath, updatedContent, encoding, lineEndings);
368856
+ clearDeliveredDiagnosticsForFile(`file://${fullPath}`);
368848
368857
  readFileState.set(fullPath, {
368849
368858
  content: updatedContent,
368850
368859
  timestamp: getFileModificationTime(fullPath),
@@ -387111,6 +387120,7 @@ Exit code 1`,
387111
387120
  const endings = detectLineEndings(absoluteFilePath);
387112
387121
  writeTextContent(absoluteFilePath, newContent, encoding, endings);
387113
387122
  notifyVscodeFileUpdated(absoluteFilePath, originalContent, newContent);
387123
+ clearDeliveredDiagnosticsForFile(`file://${absoluteFilePath}`);
387114
387124
  toolUseContext.readFileState.set(absoluteFilePath, {
387115
387125
  content: newContent,
387116
387126
  timestamp: getFileModificationTime(absoluteFilePath),
@@ -387388,6 +387398,7 @@ var init_BashTool = __esm(() => {
387388
387398
  init_readOnlyValidation();
387389
387399
  init_sedEditParser();
387390
387400
  init_shouldUseSandbox();
387401
+ init_LSPDiagnosticRegistry();
387391
387402
  init_UI6();
387392
387403
  init_utils9();
387393
387404
  jsx_dev_runtime154 = __toESM(require_jsx_dev_runtime(), 1);
@@ -389691,7 +389702,7 @@ function isAnyTracingEnabled() {
389691
389702
  return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
389692
389703
  }
389693
389704
  function getTracer() {
389694
- return import_api39.trace.getTracer("ur-agent.gen_ai", "1.77.9");
389705
+ return import_api39.trace.getTracer("ur-agent.gen_ai", "1.78.2");
389695
389706
  }
389696
389707
  function createSpanAttributes(spanType, customAttributes = {}) {
389697
389708
  const baseAttributes = getTelemetryAttributes();
@@ -391848,8 +391859,9 @@ async function checkPermissionsAndCallTool(tool, toolUseID, input, toolUseContex
391848
391859
  }
391849
391860
  if (!parsedInput.success) {
391850
391861
  recordCallFailure(callSig);
391851
- const questionProblems = tool.name === ASK_USER_QUESTION_TOOL_NAME ? describeQuestionPayloadProblems(normalizeAskUserQuestionInput(input)) : [];
391852
- let errorContent = questionProblems.length > 0 ? `${tool.name} input cannot be rendered: ${questionProblems.join(" ")}` : formatZodValidationError(tool.name, parsedInput.error);
391862
+ const normalizedQuestionInput = tool.name === ASK_USER_QUESTION_TOOL_NAME ? normalizeAskUserQuestionInput(input) : undefined;
391863
+ const questionProblems = normalizedQuestionInput === undefined ? [] : describeQuestionPayloadProblems(normalizedQuestionInput);
391864
+ let errorContent = questionProblems.length > 0 ? `${tool.name} input cannot be rendered: ${questionProblems.join(" ")} ${describeQuestionPayloadShape(normalizedQuestionInput)}`.trim() : formatZodValidationError(tool.name, parsedInput.error);
391853
391865
  const schemaHint = buildSchemaNotSentHint(tool, toolUseContext.messages, toolUseContext.options.tools);
391854
391866
  if (schemaHint) {
391855
391867
  logEvent("tengu_deferred_tool_schema_not_sent", {
@@ -398198,6 +398210,10 @@ var init_sessionMemoryCompact = __esm(() => {
398198
398210
  });
398199
398211
 
398200
398212
  // src/services/compact/autoCompact.ts
398213
+ function computeEffectiveContextWindowSize(contextWindow, maxOutputTokens) {
398214
+ const reservedTokensForSummary = Math.min(maxOutputTokens, MAX_OUTPUT_TOKENS_FOR_SUMMARY, Math.floor(contextWindow * MAX_SUMMARY_RESERVE_SHARE));
398215
+ return Math.max(contextWindow - reservedTokensForSummary, 1);
398216
+ }
398201
398217
  function getEffectiveContextWindowSize(model) {
398202
398218
  let contextWindow = getContextWindowForModel(model, getSdkBetas());
398203
398219
  const autoCompactWindow = process.env.UR_CODE_AUTO_COMPACT_WINDOW;
@@ -398207,8 +398223,7 @@ function getEffectiveContextWindowSize(model) {
398207
398223
  contextWindow = Math.min(contextWindow, parsed);
398208
398224
  }
398209
398225
  }
398210
- const reservedTokensForSummary = Math.min(getMaxOutputTokensForModel(model), MAX_OUTPUT_TOKENS_FOR_SUMMARY, Math.floor(contextWindow * MAX_SUMMARY_RESERVE_SHARE));
398211
- return Math.max(contextWindow - reservedTokensForSummary, 1);
398226
+ return computeEffectiveContextWindowSize(contextWindow, getMaxOutputTokensForModel(model));
398212
398227
  }
398213
398228
  function getAutoCompactThreshold(model) {
398214
398229
  const effectiveContextWindow = getEffectiveContextWindowSize(model);
@@ -419913,7 +419928,7 @@ function Feedback({
419913
419928
  platform: env2.platform,
419914
419929
  gitRepo: envInfo.isGit,
419915
419930
  terminal: env2.terminal,
419916
- version: "1.77.9",
419931
+ version: "1.78.2",
419917
419932
  transcript: normalizeMessagesForAPI(messages),
419918
419933
  errors: sanitizedErrors,
419919
419934
  lastApiRequest: getLastAPIRequest(),
@@ -420105,7 +420120,7 @@ function Feedback({
420105
420120
  ", ",
420106
420121
  env2.terminal,
420107
420122
  ", v",
420108
- "1.77.9"
420123
+ "1.78.2"
420109
420124
  ]
420110
420125
  }, undefined, true, undefined, this)
420111
420126
  ]
@@ -420211,7 +420226,7 @@ ${sanitizedDescription}
420211
420226
  ` + `**Environment Info**
420212
420227
  ` + `- Platform: ${env2.platform}
420213
420228
  ` + `- Terminal: ${env2.terminal}
420214
- ` + `- Version: ${"1.77.9"}
420229
+ ` + `- Version: ${"1.78.2"}
420215
420230
  ` + `- Feedback ID: ${feedbackId}
420216
420231
  ` + `
420217
420232
  **Errors**
@@ -423321,7 +423336,7 @@ function buildPrimarySection() {
423321
423336
  }, undefined, false, undefined, this);
423322
423337
  return [{
423323
423338
  label: "Version",
423324
- value: "1.77.9"
423339
+ value: "1.78.2"
423325
423340
  }, {
423326
423341
  label: "Session name",
423327
423342
  value: nameValue
@@ -426703,7 +426718,7 @@ function Config({
426703
426718
  }
426704
426719
  }, undefined, false, undefined, this)
426705
426720
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
426706
- currentVersion: "1.77.9",
426721
+ currentVersion: "1.78.2",
426707
426722
  onChoice: (choice) => {
426708
426723
  setShowSubmenu(null);
426709
426724
  setTabsHidden(false);
@@ -426715,7 +426730,7 @@ function Config({
426715
426730
  autoUpdatesChannel: "stable"
426716
426731
  };
426717
426732
  if (choice === "stay") {
426718
- newSettings.minimumVersion = "1.77.9";
426733
+ newSettings.minimumVersion = "1.78.2";
426719
426734
  }
426720
426735
  updateSettingsForSource("userSettings", newSettings);
426721
426736
  setSettingsData((prev_27) => ({
@@ -434779,7 +434794,7 @@ function HelpV2(t0) {
434779
434794
  let t6;
434780
434795
  if ($2[31] !== tabs) {
434781
434796
  t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
434782
- title: `UR v${"1.77.9"}`,
434797
+ title: `UR v${"1.78.2"}`,
434783
434798
  color: "professionalBlue",
434784
434799
  defaultTab: "general",
434785
434800
  children: tabs
@@ -435712,7 +435727,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
435712
435727
  async function handleInitialize(options2) {
435713
435728
  return {
435714
435729
  name: "UR",
435715
- version: "1.77.9",
435730
+ version: "1.78.2",
435716
435731
  protocolVersion: "0.1.0",
435717
435732
  workspaceRoot: options2.cwd,
435718
435733
  capabilities: {
@@ -452820,7 +452835,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
452820
452835
  return [];
452821
452836
  }
452822
452837
  }
452823
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.9") {
452838
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.78.2") {
452824
452839
  if (process.env.USER_TYPE === "ant") {
452825
452840
  const changelog = "";
452826
452841
  if (changelog) {
@@ -452847,7 +452862,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.9")
452847
452862
  releaseNotes
452848
452863
  };
452849
452864
  }
452850
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.77.9") {
452865
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.78.2") {
452851
452866
  if (process.env.USER_TYPE === "ant") {
452852
452867
  const changelog = "";
452853
452868
  if (changelog) {
@@ -455713,7 +455728,7 @@ function getRecentActivitySync() {
455713
455728
  return cachedActivity;
455714
455729
  }
455715
455730
  function getLogoDisplayData() {
455716
- const version2 = process.env.DEMO_VERSION ?? "1.77.9";
455731
+ const version2 = process.env.DEMO_VERSION ?? "1.78.2";
455717
455732
  const serverUrl = getDirectConnectServerUrl();
455718
455733
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
455719
455734
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -456580,7 +456595,7 @@ function LogoV2() {
456580
456595
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
456581
456596
  t2 = () => {
456582
456597
  const currentConfig2 = getGlobalConfig();
456583
- if (currentConfig2.lastReleaseNotesSeen === "1.77.9") {
456598
+ if (currentConfig2.lastReleaseNotesSeen === "1.78.2") {
456584
456599
  return;
456585
456600
  }
456586
456601
  saveGlobalConfig(_temp325);
@@ -457265,12 +457280,12 @@ function LogoV2() {
457265
457280
  return t41;
457266
457281
  }
457267
457282
  function _temp325(current) {
457268
- if (current.lastReleaseNotesSeen === "1.77.9") {
457283
+ if (current.lastReleaseNotesSeen === "1.78.2") {
457269
457284
  return current;
457270
457285
  }
457271
457286
  return {
457272
457287
  ...current,
457273
- lastReleaseNotesSeen: "1.77.9"
457288
+ lastReleaseNotesSeen: "1.78.2"
457274
457289
  };
457275
457290
  }
457276
457291
  function _temp241(s_0) {
@@ -474084,7 +474099,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
474084
474099
  if (spec.name !== specName) {
474085
474100
  throw new Error("Agentic CI workflow spec name does not match");
474086
474101
  }
474087
- const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.77.9" : "1.77.9");
474102
+ const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.78.2" : "1.78.2");
474088
474103
  if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
474089
474104
  throw new Error("invalid ur-agent package version");
474090
474105
  }
@@ -475077,7 +475092,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
475077
475092
  path: ".github/workflows/ur.yml",
475078
475093
  root: "project",
475079
475094
  content: compileAgenticCiWorkflow("default", {
475080
- packageVersion: typeof MACRO !== "undefined" ? "1.77.9" : "1.77.9"
475095
+ packageVersion: typeof MACRO !== "undefined" ? "1.78.2" : "1.78.2"
475081
475096
  })
475082
475097
  },
475083
475098
  {
@@ -475140,7 +475155,7 @@ function value(tokens, flag) {
475140
475155
  return index2 >= 0 ? tokens[index2 + 1] : undefined;
475141
475156
  }
475142
475157
  function cliVersion() {
475143
- return typeof MACRO !== "undefined" ? "1.77.9" : "1.77.9";
475158
+ return typeof MACRO !== "undefined" ? "1.78.2" : "1.78.2";
475144
475159
  }
475145
475160
  function workflowPath(cwd2) {
475146
475161
  return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
@@ -480996,7 +481011,7 @@ function createAcpStdioApp(deps) {
480996
481011
  }
480997
481012
  },
480998
481013
  authMethods: [],
480999
- agentInfo: { name: "UR-Nexus", version: "1.77.9" }
481014
+ agentInfo: { name: "UR-Nexus", version: "1.78.2" }
481000
481015
  })).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
481001
481016
  const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
481002
481017
  await runtime2.announce({
@@ -481093,7 +481108,7 @@ function createAcpStdioAgent(deps) {
481093
481108
  }
481094
481109
  },
481095
481110
  authMethods: [],
481096
- agentInfo: { name: "UR-Nexus", version: "1.77.9" }
481111
+ agentInfo: { name: "UR-Nexus", version: "1.78.2" }
481097
481112
  });
481098
481113
  return;
481099
481114
  case "authenticate":
@@ -690553,7 +690568,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
690553
690568
  smapsRollup,
690554
690569
  platform: process.platform,
690555
690570
  nodeVersion: process.version,
690556
- ccVersion: "1.77.9"
690571
+ ccVersion: "1.78.2"
690557
690572
  };
690558
690573
  }
690559
690574
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -691133,7 +691148,7 @@ var init_bridge_kick = __esm(() => {
691133
691148
  var call154 = async () => {
691134
691149
  return {
691135
691150
  type: "text",
691136
- value: "1.77.9"
691151
+ value: "1.78.2"
691137
691152
  };
691138
691153
  }, version2, version_default;
691139
691154
  var init_version = __esm(() => {
@@ -702400,7 +702415,7 @@ function generateHtmlReport(data, insights) {
702400
702415
  </html>`;
702401
702416
  }
702402
702417
  function buildExportData(data, insights, facets, remoteStats) {
702403
- const version3 = typeof MACRO !== "undefined" ? "1.77.9" : "unknown";
702418
+ const version3 = typeof MACRO !== "undefined" ? "1.78.2" : "unknown";
702404
702419
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
702405
702420
  const facets_summary = {
702406
702421
  total: facets.size,
@@ -706714,7 +706729,7 @@ var init_sessionStorage = __esm(() => {
706714
706729
  init_settings2();
706715
706730
  init_slowOperations();
706716
706731
  init_uuid();
706717
- VERSION7 = typeof MACRO !== "undefined" ? "1.77.9" : "unknown";
706732
+ VERSION7 = typeof MACRO !== "undefined" ? "1.78.2" : "unknown";
706718
706733
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
706719
706734
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
706720
706735
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -707929,7 +707944,7 @@ var init_filesystem = __esm(() => {
707929
707944
  });
707930
707945
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
707931
707946
  const nonce = randomBytes20(16).toString("hex");
707932
- return join232(getURTempDir(), "bundled-skills", "1.77.9", nonce);
707947
+ return join232(getURTempDir(), "bundled-skills", "1.78.2", nonce);
707933
707948
  });
707934
707949
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
707935
707950
  });
@@ -714286,7 +714301,7 @@ function computeFingerprint(messageText2, version3) {
714286
714301
  }
714287
714302
  function computeFingerprintFromMessages(messages) {
714288
714303
  const firstMessageText = extractFirstMessageText(messages);
714289
- return computeFingerprint(firstMessageText, "1.77.9");
714304
+ return computeFingerprint(firstMessageText, "1.78.2");
714290
714305
  }
714291
714306
  var FINGERPRINT_SALT = "59cf53e54c78";
714292
714307
  var init_fingerprint = () => {};
@@ -716208,7 +716223,7 @@ async function sideQuery(opts) {
716208
716223
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
716209
716224
  }
716210
716225
  const messageText2 = extractFirstUserMessageText(messages);
716211
- const fingerprint2 = computeFingerprint(messageText2, "1.77.9");
716226
+ const fingerprint2 = computeFingerprint(messageText2, "1.78.2");
716212
716227
  const attributionHeader = getAttributionHeader(fingerprint2);
716213
716228
  const systemBlocks = [
716214
716229
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -721045,7 +721060,7 @@ function buildSystemInitMessage(inputs) {
721045
721060
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
721046
721061
  apiKeySource: getURHQApiKeyWithSource().source,
721047
721062
  betas: getSdkBetas(),
721048
- ur_version: "1.77.9",
721063
+ ur_version: "1.78.2",
721049
721064
  output_style: outputStyle2,
721050
721065
  agents: inputs.agents.map((agent2) => agent2.agentType),
721051
721066
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -734917,7 +734932,7 @@ var init_useVoiceEnabled = __esm(() => {
734917
734932
  function getSemverPart(version3) {
734918
734933
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
734919
734934
  }
734920
- function useUpdateNotification(updatedVersion, initialVersion = "1.77.9") {
734935
+ function useUpdateNotification(updatedVersion, initialVersion = "1.78.2") {
734921
734936
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react223.useState(() => getSemverPart(initialVersion));
734922
734937
  if (!updatedVersion) {
734923
734938
  return null;
@@ -734966,7 +734981,7 @@ function AutoUpdater({
734966
734981
  return;
734967
734982
  }
734968
734983
  if (false) {}
734969
- const currentVersion = "1.77.9";
734984
+ const currentVersion = "1.78.2";
734970
734985
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
734971
734986
  let latestVersion = await getLatestVersion(channel);
734972
734987
  const isDisabled = isAutoUpdaterDisabled();
@@ -735195,12 +735210,12 @@ function NativeAutoUpdater({
735195
735210
  logEvent("tengu_native_auto_updater_start", {});
735196
735211
  try {
735197
735212
  const maxVersion = await getMaxVersion();
735198
- if (maxVersion && gt("1.77.9", maxVersion)) {
735213
+ if (maxVersion && gt("1.78.2", maxVersion)) {
735199
735214
  const msg = await getMaxVersionMessage();
735200
735215
  setMaxVersionIssue(msg ?? "affects your version");
735201
735216
  }
735202
735217
  const result = await installLatest(channel);
735203
- const currentVersion = "1.77.9";
735218
+ const currentVersion = "1.78.2";
735204
735219
  const latencyMs = Date.now() - startTime;
735205
735220
  if (result.lockFailed) {
735206
735221
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -735337,17 +735352,17 @@ function PackageManagerAutoUpdater(t0) {
735337
735352
  const maxVersion = await getMaxVersion();
735338
735353
  if (maxVersion && latest && gt(latest, maxVersion)) {
735339
735354
  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`);
735355
+ if (gte("1.78.2", maxVersion)) {
735356
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.78.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
735342
735357
  setUpdateAvailable(false);
735343
735358
  return;
735344
735359
  }
735345
735360
  latest = maxVersion;
735346
735361
  }
735347
- const hasUpdate = latest && !gte("1.77.9", latest) && !shouldSkipVersion(latest);
735362
+ const hasUpdate = latest && !gte("1.78.2", latest) && !shouldSkipVersion(latest);
735348
735363
  setUpdateAvailable(!!hasUpdate);
735349
735364
  if (hasUpdate) {
735350
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.77.9"} -> ${latest}`);
735365
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.78.2"} -> ${latest}`);
735351
735366
  }
735352
735367
  };
735353
735368
  $2[0] = t1;
@@ -735381,7 +735396,7 @@ function PackageManagerAutoUpdater(t0) {
735381
735396
  wrap: "truncate",
735382
735397
  children: [
735383
735398
  "currentVersion: ",
735384
- "1.77.9"
735399
+ "1.78.2"
735385
735400
  ]
735386
735401
  }, undefined, true, undefined, this);
735387
735402
  $2[3] = verbose;
@@ -746181,7 +746196,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
746181
746196
  project_dir: getOriginalCwd(),
746182
746197
  added_dirs: addedDirs
746183
746198
  },
746184
- version: "1.77.9",
746199
+ version: "1.78.2",
746185
746200
  output_style: {
746186
746201
  name: outputStyleName
746187
746202
  },
@@ -746316,7 +746331,7 @@ function StatusLineInner({
746316
746331
  const attention = customStatusError ?? taskAttention;
746317
746332
  const terminalSize = React132.useContext(TerminalSizeContext);
746318
746333
  const defaultStatusLineText = buildDefaultStatusBar({
746319
- version: "1.77.9",
746334
+ version: "1.78.2",
746320
746335
  providerLabel: providerRuntime.providerLabel,
746321
746336
  authMode: providerRuntime.authLabel,
746322
746337
  model: renderModelName(mainLoopModel) || providerRuntime.model || "",
@@ -758601,7 +758616,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
758601
758616
  } catch {}
758602
758617
  const data = {
758603
758618
  trigger: trigger2,
758604
- version: "1.77.9",
758619
+ version: "1.78.2",
758605
758620
  platform: process.platform,
758606
758621
  transcript,
758607
758622
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -770975,7 +770990,7 @@ function WelcomeV2() {
770975
770990
  dimColor: true,
770976
770991
  children: [
770977
770992
  "v",
770978
- "1.77.9"
770993
+ "1.78.2"
770979
770994
  ]
770980
770995
  }, undefined, true, undefined, this)
770981
770996
  ]
@@ -772235,7 +772250,7 @@ function completeOnboarding() {
772235
772250
  saveGlobalConfig((current) => ({
772236
772251
  ...current,
772237
772252
  hasCompletedOnboarding: true,
772238
- lastOnboardingVersion: "1.77.9"
772253
+ lastOnboardingVersion: "1.78.2"
772239
772254
  }));
772240
772255
  }
772241
772256
  function showDialog(root2, renderer) {
@@ -777279,7 +777294,7 @@ function appendToLog(path24, message) {
777279
777294
  cwd: getFsImplementation().cwd(),
777280
777295
  userType: process.env.USER_TYPE,
777281
777296
  sessionId: getSessionId(),
777282
- version: "1.77.9"
777297
+ version: "1.78.2"
777283
777298
  };
777284
777299
  getLogWriter(path24).write(messageWithTimestamp);
777285
777300
  }
@@ -781438,8 +781453,8 @@ async function getEnvLessBridgeConfig() {
781438
781453
  }
781439
781454
  async function checkEnvLessBridgeMinVersion() {
781440
781455
  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.
781456
+ if (cfg.min_version && lt("1.78.2", cfg.min_version)) {
781457
+ return `Your version of UR (${"1.78.2"}) is too old for Remote Control.
781443
781458
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
781444
781459
  }
781445
781460
  return null;
@@ -781913,7 +781928,7 @@ async function initBridgeCore(params) {
781913
781928
  const rawApi = createBridgeApiClient({
781914
781929
  baseUrl,
781915
781930
  getAccessToken,
781916
- runnerVersion: "1.77.9",
781931
+ runnerVersion: "1.78.2",
781917
781932
  onDebug: logForDebugging,
781918
781933
  onAuth401,
781919
781934
  getTrustedDeviceToken
@@ -791386,7 +791401,7 @@ function getAgUiCapabilities() {
791386
791401
  name: "UR-Nexus",
791387
791402
  type: "ur-nexus",
791388
791403
  description: "Provider-flexible, local-first autonomous engineering workflow agent.",
791389
- version: "1.77.9",
791404
+ version: "1.78.2",
791390
791405
  provider: "UR",
791391
791406
  documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
791392
791407
  },
@@ -792526,7 +792541,7 @@ function createMCPServer(cwd4, debug2, verbose) {
792526
792541
  };
792527
792542
  const server2 = new Server({
792528
792543
  name: "ur-nexus",
792529
- version: "1.77.9"
792544
+ version: "1.78.2"
792530
792545
  }, {
792531
792546
  capabilities: {
792532
792547
  tools: {}
@@ -793684,7 +793699,7 @@ function thrownResponse(error40) {
793684
793699
  }
793685
793700
  async function createUrMcp2026Runtime(options4) {
793686
793701
  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: {} });
793702
+ const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.78.2" }, { capabilities: {} });
793688
793703
  const [clientTransport, serverTransport] = createLinkedTransportPair();
793689
793704
  try {
793690
793705
  await server2.connect(serverTransport);
@@ -793695,7 +793710,7 @@ async function createUrMcp2026Runtime(options4) {
793695
793710
  }
793696
793711
  const runtime2 = new Mcp2026Runtime({
793697
793712
  cwd: options4.cwd,
793698
- version: "1.77.9",
793713
+ version: "1.78.2",
793699
793714
  backend: {
793700
793715
  listTools: async () => {
793701
793716
  const listed = await client2.listTools();
@@ -795836,7 +795851,7 @@ async function update() {
795836
795851
  logEvent("tengu_update_check", {});
795837
795852
  const diagnostic2 = await getDoctorDiagnostic();
795838
795853
  const result = await checkUpgradeStatus({
795839
- currentVersion: "1.77.9",
795854
+ currentVersion: "1.78.2",
795840
795855
  packageName: UR_AGENT_PACKAGE_NAME,
795841
795856
  installationType: diagnostic2.installationType,
795842
795857
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -797152,7 +797167,7 @@ ${customInstructions}` : customInstructions;
797152
797167
  }
797153
797168
  }
797154
797169
  logForDiagnosticsNoPII("info", "started", {
797155
- version: "1.77.9",
797170
+ version: "1.78.2",
797156
797171
  is_native_binary: isInBundledMode()
797157
797172
  });
797158
797173
  registerCleanup(async () => {
@@ -797938,7 +797953,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
797938
797953
  pendingHookMessages
797939
797954
  }, renderAndRun);
797940
797955
  }
797941
- }).version("1.77.9 (UR-Nexus)", "-v, --version", "Output the version number");
797956
+ }).version("1.78.2 (UR-Nexus)", "-v, --version", "Output the version number");
797942
797957
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
797943
797958
  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
797959
  if (canUserConfigureAdvisor()) {
@@ -798990,7 +799005,7 @@ if (false) {}
798990
799005
  async function main2() {
798991
799006
  const args = process.argv.slice(2);
798992
799007
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
798993
- console.log(`${"1.77.9"} (UR-Nexus)`);
799008
+ console.log(`${"1.78.2"} (UR-Nexus)`);
798994
799009
  return;
798995
799010
  }
798996
799011
  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.2 (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.2</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.2"
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.2",
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.2",
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",