ur-agent 1.50.0 → 1.50.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,37 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.50.2
4
+
5
+ - Fixed local-provider sessions showing "Not logged in · Run /login" with no
6
+ account to log in to, introduced in 1.50.1. Credential ownership and URHQ
7
+ auth applicability are separate questions: an Ollama session uses the user's
8
+ own local runtime, so it is not third-party, but inference never reaches
9
+ URHQ and no URHQ credential exists to verify. `isURHQAuthEnabled()` now keys
10
+ off a dedicated `usesURHQSubscriptionAuth()` predicate, so only the
11
+ subscription provider — where `/login` is actionable — can report a missing
12
+ key. `/login` and `/logout` stay registered everywhere they are useful.
13
+ - Skipped a keychain and settings read on every session that cannot use URHQ
14
+ auth, by returning before the external-credential lookup instead of folding
15
+ the provider test into the final condition.
16
+
17
+ ## 1.50.1
18
+
19
+ - Fixed an always-true provider test that silently disabled a large part of the
20
+ command surface. `isUsing3PServices()` was derived from `getAPIProvider()`,
21
+ a request-shaping enum that never returns `'firstParty'`, so the comparison
22
+ held for every user. Consequences: `/login` and `/logout` were never
23
+ registered; every `availability`-gated command failed its check, so
24
+ `/install-github-app`, `/fast`, `/chrome`, `/desktop`, `/install-slack-app`,
25
+ `/remote-setup`, `/upgrade`, `/usage`, and `/voice` reported "Unknown skill";
26
+ `ur auth status` classified every user as `third_party` and always logged in;
27
+ `is1PApiCustomer()` always returned false, suppressing three tips. Third-party
28
+ status is now derived from the provider registry — vendor API keys and
29
+ external CLI logins are third-party, while local, self-hosted, and
30
+ subscription runtimes are not.
31
+ - Ungated `/install-github-app`. It provisions a workflow and a repository
32
+ secret rather than consuming inference, and the API key is entered in the
33
+ flow, so it is now available on every provider including local runtimes.
34
+
3
35
  ## 1.50.0
4
36
 
5
37
  - Completed `/install-github-app` so `@ur <task>` works from GitHub. The
package/dist/cli.js CHANGED
@@ -73878,6 +73878,7 @@ var require_src6 = __commonJS((exports) => {
73878
73878
  var exports_auth = {};
73879
73879
  __export(exports_auth, {
73880
73880
  validateForceLoginOrg: () => validateForceLoginOrg,
73881
+ usesURHQSubscriptionAuth: () => usesURHQSubscriptionAuth,
73881
73882
  saveOAuthTokensIfNeeded: () => saveOAuthTokensIfNeeded,
73882
73883
  saveApiKey: () => saveApiKey,
73883
73884
  removeApiKey: () => removeApiKey,
@@ -73944,7 +73945,8 @@ function isURHQAuthEnabled() {
73944
73945
  if (process.env.URHQ_UNIX_SOCKET) {
73945
73946
  return !!process.env.UR_CODE_OAUTH_TOKEN;
73946
73947
  }
73947
- const is3P = getAPIProvider() !== "firstParty";
73948
+ if (!usesURHQSubscriptionAuth())
73949
+ return false;
73948
73950
  const settings = getSettings_DEPRECATED() || {};
73949
73951
  const apiKeyHelper = settings.apiKeyHelper;
73950
73952
  const hasExternalAuthToken = process.env.URHQ_AUTH_TOKEN || apiKeyHelper || process.env.UR_CODE_API_KEY_FILE_DESCRIPTOR;
@@ -73952,7 +73954,7 @@ function isURHQAuthEnabled() {
73952
73954
  skipRetrievingKeyFromApiKeyHelper: true
73953
73955
  });
73954
73956
  const hasExternalApiKey = apiKeySource === "URHQ_API_KEY" || apiKeySource === "apiKeyHelper";
73955
- const shouldDisableAuth = is3P || hasExternalAuthToken && !isManagedOAuthContext() || hasExternalApiKey && !isManagedOAuthContext();
73957
+ const shouldDisableAuth = hasExternalAuthToken && !isManagedOAuthContext() || hasExternalApiKey && !isManagedOAuthContext();
73956
73958
  return !shouldDisableAuth;
73957
73959
  }
73958
73960
  function getAuthTokenSource() {
@@ -74738,7 +74740,7 @@ function hasProfileScope() {
74738
74740
  return getURAIOAuthTokens()?.scopes?.includes(UR_AI_PROFILE_SCOPE) ?? false;
74739
74741
  }
74740
74742
  function is1PApiCustomer() {
74741
- if (getAPIProvider() !== "firstParty") {
74743
+ if (isUsing3PServices()) {
74742
74744
  return false;
74743
74745
  }
74744
74746
  if (isURAISubscriber()) {
@@ -74818,7 +74820,13 @@ function getSubscriptionName() {
74818
74820
  }
74819
74821
  }
74820
74822
  function isUsing3PServices() {
74821
- return getAPIProvider() !== "firstParty";
74823
+ const provider = getProviderDefinition(getRuntimeProviderId());
74824
+ if (provider.accessType === "api")
74825
+ return true;
74826
+ return provider.credentialType === "cli-login";
74827
+ }
74828
+ function usesURHQSubscriptionAuth() {
74829
+ return getProviderDefinition(getRuntimeProviderId()).credentialType === "subscription-login";
74822
74830
  }
74823
74831
  function getConfiguredOtelHeadersHelper() {
74824
74832
  const mergedSettings = getSettings_DEPRECATED() || {};
@@ -74972,6 +74980,7 @@ var init_auth = __esm(() => {
74972
74980
  init_analytics();
74973
74981
  init_modelStrings();
74974
74982
  init_providers();
74983
+ init_providerRegistry();
74975
74984
  init_state();
74976
74985
  init_mockRateLimits();
74977
74986
  init_client();
@@ -75079,7 +75088,7 @@ var init_auth = __esm(() => {
75079
75088
 
75080
75089
  // src/utils/userAgent.ts
75081
75090
  function getURCodeUserAgent() {
75082
- return `ur/${"1.50.0"}`;
75091
+ return `ur/${"1.50.2"}`;
75083
75092
  }
75084
75093
 
75085
75094
  // src/utils/workloadContext.ts
@@ -75101,7 +75110,7 @@ function getUserAgent() {
75101
75110
  const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
75102
75111
  const workload = getWorkload();
75103
75112
  const workloadSuffix = workload ? `, workload/${workload}` : "";
75104
- return `ur-cli/${"1.50.0"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
75113
+ return `ur-cli/${"1.50.2"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
75105
75114
  }
75106
75115
  function getMCPUserAgent() {
75107
75116
  const parts = [];
@@ -75115,7 +75124,7 @@ function getMCPUserAgent() {
75115
75124
  parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
75116
75125
  }
75117
75126
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
75118
- return `ur/${"1.50.0"}${suffix}`;
75127
+ return `ur/${"1.50.2"}${suffix}`;
75119
75128
  }
75120
75129
  function getWebFetchUserAgent() {
75121
75130
  return `UR-User (${getURCodeUserAgent()})`;
@@ -75253,7 +75262,7 @@ var init_user = __esm(() => {
75253
75262
  deviceId,
75254
75263
  sessionId: getSessionId(),
75255
75264
  email: getEmail(),
75256
- appVersion: "1.50.0",
75265
+ appVersion: "1.50.2",
75257
75266
  platform: getHostPlatformForAnalytics(),
75258
75267
  organizationUuid,
75259
75268
  accountUuid,
@@ -83453,7 +83462,7 @@ var init_metadata = __esm(() => {
83453
83462
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
83454
83463
  WHITESPACE_REGEX = /\s+/;
83455
83464
  getVersionBase = memoize_default(() => {
83456
- const match = "1.50.0".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
83465
+ const match = "1.50.2".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
83457
83466
  return match ? match[0] : undefined;
83458
83467
  });
83459
83468
  buildEnvContext = memoize_default(async () => {
@@ -83493,7 +83502,7 @@ var init_metadata = __esm(() => {
83493
83502
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
83494
83503
  isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
83495
83504
  isURAiAuth: isURAISubscriber(),
83496
- version: "1.50.0",
83505
+ version: "1.50.2",
83497
83506
  versionBase: getVersionBase(),
83498
83507
  buildTime: "",
83499
83508
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
@@ -84163,7 +84172,7 @@ function initialize1PEventLogging() {
84163
84172
  const platform2 = getPlatform();
84164
84173
  const attributes = {
84165
84174
  [import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
84166
- [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.50.0"
84175
+ [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.50.2"
84167
84176
  };
84168
84177
  if (platform2 === "wsl") {
84169
84178
  const wslVersion = getWslVersion();
@@ -84191,7 +84200,7 @@ function initialize1PEventLogging() {
84191
84200
  })
84192
84201
  ]
84193
84202
  });
84194
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.50.0");
84203
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.50.2");
84195
84204
  }
84196
84205
  async function reinitialize1PEventLoggingIfConfigChanged() {
84197
84206
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -94007,7 +94016,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
94007
94016
  function formatA2AAgentCard(options = {}, pretty = true) {
94008
94017
  return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
94009
94018
  }
94010
- var urVersion = "1.50.0", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
94019
+ var urVersion = "1.50.2", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
94011
94020
  var init_trends = __esm(() => {
94012
94021
  init_a2aCardSignature();
94013
94022
  coverage = [
@@ -96808,7 +96817,7 @@ function getAttributionHeader(fingerprint) {
96808
96817
  if (!isAttributionHeaderEnabled()) {
96809
96818
  return "";
96810
96819
  }
96811
- const version2 = `${"1.50.0"}.${fingerprint}`;
96820
+ const version2 = `${"1.50.2"}.${fingerprint}`;
96812
96821
  const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
96813
96822
  const cch = "";
96814
96823
  const workload = getWorkload();
@@ -154493,7 +154502,7 @@ var init_projectSafety = __esm(() => {
154493
154502
  function getInstruments() {
154494
154503
  if (instruments)
154495
154504
  return instruments;
154496
- const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.50.0");
154505
+ const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.50.2");
154497
154506
  instruments = {
154498
154507
  operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
154499
154508
  description: "GenAI operation duration.",
@@ -154591,7 +154600,7 @@ function genAiAgentAttributes() {
154591
154600
  "gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
154592
154601
  "gen_ai.provider.name": "ur",
154593
154602
  "gen_ai.agent.name": "UR-Nexus",
154594
- "gen_ai.agent.version": "1.50.0"
154603
+ "gen_ai.agent.version": "1.50.2"
154595
154604
  };
154596
154605
  }
154597
154606
  function genAiWorkflowAttributes(workflowName) {
@@ -154607,7 +154616,7 @@ function genAiWorkflowAttributes(workflowName) {
154607
154616
  function startGenAiWorkflowSpan(workflowName) {
154608
154617
  const attributes = genAiWorkflowAttributes(workflowName);
154609
154618
  const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
154610
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.50.0").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
154619
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.50.2").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
154611
154620
  }
154612
154621
  function endGenAiWorkflowSpan(span, options2 = {}) {
154613
154622
  try {
@@ -154645,7 +154654,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
154645
154654
  if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
154646
154655
  attributes["gen_ai.memory.record.count"] = options2.recordCount;
154647
154656
  }
154648
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.50.0").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
154657
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.50.2").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
154649
154658
  }
154650
154659
  function endGenAiMemorySpan(span, options2 = {}) {
154651
154660
  try {
@@ -206164,7 +206173,7 @@ function getTelemetryAttributes() {
206164
206173
  attributes["session.id"] = sessionId;
206165
206174
  }
206166
206175
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
206167
- attributes["app.version"] = "1.50.0";
206176
+ attributes["app.version"] = "1.50.2";
206168
206177
  }
206169
206178
  const oauthAccount = getOauthAccountInfo();
206170
206179
  if (oauthAccount) {
@@ -252415,7 +252424,7 @@ function getInstallationEnv() {
252415
252424
  return;
252416
252425
  }
252417
252426
  function getURCodeVersion() {
252418
- return "1.50.0";
252427
+ return "1.50.2";
252419
252428
  }
252420
252429
  async function getInstalledVSCodeExtensionVersion(command) {
252421
252430
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -259746,7 +259755,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
259746
259755
  const client2 = new Client({
259747
259756
  name: "ur",
259748
259757
  title: "UR",
259749
- version: "1.50.0",
259758
+ version: "1.50.2",
259750
259759
  description: "UR-Nexus autonomous engineering workflow engine",
259751
259760
  websiteUrl: PRODUCT_URL
259752
259761
  }, {
@@ -260106,7 +260115,7 @@ var init_client5 = __esm(() => {
260106
260115
  const client2 = new Client({
260107
260116
  name: "ur",
260108
260117
  title: "UR",
260109
- version: "1.50.0",
260118
+ version: "1.50.2",
260110
260119
  description: "UR-Nexus autonomous engineering workflow engine",
260111
260120
  websiteUrl: PRODUCT_URL
260112
260121
  }, {
@@ -272707,7 +272716,7 @@ async function createRuntime() {
272707
272716
  bootstrapTelemetry();
272708
272717
  const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
272709
272718
  [import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
272710
- [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.50.0"
272719
+ [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.50.2"
272711
272720
  }));
272712
272721
  const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
272713
272722
  resource,
@@ -272740,11 +272749,11 @@ async function createRuntime() {
272740
272749
  setMeterProvider(meterProvider);
272741
272750
  setLoggerProvider(loggerProvider);
272742
272751
  if (meterProvider) {
272743
- const meter = meterProvider.getMeter("ur-agent", "1.50.0");
272752
+ const meter = meterProvider.getMeter("ur-agent", "1.50.2");
272744
272753
  setMeter(meter, (name, options2) => meter.createCounter(name, options2));
272745
272754
  }
272746
272755
  if (loggerProvider) {
272747
- setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.50.0"));
272756
+ setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.50.2"));
272748
272757
  }
272749
272758
  if (!cleanupRegistered2) {
272750
272759
  cleanupRegistered2 = true;
@@ -273406,9 +273415,9 @@ async function assertMinVersion() {
273406
273415
  if (false) {}
273407
273416
  try {
273408
273417
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
273409
- if (versionConfig.minVersion && lt("1.50.0", versionConfig.minVersion)) {
273418
+ if (versionConfig.minVersion && lt("1.50.2", versionConfig.minVersion)) {
273410
273419
  console.error(`
273411
- It looks like your version of UR (${"1.50.0"}) needs an update.
273420
+ It looks like your version of UR (${"1.50.2"}) needs an update.
273412
273421
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
273413
273422
 
273414
273423
  To update, please run:
@@ -273624,7 +273633,7 @@ async function installGlobalPackage(specificVersion) {
273624
273633
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
273625
273634
  logEvent("tengu_auto_updater_lock_contention", {
273626
273635
  pid: process.pid,
273627
- currentVersion: "1.50.0"
273636
+ currentVersion: "1.50.2"
273628
273637
  });
273629
273638
  return "in_progress";
273630
273639
  }
@@ -273633,7 +273642,7 @@ async function installGlobalPackage(specificVersion) {
273633
273642
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
273634
273643
  logError2(new Error("Windows NPM detected in WSL environment"));
273635
273644
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
273636
- currentVersion: "1.50.0"
273645
+ currentVersion: "1.50.2"
273637
273646
  });
273638
273647
  console.error(`
273639
273648
  Error: Windows NPM detected in WSL
@@ -274168,7 +274177,7 @@ function detectLinuxGlobPatternWarnings() {
274168
274177
  }
274169
274178
  async function getDoctorDiagnostic() {
274170
274179
  const installationType = await getCurrentInstallationType();
274171
- const version2 = typeof MACRO !== "undefined" ? "1.50.0" : "unknown";
274180
+ const version2 = typeof MACRO !== "undefined" ? "1.50.2" : "unknown";
274172
274181
  const installationPath = await getInstallationPath();
274173
274182
  const invokedBinary = getInvokedBinary();
274174
274183
  const multipleInstallations = await detectMultipleInstallations();
@@ -275103,8 +275112,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
275103
275112
  const maxVersion = await getMaxVersion();
275104
275113
  if (maxVersion && gt(version2, maxVersion)) {
275105
275114
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
275106
- if (gte("1.50.0", maxVersion)) {
275107
- logForDebugging(`Native installer: current version ${"1.50.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
275115
+ if (gte("1.50.2", maxVersion)) {
275116
+ logForDebugging(`Native installer: current version ${"1.50.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
275108
275117
  logEvent("tengu_native_update_skipped_max_version", {
275109
275118
  latency_ms: Date.now() - startTime,
275110
275119
  max_version: maxVersion,
@@ -275115,7 +275124,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
275115
275124
  version2 = maxVersion;
275116
275125
  }
275117
275126
  }
275118
- if (!forceReinstall && version2 === "1.50.0" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
275127
+ if (!forceReinstall && version2 === "1.50.2" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
275119
275128
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
275120
275129
  logEvent("tengu_native_update_complete", {
275121
275130
  latency_ms: Date.now() - startTime,
@@ -344908,7 +344917,7 @@ function isAnyTracingEnabled() {
344908
344917
  return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
344909
344918
  }
344910
344919
  function getTracer() {
344911
- return import_api39.trace.getTracer("ur-agent.gen_ai", "1.50.0");
344920
+ return import_api39.trace.getTracer("ur-agent.gen_ai", "1.50.2");
344912
344921
  }
344913
344922
  function createSpanAttributes(spanType, customAttributes = {}) {
344914
344923
  const baseAttributes = getTelemetryAttributes();
@@ -374002,7 +374011,7 @@ function Feedback({
374002
374011
  platform: env2.platform,
374003
374012
  gitRepo: envInfo.isGit,
374004
374013
  terminal: env2.terminal,
374005
- version: "1.50.0",
374014
+ version: "1.50.2",
374006
374015
  transcript: normalizeMessagesForAPI(messages),
374007
374016
  errors: sanitizedErrors,
374008
374017
  lastApiRequest: getLastAPIRequest(),
@@ -374194,7 +374203,7 @@ function Feedback({
374194
374203
  ", ",
374195
374204
  env2.terminal,
374196
374205
  ", v",
374197
- "1.50.0"
374206
+ "1.50.2"
374198
374207
  ]
374199
374208
  }, undefined, true, undefined, this)
374200
374209
  ]
@@ -374300,7 +374309,7 @@ ${sanitizedDescription}
374300
374309
  ` + `**Environment Info**
374301
374310
  ` + `- Platform: ${env2.platform}
374302
374311
  ` + `- Terminal: ${env2.terminal}
374303
- ` + `- Version: ${"1.50.0"}
374312
+ ` + `- Version: ${"1.50.2"}
374304
374313
  ` + `- Feedback ID: ${feedbackId}
374305
374314
  ` + `
374306
374315
  **Errors**
@@ -377411,7 +377420,7 @@ function buildPrimarySection() {
377411
377420
  }, undefined, false, undefined, this);
377412
377421
  return [{
377413
377422
  label: "Version",
377414
- value: "1.50.0"
377423
+ value: "1.50.2"
377415
377424
  }, {
377416
377425
  label: "Session name",
377417
377426
  value: nameValue
@@ -380741,7 +380750,7 @@ function Config({
380741
380750
  }
380742
380751
  }, undefined, false, undefined, this)
380743
380752
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ChannelDowngradeDialog, {
380744
- currentVersion: "1.50.0",
380753
+ currentVersion: "1.50.2",
380745
380754
  onChoice: (choice) => {
380746
380755
  setShowSubmenu(null);
380747
380756
  setTabsHidden(false);
@@ -380753,7 +380762,7 @@ function Config({
380753
380762
  autoUpdatesChannel: "stable"
380754
380763
  };
380755
380764
  if (choice === "stay") {
380756
- newSettings.minimumVersion = "1.50.0";
380765
+ newSettings.minimumVersion = "1.50.2";
380757
380766
  }
380758
380767
  updateSettingsForSource("userSettings", newSettings);
380759
380768
  setSettingsData((prev_27) => ({
@@ -388823,7 +388832,7 @@ function HelpV2(t0) {
388823
388832
  let t6;
388824
388833
  if ($2[31] !== tabs) {
388825
388834
  t6 = /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Tabs, {
388826
- title: `UR v${"1.50.0"}`,
388835
+ title: `UR v${"1.50.2"}`,
388827
388836
  color: "professionalBlue",
388828
388837
  defaultTab: "general",
388829
388838
  children: tabs
@@ -389740,7 +389749,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
389740
389749
  async function handleInitialize(options2) {
389741
389750
  return {
389742
389751
  name: "UR",
389743
- version: "1.50.0",
389752
+ version: "1.50.2",
389744
389753
  protocolVersion: "0.1.0",
389745
389754
  workspaceRoot: options2.cwd,
389746
389755
  capabilities: {
@@ -393392,7 +393401,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
393392
393401
  if (spec.name !== specName) {
393393
393402
  throw new Error("Agentic CI workflow spec name does not match");
393394
393403
  }
393395
- const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.50.0" : "1.50.0");
393404
+ const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.50.2" : "1.50.2");
393396
393405
  if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
393397
393406
  throw new Error("invalid ur-agent package version");
393398
393407
  }
@@ -393818,7 +393827,7 @@ jobs:
393818
393827
  var init_github_app = __esm(() => {
393819
393828
  init_agenticCi();
393820
393829
  import_yaml3 = __toESM(require_dist4(), 1);
393821
- urVersion2 = typeof MACRO !== "undefined" ? "1.50.0" : "1.50.0";
393830
+ urVersion2 = typeof MACRO !== "undefined" ? "1.50.2" : "1.50.2";
393822
393831
  WORKFLOW_CONTENT = compileAgenticCiWorkflow("default", {
393823
393832
  packageVersion: urVersion2
393824
393833
  });
@@ -396815,7 +396824,6 @@ var init_install_github_app2 = __esm(() => {
396815
396824
  type: "local-jsx",
396816
396825
  name: "install-github-app",
396817
396826
  description: "Set up UR GitHub Actions for a repository",
396818
- availability: ["ur-ai", "console"],
396819
396827
  isEnabled: () => !isEnvTruthy(process.env.DISABLE_INSTALL_GITHUB_APP_COMMAND),
396820
396828
  load: () => Promise.resolve().then(() => (init_install_github_app(), exports_install_github_app))
396821
396829
  };
@@ -411817,7 +411825,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
411817
411825
  return [];
411818
411826
  }
411819
411827
  }
411820
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.50.0") {
411828
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.50.2") {
411821
411829
  if (process.env.USER_TYPE === "ant") {
411822
411830
  const changelog = "";
411823
411831
  if (changelog) {
@@ -411844,7 +411852,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.50.0")
411844
411852
  releaseNotes
411845
411853
  };
411846
411854
  }
411847
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.50.0") {
411855
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.50.2") {
411848
411856
  if (process.env.USER_TYPE === "ant") {
411849
411857
  const changelog = "";
411850
411858
  if (changelog) {
@@ -414701,7 +414709,7 @@ function getRecentActivitySync() {
414701
414709
  return cachedActivity;
414702
414710
  }
414703
414711
  function getLogoDisplayData() {
414704
- const version2 = process.env.DEMO_VERSION ?? "1.50.0";
414712
+ const version2 = process.env.DEMO_VERSION ?? "1.50.2";
414705
414713
  const serverUrl = getDirectConnectServerUrl();
414706
414714
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
414707
414715
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -415585,7 +415593,7 @@ function LogoV2() {
415585
415593
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
415586
415594
  t2 = () => {
415587
415595
  const currentConfig2 = getGlobalConfig();
415588
- if (currentConfig2.lastReleaseNotesSeen === "1.50.0") {
415596
+ if (currentConfig2.lastReleaseNotesSeen === "1.50.2") {
415589
415597
  return;
415590
415598
  }
415591
415599
  saveGlobalConfig(_temp327);
@@ -416270,12 +416278,12 @@ function LogoV2() {
416270
416278
  return t41;
416271
416279
  }
416272
416280
  function _temp327(current) {
416273
- if (current.lastReleaseNotesSeen === "1.50.0") {
416281
+ if (current.lastReleaseNotesSeen === "1.50.2") {
416274
416282
  return current;
416275
416283
  }
416276
416284
  return {
416277
416285
  ...current,
416278
- lastReleaseNotesSeen: "1.50.0"
416286
+ lastReleaseNotesSeen: "1.50.2"
416279
416287
  };
416280
416288
  }
416281
416289
  function _temp243(s_0) {
@@ -431771,7 +431779,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
431771
431779
  path: ".github/workflows/ur.yml",
431772
431780
  root: "project",
431773
431781
  content: compileAgenticCiWorkflow("default", {
431774
- packageVersion: typeof MACRO !== "undefined" ? "1.50.0" : "1.50.0"
431782
+ packageVersion: typeof MACRO !== "undefined" ? "1.50.2" : "1.50.2"
431775
431783
  })
431776
431784
  },
431777
431785
  {
@@ -431834,7 +431842,7 @@ function value(tokens, flag) {
431834
431842
  return index2 >= 0 ? tokens[index2 + 1] : undefined;
431835
431843
  }
431836
431844
  function cliVersion() {
431837
- return typeof MACRO !== "undefined" ? "1.50.0" : "1.50.0";
431845
+ return typeof MACRO !== "undefined" ? "1.50.2" : "1.50.2";
431838
431846
  }
431839
431847
  function workflowPath(cwd2) {
431840
431848
  return join155(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
@@ -437690,7 +437698,7 @@ function createAcpStdioApp(deps) {
437690
437698
  }
437691
437699
  },
437692
437700
  authMethods: [],
437693
- agentInfo: { name: "UR-Nexus", version: "1.50.0" }
437701
+ agentInfo: { name: "UR-Nexus", version: "1.50.2" }
437694
437702
  })).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
437695
437703
  const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
437696
437704
  await runtime2.announce({
@@ -437787,7 +437795,7 @@ function createAcpStdioAgent(deps) {
437787
437795
  }
437788
437796
  },
437789
437797
  authMethods: [],
437790
- agentInfo: { name: "UR-Nexus", version: "1.50.0" }
437798
+ agentInfo: { name: "UR-Nexus", version: "1.50.2" }
437791
437799
  });
437792
437800
  return;
437793
437801
  case "authenticate":
@@ -645266,7 +645274,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
645266
645274
  smapsRollup,
645267
645275
  platform: process.platform,
645268
645276
  nodeVersion: process.version,
645269
- ccVersion: "1.50.0"
645277
+ ccVersion: "1.50.2"
645270
645278
  };
645271
645279
  }
645272
645280
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -645852,7 +645860,7 @@ var init_bridge_kick = __esm(() => {
645852
645860
  var call145 = async () => {
645853
645861
  return {
645854
645862
  type: "text",
645855
- value: "1.50.0"
645863
+ value: "1.50.2"
645856
645864
  };
645857
645865
  }, version2, version_default;
645858
645866
  var init_version = __esm(() => {
@@ -656970,7 +656978,7 @@ function generateHtmlReport(data, insights) {
656970
656978
  </html>`;
656971
656979
  }
656972
656980
  function buildExportData(data, insights, facets, remoteStats) {
656973
- const version3 = typeof MACRO !== "undefined" ? "1.50.0" : "unknown";
656981
+ const version3 = typeof MACRO !== "undefined" ? "1.50.2" : "unknown";
656974
656982
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
656975
656983
  const facets_summary = {
656976
656984
  total: facets.size,
@@ -661303,7 +661311,7 @@ var init_sessionStorage = __esm(() => {
661303
661311
  init_settings2();
661304
661312
  init_slowOperations();
661305
661313
  init_uuid();
661306
- VERSION7 = typeof MACRO !== "undefined" ? "1.50.0" : "unknown";
661314
+ VERSION7 = typeof MACRO !== "undefined" ? "1.50.2" : "unknown";
661307
661315
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
661308
661316
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
661309
661317
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -662518,7 +662526,7 @@ var init_filesystem = __esm(() => {
662518
662526
  });
662519
662527
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
662520
662528
  const nonce = randomBytes19(16).toString("hex");
662521
- return join224(getURTempDir(), "bundled-skills", "1.50.0", nonce);
662529
+ return join224(getURTempDir(), "bundled-skills", "1.50.2", nonce);
662522
662530
  });
662523
662531
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
662524
662532
  });
@@ -668813,7 +668821,7 @@ function computeFingerprint(messageText2, version3) {
668813
668821
  }
668814
668822
  function computeFingerprintFromMessages(messages) {
668815
668823
  const firstMessageText = extractFirstMessageText(messages);
668816
- return computeFingerprint(firstMessageText, "1.50.0");
668824
+ return computeFingerprint(firstMessageText, "1.50.2");
668817
668825
  }
668818
668826
  var FINGERPRINT_SALT = "59cf53e54c78";
668819
668827
  var init_fingerprint = () => {};
@@ -670709,7 +670717,7 @@ async function sideQuery(opts) {
670709
670717
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
670710
670718
  }
670711
670719
  const messageText2 = extractFirstUserMessageText(messages);
670712
- const fingerprint2 = computeFingerprint(messageText2, "1.50.0");
670720
+ const fingerprint2 = computeFingerprint(messageText2, "1.50.2");
670713
670721
  const attributionHeader = getAttributionHeader(fingerprint2);
670714
670722
  const systemBlocks = [
670715
670723
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -675480,7 +675488,7 @@ function buildSystemInitMessage(inputs) {
675480
675488
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
675481
675489
  apiKeySource: getURHQApiKeyWithSource().source,
675482
675490
  betas: getSdkBetas(),
675483
- ur_version: "1.50.0",
675491
+ ur_version: "1.50.2",
675484
675492
  output_style: outputStyle2,
675485
675493
  agents: inputs.agents.map((agent2) => agent2.agentType),
675486
675494
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -689340,7 +689348,7 @@ var init_useVoiceEnabled = __esm(() => {
689340
689348
  function getSemverPart(version3) {
689341
689349
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
689342
689350
  }
689343
- function useUpdateNotification(updatedVersion, initialVersion = "1.50.0") {
689351
+ function useUpdateNotification(updatedVersion, initialVersion = "1.50.2") {
689344
689352
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react228.useState(() => getSemverPart(initialVersion));
689345
689353
  if (!updatedVersion) {
689346
689354
  return null;
@@ -689389,7 +689397,7 @@ function AutoUpdater({
689389
689397
  return;
689390
689398
  }
689391
689399
  if (false) {}
689392
- const currentVersion = "1.50.0";
689400
+ const currentVersion = "1.50.2";
689393
689401
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
689394
689402
  let latestVersion = await getLatestVersion(channel);
689395
689403
  const isDisabled = isAutoUpdaterDisabled();
@@ -689618,12 +689626,12 @@ function NativeAutoUpdater({
689618
689626
  logEvent("tengu_native_auto_updater_start", {});
689619
689627
  try {
689620
689628
  const maxVersion = await getMaxVersion();
689621
- if (maxVersion && gt("1.50.0", maxVersion)) {
689629
+ if (maxVersion && gt("1.50.2", maxVersion)) {
689622
689630
  const msg = await getMaxVersionMessage();
689623
689631
  setMaxVersionIssue(msg ?? "affects your version");
689624
689632
  }
689625
689633
  const result = await installLatest(channel);
689626
- const currentVersion = "1.50.0";
689634
+ const currentVersion = "1.50.2";
689627
689635
  const latencyMs = Date.now() - startTime;
689628
689636
  if (result.lockFailed) {
689629
689637
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -689760,17 +689768,17 @@ function PackageManagerAutoUpdater(t0) {
689760
689768
  const maxVersion = await getMaxVersion();
689761
689769
  if (maxVersion && latest && gt(latest, maxVersion)) {
689762
689770
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
689763
- if (gte("1.50.0", maxVersion)) {
689764
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.50.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
689771
+ if (gte("1.50.2", maxVersion)) {
689772
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.50.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
689765
689773
  setUpdateAvailable(false);
689766
689774
  return;
689767
689775
  }
689768
689776
  latest = maxVersion;
689769
689777
  }
689770
- const hasUpdate = latest && !gte("1.50.0", latest) && !shouldSkipVersion(latest);
689778
+ const hasUpdate = latest && !gte("1.50.2", latest) && !shouldSkipVersion(latest);
689771
689779
  setUpdateAvailable(!!hasUpdate);
689772
689780
  if (hasUpdate) {
689773
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.50.0"} -> ${latest}`);
689781
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.50.2"} -> ${latest}`);
689774
689782
  }
689775
689783
  };
689776
689784
  $2[0] = t1;
@@ -689804,7 +689812,7 @@ function PackageManagerAutoUpdater(t0) {
689804
689812
  wrap: "truncate",
689805
689813
  children: [
689806
689814
  "currentVersion: ",
689807
- "1.50.0"
689815
+ "1.50.2"
689808
689816
  ]
689809
689817
  }, undefined, true, undefined, this);
689810
689818
  $2[3] = verbose;
@@ -700501,7 +700509,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
700501
700509
  project_dir: getOriginalCwd(),
700502
700510
  added_dirs: addedDirs
700503
700511
  },
700504
- version: "1.50.0",
700512
+ version: "1.50.2",
700505
700513
  output_style: {
700506
700514
  name: outputStyleName
700507
700515
  },
@@ -700584,7 +700592,7 @@ function StatusLineInner({
700584
700592
  const taskValues = Object.values(tasks2);
700585
700593
  const taskRunningCount = taskValues.filter((task2) => task2.status === "running" || task2.status === "pending").length;
700586
700594
  const defaultStatusLineText = buildDefaultStatusBar({
700587
- version: "1.50.0",
700595
+ version: "1.50.2",
700588
700596
  providerLabel: providerRuntime.providerLabel,
700589
700597
  authMode: providerRuntime.authLabel,
700590
700598
  model: providerRuntime.model ?? renderModelName(mainLoopModel),
@@ -712727,7 +712735,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
712727
712735
  } catch {}
712728
712736
  const data = {
712729
712737
  trigger: trigger2,
712730
- version: "1.50.0",
712738
+ version: "1.50.2",
712731
712739
  platform: process.platform,
712732
712740
  transcript,
712733
712741
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -725013,7 +725021,7 @@ function WelcomeV2() {
725013
725021
  dimColor: true,
725014
725022
  children: [
725015
725023
  "v",
725016
- "1.50.0"
725024
+ "1.50.2"
725017
725025
  ]
725018
725026
  }, undefined, true, undefined, this)
725019
725027
  ]
@@ -726273,7 +726281,7 @@ function completeOnboarding() {
726273
726281
  saveGlobalConfig((current) => ({
726274
726282
  ...current,
726275
726283
  hasCompletedOnboarding: true,
726276
- lastOnboardingVersion: "1.50.0"
726284
+ lastOnboardingVersion: "1.50.2"
726277
726285
  }));
726278
726286
  }
726279
726287
  function showDialog(root2, renderer) {
@@ -731317,7 +731325,7 @@ function appendToLog(path24, message) {
731317
731325
  cwd: getFsImplementation().cwd(),
731318
731326
  userType: process.env.USER_TYPE,
731319
731327
  sessionId: getSessionId(),
731320
- version: "1.50.0"
731328
+ version: "1.50.2"
731321
731329
  };
731322
731330
  getLogWriter(path24).write(messageWithTimestamp);
731323
731331
  }
@@ -735476,8 +735484,8 @@ async function getEnvLessBridgeConfig() {
735476
735484
  }
735477
735485
  async function checkEnvLessBridgeMinVersion() {
735478
735486
  const cfg = await getEnvLessBridgeConfig();
735479
- if (cfg.min_version && lt("1.50.0", cfg.min_version)) {
735480
- return `Your version of UR (${"1.50.0"}) is too old for Remote Control.
735487
+ if (cfg.min_version && lt("1.50.2", cfg.min_version)) {
735488
+ return `Your version of UR (${"1.50.2"}) is too old for Remote Control.
735481
735489
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
735482
735490
  }
735483
735491
  return null;
@@ -735951,7 +735959,7 @@ async function initBridgeCore(params) {
735951
735959
  const rawApi = createBridgeApiClient({
735952
735960
  baseUrl,
735953
735961
  getAccessToken,
735954
- runnerVersion: "1.50.0",
735962
+ runnerVersion: "1.50.2",
735955
735963
  onDebug: logForDebugging,
735956
735964
  onAuth401,
735957
735965
  getTrustedDeviceToken
@@ -745420,7 +745428,7 @@ function getAgUiCapabilities() {
745420
745428
  name: "UR-Nexus",
745421
745429
  type: "ur-nexus",
745422
745430
  description: "Provider-flexible, local-first autonomous engineering workflow agent.",
745423
- version: "1.50.0",
745431
+ version: "1.50.2",
745424
745432
  provider: "UR",
745425
745433
  documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
745426
745434
  },
@@ -746560,7 +746568,7 @@ function createMCPServer(cwd4, debug2, verbose) {
746560
746568
  };
746561
746569
  const server2 = new Server({
746562
746570
  name: "ur-nexus",
746563
- version: "1.50.0"
746571
+ version: "1.50.2"
746564
746572
  }, {
746565
746573
  capabilities: {
746566
746574
  tools: {}
@@ -747718,7 +747726,7 @@ function thrownResponse(error40) {
747718
747726
  }
747719
747727
  async function createUrMcp2026Runtime(options4) {
747720
747728
  const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
747721
- const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.50.0" }, { capabilities: {} });
747729
+ const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.50.2" }, { capabilities: {} });
747722
747730
  const [clientTransport, serverTransport] = createLinkedTransportPair();
747723
747731
  try {
747724
747732
  await server2.connect(serverTransport);
@@ -747729,7 +747737,7 @@ async function createUrMcp2026Runtime(options4) {
747729
747737
  }
747730
747738
  const runtime2 = new Mcp2026Runtime({
747731
747739
  cwd: options4.cwd,
747732
- version: "1.50.0",
747740
+ version: "1.50.2",
747733
747741
  backend: {
747734
747742
  listTools: async () => {
747735
747743
  const listed = await client2.listTools();
@@ -749862,7 +749870,7 @@ async function update() {
749862
749870
  logEvent("tengu_update_check", {});
749863
749871
  const diagnostic2 = await getDoctorDiagnostic();
749864
749872
  const result = await checkUpgradeStatus({
749865
- currentVersion: "1.50.0",
749873
+ currentVersion: "1.50.2",
749866
749874
  packageName: UR_AGENT_PACKAGE_NAME,
749867
749875
  installationType: diagnostic2.installationType,
749868
749876
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -751178,7 +751186,7 @@ ${customInstructions}` : customInstructions;
751178
751186
  }
751179
751187
  }
751180
751188
  logForDiagnosticsNoPII("info", "started", {
751181
- version: "1.50.0",
751189
+ version: "1.50.2",
751182
751190
  is_native_binary: isInBundledMode()
751183
751191
  });
751184
751192
  registerCleanup(async () => {
@@ -751964,7 +751972,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
751964
751972
  pendingHookMessages
751965
751973
  }, renderAndRun);
751966
751974
  }
751967
- }).version("1.50.0 (UR-Nexus)", "-v, --version", "Output the version number");
751975
+ }).version("1.50.2 (UR-Nexus)", "-v, --version", "Output the version number");
751968
751976
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
751969
751977
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
751970
751978
  if (canUserConfigureAdvisor()) {
@@ -752980,7 +752988,7 @@ if (false) {}
752980
752988
  async function main2() {
752981
752989
  const args = process.argv.slice(2);
752982
752990
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
752983
- console.log(`${"1.50.0"} (UR-Nexus)`);
752991
+ console.log(`${"1.50.2"} (UR-Nexus)`);
752984
752992
  return;
752985
752993
  }
752986
752994
  if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
@@ -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.50.0</p>
48
+ <p class="eyebrow">Version 1.50.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.50.0"
10
+ version = "1.50.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.50.0",
5
+ "version": "1.50.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.50.0",
3
+ "version": "1.50.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",