ur-agent 1.77.3 → 1.77.5
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,33 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.77.5
|
|
4
|
+
|
|
5
|
+
- A tool call the model writes as text is now recovered for every provider.
|
|
6
|
+
The repair existed but was wired only into the Ollama provider and the remote
|
|
7
|
+
transport, so the same model — Kimi, GLM, GPT — reached through OpenRouter or
|
|
8
|
+
any OpenAI-compatible endpoint had its call silently dropped and the turn did
|
|
9
|
+
nothing visible. Recovery now runs in `normalizeContentFromAPI`, the single
|
|
10
|
+
point every provider and both the streaming and non-streaming paths converge
|
|
11
|
+
on, and it matches against the session's real tool list rather than the
|
|
12
|
+
hardcoded seven-name set the transport-level repair used.
|
|
13
|
+
- The recovery is applied only when the turn produced no genuine `tool_use`
|
|
14
|
+
block, so a model that used the structured interface correctly is never
|
|
15
|
+
second-guessed, prose that merely resembles JSON cannot displace a real call,
|
|
16
|
+
and a name that is not a live tool is left as text.
|
|
17
|
+
|
|
18
|
+
## 1.77.4
|
|
19
|
+
|
|
20
|
+
- AskUserQuestion accepts choices labelled with `header`. `header` is this
|
|
21
|
+
tool's word for a short category label, so a model naming a choice reaches
|
|
22
|
+
for it — and eight options then arrived as eight question objects, each
|
|
23
|
+
reporting a missing question and missing options and never a missing header,
|
|
24
|
+
which is what identified the shape. `header` is now read as an option label
|
|
25
|
+
and no longer disqualifies an entry from being recognised as a choice.
|
|
26
|
+
- A payload that still cannot be repaired reports the keys it actually
|
|
27
|
+
received. Listing only the missing fields said nothing about what arrived,
|
|
28
|
+
which is the one fact that separates an unrepairable payload from a shape the
|
|
29
|
+
normalizer has not been taught yet.
|
|
30
|
+
|
|
3
31
|
## 1.77.3
|
|
4
32
|
|
|
5
33
|
- Read says when it did not return the whole file. It stops at 2000 lines by
|
package/dist/cli.js
CHANGED
|
@@ -92244,6 +92244,9 @@ function parseOpenAICompatibleResponse(data, fallbackModel, providerName = "open
|
|
|
92244
92244
|
throw new ProviderResponseParseError(`${providerName} response did not include a choice`, { data });
|
|
92245
92245
|
}
|
|
92246
92246
|
const content = parseOpenAIMessageContent(choice?.message, choice?.text, providerName);
|
|
92247
|
+
if (!hasToolUse(content)) {
|
|
92248
|
+
synthesizeKimiToolCalls({ message: { content } });
|
|
92249
|
+
}
|
|
92247
92250
|
const includesToolUse = hasToolUse(content);
|
|
92248
92251
|
assertValidProviderToolUses(content, `${providerName} response`);
|
|
92249
92252
|
if (isOpenAIToolStopReason2(choice?.finish_reason) && !includesToolUse) {
|
|
@@ -92519,6 +92522,7 @@ function hasToolUse(content) {
|
|
|
92519
92522
|
return content.some((block) => block?.type === "tool_use");
|
|
92520
92523
|
}
|
|
92521
92524
|
var init_openaiCompatible = __esm(() => {
|
|
92525
|
+
init_kimiToolCalls();
|
|
92522
92526
|
init_toolSchema();
|
|
92523
92527
|
init_providerClient();
|
|
92524
92528
|
init_streamingAdapters();
|
|
@@ -107548,7 +107552,7 @@ var init_auth = __esm(() => {
|
|
|
107548
107552
|
|
|
107549
107553
|
// src/utils/userAgent.ts
|
|
107550
107554
|
function getURCodeUserAgent() {
|
|
107551
|
-
return `ur/${"1.77.
|
|
107555
|
+
return `ur/${"1.77.5"}`;
|
|
107552
107556
|
}
|
|
107553
107557
|
|
|
107554
107558
|
// src/utils/workloadContext.ts
|
|
@@ -107570,7 +107574,7 @@ function getUserAgent() {
|
|
|
107570
107574
|
const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
|
|
107571
107575
|
const workload = getWorkload();
|
|
107572
107576
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
107573
|
-
return `ur-cli/${"1.77.
|
|
107577
|
+
return `ur-cli/${"1.77.5"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
107574
107578
|
}
|
|
107575
107579
|
function getMCPUserAgent() {
|
|
107576
107580
|
const parts = [];
|
|
@@ -107584,7 +107588,7 @@ function getMCPUserAgent() {
|
|
|
107584
107588
|
parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
|
|
107585
107589
|
}
|
|
107586
107590
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
107587
|
-
return `ur/${"1.77.
|
|
107591
|
+
return `ur/${"1.77.5"}${suffix}`;
|
|
107588
107592
|
}
|
|
107589
107593
|
function getWebFetchUserAgent() {
|
|
107590
107594
|
return `UR-User (${getURCodeUserAgent()})`;
|
|
@@ -107722,7 +107726,7 @@ var init_user = __esm(() => {
|
|
|
107722
107726
|
deviceId,
|
|
107723
107727
|
sessionId: getSessionId(),
|
|
107724
107728
|
email: getEmail(),
|
|
107725
|
-
appVersion: "1.77.
|
|
107729
|
+
appVersion: "1.77.5",
|
|
107726
107730
|
platform: getHostPlatformForAnalytics(),
|
|
107727
107731
|
organizationUuid,
|
|
107728
107732
|
accountUuid,
|
|
@@ -115609,7 +115613,7 @@ var init_metadata = __esm(() => {
|
|
|
115609
115613
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
115610
115614
|
WHITESPACE_REGEX = /\s+/;
|
|
115611
115615
|
getVersionBase = memoize_default(() => {
|
|
115612
|
-
const match = "1.77.
|
|
115616
|
+
const match = "1.77.5".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
115613
115617
|
return match ? match[0] : undefined;
|
|
115614
115618
|
});
|
|
115615
115619
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -115649,7 +115653,7 @@ var init_metadata = __esm(() => {
|
|
|
115649
115653
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
115650
115654
|
isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
|
|
115651
115655
|
isURAiAuth: isURAISubscriber(),
|
|
115652
|
-
version: "1.77.
|
|
115656
|
+
version: "1.77.5",
|
|
115653
115657
|
versionBase: getVersionBase(),
|
|
115654
115658
|
buildTime: "",
|
|
115655
115659
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
@@ -116319,7 +116323,7 @@ function initialize1PEventLogging() {
|
|
|
116319
116323
|
const platform2 = getPlatform();
|
|
116320
116324
|
const attributes = {
|
|
116321
116325
|
[import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
|
|
116322
|
-
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.77.
|
|
116326
|
+
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.77.5"
|
|
116323
116327
|
};
|
|
116324
116328
|
if (platform2 === "wsl") {
|
|
116325
116329
|
const wslVersion = getWslVersion();
|
|
@@ -116347,7 +116351,7 @@ function initialize1PEventLogging() {
|
|
|
116347
116351
|
})
|
|
116348
116352
|
]
|
|
116349
116353
|
});
|
|
116350
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.77.
|
|
116354
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.77.5");
|
|
116351
116355
|
}
|
|
116352
116356
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
116353
116357
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -126129,7 +126133,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
|
|
|
126129
126133
|
function formatA2AAgentCard(options = {}, pretty = true) {
|
|
126130
126134
|
return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
|
|
126131
126135
|
}
|
|
126132
|
-
var urVersion = "1.77.
|
|
126136
|
+
var urVersion = "1.77.5", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
|
|
126133
126137
|
var init_trends = __esm(() => {
|
|
126134
126138
|
init_a2aCardSignature();
|
|
126135
126139
|
coverage = [
|
|
@@ -128932,7 +128936,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
128932
128936
|
if (!isAttributionHeaderEnabled()) {
|
|
128933
128937
|
return "";
|
|
128934
128938
|
}
|
|
128935
|
-
const version2 = `${"1.77.
|
|
128939
|
+
const version2 = `${"1.77.5"}.${fingerprint}`;
|
|
128936
128940
|
const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
|
|
128937
128941
|
const cch = "";
|
|
128938
128942
|
const workload = getWorkload();
|
|
@@ -156936,7 +156940,7 @@ var init_projectSafety = __esm(() => {
|
|
|
156936
156940
|
function getInstruments() {
|
|
156937
156941
|
if (instruments)
|
|
156938
156942
|
return instruments;
|
|
156939
|
-
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.77.
|
|
156943
|
+
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.77.5");
|
|
156940
156944
|
instruments = {
|
|
156941
156945
|
operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
|
|
156942
156946
|
description: "GenAI operation duration.",
|
|
@@ -157034,7 +157038,7 @@ function genAiAgentAttributes() {
|
|
|
157034
157038
|
"gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
|
|
157035
157039
|
"gen_ai.provider.name": "ur",
|
|
157036
157040
|
"gen_ai.agent.name": "UR-Nexus",
|
|
157037
|
-
"gen_ai.agent.version": "1.77.
|
|
157041
|
+
"gen_ai.agent.version": "1.77.5"
|
|
157038
157042
|
};
|
|
157039
157043
|
}
|
|
157040
157044
|
function genAiWorkflowAttributes(workflowName) {
|
|
@@ -157050,7 +157054,7 @@ function genAiWorkflowAttributes(workflowName) {
|
|
|
157050
157054
|
function startGenAiWorkflowSpan(workflowName) {
|
|
157051
157055
|
const attributes = genAiWorkflowAttributes(workflowName);
|
|
157052
157056
|
const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
|
|
157053
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.
|
|
157057
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.5").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
157054
157058
|
}
|
|
157055
157059
|
function endGenAiWorkflowSpan(span, options2 = {}) {
|
|
157056
157060
|
try {
|
|
@@ -157088,7 +157092,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
|
|
|
157088
157092
|
if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
|
|
157089
157093
|
attributes["gen_ai.memory.record.count"] = options2.recordCount;
|
|
157090
157094
|
}
|
|
157091
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.
|
|
157095
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.5").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
157092
157096
|
}
|
|
157093
157097
|
function endGenAiMemorySpan(span, options2 = {}) {
|
|
157094
157098
|
try {
|
|
@@ -250736,7 +250740,7 @@ function getTelemetryAttributes() {
|
|
|
250736
250740
|
attributes["session.id"] = sessionId;
|
|
250737
250741
|
}
|
|
250738
250742
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
250739
|
-
attributes["app.version"] = "1.77.
|
|
250743
|
+
attributes["app.version"] = "1.77.5";
|
|
250740
250744
|
}
|
|
250741
250745
|
const oauthAccount = getOauthAccountInfo();
|
|
250742
250746
|
if (oauthAccount) {
|
|
@@ -297243,7 +297247,7 @@ function getInstallationEnv() {
|
|
|
297243
297247
|
return;
|
|
297244
297248
|
}
|
|
297245
297249
|
function getURCodeVersion() {
|
|
297246
|
-
return "1.77.
|
|
297250
|
+
return "1.77.5";
|
|
297247
297251
|
}
|
|
297248
297252
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
297249
297253
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -304574,7 +304578,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
304574
304578
|
const client2 = new Client({
|
|
304575
304579
|
name: "ur",
|
|
304576
304580
|
title: "UR",
|
|
304577
|
-
version: "1.77.
|
|
304581
|
+
version: "1.77.5",
|
|
304578
304582
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
304579
304583
|
websiteUrl: PRODUCT_URL
|
|
304580
304584
|
}, {
|
|
@@ -304934,7 +304938,7 @@ var init_client5 = __esm(() => {
|
|
|
304934
304938
|
const client2 = new Client({
|
|
304935
304939
|
name: "ur",
|
|
304936
304940
|
title: "UR",
|
|
304937
|
-
version: "1.77.
|
|
304941
|
+
version: "1.77.5",
|
|
304938
304942
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
304939
304943
|
websiteUrl: PRODUCT_URL
|
|
304940
304944
|
}, {
|
|
@@ -317487,7 +317491,7 @@ async function createRuntime() {
|
|
|
317487
317491
|
bootstrapTelemetry();
|
|
317488
317492
|
const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
|
|
317489
317493
|
[import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
|
|
317490
|
-
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.77.
|
|
317494
|
+
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.77.5"
|
|
317491
317495
|
}));
|
|
317492
317496
|
const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
|
|
317493
317497
|
resource,
|
|
@@ -317520,11 +317524,11 @@ async function createRuntime() {
|
|
|
317520
317524
|
setMeterProvider(meterProvider);
|
|
317521
317525
|
setLoggerProvider(loggerProvider);
|
|
317522
317526
|
if (meterProvider) {
|
|
317523
|
-
const meter = meterProvider.getMeter("ur-agent", "1.77.
|
|
317527
|
+
const meter = meterProvider.getMeter("ur-agent", "1.77.5");
|
|
317524
317528
|
setMeter(meter, (name, options2) => meter.createCounter(name, options2));
|
|
317525
317529
|
}
|
|
317526
317530
|
if (loggerProvider) {
|
|
317527
|
-
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.77.
|
|
317531
|
+
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.77.5"));
|
|
317528
317532
|
}
|
|
317529
317533
|
if (!cleanupRegistered2) {
|
|
317530
317534
|
cleanupRegistered2 = true;
|
|
@@ -318186,9 +318190,9 @@ async function assertMinVersion() {
|
|
|
318186
318190
|
if (false) {}
|
|
318187
318191
|
try {
|
|
318188
318192
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
318189
|
-
if (versionConfig.minVersion && lt("1.77.
|
|
318193
|
+
if (versionConfig.minVersion && lt("1.77.5", versionConfig.minVersion)) {
|
|
318190
318194
|
console.error(`
|
|
318191
|
-
It looks like your version of UR (${"1.77.
|
|
318195
|
+
It looks like your version of UR (${"1.77.5"}) needs an update.
|
|
318192
318196
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
318193
318197
|
|
|
318194
318198
|
To update, please run:
|
|
@@ -318404,7 +318408,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
318404
318408
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
318405
318409
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
318406
318410
|
pid: process.pid,
|
|
318407
|
-
currentVersion: "1.77.
|
|
318411
|
+
currentVersion: "1.77.5"
|
|
318408
318412
|
});
|
|
318409
318413
|
return "in_progress";
|
|
318410
318414
|
}
|
|
@@ -318413,7 +318417,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
318413
318417
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
318414
318418
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
318415
318419
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
318416
|
-
currentVersion: "1.77.
|
|
318420
|
+
currentVersion: "1.77.5"
|
|
318417
318421
|
});
|
|
318418
318422
|
console.error(`
|
|
318419
318423
|
Error: Windows NPM detected in WSL
|
|
@@ -318948,7 +318952,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
318948
318952
|
}
|
|
318949
318953
|
async function getDoctorDiagnostic() {
|
|
318950
318954
|
const installationType = await getCurrentInstallationType();
|
|
318951
|
-
const version2 = typeof MACRO !== "undefined" ? "1.77.
|
|
318955
|
+
const version2 = typeof MACRO !== "undefined" ? "1.77.5" : "unknown";
|
|
318952
318956
|
const installationPath = await getInstallationPath();
|
|
318953
318957
|
const invokedBinary = getInvokedBinary();
|
|
318954
318958
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -319883,8 +319887,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
319883
319887
|
const maxVersion = await getMaxVersion();
|
|
319884
319888
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
319885
319889
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
319886
|
-
if (gte("1.77.
|
|
319887
|
-
logForDebugging(`Native installer: current version ${"1.77.
|
|
319890
|
+
if (gte("1.77.5", maxVersion)) {
|
|
319891
|
+
logForDebugging(`Native installer: current version ${"1.77.5"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
319888
319892
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
319889
319893
|
latency_ms: Date.now() - startTime,
|
|
319890
319894
|
max_version: maxVersion,
|
|
@@ -319895,7 +319899,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
319895
319899
|
version2 = maxVersion;
|
|
319896
319900
|
}
|
|
319897
319901
|
}
|
|
319898
|
-
if (!forceReinstall && version2 === "1.77.
|
|
319902
|
+
if (!forceReinstall && version2 === "1.77.5" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
|
|
319899
319903
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
319900
319904
|
logEvent("tengu_native_update_complete", {
|
|
319901
319905
|
latency_ms: Date.now() - startTime,
|
|
@@ -389599,7 +389603,7 @@ function isAnyTracingEnabled() {
|
|
|
389599
389603
|
return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
|
|
389600
389604
|
}
|
|
389601
389605
|
function getTracer() {
|
|
389602
|
-
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.77.
|
|
389606
|
+
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.77.5");
|
|
389603
389607
|
}
|
|
389604
389608
|
function createSpanAttributes(spanType, customAttributes = {}) {
|
|
389605
389609
|
const baseAttributes = getTelemetryAttributes();
|
|
@@ -409773,10 +409777,50 @@ function mergeUserContentBlocks(a2, b) {
|
|
|
409773
409777
|
}
|
|
409774
409778
|
return [...a2.slice(0, -1), smooshed, ...toolResults];
|
|
409775
409779
|
}
|
|
409780
|
+
function recoverTextEmittedToolCalls(contentBlocks, tools) {
|
|
409781
|
+
const blocks = contentBlocks;
|
|
409782
|
+
if (blocks.some((block2) => block2?.type === "tool_use")) {
|
|
409783
|
+
return contentBlocks;
|
|
409784
|
+
}
|
|
409785
|
+
const availableToolNames = new Set(tools.map((tool) => tool.name));
|
|
409786
|
+
if (availableToolNames.size === 0) {
|
|
409787
|
+
return contentBlocks;
|
|
409788
|
+
}
|
|
409789
|
+
const recovered = [];
|
|
409790
|
+
let changed = false;
|
|
409791
|
+
for (const block2 of blocks) {
|
|
409792
|
+
if (block2?.type !== "text" || typeof block2.text !== "string") {
|
|
409793
|
+
recovered.push(block2);
|
|
409794
|
+
continue;
|
|
409795
|
+
}
|
|
409796
|
+
const { text, toolCalls } = parseTextToolCalls(block2.text, {
|
|
409797
|
+
availableToolNames,
|
|
409798
|
+
parseBareJsonToolCalls: true
|
|
409799
|
+
});
|
|
409800
|
+
if (toolCalls.length === 0) {
|
|
409801
|
+
recovered.push(block2);
|
|
409802
|
+
continue;
|
|
409803
|
+
}
|
|
409804
|
+
changed = true;
|
|
409805
|
+
if (text.trim()) {
|
|
409806
|
+
recovered.push({ ...block2, text });
|
|
409807
|
+
}
|
|
409808
|
+
for (const call6 of toolCalls) {
|
|
409809
|
+
recovered.push({
|
|
409810
|
+
type: "tool_use",
|
|
409811
|
+
id: call6.id,
|
|
409812
|
+
name: call6.name,
|
|
409813
|
+
input: call6.input
|
|
409814
|
+
});
|
|
409815
|
+
}
|
|
409816
|
+
}
|
|
409817
|
+
return changed ? recovered : contentBlocks;
|
|
409818
|
+
}
|
|
409776
409819
|
function normalizeContentFromAPI(contentBlocks, tools, agentId) {
|
|
409777
409820
|
if (!contentBlocks) {
|
|
409778
409821
|
return [];
|
|
409779
409822
|
}
|
|
409823
|
+
contentBlocks = recoverTextEmittedToolCalls(contentBlocks, tools);
|
|
409780
409824
|
return contentBlocks.map((_contentBlock) => {
|
|
409781
409825
|
const contentBlock = _contentBlock;
|
|
409782
409826
|
switch (contentBlock.type) {
|
|
@@ -411693,6 +411737,7 @@ Goal: Write your final plan to the plan file (the only file you can edit).
|
|
|
411693
411737
|
- End with the single verification command
|
|
411694
411738
|
- **Hard limit: 40 lines.** If the plan is longer, delete prose \u2014 not file paths.`;
|
|
411695
411739
|
var init_messages = __esm(() => {
|
|
411740
|
+
init_kimiToolCalls();
|
|
411696
411741
|
init_isObject();
|
|
411697
411742
|
init_last();
|
|
411698
411743
|
init_analytics();
|
|
@@ -419776,7 +419821,7 @@ function Feedback({
|
|
|
419776
419821
|
platform: env2.platform,
|
|
419777
419822
|
gitRepo: envInfo.isGit,
|
|
419778
419823
|
terminal: env2.terminal,
|
|
419779
|
-
version: "1.77.
|
|
419824
|
+
version: "1.77.5",
|
|
419780
419825
|
transcript: normalizeMessagesForAPI(messages),
|
|
419781
419826
|
errors: sanitizedErrors,
|
|
419782
419827
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -419968,7 +420013,7 @@ function Feedback({
|
|
|
419968
420013
|
", ",
|
|
419969
420014
|
env2.terminal,
|
|
419970
420015
|
", v",
|
|
419971
|
-
"1.77.
|
|
420016
|
+
"1.77.5"
|
|
419972
420017
|
]
|
|
419973
420018
|
}, undefined, true, undefined, this)
|
|
419974
420019
|
]
|
|
@@ -420074,7 +420119,7 @@ ${sanitizedDescription}
|
|
|
420074
420119
|
` + `**Environment Info**
|
|
420075
420120
|
` + `- Platform: ${env2.platform}
|
|
420076
420121
|
` + `- Terminal: ${env2.terminal}
|
|
420077
|
-
` + `- Version: ${"1.77.
|
|
420122
|
+
` + `- Version: ${"1.77.5"}
|
|
420078
420123
|
` + `- Feedback ID: ${feedbackId}
|
|
420079
420124
|
` + `
|
|
420080
420125
|
**Errors**
|
|
@@ -423184,7 +423229,7 @@ function buildPrimarySection() {
|
|
|
423184
423229
|
}, undefined, false, undefined, this);
|
|
423185
423230
|
return [{
|
|
423186
423231
|
label: "Version",
|
|
423187
|
-
value: "1.77.
|
|
423232
|
+
value: "1.77.5"
|
|
423188
423233
|
}, {
|
|
423189
423234
|
label: "Session name",
|
|
423190
423235
|
value: nameValue
|
|
@@ -426566,7 +426611,7 @@ function Config({
|
|
|
426566
426611
|
}
|
|
426567
426612
|
}, undefined, false, undefined, this)
|
|
426568
426613
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
|
|
426569
|
-
currentVersion: "1.77.
|
|
426614
|
+
currentVersion: "1.77.5",
|
|
426570
426615
|
onChoice: (choice) => {
|
|
426571
426616
|
setShowSubmenu(null);
|
|
426572
426617
|
setTabsHidden(false);
|
|
@@ -426578,7 +426623,7 @@ function Config({
|
|
|
426578
426623
|
autoUpdatesChannel: "stable"
|
|
426579
426624
|
};
|
|
426580
426625
|
if (choice === "stay") {
|
|
426581
|
-
newSettings.minimumVersion = "1.77.
|
|
426626
|
+
newSettings.minimumVersion = "1.77.5";
|
|
426582
426627
|
}
|
|
426583
426628
|
updateSettingsForSource("userSettings", newSettings);
|
|
426584
426629
|
setSettingsData((prev_27) => ({
|
|
@@ -434642,7 +434687,7 @@ function HelpV2(t0) {
|
|
|
434642
434687
|
let t6;
|
|
434643
434688
|
if ($2[31] !== tabs) {
|
|
434644
434689
|
t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
|
|
434645
|
-
title: `UR v${"1.77.
|
|
434690
|
+
title: `UR v${"1.77.5"}`,
|
|
434646
434691
|
color: "professionalBlue",
|
|
434647
434692
|
defaultTab: "general",
|
|
434648
434693
|
children: tabs
|
|
@@ -435575,7 +435620,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
|
|
|
435575
435620
|
async function handleInitialize(options2) {
|
|
435576
435621
|
return {
|
|
435577
435622
|
name: "UR",
|
|
435578
|
-
version: "1.77.
|
|
435623
|
+
version: "1.77.5",
|
|
435579
435624
|
protocolVersion: "0.1.0",
|
|
435580
435625
|
workspaceRoot: options2.cwd,
|
|
435581
435626
|
capabilities: {
|
|
@@ -452683,7 +452728,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
452683
452728
|
return [];
|
|
452684
452729
|
}
|
|
452685
452730
|
}
|
|
452686
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.
|
|
452731
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.5") {
|
|
452687
452732
|
if (process.env.USER_TYPE === "ant") {
|
|
452688
452733
|
const changelog = "";
|
|
452689
452734
|
if (changelog) {
|
|
@@ -452710,7 +452755,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.3")
|
|
|
452710
452755
|
releaseNotes
|
|
452711
452756
|
};
|
|
452712
452757
|
}
|
|
452713
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.77.
|
|
452758
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.77.5") {
|
|
452714
452759
|
if (process.env.USER_TYPE === "ant") {
|
|
452715
452760
|
const changelog = "";
|
|
452716
452761
|
if (changelog) {
|
|
@@ -455576,7 +455621,7 @@ function getRecentActivitySync() {
|
|
|
455576
455621
|
return cachedActivity;
|
|
455577
455622
|
}
|
|
455578
455623
|
function getLogoDisplayData() {
|
|
455579
|
-
const version2 = process.env.DEMO_VERSION ?? "1.77.
|
|
455624
|
+
const version2 = process.env.DEMO_VERSION ?? "1.77.5";
|
|
455580
455625
|
const serverUrl = getDirectConnectServerUrl();
|
|
455581
455626
|
const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
|
|
455582
455627
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -456443,7 +456488,7 @@ function LogoV2() {
|
|
|
456443
456488
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
456444
456489
|
t2 = () => {
|
|
456445
456490
|
const currentConfig2 = getGlobalConfig();
|
|
456446
|
-
if (currentConfig2.lastReleaseNotesSeen === "1.77.
|
|
456491
|
+
if (currentConfig2.lastReleaseNotesSeen === "1.77.5") {
|
|
456447
456492
|
return;
|
|
456448
456493
|
}
|
|
456449
456494
|
saveGlobalConfig(_temp325);
|
|
@@ -457128,12 +457173,12 @@ function LogoV2() {
|
|
|
457128
457173
|
return t41;
|
|
457129
457174
|
}
|
|
457130
457175
|
function _temp325(current) {
|
|
457131
|
-
if (current.lastReleaseNotesSeen === "1.77.
|
|
457176
|
+
if (current.lastReleaseNotesSeen === "1.77.5") {
|
|
457132
457177
|
return current;
|
|
457133
457178
|
}
|
|
457134
457179
|
return {
|
|
457135
457180
|
...current,
|
|
457136
|
-
lastReleaseNotesSeen: "1.77.
|
|
457181
|
+
lastReleaseNotesSeen: "1.77.5"
|
|
457137
457182
|
};
|
|
457138
457183
|
}
|
|
457139
457184
|
function _temp241(s_0) {
|
|
@@ -473947,7 +473992,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
|
|
|
473947
473992
|
if (spec.name !== specName) {
|
|
473948
473993
|
throw new Error("Agentic CI workflow spec name does not match");
|
|
473949
473994
|
}
|
|
473950
|
-
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.77.
|
|
473995
|
+
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.77.5" : "1.77.5");
|
|
473951
473996
|
if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
|
|
473952
473997
|
throw new Error("invalid ur-agent package version");
|
|
473953
473998
|
}
|
|
@@ -474940,7 +474985,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
|
|
|
474940
474985
|
path: ".github/workflows/ur.yml",
|
|
474941
474986
|
root: "project",
|
|
474942
474987
|
content: compileAgenticCiWorkflow("default", {
|
|
474943
|
-
packageVersion: typeof MACRO !== "undefined" ? "1.77.
|
|
474988
|
+
packageVersion: typeof MACRO !== "undefined" ? "1.77.5" : "1.77.5"
|
|
474944
474989
|
})
|
|
474945
474990
|
},
|
|
474946
474991
|
{
|
|
@@ -475003,7 +475048,7 @@ function value(tokens, flag) {
|
|
|
475003
475048
|
return index2 >= 0 ? tokens[index2 + 1] : undefined;
|
|
475004
475049
|
}
|
|
475005
475050
|
function cliVersion() {
|
|
475006
|
-
return typeof MACRO !== "undefined" ? "1.77.
|
|
475051
|
+
return typeof MACRO !== "undefined" ? "1.77.5" : "1.77.5";
|
|
475007
475052
|
}
|
|
475008
475053
|
function workflowPath(cwd2) {
|
|
475009
475054
|
return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
|
|
@@ -480859,7 +480904,7 @@ function createAcpStdioApp(deps) {
|
|
|
480859
480904
|
}
|
|
480860
480905
|
},
|
|
480861
480906
|
authMethods: [],
|
|
480862
|
-
agentInfo: { name: "UR-Nexus", version: "1.77.
|
|
480907
|
+
agentInfo: { name: "UR-Nexus", version: "1.77.5" }
|
|
480863
480908
|
})).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
|
|
480864
480909
|
const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
|
|
480865
480910
|
await runtime2.announce({
|
|
@@ -480956,7 +481001,7 @@ function createAcpStdioAgent(deps) {
|
|
|
480956
481001
|
}
|
|
480957
481002
|
},
|
|
480958
481003
|
authMethods: [],
|
|
480959
|
-
agentInfo: { name: "UR-Nexus", version: "1.77.
|
|
481004
|
+
agentInfo: { name: "UR-Nexus", version: "1.77.5" }
|
|
480960
481005
|
});
|
|
480961
481006
|
return;
|
|
480962
481007
|
case "authenticate":
|
|
@@ -690416,7 +690461,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
|
|
|
690416
690461
|
smapsRollup,
|
|
690417
690462
|
platform: process.platform,
|
|
690418
690463
|
nodeVersion: process.version,
|
|
690419
|
-
ccVersion: "1.77.
|
|
690464
|
+
ccVersion: "1.77.5"
|
|
690420
690465
|
};
|
|
690421
690466
|
}
|
|
690422
690467
|
async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
|
|
@@ -690996,7 +691041,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
690996
691041
|
var call154 = async () => {
|
|
690997
691042
|
return {
|
|
690998
691043
|
type: "text",
|
|
690999
|
-
value: "1.77.
|
|
691044
|
+
value: "1.77.5"
|
|
691000
691045
|
};
|
|
691001
691046
|
}, version2, version_default;
|
|
691002
691047
|
var init_version = __esm(() => {
|
|
@@ -702263,7 +702308,7 @@ function generateHtmlReport(data, insights) {
|
|
|
702263
702308
|
</html>`;
|
|
702264
702309
|
}
|
|
702265
702310
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
702266
|
-
const version3 = typeof MACRO !== "undefined" ? "1.77.
|
|
702311
|
+
const version3 = typeof MACRO !== "undefined" ? "1.77.5" : "unknown";
|
|
702267
702312
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
702268
702313
|
const facets_summary = {
|
|
702269
702314
|
total: facets.size,
|
|
@@ -706577,7 +706622,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
706577
706622
|
init_settings2();
|
|
706578
706623
|
init_slowOperations();
|
|
706579
706624
|
init_uuid();
|
|
706580
|
-
VERSION7 = typeof MACRO !== "undefined" ? "1.77.
|
|
706625
|
+
VERSION7 = typeof MACRO !== "undefined" ? "1.77.5" : "unknown";
|
|
706581
706626
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
706582
706627
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
706583
706628
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -707792,7 +707837,7 @@ var init_filesystem = __esm(() => {
|
|
|
707792
707837
|
});
|
|
707793
707838
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
707794
707839
|
const nonce = randomBytes20(16).toString("hex");
|
|
707795
|
-
return join232(getURTempDir(), "bundled-skills", "1.77.
|
|
707840
|
+
return join232(getURTempDir(), "bundled-skills", "1.77.5", nonce);
|
|
707796
707841
|
});
|
|
707797
707842
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
707798
707843
|
});
|
|
@@ -714147,7 +714192,7 @@ function computeFingerprint(messageText2, version3) {
|
|
|
714147
714192
|
}
|
|
714148
714193
|
function computeFingerprintFromMessages(messages) {
|
|
714149
714194
|
const firstMessageText = extractFirstMessageText(messages);
|
|
714150
|
-
return computeFingerprint(firstMessageText, "1.77.
|
|
714195
|
+
return computeFingerprint(firstMessageText, "1.77.5");
|
|
714151
714196
|
}
|
|
714152
714197
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
714153
714198
|
var init_fingerprint = () => {};
|
|
@@ -716069,7 +716114,7 @@ async function sideQuery(opts) {
|
|
|
716069
716114
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
716070
716115
|
}
|
|
716071
716116
|
const messageText2 = extractFirstUserMessageText(messages);
|
|
716072
|
-
const fingerprint2 = computeFingerprint(messageText2, "1.77.
|
|
716117
|
+
const fingerprint2 = computeFingerprint(messageText2, "1.77.5");
|
|
716073
716118
|
const attributionHeader = getAttributionHeader(fingerprint2);
|
|
716074
716119
|
const systemBlocks = [
|
|
716075
716120
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -720906,7 +720951,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
720906
720951
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
720907
720952
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
720908
720953
|
betas: getSdkBetas(),
|
|
720909
|
-
ur_version: "1.77.
|
|
720954
|
+
ur_version: "1.77.5",
|
|
720910
720955
|
output_style: outputStyle2,
|
|
720911
720956
|
agents: inputs.agents.map((agent2) => agent2.agentType),
|
|
720912
720957
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
|
|
@@ -734778,7 +734823,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
734778
734823
|
function getSemverPart(version3) {
|
|
734779
734824
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
734780
734825
|
}
|
|
734781
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.77.
|
|
734826
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.77.5") {
|
|
734782
734827
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react223.useState(() => getSemverPart(initialVersion));
|
|
734783
734828
|
if (!updatedVersion) {
|
|
734784
734829
|
return null;
|
|
@@ -734827,7 +734872,7 @@ function AutoUpdater({
|
|
|
734827
734872
|
return;
|
|
734828
734873
|
}
|
|
734829
734874
|
if (false) {}
|
|
734830
|
-
const currentVersion = "1.77.
|
|
734875
|
+
const currentVersion = "1.77.5";
|
|
734831
734876
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
734832
734877
|
let latestVersion = await getLatestVersion(channel);
|
|
734833
734878
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -735056,12 +735101,12 @@ function NativeAutoUpdater({
|
|
|
735056
735101
|
logEvent("tengu_native_auto_updater_start", {});
|
|
735057
735102
|
try {
|
|
735058
735103
|
const maxVersion = await getMaxVersion();
|
|
735059
|
-
if (maxVersion && gt("1.77.
|
|
735104
|
+
if (maxVersion && gt("1.77.5", maxVersion)) {
|
|
735060
735105
|
const msg = await getMaxVersionMessage();
|
|
735061
735106
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
735062
735107
|
}
|
|
735063
735108
|
const result = await installLatest(channel);
|
|
735064
|
-
const currentVersion = "1.77.
|
|
735109
|
+
const currentVersion = "1.77.5";
|
|
735065
735110
|
const latencyMs = Date.now() - startTime;
|
|
735066
735111
|
if (result.lockFailed) {
|
|
735067
735112
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -735198,17 +735243,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
735198
735243
|
const maxVersion = await getMaxVersion();
|
|
735199
735244
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
735200
735245
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
735201
|
-
if (gte("1.77.
|
|
735202
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.77.
|
|
735246
|
+
if (gte("1.77.5", maxVersion)) {
|
|
735247
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.77.5"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
735203
735248
|
setUpdateAvailable(false);
|
|
735204
735249
|
return;
|
|
735205
735250
|
}
|
|
735206
735251
|
latest = maxVersion;
|
|
735207
735252
|
}
|
|
735208
|
-
const hasUpdate = latest && !gte("1.77.
|
|
735253
|
+
const hasUpdate = latest && !gte("1.77.5", latest) && !shouldSkipVersion(latest);
|
|
735209
735254
|
setUpdateAvailable(!!hasUpdate);
|
|
735210
735255
|
if (hasUpdate) {
|
|
735211
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.77.
|
|
735256
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.77.5"} -> ${latest}`);
|
|
735212
735257
|
}
|
|
735213
735258
|
};
|
|
735214
735259
|
$2[0] = t1;
|
|
@@ -735242,7 +735287,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
735242
735287
|
wrap: "truncate",
|
|
735243
735288
|
children: [
|
|
735244
735289
|
"currentVersion: ",
|
|
735245
|
-
"1.77.
|
|
735290
|
+
"1.77.5"
|
|
735246
735291
|
]
|
|
735247
735292
|
}, undefined, true, undefined, this);
|
|
735248
735293
|
$2[3] = verbose;
|
|
@@ -746042,7 +746087,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
746042
746087
|
project_dir: getOriginalCwd(),
|
|
746043
746088
|
added_dirs: addedDirs
|
|
746044
746089
|
},
|
|
746045
|
-
version: "1.77.
|
|
746090
|
+
version: "1.77.5",
|
|
746046
746091
|
output_style: {
|
|
746047
746092
|
name: outputStyleName
|
|
746048
746093
|
},
|
|
@@ -746177,7 +746222,7 @@ function StatusLineInner({
|
|
|
746177
746222
|
const attention = customStatusError ?? taskAttention;
|
|
746178
746223
|
const terminalSize = React132.useContext(TerminalSizeContext);
|
|
746179
746224
|
const defaultStatusLineText = buildDefaultStatusBar({
|
|
746180
|
-
version: "1.77.
|
|
746225
|
+
version: "1.77.5",
|
|
746181
746226
|
providerLabel: providerRuntime.providerLabel,
|
|
746182
746227
|
authMode: providerRuntime.authLabel,
|
|
746183
746228
|
model: renderModelName(mainLoopModel) || providerRuntime.model || "",
|
|
@@ -758462,7 +758507,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
|
|
|
758462
758507
|
} catch {}
|
|
758463
758508
|
const data = {
|
|
758464
758509
|
trigger: trigger2,
|
|
758465
|
-
version: "1.77.
|
|
758510
|
+
version: "1.77.5",
|
|
758466
758511
|
platform: process.platform,
|
|
758467
758512
|
transcript,
|
|
758468
758513
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -770836,7 +770881,7 @@ function WelcomeV2() {
|
|
|
770836
770881
|
dimColor: true,
|
|
770837
770882
|
children: [
|
|
770838
770883
|
"v",
|
|
770839
|
-
"1.77.
|
|
770884
|
+
"1.77.5"
|
|
770840
770885
|
]
|
|
770841
770886
|
}, undefined, true, undefined, this)
|
|
770842
770887
|
]
|
|
@@ -772096,7 +772141,7 @@ function completeOnboarding() {
|
|
|
772096
772141
|
saveGlobalConfig((current) => ({
|
|
772097
772142
|
...current,
|
|
772098
772143
|
hasCompletedOnboarding: true,
|
|
772099
|
-
lastOnboardingVersion: "1.77.
|
|
772144
|
+
lastOnboardingVersion: "1.77.5"
|
|
772100
772145
|
}));
|
|
772101
772146
|
}
|
|
772102
772147
|
function showDialog(root2, renderer) {
|
|
@@ -777140,7 +777185,7 @@ function appendToLog(path24, message) {
|
|
|
777140
777185
|
cwd: getFsImplementation().cwd(),
|
|
777141
777186
|
userType: process.env.USER_TYPE,
|
|
777142
777187
|
sessionId: getSessionId(),
|
|
777143
|
-
version: "1.77.
|
|
777188
|
+
version: "1.77.5"
|
|
777144
777189
|
};
|
|
777145
777190
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
777146
777191
|
}
|
|
@@ -781299,8 +781344,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
781299
781344
|
}
|
|
781300
781345
|
async function checkEnvLessBridgeMinVersion() {
|
|
781301
781346
|
const cfg = await getEnvLessBridgeConfig();
|
|
781302
|
-
if (cfg.min_version && lt("1.77.
|
|
781303
|
-
return `Your version of UR (${"1.77.
|
|
781347
|
+
if (cfg.min_version && lt("1.77.5", cfg.min_version)) {
|
|
781348
|
+
return `Your version of UR (${"1.77.5"}) is too old for Remote Control.
|
|
781304
781349
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
781305
781350
|
}
|
|
781306
781351
|
return null;
|
|
@@ -781774,7 +781819,7 @@ async function initBridgeCore(params) {
|
|
|
781774
781819
|
const rawApi = createBridgeApiClient({
|
|
781775
781820
|
baseUrl,
|
|
781776
781821
|
getAccessToken,
|
|
781777
|
-
runnerVersion: "1.77.
|
|
781822
|
+
runnerVersion: "1.77.5",
|
|
781778
781823
|
onDebug: logForDebugging,
|
|
781779
781824
|
onAuth401,
|
|
781780
781825
|
getTrustedDeviceToken
|
|
@@ -791247,7 +791292,7 @@ function getAgUiCapabilities() {
|
|
|
791247
791292
|
name: "UR-Nexus",
|
|
791248
791293
|
type: "ur-nexus",
|
|
791249
791294
|
description: "Provider-flexible, local-first autonomous engineering workflow agent.",
|
|
791250
|
-
version: "1.77.
|
|
791295
|
+
version: "1.77.5",
|
|
791251
791296
|
provider: "UR",
|
|
791252
791297
|
documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
|
|
791253
791298
|
},
|
|
@@ -792387,7 +792432,7 @@ function createMCPServer(cwd4, debug2, verbose) {
|
|
|
792387
792432
|
};
|
|
792388
792433
|
const server2 = new Server({
|
|
792389
792434
|
name: "ur-nexus",
|
|
792390
|
-
version: "1.77.
|
|
792435
|
+
version: "1.77.5"
|
|
792391
792436
|
}, {
|
|
792392
792437
|
capabilities: {
|
|
792393
792438
|
tools: {}
|
|
@@ -793545,7 +793590,7 @@ function thrownResponse(error40) {
|
|
|
793545
793590
|
}
|
|
793546
793591
|
async function createUrMcp2026Runtime(options4) {
|
|
793547
793592
|
const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
|
|
793548
|
-
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.77.
|
|
793593
|
+
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.77.5" }, { capabilities: {} });
|
|
793549
793594
|
const [clientTransport, serverTransport] = createLinkedTransportPair();
|
|
793550
793595
|
try {
|
|
793551
793596
|
await server2.connect(serverTransport);
|
|
@@ -793556,7 +793601,7 @@ async function createUrMcp2026Runtime(options4) {
|
|
|
793556
793601
|
}
|
|
793557
793602
|
const runtime2 = new Mcp2026Runtime({
|
|
793558
793603
|
cwd: options4.cwd,
|
|
793559
|
-
version: "1.77.
|
|
793604
|
+
version: "1.77.5",
|
|
793560
793605
|
backend: {
|
|
793561
793606
|
listTools: async () => {
|
|
793562
793607
|
const listed = await client2.listTools();
|
|
@@ -795697,7 +795742,7 @@ async function update() {
|
|
|
795697
795742
|
logEvent("tengu_update_check", {});
|
|
795698
795743
|
const diagnostic2 = await getDoctorDiagnostic();
|
|
795699
795744
|
const result = await checkUpgradeStatus({
|
|
795700
|
-
currentVersion: "1.77.
|
|
795745
|
+
currentVersion: "1.77.5",
|
|
795701
795746
|
packageName: UR_AGENT_PACKAGE_NAME,
|
|
795702
795747
|
installationType: diagnostic2.installationType,
|
|
795703
795748
|
latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
|
|
@@ -797013,7 +797058,7 @@ ${customInstructions}` : customInstructions;
|
|
|
797013
797058
|
}
|
|
797014
797059
|
}
|
|
797015
797060
|
logForDiagnosticsNoPII("info", "started", {
|
|
797016
|
-
version: "1.77.
|
|
797061
|
+
version: "1.77.5",
|
|
797017
797062
|
is_native_binary: isInBundledMode()
|
|
797018
797063
|
});
|
|
797019
797064
|
registerCleanup(async () => {
|
|
@@ -797799,7 +797844,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
797799
797844
|
pendingHookMessages
|
|
797800
797845
|
}, renderAndRun);
|
|
797801
797846
|
}
|
|
797802
|
-
}).version("1.77.
|
|
797847
|
+
}).version("1.77.5 (UR-Nexus)", "-v, --version", "Output the version number");
|
|
797803
797848
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
797804
797849
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
797805
797850
|
if (canUserConfigureAdvisor()) {
|
|
@@ -798851,7 +798896,7 @@ if (false) {}
|
|
|
798851
798896
|
async function main2() {
|
|
798852
798897
|
const args = process.argv.slice(2);
|
|
798853
798898
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
798854
|
-
console.log(`${"1.77.
|
|
798899
|
+
console.log(`${"1.77.5"} (UR-Nexus)`);
|
|
798855
798900
|
return;
|
|
798856
798901
|
}
|
|
798857
798902
|
if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
|
package/docs/VALIDATION.md
CHANGED
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.77.
|
|
48
|
+
<p class="eyebrow">Version 1.77.5</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.77.
|
|
5
|
+
"version": "1.77.5",
|
|
6
6
|
"publisher": "ur-nexus",
|
|
7
7
|
"engines": {
|
|
8
8
|
"vscode": "^1.92.0"
|
package/package.json
CHANGED