ur-agent 1.77.8 → 1.78.1
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,44 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.78.1
|
|
4
|
+
|
|
5
|
+
- Editing a file through Bash or NotebookEdit now clears that file's delivered
|
|
6
|
+
LSP diagnostics, so errors introduced by the edit reach the model. Diagnostics
|
|
7
|
+
are deduplicated across turns: one identical to a diagnostic already
|
|
8
|
+
delivered for the file is suppressed. Edit and Write cleared the delivered
|
|
9
|
+
set after writing; a `sed` edit through Bash and a notebook cell edit change
|
|
10
|
+
the file the same way but did not, so a problem reintroduced by either was
|
|
11
|
+
silently withheld.
|
|
12
|
+
|
|
13
|
+
## 1.78.0
|
|
14
|
+
|
|
15
|
+
- The summary reserve is capped as a share of the context window, not just at a
|
|
16
|
+
flat 20,000 tokens. A model with a small window was left with a negative
|
|
17
|
+
effective window — every token count above it, so autocompact fired on every
|
|
18
|
+
turn and never settled. A small window now keeps at least four fifths of
|
|
19
|
+
itself for the conversation, and the effective size can no longer reach zero
|
|
20
|
+
for any reported value. Large windows still reserve the flat amount.
|
|
21
|
+
|
|
22
|
+
## 1.77.9
|
|
23
|
+
|
|
24
|
+
- Leaked deliberation is collapsed out of the visible transcript. Models
|
|
25
|
+
without a separate thinking channel emit their reasoning as ordinary
|
|
26
|
+
assistant text — paragraph after paragraph of "Wait", "Maybe", "Another
|
|
27
|
+
possibility", each revising the last, before any conclusion. Two rounds of
|
|
28
|
+
prompt guidance did not hold, so this is handled deterministically instead: a
|
|
29
|
+
leading run of deliberation is replaced by a one-line note saying how many
|
|
30
|
+
paragraphs were hidden.
|
|
31
|
+
- Display only. Nothing is deleted and nothing changes on the wire — the
|
|
32
|
+
transcript, the session file, and the next request all carry the text
|
|
33
|
+
unchanged, and `--verbose` shows everything. Synthesizing a `thinking` block
|
|
34
|
+
would have been the natural home for it, but an unsigned one causes an API
|
|
35
|
+
400 on the following turn.
|
|
36
|
+
- The collapse is deliberately conservative: it needs several deliberation
|
|
37
|
+
paragraphs, tolerates one bridging sentence between them but not two, always
|
|
38
|
+
stops before a code fence, list, heading, or quote, never hides the
|
|
39
|
+
conclusion that follows, and leaves a turn that is *entirely* deliberation
|
|
40
|
+
untouched rather than rendering it blank.
|
|
41
|
+
|
|
3
42
|
## 1.77.8
|
|
4
43
|
|
|
5
44
|
- Auto-compact works again on every provider except the first-party one, where
|
package/dist/cli.js
CHANGED
|
@@ -107573,7 +107573,7 @@ var init_auth = __esm(() => {
|
|
|
107573
107573
|
|
|
107574
107574
|
// src/utils/userAgent.ts
|
|
107575
107575
|
function getURCodeUserAgent() {
|
|
107576
|
-
return `ur/${"1.
|
|
107576
|
+
return `ur/${"1.78.1"}`;
|
|
107577
107577
|
}
|
|
107578
107578
|
|
|
107579
107579
|
// src/utils/workloadContext.ts
|
|
@@ -107595,7 +107595,7 @@ function getUserAgent() {
|
|
|
107595
107595
|
const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
|
|
107596
107596
|
const workload = getWorkload();
|
|
107597
107597
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
107598
|
-
return `ur-cli/${"1.
|
|
107598
|
+
return `ur-cli/${"1.78.1"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
107599
107599
|
}
|
|
107600
107600
|
function getMCPUserAgent() {
|
|
107601
107601
|
const parts = [];
|
|
@@ -107609,7 +107609,7 @@ function getMCPUserAgent() {
|
|
|
107609
107609
|
parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
|
|
107610
107610
|
}
|
|
107611
107611
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
107612
|
-
return `ur/${"1.
|
|
107612
|
+
return `ur/${"1.78.1"}${suffix}`;
|
|
107613
107613
|
}
|
|
107614
107614
|
function getWebFetchUserAgent() {
|
|
107615
107615
|
return `UR-User (${getURCodeUserAgent()})`;
|
|
@@ -107747,7 +107747,7 @@ var init_user = __esm(() => {
|
|
|
107747
107747
|
deviceId,
|
|
107748
107748
|
sessionId: getSessionId(),
|
|
107749
107749
|
email: getEmail(),
|
|
107750
|
-
appVersion: "1.
|
|
107750
|
+
appVersion: "1.78.1",
|
|
107751
107751
|
platform: getHostPlatformForAnalytics(),
|
|
107752
107752
|
organizationUuid,
|
|
107753
107753
|
accountUuid,
|
|
@@ -115634,7 +115634,7 @@ var init_metadata = __esm(() => {
|
|
|
115634
115634
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
115635
115635
|
WHITESPACE_REGEX = /\s+/;
|
|
115636
115636
|
getVersionBase = memoize_default(() => {
|
|
115637
|
-
const match = "1.
|
|
115637
|
+
const match = "1.78.1".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
115638
115638
|
return match ? match[0] : undefined;
|
|
115639
115639
|
});
|
|
115640
115640
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -115674,7 +115674,7 @@ var init_metadata = __esm(() => {
|
|
|
115674
115674
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
115675
115675
|
isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
|
|
115676
115676
|
isURAiAuth: isURAISubscriber(),
|
|
115677
|
-
version: "1.
|
|
115677
|
+
version: "1.78.1",
|
|
115678
115678
|
versionBase: getVersionBase(),
|
|
115679
115679
|
buildTime: "",
|
|
115680
115680
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
@@ -116344,7 +116344,7 @@ function initialize1PEventLogging() {
|
|
|
116344
116344
|
const platform2 = getPlatform();
|
|
116345
116345
|
const attributes = {
|
|
116346
116346
|
[import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
|
|
116347
|
-
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.
|
|
116347
|
+
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.78.1"
|
|
116348
116348
|
};
|
|
116349
116349
|
if (platform2 === "wsl") {
|
|
116350
116350
|
const wslVersion = getWslVersion();
|
|
@@ -116372,7 +116372,7 @@ function initialize1PEventLogging() {
|
|
|
116372
116372
|
})
|
|
116373
116373
|
]
|
|
116374
116374
|
});
|
|
116375
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.
|
|
116375
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.78.1");
|
|
116376
116376
|
}
|
|
116377
116377
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
116378
116378
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -126154,7 +126154,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
|
|
|
126154
126154
|
function formatA2AAgentCard(options = {}, pretty = true) {
|
|
126155
126155
|
return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
|
|
126156
126156
|
}
|
|
126157
|
-
var urVersion = "1.
|
|
126157
|
+
var urVersion = "1.78.1", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
|
|
126158
126158
|
var init_trends = __esm(() => {
|
|
126159
126159
|
init_a2aCardSignature();
|
|
126160
126160
|
coverage = [
|
|
@@ -128957,7 +128957,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
128957
128957
|
if (!isAttributionHeaderEnabled()) {
|
|
128958
128958
|
return "";
|
|
128959
128959
|
}
|
|
128960
|
-
const version2 = `${"1.
|
|
128960
|
+
const version2 = `${"1.78.1"}.${fingerprint}`;
|
|
128961
128961
|
const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
|
|
128962
128962
|
const cch = "";
|
|
128963
128963
|
const workload = getWorkload();
|
|
@@ -156961,7 +156961,7 @@ var init_projectSafety = __esm(() => {
|
|
|
156961
156961
|
function getInstruments() {
|
|
156962
156962
|
if (instruments)
|
|
156963
156963
|
return instruments;
|
|
156964
|
-
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.
|
|
156964
|
+
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.78.1");
|
|
156965
156965
|
instruments = {
|
|
156966
156966
|
operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
|
|
156967
156967
|
description: "GenAI operation duration.",
|
|
@@ -157059,7 +157059,7 @@ function genAiAgentAttributes() {
|
|
|
157059
157059
|
"gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
|
|
157060
157060
|
"gen_ai.provider.name": "ur",
|
|
157061
157061
|
"gen_ai.agent.name": "UR-Nexus",
|
|
157062
|
-
"gen_ai.agent.version": "1.
|
|
157062
|
+
"gen_ai.agent.version": "1.78.1"
|
|
157063
157063
|
};
|
|
157064
157064
|
}
|
|
157065
157065
|
function genAiWorkflowAttributes(workflowName) {
|
|
@@ -157075,7 +157075,7 @@ function genAiWorkflowAttributes(workflowName) {
|
|
|
157075
157075
|
function startGenAiWorkflowSpan(workflowName) {
|
|
157076
157076
|
const attributes = genAiWorkflowAttributes(workflowName);
|
|
157077
157077
|
const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
|
|
157078
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.
|
|
157078
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.1").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
157079
157079
|
}
|
|
157080
157080
|
function endGenAiWorkflowSpan(span, options2 = {}) {
|
|
157081
157081
|
try {
|
|
@@ -157113,7 +157113,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
|
|
|
157113
157113
|
if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
|
|
157114
157114
|
attributes["gen_ai.memory.record.count"] = options2.recordCount;
|
|
157115
157115
|
}
|
|
157116
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.
|
|
157116
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.1").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
157117
157117
|
}
|
|
157118
157118
|
function endGenAiMemorySpan(span, options2 = {}) {
|
|
157119
157119
|
try {
|
|
@@ -250761,7 +250761,7 @@ function getTelemetryAttributes() {
|
|
|
250761
250761
|
attributes["session.id"] = sessionId;
|
|
250762
250762
|
}
|
|
250763
250763
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
250764
|
-
attributes["app.version"] = "1.
|
|
250764
|
+
attributes["app.version"] = "1.78.1";
|
|
250765
250765
|
}
|
|
250766
250766
|
const oauthAccount = getOauthAccountInfo();
|
|
250767
250767
|
if (oauthAccount) {
|
|
@@ -297268,7 +297268,7 @@ function getInstallationEnv() {
|
|
|
297268
297268
|
return;
|
|
297269
297269
|
}
|
|
297270
297270
|
function getURCodeVersion() {
|
|
297271
|
-
return "1.
|
|
297271
|
+
return "1.78.1";
|
|
297272
297272
|
}
|
|
297273
297273
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
297274
297274
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -304599,7 +304599,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
304599
304599
|
const client2 = new Client({
|
|
304600
304600
|
name: "ur",
|
|
304601
304601
|
title: "UR",
|
|
304602
|
-
version: "1.
|
|
304602
|
+
version: "1.78.1",
|
|
304603
304603
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
304604
304604
|
websiteUrl: PRODUCT_URL
|
|
304605
304605
|
}, {
|
|
@@ -304959,7 +304959,7 @@ var init_client5 = __esm(() => {
|
|
|
304959
304959
|
const client2 = new Client({
|
|
304960
304960
|
name: "ur",
|
|
304961
304961
|
title: "UR",
|
|
304962
|
-
version: "1.
|
|
304962
|
+
version: "1.78.1",
|
|
304963
304963
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
304964
304964
|
websiteUrl: PRODUCT_URL
|
|
304965
304965
|
}, {
|
|
@@ -308502,6 +308502,62 @@ var init_AssistantRedactedThinkingMessage = __esm(() => {
|
|
|
308502
308502
|
jsx_dev_runtime56 = __toESM(require_jsx_dev_runtime(), 1);
|
|
308503
308503
|
});
|
|
308504
308504
|
|
|
308505
|
+
// src/utils/deliberationText.ts
|
|
308506
|
+
function isStructure(paragraph2) {
|
|
308507
|
+
return /^(```|#{1,6}\s|[-*+]\s|\d+\.\s|>\s|\|)/.test(paragraph2.trim());
|
|
308508
|
+
}
|
|
308509
|
+
function isDeliberation(paragraph2) {
|
|
308510
|
+
const trimmed = paragraph2.trim();
|
|
308511
|
+
if (!trimmed)
|
|
308512
|
+
return false;
|
|
308513
|
+
if (isStructure(trimmed))
|
|
308514
|
+
return false;
|
|
308515
|
+
return DELIBERATION_OPENERS.test(trimmed) || SELF_QUESTION.test(trimmed);
|
|
308516
|
+
}
|
|
308517
|
+
function splitLeadingDeliberation(text) {
|
|
308518
|
+
const paragraphs = text.split(/\n{2,}/);
|
|
308519
|
+
if (paragraphs.length < MIN_RUN) {
|
|
308520
|
+
return { deliberation: "", visible: text };
|
|
308521
|
+
}
|
|
308522
|
+
let lastDeliberation = -1;
|
|
308523
|
+
let deliberationCount = 0;
|
|
308524
|
+
let gap = 0;
|
|
308525
|
+
for (let i3 = 0;i3 < paragraphs.length; i3++) {
|
|
308526
|
+
const paragraph2 = paragraphs[i3];
|
|
308527
|
+
if (isStructure(paragraph2))
|
|
308528
|
+
break;
|
|
308529
|
+
if (isDeliberation(paragraph2)) {
|
|
308530
|
+
lastDeliberation = i3;
|
|
308531
|
+
deliberationCount++;
|
|
308532
|
+
gap = 0;
|
|
308533
|
+
continue;
|
|
308534
|
+
}
|
|
308535
|
+
gap++;
|
|
308536
|
+
if (gap > 1)
|
|
308537
|
+
break;
|
|
308538
|
+
}
|
|
308539
|
+
if (deliberationCount < MIN_RUN || lastDeliberation < 0 || lastDeliberation >= paragraphs.length - 1) {
|
|
308540
|
+
return { deliberation: "", visible: text };
|
|
308541
|
+
}
|
|
308542
|
+
return {
|
|
308543
|
+
deliberation: paragraphs.slice(0, lastDeliberation + 1).join(`
|
|
308544
|
+
|
|
308545
|
+
`),
|
|
308546
|
+
visible: paragraphs.slice(lastDeliberation + 1).join(`
|
|
308547
|
+
|
|
308548
|
+
`)
|
|
308549
|
+
};
|
|
308550
|
+
}
|
|
308551
|
+
function describeCollapsedDeliberation(deliberation) {
|
|
308552
|
+
const count4 = deliberation.split(/\n{2,}/).filter((part) => part.trim()).length;
|
|
308553
|
+
return `*(${count4} paragraphs of reasoning collapsed)*`;
|
|
308554
|
+
}
|
|
308555
|
+
var DELIBERATION_OPENERS, SELF_QUESTION, MIN_RUN = 3;
|
|
308556
|
+
var init_deliberationText = __esm(() => {
|
|
308557
|
+
DELIBERATION_OPENERS = /^(wait|hmm+|hold on|actually|maybe|perhaps|possibly|possibility|could it be|could be|might be|what if|what about|another (thought|possibility|angle|option|idea)|let me (think|reconsider|check|see|read|inspect|look)|let's (think|consider|reconsider|say|try|look)|i (wonder|suspect|think maybe|need to see|could)|but (wait|maybe|then|actually)|unless|alternatively|on second thought|or maybe|why would|so why|is it possible|that would|if so|hmm)\b/i;
|
|
308558
|
+
SELF_QUESTION = /^[^.!]{0,160}\?\s*$/;
|
|
308559
|
+
});
|
|
308560
|
+
|
|
308505
308561
|
// src/utils/systemReminderFilter.ts
|
|
308506
308562
|
function stripSystemReminders2(text) {
|
|
308507
308563
|
if (!text)
|
|
@@ -317512,7 +317568,7 @@ async function createRuntime() {
|
|
|
317512
317568
|
bootstrapTelemetry();
|
|
317513
317569
|
const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
|
|
317514
317570
|
[import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
|
|
317515
|
-
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.
|
|
317571
|
+
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.78.1"
|
|
317516
317572
|
}));
|
|
317517
317573
|
const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
|
|
317518
317574
|
resource,
|
|
@@ -317545,11 +317601,11 @@ async function createRuntime() {
|
|
|
317545
317601
|
setMeterProvider(meterProvider);
|
|
317546
317602
|
setLoggerProvider(loggerProvider);
|
|
317547
317603
|
if (meterProvider) {
|
|
317548
|
-
const meter = meterProvider.getMeter("ur-agent", "1.
|
|
317604
|
+
const meter = meterProvider.getMeter("ur-agent", "1.78.1");
|
|
317549
317605
|
setMeter(meter, (name, options2) => meter.createCounter(name, options2));
|
|
317550
317606
|
}
|
|
317551
317607
|
if (loggerProvider) {
|
|
317552
|
-
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.
|
|
317608
|
+
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.78.1"));
|
|
317553
317609
|
}
|
|
317554
317610
|
if (!cleanupRegistered2) {
|
|
317555
317611
|
cleanupRegistered2 = true;
|
|
@@ -318211,9 +318267,9 @@ async function assertMinVersion() {
|
|
|
318211
318267
|
if (false) {}
|
|
318212
318268
|
try {
|
|
318213
318269
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
318214
|
-
if (versionConfig.minVersion && lt("1.
|
|
318270
|
+
if (versionConfig.minVersion && lt("1.78.1", versionConfig.minVersion)) {
|
|
318215
318271
|
console.error(`
|
|
318216
|
-
It looks like your version of UR (${"1.
|
|
318272
|
+
It looks like your version of UR (${"1.78.1"}) needs an update.
|
|
318217
318273
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
318218
318274
|
|
|
318219
318275
|
To update, please run:
|
|
@@ -318429,7 +318485,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
318429
318485
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
318430
318486
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
318431
318487
|
pid: process.pid,
|
|
318432
|
-
currentVersion: "1.
|
|
318488
|
+
currentVersion: "1.78.1"
|
|
318433
318489
|
});
|
|
318434
318490
|
return "in_progress";
|
|
318435
318491
|
}
|
|
@@ -318438,7 +318494,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
318438
318494
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
318439
318495
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
318440
318496
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
318441
|
-
currentVersion: "1.
|
|
318497
|
+
currentVersion: "1.78.1"
|
|
318442
318498
|
});
|
|
318443
318499
|
console.error(`
|
|
318444
318500
|
Error: Windows NPM detected in WSL
|
|
@@ -318973,7 +319029,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
318973
319029
|
}
|
|
318974
319030
|
async function getDoctorDiagnostic() {
|
|
318975
319031
|
const installationType = await getCurrentInstallationType();
|
|
318976
|
-
const version2 = typeof MACRO !== "undefined" ? "1.
|
|
319032
|
+
const version2 = typeof MACRO !== "undefined" ? "1.78.1" : "unknown";
|
|
318977
319033
|
const installationPath = await getInstallationPath();
|
|
318978
319034
|
const invokedBinary = getInvokedBinary();
|
|
318979
319035
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -319908,8 +319964,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
319908
319964
|
const maxVersion = await getMaxVersion();
|
|
319909
319965
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
319910
319966
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
319911
|
-
if (gte("1.
|
|
319912
|
-
logForDebugging(`Native installer: current version ${"1.
|
|
319967
|
+
if (gte("1.78.1", maxVersion)) {
|
|
319968
|
+
logForDebugging(`Native installer: current version ${"1.78.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
319913
319969
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
319914
319970
|
latency_ms: Date.now() - startTime,
|
|
319915
319971
|
max_version: maxVersion,
|
|
@@ -319920,7 +319976,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
319920
319976
|
version2 = maxVersion;
|
|
319921
319977
|
}
|
|
319922
319978
|
}
|
|
319923
|
-
if (!forceReinstall && version2 === "1.
|
|
319979
|
+
if (!forceReinstall && version2 === "1.78.1" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
|
|
319924
319980
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
319925
319981
|
logEvent("tengu_native_update_complete", {
|
|
319926
319982
|
latency_ms: Date.now() - startTime,
|
|
@@ -330863,7 +330919,11 @@ function AssistantTextMessage(t0) {
|
|
|
330863
330919
|
const {
|
|
330864
330920
|
text: rawText
|
|
330865
330921
|
} = t1;
|
|
330866
|
-
const
|
|
330922
|
+
const strippedText = stripSystemReminders2(rawText);
|
|
330923
|
+
const split = verbose ? null : splitLeadingDeliberation(strippedText);
|
|
330924
|
+
const text = split && split.deliberation ? `${describeCollapsedDeliberation(split.deliberation)}
|
|
330925
|
+
|
|
330926
|
+
${split.visible}` : strippedText;
|
|
330867
330927
|
const isSelected = import_react65.useContext(MessageActionsSelectedContext);
|
|
330868
330928
|
if (isEmptyMessageText(text)) {
|
|
330869
330929
|
return null;
|
|
@@ -331182,6 +331242,7 @@ var init_AssistantTextMessage = __esm(() => {
|
|
|
331182
331242
|
init_ink2();
|
|
331183
331243
|
init_errors6();
|
|
331184
331244
|
init_messages();
|
|
331245
|
+
init_deliberationText();
|
|
331185
331246
|
init_systemReminderFilter();
|
|
331186
331247
|
init_contextWindowUpgradeCheck();
|
|
331187
331248
|
init_model();
|
|
@@ -368484,6 +368545,7 @@ var init_UI12 = __esm(() => {
|
|
|
368484
368545
|
import { extname as extname13, isAbsolute as isAbsolute28, resolve as resolve37 } from "path";
|
|
368485
368546
|
var inputSchema16, outputSchema13, NotebookEditTool;
|
|
368486
368547
|
var init_NotebookEditTool = __esm(() => {
|
|
368548
|
+
init_LSPDiagnosticRegistry();
|
|
368487
368549
|
init_fileHistory();
|
|
368488
368550
|
init_v4();
|
|
368489
368551
|
init_Tool();
|
|
@@ -368784,6 +368846,7 @@ var init_NotebookEditTool = __esm(() => {
|
|
|
368784
368846
|
const IPYNB_INDENT = 1;
|
|
368785
368847
|
const updatedContent = jsonStringify(notebook, null, IPYNB_INDENT);
|
|
368786
368848
|
writeTextContent(fullPath, updatedContent, encoding, lineEndings);
|
|
368849
|
+
clearDeliveredDiagnosticsForFile(`file://${fullPath}`);
|
|
368787
368850
|
readFileState.set(fullPath, {
|
|
368788
368851
|
content: updatedContent,
|
|
368789
368852
|
timestamp: getFileModificationTime(fullPath),
|
|
@@ -387050,6 +387113,7 @@ Exit code 1`,
|
|
|
387050
387113
|
const endings = detectLineEndings(absoluteFilePath);
|
|
387051
387114
|
writeTextContent(absoluteFilePath, newContent, encoding, endings);
|
|
387052
387115
|
notifyVscodeFileUpdated(absoluteFilePath, originalContent, newContent);
|
|
387116
|
+
clearDeliveredDiagnosticsForFile(`file://${absoluteFilePath}`);
|
|
387053
387117
|
toolUseContext.readFileState.set(absoluteFilePath, {
|
|
387054
387118
|
content: newContent,
|
|
387055
387119
|
timestamp: getFileModificationTime(absoluteFilePath),
|
|
@@ -387327,6 +387391,7 @@ var init_BashTool = __esm(() => {
|
|
|
387327
387391
|
init_readOnlyValidation();
|
|
387328
387392
|
init_sedEditParser();
|
|
387329
387393
|
init_shouldUseSandbox();
|
|
387394
|
+
init_LSPDiagnosticRegistry();
|
|
387330
387395
|
init_UI6();
|
|
387331
387396
|
init_utils9();
|
|
387332
387397
|
jsx_dev_runtime154 = __toESM(require_jsx_dev_runtime(), 1);
|
|
@@ -389630,7 +389695,7 @@ function isAnyTracingEnabled() {
|
|
|
389630
389695
|
return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
|
|
389631
389696
|
}
|
|
389632
389697
|
function getTracer() {
|
|
389633
|
-
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.
|
|
389698
|
+
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.78.1");
|
|
389634
389699
|
}
|
|
389635
389700
|
function createSpanAttributes(spanType, customAttributes = {}) {
|
|
389636
389701
|
const baseAttributes = getTelemetryAttributes();
|
|
@@ -398138,7 +398203,6 @@ var init_sessionMemoryCompact = __esm(() => {
|
|
|
398138
398203
|
|
|
398139
398204
|
// src/services/compact/autoCompact.ts
|
|
398140
398205
|
function getEffectiveContextWindowSize(model) {
|
|
398141
|
-
const reservedTokensForSummary = Math.min(getMaxOutputTokensForModel(model), MAX_OUTPUT_TOKENS_FOR_SUMMARY);
|
|
398142
398206
|
let contextWindow = getContextWindowForModel(model, getSdkBetas());
|
|
398143
398207
|
const autoCompactWindow = process.env.UR_CODE_AUTO_COMPACT_WINDOW;
|
|
398144
398208
|
if (autoCompactWindow) {
|
|
@@ -398147,7 +398211,8 @@ function getEffectiveContextWindowSize(model) {
|
|
|
398147
398211
|
contextWindow = Math.min(contextWindow, parsed);
|
|
398148
398212
|
}
|
|
398149
398213
|
}
|
|
398150
|
-
|
|
398214
|
+
const reservedTokensForSummary = Math.min(getMaxOutputTokensForModel(model), MAX_OUTPUT_TOKENS_FOR_SUMMARY, Math.floor(contextWindow * MAX_SUMMARY_RESERVE_SHARE));
|
|
398215
|
+
return Math.max(contextWindow - reservedTokensForSummary, 1);
|
|
398151
398216
|
}
|
|
398152
398217
|
function getAutoCompactThreshold(model) {
|
|
398153
398218
|
const effectiveContextWindow = getEffectiveContextWindowSize(model);
|
|
@@ -398268,7 +398333,7 @@ async function autoCompactIfNeeded(messages, toolUseContext, cacheSafeParams, qu
|
|
|
398268
398333
|
return { wasCompacted: false, consecutiveFailures: nextFailures };
|
|
398269
398334
|
}
|
|
398270
398335
|
}
|
|
398271
|
-
var MAX_OUTPUT_TOKENS_FOR_SUMMARY = 20000, AUTOCOMPACT_BUFFER_TOKENS = 13000, WARNING_THRESHOLD_BUFFER_TOKENS = 20000, ERROR_THRESHOLD_BUFFER_TOKENS = 20000, MANUAL_COMPACT_BUFFER_TOKENS = 3000, MAX_CONSECUTIVE_AUTOCOMPACT_FAILURES = 3;
|
|
398336
|
+
var MAX_OUTPUT_TOKENS_FOR_SUMMARY = 20000, MAX_SUMMARY_RESERVE_SHARE = 0.2, AUTOCOMPACT_BUFFER_TOKENS = 13000, WARNING_THRESHOLD_BUFFER_TOKENS = 20000, ERROR_THRESHOLD_BUFFER_TOKENS = 20000, MANUAL_COMPACT_BUFFER_TOKENS = 3000, MAX_CONSECUTIVE_AUTOCOMPACT_FAILURES = 3;
|
|
398272
398337
|
var init_autoCompact = __esm(() => {
|
|
398273
398338
|
init_state();
|
|
398274
398339
|
init_state();
|
|
@@ -419852,7 +419917,7 @@ function Feedback({
|
|
|
419852
419917
|
platform: env2.platform,
|
|
419853
419918
|
gitRepo: envInfo.isGit,
|
|
419854
419919
|
terminal: env2.terminal,
|
|
419855
|
-
version: "1.
|
|
419920
|
+
version: "1.78.1",
|
|
419856
419921
|
transcript: normalizeMessagesForAPI(messages),
|
|
419857
419922
|
errors: sanitizedErrors,
|
|
419858
419923
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -420044,7 +420109,7 @@ function Feedback({
|
|
|
420044
420109
|
", ",
|
|
420045
420110
|
env2.terminal,
|
|
420046
420111
|
", v",
|
|
420047
|
-
"1.
|
|
420112
|
+
"1.78.1"
|
|
420048
420113
|
]
|
|
420049
420114
|
}, undefined, true, undefined, this)
|
|
420050
420115
|
]
|
|
@@ -420150,7 +420215,7 @@ ${sanitizedDescription}
|
|
|
420150
420215
|
` + `**Environment Info**
|
|
420151
420216
|
` + `- Platform: ${env2.platform}
|
|
420152
420217
|
` + `- Terminal: ${env2.terminal}
|
|
420153
|
-
` + `- Version: ${"1.
|
|
420218
|
+
` + `- Version: ${"1.78.1"}
|
|
420154
420219
|
` + `- Feedback ID: ${feedbackId}
|
|
420155
420220
|
` + `
|
|
420156
420221
|
**Errors**
|
|
@@ -423260,7 +423325,7 @@ function buildPrimarySection() {
|
|
|
423260
423325
|
}, undefined, false, undefined, this);
|
|
423261
423326
|
return [{
|
|
423262
423327
|
label: "Version",
|
|
423263
|
-
value: "1.
|
|
423328
|
+
value: "1.78.1"
|
|
423264
423329
|
}, {
|
|
423265
423330
|
label: "Session name",
|
|
423266
423331
|
value: nameValue
|
|
@@ -426642,7 +426707,7 @@ function Config({
|
|
|
426642
426707
|
}
|
|
426643
426708
|
}, undefined, false, undefined, this)
|
|
426644
426709
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
|
|
426645
|
-
currentVersion: "1.
|
|
426710
|
+
currentVersion: "1.78.1",
|
|
426646
426711
|
onChoice: (choice) => {
|
|
426647
426712
|
setShowSubmenu(null);
|
|
426648
426713
|
setTabsHidden(false);
|
|
@@ -426654,7 +426719,7 @@ function Config({
|
|
|
426654
426719
|
autoUpdatesChannel: "stable"
|
|
426655
426720
|
};
|
|
426656
426721
|
if (choice === "stay") {
|
|
426657
|
-
newSettings.minimumVersion = "1.
|
|
426722
|
+
newSettings.minimumVersion = "1.78.1";
|
|
426658
426723
|
}
|
|
426659
426724
|
updateSettingsForSource("userSettings", newSettings);
|
|
426660
426725
|
setSettingsData((prev_27) => ({
|
|
@@ -434718,7 +434783,7 @@ function HelpV2(t0) {
|
|
|
434718
434783
|
let t6;
|
|
434719
434784
|
if ($2[31] !== tabs) {
|
|
434720
434785
|
t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
|
|
434721
|
-
title: `UR v${"1.
|
|
434786
|
+
title: `UR v${"1.78.1"}`,
|
|
434722
434787
|
color: "professionalBlue",
|
|
434723
434788
|
defaultTab: "general",
|
|
434724
434789
|
children: tabs
|
|
@@ -435651,7 +435716,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
|
|
|
435651
435716
|
async function handleInitialize(options2) {
|
|
435652
435717
|
return {
|
|
435653
435718
|
name: "UR",
|
|
435654
|
-
version: "1.
|
|
435719
|
+
version: "1.78.1",
|
|
435655
435720
|
protocolVersion: "0.1.0",
|
|
435656
435721
|
workspaceRoot: options2.cwd,
|
|
435657
435722
|
capabilities: {
|
|
@@ -452759,7 +452824,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
452759
452824
|
return [];
|
|
452760
452825
|
}
|
|
452761
452826
|
}
|
|
452762
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.
|
|
452827
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.78.1") {
|
|
452763
452828
|
if (process.env.USER_TYPE === "ant") {
|
|
452764
452829
|
const changelog = "";
|
|
452765
452830
|
if (changelog) {
|
|
@@ -452786,7 +452851,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.8")
|
|
|
452786
452851
|
releaseNotes
|
|
452787
452852
|
};
|
|
452788
452853
|
}
|
|
452789
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.
|
|
452854
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.78.1") {
|
|
452790
452855
|
if (process.env.USER_TYPE === "ant") {
|
|
452791
452856
|
const changelog = "";
|
|
452792
452857
|
if (changelog) {
|
|
@@ -455652,7 +455717,7 @@ function getRecentActivitySync() {
|
|
|
455652
455717
|
return cachedActivity;
|
|
455653
455718
|
}
|
|
455654
455719
|
function getLogoDisplayData() {
|
|
455655
|
-
const version2 = process.env.DEMO_VERSION ?? "1.
|
|
455720
|
+
const version2 = process.env.DEMO_VERSION ?? "1.78.1";
|
|
455656
455721
|
const serverUrl = getDirectConnectServerUrl();
|
|
455657
455722
|
const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
|
|
455658
455723
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -456519,7 +456584,7 @@ function LogoV2() {
|
|
|
456519
456584
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
456520
456585
|
t2 = () => {
|
|
456521
456586
|
const currentConfig2 = getGlobalConfig();
|
|
456522
|
-
if (currentConfig2.lastReleaseNotesSeen === "1.
|
|
456587
|
+
if (currentConfig2.lastReleaseNotesSeen === "1.78.1") {
|
|
456523
456588
|
return;
|
|
456524
456589
|
}
|
|
456525
456590
|
saveGlobalConfig(_temp325);
|
|
@@ -457204,12 +457269,12 @@ function LogoV2() {
|
|
|
457204
457269
|
return t41;
|
|
457205
457270
|
}
|
|
457206
457271
|
function _temp325(current) {
|
|
457207
|
-
if (current.lastReleaseNotesSeen === "1.
|
|
457272
|
+
if (current.lastReleaseNotesSeen === "1.78.1") {
|
|
457208
457273
|
return current;
|
|
457209
457274
|
}
|
|
457210
457275
|
return {
|
|
457211
457276
|
...current,
|
|
457212
|
-
lastReleaseNotesSeen: "1.
|
|
457277
|
+
lastReleaseNotesSeen: "1.78.1"
|
|
457213
457278
|
};
|
|
457214
457279
|
}
|
|
457215
457280
|
function _temp241(s_0) {
|
|
@@ -474023,7 +474088,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
|
|
|
474023
474088
|
if (spec.name !== specName) {
|
|
474024
474089
|
throw new Error("Agentic CI workflow spec name does not match");
|
|
474025
474090
|
}
|
|
474026
|
-
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.
|
|
474091
|
+
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.78.1" : "1.78.1");
|
|
474027
474092
|
if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
|
|
474028
474093
|
throw new Error("invalid ur-agent package version");
|
|
474029
474094
|
}
|
|
@@ -475016,7 +475081,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
|
|
|
475016
475081
|
path: ".github/workflows/ur.yml",
|
|
475017
475082
|
root: "project",
|
|
475018
475083
|
content: compileAgenticCiWorkflow("default", {
|
|
475019
|
-
packageVersion: typeof MACRO !== "undefined" ? "1.
|
|
475084
|
+
packageVersion: typeof MACRO !== "undefined" ? "1.78.1" : "1.78.1"
|
|
475020
475085
|
})
|
|
475021
475086
|
},
|
|
475022
475087
|
{
|
|
@@ -475079,7 +475144,7 @@ function value(tokens, flag) {
|
|
|
475079
475144
|
return index2 >= 0 ? tokens[index2 + 1] : undefined;
|
|
475080
475145
|
}
|
|
475081
475146
|
function cliVersion() {
|
|
475082
|
-
return typeof MACRO !== "undefined" ? "1.
|
|
475147
|
+
return typeof MACRO !== "undefined" ? "1.78.1" : "1.78.1";
|
|
475083
475148
|
}
|
|
475084
475149
|
function workflowPath(cwd2) {
|
|
475085
475150
|
return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
|
|
@@ -480935,7 +481000,7 @@ function createAcpStdioApp(deps) {
|
|
|
480935
481000
|
}
|
|
480936
481001
|
},
|
|
480937
481002
|
authMethods: [],
|
|
480938
|
-
agentInfo: { name: "UR-Nexus", version: "1.
|
|
481003
|
+
agentInfo: { name: "UR-Nexus", version: "1.78.1" }
|
|
480939
481004
|
})).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
|
|
480940
481005
|
const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
|
|
480941
481006
|
await runtime2.announce({
|
|
@@ -481032,7 +481097,7 @@ function createAcpStdioAgent(deps) {
|
|
|
481032
481097
|
}
|
|
481033
481098
|
},
|
|
481034
481099
|
authMethods: [],
|
|
481035
|
-
agentInfo: { name: "UR-Nexus", version: "1.
|
|
481100
|
+
agentInfo: { name: "UR-Nexus", version: "1.78.1" }
|
|
481036
481101
|
});
|
|
481037
481102
|
return;
|
|
481038
481103
|
case "authenticate":
|
|
@@ -690492,7 +690557,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
|
|
|
690492
690557
|
smapsRollup,
|
|
690493
690558
|
platform: process.platform,
|
|
690494
690559
|
nodeVersion: process.version,
|
|
690495
|
-
ccVersion: "1.
|
|
690560
|
+
ccVersion: "1.78.1"
|
|
690496
690561
|
};
|
|
690497
690562
|
}
|
|
690498
690563
|
async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
|
|
@@ -691072,7 +691137,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
691072
691137
|
var call154 = async () => {
|
|
691073
691138
|
return {
|
|
691074
691139
|
type: "text",
|
|
691075
|
-
value: "1.
|
|
691140
|
+
value: "1.78.1"
|
|
691076
691141
|
};
|
|
691077
691142
|
}, version2, version_default;
|
|
691078
691143
|
var init_version = __esm(() => {
|
|
@@ -702339,7 +702404,7 @@ function generateHtmlReport(data, insights) {
|
|
|
702339
702404
|
</html>`;
|
|
702340
702405
|
}
|
|
702341
702406
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
702342
|
-
const version3 = typeof MACRO !== "undefined" ? "1.
|
|
702407
|
+
const version3 = typeof MACRO !== "undefined" ? "1.78.1" : "unknown";
|
|
702343
702408
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
702344
702409
|
const facets_summary = {
|
|
702345
702410
|
total: facets.size,
|
|
@@ -706653,7 +706718,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
706653
706718
|
init_settings2();
|
|
706654
706719
|
init_slowOperations();
|
|
706655
706720
|
init_uuid();
|
|
706656
|
-
VERSION7 = typeof MACRO !== "undefined" ? "1.
|
|
706721
|
+
VERSION7 = typeof MACRO !== "undefined" ? "1.78.1" : "unknown";
|
|
706657
706722
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
706658
706723
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
706659
706724
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -707868,7 +707933,7 @@ var init_filesystem = __esm(() => {
|
|
|
707868
707933
|
});
|
|
707869
707934
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
707870
707935
|
const nonce = randomBytes20(16).toString("hex");
|
|
707871
|
-
return join232(getURTempDir(), "bundled-skills", "1.
|
|
707936
|
+
return join232(getURTempDir(), "bundled-skills", "1.78.1", nonce);
|
|
707872
707937
|
});
|
|
707873
707938
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
707874
707939
|
});
|
|
@@ -714225,7 +714290,7 @@ function computeFingerprint(messageText2, version3) {
|
|
|
714225
714290
|
}
|
|
714226
714291
|
function computeFingerprintFromMessages(messages) {
|
|
714227
714292
|
const firstMessageText = extractFirstMessageText(messages);
|
|
714228
|
-
return computeFingerprint(firstMessageText, "1.
|
|
714293
|
+
return computeFingerprint(firstMessageText, "1.78.1");
|
|
714229
714294
|
}
|
|
714230
714295
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
714231
714296
|
var init_fingerprint = () => {};
|
|
@@ -716147,7 +716212,7 @@ async function sideQuery(opts) {
|
|
|
716147
716212
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
716148
716213
|
}
|
|
716149
716214
|
const messageText2 = extractFirstUserMessageText(messages);
|
|
716150
|
-
const fingerprint2 = computeFingerprint(messageText2, "1.
|
|
716215
|
+
const fingerprint2 = computeFingerprint(messageText2, "1.78.1");
|
|
716151
716216
|
const attributionHeader = getAttributionHeader(fingerprint2);
|
|
716152
716217
|
const systemBlocks = [
|
|
716153
716218
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -720984,7 +721049,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
720984
721049
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
720985
721050
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
720986
721051
|
betas: getSdkBetas(),
|
|
720987
|
-
ur_version: "1.
|
|
721052
|
+
ur_version: "1.78.1",
|
|
720988
721053
|
output_style: outputStyle2,
|
|
720989
721054
|
agents: inputs.agents.map((agent2) => agent2.agentType),
|
|
720990
721055
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
|
|
@@ -734856,7 +734921,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
734856
734921
|
function getSemverPart(version3) {
|
|
734857
734922
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
734858
734923
|
}
|
|
734859
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.
|
|
734924
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.78.1") {
|
|
734860
734925
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react223.useState(() => getSemverPart(initialVersion));
|
|
734861
734926
|
if (!updatedVersion) {
|
|
734862
734927
|
return null;
|
|
@@ -734905,7 +734970,7 @@ function AutoUpdater({
|
|
|
734905
734970
|
return;
|
|
734906
734971
|
}
|
|
734907
734972
|
if (false) {}
|
|
734908
|
-
const currentVersion = "1.
|
|
734973
|
+
const currentVersion = "1.78.1";
|
|
734909
734974
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
734910
734975
|
let latestVersion = await getLatestVersion(channel);
|
|
734911
734976
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -735134,12 +735199,12 @@ function NativeAutoUpdater({
|
|
|
735134
735199
|
logEvent("tengu_native_auto_updater_start", {});
|
|
735135
735200
|
try {
|
|
735136
735201
|
const maxVersion = await getMaxVersion();
|
|
735137
|
-
if (maxVersion && gt("1.
|
|
735202
|
+
if (maxVersion && gt("1.78.1", maxVersion)) {
|
|
735138
735203
|
const msg = await getMaxVersionMessage();
|
|
735139
735204
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
735140
735205
|
}
|
|
735141
735206
|
const result = await installLatest(channel);
|
|
735142
|
-
const currentVersion = "1.
|
|
735207
|
+
const currentVersion = "1.78.1";
|
|
735143
735208
|
const latencyMs = Date.now() - startTime;
|
|
735144
735209
|
if (result.lockFailed) {
|
|
735145
735210
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -735276,17 +735341,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
735276
735341
|
const maxVersion = await getMaxVersion();
|
|
735277
735342
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
735278
735343
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
735279
|
-
if (gte("1.
|
|
735280
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.
|
|
735344
|
+
if (gte("1.78.1", maxVersion)) {
|
|
735345
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.78.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
735281
735346
|
setUpdateAvailable(false);
|
|
735282
735347
|
return;
|
|
735283
735348
|
}
|
|
735284
735349
|
latest = maxVersion;
|
|
735285
735350
|
}
|
|
735286
|
-
const hasUpdate = latest && !gte("1.
|
|
735351
|
+
const hasUpdate = latest && !gte("1.78.1", latest) && !shouldSkipVersion(latest);
|
|
735287
735352
|
setUpdateAvailable(!!hasUpdate);
|
|
735288
735353
|
if (hasUpdate) {
|
|
735289
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.
|
|
735354
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.78.1"} -> ${latest}`);
|
|
735290
735355
|
}
|
|
735291
735356
|
};
|
|
735292
735357
|
$2[0] = t1;
|
|
@@ -735320,7 +735385,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
735320
735385
|
wrap: "truncate",
|
|
735321
735386
|
children: [
|
|
735322
735387
|
"currentVersion: ",
|
|
735323
|
-
"1.
|
|
735388
|
+
"1.78.1"
|
|
735324
735389
|
]
|
|
735325
735390
|
}, undefined, true, undefined, this);
|
|
735326
735391
|
$2[3] = verbose;
|
|
@@ -746120,7 +746185,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
746120
746185
|
project_dir: getOriginalCwd(),
|
|
746121
746186
|
added_dirs: addedDirs
|
|
746122
746187
|
},
|
|
746123
|
-
version: "1.
|
|
746188
|
+
version: "1.78.1",
|
|
746124
746189
|
output_style: {
|
|
746125
746190
|
name: outputStyleName
|
|
746126
746191
|
},
|
|
@@ -746255,7 +746320,7 @@ function StatusLineInner({
|
|
|
746255
746320
|
const attention = customStatusError ?? taskAttention;
|
|
746256
746321
|
const terminalSize = React132.useContext(TerminalSizeContext);
|
|
746257
746322
|
const defaultStatusLineText = buildDefaultStatusBar({
|
|
746258
|
-
version: "1.
|
|
746323
|
+
version: "1.78.1",
|
|
746259
746324
|
providerLabel: providerRuntime.providerLabel,
|
|
746260
746325
|
authMode: providerRuntime.authLabel,
|
|
746261
746326
|
model: renderModelName(mainLoopModel) || providerRuntime.model || "",
|
|
@@ -758540,7 +758605,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
|
|
|
758540
758605
|
} catch {}
|
|
758541
758606
|
const data = {
|
|
758542
758607
|
trigger: trigger2,
|
|
758543
|
-
version: "1.
|
|
758608
|
+
version: "1.78.1",
|
|
758544
758609
|
platform: process.platform,
|
|
758545
758610
|
transcript,
|
|
758546
758611
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -770914,7 +770979,7 @@ function WelcomeV2() {
|
|
|
770914
770979
|
dimColor: true,
|
|
770915
770980
|
children: [
|
|
770916
770981
|
"v",
|
|
770917
|
-
"1.
|
|
770982
|
+
"1.78.1"
|
|
770918
770983
|
]
|
|
770919
770984
|
}, undefined, true, undefined, this)
|
|
770920
770985
|
]
|
|
@@ -772174,7 +772239,7 @@ function completeOnboarding() {
|
|
|
772174
772239
|
saveGlobalConfig((current) => ({
|
|
772175
772240
|
...current,
|
|
772176
772241
|
hasCompletedOnboarding: true,
|
|
772177
|
-
lastOnboardingVersion: "1.
|
|
772242
|
+
lastOnboardingVersion: "1.78.1"
|
|
772178
772243
|
}));
|
|
772179
772244
|
}
|
|
772180
772245
|
function showDialog(root2, renderer) {
|
|
@@ -777218,7 +777283,7 @@ function appendToLog(path24, message) {
|
|
|
777218
777283
|
cwd: getFsImplementation().cwd(),
|
|
777219
777284
|
userType: process.env.USER_TYPE,
|
|
777220
777285
|
sessionId: getSessionId(),
|
|
777221
|
-
version: "1.
|
|
777286
|
+
version: "1.78.1"
|
|
777222
777287
|
};
|
|
777223
777288
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
777224
777289
|
}
|
|
@@ -781377,8 +781442,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
781377
781442
|
}
|
|
781378
781443
|
async function checkEnvLessBridgeMinVersion() {
|
|
781379
781444
|
const cfg = await getEnvLessBridgeConfig();
|
|
781380
|
-
if (cfg.min_version && lt("1.
|
|
781381
|
-
return `Your version of UR (${"1.
|
|
781445
|
+
if (cfg.min_version && lt("1.78.1", cfg.min_version)) {
|
|
781446
|
+
return `Your version of UR (${"1.78.1"}) is too old for Remote Control.
|
|
781382
781447
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
781383
781448
|
}
|
|
781384
781449
|
return null;
|
|
@@ -781852,7 +781917,7 @@ async function initBridgeCore(params) {
|
|
|
781852
781917
|
const rawApi = createBridgeApiClient({
|
|
781853
781918
|
baseUrl,
|
|
781854
781919
|
getAccessToken,
|
|
781855
|
-
runnerVersion: "1.
|
|
781920
|
+
runnerVersion: "1.78.1",
|
|
781856
781921
|
onDebug: logForDebugging,
|
|
781857
781922
|
onAuth401,
|
|
781858
781923
|
getTrustedDeviceToken
|
|
@@ -791325,7 +791390,7 @@ function getAgUiCapabilities() {
|
|
|
791325
791390
|
name: "UR-Nexus",
|
|
791326
791391
|
type: "ur-nexus",
|
|
791327
791392
|
description: "Provider-flexible, local-first autonomous engineering workflow agent.",
|
|
791328
|
-
version: "1.
|
|
791393
|
+
version: "1.78.1",
|
|
791329
791394
|
provider: "UR",
|
|
791330
791395
|
documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
|
|
791331
791396
|
},
|
|
@@ -792465,7 +792530,7 @@ function createMCPServer(cwd4, debug2, verbose) {
|
|
|
792465
792530
|
};
|
|
792466
792531
|
const server2 = new Server({
|
|
792467
792532
|
name: "ur-nexus",
|
|
792468
|
-
version: "1.
|
|
792533
|
+
version: "1.78.1"
|
|
792469
792534
|
}, {
|
|
792470
792535
|
capabilities: {
|
|
792471
792536
|
tools: {}
|
|
@@ -793623,7 +793688,7 @@ function thrownResponse(error40) {
|
|
|
793623
793688
|
}
|
|
793624
793689
|
async function createUrMcp2026Runtime(options4) {
|
|
793625
793690
|
const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
|
|
793626
|
-
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.
|
|
793691
|
+
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.78.1" }, { capabilities: {} });
|
|
793627
793692
|
const [clientTransport, serverTransport] = createLinkedTransportPair();
|
|
793628
793693
|
try {
|
|
793629
793694
|
await server2.connect(serverTransport);
|
|
@@ -793634,7 +793699,7 @@ async function createUrMcp2026Runtime(options4) {
|
|
|
793634
793699
|
}
|
|
793635
793700
|
const runtime2 = new Mcp2026Runtime({
|
|
793636
793701
|
cwd: options4.cwd,
|
|
793637
|
-
version: "1.
|
|
793702
|
+
version: "1.78.1",
|
|
793638
793703
|
backend: {
|
|
793639
793704
|
listTools: async () => {
|
|
793640
793705
|
const listed = await client2.listTools();
|
|
@@ -795775,7 +795840,7 @@ async function update() {
|
|
|
795775
795840
|
logEvent("tengu_update_check", {});
|
|
795776
795841
|
const diagnostic2 = await getDoctorDiagnostic();
|
|
795777
795842
|
const result = await checkUpgradeStatus({
|
|
795778
|
-
currentVersion: "1.
|
|
795843
|
+
currentVersion: "1.78.1",
|
|
795779
795844
|
packageName: UR_AGENT_PACKAGE_NAME,
|
|
795780
795845
|
installationType: diagnostic2.installationType,
|
|
795781
795846
|
latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
|
|
@@ -797091,7 +797156,7 @@ ${customInstructions}` : customInstructions;
|
|
|
797091
797156
|
}
|
|
797092
797157
|
}
|
|
797093
797158
|
logForDiagnosticsNoPII("info", "started", {
|
|
797094
|
-
version: "1.
|
|
797159
|
+
version: "1.78.1",
|
|
797095
797160
|
is_native_binary: isInBundledMode()
|
|
797096
797161
|
});
|
|
797097
797162
|
registerCleanup(async () => {
|
|
@@ -797877,7 +797942,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
797877
797942
|
pendingHookMessages
|
|
797878
797943
|
}, renderAndRun);
|
|
797879
797944
|
}
|
|
797880
|
-
}).version("1.
|
|
797945
|
+
}).version("1.78.1 (UR-Nexus)", "-v, --version", "Output the version number");
|
|
797881
797946
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
797882
797947
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
797883
797948
|
if (canUserConfigureAdvisor()) {
|
|
@@ -798929,7 +798994,7 @@ if (false) {}
|
|
|
798929
798994
|
async function main2() {
|
|
798930
798995
|
const args = process.argv.slice(2);
|
|
798931
798996
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
798932
|
-
console.log(`${"1.
|
|
798997
|
+
console.log(`${"1.78.1"} (UR-Nexus)`);
|
|
798933
798998
|
return;
|
|
798934
798999
|
}
|
|
798935
799000
|
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.
|
|
48
|
+
<p class="eyebrow">Version 1.78.1</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.
|
|
5
|
+
"version": "1.78.1",
|
|
6
6
|
"publisher": "ur-nexus",
|
|
7
7
|
"engines": {
|
|
8
8
|
"vscode": "^1.92.0"
|
package/package.json
CHANGED