ur-agent 1.30.4 → 1.30.5

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,14 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.30.5
4
+
5
+ - Hide external app bridge providers from normal `/model`, `/provider`, and
6
+ `ur provider list` output. The default provider UX now shows only UR-native
7
+ API, local, and OpenAI-compatible server runtimes.
8
+ - Simplify the status bar to show only important runtime state: provider, model,
9
+ mode, branch, active tasks, checks, and update signals. Product name, version,
10
+ auth label, and idle task noise are omitted.
11
+
3
12
  ## 1.30.4
4
13
 
5
14
  - Make the default provider runtime independent of provider apps. Codex CLI,
package/README.md CHANGED
@@ -310,7 +310,7 @@ viewer mode.
310
310
  Example:
311
311
 
312
312
  ```text
313
- UR-AGENT v1.30.4 | Provider: Ollama | Auth: local | model: llama3 | mode: ask | branch: main | tasks: idle
313
+ Ollama | llama3 | ask | main
314
314
  ```
315
315
 
316
316
  The bar reflects the active in-session provider/model immediately after a
package/dist/cli.js CHANGED
@@ -51388,8 +51388,9 @@ function getProviderRuntimeBlockReason(providerId, env4 = process.env) {
51388
51388
  function isProviderRuntimeSelectable(providerId, env4 = process.env) {
51389
51389
  return getProviderRuntimeBlockReason(providerId, env4) === null;
51390
51390
  }
51391
- function listProviders() {
51392
- return PROVIDER_IDS.map((id) => PROVIDERS[id]);
51391
+ function listProviders(options = {}) {
51392
+ const includeExternal = options.includeExternalAppBridges ?? externalAppProviderBridgeEnabled(options.env ?? process.env);
51393
+ return PROVIDER_IDS.map((id) => PROVIDERS[id]).filter((provider) => includeExternal || provider.runtimeKind !== "external-app");
51393
51394
  }
51394
51395
  function hasSecretLikeValue(value) {
51395
51396
  const trimmed = value.trim();
@@ -69407,7 +69408,7 @@ var init_auth = __esm(() => {
69407
69408
 
69408
69409
  // src/utils/userAgent.ts
69409
69410
  function getURCodeUserAgent() {
69410
- return `ur/${"1.30.4"}`;
69411
+ return `ur/${"1.30.5"}`;
69411
69412
  }
69412
69413
 
69413
69414
  // src/utils/workloadContext.ts
@@ -69429,7 +69430,7 @@ function getUserAgent() {
69429
69430
  const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
69430
69431
  const workload = getWorkload();
69431
69432
  const workloadSuffix = workload ? `, workload/${workload}` : "";
69432
- return `ur-cli/${"1.30.4"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
69433
+ return `ur-cli/${"1.30.5"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
69433
69434
  }
69434
69435
  function getMCPUserAgent() {
69435
69436
  const parts = [];
@@ -69443,7 +69444,7 @@ function getMCPUserAgent() {
69443
69444
  parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
69444
69445
  }
69445
69446
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
69446
- return `ur/${"1.30.4"}${suffix}`;
69447
+ return `ur/${"1.30.5"}${suffix}`;
69447
69448
  }
69448
69449
  function getWebFetchUserAgent() {
69449
69450
  return `UR-User (${getURCodeUserAgent()})`;
@@ -69581,7 +69582,7 @@ var init_user = __esm(() => {
69581
69582
  deviceId,
69582
69583
  sessionId: getSessionId(),
69583
69584
  email: getEmail(),
69584
- appVersion: "1.30.4",
69585
+ appVersion: "1.30.5",
69585
69586
  platform: getHostPlatformForAnalytics(),
69586
69587
  organizationUuid,
69587
69588
  accountUuid,
@@ -76098,7 +76099,7 @@ var init_metadata = __esm(() => {
76098
76099
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
76099
76100
  WHITESPACE_REGEX = /\s+/;
76100
76101
  getVersionBase = memoize_default(() => {
76101
- const match = "1.30.4".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
76102
+ const match = "1.30.5".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
76102
76103
  return match ? match[0] : undefined;
76103
76104
  });
76104
76105
  buildEnvContext = memoize_default(async () => {
@@ -76138,7 +76139,7 @@ var init_metadata = __esm(() => {
76138
76139
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
76139
76140
  isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
76140
76141
  isURAiAuth: isURAISubscriber2(),
76141
- version: "1.30.4",
76142
+ version: "1.30.5",
76142
76143
  versionBase: getVersionBase(),
76143
76144
  buildTime: "",
76144
76145
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
@@ -76808,7 +76809,7 @@ function initialize1PEventLogging() {
76808
76809
  const platform2 = getPlatform();
76809
76810
  const attributes = {
76810
76811
  [import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
76811
- [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.30.4"
76812
+ [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.30.5"
76812
76813
  };
76813
76814
  if (platform2 === "wsl") {
76814
76815
  const wslVersion = getWslVersion();
@@ -76835,7 +76836,7 @@ function initialize1PEventLogging() {
76835
76836
  })
76836
76837
  ]
76837
76838
  });
76838
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.30.4");
76839
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.30.5");
76839
76840
  }
76840
76841
  async function reinitialize1PEventLoggingIfConfigChanged() {
76841
76842
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -82132,7 +82133,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
82132
82133
  function formatA2AAgentCard(options = {}, pretty = true) {
82133
82134
  return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
82134
82135
  }
82135
- var urVersion = "1.30.4", coverage, priorityRoadmap;
82136
+ var urVersion = "1.30.5", coverage, priorityRoadmap;
82136
82137
  var init_trends = __esm(() => {
82137
82138
  coverage = [
82138
82139
  {
@@ -84125,7 +84126,7 @@ function getAttributionHeader(fingerprint) {
84125
84126
  if (!isAttributionHeaderEnabled()) {
84126
84127
  return "";
84127
84128
  }
84128
- const version2 = `${"1.30.4"}.${fingerprint}`;
84129
+ const version2 = `${"1.30.5"}.${fingerprint}`;
84129
84130
  const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
84130
84131
  const cch = "";
84131
84132
  const workload = getWorkload();
@@ -191798,7 +191799,7 @@ function getTelemetryAttributes() {
191798
191799
  attributes["session.id"] = sessionId;
191799
191800
  }
191800
191801
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
191801
- attributes["app.version"] = "1.30.4";
191802
+ attributes["app.version"] = "1.30.5";
191802
191803
  }
191803
191804
  const oauthAccount = getOauthAccountInfo();
191804
191805
  if (oauthAccount) {
@@ -227203,7 +227204,7 @@ function getInstallationEnv() {
227203
227204
  return;
227204
227205
  }
227205
227206
  function getURCodeVersion() {
227206
- return "1.30.4";
227207
+ return "1.30.5";
227207
227208
  }
227208
227209
  async function getInstalledVSCodeExtensionVersion(command) {
227209
227210
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -230042,7 +230043,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
230042
230043
  const client2 = new Client({
230043
230044
  name: "ur",
230044
230045
  title: "UR",
230045
- version: "1.30.4",
230046
+ version: "1.30.5",
230046
230047
  description: "UR-AGENT autonomous engineering workflow engine",
230047
230048
  websiteUrl: PRODUCT_URL
230048
230049
  }, {
@@ -230396,7 +230397,7 @@ var init_client5 = __esm(() => {
230396
230397
  const client2 = new Client({
230397
230398
  name: "ur",
230398
230399
  title: "UR",
230399
- version: "1.30.4",
230400
+ version: "1.30.5",
230400
230401
  description: "UR-AGENT autonomous engineering workflow engine",
230401
230402
  websiteUrl: PRODUCT_URL
230402
230403
  }, {
@@ -240212,9 +240213,9 @@ async function assertMinVersion() {
240212
240213
  if (false) {}
240213
240214
  try {
240214
240215
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
240215
- if (versionConfig.minVersion && lt("1.30.4", versionConfig.minVersion)) {
240216
+ if (versionConfig.minVersion && lt("1.30.5", versionConfig.minVersion)) {
240216
240217
  console.error(`
240217
- It looks like your version of UR (${"1.30.4"}) needs an update.
240218
+ It looks like your version of UR (${"1.30.5"}) needs an update.
240218
240219
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
240219
240220
 
240220
240221
  To update, please run:
@@ -240430,7 +240431,7 @@ async function installGlobalPackage(specificVersion) {
240430
240431
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
240431
240432
  logEvent("tengu_auto_updater_lock_contention", {
240432
240433
  pid: process.pid,
240433
- currentVersion: "1.30.4"
240434
+ currentVersion: "1.30.5"
240434
240435
  });
240435
240436
  return "in_progress";
240436
240437
  }
@@ -240439,7 +240440,7 @@ async function installGlobalPackage(specificVersion) {
240439
240440
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
240440
240441
  logError2(new Error("Windows NPM detected in WSL environment"));
240441
240442
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
240442
- currentVersion: "1.30.4"
240443
+ currentVersion: "1.30.5"
240443
240444
  });
240444
240445
  console.error(`
240445
240446
  Error: Windows NPM detected in WSL
@@ -240974,7 +240975,7 @@ function detectLinuxGlobPatternWarnings() {
240974
240975
  }
240975
240976
  async function getDoctorDiagnostic() {
240976
240977
  const installationType = await getCurrentInstallationType();
240977
- const version2 = typeof MACRO !== "undefined" ? "1.30.4" : "unknown";
240978
+ const version2 = typeof MACRO !== "undefined" ? "1.30.5" : "unknown";
240978
240979
  const installationPath = await getInstallationPath();
240979
240980
  const invokedBinary = getInvokedBinary();
240980
240981
  const multipleInstallations = await detectMultipleInstallations();
@@ -241909,8 +241910,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
241909
241910
  const maxVersion = await getMaxVersion();
241910
241911
  if (maxVersion && gt(version2, maxVersion)) {
241911
241912
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
241912
- if (gte("1.30.4", maxVersion)) {
241913
- logForDebugging(`Native installer: current version ${"1.30.4"} is already at or above maxVersion ${maxVersion}, skipping update`);
241913
+ if (gte("1.30.5", maxVersion)) {
241914
+ logForDebugging(`Native installer: current version ${"1.30.5"} is already at or above maxVersion ${maxVersion}, skipping update`);
241914
241915
  logEvent("tengu_native_update_skipped_max_version", {
241915
241916
  latency_ms: Date.now() - startTime,
241916
241917
  max_version: maxVersion,
@@ -241921,7 +241922,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
241921
241922
  version2 = maxVersion;
241922
241923
  }
241923
241924
  }
241924
- if (!forceReinstall && version2 === "1.30.4" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
241925
+ if (!forceReinstall && version2 === "1.30.5" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
241925
241926
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
241926
241927
  logEvent("tengu_native_update_complete", {
241927
241928
  latency_ms: Date.now() - startTime,
@@ -338848,7 +338849,7 @@ function Feedback({
338848
338849
  platform: env2.platform,
338849
338850
  gitRepo: envInfo.isGit,
338850
338851
  terminal: env2.terminal,
338851
- version: "1.30.4",
338852
+ version: "1.30.5",
338852
338853
  transcript: normalizeMessagesForAPI(messages),
338853
338854
  errors: sanitizedErrors,
338854
338855
  lastApiRequest: getLastAPIRequest(),
@@ -339040,7 +339041,7 @@ function Feedback({
339040
339041
  ", ",
339041
339042
  env2.terminal,
339042
339043
  ", v",
339043
- "1.30.4"
339044
+ "1.30.5"
339044
339045
  ]
339045
339046
  }, undefined, true, undefined, this)
339046
339047
  ]
@@ -339146,7 +339147,7 @@ ${sanitizedDescription}
339146
339147
  ` + `**Environment Info**
339147
339148
  ` + `- Platform: ${env2.platform}
339148
339149
  ` + `- Terminal: ${env2.terminal}
339149
- ` + `- Version: ${"1.30.4"}
339150
+ ` + `- Version: ${"1.30.5"}
339150
339151
  ` + `- Feedback ID: ${feedbackId}
339151
339152
  ` + `
339152
339153
  **Errors**
@@ -342257,7 +342258,7 @@ function buildPrimarySection() {
342257
342258
  }, undefined, false, undefined, this);
342258
342259
  return [{
342259
342260
  label: "Version",
342260
- value: "1.30.4"
342261
+ value: "1.30.5"
342261
342262
  }, {
342262
342263
  label: "Session name",
342263
342264
  value: nameValue
@@ -345557,7 +345558,7 @@ function Config({
345557
345558
  }
345558
345559
  }, undefined, false, undefined, this)
345559
345560
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime177.jsxDEV(ChannelDowngradeDialog, {
345560
- currentVersion: "1.30.4",
345561
+ currentVersion: "1.30.5",
345561
345562
  onChoice: (choice) => {
345562
345563
  setShowSubmenu(null);
345563
345564
  setTabsHidden(false);
@@ -345569,7 +345570,7 @@ function Config({
345569
345570
  autoUpdatesChannel: "stable"
345570
345571
  };
345571
345572
  if (choice === "stay") {
345572
- newSettings.minimumVersion = "1.30.4";
345573
+ newSettings.minimumVersion = "1.30.5";
345573
345574
  }
345574
345575
  updateSettingsForSource("userSettings", newSettings);
345575
345576
  setSettingsData((prev_27) => ({
@@ -353639,7 +353640,7 @@ function HelpV2(t0) {
353639
353640
  let t6;
353640
353641
  if ($3[31] !== tabs) {
353641
353642
  t6 = /* @__PURE__ */ jsx_dev_runtime204.jsxDEV(Tabs, {
353642
- title: `UR v${"1.30.4"}`,
353643
+ title: `UR v${"1.30.5"}`,
353643
353644
  color: "professionalBlue",
353644
353645
  defaultTab: "general",
353645
353646
  children: tabs
@@ -354385,7 +354386,7 @@ function buildToolUseContext(tools, readFileStateCache) {
354385
354386
  async function handleInitialize(options2) {
354386
354387
  return {
354387
354388
  name: "ur-agent",
354388
- version: "1.30.4",
354389
+ version: "1.30.5",
354389
354390
  protocolVersion: "0.1.0",
354390
354391
  workspaceRoot: options2.cwd,
354391
354392
  capabilities: {
@@ -374509,7 +374510,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
374509
374510
  return [];
374510
374511
  }
374511
374512
  }
374512
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.30.4") {
374513
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.30.5") {
374513
374514
  if (process.env.USER_TYPE === "ant") {
374514
374515
  const changelog = "";
374515
374516
  if (changelog) {
@@ -374536,7 +374537,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.30.4")
374536
374537
  releaseNotes
374537
374538
  };
374538
374539
  }
374539
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.30.4") {
374540
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.30.5") {
374540
374541
  if (process.env.USER_TYPE === "ant") {
374541
374542
  const changelog = "";
374542
374543
  if (changelog) {
@@ -375706,7 +375707,7 @@ function getRecentActivitySync() {
375706
375707
  return cachedActivity;
375707
375708
  }
375708
375709
  function getLogoDisplayData() {
375709
- const version2 = process.env.DEMO_VERSION ?? "1.30.4";
375710
+ const version2 = process.env.DEMO_VERSION ?? "1.30.5";
375710
375711
  const serverUrl = getDirectConnectServerUrl();
375711
375712
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd2());
375712
375713
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -376495,7 +376496,7 @@ function LogoV2() {
376495
376496
  if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
376496
376497
  t2 = () => {
376497
376498
  const currentConfig = getGlobalConfig();
376498
- if (currentConfig.lastReleaseNotesSeen === "1.30.4") {
376499
+ if (currentConfig.lastReleaseNotesSeen === "1.30.5") {
376499
376500
  return;
376500
376501
  }
376501
376502
  saveGlobalConfig(_temp326);
@@ -377180,12 +377181,12 @@ function LogoV2() {
377180
377181
  return t41;
377181
377182
  }
377182
377183
  function _temp326(current) {
377183
- if (current.lastReleaseNotesSeen === "1.30.4") {
377184
+ if (current.lastReleaseNotesSeen === "1.30.5") {
377184
377185
  return current;
377185
377186
  }
377186
377187
  return {
377187
377188
  ...current,
377188
- lastReleaseNotesSeen: "1.30.4"
377189
+ lastReleaseNotesSeen: "1.30.5"
377189
377190
  };
377190
377191
  }
377191
377192
  function _temp243(s_0) {
@@ -592900,7 +592901,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
592900
592901
  smapsRollup,
592901
592902
  platform: process.platform,
592902
592903
  nodeVersion: process.version,
592903
- ccVersion: "1.30.4"
592904
+ ccVersion: "1.30.5"
592904
592905
  };
592905
592906
  }
592906
592907
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -593486,7 +593487,7 @@ var init_bridge_kick = __esm(() => {
593486
593487
  var call136 = async () => {
593487
593488
  return {
593488
593489
  type: "text",
593489
- value: "1.30.4"
593490
+ value: "1.30.5"
593490
593491
  };
593491
593492
  }, version2, version_default;
593492
593493
  var init_version = __esm(() => {
@@ -603439,7 +603440,7 @@ function generateHtmlReport(data, insights) {
603439
603440
  </html>`;
603440
603441
  }
603441
603442
  function buildExportData(data, insights, facets, remoteStats) {
603442
- const version3 = typeof MACRO !== "undefined" ? "1.30.4" : "unknown";
603443
+ const version3 = typeof MACRO !== "undefined" ? "1.30.5" : "unknown";
603443
603444
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
603444
603445
  const facets_summary = {
603445
603446
  total: facets.size,
@@ -607717,7 +607718,7 @@ var init_sessionStorage = __esm(() => {
607717
607718
  init_settings2();
607718
607719
  init_slowOperations();
607719
607720
  init_uuid();
607720
- VERSION5 = typeof MACRO !== "undefined" ? "1.30.4" : "unknown";
607721
+ VERSION5 = typeof MACRO !== "undefined" ? "1.30.5" : "unknown";
607721
607722
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
607722
607723
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
607723
607724
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -608922,7 +608923,7 @@ var init_filesystem = __esm(() => {
608922
608923
  });
608923
608924
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
608924
608925
  const nonce = randomBytes18(16).toString("hex");
608925
- return join200(getURTempDir(), "bundled-skills", "1.30.4", nonce);
608926
+ return join200(getURTempDir(), "bundled-skills", "1.30.5", nonce);
608926
608927
  });
608927
608928
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
608928
608929
  });
@@ -615219,7 +615220,7 @@ function computeFingerprint(messageText2, version3) {
615219
615220
  }
615220
615221
  function computeFingerprintFromMessages(messages) {
615221
615222
  const firstMessageText = extractFirstMessageText(messages);
615222
- return computeFingerprint(firstMessageText, "1.30.4");
615223
+ return computeFingerprint(firstMessageText, "1.30.5");
615223
615224
  }
615224
615225
  var FINGERPRINT_SALT = "59cf53e54c78";
615225
615226
  var init_fingerprint = () => {};
@@ -617086,7 +617087,7 @@ async function sideQuery(opts) {
617086
617087
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
617087
617088
  }
617088
617089
  const messageText2 = extractFirstUserMessageText(messages);
617089
- const fingerprint = computeFingerprint(messageText2, "1.30.4");
617090
+ const fingerprint = computeFingerprint(messageText2, "1.30.5");
617090
617091
  const attributionHeader = getAttributionHeader(fingerprint);
617091
617092
  const systemBlocks = [
617092
617093
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -621823,7 +621824,7 @@ function buildSystemInitMessage(inputs) {
621823
621824
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
621824
621825
  apiKeySource: getURHQApiKeyWithSource().source,
621825
621826
  betas: getSdkBetas(),
621826
- ur_version: "1.30.4",
621827
+ ur_version: "1.30.5",
621827
621828
  output_style: outputStyle2,
621828
621829
  agents: inputs.agents.map((agent) => agent.agentType),
621829
621830
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -636451,7 +636452,7 @@ var init_useVoiceEnabled = __esm(() => {
636451
636452
  function getSemverPart(version3) {
636452
636453
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
636453
636454
  }
636454
- function useUpdateNotification(updatedVersion, initialVersion = "1.30.4") {
636455
+ function useUpdateNotification(updatedVersion, initialVersion = "1.30.5") {
636455
636456
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react226.useState(() => getSemverPart(initialVersion));
636456
636457
  if (!updatedVersion) {
636457
636458
  return null;
@@ -636500,7 +636501,7 @@ function AutoUpdater({
636500
636501
  return;
636501
636502
  }
636502
636503
  if (false) {}
636503
- const currentVersion = "1.30.4";
636504
+ const currentVersion = "1.30.5";
636504
636505
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
636505
636506
  let latestVersion = await getLatestVersion(channel);
636506
636507
  const isDisabled = isAutoUpdaterDisabled();
@@ -636729,12 +636730,12 @@ function NativeAutoUpdater({
636729
636730
  logEvent("tengu_native_auto_updater_start", {});
636730
636731
  try {
636731
636732
  const maxVersion = await getMaxVersion();
636732
- if (maxVersion && gt("1.30.4", maxVersion)) {
636733
+ if (maxVersion && gt("1.30.5", maxVersion)) {
636733
636734
  const msg = await getMaxVersionMessage();
636734
636735
  setMaxVersionIssue(msg ?? "affects your version");
636735
636736
  }
636736
636737
  const result = await installLatest(channel);
636737
- const currentVersion = "1.30.4";
636738
+ const currentVersion = "1.30.5";
636738
636739
  const latencyMs = Date.now() - startTime;
636739
636740
  if (result.lockFailed) {
636740
636741
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -636871,17 +636872,17 @@ function PackageManagerAutoUpdater(t0) {
636871
636872
  const maxVersion = await getMaxVersion();
636872
636873
  if (maxVersion && latest && gt(latest, maxVersion)) {
636873
636874
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
636874
- if (gte("1.30.4", maxVersion)) {
636875
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.30.4"} is already at or above maxVersion ${maxVersion}, skipping update`);
636875
+ if (gte("1.30.5", maxVersion)) {
636876
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.30.5"} is already at or above maxVersion ${maxVersion}, skipping update`);
636876
636877
  setUpdateAvailable(false);
636877
636878
  return;
636878
636879
  }
636879
636880
  latest = maxVersion;
636880
636881
  }
636881
- const hasUpdate = latest && !gte("1.30.4", latest) && !shouldSkipVersion(latest);
636882
+ const hasUpdate = latest && !gte("1.30.5", latest) && !shouldSkipVersion(latest);
636882
636883
  setUpdateAvailable(!!hasUpdate);
636883
636884
  if (hasUpdate) {
636884
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.30.4"} -> ${latest}`);
636885
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.30.5"} -> ${latest}`);
636885
636886
  }
636886
636887
  };
636887
636888
  $3[0] = t1;
@@ -636915,7 +636916,7 @@ function PackageManagerAutoUpdater(t0) {
636915
636916
  wrap: "truncate",
636916
636917
  children: [
636917
636918
  "currentVersion: ",
636918
- "1.30.4"
636919
+ "1.30.5"
636919
636920
  ]
636920
636921
  }, undefined, true, undefined, this);
636921
636922
  $3[3] = verbose;
@@ -649251,7 +649252,6 @@ function statusBarShouldDisplay({
649251
649252
  function buildDefaultStatusBar({
649252
649253
  version: version3,
649253
649254
  providerLabel,
649254
- authMode,
649255
649255
  model,
649256
649256
  mode: mode2,
649257
649257
  branch: branch2,
@@ -649261,36 +649261,31 @@ function buildDefaultStatusBar({
649261
649261
  latestVersion,
649262
649262
  isCheckingUpdate
649263
649263
  }) {
649264
- const parts = [`UR-AGENT v${version3}`];
649264
+ const parts = [];
649265
649265
  if (providerLabel) {
649266
- parts.push(`Provider: ${providerLabel}`);
649267
- }
649268
- if (authMode) {
649269
- parts.push(`Auth: ${authMode}`);
649266
+ parts.push(providerLabel);
649270
649267
  }
649271
649268
  if (model) {
649272
- parts.push(`model: ${model}`);
649269
+ parts.push(model);
649273
649270
  }
649274
649271
  if (mode2) {
649275
- parts.push(`mode: ${mode2}`);
649272
+ parts.push(mode2);
649276
649273
  }
649277
649274
  if (branch2 && branch2 !== "HEAD") {
649278
- parts.push(`branch: ${branch2}`);
649275
+ parts.push(branch2);
649279
649276
  }
649280
649277
  if (taskTotalCount > 0) {
649281
649278
  parts.push(`tasks: ${taskRunningCount}/${taskTotalCount} running`);
649282
- } else {
649283
- parts.push("tasks: idle");
649284
649279
  }
649285
649280
  if (checksStatus) {
649286
- parts.push(`checks: ${checksStatus}`);
649281
+ parts.push(checksStatus);
649287
649282
  }
649288
649283
  if (isCheckingUpdate) {
649289
- parts.push("Update: checking");
649284
+ parts.push("update checking");
649290
649285
  } else if (isUpdateAvailable(version3, latestVersion)) {
649291
- parts.push(`Update: ${version3} -> ${latestVersion} available`);
649286
+ parts.push(`update ${latestVersion} available`);
649292
649287
  }
649293
- return parts.join(" | ");
649288
+ return parts.length > 0 ? parts.join(" | ") : "ready";
649294
649289
  }
649295
649290
  var init_statusBar = __esm(() => {
649296
649291
  init_updateNotice();
@@ -649372,7 +649367,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
649372
649367
  project_dir: getOriginalCwd(),
649373
649368
  added_dirs: addedDirs
649374
649369
  },
649375
- version: "1.30.4",
649370
+ version: "1.30.5",
649376
649371
  output_style: {
649377
649372
  name: outputStyleName
649378
649373
  },
@@ -649455,7 +649450,7 @@ function StatusLineInner({
649455
649450
  const taskValues = Object.values(tasks2);
649456
649451
  const taskRunningCount = taskValues.filter((task2) => task2.status === "running" || task2.status === "pending").length;
649457
649452
  const defaultStatusLineText = buildDefaultStatusBar({
649458
- version: "1.30.4",
649453
+ version: "1.30.5",
649459
649454
  providerLabel: providerRuntime.providerLabel,
649460
649455
  authMode: providerRuntime.authLabel,
649461
649456
  model: providerRuntime.model ?? renderModelName(mainLoopModel),
@@ -660943,7 +660938,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
660943
660938
  } catch {}
660944
660939
  const data = {
660945
660940
  trigger: trigger2,
660946
- version: "1.30.4",
660941
+ version: "1.30.5",
660947
660942
  platform: process.platform,
660948
660943
  transcript,
660949
660944
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -672827,7 +672822,7 @@ function WelcomeV2() {
672827
672822
  dimColor: true,
672828
672823
  children: [
672829
672824
  "v",
672830
- "1.30.4"
672825
+ "1.30.5"
672831
672826
  ]
672832
672827
  }, undefined, true, undefined, this)
672833
672828
  ]
@@ -674087,7 +674082,7 @@ function completeOnboarding() {
674087
674082
  saveGlobalConfig((current) => ({
674088
674083
  ...current,
674089
674084
  hasCompletedOnboarding: true,
674090
- lastOnboardingVersion: "1.30.4"
674085
+ lastOnboardingVersion: "1.30.5"
674091
674086
  }));
674092
674087
  }
674093
674088
  function showDialog(root2, renderer) {
@@ -679191,7 +679186,7 @@ function appendToLog(path24, message) {
679191
679186
  cwd: getFsImplementation().cwd(),
679192
679187
  userType: process.env.USER_TYPE,
679193
679188
  sessionId: getSessionId(),
679194
- version: "1.30.4"
679189
+ version: "1.30.5"
679195
679190
  };
679196
679191
  getLogWriter(path24).write(messageWithTimestamp);
679197
679192
  }
@@ -683285,8 +683280,8 @@ async function getEnvLessBridgeConfig() {
683285
683280
  }
683286
683281
  async function checkEnvLessBridgeMinVersion() {
683287
683282
  const cfg = await getEnvLessBridgeConfig();
683288
- if (cfg.min_version && lt("1.30.4", cfg.min_version)) {
683289
- return `Your version of UR (${"1.30.4"}) is too old for Remote Control.
683283
+ if (cfg.min_version && lt("1.30.5", cfg.min_version)) {
683284
+ return `Your version of UR (${"1.30.5"}) is too old for Remote Control.
683290
683285
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
683291
683286
  }
683292
683287
  return null;
@@ -683760,7 +683755,7 @@ async function initBridgeCore(params) {
683760
683755
  const rawApi = createBridgeApiClient({
683761
683756
  baseUrl,
683762
683757
  getAccessToken,
683763
- runnerVersion: "1.30.4",
683758
+ runnerVersion: "1.30.5",
683764
683759
  onDebug: logForDebugging,
683765
683760
  onAuth401,
683766
683761
  getTrustedDeviceToken
@@ -689442,7 +689437,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
689442
689437
  setCwd(cwd3);
689443
689438
  const server2 = new Server({
689444
689439
  name: "ur/tengu",
689445
- version: "1.30.4"
689440
+ version: "1.30.5"
689446
689441
  }, {
689447
689442
  capabilities: {
689448
689443
  tools: {}
@@ -691419,7 +691414,7 @@ async function update() {
691419
691414
  logEvent("tengu_update_check", {});
691420
691415
  const diagnostic = await getDoctorDiagnostic();
691421
691416
  const result = await checkUpgradeStatus({
691422
- currentVersion: "1.30.4",
691417
+ currentVersion: "1.30.5",
691423
691418
  packageName: UR_AGENT_PACKAGE_NAME,
691424
691419
  installationType: diagnostic.installationType,
691425
691420
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -692665,7 +692660,7 @@ ${customInstructions}` : customInstructions;
692665
692660
  }
692666
692661
  }
692667
692662
  logForDiagnosticsNoPII("info", "started", {
692668
- version: "1.30.4",
692663
+ version: "1.30.5",
692669
692664
  is_native_binary: isInBundledMode()
692670
692665
  });
692671
692666
  registerCleanup(async () => {
@@ -693451,7 +693446,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
693451
693446
  pendingHookMessages
693452
693447
  }, renderAndRun);
693453
693448
  }
693454
- }).version("1.30.4 (UR-AGENT)", "-v, --version", "Output the version number");
693449
+ }).version("1.30.5 (UR-AGENT)", "-v, --version", "Output the version number");
693455
693450
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
693456
693451
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
693457
693452
  if (canUserConfigureAdvisor()) {
@@ -694336,7 +694331,7 @@ if (false) {}
694336
694331
  async function main2() {
694337
694332
  const args = process.argv.slice(2);
694338
694333
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
694339
- console.log(`${"1.30.4"} (UR-AGENT)`);
694334
+ console.log(`${"1.30.5"} (UR-AGENT)`);
694340
694335
  return;
694341
694336
  }
694342
694337
  if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
@@ -82,7 +82,7 @@ ur upgrade
82
82
  | Addition | Surface | What it adds |
83
83
  | --- | --- | --- |
84
84
  | Legal multi-provider connectivity | `ur provider list\|status\|doctor`, `ur config set provider ...`, `ur auth chatgpt\|claude\|gemini\|antigravity` for bridge diagnostics | API-key providers and local/OpenAI-compatible runtimes are UR-native. Subscription CLIs are optional external app bridges blocked from normal runtime unless explicitly enabled. UR stores only safe non-secret preferences and never scrapes browser sessions, extracts OAuth tokens, reads hidden provider auth files, bypasses provider restrictions, or proxies consumer web sessions as APIs. |
85
- | Provider-aware status bar | Interactive bottom status bar, `src/components/StatusLine.tsx`, `src/utils/statusBar.ts` | Shows UR-AGENT version, active provider, auth mode, selected model, mode, git branch, task state, checks/build state when known, and update availability. Hidden in CI, dumb terminals, and non-interactive mode; custom status-line hooks still override it. |
85
+ | Provider-aware status bar | Interactive bottom status bar, `src/components/StatusLine.tsx`, `src/utils/statusBar.ts` | Shows only important runtime state: active provider, selected model, mode, git branch, active task state, checks/build state when known, and update availability. Hidden in CI, dumb terminals, and non-interactive mode; custom status-line hooks still override it. |
86
86
  | Clean update checks | `ur upgrade`, `ur update`, `src/cli/update.ts` | Detects development/source checkouts and prints a short pull-or-install message instead of attempting self-mutation. npm-installed builds compare the local version with `ur-agent` on npm and print update, latest, registry failure, and malformed-response states without stale planning text. |
87
87
  | Bundled IDE extension install | `extensions/vscode-ur-inline-diffs/`, `src/utils/ide.ts`, `ur ide diff` | Public VS Code install now packages the repo's bundled inline-diffs extension as a local VSIX instead of trying an unpublished marketplace ID. The extension remains local-only and reviews `.ur/ide/diffs` bundles from the current workspace. |
88
88
  | Professional clarification dialogs | `AskUserQuestion`, `src/tools/AskUserQuestionTool/AskUserQuestionTool.tsx` | Supports up to eight concrete options, infers labels from description-only option objects, accepts prompt aliases, rejects duplicate inferred labels, and is loaded without ToolSearch preloading so typed schemas are available before use. |
package/docs/USAGE.md CHANGED
@@ -249,7 +249,7 @@ Interactive sessions include a compact bottom status bar when stdout is a real
249
249
  terminal:
250
250
 
251
251
  ```text
252
- UR-AGENT v1.30.4 | Provider: Ollama | Auth: local | model: llama3 | mode: ask | branch: main | tasks: idle | Update: 1.30.3 -> 1.30.4 available
252
+ Ollama | llama3 | ask | main | update 1.30.5 available
253
253
  ```
254
254
 
255
255
  The bar is not rendered in non-interactive mode, CI, dumb terminals, or
package/docs/providers.md CHANGED
@@ -125,7 +125,6 @@ After selecting a model, the confirmation shows:
125
125
  → Step 1: Select provider
126
126
  Ollama · local · local-runtime · localhost reachable
127
127
  OpenAI API · api · OPENAI_API_KEY found
128
- Codex CLI · subscription · cli-login · external app bridge
129
128
 
130
129
  → Select: Ollama
131
130
 
@@ -318,7 +318,7 @@ const commands = [
318
318
  category: 'Models',
319
319
  aliases: ['providers'],
320
320
  summary: 'List, inspect, and diagnose legal model provider adapters without reading hidden credential files.',
321
- examples: ['ur provider list', 'ur provider status', 'ur provider doctor', 'ur provider doctor codex-cli', 'ur provider doctor ollama --json'],
321
+ examples: ['ur provider list', 'ur provider status', 'ur provider doctor', 'ur provider doctor ollama', 'ur provider doctor ollama --json'],
322
322
  },
323
323
  {
324
324
  name: 'repo-edit',
@@ -44,7 +44,7 @@
44
44
  <main id="content" class="content">
45
45
  <header class="topbar">
46
46
  <div>
47
- <p class="eyebrow">Version 1.30.4</p>
47
+ <p class="eyebrow">Version 1.30.5</p>
48
48
  <h1>UR-AGENT Documentation</h1>
49
49
  <p class="lead">A practical, tutorial-style reference for installing, configuring, automating, extending, and operating UR-AGENT.</p>
50
50
  </div>
@@ -159,8 +159,8 @@ ur config set provider.fallback ollama</code></pre>
159
159
  </article>
160
160
  <article>
161
161
  <h3>Status bar and updates</h3>
162
- <pre><code>UR-AGENT v1.30.4 | Provider: Ollama | Auth: local | model: llama3 | mode: ask | branch: main | tasks: idle | Update: 1.30.3 -&gt; 1.30.4 available</code></pre>
163
- <p>The interactive status bar shows provider, auth mode, model, branch, task state, checks status when known, and update availability. It is hidden in CI, dumb terminals, and non-interactive mode.</p>
162
+ <pre><code>Ollama | llama3 | ask | main | update 1.30.5 available</code></pre>
163
+ <p>The interactive status bar shows only important runtime state: provider, model, mode, branch, active tasks, checks status when known, and update availability. It is hidden in CI, dumb terminals, and non-interactive mode.</p>
164
164
  </article>
165
165
  </div>
166
166
  </section>
@@ -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.30.4",
5
+ "version": "1.30.5",
6
6
  "publisher": "ur-agent",
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.30.4",
3
+ "version": "1.30.5",
4
4
  "description": "UR-AGENT — autonomous engineering workflow engine (plan, execute, test, verify, document, benchmark, reproduce)",
5
5
  "type": "module",
6
6
  "packageManager": "bun@1.3.14",