ur-agent 1.78.4 → 1.78.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,35 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.78.6
4
+
5
+ - Delegation is the default for independent work rather than something held in
6
+ reserve. The guidance described subagents as valuable but warned against
7
+ using them "excessively when not needed", which reads as a reason not to —
8
+ so a request with several independent parts was worked through one step at a
9
+ time unless delegation was asked for by name. The test is now whether the
10
+ parts depend on each other: exploring several areas, researching more than
11
+ one question, or chasing independent leads is one call per part, issued
12
+ together so they run at once. Ordered work stays sequential and edits to one
13
+ file stay with the main agent, since parallel writers conflict.
14
+ - The four tests that pack a tarball or build a TypeScript program carry an
15
+ explicit budget. They are slow by nature and were running against the default
16
+ timeout, which passes on an idle machine and fails on a busy one — a budget
17
+ travels with the test regardless of how the suite is invoked.
18
+
19
+ ## 1.78.5
20
+
21
+ - A forward task dependency is recognised by its id rather than by the target
22
+ merely being absent. Ids are allocated as consecutive integers, so a target
23
+ above the highest one issued is a task still to come and its edge is stored;
24
+ a non-numeric id, or a number already passed, names a task that will never
25
+ arrive and stays an error. Without that distinction a typo became a blocker
26
+ nothing could ever satisfy.
27
+ - `bun test` runs with the same timeout the release gate uses. The script set
28
+ none, so the default applied and four tests that pack a tarball or build a
29
+ TypeScript program failed on a busy machine while passing on an idle one —
30
+ the hardest kind of failure to attribute, and unrelated to anything they
31
+ assert.
32
+
3
33
  ## 1.78.4
4
34
 
5
35
  - A task may declare a dependency on a task that does not exist yet. A plan
package/dist/cli.js CHANGED
@@ -107590,7 +107590,7 @@ var init_auth = __esm(() => {
107590
107590
 
107591
107591
  // src/utils/userAgent.ts
107592
107592
  function getURCodeUserAgent() {
107593
- return `ur/${"1.78.4"}`;
107593
+ return `ur/${"1.78.6"}`;
107594
107594
  }
107595
107595
 
107596
107596
  // src/utils/workloadContext.ts
@@ -107612,7 +107612,7 @@ function getUserAgent() {
107612
107612
  const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
107613
107613
  const workload = getWorkload();
107614
107614
  const workloadSuffix = workload ? `, workload/${workload}` : "";
107615
- return `ur-cli/${"1.78.4"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
107615
+ return `ur-cli/${"1.78.6"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
107616
107616
  }
107617
107617
  function getMCPUserAgent() {
107618
107618
  const parts = [];
@@ -107626,7 +107626,7 @@ function getMCPUserAgent() {
107626
107626
  parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
107627
107627
  }
107628
107628
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
107629
- return `ur/${"1.78.4"}${suffix}`;
107629
+ return `ur/${"1.78.6"}${suffix}`;
107630
107630
  }
107631
107631
  function getWebFetchUserAgent() {
107632
107632
  return `UR-User (${getURCodeUserAgent()})`;
@@ -107764,7 +107764,7 @@ var init_user = __esm(() => {
107764
107764
  deviceId,
107765
107765
  sessionId: getSessionId(),
107766
107766
  email: getEmail(),
107767
- appVersion: "1.78.4",
107767
+ appVersion: "1.78.6",
107768
107768
  platform: getHostPlatformForAnalytics(),
107769
107769
  organizationUuid,
107770
107770
  accountUuid,
@@ -115651,7 +115651,7 @@ var init_metadata = __esm(() => {
115651
115651
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
115652
115652
  WHITESPACE_REGEX = /\s+/;
115653
115653
  getVersionBase = memoize_default(() => {
115654
- const match = "1.78.4".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
115654
+ const match = "1.78.6".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
115655
115655
  return match ? match[0] : undefined;
115656
115656
  });
115657
115657
  buildEnvContext = memoize_default(async () => {
@@ -115691,7 +115691,7 @@ var init_metadata = __esm(() => {
115691
115691
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
115692
115692
  isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
115693
115693
  isURAiAuth: isURAISubscriber(),
115694
- version: "1.78.4",
115694
+ version: "1.78.6",
115695
115695
  versionBase: getVersionBase(),
115696
115696
  buildTime: "",
115697
115697
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
@@ -116361,7 +116361,7 @@ function initialize1PEventLogging() {
116361
116361
  const platform2 = getPlatform();
116362
116362
  const attributes = {
116363
116363
  [import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
116364
- [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.78.4"
116364
+ [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.78.6"
116365
116365
  };
116366
116366
  if (platform2 === "wsl") {
116367
116367
  const wslVersion = getWslVersion();
@@ -116389,7 +116389,7 @@ function initialize1PEventLogging() {
116389
116389
  })
116390
116390
  ]
116391
116391
  });
116392
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.78.4");
116392
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.78.6");
116393
116393
  }
116394
116394
  async function reinitialize1PEventLoggingIfConfigChanged() {
116395
116395
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -126171,7 +126171,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
126171
126171
  function formatA2AAgentCard(options = {}, pretty = true) {
126172
126172
  return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
126173
126173
  }
126174
- var urVersion = "1.78.4", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
126174
+ var urVersion = "1.78.6", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
126175
126175
  var init_trends = __esm(() => {
126176
126176
  init_a2aCardSignature();
126177
126177
  coverage = [
@@ -128974,7 +128974,7 @@ function getAttributionHeader(fingerprint) {
128974
128974
  if (!isAttributionHeaderEnabled()) {
128975
128975
  return "";
128976
128976
  }
128977
- const version2 = `${"1.78.4"}.${fingerprint}`;
128977
+ const version2 = `${"1.78.6"}.${fingerprint}`;
128978
128978
  const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
128979
128979
  const cch = "";
128980
128980
  const workload = getWorkload();
@@ -156978,7 +156978,7 @@ var init_projectSafety = __esm(() => {
156978
156978
  function getInstruments() {
156979
156979
  if (instruments)
156980
156980
  return instruments;
156981
- const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.78.4");
156981
+ const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.78.6");
156982
156982
  instruments = {
156983
156983
  operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
156984
156984
  description: "GenAI operation duration.",
@@ -157076,7 +157076,7 @@ function genAiAgentAttributes() {
157076
157076
  "gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
157077
157077
  "gen_ai.provider.name": "ur",
157078
157078
  "gen_ai.agent.name": "UR-Nexus",
157079
- "gen_ai.agent.version": "1.78.4"
157079
+ "gen_ai.agent.version": "1.78.6"
157080
157080
  };
157081
157081
  }
157082
157082
  function genAiWorkflowAttributes(workflowName) {
@@ -157092,7 +157092,7 @@ function genAiWorkflowAttributes(workflowName) {
157092
157092
  function startGenAiWorkflowSpan(workflowName) {
157093
157093
  const attributes = genAiWorkflowAttributes(workflowName);
157094
157094
  const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
157095
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.4").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
157095
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.6").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
157096
157096
  }
157097
157097
  function endGenAiWorkflowSpan(span, options2 = {}) {
157098
157098
  try {
@@ -157130,7 +157130,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
157130
157130
  if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
157131
157131
  attributes["gen_ai.memory.record.count"] = options2.recordCount;
157132
157132
  }
157133
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.4").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
157133
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.6").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
157134
157134
  }
157135
157135
  function endGenAiMemorySpan(span, options2 = {}) {
157136
157136
  try {
@@ -159743,7 +159743,15 @@ function validateTaskDependencyInSnapshot(tasks, fromTaskId, toTaskId) {
159743
159743
  return { valid: false, reason: "task_not_found" };
159744
159744
  }
159745
159745
  if (!toTask) {
159746
- return { valid: true };
159746
+ const highestIssued = tasks.reduce((highest, task) => {
159747
+ const numeric = Number(task.id);
159748
+ return Number.isInteger(numeric) ? Math.max(highest, numeric) : highest;
159749
+ }, 0);
159750
+ const target = Number(toTaskId);
159751
+ if (Number.isInteger(target) && target > highestIssued) {
159752
+ return { valid: true };
159753
+ }
159754
+ return { valid: false, reason: "task_not_found" };
159747
159755
  }
159748
159756
  if (fromTask.blocks.includes(toTaskId)) {
159749
159757
  return { valid: true };
@@ -250786,7 +250794,7 @@ function getTelemetryAttributes() {
250786
250794
  attributes["session.id"] = sessionId;
250787
250795
  }
250788
250796
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
250789
- attributes["app.version"] = "1.78.4";
250797
+ attributes["app.version"] = "1.78.6";
250790
250798
  }
250791
250799
  const oauthAccount = getOauthAccountInfo();
250792
250800
  if (oauthAccount) {
@@ -297293,7 +297301,7 @@ function getInstallationEnv() {
297293
297301
  return;
297294
297302
  }
297295
297303
  function getURCodeVersion() {
297296
- return "1.78.4";
297304
+ return "1.78.6";
297297
297305
  }
297298
297306
  async function getInstalledVSCodeExtensionVersion(command) {
297299
297307
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -304624,7 +304632,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
304624
304632
  const client2 = new Client({
304625
304633
  name: "ur",
304626
304634
  title: "UR",
304627
- version: "1.78.4",
304635
+ version: "1.78.6",
304628
304636
  description: "UR-Nexus autonomous engineering workflow engine",
304629
304637
  websiteUrl: PRODUCT_URL
304630
304638
  }, {
@@ -304984,7 +304992,7 @@ var init_client5 = __esm(() => {
304984
304992
  const client2 = new Client({
304985
304993
  name: "ur",
304986
304994
  title: "UR",
304987
- version: "1.78.4",
304995
+ version: "1.78.6",
304988
304996
  description: "UR-Nexus autonomous engineering workflow engine",
304989
304997
  websiteUrl: PRODUCT_URL
304990
304998
  }, {
@@ -317593,7 +317601,7 @@ async function createRuntime() {
317593
317601
  bootstrapTelemetry();
317594
317602
  const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
317595
317603
  [import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
317596
- [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.78.4"
317604
+ [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.78.6"
317597
317605
  }));
317598
317606
  const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
317599
317607
  resource,
@@ -317626,11 +317634,11 @@ async function createRuntime() {
317626
317634
  setMeterProvider(meterProvider);
317627
317635
  setLoggerProvider(loggerProvider);
317628
317636
  if (meterProvider) {
317629
- const meter = meterProvider.getMeter("ur-agent", "1.78.4");
317637
+ const meter = meterProvider.getMeter("ur-agent", "1.78.6");
317630
317638
  setMeter(meter, (name, options2) => meter.createCounter(name, options2));
317631
317639
  }
317632
317640
  if (loggerProvider) {
317633
- setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.78.4"));
317641
+ setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.78.6"));
317634
317642
  }
317635
317643
  if (!cleanupRegistered2) {
317636
317644
  cleanupRegistered2 = true;
@@ -318292,9 +318300,9 @@ async function assertMinVersion() {
318292
318300
  if (false) {}
318293
318301
  try {
318294
318302
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
318295
- if (versionConfig.minVersion && lt("1.78.4", versionConfig.minVersion)) {
318303
+ if (versionConfig.minVersion && lt("1.78.6", versionConfig.minVersion)) {
318296
318304
  console.error(`
318297
- It looks like your version of UR (${"1.78.4"}) needs an update.
318305
+ It looks like your version of UR (${"1.78.6"}) needs an update.
318298
318306
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
318299
318307
 
318300
318308
  To update, please run:
@@ -318510,7 +318518,7 @@ async function installGlobalPackage(specificVersion) {
318510
318518
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
318511
318519
  logEvent("tengu_auto_updater_lock_contention", {
318512
318520
  pid: process.pid,
318513
- currentVersion: "1.78.4"
318521
+ currentVersion: "1.78.6"
318514
318522
  });
318515
318523
  return "in_progress";
318516
318524
  }
@@ -318519,7 +318527,7 @@ async function installGlobalPackage(specificVersion) {
318519
318527
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
318520
318528
  logError2(new Error("Windows NPM detected in WSL environment"));
318521
318529
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
318522
- currentVersion: "1.78.4"
318530
+ currentVersion: "1.78.6"
318523
318531
  });
318524
318532
  console.error(`
318525
318533
  Error: Windows NPM detected in WSL
@@ -319054,7 +319062,7 @@ function detectLinuxGlobPatternWarnings() {
319054
319062
  }
319055
319063
  async function getDoctorDiagnostic() {
319056
319064
  const installationType = await getCurrentInstallationType();
319057
- const version2 = typeof MACRO !== "undefined" ? "1.78.4" : "unknown";
319065
+ const version2 = typeof MACRO !== "undefined" ? "1.78.6" : "unknown";
319058
319066
  const installationPath = await getInstallationPath();
319059
319067
  const invokedBinary = getInvokedBinary();
319060
319068
  const multipleInstallations = await detectMultipleInstallations();
@@ -319989,8 +319997,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
319989
319997
  const maxVersion = await getMaxVersion();
319990
319998
  if (maxVersion && gt(version2, maxVersion)) {
319991
319999
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
319992
- if (gte("1.78.4", maxVersion)) {
319993
- logForDebugging(`Native installer: current version ${"1.78.4"} is already at or above maxVersion ${maxVersion}, skipping update`);
320000
+ if (gte("1.78.6", maxVersion)) {
320001
+ logForDebugging(`Native installer: current version ${"1.78.6"} is already at or above maxVersion ${maxVersion}, skipping update`);
319994
320002
  logEvent("tengu_native_update_skipped_max_version", {
319995
320003
  latency_ms: Date.now() - startTime,
319996
320004
  max_version: maxVersion,
@@ -320001,7 +320009,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
320001
320009
  version2 = maxVersion;
320002
320010
  }
320003
320011
  }
320004
- if (!forceReinstall && version2 === "1.78.4" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
320012
+ if (!forceReinstall && version2 === "1.78.6" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
320005
320013
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
320006
320014
  logEvent("tengu_native_update_complete", {
320007
320015
  latency_ms: Date.now() - startTime,
@@ -389722,7 +389730,7 @@ function isAnyTracingEnabled() {
389722
389730
  return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
389723
389731
  }
389724
389732
  function getTracer() {
389725
- return import_api39.trace.getTracer("ur-agent.gen_ai", "1.78.4");
389733
+ return import_api39.trace.getTracer("ur-agent.gen_ai", "1.78.6");
389726
389734
  }
389727
389735
  function createSpanAttributes(spanType, customAttributes = {}) {
389728
389736
  const baseAttributes = getTelemetryAttributes();
@@ -419948,7 +419956,7 @@ function Feedback({
419948
419956
  platform: env2.platform,
419949
419957
  gitRepo: envInfo.isGit,
419950
419958
  terminal: env2.terminal,
419951
- version: "1.78.4",
419959
+ version: "1.78.6",
419952
419960
  transcript: normalizeMessagesForAPI(messages),
419953
419961
  errors: sanitizedErrors,
419954
419962
  lastApiRequest: getLastAPIRequest(),
@@ -420140,7 +420148,7 @@ function Feedback({
420140
420148
  ", ",
420141
420149
  env2.terminal,
420142
420150
  ", v",
420143
- "1.78.4"
420151
+ "1.78.6"
420144
420152
  ]
420145
420153
  }, undefined, true, undefined, this)
420146
420154
  ]
@@ -420246,7 +420254,7 @@ ${sanitizedDescription}
420246
420254
  ` + `**Environment Info**
420247
420255
  ` + `- Platform: ${env2.platform}
420248
420256
  ` + `- Terminal: ${env2.terminal}
420249
- ` + `- Version: ${"1.78.4"}
420257
+ ` + `- Version: ${"1.78.6"}
420250
420258
  ` + `- Feedback ID: ${feedbackId}
420251
420259
  ` + `
420252
420260
  **Errors**
@@ -423356,7 +423364,7 @@ function buildPrimarySection() {
423356
423364
  }, undefined, false, undefined, this);
423357
423365
  return [{
423358
423366
  label: "Version",
423359
- value: "1.78.4"
423367
+ value: "1.78.6"
423360
423368
  }, {
423361
423369
  label: "Session name",
423362
423370
  value: nameValue
@@ -426738,7 +426746,7 @@ function Config({
426738
426746
  }
426739
426747
  }, undefined, false, undefined, this)
426740
426748
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
426741
- currentVersion: "1.78.4",
426749
+ currentVersion: "1.78.6",
426742
426750
  onChoice: (choice) => {
426743
426751
  setShowSubmenu(null);
426744
426752
  setTabsHidden(false);
@@ -426750,7 +426758,7 @@ function Config({
426750
426758
  autoUpdatesChannel: "stable"
426751
426759
  };
426752
426760
  if (choice === "stay") {
426753
- newSettings.minimumVersion = "1.78.4";
426761
+ newSettings.minimumVersion = "1.78.6";
426754
426762
  }
426755
426763
  updateSettingsForSource("userSettings", newSettings);
426756
426764
  setSettingsData((prev_27) => ({
@@ -434814,7 +434822,7 @@ function HelpV2(t0) {
434814
434822
  let t6;
434815
434823
  if ($2[31] !== tabs) {
434816
434824
  t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
434817
- title: `UR v${"1.78.4"}`,
434825
+ title: `UR v${"1.78.6"}`,
434818
434826
  color: "professionalBlue",
434819
434827
  defaultTab: "general",
434820
434828
  children: tabs
@@ -435747,7 +435755,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
435747
435755
  async function handleInitialize(options2) {
435748
435756
  return {
435749
435757
  name: "UR",
435750
- version: "1.78.4",
435758
+ version: "1.78.6",
435751
435759
  protocolVersion: "0.1.0",
435752
435760
  workspaceRoot: options2.cwd,
435753
435761
  capabilities: {
@@ -452855,7 +452863,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
452855
452863
  return [];
452856
452864
  }
452857
452865
  }
452858
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.78.4") {
452866
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.78.6") {
452859
452867
  if (process.env.USER_TYPE === "ant") {
452860
452868
  const changelog = "";
452861
452869
  if (changelog) {
@@ -452882,7 +452890,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.78.4")
452882
452890
  releaseNotes
452883
452891
  };
452884
452892
  }
452885
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.78.4") {
452893
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.78.6") {
452886
452894
  if (process.env.USER_TYPE === "ant") {
452887
452895
  const changelog = "";
452888
452896
  if (changelog) {
@@ -455748,7 +455756,7 @@ function getRecentActivitySync() {
455748
455756
  return cachedActivity;
455749
455757
  }
455750
455758
  function getLogoDisplayData() {
455751
- const version2 = process.env.DEMO_VERSION ?? "1.78.4";
455759
+ const version2 = process.env.DEMO_VERSION ?? "1.78.6";
455752
455760
  const serverUrl = getDirectConnectServerUrl();
455753
455761
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
455754
455762
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -456615,7 +456623,7 @@ function LogoV2() {
456615
456623
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
456616
456624
  t2 = () => {
456617
456625
  const currentConfig2 = getGlobalConfig();
456618
- if (currentConfig2.lastReleaseNotesSeen === "1.78.4") {
456626
+ if (currentConfig2.lastReleaseNotesSeen === "1.78.6") {
456619
456627
  return;
456620
456628
  }
456621
456629
  saveGlobalConfig(_temp325);
@@ -457300,12 +457308,12 @@ function LogoV2() {
457300
457308
  return t41;
457301
457309
  }
457302
457310
  function _temp325(current) {
457303
- if (current.lastReleaseNotesSeen === "1.78.4") {
457311
+ if (current.lastReleaseNotesSeen === "1.78.6") {
457304
457312
  return current;
457305
457313
  }
457306
457314
  return {
457307
457315
  ...current,
457308
- lastReleaseNotesSeen: "1.78.4"
457316
+ lastReleaseNotesSeen: "1.78.6"
457309
457317
  };
457310
457318
  }
457311
457319
  function _temp241(s_0) {
@@ -474119,7 +474127,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
474119
474127
  if (spec.name !== specName) {
474120
474128
  throw new Error("Agentic CI workflow spec name does not match");
474121
474129
  }
474122
- const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.78.4" : "1.78.4");
474130
+ const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.78.6" : "1.78.6");
474123
474131
  if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
474124
474132
  throw new Error("invalid ur-agent package version");
474125
474133
  }
@@ -475112,7 +475120,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
475112
475120
  path: ".github/workflows/ur.yml",
475113
475121
  root: "project",
475114
475122
  content: compileAgenticCiWorkflow("default", {
475115
- packageVersion: typeof MACRO !== "undefined" ? "1.78.4" : "1.78.4"
475123
+ packageVersion: typeof MACRO !== "undefined" ? "1.78.6" : "1.78.6"
475116
475124
  })
475117
475125
  },
475118
475126
  {
@@ -475175,7 +475183,7 @@ function value(tokens, flag) {
475175
475183
  return index2 >= 0 ? tokens[index2 + 1] : undefined;
475176
475184
  }
475177
475185
  function cliVersion() {
475178
- return typeof MACRO !== "undefined" ? "1.78.4" : "1.78.4";
475186
+ return typeof MACRO !== "undefined" ? "1.78.6" : "1.78.6";
475179
475187
  }
475180
475188
  function workflowPath(cwd2) {
475181
475189
  return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
@@ -481031,7 +481039,7 @@ function createAcpStdioApp(deps) {
481031
481039
  }
481032
481040
  },
481033
481041
  authMethods: [],
481034
- agentInfo: { name: "UR-Nexus", version: "1.78.4" }
481042
+ agentInfo: { name: "UR-Nexus", version: "1.78.6" }
481035
481043
  })).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
481036
481044
  const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
481037
481045
  await runtime2.announce({
@@ -481128,7 +481136,7 @@ function createAcpStdioAgent(deps) {
481128
481136
  }
481129
481137
  },
481130
481138
  authMethods: [],
481131
- agentInfo: { name: "UR-Nexus", version: "1.78.4" }
481139
+ agentInfo: { name: "UR-Nexus", version: "1.78.6" }
481132
481140
  });
481133
481141
  return;
481134
481142
  case "authenticate":
@@ -690588,7 +690596,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
690588
690596
  smapsRollup,
690589
690597
  platform: process.platform,
690590
690598
  nodeVersion: process.version,
690591
- ccVersion: "1.78.4"
690599
+ ccVersion: "1.78.6"
690592
690600
  };
690593
690601
  }
690594
690602
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -691168,7 +691176,7 @@ var init_bridge_kick = __esm(() => {
691168
691176
  var call154 = async () => {
691169
691177
  return {
691170
691178
  type: "text",
691171
- value: "1.78.4"
691179
+ value: "1.78.6"
691172
691180
  };
691173
691181
  }, version2, version_default;
691174
691182
  var init_version = __esm(() => {
@@ -702435,7 +702443,7 @@ function generateHtmlReport(data, insights) {
702435
702443
  </html>`;
702436
702444
  }
702437
702445
  function buildExportData(data, insights, facets, remoteStats) {
702438
- const version3 = typeof MACRO !== "undefined" ? "1.78.4" : "unknown";
702446
+ const version3 = typeof MACRO !== "undefined" ? "1.78.6" : "unknown";
702439
702447
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
702440
702448
  const facets_summary = {
702441
702449
  total: facets.size,
@@ -706749,7 +706757,7 @@ var init_sessionStorage = __esm(() => {
706749
706757
  init_settings2();
706750
706758
  init_slowOperations();
706751
706759
  init_uuid();
706752
- VERSION7 = typeof MACRO !== "undefined" ? "1.78.4" : "unknown";
706760
+ VERSION7 = typeof MACRO !== "undefined" ? "1.78.6" : "unknown";
706753
706761
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
706754
706762
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
706755
706763
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -707964,7 +707972,7 @@ var init_filesystem = __esm(() => {
707964
707972
  });
707965
707973
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
707966
707974
  const nonce = randomBytes20(16).toString("hex");
707967
- return join232(getURTempDir(), "bundled-skills", "1.78.4", nonce);
707975
+ return join232(getURTempDir(), "bundled-skills", "1.78.6", nonce);
707968
707976
  });
707969
707977
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
707970
707978
  });
@@ -713551,7 +713559,7 @@ function getOllamaToolDisciplineSection() {
713551
713559
  `);
713552
713560
  }
713553
713561
  function getAgentToolSection() {
713554
- return isForkSubagentEnabled() ? `Calling ${AGENT_TOOL_NAME} without a subagent_type creates a fork, which runs in the background and keeps its tool output out of your context \u2014 so you can keep chatting with the user while it works. Reach for it when research or multi-step implementation work would otherwise fill your context with raw output you won't need again. **If you ARE the fork** \u2014 execute directly; do not re-delegate.` : `Use the ${AGENT_TOOL_NAME} tool with specialized agents when the task at hand matches the agent's description. Subagents are valuable for parallelizing independent queries or for protecting the main context window from excessive results, but they should not be used excessively when not needed. Importantly, avoid duplicating work that subagents are already doing - if you delegate research to a subagent, do not also perform the same searches yourself.`;
713562
+ return isForkSubagentEnabled() ? `Calling ${AGENT_TOOL_NAME} without a subagent_type creates a fork, which runs in the background and keeps its tool output out of your context \u2014 so you can keep chatting with the user while it works. Reach for it when research or multi-step implementation work would otherwise fill your context with raw output you won't need again. **If you ARE the fork** \u2014 execute directly; do not re-delegate.` : `Use the ${AGENT_TOOL_NAME} tool with specialized agents when the task at hand matches the agent's description, and reach for it by default whenever a request contains parts that do not depend on each other. Concretely: exploring several areas of a codebase, researching more than one question, or investigating independent leads are each one ${AGENT_TOOL_NAME} call per part, issued together in a single message so they run at once. Doing that work yourself, one step after another, is slower and fills your context with output you will not need again \u2014 so the bar for delegating is "are these parts independent", not "is this too big for me". Two exceptions: work that must happen in order stays sequential, and edits to the same file stay with you, since parallel writers conflict. Never repeat work you have delegated \u2014 if a subagent is researching something, do not also search for it yourself.`;
713555
713563
  }
713556
713564
  function getDiscoverSkillsGuidance() {
713557
713565
  if (false) {}
@@ -714321,7 +714329,7 @@ function computeFingerprint(messageText2, version3) {
714321
714329
  }
714322
714330
  function computeFingerprintFromMessages(messages) {
714323
714331
  const firstMessageText = extractFirstMessageText(messages);
714324
- return computeFingerprint(firstMessageText, "1.78.4");
714332
+ return computeFingerprint(firstMessageText, "1.78.6");
714325
714333
  }
714326
714334
  var FINGERPRINT_SALT = "59cf53e54c78";
714327
714335
  var init_fingerprint = () => {};
@@ -716243,7 +716251,7 @@ async function sideQuery(opts) {
716243
716251
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
716244
716252
  }
716245
716253
  const messageText2 = extractFirstUserMessageText(messages);
716246
- const fingerprint2 = computeFingerprint(messageText2, "1.78.4");
716254
+ const fingerprint2 = computeFingerprint(messageText2, "1.78.6");
716247
716255
  const attributionHeader = getAttributionHeader(fingerprint2);
716248
716256
  const systemBlocks = [
716249
716257
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -721080,7 +721088,7 @@ function buildSystemInitMessage(inputs) {
721080
721088
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
721081
721089
  apiKeySource: getURHQApiKeyWithSource().source,
721082
721090
  betas: getSdkBetas(),
721083
- ur_version: "1.78.4",
721091
+ ur_version: "1.78.6",
721084
721092
  output_style: outputStyle2,
721085
721093
  agents: inputs.agents.map((agent2) => agent2.agentType),
721086
721094
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -734952,7 +734960,7 @@ var init_useVoiceEnabled = __esm(() => {
734952
734960
  function getSemverPart(version3) {
734953
734961
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
734954
734962
  }
734955
- function useUpdateNotification(updatedVersion, initialVersion = "1.78.4") {
734963
+ function useUpdateNotification(updatedVersion, initialVersion = "1.78.6") {
734956
734964
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react223.useState(() => getSemverPart(initialVersion));
734957
734965
  if (!updatedVersion) {
734958
734966
  return null;
@@ -735001,7 +735009,7 @@ function AutoUpdater({
735001
735009
  return;
735002
735010
  }
735003
735011
  if (false) {}
735004
- const currentVersion = "1.78.4";
735012
+ const currentVersion = "1.78.6";
735005
735013
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
735006
735014
  let latestVersion = await getLatestVersion(channel);
735007
735015
  const isDisabled = isAutoUpdaterDisabled();
@@ -735230,12 +735238,12 @@ function NativeAutoUpdater({
735230
735238
  logEvent("tengu_native_auto_updater_start", {});
735231
735239
  try {
735232
735240
  const maxVersion = await getMaxVersion();
735233
- if (maxVersion && gt("1.78.4", maxVersion)) {
735241
+ if (maxVersion && gt("1.78.6", maxVersion)) {
735234
735242
  const msg = await getMaxVersionMessage();
735235
735243
  setMaxVersionIssue(msg ?? "affects your version");
735236
735244
  }
735237
735245
  const result = await installLatest(channel);
735238
- const currentVersion = "1.78.4";
735246
+ const currentVersion = "1.78.6";
735239
735247
  const latencyMs = Date.now() - startTime;
735240
735248
  if (result.lockFailed) {
735241
735249
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -735372,17 +735380,17 @@ function PackageManagerAutoUpdater(t0) {
735372
735380
  const maxVersion = await getMaxVersion();
735373
735381
  if (maxVersion && latest && gt(latest, maxVersion)) {
735374
735382
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
735375
- if (gte("1.78.4", maxVersion)) {
735376
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.78.4"} is already at or above maxVersion ${maxVersion}, skipping update`);
735383
+ if (gte("1.78.6", maxVersion)) {
735384
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.78.6"} is already at or above maxVersion ${maxVersion}, skipping update`);
735377
735385
  setUpdateAvailable(false);
735378
735386
  return;
735379
735387
  }
735380
735388
  latest = maxVersion;
735381
735389
  }
735382
- const hasUpdate = latest && !gte("1.78.4", latest) && !shouldSkipVersion(latest);
735390
+ const hasUpdate = latest && !gte("1.78.6", latest) && !shouldSkipVersion(latest);
735383
735391
  setUpdateAvailable(!!hasUpdate);
735384
735392
  if (hasUpdate) {
735385
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.78.4"} -> ${latest}`);
735393
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.78.6"} -> ${latest}`);
735386
735394
  }
735387
735395
  };
735388
735396
  $2[0] = t1;
@@ -735416,7 +735424,7 @@ function PackageManagerAutoUpdater(t0) {
735416
735424
  wrap: "truncate",
735417
735425
  children: [
735418
735426
  "currentVersion: ",
735419
- "1.78.4"
735427
+ "1.78.6"
735420
735428
  ]
735421
735429
  }, undefined, true, undefined, this);
735422
735430
  $2[3] = verbose;
@@ -746216,7 +746224,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
746216
746224
  project_dir: getOriginalCwd(),
746217
746225
  added_dirs: addedDirs
746218
746226
  },
746219
- version: "1.78.4",
746227
+ version: "1.78.6",
746220
746228
  output_style: {
746221
746229
  name: outputStyleName
746222
746230
  },
@@ -746351,7 +746359,7 @@ function StatusLineInner({
746351
746359
  const attention = customStatusError ?? taskAttention;
746352
746360
  const terminalSize = React132.useContext(TerminalSizeContext);
746353
746361
  const defaultStatusLineText = buildDefaultStatusBar({
746354
- version: "1.78.4",
746362
+ version: "1.78.6",
746355
746363
  providerLabel: providerRuntime.providerLabel,
746356
746364
  authMode: providerRuntime.authLabel,
746357
746365
  model: renderModelName(mainLoopModel) || providerRuntime.model || "",
@@ -758636,7 +758644,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
758636
758644
  } catch {}
758637
758645
  const data = {
758638
758646
  trigger: trigger2,
758639
- version: "1.78.4",
758647
+ version: "1.78.6",
758640
758648
  platform: process.platform,
758641
758649
  transcript,
758642
758650
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -771010,7 +771018,7 @@ function WelcomeV2() {
771010
771018
  dimColor: true,
771011
771019
  children: [
771012
771020
  "v",
771013
- "1.78.4"
771021
+ "1.78.6"
771014
771022
  ]
771015
771023
  }, undefined, true, undefined, this)
771016
771024
  ]
@@ -772270,7 +772278,7 @@ function completeOnboarding() {
772270
772278
  saveGlobalConfig((current) => ({
772271
772279
  ...current,
772272
772280
  hasCompletedOnboarding: true,
772273
- lastOnboardingVersion: "1.78.4"
772281
+ lastOnboardingVersion: "1.78.6"
772274
772282
  }));
772275
772283
  }
772276
772284
  function showDialog(root2, renderer) {
@@ -777314,7 +777322,7 @@ function appendToLog(path24, message) {
777314
777322
  cwd: getFsImplementation().cwd(),
777315
777323
  userType: process.env.USER_TYPE,
777316
777324
  sessionId: getSessionId(),
777317
- version: "1.78.4"
777325
+ version: "1.78.6"
777318
777326
  };
777319
777327
  getLogWriter(path24).write(messageWithTimestamp);
777320
777328
  }
@@ -781473,8 +781481,8 @@ async function getEnvLessBridgeConfig() {
781473
781481
  }
781474
781482
  async function checkEnvLessBridgeMinVersion() {
781475
781483
  const cfg = await getEnvLessBridgeConfig();
781476
- if (cfg.min_version && lt("1.78.4", cfg.min_version)) {
781477
- return `Your version of UR (${"1.78.4"}) is too old for Remote Control.
781484
+ if (cfg.min_version && lt("1.78.6", cfg.min_version)) {
781485
+ return `Your version of UR (${"1.78.6"}) is too old for Remote Control.
781478
781486
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
781479
781487
  }
781480
781488
  return null;
@@ -781948,7 +781956,7 @@ async function initBridgeCore(params) {
781948
781956
  const rawApi = createBridgeApiClient({
781949
781957
  baseUrl,
781950
781958
  getAccessToken,
781951
- runnerVersion: "1.78.4",
781959
+ runnerVersion: "1.78.6",
781952
781960
  onDebug: logForDebugging,
781953
781961
  onAuth401,
781954
781962
  getTrustedDeviceToken
@@ -791421,7 +791429,7 @@ function getAgUiCapabilities() {
791421
791429
  name: "UR-Nexus",
791422
791430
  type: "ur-nexus",
791423
791431
  description: "Provider-flexible, local-first autonomous engineering workflow agent.",
791424
- version: "1.78.4",
791432
+ version: "1.78.6",
791425
791433
  provider: "UR",
791426
791434
  documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
791427
791435
  },
@@ -792561,7 +792569,7 @@ function createMCPServer(cwd4, debug2, verbose) {
792561
792569
  };
792562
792570
  const server2 = new Server({
792563
792571
  name: "ur-nexus",
792564
- version: "1.78.4"
792572
+ version: "1.78.6"
792565
792573
  }, {
792566
792574
  capabilities: {
792567
792575
  tools: {}
@@ -793719,7 +793727,7 @@ function thrownResponse(error40) {
793719
793727
  }
793720
793728
  async function createUrMcp2026Runtime(options4) {
793721
793729
  const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
793722
- const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.78.4" }, { capabilities: {} });
793730
+ const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.78.6" }, { capabilities: {} });
793723
793731
  const [clientTransport, serverTransport] = createLinkedTransportPair();
793724
793732
  try {
793725
793733
  await server2.connect(serverTransport);
@@ -793730,7 +793738,7 @@ async function createUrMcp2026Runtime(options4) {
793730
793738
  }
793731
793739
  const runtime2 = new Mcp2026Runtime({
793732
793740
  cwd: options4.cwd,
793733
- version: "1.78.4",
793741
+ version: "1.78.6",
793734
793742
  backend: {
793735
793743
  listTools: async () => {
793736
793744
  const listed = await client2.listTools();
@@ -795871,7 +795879,7 @@ async function update() {
795871
795879
  logEvent("tengu_update_check", {});
795872
795880
  const diagnostic2 = await getDoctorDiagnostic();
795873
795881
  const result = await checkUpgradeStatus({
795874
- currentVersion: "1.78.4",
795882
+ currentVersion: "1.78.6",
795875
795883
  packageName: UR_AGENT_PACKAGE_NAME,
795876
795884
  installationType: diagnostic2.installationType,
795877
795885
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -797187,7 +797195,7 @@ ${customInstructions}` : customInstructions;
797187
797195
  }
797188
797196
  }
797189
797197
  logForDiagnosticsNoPII("info", "started", {
797190
- version: "1.78.4",
797198
+ version: "1.78.6",
797191
797199
  is_native_binary: isInBundledMode()
797192
797200
  });
797193
797201
  registerCleanup(async () => {
@@ -797973,7 +797981,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
797973
797981
  pendingHookMessages
797974
797982
  }, renderAndRun);
797975
797983
  }
797976
- }).version("1.78.4 (UR-Nexus)", "-v, --version", "Output the version number");
797984
+ }).version("1.78.6 (UR-Nexus)", "-v, --version", "Output the version number");
797977
797985
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
797978
797986
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
797979
797987
  if (canUserConfigureAdvisor()) {
@@ -799025,7 +799033,7 @@ if (false) {}
799025
799033
  async function main2() {
799026
799034
  const args = process.argv.slice(2);
799027
799035
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
799028
- console.log(`${"1.78.4"} (UR-Nexus)`);
799036
+ console.log(`${"1.78.6"} (UR-Nexus)`);
799029
799037
  return;
799030
799038
  }
799031
799039
  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.4 (UR-Nexus)"
22
+ # expected for this release: "1.78.6 (UR-Nexus)"
23
23
  ```
24
24
 
25
25
  ## 0.1 First-workspace model selection (1.45.4)
@@ -45,7 +45,7 @@
45
45
  <main id="content" class="content">
46
46
  <header class="topbar">
47
47
  <div>
48
- <p class="eyebrow">Version 1.78.4</p>
48
+ <p class="eyebrow">Version 1.78.6</p>
49
49
  <h1>UR-Nexus Documentation</h1>
50
50
  <p class="lead">A practical, tutorial-style reference for installing, configuring, automating, extending, and operating UR-Nexus.</p>
51
51
  </div>
@@ -7,7 +7,7 @@ plugins {
7
7
  }
8
8
 
9
9
  group = "dev.urnexus"
10
- version = "1.78.4"
10
+ version = "1.78.6"
11
11
 
12
12
  repositories {
13
13
  mavenCentral()
@@ -2,7 +2,7 @@
2
2
  "name": "ur-inline-diffs",
3
3
  "displayName": "UR Inline Diffs",
4
4
  "description": "Review, apply, and reject UR inline diff bundles from .ur/ide/diffs inside VS Code.",
5
- "version": "1.78.4",
5
+ "version": "1.78.6",
6
6
  "publisher": "ur-nexus",
7
7
  "engines": {
8
8
  "vscode": "^1.92.0"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ur-agent",
3
- "version": "1.78.4",
3
+ "version": "1.78.6",
4
4
  "description": "UR-Nexus — autonomous engineering workflow engine (plan, execute, test, verify, document, benchmark, reproduce)",
5
5
  "type": "module",
6
6
  "packageManager": "bun@1.3.14",
@@ -54,7 +54,7 @@
54
54
  "typecheck": "bun run tsc --noEmit && bun run typecheck:strict-core",
55
55
  "typecheck:strict-core": "node scripts/strict-core-check.mjs",
56
56
  "lint": "node scripts/lint.mjs",
57
- "test": "bun test",
57
+ "test": "bun test --timeout 120000",
58
58
  "smoke": "node ./bin/ur.js --version",
59
59
  "secrets:scan": "bash scripts/secret-scan.sh",
60
60
  "dependencies:audit": "bun audit",