ur-agent 1.44.0 → 1.44.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.
Files changed (3) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/cli.js +112 -82
  3. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.44.1
4
+
5
+ - Fix task board rendering: finished, failed, and skipped tasks now render as
6
+ checked instead of unchecked.
7
+ - Deduplicate consecutive task board emissions and keep final boards clean
8
+ (single header, single progress summary).
9
+
3
10
  ## 1.44.0
4
11
 
5
12
  - Add `verifier.askBeforeGates` setting (default `false`). When enabled, UR asks
package/dist/cli.js CHANGED
@@ -51805,7 +51805,7 @@ function isProviderRuntimeSelectable(providerId, env4 = process.env) {
51805
51805
  return getProviderRuntimeBlockReason(providerId, env4) === null;
51806
51806
  }
51807
51807
  function listProviders(_options = {}) {
51808
- return PROVIDER_IDS.map((id) => PROVIDERS[id]).filter((provider) => provider.id !== "subscription");
51808
+ return PROVIDER_IDS.map((id) => PROVIDERS[id]).filter((provider) => provider.id !== "subscription" && !provider.disabled);
51809
51809
  }
51810
51810
  function hasSecretLikeValue(value) {
51811
51811
  const trimmed = value.trim();
@@ -53025,7 +53025,8 @@ var init_providerRegistry = __esm(() => {
53025
53025
  versionArgs: ["--version"],
53026
53026
  statusArgs: ["login", "status"],
53027
53027
  loginArgs: ["login"],
53028
- deviceLoginArgs: ["login", "--device-auth"]
53028
+ deviceLoginArgs: ["login", "--device-auth"],
53029
+ disabled: true
53029
53030
  },
53030
53031
  "claude-code-cli": {
53031
53032
  id: "claude-code-cli",
@@ -53045,7 +53046,8 @@ var init_providerRegistry = __esm(() => {
53045
53046
  commandCandidates: ["claude"],
53046
53047
  versionArgs: ["--version"],
53047
53048
  statusArgs: ["auth", "status"],
53048
- loginArgs: ["auth", "login"]
53049
+ loginArgs: ["auth", "login"],
53050
+ disabled: true
53049
53051
  },
53050
53052
  "gemini-cli": {
53051
53053
  id: "gemini-cli",
@@ -53065,7 +53067,8 @@ var init_providerRegistry = __esm(() => {
53065
53067
  commandCandidates: ["gemini"],
53066
53068
  versionArgs: ["--version"],
53067
53069
  loginArgs: [],
53068
- unsupportedPersonalAccountMessage: "Personal Google account login is not enabled by UR-Nexus. Use an official Gemini Code Assist Standard/Enterprise path if your Gemini CLI supports it."
53070
+ unsupportedPersonalAccountMessage: "Personal Google account login is not enabled by UR-Nexus. Use an official Gemini Code Assist Standard/Enterprise path if your Gemini CLI supports it.",
53071
+ disabled: true
53069
53072
  },
53070
53073
  "antigravity-cli": {
53071
53074
  id: "antigravity-cli",
@@ -53084,7 +53087,8 @@ var init_providerRegistry = __esm(() => {
53084
53087
  accessPathLabel: "subscription login via official Antigravity CLI",
53085
53088
  commandCandidates: ["agy", "antigravity", "google-antigravity", "ag"],
53086
53089
  versionArgs: ["--version"],
53087
- loginArgs: []
53090
+ loginArgs: [],
53091
+ disabled: true
53088
53092
  },
53089
53093
  "openai-api": {
53090
53094
  id: "openai-api",
@@ -53203,11 +53207,12 @@ var init_providerRegistry = __esm(() => {
53203
53207
  listModels: "openai-compatible-models",
53204
53208
  validateModel: "discovered-list",
53205
53209
  runtimeKind: "ur-native",
53206
- ...UR_NATIVE_CAPABILITIES,
53210
+ ...SUBSCRIPTION_CLI_CAPABILITIES,
53207
53211
  authMode: "local",
53208
53212
  legalPath: "local OpenAI-compatible server",
53209
53213
  accessPathLabel: "local OpenAI-compatible endpoint",
53210
53214
  defaultBaseUrl: "http://localhost:1234/v1",
53215
+ disabled: true,
53211
53216
  endpointKind: "openai-compatible"
53212
53217
  },
53213
53218
  "llama.cpp": {
@@ -71253,7 +71258,7 @@ var init_auth = __esm(() => {
71253
71258
 
71254
71259
  // src/utils/userAgent.ts
71255
71260
  function getURCodeUserAgent() {
71256
- return `ur/${"1.44.0"}`;
71261
+ return `ur/${"1.44.1"}`;
71257
71262
  }
71258
71263
 
71259
71264
  // src/utils/workloadContext.ts
@@ -71275,7 +71280,7 @@ function getUserAgent() {
71275
71280
  const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
71276
71281
  const workload = getWorkload();
71277
71282
  const workloadSuffix = workload ? `, workload/${workload}` : "";
71278
- return `ur-cli/${"1.44.0"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
71283
+ return `ur-cli/${"1.44.1"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
71279
71284
  }
71280
71285
  function getMCPUserAgent() {
71281
71286
  const parts = [];
@@ -71289,7 +71294,7 @@ function getMCPUserAgent() {
71289
71294
  parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
71290
71295
  }
71291
71296
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
71292
- return `ur/${"1.44.0"}${suffix}`;
71297
+ return `ur/${"1.44.1"}${suffix}`;
71293
71298
  }
71294
71299
  function getWebFetchUserAgent() {
71295
71300
  return `UR-User (${getURCodeUserAgent()})`;
@@ -71427,7 +71432,7 @@ var init_user = __esm(() => {
71427
71432
  deviceId,
71428
71433
  sessionId: getSessionId(),
71429
71434
  email: getEmail(),
71430
- appVersion: "1.44.0",
71435
+ appVersion: "1.44.1",
71431
71436
  platform: getHostPlatformForAnalytics(),
71432
71437
  organizationUuid,
71433
71438
  accountUuid,
@@ -77944,7 +77949,7 @@ var init_metadata = __esm(() => {
77944
77949
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
77945
77950
  WHITESPACE_REGEX = /\s+/;
77946
77951
  getVersionBase = memoize_default(() => {
77947
- const match = "1.44.0".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
77952
+ const match = "1.44.1".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
77948
77953
  return match ? match[0] : undefined;
77949
77954
  });
77950
77955
  buildEnvContext = memoize_default(async () => {
@@ -77984,7 +77989,7 @@ var init_metadata = __esm(() => {
77984
77989
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
77985
77990
  isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
77986
77991
  isURAiAuth: isURAISubscriber(),
77987
- version: "1.44.0",
77992
+ version: "1.44.1",
77988
77993
  versionBase: getVersionBase(),
77989
77994
  buildTime: "",
77990
77995
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
@@ -78654,7 +78659,7 @@ function initialize1PEventLogging() {
78654
78659
  const platform2 = getPlatform();
78655
78660
  const attributes = {
78656
78661
  [import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
78657
- [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.44.0"
78662
+ [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.44.1"
78658
78663
  };
78659
78664
  if (platform2 === "wsl") {
78660
78665
  const wslVersion = getWslVersion();
@@ -78681,7 +78686,7 @@ function initialize1PEventLogging() {
78681
78686
  })
78682
78687
  ]
78683
78688
  });
78684
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.44.0");
78689
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.44.1");
78685
78690
  }
78686
78691
  async function reinitialize1PEventLoggingIfConfigChanged() {
78687
78692
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -83983,7 +83988,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
83983
83988
  function formatA2AAgentCard(options = {}, pretty = true) {
83984
83989
  return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
83985
83990
  }
83986
- var urVersion = "1.44.0", coverage, priorityRoadmap;
83991
+ var urVersion = "1.44.1", coverage, priorityRoadmap;
83987
83992
  var init_trends = __esm(() => {
83988
83993
  coverage = [
83989
83994
  {
@@ -85978,7 +85983,7 @@ function getAttributionHeader(fingerprint) {
85978
85983
  if (!isAttributionHeaderEnabled()) {
85979
85984
  return "";
85980
85985
  }
85981
- const version2 = `${"1.44.0"}.${fingerprint}`;
85986
+ const version2 = `${"1.44.1"}.${fingerprint}`;
85982
85987
  const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
85983
85988
  const cch = "";
85984
85989
  const workload = getWorkload();
@@ -193948,7 +193953,7 @@ function getTelemetryAttributes() {
193948
193953
  attributes["session.id"] = sessionId;
193949
193954
  }
193950
193955
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
193951
- attributes["app.version"] = "1.44.0";
193956
+ attributes["app.version"] = "1.44.1";
193952
193957
  }
193953
193958
  const oauthAccount = getOauthAccountInfo();
193954
193959
  if (oauthAccount) {
@@ -229336,7 +229341,7 @@ function getInstallationEnv() {
229336
229341
  return;
229337
229342
  }
229338
229343
  function getURCodeVersion() {
229339
- return "1.44.0";
229344
+ return "1.44.1";
229340
229345
  }
229341
229346
  async function getInstalledVSCodeExtensionVersion(command) {
229342
229347
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -232175,7 +232180,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
232175
232180
  const client2 = new Client({
232176
232181
  name: "ur",
232177
232182
  title: "UR",
232178
- version: "1.44.0",
232183
+ version: "1.44.1",
232179
232184
  description: "UR-Nexus autonomous engineering workflow engine",
232180
232185
  websiteUrl: PRODUCT_URL
232181
232186
  }, {
@@ -232529,7 +232534,7 @@ var init_client5 = __esm(() => {
232529
232534
  const client2 = new Client({
232530
232535
  name: "ur",
232531
232536
  title: "UR",
232532
- version: "1.44.0",
232537
+ version: "1.44.1",
232533
232538
  description: "UR-Nexus autonomous engineering workflow engine",
232534
232539
  websiteUrl: PRODUCT_URL
232535
232540
  }, {
@@ -242343,9 +242348,9 @@ async function assertMinVersion() {
242343
242348
  if (false) {}
242344
242349
  try {
242345
242350
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
242346
- if (versionConfig.minVersion && lt("1.44.0", versionConfig.minVersion)) {
242351
+ if (versionConfig.minVersion && lt("1.44.1", versionConfig.minVersion)) {
242347
242352
  console.error(`
242348
- It looks like your version of UR (${"1.44.0"}) needs an update.
242353
+ It looks like your version of UR (${"1.44.1"}) needs an update.
242349
242354
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
242350
242355
 
242351
242356
  To update, please run:
@@ -242561,7 +242566,7 @@ async function installGlobalPackage(specificVersion) {
242561
242566
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
242562
242567
  logEvent("tengu_auto_updater_lock_contention", {
242563
242568
  pid: process.pid,
242564
- currentVersion: "1.44.0"
242569
+ currentVersion: "1.44.1"
242565
242570
  });
242566
242571
  return "in_progress";
242567
242572
  }
@@ -242570,7 +242575,7 @@ async function installGlobalPackage(specificVersion) {
242570
242575
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
242571
242576
  logError2(new Error("Windows NPM detected in WSL environment"));
242572
242577
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
242573
- currentVersion: "1.44.0"
242578
+ currentVersion: "1.44.1"
242574
242579
  });
242575
242580
  console.error(`
242576
242581
  Error: Windows NPM detected in WSL
@@ -243105,7 +243110,7 @@ function detectLinuxGlobPatternWarnings() {
243105
243110
  }
243106
243111
  async function getDoctorDiagnostic() {
243107
243112
  const installationType = await getCurrentInstallationType();
243108
- const version2 = typeof MACRO !== "undefined" ? "1.44.0" : "unknown";
243113
+ const version2 = typeof MACRO !== "undefined" ? "1.44.1" : "unknown";
243109
243114
  const installationPath = await getInstallationPath();
243110
243115
  const invokedBinary = getInvokedBinary();
243111
243116
  const multipleInstallations = await detectMultipleInstallations();
@@ -244040,8 +244045,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
244040
244045
  const maxVersion = await getMaxVersion();
244041
244046
  if (maxVersion && gt(version2, maxVersion)) {
244042
244047
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
244043
- if (gte("1.44.0", maxVersion)) {
244044
- logForDebugging(`Native installer: current version ${"1.44.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
244048
+ if (gte("1.44.1", maxVersion)) {
244049
+ logForDebugging(`Native installer: current version ${"1.44.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
244045
244050
  logEvent("tengu_native_update_skipped_max_version", {
244046
244051
  latency_ms: Date.now() - startTime,
244047
244052
  max_version: maxVersion,
@@ -244052,7 +244057,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
244052
244057
  version2 = maxVersion;
244053
244058
  }
244054
244059
  }
244055
- if (!forceReinstall && version2 === "1.44.0" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
244060
+ if (!forceReinstall && version2 === "1.44.1" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
244056
244061
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
244057
244062
  logEvent("tengu_native_update_complete", {
244058
244063
  latency_ms: Date.now() - startTime,
@@ -246583,6 +246588,16 @@ function getTaskIcon(status) {
246583
246588
  icon: figures_default.squareSmall,
246584
246589
  color: undefined
246585
246590
  };
246591
+ case "failed":
246592
+ return {
246593
+ icon: figures_default.cross,
246594
+ color: "error"
246595
+ };
246596
+ case "skipped":
246597
+ return {
246598
+ icon: figures_default.warning,
246599
+ color: "warning"
246600
+ };
246586
246601
  }
246587
246602
  }
246588
246603
  function TaskItem(t0) {
@@ -341049,7 +341064,7 @@ function Feedback({
341049
341064
  platform: env2.platform,
341050
341065
  gitRepo: envInfo.isGit,
341051
341066
  terminal: env2.terminal,
341052
- version: "1.44.0",
341067
+ version: "1.44.1",
341053
341068
  transcript: normalizeMessagesForAPI(messages),
341054
341069
  errors: sanitizedErrors,
341055
341070
  lastApiRequest: getLastAPIRequest(),
@@ -341241,7 +341256,7 @@ function Feedback({
341241
341256
  ", ",
341242
341257
  env2.terminal,
341243
341258
  ", v",
341244
- "1.44.0"
341259
+ "1.44.1"
341245
341260
  ]
341246
341261
  }, undefined, true, undefined, this)
341247
341262
  ]
@@ -341347,7 +341362,7 @@ ${sanitizedDescription}
341347
341362
  ` + `**Environment Info**
341348
341363
  ` + `- Platform: ${env2.platform}
341349
341364
  ` + `- Terminal: ${env2.terminal}
341350
- ` + `- Version: ${"1.44.0"}
341365
+ ` + `- Version: ${"1.44.1"}
341351
341366
  ` + `- Feedback ID: ${feedbackId}
341352
341367
  ` + `
341353
341368
  **Errors**
@@ -344458,7 +344473,7 @@ function buildPrimarySection() {
344458
344473
  }, undefined, false, undefined, this);
344459
344474
  return [{
344460
344475
  label: "Version",
344461
- value: "1.44.0"
344476
+ value: "1.44.1"
344462
344477
  }, {
344463
344478
  label: "Session name",
344464
344479
  value: nameValue
@@ -347788,7 +347803,7 @@ function Config({
347788
347803
  }
347789
347804
  }, undefined, false, undefined, this)
347790
347805
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime177.jsxDEV(ChannelDowngradeDialog, {
347791
- currentVersion: "1.44.0",
347806
+ currentVersion: "1.44.1",
347792
347807
  onChoice: (choice) => {
347793
347808
  setShowSubmenu(null);
347794
347809
  setTabsHidden(false);
@@ -347800,7 +347815,7 @@ function Config({
347800
347815
  autoUpdatesChannel: "stable"
347801
347816
  };
347802
347817
  if (choice === "stay") {
347803
- newSettings.minimumVersion = "1.44.0";
347818
+ newSettings.minimumVersion = "1.44.1";
347804
347819
  }
347805
347820
  updateSettingsForSource("userSettings", newSettings);
347806
347821
  setSettingsData((prev_27) => ({
@@ -355870,7 +355885,7 @@ function HelpV2(t0) {
355870
355885
  let t6;
355871
355886
  if ($3[31] !== tabs) {
355872
355887
  t6 = /* @__PURE__ */ jsx_dev_runtime204.jsxDEV(Tabs, {
355873
- title: `UR v${"1.44.0"}`,
355888
+ title: `UR v${"1.44.1"}`,
355874
355889
  color: "professionalBlue",
355875
355890
  defaultTab: "general",
355876
355891
  children: tabs
@@ -356616,7 +356631,7 @@ function buildToolUseContext(tools, readFileStateCache) {
356616
356631
  async function handleInitialize(options2) {
356617
356632
  return {
356618
356633
  name: "UR",
356619
- version: "1.44.0",
356634
+ version: "1.44.1",
356620
356635
  protocolVersion: "0.1.0",
356621
356636
  workspaceRoot: options2.cwd,
356622
356637
  capabilities: {
@@ -376758,7 +376773,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
376758
376773
  return [];
376759
376774
  }
376760
376775
  }
376761
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.44.0") {
376776
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.44.1") {
376762
376777
  if (process.env.USER_TYPE === "ant") {
376763
376778
  const changelog = "";
376764
376779
  if (changelog) {
@@ -376785,7 +376800,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.44.0")
376785
376800
  releaseNotes
376786
376801
  };
376787
376802
  }
376788
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.44.0") {
376803
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.44.1") {
376789
376804
  if (process.env.USER_TYPE === "ant") {
376790
376805
  const changelog = "";
376791
376806
  if (changelog) {
@@ -377964,7 +377979,7 @@ function getRecentActivitySync() {
377964
377979
  return cachedActivity;
377965
377980
  }
377966
377981
  function getLogoDisplayData() {
377967
- const version2 = process.env.DEMO_VERSION ?? "1.44.0";
377982
+ const version2 = process.env.DEMO_VERSION ?? "1.44.1";
377968
377983
  const serverUrl = getDirectConnectServerUrl();
377969
377984
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
377970
377985
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -378753,7 +378768,7 @@ function LogoV2() {
378753
378768
  if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
378754
378769
  t2 = () => {
378755
378770
  const currentConfig2 = getGlobalConfig();
378756
- if (currentConfig2.lastReleaseNotesSeen === "1.44.0") {
378771
+ if (currentConfig2.lastReleaseNotesSeen === "1.44.1") {
378757
378772
  return;
378758
378773
  }
378759
378774
  saveGlobalConfig(_temp326);
@@ -379438,12 +379453,12 @@ function LogoV2() {
379438
379453
  return t41;
379439
379454
  }
379440
379455
  function _temp326(current) {
379441
- if (current.lastReleaseNotesSeen === "1.44.0") {
379456
+ if (current.lastReleaseNotesSeen === "1.44.1") {
379442
379457
  return current;
379443
379458
  }
379444
379459
  return {
379445
379460
  ...current,
379446
- lastReleaseNotesSeen: "1.44.0"
379461
+ lastReleaseNotesSeen: "1.44.1"
379447
379462
  };
379448
379463
  }
379449
379464
  function _temp243(s_0) {
@@ -397519,7 +397534,11 @@ function publicStatus(task) {
397519
397534
  if (task.status === "paused-review")
397520
397535
  return "paused for review";
397521
397536
  if (task.status === "skipped")
397522
- return "skipped by policy";
397537
+ return "skipped";
397538
+ if (task.status === "failed")
397539
+ return "failed";
397540
+ if (task.status === "finished")
397541
+ return "completed";
397523
397542
  return task.status;
397524
397543
  }
397525
397544
  function isWaiting(task) {
@@ -397540,6 +397559,9 @@ function progressSummary(tasks2) {
397540
397559
  const skipped = tasks2.filter((task) => task.status === "skipped").length;
397541
397560
  return `Progress: ${finished7}/${tasks2.length} finished, ${running} running, ${queued} queued, ${waiting} waiting, ${failed} failed, ${skipped} skipped`;
397542
397561
  }
397562
+ function isFinished(task) {
397563
+ return task.status === "finished" || task.status === "failed" || task.status === "skipped";
397564
+ }
397543
397565
  function renderTaskBoard(planOrTasks, options2 = {}) {
397544
397566
  const tasks2 = Array.isArray(planOrTasks) ? planOrTasks : planOrTasks.tasks;
397545
397567
  const activeAgents = options2.activeAgents ?? tasks2.filter((task) => task.status === "running").length;
@@ -397548,7 +397570,8 @@ function renderTaskBoard(planOrTasks, options2 = {}) {
397548
397570
  const rows = orderedTasks.map((task) => {
397549
397571
  const status2 = pad(publicStatus(task), 18);
397550
397572
  const agent = pad(String(task.assignedAgent), 8);
397551
- return `${task.order}. ${status2} | ${agent} | ${task.title}`;
397573
+ const check3 = isFinished(task) ? "[\u2713]" : "[ ]";
397574
+ return `${check3} ${task.order}. ${status2} | ${agent} | ${task.title}`;
397552
397575
  });
397553
397576
  return [
397554
397577
  "[UR-Nexus Task Board]",
@@ -397823,13 +397846,18 @@ function emitBoard(options2, tasks2, maxAgents2) {
397823
397846
  ...DEFAULT_PROMPT_PLANNING_CONFIG,
397824
397847
  ...resolvePromptPlanningConfig(options2.config)
397825
397848
  };
397826
- if (config3.showTaskBoard) {
397827
- options2.onEvent?.({
397828
- type: "board",
397829
- board: renderTaskBoard(tasks2, { maxAgents: maxAgents2 }),
397830
- tasks: tasks2
397831
- });
397832
- }
397849
+ if (!config3.showTaskBoard)
397850
+ return;
397851
+ const board = renderTaskBoard(tasks2, { maxAgents: maxAgents2 });
397852
+ const lastBoard = lastBoardByRun.get(options2);
397853
+ if (lastBoard === board)
397854
+ return;
397855
+ lastBoardByRun.set(options2, board);
397856
+ options2.onEvent?.({
397857
+ type: "board",
397858
+ board,
397859
+ tasks: tasks2
397860
+ });
397833
397861
  }
397834
397862
  function emitStatus(options2, task, tasks2, lastStatuses, maxAgents2) {
397835
397863
  if (lastStatuses.get(task.id) === task.status)
@@ -398044,10 +398072,12 @@ async function runPromptPlan(plan, options2) {
398044
398072
  await Promise.race(running);
398045
398073
  }
398046
398074
  }
398075
+ var lastBoardByRun;
398047
398076
  var init_executor = __esm(() => {
398048
398077
  init_config9();
398049
398078
  init_evidence3();
398050
398079
  init_validation4();
398080
+ lastBoardByRun = new WeakMap;
398051
398081
  });
398052
398082
 
398053
398083
  // src/services/promptPlanning/planner.ts
@@ -596858,7 +596888,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
596858
596888
  smapsRollup,
596859
596889
  platform: process.platform,
596860
596890
  nodeVersion: process.version,
596861
- ccVersion: "1.44.0"
596891
+ ccVersion: "1.44.1"
596862
596892
  };
596863
596893
  }
596864
596894
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -597444,7 +597474,7 @@ var init_bridge_kick = __esm(() => {
597444
597474
  var call137 = async () => {
597445
597475
  return {
597446
597476
  type: "text",
597447
- value: "1.44.0"
597477
+ value: "1.44.1"
597448
597478
  };
597449
597479
  }, version2, version_default;
597450
597480
  var init_version = __esm(() => {
@@ -607537,7 +607567,7 @@ function generateHtmlReport(data, insights) {
607537
607567
  </html>`;
607538
607568
  }
607539
607569
  function buildExportData(data, insights, facets, remoteStats) {
607540
- const version3 = typeof MACRO !== "undefined" ? "1.44.0" : "unknown";
607570
+ const version3 = typeof MACRO !== "undefined" ? "1.44.1" : "unknown";
607541
607571
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
607542
607572
  const facets_summary = {
607543
607573
  total: facets.size,
@@ -611817,7 +611847,7 @@ var init_sessionStorage = __esm(() => {
611817
611847
  init_settings2();
611818
611848
  init_slowOperations();
611819
611849
  init_uuid();
611820
- VERSION5 = typeof MACRO !== "undefined" ? "1.44.0" : "unknown";
611850
+ VERSION5 = typeof MACRO !== "undefined" ? "1.44.1" : "unknown";
611821
611851
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
611822
611852
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
611823
611853
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -613022,7 +613052,7 @@ var init_filesystem = __esm(() => {
613022
613052
  });
613023
613053
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
613024
613054
  const nonce = randomBytes18(16).toString("hex");
613025
- return join202(getURTempDir(), "bundled-skills", "1.44.0", nonce);
613055
+ return join202(getURTempDir(), "bundled-skills", "1.44.1", nonce);
613026
613056
  });
613027
613057
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
613028
613058
  });
@@ -619313,7 +619343,7 @@ function computeFingerprint(messageText2, version3) {
619313
619343
  }
619314
619344
  function computeFingerprintFromMessages(messages) {
619315
619345
  const firstMessageText = extractFirstMessageText(messages);
619316
- return computeFingerprint(firstMessageText, "1.44.0");
619346
+ return computeFingerprint(firstMessageText, "1.44.1");
619317
619347
  }
619318
619348
  var FINGERPRINT_SALT = "59cf53e54c78";
619319
619349
  var init_fingerprint = () => {};
@@ -621187,7 +621217,7 @@ async function sideQuery(opts) {
621187
621217
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
621188
621218
  }
621189
621219
  const messageText2 = extractFirstUserMessageText(messages);
621190
- const fingerprint2 = computeFingerprint(messageText2, "1.44.0");
621220
+ const fingerprint2 = computeFingerprint(messageText2, "1.44.1");
621191
621221
  const attributionHeader = getAttributionHeader(fingerprint2);
621192
621222
  const systemBlocks = [
621193
621223
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -625924,7 +625954,7 @@ function buildSystemInitMessage(inputs) {
625924
625954
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
625925
625955
  apiKeySource: getURHQApiKeyWithSource().source,
625926
625956
  betas: getSdkBetas(),
625927
- ur_version: "1.44.0",
625957
+ ur_version: "1.44.1",
625928
625958
  output_style: outputStyle2,
625929
625959
  agents: inputs.agents.map((agent) => agent.agentType),
625930
625960
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -640552,7 +640582,7 @@ var init_useVoiceEnabled = __esm(() => {
640552
640582
  function getSemverPart(version3) {
640553
640583
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
640554
640584
  }
640555
- function useUpdateNotification(updatedVersion, initialVersion = "1.44.0") {
640585
+ function useUpdateNotification(updatedVersion, initialVersion = "1.44.1") {
640556
640586
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react226.useState(() => getSemverPart(initialVersion));
640557
640587
  if (!updatedVersion) {
640558
640588
  return null;
@@ -640601,7 +640631,7 @@ function AutoUpdater({
640601
640631
  return;
640602
640632
  }
640603
640633
  if (false) {}
640604
- const currentVersion = "1.44.0";
640634
+ const currentVersion = "1.44.1";
640605
640635
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
640606
640636
  let latestVersion = await getLatestVersion(channel);
640607
640637
  const isDisabled = isAutoUpdaterDisabled();
@@ -640830,12 +640860,12 @@ function NativeAutoUpdater({
640830
640860
  logEvent("tengu_native_auto_updater_start", {});
640831
640861
  try {
640832
640862
  const maxVersion = await getMaxVersion();
640833
- if (maxVersion && gt("1.44.0", maxVersion)) {
640863
+ if (maxVersion && gt("1.44.1", maxVersion)) {
640834
640864
  const msg = await getMaxVersionMessage();
640835
640865
  setMaxVersionIssue(msg ?? "affects your version");
640836
640866
  }
640837
640867
  const result = await installLatest(channel);
640838
- const currentVersion = "1.44.0";
640868
+ const currentVersion = "1.44.1";
640839
640869
  const latencyMs = Date.now() - startTime;
640840
640870
  if (result.lockFailed) {
640841
640871
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -640972,17 +641002,17 @@ function PackageManagerAutoUpdater(t0) {
640972
641002
  const maxVersion = await getMaxVersion();
640973
641003
  if (maxVersion && latest && gt(latest, maxVersion)) {
640974
641004
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
640975
- if (gte("1.44.0", maxVersion)) {
640976
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.44.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
641005
+ if (gte("1.44.1", maxVersion)) {
641006
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.44.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
640977
641007
  setUpdateAvailable(false);
640978
641008
  return;
640979
641009
  }
640980
641010
  latest = maxVersion;
640981
641011
  }
640982
- const hasUpdate = latest && !gte("1.44.0", latest) && !shouldSkipVersion(latest);
641012
+ const hasUpdate = latest && !gte("1.44.1", latest) && !shouldSkipVersion(latest);
640983
641013
  setUpdateAvailable(!!hasUpdate);
640984
641014
  if (hasUpdate) {
640985
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.44.0"} -> ${latest}`);
641015
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.44.1"} -> ${latest}`);
640986
641016
  }
640987
641017
  };
640988
641018
  $3[0] = t1;
@@ -641016,7 +641046,7 @@ function PackageManagerAutoUpdater(t0) {
641016
641046
  wrap: "truncate",
641017
641047
  children: [
641018
641048
  "currentVersion: ",
641019
- "1.44.0"
641049
+ "1.44.1"
641020
641050
  ]
641021
641051
  }, undefined, true, undefined, this);
641022
641052
  $3[3] = verbose;
@@ -653468,7 +653498,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
653468
653498
  project_dir: getOriginalCwd(),
653469
653499
  added_dirs: addedDirs
653470
653500
  },
653471
- version: "1.44.0",
653501
+ version: "1.44.1",
653472
653502
  output_style: {
653473
653503
  name: outputStyleName
653474
653504
  },
@@ -653551,7 +653581,7 @@ function StatusLineInner({
653551
653581
  const taskValues = Object.values(tasks2);
653552
653582
  const taskRunningCount = taskValues.filter((task2) => task2.status === "running" || task2.status === "pending").length;
653553
653583
  const defaultStatusLineText = buildDefaultStatusBar({
653554
- version: "1.44.0",
653584
+ version: "1.44.1",
653555
653585
  providerLabel: providerRuntime.providerLabel,
653556
653586
  authMode: providerRuntime.authLabel,
653557
653587
  model: providerRuntime.model ?? renderModelName(mainLoopModel),
@@ -665039,7 +665069,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
665039
665069
  } catch {}
665040
665070
  const data = {
665041
665071
  trigger: trigger2,
665042
- version: "1.44.0",
665072
+ version: "1.44.1",
665043
665073
  platform: process.platform,
665044
665074
  transcript,
665045
665075
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -676924,7 +676954,7 @@ function WelcomeV2() {
676924
676954
  dimColor: true,
676925
676955
  children: [
676926
676956
  "v",
676927
- "1.44.0"
676957
+ "1.44.1"
676928
676958
  ]
676929
676959
  }, undefined, true, undefined, this)
676930
676960
  ]
@@ -678184,7 +678214,7 @@ function completeOnboarding() {
678184
678214
  saveGlobalConfig((current) => ({
678185
678215
  ...current,
678186
678216
  hasCompletedOnboarding: true,
678187
- lastOnboardingVersion: "1.44.0"
678217
+ lastOnboardingVersion: "1.44.1"
678188
678218
  }));
678189
678219
  }
678190
678220
  function showDialog(root2, renderer) {
@@ -683221,7 +683251,7 @@ function appendToLog(path24, message) {
683221
683251
  cwd: getFsImplementation().cwd(),
683222
683252
  userType: process.env.USER_TYPE,
683223
683253
  sessionId: getSessionId(),
683224
- version: "1.44.0"
683254
+ version: "1.44.1"
683225
683255
  };
683226
683256
  getLogWriter(path24).write(messageWithTimestamp);
683227
683257
  }
@@ -687315,8 +687345,8 @@ async function getEnvLessBridgeConfig() {
687315
687345
  }
687316
687346
  async function checkEnvLessBridgeMinVersion() {
687317
687347
  const cfg = await getEnvLessBridgeConfig();
687318
- if (cfg.min_version && lt("1.44.0", cfg.min_version)) {
687319
- return `Your version of UR (${"1.44.0"}) is too old for Remote Control.
687348
+ if (cfg.min_version && lt("1.44.1", cfg.min_version)) {
687349
+ return `Your version of UR (${"1.44.1"}) is too old for Remote Control.
687320
687350
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
687321
687351
  }
687322
687352
  return null;
@@ -687790,7 +687820,7 @@ async function initBridgeCore(params) {
687790
687820
  const rawApi = createBridgeApiClient({
687791
687821
  baseUrl,
687792
687822
  getAccessToken,
687793
- runnerVersion: "1.44.0",
687823
+ runnerVersion: "1.44.1",
687794
687824
  onDebug: logForDebugging,
687795
687825
  onAuth401,
687796
687826
  getTrustedDeviceToken
@@ -693472,7 +693502,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
693472
693502
  setCwd(cwd3);
693473
693503
  const server2 = new Server({
693474
693504
  name: "ur/tengu",
693475
- version: "1.44.0"
693505
+ version: "1.44.1"
693476
693506
  }, {
693477
693507
  capabilities: {
693478
693508
  tools: {}
@@ -695514,7 +695544,7 @@ async function update() {
695514
695544
  logEvent("tengu_update_check", {});
695515
695545
  const diagnostic = await getDoctorDiagnostic();
695516
695546
  const result = await checkUpgradeStatus({
695517
- currentVersion: "1.44.0",
695547
+ currentVersion: "1.44.1",
695518
695548
  packageName: UR_AGENT_PACKAGE_NAME,
695519
695549
  installationType: diagnostic.installationType,
695520
695550
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -696760,7 +696790,7 @@ ${customInstructions}` : customInstructions;
696760
696790
  }
696761
696791
  }
696762
696792
  logForDiagnosticsNoPII("info", "started", {
696763
- version: "1.44.0",
696793
+ version: "1.44.1",
696764
696794
  is_native_binary: isInBundledMode()
696765
696795
  });
696766
696796
  registerCleanup(async () => {
@@ -697546,7 +697576,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
697546
697576
  pendingHookMessages
697547
697577
  }, renderAndRun);
697548
697578
  }
697549
- }).version("1.44.0 (UR-Nexus)", "-v, --version", "Output the version number");
697579
+ }).version("1.44.1 (UR-Nexus)", "-v, --version", "Output the version number");
697550
697580
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
697551
697581
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
697552
697582
  if (canUserConfigureAdvisor()) {
@@ -698461,7 +698491,7 @@ if (false) {}
698461
698491
  async function main2() {
698462
698492
  const args = process.argv.slice(2);
698463
698493
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
698464
- console.log(`${"1.44.0"} (UR-Nexus)`);
698494
+ console.log(`${"1.44.1"} (UR-Nexus)`);
698465
698495
  return;
698466
698496
  }
698467
698497
  if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ur-agent",
3
- "version": "1.44.0",
4
- "description": "UR-Nexus \u2014 autonomous engineering workflow engine (plan, execute, test, verify, document, benchmark, reproduce)",
3
+ "version": "1.44.1",
4
+ "description": "UR-Nexus autonomous engineering workflow engine (plan, execute, test, verify, document, benchmark, reproduce)",
5
5
  "type": "module",
6
6
  "packageManager": "bun@1.3.14",
7
7
  "engines": {