ur-agent 1.44.5 → 1.44.7

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,11 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.44.7
4
+
5
+ - Add `autoApprove` permission mode for command/tool approval prompts. It
6
+ auto-approves operations that would otherwise require permission approval,
7
+ while preserving user-input dialogs and explicit denials.
8
+ - Hide the legacy non-interactive denial mode from user-facing mode selectors.
9
+
10
+ ## 1.44.6
11
+
12
+ - Internal permission-mode iteration superseded by `1.44.7`.
13
+
3
14
  ## 1.44.5
4
15
 
5
- - Change `dontAsk` permission mode into an auto-approval mode for operations
6
- that would otherwise require manual approval. Explicit deny rules and
7
- security-policy blocks still apply.
8
- - Expose `dontAsk` in the interactive permission-mode cycle.
16
+ - Internal permission-mode iteration superseded by `1.44.6`.
9
17
 
10
18
  ## 1.44.4
11
19
 
package/README.md CHANGED
@@ -622,6 +622,8 @@ the permission boundary matters.
622
622
  - Sensitive tool actions go through permission checks by default.
623
623
  - `--allowed-tools` and `--disallowed-tools` can scope tool access for
624
624
  automation.
625
+ - `permissions.defaultMode: "autoApprove"` auto-approves operations that would
626
+ otherwise pause for permission approval, while user-input dialogs still ask.
625
627
  - `--dangerously-skip-permissions` should only be used inside disposable
626
628
  sandboxes.
627
629
  - The verifier checks for false completion claims, repeated tool-call loops,
package/dist/cli.js CHANGED
@@ -71438,7 +71438,7 @@ var init_auth = __esm(() => {
71438
71438
 
71439
71439
  // src/utils/userAgent.ts
71440
71440
  function getURCodeUserAgent() {
71441
- return `ur/${"1.44.5"}`;
71441
+ return `ur/${"1.44.7"}`;
71442
71442
  }
71443
71443
 
71444
71444
  // src/utils/workloadContext.ts
@@ -71460,7 +71460,7 @@ function getUserAgent() {
71460
71460
  const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
71461
71461
  const workload = getWorkload();
71462
71462
  const workloadSuffix = workload ? `, workload/${workload}` : "";
71463
- return `ur-cli/${"1.44.5"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
71463
+ return `ur-cli/${"1.44.7"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
71464
71464
  }
71465
71465
  function getMCPUserAgent() {
71466
71466
  const parts = [];
@@ -71474,7 +71474,7 @@ function getMCPUserAgent() {
71474
71474
  parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
71475
71475
  }
71476
71476
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
71477
- return `ur/${"1.44.5"}${suffix}`;
71477
+ return `ur/${"1.44.7"}${suffix}`;
71478
71478
  }
71479
71479
  function getWebFetchUserAgent() {
71480
71480
  return `UR-User (${getURCodeUserAgent()})`;
@@ -71612,7 +71612,7 @@ var init_user = __esm(() => {
71612
71612
  deviceId,
71613
71613
  sessionId: getSessionId(),
71614
71614
  email: getEmail(),
71615
- appVersion: "1.44.5",
71615
+ appVersion: "1.44.7",
71616
71616
  platform: getHostPlatformForAnalytics(),
71617
71617
  organizationUuid,
71618
71618
  accountUuid,
@@ -78129,7 +78129,7 @@ var init_metadata = __esm(() => {
78129
78129
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
78130
78130
  WHITESPACE_REGEX = /\s+/;
78131
78131
  getVersionBase = memoize_default(() => {
78132
- const match = "1.44.5".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
78132
+ const match = "1.44.7".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
78133
78133
  return match ? match[0] : undefined;
78134
78134
  });
78135
78135
  buildEnvContext = memoize_default(async () => {
@@ -78169,7 +78169,7 @@ var init_metadata = __esm(() => {
78169
78169
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
78170
78170
  isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
78171
78171
  isURAiAuth: isURAISubscriber(),
78172
- version: "1.44.5",
78172
+ version: "1.44.7",
78173
78173
  versionBase: getVersionBase(),
78174
78174
  buildTime: "",
78175
78175
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
@@ -78839,7 +78839,7 @@ function initialize1PEventLogging() {
78839
78839
  const platform2 = getPlatform();
78840
78840
  const attributes = {
78841
78841
  [import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
78842
- [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.44.5"
78842
+ [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.44.7"
78843
78843
  };
78844
78844
  if (platform2 === "wsl") {
78845
78845
  const wslVersion = getWslVersion();
@@ -78866,7 +78866,7 @@ function initialize1PEventLogging() {
78866
78866
  })
78867
78867
  ]
78868
78868
  });
78869
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.44.5");
78869
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.44.7");
78870
78870
  }
78871
78871
  async function reinitialize1PEventLoggingIfConfigChanged() {
78872
78872
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -80128,9 +80128,9 @@ var EXTERNAL_PERMISSION_MODES, INTERNAL_PERMISSION_MODES, PERMISSION_MODES;
80128
80128
  var init_permissions = __esm(() => {
80129
80129
  EXTERNAL_PERMISSION_MODES = [
80130
80130
  "acceptEdits",
80131
+ "autoApprove",
80131
80132
  "bypassPermissions",
80132
80133
  "default",
80133
- "dontAsk",
80134
80134
  "plan"
80135
80135
  ];
80136
80136
  INTERNAL_PERMISSION_MODES = [
@@ -80142,10 +80142,7 @@ var init_permissions = __esm(() => {
80142
80142
 
80143
80143
  // src/utils/permissions/PermissionMode.ts
80144
80144
  function isExternalPermissionMode(mode) {
80145
- if (process.env.USER_TYPE !== "ant") {
80146
- return true;
80147
- }
80148
- return mode !== "auto" && mode !== "bubble";
80145
+ return EXTERNAL_PERMISSION_MODES.includes(mode);
80149
80146
  }
80150
80147
  function getModeConfig(mode) {
80151
80148
  return PERMISSION_MODE_CONFIG[mode] ?? PERMISSION_MODE_CONFIG.default;
@@ -80197,6 +80194,13 @@ var init_PermissionMode = __esm(() => {
80197
80194
  color: "autoAccept",
80198
80195
  external: "acceptEdits"
80199
80196
  },
80197
+ autoApprove: {
80198
+ title: "Auto Approval",
80199
+ shortTitle: "Auto Approve",
80200
+ symbol: "\u23F5\u23F5",
80201
+ color: "warning",
80202
+ external: "autoApprove"
80203
+ },
80200
80204
  bypassPermissions: {
80201
80205
  title: "Bypass Permissions",
80202
80206
  shortTitle: "Bypass",
@@ -80206,10 +80210,10 @@ var init_PermissionMode = __esm(() => {
80206
80210
  },
80207
80211
  dontAsk: {
80208
80212
  title: "Don't Ask",
80209
- shortTitle: "Don't Ask",
80213
+ shortTitle: "DontAsk",
80210
80214
  symbol: "\u23F5\u23F5",
80211
80215
  color: "error",
80212
- external: "dontAsk"
80216
+ external: "default"
80213
80217
  },
80214
80218
  ...{}
80215
80219
  };
@@ -84757,7 +84761,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
84757
84761
  function formatA2AAgentCard(options = {}, pretty = true) {
84758
84762
  return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
84759
84763
  }
84760
- var urVersion = "1.44.5", coverage, priorityRoadmap;
84764
+ var urVersion = "1.44.7", coverage, priorityRoadmap;
84761
84765
  var init_trends = __esm(() => {
84762
84766
  coverage = [
84763
84767
  {
@@ -86752,7 +86756,7 @@ function getAttributionHeader(fingerprint) {
86752
86756
  if (!isAttributionHeaderEnabled()) {
86753
86757
  return "";
86754
86758
  }
86755
- const version2 = `${"1.44.5"}.${fingerprint}`;
86759
+ const version2 = `${"1.44.7"}.${fingerprint}`;
86756
86760
  const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
86757
86761
  const cch = "";
86758
86762
  const workload = getWorkload();
@@ -194722,7 +194726,7 @@ function getTelemetryAttributes() {
194722
194726
  attributes["session.id"] = sessionId;
194723
194727
  }
194724
194728
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
194725
- attributes["app.version"] = "1.44.5";
194729
+ attributes["app.version"] = "1.44.7";
194726
194730
  }
194727
194731
  const oauthAccount = getOauthAccountInfo();
194728
194732
  if (oauthAccount) {
@@ -230110,7 +230114,7 @@ function getInstallationEnv() {
230110
230114
  return;
230111
230115
  }
230112
230116
  function getURCodeVersion() {
230113
- return "1.44.5";
230117
+ return "1.44.7";
230114
230118
  }
230115
230119
  async function getInstalledVSCodeExtensionVersion(command) {
230116
230120
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -232949,7 +232953,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
232949
232953
  const client2 = new Client({
232950
232954
  name: "ur",
232951
232955
  title: "UR",
232952
- version: "1.44.5",
232956
+ version: "1.44.7",
232953
232957
  description: "UR-Nexus autonomous engineering workflow engine",
232954
232958
  websiteUrl: PRODUCT_URL
232955
232959
  }, {
@@ -233303,7 +233307,7 @@ var init_client5 = __esm(() => {
233303
233307
  const client2 = new Client({
233304
233308
  name: "ur",
233305
233309
  title: "UR",
233306
- version: "1.44.5",
233310
+ version: "1.44.7",
233307
233311
  description: "UR-Nexus autonomous engineering workflow engine",
233308
233312
  websiteUrl: PRODUCT_URL
233309
233313
  }, {
@@ -243117,9 +243121,9 @@ async function assertMinVersion() {
243117
243121
  if (false) {}
243118
243122
  try {
243119
243123
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
243120
- if (versionConfig.minVersion && lt("1.44.5", versionConfig.minVersion)) {
243124
+ if (versionConfig.minVersion && lt("1.44.7", versionConfig.minVersion)) {
243121
243125
  console.error(`
243122
- It looks like your version of UR (${"1.44.5"}) needs an update.
243126
+ It looks like your version of UR (${"1.44.7"}) needs an update.
243123
243127
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
243124
243128
 
243125
243129
  To update, please run:
@@ -243335,7 +243339,7 @@ async function installGlobalPackage(specificVersion) {
243335
243339
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
243336
243340
  logEvent("tengu_auto_updater_lock_contention", {
243337
243341
  pid: process.pid,
243338
- currentVersion: "1.44.5"
243342
+ currentVersion: "1.44.7"
243339
243343
  });
243340
243344
  return "in_progress";
243341
243345
  }
@@ -243344,7 +243348,7 @@ async function installGlobalPackage(specificVersion) {
243344
243348
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
243345
243349
  logError2(new Error("Windows NPM detected in WSL environment"));
243346
243350
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
243347
- currentVersion: "1.44.5"
243351
+ currentVersion: "1.44.7"
243348
243352
  });
243349
243353
  console.error(`
243350
243354
  Error: Windows NPM detected in WSL
@@ -243879,7 +243883,7 @@ function detectLinuxGlobPatternWarnings() {
243879
243883
  }
243880
243884
  async function getDoctorDiagnostic() {
243881
243885
  const installationType = await getCurrentInstallationType();
243882
- const version2 = typeof MACRO !== "undefined" ? "1.44.5" : "unknown";
243886
+ const version2 = typeof MACRO !== "undefined" ? "1.44.7" : "unknown";
243883
243887
  const installationPath = await getInstallationPath();
243884
243888
  const invokedBinary = getInvokedBinary();
243885
243889
  const multipleInstallations = await detectMultipleInstallations();
@@ -244814,8 +244818,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
244814
244818
  const maxVersion = await getMaxVersion();
244815
244819
  if (maxVersion && gt(version2, maxVersion)) {
244816
244820
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
244817
- if (gte("1.44.5", maxVersion)) {
244818
- logForDebugging(`Native installer: current version ${"1.44.5"} is already at or above maxVersion ${maxVersion}, skipping update`);
244821
+ if (gte("1.44.7", maxVersion)) {
244822
+ logForDebugging(`Native installer: current version ${"1.44.7"} is already at or above maxVersion ${maxVersion}, skipping update`);
244819
244823
  logEvent("tengu_native_update_skipped_max_version", {
244820
244824
  latency_ms: Date.now() - startTime,
244821
244825
  max_version: maxVersion,
@@ -244826,7 +244830,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
244826
244830
  version2 = maxVersion;
244827
244831
  }
244828
244832
  }
244829
- if (!forceReinstall && version2 === "1.44.5" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
244833
+ if (!forceReinstall && version2 === "1.44.7" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
244830
244834
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
244831
244835
  logEvent("tengu_native_update_complete", {
244832
244836
  latency_ms: Date.now() - startTime,
@@ -248525,7 +248529,13 @@ var init_coreSchemas = __esm(() => {
248525
248529
  decisionClassification: PermissionDecisionClassificationSchema().optional()
248526
248530
  })
248527
248531
  ]));
248528
- PermissionModeSchema = lazySchema(() => exports_external.enum(["default", "acceptEdits", "bypassPermissions", "plan", "dontAsk"]).describe("Permission mode for controlling how tool executions are handled. " + "'default' - Standard behavior, prompts for dangerous operations. " + "'acceptEdits' - Auto-accept file edit operations. " + "'bypassPermissions' - Bypass all permission checks (requires allowDangerouslySkipPermissions). " + "'plan' - Planning mode, no actual tool execution. " + "'dontAsk' - Don't prompt for permissions, auto-approve operations that would otherwise require manual approval."));
248532
+ PermissionModeSchema = lazySchema(() => exports_external.enum([
248533
+ "default",
248534
+ "acceptEdits",
248535
+ "autoApprove",
248536
+ "bypassPermissions",
248537
+ "plan"
248538
+ ]).describe("Permission mode for controlling how tool executions are handled. " + "'default' - Standard behavior, prompts for dangerous operations. " + "'acceptEdits' - Auto-accept file edit operations. " + "'autoApprove' - Auto-approve permission prompts while preserving user-input dialogs. " + "'bypassPermissions' - Bypass all permission checks (requires allowDangerouslySkipPermissions). " + "'plan' - Planning mode, no actual tool execution."));
248529
248539
  HOOK_EVENTS2 = [
248530
248540
  "PreToolUse",
248531
248541
  "PostToolUse",
@@ -302397,7 +302407,7 @@ var init_supportedSettings = __esm(() => {
302397
302407
  source: "settings",
302398
302408
  type: "string",
302399
302409
  description: "Default permission mode for tool usage",
302400
- options: ["default", "plan", "acceptEdits", "dontAsk"]
302410
+ options: ["default", "plan", "acceptEdits", "autoApprove"]
302401
302411
  },
302402
302412
  language: {
302403
302413
  source: "settings",
@@ -330543,6 +330553,9 @@ function withMemoryCorrectionHint(message) {
330543
330553
  function AUTO_REJECT_MESSAGE(toolName) {
330544
330554
  return `Permission to use ${toolName} has been denied. ${DENIAL_WORKAROUND_GUIDANCE}`;
330545
330555
  }
330556
+ function DONT_ASK_REJECT_MESSAGE(toolName) {
330557
+ return `Permission to use ${toolName} has been denied because UR is running in don't ask mode. ${DENIAL_WORKAROUND_GUIDANCE}`;
330558
+ }
330546
330559
  function isSyntheticMessage(message) {
330547
330560
  return message.type !== "progress" && message.type !== "attachment" && message.type !== "system" && Array.isArray(message.message.content) && message.message.content[0]?.type === "text" && SYNTHETIC_MESSAGES.has(message.message.content[0].text);
330548
330561
  }
@@ -335734,12 +335747,25 @@ var CLASSIFIER_FAIL_CLOSED_REFRESH_MS, PERMISSION_RULE_SOURCES, hasPermissionsTo
335734
335747
  if (result.behavior === "ask") {
335735
335748
  const appState = context3.getAppState();
335736
335749
  if (appState.toolPermissionContext.mode === "dontAsk") {
335750
+ return {
335751
+ behavior: "deny",
335752
+ decisionReason: {
335753
+ type: "mode",
335754
+ mode: "dontAsk"
335755
+ },
335756
+ message: DONT_ASK_REJECT_MESSAGE(tool.name)
335757
+ };
335758
+ }
335759
+ if (appState.toolPermissionContext.mode === "autoApprove") {
335760
+ if (tool.requiresUserInteraction?.()) {
335761
+ return result;
335762
+ }
335737
335763
  return {
335738
335764
  behavior: "allow",
335739
335765
  updatedInput: input,
335740
335766
  decisionReason: {
335741
335767
  type: "mode",
335742
- mode: "dontAsk"
335768
+ mode: "autoApprove"
335743
335769
  }
335744
335770
  };
335745
335771
  }
@@ -341497,7 +341523,7 @@ function Feedback({
341497
341523
  platform: env2.platform,
341498
341524
  gitRepo: envInfo.isGit,
341499
341525
  terminal: env2.terminal,
341500
- version: "1.44.5",
341526
+ version: "1.44.7",
341501
341527
  transcript: normalizeMessagesForAPI(messages),
341502
341528
  errors: sanitizedErrors,
341503
341529
  lastApiRequest: getLastAPIRequest(),
@@ -341689,7 +341715,7 @@ function Feedback({
341689
341715
  ", ",
341690
341716
  env2.terminal,
341691
341717
  ", v",
341692
- "1.44.5"
341718
+ "1.44.7"
341693
341719
  ]
341694
341720
  }, undefined, true, undefined, this)
341695
341721
  ]
@@ -341795,7 +341821,7 @@ ${sanitizedDescription}
341795
341821
  ` + `**Environment Info**
341796
341822
  ` + `- Platform: ${env2.platform}
341797
341823
  ` + `- Terminal: ${env2.terminal}
341798
- ` + `- Version: ${"1.44.5"}
341824
+ ` + `- Version: ${"1.44.7"}
341799
341825
  ` + `- Feedback ID: ${feedbackId}
341800
341826
  ` + `
341801
341827
  **Errors**
@@ -344906,7 +344932,7 @@ function buildPrimarySection() {
344906
344932
  }, undefined, false, undefined, this);
344907
344933
  return [{
344908
344934
  label: "Version",
344909
- value: "1.44.5"
344935
+ value: "1.44.7"
344910
344936
  }, {
344911
344937
  label: "Session name",
344912
344938
  value: nameValue
@@ -348236,7 +348262,7 @@ function Config({
348236
348262
  }
348237
348263
  }, undefined, false, undefined, this)
348238
348264
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime176.jsxDEV(ChannelDowngradeDialog, {
348239
- currentVersion: "1.44.5",
348265
+ currentVersion: "1.44.7",
348240
348266
  onChoice: (choice) => {
348241
348267
  setShowSubmenu(null);
348242
348268
  setTabsHidden(false);
@@ -348248,7 +348274,7 @@ function Config({
348248
348274
  autoUpdatesChannel: "stable"
348249
348275
  };
348250
348276
  if (choice === "stay") {
348251
- newSettings.minimumVersion = "1.44.5";
348277
+ newSettings.minimumVersion = "1.44.7";
348252
348278
  }
348253
348279
  updateSettingsForSource("userSettings", newSettings);
348254
348280
  setSettingsData((prev_27) => ({
@@ -356318,7 +356344,7 @@ function HelpV2(t0) {
356318
356344
  let t6;
356319
356345
  if ($3[31] !== tabs) {
356320
356346
  t6 = /* @__PURE__ */ jsx_dev_runtime203.jsxDEV(Tabs, {
356321
- title: `UR v${"1.44.5"}`,
356347
+ title: `UR v${"1.44.7"}`,
356322
356348
  color: "professionalBlue",
356323
356349
  defaultTab: "general",
356324
356350
  children: tabs
@@ -357064,7 +357090,7 @@ function buildToolUseContext(tools, readFileStateCache) {
357064
357090
  async function handleInitialize(options2) {
357065
357091
  return {
357066
357092
  name: "UR",
357067
- version: "1.44.5",
357093
+ version: "1.44.7",
357068
357094
  protocolVersion: "0.1.0",
357069
357095
  workspaceRoot: options2.cwd,
357070
357096
  capabilities: {
@@ -377206,7 +377232,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
377206
377232
  return [];
377207
377233
  }
377208
377234
  }
377209
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.44.5") {
377235
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.44.7") {
377210
377236
  if (process.env.USER_TYPE === "ant") {
377211
377237
  const changelog = "";
377212
377238
  if (changelog) {
@@ -377233,7 +377259,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.44.5")
377233
377259
  releaseNotes
377234
377260
  };
377235
377261
  }
377236
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.44.5") {
377262
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.44.7") {
377237
377263
  if (process.env.USER_TYPE === "ant") {
377238
377264
  const changelog = "";
377239
377265
  if (changelog) {
@@ -378412,7 +378438,7 @@ function getRecentActivitySync() {
378412
378438
  return cachedActivity;
378413
378439
  }
378414
378440
  function getLogoDisplayData() {
378415
- const version2 = process.env.DEMO_VERSION ?? "1.44.5";
378441
+ const version2 = process.env.DEMO_VERSION ?? "1.44.7";
378416
378442
  const serverUrl = getDirectConnectServerUrl();
378417
378443
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
378418
378444
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -379201,7 +379227,7 @@ function LogoV2() {
379201
379227
  if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
379202
379228
  t2 = () => {
379203
379229
  const currentConfig2 = getGlobalConfig();
379204
- if (currentConfig2.lastReleaseNotesSeen === "1.44.5") {
379230
+ if (currentConfig2.lastReleaseNotesSeen === "1.44.7") {
379205
379231
  return;
379206
379232
  }
379207
379233
  saveGlobalConfig(_temp326);
@@ -379886,12 +379912,12 @@ function LogoV2() {
379886
379912
  return t41;
379887
379913
  }
379888
379914
  function _temp326(current) {
379889
- if (current.lastReleaseNotesSeen === "1.44.5") {
379915
+ if (current.lastReleaseNotesSeen === "1.44.7") {
379890
379916
  return current;
379891
379917
  }
379892
379918
  return {
379893
379919
  ...current,
379894
- lastReleaseNotesSeen: "1.44.5"
379920
+ lastReleaseNotesSeen: "1.44.7"
379895
379921
  };
379896
379922
  }
379897
379923
  function _temp241(s_0) {
@@ -596846,7 +596872,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
596846
596872
  smapsRollup,
596847
596873
  platform: process.platform,
596848
596874
  nodeVersion: process.version,
596849
- ccVersion: "1.44.5"
596875
+ ccVersion: "1.44.7"
596850
596876
  };
596851
596877
  }
596852
596878
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -597432,7 +597458,7 @@ var init_bridge_kick = __esm(() => {
597432
597458
  var call138 = async () => {
597433
597459
  return {
597434
597460
  type: "text",
597435
- value: "1.44.5"
597461
+ value: "1.44.7"
597436
597462
  };
597437
597463
  }, version2, version_default;
597438
597464
  var init_version = __esm(() => {
@@ -607525,7 +607551,7 @@ function generateHtmlReport(data, insights) {
607525
607551
  </html>`;
607526
607552
  }
607527
607553
  function buildExportData(data, insights, facets, remoteStats) {
607528
- const version3 = typeof MACRO !== "undefined" ? "1.44.5" : "unknown";
607554
+ const version3 = typeof MACRO !== "undefined" ? "1.44.7" : "unknown";
607529
607555
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
607530
607556
  const facets_summary = {
607531
607557
  total: facets.size,
@@ -611807,7 +611833,7 @@ var init_sessionStorage = __esm(() => {
611807
611833
  init_settings2();
611808
611834
  init_slowOperations();
611809
611835
  init_uuid();
611810
- VERSION5 = typeof MACRO !== "undefined" ? "1.44.5" : "unknown";
611836
+ VERSION5 = typeof MACRO !== "undefined" ? "1.44.7" : "unknown";
611811
611837
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
611812
611838
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
611813
611839
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -613012,7 +613038,7 @@ var init_filesystem = __esm(() => {
613012
613038
  });
613013
613039
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
613014
613040
  const nonce = randomBytes18(16).toString("hex");
613015
- return join202(getURTempDir(), "bundled-skills", "1.44.5", nonce);
613041
+ return join202(getURTempDir(), "bundled-skills", "1.44.7", nonce);
613016
613042
  });
613017
613043
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
613018
613044
  });
@@ -619303,7 +619329,7 @@ function computeFingerprint(messageText2, version3) {
619303
619329
  }
619304
619330
  function computeFingerprintFromMessages(messages) {
619305
619331
  const firstMessageText = extractFirstMessageText(messages);
619306
- return computeFingerprint(firstMessageText, "1.44.5");
619332
+ return computeFingerprint(firstMessageText, "1.44.7");
619307
619333
  }
619308
619334
  var FINGERPRINT_SALT = "59cf53e54c78";
619309
619335
  var init_fingerprint = () => {};
@@ -621177,7 +621203,7 @@ async function sideQuery(opts) {
621177
621203
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
621178
621204
  }
621179
621205
  const messageText2 = extractFirstUserMessageText(messages);
621180
- const fingerprint2 = computeFingerprint(messageText2, "1.44.5");
621206
+ const fingerprint2 = computeFingerprint(messageText2, "1.44.7");
621181
621207
  const attributionHeader = getAttributionHeader(fingerprint2);
621182
621208
  const systemBlocks = [
621183
621209
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -625914,7 +625940,7 @@ function buildSystemInitMessage(inputs) {
625914
625940
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
625915
625941
  apiKeySource: getURHQApiKeyWithSource().source,
625916
625942
  betas: getSdkBetas(),
625917
- ur_version: "1.44.5",
625943
+ ur_version: "1.44.7",
625918
625944
  output_style: outputStyle2,
625919
625945
  agents: inputs.agents.map((agent) => agent.agentType),
625920
625946
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -640542,7 +640568,7 @@ var init_useVoiceEnabled = __esm(() => {
640542
640568
  function getSemverPart(version3) {
640543
640569
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
640544
640570
  }
640545
- function useUpdateNotification(updatedVersion, initialVersion = "1.44.5") {
640571
+ function useUpdateNotification(updatedVersion, initialVersion = "1.44.7") {
640546
640572
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react226.useState(() => getSemverPart(initialVersion));
640547
640573
  if (!updatedVersion) {
640548
640574
  return null;
@@ -640591,7 +640617,7 @@ function AutoUpdater({
640591
640617
  return;
640592
640618
  }
640593
640619
  if (false) {}
640594
- const currentVersion = "1.44.5";
640620
+ const currentVersion = "1.44.7";
640595
640621
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
640596
640622
  let latestVersion = await getLatestVersion(channel);
640597
640623
  const isDisabled = isAutoUpdaterDisabled();
@@ -640820,12 +640846,12 @@ function NativeAutoUpdater({
640820
640846
  logEvent("tengu_native_auto_updater_start", {});
640821
640847
  try {
640822
640848
  const maxVersion = await getMaxVersion();
640823
- if (maxVersion && gt("1.44.5", maxVersion)) {
640849
+ if (maxVersion && gt("1.44.7", maxVersion)) {
640824
640850
  const msg = await getMaxVersionMessage();
640825
640851
  setMaxVersionIssue(msg ?? "affects your version");
640826
640852
  }
640827
640853
  const result = await installLatest(channel);
640828
- const currentVersion = "1.44.5";
640854
+ const currentVersion = "1.44.7";
640829
640855
  const latencyMs = Date.now() - startTime;
640830
640856
  if (result.lockFailed) {
640831
640857
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -640962,17 +640988,17 @@ function PackageManagerAutoUpdater(t0) {
640962
640988
  const maxVersion = await getMaxVersion();
640963
640989
  if (maxVersion && latest && gt(latest, maxVersion)) {
640964
640990
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
640965
- if (gte("1.44.5", maxVersion)) {
640966
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.44.5"} is already at or above maxVersion ${maxVersion}, skipping update`);
640991
+ if (gte("1.44.7", maxVersion)) {
640992
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.44.7"} is already at or above maxVersion ${maxVersion}, skipping update`);
640967
640993
  setUpdateAvailable(false);
640968
640994
  return;
640969
640995
  }
640970
640996
  latest = maxVersion;
640971
640997
  }
640972
- const hasUpdate = latest && !gte("1.44.5", latest) && !shouldSkipVersion(latest);
640998
+ const hasUpdate = latest && !gte("1.44.7", latest) && !shouldSkipVersion(latest);
640973
640999
  setUpdateAvailable(!!hasUpdate);
640974
641000
  if (hasUpdate) {
640975
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.44.5"} -> ${latest}`);
641001
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.44.7"} -> ${latest}`);
640976
641002
  }
640977
641003
  };
640978
641004
  $3[0] = t1;
@@ -641006,7 +641032,7 @@ function PackageManagerAutoUpdater(t0) {
641006
641032
  wrap: "truncate",
641007
641033
  children: [
641008
641034
  "currentVersion: ",
641009
- "1.44.5"
641035
+ "1.44.7"
641010
641036
  ]
641011
641037
  }, undefined, true, undefined, this);
641012
641038
  $3[3] = verbose;
@@ -646144,15 +646170,19 @@ function getNextPermissionMode(toolPermissionContext, _teamContext) {
646144
646170
  if (toolPermissionContext.isBypassPermissionsModeAvailable) {
646145
646171
  return "bypassPermissions";
646146
646172
  }
646147
- return "dontAsk";
646148
- case "dontAsk":
646173
+ return "autoApprove";
646174
+ case "autoApprove":
646149
646175
  if (canCycleToAuto(toolPermissionContext)) {
646150
646176
  return "auto";
646151
646177
  }
646152
646178
  return "default";
646153
646179
  case "bypassPermissions":
646180
+ return "autoApprove";
646181
+ case "dontAsk":
646182
+ return "default";
646183
+ case "auto":
646154
646184
  if (canCycleToAuto(toolPermissionContext)) {
646155
- return "auto";
646185
+ return "default";
646156
646186
  }
646157
646187
  return "default";
646158
646188
  default:
@@ -653458,7 +653488,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
653458
653488
  project_dir: getOriginalCwd(),
653459
653489
  added_dirs: addedDirs
653460
653490
  },
653461
- version: "1.44.5",
653491
+ version: "1.44.7",
653462
653492
  output_style: {
653463
653493
  name: outputStyleName
653464
653494
  },
@@ -653541,7 +653571,7 @@ function StatusLineInner({
653541
653571
  const taskValues = Object.values(tasks2);
653542
653572
  const taskRunningCount = taskValues.filter((task2) => task2.status === "running" || task2.status === "pending").length;
653543
653573
  const defaultStatusLineText = buildDefaultStatusBar({
653544
- version: "1.44.5",
653574
+ version: "1.44.7",
653545
653575
  providerLabel: providerRuntime.providerLabel,
653546
653576
  authMode: providerRuntime.authLabel,
653547
653577
  model: providerRuntime.model ?? renderModelName(mainLoopModel),
@@ -665472,7 +665502,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
665472
665502
  } catch {}
665473
665503
  const data = {
665474
665504
  trigger: trigger2,
665475
- version: "1.44.5",
665505
+ version: "1.44.7",
665476
665506
  platform: process.platform,
665477
665507
  transcript,
665478
665508
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -677357,7 +677387,7 @@ function WelcomeV2() {
677357
677387
  dimColor: true,
677358
677388
  children: [
677359
677389
  "v",
677360
- "1.44.5"
677390
+ "1.44.7"
677361
677391
  ]
677362
677392
  }, undefined, true, undefined, this)
677363
677393
  ]
@@ -678617,7 +678647,7 @@ function completeOnboarding() {
678617
678647
  saveGlobalConfig((current) => ({
678618
678648
  ...current,
678619
678649
  hasCompletedOnboarding: true,
678620
- lastOnboardingVersion: "1.44.5"
678650
+ lastOnboardingVersion: "1.44.7"
678621
678651
  }));
678622
678652
  }
678623
678653
  function showDialog(root2, renderer) {
@@ -682259,15 +682289,14 @@ Settings load in order: user \u2192 project \u2192 local (later overrides earlie
682259
682289
  "allow": ["Bash(npm:*)", "Edit(.ur)", "Read"],
682260
682290
  "deny": ["Bash(rm -rf:*)"],
682261
682291
  "ask": ["Write(/etc/*)"],
682262
- "defaultMode": "default" | "plan" | "acceptEdits" | "dontAsk",
682292
+ "defaultMode": "default" | "plan" | "acceptEdits" | "autoApprove",
682263
682293
  "additionalDirectories": ["/extra/dir"]
682264
682294
  }
682265
682295
  }
682266
682296
  \`\`\`
682267
682297
 
682268
- Set \`permissions.defaultMode\` to \`"dontAsk"\` to auto-approve operations that
682269
- would otherwise stop for manual approval. Explicit deny rules and security
682270
- policy blocks still apply.
682298
+ Set \`permissions.defaultMode\` to \`"autoApprove"\` to auto-approve operations
682299
+ that would otherwise stop for permission approval. User-input dialogs still ask.
682271
682300
 
682272
682301
  **Permission Rule Syntax:**
682273
682302
  - Exact match: \`"Bash(npm run test)"\`
@@ -683658,7 +683687,7 @@ function appendToLog(path24, message) {
683658
683687
  cwd: getFsImplementation().cwd(),
683659
683688
  userType: process.env.USER_TYPE,
683660
683689
  sessionId: getSessionId(),
683661
- version: "1.44.5"
683690
+ version: "1.44.7"
683662
683691
  };
683663
683692
  getLogWriter(path24).write(messageWithTimestamp);
683664
683693
  }
@@ -687752,8 +687781,8 @@ async function getEnvLessBridgeConfig() {
687752
687781
  }
687753
687782
  async function checkEnvLessBridgeMinVersion() {
687754
687783
  const cfg = await getEnvLessBridgeConfig();
687755
- if (cfg.min_version && lt("1.44.5", cfg.min_version)) {
687756
- return `Your version of UR (${"1.44.5"}) is too old for Remote Control.
687784
+ if (cfg.min_version && lt("1.44.7", cfg.min_version)) {
687785
+ return `Your version of UR (${"1.44.7"}) is too old for Remote Control.
687757
687786
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
687758
687787
  }
687759
687788
  return null;
@@ -688227,7 +688256,7 @@ async function initBridgeCore(params) {
688227
688256
  const rawApi = createBridgeApiClient({
688228
688257
  baseUrl,
688229
688258
  getAccessToken,
688230
- runnerVersion: "1.44.5",
688259
+ runnerVersion: "1.44.7",
688231
688260
  onDebug: logForDebugging,
688232
688261
  onAuth401,
688233
688262
  getTrustedDeviceToken
@@ -693909,7 +693938,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
693909
693938
  setCwd(cwd3);
693910
693939
  const server2 = new Server({
693911
693940
  name: "ur/tengu",
693912
- version: "1.44.5"
693941
+ version: "1.44.7"
693913
693942
  }, {
693914
693943
  capabilities: {
693915
693944
  tools: {}
@@ -695951,7 +695980,7 @@ async function update() {
695951
695980
  logEvent("tengu_update_check", {});
695952
695981
  const diagnostic = await getDoctorDiagnostic();
695953
695982
  const result = await checkUpgradeStatus({
695954
- currentVersion: "1.44.5",
695983
+ currentVersion: "1.44.7",
695955
695984
  packageName: UR_AGENT_PACKAGE_NAME,
695956
695985
  installationType: diagnostic.installationType,
695957
695986
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -697197,7 +697226,7 @@ ${customInstructions}` : customInstructions;
697197
697226
  }
697198
697227
  }
697199
697228
  logForDiagnosticsNoPII("info", "started", {
697200
- version: "1.44.5",
697229
+ version: "1.44.7",
697201
697230
  is_native_binary: isInBundledMode()
697202
697231
  });
697203
697232
  registerCleanup(async () => {
@@ -697983,7 +698012,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
697983
698012
  pendingHookMessages
697984
698013
  }, renderAndRun);
697985
698014
  }
697986
- }).version("1.44.5 (UR-Nexus)", "-v, --version", "Output the version number");
698015
+ }).version("1.44.7 (UR-Nexus)", "-v, --version", "Output the version number");
697987
698016
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
697988
698017
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
697989
698018
  if (canUserConfigureAdvisor()) {
@@ -698898,7 +698927,7 @@ if (false) {}
698898
698927
  async function main2() {
698899
698928
  const args = process.argv.slice(2);
698900
698929
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
698901
- console.log(`${"1.44.5"} (UR-Nexus)`);
698930
+ console.log(`${"1.44.7"} (UR-Nexus)`);
698902
698931
  return;
698903
698932
  }
698904
698933
  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.44.5</p>
47
+ <p class="eyebrow">Version 1.44.7</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.44.5",
5
+ "version": "1.44.7",
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.44.5",
3
+ "version": "1.44.7",
4
4
  "description": "UR-Nexus — autonomous engineering workflow engine (plan, execute, test, verify, document, benchmark, reproduce)",
5
5
  "type": "module",
6
6
  "packageManager": "bun@1.3.14",