ur-agent 1.57.1 → 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,35 @@
|
|
|
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
|
+
|
|
19
|
+
## 1.57.2
|
|
20
|
+
|
|
21
|
+
- Fixed the Ollama adapter discarding images returned by tools. A tool result
|
|
22
|
+
containing an image was flattened with `contentBlockToText`, which renders an
|
|
23
|
+
image block as the literal string `[Image output omitted]` — so a `Computer`
|
|
24
|
+
screenshot reached the model as that text and nothing else. Image blocks are
|
|
25
|
+
now extracted from the tool result and sent as `images` on the following user
|
|
26
|
+
message, which is where Ollama renders them reliably.
|
|
27
|
+
- On a model with no vision capability the placeholder now names the model and
|
|
28
|
+
points at `/model`, so the agent states the real reason it cannot see instead
|
|
29
|
+
of inventing one.
|
|
30
|
+
- `Computer(screenshot)` now reports the bytes actually sent rather than the
|
|
31
|
+
on-disk size, which was misleading after downsampling.
|
|
32
|
+
|
|
3
33
|
## 1.57.1
|
|
4
34
|
|
|
5
35
|
- Fixed the `Computer` tool returning a byte count instead of the screenshot.
|
package/dist/cli.js
CHANGED
|
@@ -57310,6 +57310,7 @@ var init_kimiToolCalls = __esm(() => {
|
|
|
57310
57310
|
// src/services/api/ollama.ts
|
|
57311
57311
|
var exports_ollama = {};
|
|
57312
57312
|
__export(exports_ollama, {
|
|
57313
|
+
toOllamaChatRequest: () => toOllamaChatRequest,
|
|
57313
57314
|
mergeToolCalls: () => mergeToolCalls,
|
|
57314
57315
|
isOllamaCloudModel: () => isOllamaCloudModel2,
|
|
57315
57316
|
getOllamaRequestTimeoutMs: () => getOllamaRequestTimeoutMs,
|
|
@@ -57497,7 +57498,7 @@ function toOllamaChatRequest(params, stream4, capabilities) {
|
|
|
57497
57498
|
model: params.model,
|
|
57498
57499
|
messages: [
|
|
57499
57500
|
systemMessage,
|
|
57500
|
-
...messagesToOllama(params.messages, modelCapabilityEnabled(capabilities, "vision"))
|
|
57501
|
+
...messagesToOllama(params.messages, modelCapabilityEnabled(capabilities, "vision"), params.model)
|
|
57501
57502
|
].filter((message) => message.role === "tool" || message.content.trim() !== "" || (message.images?.length ?? 0) > 0 || (message.tool_calls?.length ?? 0) > 0),
|
|
57502
57503
|
stream: stream4,
|
|
57503
57504
|
...tools.length > 0 ? { tools } : {},
|
|
@@ -57543,7 +57544,7 @@ function systemToText(system) {
|
|
|
57543
57544
|
|
|
57544
57545
|
`);
|
|
57545
57546
|
}
|
|
57546
|
-
function messagesToOllama(messages, supportsVision) {
|
|
57547
|
+
function messagesToOllama(messages, supportsVision, model = "") {
|
|
57547
57548
|
const result = [];
|
|
57548
57549
|
const toolNamesById = new Map;
|
|
57549
57550
|
for (const message of messages) {
|
|
@@ -57592,11 +57593,19 @@ function messagesToOllama(messages, supportsVision) {
|
|
|
57592
57593
|
break;
|
|
57593
57594
|
case "tool_result": {
|
|
57594
57595
|
const toolName = toolNamesById.get(block.tool_use_id) ?? block.tool_use_id;
|
|
57596
|
+
const split = splitToolResultContent(block.content);
|
|
57597
|
+
const note = describeToolResultImages(split.images.length, toolName, supportsVision, model);
|
|
57595
57598
|
toolMessages.push({
|
|
57596
57599
|
role: "tool",
|
|
57597
|
-
content:
|
|
57600
|
+
content: [split.text, note].filter(Boolean).join(`
|
|
57601
|
+
`),
|
|
57598
57602
|
tool_name: toolName
|
|
57599
57603
|
});
|
|
57604
|
+
if (supportsVision) {
|
|
57605
|
+
for (const image of split.images) {
|
|
57606
|
+
images.push(image);
|
|
57607
|
+
}
|
|
57608
|
+
}
|
|
57600
57609
|
break;
|
|
57601
57610
|
}
|
|
57602
57611
|
case "image":
|
|
@@ -58255,6 +58264,37 @@ function emptyUsage() {
|
|
|
58255
58264
|
}
|
|
58256
58265
|
};
|
|
58257
58266
|
}
|
|
58267
|
+
function splitToolResultContent(content) {
|
|
58268
|
+
if (!Array.isArray(content)) {
|
|
58269
|
+
return { text: contentBlockToText(content), images: [] };
|
|
58270
|
+
}
|
|
58271
|
+
const textParts = [];
|
|
58272
|
+
const images = [];
|
|
58273
|
+
for (const block of content) {
|
|
58274
|
+
if (block && typeof block === "object" && "type" in block && block.type === "image") {
|
|
58275
|
+
const source = block.source;
|
|
58276
|
+
if (source?.type === "base64" && typeof source.data === "string") {
|
|
58277
|
+
images.push(source.data);
|
|
58278
|
+
} else {
|
|
58279
|
+
textParts.push("[Image omitted: unsupported image source]");
|
|
58280
|
+
}
|
|
58281
|
+
continue;
|
|
58282
|
+
}
|
|
58283
|
+
textParts.push(contentBlockToText([block]));
|
|
58284
|
+
}
|
|
58285
|
+
return { text: textParts.filter(Boolean).join(`
|
|
58286
|
+
`), images };
|
|
58287
|
+
}
|
|
58288
|
+
function describeToolResultImages(count3, toolName, supportsVision, model) {
|
|
58289
|
+
if (count3 === 0)
|
|
58290
|
+
return "";
|
|
58291
|
+
const plural = count3 === 1 ? "image" : `${count3} images`;
|
|
58292
|
+
if (supportsVision) {
|
|
58293
|
+
return `[${plural} from ${toolName} attached to the following message]`;
|
|
58294
|
+
}
|
|
58295
|
+
const named = model ? `"${model}"` : "the selected Ollama model";
|
|
58296
|
+
return `[${plural} from ${toolName} could not be sent: ${named} does not advertise ` + `vision support, so it cannot see images. Tell the user this directly and ` + `suggest switching to a vision model with /model.]`;
|
|
58297
|
+
}
|
|
58258
58298
|
function contentBlockToText(content) {
|
|
58259
58299
|
if (typeof content === "string") {
|
|
58260
58300
|
return content;
|
|
@@ -75097,7 +75137,7 @@ var init_auth = __esm(() => {
|
|
|
75097
75137
|
|
|
75098
75138
|
// src/utils/userAgent.ts
|
|
75099
75139
|
function getURCodeUserAgent() {
|
|
75100
|
-
return `ur/${"1.57.
|
|
75140
|
+
return `ur/${"1.57.3"}`;
|
|
75101
75141
|
}
|
|
75102
75142
|
|
|
75103
75143
|
// src/utils/workloadContext.ts
|
|
@@ -75119,7 +75159,7 @@ function getUserAgent() {
|
|
|
75119
75159
|
const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
|
|
75120
75160
|
const workload = getWorkload();
|
|
75121
75161
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
75122
|
-
return `ur-cli/${"1.57.
|
|
75162
|
+
return `ur-cli/${"1.57.3"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
75123
75163
|
}
|
|
75124
75164
|
function getMCPUserAgent() {
|
|
75125
75165
|
const parts = [];
|
|
@@ -75133,7 +75173,7 @@ function getMCPUserAgent() {
|
|
|
75133
75173
|
parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
|
|
75134
75174
|
}
|
|
75135
75175
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
75136
|
-
return `ur/${"1.57.
|
|
75176
|
+
return `ur/${"1.57.3"}${suffix}`;
|
|
75137
75177
|
}
|
|
75138
75178
|
function getWebFetchUserAgent() {
|
|
75139
75179
|
return `UR-User (${getURCodeUserAgent()})`;
|
|
@@ -75271,7 +75311,7 @@ var init_user = __esm(() => {
|
|
|
75271
75311
|
deviceId,
|
|
75272
75312
|
sessionId: getSessionId(),
|
|
75273
75313
|
email: getEmail(),
|
|
75274
|
-
appVersion: "1.57.
|
|
75314
|
+
appVersion: "1.57.3",
|
|
75275
75315
|
platform: getHostPlatformForAnalytics(),
|
|
75276
75316
|
organizationUuid,
|
|
75277
75317
|
accountUuid,
|
|
@@ -83471,7 +83511,7 @@ var init_metadata = __esm(() => {
|
|
|
83471
83511
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
83472
83512
|
WHITESPACE_REGEX = /\s+/;
|
|
83473
83513
|
getVersionBase = memoize_default(() => {
|
|
83474
|
-
const match = "1.57.
|
|
83514
|
+
const match = "1.57.3".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
83475
83515
|
return match ? match[0] : undefined;
|
|
83476
83516
|
});
|
|
83477
83517
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -83511,7 +83551,7 @@ var init_metadata = __esm(() => {
|
|
|
83511
83551
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
83512
83552
|
isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
|
|
83513
83553
|
isURAiAuth: isURAISubscriber(),
|
|
83514
|
-
version: "1.57.
|
|
83554
|
+
version: "1.57.3",
|
|
83515
83555
|
versionBase: getVersionBase(),
|
|
83516
83556
|
buildTime: "",
|
|
83517
83557
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
@@ -84181,7 +84221,7 @@ function initialize1PEventLogging() {
|
|
|
84181
84221
|
const platform2 = getPlatform();
|
|
84182
84222
|
const attributes = {
|
|
84183
84223
|
[import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
|
|
84184
|
-
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.57.
|
|
84224
|
+
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.57.3"
|
|
84185
84225
|
};
|
|
84186
84226
|
if (platform2 === "wsl") {
|
|
84187
84227
|
const wslVersion = getWslVersion();
|
|
@@ -84209,7 +84249,7 @@ function initialize1PEventLogging() {
|
|
|
84209
84249
|
})
|
|
84210
84250
|
]
|
|
84211
84251
|
});
|
|
84212
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.57.
|
|
84252
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.57.3");
|
|
84213
84253
|
}
|
|
84214
84254
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
84215
84255
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -94048,7 +94088,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
|
|
|
94048
94088
|
function formatA2AAgentCard(options = {}, pretty = true) {
|
|
94049
94089
|
return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
|
|
94050
94090
|
}
|
|
94051
|
-
var urVersion = "1.57.
|
|
94091
|
+
var urVersion = "1.57.3", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
|
|
94052
94092
|
var init_trends = __esm(() => {
|
|
94053
94093
|
init_a2aCardSignature();
|
|
94054
94094
|
coverage = [
|
|
@@ -96849,7 +96889,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
96849
96889
|
if (!isAttributionHeaderEnabled()) {
|
|
96850
96890
|
return "";
|
|
96851
96891
|
}
|
|
96852
|
-
const version2 = `${"1.57.
|
|
96892
|
+
const version2 = `${"1.57.3"}.${fingerprint}`;
|
|
96853
96893
|
const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
|
|
96854
96894
|
const cch = "";
|
|
96855
96895
|
const workload = getWorkload();
|
|
@@ -154438,7 +154478,7 @@ var init_projectSafety = __esm(() => {
|
|
|
154438
154478
|
function getInstruments() {
|
|
154439
154479
|
if (instruments)
|
|
154440
154480
|
return instruments;
|
|
154441
|
-
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.57.
|
|
154481
|
+
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.57.3");
|
|
154442
154482
|
instruments = {
|
|
154443
154483
|
operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
|
|
154444
154484
|
description: "GenAI operation duration.",
|
|
@@ -154536,7 +154576,7 @@ function genAiAgentAttributes() {
|
|
|
154536
154576
|
"gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
|
|
154537
154577
|
"gen_ai.provider.name": "ur",
|
|
154538
154578
|
"gen_ai.agent.name": "UR-Nexus",
|
|
154539
|
-
"gen_ai.agent.version": "1.57.
|
|
154579
|
+
"gen_ai.agent.version": "1.57.3"
|
|
154540
154580
|
};
|
|
154541
154581
|
}
|
|
154542
154582
|
function genAiWorkflowAttributes(workflowName) {
|
|
@@ -154552,7 +154592,7 @@ function genAiWorkflowAttributes(workflowName) {
|
|
|
154552
154592
|
function startGenAiWorkflowSpan(workflowName) {
|
|
154553
154593
|
const attributes = genAiWorkflowAttributes(workflowName);
|
|
154554
154594
|
const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
|
|
154555
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.57.
|
|
154595
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.57.3").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
154556
154596
|
}
|
|
154557
154597
|
function endGenAiWorkflowSpan(span, options2 = {}) {
|
|
154558
154598
|
try {
|
|
@@ -154590,7 +154630,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
|
|
|
154590
154630
|
if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
|
|
154591
154631
|
attributes["gen_ai.memory.record.count"] = options2.recordCount;
|
|
154592
154632
|
}
|
|
154593
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.57.
|
|
154633
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.57.3").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
154594
154634
|
}
|
|
154595
154635
|
function endGenAiMemorySpan(span, options2 = {}) {
|
|
154596
154636
|
try {
|
|
@@ -206109,7 +206149,7 @@ function getTelemetryAttributes() {
|
|
|
206109
206149
|
attributes["session.id"] = sessionId;
|
|
206110
206150
|
}
|
|
206111
206151
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
206112
|
-
attributes["app.version"] = "1.57.
|
|
206152
|
+
attributes["app.version"] = "1.57.3";
|
|
206113
206153
|
}
|
|
206114
206154
|
const oauthAccount = getOauthAccountInfo();
|
|
206115
206155
|
if (oauthAccount) {
|
|
@@ -241676,7 +241716,7 @@ function getInstallationEnv() {
|
|
|
241676
241716
|
return;
|
|
241677
241717
|
}
|
|
241678
241718
|
function getURCodeVersion() {
|
|
241679
|
-
return "1.57.
|
|
241719
|
+
return "1.57.3";
|
|
241680
241720
|
}
|
|
241681
241721
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
241682
241722
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -249007,7 +249047,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
249007
249047
|
const client2 = new Client({
|
|
249008
249048
|
name: "ur",
|
|
249009
249049
|
title: "UR",
|
|
249010
|
-
version: "1.57.
|
|
249050
|
+
version: "1.57.3",
|
|
249011
249051
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
249012
249052
|
websiteUrl: PRODUCT_URL
|
|
249013
249053
|
}, {
|
|
@@ -249367,7 +249407,7 @@ var init_client5 = __esm(() => {
|
|
|
249367
249407
|
const client2 = new Client({
|
|
249368
249408
|
name: "ur",
|
|
249369
249409
|
title: "UR",
|
|
249370
|
-
version: "1.57.
|
|
249410
|
+
version: "1.57.3",
|
|
249371
249411
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
249372
249412
|
websiteUrl: PRODUCT_URL
|
|
249373
249413
|
}, {
|
|
@@ -261968,7 +262008,7 @@ async function createRuntime() {
|
|
|
261968
262008
|
bootstrapTelemetry();
|
|
261969
262009
|
const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
|
|
261970
262010
|
[import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
|
|
261971
|
-
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.57.
|
|
262011
|
+
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.57.3"
|
|
261972
262012
|
}));
|
|
261973
262013
|
const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
|
|
261974
262014
|
resource,
|
|
@@ -262001,11 +262041,11 @@ async function createRuntime() {
|
|
|
262001
262041
|
setMeterProvider(meterProvider);
|
|
262002
262042
|
setLoggerProvider(loggerProvider);
|
|
262003
262043
|
if (meterProvider) {
|
|
262004
|
-
const meter = meterProvider.getMeter("ur-agent", "1.57.
|
|
262044
|
+
const meter = meterProvider.getMeter("ur-agent", "1.57.3");
|
|
262005
262045
|
setMeter(meter, (name, options2) => meter.createCounter(name, options2));
|
|
262006
262046
|
}
|
|
262007
262047
|
if (loggerProvider) {
|
|
262008
|
-
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.57.
|
|
262048
|
+
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.57.3"));
|
|
262009
262049
|
}
|
|
262010
262050
|
if (!cleanupRegistered2) {
|
|
262011
262051
|
cleanupRegistered2 = true;
|
|
@@ -262667,9 +262707,9 @@ async function assertMinVersion() {
|
|
|
262667
262707
|
if (false) {}
|
|
262668
262708
|
try {
|
|
262669
262709
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
262670
|
-
if (versionConfig.minVersion && lt("1.57.
|
|
262710
|
+
if (versionConfig.minVersion && lt("1.57.3", versionConfig.minVersion)) {
|
|
262671
262711
|
console.error(`
|
|
262672
|
-
It looks like your version of UR (${"1.57.
|
|
262712
|
+
It looks like your version of UR (${"1.57.3"}) needs an update.
|
|
262673
262713
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
262674
262714
|
|
|
262675
262715
|
To update, please run:
|
|
@@ -262885,7 +262925,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
262885
262925
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
262886
262926
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
262887
262927
|
pid: process.pid,
|
|
262888
|
-
currentVersion: "1.57.
|
|
262928
|
+
currentVersion: "1.57.3"
|
|
262889
262929
|
});
|
|
262890
262930
|
return "in_progress";
|
|
262891
262931
|
}
|
|
@@ -262894,7 +262934,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
262894
262934
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
262895
262935
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
262896
262936
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
262897
|
-
currentVersion: "1.57.
|
|
262937
|
+
currentVersion: "1.57.3"
|
|
262898
262938
|
});
|
|
262899
262939
|
console.error(`
|
|
262900
262940
|
Error: Windows NPM detected in WSL
|
|
@@ -263429,7 +263469,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
263429
263469
|
}
|
|
263430
263470
|
async function getDoctorDiagnostic() {
|
|
263431
263471
|
const installationType = await getCurrentInstallationType();
|
|
263432
|
-
const version2 = typeof MACRO !== "undefined" ? "1.57.
|
|
263472
|
+
const version2 = typeof MACRO !== "undefined" ? "1.57.3" : "unknown";
|
|
263433
263473
|
const installationPath = await getInstallationPath();
|
|
263434
263474
|
const invokedBinary = getInvokedBinary();
|
|
263435
263475
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -264364,8 +264404,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
264364
264404
|
const maxVersion = await getMaxVersion();
|
|
264365
264405
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
264366
264406
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
264367
|
-
if (gte("1.57.
|
|
264368
|
-
logForDebugging(`Native installer: current version ${"1.57.
|
|
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`);
|
|
264369
264409
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
264370
264410
|
latency_ms: Date.now() - startTime,
|
|
264371
264411
|
max_version: maxVersion,
|
|
@@ -264376,7 +264416,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
264376
264416
|
version2 = maxVersion;
|
|
264377
264417
|
}
|
|
264378
264418
|
}
|
|
264379
|
-
if (!forceReinstall && version2 === "1.57.
|
|
264419
|
+
if (!forceReinstall && version2 === "1.57.3" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
|
|
264380
264420
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
264381
264421
|
logEvent("tengu_native_update_complete", {
|
|
264382
264422
|
latency_ms: Date.now() - startTime,
|
|
@@ -314301,7 +314341,7 @@ var init_ComputerTool = __esm(() => {
|
|
|
314301
314341
|
data: {
|
|
314302
314342
|
action: "screenshot",
|
|
314303
314343
|
ok: true,
|
|
314304
|
-
detail: `Captured ${
|
|
314344
|
+
detail: `Captured the screen (${resized.buffer.length} bytes sent)`,
|
|
314305
314345
|
screenshotPath: path13,
|
|
314306
314346
|
imageBase64: resized.buffer.toString("base64"),
|
|
314307
314347
|
imageMediaType: `image/${resized.mediaType}`
|
|
@@ -334658,7 +334698,7 @@ function isAnyTracingEnabled() {
|
|
|
334658
334698
|
return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
|
|
334659
334699
|
}
|
|
334660
334700
|
function getTracer() {
|
|
334661
|
-
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.57.
|
|
334701
|
+
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.57.3");
|
|
334662
334702
|
}
|
|
334663
334703
|
function createSpanAttributes(spanType, customAttributes = {}) {
|
|
334664
334704
|
const baseAttributes = getTelemetryAttributes();
|
|
@@ -336308,6 +336348,8 @@ function streamedCheckPermissionsAndCallTool(tool, toolUseID, input, toolUseCont
|
|
|
336308
336348
|
return stream4;
|
|
336309
336349
|
}
|
|
336310
336350
|
function buildSchemaNotSentHint(tool, messages, tools) {
|
|
336351
|
+
if (!supportsToolReferenceExpansion())
|
|
336352
|
+
return null;
|
|
336311
336353
|
if (!isToolSearchEnabledOptimistic())
|
|
336312
336354
|
return null;
|
|
336313
336355
|
if (!isToolSearchToolAvailable(tools))
|
|
@@ -343345,6 +343387,7 @@ var init_zodToJsonSchema2 = __esm(() => {
|
|
|
343345
343387
|
// src/utils/toolSearch.ts
|
|
343346
343388
|
var exports_toolSearch = {};
|
|
343347
343389
|
__export(exports_toolSearch, {
|
|
343390
|
+
supportsToolReferenceExpansion: () => supportsToolReferenceExpansion,
|
|
343348
343391
|
modelSupportsToolReference: () => modelSupportsToolReference,
|
|
343349
343392
|
isToolSearchToolAvailable: () => isToolSearchToolAvailable,
|
|
343350
343393
|
isToolSearchEnabledOptimistic: () => isToolSearchEnabledOptimistic,
|
|
@@ -343420,7 +343463,13 @@ function getUnsupportedToolReferencePatterns() {
|
|
|
343420
343463
|
} catch {}
|
|
343421
343464
|
return DEFAULT_UNSUPPORTED_MODEL_PATTERNS;
|
|
343422
343465
|
}
|
|
343466
|
+
function supportsToolReferenceExpansion() {
|
|
343467
|
+
return isFirstPartyRuntime();
|
|
343468
|
+
}
|
|
343423
343469
|
function modelSupportsToolReference(model) {
|
|
343470
|
+
if (!supportsToolReferenceExpansion()) {
|
|
343471
|
+
return false;
|
|
343472
|
+
}
|
|
343424
343473
|
if (getAPIProvider() === "ollama") {
|
|
343425
343474
|
return false;
|
|
343426
343475
|
}
|
|
@@ -364138,7 +364187,7 @@ function Feedback({
|
|
|
364138
364187
|
platform: env2.platform,
|
|
364139
364188
|
gitRepo: envInfo.isGit,
|
|
364140
364189
|
terminal: env2.terminal,
|
|
364141
|
-
version: "1.57.
|
|
364190
|
+
version: "1.57.3",
|
|
364142
364191
|
transcript: normalizeMessagesForAPI(messages),
|
|
364143
364192
|
errors: sanitizedErrors,
|
|
364144
364193
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -364330,7 +364379,7 @@ function Feedback({
|
|
|
364330
364379
|
", ",
|
|
364331
364380
|
env2.terminal,
|
|
364332
364381
|
", v",
|
|
364333
|
-
"1.57.
|
|
364382
|
+
"1.57.3"
|
|
364334
364383
|
]
|
|
364335
364384
|
}, undefined, true, undefined, this)
|
|
364336
364385
|
]
|
|
@@ -364436,7 +364485,7 @@ ${sanitizedDescription}
|
|
|
364436
364485
|
` + `**Environment Info**
|
|
364437
364486
|
` + `- Platform: ${env2.platform}
|
|
364438
364487
|
` + `- Terminal: ${env2.terminal}
|
|
364439
|
-
` + `- Version: ${"1.57.
|
|
364488
|
+
` + `- Version: ${"1.57.3"}
|
|
364440
364489
|
` + `- Feedback ID: ${feedbackId}
|
|
364441
364490
|
` + `
|
|
364442
364491
|
**Errors**
|
|
@@ -367546,7 +367595,7 @@ function buildPrimarySection() {
|
|
|
367546
367595
|
}, undefined, false, undefined, this);
|
|
367547
367596
|
return [{
|
|
367548
367597
|
label: "Version",
|
|
367549
|
-
value: "1.57.
|
|
367598
|
+
value: "1.57.3"
|
|
367550
367599
|
}, {
|
|
367551
367600
|
label: "Session name",
|
|
367552
367601
|
value: nameValue
|
|
@@ -370876,7 +370925,7 @@ function Config({
|
|
|
370876
370925
|
}
|
|
370877
370926
|
}, undefined, false, undefined, this)
|
|
370878
370927
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
|
|
370879
|
-
currentVersion: "1.57.
|
|
370928
|
+
currentVersion: "1.57.3",
|
|
370880
370929
|
onChoice: (choice) => {
|
|
370881
370930
|
setShowSubmenu(null);
|
|
370882
370931
|
setTabsHidden(false);
|
|
@@ -370888,7 +370937,7 @@ function Config({
|
|
|
370888
370937
|
autoUpdatesChannel: "stable"
|
|
370889
370938
|
};
|
|
370890
370939
|
if (choice === "stay") {
|
|
370891
|
-
newSettings.minimumVersion = "1.57.
|
|
370940
|
+
newSettings.minimumVersion = "1.57.3";
|
|
370892
370941
|
}
|
|
370893
370942
|
updateSettingsForSource("userSettings", newSettings);
|
|
370894
370943
|
setSettingsData((prev_27) => ({
|
|
@@ -378952,7 +379001,7 @@ function HelpV2(t0) {
|
|
|
378952
379001
|
let t6;
|
|
378953
379002
|
if ($2[31] !== tabs) {
|
|
378954
379003
|
t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
|
|
378955
|
-
title: `UR v${"1.57.
|
|
379004
|
+
title: `UR v${"1.57.3"}`,
|
|
378956
379005
|
color: "professionalBlue",
|
|
378957
379006
|
defaultTab: "general",
|
|
378958
379007
|
children: tabs
|
|
@@ -379869,7 +379918,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
|
|
|
379869
379918
|
async function handleInitialize(options2) {
|
|
379870
379919
|
return {
|
|
379871
379920
|
name: "UR",
|
|
379872
|
-
version: "1.57.
|
|
379921
|
+
version: "1.57.3",
|
|
379873
379922
|
protocolVersion: "0.1.0",
|
|
379874
379923
|
workspaceRoot: options2.cwd,
|
|
379875
379924
|
capabilities: {
|
|
@@ -396977,7 +397026,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
396977
397026
|
return [];
|
|
396978
397027
|
}
|
|
396979
397028
|
}
|
|
396980
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.57.
|
|
397029
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.57.3") {
|
|
396981
397030
|
if (process.env.USER_TYPE === "ant") {
|
|
396982
397031
|
const changelog = "";
|
|
396983
397032
|
if (changelog) {
|
|
@@ -397004,7 +397053,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.57.1")
|
|
|
397004
397053
|
releaseNotes
|
|
397005
397054
|
};
|
|
397006
397055
|
}
|
|
397007
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.57.
|
|
397056
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.57.3") {
|
|
397008
397057
|
if (process.env.USER_TYPE === "ant") {
|
|
397009
397058
|
const changelog = "";
|
|
397010
397059
|
if (changelog) {
|
|
@@ -399861,7 +399910,7 @@ function getRecentActivitySync() {
|
|
|
399861
399910
|
return cachedActivity;
|
|
399862
399911
|
}
|
|
399863
399912
|
function getLogoDisplayData() {
|
|
399864
|
-
const version2 = process.env.DEMO_VERSION ?? "1.57.
|
|
399913
|
+
const version2 = process.env.DEMO_VERSION ?? "1.57.3";
|
|
399865
399914
|
const serverUrl = getDirectConnectServerUrl();
|
|
399866
399915
|
const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
|
|
399867
399916
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -400745,7 +400794,7 @@ function LogoV2() {
|
|
|
400745
400794
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
400746
400795
|
t2 = () => {
|
|
400747
400796
|
const currentConfig2 = getGlobalConfig();
|
|
400748
|
-
if (currentConfig2.lastReleaseNotesSeen === "1.57.
|
|
400797
|
+
if (currentConfig2.lastReleaseNotesSeen === "1.57.3") {
|
|
400749
400798
|
return;
|
|
400750
400799
|
}
|
|
400751
400800
|
saveGlobalConfig(_temp327);
|
|
@@ -401430,12 +401479,12 @@ function LogoV2() {
|
|
|
401430
401479
|
return t41;
|
|
401431
401480
|
}
|
|
401432
401481
|
function _temp327(current) {
|
|
401433
|
-
if (current.lastReleaseNotesSeen === "1.57.
|
|
401482
|
+
if (current.lastReleaseNotesSeen === "1.57.3") {
|
|
401434
401483
|
return current;
|
|
401435
401484
|
}
|
|
401436
401485
|
return {
|
|
401437
401486
|
...current,
|
|
401438
|
-
lastReleaseNotesSeen: "1.57.
|
|
401487
|
+
lastReleaseNotesSeen: "1.57.3"
|
|
401439
401488
|
};
|
|
401440
401489
|
}
|
|
401441
401490
|
function _temp241(s_0) {
|
|
@@ -418233,7 +418282,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
|
|
|
418233
418282
|
if (spec.name !== specName) {
|
|
418234
418283
|
throw new Error("Agentic CI workflow spec name does not match");
|
|
418235
418284
|
}
|
|
418236
|
-
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.57.
|
|
418285
|
+
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.57.3" : "1.57.3");
|
|
418237
418286
|
if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
|
|
418238
418287
|
throw new Error("invalid ur-agent package version");
|
|
418239
418288
|
}
|
|
@@ -419226,7 +419275,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
|
|
|
419226
419275
|
path: ".github/workflows/ur.yml",
|
|
419227
419276
|
root: "project",
|
|
419228
419277
|
content: compileAgenticCiWorkflow("default", {
|
|
419229
|
-
packageVersion: typeof MACRO !== "undefined" ? "1.57.
|
|
419278
|
+
packageVersion: typeof MACRO !== "undefined" ? "1.57.3" : "1.57.3"
|
|
419230
419279
|
})
|
|
419231
419280
|
},
|
|
419232
419281
|
{
|
|
@@ -419289,7 +419338,7 @@ function value(tokens, flag) {
|
|
|
419289
419338
|
return index2 >= 0 ? tokens[index2 + 1] : undefined;
|
|
419290
419339
|
}
|
|
419291
419340
|
function cliVersion() {
|
|
419292
|
-
return typeof MACRO !== "undefined" ? "1.57.
|
|
419341
|
+
return typeof MACRO !== "undefined" ? "1.57.3" : "1.57.3";
|
|
419293
419342
|
}
|
|
419294
419343
|
function workflowPath(cwd2) {
|
|
419295
419344
|
return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
|
|
@@ -425145,7 +425194,7 @@ function createAcpStdioApp(deps) {
|
|
|
425145
425194
|
}
|
|
425146
425195
|
},
|
|
425147
425196
|
authMethods: [],
|
|
425148
|
-
agentInfo: { name: "UR-Nexus", version: "1.57.
|
|
425197
|
+
agentInfo: { name: "UR-Nexus", version: "1.57.3" }
|
|
425149
425198
|
})).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
|
|
425150
425199
|
const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
|
|
425151
425200
|
await runtime2.announce({
|
|
@@ -425242,7 +425291,7 @@ function createAcpStdioAgent(deps) {
|
|
|
425242
425291
|
}
|
|
425243
425292
|
},
|
|
425244
425293
|
authMethods: [],
|
|
425245
|
-
agentInfo: { name: "UR-Nexus", version: "1.57.
|
|
425294
|
+
agentInfo: { name: "UR-Nexus", version: "1.57.3" }
|
|
425246
425295
|
});
|
|
425247
425296
|
return;
|
|
425248
425297
|
case "authenticate":
|
|
@@ -632609,7 +632658,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
|
|
|
632609
632658
|
smapsRollup,
|
|
632610
632659
|
platform: process.platform,
|
|
632611
632660
|
nodeVersion: process.version,
|
|
632612
|
-
ccVersion: "1.57.
|
|
632661
|
+
ccVersion: "1.57.3"
|
|
632613
632662
|
};
|
|
632614
632663
|
}
|
|
632615
632664
|
async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
|
|
@@ -633189,7 +633238,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
633189
633238
|
var call149 = async () => {
|
|
633190
633239
|
return {
|
|
633191
633240
|
type: "text",
|
|
633192
|
-
value: "1.57.
|
|
633241
|
+
value: "1.57.3"
|
|
633193
633242
|
};
|
|
633194
633243
|
}, version2, version_default;
|
|
633195
633244
|
var init_version = __esm(() => {
|
|
@@ -644260,7 +644309,7 @@ function generateHtmlReport(data, insights) {
|
|
|
644260
644309
|
</html>`;
|
|
644261
644310
|
}
|
|
644262
644311
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
644263
|
-
const version3 = typeof MACRO !== "undefined" ? "1.57.
|
|
644312
|
+
const version3 = typeof MACRO !== "undefined" ? "1.57.3" : "unknown";
|
|
644264
644313
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
644265
644314
|
const facets_summary = {
|
|
644266
644315
|
total: facets.size,
|
|
@@ -648563,7 +648612,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
648563
648612
|
init_settings2();
|
|
648564
648613
|
init_slowOperations();
|
|
648565
648614
|
init_uuid();
|
|
648566
|
-
VERSION7 = typeof MACRO !== "undefined" ? "1.57.
|
|
648615
|
+
VERSION7 = typeof MACRO !== "undefined" ? "1.57.3" : "unknown";
|
|
648567
648616
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
648568
648617
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
648569
648618
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -649778,7 +649827,7 @@ var init_filesystem = __esm(() => {
|
|
|
649778
649827
|
});
|
|
649779
649828
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
649780
649829
|
const nonce = randomBytes20(16).toString("hex");
|
|
649781
|
-
return join227(getURTempDir(), "bundled-skills", "1.57.
|
|
649830
|
+
return join227(getURTempDir(), "bundled-skills", "1.57.3", nonce);
|
|
649782
649831
|
});
|
|
649783
649832
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
649784
649833
|
});
|
|
@@ -656073,7 +656122,7 @@ function computeFingerprint(messageText2, version3) {
|
|
|
656073
656122
|
}
|
|
656074
656123
|
function computeFingerprintFromMessages(messages) {
|
|
656075
656124
|
const firstMessageText = extractFirstMessageText(messages);
|
|
656076
|
-
return computeFingerprint(firstMessageText, "1.57.
|
|
656125
|
+
return computeFingerprint(firstMessageText, "1.57.3");
|
|
656077
656126
|
}
|
|
656078
656127
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
656079
656128
|
var init_fingerprint = () => {};
|
|
@@ -657969,7 +658018,7 @@ async function sideQuery(opts) {
|
|
|
657969
658018
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
657970
658019
|
}
|
|
657971
658020
|
const messageText2 = extractFirstUserMessageText(messages);
|
|
657972
|
-
const fingerprint2 = computeFingerprint(messageText2, "1.57.
|
|
658021
|
+
const fingerprint2 = computeFingerprint(messageText2, "1.57.3");
|
|
657973
658022
|
const attributionHeader = getAttributionHeader(fingerprint2);
|
|
657974
658023
|
const systemBlocks = [
|
|
657975
658024
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -662740,7 +662789,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
662740
662789
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
662741
662790
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
662742
662791
|
betas: getSdkBetas(),
|
|
662743
|
-
ur_version: "1.57.
|
|
662792
|
+
ur_version: "1.57.3",
|
|
662744
662793
|
output_style: outputStyle2,
|
|
662745
662794
|
agents: inputs.agents.map((agent2) => agent2.agentType),
|
|
662746
662795
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
|
|
@@ -676600,7 +676649,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
676600
676649
|
function getSemverPart(version3) {
|
|
676601
676650
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
676602
676651
|
}
|
|
676603
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.57.
|
|
676652
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.57.3") {
|
|
676604
676653
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react222.useState(() => getSemverPart(initialVersion));
|
|
676605
676654
|
if (!updatedVersion) {
|
|
676606
676655
|
return null;
|
|
@@ -676649,7 +676698,7 @@ function AutoUpdater({
|
|
|
676649
676698
|
return;
|
|
676650
676699
|
}
|
|
676651
676700
|
if (false) {}
|
|
676652
|
-
const currentVersion = "1.57.
|
|
676701
|
+
const currentVersion = "1.57.3";
|
|
676653
676702
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
676654
676703
|
let latestVersion = await getLatestVersion(channel);
|
|
676655
676704
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -676878,12 +676927,12 @@ function NativeAutoUpdater({
|
|
|
676878
676927
|
logEvent("tengu_native_auto_updater_start", {});
|
|
676879
676928
|
try {
|
|
676880
676929
|
const maxVersion = await getMaxVersion();
|
|
676881
|
-
if (maxVersion && gt("1.57.
|
|
676930
|
+
if (maxVersion && gt("1.57.3", maxVersion)) {
|
|
676882
676931
|
const msg = await getMaxVersionMessage();
|
|
676883
676932
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
676884
676933
|
}
|
|
676885
676934
|
const result = await installLatest(channel);
|
|
676886
|
-
const currentVersion = "1.57.
|
|
676935
|
+
const currentVersion = "1.57.3";
|
|
676887
676936
|
const latencyMs = Date.now() - startTime;
|
|
676888
676937
|
if (result.lockFailed) {
|
|
676889
676938
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -677020,17 +677069,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
677020
677069
|
const maxVersion = await getMaxVersion();
|
|
677021
677070
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
677022
677071
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
677023
|
-
if (gte("1.57.
|
|
677024
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.57.
|
|
677072
|
+
if (gte("1.57.3", maxVersion)) {
|
|
677073
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.57.3"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
677025
677074
|
setUpdateAvailable(false);
|
|
677026
677075
|
return;
|
|
677027
677076
|
}
|
|
677028
677077
|
latest = maxVersion;
|
|
677029
677078
|
}
|
|
677030
|
-
const hasUpdate = latest && !gte("1.57.
|
|
677079
|
+
const hasUpdate = latest && !gte("1.57.3", latest) && !shouldSkipVersion(latest);
|
|
677031
677080
|
setUpdateAvailable(!!hasUpdate);
|
|
677032
677081
|
if (hasUpdate) {
|
|
677033
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.57.
|
|
677082
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.57.3"} -> ${latest}`);
|
|
677034
677083
|
}
|
|
677035
677084
|
};
|
|
677036
677085
|
$2[0] = t1;
|
|
@@ -677064,7 +677113,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
677064
677113
|
wrap: "truncate",
|
|
677065
677114
|
children: [
|
|
677066
677115
|
"currentVersion: ",
|
|
677067
|
-
"1.57.
|
|
677116
|
+
"1.57.3"
|
|
677068
677117
|
]
|
|
677069
677118
|
}, undefined, true, undefined, this);
|
|
677070
677119
|
$2[3] = verbose;
|
|
@@ -687761,7 +687810,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
687761
687810
|
project_dir: getOriginalCwd(),
|
|
687762
687811
|
added_dirs: addedDirs
|
|
687763
687812
|
},
|
|
687764
|
-
version: "1.57.
|
|
687813
|
+
version: "1.57.3",
|
|
687765
687814
|
output_style: {
|
|
687766
687815
|
name: outputStyleName
|
|
687767
687816
|
},
|
|
@@ -687844,7 +687893,7 @@ function StatusLineInner({
|
|
|
687844
687893
|
const taskValues = Object.values(tasks2);
|
|
687845
687894
|
const taskRunningCount = taskValues.filter((task2) => task2.status === "running" || task2.status === "pending").length;
|
|
687846
687895
|
const defaultStatusLineText = buildDefaultStatusBar({
|
|
687847
|
-
version: "1.57.
|
|
687896
|
+
version: "1.57.3",
|
|
687848
687897
|
providerLabel: providerRuntime.providerLabel,
|
|
687849
687898
|
authMode: providerRuntime.authLabel,
|
|
687850
687899
|
model: providerRuntime.model ?? renderModelName(mainLoopModel),
|
|
@@ -699987,7 +700036,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
|
|
|
699987
700036
|
} catch {}
|
|
699988
700037
|
const data = {
|
|
699989
700038
|
trigger: trigger2,
|
|
699990
|
-
version: "1.57.
|
|
700039
|
+
version: "1.57.3",
|
|
699991
700040
|
platform: process.platform,
|
|
699992
700041
|
transcript,
|
|
699993
700042
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -712267,7 +712316,7 @@ function WelcomeV2() {
|
|
|
712267
712316
|
dimColor: true,
|
|
712268
712317
|
children: [
|
|
712269
712318
|
"v",
|
|
712270
|
-
"1.57.
|
|
712319
|
+
"1.57.3"
|
|
712271
712320
|
]
|
|
712272
712321
|
}, undefined, true, undefined, this)
|
|
712273
712322
|
]
|
|
@@ -713527,7 +713576,7 @@ function completeOnboarding() {
|
|
|
713527
713576
|
saveGlobalConfig((current) => ({
|
|
713528
713577
|
...current,
|
|
713529
713578
|
hasCompletedOnboarding: true,
|
|
713530
|
-
lastOnboardingVersion: "1.57.
|
|
713579
|
+
lastOnboardingVersion: "1.57.3"
|
|
713531
713580
|
}));
|
|
713532
713581
|
}
|
|
713533
713582
|
function showDialog(root2, renderer) {
|
|
@@ -718571,7 +718620,7 @@ function appendToLog(path24, message) {
|
|
|
718571
718620
|
cwd: getFsImplementation().cwd(),
|
|
718572
718621
|
userType: process.env.USER_TYPE,
|
|
718573
718622
|
sessionId: getSessionId(),
|
|
718574
|
-
version: "1.57.
|
|
718623
|
+
version: "1.57.3"
|
|
718575
718624
|
};
|
|
718576
718625
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
718577
718626
|
}
|
|
@@ -722730,8 +722779,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
722730
722779
|
}
|
|
722731
722780
|
async function checkEnvLessBridgeMinVersion() {
|
|
722732
722781
|
const cfg = await getEnvLessBridgeConfig();
|
|
722733
|
-
if (cfg.min_version && lt("1.57.
|
|
722734
|
-
return `Your version of UR (${"1.57.
|
|
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.
|
|
722735
722784
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
722736
722785
|
}
|
|
722737
722786
|
return null;
|
|
@@ -723205,7 +723254,7 @@ async function initBridgeCore(params) {
|
|
|
723205
723254
|
const rawApi = createBridgeApiClient({
|
|
723206
723255
|
baseUrl,
|
|
723207
723256
|
getAccessToken,
|
|
723208
|
-
runnerVersion: "1.57.
|
|
723257
|
+
runnerVersion: "1.57.3",
|
|
723209
723258
|
onDebug: logForDebugging,
|
|
723210
723259
|
onAuth401,
|
|
723211
723260
|
getTrustedDeviceToken
|
|
@@ -732677,7 +732726,7 @@ function getAgUiCapabilities() {
|
|
|
732677
732726
|
name: "UR-Nexus",
|
|
732678
732727
|
type: "ur-nexus",
|
|
732679
732728
|
description: "Provider-flexible, local-first autonomous engineering workflow agent.",
|
|
732680
|
-
version: "1.57.
|
|
732729
|
+
version: "1.57.3",
|
|
732681
732730
|
provider: "UR",
|
|
732682
732731
|
documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
|
|
732683
732732
|
},
|
|
@@ -733817,7 +733866,7 @@ function createMCPServer(cwd4, debug2, verbose) {
|
|
|
733817
733866
|
};
|
|
733818
733867
|
const server2 = new Server({
|
|
733819
733868
|
name: "ur-nexus",
|
|
733820
|
-
version: "1.57.
|
|
733869
|
+
version: "1.57.3"
|
|
733821
733870
|
}, {
|
|
733822
733871
|
capabilities: {
|
|
733823
733872
|
tools: {}
|
|
@@ -734975,7 +735024,7 @@ function thrownResponse(error40) {
|
|
|
734975
735024
|
}
|
|
734976
735025
|
async function createUrMcp2026Runtime(options4) {
|
|
734977
735026
|
const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
|
|
734978
|
-
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.57.
|
|
735027
|
+
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.57.3" }, { capabilities: {} });
|
|
734979
735028
|
const [clientTransport, serverTransport] = createLinkedTransportPair();
|
|
734980
735029
|
try {
|
|
734981
735030
|
await server2.connect(serverTransport);
|
|
@@ -734986,7 +735035,7 @@ async function createUrMcp2026Runtime(options4) {
|
|
|
734986
735035
|
}
|
|
734987
735036
|
const runtime2 = new Mcp2026Runtime({
|
|
734988
735037
|
cwd: options4.cwd,
|
|
734989
|
-
version: "1.57.
|
|
735038
|
+
version: "1.57.3",
|
|
734990
735039
|
backend: {
|
|
734991
735040
|
listTools: async () => {
|
|
734992
735041
|
const listed = await client2.listTools();
|
|
@@ -737119,7 +737168,7 @@ async function update() {
|
|
|
737119
737168
|
logEvent("tengu_update_check", {});
|
|
737120
737169
|
const diagnostic2 = await getDoctorDiagnostic();
|
|
737121
737170
|
const result = await checkUpgradeStatus({
|
|
737122
|
-
currentVersion: "1.57.
|
|
737171
|
+
currentVersion: "1.57.3",
|
|
737123
737172
|
packageName: UR_AGENT_PACKAGE_NAME,
|
|
737124
737173
|
installationType: diagnostic2.installationType,
|
|
737125
737174
|
latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
|
|
@@ -738435,7 +738484,7 @@ ${customInstructions}` : customInstructions;
|
|
|
738435
738484
|
}
|
|
738436
738485
|
}
|
|
738437
738486
|
logForDiagnosticsNoPII("info", "started", {
|
|
738438
|
-
version: "1.57.
|
|
738487
|
+
version: "1.57.3",
|
|
738439
738488
|
is_native_binary: isInBundledMode()
|
|
738440
738489
|
});
|
|
738441
738490
|
registerCleanup(async () => {
|
|
@@ -739221,7 +739270,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
739221
739270
|
pendingHookMessages
|
|
739222
739271
|
}, renderAndRun);
|
|
739223
739272
|
}
|
|
739224
|
-
}).version("1.57.
|
|
739273
|
+
}).version("1.57.3 (UR-Nexus)", "-v, --version", "Output the version number");
|
|
739225
739274
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
739226
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.");
|
|
739227
739276
|
if (canUserConfigureAdvisor()) {
|
|
@@ -740256,7 +740305,7 @@ if (false) {}
|
|
|
740256
740305
|
async function main2() {
|
|
740257
740306
|
const args = process.argv.slice(2);
|
|
740258
740307
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
740259
|
-
console.log(`${"1.57.
|
|
740308
|
+
console.log(`${"1.57.3"} (UR-Nexus)`);
|
|
740260
740309
|
return;
|
|
740261
740310
|
}
|
|
740262
740311
|
if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
|
package/docs/providers.md
CHANGED
|
@@ -47,12 +47,26 @@ multimodal input, external CLI boundary, and sandbox scope:
|
|
|
47
47
|
| Antigravity | subscription | subscription-cli | yes | no | no | no† | UR-run tools/output only† | `subscription-cli:antigravity` | official Antigravity CLI login, where supported |
|
|
48
48
|
|
|
49
49
|
\* Ollama forwards images only to models that advertise vision support;
|
|
50
|
-
unsupported models get a text placeholder instead of the image.
|
|
50
|
+
unsupported models get a text placeholder instead of the image. This applies to
|
|
51
|
+
images returned by tools as well as images you paste: a `Computer` screenshot or
|
|
52
|
+
any other image-bearing tool result is extracted from the tool message and sent
|
|
53
|
+
as `images` on the following user message, because Ollama renders `images`
|
|
54
|
+
reliably there but only template-dependently on a `tool` message. On a text-only
|
|
55
|
+
model the placeholder names the model and points at `/model`, so the agent tells
|
|
56
|
+
you why it cannot see rather than guessing. Check a model with `ur model-doctor`
|
|
57
|
+
or `ollama show <model>`.
|
|
51
58
|
|
|
52
59
|
† External vendor CLI boundary (see below): UR passes prompt text only to the
|
|
53
60
|
official CLI, so image blocks are not forwarded, and UR-native tool/streaming/
|
|
54
61
|
sandbox guarantees stop at UR-run tools and final UR output.
|
|
55
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
|
+
|
|
56
70
|
Native tools and native streaming mean UR's own request/response loop parses
|
|
57
71
|
tool calls and streams tokens for that provider. Multimodal input means UR
|
|
58
72
|
preserves image content blocks (resized/normalized with `sharp`) into that
|
package/documentation/index.html
CHANGED
|
@@ -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.
|
|
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>
|
|
@@ -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.
|
|
5
|
+
"version": "1.57.3",
|
|
6
6
|
"publisher": "ur-nexus",
|
|
7
7
|
"engines": {
|
|
8
8
|
"vscode": "^1.92.0"
|
package/package.json
CHANGED