ur-agent 1.68.7 → 1.68.9

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,38 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.68.9
4
+
5
+ - Narrowed that allowlist entry from `ur.com` to `ur.com/docs`. Replacing a
6
+ docs-only host with a bare domain widened what WebFetch retrieves without
7
+ asking, on a list whose own header warns that broad entries are dangerous
8
+ where a host may serve user-supplied content — and the domain in question
9
+ does not exist yet, so whatever ends up hosted there would have inherited
10
+ that trust. The matcher enforces path-segment boundaries, so `/docs-evil/x`
11
+ does not match. Caught by `apiTool`, which asserted the old entry.
12
+
13
+ ## 1.68.8
14
+
15
+ - The bundled `ur-guide` agent no longer answers UR questions out of another
16
+ product's documentation. It instructed the model to fetch
17
+ `https://docs.claude.com/llms.txt` and present it to users as "UR SDK docs"
18
+ and "UR API docs", including the line "Agent SDK docs are part of the UR API
19
+ documentation at the same URL". Its other source, `docs.ur.dev`, was never
20
+ served. Both now resolve to `https://ur.com/docs`.
21
+ - Replaced the remaining 33 `docs.ur.dev` links across MCP help, the security
22
+ dialog, keybindings, settings validation tips, preflight checks and the
23
+ feedback survey. Two sandbox dialogs had been pointing their href at the new
24
+ domain while still displaying the old one.
25
+ - `docs.ur.dev` in the WebFetch preapproved-host allowlist now points at
26
+ ur.com. Changed on its own: it is a hostname the fetch tool trusts, not a
27
+ link.
28
+ - `KNOWN_AGENTS` listed `ur-code-guide`; the registered agent type is
29
+ `ur-guide`. A workflow naming the real agent was warned as unknown, while the
30
+ listed name would have been accepted despite resolving to nothing.
31
+ - Removed a dead `UR_CODE_DOCS_MAP_URL` export from `constants/prompts.ts` —
32
+ a duplicate of the live constant, imported by nothing.
33
+ - Added `test/docsUrlIntegrity.test.ts`, including a check that a link's
34
+ displayed text matches where it actually goes.
35
+
3
36
  ## 1.68.7
4
37
 
5
38
  - Corrected the ur.ai -> ur.com replacement, which had rewritten identifiers as
package/dist/cli.js CHANGED
@@ -75702,7 +75702,7 @@ var init_auth = __esm(() => {
75702
75702
 
75703
75703
  // src/utils/userAgent.ts
75704
75704
  function getURCodeUserAgent() {
75705
- return `ur/${"1.68.7"}`;
75705
+ return `ur/${"1.68.9"}`;
75706
75706
  }
75707
75707
 
75708
75708
  // src/utils/workloadContext.ts
@@ -75724,7 +75724,7 @@ function getUserAgent() {
75724
75724
  const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
75725
75725
  const workload = getWorkload();
75726
75726
  const workloadSuffix = workload ? `, workload/${workload}` : "";
75727
- return `ur-cli/${"1.68.7"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
75727
+ return `ur-cli/${"1.68.9"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
75728
75728
  }
75729
75729
  function getMCPUserAgent() {
75730
75730
  const parts = [];
@@ -75738,7 +75738,7 @@ function getMCPUserAgent() {
75738
75738
  parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
75739
75739
  }
75740
75740
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
75741
- return `ur/${"1.68.7"}${suffix}`;
75741
+ return `ur/${"1.68.9"}${suffix}`;
75742
75742
  }
75743
75743
  function getWebFetchUserAgent() {
75744
75744
  return `UR-User (${getURCodeUserAgent()})`;
@@ -75876,7 +75876,7 @@ var init_user = __esm(() => {
75876
75876
  deviceId,
75877
75877
  sessionId: getSessionId(),
75878
75878
  email: getEmail(),
75879
- appVersion: "1.68.7",
75879
+ appVersion: "1.68.9",
75880
75880
  platform: getHostPlatformForAnalytics(),
75881
75881
  organizationUuid,
75882
75882
  accountUuid,
@@ -84076,7 +84076,7 @@ var init_metadata = __esm(() => {
84076
84076
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
84077
84077
  WHITESPACE_REGEX = /\s+/;
84078
84078
  getVersionBase = memoize_default(() => {
84079
- const match = "1.68.7".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
84079
+ const match = "1.68.9".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
84080
84080
  return match ? match[0] : undefined;
84081
84081
  });
84082
84082
  buildEnvContext = memoize_default(async () => {
@@ -84116,7 +84116,7 @@ var init_metadata = __esm(() => {
84116
84116
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
84117
84117
  isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
84118
84118
  isURAiAuth: isURAISubscriber(),
84119
- version: "1.68.7",
84119
+ version: "1.68.9",
84120
84120
  versionBase: getVersionBase(),
84121
84121
  buildTime: "",
84122
84122
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
@@ -84786,7 +84786,7 @@ function initialize1PEventLogging() {
84786
84786
  const platform2 = getPlatform();
84787
84787
  const attributes = {
84788
84788
  [import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
84789
- [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.68.7"
84789
+ [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.68.9"
84790
84790
  };
84791
84791
  if (platform2 === "wsl") {
84792
84792
  const wslVersion = getWslVersion();
@@ -84814,7 +84814,7 @@ function initialize1PEventLogging() {
84814
84814
  })
84815
84815
  ]
84816
84816
  });
84817
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.68.7");
84817
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.68.9");
84818
84818
  }
84819
84819
  async function reinitialize1PEventLoggingIfConfigChanged() {
84820
84820
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -87533,7 +87533,7 @@ function getValidationTip(context3) {
87533
87533
  }
87534
87534
  return tip;
87535
87535
  }
87536
- var DOCUMENTATION_BASE = "https://docs.ur.dev/docs/en", TIP_MATCHERS, PATH_DOC_LINKS;
87536
+ var DOCUMENTATION_BASE = "https://ur.com/docs", TIP_MATCHERS, PATH_DOC_LINKS;
87537
87537
  var init_validationTips = __esm(() => {
87538
87538
  TIP_MATCHERS = [
87539
87539
  {
@@ -94702,7 +94702,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
94702
94702
  function formatA2AAgentCard(options = {}, pretty = true) {
94703
94703
  return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
94704
94704
  }
94705
- var urVersion = "1.68.7", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
94705
+ var urVersion = "1.68.9", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
94706
94706
  var init_trends = __esm(() => {
94707
94707
  init_a2aCardSignature();
94708
94708
  coverage = [
@@ -97505,7 +97505,7 @@ function getAttributionHeader(fingerprint) {
97505
97505
  if (!isAttributionHeaderEnabled()) {
97506
97506
  return "";
97507
97507
  }
97508
- const version2 = `${"1.68.7"}.${fingerprint}`;
97508
+ const version2 = `${"1.68.9"}.${fingerprint}`;
97509
97509
  const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
97510
97510
  const cch = "";
97511
97511
  const workload = getWorkload();
@@ -144914,7 +144914,7 @@ function getFeedbackGuideline() {
144914
144914
  }
144915
144915
  return "- When you cannot find an answer or the feature doesn't exist, direct the user to use /feedback to report a feature request or bug";
144916
144916
  }
144917
- var UR_CODE_DOCS_MAP_URL = "https://docs.ur.dev/docs/en/ur_docs_map.md", CDP_DOCS_MAP_URL = "https://docs.claude.com/llms.txt", UR_CODE_GUIDE_AGENT_TYPE = "ur-guide", UR_CODE_GUIDE_AGENT;
144917
+ var UR_DOCS_URL = "https://ur.com/docs", UR_CODE_DOCS_MAP_URL, CDP_DOCS_MAP_URL, UR_CODE_GUIDE_AGENT_TYPE = "ur-guide", UR_CODE_GUIDE_AGENT;
144918
144918
  var init_urCodeGuideAgent = __esm(() => {
144919
144919
  init_prompt3();
144920
144920
  init_prompt2();
@@ -144923,6 +144923,8 @@ var init_urCodeGuideAgent = __esm(() => {
144923
144923
  init_embeddedTools();
144924
144924
  init_settings2();
144925
144925
  init_slowOperations();
144926
+ UR_CODE_DOCS_MAP_URL = UR_DOCS_URL;
144927
+ CDP_DOCS_MAP_URL = UR_DOCS_URL;
144926
144928
  UR_CODE_GUIDE_AGENT = {
144927
144929
  agentType: UR_CODE_GUIDE_AGENT_TYPE,
144928
144930
  whenToUse: `Use this agent when the user asks questions ("Can UR...", "Does UR...", "How do I...") about: (1) UR (the CLI tool) - features, hooks, slash commands, MCP servers, settings, IDE integrations, keyboard shortcuts; (2) UR SDK - building custom agents; (3) UR API - API usage, tool use, and SDK usage. **IMPORTANT:** Before spawning a new agent, check if there is already a running or recently completed ur-guide agent that you can continue via ${SEND_MESSAGE_TOOL_NAME}.`,
@@ -155378,7 +155380,7 @@ var init_projectSafety = __esm(() => {
155378
155380
  function getInstruments() {
155379
155381
  if (instruments)
155380
155382
  return instruments;
155381
- const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.68.7");
155383
+ const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.68.9");
155382
155384
  instruments = {
155383
155385
  operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
155384
155386
  description: "GenAI operation duration.",
@@ -155476,7 +155478,7 @@ function genAiAgentAttributes() {
155476
155478
  "gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
155477
155479
  "gen_ai.provider.name": "ur",
155478
155480
  "gen_ai.agent.name": "UR-Nexus",
155479
- "gen_ai.agent.version": "1.68.7"
155481
+ "gen_ai.agent.version": "1.68.9"
155480
155482
  };
155481
155483
  }
155482
155484
  function genAiWorkflowAttributes(workflowName) {
@@ -155492,7 +155494,7 @@ function genAiWorkflowAttributes(workflowName) {
155492
155494
  function startGenAiWorkflowSpan(workflowName) {
155493
155495
  const attributes = genAiWorkflowAttributes(workflowName);
155494
155496
  const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
155495
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.68.7").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
155497
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.68.9").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
155496
155498
  }
155497
155499
  function endGenAiWorkflowSpan(span, options2 = {}) {
155498
155500
  try {
@@ -155530,7 +155532,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
155530
155532
  if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
155531
155533
  attributes["gen_ai.memory.record.count"] = options2.recordCount;
155532
155534
  }
155533
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.68.7").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
155535
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.68.9").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
155534
155536
  }
155535
155537
  function endGenAiMemorySpan(span, options2 = {}) {
155536
155538
  try {
@@ -249013,7 +249015,7 @@ function getTelemetryAttributes() {
249013
249015
  attributes["session.id"] = sessionId;
249014
249016
  }
249015
249017
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
249016
- attributes["app.version"] = "1.68.7";
249018
+ attributes["app.version"] = "1.68.9";
249017
249019
  }
249018
249020
  const oauthAccount = getOauthAccountInfo();
249019
249021
  if (oauthAccount) {
@@ -290680,7 +290682,7 @@ function parseMcpConfig(params) {
290680
290682
  ...filePath && { file: filePath },
290681
290683
  path: `mcpServers.${name}`,
290682
290684
  message: `Windows requires 'cmd /c' wrapper to execute npx`,
290683
- suggestion: `Change command to "cmd" with args ["/c", "npx", ...]. See: https://docs.ur.dev/docs/en/mcp#configure-mcp-servers`,
290685
+ suggestion: `Change command to "cmd" with args ["/c", "npx", ...]. See: https://ur.com/docs/mcp#configure-mcp-servers`,
290684
290686
  mcpErrorMetadata: {
290685
290687
  scope,
290686
290688
  serverName: name,
@@ -295493,7 +295495,7 @@ function getInstallationEnv() {
295493
295495
  return;
295494
295496
  }
295495
295497
  function getURCodeVersion() {
295496
- return "1.68.7";
295498
+ return "1.68.9";
295497
295499
  }
295498
295500
  async function getInstalledVSCodeExtensionVersion(command) {
295499
295501
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -302824,7 +302826,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
302824
302826
  const client2 = new Client({
302825
302827
  name: "ur",
302826
302828
  title: "UR",
302827
- version: "1.68.7",
302829
+ version: "1.68.9",
302828
302830
  description: "UR-Nexus autonomous engineering workflow engine",
302829
302831
  websiteUrl: PRODUCT_URL
302830
302832
  }, {
@@ -303184,7 +303186,7 @@ var init_client5 = __esm(() => {
303184
303186
  const client2 = new Client({
303185
303187
  name: "ur",
303186
303188
  title: "UR",
303187
- version: "1.68.7",
303189
+ version: "1.68.9",
303188
303190
  description: "UR-Nexus autonomous engineering workflow engine",
303189
303191
  websiteUrl: PRODUCT_URL
303190
303192
  }, {
@@ -315723,7 +315725,7 @@ async function createRuntime() {
315723
315725
  bootstrapTelemetry();
315724
315726
  const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
315725
315727
  [import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
315726
- [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.68.7"
315728
+ [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.68.9"
315727
315729
  }));
315728
315730
  const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
315729
315731
  resource,
@@ -315756,11 +315758,11 @@ async function createRuntime() {
315756
315758
  setMeterProvider(meterProvider);
315757
315759
  setLoggerProvider(loggerProvider);
315758
315760
  if (meterProvider) {
315759
- const meter = meterProvider.getMeter("ur-agent", "1.68.7");
315761
+ const meter = meterProvider.getMeter("ur-agent", "1.68.9");
315760
315762
  setMeter(meter, (name, options2) => meter.createCounter(name, options2));
315761
315763
  }
315762
315764
  if (loggerProvider) {
315763
- setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.68.7"));
315765
+ setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.68.9"));
315764
315766
  }
315765
315767
  if (!cleanupRegistered2) {
315766
315768
  cleanupRegistered2 = true;
@@ -316422,9 +316424,9 @@ async function assertMinVersion() {
316422
316424
  if (false) {}
316423
316425
  try {
316424
316426
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
316425
- if (versionConfig.minVersion && lt("1.68.7", versionConfig.minVersion)) {
316427
+ if (versionConfig.minVersion && lt("1.68.9", versionConfig.minVersion)) {
316426
316428
  console.error(`
316427
- It looks like your version of UR (${"1.68.7"}) needs an update.
316429
+ It looks like your version of UR (${"1.68.9"}) needs an update.
316428
316430
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
316429
316431
 
316430
316432
  To update, please run:
@@ -316640,7 +316642,7 @@ async function installGlobalPackage(specificVersion) {
316640
316642
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
316641
316643
  logEvent("tengu_auto_updater_lock_contention", {
316642
316644
  pid: process.pid,
316643
- currentVersion: "1.68.7"
316645
+ currentVersion: "1.68.9"
316644
316646
  });
316645
316647
  return "in_progress";
316646
316648
  }
@@ -316649,7 +316651,7 @@ async function installGlobalPackage(specificVersion) {
316649
316651
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
316650
316652
  logError2(new Error("Windows NPM detected in WSL environment"));
316651
316653
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
316652
- currentVersion: "1.68.7"
316654
+ currentVersion: "1.68.9"
316653
316655
  });
316654
316656
  console.error(`
316655
316657
  Error: Windows NPM detected in WSL
@@ -317184,7 +317186,7 @@ function detectLinuxGlobPatternWarnings() {
317184
317186
  }
317185
317187
  async function getDoctorDiagnostic() {
317186
317188
  const installationType = await getCurrentInstallationType();
317187
- const version2 = typeof MACRO !== "undefined" ? "1.68.7" : "unknown";
317189
+ const version2 = typeof MACRO !== "undefined" ? "1.68.9" : "unknown";
317188
317190
  const installationPath = await getInstallationPath();
317189
317191
  const invokedBinary = getInvokedBinary();
317190
317192
  const multipleInstallations = await detectMultipleInstallations();
@@ -318119,8 +318121,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
318119
318121
  const maxVersion = await getMaxVersion();
318120
318122
  if (maxVersion && gt(version2, maxVersion)) {
318121
318123
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
318122
- if (gte("1.68.7", maxVersion)) {
318123
- logForDebugging(`Native installer: current version ${"1.68.7"} is already at or above maxVersion ${maxVersion}, skipping update`);
318124
+ if (gte("1.68.9", maxVersion)) {
318125
+ logForDebugging(`Native installer: current version ${"1.68.9"} is already at or above maxVersion ${maxVersion}, skipping update`);
318124
318126
  logEvent("tengu_native_update_skipped_max_version", {
318125
318127
  latency_ms: Date.now() - startTime,
318126
318128
  max_version: maxVersion,
@@ -318131,7 +318133,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
318131
318133
  version2 = maxVersion;
318132
318134
  }
318133
318135
  }
318134
- if (!forceReinstall && version2 === "1.68.7" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
318136
+ if (!forceReinstall && version2 === "1.68.9" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
318135
318137
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
318136
318138
  logEvent("tengu_native_update_complete", {
318137
318139
  latency_ms: Date.now() - startTime,
@@ -327755,8 +327757,8 @@ function OAuthStatusMessage(t0) {
327755
327757
  "\xB7 Amazon Bedrock:",
327756
327758
  " ",
327757
327759
  /* @__PURE__ */ jsx_dev_runtime72.jsxDEV(Link, {
327758
- url: "https://docs.ur.dev/docs/en/amazon-bedrock",
327759
- children: "https://docs.ur.dev/docs/en/amazon-bedrock"
327760
+ url: "https://ur.com/docs/amazon-bedrock",
327761
+ children: "https://ur.com/docs/amazon-bedrock"
327760
327762
  }, undefined, false, undefined, this)
327761
327763
  ]
327762
327764
  }, undefined, true, undefined, this);
@@ -327771,8 +327773,8 @@ function OAuthStatusMessage(t0) {
327771
327773
  "\xB7 Microsoft Foundry:",
327772
327774
  " ",
327773
327775
  /* @__PURE__ */ jsx_dev_runtime72.jsxDEV(Link, {
327774
- url: "https://docs.ur.dev/docs/en/microsoft-foundry",
327775
- children: "https://docs.ur.dev/docs/en/microsoft-foundry"
327776
+ url: "https://ur.com/docs/microsoft-foundry",
327777
+ children: "https://ur.com/docs/microsoft-foundry"
327776
327778
  }, undefined, false, undefined, this)
327777
327779
  ]
327778
327780
  }, undefined, true, undefined, this);
@@ -327794,8 +327796,8 @@ function OAuthStatusMessage(t0) {
327794
327796
  "\xB7 Vertex AI:",
327795
327797
  " ",
327796
327798
  /* @__PURE__ */ jsx_dev_runtime72.jsxDEV(Link, {
327797
- url: "https://docs.ur.dev/docs/en/google-vertex-ai",
327798
- children: "https://docs.ur.dev/docs/en/google-vertex-ai"
327799
+ url: "https://ur.com/docs/google-vertex-ai",
327800
+ children: "https://ur.com/docs/google-vertex-ai"
327799
327801
  }, undefined, false, undefined, this)
327800
327802
  ]
327801
327803
  }, undefined, true, undefined, this)
@@ -367765,7 +367767,7 @@ function isPreapprovedHost(hostname3, pathname) {
367765
367767
  var PREAPPROVED_HOSTS, HOSTNAME_ONLY, PATH_PREFIXES;
367766
367768
  var init_preapproved = __esm(() => {
367767
367769
  PREAPPROVED_HOSTS = new Set([
367768
- "docs.ur.dev",
367770
+ "ur.com/docs",
367769
367771
  "modelcontextprotocol.io",
367770
367772
  "github.com/Maitham16",
367771
367773
  "agentskills.io",
@@ -388342,7 +388344,7 @@ function isAnyTracingEnabled() {
388342
388344
  return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
388343
388345
  }
388344
388346
  function getTracer() {
388345
- return import_api39.trace.getTracer("ur-agent.gen_ai", "1.68.7");
388347
+ return import_api39.trace.getTracer("ur-agent.gen_ai", "1.68.9");
388346
388348
  }
388347
388349
  function createSpanAttributes(spanType, customAttributes = {}) {
388348
388350
  const baseAttributes = getTelemetryAttributes();
@@ -419586,7 +419588,7 @@ function Feedback({
419586
419588
  platform: env2.platform,
419587
419589
  gitRepo: envInfo.isGit,
419588
419590
  terminal: env2.terminal,
419589
- version: "1.68.7",
419591
+ version: "1.68.9",
419590
419592
  transcript: normalizeMessagesForAPI(messages),
419591
419593
  errors: sanitizedErrors,
419592
419594
  lastApiRequest: getLastAPIRequest(),
@@ -419778,7 +419780,7 @@ function Feedback({
419778
419780
  ", ",
419779
419781
  env2.terminal,
419780
419782
  ", v",
419781
- "1.68.7"
419783
+ "1.68.9"
419782
419784
  ]
419783
419785
  }, undefined, true, undefined, this)
419784
419786
  ]
@@ -419884,7 +419886,7 @@ ${sanitizedDescription}
419884
419886
  ` + `**Environment Info**
419885
419887
  ` + `- Platform: ${env2.platform}
419886
419888
  ` + `- Terminal: ${env2.terminal}
419887
- ` + `- Version: ${"1.68.7"}
419889
+ ` + `- Version: ${"1.68.9"}
419888
419890
  ` + `- Feedback ID: ${feedbackId}
419889
419891
  ` + `
419890
419892
  **Errors**
@@ -422994,7 +422996,7 @@ function buildPrimarySection() {
422994
422996
  }, undefined, false, undefined, this);
422995
422997
  return [{
422996
422998
  label: "Version",
422997
- value: "1.68.7"
422999
+ value: "1.68.9"
422998
423000
  }, {
422999
423001
  label: "Session name",
423000
423002
  value: nameValue
@@ -426324,7 +426326,7 @@ function Config({
426324
426326
  }
426325
426327
  }, undefined, false, undefined, this)
426326
426328
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
426327
- currentVersion: "1.68.7",
426329
+ currentVersion: "1.68.9",
426328
426330
  onChoice: (choice) => {
426329
426331
  setShowSubmenu(null);
426330
426332
  setTabsHidden(false);
@@ -426336,7 +426338,7 @@ function Config({
426336
426338
  autoUpdatesChannel: "stable"
426337
426339
  };
426338
426340
  if (choice === "stay") {
426339
- newSettings.minimumVersion = "1.68.7";
426341
+ newSettings.minimumVersion = "1.68.9";
426340
426342
  }
426341
426343
  updateSettingsForSource("userSettings", newSettings);
426342
426344
  setSettingsData((prev_27) => ({
@@ -430969,8 +430971,8 @@ function McpParsingWarnings() {
430969
430971
  "For help configuring MCP servers, see:",
430970
430972
  " ",
430971
430973
  /* @__PURE__ */ jsx_dev_runtime194.jsxDEV(Link, {
430972
- url: "https://docs.ur.dev/docs/en/mcp",
430973
- children: "https://docs.ur.dev/docs/en/mcp"
430974
+ url: "https://ur.com/docs/mcp",
430975
+ children: "https://ur.com/docs/mcp"
430974
430976
  }, undefined, false, undefined, this)
430975
430977
  ]
430976
430978
  }, undefined, true, undefined, this)
@@ -433541,7 +433543,7 @@ ${editorHint}`, {
433541
433543
  children: [
433542
433544
  "Learn more: ",
433543
433545
  /* @__PURE__ */ jsx_dev_runtime202.jsxDEV(Link, {
433544
- url: "https://docs.ur.dev/docs/en/memory"
433546
+ url: "https://ur.com/docs/memory"
433545
433547
  }, undefined, false, undefined, this)
433546
433548
  ]
433547
433549
  }, undefined, true, undefined, this)
@@ -434410,7 +434412,7 @@ function HelpV2(t0) {
434410
434412
  let t6;
434411
434413
  if ($2[31] !== tabs) {
434412
434414
  t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
434413
- title: `UR v${"1.68.7"}`,
434415
+ title: `UR v${"1.68.9"}`,
434414
434416
  color: "professionalBlue",
434415
434417
  defaultTab: "general",
434416
434418
  children: tabs
@@ -434429,7 +434431,7 @@ function HelpV2(t0) {
434429
434431
  "For more help:",
434430
434432
  " ",
434431
434433
  /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Link, {
434432
- url: "https://docs.ur.dev/docs/en/overview"
434434
+ url: "https://ur.com/docs/overview"
434433
434435
  }, undefined, false, undefined, this)
434434
434436
  ]
434435
434437
  }, undefined, true, undefined, this)
@@ -435343,7 +435345,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
435343
435345
  async function handleInitialize(options2) {
435344
435346
  return {
435345
435347
  name: "UR",
435346
- version: "1.68.7",
435348
+ version: "1.68.9",
435347
435349
  protocolVersion: "0.1.0",
435348
435350
  workspaceRoot: options2.cwd,
435349
435351
  capabilities: {
@@ -437367,7 +437369,7 @@ function generateKeybindingsTemplate() {
437367
437369
  const bindings = filterReservedShortcuts(DEFAULT_BINDINGS);
437368
437370
  const config3 = {
437369
437371
  $schema: "https://www.schemastore.org/ur-keybindings.json",
437370
- $docs: "https://docs.ur.dev/docs/en/keybindings",
437372
+ $docs: "https://ur.com/docs/keybindings",
437371
437373
  bindings
437372
437374
  };
437373
437375
  return jsonStringify(config3, null, 2) + `
@@ -438324,8 +438326,8 @@ function MCPListPanel(t0) {
438324
438326
  dimColor: true,
438325
438327
  children: [
438326
438328
  /* @__PURE__ */ jsx_dev_runtime211.jsxDEV(Link, {
438327
- url: "https://docs.ur.dev/docs/en/mcp",
438328
- children: "https://docs.ur.dev/docs/en/mcp"
438329
+ url: "https://ur.com/docs/mcp",
438330
+ children: "https://ur.com/docs/mcp"
438329
438331
  }, undefined, false, undefined, this),
438330
438332
  " ",
438331
438333
  "for help"
@@ -452451,7 +452453,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
452451
452453
  return [];
452452
452454
  }
452453
452455
  }
452454
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.68.7") {
452456
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.68.9") {
452455
452457
  if (process.env.USER_TYPE === "ant") {
452456
452458
  const changelog = "";
452457
452459
  if (changelog) {
@@ -452478,7 +452480,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.68.7")
452478
452480
  releaseNotes
452479
452481
  };
452480
452482
  }
452481
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.68.7") {
452483
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.68.9") {
452482
452484
  if (process.env.USER_TYPE === "ant") {
452483
452485
  const changelog = "";
452484
452486
  if (changelog) {
@@ -455344,7 +455346,7 @@ function getRecentActivitySync() {
455344
455346
  return cachedActivity;
455345
455347
  }
455346
455348
  function getLogoDisplayData() {
455347
- const version2 = process.env.DEMO_VERSION ?? "1.68.7";
455349
+ const version2 = process.env.DEMO_VERSION ?? "1.68.9";
455348
455350
  const serverUrl = getDirectConnectServerUrl();
455349
455351
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
455350
455352
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -456211,7 +456213,7 @@ function LogoV2() {
456211
456213
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
456212
456214
  t2 = () => {
456213
456215
  const currentConfig2 = getGlobalConfig();
456214
- if (currentConfig2.lastReleaseNotesSeen === "1.68.7") {
456216
+ if (currentConfig2.lastReleaseNotesSeen === "1.68.9") {
456215
456217
  return;
456216
456218
  }
456217
456219
  saveGlobalConfig(_temp325);
@@ -456896,12 +456898,12 @@ function LogoV2() {
456896
456898
  return t41;
456897
456899
  }
456898
456900
  function _temp325(current) {
456899
- if (current.lastReleaseNotesSeen === "1.68.7") {
456901
+ if (current.lastReleaseNotesSeen === "1.68.9") {
456900
456902
  return current;
456901
456903
  }
456902
456904
  return {
456903
456905
  ...current,
456904
- lastReleaseNotesSeen: "1.68.7"
456906
+ lastReleaseNotesSeen: "1.68.9"
456905
456907
  };
456906
456908
  }
456907
456909
  function _temp241(s_0) {
@@ -464344,7 +464346,7 @@ var init_ultrareviewCommand = __esm(() => {
464344
464346
  });
464345
464347
 
464346
464348
  // src/commands/review.ts
464347
- var CCR_TERMS_URL = "https://docs.ur.dev/docs/en/ur-on-the-web", LOCAL_REVIEW_PROMPT = (args) => `
464349
+ var CCR_TERMS_URL = "https://ur.com/docs/ur-on-the-web", LOCAL_REVIEW_PROMPT = (args) => `
464348
464350
  You are an expert code reviewer. Follow these steps:
464349
464351
 
464350
464352
  1. If no PR number is provided in the args, run \`gh pr list\` to show open PRs
@@ -465455,7 +465457,7 @@ ${reasons}`,
465455
465457
  } : prev);
465456
465458
  }
465457
465459
  }
465458
- var ULTRAPLAN_TIMEOUT_MS, CCR_TERMS_URL2 = "https://docs.ur.dev/docs/en/ur-on-the-web", _rawPrompt, DEFAULT_INSTRUCTIONS, ULTRAPLAN_INSTRUCTIONS, call40 = async (onDone, context6, args) => {
465460
+ var ULTRAPLAN_TIMEOUT_MS, CCR_TERMS_URL2 = "https://ur.com/docs/ur-on-the-web", _rawPrompt, DEFAULT_INSTRUCTIONS, ULTRAPLAN_INSTRUCTIONS, call40 = async (onDone, context6, args) => {
465459
465461
  const blurb = args.trim();
465460
465462
  if (!blurb) {
465461
465463
  const msg = await launchUltraplan({
@@ -473847,7 +473849,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
473847
473849
  if (spec.name !== specName) {
473848
473850
  throw new Error("Agentic CI workflow spec name does not match");
473849
473851
  }
473850
- const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.68.7" : "1.68.7");
473852
+ const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.68.9" : "1.68.9");
473851
473853
  if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
473852
473854
  throw new Error("invalid ur-agent package version");
473853
473855
  }
@@ -474840,7 +474842,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
474840
474842
  path: ".github/workflows/ur.yml",
474841
474843
  root: "project",
474842
474844
  content: compileAgenticCiWorkflow("default", {
474843
- packageVersion: typeof MACRO !== "undefined" ? "1.68.7" : "1.68.7"
474845
+ packageVersion: typeof MACRO !== "undefined" ? "1.68.9" : "1.68.9"
474844
474846
  })
474845
474847
  },
474846
474848
  {
@@ -474910,7 +474912,7 @@ function value(tokens, flag) {
474910
474912
  return index2 >= 0 ? tokens[index2 + 1] : undefined;
474911
474913
  }
474912
474914
  function cliVersion() {
474913
- return typeof MACRO !== "undefined" ? "1.68.7" : "1.68.7";
474915
+ return typeof MACRO !== "undefined" ? "1.68.9" : "1.68.9";
474914
474916
  }
474915
474917
  function workflowPath(cwd2) {
474916
474918
  return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
@@ -480775,7 +480777,7 @@ function createAcpStdioApp(deps) {
480775
480777
  }
480776
480778
  },
480777
480779
  authMethods: [],
480778
- agentInfo: { name: "UR-Nexus", version: "1.68.7" }
480780
+ agentInfo: { name: "UR-Nexus", version: "1.68.9" }
480779
480781
  })).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
480780
480782
  const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
480781
480783
  await runtime2.announce({
@@ -480872,7 +480874,7 @@ function createAcpStdioAgent(deps) {
480872
480874
  }
480873
480875
  },
480874
480876
  authMethods: [],
480875
- agentInfo: { name: "UR-Nexus", version: "1.68.7" }
480877
+ agentInfo: { name: "UR-Nexus", version: "1.68.9" }
480876
480878
  });
480877
480879
  return;
480878
480880
  case "authenticate":
@@ -485228,7 +485230,7 @@ var init_workflows = __esm(() => {
485228
485230
  "explore",
485229
485231
  "verification",
485230
485232
  "statusline-setup",
485231
- "ur-code-guide",
485233
+ "ur-guide",
485232
485234
  "reviewer",
485233
485235
  "test-runner",
485234
485236
  "browser-debugger",
@@ -682339,8 +682341,8 @@ function FastModePicker(t0) {
682339
682341
  "Learn more:",
682340
682342
  " ",
682341
682343
  /* @__PURE__ */ jsx_dev_runtime286.jsxDEV(Link, {
682342
- url: "https://docs.ur.dev/docs/en/fast-mode",
682343
- children: "https://docs.ur.dev/docs/en/fast-mode"
682344
+ url: "https://ur.com/docs/fast-mode",
682345
+ children: "https://ur.com/docs/fast-mode"
682344
682346
  }, undefined, false, undefined, this)
682345
682347
  ]
682346
682348
  }, undefined, true, undefined, this);
@@ -684085,7 +684087,7 @@ function SelectEventMode(t0) {
684085
684087
  " This menu is read-only. To add or modify hooks, edit settings.json directly or ask UR.",
684086
684088
  " ",
684087
684089
  /* @__PURE__ */ jsx_dev_runtime291.jsxDEV(Link, {
684088
- url: "https://docs.ur.dev/docs/en/hooks",
684090
+ url: "https://ur.com/docs/hooks",
684089
684091
  children: "Learn more"
684090
684092
  }, undefined, false, undefined, this)
684091
684093
  ]
@@ -692032,7 +692034,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
692032
692034
  smapsRollup,
692033
692035
  platform: process.platform,
692034
692036
  nodeVersion: process.version,
692035
- ccVersion: "1.68.7"
692037
+ ccVersion: "1.68.9"
692036
692038
  };
692037
692039
  }
692038
692040
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -692612,7 +692614,7 @@ var init_bridge_kick = __esm(() => {
692612
692614
  var call153 = async () => {
692613
692615
  return {
692614
692616
  type: "text",
692615
- value: "1.68.7"
692617
+ value: "1.68.9"
692616
692618
  };
692617
692619
  }, version2, version_default;
692618
692620
  var init_version = __esm(() => {
@@ -693328,8 +693330,8 @@ function OverridesSelect(t0) {
693328
693330
  "Learn more:",
693329
693331
  " ",
693330
693332
  /* @__PURE__ */ jsx_dev_runtime325.jsxDEV(Link, {
693331
- url: "https://docs.ur.dev/docs/en/sandboxing#configure-sandboxing",
693332
- children: "docs.ur.dev/docs/en/sandboxing#configure-sandboxing"
693333
+ url: "https://ur.com/docs/sandboxing#configure-sandboxing",
693334
+ children: "ur.com/docs/sandboxing#configure-sandboxing"
693333
693335
  }, undefined, false, undefined, this)
693334
693336
  ]
693335
693337
  }, undefined, true, undefined, this)
@@ -693699,8 +693701,8 @@ function SandboxModeTab(t0) {
693699
693701
  "Learn more:",
693700
693702
  " ",
693701
693703
  /* @__PURE__ */ jsx_dev_runtime326.jsxDEV(Link, {
693702
- url: "https://docs.ur.dev/docs/en/sandboxing",
693703
- children: "docs.ur.dev/docs/en/sandboxing"
693704
+ url: "https://ur.com/docs/sandboxing",
693705
+ children: "ur.com/docs/sandboxing"
693704
693706
  }, undefined, false, undefined, this)
693705
693707
  ]
693706
693708
  }, undefined, true, undefined, this)
@@ -694602,7 +694604,7 @@ function URInChromeMenu(t0) {
694602
694604
  if ($2[33] === Symbol.for("react.memo_cache_sentinel")) {
694603
694605
  t10 = /* @__PURE__ */ jsx_dev_runtime328.jsxDEV(ThemedText, {
694604
694606
  dimColor: true,
694605
- children: "Learn more: https://docs.ur.dev/docs/en/chrome"
694607
+ children: "Learn more: https://ur.com/docs/chrome"
694606
694608
  }, undefined, false, undefined, this);
694607
694609
  $2[33] = t10;
694608
694610
  } else {
@@ -703792,7 +703794,7 @@ function generateHtmlReport(data, insights) {
703792
703794
  </html>`;
703793
703795
  }
703794
703796
  function buildExportData(data, insights, facets, remoteStats) {
703795
- const version3 = typeof MACRO !== "undefined" ? "1.68.7" : "unknown";
703797
+ const version3 = typeof MACRO !== "undefined" ? "1.68.9" : "unknown";
703796
703798
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
703797
703799
  const facets_summary = {
703798
703800
  total: facets.size,
@@ -708119,7 +708121,7 @@ var init_sessionStorage = __esm(() => {
708119
708121
  init_settings2();
708120
708122
  init_slowOperations();
708121
708123
  init_uuid();
708122
- VERSION7 = typeof MACRO !== "undefined" ? "1.68.7" : "unknown";
708124
+ VERSION7 = typeof MACRO !== "undefined" ? "1.68.9" : "unknown";
708123
708125
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
708124
708126
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
708125
708127
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -709336,7 +709338,7 @@ var init_filesystem = __esm(() => {
709336
709338
  });
709337
709339
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
709338
709340
  const nonce = randomBytes20(16).toString("hex");
709339
- return join230(getURTempDir(), "bundled-skills", "1.68.7", nonce);
709341
+ return join230(getURTempDir(), "bundled-skills", "1.68.9", nonce);
709340
709342
  });
709341
709343
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
709342
709344
  });
@@ -715642,7 +715644,7 @@ function computeFingerprint(messageText2, version3) {
715642
715644
  }
715643
715645
  function computeFingerprintFromMessages(messages) {
715644
715646
  const firstMessageText = extractFirstMessageText(messages);
715645
- return computeFingerprint(firstMessageText, "1.68.7");
715647
+ return computeFingerprint(firstMessageText, "1.68.9");
715646
715648
  }
715647
715649
  var FINGERPRINT_SALT = "59cf53e54c78";
715648
715650
  var init_fingerprint = () => {};
@@ -717541,7 +717543,7 @@ async function sideQuery(opts) {
717541
717543
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
717542
717544
  }
717543
717545
  const messageText2 = extractFirstUserMessageText(messages);
717544
- const fingerprint2 = computeFingerprint(messageText2, "1.68.7");
717546
+ const fingerprint2 = computeFingerprint(messageText2, "1.68.9");
717545
717547
  const attributionHeader = getAttributionHeader(fingerprint2);
717546
717548
  const systemBlocks = [
717547
717549
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -721648,7 +721650,7 @@ function CostThresholdDialog(t0) {
721648
721650
  children: "Learn more about how to monitor your spending:"
721649
721651
  }, undefined, false, undefined, this),
721650
721652
  /* @__PURE__ */ jsx_dev_runtime351.jsxDEV(Link, {
721651
- url: "https://docs.ur.dev/docs/en/costs"
721653
+ url: "https://ur.com/docs/costs"
721652
721654
  }, undefined, false, undefined, this)
721653
721655
  ]
721654
721656
  }, undefined, true, undefined, this);
@@ -722328,7 +722330,7 @@ function buildSystemInitMessage(inputs) {
722328
722330
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
722329
722331
  apiKeySource: getURHQApiKeyWithSource().source,
722330
722332
  betas: getSdkBetas(),
722331
- ur_version: "1.68.7",
722333
+ ur_version: "1.68.9",
722332
722334
  output_style: outputStyle2,
722333
722335
  agents: inputs.agents.map((agent2) => agent2.agentType),
722334
722336
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -736279,7 +736281,7 @@ var init_useVoiceEnabled = __esm(() => {
736279
736281
  function getSemverPart(version3) {
736280
736282
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
736281
736283
  }
736282
- function useUpdateNotification(updatedVersion, initialVersion = "1.68.7") {
736284
+ function useUpdateNotification(updatedVersion, initialVersion = "1.68.9") {
736283
736285
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react222.useState(() => getSemverPart(initialVersion));
736284
736286
  if (!updatedVersion) {
736285
736287
  return null;
@@ -736328,7 +736330,7 @@ function AutoUpdater({
736328
736330
  return;
736329
736331
  }
736330
736332
  if (false) {}
736331
- const currentVersion = "1.68.7";
736333
+ const currentVersion = "1.68.9";
736332
736334
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
736333
736335
  let latestVersion = await getLatestVersion(channel);
736334
736336
  const isDisabled = isAutoUpdaterDisabled();
@@ -736557,12 +736559,12 @@ function NativeAutoUpdater({
736557
736559
  logEvent("tengu_native_auto_updater_start", {});
736558
736560
  try {
736559
736561
  const maxVersion = await getMaxVersion();
736560
- if (maxVersion && gt("1.68.7", maxVersion)) {
736562
+ if (maxVersion && gt("1.68.9", maxVersion)) {
736561
736563
  const msg = await getMaxVersionMessage();
736562
736564
  setMaxVersionIssue(msg ?? "affects your version");
736563
736565
  }
736564
736566
  const result = await installLatest(channel);
736565
- const currentVersion = "1.68.7";
736567
+ const currentVersion = "1.68.9";
736566
736568
  const latencyMs = Date.now() - startTime;
736567
736569
  if (result.lockFailed) {
736568
736570
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -736699,17 +736701,17 @@ function PackageManagerAutoUpdater(t0) {
736699
736701
  const maxVersion = await getMaxVersion();
736700
736702
  if (maxVersion && latest && gt(latest, maxVersion)) {
736701
736703
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
736702
- if (gte("1.68.7", maxVersion)) {
736703
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.68.7"} is already at or above maxVersion ${maxVersion}, skipping update`);
736704
+ if (gte("1.68.9", maxVersion)) {
736705
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.68.9"} is already at or above maxVersion ${maxVersion}, skipping update`);
736704
736706
  setUpdateAvailable(false);
736705
736707
  return;
736706
736708
  }
736707
736709
  latest = maxVersion;
736708
736710
  }
736709
- const hasUpdate = latest && !gte("1.68.7", latest) && !shouldSkipVersion(latest);
736711
+ const hasUpdate = latest && !gte("1.68.9", latest) && !shouldSkipVersion(latest);
736710
736712
  setUpdateAvailable(!!hasUpdate);
736711
736713
  if (hasUpdate) {
736712
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.68.7"} -> ${latest}`);
736714
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.68.9"} -> ${latest}`);
736713
736715
  }
736714
736716
  };
736715
736717
  $2[0] = t1;
@@ -736743,7 +736745,7 @@ function PackageManagerAutoUpdater(t0) {
736743
736745
  wrap: "truncate",
736744
736746
  children: [
736745
736747
  "currentVersion: ",
736746
- "1.68.7"
736748
+ "1.68.9"
736747
736749
  ]
736748
736750
  }, undefined, true, undefined, this);
736749
736751
  $2[3] = verbose;
@@ -747453,7 +747455,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
747453
747455
  project_dir: getOriginalCwd(),
747454
747456
  added_dirs: addedDirs
747455
747457
  },
747456
- version: "1.68.7",
747458
+ version: "1.68.9",
747457
747459
  output_style: {
747458
747460
  name: outputStyleName
747459
747461
  },
@@ -747532,7 +747534,7 @@ function StatusLineInner({
747532
747534
  const taskRunningCount = countActiveBackgroundTasks(taskValues);
747533
747535
  const agentRunningCount = countActiveForegroundAgents(taskValues);
747534
747536
  const defaultStatusLineText = buildDefaultStatusBar({
747535
- version: "1.68.7",
747537
+ version: "1.68.9",
747536
747538
  providerLabel: providerRuntime.providerLabel,
747537
747539
  authMode: providerRuntime.authLabel,
747538
747540
  model: renderModelName(mainLoopModel) || providerRuntime.model || "",
@@ -759713,7 +759715,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
759713
759715
  } catch {}
759714
759716
  const data = {
759715
759717
  trigger: trigger2,
759716
- version: "1.68.7",
759718
+ version: "1.68.9",
759717
759719
  platform: process.platform,
759718
759720
  transcript,
759719
759721
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -760531,7 +760533,7 @@ function TranscriptSharePrompt(t0) {
760531
760533
  marginLeft: 2,
760532
760534
  children: /* @__PURE__ */ jsx_dev_runtime434.jsxDEV(ThemedText, {
760533
760535
  dimColor: true,
760534
- children: "Learn more: https://docs.ur.dev/docs/en/data-usage#session-quality-surveys"
760536
+ children: "Learn more: https://ur.com/docs/data-usage#session-quality-surveys"
760535
760537
  }, undefined, false, undefined, this)
760536
760538
  }, undefined, false, undefined, this);
760537
760539
  $2[7] = t4;
@@ -771195,7 +771197,7 @@ function MCPServerDialogCopy() {
771195
771197
  "MCP servers may execute code or access system resources. All tool calls require approval. Learn more in the",
771196
771198
  " ",
771197
771199
  /* @__PURE__ */ jsx_dev_runtime457.jsxDEV(Link, {
771198
- url: "https://docs.ur.dev/docs/en/mcp",
771200
+ url: "https://ur.com/docs/mcp",
771199
771201
  children: "MCP documentation"
771200
771202
  }, undefined, false, undefined, this),
771201
771203
  "."
@@ -771847,7 +771849,7 @@ function PreflightStep(t0) {
771847
771849
  }, undefined, false, undefined, this),
771848
771850
  /* @__PURE__ */ jsx_dev_runtime461.jsxDEV(ThemedText, {
771849
771851
  color: "suggestion",
771850
- children: "See https://docs.ur.dev/docs/en/network-config"
771852
+ children: "See https://ur.com/docs/network-config"
771851
771853
  }, undefined, false, undefined, this)
771852
771854
  ]
771853
771855
  }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime461.jsxDEV(ThemedBox_default, {
@@ -772081,7 +772083,7 @@ function WelcomeV2() {
772081
772083
  dimColor: true,
772082
772084
  children: [
772083
772085
  "v",
772084
- "1.68.7"
772086
+ "1.68.9"
772085
772087
  ]
772086
772088
  }, undefined, true, undefined, this)
772087
772089
  ]
@@ -772331,7 +772333,7 @@ function Onboarding({
772331
772333
  "For more details see:",
772332
772334
  /* @__PURE__ */ jsx_dev_runtime466.jsxDEV(Newline, {}, undefined, false, undefined, this),
772333
772335
  /* @__PURE__ */ jsx_dev_runtime466.jsxDEV(Link, {
772334
- url: "https://docs.ur.dev/docs/en/security"
772336
+ url: "https://ur.com/docs/security"
772335
772337
  }, undefined, false, undefined, this)
772336
772338
  ]
772337
772339
  }, undefined, true, undefined, this)
@@ -772905,7 +772907,7 @@ function TrustDialog(t0) {
772905
772907
  t19 = /* @__PURE__ */ jsx_dev_runtime467.jsxDEV(ThemedText, {
772906
772908
  dimColor: true,
772907
772909
  children: /* @__PURE__ */ jsx_dev_runtime467.jsxDEV(Link, {
772908
- url: "https://docs.ur.dev/docs/en/security",
772910
+ url: "https://ur.com/docs/security",
772909
772911
  children: "Security guide"
772910
772912
  }, undefined, false, undefined, this)
772911
772913
  }, undefined, false, undefined, this);
@@ -773090,7 +773092,7 @@ function BypassPermissionsModeDialog(t0) {
773090
773092
  children: "By proceeding, you accept all responsibility for actions taken while running in Bypass Permissions mode."
773091
773093
  }, undefined, false, undefined, this),
773092
773094
  /* @__PURE__ */ jsx_dev_runtime468.jsxDEV(Link, {
773093
- url: "https://docs.ur.dev/docs/en/security"
773095
+ url: "https://ur.com/docs/security"
773094
773096
  }, undefined, false, undefined, this)
773095
773097
  ]
773096
773098
  }, undefined, true, undefined, this);
@@ -773276,7 +773278,7 @@ function URInChromeOnboarding(t0) {
773276
773278
  " ",
773277
773279
  "or visit ",
773278
773280
  /* @__PURE__ */ jsx_dev_runtime469.jsxDEV(Link, {
773279
- url: "https://docs.ur.dev/docs/en/chrome"
773281
+ url: "https://ur.com/docs/chrome"
773280
773282
  }, undefined, false, undefined, this)
773281
773283
  ]
773282
773284
  }, undefined, true, undefined, this);
@@ -773341,7 +773343,7 @@ function completeOnboarding() {
773341
773343
  saveGlobalConfig((current) => ({
773342
773344
  ...current,
773343
773345
  hasCompletedOnboarding: true,
773344
- lastOnboardingVersion: "1.68.7"
773346
+ lastOnboardingVersion: "1.68.9"
773345
773347
  }));
773346
773348
  }
773347
773349
  function showDialog(root2, renderer) {
@@ -776025,7 +776027,7 @@ var init_keybindings3 = __esm(() => {
776025
776027
  init_bundledSkills();
776026
776028
  FILE_FORMAT_EXAMPLE = {
776027
776029
  $schema: "https://www.schemastore.org/ur-keybindings.json",
776028
- $docs: "https://docs.ur.dev/docs/en/keybindings",
776030
+ $docs: "https://ur.com/docs/keybindings",
776029
776031
  bindings: [
776030
776032
  {
776031
776033
  context: "Chat",
@@ -778385,7 +778387,7 @@ function appendToLog(path24, message) {
778385
778387
  cwd: getFsImplementation().cwd(),
778386
778388
  userType: process.env.USER_TYPE,
778387
778389
  sessionId: getSessionId(),
778388
- version: "1.68.7"
778390
+ version: "1.68.9"
778389
778391
  };
778390
778392
  getLogWriter(path24).write(messageWithTimestamp);
778391
778393
  }
@@ -782549,8 +782551,8 @@ async function getEnvLessBridgeConfig() {
782549
782551
  }
782550
782552
  async function checkEnvLessBridgeMinVersion() {
782551
782553
  const cfg = await getEnvLessBridgeConfig();
782552
- if (cfg.min_version && lt("1.68.7", cfg.min_version)) {
782553
- return `Your version of UR (${"1.68.7"}) is too old for Remote Control.
782554
+ if (cfg.min_version && lt("1.68.9", cfg.min_version)) {
782555
+ return `Your version of UR (${"1.68.9"}) is too old for Remote Control.
782554
782556
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
782555
782557
  }
782556
782558
  return null;
@@ -783024,7 +783026,7 @@ async function initBridgeCore(params) {
783024
783026
  const rawApi = createBridgeApiClient({
783025
783027
  baseUrl,
783026
783028
  getAccessToken,
783027
- runnerVersion: "1.68.7",
783029
+ runnerVersion: "1.68.9",
783028
783030
  onDebug: logForDebugging,
783029
783031
  onAuth401,
783030
783032
  getTrustedDeviceToken
@@ -792497,7 +792499,7 @@ function getAgUiCapabilities() {
792497
792499
  name: "UR-Nexus",
792498
792500
  type: "ur-nexus",
792499
792501
  description: "Provider-flexible, local-first autonomous engineering workflow agent.",
792500
- version: "1.68.7",
792502
+ version: "1.68.9",
792501
792503
  provider: "UR",
792502
792504
  documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
792503
792505
  },
@@ -793637,7 +793639,7 @@ function createMCPServer(cwd4, debug2, verbose) {
793637
793639
  };
793638
793640
  const server2 = new Server({
793639
793641
  name: "ur-nexus",
793640
- version: "1.68.7"
793642
+ version: "1.68.9"
793641
793643
  }, {
793642
793644
  capabilities: {
793643
793645
  tools: {}
@@ -794795,7 +794797,7 @@ function thrownResponse(error40) {
794795
794797
  }
794796
794798
  async function createUrMcp2026Runtime(options4) {
794797
794799
  const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
794798
- const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.68.7" }, { capabilities: {} });
794800
+ const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.68.9" }, { capabilities: {} });
794799
794801
  const [clientTransport, serverTransport] = createLinkedTransportPair();
794800
794802
  try {
794801
794803
  await server2.connect(serverTransport);
@@ -794806,7 +794808,7 @@ async function createUrMcp2026Runtime(options4) {
794806
794808
  }
794807
794809
  const runtime2 = new Mcp2026Runtime({
794808
794810
  cwd: options4.cwd,
794809
- version: "1.68.7",
794811
+ version: "1.68.9",
794810
794812
  backend: {
794811
794813
  listTools: async () => {
794812
794814
  const listed = await client2.listTools();
@@ -796939,7 +796941,7 @@ async function update() {
796939
796941
  logEvent("tengu_update_check", {});
796940
796942
  const diagnostic2 = await getDoctorDiagnostic();
796941
796943
  const result = await checkUpgradeStatus({
796942
- currentVersion: "1.68.7",
796944
+ currentVersion: "1.68.9",
796943
796945
  packageName: UR_AGENT_PACKAGE_NAME,
796944
796946
  installationType: diagnostic2.installationType,
796945
796947
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -798255,7 +798257,7 @@ ${customInstructions}` : customInstructions;
798255
798257
  }
798256
798258
  }
798257
798259
  logForDiagnosticsNoPII("info", "started", {
798258
- version: "1.68.7",
798260
+ version: "1.68.9",
798259
798261
  is_native_binary: isInBundledMode()
798260
798262
  });
798261
798263
  registerCleanup(async () => {
@@ -799041,7 +799043,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
799041
799043
  pendingHookMessages
799042
799044
  }, renderAndRun);
799043
799045
  }
799044
- }).version("1.68.7 (UR-Nexus)", "-v, --version", "Output the version number");
799046
+ }).version("1.68.9 (UR-Nexus)", "-v, --version", "Output the version number");
799045
799047
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
799046
799048
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
799047
799049
  if (canUserConfigureAdvisor()) {
@@ -800100,7 +800102,7 @@ if (false) {}
800100
800102
  async function main2() {
800101
800103
  const args = process.argv.slice(2);
800102
800104
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
800103
- console.log(`${"1.68.7"} (UR-Nexus)`);
800105
+ console.log(`${"1.68.9"} (UR-Nexus)`);
800104
800106
  return;
800105
800107
  }
800106
800108
  if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
@@ -19,7 +19,7 @@ You need:
19
19
 
20
20
  ```sh
21
21
  ur --version
22
- # expected for this release: "1.68.7 (UR-Nexus)"
22
+ # expected for this release: "1.68.9 (UR-Nexus)"
23
23
  ```
24
24
 
25
25
  ## 0.1 First-workspace model selection (1.45.4)
@@ -45,7 +45,7 @@
45
45
  <main id="content" class="content">
46
46
  <header class="topbar">
47
47
  <div>
48
- <p class="eyebrow">Version 1.68.7</p>
48
+ <p class="eyebrow">Version 1.68.9</p>
49
49
  <h1>UR-Nexus Documentation</h1>
50
50
  <p class="lead">A practical, tutorial-style reference for installing, configuring, automating, extending, and operating UR-Nexus.</p>
51
51
  </div>
@@ -7,7 +7,7 @@ plugins {
7
7
  }
8
8
 
9
9
  group = "dev.urnexus"
10
- version = "1.68.7"
10
+ version = "1.68.9"
11
11
 
12
12
  repositories {
13
13
  mavenCentral()
@@ -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.68.7",
5
+ "version": "1.68.9",
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.68.7",
3
+ "version": "1.68.9",
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",
@@ -1,6 +1,6 @@
1
1
  # UR-Nexus — Technical Specifications
2
2
 
3
- > Audited against the executable source and tests for `ur-agent` v1.68.7.
3
+ > Audited against the executable source and tests for `ur-agent` v1.68.9.
4
4
  > Command, tool, flag, provider, and setting claims are checked against the
5
5
  > implementation rather than copied from product prose. Release validation
6
6
  > keeps this version synchronized and packages the complete `technical/`