ur-agent 1.50.0 → 1.50.1

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.50.1
4
+
5
+ - Fixed an always-true provider test that silently disabled a large part of the
6
+ command surface. `isUsing3PServices()` was derived from `getAPIProvider()`,
7
+ a request-shaping enum that never returns `'firstParty'`, so the comparison
8
+ held for every user. Consequences: `/login` and `/logout` were never
9
+ registered; every `availability`-gated command failed its check, so
10
+ `/install-github-app`, `/fast`, `/chrome`, `/desktop`, `/install-slack-app`,
11
+ `/remote-setup`, `/upgrade`, `/usage`, and `/voice` reported "Unknown skill";
12
+ `ur auth status` classified every user as `third_party` and always logged in;
13
+ `is1PApiCustomer()` always returned false, suppressing three tips. Third-party
14
+ status is now derived from the provider registry — vendor API keys and
15
+ external CLI logins are third-party, while local, self-hosted, and
16
+ subscription runtimes are not.
17
+ - Ungated `/install-github-app`. It provisions a workflow and a repository
18
+ secret rather than consuming inference, and the API key is entered in the
19
+ flow, so it is now available on every provider including local runtimes.
20
+
3
21
  ## 1.50.0
4
22
 
5
23
  - Completed `/install-github-app` so `@ur <task>` works from GitHub. The
package/dist/cli.js CHANGED
@@ -73944,7 +73944,7 @@ function isURHQAuthEnabled() {
73944
73944
  if (process.env.URHQ_UNIX_SOCKET) {
73945
73945
  return !!process.env.UR_CODE_OAUTH_TOKEN;
73946
73946
  }
73947
- const is3P = getAPIProvider() !== "firstParty";
73947
+ const is3P = isUsing3PServices();
73948
73948
  const settings = getSettings_DEPRECATED() || {};
73949
73949
  const apiKeyHelper = settings.apiKeyHelper;
73950
73950
  const hasExternalAuthToken = process.env.URHQ_AUTH_TOKEN || apiKeyHelper || process.env.UR_CODE_API_KEY_FILE_DESCRIPTOR;
@@ -74738,7 +74738,7 @@ function hasProfileScope() {
74738
74738
  return getURAIOAuthTokens()?.scopes?.includes(UR_AI_PROFILE_SCOPE) ?? false;
74739
74739
  }
74740
74740
  function is1PApiCustomer() {
74741
- if (getAPIProvider() !== "firstParty") {
74741
+ if (isUsing3PServices()) {
74742
74742
  return false;
74743
74743
  }
74744
74744
  if (isURAISubscriber()) {
@@ -74818,7 +74818,10 @@ function getSubscriptionName() {
74818
74818
  }
74819
74819
  }
74820
74820
  function isUsing3PServices() {
74821
- return getAPIProvider() !== "firstParty";
74821
+ const provider = getProviderDefinition(getRuntimeProviderId());
74822
+ if (provider.accessType === "api")
74823
+ return true;
74824
+ return provider.credentialType === "cli-login";
74822
74825
  }
74823
74826
  function getConfiguredOtelHeadersHelper() {
74824
74827
  const mergedSettings = getSettings_DEPRECATED() || {};
@@ -74972,6 +74975,7 @@ var init_auth = __esm(() => {
74972
74975
  init_analytics();
74973
74976
  init_modelStrings();
74974
74977
  init_providers();
74978
+ init_providerRegistry();
74975
74979
  init_state();
74976
74980
  init_mockRateLimits();
74977
74981
  init_client();
@@ -75079,7 +75083,7 @@ var init_auth = __esm(() => {
75079
75083
 
75080
75084
  // src/utils/userAgent.ts
75081
75085
  function getURCodeUserAgent() {
75082
- return `ur/${"1.50.0"}`;
75086
+ return `ur/${"1.50.1"}`;
75083
75087
  }
75084
75088
 
75085
75089
  // src/utils/workloadContext.ts
@@ -75101,7 +75105,7 @@ function getUserAgent() {
75101
75105
  const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
75102
75106
  const workload = getWorkload();
75103
75107
  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})`;
75108
+ return `ur-cli/${"1.50.1"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
75105
75109
  }
75106
75110
  function getMCPUserAgent() {
75107
75111
  const parts = [];
@@ -75115,7 +75119,7 @@ function getMCPUserAgent() {
75115
75119
  parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
75116
75120
  }
75117
75121
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
75118
- return `ur/${"1.50.0"}${suffix}`;
75122
+ return `ur/${"1.50.1"}${suffix}`;
75119
75123
  }
75120
75124
  function getWebFetchUserAgent() {
75121
75125
  return `UR-User (${getURCodeUserAgent()})`;
@@ -75253,7 +75257,7 @@ var init_user = __esm(() => {
75253
75257
  deviceId,
75254
75258
  sessionId: getSessionId(),
75255
75259
  email: getEmail(),
75256
- appVersion: "1.50.0",
75260
+ appVersion: "1.50.1",
75257
75261
  platform: getHostPlatformForAnalytics(),
75258
75262
  organizationUuid,
75259
75263
  accountUuid,
@@ -83453,7 +83457,7 @@ var init_metadata = __esm(() => {
83453
83457
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
83454
83458
  WHITESPACE_REGEX = /\s+/;
83455
83459
  getVersionBase = memoize_default(() => {
83456
- const match = "1.50.0".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
83460
+ const match = "1.50.1".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
83457
83461
  return match ? match[0] : undefined;
83458
83462
  });
83459
83463
  buildEnvContext = memoize_default(async () => {
@@ -83493,7 +83497,7 @@ var init_metadata = __esm(() => {
83493
83497
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
83494
83498
  isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
83495
83499
  isURAiAuth: isURAISubscriber(),
83496
- version: "1.50.0",
83500
+ version: "1.50.1",
83497
83501
  versionBase: getVersionBase(),
83498
83502
  buildTime: "",
83499
83503
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
@@ -84163,7 +84167,7 @@ function initialize1PEventLogging() {
84163
84167
  const platform2 = getPlatform();
84164
84168
  const attributes = {
84165
84169
  [import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
84166
- [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.50.0"
84170
+ [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.50.1"
84167
84171
  };
84168
84172
  if (platform2 === "wsl") {
84169
84173
  const wslVersion = getWslVersion();
@@ -84191,7 +84195,7 @@ function initialize1PEventLogging() {
84191
84195
  })
84192
84196
  ]
84193
84197
  });
84194
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.50.0");
84198
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.50.1");
84195
84199
  }
84196
84200
  async function reinitialize1PEventLoggingIfConfigChanged() {
84197
84201
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -94007,7 +94011,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
94007
94011
  function formatA2AAgentCard(options = {}, pretty = true) {
94008
94012
  return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
94009
94013
  }
94010
- var urVersion = "1.50.0", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
94014
+ var urVersion = "1.50.1", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
94011
94015
  var init_trends = __esm(() => {
94012
94016
  init_a2aCardSignature();
94013
94017
  coverage = [
@@ -96808,7 +96812,7 @@ function getAttributionHeader(fingerprint) {
96808
96812
  if (!isAttributionHeaderEnabled()) {
96809
96813
  return "";
96810
96814
  }
96811
- const version2 = `${"1.50.0"}.${fingerprint}`;
96815
+ const version2 = `${"1.50.1"}.${fingerprint}`;
96812
96816
  const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
96813
96817
  const cch = "";
96814
96818
  const workload = getWorkload();
@@ -154493,7 +154497,7 @@ var init_projectSafety = __esm(() => {
154493
154497
  function getInstruments() {
154494
154498
  if (instruments)
154495
154499
  return instruments;
154496
- const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.50.0");
154500
+ const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.50.1");
154497
154501
  instruments = {
154498
154502
  operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
154499
154503
  description: "GenAI operation duration.",
@@ -154591,7 +154595,7 @@ function genAiAgentAttributes() {
154591
154595
  "gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
154592
154596
  "gen_ai.provider.name": "ur",
154593
154597
  "gen_ai.agent.name": "UR-Nexus",
154594
- "gen_ai.agent.version": "1.50.0"
154598
+ "gen_ai.agent.version": "1.50.1"
154595
154599
  };
154596
154600
  }
154597
154601
  function genAiWorkflowAttributes(workflowName) {
@@ -154607,7 +154611,7 @@ function genAiWorkflowAttributes(workflowName) {
154607
154611
  function startGenAiWorkflowSpan(workflowName) {
154608
154612
  const attributes = genAiWorkflowAttributes(workflowName);
154609
154613
  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 });
154614
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.50.1").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
154611
154615
  }
154612
154616
  function endGenAiWorkflowSpan(span, options2 = {}) {
154613
154617
  try {
@@ -154645,7 +154649,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
154645
154649
  if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
154646
154650
  attributes["gen_ai.memory.record.count"] = options2.recordCount;
154647
154651
  }
154648
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.50.0").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
154652
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.50.1").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
154649
154653
  }
154650
154654
  function endGenAiMemorySpan(span, options2 = {}) {
154651
154655
  try {
@@ -206164,7 +206168,7 @@ function getTelemetryAttributes() {
206164
206168
  attributes["session.id"] = sessionId;
206165
206169
  }
206166
206170
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
206167
- attributes["app.version"] = "1.50.0";
206171
+ attributes["app.version"] = "1.50.1";
206168
206172
  }
206169
206173
  const oauthAccount = getOauthAccountInfo();
206170
206174
  if (oauthAccount) {
@@ -252415,7 +252419,7 @@ function getInstallationEnv() {
252415
252419
  return;
252416
252420
  }
252417
252421
  function getURCodeVersion() {
252418
- return "1.50.0";
252422
+ return "1.50.1";
252419
252423
  }
252420
252424
  async function getInstalledVSCodeExtensionVersion(command) {
252421
252425
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -259746,7 +259750,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
259746
259750
  const client2 = new Client({
259747
259751
  name: "ur",
259748
259752
  title: "UR",
259749
- version: "1.50.0",
259753
+ version: "1.50.1",
259750
259754
  description: "UR-Nexus autonomous engineering workflow engine",
259751
259755
  websiteUrl: PRODUCT_URL
259752
259756
  }, {
@@ -260106,7 +260110,7 @@ var init_client5 = __esm(() => {
260106
260110
  const client2 = new Client({
260107
260111
  name: "ur",
260108
260112
  title: "UR",
260109
- version: "1.50.0",
260113
+ version: "1.50.1",
260110
260114
  description: "UR-Nexus autonomous engineering workflow engine",
260111
260115
  websiteUrl: PRODUCT_URL
260112
260116
  }, {
@@ -272707,7 +272711,7 @@ async function createRuntime() {
272707
272711
  bootstrapTelemetry();
272708
272712
  const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
272709
272713
  [import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
272710
- [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.50.0"
272714
+ [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.50.1"
272711
272715
  }));
272712
272716
  const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
272713
272717
  resource,
@@ -272740,11 +272744,11 @@ async function createRuntime() {
272740
272744
  setMeterProvider(meterProvider);
272741
272745
  setLoggerProvider(loggerProvider);
272742
272746
  if (meterProvider) {
272743
- const meter = meterProvider.getMeter("ur-agent", "1.50.0");
272747
+ const meter = meterProvider.getMeter("ur-agent", "1.50.1");
272744
272748
  setMeter(meter, (name, options2) => meter.createCounter(name, options2));
272745
272749
  }
272746
272750
  if (loggerProvider) {
272747
- setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.50.0"));
272751
+ setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.50.1"));
272748
272752
  }
272749
272753
  if (!cleanupRegistered2) {
272750
272754
  cleanupRegistered2 = true;
@@ -273406,9 +273410,9 @@ async function assertMinVersion() {
273406
273410
  if (false) {}
273407
273411
  try {
273408
273412
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
273409
- if (versionConfig.minVersion && lt("1.50.0", versionConfig.minVersion)) {
273413
+ if (versionConfig.minVersion && lt("1.50.1", versionConfig.minVersion)) {
273410
273414
  console.error(`
273411
- It looks like your version of UR (${"1.50.0"}) needs an update.
273415
+ It looks like your version of UR (${"1.50.1"}) needs an update.
273412
273416
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
273413
273417
 
273414
273418
  To update, please run:
@@ -273624,7 +273628,7 @@ async function installGlobalPackage(specificVersion) {
273624
273628
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
273625
273629
  logEvent("tengu_auto_updater_lock_contention", {
273626
273630
  pid: process.pid,
273627
- currentVersion: "1.50.0"
273631
+ currentVersion: "1.50.1"
273628
273632
  });
273629
273633
  return "in_progress";
273630
273634
  }
@@ -273633,7 +273637,7 @@ async function installGlobalPackage(specificVersion) {
273633
273637
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
273634
273638
  logError2(new Error("Windows NPM detected in WSL environment"));
273635
273639
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
273636
- currentVersion: "1.50.0"
273640
+ currentVersion: "1.50.1"
273637
273641
  });
273638
273642
  console.error(`
273639
273643
  Error: Windows NPM detected in WSL
@@ -274168,7 +274172,7 @@ function detectLinuxGlobPatternWarnings() {
274168
274172
  }
274169
274173
  async function getDoctorDiagnostic() {
274170
274174
  const installationType = await getCurrentInstallationType();
274171
- const version2 = typeof MACRO !== "undefined" ? "1.50.0" : "unknown";
274175
+ const version2 = typeof MACRO !== "undefined" ? "1.50.1" : "unknown";
274172
274176
  const installationPath = await getInstallationPath();
274173
274177
  const invokedBinary = getInvokedBinary();
274174
274178
  const multipleInstallations = await detectMultipleInstallations();
@@ -275103,8 +275107,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
275103
275107
  const maxVersion = await getMaxVersion();
275104
275108
  if (maxVersion && gt(version2, maxVersion)) {
275105
275109
  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`);
275110
+ if (gte("1.50.1", maxVersion)) {
275111
+ logForDebugging(`Native installer: current version ${"1.50.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
275108
275112
  logEvent("tengu_native_update_skipped_max_version", {
275109
275113
  latency_ms: Date.now() - startTime,
275110
275114
  max_version: maxVersion,
@@ -275115,7 +275119,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
275115
275119
  version2 = maxVersion;
275116
275120
  }
275117
275121
  }
275118
- if (!forceReinstall && version2 === "1.50.0" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
275122
+ if (!forceReinstall && version2 === "1.50.1" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
275119
275123
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
275120
275124
  logEvent("tengu_native_update_complete", {
275121
275125
  latency_ms: Date.now() - startTime,
@@ -344908,7 +344912,7 @@ function isAnyTracingEnabled() {
344908
344912
  return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
344909
344913
  }
344910
344914
  function getTracer() {
344911
- return import_api39.trace.getTracer("ur-agent.gen_ai", "1.50.0");
344915
+ return import_api39.trace.getTracer("ur-agent.gen_ai", "1.50.1");
344912
344916
  }
344913
344917
  function createSpanAttributes(spanType, customAttributes = {}) {
344914
344918
  const baseAttributes = getTelemetryAttributes();
@@ -374002,7 +374006,7 @@ function Feedback({
374002
374006
  platform: env2.platform,
374003
374007
  gitRepo: envInfo.isGit,
374004
374008
  terminal: env2.terminal,
374005
- version: "1.50.0",
374009
+ version: "1.50.1",
374006
374010
  transcript: normalizeMessagesForAPI(messages),
374007
374011
  errors: sanitizedErrors,
374008
374012
  lastApiRequest: getLastAPIRequest(),
@@ -374194,7 +374198,7 @@ function Feedback({
374194
374198
  ", ",
374195
374199
  env2.terminal,
374196
374200
  ", v",
374197
- "1.50.0"
374201
+ "1.50.1"
374198
374202
  ]
374199
374203
  }, undefined, true, undefined, this)
374200
374204
  ]
@@ -374300,7 +374304,7 @@ ${sanitizedDescription}
374300
374304
  ` + `**Environment Info**
374301
374305
  ` + `- Platform: ${env2.platform}
374302
374306
  ` + `- Terminal: ${env2.terminal}
374303
- ` + `- Version: ${"1.50.0"}
374307
+ ` + `- Version: ${"1.50.1"}
374304
374308
  ` + `- Feedback ID: ${feedbackId}
374305
374309
  ` + `
374306
374310
  **Errors**
@@ -377411,7 +377415,7 @@ function buildPrimarySection() {
377411
377415
  }, undefined, false, undefined, this);
377412
377416
  return [{
377413
377417
  label: "Version",
377414
- value: "1.50.0"
377418
+ value: "1.50.1"
377415
377419
  }, {
377416
377420
  label: "Session name",
377417
377421
  value: nameValue
@@ -380741,7 +380745,7 @@ function Config({
380741
380745
  }
380742
380746
  }, undefined, false, undefined, this)
380743
380747
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ChannelDowngradeDialog, {
380744
- currentVersion: "1.50.0",
380748
+ currentVersion: "1.50.1",
380745
380749
  onChoice: (choice) => {
380746
380750
  setShowSubmenu(null);
380747
380751
  setTabsHidden(false);
@@ -380753,7 +380757,7 @@ function Config({
380753
380757
  autoUpdatesChannel: "stable"
380754
380758
  };
380755
380759
  if (choice === "stay") {
380756
- newSettings.minimumVersion = "1.50.0";
380760
+ newSettings.minimumVersion = "1.50.1";
380757
380761
  }
380758
380762
  updateSettingsForSource("userSettings", newSettings);
380759
380763
  setSettingsData((prev_27) => ({
@@ -388823,7 +388827,7 @@ function HelpV2(t0) {
388823
388827
  let t6;
388824
388828
  if ($2[31] !== tabs) {
388825
388829
  t6 = /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Tabs, {
388826
- title: `UR v${"1.50.0"}`,
388830
+ title: `UR v${"1.50.1"}`,
388827
388831
  color: "professionalBlue",
388828
388832
  defaultTab: "general",
388829
388833
  children: tabs
@@ -389740,7 +389744,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
389740
389744
  async function handleInitialize(options2) {
389741
389745
  return {
389742
389746
  name: "UR",
389743
- version: "1.50.0",
389747
+ version: "1.50.1",
389744
389748
  protocolVersion: "0.1.0",
389745
389749
  workspaceRoot: options2.cwd,
389746
389750
  capabilities: {
@@ -393392,7 +393396,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
393392
393396
  if (spec.name !== specName) {
393393
393397
  throw new Error("Agentic CI workflow spec name does not match");
393394
393398
  }
393395
- const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.50.0" : "1.50.0");
393399
+ const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.50.1" : "1.50.1");
393396
393400
  if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
393397
393401
  throw new Error("invalid ur-agent package version");
393398
393402
  }
@@ -393818,7 +393822,7 @@ jobs:
393818
393822
  var init_github_app = __esm(() => {
393819
393823
  init_agenticCi();
393820
393824
  import_yaml3 = __toESM(require_dist4(), 1);
393821
- urVersion2 = typeof MACRO !== "undefined" ? "1.50.0" : "1.50.0";
393825
+ urVersion2 = typeof MACRO !== "undefined" ? "1.50.1" : "1.50.1";
393822
393826
  WORKFLOW_CONTENT = compileAgenticCiWorkflow("default", {
393823
393827
  packageVersion: urVersion2
393824
393828
  });
@@ -396815,7 +396819,6 @@ var init_install_github_app2 = __esm(() => {
396815
396819
  type: "local-jsx",
396816
396820
  name: "install-github-app",
396817
396821
  description: "Set up UR GitHub Actions for a repository",
396818
- availability: ["ur-ai", "console"],
396819
396822
  isEnabled: () => !isEnvTruthy(process.env.DISABLE_INSTALL_GITHUB_APP_COMMAND),
396820
396823
  load: () => Promise.resolve().then(() => (init_install_github_app(), exports_install_github_app))
396821
396824
  };
@@ -411817,7 +411820,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
411817
411820
  return [];
411818
411821
  }
411819
411822
  }
411820
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.50.0") {
411823
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.50.1") {
411821
411824
  if (process.env.USER_TYPE === "ant") {
411822
411825
  const changelog = "";
411823
411826
  if (changelog) {
@@ -411844,7 +411847,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.50.0")
411844
411847
  releaseNotes
411845
411848
  };
411846
411849
  }
411847
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.50.0") {
411850
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.50.1") {
411848
411851
  if (process.env.USER_TYPE === "ant") {
411849
411852
  const changelog = "";
411850
411853
  if (changelog) {
@@ -414701,7 +414704,7 @@ function getRecentActivitySync() {
414701
414704
  return cachedActivity;
414702
414705
  }
414703
414706
  function getLogoDisplayData() {
414704
- const version2 = process.env.DEMO_VERSION ?? "1.50.0";
414707
+ const version2 = process.env.DEMO_VERSION ?? "1.50.1";
414705
414708
  const serverUrl = getDirectConnectServerUrl();
414706
414709
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
414707
414710
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -415585,7 +415588,7 @@ function LogoV2() {
415585
415588
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
415586
415589
  t2 = () => {
415587
415590
  const currentConfig2 = getGlobalConfig();
415588
- if (currentConfig2.lastReleaseNotesSeen === "1.50.0") {
415591
+ if (currentConfig2.lastReleaseNotesSeen === "1.50.1") {
415589
415592
  return;
415590
415593
  }
415591
415594
  saveGlobalConfig(_temp327);
@@ -416270,12 +416273,12 @@ function LogoV2() {
416270
416273
  return t41;
416271
416274
  }
416272
416275
  function _temp327(current) {
416273
- if (current.lastReleaseNotesSeen === "1.50.0") {
416276
+ if (current.lastReleaseNotesSeen === "1.50.1") {
416274
416277
  return current;
416275
416278
  }
416276
416279
  return {
416277
416280
  ...current,
416278
- lastReleaseNotesSeen: "1.50.0"
416281
+ lastReleaseNotesSeen: "1.50.1"
416279
416282
  };
416280
416283
  }
416281
416284
  function _temp243(s_0) {
@@ -431771,7 +431774,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
431771
431774
  path: ".github/workflows/ur.yml",
431772
431775
  root: "project",
431773
431776
  content: compileAgenticCiWorkflow("default", {
431774
- packageVersion: typeof MACRO !== "undefined" ? "1.50.0" : "1.50.0"
431777
+ packageVersion: typeof MACRO !== "undefined" ? "1.50.1" : "1.50.1"
431775
431778
  })
431776
431779
  },
431777
431780
  {
@@ -431834,7 +431837,7 @@ function value(tokens, flag) {
431834
431837
  return index2 >= 0 ? tokens[index2 + 1] : undefined;
431835
431838
  }
431836
431839
  function cliVersion() {
431837
- return typeof MACRO !== "undefined" ? "1.50.0" : "1.50.0";
431840
+ return typeof MACRO !== "undefined" ? "1.50.1" : "1.50.1";
431838
431841
  }
431839
431842
  function workflowPath(cwd2) {
431840
431843
  return join155(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
@@ -437690,7 +437693,7 @@ function createAcpStdioApp(deps) {
437690
437693
  }
437691
437694
  },
437692
437695
  authMethods: [],
437693
- agentInfo: { name: "UR-Nexus", version: "1.50.0" }
437696
+ agentInfo: { name: "UR-Nexus", version: "1.50.1" }
437694
437697
  })).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
437695
437698
  const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
437696
437699
  await runtime2.announce({
@@ -437787,7 +437790,7 @@ function createAcpStdioAgent(deps) {
437787
437790
  }
437788
437791
  },
437789
437792
  authMethods: [],
437790
- agentInfo: { name: "UR-Nexus", version: "1.50.0" }
437793
+ agentInfo: { name: "UR-Nexus", version: "1.50.1" }
437791
437794
  });
437792
437795
  return;
437793
437796
  case "authenticate":
@@ -645266,7 +645269,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
645266
645269
  smapsRollup,
645267
645270
  platform: process.platform,
645268
645271
  nodeVersion: process.version,
645269
- ccVersion: "1.50.0"
645272
+ ccVersion: "1.50.1"
645270
645273
  };
645271
645274
  }
645272
645275
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -645852,7 +645855,7 @@ var init_bridge_kick = __esm(() => {
645852
645855
  var call145 = async () => {
645853
645856
  return {
645854
645857
  type: "text",
645855
- value: "1.50.0"
645858
+ value: "1.50.1"
645856
645859
  };
645857
645860
  }, version2, version_default;
645858
645861
  var init_version = __esm(() => {
@@ -656970,7 +656973,7 @@ function generateHtmlReport(data, insights) {
656970
656973
  </html>`;
656971
656974
  }
656972
656975
  function buildExportData(data, insights, facets, remoteStats) {
656973
- const version3 = typeof MACRO !== "undefined" ? "1.50.0" : "unknown";
656976
+ const version3 = typeof MACRO !== "undefined" ? "1.50.1" : "unknown";
656974
656977
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
656975
656978
  const facets_summary = {
656976
656979
  total: facets.size,
@@ -661303,7 +661306,7 @@ var init_sessionStorage = __esm(() => {
661303
661306
  init_settings2();
661304
661307
  init_slowOperations();
661305
661308
  init_uuid();
661306
- VERSION7 = typeof MACRO !== "undefined" ? "1.50.0" : "unknown";
661309
+ VERSION7 = typeof MACRO !== "undefined" ? "1.50.1" : "unknown";
661307
661310
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
661308
661311
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
661309
661312
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -662518,7 +662521,7 @@ var init_filesystem = __esm(() => {
662518
662521
  });
662519
662522
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
662520
662523
  const nonce = randomBytes19(16).toString("hex");
662521
- return join224(getURTempDir(), "bundled-skills", "1.50.0", nonce);
662524
+ return join224(getURTempDir(), "bundled-skills", "1.50.1", nonce);
662522
662525
  });
662523
662526
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
662524
662527
  });
@@ -668813,7 +668816,7 @@ function computeFingerprint(messageText2, version3) {
668813
668816
  }
668814
668817
  function computeFingerprintFromMessages(messages) {
668815
668818
  const firstMessageText = extractFirstMessageText(messages);
668816
- return computeFingerprint(firstMessageText, "1.50.0");
668819
+ return computeFingerprint(firstMessageText, "1.50.1");
668817
668820
  }
668818
668821
  var FINGERPRINT_SALT = "59cf53e54c78";
668819
668822
  var init_fingerprint = () => {};
@@ -670709,7 +670712,7 @@ async function sideQuery(opts) {
670709
670712
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
670710
670713
  }
670711
670714
  const messageText2 = extractFirstUserMessageText(messages);
670712
- const fingerprint2 = computeFingerprint(messageText2, "1.50.0");
670715
+ const fingerprint2 = computeFingerprint(messageText2, "1.50.1");
670713
670716
  const attributionHeader = getAttributionHeader(fingerprint2);
670714
670717
  const systemBlocks = [
670715
670718
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -675480,7 +675483,7 @@ function buildSystemInitMessage(inputs) {
675480
675483
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
675481
675484
  apiKeySource: getURHQApiKeyWithSource().source,
675482
675485
  betas: getSdkBetas(),
675483
- ur_version: "1.50.0",
675486
+ ur_version: "1.50.1",
675484
675487
  output_style: outputStyle2,
675485
675488
  agents: inputs.agents.map((agent2) => agent2.agentType),
675486
675489
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -689340,7 +689343,7 @@ var init_useVoiceEnabled = __esm(() => {
689340
689343
  function getSemverPart(version3) {
689341
689344
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
689342
689345
  }
689343
- function useUpdateNotification(updatedVersion, initialVersion = "1.50.0") {
689346
+ function useUpdateNotification(updatedVersion, initialVersion = "1.50.1") {
689344
689347
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react228.useState(() => getSemverPart(initialVersion));
689345
689348
  if (!updatedVersion) {
689346
689349
  return null;
@@ -689389,7 +689392,7 @@ function AutoUpdater({
689389
689392
  return;
689390
689393
  }
689391
689394
  if (false) {}
689392
- const currentVersion = "1.50.0";
689395
+ const currentVersion = "1.50.1";
689393
689396
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
689394
689397
  let latestVersion = await getLatestVersion(channel);
689395
689398
  const isDisabled = isAutoUpdaterDisabled();
@@ -689618,12 +689621,12 @@ function NativeAutoUpdater({
689618
689621
  logEvent("tengu_native_auto_updater_start", {});
689619
689622
  try {
689620
689623
  const maxVersion = await getMaxVersion();
689621
- if (maxVersion && gt("1.50.0", maxVersion)) {
689624
+ if (maxVersion && gt("1.50.1", maxVersion)) {
689622
689625
  const msg = await getMaxVersionMessage();
689623
689626
  setMaxVersionIssue(msg ?? "affects your version");
689624
689627
  }
689625
689628
  const result = await installLatest(channel);
689626
- const currentVersion = "1.50.0";
689629
+ const currentVersion = "1.50.1";
689627
689630
  const latencyMs = Date.now() - startTime;
689628
689631
  if (result.lockFailed) {
689629
689632
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -689760,17 +689763,17 @@ function PackageManagerAutoUpdater(t0) {
689760
689763
  const maxVersion = await getMaxVersion();
689761
689764
  if (maxVersion && latest && gt(latest, maxVersion)) {
689762
689765
  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`);
689766
+ if (gte("1.50.1", maxVersion)) {
689767
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.50.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
689765
689768
  setUpdateAvailable(false);
689766
689769
  return;
689767
689770
  }
689768
689771
  latest = maxVersion;
689769
689772
  }
689770
- const hasUpdate = latest && !gte("1.50.0", latest) && !shouldSkipVersion(latest);
689773
+ const hasUpdate = latest && !gte("1.50.1", latest) && !shouldSkipVersion(latest);
689771
689774
  setUpdateAvailable(!!hasUpdate);
689772
689775
  if (hasUpdate) {
689773
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.50.0"} -> ${latest}`);
689776
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.50.1"} -> ${latest}`);
689774
689777
  }
689775
689778
  };
689776
689779
  $2[0] = t1;
@@ -689804,7 +689807,7 @@ function PackageManagerAutoUpdater(t0) {
689804
689807
  wrap: "truncate",
689805
689808
  children: [
689806
689809
  "currentVersion: ",
689807
- "1.50.0"
689810
+ "1.50.1"
689808
689811
  ]
689809
689812
  }, undefined, true, undefined, this);
689810
689813
  $2[3] = verbose;
@@ -700501,7 +700504,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
700501
700504
  project_dir: getOriginalCwd(),
700502
700505
  added_dirs: addedDirs
700503
700506
  },
700504
- version: "1.50.0",
700507
+ version: "1.50.1",
700505
700508
  output_style: {
700506
700509
  name: outputStyleName
700507
700510
  },
@@ -700584,7 +700587,7 @@ function StatusLineInner({
700584
700587
  const taskValues = Object.values(tasks2);
700585
700588
  const taskRunningCount = taskValues.filter((task2) => task2.status === "running" || task2.status === "pending").length;
700586
700589
  const defaultStatusLineText = buildDefaultStatusBar({
700587
- version: "1.50.0",
700590
+ version: "1.50.1",
700588
700591
  providerLabel: providerRuntime.providerLabel,
700589
700592
  authMode: providerRuntime.authLabel,
700590
700593
  model: providerRuntime.model ?? renderModelName(mainLoopModel),
@@ -712727,7 +712730,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
712727
712730
  } catch {}
712728
712731
  const data = {
712729
712732
  trigger: trigger2,
712730
- version: "1.50.0",
712733
+ version: "1.50.1",
712731
712734
  platform: process.platform,
712732
712735
  transcript,
712733
712736
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -725013,7 +725016,7 @@ function WelcomeV2() {
725013
725016
  dimColor: true,
725014
725017
  children: [
725015
725018
  "v",
725016
- "1.50.0"
725019
+ "1.50.1"
725017
725020
  ]
725018
725021
  }, undefined, true, undefined, this)
725019
725022
  ]
@@ -726273,7 +726276,7 @@ function completeOnboarding() {
726273
726276
  saveGlobalConfig((current) => ({
726274
726277
  ...current,
726275
726278
  hasCompletedOnboarding: true,
726276
- lastOnboardingVersion: "1.50.0"
726279
+ lastOnboardingVersion: "1.50.1"
726277
726280
  }));
726278
726281
  }
726279
726282
  function showDialog(root2, renderer) {
@@ -731317,7 +731320,7 @@ function appendToLog(path24, message) {
731317
731320
  cwd: getFsImplementation().cwd(),
731318
731321
  userType: process.env.USER_TYPE,
731319
731322
  sessionId: getSessionId(),
731320
- version: "1.50.0"
731323
+ version: "1.50.1"
731321
731324
  };
731322
731325
  getLogWriter(path24).write(messageWithTimestamp);
731323
731326
  }
@@ -735476,8 +735479,8 @@ async function getEnvLessBridgeConfig() {
735476
735479
  }
735477
735480
  async function checkEnvLessBridgeMinVersion() {
735478
735481
  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.
735482
+ if (cfg.min_version && lt("1.50.1", cfg.min_version)) {
735483
+ return `Your version of UR (${"1.50.1"}) is too old for Remote Control.
735481
735484
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
735482
735485
  }
735483
735486
  return null;
@@ -735951,7 +735954,7 @@ async function initBridgeCore(params) {
735951
735954
  const rawApi = createBridgeApiClient({
735952
735955
  baseUrl,
735953
735956
  getAccessToken,
735954
- runnerVersion: "1.50.0",
735957
+ runnerVersion: "1.50.1",
735955
735958
  onDebug: logForDebugging,
735956
735959
  onAuth401,
735957
735960
  getTrustedDeviceToken
@@ -745420,7 +745423,7 @@ function getAgUiCapabilities() {
745420
745423
  name: "UR-Nexus",
745421
745424
  type: "ur-nexus",
745422
745425
  description: "Provider-flexible, local-first autonomous engineering workflow agent.",
745423
- version: "1.50.0",
745426
+ version: "1.50.1",
745424
745427
  provider: "UR",
745425
745428
  documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
745426
745429
  },
@@ -746560,7 +746563,7 @@ function createMCPServer(cwd4, debug2, verbose) {
746560
746563
  };
746561
746564
  const server2 = new Server({
746562
746565
  name: "ur-nexus",
746563
- version: "1.50.0"
746566
+ version: "1.50.1"
746564
746567
  }, {
746565
746568
  capabilities: {
746566
746569
  tools: {}
@@ -747718,7 +747721,7 @@ function thrownResponse(error40) {
747718
747721
  }
747719
747722
  async function createUrMcp2026Runtime(options4) {
747720
747723
  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: {} });
747724
+ const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.50.1" }, { capabilities: {} });
747722
747725
  const [clientTransport, serverTransport] = createLinkedTransportPair();
747723
747726
  try {
747724
747727
  await server2.connect(serverTransport);
@@ -747729,7 +747732,7 @@ async function createUrMcp2026Runtime(options4) {
747729
747732
  }
747730
747733
  const runtime2 = new Mcp2026Runtime({
747731
747734
  cwd: options4.cwd,
747732
- version: "1.50.0",
747735
+ version: "1.50.1",
747733
747736
  backend: {
747734
747737
  listTools: async () => {
747735
747738
  const listed = await client2.listTools();
@@ -749862,7 +749865,7 @@ async function update() {
749862
749865
  logEvent("tengu_update_check", {});
749863
749866
  const diagnostic2 = await getDoctorDiagnostic();
749864
749867
  const result = await checkUpgradeStatus({
749865
- currentVersion: "1.50.0",
749868
+ currentVersion: "1.50.1",
749866
749869
  packageName: UR_AGENT_PACKAGE_NAME,
749867
749870
  installationType: diagnostic2.installationType,
749868
749871
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -751178,7 +751181,7 @@ ${customInstructions}` : customInstructions;
751178
751181
  }
751179
751182
  }
751180
751183
  logForDiagnosticsNoPII("info", "started", {
751181
- version: "1.50.0",
751184
+ version: "1.50.1",
751182
751185
  is_native_binary: isInBundledMode()
751183
751186
  });
751184
751187
  registerCleanup(async () => {
@@ -751964,7 +751967,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
751964
751967
  pendingHookMessages
751965
751968
  }, renderAndRun);
751966
751969
  }
751967
- }).version("1.50.0 (UR-Nexus)", "-v, --version", "Output the version number");
751970
+ }).version("1.50.1 (UR-Nexus)", "-v, --version", "Output the version number");
751968
751971
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
751969
751972
  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
751973
  if (canUserConfigureAdvisor()) {
@@ -752980,7 +752983,7 @@ if (false) {}
752980
752983
  async function main2() {
752981
752984
  const args = process.argv.slice(2);
752982
752985
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
752983
- console.log(`${"1.50.0"} (UR-Nexus)`);
752986
+ console.log(`${"1.50.1"} (UR-Nexus)`);
752984
752987
  return;
752985
752988
  }
752986
752989
  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.1</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.1"
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.1",
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.1",
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",