ur-agent 1.77.7 → 1.77.8

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,23 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.77.8
4
+
5
+ - Auto-compact works again on every provider except the first-party one, where
6
+ it was the only place it had ever worked. `getModelCapability` is gated to a
7
+ first-party runtime, so every third-party model — OpenRouter, OpenAI-
8
+ compatible, LM Studio, vLLM, llama.cpp, and the API providers — fell through
9
+ to a flat 200,000-token window regardless of its real size. A 128K or 32K
10
+ model therefore never reached the compaction threshold before the provider
11
+ rejected the request, which is the "Context limit reached · /compact or
12
+ /clear to continue" that replaced the automatic compaction; a 1M model
13
+ compacted long before it needed to.
14
+ - The window each provider reported during model discovery is now used.
15
+ Discovery already captured it and the model picker already displayed it —
16
+ only the compaction math never read it. A model the provider reported no
17
+ window for, or reported a nonsense one for, still falls back to the default
18
+ rather than trusting the value. The lookup reads the discovery cache only, so
19
+ it adds no request to the per-turn path.
20
+
3
21
  ## 1.77.7
4
22
 
5
23
  - A missing identifier now names what exists, instead of inviting another
package/dist/cli.js CHANGED
@@ -53738,6 +53738,7 @@ __export(exports_providerRegistry, {
53738
53738
  getProviderRuntimeBackend: () => getProviderRuntimeBackend,
53739
53739
  getProviderFamily: () => getProviderFamily,
53740
53740
  getProviderDefinition: () => getProviderDefinition,
53741
+ getProviderContextLengthForModel: () => getProviderContextLengthForModel,
53741
53742
  getProviderAccessTypeLabel: () => getProviderAccessTypeLabel,
53742
53743
  getDefaultModelForProvider: () => getDefaultModelForProvider,
53743
53744
  getConnectionStatusFromDoctorResult: () => getConnectionStatusFromDoctorResult,
@@ -54853,6 +54854,21 @@ function providerModelCacheKey(provider, settings = getInitialSettings()) {
54853
54854
  function getCachedProviderModels(provider, settings = getInitialSettings()) {
54854
54855
  return cachedModelsByProvider.get(providerModelCacheKey(provider, settings)) ?? [];
54855
54856
  }
54857
+ function getProviderContextLengthForModel(model, provider = resolveProviderId(getInitialSettings().provider?.active), settings = getInitialSettings()) {
54858
+ const providerId = resolveProviderId(provider);
54859
+ if (!providerId)
54860
+ return;
54861
+ const wanted = model.trim().toLowerCase();
54862
+ if (!wanted)
54863
+ return;
54864
+ const known = [
54865
+ ...getCachedProviderModels(providerId, settings),
54866
+ ...PROVIDER_MODELS[providerId] ?? []
54867
+ ];
54868
+ const match = known.find((entry) => entry.id.toLowerCase() === wanted) ?? known.find((entry) => wanted.includes(entry.id.toLowerCase()));
54869
+ const length = match?.contextLength;
54870
+ return typeof length === "number" && Number.isFinite(length) && length > 0 ? Math.floor(length) : undefined;
54871
+ }
54856
54872
  function cacheProviderModelsForProvider(providerId, models, settings = getInitialSettings()) {
54857
54873
  const provider = resolveProviderId(providerId);
54858
54874
  if (!provider) {
@@ -95201,6 +95217,10 @@ function getContextWindowForModel(model, betas, apiProvider = getAPIProvider())
95201
95217
  if (has1mContext(model)) {
95202
95218
  return 1e6;
95203
95219
  }
95220
+ const providerContextLength = getProviderContextLengthForModel(model);
95221
+ if (providerContextLength !== undefined) {
95222
+ return providerContextLength;
95223
+ }
95204
95224
  const cap = getModelCapability(model);
95205
95225
  if (cap?.max_input_tokens && cap.max_input_tokens >= 1e5) {
95206
95226
  if (cap.max_input_tokens > MODEL_CONTEXT_WINDOW_DEFAULT && is1mContextDisabled()) {
@@ -95267,6 +95287,7 @@ function getMaxThinkingTokensForModel(model) {
95267
95287
  var MODEL_CONTEXT_WINDOW_DEFAULT = 200000, COMPACT_MAX_OUTPUT_TOKENS = 20000, MAX_OUTPUT_TOKENS_DEFAULT = 32000, MAX_OUTPUT_TOKENS_UPPER_LIMIT = 64000, CAPPED_DEFAULT_MAX_TOKENS = 8000, ESCALATED_MAX_TOKENS = 64000;
95268
95288
  var init_context = __esm(() => {
95269
95289
  init_betas();
95290
+ init_providerRegistry();
95270
95291
  init_envUtils();
95271
95292
  init_antModels();
95272
95293
  init_modelCapabilities();
@@ -107552,7 +107573,7 @@ var init_auth = __esm(() => {
107552
107573
 
107553
107574
  // src/utils/userAgent.ts
107554
107575
  function getURCodeUserAgent() {
107555
- return `ur/${"1.77.7"}`;
107576
+ return `ur/${"1.77.8"}`;
107556
107577
  }
107557
107578
 
107558
107579
  // src/utils/workloadContext.ts
@@ -107574,7 +107595,7 @@ function getUserAgent() {
107574
107595
  const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
107575
107596
  const workload = getWorkload();
107576
107597
  const workloadSuffix = workload ? `, workload/${workload}` : "";
107577
- return `ur-cli/${"1.77.7"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
107598
+ return `ur-cli/${"1.77.8"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
107578
107599
  }
107579
107600
  function getMCPUserAgent() {
107580
107601
  const parts = [];
@@ -107588,7 +107609,7 @@ function getMCPUserAgent() {
107588
107609
  parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
107589
107610
  }
107590
107611
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
107591
- return `ur/${"1.77.7"}${suffix}`;
107612
+ return `ur/${"1.77.8"}${suffix}`;
107592
107613
  }
107593
107614
  function getWebFetchUserAgent() {
107594
107615
  return `UR-User (${getURCodeUserAgent()})`;
@@ -107726,7 +107747,7 @@ var init_user = __esm(() => {
107726
107747
  deviceId,
107727
107748
  sessionId: getSessionId(),
107728
107749
  email: getEmail(),
107729
- appVersion: "1.77.7",
107750
+ appVersion: "1.77.8",
107730
107751
  platform: getHostPlatformForAnalytics(),
107731
107752
  organizationUuid,
107732
107753
  accountUuid,
@@ -115613,7 +115634,7 @@ var init_metadata = __esm(() => {
115613
115634
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
115614
115635
  WHITESPACE_REGEX = /\s+/;
115615
115636
  getVersionBase = memoize_default(() => {
115616
- const match = "1.77.7".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
115637
+ const match = "1.77.8".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
115617
115638
  return match ? match[0] : undefined;
115618
115639
  });
115619
115640
  buildEnvContext = memoize_default(async () => {
@@ -115653,7 +115674,7 @@ var init_metadata = __esm(() => {
115653
115674
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
115654
115675
  isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
115655
115676
  isURAiAuth: isURAISubscriber(),
115656
- version: "1.77.7",
115677
+ version: "1.77.8",
115657
115678
  versionBase: getVersionBase(),
115658
115679
  buildTime: "",
115659
115680
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
@@ -116323,7 +116344,7 @@ function initialize1PEventLogging() {
116323
116344
  const platform2 = getPlatform();
116324
116345
  const attributes = {
116325
116346
  [import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
116326
- [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.77.7"
116347
+ [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.77.8"
116327
116348
  };
116328
116349
  if (platform2 === "wsl") {
116329
116350
  const wslVersion = getWslVersion();
@@ -116351,7 +116372,7 @@ function initialize1PEventLogging() {
116351
116372
  })
116352
116373
  ]
116353
116374
  });
116354
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.77.7");
116375
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.77.8");
116355
116376
  }
116356
116377
  async function reinitialize1PEventLoggingIfConfigChanged() {
116357
116378
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -126133,7 +126154,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
126133
126154
  function formatA2AAgentCard(options = {}, pretty = true) {
126134
126155
  return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
126135
126156
  }
126136
- var urVersion = "1.77.7", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
126157
+ var urVersion = "1.77.8", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
126137
126158
  var init_trends = __esm(() => {
126138
126159
  init_a2aCardSignature();
126139
126160
  coverage = [
@@ -128936,7 +128957,7 @@ function getAttributionHeader(fingerprint) {
128936
128957
  if (!isAttributionHeaderEnabled()) {
128937
128958
  return "";
128938
128959
  }
128939
- const version2 = `${"1.77.7"}.${fingerprint}`;
128960
+ const version2 = `${"1.77.8"}.${fingerprint}`;
128940
128961
  const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
128941
128962
  const cch = "";
128942
128963
  const workload = getWorkload();
@@ -156940,7 +156961,7 @@ var init_projectSafety = __esm(() => {
156940
156961
  function getInstruments() {
156941
156962
  if (instruments)
156942
156963
  return instruments;
156943
- const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.77.7");
156964
+ const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.77.8");
156944
156965
  instruments = {
156945
156966
  operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
156946
156967
  description: "GenAI operation duration.",
@@ -157038,7 +157059,7 @@ function genAiAgentAttributes() {
157038
157059
  "gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
157039
157060
  "gen_ai.provider.name": "ur",
157040
157061
  "gen_ai.agent.name": "UR-Nexus",
157041
- "gen_ai.agent.version": "1.77.7"
157062
+ "gen_ai.agent.version": "1.77.8"
157042
157063
  };
157043
157064
  }
157044
157065
  function genAiWorkflowAttributes(workflowName) {
@@ -157054,7 +157075,7 @@ function genAiWorkflowAttributes(workflowName) {
157054
157075
  function startGenAiWorkflowSpan(workflowName) {
157055
157076
  const attributes = genAiWorkflowAttributes(workflowName);
157056
157077
  const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
157057
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.7").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
157078
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.8").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
157058
157079
  }
157059
157080
  function endGenAiWorkflowSpan(span, options2 = {}) {
157060
157081
  try {
@@ -157092,7 +157113,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
157092
157113
  if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
157093
157114
  attributes["gen_ai.memory.record.count"] = options2.recordCount;
157094
157115
  }
157095
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.7").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
157116
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.8").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
157096
157117
  }
157097
157118
  function endGenAiMemorySpan(span, options2 = {}) {
157098
157119
  try {
@@ -250740,7 +250761,7 @@ function getTelemetryAttributes() {
250740
250761
  attributes["session.id"] = sessionId;
250741
250762
  }
250742
250763
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
250743
- attributes["app.version"] = "1.77.7";
250764
+ attributes["app.version"] = "1.77.8";
250744
250765
  }
250745
250766
  const oauthAccount = getOauthAccountInfo();
250746
250767
  if (oauthAccount) {
@@ -297247,7 +297268,7 @@ function getInstallationEnv() {
297247
297268
  return;
297248
297269
  }
297249
297270
  function getURCodeVersion() {
297250
- return "1.77.7";
297271
+ return "1.77.8";
297251
297272
  }
297252
297273
  async function getInstalledVSCodeExtensionVersion(command) {
297253
297274
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -304578,7 +304599,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
304578
304599
  const client2 = new Client({
304579
304600
  name: "ur",
304580
304601
  title: "UR",
304581
- version: "1.77.7",
304602
+ version: "1.77.8",
304582
304603
  description: "UR-Nexus autonomous engineering workflow engine",
304583
304604
  websiteUrl: PRODUCT_URL
304584
304605
  }, {
@@ -304938,7 +304959,7 @@ var init_client5 = __esm(() => {
304938
304959
  const client2 = new Client({
304939
304960
  name: "ur",
304940
304961
  title: "UR",
304941
- version: "1.77.7",
304962
+ version: "1.77.8",
304942
304963
  description: "UR-Nexus autonomous engineering workflow engine",
304943
304964
  websiteUrl: PRODUCT_URL
304944
304965
  }, {
@@ -317491,7 +317512,7 @@ async function createRuntime() {
317491
317512
  bootstrapTelemetry();
317492
317513
  const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
317493
317514
  [import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
317494
- [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.77.7"
317515
+ [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.77.8"
317495
317516
  }));
317496
317517
  const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
317497
317518
  resource,
@@ -317524,11 +317545,11 @@ async function createRuntime() {
317524
317545
  setMeterProvider(meterProvider);
317525
317546
  setLoggerProvider(loggerProvider);
317526
317547
  if (meterProvider) {
317527
- const meter = meterProvider.getMeter("ur-agent", "1.77.7");
317548
+ const meter = meterProvider.getMeter("ur-agent", "1.77.8");
317528
317549
  setMeter(meter, (name, options2) => meter.createCounter(name, options2));
317529
317550
  }
317530
317551
  if (loggerProvider) {
317531
- setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.77.7"));
317552
+ setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.77.8"));
317532
317553
  }
317533
317554
  if (!cleanupRegistered2) {
317534
317555
  cleanupRegistered2 = true;
@@ -318190,9 +318211,9 @@ async function assertMinVersion() {
318190
318211
  if (false) {}
318191
318212
  try {
318192
318213
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
318193
- if (versionConfig.minVersion && lt("1.77.7", versionConfig.minVersion)) {
318214
+ if (versionConfig.minVersion && lt("1.77.8", versionConfig.minVersion)) {
318194
318215
  console.error(`
318195
- It looks like your version of UR (${"1.77.7"}) needs an update.
318216
+ It looks like your version of UR (${"1.77.8"}) needs an update.
318196
318217
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
318197
318218
 
318198
318219
  To update, please run:
@@ -318408,7 +318429,7 @@ async function installGlobalPackage(specificVersion) {
318408
318429
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
318409
318430
  logEvent("tengu_auto_updater_lock_contention", {
318410
318431
  pid: process.pid,
318411
- currentVersion: "1.77.7"
318432
+ currentVersion: "1.77.8"
318412
318433
  });
318413
318434
  return "in_progress";
318414
318435
  }
@@ -318417,7 +318438,7 @@ async function installGlobalPackage(specificVersion) {
318417
318438
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
318418
318439
  logError2(new Error("Windows NPM detected in WSL environment"));
318419
318440
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
318420
- currentVersion: "1.77.7"
318441
+ currentVersion: "1.77.8"
318421
318442
  });
318422
318443
  console.error(`
318423
318444
  Error: Windows NPM detected in WSL
@@ -318952,7 +318973,7 @@ function detectLinuxGlobPatternWarnings() {
318952
318973
  }
318953
318974
  async function getDoctorDiagnostic() {
318954
318975
  const installationType = await getCurrentInstallationType();
318955
- const version2 = typeof MACRO !== "undefined" ? "1.77.7" : "unknown";
318976
+ const version2 = typeof MACRO !== "undefined" ? "1.77.8" : "unknown";
318956
318977
  const installationPath = await getInstallationPath();
318957
318978
  const invokedBinary = getInvokedBinary();
318958
318979
  const multipleInstallations = await detectMultipleInstallations();
@@ -319887,8 +319908,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
319887
319908
  const maxVersion = await getMaxVersion();
319888
319909
  if (maxVersion && gt(version2, maxVersion)) {
319889
319910
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
319890
- if (gte("1.77.7", maxVersion)) {
319891
- logForDebugging(`Native installer: current version ${"1.77.7"} is already at or above maxVersion ${maxVersion}, skipping update`);
319911
+ if (gte("1.77.8", maxVersion)) {
319912
+ logForDebugging(`Native installer: current version ${"1.77.8"} is already at or above maxVersion ${maxVersion}, skipping update`);
319892
319913
  logEvent("tengu_native_update_skipped_max_version", {
319893
319914
  latency_ms: Date.now() - startTime,
319894
319915
  max_version: maxVersion,
@@ -319899,7 +319920,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
319899
319920
  version2 = maxVersion;
319900
319921
  }
319901
319922
  }
319902
- if (!forceReinstall && version2 === "1.77.7" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
319923
+ if (!forceReinstall && version2 === "1.77.8" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
319903
319924
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
319904
319925
  logEvent("tengu_native_update_complete", {
319905
319926
  latency_ms: Date.now() - startTime,
@@ -389609,7 +389630,7 @@ function isAnyTracingEnabled() {
389609
389630
  return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
389610
389631
  }
389611
389632
  function getTracer() {
389612
- return import_api39.trace.getTracer("ur-agent.gen_ai", "1.77.7");
389633
+ return import_api39.trace.getTracer("ur-agent.gen_ai", "1.77.8");
389613
389634
  }
389614
389635
  function createSpanAttributes(spanType, customAttributes = {}) {
389615
389636
  const baseAttributes = getTelemetryAttributes();
@@ -419831,7 +419852,7 @@ function Feedback({
419831
419852
  platform: env2.platform,
419832
419853
  gitRepo: envInfo.isGit,
419833
419854
  terminal: env2.terminal,
419834
- version: "1.77.7",
419855
+ version: "1.77.8",
419835
419856
  transcript: normalizeMessagesForAPI(messages),
419836
419857
  errors: sanitizedErrors,
419837
419858
  lastApiRequest: getLastAPIRequest(),
@@ -420023,7 +420044,7 @@ function Feedback({
420023
420044
  ", ",
420024
420045
  env2.terminal,
420025
420046
  ", v",
420026
- "1.77.7"
420047
+ "1.77.8"
420027
420048
  ]
420028
420049
  }, undefined, true, undefined, this)
420029
420050
  ]
@@ -420129,7 +420150,7 @@ ${sanitizedDescription}
420129
420150
  ` + `**Environment Info**
420130
420151
  ` + `- Platform: ${env2.platform}
420131
420152
  ` + `- Terminal: ${env2.terminal}
420132
- ` + `- Version: ${"1.77.7"}
420153
+ ` + `- Version: ${"1.77.8"}
420133
420154
  ` + `- Feedback ID: ${feedbackId}
420134
420155
  ` + `
420135
420156
  **Errors**
@@ -423239,7 +423260,7 @@ function buildPrimarySection() {
423239
423260
  }, undefined, false, undefined, this);
423240
423261
  return [{
423241
423262
  label: "Version",
423242
- value: "1.77.7"
423263
+ value: "1.77.8"
423243
423264
  }, {
423244
423265
  label: "Session name",
423245
423266
  value: nameValue
@@ -426621,7 +426642,7 @@ function Config({
426621
426642
  }
426622
426643
  }, undefined, false, undefined, this)
426623
426644
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
426624
- currentVersion: "1.77.7",
426645
+ currentVersion: "1.77.8",
426625
426646
  onChoice: (choice) => {
426626
426647
  setShowSubmenu(null);
426627
426648
  setTabsHidden(false);
@@ -426633,7 +426654,7 @@ function Config({
426633
426654
  autoUpdatesChannel: "stable"
426634
426655
  };
426635
426656
  if (choice === "stay") {
426636
- newSettings.minimumVersion = "1.77.7";
426657
+ newSettings.minimumVersion = "1.77.8";
426637
426658
  }
426638
426659
  updateSettingsForSource("userSettings", newSettings);
426639
426660
  setSettingsData((prev_27) => ({
@@ -434697,7 +434718,7 @@ function HelpV2(t0) {
434697
434718
  let t6;
434698
434719
  if ($2[31] !== tabs) {
434699
434720
  t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
434700
- title: `UR v${"1.77.7"}`,
434721
+ title: `UR v${"1.77.8"}`,
434701
434722
  color: "professionalBlue",
434702
434723
  defaultTab: "general",
434703
434724
  children: tabs
@@ -435630,7 +435651,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
435630
435651
  async function handleInitialize(options2) {
435631
435652
  return {
435632
435653
  name: "UR",
435633
- version: "1.77.7",
435654
+ version: "1.77.8",
435634
435655
  protocolVersion: "0.1.0",
435635
435656
  workspaceRoot: options2.cwd,
435636
435657
  capabilities: {
@@ -452738,7 +452759,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
452738
452759
  return [];
452739
452760
  }
452740
452761
  }
452741
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.7") {
452762
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.8") {
452742
452763
  if (process.env.USER_TYPE === "ant") {
452743
452764
  const changelog = "";
452744
452765
  if (changelog) {
@@ -452765,7 +452786,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.7")
452765
452786
  releaseNotes
452766
452787
  };
452767
452788
  }
452768
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.77.7") {
452789
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.77.8") {
452769
452790
  if (process.env.USER_TYPE === "ant") {
452770
452791
  const changelog = "";
452771
452792
  if (changelog) {
@@ -455631,7 +455652,7 @@ function getRecentActivitySync() {
455631
455652
  return cachedActivity;
455632
455653
  }
455633
455654
  function getLogoDisplayData() {
455634
- const version2 = process.env.DEMO_VERSION ?? "1.77.7";
455655
+ const version2 = process.env.DEMO_VERSION ?? "1.77.8";
455635
455656
  const serverUrl = getDirectConnectServerUrl();
455636
455657
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
455637
455658
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -456498,7 +456519,7 @@ function LogoV2() {
456498
456519
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
456499
456520
  t2 = () => {
456500
456521
  const currentConfig2 = getGlobalConfig();
456501
- if (currentConfig2.lastReleaseNotesSeen === "1.77.7") {
456522
+ if (currentConfig2.lastReleaseNotesSeen === "1.77.8") {
456502
456523
  return;
456503
456524
  }
456504
456525
  saveGlobalConfig(_temp325);
@@ -457183,12 +457204,12 @@ function LogoV2() {
457183
457204
  return t41;
457184
457205
  }
457185
457206
  function _temp325(current) {
457186
- if (current.lastReleaseNotesSeen === "1.77.7") {
457207
+ if (current.lastReleaseNotesSeen === "1.77.8") {
457187
457208
  return current;
457188
457209
  }
457189
457210
  return {
457190
457211
  ...current,
457191
- lastReleaseNotesSeen: "1.77.7"
457212
+ lastReleaseNotesSeen: "1.77.8"
457192
457213
  };
457193
457214
  }
457194
457215
  function _temp241(s_0) {
@@ -474002,7 +474023,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
474002
474023
  if (spec.name !== specName) {
474003
474024
  throw new Error("Agentic CI workflow spec name does not match");
474004
474025
  }
474005
- const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.77.7" : "1.77.7");
474026
+ const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.77.8" : "1.77.8");
474006
474027
  if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
474007
474028
  throw new Error("invalid ur-agent package version");
474008
474029
  }
@@ -474995,7 +475016,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
474995
475016
  path: ".github/workflows/ur.yml",
474996
475017
  root: "project",
474997
475018
  content: compileAgenticCiWorkflow("default", {
474998
- packageVersion: typeof MACRO !== "undefined" ? "1.77.7" : "1.77.7"
475019
+ packageVersion: typeof MACRO !== "undefined" ? "1.77.8" : "1.77.8"
474999
475020
  })
475000
475021
  },
475001
475022
  {
@@ -475058,7 +475079,7 @@ function value(tokens, flag) {
475058
475079
  return index2 >= 0 ? tokens[index2 + 1] : undefined;
475059
475080
  }
475060
475081
  function cliVersion() {
475061
- return typeof MACRO !== "undefined" ? "1.77.7" : "1.77.7";
475082
+ return typeof MACRO !== "undefined" ? "1.77.8" : "1.77.8";
475062
475083
  }
475063
475084
  function workflowPath(cwd2) {
475064
475085
  return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
@@ -480914,7 +480935,7 @@ function createAcpStdioApp(deps) {
480914
480935
  }
480915
480936
  },
480916
480937
  authMethods: [],
480917
- agentInfo: { name: "UR-Nexus", version: "1.77.7" }
480938
+ agentInfo: { name: "UR-Nexus", version: "1.77.8" }
480918
480939
  })).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
480919
480940
  const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
480920
480941
  await runtime2.announce({
@@ -481011,7 +481032,7 @@ function createAcpStdioAgent(deps) {
481011
481032
  }
481012
481033
  },
481013
481034
  authMethods: [],
481014
- agentInfo: { name: "UR-Nexus", version: "1.77.7" }
481035
+ agentInfo: { name: "UR-Nexus", version: "1.77.8" }
481015
481036
  });
481016
481037
  return;
481017
481038
  case "authenticate":
@@ -690471,7 +690492,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
690471
690492
  smapsRollup,
690472
690493
  platform: process.platform,
690473
690494
  nodeVersion: process.version,
690474
- ccVersion: "1.77.7"
690495
+ ccVersion: "1.77.8"
690475
690496
  };
690476
690497
  }
690477
690498
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -691051,7 +691072,7 @@ var init_bridge_kick = __esm(() => {
691051
691072
  var call154 = async () => {
691052
691073
  return {
691053
691074
  type: "text",
691054
- value: "1.77.7"
691075
+ value: "1.77.8"
691055
691076
  };
691056
691077
  }, version2, version_default;
691057
691078
  var init_version = __esm(() => {
@@ -702318,7 +702339,7 @@ function generateHtmlReport(data, insights) {
702318
702339
  </html>`;
702319
702340
  }
702320
702341
  function buildExportData(data, insights, facets, remoteStats) {
702321
- const version3 = typeof MACRO !== "undefined" ? "1.77.7" : "unknown";
702342
+ const version3 = typeof MACRO !== "undefined" ? "1.77.8" : "unknown";
702322
702343
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
702323
702344
  const facets_summary = {
702324
702345
  total: facets.size,
@@ -706632,7 +706653,7 @@ var init_sessionStorage = __esm(() => {
706632
706653
  init_settings2();
706633
706654
  init_slowOperations();
706634
706655
  init_uuid();
706635
- VERSION7 = typeof MACRO !== "undefined" ? "1.77.7" : "unknown";
706656
+ VERSION7 = typeof MACRO !== "undefined" ? "1.77.8" : "unknown";
706636
706657
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
706637
706658
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
706638
706659
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -707847,7 +707868,7 @@ var init_filesystem = __esm(() => {
707847
707868
  });
707848
707869
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
707849
707870
  const nonce = randomBytes20(16).toString("hex");
707850
- return join232(getURTempDir(), "bundled-skills", "1.77.7", nonce);
707871
+ return join232(getURTempDir(), "bundled-skills", "1.77.8", nonce);
707851
707872
  });
707852
707873
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
707853
707874
  });
@@ -714204,7 +714225,7 @@ function computeFingerprint(messageText2, version3) {
714204
714225
  }
714205
714226
  function computeFingerprintFromMessages(messages) {
714206
714227
  const firstMessageText = extractFirstMessageText(messages);
714207
- return computeFingerprint(firstMessageText, "1.77.7");
714228
+ return computeFingerprint(firstMessageText, "1.77.8");
714208
714229
  }
714209
714230
  var FINGERPRINT_SALT = "59cf53e54c78";
714210
714231
  var init_fingerprint = () => {};
@@ -716126,7 +716147,7 @@ async function sideQuery(opts) {
716126
716147
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
716127
716148
  }
716128
716149
  const messageText2 = extractFirstUserMessageText(messages);
716129
- const fingerprint2 = computeFingerprint(messageText2, "1.77.7");
716150
+ const fingerprint2 = computeFingerprint(messageText2, "1.77.8");
716130
716151
  const attributionHeader = getAttributionHeader(fingerprint2);
716131
716152
  const systemBlocks = [
716132
716153
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -720963,7 +720984,7 @@ function buildSystemInitMessage(inputs) {
720963
720984
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
720964
720985
  apiKeySource: getURHQApiKeyWithSource().source,
720965
720986
  betas: getSdkBetas(),
720966
- ur_version: "1.77.7",
720987
+ ur_version: "1.77.8",
720967
720988
  output_style: outputStyle2,
720968
720989
  agents: inputs.agents.map((agent2) => agent2.agentType),
720969
720990
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -734835,7 +734856,7 @@ var init_useVoiceEnabled = __esm(() => {
734835
734856
  function getSemverPart(version3) {
734836
734857
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
734837
734858
  }
734838
- function useUpdateNotification(updatedVersion, initialVersion = "1.77.7") {
734859
+ function useUpdateNotification(updatedVersion, initialVersion = "1.77.8") {
734839
734860
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react223.useState(() => getSemverPart(initialVersion));
734840
734861
  if (!updatedVersion) {
734841
734862
  return null;
@@ -734884,7 +734905,7 @@ function AutoUpdater({
734884
734905
  return;
734885
734906
  }
734886
734907
  if (false) {}
734887
- const currentVersion = "1.77.7";
734908
+ const currentVersion = "1.77.8";
734888
734909
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
734889
734910
  let latestVersion = await getLatestVersion(channel);
734890
734911
  const isDisabled = isAutoUpdaterDisabled();
@@ -735113,12 +735134,12 @@ function NativeAutoUpdater({
735113
735134
  logEvent("tengu_native_auto_updater_start", {});
735114
735135
  try {
735115
735136
  const maxVersion = await getMaxVersion();
735116
- if (maxVersion && gt("1.77.7", maxVersion)) {
735137
+ if (maxVersion && gt("1.77.8", maxVersion)) {
735117
735138
  const msg = await getMaxVersionMessage();
735118
735139
  setMaxVersionIssue(msg ?? "affects your version");
735119
735140
  }
735120
735141
  const result = await installLatest(channel);
735121
- const currentVersion = "1.77.7";
735142
+ const currentVersion = "1.77.8";
735122
735143
  const latencyMs = Date.now() - startTime;
735123
735144
  if (result.lockFailed) {
735124
735145
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -735255,17 +735276,17 @@ function PackageManagerAutoUpdater(t0) {
735255
735276
  const maxVersion = await getMaxVersion();
735256
735277
  if (maxVersion && latest && gt(latest, maxVersion)) {
735257
735278
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
735258
- if (gte("1.77.7", maxVersion)) {
735259
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.77.7"} is already at or above maxVersion ${maxVersion}, skipping update`);
735279
+ if (gte("1.77.8", maxVersion)) {
735280
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.77.8"} is already at or above maxVersion ${maxVersion}, skipping update`);
735260
735281
  setUpdateAvailable(false);
735261
735282
  return;
735262
735283
  }
735263
735284
  latest = maxVersion;
735264
735285
  }
735265
- const hasUpdate = latest && !gte("1.77.7", latest) && !shouldSkipVersion(latest);
735286
+ const hasUpdate = latest && !gte("1.77.8", latest) && !shouldSkipVersion(latest);
735266
735287
  setUpdateAvailable(!!hasUpdate);
735267
735288
  if (hasUpdate) {
735268
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.77.7"} -> ${latest}`);
735289
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.77.8"} -> ${latest}`);
735269
735290
  }
735270
735291
  };
735271
735292
  $2[0] = t1;
@@ -735299,7 +735320,7 @@ function PackageManagerAutoUpdater(t0) {
735299
735320
  wrap: "truncate",
735300
735321
  children: [
735301
735322
  "currentVersion: ",
735302
- "1.77.7"
735323
+ "1.77.8"
735303
735324
  ]
735304
735325
  }, undefined, true, undefined, this);
735305
735326
  $2[3] = verbose;
@@ -746099,7 +746120,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
746099
746120
  project_dir: getOriginalCwd(),
746100
746121
  added_dirs: addedDirs
746101
746122
  },
746102
- version: "1.77.7",
746123
+ version: "1.77.8",
746103
746124
  output_style: {
746104
746125
  name: outputStyleName
746105
746126
  },
@@ -746234,7 +746255,7 @@ function StatusLineInner({
746234
746255
  const attention = customStatusError ?? taskAttention;
746235
746256
  const terminalSize = React132.useContext(TerminalSizeContext);
746236
746257
  const defaultStatusLineText = buildDefaultStatusBar({
746237
- version: "1.77.7",
746258
+ version: "1.77.8",
746238
746259
  providerLabel: providerRuntime.providerLabel,
746239
746260
  authMode: providerRuntime.authLabel,
746240
746261
  model: renderModelName(mainLoopModel) || providerRuntime.model || "",
@@ -758519,7 +758540,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
758519
758540
  } catch {}
758520
758541
  const data = {
758521
758542
  trigger: trigger2,
758522
- version: "1.77.7",
758543
+ version: "1.77.8",
758523
758544
  platform: process.platform,
758524
758545
  transcript,
758525
758546
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -770893,7 +770914,7 @@ function WelcomeV2() {
770893
770914
  dimColor: true,
770894
770915
  children: [
770895
770916
  "v",
770896
- "1.77.7"
770917
+ "1.77.8"
770897
770918
  ]
770898
770919
  }, undefined, true, undefined, this)
770899
770920
  ]
@@ -772153,7 +772174,7 @@ function completeOnboarding() {
772153
772174
  saveGlobalConfig((current) => ({
772154
772175
  ...current,
772155
772176
  hasCompletedOnboarding: true,
772156
- lastOnboardingVersion: "1.77.7"
772177
+ lastOnboardingVersion: "1.77.8"
772157
772178
  }));
772158
772179
  }
772159
772180
  function showDialog(root2, renderer) {
@@ -777197,7 +777218,7 @@ function appendToLog(path24, message) {
777197
777218
  cwd: getFsImplementation().cwd(),
777198
777219
  userType: process.env.USER_TYPE,
777199
777220
  sessionId: getSessionId(),
777200
- version: "1.77.7"
777221
+ version: "1.77.8"
777201
777222
  };
777202
777223
  getLogWriter(path24).write(messageWithTimestamp);
777203
777224
  }
@@ -781356,8 +781377,8 @@ async function getEnvLessBridgeConfig() {
781356
781377
  }
781357
781378
  async function checkEnvLessBridgeMinVersion() {
781358
781379
  const cfg = await getEnvLessBridgeConfig();
781359
- if (cfg.min_version && lt("1.77.7", cfg.min_version)) {
781360
- return `Your version of UR (${"1.77.7"}) is too old for Remote Control.
781380
+ if (cfg.min_version && lt("1.77.8", cfg.min_version)) {
781381
+ return `Your version of UR (${"1.77.8"}) is too old for Remote Control.
781361
781382
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
781362
781383
  }
781363
781384
  return null;
@@ -781831,7 +781852,7 @@ async function initBridgeCore(params) {
781831
781852
  const rawApi = createBridgeApiClient({
781832
781853
  baseUrl,
781833
781854
  getAccessToken,
781834
- runnerVersion: "1.77.7",
781855
+ runnerVersion: "1.77.8",
781835
781856
  onDebug: logForDebugging,
781836
781857
  onAuth401,
781837
781858
  getTrustedDeviceToken
@@ -791304,7 +791325,7 @@ function getAgUiCapabilities() {
791304
791325
  name: "UR-Nexus",
791305
791326
  type: "ur-nexus",
791306
791327
  description: "Provider-flexible, local-first autonomous engineering workflow agent.",
791307
- version: "1.77.7",
791328
+ version: "1.77.8",
791308
791329
  provider: "UR",
791309
791330
  documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
791310
791331
  },
@@ -792444,7 +792465,7 @@ function createMCPServer(cwd4, debug2, verbose) {
792444
792465
  };
792445
792466
  const server2 = new Server({
792446
792467
  name: "ur-nexus",
792447
- version: "1.77.7"
792468
+ version: "1.77.8"
792448
792469
  }, {
792449
792470
  capabilities: {
792450
792471
  tools: {}
@@ -793602,7 +793623,7 @@ function thrownResponse(error40) {
793602
793623
  }
793603
793624
  async function createUrMcp2026Runtime(options4) {
793604
793625
  const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
793605
- const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.77.7" }, { capabilities: {} });
793626
+ const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.77.8" }, { capabilities: {} });
793606
793627
  const [clientTransport, serverTransport] = createLinkedTransportPair();
793607
793628
  try {
793608
793629
  await server2.connect(serverTransport);
@@ -793613,7 +793634,7 @@ async function createUrMcp2026Runtime(options4) {
793613
793634
  }
793614
793635
  const runtime2 = new Mcp2026Runtime({
793615
793636
  cwd: options4.cwd,
793616
- version: "1.77.7",
793637
+ version: "1.77.8",
793617
793638
  backend: {
793618
793639
  listTools: async () => {
793619
793640
  const listed = await client2.listTools();
@@ -795754,7 +795775,7 @@ async function update() {
795754
795775
  logEvent("tengu_update_check", {});
795755
795776
  const diagnostic2 = await getDoctorDiagnostic();
795756
795777
  const result = await checkUpgradeStatus({
795757
- currentVersion: "1.77.7",
795778
+ currentVersion: "1.77.8",
795758
795779
  packageName: UR_AGENT_PACKAGE_NAME,
795759
795780
  installationType: diagnostic2.installationType,
795760
795781
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -797070,7 +797091,7 @@ ${customInstructions}` : customInstructions;
797070
797091
  }
797071
797092
  }
797072
797093
  logForDiagnosticsNoPII("info", "started", {
797073
- version: "1.77.7",
797094
+ version: "1.77.8",
797074
797095
  is_native_binary: isInBundledMode()
797075
797096
  });
797076
797097
  registerCleanup(async () => {
@@ -797856,7 +797877,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
797856
797877
  pendingHookMessages
797857
797878
  }, renderAndRun);
797858
797879
  }
797859
- }).version("1.77.7 (UR-Nexus)", "-v, --version", "Output the version number");
797880
+ }).version("1.77.8 (UR-Nexus)", "-v, --version", "Output the version number");
797860
797881
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
797861
797882
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
797862
797883
  if (canUserConfigureAdvisor()) {
@@ -798908,7 +798929,7 @@ if (false) {}
798908
798929
  async function main2() {
798909
798930
  const args = process.argv.slice(2);
798910
798931
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
798911
- console.log(`${"1.77.7"} (UR-Nexus)`);
798932
+ console.log(`${"1.77.8"} (UR-Nexus)`);
798912
798933
  return;
798913
798934
  }
798914
798935
  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.7 (UR-Nexus)"
22
+ # expected for this release: "1.77.8 (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.7</p>
48
+ <p class="eyebrow">Version 1.77.8</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.7"
10
+ version = "1.77.8"
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.7",
5
+ "version": "1.77.8",
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.7",
3
+ "version": "1.77.8",
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",