ur-agent 1.77.7 → 1.78.0
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,43 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.77.9
|
|
4
|
+
|
|
5
|
+
- Leaked deliberation is collapsed out of the visible transcript. Models
|
|
6
|
+
without a separate thinking channel emit their reasoning as ordinary
|
|
7
|
+
assistant text — paragraph after paragraph of "Wait", "Maybe", "Another
|
|
8
|
+
possibility", each revising the last, before any conclusion. Two rounds of
|
|
9
|
+
prompt guidance did not hold, so this is handled deterministically instead: a
|
|
10
|
+
leading run of deliberation is replaced by a one-line note saying how many
|
|
11
|
+
paragraphs were hidden.
|
|
12
|
+
- Display only. Nothing is deleted and nothing changes on the wire — the
|
|
13
|
+
transcript, the session file, and the next request all carry the text
|
|
14
|
+
unchanged, and `--verbose` shows everything. Synthesizing a `thinking` block
|
|
15
|
+
would have been the natural home for it, but an unsigned one causes an API
|
|
16
|
+
400 on the following turn.
|
|
17
|
+
- The collapse is deliberately conservative: it needs several deliberation
|
|
18
|
+
paragraphs, tolerates one bridging sentence between them but not two, always
|
|
19
|
+
stops before a code fence, list, heading, or quote, never hides the
|
|
20
|
+
conclusion that follows, and leaves a turn that is *entirely* deliberation
|
|
21
|
+
untouched rather than rendering it blank.
|
|
22
|
+
|
|
23
|
+
## 1.77.8
|
|
24
|
+
|
|
25
|
+
- Auto-compact works again on every provider except the first-party one, where
|
|
26
|
+
it was the only place it had ever worked. `getModelCapability` is gated to a
|
|
27
|
+
first-party runtime, so every third-party model — OpenRouter, OpenAI-
|
|
28
|
+
compatible, LM Studio, vLLM, llama.cpp, and the API providers — fell through
|
|
29
|
+
to a flat 200,000-token window regardless of its real size. A 128K or 32K
|
|
30
|
+
model therefore never reached the compaction threshold before the provider
|
|
31
|
+
rejected the request, which is the "Context limit reached · /compact or
|
|
32
|
+
/clear to continue" that replaced the automatic compaction; a 1M model
|
|
33
|
+
compacted long before it needed to.
|
|
34
|
+
- The window each provider reported during model discovery is now used.
|
|
35
|
+
Discovery already captured it and the model picker already displayed it —
|
|
36
|
+
only the compaction math never read it. A model the provider reported no
|
|
37
|
+
window for, or reported a nonsense one for, still falls back to the default
|
|
38
|
+
rather than trusting the value. The lookup reads the discovery cache only, so
|
|
39
|
+
it adds no request to the per-turn path.
|
|
40
|
+
|
|
3
41
|
## 1.77.7
|
|
4
42
|
|
|
5
43
|
- A missing identifier now names what exists, instead of inviting another
|
package/dist/cli.js
CHANGED
|
@@ -53738,6 +53738,7 @@ __export(exports_providerRegistry, {
|
|
|
53738
53738
|
getProviderRuntimeBackend: () => getProviderRuntimeBackend,
|
|
53739
53739
|
getProviderFamily: () => getProviderFamily,
|
|
53740
53740
|
getProviderDefinition: () => getProviderDefinition,
|
|
53741
|
+
getProviderContextLengthForModel: () => getProviderContextLengthForModel,
|
|
53741
53742
|
getProviderAccessTypeLabel: () => getProviderAccessTypeLabel,
|
|
53742
53743
|
getDefaultModelForProvider: () => getDefaultModelForProvider,
|
|
53743
53744
|
getConnectionStatusFromDoctorResult: () => getConnectionStatusFromDoctorResult,
|
|
@@ -54853,6 +54854,21 @@ function providerModelCacheKey(provider, settings = getInitialSettings()) {
|
|
|
54853
54854
|
function getCachedProviderModels(provider, settings = getInitialSettings()) {
|
|
54854
54855
|
return cachedModelsByProvider.get(providerModelCacheKey(provider, settings)) ?? [];
|
|
54855
54856
|
}
|
|
54857
|
+
function getProviderContextLengthForModel(model, provider = resolveProviderId(getInitialSettings().provider?.active), settings = getInitialSettings()) {
|
|
54858
|
+
const providerId = resolveProviderId(provider);
|
|
54859
|
+
if (!providerId)
|
|
54860
|
+
return;
|
|
54861
|
+
const wanted = model.trim().toLowerCase();
|
|
54862
|
+
if (!wanted)
|
|
54863
|
+
return;
|
|
54864
|
+
const known = [
|
|
54865
|
+
...getCachedProviderModels(providerId, settings),
|
|
54866
|
+
...PROVIDER_MODELS[providerId] ?? []
|
|
54867
|
+
];
|
|
54868
|
+
const match = known.find((entry) => entry.id.toLowerCase() === wanted) ?? known.find((entry) => wanted.includes(entry.id.toLowerCase()));
|
|
54869
|
+
const length = match?.contextLength;
|
|
54870
|
+
return typeof length === "number" && Number.isFinite(length) && length > 0 ? Math.floor(length) : undefined;
|
|
54871
|
+
}
|
|
54856
54872
|
function cacheProviderModelsForProvider(providerId, models, settings = getInitialSettings()) {
|
|
54857
54873
|
const provider = resolveProviderId(providerId);
|
|
54858
54874
|
if (!provider) {
|
|
@@ -95201,6 +95217,10 @@ function getContextWindowForModel(model, betas, apiProvider = getAPIProvider())
|
|
|
95201
95217
|
if (has1mContext(model)) {
|
|
95202
95218
|
return 1e6;
|
|
95203
95219
|
}
|
|
95220
|
+
const providerContextLength = getProviderContextLengthForModel(model);
|
|
95221
|
+
if (providerContextLength !== undefined) {
|
|
95222
|
+
return providerContextLength;
|
|
95223
|
+
}
|
|
95204
95224
|
const cap = getModelCapability(model);
|
|
95205
95225
|
if (cap?.max_input_tokens && cap.max_input_tokens >= 1e5) {
|
|
95206
95226
|
if (cap.max_input_tokens > MODEL_CONTEXT_WINDOW_DEFAULT && is1mContextDisabled()) {
|
|
@@ -95267,6 +95287,7 @@ function getMaxThinkingTokensForModel(model) {
|
|
|
95267
95287
|
var MODEL_CONTEXT_WINDOW_DEFAULT = 200000, COMPACT_MAX_OUTPUT_TOKENS = 20000, MAX_OUTPUT_TOKENS_DEFAULT = 32000, MAX_OUTPUT_TOKENS_UPPER_LIMIT = 64000, CAPPED_DEFAULT_MAX_TOKENS = 8000, ESCALATED_MAX_TOKENS = 64000;
|
|
95268
95288
|
var init_context = __esm(() => {
|
|
95269
95289
|
init_betas();
|
|
95290
|
+
init_providerRegistry();
|
|
95270
95291
|
init_envUtils();
|
|
95271
95292
|
init_antModels();
|
|
95272
95293
|
init_modelCapabilities();
|
|
@@ -107552,7 +107573,7 @@ var init_auth = __esm(() => {
|
|
|
107552
107573
|
|
|
107553
107574
|
// src/utils/userAgent.ts
|
|
107554
107575
|
function getURCodeUserAgent() {
|
|
107555
|
-
return `ur/${"1.77.
|
|
107576
|
+
return `ur/${"1.77.9"}`;
|
|
107556
107577
|
}
|
|
107557
107578
|
|
|
107558
107579
|
// src/utils/workloadContext.ts
|
|
@@ -107574,7 +107595,7 @@ function getUserAgent() {
|
|
|
107574
107595
|
const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
|
|
107575
107596
|
const workload = getWorkload();
|
|
107576
107597
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
107577
|
-
return `ur-cli/${"1.77.
|
|
107598
|
+
return `ur-cli/${"1.77.9"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
107578
107599
|
}
|
|
107579
107600
|
function getMCPUserAgent() {
|
|
107580
107601
|
const parts = [];
|
|
@@ -107588,7 +107609,7 @@ function getMCPUserAgent() {
|
|
|
107588
107609
|
parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
|
|
107589
107610
|
}
|
|
107590
107611
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
107591
|
-
return `ur/${"1.77.
|
|
107612
|
+
return `ur/${"1.77.9"}${suffix}`;
|
|
107592
107613
|
}
|
|
107593
107614
|
function getWebFetchUserAgent() {
|
|
107594
107615
|
return `UR-User (${getURCodeUserAgent()})`;
|
|
@@ -107726,7 +107747,7 @@ var init_user = __esm(() => {
|
|
|
107726
107747
|
deviceId,
|
|
107727
107748
|
sessionId: getSessionId(),
|
|
107728
107749
|
email: getEmail(),
|
|
107729
|
-
appVersion: "1.77.
|
|
107750
|
+
appVersion: "1.77.9",
|
|
107730
107751
|
platform: getHostPlatformForAnalytics(),
|
|
107731
107752
|
organizationUuid,
|
|
107732
107753
|
accountUuid,
|
|
@@ -115613,7 +115634,7 @@ var init_metadata = __esm(() => {
|
|
|
115613
115634
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
115614
115635
|
WHITESPACE_REGEX = /\s+/;
|
|
115615
115636
|
getVersionBase = memoize_default(() => {
|
|
115616
|
-
const match = "1.77.
|
|
115637
|
+
const match = "1.77.9".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
115617
115638
|
return match ? match[0] : undefined;
|
|
115618
115639
|
});
|
|
115619
115640
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -115653,7 +115674,7 @@ var init_metadata = __esm(() => {
|
|
|
115653
115674
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
115654
115675
|
isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
|
|
115655
115676
|
isURAiAuth: isURAISubscriber(),
|
|
115656
|
-
version: "1.77.
|
|
115677
|
+
version: "1.77.9",
|
|
115657
115678
|
versionBase: getVersionBase(),
|
|
115658
115679
|
buildTime: "",
|
|
115659
115680
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
@@ -116323,7 +116344,7 @@ function initialize1PEventLogging() {
|
|
|
116323
116344
|
const platform2 = getPlatform();
|
|
116324
116345
|
const attributes = {
|
|
116325
116346
|
[import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
|
|
116326
|
-
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.77.
|
|
116347
|
+
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.77.9"
|
|
116327
116348
|
};
|
|
116328
116349
|
if (platform2 === "wsl") {
|
|
116329
116350
|
const wslVersion = getWslVersion();
|
|
@@ -116351,7 +116372,7 @@ function initialize1PEventLogging() {
|
|
|
116351
116372
|
})
|
|
116352
116373
|
]
|
|
116353
116374
|
});
|
|
116354
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.77.
|
|
116375
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.77.9");
|
|
116355
116376
|
}
|
|
116356
116377
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
116357
116378
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -126133,7 +126154,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
|
|
|
126133
126154
|
function formatA2AAgentCard(options = {}, pretty = true) {
|
|
126134
126155
|
return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
|
|
126135
126156
|
}
|
|
126136
|
-
var urVersion = "1.77.
|
|
126157
|
+
var urVersion = "1.77.9", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
|
|
126137
126158
|
var init_trends = __esm(() => {
|
|
126138
126159
|
init_a2aCardSignature();
|
|
126139
126160
|
coverage = [
|
|
@@ -128936,7 +128957,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
128936
128957
|
if (!isAttributionHeaderEnabled()) {
|
|
128937
128958
|
return "";
|
|
128938
128959
|
}
|
|
128939
|
-
const version2 = `${"1.77.
|
|
128960
|
+
const version2 = `${"1.77.9"}.${fingerprint}`;
|
|
128940
128961
|
const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
|
|
128941
128962
|
const cch = "";
|
|
128942
128963
|
const workload = getWorkload();
|
|
@@ -156940,7 +156961,7 @@ var init_projectSafety = __esm(() => {
|
|
|
156940
156961
|
function getInstruments() {
|
|
156941
156962
|
if (instruments)
|
|
156942
156963
|
return instruments;
|
|
156943
|
-
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.77.
|
|
156964
|
+
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.77.9");
|
|
156944
156965
|
instruments = {
|
|
156945
156966
|
operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
|
|
156946
156967
|
description: "GenAI operation duration.",
|
|
@@ -157038,7 +157059,7 @@ function genAiAgentAttributes() {
|
|
|
157038
157059
|
"gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
|
|
157039
157060
|
"gen_ai.provider.name": "ur",
|
|
157040
157061
|
"gen_ai.agent.name": "UR-Nexus",
|
|
157041
|
-
"gen_ai.agent.version": "1.77.
|
|
157062
|
+
"gen_ai.agent.version": "1.77.9"
|
|
157042
157063
|
};
|
|
157043
157064
|
}
|
|
157044
157065
|
function genAiWorkflowAttributes(workflowName) {
|
|
@@ -157054,7 +157075,7 @@ function genAiWorkflowAttributes(workflowName) {
|
|
|
157054
157075
|
function startGenAiWorkflowSpan(workflowName) {
|
|
157055
157076
|
const attributes = genAiWorkflowAttributes(workflowName);
|
|
157056
157077
|
const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
|
|
157057
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.
|
|
157078
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.9").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
157058
157079
|
}
|
|
157059
157080
|
function endGenAiWorkflowSpan(span, options2 = {}) {
|
|
157060
157081
|
try {
|
|
@@ -157092,7 +157113,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
|
|
|
157092
157113
|
if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
|
|
157093
157114
|
attributes["gen_ai.memory.record.count"] = options2.recordCount;
|
|
157094
157115
|
}
|
|
157095
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.
|
|
157116
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.9").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
157096
157117
|
}
|
|
157097
157118
|
function endGenAiMemorySpan(span, options2 = {}) {
|
|
157098
157119
|
try {
|
|
@@ -250740,7 +250761,7 @@ function getTelemetryAttributes() {
|
|
|
250740
250761
|
attributes["session.id"] = sessionId;
|
|
250741
250762
|
}
|
|
250742
250763
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
250743
|
-
attributes["app.version"] = "1.77.
|
|
250764
|
+
attributes["app.version"] = "1.77.9";
|
|
250744
250765
|
}
|
|
250745
250766
|
const oauthAccount = getOauthAccountInfo();
|
|
250746
250767
|
if (oauthAccount) {
|
|
@@ -297247,7 +297268,7 @@ function getInstallationEnv() {
|
|
|
297247
297268
|
return;
|
|
297248
297269
|
}
|
|
297249
297270
|
function getURCodeVersion() {
|
|
297250
|
-
return "1.77.
|
|
297271
|
+
return "1.77.9";
|
|
297251
297272
|
}
|
|
297252
297273
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
297253
297274
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -304578,7 +304599,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
304578
304599
|
const client2 = new Client({
|
|
304579
304600
|
name: "ur",
|
|
304580
304601
|
title: "UR",
|
|
304581
|
-
version: "1.77.
|
|
304602
|
+
version: "1.77.9",
|
|
304582
304603
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
304583
304604
|
websiteUrl: PRODUCT_URL
|
|
304584
304605
|
}, {
|
|
@@ -304938,7 +304959,7 @@ var init_client5 = __esm(() => {
|
|
|
304938
304959
|
const client2 = new Client({
|
|
304939
304960
|
name: "ur",
|
|
304940
304961
|
title: "UR",
|
|
304941
|
-
version: "1.77.
|
|
304962
|
+
version: "1.77.9",
|
|
304942
304963
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
304943
304964
|
websiteUrl: PRODUCT_URL
|
|
304944
304965
|
}, {
|
|
@@ -308481,6 +308502,62 @@ var init_AssistantRedactedThinkingMessage = __esm(() => {
|
|
|
308481
308502
|
jsx_dev_runtime56 = __toESM(require_jsx_dev_runtime(), 1);
|
|
308482
308503
|
});
|
|
308483
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
|
+
|
|
308484
308561
|
// src/utils/systemReminderFilter.ts
|
|
308485
308562
|
function stripSystemReminders2(text) {
|
|
308486
308563
|
if (!text)
|
|
@@ -317491,7 +317568,7 @@ async function createRuntime() {
|
|
|
317491
317568
|
bootstrapTelemetry();
|
|
317492
317569
|
const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
|
|
317493
317570
|
[import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
|
|
317494
|
-
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.77.
|
|
317571
|
+
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.77.9"
|
|
317495
317572
|
}));
|
|
317496
317573
|
const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
|
|
317497
317574
|
resource,
|
|
@@ -317524,11 +317601,11 @@ async function createRuntime() {
|
|
|
317524
317601
|
setMeterProvider(meterProvider);
|
|
317525
317602
|
setLoggerProvider(loggerProvider);
|
|
317526
317603
|
if (meterProvider) {
|
|
317527
|
-
const meter = meterProvider.getMeter("ur-agent", "1.77.
|
|
317604
|
+
const meter = meterProvider.getMeter("ur-agent", "1.77.9");
|
|
317528
317605
|
setMeter(meter, (name, options2) => meter.createCounter(name, options2));
|
|
317529
317606
|
}
|
|
317530
317607
|
if (loggerProvider) {
|
|
317531
|
-
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.77.
|
|
317608
|
+
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.77.9"));
|
|
317532
317609
|
}
|
|
317533
317610
|
if (!cleanupRegistered2) {
|
|
317534
317611
|
cleanupRegistered2 = true;
|
|
@@ -318190,9 +318267,9 @@ async function assertMinVersion() {
|
|
|
318190
318267
|
if (false) {}
|
|
318191
318268
|
try {
|
|
318192
318269
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
318193
|
-
if (versionConfig.minVersion && lt("1.77.
|
|
318270
|
+
if (versionConfig.minVersion && lt("1.77.9", versionConfig.minVersion)) {
|
|
318194
318271
|
console.error(`
|
|
318195
|
-
It looks like your version of UR (${"1.77.
|
|
318272
|
+
It looks like your version of UR (${"1.77.9"}) needs an update.
|
|
318196
318273
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
318197
318274
|
|
|
318198
318275
|
To update, please run:
|
|
@@ -318408,7 +318485,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
318408
318485
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
318409
318486
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
318410
318487
|
pid: process.pid,
|
|
318411
|
-
currentVersion: "1.77.
|
|
318488
|
+
currentVersion: "1.77.9"
|
|
318412
318489
|
});
|
|
318413
318490
|
return "in_progress";
|
|
318414
318491
|
}
|
|
@@ -318417,7 +318494,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
318417
318494
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
318418
318495
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
318419
318496
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
318420
|
-
currentVersion: "1.77.
|
|
318497
|
+
currentVersion: "1.77.9"
|
|
318421
318498
|
});
|
|
318422
318499
|
console.error(`
|
|
318423
318500
|
Error: Windows NPM detected in WSL
|
|
@@ -318952,7 +319029,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
318952
319029
|
}
|
|
318953
319030
|
async function getDoctorDiagnostic() {
|
|
318954
319031
|
const installationType = await getCurrentInstallationType();
|
|
318955
|
-
const version2 = typeof MACRO !== "undefined" ? "1.77.
|
|
319032
|
+
const version2 = typeof MACRO !== "undefined" ? "1.77.9" : "unknown";
|
|
318956
319033
|
const installationPath = await getInstallationPath();
|
|
318957
319034
|
const invokedBinary = getInvokedBinary();
|
|
318958
319035
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -319887,8 +319964,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
319887
319964
|
const maxVersion = await getMaxVersion();
|
|
319888
319965
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
319889
319966
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
319890
|
-
if (gte("1.77.
|
|
319891
|
-
logForDebugging(`Native installer: current version ${"1.77.
|
|
319967
|
+
if (gte("1.77.9", maxVersion)) {
|
|
319968
|
+
logForDebugging(`Native installer: current version ${"1.77.9"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
319892
319969
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
319893
319970
|
latency_ms: Date.now() - startTime,
|
|
319894
319971
|
max_version: maxVersion,
|
|
@@ -319899,7 +319976,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
319899
319976
|
version2 = maxVersion;
|
|
319900
319977
|
}
|
|
319901
319978
|
}
|
|
319902
|
-
if (!forceReinstall && version2 === "1.77.
|
|
319979
|
+
if (!forceReinstall && version2 === "1.77.9" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
|
|
319903
319980
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
319904
319981
|
logEvent("tengu_native_update_complete", {
|
|
319905
319982
|
latency_ms: Date.now() - startTime,
|
|
@@ -330842,7 +330919,11 @@ function AssistantTextMessage(t0) {
|
|
|
330842
330919
|
const {
|
|
330843
330920
|
text: rawText
|
|
330844
330921
|
} = t1;
|
|
330845
|
-
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;
|
|
330846
330927
|
const isSelected = import_react65.useContext(MessageActionsSelectedContext);
|
|
330847
330928
|
if (isEmptyMessageText(text)) {
|
|
330848
330929
|
return null;
|
|
@@ -331161,6 +331242,7 @@ var init_AssistantTextMessage = __esm(() => {
|
|
|
331161
331242
|
init_ink2();
|
|
331162
331243
|
init_errors6();
|
|
331163
331244
|
init_messages();
|
|
331245
|
+
init_deliberationText();
|
|
331164
331246
|
init_systemReminderFilter();
|
|
331165
331247
|
init_contextWindowUpgradeCheck();
|
|
331166
331248
|
init_model();
|
|
@@ -389609,7 +389691,7 @@ function isAnyTracingEnabled() {
|
|
|
389609
389691
|
return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
|
|
389610
389692
|
}
|
|
389611
389693
|
function getTracer() {
|
|
389612
|
-
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.77.
|
|
389694
|
+
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.77.9");
|
|
389613
389695
|
}
|
|
389614
389696
|
function createSpanAttributes(spanType, customAttributes = {}) {
|
|
389615
389697
|
const baseAttributes = getTelemetryAttributes();
|
|
@@ -398117,7 +398199,6 @@ var init_sessionMemoryCompact = __esm(() => {
|
|
|
398117
398199
|
|
|
398118
398200
|
// src/services/compact/autoCompact.ts
|
|
398119
398201
|
function getEffectiveContextWindowSize(model) {
|
|
398120
|
-
const reservedTokensForSummary = Math.min(getMaxOutputTokensForModel(model), MAX_OUTPUT_TOKENS_FOR_SUMMARY);
|
|
398121
398202
|
let contextWindow = getContextWindowForModel(model, getSdkBetas());
|
|
398122
398203
|
const autoCompactWindow = process.env.UR_CODE_AUTO_COMPACT_WINDOW;
|
|
398123
398204
|
if (autoCompactWindow) {
|
|
@@ -398126,7 +398207,8 @@ function getEffectiveContextWindowSize(model) {
|
|
|
398126
398207
|
contextWindow = Math.min(contextWindow, parsed);
|
|
398127
398208
|
}
|
|
398128
398209
|
}
|
|
398129
|
-
|
|
398210
|
+
const reservedTokensForSummary = Math.min(getMaxOutputTokensForModel(model), MAX_OUTPUT_TOKENS_FOR_SUMMARY, Math.floor(contextWindow * MAX_SUMMARY_RESERVE_SHARE));
|
|
398211
|
+
return Math.max(contextWindow - reservedTokensForSummary, 1);
|
|
398130
398212
|
}
|
|
398131
398213
|
function getAutoCompactThreshold(model) {
|
|
398132
398214
|
const effectiveContextWindow = getEffectiveContextWindowSize(model);
|
|
@@ -398247,7 +398329,7 @@ async function autoCompactIfNeeded(messages, toolUseContext, cacheSafeParams, qu
|
|
|
398247
398329
|
return { wasCompacted: false, consecutiveFailures: nextFailures };
|
|
398248
398330
|
}
|
|
398249
398331
|
}
|
|
398250
|
-
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;
|
|
398332
|
+
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;
|
|
398251
398333
|
var init_autoCompact = __esm(() => {
|
|
398252
398334
|
init_state();
|
|
398253
398335
|
init_state();
|
|
@@ -419831,7 +419913,7 @@ function Feedback({
|
|
|
419831
419913
|
platform: env2.platform,
|
|
419832
419914
|
gitRepo: envInfo.isGit,
|
|
419833
419915
|
terminal: env2.terminal,
|
|
419834
|
-
version: "1.77.
|
|
419916
|
+
version: "1.77.9",
|
|
419835
419917
|
transcript: normalizeMessagesForAPI(messages),
|
|
419836
419918
|
errors: sanitizedErrors,
|
|
419837
419919
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -420023,7 +420105,7 @@ function Feedback({
|
|
|
420023
420105
|
", ",
|
|
420024
420106
|
env2.terminal,
|
|
420025
420107
|
", v",
|
|
420026
|
-
"1.77.
|
|
420108
|
+
"1.77.9"
|
|
420027
420109
|
]
|
|
420028
420110
|
}, undefined, true, undefined, this)
|
|
420029
420111
|
]
|
|
@@ -420129,7 +420211,7 @@ ${sanitizedDescription}
|
|
|
420129
420211
|
` + `**Environment Info**
|
|
420130
420212
|
` + `- Platform: ${env2.platform}
|
|
420131
420213
|
` + `- Terminal: ${env2.terminal}
|
|
420132
|
-
` + `- Version: ${"1.77.
|
|
420214
|
+
` + `- Version: ${"1.77.9"}
|
|
420133
420215
|
` + `- Feedback ID: ${feedbackId}
|
|
420134
420216
|
` + `
|
|
420135
420217
|
**Errors**
|
|
@@ -423239,7 +423321,7 @@ function buildPrimarySection() {
|
|
|
423239
423321
|
}, undefined, false, undefined, this);
|
|
423240
423322
|
return [{
|
|
423241
423323
|
label: "Version",
|
|
423242
|
-
value: "1.77.
|
|
423324
|
+
value: "1.77.9"
|
|
423243
423325
|
}, {
|
|
423244
423326
|
label: "Session name",
|
|
423245
423327
|
value: nameValue
|
|
@@ -426621,7 +426703,7 @@ function Config({
|
|
|
426621
426703
|
}
|
|
426622
426704
|
}, undefined, false, undefined, this)
|
|
426623
426705
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
|
|
426624
|
-
currentVersion: "1.77.
|
|
426706
|
+
currentVersion: "1.77.9",
|
|
426625
426707
|
onChoice: (choice) => {
|
|
426626
426708
|
setShowSubmenu(null);
|
|
426627
426709
|
setTabsHidden(false);
|
|
@@ -426633,7 +426715,7 @@ function Config({
|
|
|
426633
426715
|
autoUpdatesChannel: "stable"
|
|
426634
426716
|
};
|
|
426635
426717
|
if (choice === "stay") {
|
|
426636
|
-
newSettings.minimumVersion = "1.77.
|
|
426718
|
+
newSettings.minimumVersion = "1.77.9";
|
|
426637
426719
|
}
|
|
426638
426720
|
updateSettingsForSource("userSettings", newSettings);
|
|
426639
426721
|
setSettingsData((prev_27) => ({
|
|
@@ -434697,7 +434779,7 @@ function HelpV2(t0) {
|
|
|
434697
434779
|
let t6;
|
|
434698
434780
|
if ($2[31] !== tabs) {
|
|
434699
434781
|
t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
|
|
434700
|
-
title: `UR v${"1.77.
|
|
434782
|
+
title: `UR v${"1.77.9"}`,
|
|
434701
434783
|
color: "professionalBlue",
|
|
434702
434784
|
defaultTab: "general",
|
|
434703
434785
|
children: tabs
|
|
@@ -435630,7 +435712,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
|
|
|
435630
435712
|
async function handleInitialize(options2) {
|
|
435631
435713
|
return {
|
|
435632
435714
|
name: "UR",
|
|
435633
|
-
version: "1.77.
|
|
435715
|
+
version: "1.77.9",
|
|
435634
435716
|
protocolVersion: "0.1.0",
|
|
435635
435717
|
workspaceRoot: options2.cwd,
|
|
435636
435718
|
capabilities: {
|
|
@@ -452738,7 +452820,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
452738
452820
|
return [];
|
|
452739
452821
|
}
|
|
452740
452822
|
}
|
|
452741
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.
|
|
452823
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.9") {
|
|
452742
452824
|
if (process.env.USER_TYPE === "ant") {
|
|
452743
452825
|
const changelog = "";
|
|
452744
452826
|
if (changelog) {
|
|
@@ -452765,7 +452847,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.7")
|
|
|
452765
452847
|
releaseNotes
|
|
452766
452848
|
};
|
|
452767
452849
|
}
|
|
452768
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.77.
|
|
452850
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.77.9") {
|
|
452769
452851
|
if (process.env.USER_TYPE === "ant") {
|
|
452770
452852
|
const changelog = "";
|
|
452771
452853
|
if (changelog) {
|
|
@@ -455631,7 +455713,7 @@ function getRecentActivitySync() {
|
|
|
455631
455713
|
return cachedActivity;
|
|
455632
455714
|
}
|
|
455633
455715
|
function getLogoDisplayData() {
|
|
455634
|
-
const version2 = process.env.DEMO_VERSION ?? "1.77.
|
|
455716
|
+
const version2 = process.env.DEMO_VERSION ?? "1.77.9";
|
|
455635
455717
|
const serverUrl = getDirectConnectServerUrl();
|
|
455636
455718
|
const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
|
|
455637
455719
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -456498,7 +456580,7 @@ function LogoV2() {
|
|
|
456498
456580
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
456499
456581
|
t2 = () => {
|
|
456500
456582
|
const currentConfig2 = getGlobalConfig();
|
|
456501
|
-
if (currentConfig2.lastReleaseNotesSeen === "1.77.
|
|
456583
|
+
if (currentConfig2.lastReleaseNotesSeen === "1.77.9") {
|
|
456502
456584
|
return;
|
|
456503
456585
|
}
|
|
456504
456586
|
saveGlobalConfig(_temp325);
|
|
@@ -457183,12 +457265,12 @@ function LogoV2() {
|
|
|
457183
457265
|
return t41;
|
|
457184
457266
|
}
|
|
457185
457267
|
function _temp325(current) {
|
|
457186
|
-
if (current.lastReleaseNotesSeen === "1.77.
|
|
457268
|
+
if (current.lastReleaseNotesSeen === "1.77.9") {
|
|
457187
457269
|
return current;
|
|
457188
457270
|
}
|
|
457189
457271
|
return {
|
|
457190
457272
|
...current,
|
|
457191
|
-
lastReleaseNotesSeen: "1.77.
|
|
457273
|
+
lastReleaseNotesSeen: "1.77.9"
|
|
457192
457274
|
};
|
|
457193
457275
|
}
|
|
457194
457276
|
function _temp241(s_0) {
|
|
@@ -474002,7 +474084,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
|
|
|
474002
474084
|
if (spec.name !== specName) {
|
|
474003
474085
|
throw new Error("Agentic CI workflow spec name does not match");
|
|
474004
474086
|
}
|
|
474005
|
-
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.77.
|
|
474087
|
+
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.77.9" : "1.77.9");
|
|
474006
474088
|
if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
|
|
474007
474089
|
throw new Error("invalid ur-agent package version");
|
|
474008
474090
|
}
|
|
@@ -474995,7 +475077,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
|
|
|
474995
475077
|
path: ".github/workflows/ur.yml",
|
|
474996
475078
|
root: "project",
|
|
474997
475079
|
content: compileAgenticCiWorkflow("default", {
|
|
474998
|
-
packageVersion: typeof MACRO !== "undefined" ? "1.77.
|
|
475080
|
+
packageVersion: typeof MACRO !== "undefined" ? "1.77.9" : "1.77.9"
|
|
474999
475081
|
})
|
|
475000
475082
|
},
|
|
475001
475083
|
{
|
|
@@ -475058,7 +475140,7 @@ function value(tokens, flag) {
|
|
|
475058
475140
|
return index2 >= 0 ? tokens[index2 + 1] : undefined;
|
|
475059
475141
|
}
|
|
475060
475142
|
function cliVersion() {
|
|
475061
|
-
return typeof MACRO !== "undefined" ? "1.77.
|
|
475143
|
+
return typeof MACRO !== "undefined" ? "1.77.9" : "1.77.9";
|
|
475062
475144
|
}
|
|
475063
475145
|
function workflowPath(cwd2) {
|
|
475064
475146
|
return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
|
|
@@ -480914,7 +480996,7 @@ function createAcpStdioApp(deps) {
|
|
|
480914
480996
|
}
|
|
480915
480997
|
},
|
|
480916
480998
|
authMethods: [],
|
|
480917
|
-
agentInfo: { name: "UR-Nexus", version: "1.77.
|
|
480999
|
+
agentInfo: { name: "UR-Nexus", version: "1.77.9" }
|
|
480918
481000
|
})).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
|
|
480919
481001
|
const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
|
|
480920
481002
|
await runtime2.announce({
|
|
@@ -481011,7 +481093,7 @@ function createAcpStdioAgent(deps) {
|
|
|
481011
481093
|
}
|
|
481012
481094
|
},
|
|
481013
481095
|
authMethods: [],
|
|
481014
|
-
agentInfo: { name: "UR-Nexus", version: "1.77.
|
|
481096
|
+
agentInfo: { name: "UR-Nexus", version: "1.77.9" }
|
|
481015
481097
|
});
|
|
481016
481098
|
return;
|
|
481017
481099
|
case "authenticate":
|
|
@@ -690471,7 +690553,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
|
|
|
690471
690553
|
smapsRollup,
|
|
690472
690554
|
platform: process.platform,
|
|
690473
690555
|
nodeVersion: process.version,
|
|
690474
|
-
ccVersion: "1.77.
|
|
690556
|
+
ccVersion: "1.77.9"
|
|
690475
690557
|
};
|
|
690476
690558
|
}
|
|
690477
690559
|
async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
|
|
@@ -691051,7 +691133,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
691051
691133
|
var call154 = async () => {
|
|
691052
691134
|
return {
|
|
691053
691135
|
type: "text",
|
|
691054
|
-
value: "1.77.
|
|
691136
|
+
value: "1.77.9"
|
|
691055
691137
|
};
|
|
691056
691138
|
}, version2, version_default;
|
|
691057
691139
|
var init_version = __esm(() => {
|
|
@@ -702318,7 +702400,7 @@ function generateHtmlReport(data, insights) {
|
|
|
702318
702400
|
</html>`;
|
|
702319
702401
|
}
|
|
702320
702402
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
702321
|
-
const version3 = typeof MACRO !== "undefined" ? "1.77.
|
|
702403
|
+
const version3 = typeof MACRO !== "undefined" ? "1.77.9" : "unknown";
|
|
702322
702404
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
702323
702405
|
const facets_summary = {
|
|
702324
702406
|
total: facets.size,
|
|
@@ -706632,7 +706714,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
706632
706714
|
init_settings2();
|
|
706633
706715
|
init_slowOperations();
|
|
706634
706716
|
init_uuid();
|
|
706635
|
-
VERSION7 = typeof MACRO !== "undefined" ? "1.77.
|
|
706717
|
+
VERSION7 = typeof MACRO !== "undefined" ? "1.77.9" : "unknown";
|
|
706636
706718
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
706637
706719
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
706638
706720
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -707847,7 +707929,7 @@ var init_filesystem = __esm(() => {
|
|
|
707847
707929
|
});
|
|
707848
707930
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
707849
707931
|
const nonce = randomBytes20(16).toString("hex");
|
|
707850
|
-
return join232(getURTempDir(), "bundled-skills", "1.77.
|
|
707932
|
+
return join232(getURTempDir(), "bundled-skills", "1.77.9", nonce);
|
|
707851
707933
|
});
|
|
707852
707934
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
707853
707935
|
});
|
|
@@ -714204,7 +714286,7 @@ function computeFingerprint(messageText2, version3) {
|
|
|
714204
714286
|
}
|
|
714205
714287
|
function computeFingerprintFromMessages(messages) {
|
|
714206
714288
|
const firstMessageText = extractFirstMessageText(messages);
|
|
714207
|
-
return computeFingerprint(firstMessageText, "1.77.
|
|
714289
|
+
return computeFingerprint(firstMessageText, "1.77.9");
|
|
714208
714290
|
}
|
|
714209
714291
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
714210
714292
|
var init_fingerprint = () => {};
|
|
@@ -716126,7 +716208,7 @@ async function sideQuery(opts) {
|
|
|
716126
716208
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
716127
716209
|
}
|
|
716128
716210
|
const messageText2 = extractFirstUserMessageText(messages);
|
|
716129
|
-
const fingerprint2 = computeFingerprint(messageText2, "1.77.
|
|
716211
|
+
const fingerprint2 = computeFingerprint(messageText2, "1.77.9");
|
|
716130
716212
|
const attributionHeader = getAttributionHeader(fingerprint2);
|
|
716131
716213
|
const systemBlocks = [
|
|
716132
716214
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -720963,7 +721045,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
720963
721045
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
720964
721046
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
720965
721047
|
betas: getSdkBetas(),
|
|
720966
|
-
ur_version: "1.77.
|
|
721048
|
+
ur_version: "1.77.9",
|
|
720967
721049
|
output_style: outputStyle2,
|
|
720968
721050
|
agents: inputs.agents.map((agent2) => agent2.agentType),
|
|
720969
721051
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
|
|
@@ -734835,7 +734917,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
734835
734917
|
function getSemverPart(version3) {
|
|
734836
734918
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
734837
734919
|
}
|
|
734838
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.77.
|
|
734920
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.77.9") {
|
|
734839
734921
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react223.useState(() => getSemverPart(initialVersion));
|
|
734840
734922
|
if (!updatedVersion) {
|
|
734841
734923
|
return null;
|
|
@@ -734884,7 +734966,7 @@ function AutoUpdater({
|
|
|
734884
734966
|
return;
|
|
734885
734967
|
}
|
|
734886
734968
|
if (false) {}
|
|
734887
|
-
const currentVersion = "1.77.
|
|
734969
|
+
const currentVersion = "1.77.9";
|
|
734888
734970
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
734889
734971
|
let latestVersion = await getLatestVersion(channel);
|
|
734890
734972
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -735113,12 +735195,12 @@ function NativeAutoUpdater({
|
|
|
735113
735195
|
logEvent("tengu_native_auto_updater_start", {});
|
|
735114
735196
|
try {
|
|
735115
735197
|
const maxVersion = await getMaxVersion();
|
|
735116
|
-
if (maxVersion && gt("1.77.
|
|
735198
|
+
if (maxVersion && gt("1.77.9", maxVersion)) {
|
|
735117
735199
|
const msg = await getMaxVersionMessage();
|
|
735118
735200
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
735119
735201
|
}
|
|
735120
735202
|
const result = await installLatest(channel);
|
|
735121
|
-
const currentVersion = "1.77.
|
|
735203
|
+
const currentVersion = "1.77.9";
|
|
735122
735204
|
const latencyMs = Date.now() - startTime;
|
|
735123
735205
|
if (result.lockFailed) {
|
|
735124
735206
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -735255,17 +735337,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
735255
735337
|
const maxVersion = await getMaxVersion();
|
|
735256
735338
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
735257
735339
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
735258
|
-
if (gte("1.77.
|
|
735259
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.77.
|
|
735340
|
+
if (gte("1.77.9", maxVersion)) {
|
|
735341
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.77.9"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
735260
735342
|
setUpdateAvailable(false);
|
|
735261
735343
|
return;
|
|
735262
735344
|
}
|
|
735263
735345
|
latest = maxVersion;
|
|
735264
735346
|
}
|
|
735265
|
-
const hasUpdate = latest && !gte("1.77.
|
|
735347
|
+
const hasUpdate = latest && !gte("1.77.9", latest) && !shouldSkipVersion(latest);
|
|
735266
735348
|
setUpdateAvailable(!!hasUpdate);
|
|
735267
735349
|
if (hasUpdate) {
|
|
735268
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.77.
|
|
735350
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.77.9"} -> ${latest}`);
|
|
735269
735351
|
}
|
|
735270
735352
|
};
|
|
735271
735353
|
$2[0] = t1;
|
|
@@ -735299,7 +735381,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
735299
735381
|
wrap: "truncate",
|
|
735300
735382
|
children: [
|
|
735301
735383
|
"currentVersion: ",
|
|
735302
|
-
"1.77.
|
|
735384
|
+
"1.77.9"
|
|
735303
735385
|
]
|
|
735304
735386
|
}, undefined, true, undefined, this);
|
|
735305
735387
|
$2[3] = verbose;
|
|
@@ -746099,7 +746181,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
746099
746181
|
project_dir: getOriginalCwd(),
|
|
746100
746182
|
added_dirs: addedDirs
|
|
746101
746183
|
},
|
|
746102
|
-
version: "1.77.
|
|
746184
|
+
version: "1.77.9",
|
|
746103
746185
|
output_style: {
|
|
746104
746186
|
name: outputStyleName
|
|
746105
746187
|
},
|
|
@@ -746234,7 +746316,7 @@ function StatusLineInner({
|
|
|
746234
746316
|
const attention = customStatusError ?? taskAttention;
|
|
746235
746317
|
const terminalSize = React132.useContext(TerminalSizeContext);
|
|
746236
746318
|
const defaultStatusLineText = buildDefaultStatusBar({
|
|
746237
|
-
version: "1.77.
|
|
746319
|
+
version: "1.77.9",
|
|
746238
746320
|
providerLabel: providerRuntime.providerLabel,
|
|
746239
746321
|
authMode: providerRuntime.authLabel,
|
|
746240
746322
|
model: renderModelName(mainLoopModel) || providerRuntime.model || "",
|
|
@@ -758519,7 +758601,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
|
|
|
758519
758601
|
} catch {}
|
|
758520
758602
|
const data = {
|
|
758521
758603
|
trigger: trigger2,
|
|
758522
|
-
version: "1.77.
|
|
758604
|
+
version: "1.77.9",
|
|
758523
758605
|
platform: process.platform,
|
|
758524
758606
|
transcript,
|
|
758525
758607
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -770893,7 +770975,7 @@ function WelcomeV2() {
|
|
|
770893
770975
|
dimColor: true,
|
|
770894
770976
|
children: [
|
|
770895
770977
|
"v",
|
|
770896
|
-
"1.77.
|
|
770978
|
+
"1.77.9"
|
|
770897
770979
|
]
|
|
770898
770980
|
}, undefined, true, undefined, this)
|
|
770899
770981
|
]
|
|
@@ -772153,7 +772235,7 @@ function completeOnboarding() {
|
|
|
772153
772235
|
saveGlobalConfig((current) => ({
|
|
772154
772236
|
...current,
|
|
772155
772237
|
hasCompletedOnboarding: true,
|
|
772156
|
-
lastOnboardingVersion: "1.77.
|
|
772238
|
+
lastOnboardingVersion: "1.77.9"
|
|
772157
772239
|
}));
|
|
772158
772240
|
}
|
|
772159
772241
|
function showDialog(root2, renderer) {
|
|
@@ -777197,7 +777279,7 @@ function appendToLog(path24, message) {
|
|
|
777197
777279
|
cwd: getFsImplementation().cwd(),
|
|
777198
777280
|
userType: process.env.USER_TYPE,
|
|
777199
777281
|
sessionId: getSessionId(),
|
|
777200
|
-
version: "1.77.
|
|
777282
|
+
version: "1.77.9"
|
|
777201
777283
|
};
|
|
777202
777284
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
777203
777285
|
}
|
|
@@ -781356,8 +781438,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
781356
781438
|
}
|
|
781357
781439
|
async function checkEnvLessBridgeMinVersion() {
|
|
781358
781440
|
const cfg = await getEnvLessBridgeConfig();
|
|
781359
|
-
if (cfg.min_version && lt("1.77.
|
|
781360
|
-
return `Your version of UR (${"1.77.
|
|
781441
|
+
if (cfg.min_version && lt("1.77.9", cfg.min_version)) {
|
|
781442
|
+
return `Your version of UR (${"1.77.9"}) is too old for Remote Control.
|
|
781361
781443
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
781362
781444
|
}
|
|
781363
781445
|
return null;
|
|
@@ -781831,7 +781913,7 @@ async function initBridgeCore(params) {
|
|
|
781831
781913
|
const rawApi = createBridgeApiClient({
|
|
781832
781914
|
baseUrl,
|
|
781833
781915
|
getAccessToken,
|
|
781834
|
-
runnerVersion: "1.77.
|
|
781916
|
+
runnerVersion: "1.77.9",
|
|
781835
781917
|
onDebug: logForDebugging,
|
|
781836
781918
|
onAuth401,
|
|
781837
781919
|
getTrustedDeviceToken
|
|
@@ -791304,7 +791386,7 @@ function getAgUiCapabilities() {
|
|
|
791304
791386
|
name: "UR-Nexus",
|
|
791305
791387
|
type: "ur-nexus",
|
|
791306
791388
|
description: "Provider-flexible, local-first autonomous engineering workflow agent.",
|
|
791307
|
-
version: "1.77.
|
|
791389
|
+
version: "1.77.9",
|
|
791308
791390
|
provider: "UR",
|
|
791309
791391
|
documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
|
|
791310
791392
|
},
|
|
@@ -792444,7 +792526,7 @@ function createMCPServer(cwd4, debug2, verbose) {
|
|
|
792444
792526
|
};
|
|
792445
792527
|
const server2 = new Server({
|
|
792446
792528
|
name: "ur-nexus",
|
|
792447
|
-
version: "1.77.
|
|
792529
|
+
version: "1.77.9"
|
|
792448
792530
|
}, {
|
|
792449
792531
|
capabilities: {
|
|
792450
792532
|
tools: {}
|
|
@@ -793602,7 +793684,7 @@ function thrownResponse(error40) {
|
|
|
793602
793684
|
}
|
|
793603
793685
|
async function createUrMcp2026Runtime(options4) {
|
|
793604
793686
|
const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
|
|
793605
|
-
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.77.
|
|
793687
|
+
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.77.9" }, { capabilities: {} });
|
|
793606
793688
|
const [clientTransport, serverTransport] = createLinkedTransportPair();
|
|
793607
793689
|
try {
|
|
793608
793690
|
await server2.connect(serverTransport);
|
|
@@ -793613,7 +793695,7 @@ async function createUrMcp2026Runtime(options4) {
|
|
|
793613
793695
|
}
|
|
793614
793696
|
const runtime2 = new Mcp2026Runtime({
|
|
793615
793697
|
cwd: options4.cwd,
|
|
793616
|
-
version: "1.77.
|
|
793698
|
+
version: "1.77.9",
|
|
793617
793699
|
backend: {
|
|
793618
793700
|
listTools: async () => {
|
|
793619
793701
|
const listed = await client2.listTools();
|
|
@@ -795754,7 +795836,7 @@ async function update() {
|
|
|
795754
795836
|
logEvent("tengu_update_check", {});
|
|
795755
795837
|
const diagnostic2 = await getDoctorDiagnostic();
|
|
795756
795838
|
const result = await checkUpgradeStatus({
|
|
795757
|
-
currentVersion: "1.77.
|
|
795839
|
+
currentVersion: "1.77.9",
|
|
795758
795840
|
packageName: UR_AGENT_PACKAGE_NAME,
|
|
795759
795841
|
installationType: diagnostic2.installationType,
|
|
795760
795842
|
latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
|
|
@@ -797070,7 +797152,7 @@ ${customInstructions}` : customInstructions;
|
|
|
797070
797152
|
}
|
|
797071
797153
|
}
|
|
797072
797154
|
logForDiagnosticsNoPII("info", "started", {
|
|
797073
|
-
version: "1.77.
|
|
797155
|
+
version: "1.77.9",
|
|
797074
797156
|
is_native_binary: isInBundledMode()
|
|
797075
797157
|
});
|
|
797076
797158
|
registerCleanup(async () => {
|
|
@@ -797856,7 +797938,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
797856
797938
|
pendingHookMessages
|
|
797857
797939
|
}, renderAndRun);
|
|
797858
797940
|
}
|
|
797859
|
-
}).version("1.77.
|
|
797941
|
+
}).version("1.77.9 (UR-Nexus)", "-v, --version", "Output the version number");
|
|
797860
797942
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
797861
797943
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
797862
797944
|
if (canUserConfigureAdvisor()) {
|
|
@@ -798908,7 +798990,7 @@ if (false) {}
|
|
|
798908
798990
|
async function main2() {
|
|
798909
798991
|
const args = process.argv.slice(2);
|
|
798910
798992
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
798911
|
-
console.log(`${"1.77.
|
|
798993
|
+
console.log(`${"1.77.9"} (UR-Nexus)`);
|
|
798912
798994
|
return;
|
|
798913
798995
|
}
|
|
798914
798996
|
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.0</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.0",
|
|
6
6
|
"publisher": "ur-nexus",
|
|
7
7
|
"engines": {
|
|
8
8
|
"vscode": "^1.92.0"
|
package/package.json
CHANGED