ur-agent 1.78.1 → 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,16 @@
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
+
3
14
  ## 1.78.1
4
15
 
5
16
  - Editing a file through Bash or NotebookEdit now clears that file's delivered
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.78.1"}`;
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.78.1"} (${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.78.1"}${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.78.1",
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.78.1".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.78.1",
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.78.1"
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.78.1");
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.78.1", 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.78.1"}.${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.78.1");
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.78.1"
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.78.1").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.78.1").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.78.1";
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.78.1";
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.78.1",
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.78.1",
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.78.1"
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.78.1");
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.78.1"));
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.78.1", 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.78.1"}) 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.78.1"
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.78.1"
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.78.1" : "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.78.1", maxVersion)) {
319968
- logForDebugging(`Native installer: current version ${"1.78.1"} 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.78.1" && 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,
@@ -389695,7 +389702,7 @@ function isAnyTracingEnabled() {
389695
389702
  return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
389696
389703
  }
389697
389704
  function getTracer() {
389698
- return import_api39.trace.getTracer("ur-agent.gen_ai", "1.78.1");
389705
+ return import_api39.trace.getTracer("ur-agent.gen_ai", "1.78.2");
389699
389706
  }
389700
389707
  function createSpanAttributes(spanType, customAttributes = {}) {
389701
389708
  const baseAttributes = getTelemetryAttributes();
@@ -391852,8 +391859,9 @@ async function checkPermissionsAndCallTool(tool, toolUseID, input, toolUseContex
391852
391859
  }
391853
391860
  if (!parsedInput.success) {
391854
391861
  recordCallFailure(callSig);
391855
- const questionProblems = tool.name === ASK_USER_QUESTION_TOOL_NAME ? describeQuestionPayloadProblems(normalizeAskUserQuestionInput(input)) : [];
391856
- 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);
391857
391865
  const schemaHint = buildSchemaNotSentHint(tool, toolUseContext.messages, toolUseContext.options.tools);
391858
391866
  if (schemaHint) {
391859
391867
  logEvent("tengu_deferred_tool_schema_not_sent", {
@@ -398202,6 +398210,10 @@ var init_sessionMemoryCompact = __esm(() => {
398202
398210
  });
398203
398211
 
398204
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
+ }
398205
398217
  function getEffectiveContextWindowSize(model) {
398206
398218
  let contextWindow = getContextWindowForModel(model, getSdkBetas());
398207
398219
  const autoCompactWindow = process.env.UR_CODE_AUTO_COMPACT_WINDOW;
@@ -398211,8 +398223,7 @@ function getEffectiveContextWindowSize(model) {
398211
398223
  contextWindow = Math.min(contextWindow, parsed);
398212
398224
  }
398213
398225
  }
398214
- const reservedTokensForSummary = Math.min(getMaxOutputTokensForModel(model), MAX_OUTPUT_TOKENS_FOR_SUMMARY, Math.floor(contextWindow * MAX_SUMMARY_RESERVE_SHARE));
398215
- return Math.max(contextWindow - reservedTokensForSummary, 1);
398226
+ return computeEffectiveContextWindowSize(contextWindow, getMaxOutputTokensForModel(model));
398216
398227
  }
398217
398228
  function getAutoCompactThreshold(model) {
398218
398229
  const effectiveContextWindow = getEffectiveContextWindowSize(model);
@@ -419917,7 +419928,7 @@ function Feedback({
419917
419928
  platform: env2.platform,
419918
419929
  gitRepo: envInfo.isGit,
419919
419930
  terminal: env2.terminal,
419920
- version: "1.78.1",
419931
+ version: "1.78.2",
419921
419932
  transcript: normalizeMessagesForAPI(messages),
419922
419933
  errors: sanitizedErrors,
419923
419934
  lastApiRequest: getLastAPIRequest(),
@@ -420109,7 +420120,7 @@ function Feedback({
420109
420120
  ", ",
420110
420121
  env2.terminal,
420111
420122
  ", v",
420112
- "1.78.1"
420123
+ "1.78.2"
420113
420124
  ]
420114
420125
  }, undefined, true, undefined, this)
420115
420126
  ]
@@ -420215,7 +420226,7 @@ ${sanitizedDescription}
420215
420226
  ` + `**Environment Info**
420216
420227
  ` + `- Platform: ${env2.platform}
420217
420228
  ` + `- Terminal: ${env2.terminal}
420218
- ` + `- Version: ${"1.78.1"}
420229
+ ` + `- Version: ${"1.78.2"}
420219
420230
  ` + `- Feedback ID: ${feedbackId}
420220
420231
  ` + `
420221
420232
  **Errors**
@@ -423325,7 +423336,7 @@ function buildPrimarySection() {
423325
423336
  }, undefined, false, undefined, this);
423326
423337
  return [{
423327
423338
  label: "Version",
423328
- value: "1.78.1"
423339
+ value: "1.78.2"
423329
423340
  }, {
423330
423341
  label: "Session name",
423331
423342
  value: nameValue
@@ -426707,7 +426718,7 @@ function Config({
426707
426718
  }
426708
426719
  }, undefined, false, undefined, this)
426709
426720
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
426710
- currentVersion: "1.78.1",
426721
+ currentVersion: "1.78.2",
426711
426722
  onChoice: (choice) => {
426712
426723
  setShowSubmenu(null);
426713
426724
  setTabsHidden(false);
@@ -426719,7 +426730,7 @@ function Config({
426719
426730
  autoUpdatesChannel: "stable"
426720
426731
  };
426721
426732
  if (choice === "stay") {
426722
- newSettings.minimumVersion = "1.78.1";
426733
+ newSettings.minimumVersion = "1.78.2";
426723
426734
  }
426724
426735
  updateSettingsForSource("userSettings", newSettings);
426725
426736
  setSettingsData((prev_27) => ({
@@ -434783,7 +434794,7 @@ function HelpV2(t0) {
434783
434794
  let t6;
434784
434795
  if ($2[31] !== tabs) {
434785
434796
  t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
434786
- title: `UR v${"1.78.1"}`,
434797
+ title: `UR v${"1.78.2"}`,
434787
434798
  color: "professionalBlue",
434788
434799
  defaultTab: "general",
434789
434800
  children: tabs
@@ -435716,7 +435727,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
435716
435727
  async function handleInitialize(options2) {
435717
435728
  return {
435718
435729
  name: "UR",
435719
- version: "1.78.1",
435730
+ version: "1.78.2",
435720
435731
  protocolVersion: "0.1.0",
435721
435732
  workspaceRoot: options2.cwd,
435722
435733
  capabilities: {
@@ -452824,7 +452835,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
452824
452835
  return [];
452825
452836
  }
452826
452837
  }
452827
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.78.1") {
452838
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.78.2") {
452828
452839
  if (process.env.USER_TYPE === "ant") {
452829
452840
  const changelog = "";
452830
452841
  if (changelog) {
@@ -452851,7 +452862,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.78.1")
452851
452862
  releaseNotes
452852
452863
  };
452853
452864
  }
452854
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.78.1") {
452865
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.78.2") {
452855
452866
  if (process.env.USER_TYPE === "ant") {
452856
452867
  const changelog = "";
452857
452868
  if (changelog) {
@@ -455717,7 +455728,7 @@ function getRecentActivitySync() {
455717
455728
  return cachedActivity;
455718
455729
  }
455719
455730
  function getLogoDisplayData() {
455720
- const version2 = process.env.DEMO_VERSION ?? "1.78.1";
455731
+ const version2 = process.env.DEMO_VERSION ?? "1.78.2";
455721
455732
  const serverUrl = getDirectConnectServerUrl();
455722
455733
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
455723
455734
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -456584,7 +456595,7 @@ function LogoV2() {
456584
456595
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
456585
456596
  t2 = () => {
456586
456597
  const currentConfig2 = getGlobalConfig();
456587
- if (currentConfig2.lastReleaseNotesSeen === "1.78.1") {
456598
+ if (currentConfig2.lastReleaseNotesSeen === "1.78.2") {
456588
456599
  return;
456589
456600
  }
456590
456601
  saveGlobalConfig(_temp325);
@@ -457269,12 +457280,12 @@ function LogoV2() {
457269
457280
  return t41;
457270
457281
  }
457271
457282
  function _temp325(current) {
457272
- if (current.lastReleaseNotesSeen === "1.78.1") {
457283
+ if (current.lastReleaseNotesSeen === "1.78.2") {
457273
457284
  return current;
457274
457285
  }
457275
457286
  return {
457276
457287
  ...current,
457277
- lastReleaseNotesSeen: "1.78.1"
457288
+ lastReleaseNotesSeen: "1.78.2"
457278
457289
  };
457279
457290
  }
457280
457291
  function _temp241(s_0) {
@@ -474088,7 +474099,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
474088
474099
  if (spec.name !== specName) {
474089
474100
  throw new Error("Agentic CI workflow spec name does not match");
474090
474101
  }
474091
- const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.78.1" : "1.78.1");
474102
+ const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.78.2" : "1.78.2");
474092
474103
  if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
474093
474104
  throw new Error("invalid ur-agent package version");
474094
474105
  }
@@ -475081,7 +475092,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
475081
475092
  path: ".github/workflows/ur.yml",
475082
475093
  root: "project",
475083
475094
  content: compileAgenticCiWorkflow("default", {
475084
- packageVersion: typeof MACRO !== "undefined" ? "1.78.1" : "1.78.1"
475095
+ packageVersion: typeof MACRO !== "undefined" ? "1.78.2" : "1.78.2"
475085
475096
  })
475086
475097
  },
475087
475098
  {
@@ -475144,7 +475155,7 @@ function value(tokens, flag) {
475144
475155
  return index2 >= 0 ? tokens[index2 + 1] : undefined;
475145
475156
  }
475146
475157
  function cliVersion() {
475147
- return typeof MACRO !== "undefined" ? "1.78.1" : "1.78.1";
475158
+ return typeof MACRO !== "undefined" ? "1.78.2" : "1.78.2";
475148
475159
  }
475149
475160
  function workflowPath(cwd2) {
475150
475161
  return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
@@ -481000,7 +481011,7 @@ function createAcpStdioApp(deps) {
481000
481011
  }
481001
481012
  },
481002
481013
  authMethods: [],
481003
- agentInfo: { name: "UR-Nexus", version: "1.78.1" }
481014
+ agentInfo: { name: "UR-Nexus", version: "1.78.2" }
481004
481015
  })).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
481005
481016
  const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
481006
481017
  await runtime2.announce({
@@ -481097,7 +481108,7 @@ function createAcpStdioAgent(deps) {
481097
481108
  }
481098
481109
  },
481099
481110
  authMethods: [],
481100
- agentInfo: { name: "UR-Nexus", version: "1.78.1" }
481111
+ agentInfo: { name: "UR-Nexus", version: "1.78.2" }
481101
481112
  });
481102
481113
  return;
481103
481114
  case "authenticate":
@@ -690557,7 +690568,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
690557
690568
  smapsRollup,
690558
690569
  platform: process.platform,
690559
690570
  nodeVersion: process.version,
690560
- ccVersion: "1.78.1"
690571
+ ccVersion: "1.78.2"
690561
690572
  };
690562
690573
  }
690563
690574
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -691137,7 +691148,7 @@ var init_bridge_kick = __esm(() => {
691137
691148
  var call154 = async () => {
691138
691149
  return {
691139
691150
  type: "text",
691140
- value: "1.78.1"
691151
+ value: "1.78.2"
691141
691152
  };
691142
691153
  }, version2, version_default;
691143
691154
  var init_version = __esm(() => {
@@ -702404,7 +702415,7 @@ function generateHtmlReport(data, insights) {
702404
702415
  </html>`;
702405
702416
  }
702406
702417
  function buildExportData(data, insights, facets, remoteStats) {
702407
- const version3 = typeof MACRO !== "undefined" ? "1.78.1" : "unknown";
702418
+ const version3 = typeof MACRO !== "undefined" ? "1.78.2" : "unknown";
702408
702419
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
702409
702420
  const facets_summary = {
702410
702421
  total: facets.size,
@@ -706718,7 +706729,7 @@ var init_sessionStorage = __esm(() => {
706718
706729
  init_settings2();
706719
706730
  init_slowOperations();
706720
706731
  init_uuid();
706721
- VERSION7 = typeof MACRO !== "undefined" ? "1.78.1" : "unknown";
706732
+ VERSION7 = typeof MACRO !== "undefined" ? "1.78.2" : "unknown";
706722
706733
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
706723
706734
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
706724
706735
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -707933,7 +707944,7 @@ var init_filesystem = __esm(() => {
707933
707944
  });
707934
707945
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
707935
707946
  const nonce = randomBytes20(16).toString("hex");
707936
- return join232(getURTempDir(), "bundled-skills", "1.78.1", nonce);
707947
+ return join232(getURTempDir(), "bundled-skills", "1.78.2", nonce);
707937
707948
  });
707938
707949
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
707939
707950
  });
@@ -714290,7 +714301,7 @@ function computeFingerprint(messageText2, version3) {
714290
714301
  }
714291
714302
  function computeFingerprintFromMessages(messages) {
714292
714303
  const firstMessageText = extractFirstMessageText(messages);
714293
- return computeFingerprint(firstMessageText, "1.78.1");
714304
+ return computeFingerprint(firstMessageText, "1.78.2");
714294
714305
  }
714295
714306
  var FINGERPRINT_SALT = "59cf53e54c78";
714296
714307
  var init_fingerprint = () => {};
@@ -716212,7 +716223,7 @@ async function sideQuery(opts) {
716212
716223
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
716213
716224
  }
716214
716225
  const messageText2 = extractFirstUserMessageText(messages);
716215
- const fingerprint2 = computeFingerprint(messageText2, "1.78.1");
716226
+ const fingerprint2 = computeFingerprint(messageText2, "1.78.2");
716216
716227
  const attributionHeader = getAttributionHeader(fingerprint2);
716217
716228
  const systemBlocks = [
716218
716229
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -721049,7 +721060,7 @@ function buildSystemInitMessage(inputs) {
721049
721060
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
721050
721061
  apiKeySource: getURHQApiKeyWithSource().source,
721051
721062
  betas: getSdkBetas(),
721052
- ur_version: "1.78.1",
721063
+ ur_version: "1.78.2",
721053
721064
  output_style: outputStyle2,
721054
721065
  agents: inputs.agents.map((agent2) => agent2.agentType),
721055
721066
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -734921,7 +734932,7 @@ var init_useVoiceEnabled = __esm(() => {
734921
734932
  function getSemverPart(version3) {
734922
734933
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
734923
734934
  }
734924
- function useUpdateNotification(updatedVersion, initialVersion = "1.78.1") {
734935
+ function useUpdateNotification(updatedVersion, initialVersion = "1.78.2") {
734925
734936
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react223.useState(() => getSemverPart(initialVersion));
734926
734937
  if (!updatedVersion) {
734927
734938
  return null;
@@ -734970,7 +734981,7 @@ function AutoUpdater({
734970
734981
  return;
734971
734982
  }
734972
734983
  if (false) {}
734973
- const currentVersion = "1.78.1";
734984
+ const currentVersion = "1.78.2";
734974
734985
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
734975
734986
  let latestVersion = await getLatestVersion(channel);
734976
734987
  const isDisabled = isAutoUpdaterDisabled();
@@ -735199,12 +735210,12 @@ function NativeAutoUpdater({
735199
735210
  logEvent("tengu_native_auto_updater_start", {});
735200
735211
  try {
735201
735212
  const maxVersion = await getMaxVersion();
735202
- if (maxVersion && gt("1.78.1", maxVersion)) {
735213
+ if (maxVersion && gt("1.78.2", maxVersion)) {
735203
735214
  const msg = await getMaxVersionMessage();
735204
735215
  setMaxVersionIssue(msg ?? "affects your version");
735205
735216
  }
735206
735217
  const result = await installLatest(channel);
735207
- const currentVersion = "1.78.1";
735218
+ const currentVersion = "1.78.2";
735208
735219
  const latencyMs = Date.now() - startTime;
735209
735220
  if (result.lockFailed) {
735210
735221
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -735341,17 +735352,17 @@ function PackageManagerAutoUpdater(t0) {
735341
735352
  const maxVersion = await getMaxVersion();
735342
735353
  if (maxVersion && latest && gt(latest, maxVersion)) {
735343
735354
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
735344
- if (gte("1.78.1", maxVersion)) {
735345
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.78.1"} 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`);
735346
735357
  setUpdateAvailable(false);
735347
735358
  return;
735348
735359
  }
735349
735360
  latest = maxVersion;
735350
735361
  }
735351
- const hasUpdate = latest && !gte("1.78.1", latest) && !shouldSkipVersion(latest);
735362
+ const hasUpdate = latest && !gte("1.78.2", latest) && !shouldSkipVersion(latest);
735352
735363
  setUpdateAvailable(!!hasUpdate);
735353
735364
  if (hasUpdate) {
735354
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.78.1"} -> ${latest}`);
735365
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.78.2"} -> ${latest}`);
735355
735366
  }
735356
735367
  };
735357
735368
  $2[0] = t1;
@@ -735385,7 +735396,7 @@ function PackageManagerAutoUpdater(t0) {
735385
735396
  wrap: "truncate",
735386
735397
  children: [
735387
735398
  "currentVersion: ",
735388
- "1.78.1"
735399
+ "1.78.2"
735389
735400
  ]
735390
735401
  }, undefined, true, undefined, this);
735391
735402
  $2[3] = verbose;
@@ -746185,7 +746196,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
746185
746196
  project_dir: getOriginalCwd(),
746186
746197
  added_dirs: addedDirs
746187
746198
  },
746188
- version: "1.78.1",
746199
+ version: "1.78.2",
746189
746200
  output_style: {
746190
746201
  name: outputStyleName
746191
746202
  },
@@ -746320,7 +746331,7 @@ function StatusLineInner({
746320
746331
  const attention = customStatusError ?? taskAttention;
746321
746332
  const terminalSize = React132.useContext(TerminalSizeContext);
746322
746333
  const defaultStatusLineText = buildDefaultStatusBar({
746323
- version: "1.78.1",
746334
+ version: "1.78.2",
746324
746335
  providerLabel: providerRuntime.providerLabel,
746325
746336
  authMode: providerRuntime.authLabel,
746326
746337
  model: renderModelName(mainLoopModel) || providerRuntime.model || "",
@@ -758605,7 +758616,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
758605
758616
  } catch {}
758606
758617
  const data = {
758607
758618
  trigger: trigger2,
758608
- version: "1.78.1",
758619
+ version: "1.78.2",
758609
758620
  platform: process.platform,
758610
758621
  transcript,
758611
758622
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -770979,7 +770990,7 @@ function WelcomeV2() {
770979
770990
  dimColor: true,
770980
770991
  children: [
770981
770992
  "v",
770982
- "1.78.1"
770993
+ "1.78.2"
770983
770994
  ]
770984
770995
  }, undefined, true, undefined, this)
770985
770996
  ]
@@ -772239,7 +772250,7 @@ function completeOnboarding() {
772239
772250
  saveGlobalConfig((current) => ({
772240
772251
  ...current,
772241
772252
  hasCompletedOnboarding: true,
772242
- lastOnboardingVersion: "1.78.1"
772253
+ lastOnboardingVersion: "1.78.2"
772243
772254
  }));
772244
772255
  }
772245
772256
  function showDialog(root2, renderer) {
@@ -777283,7 +777294,7 @@ function appendToLog(path24, message) {
777283
777294
  cwd: getFsImplementation().cwd(),
777284
777295
  userType: process.env.USER_TYPE,
777285
777296
  sessionId: getSessionId(),
777286
- version: "1.78.1"
777297
+ version: "1.78.2"
777287
777298
  };
777288
777299
  getLogWriter(path24).write(messageWithTimestamp);
777289
777300
  }
@@ -781442,8 +781453,8 @@ async function getEnvLessBridgeConfig() {
781442
781453
  }
781443
781454
  async function checkEnvLessBridgeMinVersion() {
781444
781455
  const cfg = await getEnvLessBridgeConfig();
781445
- if (cfg.min_version && lt("1.78.1", cfg.min_version)) {
781446
- return `Your version of UR (${"1.78.1"}) is too old for Remote Control.
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.
781447
781458
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
781448
781459
  }
781449
781460
  return null;
@@ -781917,7 +781928,7 @@ async function initBridgeCore(params) {
781917
781928
  const rawApi = createBridgeApiClient({
781918
781929
  baseUrl,
781919
781930
  getAccessToken,
781920
- runnerVersion: "1.78.1",
781931
+ runnerVersion: "1.78.2",
781921
781932
  onDebug: logForDebugging,
781922
781933
  onAuth401,
781923
781934
  getTrustedDeviceToken
@@ -791390,7 +791401,7 @@ function getAgUiCapabilities() {
791390
791401
  name: "UR-Nexus",
791391
791402
  type: "ur-nexus",
791392
791403
  description: "Provider-flexible, local-first autonomous engineering workflow agent.",
791393
- version: "1.78.1",
791404
+ version: "1.78.2",
791394
791405
  provider: "UR",
791395
791406
  documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
791396
791407
  },
@@ -792530,7 +792541,7 @@ function createMCPServer(cwd4, debug2, verbose) {
792530
792541
  };
792531
792542
  const server2 = new Server({
792532
792543
  name: "ur-nexus",
792533
- version: "1.78.1"
792544
+ version: "1.78.2"
792534
792545
  }, {
792535
792546
  capabilities: {
792536
792547
  tools: {}
@@ -793688,7 +793699,7 @@ function thrownResponse(error40) {
793688
793699
  }
793689
793700
  async function createUrMcp2026Runtime(options4) {
793690
793701
  const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
793691
- const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.78.1" }, { capabilities: {} });
793702
+ const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.78.2" }, { capabilities: {} });
793692
793703
  const [clientTransport, serverTransport] = createLinkedTransportPair();
793693
793704
  try {
793694
793705
  await server2.connect(serverTransport);
@@ -793699,7 +793710,7 @@ async function createUrMcp2026Runtime(options4) {
793699
793710
  }
793700
793711
  const runtime2 = new Mcp2026Runtime({
793701
793712
  cwd: options4.cwd,
793702
- version: "1.78.1",
793713
+ version: "1.78.2",
793703
793714
  backend: {
793704
793715
  listTools: async () => {
793705
793716
  const listed = await client2.listTools();
@@ -795840,7 +795851,7 @@ async function update() {
795840
795851
  logEvent("tengu_update_check", {});
795841
795852
  const diagnostic2 = await getDoctorDiagnostic();
795842
795853
  const result = await checkUpgradeStatus({
795843
- currentVersion: "1.78.1",
795854
+ currentVersion: "1.78.2",
795844
795855
  packageName: UR_AGENT_PACKAGE_NAME,
795845
795856
  installationType: diagnostic2.installationType,
795846
795857
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -797156,7 +797167,7 @@ ${customInstructions}` : customInstructions;
797156
797167
  }
797157
797168
  }
797158
797169
  logForDiagnosticsNoPII("info", "started", {
797159
- version: "1.78.1",
797170
+ version: "1.78.2",
797160
797171
  is_native_binary: isInBundledMode()
797161
797172
  });
797162
797173
  registerCleanup(async () => {
@@ -797942,7 +797953,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
797942
797953
  pendingHookMessages
797943
797954
  }, renderAndRun);
797944
797955
  }
797945
- }).version("1.78.1 (UR-Nexus)", "-v, --version", "Output the version number");
797956
+ }).version("1.78.2 (UR-Nexus)", "-v, --version", "Output the version number");
797946
797957
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
797947
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.");
797948
797959
  if (canUserConfigureAdvisor()) {
@@ -798994,7 +799005,7 @@ if (false) {}
798994
799005
  async function main2() {
798995
799006
  const args = process.argv.slice(2);
798996
799007
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
798997
- console.log(`${"1.78.1"} (UR-Nexus)`);
799008
+ console.log(`${"1.78.2"} (UR-Nexus)`);
798998
799009
  return;
798999
799010
  }
799000
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.1 (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.1</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.1"
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.1",
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.1",
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",