ur-agent 1.57.2 → 1.57.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,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.57.3
4
+
5
+ - Stopped a false diagnosis on failed tool calls. When a tool call failed
6
+ schema validation, UR appended "this tool's schema was not sent to the API"
7
+ and told the model to load it via `ToolSearch`. Both claims were wrong on
8
+ every UR runtime: tool search requires `tool_reference` expansion, which no
9
+ UR runtime supports, so it is disabled and all schemas are sent. The model
10
+ acted on the false hint and wasted a turn. The hint now gates on the same
11
+ condition the request path uses, so a mis-shaped call surfaces only the Zod
12
+ error, which already names the offending field.
13
+ - Fixed tool search being enabled on LM Studio, vLLM and llama.cpp, where it
14
+ had only ever been disabled for Ollama. Those runtimes cannot expand
15
+ `tool_reference` either, so every deferred tool was unreachable: `ToolSearch`
16
+ answered with reference blocks that resolve to nothing. Support is now
17
+ derived from the runtime rather than the provider name.
18
+
3
19
  ## 1.57.2
4
20
 
5
21
  - Fixed the Ollama adapter discarding images returned by tools. A tool result
package/dist/cli.js CHANGED
@@ -75137,7 +75137,7 @@ var init_auth = __esm(() => {
75137
75137
 
75138
75138
  // src/utils/userAgent.ts
75139
75139
  function getURCodeUserAgent() {
75140
- return `ur/${"1.57.2"}`;
75140
+ return `ur/${"1.57.3"}`;
75141
75141
  }
75142
75142
 
75143
75143
  // src/utils/workloadContext.ts
@@ -75159,7 +75159,7 @@ function getUserAgent() {
75159
75159
  const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
75160
75160
  const workload = getWorkload();
75161
75161
  const workloadSuffix = workload ? `, workload/${workload}` : "";
75162
- return `ur-cli/${"1.57.2"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
75162
+ return `ur-cli/${"1.57.3"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
75163
75163
  }
75164
75164
  function getMCPUserAgent() {
75165
75165
  const parts = [];
@@ -75173,7 +75173,7 @@ function getMCPUserAgent() {
75173
75173
  parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
75174
75174
  }
75175
75175
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
75176
- return `ur/${"1.57.2"}${suffix}`;
75176
+ return `ur/${"1.57.3"}${suffix}`;
75177
75177
  }
75178
75178
  function getWebFetchUserAgent() {
75179
75179
  return `UR-User (${getURCodeUserAgent()})`;
@@ -75311,7 +75311,7 @@ var init_user = __esm(() => {
75311
75311
  deviceId,
75312
75312
  sessionId: getSessionId(),
75313
75313
  email: getEmail(),
75314
- appVersion: "1.57.2",
75314
+ appVersion: "1.57.3",
75315
75315
  platform: getHostPlatformForAnalytics(),
75316
75316
  organizationUuid,
75317
75317
  accountUuid,
@@ -83511,7 +83511,7 @@ var init_metadata = __esm(() => {
83511
83511
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
83512
83512
  WHITESPACE_REGEX = /\s+/;
83513
83513
  getVersionBase = memoize_default(() => {
83514
- const match = "1.57.2".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
83514
+ const match = "1.57.3".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
83515
83515
  return match ? match[0] : undefined;
83516
83516
  });
83517
83517
  buildEnvContext = memoize_default(async () => {
@@ -83551,7 +83551,7 @@ var init_metadata = __esm(() => {
83551
83551
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
83552
83552
  isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
83553
83553
  isURAiAuth: isURAISubscriber(),
83554
- version: "1.57.2",
83554
+ version: "1.57.3",
83555
83555
  versionBase: getVersionBase(),
83556
83556
  buildTime: "",
83557
83557
  deploymentEnvironment: env2.detectDeploymentEnvironment(),
@@ -84221,7 +84221,7 @@ function initialize1PEventLogging() {
84221
84221
  const platform2 = getPlatform();
84222
84222
  const attributes = {
84223
84223
  [import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
84224
- [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.57.2"
84224
+ [import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.57.3"
84225
84225
  };
84226
84226
  if (platform2 === "wsl") {
84227
84227
  const wslVersion = getWslVersion();
@@ -84249,7 +84249,7 @@ function initialize1PEventLogging() {
84249
84249
  })
84250
84250
  ]
84251
84251
  });
84252
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.57.2");
84252
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.57.3");
84253
84253
  }
84254
84254
  async function reinitialize1PEventLoggingIfConfigChanged() {
84255
84255
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -94088,7 +94088,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
94088
94088
  function formatA2AAgentCard(options = {}, pretty = true) {
94089
94089
  return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
94090
94090
  }
94091
- var urVersion = "1.57.2", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
94091
+ var urVersion = "1.57.3", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
94092
94092
  var init_trends = __esm(() => {
94093
94093
  init_a2aCardSignature();
94094
94094
  coverage = [
@@ -96889,7 +96889,7 @@ function getAttributionHeader(fingerprint) {
96889
96889
  if (!isAttributionHeaderEnabled()) {
96890
96890
  return "";
96891
96891
  }
96892
- const version2 = `${"1.57.2"}.${fingerprint}`;
96892
+ const version2 = `${"1.57.3"}.${fingerprint}`;
96893
96893
  const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
96894
96894
  const cch = "";
96895
96895
  const workload = getWorkload();
@@ -154478,7 +154478,7 @@ var init_projectSafety = __esm(() => {
154478
154478
  function getInstruments() {
154479
154479
  if (instruments)
154480
154480
  return instruments;
154481
- const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.57.2");
154481
+ const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.57.3");
154482
154482
  instruments = {
154483
154483
  operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
154484
154484
  description: "GenAI operation duration.",
@@ -154576,7 +154576,7 @@ function genAiAgentAttributes() {
154576
154576
  "gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
154577
154577
  "gen_ai.provider.name": "ur",
154578
154578
  "gen_ai.agent.name": "UR-Nexus",
154579
- "gen_ai.agent.version": "1.57.2"
154579
+ "gen_ai.agent.version": "1.57.3"
154580
154580
  };
154581
154581
  }
154582
154582
  function genAiWorkflowAttributes(workflowName) {
@@ -154592,7 +154592,7 @@ function genAiWorkflowAttributes(workflowName) {
154592
154592
  function startGenAiWorkflowSpan(workflowName) {
154593
154593
  const attributes = genAiWorkflowAttributes(workflowName);
154594
154594
  const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
154595
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.57.2").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
154595
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.57.3").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
154596
154596
  }
154597
154597
  function endGenAiWorkflowSpan(span, options2 = {}) {
154598
154598
  try {
@@ -154630,7 +154630,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
154630
154630
  if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
154631
154631
  attributes["gen_ai.memory.record.count"] = options2.recordCount;
154632
154632
  }
154633
- return import_api10.trace.getTracer("ur-agent.gen_ai", "1.57.2").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
154633
+ return import_api10.trace.getTracer("ur-agent.gen_ai", "1.57.3").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
154634
154634
  }
154635
154635
  function endGenAiMemorySpan(span, options2 = {}) {
154636
154636
  try {
@@ -206149,7 +206149,7 @@ function getTelemetryAttributes() {
206149
206149
  attributes["session.id"] = sessionId;
206150
206150
  }
206151
206151
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
206152
- attributes["app.version"] = "1.57.2";
206152
+ attributes["app.version"] = "1.57.3";
206153
206153
  }
206154
206154
  const oauthAccount = getOauthAccountInfo();
206155
206155
  if (oauthAccount) {
@@ -241716,7 +241716,7 @@ function getInstallationEnv() {
241716
241716
  return;
241717
241717
  }
241718
241718
  function getURCodeVersion() {
241719
- return "1.57.2";
241719
+ return "1.57.3";
241720
241720
  }
241721
241721
  async function getInstalledVSCodeExtensionVersion(command) {
241722
241722
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -249047,7 +249047,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
249047
249047
  const client2 = new Client({
249048
249048
  name: "ur",
249049
249049
  title: "UR",
249050
- version: "1.57.2",
249050
+ version: "1.57.3",
249051
249051
  description: "UR-Nexus autonomous engineering workflow engine",
249052
249052
  websiteUrl: PRODUCT_URL
249053
249053
  }, {
@@ -249407,7 +249407,7 @@ var init_client5 = __esm(() => {
249407
249407
  const client2 = new Client({
249408
249408
  name: "ur",
249409
249409
  title: "UR",
249410
- version: "1.57.2",
249410
+ version: "1.57.3",
249411
249411
  description: "UR-Nexus autonomous engineering workflow engine",
249412
249412
  websiteUrl: PRODUCT_URL
249413
249413
  }, {
@@ -262008,7 +262008,7 @@ async function createRuntime() {
262008
262008
  bootstrapTelemetry();
262009
262009
  const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
262010
262010
  [import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
262011
- [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.57.2"
262011
+ [import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.57.3"
262012
262012
  }));
262013
262013
  const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
262014
262014
  resource,
@@ -262041,11 +262041,11 @@ async function createRuntime() {
262041
262041
  setMeterProvider(meterProvider);
262042
262042
  setLoggerProvider(loggerProvider);
262043
262043
  if (meterProvider) {
262044
- const meter = meterProvider.getMeter("ur-agent", "1.57.2");
262044
+ const meter = meterProvider.getMeter("ur-agent", "1.57.3");
262045
262045
  setMeter(meter, (name, options2) => meter.createCounter(name, options2));
262046
262046
  }
262047
262047
  if (loggerProvider) {
262048
- setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.57.2"));
262048
+ setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.57.3"));
262049
262049
  }
262050
262050
  if (!cleanupRegistered2) {
262051
262051
  cleanupRegistered2 = true;
@@ -262707,9 +262707,9 @@ async function assertMinVersion() {
262707
262707
  if (false) {}
262708
262708
  try {
262709
262709
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
262710
- if (versionConfig.minVersion && lt("1.57.2", versionConfig.minVersion)) {
262710
+ if (versionConfig.minVersion && lt("1.57.3", versionConfig.minVersion)) {
262711
262711
  console.error(`
262712
- It looks like your version of UR (${"1.57.2"}) needs an update.
262712
+ It looks like your version of UR (${"1.57.3"}) needs an update.
262713
262713
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
262714
262714
 
262715
262715
  To update, please run:
@@ -262925,7 +262925,7 @@ async function installGlobalPackage(specificVersion) {
262925
262925
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
262926
262926
  logEvent("tengu_auto_updater_lock_contention", {
262927
262927
  pid: process.pid,
262928
- currentVersion: "1.57.2"
262928
+ currentVersion: "1.57.3"
262929
262929
  });
262930
262930
  return "in_progress";
262931
262931
  }
@@ -262934,7 +262934,7 @@ async function installGlobalPackage(specificVersion) {
262934
262934
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
262935
262935
  logError2(new Error("Windows NPM detected in WSL environment"));
262936
262936
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
262937
- currentVersion: "1.57.2"
262937
+ currentVersion: "1.57.3"
262938
262938
  });
262939
262939
  console.error(`
262940
262940
  Error: Windows NPM detected in WSL
@@ -263469,7 +263469,7 @@ function detectLinuxGlobPatternWarnings() {
263469
263469
  }
263470
263470
  async function getDoctorDiagnostic() {
263471
263471
  const installationType = await getCurrentInstallationType();
263472
- const version2 = typeof MACRO !== "undefined" ? "1.57.2" : "unknown";
263472
+ const version2 = typeof MACRO !== "undefined" ? "1.57.3" : "unknown";
263473
263473
  const installationPath = await getInstallationPath();
263474
263474
  const invokedBinary = getInvokedBinary();
263475
263475
  const multipleInstallations = await detectMultipleInstallations();
@@ -264404,8 +264404,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
264404
264404
  const maxVersion = await getMaxVersion();
264405
264405
  if (maxVersion && gt(version2, maxVersion)) {
264406
264406
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
264407
- if (gte("1.57.2", maxVersion)) {
264408
- logForDebugging(`Native installer: current version ${"1.57.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
264407
+ if (gte("1.57.3", maxVersion)) {
264408
+ logForDebugging(`Native installer: current version ${"1.57.3"} is already at or above maxVersion ${maxVersion}, skipping update`);
264409
264409
  logEvent("tengu_native_update_skipped_max_version", {
264410
264410
  latency_ms: Date.now() - startTime,
264411
264411
  max_version: maxVersion,
@@ -264416,7 +264416,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
264416
264416
  version2 = maxVersion;
264417
264417
  }
264418
264418
  }
264419
- if (!forceReinstall && version2 === "1.57.2" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
264419
+ if (!forceReinstall && version2 === "1.57.3" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
264420
264420
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
264421
264421
  logEvent("tengu_native_update_complete", {
264422
264422
  latency_ms: Date.now() - startTime,
@@ -334698,7 +334698,7 @@ function isAnyTracingEnabled() {
334698
334698
  return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
334699
334699
  }
334700
334700
  function getTracer() {
334701
- return import_api39.trace.getTracer("ur-agent.gen_ai", "1.57.2");
334701
+ return import_api39.trace.getTracer("ur-agent.gen_ai", "1.57.3");
334702
334702
  }
334703
334703
  function createSpanAttributes(spanType, customAttributes = {}) {
334704
334704
  const baseAttributes = getTelemetryAttributes();
@@ -336348,6 +336348,8 @@ function streamedCheckPermissionsAndCallTool(tool, toolUseID, input, toolUseCont
336348
336348
  return stream4;
336349
336349
  }
336350
336350
  function buildSchemaNotSentHint(tool, messages, tools) {
336351
+ if (!supportsToolReferenceExpansion())
336352
+ return null;
336351
336353
  if (!isToolSearchEnabledOptimistic())
336352
336354
  return null;
336353
336355
  if (!isToolSearchToolAvailable(tools))
@@ -343385,6 +343387,7 @@ var init_zodToJsonSchema2 = __esm(() => {
343385
343387
  // src/utils/toolSearch.ts
343386
343388
  var exports_toolSearch = {};
343387
343389
  __export(exports_toolSearch, {
343390
+ supportsToolReferenceExpansion: () => supportsToolReferenceExpansion,
343388
343391
  modelSupportsToolReference: () => modelSupportsToolReference,
343389
343392
  isToolSearchToolAvailable: () => isToolSearchToolAvailable,
343390
343393
  isToolSearchEnabledOptimistic: () => isToolSearchEnabledOptimistic,
@@ -343460,7 +343463,13 @@ function getUnsupportedToolReferencePatterns() {
343460
343463
  } catch {}
343461
343464
  return DEFAULT_UNSUPPORTED_MODEL_PATTERNS;
343462
343465
  }
343466
+ function supportsToolReferenceExpansion() {
343467
+ return isFirstPartyRuntime();
343468
+ }
343463
343469
  function modelSupportsToolReference(model) {
343470
+ if (!supportsToolReferenceExpansion()) {
343471
+ return false;
343472
+ }
343464
343473
  if (getAPIProvider() === "ollama") {
343465
343474
  return false;
343466
343475
  }
@@ -364178,7 +364187,7 @@ function Feedback({
364178
364187
  platform: env2.platform,
364179
364188
  gitRepo: envInfo.isGit,
364180
364189
  terminal: env2.terminal,
364181
- version: "1.57.2",
364190
+ version: "1.57.3",
364182
364191
  transcript: normalizeMessagesForAPI(messages),
364183
364192
  errors: sanitizedErrors,
364184
364193
  lastApiRequest: getLastAPIRequest(),
@@ -364370,7 +364379,7 @@ function Feedback({
364370
364379
  ", ",
364371
364380
  env2.terminal,
364372
364381
  ", v",
364373
- "1.57.2"
364382
+ "1.57.3"
364374
364383
  ]
364375
364384
  }, undefined, true, undefined, this)
364376
364385
  ]
@@ -364476,7 +364485,7 @@ ${sanitizedDescription}
364476
364485
  ` + `**Environment Info**
364477
364486
  ` + `- Platform: ${env2.platform}
364478
364487
  ` + `- Terminal: ${env2.terminal}
364479
- ` + `- Version: ${"1.57.2"}
364488
+ ` + `- Version: ${"1.57.3"}
364480
364489
  ` + `- Feedback ID: ${feedbackId}
364481
364490
  ` + `
364482
364491
  **Errors**
@@ -367586,7 +367595,7 @@ function buildPrimarySection() {
367586
367595
  }, undefined, false, undefined, this);
367587
367596
  return [{
367588
367597
  label: "Version",
367589
- value: "1.57.2"
367598
+ value: "1.57.3"
367590
367599
  }, {
367591
367600
  label: "Session name",
367592
367601
  value: nameValue
@@ -370916,7 +370925,7 @@ function Config({
370916
370925
  }
370917
370926
  }, undefined, false, undefined, this)
370918
370927
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
370919
- currentVersion: "1.57.2",
370928
+ currentVersion: "1.57.3",
370920
370929
  onChoice: (choice) => {
370921
370930
  setShowSubmenu(null);
370922
370931
  setTabsHidden(false);
@@ -370928,7 +370937,7 @@ function Config({
370928
370937
  autoUpdatesChannel: "stable"
370929
370938
  };
370930
370939
  if (choice === "stay") {
370931
- newSettings.minimumVersion = "1.57.2";
370940
+ newSettings.minimumVersion = "1.57.3";
370932
370941
  }
370933
370942
  updateSettingsForSource("userSettings", newSettings);
370934
370943
  setSettingsData((prev_27) => ({
@@ -378992,7 +379001,7 @@ function HelpV2(t0) {
378992
379001
  let t6;
378993
379002
  if ($2[31] !== tabs) {
378994
379003
  t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
378995
- title: `UR v${"1.57.2"}`,
379004
+ title: `UR v${"1.57.3"}`,
378996
379005
  color: "professionalBlue",
378997
379006
  defaultTab: "general",
378998
379007
  children: tabs
@@ -379909,7 +379918,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
379909
379918
  async function handleInitialize(options2) {
379910
379919
  return {
379911
379920
  name: "UR",
379912
- version: "1.57.2",
379921
+ version: "1.57.3",
379913
379922
  protocolVersion: "0.1.0",
379914
379923
  workspaceRoot: options2.cwd,
379915
379924
  capabilities: {
@@ -397017,7 +397026,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
397017
397026
  return [];
397018
397027
  }
397019
397028
  }
397020
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.57.2") {
397029
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.57.3") {
397021
397030
  if (process.env.USER_TYPE === "ant") {
397022
397031
  const changelog = "";
397023
397032
  if (changelog) {
@@ -397044,7 +397053,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.57.2")
397044
397053
  releaseNotes
397045
397054
  };
397046
397055
  }
397047
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.57.2") {
397056
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.57.3") {
397048
397057
  if (process.env.USER_TYPE === "ant") {
397049
397058
  const changelog = "";
397050
397059
  if (changelog) {
@@ -399901,7 +399910,7 @@ function getRecentActivitySync() {
399901
399910
  return cachedActivity;
399902
399911
  }
399903
399912
  function getLogoDisplayData() {
399904
- const version2 = process.env.DEMO_VERSION ?? "1.57.2";
399913
+ const version2 = process.env.DEMO_VERSION ?? "1.57.3";
399905
399914
  const serverUrl = getDirectConnectServerUrl();
399906
399915
  const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
399907
399916
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -400785,7 +400794,7 @@ function LogoV2() {
400785
400794
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
400786
400795
  t2 = () => {
400787
400796
  const currentConfig2 = getGlobalConfig();
400788
- if (currentConfig2.lastReleaseNotesSeen === "1.57.2") {
400797
+ if (currentConfig2.lastReleaseNotesSeen === "1.57.3") {
400789
400798
  return;
400790
400799
  }
400791
400800
  saveGlobalConfig(_temp327);
@@ -401470,12 +401479,12 @@ function LogoV2() {
401470
401479
  return t41;
401471
401480
  }
401472
401481
  function _temp327(current) {
401473
- if (current.lastReleaseNotesSeen === "1.57.2") {
401482
+ if (current.lastReleaseNotesSeen === "1.57.3") {
401474
401483
  return current;
401475
401484
  }
401476
401485
  return {
401477
401486
  ...current,
401478
- lastReleaseNotesSeen: "1.57.2"
401487
+ lastReleaseNotesSeen: "1.57.3"
401479
401488
  };
401480
401489
  }
401481
401490
  function _temp241(s_0) {
@@ -418273,7 +418282,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
418273
418282
  if (spec.name !== specName) {
418274
418283
  throw new Error("Agentic CI workflow spec name does not match");
418275
418284
  }
418276
- const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.57.2" : "1.57.2");
418285
+ const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.57.3" : "1.57.3");
418277
418286
  if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
418278
418287
  throw new Error("invalid ur-agent package version");
418279
418288
  }
@@ -419266,7 +419275,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
419266
419275
  path: ".github/workflows/ur.yml",
419267
419276
  root: "project",
419268
419277
  content: compileAgenticCiWorkflow("default", {
419269
- packageVersion: typeof MACRO !== "undefined" ? "1.57.2" : "1.57.2"
419278
+ packageVersion: typeof MACRO !== "undefined" ? "1.57.3" : "1.57.3"
419270
419279
  })
419271
419280
  },
419272
419281
  {
@@ -419329,7 +419338,7 @@ function value(tokens, flag) {
419329
419338
  return index2 >= 0 ? tokens[index2 + 1] : undefined;
419330
419339
  }
419331
419340
  function cliVersion() {
419332
- return typeof MACRO !== "undefined" ? "1.57.2" : "1.57.2";
419341
+ return typeof MACRO !== "undefined" ? "1.57.3" : "1.57.3";
419333
419342
  }
419334
419343
  function workflowPath(cwd2) {
419335
419344
  return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
@@ -425185,7 +425194,7 @@ function createAcpStdioApp(deps) {
425185
425194
  }
425186
425195
  },
425187
425196
  authMethods: [],
425188
- agentInfo: { name: "UR-Nexus", version: "1.57.2" }
425197
+ agentInfo: { name: "UR-Nexus", version: "1.57.3" }
425189
425198
  })).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
425190
425199
  const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
425191
425200
  await runtime2.announce({
@@ -425282,7 +425291,7 @@ function createAcpStdioAgent(deps) {
425282
425291
  }
425283
425292
  },
425284
425293
  authMethods: [],
425285
- agentInfo: { name: "UR-Nexus", version: "1.57.2" }
425294
+ agentInfo: { name: "UR-Nexus", version: "1.57.3" }
425286
425295
  });
425287
425296
  return;
425288
425297
  case "authenticate":
@@ -632649,7 +632658,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
632649
632658
  smapsRollup,
632650
632659
  platform: process.platform,
632651
632660
  nodeVersion: process.version,
632652
- ccVersion: "1.57.2"
632661
+ ccVersion: "1.57.3"
632653
632662
  };
632654
632663
  }
632655
632664
  async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
@@ -633229,7 +633238,7 @@ var init_bridge_kick = __esm(() => {
633229
633238
  var call149 = async () => {
633230
633239
  return {
633231
633240
  type: "text",
633232
- value: "1.57.2"
633241
+ value: "1.57.3"
633233
633242
  };
633234
633243
  }, version2, version_default;
633235
633244
  var init_version = __esm(() => {
@@ -644300,7 +644309,7 @@ function generateHtmlReport(data, insights) {
644300
644309
  </html>`;
644301
644310
  }
644302
644311
  function buildExportData(data, insights, facets, remoteStats) {
644303
- const version3 = typeof MACRO !== "undefined" ? "1.57.2" : "unknown";
644312
+ const version3 = typeof MACRO !== "undefined" ? "1.57.3" : "unknown";
644304
644313
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
644305
644314
  const facets_summary = {
644306
644315
  total: facets.size,
@@ -648603,7 +648612,7 @@ var init_sessionStorage = __esm(() => {
648603
648612
  init_settings2();
648604
648613
  init_slowOperations();
648605
648614
  init_uuid();
648606
- VERSION7 = typeof MACRO !== "undefined" ? "1.57.2" : "unknown";
648615
+ VERSION7 = typeof MACRO !== "undefined" ? "1.57.3" : "unknown";
648607
648616
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
648608
648617
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
648609
648618
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -649818,7 +649827,7 @@ var init_filesystem = __esm(() => {
649818
649827
  });
649819
649828
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
649820
649829
  const nonce = randomBytes20(16).toString("hex");
649821
- return join227(getURTempDir(), "bundled-skills", "1.57.2", nonce);
649830
+ return join227(getURTempDir(), "bundled-skills", "1.57.3", nonce);
649822
649831
  });
649823
649832
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
649824
649833
  });
@@ -656113,7 +656122,7 @@ function computeFingerprint(messageText2, version3) {
656113
656122
  }
656114
656123
  function computeFingerprintFromMessages(messages) {
656115
656124
  const firstMessageText = extractFirstMessageText(messages);
656116
- return computeFingerprint(firstMessageText, "1.57.2");
656125
+ return computeFingerprint(firstMessageText, "1.57.3");
656117
656126
  }
656118
656127
  var FINGERPRINT_SALT = "59cf53e54c78";
656119
656128
  var init_fingerprint = () => {};
@@ -658009,7 +658018,7 @@ async function sideQuery(opts) {
658009
658018
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
658010
658019
  }
658011
658020
  const messageText2 = extractFirstUserMessageText(messages);
658012
- const fingerprint2 = computeFingerprint(messageText2, "1.57.2");
658021
+ const fingerprint2 = computeFingerprint(messageText2, "1.57.3");
658013
658022
  const attributionHeader = getAttributionHeader(fingerprint2);
658014
658023
  const systemBlocks = [
658015
658024
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -662780,7 +662789,7 @@ function buildSystemInitMessage(inputs) {
662780
662789
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
662781
662790
  apiKeySource: getURHQApiKeyWithSource().source,
662782
662791
  betas: getSdkBetas(),
662783
- ur_version: "1.57.2",
662792
+ ur_version: "1.57.3",
662784
662793
  output_style: outputStyle2,
662785
662794
  agents: inputs.agents.map((agent2) => agent2.agentType),
662786
662795
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
@@ -676640,7 +676649,7 @@ var init_useVoiceEnabled = __esm(() => {
676640
676649
  function getSemverPart(version3) {
676641
676650
  return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
676642
676651
  }
676643
- function useUpdateNotification(updatedVersion, initialVersion = "1.57.2") {
676652
+ function useUpdateNotification(updatedVersion, initialVersion = "1.57.3") {
676644
676653
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react222.useState(() => getSemverPart(initialVersion));
676645
676654
  if (!updatedVersion) {
676646
676655
  return null;
@@ -676689,7 +676698,7 @@ function AutoUpdater({
676689
676698
  return;
676690
676699
  }
676691
676700
  if (false) {}
676692
- const currentVersion = "1.57.2";
676701
+ const currentVersion = "1.57.3";
676693
676702
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
676694
676703
  let latestVersion = await getLatestVersion(channel);
676695
676704
  const isDisabled = isAutoUpdaterDisabled();
@@ -676918,12 +676927,12 @@ function NativeAutoUpdater({
676918
676927
  logEvent("tengu_native_auto_updater_start", {});
676919
676928
  try {
676920
676929
  const maxVersion = await getMaxVersion();
676921
- if (maxVersion && gt("1.57.2", maxVersion)) {
676930
+ if (maxVersion && gt("1.57.3", maxVersion)) {
676922
676931
  const msg = await getMaxVersionMessage();
676923
676932
  setMaxVersionIssue(msg ?? "affects your version");
676924
676933
  }
676925
676934
  const result = await installLatest(channel);
676926
- const currentVersion = "1.57.2";
676935
+ const currentVersion = "1.57.3";
676927
676936
  const latencyMs = Date.now() - startTime;
676928
676937
  if (result.lockFailed) {
676929
676938
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -677060,17 +677069,17 @@ function PackageManagerAutoUpdater(t0) {
677060
677069
  const maxVersion = await getMaxVersion();
677061
677070
  if (maxVersion && latest && gt(latest, maxVersion)) {
677062
677071
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
677063
- if (gte("1.57.2", maxVersion)) {
677064
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.57.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
677072
+ if (gte("1.57.3", maxVersion)) {
677073
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.57.3"} is already at or above maxVersion ${maxVersion}, skipping update`);
677065
677074
  setUpdateAvailable(false);
677066
677075
  return;
677067
677076
  }
677068
677077
  latest = maxVersion;
677069
677078
  }
677070
- const hasUpdate = latest && !gte("1.57.2", latest) && !shouldSkipVersion(latest);
677079
+ const hasUpdate = latest && !gte("1.57.3", latest) && !shouldSkipVersion(latest);
677071
677080
  setUpdateAvailable(!!hasUpdate);
677072
677081
  if (hasUpdate) {
677073
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.57.2"} -> ${latest}`);
677082
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.57.3"} -> ${latest}`);
677074
677083
  }
677075
677084
  };
677076
677085
  $2[0] = t1;
@@ -677104,7 +677113,7 @@ function PackageManagerAutoUpdater(t0) {
677104
677113
  wrap: "truncate",
677105
677114
  children: [
677106
677115
  "currentVersion: ",
677107
- "1.57.2"
677116
+ "1.57.3"
677108
677117
  ]
677109
677118
  }, undefined, true, undefined, this);
677110
677119
  $2[3] = verbose;
@@ -687801,7 +687810,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
687801
687810
  project_dir: getOriginalCwd(),
687802
687811
  added_dirs: addedDirs
687803
687812
  },
687804
- version: "1.57.2",
687813
+ version: "1.57.3",
687805
687814
  output_style: {
687806
687815
  name: outputStyleName
687807
687816
  },
@@ -687884,7 +687893,7 @@ function StatusLineInner({
687884
687893
  const taskValues = Object.values(tasks2);
687885
687894
  const taskRunningCount = taskValues.filter((task2) => task2.status === "running" || task2.status === "pending").length;
687886
687895
  const defaultStatusLineText = buildDefaultStatusBar({
687887
- version: "1.57.2",
687896
+ version: "1.57.3",
687888
687897
  providerLabel: providerRuntime.providerLabel,
687889
687898
  authMode: providerRuntime.authLabel,
687890
687899
  model: providerRuntime.model ?? renderModelName(mainLoopModel),
@@ -700027,7 +700036,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
700027
700036
  } catch {}
700028
700037
  const data = {
700029
700038
  trigger: trigger2,
700030
- version: "1.57.2",
700039
+ version: "1.57.3",
700031
700040
  platform: process.platform,
700032
700041
  transcript,
700033
700042
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -712307,7 +712316,7 @@ function WelcomeV2() {
712307
712316
  dimColor: true,
712308
712317
  children: [
712309
712318
  "v",
712310
- "1.57.2"
712319
+ "1.57.3"
712311
712320
  ]
712312
712321
  }, undefined, true, undefined, this)
712313
712322
  ]
@@ -713567,7 +713576,7 @@ function completeOnboarding() {
713567
713576
  saveGlobalConfig((current) => ({
713568
713577
  ...current,
713569
713578
  hasCompletedOnboarding: true,
713570
- lastOnboardingVersion: "1.57.2"
713579
+ lastOnboardingVersion: "1.57.3"
713571
713580
  }));
713572
713581
  }
713573
713582
  function showDialog(root2, renderer) {
@@ -718611,7 +718620,7 @@ function appendToLog(path24, message) {
718611
718620
  cwd: getFsImplementation().cwd(),
718612
718621
  userType: process.env.USER_TYPE,
718613
718622
  sessionId: getSessionId(),
718614
- version: "1.57.2"
718623
+ version: "1.57.3"
718615
718624
  };
718616
718625
  getLogWriter(path24).write(messageWithTimestamp);
718617
718626
  }
@@ -722770,8 +722779,8 @@ async function getEnvLessBridgeConfig() {
722770
722779
  }
722771
722780
  async function checkEnvLessBridgeMinVersion() {
722772
722781
  const cfg = await getEnvLessBridgeConfig();
722773
- if (cfg.min_version && lt("1.57.2", cfg.min_version)) {
722774
- return `Your version of UR (${"1.57.2"}) is too old for Remote Control.
722782
+ if (cfg.min_version && lt("1.57.3", cfg.min_version)) {
722783
+ return `Your version of UR (${"1.57.3"}) is too old for Remote Control.
722775
722784
  Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
722776
722785
  }
722777
722786
  return null;
@@ -723245,7 +723254,7 @@ async function initBridgeCore(params) {
723245
723254
  const rawApi = createBridgeApiClient({
723246
723255
  baseUrl,
723247
723256
  getAccessToken,
723248
- runnerVersion: "1.57.2",
723257
+ runnerVersion: "1.57.3",
723249
723258
  onDebug: logForDebugging,
723250
723259
  onAuth401,
723251
723260
  getTrustedDeviceToken
@@ -732717,7 +732726,7 @@ function getAgUiCapabilities() {
732717
732726
  name: "UR-Nexus",
732718
732727
  type: "ur-nexus",
732719
732728
  description: "Provider-flexible, local-first autonomous engineering workflow agent.",
732720
- version: "1.57.2",
732729
+ version: "1.57.3",
732721
732730
  provider: "UR",
732722
732731
  documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
732723
732732
  },
@@ -733857,7 +733866,7 @@ function createMCPServer(cwd4, debug2, verbose) {
733857
733866
  };
733858
733867
  const server2 = new Server({
733859
733868
  name: "ur-nexus",
733860
- version: "1.57.2"
733869
+ version: "1.57.3"
733861
733870
  }, {
733862
733871
  capabilities: {
733863
733872
  tools: {}
@@ -735015,7 +735024,7 @@ function thrownResponse(error40) {
735015
735024
  }
735016
735025
  async function createUrMcp2026Runtime(options4) {
735017
735026
  const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
735018
- const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.57.2" }, { capabilities: {} });
735027
+ const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.57.3" }, { capabilities: {} });
735019
735028
  const [clientTransport, serverTransport] = createLinkedTransportPair();
735020
735029
  try {
735021
735030
  await server2.connect(serverTransport);
@@ -735026,7 +735035,7 @@ async function createUrMcp2026Runtime(options4) {
735026
735035
  }
735027
735036
  const runtime2 = new Mcp2026Runtime({
735028
735037
  cwd: options4.cwd,
735029
- version: "1.57.2",
735038
+ version: "1.57.3",
735030
735039
  backend: {
735031
735040
  listTools: async () => {
735032
735041
  const listed = await client2.listTools();
@@ -737159,7 +737168,7 @@ async function update() {
737159
737168
  logEvent("tengu_update_check", {});
737160
737169
  const diagnostic2 = await getDoctorDiagnostic();
737161
737170
  const result = await checkUpgradeStatus({
737162
- currentVersion: "1.57.2",
737171
+ currentVersion: "1.57.3",
737163
737172
  packageName: UR_AGENT_PACKAGE_NAME,
737164
737173
  installationType: diagnostic2.installationType,
737165
737174
  latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
@@ -738475,7 +738484,7 @@ ${customInstructions}` : customInstructions;
738475
738484
  }
738476
738485
  }
738477
738486
  logForDiagnosticsNoPII("info", "started", {
738478
- version: "1.57.2",
738487
+ version: "1.57.3",
738479
738488
  is_native_binary: isInBundledMode()
738480
738489
  });
738481
738490
  registerCleanup(async () => {
@@ -739261,7 +739270,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
739261
739270
  pendingHookMessages
739262
739271
  }, renderAndRun);
739263
739272
  }
739264
- }).version("1.57.2 (UR-Nexus)", "-v, --version", "Output the version number");
739273
+ }).version("1.57.3 (UR-Nexus)", "-v, --version", "Output the version number");
739265
739274
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
739266
739275
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
739267
739276
  if (canUserConfigureAdvisor()) {
@@ -740296,7 +740305,7 @@ if (false) {}
740296
740305
  async function main2() {
740297
740306
  const args = process.argv.slice(2);
740298
740307
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
740299
- console.log(`${"1.57.2"} (UR-Nexus)`);
740308
+ console.log(`${"1.57.3"} (UR-Nexus)`);
740300
740309
  return;
740301
740310
  }
740302
740311
  if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
package/docs/providers.md CHANGED
@@ -60,6 +60,13 @@ or `ollama show <model>`.
60
60
  official CLI, so image blocks are not forwarded, and UR-native tool/streaming/
61
61
  sandbox guarantees stop at UR-run tools and final UR output.
62
62
 
63
+ Tool search (deferred tool loading) is disabled on every provider above. It
64
+ depends on `tool_reference` content blocks being expanded into tool definitions
65
+ by the API, which is a URHQ-native beta feature with no equivalent on a local
66
+ runtime or a vendor CLI. UR therefore sends every tool schema on every request,
67
+ and `ToolSearch` is not offered to the model. Enabling it against a runtime that
68
+ cannot expand references would leave deferred tools permanently unreachable.
69
+
63
70
  Native tools and native streaming mean UR's own request/response loop parses
64
71
  tool calls and streams tokens for that provider. Multimodal input means UR
65
72
  preserves image content blocks (resized/normalized with `sharp`) into that
@@ -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.57.2</p>
48
+ <p class="eyebrow">Version 1.57.3</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.57.2"
10
+ version = "1.57.3"
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.57.2",
5
+ "version": "1.57.3",
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.57.2",
3
+ "version": "1.57.3",
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",