ur-agent 1.81.9 → 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,27 @@
|
|
|
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
|
+
|
|
3
25
|
## 1.81.9
|
|
4
26
|
|
|
5
27
|
- Restored the previous compact six-row UR wordmark as the primary welcome
|
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
|
-
|
|
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) {
|
|
183083
183118
|
return;
|
|
183084
183119
|
}
|
|
183085
|
-
const
|
|
183086
|
-
const
|
|
183087
|
-
|
|
183088
|
-
|
|
183089
|
-
}
|
|
183090
|
-
if (!match[1] || !match[2] || !match[3]) {
|
|
183091
|
-
logError2(new Error("Unable to parse max_tokens from max_tokens exceed context limit error message"));
|
|
183092
|
-
return;
|
|
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.9")
|
|
|
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;
|
|
@@ -481047,7 +481074,7 @@ function LogoV2() {
|
|
|
481047
481074
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
481048
481075
|
t2 = () => {
|
|
481049
481076
|
const currentConfig = getGlobalConfig();
|
|
481050
|
-
if (currentConfig.lastReleaseNotesSeen === "1.81.
|
|
481077
|
+
if (currentConfig.lastReleaseNotesSeen === "1.81.10") {
|
|
481051
481078
|
return;
|
|
481052
481079
|
}
|
|
481053
481080
|
saveGlobalConfig(_temp325);
|
|
@@ -481735,12 +481762,12 @@ function LogoV2() {
|
|
|
481735
481762
|
return t41;
|
|
481736
481763
|
}
|
|
481737
481764
|
function _temp325(current) {
|
|
481738
|
-
if (current.lastReleaseNotesSeen === "1.81.
|
|
481765
|
+
if (current.lastReleaseNotesSeen === "1.81.10") {
|
|
481739
481766
|
return current;
|
|
481740
481767
|
}
|
|
481741
481768
|
return {
|
|
481742
481769
|
...current,
|
|
481743
|
-
lastReleaseNotesSeen: "1.81.
|
|
481770
|
+
lastReleaseNotesSeen: "1.81.10"
|
|
481744
481771
|
};
|
|
481745
481772
|
}
|
|
481746
481773
|
function _temp241(s_0) {
|
|
@@ -497690,7 +497717,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
|
|
|
497690
497717
|
if (spec.name !== specName) {
|
|
497691
497718
|
throw new Error("Agentic CI workflow spec name does not match");
|
|
497692
497719
|
}
|
|
497693
|
-
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.81.
|
|
497720
|
+
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.81.10" : "1.81.10");
|
|
497694
497721
|
if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
|
|
497695
497722
|
throw new Error("invalid ur-agent package version");
|
|
497696
497723
|
}
|
|
@@ -498683,7 +498710,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
|
|
|
498683
498710
|
path: ".github/workflows/ur.yml",
|
|
498684
498711
|
root: "project",
|
|
498685
498712
|
content: compileAgenticCiWorkflow("default", {
|
|
498686
|
-
packageVersion: typeof MACRO !== "undefined" ? "1.81.
|
|
498713
|
+
packageVersion: typeof MACRO !== "undefined" ? "1.81.10" : "1.81.10"
|
|
498687
498714
|
})
|
|
498688
498715
|
},
|
|
498689
498716
|
{
|
|
@@ -498746,7 +498773,7 @@ function value(tokens, flag) {
|
|
|
498746
498773
|
return index2 >= 0 ? tokens[index2 + 1] : undefined;
|
|
498747
498774
|
}
|
|
498748
498775
|
function cliVersion() {
|
|
498749
|
-
return typeof MACRO !== "undefined" ? "1.81.
|
|
498776
|
+
return typeof MACRO !== "undefined" ? "1.81.10" : "1.81.10";
|
|
498750
498777
|
}
|
|
498751
498778
|
function workflowPath(cwd2) {
|
|
498752
498779
|
return join168(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
|
|
@@ -504602,7 +504629,7 @@ function createAcpStdioApp(deps) {
|
|
|
504602
504629
|
}
|
|
504603
504630
|
},
|
|
504604
504631
|
authMethods: [],
|
|
504605
|
-
agentInfo: { name: "UR-Nexus", version: "1.81.
|
|
504632
|
+
agentInfo: { name: "UR-Nexus", version: "1.81.10" }
|
|
504606
504633
|
})).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
|
|
504607
504634
|
const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
|
|
504608
504635
|
await runtime2.announce({
|
|
@@ -504699,7 +504726,7 @@ function createAcpStdioAgent(deps) {
|
|
|
504699
504726
|
}
|
|
504700
504727
|
},
|
|
504701
504728
|
authMethods: [],
|
|
504702
|
-
agentInfo: { name: "UR-Nexus", version: "1.81.
|
|
504729
|
+
agentInfo: { name: "UR-Nexus", version: "1.81.10" }
|
|
504703
504730
|
});
|
|
504704
504731
|
return;
|
|
504705
504732
|
case "authenticate":
|
|
@@ -715951,7 +715978,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
|
|
|
715951
715978
|
smapsRollup,
|
|
715952
715979
|
platform: process.platform,
|
|
715953
715980
|
nodeVersion: process.version,
|
|
715954
|
-
ccVersion: "1.81.
|
|
715981
|
+
ccVersion: "1.81.10"
|
|
715955
715982
|
};
|
|
715956
715983
|
}
|
|
715957
715984
|
async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
|
|
@@ -716540,7 +716567,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
716540
716567
|
var call154 = async () => {
|
|
716541
716568
|
return {
|
|
716542
716569
|
type: "text",
|
|
716543
|
-
value: "1.81.
|
|
716570
|
+
value: "1.81.10"
|
|
716544
716571
|
};
|
|
716545
716572
|
}, version2, version_default;
|
|
716546
716573
|
var init_version = __esm(() => {
|
|
@@ -728008,7 +728035,7 @@ function generateHtmlReport(data, insights) {
|
|
|
728008
728035
|
</html>`;
|
|
728009
728036
|
}
|
|
728010
728037
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
728011
|
-
const version3 = typeof MACRO !== "undefined" ? "1.81.
|
|
728038
|
+
const version3 = typeof MACRO !== "undefined" ? "1.81.10" : "unknown";
|
|
728012
728039
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
728013
728040
|
const facets_summary = {
|
|
728014
728041
|
total: facets.size,
|
|
@@ -732321,7 +732348,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
732321
732348
|
init_settings2();
|
|
732322
732349
|
init_slowOperations();
|
|
732323
732350
|
init_uuid();
|
|
732324
|
-
VERSION7 = typeof MACRO !== "undefined" ? "1.81.
|
|
732351
|
+
VERSION7 = typeof MACRO !== "undefined" ? "1.81.10" : "unknown";
|
|
732325
732352
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
732326
732353
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
732327
732354
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -733536,7 +733563,7 @@ var init_filesystem = __esm(() => {
|
|
|
733536
733563
|
});
|
|
733537
733564
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
733538
733565
|
const nonce = randomBytes24(16).toString("hex");
|
|
733539
|
-
return join243(getURTempDir(), "bundled-skills", "1.81.
|
|
733566
|
+
return join243(getURTempDir(), "bundled-skills", "1.81.10", nonce);
|
|
733540
733567
|
});
|
|
733541
733568
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
733542
733569
|
});
|
|
@@ -739936,11 +739963,81 @@ function computeFingerprint(messageText2, version3) {
|
|
|
739936
739963
|
}
|
|
739937
739964
|
function computeFingerprintFromMessages(messages) {
|
|
739938
739965
|
const firstMessageText = extractFirstMessageText(messages);
|
|
739939
|
-
return computeFingerprint(firstMessageText, "1.81.
|
|
739966
|
+
return computeFingerprint(firstMessageText, "1.81.10");
|
|
739940
739967
|
}
|
|
739941
739968
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
739942
739969
|
var init_fingerprint = () => {};
|
|
739943
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
|
+
|
|
739944
740041
|
// src/services/compact/apiMicrocompact.ts
|
|
739945
740042
|
function getAPIContextManagement(options5) {
|
|
739946
740043
|
const {
|
|
@@ -740472,6 +740569,15 @@ async function* queryModel(messages, systemPrompt, thinkingConfig, tools, signal
|
|
|
740472
740569
|
}
|
|
740473
740570
|
const previousRequestId = getPreviousRequestIdFromMessages(messages);
|
|
740474
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})`);
|
|
740475
740581
|
queryCheckpoint("query_tool_schema_build_start");
|
|
740476
740582
|
const isAgenticQuery = options5.querySource.startsWith("repl_main_thread") || options5.querySource.startsWith("agent:") || options5.querySource === "sdk" || options5.querySource === "hook_agent" || options5.querySource === "verification_agent";
|
|
740477
740583
|
const betas = getMergedBetas(options5.model, { isAgenticQuery });
|
|
@@ -740479,7 +740585,7 @@ async function* queryModel(messages, systemPrompt, thinkingConfig, tools, signal
|
|
|
740479
740585
|
betas.push(ADVISOR_BETA_HEADER);
|
|
740480
740586
|
}
|
|
740481
740587
|
let advisorModel;
|
|
740482
|
-
if (isAgenticQuery && isAdvisorEnabled()) {
|
|
740588
|
+
if (isAgenticQuery && isAdvisorEnabled() && !isLightweightChat) {
|
|
740483
740589
|
let advisorOption = options5.advisorModel;
|
|
740484
740590
|
const advisorExperiment = getExperimentAdvisorModels();
|
|
740485
740591
|
if (advisorExperiment !== undefined) {
|
|
@@ -740499,7 +740605,7 @@ async function* queryModel(messages, systemPrompt, thinkingConfig, tools, signal
|
|
|
740499
740605
|
}
|
|
740500
740606
|
}
|
|
740501
740607
|
}
|
|
740502
|
-
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");
|
|
740503
740609
|
const deferredToolNames = new Set;
|
|
740504
740610
|
if (useToolSearch) {
|
|
740505
740611
|
for (const t of tools) {
|
|
@@ -740512,7 +740618,9 @@ async function* queryModel(messages, systemPrompt, thinkingConfig, tools, signal
|
|
|
740512
740618
|
useToolSearch = false;
|
|
740513
740619
|
}
|
|
740514
740620
|
let filteredTools;
|
|
740515
|
-
if (
|
|
740621
|
+
if (isLightweightChat) {
|
|
740622
|
+
filteredTools = [];
|
|
740623
|
+
} else if (useToolSearch) {
|
|
740516
740624
|
const discoveredToolNames = extractDiscoveredToolNames(messages);
|
|
740517
740625
|
filteredTools = tools.filter((tool) => {
|
|
740518
740626
|
if (!deferredToolNames.has(tool.name))
|
|
@@ -740556,7 +740664,8 @@ async function* queryModel(messages, systemPrompt, thinkingConfig, tools, signal
|
|
|
740556
740664
|
preNormalizedMessageCount: messages.length
|
|
740557
740665
|
});
|
|
740558
740666
|
queryCheckpoint("query_message_normalization_start");
|
|
740559
|
-
|
|
740667
|
+
const requestMessages = isLightweightChat ? messages.filter((message) => message.type === "user" && !message.isMeta && !message.isCompactSummary && !message.toolUseResult) : messages;
|
|
740668
|
+
let messagesForAPI = normalizeMessagesForAPI(requestMessages, filteredTools);
|
|
740560
740669
|
queryCheckpoint("query_message_normalization_end");
|
|
740561
740670
|
if (!useToolSearch) {
|
|
740562
740671
|
messagesForAPI = messagesForAPI.map((msg) => {
|
|
@@ -740596,8 +740705,11 @@ ${deferredToolList}
|
|
|
740596
740705
|
}
|
|
740597
740706
|
const hasChromeTools = filteredTools.some((t) => isToolFromMcpServer(t.name, UR_IN_CHROME_MCP_SERVER_NAME));
|
|
740598
740707
|
const injectChromeHere = useToolSearch && hasChromeTools && !isMcpInstructionsDeltaEnabled();
|
|
740708
|
+
if (providerRequestProfile.mode === "lightweight-chat") {
|
|
740709
|
+
systemPrompt = asSystemPrompt([providerRequestProfile.systemPrompt]);
|
|
740710
|
+
}
|
|
740599
740711
|
systemPrompt = asSystemPrompt([
|
|
740600
|
-
getAttributionHeader(fingerprint2),
|
|
740712
|
+
usesConservativeOutputReservation(requestProvider) ? "" : getAttributionHeader(fingerprint2),
|
|
740601
740713
|
getCLISyspromptPrefix({
|
|
740602
740714
|
isNonInteractive: options5.isNonInteractiveSession,
|
|
740603
740715
|
hasAppendSystemPrompt: options5.hasAppendSystemPrompt
|
|
@@ -740613,7 +740725,7 @@ ${deferredToolList}
|
|
|
740613
740725
|
querySource: options5.querySource
|
|
740614
740726
|
});
|
|
740615
740727
|
const useBetas = betas.length > 0;
|
|
740616
|
-
const extraToolSchemas = [...options5.extraToolSchemas ?? []];
|
|
740728
|
+
const extraToolSchemas = isLightweightChat ? [] : [...options5.extraToolSchemas ?? []];
|
|
740617
740729
|
if (advisorModel) {
|
|
740618
740730
|
extraToolSchemas.push({
|
|
740619
740731
|
type: "advisor_20260301",
|
|
@@ -740682,7 +740794,9 @@ ${deferredToolList}
|
|
|
740682
740794
|
const outputConfig = {
|
|
740683
740795
|
...extraBodyParams.output_config ?? {}
|
|
740684
740796
|
};
|
|
740685
|
-
|
|
740797
|
+
if (!isLightweightChat) {
|
|
740798
|
+
configureEffortParams(effort, outputConfig, extraBodyParams, betasParams, options5.model, options5.providerSettings?.active);
|
|
740799
|
+
}
|
|
740686
740800
|
configureTaskBudgetParams(options5.taskBudget, outputConfig, betasParams);
|
|
740687
740801
|
if (options5.outputFormat && !("format" in outputConfig)) {
|
|
740688
740802
|
outputConfig.format = options5.outputFormat;
|
|
@@ -740690,8 +740804,9 @@ ${deferredToolList}
|
|
|
740690
740804
|
betasParams.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
740691
740805
|
}
|
|
740692
740806
|
}
|
|
740693
|
-
const
|
|
740694
|
-
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);
|
|
740695
740810
|
let thinking = undefined;
|
|
740696
740811
|
if (hasThinking && modelSupportsThinking(options5.model)) {
|
|
740697
740812
|
if (!isEnvTruthy(process.env.UR_CODE_DISABLE_ADAPTIVE_THINKING) && modelSupportsAdaptiveThinking(options5.model)) {
|
|
@@ -741762,9 +741877,9 @@ function adjustParamsForNonStreaming(params, maxTokensCap) {
|
|
|
741762
741877
|
function isMaxTokensCapEnabled() {
|
|
741763
741878
|
return getFeatureValue_CACHED_MAY_BE_STALE("tengu_otk_slot_v1", false);
|
|
741764
741879
|
}
|
|
741765
|
-
function getMaxOutputTokensForModel(model) {
|
|
741766
|
-
const maxOutputTokens = getModelMaxOutputTokens(model);
|
|
741767
|
-
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;
|
|
741768
741883
|
const result = validateBoundedIntEnvVar("UR_CODE_MAX_OUTPUT_TOKENS", process.env.UR_CODE_MAX_OUTPUT_TOKENS, defaultTokens, maxOutputTokens.upperLimit);
|
|
741769
741884
|
return result.effective;
|
|
741770
741885
|
}
|
|
@@ -741785,6 +741900,7 @@ var init_ur2 = __esm(() => {
|
|
|
741785
741900
|
init_log2();
|
|
741786
741901
|
init_messages();
|
|
741787
741902
|
init_model();
|
|
741903
|
+
init_providerRequestTuning();
|
|
741788
741904
|
init_tokens();
|
|
741789
741905
|
init_growthbook();
|
|
741790
741906
|
init_urAiLimits();
|
|
@@ -741871,7 +741987,7 @@ async function sideQuery(opts) {
|
|
|
741871
741987
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
741872
741988
|
}
|
|
741873
741989
|
const messageText2 = extractFirstUserMessageText(messages);
|
|
741874
|
-
const fingerprint2 = computeFingerprint(messageText2, "1.81.
|
|
741990
|
+
const fingerprint2 = computeFingerprint(messageText2, "1.81.10");
|
|
741875
741991
|
const attributionHeader = getAttributionHeader(fingerprint2);
|
|
741876
741992
|
const systemBlocks = [
|
|
741877
741993
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -746705,7 +746821,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
746705
746821
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
746706
746822
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
746707
746823
|
betas: getSdkBetas(),
|
|
746708
|
-
ur_version: "1.81.
|
|
746824
|
+
ur_version: "1.81.10",
|
|
746709
746825
|
output_style: outputStyle,
|
|
746710
746826
|
agents: inputs.agents.map((agent2) => agent2.agentType),
|
|
746711
746827
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
|
|
@@ -760541,7 +760657,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
760541
760657
|
function getSemverPart(version3) {
|
|
760542
760658
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
760543
760659
|
}
|
|
760544
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.81.
|
|
760660
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.81.10") {
|
|
760545
760661
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react225.useState(() => getSemverPart(initialVersion));
|
|
760546
760662
|
if (!updatedVersion) {
|
|
760547
760663
|
return null;
|
|
@@ -760590,7 +760706,7 @@ function AutoUpdater({
|
|
|
760590
760706
|
return;
|
|
760591
760707
|
}
|
|
760592
760708
|
if (false) {}
|
|
760593
|
-
const currentVersion = "1.81.
|
|
760709
|
+
const currentVersion = "1.81.10";
|
|
760594
760710
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
760595
760711
|
let latestVersion = await getLatestVersion(channel);
|
|
760596
760712
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -760819,12 +760935,12 @@ function NativeAutoUpdater({
|
|
|
760819
760935
|
logEvent("tengu_native_auto_updater_start", {});
|
|
760820
760936
|
try {
|
|
760821
760937
|
const maxVersion = await getMaxVersion();
|
|
760822
|
-
if (maxVersion && gt("1.81.
|
|
760938
|
+
if (maxVersion && gt("1.81.10", maxVersion)) {
|
|
760823
760939
|
const msg = await getMaxVersionMessage();
|
|
760824
760940
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
760825
760941
|
}
|
|
760826
760942
|
const result = await installLatest(channel);
|
|
760827
|
-
const currentVersion = "1.81.
|
|
760943
|
+
const currentVersion = "1.81.10";
|
|
760828
760944
|
const latencyMs = Date.now() - startTime;
|
|
760829
760945
|
if (result.lockFailed) {
|
|
760830
760946
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -760961,17 +761077,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
760961
761077
|
const maxVersion = await getMaxVersion();
|
|
760962
761078
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
760963
761079
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
760964
|
-
if (gte("1.81.
|
|
760965
|
-
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`);
|
|
760966
761082
|
setUpdateAvailable(false);
|
|
760967
761083
|
return;
|
|
760968
761084
|
}
|
|
760969
761085
|
latest = maxVersion;
|
|
760970
761086
|
}
|
|
760971
|
-
const hasUpdate = latest && !gte("1.81.
|
|
761087
|
+
const hasUpdate = latest && !gte("1.81.10", latest) && !shouldSkipVersion(latest);
|
|
760972
761088
|
setUpdateAvailable(!!hasUpdate);
|
|
760973
761089
|
if (hasUpdate) {
|
|
760974
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.81.
|
|
761090
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.81.10"} -> ${latest}`);
|
|
760975
761091
|
}
|
|
760976
761092
|
};
|
|
760977
761093
|
$2[0] = t1;
|
|
@@ -761005,7 +761121,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
761005
761121
|
wrap: "truncate",
|
|
761006
761122
|
children: [
|
|
761007
761123
|
"currentVersion: ",
|
|
761008
|
-
"1.81.
|
|
761124
|
+
"1.81.10"
|
|
761009
761125
|
]
|
|
761010
761126
|
}, undefined, true, undefined, this);
|
|
761011
761127
|
$2[3] = verbose;
|
|
@@ -771858,7 +771974,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
771858
771974
|
project_dir: getOriginalCwd(),
|
|
771859
771975
|
added_dirs: addedDirs
|
|
771860
771976
|
},
|
|
771861
|
-
version: "1.81.
|
|
771977
|
+
version: "1.81.10",
|
|
771862
771978
|
output_style: {
|
|
771863
771979
|
name: outputStyleName
|
|
771864
771980
|
},
|
|
@@ -771993,7 +772109,7 @@ function StatusLineInner({
|
|
|
771993
772109
|
const attention = customStatusError ?? taskAttention;
|
|
771994
772110
|
const terminalSize = React133.useContext(TerminalSizeContext);
|
|
771995
772111
|
const defaultStatusLineText = buildDefaultStatusBar({
|
|
771996
|
-
version: "1.81.
|
|
772112
|
+
version: "1.81.10",
|
|
771997
772113
|
providerLabel: providerRuntime.providerLabel,
|
|
771998
772114
|
authMode: providerRuntime.authLabel,
|
|
771999
772115
|
model: renderModelName(mainLoopModel) || providerRuntime.model || "",
|
|
@@ -784249,7 +784365,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
|
|
|
784249
784365
|
} catch {}
|
|
784250
784366
|
const data = {
|
|
784251
784367
|
trigger: trigger2,
|
|
784252
|
-
version: "1.81.
|
|
784368
|
+
version: "1.81.10",
|
|
784253
784369
|
platform: process.platform,
|
|
784254
784370
|
transcript,
|
|
784255
784371
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -796618,7 +796734,7 @@ function WelcomeV2() {
|
|
|
796618
796734
|
dimColor: true,
|
|
796619
796735
|
children: [
|
|
796620
796736
|
"v",
|
|
796621
|
-
"1.81.
|
|
796737
|
+
"1.81.10"
|
|
796622
796738
|
]
|
|
796623
796739
|
}, undefined, true, undefined, this)
|
|
796624
796740
|
]
|
|
@@ -797878,7 +797994,7 @@ function completeOnboarding() {
|
|
|
797878
797994
|
saveGlobalConfig((current) => ({
|
|
797879
797995
|
...current,
|
|
797880
797996
|
hasCompletedOnboarding: true,
|
|
797881
|
-
lastOnboardingVersion: "1.81.
|
|
797997
|
+
lastOnboardingVersion: "1.81.10"
|
|
797882
797998
|
}));
|
|
797883
797999
|
}
|
|
797884
798000
|
function showDialog(root2, renderer) {
|
|
@@ -803024,7 +803140,7 @@ function appendToLog(path28, message) {
|
|
|
803024
803140
|
cwd: getFsImplementation().cwd(),
|
|
803025
803141
|
userType: process.env.USER_TYPE,
|
|
803026
803142
|
sessionId: getSessionId(),
|
|
803027
|
-
version: "1.81.
|
|
803143
|
+
version: "1.81.10"
|
|
803028
803144
|
};
|
|
803029
803145
|
getLogWriter(path28).write(messageWithTimestamp);
|
|
803030
803146
|
}
|
|
@@ -807188,8 +807304,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
807188
807304
|
}
|
|
807189
807305
|
async function checkEnvLessBridgeMinVersion() {
|
|
807190
807306
|
const cfg = await getEnvLessBridgeConfig();
|
|
807191
|
-
if (cfg.min_version && lt("1.81.
|
|
807192
|
-
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.
|
|
807193
807309
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
807194
807310
|
}
|
|
807195
807311
|
return null;
|
|
@@ -807663,7 +807779,7 @@ async function initBridgeCore(params) {
|
|
|
807663
807779
|
const rawApi = createBridgeApiClient({
|
|
807664
807780
|
baseUrl,
|
|
807665
807781
|
getAccessToken,
|
|
807666
|
-
runnerVersion: "1.81.
|
|
807782
|
+
runnerVersion: "1.81.10",
|
|
807667
807783
|
onDebug: logForDebugging,
|
|
807668
807784
|
onAuth401,
|
|
807669
807785
|
getTrustedDeviceToken
|
|
@@ -817139,7 +817255,7 @@ function getAgUiCapabilities() {
|
|
|
817139
817255
|
name: "UR-Nexus",
|
|
817140
817256
|
type: "ur-nexus",
|
|
817141
817257
|
description: "Provider-flexible, local-first autonomous engineering workflow agent.",
|
|
817142
|
-
version: "1.81.
|
|
817258
|
+
version: "1.81.10",
|
|
817143
817259
|
provider: "UR",
|
|
817144
817260
|
documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
|
|
817145
817261
|
},
|
|
@@ -818366,7 +818482,7 @@ function createMCPServer(cwd4, debug2, verbose) {
|
|
|
818366
818482
|
};
|
|
818367
818483
|
const server2 = new Server({
|
|
818368
818484
|
name: "ur-nexus",
|
|
818369
|
-
version: "1.81.
|
|
818485
|
+
version: "1.81.10"
|
|
818370
818486
|
}, {
|
|
818371
818487
|
capabilities: {
|
|
818372
818488
|
tools: {}
|
|
@@ -819570,7 +819686,7 @@ function thrownResponse(error40) {
|
|
|
819570
819686
|
}
|
|
819571
819687
|
async function createUrMcp2026Runtime(options5) {
|
|
819572
819688
|
const server2 = createMCPServer(options5.cwd, options5.debug === true, options5.verbose === true);
|
|
819573
|
-
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: {} });
|
|
819574
819690
|
const [clientTransport, serverTransport] = createLinkedTransportPair();
|
|
819575
819691
|
try {
|
|
819576
819692
|
await server2.connect(serverTransport);
|
|
@@ -819581,7 +819697,7 @@ async function createUrMcp2026Runtime(options5) {
|
|
|
819581
819697
|
}
|
|
819582
819698
|
const runtime2 = new Mcp2026Runtime({
|
|
819583
819699
|
cwd: options5.cwd,
|
|
819584
|
-
version: "1.81.
|
|
819700
|
+
version: "1.81.10",
|
|
819585
819701
|
backend: {
|
|
819586
819702
|
listTools: async () => {
|
|
819587
819703
|
const listed = await client2.listTools();
|
|
@@ -822316,7 +822432,7 @@ async function update() {
|
|
|
822316
822432
|
logEvent("tengu_update_check", {});
|
|
822317
822433
|
const diagnostic2 = await getDoctorDiagnostic();
|
|
822318
822434
|
const result = await checkUpgradeStatus({
|
|
822319
|
-
currentVersion: "1.81.
|
|
822435
|
+
currentVersion: "1.81.10",
|
|
822320
822436
|
packageName: UR_AGENT_PACKAGE_NAME,
|
|
822321
822437
|
installationType: diagnostic2.installationType,
|
|
822322
822438
|
latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
|
|
@@ -823644,7 +823760,7 @@ ${customInstructions}` : customInstructions;
|
|
|
823644
823760
|
}
|
|
823645
823761
|
}
|
|
823646
823762
|
logForDiagnosticsNoPII("info", "started", {
|
|
823647
|
-
version: "1.81.
|
|
823763
|
+
version: "1.81.10",
|
|
823648
823764
|
is_native_binary: isInBundledMode()
|
|
823649
823765
|
});
|
|
823650
823766
|
registerCleanup(async () => {
|
|
@@ -824431,7 +824547,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
824431
824547
|
pendingHookMessages
|
|
824432
824548
|
}, renderAndRun);
|
|
824433
824549
|
}
|
|
824434
|
-
}).version("1.81.
|
|
824550
|
+
}).version("1.81.10 (UR-Nexus)", "-v, --version", "Output the version number");
|
|
824435
824551
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
824436
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.");
|
|
824437
824553
|
if (canUserConfigureAdvisor()) {
|
|
@@ -825558,7 +825674,7 @@ if (false) {}
|
|
|
825558
825674
|
async function main2() {
|
|
825559
825675
|
const args = process.argv.slice(2);
|
|
825560
825676
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
825561
|
-
console.log(`${"1.81.
|
|
825677
|
+
console.log(`${"1.81.10"} (UR-Nexus)`);
|
|
825562
825678
|
return;
|
|
825563
825679
|
}
|
|
825564
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