ur-agent 1.43.0 → 1.43.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,16 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.43.1
4
+
5
+ - Artifacts page renders diffs VS Code-style: side-by-side/inline views with
6
+ syntax highlighting via diff2html (plain-text fallback when offline). New
7
+ live view `/diff` shows current working-tree changes without manual capture,
8
+ with a one-click "Capture as artifact" button (`POST /api/capture-diff`,
9
+ `GET /api/diff`).
10
+ - Tolerate empty-string parameter names in model tool calls: stripped before
11
+ validation instead of failing with `An unexpected parameter \`\` was
12
+ provided`.
13
+
3
14
  ## 1.43.0
4
15
 
5
16
  - Add `ur artifacts serve [--port 4180]`: a local web page for artifacts.
package/dist/cli.js CHANGED
@@ -71146,7 +71146,7 @@ var init_auth = __esm(() => {
71146
71146
 
71147
71147
  // src/utils/userAgent.ts
71148
71148
  function getURCodeUserAgent() {
71149
- return `ur/${"1.43.0"}`;
71149
+ return `ur/${"1.43.1"}`;
71150
71150
  }
71151
71151
 
71152
71152
  // src/utils/workloadContext.ts
@@ -71168,7 +71168,7 @@ function getUserAgent() {
71168
71168
  const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
71169
71169
  const workload = getWorkload();
71170
71170
  const workloadSuffix = workload ? `, workload/${workload}` : "";
71171
- return `ur-cli/${"1.43.0"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
71171
+ return `ur-cli/${"1.43.1"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
71172
71172
  }
71173
71173
  function getMCPUserAgent() {
71174
71174
  const parts = [];
@@ -71182,7 +71182,7 @@ function getMCPUserAgent() {
71182
71182
  parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
71183
71183
  }
71184
71184
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
71185
- return `ur/${"1.43.0"}${suffix}`;
71185
+ return `ur/${"1.43.1"}${suffix}`;
71186
71186
  }
71187
71187
  function getWebFetchUserAgent() {
71188
71188
  return `UR-User (${getURCodeUserAgent()})`;
@@ -71320,7 +71320,7 @@ var init_user = __esm(() => {
71320
71320
  deviceId,
71321
71321
  sessionId: getSessionId(),
71322
71322
  email: getEmail(),
71323
- appVersion: "1.43.0",
71323
+ appVersion: "1.43.1",
71324
71324
  platform: getHostPlatformForAnalytics(),
71325
71325
  organizationUuid,
71326
71326
  accountUuid,
@@ -77837,7 +77837,7 @@ var init_metadata = __esm(() => {
77837
77837
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
77838
77838
  WHITESPACE_REGEX = /\s+/;
77839
77839
  getVersionBase = memoize_default(() => {
77840
- const match = "1.43.0".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
77840
+ const match = "1.43.1".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
77841
77841
  return match ? match[0] : undefined;
77842
77842
  });
77843
77843
  buildEnvContext = memoize_default(async () => {
@@ -77877,7 +77877,7 @@ var init_metadata = __esm(() => {
77877
77877
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
77878
77878
  isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
77879
77879
  isURAiAuth: isURAISubscriber(),
77880
- version: "1.43.0",
77880
+ version: "1.43.1",
77881
77881
  versionBase: getVersionBase(),
77882
77882
  buildTime: "",
77883
77883
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
@@ -78547,7 +78547,7 @@ function initialize1PEventLogging() {
78547
78547
  const platform2 = getPlatform();
78548
78548
  const attributes = {
78549
78549
  [import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
78550
- [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.43.0"
78550
+ [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.43.1"
78551
78551
  };
78552
78552
  if (platform2 === "wsl") {
78553
78553
  const wslVersion = getWslVersion();
@@ -78574,7 +78574,7 @@ function initialize1PEventLogging() {
78574
78574
  })
78575
78575
  ]
78576
78576
  });
78577
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.43.0");
78577
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.43.1");
78578
78578
  }
78579
78579
  async function reinitialize1PEventLoggingIfConfigChanged() {
78580
78580
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -83873,7 +83873,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
83873
83873
  function formatA2AAgentCard(options = {}, pretty = true) {
83874
83874
  return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
83875
83875
  }
83876
- var urVersion = "1.43.0", coverage, priorityRoadmap;
83876
+ var urVersion = "1.43.1", coverage, priorityRoadmap;
83877
83877
  var init_trends = __esm(() => {
83878
83878
  coverage = [
83879
83879
  {
@@ -85868,7 +85868,7 @@ function getAttributionHeader(fingerprint) {
85868
85868
  if (!isAttributionHeaderEnabled()) {
85869
85869
  return "";
85870
85870
  }
85871
- const version2 = `${"1.43.0"}.${fingerprint}`;
85871
+ const version2 = `${"1.43.1"}.${fingerprint}`;
85872
85872
  const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
85873
85873
  const cch = "";
85874
85874
  const workload = getWorkload();
@@ -193771,7 +193771,7 @@ function getTelemetryAttributes() {
193771
193771
  attributes["session.id"] = sessionId;
193772
193772
  }
193773
193773
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
193774
- attributes["app.version"] = "1.43.0";
193774
+ attributes["app.version"] = "1.43.1";
193775
193775
  }
193776
193776
  const oauthAccount = getOauthAccountInfo();
193777
193777
  if (oauthAccount) {
@@ -229157,7 +229157,7 @@ function getInstallationEnv() {
229157
229157
  return;
229158
229158
  }
229159
229159
  function getURCodeVersion() {
229160
- return "1.43.0";
229160
+ return "1.43.1";
229161
229161
  }
229162
229162
  async function getInstalledVSCodeExtensionVersion(command) {
229163
229163
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -231996,7 +231996,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
231996
231996
  const client2 = new Client({
231997
231997
  name: "ur",
231998
231998
  title: "UR",
231999
- version: "1.43.0",
231999
+ version: "1.43.1",
232000
232000
  description: "UR-Nexus autonomous engineering workflow engine",
232001
232001
  websiteUrl: PRODUCT_URL
232002
232002
  }, {
@@ -232350,7 +232350,7 @@ var init_client5 = __esm(() => {
232350
232350
  const client2 = new Client({
232351
232351
  name: "ur",
232352
232352
  title: "UR",
232353
- version: "1.43.0",
232353
+ version: "1.43.1",
232354
232354
  description: "UR-Nexus autonomous engineering workflow engine",
232355
232355
  websiteUrl: PRODUCT_URL
232356
232356
  }, {
@@ -242164,9 +242164,9 @@ async function assertMinVersion() {
242164
242164
  if (false) {}
242165
242165
  try {
242166
242166
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
242167
- if (versionConfig.minVersion && lt("1.43.0", versionConfig.minVersion)) {
242167
+ if (versionConfig.minVersion && lt("1.43.1", versionConfig.minVersion)) {
242168
242168
  console.error(`
242169
- It looks like your version of UR (${"1.43.0"}) needs an update.
242169
+ It looks like your version of UR (${"1.43.1"}) needs an update.
242170
242170
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
242171
242171
 
242172
242172
  To update, please run:
@@ -242382,7 +242382,7 @@ async function installGlobalPackage(specificVersion) {
242382
242382
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
242383
242383
  logEvent("tengu_auto_updater_lock_contention", {
242384
242384
  pid: process.pid,
242385
- currentVersion: "1.43.0"
242385
+ currentVersion: "1.43.1"
242386
242386
  });
242387
242387
  return "in_progress";
242388
242388
  }
@@ -242391,7 +242391,7 @@ async function installGlobalPackage(specificVersion) {
242391
242391
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
242392
242392
  logError2(new Error("Windows NPM detected in WSL environment"));
242393
242393
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
242394
- currentVersion: "1.43.0"
242394
+ currentVersion: "1.43.1"
242395
242395
  });
242396
242396
  console.error(`
242397
242397
  Error: Windows NPM detected in WSL
@@ -242926,7 +242926,7 @@ function detectLinuxGlobPatternWarnings() {
242926
242926
  }
242927
242927
  async function getDoctorDiagnostic() {
242928
242928
  const installationType = await getCurrentInstallationType();
242929
- const version2 = typeof MACRO !== "undefined" ? "1.43.0" : "unknown";
242929
+ const version2 = typeof MACRO !== "undefined" ? "1.43.1" : "unknown";
242930
242930
  const installationPath = await getInstallationPath();
242931
242931
  const invokedBinary = getInvokedBinary();
242932
242932
  const multipleInstallations = await detectMultipleInstallations();
@@ -243861,8 +243861,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
243861
243861
  const maxVersion = await getMaxVersion();
243862
243862
  if (maxVersion && gt(version2, maxVersion)) {
243863
243863
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
243864
- if (gte("1.43.0", maxVersion)) {
243865
- logForDebugging(`Native installer: current version ${"1.43.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
243864
+ if (gte("1.43.1", maxVersion)) {
243865
+ logForDebugging(`Native installer: current version ${"1.43.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
243866
243866
  logEvent("tengu_native_update_skipped_max_version", {
243867
243867
  latency_ms: Date.now() - startTime,
243868
243868
  max_version: maxVersion,
@@ -243873,7 +243873,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
243873
243873
  version2 = maxVersion;
243874
243874
  }
243875
243875
  }
243876
- if (!forceReinstall && version2 === "1.43.0" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
243876
+ if (!forceReinstall && version2 === "1.43.1" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
243877
243877
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
243878
243878
  logEvent("tengu_native_update_complete", {
243879
243879
  latency_ms: Date.now() - startTime,
@@ -329888,6 +329888,17 @@ ${EXPLANATORY_FEATURE_PROMPT}`
329888
329888
  });
329889
329889
  });
329890
329890
 
329891
+ // src/utils/toolInputSanitize.ts
329892
+ function stripEmptyParameterNames(input) {
329893
+ if (typeof input !== "object" || input === null || Array.isArray(input)) {
329894
+ return { input, stripped: false };
329895
+ }
329896
+ if (!("" in input))
329897
+ return { input, stripped: false };
329898
+ const { "": _dropped, ...rest } = input;
329899
+ return { input: rest, stripped: true };
329900
+ }
329901
+
329891
329902
  // src/utils/messages.ts
329892
329903
  import { randomUUID as randomUUID32 } from "crypto";
329893
329904
  function getTeammateMailbox() {
@@ -331181,6 +331192,13 @@ function normalizeContentFromAPI(contentBlocks, tools, agentId) {
331181
331192
  } else {
331182
331193
  normalizedInput = contentBlock.input;
331183
331194
  }
331195
+ const sanitized = stripEmptyParameterNames(normalizedInput);
331196
+ if (sanitized.stripped) {
331197
+ normalizedInput = sanitized.input;
331198
+ logEvent("tengu_tool_input_empty_key_stripped", {
331199
+ toolName: sanitizeToolNameForAnalytics(contentBlock.name)
331200
+ });
331201
+ }
331184
331202
  if (typeof normalizedInput === "object" && normalizedInput !== null) {
331185
331203
  const tool = findToolByName(tools, contentBlock.name);
331186
331204
  if (tool) {
@@ -340844,7 +340862,7 @@ function Feedback({
340844
340862
  platform: env2.platform,
340845
340863
  gitRepo: envInfo.isGit,
340846
340864
  terminal: env2.terminal,
340847
- version: "1.43.0",
340865
+ version: "1.43.1",
340848
340866
  transcript: normalizeMessagesForAPI(messages),
340849
340867
  errors: sanitizedErrors,
340850
340868
  lastApiRequest: getLastAPIRequest(),
@@ -341036,7 +341054,7 @@ function Feedback({
341036
341054
  ", ",
341037
341055
  env2.terminal,
341038
341056
  ", v",
341039
- "1.43.0"
341057
+ "1.43.1"
341040
341058
  ]
341041
341059
  }, undefined, true, undefined, this)
341042
341060
  ]
@@ -341142,7 +341160,7 @@ ${sanitizedDescription}
341142
341160
  ` + `**Environment Info**
341143
341161
  ` + `- Platform: ${env2.platform}
341144
341162
  ` + `- Terminal: ${env2.terminal}
341145
- ` + `- Version: ${"1.43.0"}
341163
+ ` + `- Version: ${"1.43.1"}
341146
341164
  ` + `- Feedback ID: ${feedbackId}
341147
341165
  ` + `
341148
341166
  **Errors**
@@ -344253,7 +344271,7 @@ function buildPrimarySection() {
344253
344271
  }, undefined, false, undefined, this);
344254
344272
  return [{
344255
344273
  label: "Version",
344256
- value: "1.43.0"
344274
+ value: "1.43.1"
344257
344275
  }, {
344258
344276
  label: "Session name",
344259
344277
  value: nameValue
@@ -347554,7 +347572,7 @@ function Config({
347554
347572
  }
347555
347573
  }, undefined, false, undefined, this)
347556
347574
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime177.jsxDEV(ChannelDowngradeDialog, {
347557
- currentVersion: "1.43.0",
347575
+ currentVersion: "1.43.1",
347558
347576
  onChoice: (choice) => {
347559
347577
  setShowSubmenu(null);
347560
347578
  setTabsHidden(false);
@@ -347566,7 +347584,7 @@ function Config({
347566
347584
  autoUpdatesChannel: "stable"
347567
347585
  };
347568
347586
  if (choice === "stay") {
347569
- newSettings.minimumVersion = "1.43.0";
347587
+ newSettings.minimumVersion = "1.43.1";
347570
347588
  }
347571
347589
  updateSettingsForSource("userSettings", newSettings);
347572
347590
  setSettingsData((prev_27) => ({
@@ -355636,7 +355654,7 @@ function HelpV2(t0) {
355636
355654
  let t6;
355637
355655
  if ($3[31] !== tabs) {
355638
355656
  t6 = /* @__PURE__ */ jsx_dev_runtime204.jsxDEV(Tabs, {
355639
- title: `UR v${"1.43.0"}`,
355657
+ title: `UR v${"1.43.1"}`,
355640
355658
  color: "professionalBlue",
355641
355659
  defaultTab: "general",
355642
355660
  children: tabs
@@ -356382,7 +356400,7 @@ function buildToolUseContext(tools, readFileStateCache) {
356382
356400
  async function handleInitialize(options2) {
356383
356401
  return {
356384
356402
  name: "UR",
356385
- version: "1.43.0",
356403
+ version: "1.43.1",
356386
356404
  protocolVersion: "0.1.0",
356387
356405
  workspaceRoot: options2.cwd,
356388
356406
  capabilities: {
@@ -376524,7 +376542,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
376524
376542
  return [];
376525
376543
  }
376526
376544
  }
376527
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.43.0") {
376545
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.43.1") {
376528
376546
  if (process.env.USER_TYPE === "ant") {
376529
376547
  const changelog = "";
376530
376548
  if (changelog) {
@@ -376551,7 +376569,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.43.0")
376551
376569
  releaseNotes
376552
376570
  };
376553
376571
  }
376554
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.43.0") {
376572
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.43.1") {
376555
376573
  if (process.env.USER_TYPE === "ant") {
376556
376574
  const changelog = "";
376557
376575
  if (changelog) {
@@ -377730,7 +377748,7 @@ function getRecentActivitySync() {
377730
377748
  return cachedActivity;
377731
377749
  }
377732
377750
  function getLogoDisplayData() {
377733
- const version2 = process.env.DEMO_VERSION ?? "1.43.0";
377751
+ const version2 = process.env.DEMO_VERSION ?? "1.43.1";
377734
377752
  const serverUrl = getDirectConnectServerUrl();
377735
377753
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
377736
377754
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -378519,7 +378537,7 @@ function LogoV2() {
378519
378537
  if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
378520
378538
  t2 = () => {
378521
378539
  const currentConfig2 = getGlobalConfig();
378522
- if (currentConfig2.lastReleaseNotesSeen === "1.43.0") {
378540
+ if (currentConfig2.lastReleaseNotesSeen === "1.43.1") {
378523
378541
  return;
378524
378542
  }
378525
378543
  saveGlobalConfig(_temp326);
@@ -379204,12 +379222,12 @@ function LogoV2() {
379204
379222
  return t41;
379205
379223
  }
379206
379224
  function _temp326(current) {
379207
- if (current.lastReleaseNotesSeen === "1.43.0") {
379225
+ if (current.lastReleaseNotesSeen === "1.43.1") {
379208
379226
  return current;
379209
379227
  }
379210
379228
  return {
379211
379229
  ...current,
379212
- lastReleaseNotesSeen: "1.43.0"
379230
+ lastReleaseNotesSeen: "1.43.1"
379213
379231
  };
379214
379232
  }
379215
379233
  function _temp243(s_0) {
@@ -404532,15 +404550,19 @@ function deleteArtifact(cwd2, id) {
404532
404550
  saveManifest3(cwd2, manifest);
404533
404551
  return true;
404534
404552
  }
404535
- async function captureDiff2(cwd2, title = "Working tree diff", exec6 = defaultExec) {
404553
+ async function getWorkingDiff(cwd2, exec6 = defaultExec) {
404536
404554
  const diff3 = await exec6("git", ["diff", "HEAD"], cwd2);
404537
- if (!diff3.stdout.trim())
404555
+ return diff3.stdout;
404556
+ }
404557
+ async function captureDiff2(cwd2, title = "Working tree diff", exec6 = defaultExec) {
404558
+ const stdout = await getWorkingDiff(cwd2, exec6);
404559
+ if (!stdout.trim())
404538
404560
  return null;
404539
- const files = (diff3.stdout.match(/^\+\+\+ /gm) ?? []).length;
404561
+ const files = (stdout.match(/^\+\+\+ /gm) ?? []).length;
404540
404562
  return recordArtifact(cwd2, {
404541
404563
  kind: "diff",
404542
404564
  title,
404543
- body: diff3.stdout,
404565
+ body: stdout,
404544
404566
  summary: `${files} file(s) changed`
404545
404567
  });
404546
404568
  }
@@ -406938,16 +406960,16 @@ var init_context_pack2 = __esm(() => {
406938
406960
 
406939
406961
  // src/services/agents/artifactsServer.ts
406940
406962
  import { createServer as createServer5 } from "http";
406941
- function page(title, body) {
406963
+ function page(title, body, head = "") {
406942
406964
  return `<!doctype html>
406943
406965
  <html lang="en">
406944
406966
  <head>
406945
406967
  <meta charset="utf-8">
406946
406968
  <meta name="viewport" content="width=device-width, initial-scale=1">
406947
- <title>${escapeXmlAttr(title)}</title>
406969
+ <title>${escapeXmlAttr(title)}</title>${head}
406948
406970
  <style>
406949
406971
  :root { color-scheme: light dark; }
406950
- body { font-family: ui-sans-serif, system-ui, sans-serif; max-width: 880px; margin: 2rem auto; padding: 0 1rem; line-height: 1.5; }
406972
+ body { font-family: ui-sans-serif, system-ui, sans-serif; max-width: 1200px; margin: 2rem auto; padding: 0 1rem; line-height: 1.5; }
406951
406973
  a { color: #4078c0; text-decoration: none; }
406952
406974
  a:hover { text-decoration: underline; }
406953
406975
  table { border-collapse: collapse; width: 100%; }
@@ -406956,6 +406978,9 @@ function page(title, body) {
406956
406978
  .badge { padding: .1rem .5rem; border-radius: 999px; color: #fff; font-size: .8rem; }
406957
406979
  .meta { color: #888; font-size: .9rem; }
406958
406980
  .feedback { border-left: 3px solid #8884; padding-left: .8rem; margin: .5rem 0; }
406981
+ .btn { display: inline-block; padding: .35rem .9rem; border: 1px solid #8886; border-radius: 6px; background: #8881; cursor: pointer; font-size: .9rem; color: inherit; }
406982
+ .btn:hover { background: #8882; }
406983
+ .toolbar { margin: .8rem 0; display: flex; gap: .5rem; align-items: center; }
406959
406984
  </style>
406960
406985
  </head>
406961
406986
  <body>${body}</body>
@@ -406965,15 +406990,51 @@ function page(title, body) {
406965
406990
  function badge(status2) {
406966
406991
  return `<span class="badge" style="background:${STATUS_COLOR[status2]}">${status2}</span>`;
406967
406992
  }
406993
+ function jsString(value) {
406994
+ return JSON.stringify(value).replace(/</g, "\\u003c");
406995
+ }
406996
+ function isDiffArtifact(artifact) {
406997
+ return artifact.kind === "diff" || (artifact.file?.endsWith(".patch") ?? false);
406998
+ }
406999
+ function renderDiffBlock(diff3) {
407000
+ return `
407001
+ <div class="toolbar" id="diff-toggle" style="display:none">
407002
+ <button class="btn" onclick="__drawDiff('side-by-side')">Side by side</button>
407003
+ <button class="btn" onclick="__drawDiff('line-by-line')">Inline</button>
407004
+ </div>
407005
+ <div id="diff-view"></div>
407006
+ <pre id="diff-fallback">${escapeXmlAttr(diff3)}</pre>
407007
+ <script>
407008
+ (function () {
407009
+ var diff = ${jsString(diff3)};
407010
+ window.__drawDiff = function (fmt) {
407011
+ if (typeof Diff2HtmlUI === 'undefined' || !diff.trim()) return;
407012
+ var ui = new Diff2HtmlUI(document.getElementById('diff-view'), diff, {
407013
+ outputFormat: fmt,
407014
+ drawFileList: true,
407015
+ matching: 'lines',
407016
+ highlight: true,
407017
+ colorScheme: 'auto',
407018
+ });
407019
+ ui.draw();
407020
+ ui.highlightCode();
407021
+ document.getElementById('diff-fallback').style.display = 'none';
407022
+ document.getElementById('diff-toggle').style.display = 'flex';
407023
+ };
407024
+ window.__drawDiff('side-by-side');
407025
+ })();
407026
+ </script>`;
407027
+ }
406968
407028
  function renderArtifactList(artifacts) {
406969
407029
  const rows = artifacts.map((a2) => `<tr><td><a href="/artifacts/${escapeXmlAttr(a2.id)}">${escapeXmlAttr(a2.id)}</a></td>` + `<td>${escapeXmlAttr(a2.kind)}</td><td>${escapeXmlAttr(a2.title)}</td>` + `<td>${badge(a2.status)}</td><td>${escapeXmlAttr(a2.summary ?? "")}</td></tr>`).join(`
406970
407030
  `);
406971
407031
  const table = artifacts.length ? `<table><tr><th>ID</th><th>Kind</th><th>Title</th><th>Status</th><th>Summary</th></tr>${rows}</table>` : "<p>No artifacts yet. Capture one with <code>ur artifacts capture-diff</code> or <code>ur artifacts add ...</code>.</p>";
406972
- return page("Artifacts", `<h1>Artifacts</h1>${table}`);
407032
+ return page("Artifacts", `<h1>Artifacts</h1><p><a class="btn" href="/diff">Current working-tree changes</a></p>${table}`);
406973
407033
  }
406974
407034
  function renderArtifactPage(artifact, body) {
406975
407035
  const feedback2 = artifact.feedback.map((f) => `<div class="feedback"><span class="meta">${escapeXmlAttr(f.at)}</span><br>${escapeXmlAttr(f.text)}</div>`).join(`
406976
407036
  `);
407037
+ const diffView = body !== null && isDiffArtifact(artifact);
406977
407038
  const parts = [
406978
407039
  `<p><a href="/">&larr; all artifacts</a></p>`,
406979
407040
  `<h1>Artifact ${escapeXmlAttr(artifact.id)} <span class="meta">[${escapeXmlAttr(artifact.kind)}]</span> ${badge(artifact.status)}</h1>`,
@@ -406982,23 +407043,39 @@ function renderArtifactPage(artifact, body) {
406982
407043
  `<p class="meta">created ${escapeXmlAttr(artifact.createdAt)} \xB7 updated ${escapeXmlAttr(artifact.updatedAt)}${artifact.file ? ` \xB7 <a href="/artifacts/${escapeXmlAttr(artifact.id)}/raw">raw</a>` : ""}</p>`,
406983
407044
  artifact.links?.claims?.length ? `<p class="meta">claims: ${artifact.links.claims.map(escapeXmlAttr).join(", ")}</p>` : "",
406984
407045
  feedback2 ? `<h2>Feedback</h2>${feedback2}` : "",
406985
- body !== null ? `<h2>Content</h2><pre>${escapeXmlAttr(body)}</pre>` : ""
407046
+ body !== null ? `<h2>Content</h2>${diffView ? renderDiffBlock(body) : `<pre>${escapeXmlAttr(body)}</pre>`}` : ""
406986
407047
  ];
406987
407048
  return page(`Artifact ${artifact.id} \u2014 ${artifact.title}`, parts.filter(Boolean).join(`
406988
- `));
407049
+ `), diffView ? DIFF_VIEWER_HEAD : "");
407050
+ }
407051
+ function renderLiveDiffPage(diff3) {
407052
+ const hasDiff = diff3.trim().length > 0;
407053
+ const content = hasDiff ? `${renderDiffBlock(diff3)}
407054
+ <script>
407055
+ function __captureDiff() {
407056
+ fetch('/api/capture-diff', { method: 'POST' })
407057
+ .then(function (r) { return r.json() })
407058
+ .then(function (d) { if (d.id) location = '/artifacts/' + d.id; else alert(d.error || 'No changes to capture.') })
407059
+ .catch(function (e) { alert(String(e)) })
407060
+ }
407061
+ </script>` : "<p>No working-tree changes.</p>";
407062
+ const captureButton = hasDiff ? '<div class="toolbar"><button class="btn" onclick="__captureDiff()">Capture as artifact</button></div>' : "";
407063
+ return page("Working tree changes", `<p><a href="/">&larr; all artifacts</a></p><h1>Working tree changes</h1>${captureButton}${content}`, hasDiff ? DIFF_VIEWER_HEAD : "");
406989
407064
  }
406990
407065
  function notFound4(id) {
406991
407066
  return page("Artifact not found", `<h1>Artifact not found: ${escapeXmlAttr(id)}</h1><p><a href="/">&larr; all artifacts</a></p>`);
406992
407067
  }
406993
- function respond(res, status2, type, body) {
406994
- res.writeHead(status2, { "content-type": `${type}; charset=utf-8` });
406995
- res.end(body);
406996
- }
406997
- function handleArtifactsRequest(cwd2, url3) {
407068
+ async function handleArtifactsRequest(cwd2, url3, exec6) {
406998
407069
  const path22 = decodeURIComponent(new URL(url3, "http://localhost").pathname).replace(/\/+$/, "") || "/";
406999
407070
  if (path22 === "/" || path22 === "/artifacts") {
407000
407071
  return { status: 200, type: "text/html", body: renderArtifactList(listArtifacts(cwd2)) };
407001
407072
  }
407073
+ if (path22 === "/diff") {
407074
+ return { status: 200, type: "text/html", body: renderLiveDiffPage(await getWorkingDiff(cwd2, exec6)) };
407075
+ }
407076
+ if (path22 === "/api/diff") {
407077
+ return { status: 200, type: "text/plain", body: await getWorkingDiff(cwd2, exec6) };
407078
+ }
407002
407079
  if (path22 === "/api/artifacts") {
407003
407080
  return { status: 200, type: "application/json", body: JSON.stringify({ artifacts: listArtifacts(cwd2) }, null, 2) };
407004
407081
  }
@@ -407022,25 +407099,29 @@ function handleArtifactsRequest(cwd2, url3) {
407022
407099
  }
407023
407100
  return { status: 404, type: "text/html", body: notFound4(path22) };
407024
407101
  }
407102
+ async function handleArtifactsPost(cwd2, url3, exec6) {
407103
+ const path22 = new URL(url3, "http://localhost").pathname.replace(/\/+$/, "");
407104
+ if (path22 === "/api/capture-diff") {
407105
+ const artifact = await captureDiff2(cwd2, "Working tree diff", exec6);
407106
+ return artifact ? { status: 200, type: "application/json", body: JSON.stringify({ id: artifact.id }) } : { status: 200, type: "application/json", body: JSON.stringify({ error: "No working-tree changes to capture." }) };
407107
+ }
407108
+ return { status: 404, type: "application/json", body: JSON.stringify({ error: `Unknown endpoint: ${path22}` }) };
407109
+ }
407025
407110
  function activeArtifactsServer() {
407026
407111
  return active ? { port: active.port, url: `http://127.0.0.1:${active.port}` } : null;
407027
407112
  }
407028
- function startArtifactsServer(cwd2, port = 4180) {
407113
+ function startArtifactsServer(cwd2, port = 4180, exec6) {
407029
407114
  if (active) {
407030
407115
  return Promise.resolve({ port: active.port, url: `http://127.0.0.1:${active.port}`, alreadyRunning: true });
407031
407116
  }
407032
407117
  return new Promise((resolvePromise, reject2) => {
407033
407118
  const server2 = createServer5((req, res) => {
407034
- if (req.method !== "GET") {
407035
- respond(res, 405, "text/plain", "Method not allowed");
407036
- return;
407037
- }
407038
- try {
407039
- const r = handleArtifactsRequest(cwd2, req.url ?? "/");
407040
- respond(res, r.status, r.type, r.body);
407041
- } catch (error40) {
407042
- respond(res, 500, "text/plain", String(error40));
407043
- }
407119
+ const respond = (r) => {
407120
+ res.writeHead(r.status, { "content-type": `${r.type}; charset=utf-8` });
407121
+ res.end(r.body);
407122
+ };
407123
+ const handler = req.method === "GET" ? handleArtifactsRequest(cwd2, req.url ?? "/", exec6) : req.method === "POST" ? handleArtifactsPost(cwd2, req.url ?? "/", exec6) : Promise.resolve({ status: 405, type: "text/plain", body: "Method not allowed" });
407124
+ handler.then(respond).catch((error40) => respond({ status: 500, type: "text/plain", body: String(error40) }));
407044
407125
  });
407045
407126
  server2.once("error", reject2);
407046
407127
  server2.listen(port, "127.0.0.1", () => {
@@ -407059,7 +407140,10 @@ async function stopArtifactsServer() {
407059
407140
  await new Promise((resolvePromise) => server2.close(() => resolvePromise()));
407060
407141
  return true;
407061
407142
  }
407062
- var STATUS_COLOR, active = null;
407143
+ var STATUS_COLOR, DIFF_VIEWER_HEAD = `
407144
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/github.min.css">
407145
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/diff2html/bundles/css/diff2html.min.css">
407146
+ <script src="https://cdn.jsdelivr.net/npm/diff2html/bundles/js/diff2html-ui.min.js"></script>`, active = null;
407063
407147
  var init_artifactsServer = __esm(() => {
407064
407148
  init_artifacts();
407065
407149
  STATUS_COLOR = {
@@ -407174,7 +407258,7 @@ var KINDS, call84 = async (args) => {
407174
407258
  const { url: url3 } = await startArtifactsServer(cwd2, port);
407175
407259
  return {
407176
407260
  type: "text",
407177
- value: `Artifacts page: ${url3} \u2014 open ${url3}/artifacts/<id> for a single artifact. Stop with \`ur artifacts serve --stop\`.`
407261
+ value: `Artifacts page: ${url3} \u2014 open ${url3}/artifacts/<id> for a single artifact, ${url3}/diff for live working-tree changes (VS Code-style diff). Stop with \`ur artifacts serve --stop\`.`
407178
407262
  };
407179
407263
  } catch (error40) {
407180
407264
  return { type: "text", value: `Failed to start artifacts server on port ${port}: ${error40}` };
@@ -410992,7 +411076,7 @@ var init_code_index2 = __esm(() => {
410992
411076
 
410993
411077
  // node_modules/typescript/lib/typescript.js
410994
411078
  var require_typescript2 = __commonJS((exports, module) => {
410995
- var __dirname = "/sessions/friendly-inspiring-goldberg/mnt/UR-1.42.0/node_modules/typescript/lib", __filename = "/sessions/friendly-inspiring-goldberg/mnt/UR-1.42.0/node_modules/typescript/lib/typescript.js";
411079
+ var __dirname = "/sessions/friendly-inspiring-goldberg/mnt/UR-1.43.0/node_modules/typescript/lib", __filename = "/sessions/friendly-inspiring-goldberg/mnt/UR-1.43.0/node_modules/typescript/lib/typescript.js";
410996
411080
  /*! *****************************************************************************
410997
411081
  Copyright (c) Microsoft Corporation. All rights reserved.
410998
411082
  Licensed under the Apache License, Version 2.0 (the "License"); you may not use
@@ -596526,7 +596610,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
596526
596610
  smapsRollup,
596527
596611
  platform: process.platform,
596528
596612
  nodeVersion: process.version,
596529
- ccVersion: "1.43.0"
596613
+ ccVersion: "1.43.1"
596530
596614
  };
596531
596615
  }
596532
596616
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -597112,7 +597196,7 @@ var init_bridge_kick = __esm(() => {
597112
597196
  var call137 = async () => {
597113
597197
  return {
597114
597198
  type: "text",
597115
- value: "1.43.0"
597199
+ value: "1.43.1"
597116
597200
  };
597117
597201
  }, version2, version_default;
597118
597202
  var init_version = __esm(() => {
@@ -607205,7 +607289,7 @@ function generateHtmlReport(data, insights) {
607205
607289
  </html>`;
607206
607290
  }
607207
607291
  function buildExportData(data, insights, facets, remoteStats) {
607208
- const version3 = typeof MACRO !== "undefined" ? "1.43.0" : "unknown";
607292
+ const version3 = typeof MACRO !== "undefined" ? "1.43.1" : "unknown";
607209
607293
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
607210
607294
  const facets_summary = {
607211
607295
  total: facets.size,
@@ -611485,7 +611569,7 @@ var init_sessionStorage = __esm(() => {
611485
611569
  init_settings2();
611486
611570
  init_slowOperations();
611487
611571
  init_uuid();
611488
- VERSION5 = typeof MACRO !== "undefined" ? "1.43.0" : "unknown";
611572
+ VERSION5 = typeof MACRO !== "undefined" ? "1.43.1" : "unknown";
611489
611573
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
611490
611574
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
611491
611575
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -612690,7 +612774,7 @@ var init_filesystem = __esm(() => {
612690
612774
  });
612691
612775
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
612692
612776
  const nonce = randomBytes18(16).toString("hex");
612693
- return join202(getURTempDir(), "bundled-skills", "1.43.0", nonce);
612777
+ return join202(getURTempDir(), "bundled-skills", "1.43.1", nonce);
612694
612778
  });
612695
612779
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
612696
612780
  });
@@ -618979,7 +619063,7 @@ function computeFingerprint(messageText2, version3) {
618979
619063
  }
618980
619064
  function computeFingerprintFromMessages(messages) {
618981
619065
  const firstMessageText = extractFirstMessageText(messages);
618982
- return computeFingerprint(firstMessageText, "1.43.0");
619066
+ return computeFingerprint(firstMessageText, "1.43.1");
618983
619067
  }
618984
619068
  var FINGERPRINT_SALT = "59cf53e54c78";
618985
619069
  var init_fingerprint = () => {};
@@ -620853,7 +620937,7 @@ async function sideQuery(opts) {
620853
620937
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
620854
620938
  }
620855
620939
  const messageText2 = extractFirstUserMessageText(messages);
620856
- const fingerprint2 = computeFingerprint(messageText2, "1.43.0");
620940
+ const fingerprint2 = computeFingerprint(messageText2, "1.43.1");
620857
620941
  const attributionHeader = getAttributionHeader(fingerprint2);
620858
620942
  const systemBlocks = [
620859
620943
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -625590,7 +625674,7 @@ function buildSystemInitMessage(inputs) {
625590
625674
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
625591
625675
  apiKeySource: getURHQApiKeyWithSource().source,
625592
625676
  betas: getSdkBetas(),
625593
- ur_version: "1.43.0",
625677
+ ur_version: "1.43.1",
625594
625678
  output_style: outputStyle2,
625595
625679
  agents: inputs.agents.map((agent) => agent.agentType),
625596
625680
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -640218,7 +640302,7 @@ var init_useVoiceEnabled = __esm(() => {
640218
640302
  function getSemverPart(version3) {
640219
640303
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
640220
640304
  }
640221
- function useUpdateNotification(updatedVersion, initialVersion = "1.43.0") {
640305
+ function useUpdateNotification(updatedVersion, initialVersion = "1.43.1") {
640222
640306
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react226.useState(() => getSemverPart(initialVersion));
640223
640307
  if (!updatedVersion) {
640224
640308
  return null;
@@ -640267,7 +640351,7 @@ function AutoUpdater({
640267
640351
  return;
640268
640352
  }
640269
640353
  if (false) {}
640270
- const currentVersion = "1.43.0";
640354
+ const currentVersion = "1.43.1";
640271
640355
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
640272
640356
  let latestVersion = await getLatestVersion(channel);
640273
640357
  const isDisabled = isAutoUpdaterDisabled();
@@ -640496,12 +640580,12 @@ function NativeAutoUpdater({
640496
640580
  logEvent("tengu_native_auto_updater_start", {});
640497
640581
  try {
640498
640582
  const maxVersion = await getMaxVersion();
640499
- if (maxVersion && gt("1.43.0", maxVersion)) {
640583
+ if (maxVersion && gt("1.43.1", maxVersion)) {
640500
640584
  const msg = await getMaxVersionMessage();
640501
640585
  setMaxVersionIssue(msg ?? "affects your version");
640502
640586
  }
640503
640587
  const result = await installLatest(channel);
640504
- const currentVersion = "1.43.0";
640588
+ const currentVersion = "1.43.1";
640505
640589
  const latencyMs = Date.now() - startTime;
640506
640590
  if (result.lockFailed) {
640507
640591
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -640638,17 +640722,17 @@ function PackageManagerAutoUpdater(t0) {
640638
640722
  const maxVersion = await getMaxVersion();
640639
640723
  if (maxVersion && latest && gt(latest, maxVersion)) {
640640
640724
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
640641
- if (gte("1.43.0", maxVersion)) {
640642
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.43.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
640725
+ if (gte("1.43.1", maxVersion)) {
640726
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.43.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
640643
640727
  setUpdateAvailable(false);
640644
640728
  return;
640645
640729
  }
640646
640730
  latest = maxVersion;
640647
640731
  }
640648
- const hasUpdate = latest && !gte("1.43.0", latest) && !shouldSkipVersion(latest);
640732
+ const hasUpdate = latest && !gte("1.43.1", latest) && !shouldSkipVersion(latest);
640649
640733
  setUpdateAvailable(!!hasUpdate);
640650
640734
  if (hasUpdate) {
640651
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.43.0"} -> ${latest}`);
640735
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.43.1"} -> ${latest}`);
640652
640736
  }
640653
640737
  };
640654
640738
  $3[0] = t1;
@@ -640682,7 +640766,7 @@ function PackageManagerAutoUpdater(t0) {
640682
640766
  wrap: "truncate",
640683
640767
  children: [
640684
640768
  "currentVersion: ",
640685
- "1.43.0"
640769
+ "1.43.1"
640686
640770
  ]
640687
640771
  }, undefined, true, undefined, this);
640688
640772
  $3[3] = verbose;
@@ -653134,7 +653218,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
653134
653218
  project_dir: getOriginalCwd(),
653135
653219
  added_dirs: addedDirs
653136
653220
  },
653137
- version: "1.43.0",
653221
+ version: "1.43.1",
653138
653222
  output_style: {
653139
653223
  name: outputStyleName
653140
653224
  },
@@ -653217,7 +653301,7 @@ function StatusLineInner({
653217
653301
  const taskValues = Object.values(tasks2);
653218
653302
  const taskRunningCount = taskValues.filter((task2) => task2.status === "running" || task2.status === "pending").length;
653219
653303
  const defaultStatusLineText = buildDefaultStatusBar({
653220
- version: "1.43.0",
653304
+ version: "1.43.1",
653221
653305
  providerLabel: providerRuntime.providerLabel,
653222
653306
  authMode: providerRuntime.authLabel,
653223
653307
  model: providerRuntime.model ?? renderModelName(mainLoopModel),
@@ -664705,7 +664789,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
664705
664789
  } catch {}
664706
664790
  const data = {
664707
664791
  trigger: trigger2,
664708
- version: "1.43.0",
664792
+ version: "1.43.1",
664709
664793
  platform: process.platform,
664710
664794
  transcript,
664711
664795
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -676590,7 +676674,7 @@ function WelcomeV2() {
676590
676674
  dimColor: true,
676591
676675
  children: [
676592
676676
  "v",
676593
- "1.43.0"
676677
+ "1.43.1"
676594
676678
  ]
676595
676679
  }, undefined, true, undefined, this)
676596
676680
  ]
@@ -677850,7 +677934,7 @@ function completeOnboarding() {
677850
677934
  saveGlobalConfig((current) => ({
677851
677935
  ...current,
677852
677936
  hasCompletedOnboarding: true,
677853
- lastOnboardingVersion: "1.43.0"
677937
+ lastOnboardingVersion: "1.43.1"
677854
677938
  }));
677855
677939
  }
677856
677940
  function showDialog(root2, renderer) {
@@ -682887,7 +682971,7 @@ function appendToLog(path24, message) {
682887
682971
  cwd: getFsImplementation().cwd(),
682888
682972
  userType: process.env.USER_TYPE,
682889
682973
  sessionId: getSessionId(),
682890
- version: "1.43.0"
682974
+ version: "1.43.1"
682891
682975
  };
682892
682976
  getLogWriter(path24).write(messageWithTimestamp);
682893
682977
  }
@@ -686981,8 +687065,8 @@ async function getEnvLessBridgeConfig() {
686981
687065
  }
686982
687066
  async function checkEnvLessBridgeMinVersion() {
686983
687067
  const cfg = await getEnvLessBridgeConfig();
686984
- if (cfg.min_version && lt("1.43.0", cfg.min_version)) {
686985
- return `Your version of UR (${"1.43.0"}) is too old for Remote Control.
687068
+ if (cfg.min_version && lt("1.43.1", cfg.min_version)) {
687069
+ return `Your version of UR (${"1.43.1"}) is too old for Remote Control.
686986
687070
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
686987
687071
  }
686988
687072
  return null;
@@ -687456,7 +687540,7 @@ async function initBridgeCore(params) {
687456
687540
  const rawApi = createBridgeApiClient({
687457
687541
  baseUrl,
687458
687542
  getAccessToken,
687459
- runnerVersion: "1.43.0",
687543
+ runnerVersion: "1.43.1",
687460
687544
  onDebug: logForDebugging,
687461
687545
  onAuth401,
687462
687546
  getTrustedDeviceToken
@@ -693138,7 +693222,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
693138
693222
  setCwd(cwd3);
693139
693223
  const server2 = new Server({
693140
693224
  name: "ur/tengu",
693141
- version: "1.43.0"
693225
+ version: "1.43.1"
693142
693226
  }, {
693143
693227
  capabilities: {
693144
693228
  tools: {}
@@ -695180,7 +695264,7 @@ async function update() {
695180
695264
  logEvent("tengu_update_check", {});
695181
695265
  const diagnostic = await getDoctorDiagnostic();
695182
695266
  const result = await checkUpgradeStatus({
695183
- currentVersion: "1.43.0",
695267
+ currentVersion: "1.43.1",
695184
695268
  packageName: UR_AGENT_PACKAGE_NAME,
695185
695269
  installationType: diagnostic.installationType,
695186
695270
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -696426,7 +696510,7 @@ ${customInstructions}` : customInstructions;
696426
696510
  }
696427
696511
  }
696428
696512
  logForDiagnosticsNoPII("info", "started", {
696429
- version: "1.43.0",
696513
+ version: "1.43.1",
696430
696514
  is_native_binary: isInBundledMode()
696431
696515
  });
696432
696516
  registerCleanup(async () => {
@@ -697212,7 +697296,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
697212
697296
  pendingHookMessages
697213
697297
  }, renderAndRun);
697214
697298
  }
697215
- }).version("1.43.0 (UR-Nexus)", "-v, --version", "Output the version number");
697299
+ }).version("1.43.1 (UR-Nexus)", "-v, --version", "Output the version number");
697216
697300
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
697217
697301
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
697218
697302
  if (canUserConfigureAdvisor()) {
@@ -698127,7 +698211,7 @@ if (false) {}
698127
698211
  async function main2() {
698128
698212
  const args = process.argv.slice(2);
698129
698213
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
698130
- console.log(`${"1.43.0"} (UR-Nexus)`);
698214
+ console.log(`${"1.43.1"} (UR-Nexus)`);
698131
698215
  return;
698132
698216
  }
698133
698217
  if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
@@ -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.43.0</p>
47
+ <p class="eyebrow">Version 1.43.1</p>
48
48
  <h1>UR-Nexus Documentation</h1>
49
49
  <p class="lead">A practical, tutorial-style reference for installing, configuring, automating, extending, and operating UR-Nexus.</p>
50
50
  </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.43.0",
5
+ "version": "1.43.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.43.0",
3
+ "version": "1.43.1",
4
4
  "description": "UR-Nexus \u2014 autonomous engineering workflow engine (plan, execute, test, verify, document, benchmark, reproduce)",
5
5
  "type": "module",
6
6
  "packageManager": "bun@1.3.14",