ur-agent 1.81.8 → 1.81.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,34 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.81.10
|
|
4
|
+
|
|
5
|
+
- Reduced provider latency and memory pressure without removing the complete
|
|
6
|
+
system prompt or tool set from real agent work. Self-hosted Ollama, vLLM,
|
|
7
|
+
LM Studio, llama.cpp, and OpenAI-compatible requests now reserve a realistic
|
|
8
|
+
4K output turn, resume automatically if it is exhausted, and keep a stable
|
|
9
|
+
prompt prefix so local/server prefix caches can be reused across sessions.
|
|
10
|
+
- Added a safe lightweight path for exact greetings on every runnable provider.
|
|
11
|
+
These turns send no irrelevant repository tools, use a 1K output budget, and
|
|
12
|
+
use an 8K Ollama context; coding, media, structured-output, custom-prompt,
|
|
13
|
+
and ongoing agent turns retain their full quality-bearing context.
|
|
14
|
+
- Prevented Ollama helper calls from automatically loading a second installed
|
|
15
|
+
model and evicting the warm session model. A separate helper model remains
|
|
16
|
+
available through the explicit `OLLAMA_SMALL_FAST_MODEL` override.
|
|
17
|
+
- Added adaptive recovery for vLLM's OpenAI-compatible context-overflow errors,
|
|
18
|
+
including wrapped/multiline and comma-formatted token counts, and fixed the
|
|
19
|
+
retry calculation so thinking budgets can never produce another oversized
|
|
20
|
+
request.
|
|
21
|
+
- Applied provider-discovered completion limits to request sizing, including
|
|
22
|
+
OpenRouter's live `max_output_tokens`, so defaults and explicit overrides are
|
|
23
|
+
validated against the selected model's real limit.
|
|
24
|
+
|
|
25
|
+
## 1.81.9
|
|
26
|
+
|
|
27
|
+
- Restored the previous compact six-row UR wordmark as the primary welcome
|
|
28
|
+
logo while retaining the minimal `UR` fallback for narrow terminals. The
|
|
29
|
+
original house artwork, theme-aware brand color, screen-reader text, and
|
|
30
|
+
responsive layout remain intact.
|
|
31
|
+
|
|
3
32
|
## 1.81.8
|
|
4
33
|
|
|
5
34
|
- Made reasoning effort provider- and model-accurate across the model picker,
|
package/dist/cli.js
CHANGED
|
@@ -53764,6 +53764,7 @@ __export(exports_providerRegistry, {
|
|
|
53764
53764
|
getProviderRuntimeBlockReason: () => getProviderRuntimeBlockReason,
|
|
53765
53765
|
getProviderRuntimeBackend: () => getProviderRuntimeBackend,
|
|
53766
53766
|
getProviderReasoningCapabilitiesForModel: () => getProviderReasoningCapabilitiesForModel,
|
|
53767
|
+
getProviderOutputTokenLimitForModel: () => getProviderOutputTokenLimitForModel,
|
|
53767
53768
|
getProviderFamily: () => getProviderFamily,
|
|
53768
53769
|
getProviderDefinition: () => getProviderDefinition,
|
|
53769
53770
|
getProviderContextLengthForModel: () => getProviderContextLengthForModel,
|
|
@@ -54913,6 +54914,21 @@ function getProviderContextLengthForModel(model, provider = getInitialSettings()
|
|
|
54913
54914
|
const length = match?.contextLength;
|
|
54914
54915
|
return typeof length === "number" && Number.isFinite(length) && length > 0 ? Math.floor(length) : undefined;
|
|
54915
54916
|
}
|
|
54917
|
+
function getProviderOutputTokenLimitForModel(model, provider = getRuntimeProviderId(), settings = getInitialSettings()) {
|
|
54918
|
+
const providerId = resolveProviderId(provider);
|
|
54919
|
+
if (!providerId)
|
|
54920
|
+
return;
|
|
54921
|
+
const wanted = model.trim().toLowerCase();
|
|
54922
|
+
if (!wanted)
|
|
54923
|
+
return;
|
|
54924
|
+
const known = [
|
|
54925
|
+
...getCachedProviderModels(providerId, settings),
|
|
54926
|
+
...PROVIDER_MODELS[providerId] ?? []
|
|
54927
|
+
];
|
|
54928
|
+
const match = known.find((entry) => entry.id.toLowerCase() === wanted) ?? known.find((entry) => wanted.includes(entry.id.toLowerCase()));
|
|
54929
|
+
const limit = match?.outputTokenLimit;
|
|
54930
|
+
return typeof limit === "number" && Number.isFinite(limit) && limit > 0 ? Math.floor(limit) : undefined;
|
|
54931
|
+
}
|
|
54916
54932
|
function getProviderReasoningCapabilitiesForModel(model, provider = getRuntimeProviderId(), settings = getInitialSettings()) {
|
|
54917
54933
|
const providerId = resolveProviderId(provider);
|
|
54918
54934
|
if (!providerId)
|
|
@@ -57299,9 +57315,19 @@ function getOllamaKeepAlive(env4 = process.env) {
|
|
|
57299
57315
|
const asNumber = Number(trimmed);
|
|
57300
57316
|
return Number.isFinite(asNumber) ? asNumber : trimmed;
|
|
57301
57317
|
}
|
|
57302
|
-
var MIN_AGENT_NUM_CTX = 32768, DEFAULT_OLLAMA_KEEP_ALIVE = "30m", NUM_CTX_BUCKETS, OUTPUT_HEADROOM_TOKENS = 4096;
|
|
57318
|
+
var MIN_AGENT_NUM_CTX = 32768, MIN_CHAT_NUM_CTX = 8192, DEFAULT_OLLAMA_KEEP_ALIVE = "30m", NUM_CTX_BUCKETS, OUTPUT_HEADROOM_TOKENS = 4096;
|
|
57303
57319
|
var init_ollamaTuning = __esm(() => {
|
|
57304
|
-
NUM_CTX_BUCKETS = [
|
|
57320
|
+
NUM_CTX_BUCKETS = [
|
|
57321
|
+
8192,
|
|
57322
|
+
16384,
|
|
57323
|
+
32768,
|
|
57324
|
+
49152,
|
|
57325
|
+
65536,
|
|
57326
|
+
98304,
|
|
57327
|
+
131072,
|
|
57328
|
+
196608,
|
|
57329
|
+
262144
|
|
57330
|
+
];
|
|
57305
57331
|
});
|
|
57306
57332
|
|
|
57307
57333
|
// node_modules/react/cjs/react.development.js
|
|
@@ -89922,15 +89948,20 @@ function toOllamaChatRequest(params, stream4, capabilities, baseUrl = getEffecti
|
|
|
89922
89948
|
if (typeof params.max_tokens === "number") {
|
|
89923
89949
|
options.num_predict = params.max_tokens;
|
|
89924
89950
|
}
|
|
89951
|
+
const estimatedPromptTokens = estimateInputTokens(params);
|
|
89952
|
+
const maxTokens = typeof params.max_tokens === "number" ? params.max_tokens : undefined;
|
|
89953
|
+
const isLightweightChat = tools.length === 0 && (maxTokens ?? Number.POSITIVE_INFINITY) <= 1024 && estimatedPromptTokens <= 4096;
|
|
89925
89954
|
const numCtx = computeOllamaNumCtx({
|
|
89926
89955
|
modelContextLength: getOllamaContextLengthForModel(params.model, baseUrl),
|
|
89927
|
-
estimatedPromptTokens
|
|
89928
|
-
maxTokens
|
|
89929
|
-
override: getOllamaNumCtxOverride()
|
|
89956
|
+
estimatedPromptTokens,
|
|
89957
|
+
maxTokens,
|
|
89958
|
+
override: getOllamaNumCtxOverride(),
|
|
89959
|
+
...isLightweightChat ? { minCtx: MIN_CHAT_NUM_CTX } : {}
|
|
89930
89960
|
});
|
|
89931
89961
|
if (numCtx !== undefined) {
|
|
89932
89962
|
options.num_ctx = numCtx;
|
|
89933
89963
|
}
|
|
89964
|
+
logForDebugging(`Ollama request sizing: ~${estimatedPromptTokens} input tokens, ${maxTokens ?? "default"} output tokens, ${tools.length} tools, num_ctx=${numCtx ?? "server-default"}`);
|
|
89934
89965
|
if (Object.keys(options).length > 0) {
|
|
89935
89966
|
request.options = options;
|
|
89936
89967
|
}
|
|
@@ -96080,7 +96111,7 @@ function calculateContextPercentages(currentUsage, contextWindowSize) {
|
|
|
96080
96111
|
remaining: 100 - clampedUsed
|
|
96081
96112
|
};
|
|
96082
96113
|
}
|
|
96083
|
-
function getModelMaxOutputTokens(model) {
|
|
96114
|
+
function getModelMaxOutputTokens(model, provider, settings) {
|
|
96084
96115
|
let defaultTokens = MAX_OUTPUT_TOKENS_DEFAULT;
|
|
96085
96116
|
let upperLimit = MAX_OUTPUT_TOKENS_UPPER_LIMIT;
|
|
96086
96117
|
if (process.env.USER_TYPE === "ant") {
|
|
@@ -96096,6 +96127,11 @@ function getModelMaxOutputTokens(model) {
|
|
|
96096
96127
|
upperLimit = cap.max_tokens;
|
|
96097
96128
|
defaultTokens = Math.min(defaultTokens, upperLimit);
|
|
96098
96129
|
}
|
|
96130
|
+
const providerOutputLimit = getProviderOutputTokenLimitForModel(model, provider, settings);
|
|
96131
|
+
if (providerOutputLimit !== undefined) {
|
|
96132
|
+
upperLimit = Math.min(upperLimit, providerOutputLimit);
|
|
96133
|
+
defaultTokens = Math.min(defaultTokens, upperLimit);
|
|
96134
|
+
}
|
|
96099
96135
|
return { default: defaultTokens, upperLimit };
|
|
96100
96136
|
}
|
|
96101
96137
|
function getMaxThinkingTokensForModel(model) {
|
|
@@ -96808,7 +96844,6 @@ __export(exports_model, {
|
|
|
96808
96844
|
});
|
|
96809
96845
|
function __resetOllamaRouteMemoForTests() {
|
|
96810
96846
|
memoizedRoutedDefaultModel = undefined;
|
|
96811
|
-
memoizedRoutedFastModel = undefined;
|
|
96812
96847
|
}
|
|
96813
96848
|
function getDefaultOllamaModel() {
|
|
96814
96849
|
const explicitModel = process.env.OLLAMA_MODEL || process.env.UR_MODEL;
|
|
@@ -96837,15 +96872,6 @@ function getSmallFastModel(providerSettings) {
|
|
|
96837
96872
|
if (process.env.OLLAMA_SMALL_FAST_MODEL) {
|
|
96838
96873
|
return process.env.OLLAMA_SMALL_FAST_MODEL;
|
|
96839
96874
|
}
|
|
96840
|
-
if (isOllamaAutoRouteEnabled()) {
|
|
96841
|
-
if (memoizedRoutedFastModel)
|
|
96842
|
-
return memoizedRoutedFastModel;
|
|
96843
|
-
const routed = pickSmallFastModel(getCachedOllamaModelNames());
|
|
96844
|
-
if (routed) {
|
|
96845
|
-
memoizedRoutedFastModel = routed;
|
|
96846
|
-
return routed;
|
|
96847
|
-
}
|
|
96848
|
-
}
|
|
96849
96875
|
const sessionModel = getMainLoopModel();
|
|
96850
96876
|
if (sessionModel)
|
|
96851
96877
|
return sessionModel;
|
|
@@ -97166,7 +97192,7 @@ function getMarketingNameForModel(modelId) {
|
|
|
97166
97192
|
function normalizeModelStringForAPI(model) {
|
|
97167
97193
|
return model.replace(/\[(1|2)m\]/gi, "");
|
|
97168
97194
|
}
|
|
97169
|
-
var DEFAULT_OLLAMA_MODEL2 = "qwen2.5-coder:7b", memoizedRoutedDefaultModel,
|
|
97195
|
+
var DEFAULT_OLLAMA_MODEL2 = "qwen2.5-coder:7b", memoizedRoutedDefaultModel, LEGACY_MODELO_FIRSTPARTY;
|
|
97170
97196
|
var init_model = __esm(() => {
|
|
97171
97197
|
init_state();
|
|
97172
97198
|
init_auth();
|
|
@@ -108358,7 +108384,7 @@ var init_auth = __esm(() => {
|
|
|
108358
108384
|
|
|
108359
108385
|
// src/utils/userAgent.ts
|
|
108360
108386
|
function getURCodeUserAgent() {
|
|
108361
|
-
return `ur/${"1.81.
|
|
108387
|
+
return `ur/${"1.81.10"}`;
|
|
108362
108388
|
}
|
|
108363
108389
|
|
|
108364
108390
|
// src/utils/workloadContext.ts
|
|
@@ -108380,7 +108406,7 @@ function getUserAgent() {
|
|
|
108380
108406
|
const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
|
|
108381
108407
|
const workload = getWorkload();
|
|
108382
108408
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
108383
|
-
return `ur-cli/${"1.81.
|
|
108409
|
+
return `ur-cli/${"1.81.10"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
108384
108410
|
}
|
|
108385
108411
|
function getMCPUserAgent() {
|
|
108386
108412
|
const parts = [];
|
|
@@ -108394,7 +108420,7 @@ function getMCPUserAgent() {
|
|
|
108394
108420
|
parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
|
|
108395
108421
|
}
|
|
108396
108422
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
108397
|
-
return `ur/${"1.81.
|
|
108423
|
+
return `ur/${"1.81.10"}${suffix}`;
|
|
108398
108424
|
}
|
|
108399
108425
|
function getWebFetchUserAgent() {
|
|
108400
108426
|
return `UR-User (${getURCodeUserAgent()})`;
|
|
@@ -108532,7 +108558,7 @@ var init_user = __esm(() => {
|
|
|
108532
108558
|
deviceId,
|
|
108533
108559
|
sessionId: getSessionId(),
|
|
108534
108560
|
email: getEmail(),
|
|
108535
|
-
appVersion: "1.81.
|
|
108561
|
+
appVersion: "1.81.10",
|
|
108536
108562
|
platform: getHostPlatformForAnalytics(),
|
|
108537
108563
|
organizationUuid,
|
|
108538
108564
|
accountUuid,
|
|
@@ -116419,7 +116445,7 @@ var init_metadata = __esm(() => {
|
|
|
116419
116445
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
116420
116446
|
WHITESPACE_REGEX = /\s+/;
|
|
116421
116447
|
getVersionBase = memoize_default(() => {
|
|
116422
|
-
const match = "1.81.
|
|
116448
|
+
const match = "1.81.10".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
116423
116449
|
return match ? match[0] : undefined;
|
|
116424
116450
|
});
|
|
116425
116451
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -116459,7 +116485,7 @@ var init_metadata = __esm(() => {
|
|
|
116459
116485
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
116460
116486
|
isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
|
|
116461
116487
|
isURAiAuth: isURAISubscriber(),
|
|
116462
|
-
version: "1.81.
|
|
116488
|
+
version: "1.81.10",
|
|
116463
116489
|
versionBase: getVersionBase(),
|
|
116464
116490
|
buildTime: "",
|
|
116465
116491
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
@@ -117129,7 +117155,7 @@ function initialize1PEventLogging() {
|
|
|
117129
117155
|
const platform2 = getPlatform();
|
|
117130
117156
|
const attributes = {
|
|
117131
117157
|
[import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
|
|
117132
|
-
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.81.
|
|
117158
|
+
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.81.10"
|
|
117133
117159
|
};
|
|
117134
117160
|
if (platform2 === "wsl") {
|
|
117135
117161
|
const wslVersion = getWslVersion();
|
|
@@ -117157,7 +117183,7 @@ function initialize1PEventLogging() {
|
|
|
117157
117183
|
})
|
|
117158
117184
|
]
|
|
117159
117185
|
});
|
|
117160
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.81.
|
|
117186
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.81.10");
|
|
117161
117187
|
}
|
|
117162
117188
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
117163
117189
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -127123,7 +127149,7 @@ function formatA2AAgentCard(options = {}, pretty = true) {
|
|
|
127123
127149
|
function formatA2AV1AgentCard(options = {}, pretty = true) {
|
|
127124
127150
|
return JSON.stringify(buildA2AV1AgentCard(options), null, pretty ? 2 : 0);
|
|
127125
127151
|
}
|
|
127126
|
-
var urVersion = "1.81.
|
|
127152
|
+
var urVersion = "1.81.10", researchSnapshotDate = "2026-08-10", coverage, priorityRoadmap;
|
|
127127
127153
|
var init_trends = __esm(() => {
|
|
127128
127154
|
init_a2aCardSignature();
|
|
127129
127155
|
coverage = [
|
|
@@ -130013,7 +130039,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
130013
130039
|
if (!isAttributionHeaderEnabled()) {
|
|
130014
130040
|
return "";
|
|
130015
130041
|
}
|
|
130016
|
-
const version2 = `${"1.81.
|
|
130042
|
+
const version2 = `${"1.81.10"}.${fingerprint}`;
|
|
130017
130043
|
const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
|
|
130018
130044
|
const cch = "";
|
|
130019
130045
|
const workload = getWorkload();
|
|
@@ -182998,7 +183024,11 @@ async function* withRetry(getClient, operation, options2) {
|
|
|
182998
183024
|
throw error40;
|
|
182999
183025
|
}
|
|
183000
183026
|
const minRequired = (retryContext.thinkingConfig.type === "enabled" ? retryContext.thinkingConfig.budgetTokens : 0) + 1;
|
|
183001
|
-
|
|
183027
|
+
if (minRequired > availableContext) {
|
|
183028
|
+
logError2(new Error(`thinking budget requires ${minRequired} tokens but only ${availableContext} output tokens fit in the context window`));
|
|
183029
|
+
throw error40;
|
|
183030
|
+
}
|
|
183031
|
+
const adjustedMaxTokens = availableContext;
|
|
183002
183032
|
retryContext.maxTokensOverride = adjustedMaxTokens;
|
|
183003
183033
|
logEvent("tengu_max_tokens_context_overflow_adjustment", {
|
|
183004
183034
|
inputTokens,
|
|
@@ -183079,21 +183109,18 @@ function parseMaxTokensContextOverflowError(error40) {
|
|
|
183079
183109
|
if (error40.status !== 400 || !error40.message) {
|
|
183080
183110
|
return;
|
|
183081
183111
|
}
|
|
183082
|
-
|
|
183083
|
-
|
|
183084
|
-
|
|
183085
|
-
const
|
|
183086
|
-
const
|
|
183087
|
-
if (!
|
|
183112
|
+
const arithmeticMatch = error40.message.match(/input length and `max_tokens` exceed context limit:\s*([\d,]+)\s*\+\s*([\d,]+)\s*>\s*([\d,]+)/i);
|
|
183113
|
+
const vllmMatch = error40.message.match(/maximum context length is\s+([\d,]+)\s+tokens[\s\S]*?requested\s+([\d,]+)\s+output tokens[\s\S]*?prompt contains(?:\s+at least)?\s+([\d,]+)\s+input tokens/i);
|
|
183114
|
+
const rawInputTokens = arithmeticMatch?.[1] ?? vllmMatch?.[3];
|
|
183115
|
+
const rawMaxTokens = arithmeticMatch?.[2] ?? vllmMatch?.[2];
|
|
183116
|
+
const rawContextLimit = arithmeticMatch?.[3] ?? vllmMatch?.[1];
|
|
183117
|
+
if (!rawInputTokens || !rawMaxTokens || !rawContextLimit) {
|
|
183088
183118
|
return;
|
|
183089
183119
|
}
|
|
183090
|
-
|
|
183091
|
-
|
|
183092
|
-
|
|
183093
|
-
|
|
183094
|
-
const inputTokens = parseInt(match[1], 10);
|
|
183095
|
-
const maxTokens = parseInt(match[2], 10);
|
|
183096
|
-
const contextLimit = parseInt(match[3], 10);
|
|
183120
|
+
const parseTokenCount = (value) => Number.parseInt(value.replaceAll(",", ""), 10);
|
|
183121
|
+
const inputTokens = parseTokenCount(rawInputTokens);
|
|
183122
|
+
const maxTokens = parseTokenCount(rawMaxTokens);
|
|
183123
|
+
const contextLimit = parseTokenCount(rawContextLimit);
|
|
183097
183124
|
if (isNaN(inputTokens) || isNaN(maxTokens) || isNaN(contextLimit)) {
|
|
183098
183125
|
return;
|
|
183099
183126
|
}
|
|
@@ -184934,7 +184961,7 @@ var init_projectSafety = __esm(() => {
|
|
|
184934
184961
|
function getInstruments() {
|
|
184935
184962
|
if (instruments)
|
|
184936
184963
|
return instruments;
|
|
184937
|
-
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.81.
|
|
184964
|
+
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.81.10");
|
|
184938
184965
|
instruments = {
|
|
184939
184966
|
operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
|
|
184940
184967
|
description: "GenAI operation duration.",
|
|
@@ -185032,7 +185059,7 @@ function genAiAgentAttributes() {
|
|
|
185032
185059
|
"gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
|
|
185033
185060
|
"gen_ai.provider.name": "ur",
|
|
185034
185061
|
"gen_ai.agent.name": "UR-Nexus",
|
|
185035
|
-
"gen_ai.agent.version": "1.81.
|
|
185062
|
+
"gen_ai.agent.version": "1.81.10"
|
|
185036
185063
|
};
|
|
185037
185064
|
}
|
|
185038
185065
|
function genAiWorkflowAttributes(workflowName, workflowRunId) {
|
|
@@ -185053,7 +185080,7 @@ function genAiWorkflowAttributes(workflowName, workflowRunId) {
|
|
|
185053
185080
|
function startGenAiWorkflowSpan(workflowName, workflowRunId) {
|
|
185054
185081
|
const attributes = genAiWorkflowAttributes(workflowName, workflowRunId);
|
|
185055
185082
|
const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
|
|
185056
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.81.
|
|
185083
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.81.10").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
185057
185084
|
}
|
|
185058
185085
|
function endGenAiWorkflowSpan(span, options2 = {}) {
|
|
185059
185086
|
try {
|
|
@@ -185091,7 +185118,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
|
|
|
185091
185118
|
if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
|
|
185092
185119
|
attributes["gen_ai.memory.record.count"] = options2.recordCount;
|
|
185093
185120
|
}
|
|
185094
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.81.
|
|
185121
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.81.10").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
185095
185122
|
}
|
|
185096
185123
|
function endGenAiMemorySpan(span, options2 = {}) {
|
|
185097
185124
|
try {
|
|
@@ -278806,7 +278833,7 @@ function getTelemetryAttributes() {
|
|
|
278806
278833
|
attributes["session.id"] = sessionId;
|
|
278807
278834
|
}
|
|
278808
278835
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
278809
|
-
attributes["app.version"] = "1.81.
|
|
278836
|
+
attributes["app.version"] = "1.81.10";
|
|
278810
278837
|
}
|
|
278811
278838
|
const oauthAccount = getOauthAccountInfo();
|
|
278812
278839
|
if (oauthAccount) {
|
|
@@ -320210,7 +320237,7 @@ function getInstallationEnv() {
|
|
|
320210
320237
|
return;
|
|
320211
320238
|
}
|
|
320212
320239
|
function getURCodeVersion() {
|
|
320213
|
-
return "1.81.
|
|
320240
|
+
return "1.81.10";
|
|
320214
320241
|
}
|
|
320215
320242
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
320216
320243
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -327580,7 +327607,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
327580
327607
|
const client2 = new Client({
|
|
327581
327608
|
name: "ur",
|
|
327582
327609
|
title: "UR",
|
|
327583
|
-
version: "1.81.
|
|
327610
|
+
version: "1.81.10",
|
|
327584
327611
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
327585
327612
|
websiteUrl: PRODUCT_URL
|
|
327586
327613
|
}, {
|
|
@@ -327941,7 +327968,7 @@ var init_client5 = __esm(() => {
|
|
|
327941
327968
|
const client2 = new Client({
|
|
327942
327969
|
name: "ur",
|
|
327943
327970
|
title: "UR",
|
|
327944
|
-
version: "1.81.
|
|
327971
|
+
version: "1.81.10",
|
|
327945
327972
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
327946
327973
|
websiteUrl: PRODUCT_URL
|
|
327947
327974
|
}, {
|
|
@@ -340714,7 +340741,7 @@ async function createRuntime() {
|
|
|
340714
340741
|
bootstrapTelemetry();
|
|
340715
340742
|
const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
|
|
340716
340743
|
[import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
|
|
340717
|
-
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.81.
|
|
340744
|
+
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.81.10"
|
|
340718
340745
|
}));
|
|
340719
340746
|
const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
|
|
340720
340747
|
resource,
|
|
@@ -340747,11 +340774,11 @@ async function createRuntime() {
|
|
|
340747
340774
|
setMeterProvider(meterProvider);
|
|
340748
340775
|
setLoggerProvider(loggerProvider);
|
|
340749
340776
|
if (meterProvider) {
|
|
340750
|
-
const meter = meterProvider.getMeter("ur-agent", "1.81.
|
|
340777
|
+
const meter = meterProvider.getMeter("ur-agent", "1.81.10");
|
|
340751
340778
|
setMeter(meter, (name, options2) => meter.createCounter(name, options2));
|
|
340752
340779
|
}
|
|
340753
340780
|
if (loggerProvider) {
|
|
340754
|
-
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.81.
|
|
340781
|
+
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.81.10"));
|
|
340755
340782
|
}
|
|
340756
340783
|
if (!cleanupRegistered3) {
|
|
340757
340784
|
cleanupRegistered3 = true;
|
|
@@ -341413,9 +341440,9 @@ async function assertMinVersion() {
|
|
|
341413
341440
|
if (false) {}
|
|
341414
341441
|
try {
|
|
341415
341442
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
341416
|
-
if (versionConfig.minVersion && lt("1.81.
|
|
341443
|
+
if (versionConfig.minVersion && lt("1.81.10", versionConfig.minVersion)) {
|
|
341417
341444
|
console.error(`
|
|
341418
|
-
It looks like your version of UR (${"1.81.
|
|
341445
|
+
It looks like your version of UR (${"1.81.10"}) needs an update.
|
|
341419
341446
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
341420
341447
|
|
|
341421
341448
|
To update, please run:
|
|
@@ -341631,7 +341658,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
341631
341658
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
341632
341659
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
341633
341660
|
pid: process.pid,
|
|
341634
|
-
currentVersion: "1.81.
|
|
341661
|
+
currentVersion: "1.81.10"
|
|
341635
341662
|
});
|
|
341636
341663
|
return "in_progress";
|
|
341637
341664
|
}
|
|
@@ -341640,7 +341667,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
341640
341667
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
341641
341668
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
341642
341669
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
341643
|
-
currentVersion: "1.81.
|
|
341670
|
+
currentVersion: "1.81.10"
|
|
341644
341671
|
});
|
|
341645
341672
|
console.error(`
|
|
341646
341673
|
Error: Windows NPM detected in WSL
|
|
@@ -342175,7 +342202,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
342175
342202
|
}
|
|
342176
342203
|
async function getDoctorDiagnostic() {
|
|
342177
342204
|
const installationType = await getCurrentInstallationType();
|
|
342178
|
-
const version2 = typeof MACRO !== "undefined" ? "1.81.
|
|
342205
|
+
const version2 = typeof MACRO !== "undefined" ? "1.81.10" : "unknown";
|
|
342179
342206
|
const installationPath = await getInstallationPath();
|
|
342180
342207
|
const invokedBinary = getInvokedBinary();
|
|
342181
342208
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -343110,8 +343137,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
343110
343137
|
const maxVersion = await getMaxVersion();
|
|
343111
343138
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
343112
343139
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
343113
|
-
if (gte("1.81.
|
|
343114
|
-
logForDebugging(`Native installer: current version ${"1.81.
|
|
343140
|
+
if (gte("1.81.10", maxVersion)) {
|
|
343141
|
+
logForDebugging(`Native installer: current version ${"1.81.10"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
343115
343142
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
343116
343143
|
latency_ms: Date.now() - startTime,
|
|
343117
343144
|
max_version: maxVersion,
|
|
@@ -343122,7 +343149,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
343122
343149
|
version2 = maxVersion;
|
|
343123
343150
|
}
|
|
343124
343151
|
}
|
|
343125
|
-
if (!forceReinstall && version2 === "1.81.
|
|
343152
|
+
if (!forceReinstall && version2 === "1.81.10" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
|
|
343126
343153
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
343127
343154
|
logEvent("tengu_native_update_complete", {
|
|
343128
343155
|
latency_ms: Date.now() - startTime,
|
|
@@ -413812,7 +413839,7 @@ function isAnyTracingEnabled() {
|
|
|
413812
413839
|
return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
|
|
413813
413840
|
}
|
|
413814
413841
|
function getTracer() {
|
|
413815
|
-
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.81.
|
|
413842
|
+
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.81.10");
|
|
413816
413843
|
}
|
|
413817
413844
|
function createSpanAttributes(spanType, customAttributes = {}) {
|
|
413818
413845
|
const baseAttributes = getTelemetryAttributes();
|
|
@@ -443951,7 +443978,7 @@ function Feedback({
|
|
|
443951
443978
|
platform: env2.platform,
|
|
443952
443979
|
gitRepo: envInfo.isGit,
|
|
443953
443980
|
terminal: env2.terminal,
|
|
443954
|
-
version: "1.81.
|
|
443981
|
+
version: "1.81.10",
|
|
443955
443982
|
transcript: normalizeMessagesForAPI(messages),
|
|
443956
443983
|
errors: sanitizedErrors,
|
|
443957
443984
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -444143,7 +444170,7 @@ function Feedback({
|
|
|
444143
444170
|
", ",
|
|
444144
444171
|
env2.terminal,
|
|
444145
444172
|
", v",
|
|
444146
|
-
"1.81.
|
|
444173
|
+
"1.81.10"
|
|
444147
444174
|
]
|
|
444148
444175
|
}, undefined, true, undefined, this)
|
|
444149
444176
|
]
|
|
@@ -444249,7 +444276,7 @@ ${sanitizedDescription}
|
|
|
444249
444276
|
` + `**Environment Info**
|
|
444250
444277
|
` + `- Platform: ${env2.platform}
|
|
444251
444278
|
` + `- Terminal: ${env2.terminal}
|
|
444252
|
-
` + `- Version: ${"1.81.
|
|
444279
|
+
` + `- Version: ${"1.81.10"}
|
|
444253
444280
|
` + `- Feedback ID: ${feedbackId}
|
|
444254
444281
|
` + `
|
|
444255
444282
|
**Errors**
|
|
@@ -447359,7 +447386,7 @@ function buildPrimarySection() {
|
|
|
447359
447386
|
}, undefined, false, undefined, this);
|
|
447360
447387
|
return [{
|
|
447361
447388
|
label: "Version",
|
|
447362
|
-
value: "1.81.
|
|
447389
|
+
value: "1.81.10"
|
|
447363
447390
|
}, {
|
|
447364
447391
|
label: "Session name",
|
|
447365
447392
|
value: nameValue
|
|
@@ -450862,7 +450889,7 @@ function Config({
|
|
|
450862
450889
|
}
|
|
450863
450890
|
}, undefined, false, undefined, this)
|
|
450864
450891
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
|
|
450865
|
-
currentVersion: "1.81.
|
|
450892
|
+
currentVersion: "1.81.10",
|
|
450866
450893
|
onChoice: (choice) => {
|
|
450867
450894
|
setShowSubmenu(null);
|
|
450868
450895
|
setTabsHidden(false);
|
|
@@ -450874,7 +450901,7 @@ function Config({
|
|
|
450874
450901
|
autoUpdatesChannel: "stable"
|
|
450875
450902
|
};
|
|
450876
450903
|
if (choice === "stay") {
|
|
450877
|
-
newSettings.minimumVersion = "1.81.
|
|
450904
|
+
newSettings.minimumVersion = "1.81.10";
|
|
450878
450905
|
}
|
|
450879
450906
|
updateSettingsForSource("userSettings", newSettings);
|
|
450880
450907
|
setSettingsData((prev_27) => ({
|
|
@@ -459183,7 +459210,7 @@ function HelpV2(t0) {
|
|
|
459183
459210
|
let t6;
|
|
459184
459211
|
if ($2[31] !== tabs) {
|
|
459185
459212
|
t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
|
|
459186
|
-
title: `UR v${"1.81.
|
|
459213
|
+
title: `UR v${"1.81.10"}`,
|
|
459187
459214
|
color: "professionalBlue",
|
|
459188
459215
|
defaultTab: "general",
|
|
459189
459216
|
children: tabs
|
|
@@ -460116,7 +460143,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
|
|
|
460116
460143
|
async function handleInitialize(options2) {
|
|
460117
460144
|
return {
|
|
460118
460145
|
name: "UR",
|
|
460119
|
-
version: "1.81.
|
|
460146
|
+
version: "1.81.10",
|
|
460120
460147
|
protocolVersion: "0.1.0",
|
|
460121
460148
|
workspaceRoot: options2.cwd,
|
|
460122
460149
|
capabilities: {
|
|
@@ -477224,7 +477251,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
477224
477251
|
return [];
|
|
477225
477252
|
}
|
|
477226
477253
|
}
|
|
477227
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.81.
|
|
477254
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.81.10") {
|
|
477228
477255
|
if (process.env.USER_TYPE === "ant") {
|
|
477229
477256
|
const changelog = "";
|
|
477230
477257
|
if (changelog) {
|
|
@@ -477251,7 +477278,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.81.8")
|
|
|
477251
477278
|
releaseNotes
|
|
477252
477279
|
};
|
|
477253
477280
|
}
|
|
477254
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.81.
|
|
477281
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.81.10") {
|
|
477255
477282
|
if (process.env.USER_TYPE === "ant") {
|
|
477256
477283
|
const changelog = "";
|
|
477257
477284
|
if (changelog) {
|
|
@@ -480159,7 +480186,7 @@ function getRecentActivitySync() {
|
|
|
480159
480186
|
return cachedActivity;
|
|
480160
480187
|
}
|
|
480161
480188
|
function getLogoDisplayData() {
|
|
480162
|
-
const version2 = process.env.DEMO_VERSION ?? "1.81.
|
|
480189
|
+
const version2 = process.env.DEMO_VERSION ?? "1.81.10";
|
|
480163
480190
|
const serverUrl = getDirectConnectServerUrl();
|
|
480164
480191
|
const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
|
|
480165
480192
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -480234,8 +480261,6 @@ var init_logoV2Utils = __esm(() => {
|
|
|
480234
480261
|
|
|
480235
480262
|
// src/components/LogoV2/URBanner.tsx
|
|
480236
480263
|
function getResponsiveURWordmarkVariant(availableWidth = Number.POSITIVE_INFINITY, availableHeight = Number.POSITIVE_INFINITY) {
|
|
480237
|
-
if (availableWidth >= 41 && availableHeight >= 22)
|
|
480238
|
-
return "full";
|
|
480239
480264
|
if (availableWidth >= 20 && availableHeight >= 8)
|
|
480240
480265
|
return "compact";
|
|
480241
480266
|
return "minimal";
|
|
@@ -480250,7 +480275,7 @@ function URBanner({
|
|
|
480250
480275
|
}, undefined, false, undefined, this);
|
|
480251
480276
|
}
|
|
480252
480277
|
const variant = getResponsiveURWordmarkVariant(availableWidth, availableHeight);
|
|
480253
|
-
const rows = variant === "
|
|
480278
|
+
const rows = variant === "compact" ? UR_WORDMARK_ROWS : ["UR"];
|
|
480254
480279
|
const showTagline = variant !== "minimal";
|
|
480255
480280
|
const decorateTagline = (availableWidth ?? Number.POSITIVE_INFINITY) >= 24;
|
|
480256
480281
|
return /* @__PURE__ */ jsx_dev_runtime233.jsxDEV(ThemedBox_default, {
|
|
@@ -480268,30 +480293,12 @@ function URBanner({
|
|
|
480268
480293
|
]
|
|
480269
480294
|
}, undefined, true, undefined, this);
|
|
480270
480295
|
}
|
|
480271
|
-
var jsx_dev_runtime233, UR_WORDMARK_ROWS,
|
|
480296
|
+
var jsx_dev_runtime233, UR_WORDMARK_ROWS, UR_WORDMARK_TAGLINE = "THE AUTONOMOUS AGENT";
|
|
480272
480297
|
var init_URBanner = __esm(() => {
|
|
480273
480298
|
init_ink2();
|
|
480274
480299
|
init_screenReader();
|
|
480275
480300
|
jsx_dev_runtime233 = __toESM(require_jsx_dev_runtime(), 1);
|
|
480276
480301
|
UR_WORDMARK_ROWS = [
|
|
480277
|
-
"UUUUUUUU UUUUUUUURRRRRRRRRRRRRRRRR ",
|
|
480278
|
-
"U::::::U U::::::UR::::::::::::::::R ",
|
|
480279
|
-
"U::::::U U::::::UR::::::RRRRRR:::::R ",
|
|
480280
|
-
"UU:::::U U:::::UURR:::::R R:::::R",
|
|
480281
|
-
" U:::::U U:::::U R::::R R:::::R",
|
|
480282
|
-
" U:::::D D:::::U R::::R R:::::R",
|
|
480283
|
-
" U:::::D D:::::U R::::RRRRRR:::::R ",
|
|
480284
|
-
" U:::::D D:::::U R:::::::::::::RR ",
|
|
480285
|
-
" U:::::D D:::::U R::::RRRRRR:::::R ",
|
|
480286
|
-
" U:::::D D:::::U R::::R R:::::R",
|
|
480287
|
-
" U:::::D D:::::U R::::R R:::::R",
|
|
480288
|
-
" U::::::U U::::::U R::::R R:::::R",
|
|
480289
|
-
" U:::::::UUU:::::::U RR:::::R R:::::R",
|
|
480290
|
-
" UU:::::::::::::UU R::::::R R:::::R",
|
|
480291
|
-
" UU:::::::::UU R::::::R R:::::R",
|
|
480292
|
-
" UUUUUUUUU RRRRRRRR RRRRRRR"
|
|
480293
|
-
];
|
|
480294
|
-
COMPACT_UR_WORDMARK_ROWS = [
|
|
480295
480302
|
"\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 ",
|
|
480296
480303
|
"\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557",
|
|
480297
480304
|
"\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D",
|
|
@@ -481067,7 +481074,7 @@ function LogoV2() {
|
|
|
481067
481074
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
481068
481075
|
t2 = () => {
|
|
481069
481076
|
const currentConfig = getGlobalConfig();
|
|
481070
|
-
if (currentConfig.lastReleaseNotesSeen === "1.81.
|
|
481077
|
+
if (currentConfig.lastReleaseNotesSeen === "1.81.10") {
|
|
481071
481078
|
return;
|
|
481072
481079
|
}
|
|
481073
481080
|
saveGlobalConfig(_temp325);
|
|
@@ -481755,12 +481762,12 @@ function LogoV2() {
|
|
|
481755
481762
|
return t41;
|
|
481756
481763
|
}
|
|
481757
481764
|
function _temp325(current) {
|
|
481758
|
-
if (current.lastReleaseNotesSeen === "1.81.
|
|
481765
|
+
if (current.lastReleaseNotesSeen === "1.81.10") {
|
|
481759
481766
|
return current;
|
|
481760
481767
|
}
|
|
481761
481768
|
return {
|
|
481762
481769
|
...current,
|
|
481763
|
-
lastReleaseNotesSeen: "1.81.
|
|
481770
|
+
lastReleaseNotesSeen: "1.81.10"
|
|
481764
481771
|
};
|
|
481765
481772
|
}
|
|
481766
481773
|
function _temp241(s_0) {
|
|
@@ -497710,7 +497717,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
|
|
|
497710
497717
|
if (spec.name !== specName) {
|
|
497711
497718
|
throw new Error("Agentic CI workflow spec name does not match");
|
|
497712
497719
|
}
|
|
497713
|
-
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.81.
|
|
497720
|
+
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.81.10" : "1.81.10");
|
|
497714
497721
|
if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
|
|
497715
497722
|
throw new Error("invalid ur-agent package version");
|
|
497716
497723
|
}
|
|
@@ -498703,7 +498710,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
|
|
|
498703
498710
|
path: ".github/workflows/ur.yml",
|
|
498704
498711
|
root: "project",
|
|
498705
498712
|
content: compileAgenticCiWorkflow("default", {
|
|
498706
|
-
packageVersion: typeof MACRO !== "undefined" ? "1.81.
|
|
498713
|
+
packageVersion: typeof MACRO !== "undefined" ? "1.81.10" : "1.81.10"
|
|
498707
498714
|
})
|
|
498708
498715
|
},
|
|
498709
498716
|
{
|
|
@@ -498766,7 +498773,7 @@ function value(tokens, flag) {
|
|
|
498766
498773
|
return index2 >= 0 ? tokens[index2 + 1] : undefined;
|
|
498767
498774
|
}
|
|
498768
498775
|
function cliVersion() {
|
|
498769
|
-
return typeof MACRO !== "undefined" ? "1.81.
|
|
498776
|
+
return typeof MACRO !== "undefined" ? "1.81.10" : "1.81.10";
|
|
498770
498777
|
}
|
|
498771
498778
|
function workflowPath(cwd2) {
|
|
498772
498779
|
return join168(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
|
|
@@ -504622,7 +504629,7 @@ function createAcpStdioApp(deps) {
|
|
|
504622
504629
|
}
|
|
504623
504630
|
},
|
|
504624
504631
|
authMethods: [],
|
|
504625
|
-
agentInfo: { name: "UR-Nexus", version: "1.81.
|
|
504632
|
+
agentInfo: { name: "UR-Nexus", version: "1.81.10" }
|
|
504626
504633
|
})).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
|
|
504627
504634
|
const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
|
|
504628
504635
|
await runtime2.announce({
|
|
@@ -504719,7 +504726,7 @@ function createAcpStdioAgent(deps) {
|
|
|
504719
504726
|
}
|
|
504720
504727
|
},
|
|
504721
504728
|
authMethods: [],
|
|
504722
|
-
agentInfo: { name: "UR-Nexus", version: "1.81.
|
|
504729
|
+
agentInfo: { name: "UR-Nexus", version: "1.81.10" }
|
|
504723
504730
|
});
|
|
504724
504731
|
return;
|
|
504725
504732
|
case "authenticate":
|
|
@@ -715971,7 +715978,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
|
|
|
715971
715978
|
smapsRollup,
|
|
715972
715979
|
platform: process.platform,
|
|
715973
715980
|
nodeVersion: process.version,
|
|
715974
|
-
ccVersion: "1.81.
|
|
715981
|
+
ccVersion: "1.81.10"
|
|
715975
715982
|
};
|
|
715976
715983
|
}
|
|
715977
715984
|
async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
|
|
@@ -716560,7 +716567,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
716560
716567
|
var call154 = async () => {
|
|
716561
716568
|
return {
|
|
716562
716569
|
type: "text",
|
|
716563
|
-
value: "1.81.
|
|
716570
|
+
value: "1.81.10"
|
|
716564
716571
|
};
|
|
716565
716572
|
}, version2, version_default;
|
|
716566
716573
|
var init_version = __esm(() => {
|
|
@@ -728028,7 +728035,7 @@ function generateHtmlReport(data, insights) {
|
|
|
728028
728035
|
</html>`;
|
|
728029
728036
|
}
|
|
728030
728037
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
728031
|
-
const version3 = typeof MACRO !== "undefined" ? "1.81.
|
|
728038
|
+
const version3 = typeof MACRO !== "undefined" ? "1.81.10" : "unknown";
|
|
728032
728039
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
728033
728040
|
const facets_summary = {
|
|
728034
728041
|
total: facets.size,
|
|
@@ -732341,7 +732348,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
732341
732348
|
init_settings2();
|
|
732342
732349
|
init_slowOperations();
|
|
732343
732350
|
init_uuid();
|
|
732344
|
-
VERSION7 = typeof MACRO !== "undefined" ? "1.81.
|
|
732351
|
+
VERSION7 = typeof MACRO !== "undefined" ? "1.81.10" : "unknown";
|
|
732345
732352
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
732346
732353
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
732347
732354
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -733556,7 +733563,7 @@ var init_filesystem = __esm(() => {
|
|
|
733556
733563
|
});
|
|
733557
733564
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
733558
733565
|
const nonce = randomBytes24(16).toString("hex");
|
|
733559
|
-
return join243(getURTempDir(), "bundled-skills", "1.81.
|
|
733566
|
+
return join243(getURTempDir(), "bundled-skills", "1.81.10", nonce);
|
|
733560
733567
|
});
|
|
733561
733568
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
733562
733569
|
});
|
|
@@ -739956,11 +739963,81 @@ function computeFingerprint(messageText2, version3) {
|
|
|
739956
739963
|
}
|
|
739957
739964
|
function computeFingerprintFromMessages(messages) {
|
|
739958
739965
|
const firstMessageText = extractFirstMessageText(messages);
|
|
739959
|
-
return computeFingerprint(firstMessageText, "1.81.
|
|
739966
|
+
return computeFingerprint(firstMessageText, "1.81.10");
|
|
739960
739967
|
}
|
|
739961
739968
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
739962
739969
|
var init_fingerprint = () => {};
|
|
739963
739970
|
|
|
739971
|
+
// src/utils/model/providerRequestTuning.ts
|
|
739972
|
+
function usesConservativeOutputReservation(provider) {
|
|
739973
|
+
return CONSERVATIVE_OUTPUT_PROVIDERS.has(provider);
|
|
739974
|
+
}
|
|
739975
|
+
function getProviderRequestProfile(input) {
|
|
739976
|
+
if (!LIGHTWEIGHT_CHAT_PROVIDERS.has(input.provider) || !(input.querySource.startsWith("repl_main_thread") || input.querySource === "sdk")) {
|
|
739977
|
+
return { mode: "agent" };
|
|
739978
|
+
}
|
|
739979
|
+
if (input.messages.some((message) => message.type === "assistant")) {
|
|
739980
|
+
return { mode: "agent" };
|
|
739981
|
+
}
|
|
739982
|
+
const visibleUserMessages = input.messages.filter((message) => message.type === "user" && !message.isMeta && !message.isCompactSummary && !message.toolUseResult);
|
|
739983
|
+
if (visibleUserMessages.length !== 1) {
|
|
739984
|
+
return { mode: "agent" };
|
|
739985
|
+
}
|
|
739986
|
+
const prompt = textOnlyContent(visibleUserMessages[0]);
|
|
739987
|
+
if (prompt === undefined || !isTrivialGreeting(prompt)) {
|
|
739988
|
+
return { mode: "agent" };
|
|
739989
|
+
}
|
|
739990
|
+
return {
|
|
739991
|
+
mode: "lightweight-chat",
|
|
739992
|
+
maxOutputTokens: LIGHTWEIGHT_CHAT_MAX_OUTPUT_TOKENS,
|
|
739993
|
+
minContextTokens: LIGHTWEIGHT_CHAT_MIN_CONTEXT_TOKENS,
|
|
739994
|
+
systemPrompt: LIGHTWEIGHT_CHAT_SYSTEM_PROMPT
|
|
739995
|
+
};
|
|
739996
|
+
}
|
|
739997
|
+
function textOnlyContent(message) {
|
|
739998
|
+
const content = message?.message?.content;
|
|
739999
|
+
if (typeof content === "string")
|
|
740000
|
+
return content.trim();
|
|
740001
|
+
if (!Array.isArray(content) || content.length === 0)
|
|
740002
|
+
return;
|
|
740003
|
+
if (content.some((block2) => !block2 || typeof block2 !== "object" || block2.type !== "text" || typeof block2.text !== "string")) {
|
|
740004
|
+
return;
|
|
740005
|
+
}
|
|
740006
|
+
return content.map((block2) => block2.text).join(`
|
|
740007
|
+
`).trim();
|
|
740008
|
+
}
|
|
740009
|
+
function isTrivialGreeting(prompt) {
|
|
740010
|
+
const normalized = prompt.trim().toLowerCase();
|
|
740011
|
+
return /^(?:hi|hello|hey|hiya|greetings|good (?:morning|afternoon|evening)|thanks|thank you|ok|okay)[!.?,\s]*$/.test(normalized);
|
|
740012
|
+
}
|
|
740013
|
+
var CONSERVATIVE_OUTPUT_PROVIDERS, LIGHTWEIGHT_CHAT_PROVIDERS, LIGHTWEIGHT_CHAT_MAX_OUTPUT_TOKENS = 1024, LIGHTWEIGHT_CHAT_MIN_CONTEXT_TOKENS, SELF_HOSTED_DEFAULT_MAX_OUTPUT_TOKENS = 4096, LIGHTWEIGHT_CHAT_SYSTEM_PROMPT = "You are UR, a precise and professional AI assistant. Respond directly, clearly, and concisely. Do not claim to have inspected files or used tools in this lightweight chat turn.";
|
|
740014
|
+
var init_providerRequestTuning = __esm(() => {
|
|
740015
|
+
init_ollamaTuning();
|
|
740016
|
+
CONSERVATIVE_OUTPUT_PROVIDERS = new Set([
|
|
740017
|
+
"ollama",
|
|
740018
|
+
"lmstudio",
|
|
740019
|
+
"llama.cpp",
|
|
740020
|
+
"vllm",
|
|
740021
|
+
"openai-compatible"
|
|
740022
|
+
]);
|
|
740023
|
+
LIGHTWEIGHT_CHAT_PROVIDERS = new Set([
|
|
740024
|
+
"ollama",
|
|
740025
|
+
"lmstudio",
|
|
740026
|
+
"llama.cpp",
|
|
740027
|
+
"vllm",
|
|
740028
|
+
"openai-compatible",
|
|
740029
|
+
"openai-api",
|
|
740030
|
+
"anthropic-api",
|
|
740031
|
+
"gemini-api",
|
|
740032
|
+
"openrouter",
|
|
740033
|
+
"codex-cli",
|
|
740034
|
+
"claude-code-cli",
|
|
740035
|
+
"gemini-cli",
|
|
740036
|
+
"antigravity-cli"
|
|
740037
|
+
]);
|
|
740038
|
+
LIGHTWEIGHT_CHAT_MIN_CONTEXT_TOKENS = MIN_CHAT_NUM_CTX;
|
|
740039
|
+
});
|
|
740040
|
+
|
|
739964
740041
|
// src/services/compact/apiMicrocompact.ts
|
|
739965
740042
|
function getAPIContextManagement(options5) {
|
|
739966
740043
|
const {
|
|
@@ -740492,6 +740569,15 @@ async function* queryModel(messages, systemPrompt, thinkingConfig, tools, signal
|
|
|
740492
740569
|
}
|
|
740493
740570
|
const previousRequestId = getPreviousRequestIdFromMessages(messages);
|
|
740494
740571
|
const resolvedModel = isBedrockRuntime() && options5.model.includes("application-inference-profile") ? await getInferenceProfileBackingModel(options5.model) ?? options5.model : options5.model;
|
|
740572
|
+
const requestProvider = options5.providerSettings?.active ?? getRuntimeProvider();
|
|
740573
|
+
const candidateRequestProfile = getProviderRequestProfile({
|
|
740574
|
+
provider: requestProvider,
|
|
740575
|
+
querySource: options5.querySource,
|
|
740576
|
+
messages
|
|
740577
|
+
});
|
|
740578
|
+
const providerRequestProfile = candidateRequestProfile.mode === "lightweight-chat" && !options5.hasAppendSystemPrompt && !options5.outputFormat && !options5.toolChoice && (options5.extraToolSchemas?.length ?? 0) === 0 ? candidateRequestProfile : { mode: "agent" };
|
|
740579
|
+
const isLightweightChat = providerRequestProfile.mode === "lightweight-chat";
|
|
740580
|
+
logForDebugging(`Provider request profile: ${providerRequestProfile.mode} (${requestProvider}, source=${options5.querySource}, messages=${messages.length})`);
|
|
740495
740581
|
queryCheckpoint("query_tool_schema_build_start");
|
|
740496
740582
|
const isAgenticQuery = options5.querySource.startsWith("repl_main_thread") || options5.querySource.startsWith("agent:") || options5.querySource === "sdk" || options5.querySource === "hook_agent" || options5.querySource === "verification_agent";
|
|
740497
740583
|
const betas = getMergedBetas(options5.model, { isAgenticQuery });
|
|
@@ -740499,7 +740585,7 @@ async function* queryModel(messages, systemPrompt, thinkingConfig, tools, signal
|
|
|
740499
740585
|
betas.push(ADVISOR_BETA_HEADER);
|
|
740500
740586
|
}
|
|
740501
740587
|
let advisorModel;
|
|
740502
|
-
if (isAgenticQuery && isAdvisorEnabled()) {
|
|
740588
|
+
if (isAgenticQuery && isAdvisorEnabled() && !isLightweightChat) {
|
|
740503
740589
|
let advisorOption = options5.advisorModel;
|
|
740504
740590
|
const advisorExperiment = getExperimentAdvisorModels();
|
|
740505
740591
|
if (advisorExperiment !== undefined) {
|
|
@@ -740519,7 +740605,7 @@ async function* queryModel(messages, systemPrompt, thinkingConfig, tools, signal
|
|
|
740519
740605
|
}
|
|
740520
740606
|
}
|
|
740521
740607
|
}
|
|
740522
|
-
let useToolSearch = await isToolSearchEnabled(options5.model, tools, options5.getToolPermissionContext, options5.agents, "query");
|
|
740608
|
+
let useToolSearch = isLightweightChat ? false : await isToolSearchEnabled(options5.model, tools, options5.getToolPermissionContext, options5.agents, "query");
|
|
740523
740609
|
const deferredToolNames = new Set;
|
|
740524
740610
|
if (useToolSearch) {
|
|
740525
740611
|
for (const t of tools) {
|
|
@@ -740532,7 +740618,9 @@ async function* queryModel(messages, systemPrompt, thinkingConfig, tools, signal
|
|
|
740532
740618
|
useToolSearch = false;
|
|
740533
740619
|
}
|
|
740534
740620
|
let filteredTools;
|
|
740535
|
-
if (
|
|
740621
|
+
if (isLightweightChat) {
|
|
740622
|
+
filteredTools = [];
|
|
740623
|
+
} else if (useToolSearch) {
|
|
740536
740624
|
const discoveredToolNames = extractDiscoveredToolNames(messages);
|
|
740537
740625
|
filteredTools = tools.filter((tool) => {
|
|
740538
740626
|
if (!deferredToolNames.has(tool.name))
|
|
@@ -740576,7 +740664,8 @@ async function* queryModel(messages, systemPrompt, thinkingConfig, tools, signal
|
|
|
740576
740664
|
preNormalizedMessageCount: messages.length
|
|
740577
740665
|
});
|
|
740578
740666
|
queryCheckpoint("query_message_normalization_start");
|
|
740579
|
-
|
|
740667
|
+
const requestMessages = isLightweightChat ? messages.filter((message) => message.type === "user" && !message.isMeta && !message.isCompactSummary && !message.toolUseResult) : messages;
|
|
740668
|
+
let messagesForAPI = normalizeMessagesForAPI(requestMessages, filteredTools);
|
|
740580
740669
|
queryCheckpoint("query_message_normalization_end");
|
|
740581
740670
|
if (!useToolSearch) {
|
|
740582
740671
|
messagesForAPI = messagesForAPI.map((msg) => {
|
|
@@ -740616,8 +740705,11 @@ ${deferredToolList}
|
|
|
740616
740705
|
}
|
|
740617
740706
|
const hasChromeTools = filteredTools.some((t) => isToolFromMcpServer(t.name, UR_IN_CHROME_MCP_SERVER_NAME));
|
|
740618
740707
|
const injectChromeHere = useToolSearch && hasChromeTools && !isMcpInstructionsDeltaEnabled();
|
|
740708
|
+
if (providerRequestProfile.mode === "lightweight-chat") {
|
|
740709
|
+
systemPrompt = asSystemPrompt([providerRequestProfile.systemPrompt]);
|
|
740710
|
+
}
|
|
740619
740711
|
systemPrompt = asSystemPrompt([
|
|
740620
|
-
getAttributionHeader(fingerprint2),
|
|
740712
|
+
usesConservativeOutputReservation(requestProvider) ? "" : getAttributionHeader(fingerprint2),
|
|
740621
740713
|
getCLISyspromptPrefix({
|
|
740622
740714
|
isNonInteractive: options5.isNonInteractiveSession,
|
|
740623
740715
|
hasAppendSystemPrompt: options5.hasAppendSystemPrompt
|
|
@@ -740633,7 +740725,7 @@ ${deferredToolList}
|
|
|
740633
740725
|
querySource: options5.querySource
|
|
740634
740726
|
});
|
|
740635
740727
|
const useBetas = betas.length > 0;
|
|
740636
|
-
const extraToolSchemas = [...options5.extraToolSchemas ?? []];
|
|
740728
|
+
const extraToolSchemas = isLightweightChat ? [] : [...options5.extraToolSchemas ?? []];
|
|
740637
740729
|
if (advisorModel) {
|
|
740638
740730
|
extraToolSchemas.push({
|
|
740639
740731
|
type: "advisor_20260301",
|
|
@@ -740702,7 +740794,9 @@ ${deferredToolList}
|
|
|
740702
740794
|
const outputConfig = {
|
|
740703
740795
|
...extraBodyParams.output_config ?? {}
|
|
740704
740796
|
};
|
|
740705
|
-
|
|
740797
|
+
if (!isLightweightChat) {
|
|
740798
|
+
configureEffortParams(effort, outputConfig, extraBodyParams, betasParams, options5.model, options5.providerSettings?.active);
|
|
740799
|
+
}
|
|
740706
740800
|
configureTaskBudgetParams(options5.taskBudget, outputConfig, betasParams);
|
|
740707
740801
|
if (options5.outputFormat && !("format" in outputConfig)) {
|
|
740708
740802
|
outputConfig.format = options5.outputFormat;
|
|
@@ -740710,8 +740804,9 @@ ${deferredToolList}
|
|
|
740710
740804
|
betasParams.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
740711
740805
|
}
|
|
740712
740806
|
}
|
|
740713
|
-
const
|
|
740714
|
-
const
|
|
740807
|
+
const configuredMaxOutputTokens = retryContext?.maxTokensOverride || options5.maxOutputTokensOverride || getMaxOutputTokensForModel(options5.model, options5.providerSettings?.active ?? getRuntimeProvider());
|
|
740808
|
+
const maxOutputTokens2 = providerRequestProfile.mode === "lightweight-chat" ? Math.min(configuredMaxOutputTokens, providerRequestProfile.maxOutputTokens) : configuredMaxOutputTokens;
|
|
740809
|
+
const hasThinking = !isLightweightChat && thinkingConfig.type !== "disabled" && !isEnvTruthy(process.env.UR_CODE_DISABLE_THINKING);
|
|
740715
740810
|
let thinking = undefined;
|
|
740716
740811
|
if (hasThinking && modelSupportsThinking(options5.model)) {
|
|
740717
740812
|
if (!isEnvTruthy(process.env.UR_CODE_DISABLE_ADAPTIVE_THINKING) && modelSupportsAdaptiveThinking(options5.model)) {
|
|
@@ -741782,9 +741877,9 @@ function adjustParamsForNonStreaming(params, maxTokensCap) {
|
|
|
741782
741877
|
function isMaxTokensCapEnabled() {
|
|
741783
741878
|
return getFeatureValue_CACHED_MAY_BE_STALE("tengu_otk_slot_v1", false);
|
|
741784
741879
|
}
|
|
741785
|
-
function getMaxOutputTokensForModel(model) {
|
|
741786
|
-
const maxOutputTokens = getModelMaxOutputTokens(model);
|
|
741787
|
-
const defaultTokens = isMaxTokensCapEnabled() ? Math.min(maxOutputTokens.default, CAPPED_DEFAULT_MAX_TOKENS) : maxOutputTokens.default;
|
|
741880
|
+
function getMaxOutputTokensForModel(model, provider = getRuntimeProvider()) {
|
|
741881
|
+
const maxOutputTokens = getModelMaxOutputTokens(model, provider);
|
|
741882
|
+
const defaultTokens = usesConservativeOutputReservation(provider) ? Math.min(maxOutputTokens.default, SELF_HOSTED_DEFAULT_MAX_OUTPUT_TOKENS) : isMaxTokensCapEnabled() ? Math.min(maxOutputTokens.default, CAPPED_DEFAULT_MAX_TOKENS) : maxOutputTokens.default;
|
|
741788
741883
|
const result = validateBoundedIntEnvVar("UR_CODE_MAX_OUTPUT_TOKENS", process.env.UR_CODE_MAX_OUTPUT_TOKENS, defaultTokens, maxOutputTokens.upperLimit);
|
|
741789
741884
|
return result.effective;
|
|
741790
741885
|
}
|
|
@@ -741805,6 +741900,7 @@ var init_ur2 = __esm(() => {
|
|
|
741805
741900
|
init_log2();
|
|
741806
741901
|
init_messages();
|
|
741807
741902
|
init_model();
|
|
741903
|
+
init_providerRequestTuning();
|
|
741808
741904
|
init_tokens();
|
|
741809
741905
|
init_growthbook();
|
|
741810
741906
|
init_urAiLimits();
|
|
@@ -741891,7 +741987,7 @@ async function sideQuery(opts) {
|
|
|
741891
741987
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
741892
741988
|
}
|
|
741893
741989
|
const messageText2 = extractFirstUserMessageText(messages);
|
|
741894
|
-
const fingerprint2 = computeFingerprint(messageText2, "1.81.
|
|
741990
|
+
const fingerprint2 = computeFingerprint(messageText2, "1.81.10");
|
|
741895
741991
|
const attributionHeader = getAttributionHeader(fingerprint2);
|
|
741896
741992
|
const systemBlocks = [
|
|
741897
741993
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -746725,7 +746821,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
746725
746821
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
746726
746822
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
746727
746823
|
betas: getSdkBetas(),
|
|
746728
|
-
ur_version: "1.81.
|
|
746824
|
+
ur_version: "1.81.10",
|
|
746729
746825
|
output_style: outputStyle,
|
|
746730
746826
|
agents: inputs.agents.map((agent2) => agent2.agentType),
|
|
746731
746827
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
|
|
@@ -760561,7 +760657,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
760561
760657
|
function getSemverPart(version3) {
|
|
760562
760658
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
760563
760659
|
}
|
|
760564
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.81.
|
|
760660
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.81.10") {
|
|
760565
760661
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react225.useState(() => getSemverPart(initialVersion));
|
|
760566
760662
|
if (!updatedVersion) {
|
|
760567
760663
|
return null;
|
|
@@ -760610,7 +760706,7 @@ function AutoUpdater({
|
|
|
760610
760706
|
return;
|
|
760611
760707
|
}
|
|
760612
760708
|
if (false) {}
|
|
760613
|
-
const currentVersion = "1.81.
|
|
760709
|
+
const currentVersion = "1.81.10";
|
|
760614
760710
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
760615
760711
|
let latestVersion = await getLatestVersion(channel);
|
|
760616
760712
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -760839,12 +760935,12 @@ function NativeAutoUpdater({
|
|
|
760839
760935
|
logEvent("tengu_native_auto_updater_start", {});
|
|
760840
760936
|
try {
|
|
760841
760937
|
const maxVersion = await getMaxVersion();
|
|
760842
|
-
if (maxVersion && gt("1.81.
|
|
760938
|
+
if (maxVersion && gt("1.81.10", maxVersion)) {
|
|
760843
760939
|
const msg = await getMaxVersionMessage();
|
|
760844
760940
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
760845
760941
|
}
|
|
760846
760942
|
const result = await installLatest(channel);
|
|
760847
|
-
const currentVersion = "1.81.
|
|
760943
|
+
const currentVersion = "1.81.10";
|
|
760848
760944
|
const latencyMs = Date.now() - startTime;
|
|
760849
760945
|
if (result.lockFailed) {
|
|
760850
760946
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -760981,17 +761077,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
760981
761077
|
const maxVersion = await getMaxVersion();
|
|
760982
761078
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
760983
761079
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
760984
|
-
if (gte("1.81.
|
|
760985
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.81.
|
|
761080
|
+
if (gte("1.81.10", maxVersion)) {
|
|
761081
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.81.10"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
760986
761082
|
setUpdateAvailable(false);
|
|
760987
761083
|
return;
|
|
760988
761084
|
}
|
|
760989
761085
|
latest = maxVersion;
|
|
760990
761086
|
}
|
|
760991
|
-
const hasUpdate = latest && !gte("1.81.
|
|
761087
|
+
const hasUpdate = latest && !gte("1.81.10", latest) && !shouldSkipVersion(latest);
|
|
760992
761088
|
setUpdateAvailable(!!hasUpdate);
|
|
760993
761089
|
if (hasUpdate) {
|
|
760994
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.81.
|
|
761090
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.81.10"} -> ${latest}`);
|
|
760995
761091
|
}
|
|
760996
761092
|
};
|
|
760997
761093
|
$2[0] = t1;
|
|
@@ -761025,7 +761121,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
761025
761121
|
wrap: "truncate",
|
|
761026
761122
|
children: [
|
|
761027
761123
|
"currentVersion: ",
|
|
761028
|
-
"1.81.
|
|
761124
|
+
"1.81.10"
|
|
761029
761125
|
]
|
|
761030
761126
|
}, undefined, true, undefined, this);
|
|
761031
761127
|
$2[3] = verbose;
|
|
@@ -771878,7 +771974,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
771878
771974
|
project_dir: getOriginalCwd(),
|
|
771879
771975
|
added_dirs: addedDirs
|
|
771880
771976
|
},
|
|
771881
|
-
version: "1.81.
|
|
771977
|
+
version: "1.81.10",
|
|
771882
771978
|
output_style: {
|
|
771883
771979
|
name: outputStyleName
|
|
771884
771980
|
},
|
|
@@ -772013,7 +772109,7 @@ function StatusLineInner({
|
|
|
772013
772109
|
const attention = customStatusError ?? taskAttention;
|
|
772014
772110
|
const terminalSize = React133.useContext(TerminalSizeContext);
|
|
772015
772111
|
const defaultStatusLineText = buildDefaultStatusBar({
|
|
772016
|
-
version: "1.81.
|
|
772112
|
+
version: "1.81.10",
|
|
772017
772113
|
providerLabel: providerRuntime.providerLabel,
|
|
772018
772114
|
authMode: providerRuntime.authLabel,
|
|
772019
772115
|
model: renderModelName(mainLoopModel) || providerRuntime.model || "",
|
|
@@ -784269,7 +784365,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
|
|
|
784269
784365
|
} catch {}
|
|
784270
784366
|
const data = {
|
|
784271
784367
|
trigger: trigger2,
|
|
784272
|
-
version: "1.81.
|
|
784368
|
+
version: "1.81.10",
|
|
784273
784369
|
platform: process.platform,
|
|
784274
784370
|
transcript,
|
|
784275
784371
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -796638,7 +796734,7 @@ function WelcomeV2() {
|
|
|
796638
796734
|
dimColor: true,
|
|
796639
796735
|
children: [
|
|
796640
796736
|
"v",
|
|
796641
|
-
"1.81.
|
|
796737
|
+
"1.81.10"
|
|
796642
796738
|
]
|
|
796643
796739
|
}, undefined, true, undefined, this)
|
|
796644
796740
|
]
|
|
@@ -797898,7 +797994,7 @@ function completeOnboarding() {
|
|
|
797898
797994
|
saveGlobalConfig((current) => ({
|
|
797899
797995
|
...current,
|
|
797900
797996
|
hasCompletedOnboarding: true,
|
|
797901
|
-
lastOnboardingVersion: "1.81.
|
|
797997
|
+
lastOnboardingVersion: "1.81.10"
|
|
797902
797998
|
}));
|
|
797903
797999
|
}
|
|
797904
798000
|
function showDialog(root2, renderer) {
|
|
@@ -803044,7 +803140,7 @@ function appendToLog(path28, message) {
|
|
|
803044
803140
|
cwd: getFsImplementation().cwd(),
|
|
803045
803141
|
userType: process.env.USER_TYPE,
|
|
803046
803142
|
sessionId: getSessionId(),
|
|
803047
|
-
version: "1.81.
|
|
803143
|
+
version: "1.81.10"
|
|
803048
803144
|
};
|
|
803049
803145
|
getLogWriter(path28).write(messageWithTimestamp);
|
|
803050
803146
|
}
|
|
@@ -807208,8 +807304,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
807208
807304
|
}
|
|
807209
807305
|
async function checkEnvLessBridgeMinVersion() {
|
|
807210
807306
|
const cfg = await getEnvLessBridgeConfig();
|
|
807211
|
-
if (cfg.min_version && lt("1.81.
|
|
807212
|
-
return `Your version of UR (${"1.81.
|
|
807307
|
+
if (cfg.min_version && lt("1.81.10", cfg.min_version)) {
|
|
807308
|
+
return `Your version of UR (${"1.81.10"}) is too old for Remote Control.
|
|
807213
807309
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
807214
807310
|
}
|
|
807215
807311
|
return null;
|
|
@@ -807683,7 +807779,7 @@ async function initBridgeCore(params) {
|
|
|
807683
807779
|
const rawApi = createBridgeApiClient({
|
|
807684
807780
|
baseUrl,
|
|
807685
807781
|
getAccessToken,
|
|
807686
|
-
runnerVersion: "1.81.
|
|
807782
|
+
runnerVersion: "1.81.10",
|
|
807687
807783
|
onDebug: logForDebugging,
|
|
807688
807784
|
onAuth401,
|
|
807689
807785
|
getTrustedDeviceToken
|
|
@@ -817159,7 +817255,7 @@ function getAgUiCapabilities() {
|
|
|
817159
817255
|
name: "UR-Nexus",
|
|
817160
817256
|
type: "ur-nexus",
|
|
817161
817257
|
description: "Provider-flexible, local-first autonomous engineering workflow agent.",
|
|
817162
|
-
version: "1.81.
|
|
817258
|
+
version: "1.81.10",
|
|
817163
817259
|
provider: "UR",
|
|
817164
817260
|
documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
|
|
817165
817261
|
},
|
|
@@ -818386,7 +818482,7 @@ function createMCPServer(cwd4, debug2, verbose) {
|
|
|
818386
818482
|
};
|
|
818387
818483
|
const server2 = new Server({
|
|
818388
818484
|
name: "ur-nexus",
|
|
818389
|
-
version: "1.81.
|
|
818485
|
+
version: "1.81.10"
|
|
818390
818486
|
}, {
|
|
818391
818487
|
capabilities: {
|
|
818392
818488
|
tools: {}
|
|
@@ -819590,7 +819686,7 @@ function thrownResponse(error40) {
|
|
|
819590
819686
|
}
|
|
819591
819687
|
async function createUrMcp2026Runtime(options5) {
|
|
819592
819688
|
const server2 = createMCPServer(options5.cwd, options5.debug === true, options5.verbose === true);
|
|
819593
|
-
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.81.
|
|
819689
|
+
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.81.10" }, { capabilities: {} });
|
|
819594
819690
|
const [clientTransport, serverTransport] = createLinkedTransportPair();
|
|
819595
819691
|
try {
|
|
819596
819692
|
await server2.connect(serverTransport);
|
|
@@ -819601,7 +819697,7 @@ async function createUrMcp2026Runtime(options5) {
|
|
|
819601
819697
|
}
|
|
819602
819698
|
const runtime2 = new Mcp2026Runtime({
|
|
819603
819699
|
cwd: options5.cwd,
|
|
819604
|
-
version: "1.81.
|
|
819700
|
+
version: "1.81.10",
|
|
819605
819701
|
backend: {
|
|
819606
819702
|
listTools: async () => {
|
|
819607
819703
|
const listed = await client2.listTools();
|
|
@@ -822336,7 +822432,7 @@ async function update() {
|
|
|
822336
822432
|
logEvent("tengu_update_check", {});
|
|
822337
822433
|
const diagnostic2 = await getDoctorDiagnostic();
|
|
822338
822434
|
const result = await checkUpgradeStatus({
|
|
822339
|
-
currentVersion: "1.81.
|
|
822435
|
+
currentVersion: "1.81.10",
|
|
822340
822436
|
packageName: UR_AGENT_PACKAGE_NAME,
|
|
822341
822437
|
installationType: diagnostic2.installationType,
|
|
822342
822438
|
latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
|
|
@@ -823664,7 +823760,7 @@ ${customInstructions}` : customInstructions;
|
|
|
823664
823760
|
}
|
|
823665
823761
|
}
|
|
823666
823762
|
logForDiagnosticsNoPII("info", "started", {
|
|
823667
|
-
version: "1.81.
|
|
823763
|
+
version: "1.81.10",
|
|
823668
823764
|
is_native_binary: isInBundledMode()
|
|
823669
823765
|
});
|
|
823670
823766
|
registerCleanup(async () => {
|
|
@@ -824451,7 +824547,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
824451
824547
|
pendingHookMessages
|
|
824452
824548
|
}, renderAndRun);
|
|
824453
824549
|
}
|
|
824454
|
-
}).version("1.81.
|
|
824550
|
+
}).version("1.81.10 (UR-Nexus)", "-v, --version", "Output the version number");
|
|
824455
824551
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
824456
824552
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
824457
824553
|
if (canUserConfigureAdvisor()) {
|
|
@@ -825578,7 +825674,7 @@ if (false) {}
|
|
|
825578
825674
|
async function main2() {
|
|
825579
825675
|
const args = process.argv.slice(2);
|
|
825580
825676
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
825581
|
-
console.log(`${"1.81.
|
|
825677
|
+
console.log(`${"1.81.10"} (UR-Nexus)`);
|
|
825582
825678
|
return;
|
|
825583
825679
|
}
|
|
825584
825680
|
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.81.
|
|
48
|
+
<p class="eyebrow">Version 1.81.10</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.81.
|
|
5
|
+
"version": "1.81.10",
|
|
6
6
|
"publisher": "ur-nexus",
|
|
7
7
|
"engines": {
|
|
8
8
|
"vscode": "^1.92.0"
|
package/package.json
CHANGED