ur-agent 1.77.4 → 1.77.6
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,34 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.77.6
|
|
4
|
+
|
|
5
|
+
- A request body rejected for its size now takes the prompt-too-long recovery
|
|
6
|
+
path instead of killing the turn. Ollama fronts the model with a Go HTTP
|
|
7
|
+
server that rejects an oversized body before the model sees it, reporting
|
|
8
|
+
`400: http: request body too large` — a message naming neither a prompt nor a
|
|
9
|
+
token count, so it missed the matcher and none of the compaction-and-retry
|
|
10
|
+
recovery ran. Proxy and gateway phrasings of the same condition are covered
|
|
11
|
+
too. An unrelated 400 is not swept in.
|
|
12
|
+
- Deliberation stays out of user-facing text. The prompt asked for brevity but
|
|
13
|
+
never said that weighing causes, checking arithmetic, and talking through
|
|
14
|
+
what a test failure means are thinking rather than output — so they were
|
|
15
|
+
emitted verbatim, at length, mid-task.
|
|
16
|
+
|
|
17
|
+
## 1.77.5
|
|
18
|
+
|
|
19
|
+
- A tool call the model writes as text is now recovered for every provider.
|
|
20
|
+
The repair existed but was wired only into the Ollama provider and the remote
|
|
21
|
+
transport, so the same model — Kimi, GLM, GPT — reached through OpenRouter or
|
|
22
|
+
any OpenAI-compatible endpoint had its call silently dropped and the turn did
|
|
23
|
+
nothing visible. Recovery now runs in `normalizeContentFromAPI`, the single
|
|
24
|
+
point every provider and both the streaming and non-streaming paths converge
|
|
25
|
+
on, and it matches against the session's real tool list rather than the
|
|
26
|
+
hardcoded seven-name set the transport-level repair used.
|
|
27
|
+
- The recovery is applied only when the turn produced no genuine `tool_use`
|
|
28
|
+
block, so a model that used the structured interface correctly is never
|
|
29
|
+
second-guessed, prose that merely resembles JSON cannot displace a real call,
|
|
30
|
+
and a name that is not a live tool is left as text.
|
|
31
|
+
|
|
3
32
|
## 1.77.4
|
|
4
33
|
|
|
5
34
|
- AskUserQuestion accepts choices labelled with `header`. `header` is this
|
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.6"}`;
|
|
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.6"} (${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.6"}${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.6",
|
|
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.6".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.6",
|
|
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.6"
|
|
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.6");
|
|
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.6", 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.6"}.${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.6");
|
|
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.6"
|
|
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.6").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.6").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.6";
|
|
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.6";
|
|
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.6",
|
|
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.6",
|
|
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.6"
|
|
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.6");
|
|
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.6"));
|
|
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.6", 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.6"}) 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.6"
|
|
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.6"
|
|
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.6" : "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.6", maxVersion)) {
|
|
319891
|
+
logForDebugging(`Native installer: current version ${"1.77.6"} 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.6" && 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.6");
|
|
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();
|
|
@@ -411776,6 +411821,10 @@ function isPromptTooLongMessage(msg) {
|
|
|
411776
411821
|
}
|
|
411777
411822
|
return content.some((block2) => block2.type === "text" && block2.text.startsWith(PROMPT_TOO_LONG_ERROR_MESSAGE));
|
|
411778
411823
|
}
|
|
411824
|
+
function isOversizedRequestBodyMessage(rawMessage) {
|
|
411825
|
+
const text = rawMessage.toLowerCase();
|
|
411826
|
+
return text.includes("request body too large") || text.includes("request entity too large") || text.includes("payload too large") || text.includes("body size limit");
|
|
411827
|
+
}
|
|
411779
411828
|
function parsePromptTooLongTokenCounts(rawMessage) {
|
|
411780
411829
|
const match = rawMessage.match(/prompt is too long[^0-9]*(\d+)\s*tokens?\s*>\s*(\d+)/i);
|
|
411781
411830
|
return {
|
|
@@ -412020,7 +412069,7 @@ function getAssistantMessageFromError(error40, model, options2) {
|
|
|
412020
412069
|
error: "rate_limit"
|
|
412021
412070
|
});
|
|
412022
412071
|
}
|
|
412023
|
-
if (error40 instanceof Error && error40.message.toLowerCase().includes("prompt is too long")) {
|
|
412072
|
+
if (error40 instanceof Error && (error40.message.toLowerCase().includes("prompt is too long") || isOversizedRequestBodyMessage(error40.message))) {
|
|
412024
412073
|
return createAssistantAPIErrorMessage({
|
|
412025
412074
|
content: PROMPT_TOO_LONG_ERROR_MESSAGE,
|
|
412026
412075
|
error: "invalid_request",
|
|
@@ -419776,7 +419825,7 @@ function Feedback({
|
|
|
419776
419825
|
platform: env2.platform,
|
|
419777
419826
|
gitRepo: envInfo.isGit,
|
|
419778
419827
|
terminal: env2.terminal,
|
|
419779
|
-
version: "1.77.
|
|
419828
|
+
version: "1.77.6",
|
|
419780
419829
|
transcript: normalizeMessagesForAPI(messages),
|
|
419781
419830
|
errors: sanitizedErrors,
|
|
419782
419831
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -419968,7 +420017,7 @@ function Feedback({
|
|
|
419968
420017
|
", ",
|
|
419969
420018
|
env2.terminal,
|
|
419970
420019
|
", v",
|
|
419971
|
-
"1.77.
|
|
420020
|
+
"1.77.6"
|
|
419972
420021
|
]
|
|
419973
420022
|
}, undefined, true, undefined, this)
|
|
419974
420023
|
]
|
|
@@ -420074,7 +420123,7 @@ ${sanitizedDescription}
|
|
|
420074
420123
|
` + `**Environment Info**
|
|
420075
420124
|
` + `- Platform: ${env2.platform}
|
|
420076
420125
|
` + `- Terminal: ${env2.terminal}
|
|
420077
|
-
` + `- Version: ${"1.77.
|
|
420126
|
+
` + `- Version: ${"1.77.6"}
|
|
420078
420127
|
` + `- Feedback ID: ${feedbackId}
|
|
420079
420128
|
` + `
|
|
420080
420129
|
**Errors**
|
|
@@ -423184,7 +423233,7 @@ function buildPrimarySection() {
|
|
|
423184
423233
|
}, undefined, false, undefined, this);
|
|
423185
423234
|
return [{
|
|
423186
423235
|
label: "Version",
|
|
423187
|
-
value: "1.77.
|
|
423236
|
+
value: "1.77.6"
|
|
423188
423237
|
}, {
|
|
423189
423238
|
label: "Session name",
|
|
423190
423239
|
value: nameValue
|
|
@@ -426566,7 +426615,7 @@ function Config({
|
|
|
426566
426615
|
}
|
|
426567
426616
|
}, undefined, false, undefined, this)
|
|
426568
426617
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
|
|
426569
|
-
currentVersion: "1.77.
|
|
426618
|
+
currentVersion: "1.77.6",
|
|
426570
426619
|
onChoice: (choice) => {
|
|
426571
426620
|
setShowSubmenu(null);
|
|
426572
426621
|
setTabsHidden(false);
|
|
@@ -426578,7 +426627,7 @@ function Config({
|
|
|
426578
426627
|
autoUpdatesChannel: "stable"
|
|
426579
426628
|
};
|
|
426580
426629
|
if (choice === "stay") {
|
|
426581
|
-
newSettings.minimumVersion = "1.77.
|
|
426630
|
+
newSettings.minimumVersion = "1.77.6";
|
|
426582
426631
|
}
|
|
426583
426632
|
updateSettingsForSource("userSettings", newSettings);
|
|
426584
426633
|
setSettingsData((prev_27) => ({
|
|
@@ -434642,7 +434691,7 @@ function HelpV2(t0) {
|
|
|
434642
434691
|
let t6;
|
|
434643
434692
|
if ($2[31] !== tabs) {
|
|
434644
434693
|
t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
|
|
434645
|
-
title: `UR v${"1.77.
|
|
434694
|
+
title: `UR v${"1.77.6"}`,
|
|
434646
434695
|
color: "professionalBlue",
|
|
434647
434696
|
defaultTab: "general",
|
|
434648
434697
|
children: tabs
|
|
@@ -435575,7 +435624,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
|
|
|
435575
435624
|
async function handleInitialize(options2) {
|
|
435576
435625
|
return {
|
|
435577
435626
|
name: "UR",
|
|
435578
|
-
version: "1.77.
|
|
435627
|
+
version: "1.77.6",
|
|
435579
435628
|
protocolVersion: "0.1.0",
|
|
435580
435629
|
workspaceRoot: options2.cwd,
|
|
435581
435630
|
capabilities: {
|
|
@@ -452683,7 +452732,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
452683
452732
|
return [];
|
|
452684
452733
|
}
|
|
452685
452734
|
}
|
|
452686
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.
|
|
452735
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.6") {
|
|
452687
452736
|
if (process.env.USER_TYPE === "ant") {
|
|
452688
452737
|
const changelog = "";
|
|
452689
452738
|
if (changelog) {
|
|
@@ -452710,7 +452759,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.4")
|
|
|
452710
452759
|
releaseNotes
|
|
452711
452760
|
};
|
|
452712
452761
|
}
|
|
452713
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.77.
|
|
452762
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.77.6") {
|
|
452714
452763
|
if (process.env.USER_TYPE === "ant") {
|
|
452715
452764
|
const changelog = "";
|
|
452716
452765
|
if (changelog) {
|
|
@@ -455576,7 +455625,7 @@ function getRecentActivitySync() {
|
|
|
455576
455625
|
return cachedActivity;
|
|
455577
455626
|
}
|
|
455578
455627
|
function getLogoDisplayData() {
|
|
455579
|
-
const version2 = process.env.DEMO_VERSION ?? "1.77.
|
|
455628
|
+
const version2 = process.env.DEMO_VERSION ?? "1.77.6";
|
|
455580
455629
|
const serverUrl = getDirectConnectServerUrl();
|
|
455581
455630
|
const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
|
|
455582
455631
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -456443,7 +456492,7 @@ function LogoV2() {
|
|
|
456443
456492
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
456444
456493
|
t2 = () => {
|
|
456445
456494
|
const currentConfig2 = getGlobalConfig();
|
|
456446
|
-
if (currentConfig2.lastReleaseNotesSeen === "1.77.
|
|
456495
|
+
if (currentConfig2.lastReleaseNotesSeen === "1.77.6") {
|
|
456447
456496
|
return;
|
|
456448
456497
|
}
|
|
456449
456498
|
saveGlobalConfig(_temp325);
|
|
@@ -457128,12 +457177,12 @@ function LogoV2() {
|
|
|
457128
457177
|
return t41;
|
|
457129
457178
|
}
|
|
457130
457179
|
function _temp325(current) {
|
|
457131
|
-
if (current.lastReleaseNotesSeen === "1.77.
|
|
457180
|
+
if (current.lastReleaseNotesSeen === "1.77.6") {
|
|
457132
457181
|
return current;
|
|
457133
457182
|
}
|
|
457134
457183
|
return {
|
|
457135
457184
|
...current,
|
|
457136
|
-
lastReleaseNotesSeen: "1.77.
|
|
457185
|
+
lastReleaseNotesSeen: "1.77.6"
|
|
457137
457186
|
};
|
|
457138
457187
|
}
|
|
457139
457188
|
function _temp241(s_0) {
|
|
@@ -473947,7 +473996,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
|
|
|
473947
473996
|
if (spec.name !== specName) {
|
|
473948
473997
|
throw new Error("Agentic CI workflow spec name does not match");
|
|
473949
473998
|
}
|
|
473950
|
-
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.77.
|
|
473999
|
+
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.77.6" : "1.77.6");
|
|
473951
474000
|
if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
|
|
473952
474001
|
throw new Error("invalid ur-agent package version");
|
|
473953
474002
|
}
|
|
@@ -474940,7 +474989,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
|
|
|
474940
474989
|
path: ".github/workflows/ur.yml",
|
|
474941
474990
|
root: "project",
|
|
474942
474991
|
content: compileAgenticCiWorkflow("default", {
|
|
474943
|
-
packageVersion: typeof MACRO !== "undefined" ? "1.77.
|
|
474992
|
+
packageVersion: typeof MACRO !== "undefined" ? "1.77.6" : "1.77.6"
|
|
474944
474993
|
})
|
|
474945
474994
|
},
|
|
474946
474995
|
{
|
|
@@ -475003,7 +475052,7 @@ function value(tokens, flag) {
|
|
|
475003
475052
|
return index2 >= 0 ? tokens[index2 + 1] : undefined;
|
|
475004
475053
|
}
|
|
475005
475054
|
function cliVersion() {
|
|
475006
|
-
return typeof MACRO !== "undefined" ? "1.77.
|
|
475055
|
+
return typeof MACRO !== "undefined" ? "1.77.6" : "1.77.6";
|
|
475007
475056
|
}
|
|
475008
475057
|
function workflowPath(cwd2) {
|
|
475009
475058
|
return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
|
|
@@ -480859,7 +480908,7 @@ function createAcpStdioApp(deps) {
|
|
|
480859
480908
|
}
|
|
480860
480909
|
},
|
|
480861
480910
|
authMethods: [],
|
|
480862
|
-
agentInfo: { name: "UR-Nexus", version: "1.77.
|
|
480911
|
+
agentInfo: { name: "UR-Nexus", version: "1.77.6" }
|
|
480863
480912
|
})).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
|
|
480864
480913
|
const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
|
|
480865
480914
|
await runtime2.announce({
|
|
@@ -480956,7 +481005,7 @@ function createAcpStdioAgent(deps) {
|
|
|
480956
481005
|
}
|
|
480957
481006
|
},
|
|
480958
481007
|
authMethods: [],
|
|
480959
|
-
agentInfo: { name: "UR-Nexus", version: "1.77.
|
|
481008
|
+
agentInfo: { name: "UR-Nexus", version: "1.77.6" }
|
|
480960
481009
|
});
|
|
480961
481010
|
return;
|
|
480962
481011
|
case "authenticate":
|
|
@@ -690416,7 +690465,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
|
|
|
690416
690465
|
smapsRollup,
|
|
690417
690466
|
platform: process.platform,
|
|
690418
690467
|
nodeVersion: process.version,
|
|
690419
|
-
ccVersion: "1.77.
|
|
690468
|
+
ccVersion: "1.77.6"
|
|
690420
690469
|
};
|
|
690421
690470
|
}
|
|
690422
690471
|
async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
|
|
@@ -690996,7 +691045,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
690996
691045
|
var call154 = async () => {
|
|
690997
691046
|
return {
|
|
690998
691047
|
type: "text",
|
|
690999
|
-
value: "1.77.
|
|
691048
|
+
value: "1.77.6"
|
|
691000
691049
|
};
|
|
691001
691050
|
}, version2, version_default;
|
|
691002
691051
|
var init_version = __esm(() => {
|
|
@@ -702263,7 +702312,7 @@ function generateHtmlReport(data, insights) {
|
|
|
702263
702312
|
</html>`;
|
|
702264
702313
|
}
|
|
702265
702314
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
702266
|
-
const version3 = typeof MACRO !== "undefined" ? "1.77.
|
|
702315
|
+
const version3 = typeof MACRO !== "undefined" ? "1.77.6" : "unknown";
|
|
702267
702316
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
702268
702317
|
const facets_summary = {
|
|
702269
702318
|
total: facets.size,
|
|
@@ -706577,7 +706626,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
706577
706626
|
init_settings2();
|
|
706578
706627
|
init_slowOperations();
|
|
706579
706628
|
init_uuid();
|
|
706580
|
-
VERSION7 = typeof MACRO !== "undefined" ? "1.77.
|
|
706629
|
+
VERSION7 = typeof MACRO !== "undefined" ? "1.77.6" : "unknown";
|
|
706581
706630
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
706582
706631
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
706583
706632
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -707792,7 +707841,7 @@ var init_filesystem = __esm(() => {
|
|
|
707792
707841
|
});
|
|
707793
707842
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
707794
707843
|
const nonce = randomBytes20(16).toString("hex");
|
|
707795
|
-
return join232(getURTempDir(), "bundled-skills", "1.77.
|
|
707844
|
+
return join232(getURTempDir(), "bundled-skills", "1.77.6", nonce);
|
|
707796
707845
|
});
|
|
707797
707846
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
707798
707847
|
});
|
|
@@ -713431,6 +713480,8 @@ Focus text output on:
|
|
|
713431
713480
|
- High-level status updates at natural milestones
|
|
713432
713481
|
- Errors or blockers that change the plan
|
|
713433
713482
|
|
|
713483
|
+
Reason silently, then act. Working through a problem \u2014 weighing causes, checking arithmetic, deciding between fixes, talking yourself through what a test failure means \u2014 is thinking, not output. Do it, then emit the decision and the tool call. A paragraph that starts "Wait", "Maybe", "Let me think", "The issue is", or that revises itself mid-sentence, belongs nowhere in user-facing text.
|
|
713484
|
+
|
|
713434
713485
|
Finishing a task is not an invitation to write at length. The work is in the files and the tool calls; the final message only says what changed and anything the user must act on. Specifically:
|
|
713435
713486
|
- Never paste code, file contents, or diffs you already wrote to disk. Cite \`file_path:line\` instead. The user can open the file.
|
|
713436
713487
|
- Report an audit, review, or investigation as its findings \u2014 one line each, and only the ones that matter. Do not narrate how you searched or restate what you read.
|
|
@@ -714147,7 +714198,7 @@ function computeFingerprint(messageText2, version3) {
|
|
|
714147
714198
|
}
|
|
714148
714199
|
function computeFingerprintFromMessages(messages) {
|
|
714149
714200
|
const firstMessageText = extractFirstMessageText(messages);
|
|
714150
|
-
return computeFingerprint(firstMessageText, "1.77.
|
|
714201
|
+
return computeFingerprint(firstMessageText, "1.77.6");
|
|
714151
714202
|
}
|
|
714152
714203
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
714153
714204
|
var init_fingerprint = () => {};
|
|
@@ -716069,7 +716120,7 @@ async function sideQuery(opts) {
|
|
|
716069
716120
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
716070
716121
|
}
|
|
716071
716122
|
const messageText2 = extractFirstUserMessageText(messages);
|
|
716072
|
-
const fingerprint2 = computeFingerprint(messageText2, "1.77.
|
|
716123
|
+
const fingerprint2 = computeFingerprint(messageText2, "1.77.6");
|
|
716073
716124
|
const attributionHeader = getAttributionHeader(fingerprint2);
|
|
716074
716125
|
const systemBlocks = [
|
|
716075
716126
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -720906,7 +720957,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
720906
720957
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
720907
720958
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
720908
720959
|
betas: getSdkBetas(),
|
|
720909
|
-
ur_version: "1.77.
|
|
720960
|
+
ur_version: "1.77.6",
|
|
720910
720961
|
output_style: outputStyle2,
|
|
720911
720962
|
agents: inputs.agents.map((agent2) => agent2.agentType),
|
|
720912
720963
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
|
|
@@ -734778,7 +734829,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
734778
734829
|
function getSemverPart(version3) {
|
|
734779
734830
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
734780
734831
|
}
|
|
734781
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.77.
|
|
734832
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.77.6") {
|
|
734782
734833
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react223.useState(() => getSemverPart(initialVersion));
|
|
734783
734834
|
if (!updatedVersion) {
|
|
734784
734835
|
return null;
|
|
@@ -734827,7 +734878,7 @@ function AutoUpdater({
|
|
|
734827
734878
|
return;
|
|
734828
734879
|
}
|
|
734829
734880
|
if (false) {}
|
|
734830
|
-
const currentVersion = "1.77.
|
|
734881
|
+
const currentVersion = "1.77.6";
|
|
734831
734882
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
734832
734883
|
let latestVersion = await getLatestVersion(channel);
|
|
734833
734884
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -735056,12 +735107,12 @@ function NativeAutoUpdater({
|
|
|
735056
735107
|
logEvent("tengu_native_auto_updater_start", {});
|
|
735057
735108
|
try {
|
|
735058
735109
|
const maxVersion = await getMaxVersion();
|
|
735059
|
-
if (maxVersion && gt("1.77.
|
|
735110
|
+
if (maxVersion && gt("1.77.6", maxVersion)) {
|
|
735060
735111
|
const msg = await getMaxVersionMessage();
|
|
735061
735112
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
735062
735113
|
}
|
|
735063
735114
|
const result = await installLatest(channel);
|
|
735064
|
-
const currentVersion = "1.77.
|
|
735115
|
+
const currentVersion = "1.77.6";
|
|
735065
735116
|
const latencyMs = Date.now() - startTime;
|
|
735066
735117
|
if (result.lockFailed) {
|
|
735067
735118
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -735198,17 +735249,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
735198
735249
|
const maxVersion = await getMaxVersion();
|
|
735199
735250
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
735200
735251
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
735201
|
-
if (gte("1.77.
|
|
735202
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.77.
|
|
735252
|
+
if (gte("1.77.6", maxVersion)) {
|
|
735253
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.77.6"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
735203
735254
|
setUpdateAvailable(false);
|
|
735204
735255
|
return;
|
|
735205
735256
|
}
|
|
735206
735257
|
latest = maxVersion;
|
|
735207
735258
|
}
|
|
735208
|
-
const hasUpdate = latest && !gte("1.77.
|
|
735259
|
+
const hasUpdate = latest && !gte("1.77.6", latest) && !shouldSkipVersion(latest);
|
|
735209
735260
|
setUpdateAvailable(!!hasUpdate);
|
|
735210
735261
|
if (hasUpdate) {
|
|
735211
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.77.
|
|
735262
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.77.6"} -> ${latest}`);
|
|
735212
735263
|
}
|
|
735213
735264
|
};
|
|
735214
735265
|
$2[0] = t1;
|
|
@@ -735242,7 +735293,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
735242
735293
|
wrap: "truncate",
|
|
735243
735294
|
children: [
|
|
735244
735295
|
"currentVersion: ",
|
|
735245
|
-
"1.77.
|
|
735296
|
+
"1.77.6"
|
|
735246
735297
|
]
|
|
735247
735298
|
}, undefined, true, undefined, this);
|
|
735248
735299
|
$2[3] = verbose;
|
|
@@ -746042,7 +746093,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
746042
746093
|
project_dir: getOriginalCwd(),
|
|
746043
746094
|
added_dirs: addedDirs
|
|
746044
746095
|
},
|
|
746045
|
-
version: "1.77.
|
|
746096
|
+
version: "1.77.6",
|
|
746046
746097
|
output_style: {
|
|
746047
746098
|
name: outputStyleName
|
|
746048
746099
|
},
|
|
@@ -746177,7 +746228,7 @@ function StatusLineInner({
|
|
|
746177
746228
|
const attention = customStatusError ?? taskAttention;
|
|
746178
746229
|
const terminalSize = React132.useContext(TerminalSizeContext);
|
|
746179
746230
|
const defaultStatusLineText = buildDefaultStatusBar({
|
|
746180
|
-
version: "1.77.
|
|
746231
|
+
version: "1.77.6",
|
|
746181
746232
|
providerLabel: providerRuntime.providerLabel,
|
|
746182
746233
|
authMode: providerRuntime.authLabel,
|
|
746183
746234
|
model: renderModelName(mainLoopModel) || providerRuntime.model || "",
|
|
@@ -758462,7 +758513,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
|
|
|
758462
758513
|
} catch {}
|
|
758463
758514
|
const data = {
|
|
758464
758515
|
trigger: trigger2,
|
|
758465
|
-
version: "1.77.
|
|
758516
|
+
version: "1.77.6",
|
|
758466
758517
|
platform: process.platform,
|
|
758467
758518
|
transcript,
|
|
758468
758519
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -770836,7 +770887,7 @@ function WelcomeV2() {
|
|
|
770836
770887
|
dimColor: true,
|
|
770837
770888
|
children: [
|
|
770838
770889
|
"v",
|
|
770839
|
-
"1.77.
|
|
770890
|
+
"1.77.6"
|
|
770840
770891
|
]
|
|
770841
770892
|
}, undefined, true, undefined, this)
|
|
770842
770893
|
]
|
|
@@ -772096,7 +772147,7 @@ function completeOnboarding() {
|
|
|
772096
772147
|
saveGlobalConfig((current) => ({
|
|
772097
772148
|
...current,
|
|
772098
772149
|
hasCompletedOnboarding: true,
|
|
772099
|
-
lastOnboardingVersion: "1.77.
|
|
772150
|
+
lastOnboardingVersion: "1.77.6"
|
|
772100
772151
|
}));
|
|
772101
772152
|
}
|
|
772102
772153
|
function showDialog(root2, renderer) {
|
|
@@ -777140,7 +777191,7 @@ function appendToLog(path24, message) {
|
|
|
777140
777191
|
cwd: getFsImplementation().cwd(),
|
|
777141
777192
|
userType: process.env.USER_TYPE,
|
|
777142
777193
|
sessionId: getSessionId(),
|
|
777143
|
-
version: "1.77.
|
|
777194
|
+
version: "1.77.6"
|
|
777144
777195
|
};
|
|
777145
777196
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
777146
777197
|
}
|
|
@@ -781299,8 +781350,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
781299
781350
|
}
|
|
781300
781351
|
async function checkEnvLessBridgeMinVersion() {
|
|
781301
781352
|
const cfg = await getEnvLessBridgeConfig();
|
|
781302
|
-
if (cfg.min_version && lt("1.77.
|
|
781303
|
-
return `Your version of UR (${"1.77.
|
|
781353
|
+
if (cfg.min_version && lt("1.77.6", cfg.min_version)) {
|
|
781354
|
+
return `Your version of UR (${"1.77.6"}) is too old for Remote Control.
|
|
781304
781355
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
781305
781356
|
}
|
|
781306
781357
|
return null;
|
|
@@ -781774,7 +781825,7 @@ async function initBridgeCore(params) {
|
|
|
781774
781825
|
const rawApi = createBridgeApiClient({
|
|
781775
781826
|
baseUrl,
|
|
781776
781827
|
getAccessToken,
|
|
781777
|
-
runnerVersion: "1.77.
|
|
781828
|
+
runnerVersion: "1.77.6",
|
|
781778
781829
|
onDebug: logForDebugging,
|
|
781779
781830
|
onAuth401,
|
|
781780
781831
|
getTrustedDeviceToken
|
|
@@ -791247,7 +791298,7 @@ function getAgUiCapabilities() {
|
|
|
791247
791298
|
name: "UR-Nexus",
|
|
791248
791299
|
type: "ur-nexus",
|
|
791249
791300
|
description: "Provider-flexible, local-first autonomous engineering workflow agent.",
|
|
791250
|
-
version: "1.77.
|
|
791301
|
+
version: "1.77.6",
|
|
791251
791302
|
provider: "UR",
|
|
791252
791303
|
documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
|
|
791253
791304
|
},
|
|
@@ -792387,7 +792438,7 @@ function createMCPServer(cwd4, debug2, verbose) {
|
|
|
792387
792438
|
};
|
|
792388
792439
|
const server2 = new Server({
|
|
792389
792440
|
name: "ur-nexus",
|
|
792390
|
-
version: "1.77.
|
|
792441
|
+
version: "1.77.6"
|
|
792391
792442
|
}, {
|
|
792392
792443
|
capabilities: {
|
|
792393
792444
|
tools: {}
|
|
@@ -793545,7 +793596,7 @@ function thrownResponse(error40) {
|
|
|
793545
793596
|
}
|
|
793546
793597
|
async function createUrMcp2026Runtime(options4) {
|
|
793547
793598
|
const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
|
|
793548
|
-
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.77.
|
|
793599
|
+
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.77.6" }, { capabilities: {} });
|
|
793549
793600
|
const [clientTransport, serverTransport] = createLinkedTransportPair();
|
|
793550
793601
|
try {
|
|
793551
793602
|
await server2.connect(serverTransport);
|
|
@@ -793556,7 +793607,7 @@ async function createUrMcp2026Runtime(options4) {
|
|
|
793556
793607
|
}
|
|
793557
793608
|
const runtime2 = new Mcp2026Runtime({
|
|
793558
793609
|
cwd: options4.cwd,
|
|
793559
|
-
version: "1.77.
|
|
793610
|
+
version: "1.77.6",
|
|
793560
793611
|
backend: {
|
|
793561
793612
|
listTools: async () => {
|
|
793562
793613
|
const listed = await client2.listTools();
|
|
@@ -795697,7 +795748,7 @@ async function update() {
|
|
|
795697
795748
|
logEvent("tengu_update_check", {});
|
|
795698
795749
|
const diagnostic2 = await getDoctorDiagnostic();
|
|
795699
795750
|
const result = await checkUpgradeStatus({
|
|
795700
|
-
currentVersion: "1.77.
|
|
795751
|
+
currentVersion: "1.77.6",
|
|
795701
795752
|
packageName: UR_AGENT_PACKAGE_NAME,
|
|
795702
795753
|
installationType: diagnostic2.installationType,
|
|
795703
795754
|
latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
|
|
@@ -797013,7 +797064,7 @@ ${customInstructions}` : customInstructions;
|
|
|
797013
797064
|
}
|
|
797014
797065
|
}
|
|
797015
797066
|
logForDiagnosticsNoPII("info", "started", {
|
|
797016
|
-
version: "1.77.
|
|
797067
|
+
version: "1.77.6",
|
|
797017
797068
|
is_native_binary: isInBundledMode()
|
|
797018
797069
|
});
|
|
797019
797070
|
registerCleanup(async () => {
|
|
@@ -797799,7 +797850,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
797799
797850
|
pendingHookMessages
|
|
797800
797851
|
}, renderAndRun);
|
|
797801
797852
|
}
|
|
797802
|
-
}).version("1.77.
|
|
797853
|
+
}).version("1.77.6 (UR-Nexus)", "-v, --version", "Output the version number");
|
|
797803
797854
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
797804
797855
|
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
797856
|
if (canUserConfigureAdvisor()) {
|
|
@@ -798851,7 +798902,7 @@ if (false) {}
|
|
|
798851
798902
|
async function main2() {
|
|
798852
798903
|
const args = process.argv.slice(2);
|
|
798853
798904
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
798854
|
-
console.log(`${"1.77.
|
|
798905
|
+
console.log(`${"1.77.6"} (UR-Nexus)`);
|
|
798855
798906
|
return;
|
|
798856
798907
|
}
|
|
798857
798908
|
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.6</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.6",
|
|
6
6
|
"publisher": "ur-nexus",
|
|
7
7
|
"engines": {
|
|
8
8
|
"vscode": "^1.92.0"
|
package/package.json
CHANGED