ur-agent 1.30.2 → 1.30.3

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,12 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.30.3
4
+
5
+ - Fix Codex CLI dispatch for real interactive terminals by inheriting terminal
6
+ stdin for `codex exec`. Codex treats both `/dev/null` and closed pipes as
7
+ piped stdin, so the previous `1.30.2` EOF approach still triggered
8
+ `Reading additional input from stdin`.
9
+
3
10
  ## 1.30.2
4
11
 
5
12
  - Fix Codex subscription dispatch failing with `exited 1 ... Reading additional
package/README.md CHANGED
@@ -304,7 +304,7 @@ viewer mode.
304
304
  Example:
305
305
 
306
306
  ```text
307
- UR-AGENT v1.30.1 | Provider: Codex CLI | Auth: subscription | model: codex/gpt-5.5 | mode: ask | branch: main | tasks: idle
307
+ UR-AGENT v1.30.3 | Provider: Codex CLI | Auth: subscription | model: codex/gpt-5.5 | mode: ask | branch: main | tasks: idle
308
308
  ```
309
309
 
310
310
  The bar reflects the active in-session provider/model immediately after a
package/dist/cli.js CHANGED
@@ -56823,7 +56823,7 @@ function createURHQSubscriptionClient(providerId, options) {
56823
56823
  }
56824
56824
  const prompt = messagesToPrompt(params);
56825
56825
  const result = await run(options.commandPath, spec.args(model, prompt), {
56826
- input: spec.stdin === "close" ? "" : undefined,
56826
+ stdinMode: spec.stdinMode,
56827
56827
  signal: requestOptions?.signal,
56828
56828
  timeoutMs: options.timeoutMs ?? 120000
56829
56829
  });
@@ -56882,7 +56882,9 @@ function createURHQSubscriptionClient(providerId, options) {
56882
56882
  };
56883
56883
  return { beta: { messages: messagesAPI } };
56884
56884
  }
56885
- function getSubscriptionCliStdinMode(input) {
56885
+ function getSubscriptionCliStdinMode(input, mode) {
56886
+ if (mode)
56887
+ return mode;
56886
56888
  return input === undefined ? "ignore" : "pipe";
56887
56889
  }
56888
56890
  function cliModelName(model) {
@@ -57007,7 +57009,7 @@ function estimateTokens(text) {
57007
57009
  }
57008
57010
  var CLI_SPECS, defaultRunner = (command, args, options) => new Promise((resolve8, reject) => {
57009
57011
  const child = spawn3(command, args, {
57010
- stdio: [getSubscriptionCliStdinMode(options.input), "pipe", "pipe"],
57012
+ stdio: [getSubscriptionCliStdinMode(options.input, options.stdinMode), "pipe", "pipe"],
57011
57013
  signal: options.signal
57012
57014
  });
57013
57015
  let stdout = "";
@@ -57029,7 +57031,7 @@ var CLI_SPECS, defaultRunner = (command, args, options) => new Promise((resolve8
57029
57031
  clearTimeout(timer);
57030
57032
  resolve8({ code: code ?? 1, stdout, stderr });
57031
57033
  });
57032
- if (options.input !== undefined) {
57034
+ if (options.input !== undefined && child.stdin) {
57033
57035
  child.stdin?.write(options.input);
57034
57036
  child.stdin?.end();
57035
57037
  }
@@ -57037,7 +57039,7 @@ var CLI_SPECS, defaultRunner = (command, args, options) => new Promise((resolve8
57037
57039
  var init_urhqSubscription = __esm(() => {
57038
57040
  init_streamingAdapters();
57039
57041
  CLI_SPECS = {
57040
- "codex-cli": { args: (model, prompt) => ["exec", "--model", model, prompt], stdin: "close" },
57042
+ "codex-cli": { args: (model, prompt) => ["exec", "--model", model, prompt], stdinMode: "inherit" },
57041
57043
  "claude-code-cli": {
57042
57044
  args: (model, prompt) => ["-p", prompt, "--model", model, "--output-format", "json"]
57043
57045
  },
@@ -69310,7 +69312,7 @@ var init_auth = __esm(() => {
69310
69312
 
69311
69313
  // src/utils/userAgent.ts
69312
69314
  function getURCodeUserAgent() {
69313
- return `ur/${"1.30.2"}`;
69315
+ return `ur/${"1.30.3"}`;
69314
69316
  }
69315
69317
 
69316
69318
  // src/utils/workloadContext.ts
@@ -69332,7 +69334,7 @@ function getUserAgent() {
69332
69334
  const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
69333
69335
  const workload = getWorkload();
69334
69336
  const workloadSuffix = workload ? `, workload/${workload}` : "";
69335
- return `ur-cli/${"1.30.2"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
69337
+ return `ur-cli/${"1.30.3"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
69336
69338
  }
69337
69339
  function getMCPUserAgent() {
69338
69340
  const parts = [];
@@ -69346,7 +69348,7 @@ function getMCPUserAgent() {
69346
69348
  parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
69347
69349
  }
69348
69350
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
69349
- return `ur/${"1.30.2"}${suffix}`;
69351
+ return `ur/${"1.30.3"}${suffix}`;
69350
69352
  }
69351
69353
  function getWebFetchUserAgent() {
69352
69354
  return `UR-User (${getURCodeUserAgent()})`;
@@ -69484,7 +69486,7 @@ var init_user = __esm(() => {
69484
69486
  deviceId,
69485
69487
  sessionId: getSessionId(),
69486
69488
  email: getEmail(),
69487
- appVersion: "1.30.2",
69489
+ appVersion: "1.30.3",
69488
69490
  platform: getHostPlatformForAnalytics(),
69489
69491
  organizationUuid,
69490
69492
  accountUuid,
@@ -76001,7 +76003,7 @@ var init_metadata = __esm(() => {
76001
76003
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
76002
76004
  WHITESPACE_REGEX = /\s+/;
76003
76005
  getVersionBase = memoize_default(() => {
76004
- const match = "1.30.2".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
76006
+ const match = "1.30.3".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
76005
76007
  return match ? match[0] : undefined;
76006
76008
  });
76007
76009
  buildEnvContext = memoize_default(async () => {
@@ -76041,7 +76043,7 @@ var init_metadata = __esm(() => {
76041
76043
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
76042
76044
  isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
76043
76045
  isURAiAuth: isURAISubscriber2(),
76044
- version: "1.30.2",
76046
+ version: "1.30.3",
76045
76047
  versionBase: getVersionBase(),
76046
76048
  buildTime: "",
76047
76049
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
@@ -76711,7 +76713,7 @@ function initialize1PEventLogging() {
76711
76713
  const platform2 = getPlatform();
76712
76714
  const attributes = {
76713
76715
  [import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
76714
- [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.30.2"
76716
+ [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.30.3"
76715
76717
  };
76716
76718
  if (platform2 === "wsl") {
76717
76719
  const wslVersion = getWslVersion();
@@ -76738,7 +76740,7 @@ function initialize1PEventLogging() {
76738
76740
  })
76739
76741
  ]
76740
76742
  });
76741
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.30.2");
76743
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.30.3");
76742
76744
  }
76743
76745
  async function reinitialize1PEventLoggingIfConfigChanged() {
76744
76746
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -82035,7 +82037,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
82035
82037
  function formatA2AAgentCard(options = {}, pretty = true) {
82036
82038
  return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
82037
82039
  }
82038
- var urVersion = "1.30.2", coverage, priorityRoadmap;
82040
+ var urVersion = "1.30.3", coverage, priorityRoadmap;
82039
82041
  var init_trends = __esm(() => {
82040
82042
  coverage = [
82041
82043
  {
@@ -84028,7 +84030,7 @@ function getAttributionHeader(fingerprint) {
84028
84030
  if (!isAttributionHeaderEnabled()) {
84029
84031
  return "";
84030
84032
  }
84031
- const version2 = `${"1.30.2"}.${fingerprint}`;
84033
+ const version2 = `${"1.30.3"}.${fingerprint}`;
84032
84034
  const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
84033
84035
  const cch = "";
84034
84036
  const workload = getWorkload();
@@ -191701,7 +191703,7 @@ function getTelemetryAttributes() {
191701
191703
  attributes["session.id"] = sessionId;
191702
191704
  }
191703
191705
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
191704
- attributes["app.version"] = "1.30.2";
191706
+ attributes["app.version"] = "1.30.3";
191705
191707
  }
191706
191708
  const oauthAccount = getOauthAccountInfo();
191707
191709
  if (oauthAccount) {
@@ -227106,7 +227108,7 @@ function getInstallationEnv() {
227106
227108
  return;
227107
227109
  }
227108
227110
  function getURCodeVersion() {
227109
- return "1.30.2";
227111
+ return "1.30.3";
227110
227112
  }
227111
227113
  async function getInstalledVSCodeExtensionVersion(command) {
227112
227114
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -229945,7 +229947,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
229945
229947
  const client2 = new Client({
229946
229948
  name: "ur",
229947
229949
  title: "UR",
229948
- version: "1.30.2",
229950
+ version: "1.30.3",
229949
229951
  description: "UR-AGENT autonomous engineering workflow engine",
229950
229952
  websiteUrl: PRODUCT_URL
229951
229953
  }, {
@@ -230299,7 +230301,7 @@ var init_client5 = __esm(() => {
230299
230301
  const client2 = new Client({
230300
230302
  name: "ur",
230301
230303
  title: "UR",
230302
- version: "1.30.2",
230304
+ version: "1.30.3",
230303
230305
  description: "UR-AGENT autonomous engineering workflow engine",
230304
230306
  websiteUrl: PRODUCT_URL
230305
230307
  }, {
@@ -240115,9 +240117,9 @@ async function assertMinVersion() {
240115
240117
  if (false) {}
240116
240118
  try {
240117
240119
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
240118
- if (versionConfig.minVersion && lt("1.30.2", versionConfig.minVersion)) {
240120
+ if (versionConfig.minVersion && lt("1.30.3", versionConfig.minVersion)) {
240119
240121
  console.error(`
240120
- It looks like your version of UR (${"1.30.2"}) needs an update.
240122
+ It looks like your version of UR (${"1.30.3"}) needs an update.
240121
240123
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
240122
240124
 
240123
240125
  To update, please run:
@@ -240333,7 +240335,7 @@ async function installGlobalPackage(specificVersion) {
240333
240335
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
240334
240336
  logEvent("tengu_auto_updater_lock_contention", {
240335
240337
  pid: process.pid,
240336
- currentVersion: "1.30.2"
240338
+ currentVersion: "1.30.3"
240337
240339
  });
240338
240340
  return "in_progress";
240339
240341
  }
@@ -240342,7 +240344,7 @@ async function installGlobalPackage(specificVersion) {
240342
240344
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
240343
240345
  logError2(new Error("Windows NPM detected in WSL environment"));
240344
240346
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
240345
- currentVersion: "1.30.2"
240347
+ currentVersion: "1.30.3"
240346
240348
  });
240347
240349
  console.error(`
240348
240350
  Error: Windows NPM detected in WSL
@@ -240877,7 +240879,7 @@ function detectLinuxGlobPatternWarnings() {
240877
240879
  }
240878
240880
  async function getDoctorDiagnostic() {
240879
240881
  const installationType = await getCurrentInstallationType();
240880
- const version2 = typeof MACRO !== "undefined" ? "1.30.2" : "unknown";
240882
+ const version2 = typeof MACRO !== "undefined" ? "1.30.3" : "unknown";
240881
240883
  const installationPath = await getInstallationPath();
240882
240884
  const invokedBinary = getInvokedBinary();
240883
240885
  const multipleInstallations = await detectMultipleInstallations();
@@ -241812,8 +241814,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
241812
241814
  const maxVersion = await getMaxVersion();
241813
241815
  if (maxVersion && gt(version2, maxVersion)) {
241814
241816
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
241815
- if (gte("1.30.2", maxVersion)) {
241816
- logForDebugging(`Native installer: current version ${"1.30.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
241817
+ if (gte("1.30.3", maxVersion)) {
241818
+ logForDebugging(`Native installer: current version ${"1.30.3"} is already at or above maxVersion ${maxVersion}, skipping update`);
241817
241819
  logEvent("tengu_native_update_skipped_max_version", {
241818
241820
  latency_ms: Date.now() - startTime,
241819
241821
  max_version: maxVersion,
@@ -241824,7 +241826,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
241824
241826
  version2 = maxVersion;
241825
241827
  }
241826
241828
  }
241827
- if (!forceReinstall && version2 === "1.30.2" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
241829
+ if (!forceReinstall && version2 === "1.30.3" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
241828
241830
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
241829
241831
  logEvent("tengu_native_update_complete", {
241830
241832
  latency_ms: Date.now() - startTime,
@@ -338751,7 +338753,7 @@ function Feedback({
338751
338753
  platform: env2.platform,
338752
338754
  gitRepo: envInfo.isGit,
338753
338755
  terminal: env2.terminal,
338754
- version: "1.30.2",
338756
+ version: "1.30.3",
338755
338757
  transcript: normalizeMessagesForAPI(messages),
338756
338758
  errors: sanitizedErrors,
338757
338759
  lastApiRequest: getLastAPIRequest(),
@@ -338943,7 +338945,7 @@ function Feedback({
338943
338945
  ", ",
338944
338946
  env2.terminal,
338945
338947
  ", v",
338946
- "1.30.2"
338948
+ "1.30.3"
338947
338949
  ]
338948
338950
  }, undefined, true, undefined, this)
338949
338951
  ]
@@ -339049,7 +339051,7 @@ ${sanitizedDescription}
339049
339051
  ` + `**Environment Info**
339050
339052
  ` + `- Platform: ${env2.platform}
339051
339053
  ` + `- Terminal: ${env2.terminal}
339052
- ` + `- Version: ${"1.30.2"}
339054
+ ` + `- Version: ${"1.30.3"}
339053
339055
  ` + `- Feedback ID: ${feedbackId}
339054
339056
  ` + `
339055
339057
  **Errors**
@@ -342160,7 +342162,7 @@ function buildPrimarySection() {
342160
342162
  }, undefined, false, undefined, this);
342161
342163
  return [{
342162
342164
  label: "Version",
342163
- value: "1.30.2"
342165
+ value: "1.30.3"
342164
342166
  }, {
342165
342167
  label: "Session name",
342166
342168
  value: nameValue
@@ -345460,7 +345462,7 @@ function Config({
345460
345462
  }
345461
345463
  }, undefined, false, undefined, this)
345462
345464
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime177.jsxDEV(ChannelDowngradeDialog, {
345463
- currentVersion: "1.30.2",
345465
+ currentVersion: "1.30.3",
345464
345466
  onChoice: (choice) => {
345465
345467
  setShowSubmenu(null);
345466
345468
  setTabsHidden(false);
@@ -345472,7 +345474,7 @@ function Config({
345472
345474
  autoUpdatesChannel: "stable"
345473
345475
  };
345474
345476
  if (choice === "stay") {
345475
- newSettings.minimumVersion = "1.30.2";
345477
+ newSettings.minimumVersion = "1.30.3";
345476
345478
  }
345477
345479
  updateSettingsForSource("userSettings", newSettings);
345478
345480
  setSettingsData((prev_27) => ({
@@ -353542,7 +353544,7 @@ function HelpV2(t0) {
353542
353544
  let t6;
353543
353545
  if ($3[31] !== tabs) {
353544
353546
  t6 = /* @__PURE__ */ jsx_dev_runtime204.jsxDEV(Tabs, {
353545
- title: `UR v${"1.30.2"}`,
353547
+ title: `UR v${"1.30.3"}`,
353546
353548
  color: "professionalBlue",
353547
353549
  defaultTab: "general",
353548
353550
  children: tabs
@@ -354288,7 +354290,7 @@ function buildToolUseContext(tools, readFileStateCache) {
354288
354290
  async function handleInitialize(options2) {
354289
354291
  return {
354290
354292
  name: "ur-agent",
354291
- version: "1.30.2",
354293
+ version: "1.30.3",
354292
354294
  protocolVersion: "0.1.0",
354293
354295
  workspaceRoot: options2.cwd,
354294
354296
  capabilities: {
@@ -374412,7 +374414,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
374412
374414
  return [];
374413
374415
  }
374414
374416
  }
374415
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.30.2") {
374417
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.30.3") {
374416
374418
  if (process.env.USER_TYPE === "ant") {
374417
374419
  const changelog = "";
374418
374420
  if (changelog) {
@@ -374439,7 +374441,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.30.2")
374439
374441
  releaseNotes
374440
374442
  };
374441
374443
  }
374442
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.30.2") {
374444
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.30.3") {
374443
374445
  if (process.env.USER_TYPE === "ant") {
374444
374446
  const changelog = "";
374445
374447
  if (changelog) {
@@ -375609,7 +375611,7 @@ function getRecentActivitySync() {
375609
375611
  return cachedActivity;
375610
375612
  }
375611
375613
  function getLogoDisplayData() {
375612
- const version2 = process.env.DEMO_VERSION ?? "1.30.2";
375614
+ const version2 = process.env.DEMO_VERSION ?? "1.30.3";
375613
375615
  const serverUrl = getDirectConnectServerUrl();
375614
375616
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd2());
375615
375617
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -376398,7 +376400,7 @@ function LogoV2() {
376398
376400
  if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
376399
376401
  t2 = () => {
376400
376402
  const currentConfig = getGlobalConfig();
376401
- if (currentConfig.lastReleaseNotesSeen === "1.30.2") {
376403
+ if (currentConfig.lastReleaseNotesSeen === "1.30.3") {
376402
376404
  return;
376403
376405
  }
376404
376406
  saveGlobalConfig(_temp326);
@@ -377083,12 +377085,12 @@ function LogoV2() {
377083
377085
  return t41;
377084
377086
  }
377085
377087
  function _temp326(current) {
377086
- if (current.lastReleaseNotesSeen === "1.30.2") {
377088
+ if (current.lastReleaseNotesSeen === "1.30.3") {
377087
377089
  return current;
377088
377090
  }
377089
377091
  return {
377090
377092
  ...current,
377091
- lastReleaseNotesSeen: "1.30.2"
377093
+ lastReleaseNotesSeen: "1.30.3"
377092
377094
  };
377093
377095
  }
377094
377096
  function _temp243(s_0) {
@@ -407269,7 +407271,7 @@ var init_code_index2 = __esm(() => {
407269
407271
 
407270
407272
  // node_modules/typescript/lib/typescript.js
407271
407273
  var require_typescript2 = __commonJS((exports, module) => {
407272
- var __dirname = "/sessions/confident-pensive-edison/mnt/UR-1.19.0/node_modules/typescript/lib", __filename = "/sessions/confident-pensive-edison/mnt/UR-1.19.0/node_modules/typescript/lib/typescript.js";
407274
+ var __dirname = "/Users/maith/Desktop/ur3-dev/UR-1.19.0/node_modules/typescript/lib", __filename = "/Users/maith/Desktop/ur3-dev/UR-1.19.0/node_modules/typescript/lib/typescript.js";
407273
407275
  /*! *****************************************************************************
407274
407276
  Copyright (c) Microsoft Corporation. All rights reserved.
407275
407277
  Licensed under the Apache License, Version 2.0 (the "License"); you may not use
@@ -592803,7 +592805,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
592803
592805
  smapsRollup,
592804
592806
  platform: process.platform,
592805
592807
  nodeVersion: process.version,
592806
- ccVersion: "1.30.2"
592808
+ ccVersion: "1.30.3"
592807
592809
  };
592808
592810
  }
592809
592811
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -593389,7 +593391,7 @@ var init_bridge_kick = __esm(() => {
593389
593391
  var call136 = async () => {
593390
593392
  return {
593391
593393
  type: "text",
593392
- value: "1.30.2"
593394
+ value: "1.30.3"
593393
593395
  };
593394
593396
  }, version2, version_default;
593395
593397
  var init_version = __esm(() => {
@@ -603306,7 +603308,7 @@ function generateHtmlReport(data, insights) {
603306
603308
  </html>`;
603307
603309
  }
603308
603310
  function buildExportData(data, insights, facets, remoteStats) {
603309
- const version3 = typeof MACRO !== "undefined" ? "1.30.2" : "unknown";
603311
+ const version3 = typeof MACRO !== "undefined" ? "1.30.3" : "unknown";
603310
603312
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
603311
603313
  const facets_summary = {
603312
603314
  total: facets.size,
@@ -607584,7 +607586,7 @@ var init_sessionStorage = __esm(() => {
607584
607586
  init_settings2();
607585
607587
  init_slowOperations();
607586
607588
  init_uuid();
607587
- VERSION5 = typeof MACRO !== "undefined" ? "1.30.2" : "unknown";
607589
+ VERSION5 = typeof MACRO !== "undefined" ? "1.30.3" : "unknown";
607588
607590
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
607589
607591
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
607590
607592
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -608789,7 +608791,7 @@ var init_filesystem = __esm(() => {
608789
608791
  });
608790
608792
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
608791
608793
  const nonce = randomBytes18(16).toString("hex");
608792
- return join200(getURTempDir(), "bundled-skills", "1.30.2", nonce);
608794
+ return join200(getURTempDir(), "bundled-skills", "1.30.3", nonce);
608793
608795
  });
608794
608796
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
608795
608797
  });
@@ -615086,7 +615088,7 @@ function computeFingerprint(messageText2, version3) {
615086
615088
  }
615087
615089
  function computeFingerprintFromMessages(messages) {
615088
615090
  const firstMessageText = extractFirstMessageText(messages);
615089
- return computeFingerprint(firstMessageText, "1.30.2");
615091
+ return computeFingerprint(firstMessageText, "1.30.3");
615090
615092
  }
615091
615093
  var FINGERPRINT_SALT = "59cf53e54c78";
615092
615094
  var init_fingerprint = () => {};
@@ -616953,7 +616955,7 @@ async function sideQuery(opts) {
616953
616955
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
616954
616956
  }
616955
616957
  const messageText2 = extractFirstUserMessageText(messages);
616956
- const fingerprint = computeFingerprint(messageText2, "1.30.2");
616958
+ const fingerprint = computeFingerprint(messageText2, "1.30.3");
616957
616959
  const attributionHeader = getAttributionHeader(fingerprint);
616958
616960
  const systemBlocks = [
616959
616961
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -621690,7 +621692,7 @@ function buildSystemInitMessage(inputs) {
621690
621692
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
621691
621693
  apiKeySource: getURHQApiKeyWithSource().source,
621692
621694
  betas: getSdkBetas(),
621693
- ur_version: "1.30.2",
621695
+ ur_version: "1.30.3",
621694
621696
  output_style: outputStyle2,
621695
621697
  agents: inputs.agents.map((agent) => agent.agentType),
621696
621698
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -636318,7 +636320,7 @@ var init_useVoiceEnabled = __esm(() => {
636318
636320
  function getSemverPart(version3) {
636319
636321
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
636320
636322
  }
636321
- function useUpdateNotification(updatedVersion, initialVersion = "1.30.2") {
636323
+ function useUpdateNotification(updatedVersion, initialVersion = "1.30.3") {
636322
636324
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react226.useState(() => getSemverPart(initialVersion));
636323
636325
  if (!updatedVersion) {
636324
636326
  return null;
@@ -636367,7 +636369,7 @@ function AutoUpdater({
636367
636369
  return;
636368
636370
  }
636369
636371
  if (false) {}
636370
- const currentVersion = "1.30.2";
636372
+ const currentVersion = "1.30.3";
636371
636373
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
636372
636374
  let latestVersion = await getLatestVersion(channel);
636373
636375
  const isDisabled = isAutoUpdaterDisabled();
@@ -636596,12 +636598,12 @@ function NativeAutoUpdater({
636596
636598
  logEvent("tengu_native_auto_updater_start", {});
636597
636599
  try {
636598
636600
  const maxVersion = await getMaxVersion();
636599
- if (maxVersion && gt("1.30.2", maxVersion)) {
636601
+ if (maxVersion && gt("1.30.3", maxVersion)) {
636600
636602
  const msg = await getMaxVersionMessage();
636601
636603
  setMaxVersionIssue(msg ?? "affects your version");
636602
636604
  }
636603
636605
  const result = await installLatest(channel);
636604
- const currentVersion = "1.30.2";
636606
+ const currentVersion = "1.30.3";
636605
636607
  const latencyMs = Date.now() - startTime;
636606
636608
  if (result.lockFailed) {
636607
636609
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -636738,17 +636740,17 @@ function PackageManagerAutoUpdater(t0) {
636738
636740
  const maxVersion = await getMaxVersion();
636739
636741
  if (maxVersion && latest && gt(latest, maxVersion)) {
636740
636742
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
636741
- if (gte("1.30.2", maxVersion)) {
636742
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.30.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
636743
+ if (gte("1.30.3", maxVersion)) {
636744
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.30.3"} is already at or above maxVersion ${maxVersion}, skipping update`);
636743
636745
  setUpdateAvailable(false);
636744
636746
  return;
636745
636747
  }
636746
636748
  latest = maxVersion;
636747
636749
  }
636748
- const hasUpdate = latest && !gte("1.30.2", latest) && !shouldSkipVersion(latest);
636750
+ const hasUpdate = latest && !gte("1.30.3", latest) && !shouldSkipVersion(latest);
636749
636751
  setUpdateAvailable(!!hasUpdate);
636750
636752
  if (hasUpdate) {
636751
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.30.2"} -> ${latest}`);
636753
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.30.3"} -> ${latest}`);
636752
636754
  }
636753
636755
  };
636754
636756
  $3[0] = t1;
@@ -636782,7 +636784,7 @@ function PackageManagerAutoUpdater(t0) {
636782
636784
  wrap: "truncate",
636783
636785
  children: [
636784
636786
  "currentVersion: ",
636785
- "1.30.2"
636787
+ "1.30.3"
636786
636788
  ]
636787
636789
  }, undefined, true, undefined, this);
636788
636790
  $3[3] = verbose;
@@ -649239,7 +649241,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
649239
649241
  project_dir: getOriginalCwd(),
649240
649242
  added_dirs: addedDirs
649241
649243
  },
649242
- version: "1.30.2",
649244
+ version: "1.30.3",
649243
649245
  output_style: {
649244
649246
  name: outputStyleName
649245
649247
  },
@@ -649322,7 +649324,7 @@ function StatusLineInner({
649322
649324
  const taskValues = Object.values(tasks2);
649323
649325
  const taskRunningCount = taskValues.filter((task2) => task2.status === "running" || task2.status === "pending").length;
649324
649326
  const defaultStatusLineText = buildDefaultStatusBar({
649325
- version: "1.30.2",
649327
+ version: "1.30.3",
649326
649328
  providerLabel: providerRuntime.providerLabel,
649327
649329
  authMode: providerRuntime.authLabel,
649328
649330
  model: providerRuntime.model ?? renderModelName(mainLoopModel),
@@ -660810,7 +660812,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
660810
660812
  } catch {}
660811
660813
  const data = {
660812
660814
  trigger: trigger2,
660813
- version: "1.30.2",
660815
+ version: "1.30.3",
660814
660816
  platform: process.platform,
660815
660817
  transcript,
660816
660818
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -672694,7 +672696,7 @@ function WelcomeV2() {
672694
672696
  dimColor: true,
672695
672697
  children: [
672696
672698
  "v",
672697
- "1.30.2"
672699
+ "1.30.3"
672698
672700
  ]
672699
672701
  }, undefined, true, undefined, this)
672700
672702
  ]
@@ -673954,7 +673956,7 @@ function completeOnboarding() {
673954
673956
  saveGlobalConfig((current) => ({
673955
673957
  ...current,
673956
673958
  hasCompletedOnboarding: true,
673957
- lastOnboardingVersion: "1.30.2"
673959
+ lastOnboardingVersion: "1.30.3"
673958
673960
  }));
673959
673961
  }
673960
673962
  function showDialog(root2, renderer) {
@@ -679058,7 +679060,7 @@ function appendToLog(path24, message) {
679058
679060
  cwd: getFsImplementation().cwd(),
679059
679061
  userType: process.env.USER_TYPE,
679060
679062
  sessionId: getSessionId(),
679061
- version: "1.30.2"
679063
+ version: "1.30.3"
679062
679064
  };
679063
679065
  getLogWriter(path24).write(messageWithTimestamp);
679064
679066
  }
@@ -683152,8 +683154,8 @@ async function getEnvLessBridgeConfig() {
683152
683154
  }
683153
683155
  async function checkEnvLessBridgeMinVersion() {
683154
683156
  const cfg = await getEnvLessBridgeConfig();
683155
- if (cfg.min_version && lt("1.30.2", cfg.min_version)) {
683156
- return `Your version of UR (${"1.30.2"}) is too old for Remote Control.
683157
+ if (cfg.min_version && lt("1.30.3", cfg.min_version)) {
683158
+ return `Your version of UR (${"1.30.3"}) is too old for Remote Control.
683157
683159
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
683158
683160
  }
683159
683161
  return null;
@@ -683627,7 +683629,7 @@ async function initBridgeCore(params) {
683627
683629
  const rawApi = createBridgeApiClient({
683628
683630
  baseUrl,
683629
683631
  getAccessToken,
683630
- runnerVersion: "1.30.2",
683632
+ runnerVersion: "1.30.3",
683631
683633
  onDebug: logForDebugging,
683632
683634
  onAuth401,
683633
683635
  getTrustedDeviceToken
@@ -689309,7 +689311,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
689309
689311
  setCwd(cwd3);
689310
689312
  const server2 = new Server({
689311
689313
  name: "ur/tengu",
689312
- version: "1.30.2"
689314
+ version: "1.30.3"
689313
689315
  }, {
689314
689316
  capabilities: {
689315
689317
  tools: {}
@@ -691286,7 +691288,7 @@ async function update() {
691286
691288
  logEvent("tengu_update_check", {});
691287
691289
  const diagnostic = await getDoctorDiagnostic();
691288
691290
  const result = await checkUpgradeStatus({
691289
- currentVersion: "1.30.2",
691291
+ currentVersion: "1.30.3",
691290
691292
  packageName: UR_AGENT_PACKAGE_NAME,
691291
691293
  installationType: diagnostic.installationType,
691292
691294
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -692532,7 +692534,7 @@ ${customInstructions}` : customInstructions;
692532
692534
  }
692533
692535
  }
692534
692536
  logForDiagnosticsNoPII("info", "started", {
692535
- version: "1.30.2",
692537
+ version: "1.30.3",
692536
692538
  is_native_binary: isInBundledMode()
692537
692539
  });
692538
692540
  registerCleanup(async () => {
@@ -693318,7 +693320,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
693318
693320
  pendingHookMessages
693319
693321
  }, renderAndRun);
693320
693322
  }
693321
- }).version("1.30.2 (UR-AGENT)", "-v, --version", "Output the version number");
693323
+ }).version("1.30.3 (UR-AGENT)", "-v, --version", "Output the version number");
693322
693324
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
693323
693325
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
693324
693326
  if (canUserConfigureAdvisor()) {
@@ -694203,7 +694205,7 @@ if (false) {}
694203
694205
  async function main2() {
694204
694206
  const args = process.argv.slice(2);
694205
694207
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
694206
- console.log(`${"1.30.2"} (UR-AGENT)`);
694208
+ console.log(`${"1.30.3"} (UR-AGENT)`);
694207
694209
  return;
694208
694210
  }
694209
694211
  if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
package/docs/USAGE.md CHANGED
@@ -246,7 +246,7 @@ Interactive sessions include a compact bottom status bar when stdout is a real
246
246
  terminal:
247
247
 
248
248
  ```text
249
- UR-AGENT v1.30.1 | Provider: Codex CLI | Auth: subscription | model: codex/gpt-5.5 | mode: ask | branch: main | tasks: idle | Update: 1.30.0 -> 1.30.1 available
249
+ UR-AGENT v1.30.3 | Provider: Codex CLI | Auth: subscription | model: codex/gpt-5.5 | mode: ask | branch: main | tasks: idle | Update: 1.30.2 -> 1.30.3 available
250
250
  ```
251
251
 
252
252
  The bar is not rendered in non-interactive mode, CI, dumb terminals, or
@@ -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.1</p>
47
+ <p class="eyebrow">Version 1.30.3</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,7 +159,7 @@ 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.1 | Provider: Codex CLI | Auth: subscription | model: codex/gpt-5.5 | mode: ask | branch: main | tasks: idle | Update: 1.30.0 -&gt; 1.30.1 available</code></pre>
162
+ <pre><code>UR-AGENT v1.30.3 | Provider: Codex CLI | Auth: subscription | model: codex/gpt-5.5 | mode: ask | branch: main | tasks: idle | Update: 1.30.2 -&gt; 1.30.3 available</code></pre>
163
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>
164
164
  </article>
165
165
  </div>
@@ -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.1",
5
+ "version": "1.30.3",
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.2",
3
+ "version": "1.30.3",
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",