ur-agent 1.11.2 → 1.11.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.11.3
4
+
5
+ ### Changed
6
+ - **Read-only web browsing.** `WebSearch` and `WebFetch` now run without
7
+ prompting by default, while still respecting explicit deny or ask rules.
8
+ - **Source visibility.** `WebFetch` tool results now include the fetched URL so
9
+ final answers can mention where the result came from.
10
+
3
11
  ## 1.11.2
4
12
 
5
13
  ### Fixed
package/dist/cli.js CHANGED
@@ -69537,7 +69537,7 @@ var init_auth = __esm(() => {
69537
69537
 
69538
69538
  // src/utils/userAgent.ts
69539
69539
  function getURCodeUserAgent() {
69540
- return `ur/${"1.11.2"}`;
69540
+ return `ur/${"1.11.3"}`;
69541
69541
  }
69542
69542
 
69543
69543
  // src/utils/workloadContext.ts
@@ -69559,7 +69559,7 @@ function getUserAgent() {
69559
69559
  const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
69560
69560
  const workload = getWorkload();
69561
69561
  const workloadSuffix = workload ? `, workload/${workload}` : "";
69562
- return `ur-cli/${"1.11.2"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
69562
+ return `ur-cli/${"1.11.3"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
69563
69563
  }
69564
69564
  function getMCPUserAgent() {
69565
69565
  const parts = [];
@@ -69573,7 +69573,7 @@ function getMCPUserAgent() {
69573
69573
  parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
69574
69574
  }
69575
69575
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
69576
- return `ur/${"1.11.2"}${suffix}`;
69576
+ return `ur/${"1.11.3"}${suffix}`;
69577
69577
  }
69578
69578
  function getWebFetchUserAgent() {
69579
69579
  return `UR-User (${getURCodeUserAgent()})`;
@@ -69711,7 +69711,7 @@ var init_user = __esm(() => {
69711
69711
  deviceId,
69712
69712
  sessionId: getSessionId(),
69713
69713
  email: getEmail(),
69714
- appVersion: "1.11.2",
69714
+ appVersion: "1.11.3",
69715
69715
  platform: getHostPlatformForAnalytics(),
69716
69716
  organizationUuid,
69717
69717
  accountUuid,
@@ -75488,7 +75488,7 @@ var init_metadata = __esm(() => {
75488
75488
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
75489
75489
  WHITESPACE_REGEX = /\s+/;
75490
75490
  getVersionBase = memoize_default(() => {
75491
- const match = "1.11.2".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
75491
+ const match = "1.11.3".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
75492
75492
  return match ? match[0] : undefined;
75493
75493
  });
75494
75494
  buildEnvContext = memoize_default(async () => {
@@ -75528,7 +75528,7 @@ var init_metadata = __esm(() => {
75528
75528
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
75529
75529
  isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
75530
75530
  isURAiAuth: isURAISubscriber2(),
75531
- version: "1.11.2",
75531
+ version: "1.11.3",
75532
75532
  versionBase: getVersionBase(),
75533
75533
  buildTime: "",
75534
75534
  deploymentEnvironment: env3.detectDeploymentEnvironment(),
@@ -76198,7 +76198,7 @@ function initialize1PEventLogging() {
76198
76198
  const platform2 = getPlatform();
76199
76199
  const attributes = {
76200
76200
  [import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
76201
- [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.11.2"
76201
+ [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.11.3"
76202
76202
  };
76203
76203
  if (platform2 === "wsl") {
76204
76204
  const wslVersion = getWslVersion();
@@ -76225,7 +76225,7 @@ function initialize1PEventLogging() {
76225
76225
  })
76226
76226
  ]
76227
76227
  });
76228
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.11.2");
76228
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.11.3");
76229
76229
  }
76230
76230
  async function reinitialize1PEventLoggingIfConfigChanged() {
76231
76231
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -78089,7 +78089,7 @@ function getAttributionHeader(fingerprint) {
78089
78089
  if (!isAttributionHeaderEnabled()) {
78090
78090
  return "";
78091
78091
  }
78092
- const version2 = `${"1.11.2"}.${fingerprint}`;
78092
+ const version2 = `${"1.11.3"}.${fingerprint}`;
78093
78093
  const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
78094
78094
  const cch = "";
78095
78095
  const workload = getWorkload();
@@ -118976,6 +118976,7 @@ Usage notes:
118976
118976
  - HTTP URLs will be automatically upgraded to HTTPS
118977
118977
  - The prompt should describe what information you want to extract from the page
118978
118978
  - This tool is read-only and does not modify any files
118979
+ - When using fetched content in your final answer, mention the fetched URL or domain as the source
118979
118980
  - Results may be summarized if the content is very large
118980
118981
  - Includes a self-cleaning 15-minute cache for faster responses when repeatedly accessing the same URL
118981
118982
  - When a URL redirects to a different host, the tool will inform you and provide the redirect URL in a special format. You should then make a new WebFetch request with the redirect URL to fetch the content.
@@ -184559,7 +184560,7 @@ function getTelemetryAttributes() {
184559
184560
  attributes["session.id"] = sessionId;
184560
184561
  }
184561
184562
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
184562
- attributes["app.version"] = "1.11.2";
184563
+ attributes["app.version"] = "1.11.3";
184563
184564
  }
184564
184565
  const oauthAccount = getOauthAccountInfo();
184565
184566
  if (oauthAccount) {
@@ -220157,7 +220158,7 @@ function getInstallationEnv() {
220157
220158
  return;
220158
220159
  }
220159
220160
  function getURCodeVersion() {
220160
- return "1.11.2";
220161
+ return "1.11.3";
220161
220162
  }
220162
220163
  async function getInstalledVSCodeExtensionVersion(command) {
220163
220164
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -222885,7 +222886,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
222885
222886
  const client2 = new Client({
222886
222887
  name: "ur",
222887
222888
  title: "UR",
222888
- version: "1.11.2",
222889
+ version: "1.11.3",
222889
222890
  description: "URHQ's agentic coding tool",
222890
222891
  websiteUrl: PRODUCT_URL
222891
222892
  }, {
@@ -223239,7 +223240,7 @@ var init_client5 = __esm(() => {
223239
223240
  const client2 = new Client({
223240
223241
  name: "ur",
223241
223242
  title: "UR",
223242
- version: "1.11.2",
223243
+ version: "1.11.3",
223243
223244
  description: "URHQ's agentic coding tool",
223244
223245
  websiteUrl: PRODUCT_URL
223245
223246
  }, {
@@ -232958,9 +232959,9 @@ async function assertMinVersion() {
232958
232959
  if (false) {}
232959
232960
  try {
232960
232961
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
232961
- if (versionConfig.minVersion && lt("1.11.2", versionConfig.minVersion)) {
232962
+ if (versionConfig.minVersion && lt("1.11.3", versionConfig.minVersion)) {
232962
232963
  console.error(`
232963
- It looks like your version of UR (${"1.11.2"}) needs an update.
232964
+ It looks like your version of UR (${"1.11.3"}) needs an update.
232964
232965
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
232965
232966
 
232966
232967
  To update, please run:
@@ -233176,7 +233177,7 @@ async function installGlobalPackage(specificVersion) {
233176
233177
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
233177
233178
  logEvent("tengu_auto_updater_lock_contention", {
233178
233179
  pid: process.pid,
233179
- currentVersion: "1.11.2"
233180
+ currentVersion: "1.11.3"
233180
233181
  });
233181
233182
  return "in_progress";
233182
233183
  }
@@ -233185,7 +233186,7 @@ async function installGlobalPackage(specificVersion) {
233185
233186
  if (!env3.isRunningWithBun() && env3.isNpmFromWindowsPath()) {
233186
233187
  logError2(new Error("Windows NPM detected in WSL environment"));
233187
233188
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
233188
- currentVersion: "1.11.2"
233189
+ currentVersion: "1.11.3"
233189
233190
  });
233190
233191
  console.error(`
233191
233192
  Error: Windows NPM detected in WSL
@@ -233720,7 +233721,7 @@ function detectLinuxGlobPatternWarnings() {
233720
233721
  }
233721
233722
  async function getDoctorDiagnostic() {
233722
233723
  const installationType = await getCurrentInstallationType();
233723
- const version2 = typeof MACRO !== "undefined" ? "1.11.2" : "unknown";
233724
+ const version2 = typeof MACRO !== "undefined" ? "1.11.3" : "unknown";
233724
233725
  const installationPath = await getInstallationPath();
233725
233726
  const invokedBinary = getInvokedBinary();
233726
233727
  const multipleInstallations = await detectMultipleInstallations();
@@ -234655,8 +234656,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
234655
234656
  const maxVersion = await getMaxVersion();
234656
234657
  if (maxVersion && gt(version2, maxVersion)) {
234657
234658
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
234658
- if (gte("1.11.2", maxVersion)) {
234659
- logForDebugging(`Native installer: current version ${"1.11.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
234659
+ if (gte("1.11.3", maxVersion)) {
234660
+ logForDebugging(`Native installer: current version ${"1.11.3"} is already at or above maxVersion ${maxVersion}, skipping update`);
234660
234661
  logEvent("tengu_native_update_skipped_max_version", {
234661
234662
  latency_ms: Date.now() - startTime,
234662
234663
  max_version: maxVersion,
@@ -234667,7 +234668,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
234667
234668
  version2 = maxVersion;
234668
234669
  }
234669
234670
  }
234670
- if (!forceReinstall && version2 === "1.11.2" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
234671
+ if (!forceReinstall && version2 === "1.11.3" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
234671
234672
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
234672
234673
  logEvent("tengu_native_update_complete", {
234673
234674
  latency_ms: Date.now() - startTime,
@@ -284557,9 +284558,12 @@ var init_WebFetchTool = __esm(() => {
284557
284558
  };
284558
284559
  }
284559
284560
  return {
284560
- behavior: "ask",
284561
- message: `UR requested permissions to use ${WebFetchTool.name}, but you haven't granted it yet.`,
284562
- suggestions: buildSuggestions(ruleContent)
284561
+ behavior: "allow",
284562
+ updatedInput: input,
284563
+ decisionReason: {
284564
+ type: "other",
284565
+ reason: "Read-only web fetches are allowed by default"
284566
+ }
284563
284567
  };
284564
284568
  },
284565
284569
  async prompt(_options) {
@@ -284642,11 +284646,13 @@ To complete your request, I need to fetch content from the redirected URL. Pleas
284642
284646
  data: output
284643
284647
  };
284644
284648
  },
284645
- mapToolResultToToolResultBlockParam({ result }, toolUseID) {
284649
+ mapToolResultToToolResultBlockParam({ result, url: url3 }, toolUseID) {
284646
284650
  return {
284647
284651
  tool_use_id: toolUseID,
284648
284652
  type: "tool_result",
284649
- content: result
284653
+ content: `Source URL: ${url3}
284654
+
284655
+ ${result}`
284650
284656
  };
284651
284657
  }
284652
284658
  });
@@ -286306,6 +286312,7 @@ var init_WebSearchTool = __esm(() => {
286306
286312
  init_log2();
286307
286313
  init_messages();
286308
286314
  init_model();
286315
+ init_permissions2();
286309
286316
  init_slowOperations();
286310
286317
  init_prompt5();
286311
286318
  init_UI16();
@@ -286375,18 +286382,50 @@ var init_WebSearchTool = __esm(() => {
286375
286382
  toAutoClassifierInput(input) {
286376
286383
  return input.query;
286377
286384
  },
286378
- async checkPermissions(_input) {
286379
- return {
286380
- behavior: "passthrough",
286381
- message: "WebSearchTool requires permission.",
286382
- suggestions: [
286383
- {
286384
- type: "addRules",
286385
- rules: [{ toolName: WEB_SEARCH_TOOL_NAME }],
286386
- behavior: "allow",
286387
- destination: "localSettings"
286385
+ async checkPermissions(input, context3) {
286386
+ const appState = context3.getAppState();
286387
+ const permissionContext = appState.toolPermissionContext;
286388
+ const ruleContent = input.query;
286389
+ const denyRule = getRuleByContentsForTool(permissionContext, WebSearchTool, "deny").get(ruleContent);
286390
+ if (denyRule) {
286391
+ return {
286392
+ behavior: "deny",
286393
+ message: `${WebSearchTool.name} denied access to ${ruleContent}.`,
286394
+ decisionReason: {
286395
+ type: "rule",
286396
+ rule: denyRule
286388
286397
  }
286389
- ]
286398
+ };
286399
+ }
286400
+ const askRule = getRuleByContentsForTool(permissionContext, WebSearchTool, "ask").get(ruleContent);
286401
+ if (askRule) {
286402
+ return {
286403
+ behavior: "ask",
286404
+ message: `UR requested permissions to use ${WebSearchTool.name}, but you haven't granted it yet.`,
286405
+ decisionReason: {
286406
+ type: "rule",
286407
+ rule: askRule
286408
+ }
286409
+ };
286410
+ }
286411
+ const allowRule = getRuleByContentsForTool(permissionContext, WebSearchTool, "allow").get(ruleContent);
286412
+ if (allowRule) {
286413
+ return {
286414
+ behavior: "allow",
286415
+ updatedInput: input,
286416
+ decisionReason: {
286417
+ type: "rule",
286418
+ rule: allowRule
286419
+ }
286420
+ };
286421
+ }
286422
+ return {
286423
+ behavior: "allow",
286424
+ updatedInput: input,
286425
+ decisionReason: {
286426
+ type: "other",
286427
+ reason: "Read-only web searches are allowed by default"
286428
+ }
286390
286429
  };
286391
286430
  },
286392
286431
  async prompt() {
@@ -328833,7 +328872,7 @@ function Feedback({
328833
328872
  platform: env3.platform,
328834
328873
  gitRepo: envInfo.isGit,
328835
328874
  terminal: env3.terminal,
328836
- version: "1.11.2",
328875
+ version: "1.11.3",
328837
328876
  transcript: normalizeMessagesForAPI(messages),
328838
328877
  errors: sanitizedErrors,
328839
328878
  lastApiRequest: getLastAPIRequest(),
@@ -329025,7 +329064,7 @@ function Feedback({
329025
329064
  ", ",
329026
329065
  env3.terminal,
329027
329066
  ", v",
329028
- "1.11.2"
329067
+ "1.11.3"
329029
329068
  ]
329030
329069
  }, undefined, true, undefined, this)
329031
329070
  ]
@@ -329131,7 +329170,7 @@ ${sanitizedDescription}
329131
329170
  ` + `**Environment Info**
329132
329171
  ` + `- Platform: ${env3.platform}
329133
329172
  ` + `- Terminal: ${env3.terminal}
329134
- ` + `- Version: ${"1.11.2"}
329173
+ ` + `- Version: ${"1.11.3"}
329135
329174
  ` + `- Feedback ID: ${feedbackId}
329136
329175
  ` + `
329137
329176
  **Errors**
@@ -332241,7 +332280,7 @@ function buildPrimarySection() {
332241
332280
  }, undefined, false, undefined, this);
332242
332281
  return [{
332243
332282
  label: "Version",
332244
- value: "1.11.2"
332283
+ value: "1.11.3"
332245
332284
  }, {
332246
332285
  label: "Session name",
332247
332286
  value: nameValue
@@ -335519,7 +335558,7 @@ function Config({
335519
335558
  }
335520
335559
  }, undefined, false, undefined, this)
335521
335560
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime177.jsxDEV(ChannelDowngradeDialog, {
335522
- currentVersion: "1.11.2",
335561
+ currentVersion: "1.11.3",
335523
335562
  onChoice: (choice) => {
335524
335563
  setShowSubmenu(null);
335525
335564
  setTabsHidden(false);
@@ -335531,7 +335570,7 @@ function Config({
335531
335570
  autoUpdatesChannel: "stable"
335532
335571
  };
335533
335572
  if (choice === "stay") {
335534
- newSettings.minimumVersion = "1.11.2";
335573
+ newSettings.minimumVersion = "1.11.3";
335535
335574
  }
335536
335575
  updateSettingsForSource("userSettings", newSettings);
335537
335576
  setSettingsData((prev_27) => ({
@@ -343601,7 +343640,7 @@ function HelpV2(t0) {
343601
343640
  let t6;
343602
343641
  if ($3[31] !== tabs) {
343603
343642
  t6 = /* @__PURE__ */ jsx_dev_runtime204.jsxDEV(Tabs, {
343604
- title: `UR v${"1.11.2"}`,
343643
+ title: `UR v${"1.11.3"}`,
343605
343644
  color: "professionalBlue",
343606
343645
  defaultTab: "general",
343607
343646
  children: tabs
@@ -363204,7 +363243,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
363204
363243
  return [];
363205
363244
  }
363206
363245
  }
363207
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.11.2") {
363246
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.11.3") {
363208
363247
  if (process.env.USER_TYPE === "ant") {
363209
363248
  const changelog = "";
363210
363249
  if (changelog) {
@@ -363231,7 +363270,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.11.2")
363231
363270
  releaseNotes
363232
363271
  };
363233
363272
  }
363234
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.11.2") {
363273
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.11.3") {
363235
363274
  if (process.env.USER_TYPE === "ant") {
363236
363275
  const changelog = "";
363237
363276
  if (changelog) {
@@ -364401,7 +364440,7 @@ function getRecentActivitySync() {
364401
364440
  return cachedActivity;
364402
364441
  }
364403
364442
  function getLogoDisplayData() {
364404
- const version2 = process.env.DEMO_VERSION ?? "1.11.2";
364443
+ const version2 = process.env.DEMO_VERSION ?? "1.11.3";
364405
364444
  const serverUrl = getDirectConnectServerUrl();
364406
364445
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
364407
364446
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -365190,7 +365229,7 @@ function LogoV2() {
365190
365229
  if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
365191
365230
  t2 = () => {
365192
365231
  const currentConfig = getGlobalConfig();
365193
- if (currentConfig.lastReleaseNotesSeen === "1.11.2") {
365232
+ if (currentConfig.lastReleaseNotesSeen === "1.11.3") {
365194
365233
  return;
365195
365234
  }
365196
365235
  saveGlobalConfig(_temp326);
@@ -365875,12 +365914,12 @@ function LogoV2() {
365875
365914
  return t41;
365876
365915
  }
365877
365916
  function _temp326(current) {
365878
- if (current.lastReleaseNotesSeen === "1.11.2") {
365917
+ if (current.lastReleaseNotesSeen === "1.11.3") {
365879
365918
  return current;
365880
365919
  }
365881
365920
  return {
365882
365921
  ...current,
365883
- lastReleaseNotesSeen: "1.11.2"
365922
+ lastReleaseNotesSeen: "1.11.3"
365884
365923
  };
365885
365924
  }
365886
365925
  function _temp243(s_0) {
@@ -395697,7 +395736,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
395697
395736
  smapsRollup,
395698
395737
  platform: process.platform,
395699
395738
  nodeVersion: process.version,
395700
- ccVersion: "1.11.2"
395739
+ ccVersion: "1.11.3"
395701
395740
  };
395702
395741
  }
395703
395742
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -396283,7 +396322,7 @@ var init_bridge_kick = __esm(() => {
396283
396322
  var call93 = async () => {
396284
396323
  return {
396285
396324
  type: "text",
396286
- value: "1.11.2"
396325
+ value: "1.11.3"
396287
396326
  };
396288
396327
  }, version2, version_default;
396289
396328
  var init_version = __esm(() => {
@@ -405323,7 +405362,7 @@ function generateHtmlReport(data, insights) {
405323
405362
  </html>`;
405324
405363
  }
405325
405364
  function buildExportData(data, insights, facets, remoteStats) {
405326
- const version3 = typeof MACRO !== "undefined" ? "1.11.2" : "unknown";
405365
+ const version3 = typeof MACRO !== "undefined" ? "1.11.3" : "unknown";
405327
405366
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
405328
405367
  const facets_summary = {
405329
405368
  total: facets.size,
@@ -409510,7 +409549,7 @@ var init_sessionStorage = __esm(() => {
409510
409549
  init_settings2();
409511
409550
  init_slowOperations();
409512
409551
  init_uuid();
409513
- VERSION5 = typeof MACRO !== "undefined" ? "1.11.2" : "unknown";
409552
+ VERSION5 = typeof MACRO !== "undefined" ? "1.11.3" : "unknown";
409514
409553
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
409515
409554
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
409516
409555
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -410715,7 +410754,7 @@ var init_filesystem = __esm(() => {
410715
410754
  });
410716
410755
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
410717
410756
  const nonce = randomBytes18(16).toString("hex");
410718
- return join150(getURTempDir(), "bundled-skills", "1.11.2", nonce);
410757
+ return join150(getURTempDir(), "bundled-skills", "1.11.3", nonce);
410719
410758
  });
410720
410759
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
410721
410760
  });
@@ -416746,7 +416785,7 @@ function computeFingerprint(messageText, version3) {
416746
416785
  }
416747
416786
  function computeFingerprintFromMessages(messages) {
416748
416787
  const firstMessageText = extractFirstMessageText(messages);
416749
- return computeFingerprint(firstMessageText, "1.11.2");
416788
+ return computeFingerprint(firstMessageText, "1.11.3");
416750
416789
  }
416751
416790
  var FINGERPRINT_SALT = "59cf53e54c78";
416752
416791
  var init_fingerprint = () => {};
@@ -418612,7 +418651,7 @@ async function sideQuery(opts) {
418612
418651
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
418613
418652
  }
418614
418653
  const messageText = extractFirstUserMessageText(messages);
418615
- const fingerprint = computeFingerprint(messageText, "1.11.2");
418654
+ const fingerprint = computeFingerprint(messageText, "1.11.3");
418616
418655
  const attributionHeader = getAttributionHeader(fingerprint);
418617
418656
  const systemBlocks = [
418618
418657
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -423349,7 +423388,7 @@ function buildSystemInitMessage(inputs) {
423349
423388
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
423350
423389
  apiKeySource: getURHQApiKeyWithSource().source,
423351
423390
  betas: getSdkBetas(),
423352
- ur_version: "1.11.2",
423391
+ ur_version: "1.11.3",
423353
423392
  output_style: outputStyle2,
423354
423393
  agents: inputs.agents.map((agent) => agent.agentType),
423355
423394
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -437977,7 +438016,7 @@ var init_useVoiceEnabled = __esm(() => {
437977
438016
  function getSemverPart(version3) {
437978
438017
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
437979
438018
  }
437980
- function useUpdateNotification(updatedVersion, initialVersion = "1.11.2") {
438019
+ function useUpdateNotification(updatedVersion, initialVersion = "1.11.3") {
437981
438020
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react224.useState(() => getSemverPart(initialVersion));
437982
438021
  if (!updatedVersion) {
437983
438022
  return null;
@@ -438017,7 +438056,7 @@ function AutoUpdater({
438017
438056
  return;
438018
438057
  }
438019
438058
  if (false) {}
438020
- const currentVersion = "1.11.2";
438059
+ const currentVersion = "1.11.3";
438021
438060
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
438022
438061
  let latestVersion = await getLatestVersion(channel);
438023
438062
  const isDisabled = isAutoUpdaterDisabled();
@@ -438230,12 +438269,12 @@ function NativeAutoUpdater({
438230
438269
  logEvent("tengu_native_auto_updater_start", {});
438231
438270
  try {
438232
438271
  const maxVersion = await getMaxVersion();
438233
- if (maxVersion && gt("1.11.2", maxVersion)) {
438272
+ if (maxVersion && gt("1.11.3", maxVersion)) {
438234
438273
  const msg = await getMaxVersionMessage();
438235
438274
  setMaxVersionIssue(msg ?? "affects your version");
438236
438275
  }
438237
438276
  const result = await installLatest(channel);
438238
- const currentVersion = "1.11.2";
438277
+ const currentVersion = "1.11.3";
438239
438278
  const latencyMs = Date.now() - startTime;
438240
438279
  if (result.lockFailed) {
438241
438280
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -438372,17 +438411,17 @@ function PackageManagerAutoUpdater(t0) {
438372
438411
  const maxVersion = await getMaxVersion();
438373
438412
  if (maxVersion && latest && gt(latest, maxVersion)) {
438374
438413
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
438375
- if (gte("1.11.2", maxVersion)) {
438376
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.11.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
438414
+ if (gte("1.11.3", maxVersion)) {
438415
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.11.3"} is already at or above maxVersion ${maxVersion}, skipping update`);
438377
438416
  setUpdateAvailable(false);
438378
438417
  return;
438379
438418
  }
438380
438419
  latest = maxVersion;
438381
438420
  }
438382
- const hasUpdate = latest && !gte("1.11.2", latest) && !shouldSkipVersion(latest);
438421
+ const hasUpdate = latest && !gte("1.11.3", latest) && !shouldSkipVersion(latest);
438383
438422
  setUpdateAvailable(!!hasUpdate);
438384
438423
  if (hasUpdate) {
438385
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.11.2"} -> ${latest}`);
438424
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.11.3"} -> ${latest}`);
438386
438425
  }
438387
438426
  };
438388
438427
  $3[0] = t1;
@@ -438416,7 +438455,7 @@ function PackageManagerAutoUpdater(t0) {
438416
438455
  wrap: "truncate",
438417
438456
  children: [
438418
438457
  "currentVersion: ",
438419
- "1.11.2"
438458
+ "1.11.3"
438420
438459
  ]
438421
438460
  }, undefined, true, undefined, this);
438422
438461
  $3[3] = verbose;
@@ -450778,7 +450817,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
450778
450817
  project_dir: getOriginalCwd(),
450779
450818
  added_dirs: addedDirs
450780
450819
  },
450781
- version: "1.11.2",
450820
+ version: "1.11.3",
450782
450821
  output_style: {
450783
450822
  name: outputStyleName
450784
450823
  },
@@ -462270,7 +462309,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
462270
462309
  } catch {}
462271
462310
  const data = {
462272
462311
  trigger,
462273
- version: "1.11.2",
462312
+ version: "1.11.3",
462274
462313
  platform: process.platform,
462275
462314
  transcript,
462276
462315
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -474185,7 +474224,7 @@ function WelcomeV2() {
474185
474224
  dimColor: true,
474186
474225
  children: [
474187
474226
  "v",
474188
- "1.11.2"
474227
+ "1.11.3"
474189
474228
  ]
474190
474229
  }, undefined, true, undefined, this)
474191
474230
  ]
@@ -475445,7 +475484,7 @@ function completeOnboarding() {
475445
475484
  saveGlobalConfig((current) => ({
475446
475485
  ...current,
475447
475486
  hasCompletedOnboarding: true,
475448
- lastOnboardingVersion: "1.11.2"
475487
+ lastOnboardingVersion: "1.11.3"
475449
475488
  }));
475450
475489
  }
475451
475490
  function showDialog(root2, renderer) {
@@ -479905,7 +479944,7 @@ function appendToLog(path24, message) {
479905
479944
  cwd: getFsImplementation().cwd(),
479906
479945
  userType: process.env.USER_TYPE,
479907
479946
  sessionId: getSessionId(),
479908
- version: "1.11.2"
479947
+ version: "1.11.3"
479909
479948
  };
479910
479949
  getLogWriter(path24).write(messageWithTimestamp);
479911
479950
  }
@@ -483931,8 +483970,8 @@ async function getEnvLessBridgeConfig() {
483931
483970
  }
483932
483971
  async function checkEnvLessBridgeMinVersion() {
483933
483972
  const cfg = await getEnvLessBridgeConfig();
483934
- if (cfg.min_version && lt("1.11.2", cfg.min_version)) {
483935
- return `Your version of UR (${"1.11.2"}) is too old for Remote Control.
483973
+ if (cfg.min_version && lt("1.11.3", cfg.min_version)) {
483974
+ return `Your version of UR (${"1.11.3"}) is too old for Remote Control.
483936
483975
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
483937
483976
  }
483938
483977
  return null;
@@ -484406,7 +484445,7 @@ async function initBridgeCore(params) {
484406
484445
  const rawApi = createBridgeApiClient({
484407
484446
  baseUrl,
484408
484447
  getAccessToken,
484409
- runnerVersion: "1.11.2",
484448
+ runnerVersion: "1.11.3",
484410
484449
  onDebug: logForDebugging,
484411
484450
  onAuth401,
484412
484451
  getTrustedDeviceToken
@@ -490071,7 +490110,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
490071
490110
  setCwd(cwd3);
490072
490111
  const server = new Server({
490073
490112
  name: "ur/tengu",
490074
- version: "1.11.2"
490113
+ version: "1.11.3"
490075
490114
  }, {
490076
490115
  capabilities: {
490077
490116
  tools: {}
@@ -491682,7 +491721,7 @@ __export(exports_update, {
491682
491721
  });
491683
491722
  async function update() {
491684
491723
  logEvent("tengu_update_check", {});
491685
- writeToStdout(`Current version: ${"1.11.2"}
491724
+ writeToStdout(`Current version: ${"1.11.3"}
491686
491725
  `);
491687
491726
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
491688
491727
  writeToStdout(`Checking for updates to ${channel} version...
@@ -491757,8 +491796,8 @@ async function update() {
491757
491796
  writeToStdout(`UR is managed by Homebrew.
491758
491797
  `);
491759
491798
  const latest = await getLatestVersion(channel);
491760
- if (latest && !gte("1.11.2", latest)) {
491761
- writeToStdout(`Update available: ${"1.11.2"} \u2192 ${latest}
491799
+ if (latest && !gte("1.11.3", latest)) {
491800
+ writeToStdout(`Update available: ${"1.11.3"} \u2192 ${latest}
491762
491801
  `);
491763
491802
  writeToStdout(`
491764
491803
  `);
@@ -491774,8 +491813,8 @@ async function update() {
491774
491813
  writeToStdout(`UR is managed by winget.
491775
491814
  `);
491776
491815
  const latest = await getLatestVersion(channel);
491777
- if (latest && !gte("1.11.2", latest)) {
491778
- writeToStdout(`Update available: ${"1.11.2"} \u2192 ${latest}
491816
+ if (latest && !gte("1.11.3", latest)) {
491817
+ writeToStdout(`Update available: ${"1.11.3"} \u2192 ${latest}
491779
491818
  `);
491780
491819
  writeToStdout(`
491781
491820
  `);
@@ -491791,8 +491830,8 @@ async function update() {
491791
491830
  writeToStdout(`UR is managed by apk.
491792
491831
  `);
491793
491832
  const latest = await getLatestVersion(channel);
491794
- if (latest && !gte("1.11.2", latest)) {
491795
- writeToStdout(`Update available: ${"1.11.2"} \u2192 ${latest}
491833
+ if (latest && !gte("1.11.3", latest)) {
491834
+ writeToStdout(`Update available: ${"1.11.3"} \u2192 ${latest}
491796
491835
  `);
491797
491836
  writeToStdout(`
491798
491837
  `);
@@ -491857,11 +491896,11 @@ async function update() {
491857
491896
  `);
491858
491897
  await gracefulShutdown(1);
491859
491898
  }
491860
- if (result.latestVersion === "1.11.2") {
491861
- writeToStdout(source_default.green(`UR is up to date (${"1.11.2"})`) + `
491899
+ if (result.latestVersion === "1.11.3") {
491900
+ writeToStdout(source_default.green(`UR is up to date (${"1.11.3"})`) + `
491862
491901
  `);
491863
491902
  } else {
491864
- writeToStdout(source_default.green(`Successfully updated from ${"1.11.2"} to version ${result.latestVersion}`) + `
491903
+ writeToStdout(source_default.green(`Successfully updated from ${"1.11.3"} to version ${result.latestVersion}`) + `
491865
491904
  `);
491866
491905
  await regenerateCompletionCache();
491867
491906
  }
@@ -491921,12 +491960,12 @@ async function update() {
491921
491960
  `);
491922
491961
  await gracefulShutdown(1);
491923
491962
  }
491924
- if (latestVersion === "1.11.2") {
491925
- writeToStdout(source_default.green(`UR is up to date (${"1.11.2"})`) + `
491963
+ if (latestVersion === "1.11.3") {
491964
+ writeToStdout(source_default.green(`UR is up to date (${"1.11.3"})`) + `
491926
491965
  `);
491927
491966
  await gracefulShutdown(0);
491928
491967
  }
491929
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.11.2"})
491968
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.11.3"})
491930
491969
  `);
491931
491970
  writeToStdout(`Installing update...
491932
491971
  `);
@@ -491971,7 +492010,7 @@ async function update() {
491971
492010
  logForDebugging(`update: Installation status: ${status2}`);
491972
492011
  switch (status2) {
491973
492012
  case "success":
491974
- writeToStdout(source_default.green(`Successfully updated from ${"1.11.2"} to version ${latestVersion}`) + `
492013
+ writeToStdout(source_default.green(`Successfully updated from ${"1.11.3"} to version ${latestVersion}`) + `
491975
492014
  `);
491976
492015
  await regenerateCompletionCache();
491977
492016
  break;
@@ -493221,7 +493260,7 @@ ${customInstructions}` : customInstructions;
493221
493260
  }
493222
493261
  }
493223
493262
  logForDiagnosticsNoPII("info", "started", {
493224
- version: "1.11.2",
493263
+ version: "1.11.3",
493225
493264
  is_native_binary: isInBundledMode()
493226
493265
  });
493227
493266
  registerCleanup(async () => {
@@ -494005,7 +494044,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
494005
494044
  pendingHookMessages
494006
494045
  }, renderAndRun);
494007
494046
  }
494008
- }).version("1.11.2 (Ur)", "-v, --version", "Output the version number");
494047
+ }).version("1.11.3 (Ur)", "-v, --version", "Output the version number");
494009
494048
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
494010
494049
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
494011
494050
  if (canUserConfigureAdvisor()) {
@@ -494518,7 +494557,7 @@ if (false) {}
494518
494557
  async function main2() {
494519
494558
  const args = process.argv.slice(2);
494520
494559
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
494521
- console.log(`${"1.11.2"} (Ur)`);
494560
+ console.log(`${"1.11.3"} (Ur)`);
494522
494561
  return;
494523
494562
  }
494524
494563
  const {
@@ -17,7 +17,7 @@ You need:
17
17
 
18
18
  ```sh
19
19
  ur --version
20
- # expected: 1.11.2 (Ur)
20
+ # expected: 1.11.3 (Ur)
21
21
  ```
22
22
 
23
23
  ## 1. Marketplace tree resolves
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ur-agent",
3
- "version": "1.11.2",
3
+ "version": "1.11.3",
4
4
  "description": "UR terminal coding agent CLI",
5
5
  "type": "module",
6
6
  "packageManager": "bun@1.3.14",