ur-agent 1.81.5 → 1.81.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/README.md +9 -2
- package/dist/cli.js +180 -158
- package/docs/AGENT_FEATURES.md +17 -0
- package/docs/VALIDATION.md +1 -1
- package/docs/providers.md +3 -3
- package/documentation/index.html +1 -1
- package/extensions/jetbrains-ur/build.gradle.kts +1 -1
- package/extensions/vscode-ur-inline-diffs/package.json +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.81.6
|
|
4
|
+
|
|
5
|
+
- Restored the original clean welcome house without a shadow. The full adaptive
|
|
6
|
+
startup UI is now the default at every terminal size; its responsive stacking
|
|
7
|
+
and wordmark fallbacks handle resizing. The small-house condensed UI appears
|
|
8
|
+
only when explicitly requested with `UR_CODE_COMPACT_LOGO=1`.
|
|
9
|
+
- Replaced the large UR wordmark with the supplied 16-line letterform in UR's
|
|
10
|
+
existing theme-aware brand color. It responds to terminal width and height,
|
|
11
|
+
falling back to the prior compact mark and then plain `UR` so resized or
|
|
12
|
+
narrow windows never overflow.
|
|
13
|
+
- Kept OpenRouter catalog rows concise while showing the focused model's full,
|
|
14
|
+
untruncated provider/model ID immediately below the list on both picker
|
|
15
|
+
surfaces. Request routing continues to use that exact ID.
|
|
16
|
+
- Removed the blanket file-read system reminder that told models to refuse all
|
|
17
|
+
code improvements. Reading ordinary games, websites, applications, and tools
|
|
18
|
+
no longer blocks requested edits; UR's normal authorization, malware, secret,
|
|
19
|
+
sandbox, and destructive-action safeguards remain enforced where relevant.
|
|
20
|
+
|
|
3
21
|
## 1.81.5
|
|
4
22
|
|
|
5
23
|
- Matched the UR welcome wordmark to the house and frame's bright, theme-aware
|
package/README.md
CHANGED
|
@@ -114,6 +114,12 @@ available, and the approval decision in task evidence. Security-research prompts
|
|
|
114
114
|
need scoped targets and authorization confirmation; local/lab/test targets are
|
|
115
115
|
preferred unless the user confirms authorized external scope.
|
|
116
116
|
|
|
117
|
+
Reading source code does not attach a blanket modification refusal. UR evaluates
|
|
118
|
+
the actual behavior and requested intent, so ordinary games, websites, apps,
|
|
119
|
+
and developer tools can be analyzed and improved normally. Genuine malicious
|
|
120
|
+
or unauthorized activity remains subject to UR's security and operational
|
|
121
|
+
boundaries.
|
|
122
|
+
|
|
117
123
|
Authorized researchers can explicitly activate `/mode redteam`. The first use
|
|
118
124
|
shows a mandatory risk warning; `/mode redteam --accept-risk` acknowledges it
|
|
119
125
|
and enables UR's unrestricted security-research prompt policy for the current
|
|
@@ -356,8 +362,9 @@ In the interactive app, `/model` is a two-step, provider-first picker:
|
|
|
356
362
|
In the model catalog, use **Up/Down** to browse and **Left/Right** to change
|
|
357
363
|
the focused model's effort before pressing Enter. OpenRouter additionally
|
|
358
364
|
shows compact model names, FREE/PAID tier, context size, tool/reasoning
|
|
359
|
-
support, and the
|
|
360
|
-
fresh every time it opens and never falls back to a
|
|
365
|
+
support, and the full untruncated ID immediately below the focused entry.
|
|
366
|
+
Its catalog is fetched fresh every time it opens and never falls back to a
|
|
367
|
+
stale cached list.
|
|
361
368
|
API-key entry is masked, aligned on one row, and stored through the OS
|
|
362
369
|
keychain flow.
|
|
363
370
|
|
package/dist/cli.js
CHANGED
|
@@ -108252,7 +108252,7 @@ var init_auth = __esm(() => {
|
|
|
108252
108252
|
|
|
108253
108253
|
// src/utils/userAgent.ts
|
|
108254
108254
|
function getURCodeUserAgent() {
|
|
108255
|
-
return `ur/${"1.81.
|
|
108255
|
+
return `ur/${"1.81.6"}`;
|
|
108256
108256
|
}
|
|
108257
108257
|
|
|
108258
108258
|
// src/utils/workloadContext.ts
|
|
@@ -108274,7 +108274,7 @@ function getUserAgent() {
|
|
|
108274
108274
|
const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
|
|
108275
108275
|
const workload = getWorkload();
|
|
108276
108276
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
108277
|
-
return `ur-cli/${"1.81.
|
|
108277
|
+
return `ur-cli/${"1.81.6"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
108278
108278
|
}
|
|
108279
108279
|
function getMCPUserAgent() {
|
|
108280
108280
|
const parts = [];
|
|
@@ -108288,7 +108288,7 @@ function getMCPUserAgent() {
|
|
|
108288
108288
|
parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
|
|
108289
108289
|
}
|
|
108290
108290
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
108291
|
-
return `ur/${"1.81.
|
|
108291
|
+
return `ur/${"1.81.6"}${suffix}`;
|
|
108292
108292
|
}
|
|
108293
108293
|
function getWebFetchUserAgent() {
|
|
108294
108294
|
return `UR-User (${getURCodeUserAgent()})`;
|
|
@@ -108426,7 +108426,7 @@ var init_user = __esm(() => {
|
|
|
108426
108426
|
deviceId,
|
|
108427
108427
|
sessionId: getSessionId(),
|
|
108428
108428
|
email: getEmail(),
|
|
108429
|
-
appVersion: "1.81.
|
|
108429
|
+
appVersion: "1.81.6",
|
|
108430
108430
|
platform: getHostPlatformForAnalytics(),
|
|
108431
108431
|
organizationUuid,
|
|
108432
108432
|
accountUuid,
|
|
@@ -116313,7 +116313,7 @@ var init_metadata = __esm(() => {
|
|
|
116313
116313
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
116314
116314
|
WHITESPACE_REGEX = /\s+/;
|
|
116315
116315
|
getVersionBase = memoize_default(() => {
|
|
116316
|
-
const match = "1.81.
|
|
116316
|
+
const match = "1.81.6".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
116317
116317
|
return match ? match[0] : undefined;
|
|
116318
116318
|
});
|
|
116319
116319
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -116353,7 +116353,7 @@ var init_metadata = __esm(() => {
|
|
|
116353
116353
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
116354
116354
|
isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
|
|
116355
116355
|
isURAiAuth: isURAISubscriber(),
|
|
116356
|
-
version: "1.81.
|
|
116356
|
+
version: "1.81.6",
|
|
116357
116357
|
versionBase: getVersionBase(),
|
|
116358
116358
|
buildTime: "",
|
|
116359
116359
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
@@ -117023,7 +117023,7 @@ function initialize1PEventLogging() {
|
|
|
117023
117023
|
const platform2 = getPlatform();
|
|
117024
117024
|
const attributes = {
|
|
117025
117025
|
[import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
|
|
117026
|
-
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.81.
|
|
117026
|
+
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.81.6"
|
|
117027
117027
|
};
|
|
117028
117028
|
if (platform2 === "wsl") {
|
|
117029
117029
|
const wslVersion = getWslVersion();
|
|
@@ -117051,7 +117051,7 @@ function initialize1PEventLogging() {
|
|
|
117051
117051
|
})
|
|
117052
117052
|
]
|
|
117053
117053
|
});
|
|
117054
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.81.
|
|
117054
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.81.6");
|
|
117055
117055
|
}
|
|
117056
117056
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
117057
117057
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -127017,7 +127017,7 @@ function formatA2AAgentCard(options = {}, pretty = true) {
|
|
|
127017
127017
|
function formatA2AV1AgentCard(options = {}, pretty = true) {
|
|
127018
127018
|
return JSON.stringify(buildA2AV1AgentCard(options), null, pretty ? 2 : 0);
|
|
127019
127019
|
}
|
|
127020
|
-
var urVersion = "1.81.
|
|
127020
|
+
var urVersion = "1.81.6", researchSnapshotDate = "2026-08-10", coverage, priorityRoadmap;
|
|
127021
127021
|
var init_trends = __esm(() => {
|
|
127022
127022
|
init_a2aCardSignature();
|
|
127023
127023
|
coverage = [
|
|
@@ -129907,7 +129907,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
129907
129907
|
if (!isAttributionHeaderEnabled()) {
|
|
129908
129908
|
return "";
|
|
129909
129909
|
}
|
|
129910
|
-
const version2 = `${"1.81.
|
|
129910
|
+
const version2 = `${"1.81.6"}.${fingerprint}`;
|
|
129911
129911
|
const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
|
|
129912
129912
|
const cch = "";
|
|
129913
129913
|
const workload = getWorkload();
|
|
@@ -184828,7 +184828,7 @@ var init_projectSafety = __esm(() => {
|
|
|
184828
184828
|
function getInstruments() {
|
|
184829
184829
|
if (instruments)
|
|
184830
184830
|
return instruments;
|
|
184831
|
-
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.81.
|
|
184831
|
+
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.81.6");
|
|
184832
184832
|
instruments = {
|
|
184833
184833
|
operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
|
|
184834
184834
|
description: "GenAI operation duration.",
|
|
@@ -184926,7 +184926,7 @@ function genAiAgentAttributes() {
|
|
|
184926
184926
|
"gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
|
|
184927
184927
|
"gen_ai.provider.name": "ur",
|
|
184928
184928
|
"gen_ai.agent.name": "UR-Nexus",
|
|
184929
|
-
"gen_ai.agent.version": "1.81.
|
|
184929
|
+
"gen_ai.agent.version": "1.81.6"
|
|
184930
184930
|
};
|
|
184931
184931
|
}
|
|
184932
184932
|
function genAiWorkflowAttributes(workflowName, workflowRunId) {
|
|
@@ -184947,7 +184947,7 @@ function genAiWorkflowAttributes(workflowName, workflowRunId) {
|
|
|
184947
184947
|
function startGenAiWorkflowSpan(workflowName, workflowRunId) {
|
|
184948
184948
|
const attributes = genAiWorkflowAttributes(workflowName, workflowRunId);
|
|
184949
184949
|
const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
|
|
184950
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.81.
|
|
184950
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.81.6").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
184951
184951
|
}
|
|
184952
184952
|
function endGenAiWorkflowSpan(span, options2 = {}) {
|
|
184953
184953
|
try {
|
|
@@ -184985,7 +184985,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
|
|
|
184985
184985
|
if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
|
|
184986
184986
|
attributes["gen_ai.memory.record.count"] = options2.recordCount;
|
|
184987
184987
|
}
|
|
184988
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.81.
|
|
184988
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.81.6").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
184989
184989
|
}
|
|
184990
184990
|
function endGenAiMemorySpan(span, options2 = {}) {
|
|
184991
184991
|
try {
|
|
@@ -278700,7 +278700,7 @@ function getTelemetryAttributes() {
|
|
|
278700
278700
|
attributes["session.id"] = sessionId;
|
|
278701
278701
|
}
|
|
278702
278702
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
278703
|
-
attributes["app.version"] = "1.81.
|
|
278703
|
+
attributes["app.version"] = "1.81.6";
|
|
278704
278704
|
}
|
|
278705
278705
|
const oauthAccount = getOauthAccountInfo();
|
|
278706
278706
|
if (oauthAccount) {
|
|
@@ -320104,7 +320104,7 @@ function getInstallationEnv() {
|
|
|
320104
320104
|
return;
|
|
320105
320105
|
}
|
|
320106
320106
|
function getURCodeVersion() {
|
|
320107
|
-
return "1.81.
|
|
320107
|
+
return "1.81.6";
|
|
320108
320108
|
}
|
|
320109
320109
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
320110
320110
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -327474,7 +327474,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
327474
327474
|
const client2 = new Client({
|
|
327475
327475
|
name: "ur",
|
|
327476
327476
|
title: "UR",
|
|
327477
|
-
version: "1.81.
|
|
327477
|
+
version: "1.81.6",
|
|
327478
327478
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
327479
327479
|
websiteUrl: PRODUCT_URL
|
|
327480
327480
|
}, {
|
|
@@ -327835,7 +327835,7 @@ var init_client5 = __esm(() => {
|
|
|
327835
327835
|
const client2 = new Client({
|
|
327836
327836
|
name: "ur",
|
|
327837
327837
|
title: "UR",
|
|
327838
|
-
version: "1.81.
|
|
327838
|
+
version: "1.81.6",
|
|
327839
327839
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
327840
327840
|
websiteUrl: PRODUCT_URL
|
|
327841
327841
|
}, {
|
|
@@ -340608,7 +340608,7 @@ async function createRuntime() {
|
|
|
340608
340608
|
bootstrapTelemetry();
|
|
340609
340609
|
const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
|
|
340610
340610
|
[import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
|
|
340611
|
-
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.81.
|
|
340611
|
+
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.81.6"
|
|
340612
340612
|
}));
|
|
340613
340613
|
const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
|
|
340614
340614
|
resource,
|
|
@@ -340641,11 +340641,11 @@ async function createRuntime() {
|
|
|
340641
340641
|
setMeterProvider(meterProvider);
|
|
340642
340642
|
setLoggerProvider(loggerProvider);
|
|
340643
340643
|
if (meterProvider) {
|
|
340644
|
-
const meter = meterProvider.getMeter("ur-agent", "1.81.
|
|
340644
|
+
const meter = meterProvider.getMeter("ur-agent", "1.81.6");
|
|
340645
340645
|
setMeter(meter, (name, options2) => meter.createCounter(name, options2));
|
|
340646
340646
|
}
|
|
340647
340647
|
if (loggerProvider) {
|
|
340648
|
-
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.81.
|
|
340648
|
+
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.81.6"));
|
|
340649
340649
|
}
|
|
340650
340650
|
if (!cleanupRegistered3) {
|
|
340651
340651
|
cleanupRegistered3 = true;
|
|
@@ -341307,9 +341307,9 @@ async function assertMinVersion() {
|
|
|
341307
341307
|
if (false) {}
|
|
341308
341308
|
try {
|
|
341309
341309
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
341310
|
-
if (versionConfig.minVersion && lt("1.81.
|
|
341310
|
+
if (versionConfig.minVersion && lt("1.81.6", versionConfig.minVersion)) {
|
|
341311
341311
|
console.error(`
|
|
341312
|
-
It looks like your version of UR (${"1.81.
|
|
341312
|
+
It looks like your version of UR (${"1.81.6"}) needs an update.
|
|
341313
341313
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
341314
341314
|
|
|
341315
341315
|
To update, please run:
|
|
@@ -341525,7 +341525,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
341525
341525
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
341526
341526
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
341527
341527
|
pid: process.pid,
|
|
341528
|
-
currentVersion: "1.81.
|
|
341528
|
+
currentVersion: "1.81.6"
|
|
341529
341529
|
});
|
|
341530
341530
|
return "in_progress";
|
|
341531
341531
|
}
|
|
@@ -341534,7 +341534,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
341534
341534
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
341535
341535
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
341536
341536
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
341537
|
-
currentVersion: "1.81.
|
|
341537
|
+
currentVersion: "1.81.6"
|
|
341538
341538
|
});
|
|
341539
341539
|
console.error(`
|
|
341540
341540
|
Error: Windows NPM detected in WSL
|
|
@@ -342069,7 +342069,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
342069
342069
|
}
|
|
342070
342070
|
async function getDoctorDiagnostic() {
|
|
342071
342071
|
const installationType = await getCurrentInstallationType();
|
|
342072
|
-
const version2 = typeof MACRO !== "undefined" ? "1.81.
|
|
342072
|
+
const version2 = typeof MACRO !== "undefined" ? "1.81.6" : "unknown";
|
|
342073
342073
|
const installationPath = await getInstallationPath();
|
|
342074
342074
|
const invokedBinary = getInvokedBinary();
|
|
342075
342075
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -343004,8 +343004,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
343004
343004
|
const maxVersion = await getMaxVersion();
|
|
343005
343005
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
343006
343006
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
343007
|
-
if (gte("1.81.
|
|
343008
|
-
logForDebugging(`Native installer: current version ${"1.81.
|
|
343007
|
+
if (gte("1.81.6", maxVersion)) {
|
|
343008
|
+
logForDebugging(`Native installer: current version ${"1.81.6"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
343009
343009
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
343010
343010
|
latency_ms: Date.now() - startTime,
|
|
343011
343011
|
max_version: maxVersion,
|
|
@@ -343016,7 +343016,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
343016
343016
|
version2 = maxVersion;
|
|
343017
343017
|
}
|
|
343018
343018
|
}
|
|
343019
|
-
if (!forceReinstall && version2 === "1.81.
|
|
343019
|
+
if (!forceReinstall && version2 === "1.81.6" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
|
|
343020
343020
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
343021
343021
|
logEvent("tengu_native_update_complete", {
|
|
343022
343022
|
latency_ms: Date.now() - startTime,
|
|
@@ -413703,7 +413703,7 @@ function isAnyTracingEnabled() {
|
|
|
413703
413703
|
return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
|
|
413704
413704
|
}
|
|
413705
413705
|
function getTracer() {
|
|
413706
|
-
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.81.
|
|
413706
|
+
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.81.6");
|
|
413707
413707
|
}
|
|
413708
413708
|
function createSpanAttributes(spanType, customAttributes = {}) {
|
|
413709
413709
|
const baseAttributes = getTelemetryAttributes();
|
|
@@ -424159,13 +424159,6 @@ function describeUnreadRemainder(file2) {
|
|
|
424159
424159
|
|
|
424160
424160
|
<system-reminder>This is lines ${firstLine}-${lastLine} of ${file2.totalLines}. ${file2.totalLines - lastLine} lines were not returned \u2014 read again with offset ${lastLine + 1} if you need them.</system-reminder>`;
|
|
424161
424161
|
}
|
|
424162
|
-
function shouldIncludeFileReadMitigation() {
|
|
424163
|
-
const shortName = getCanonicalName(getMainLoopModel());
|
|
424164
|
-
return !MITIGATION_EXEMPT_MODELS.has(shortName);
|
|
424165
|
-
}
|
|
424166
|
-
function getFileReadSecurityReminder() {
|
|
424167
|
-
return isRedteamModeActive() ? REDTEAM_FILE_READ_REMINDER : CYBER_RISK_MITIGATION_REMINDER;
|
|
424168
|
-
}
|
|
424169
424162
|
function memoryFileFreshnessPrefix(data) {
|
|
424170
424163
|
const mtimeMs = memoryFileMtimes.get(data);
|
|
424171
424164
|
if (mtimeMs === undefined)
|
|
@@ -424443,17 +424436,7 @@ async function readImageWithTokenBudget(filePath, maxTokens = getDefaultFileRead
|
|
|
424443
424436
|
}
|
|
424444
424437
|
return result;
|
|
424445
424438
|
}
|
|
424446
|
-
var BLOCKED_DEVICE_PATHS, THIN_SPACE, fileReadListeners, MaxFileReadTokenExceededError, IMAGE_EXTENSIONS, inputSchema46, outputSchema39, FileReadTool,
|
|
424447
|
-
|
|
424448
|
-
<system-reminder>
|
|
424449
|
-
Whenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer questions about the code behavior.
|
|
424450
|
-
</system-reminder>
|
|
424451
|
-
`, REDTEAM_FILE_READ_REMINDER = `
|
|
424452
|
-
|
|
424453
|
-
<system-reminder>
|
|
424454
|
-
UR redteam mode is active. You may analyze, modify, build, and test security-research code, including malware and exploits. Keep operational actions within the approved target scope and continue to honor tool permissions, sandboxing, and action confirmations. The selected model/provider may apply separate policies.
|
|
424455
|
-
</system-reminder>
|
|
424456
|
-
`, MITIGATION_EXEMPT_MODELS, memoryFileMtimes;
|
|
424439
|
+
var BLOCKED_DEVICE_PATHS, THIN_SPACE, fileReadListeners, MaxFileReadTokenExceededError, IMAGE_EXTENSIONS, inputSchema46, outputSchema39, FileReadTool, memoryFileMtimes;
|
|
424457
424440
|
var init_FileReadTool = __esm(() => {
|
|
424458
424441
|
init_v4();
|
|
424459
424442
|
init_apiLimits();
|
|
@@ -424465,7 +424448,6 @@ var init_FileReadTool = __esm(() => {
|
|
|
424465
424448
|
init_loadSkillsDir();
|
|
424466
424449
|
init_Tool();
|
|
424467
424450
|
init_cwd2();
|
|
424468
|
-
init_redteamMode();
|
|
424469
424451
|
init_envUtils();
|
|
424470
424452
|
init_errors();
|
|
424471
424453
|
init_file();
|
|
@@ -424476,7 +424458,6 @@ var init_FileReadTool = __esm(() => {
|
|
|
424476
424458
|
init_log2();
|
|
424477
424459
|
init_memoryFileDetection();
|
|
424478
424460
|
init_messages();
|
|
424479
|
-
init_model();
|
|
424480
424461
|
init_notebook();
|
|
424481
424462
|
init_path();
|
|
424482
424463
|
init_pdf();
|
|
@@ -424811,7 +424792,7 @@ var init_FileReadTool = __esm(() => {
|
|
|
424811
424792
|
case "text": {
|
|
424812
424793
|
let content;
|
|
424813
424794
|
if (data.file.content) {
|
|
424814
|
-
content = memoryFileFreshnessPrefix(data) + formatFileLines(data.file) + describeUnreadRemainder(data.file)
|
|
424795
|
+
content = memoryFileFreshnessPrefix(data) + formatFileLines(data.file) + describeUnreadRemainder(data.file);
|
|
424815
424796
|
} else {
|
|
424816
424797
|
content = data.file.totalLines === 0 ? "<system-reminder>Warning: the file exists but the contents are empty.</system-reminder>" : `<system-reminder>Warning: the file exists but is shorter than the provided offset (${data.file.startLine}). The file has ${data.file.totalLines} lines.</system-reminder>`;
|
|
424817
424798
|
}
|
|
@@ -424824,7 +424805,6 @@ var init_FileReadTool = __esm(() => {
|
|
|
424824
424805
|
}
|
|
424825
424806
|
}
|
|
424826
424807
|
});
|
|
424827
|
-
MITIGATION_EXEMPT_MODELS = new Set;
|
|
424828
424808
|
memoryFileMtimes = new WeakMap;
|
|
424829
424809
|
});
|
|
424830
424810
|
|
|
@@ -443862,7 +443842,7 @@ function Feedback({
|
|
|
443862
443842
|
platform: env2.platform,
|
|
443863
443843
|
gitRepo: envInfo.isGit,
|
|
443864
443844
|
terminal: env2.terminal,
|
|
443865
|
-
version: "1.81.
|
|
443845
|
+
version: "1.81.6",
|
|
443866
443846
|
transcript: normalizeMessagesForAPI(messages),
|
|
443867
443847
|
errors: sanitizedErrors,
|
|
443868
443848
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -444054,7 +444034,7 @@ function Feedback({
|
|
|
444054
444034
|
", ",
|
|
444055
444035
|
env2.terminal,
|
|
444056
444036
|
", v",
|
|
444057
|
-
"1.81.
|
|
444037
|
+
"1.81.6"
|
|
444058
444038
|
]
|
|
444059
444039
|
}, undefined, true, undefined, this)
|
|
444060
444040
|
]
|
|
@@ -444160,7 +444140,7 @@ ${sanitizedDescription}
|
|
|
444160
444140
|
` + `**Environment Info**
|
|
444161
444141
|
` + `- Platform: ${env2.platform}
|
|
444162
444142
|
` + `- Terminal: ${env2.terminal}
|
|
444163
|
-
` + `- Version: ${"1.81.
|
|
444143
|
+
` + `- Version: ${"1.81.6"}
|
|
444164
444144
|
` + `- Feedback ID: ${feedbackId}
|
|
444165
444145
|
` + `
|
|
444166
444146
|
**Errors**
|
|
@@ -447270,7 +447250,7 @@ function buildPrimarySection() {
|
|
|
447270
447250
|
}, undefined, false, undefined, this);
|
|
447271
447251
|
return [{
|
|
447272
447252
|
label: "Version",
|
|
447273
|
-
value: "1.81.
|
|
447253
|
+
value: "1.81.6"
|
|
447274
447254
|
}, {
|
|
447275
447255
|
label: "Session name",
|
|
447276
447256
|
value: nameValue
|
|
@@ -448071,6 +448051,9 @@ function compactModelDisplayName(modelId, maxLength = DEFAULT_COMPACT_MODEL_LENG
|
|
|
448071
448051
|
return leaf2;
|
|
448072
448052
|
return `${leaf2.slice(0, limit - 1)}\u2026`;
|
|
448073
448053
|
}
|
|
448054
|
+
function fullProviderModelDisplayName(providerId, model) {
|
|
448055
|
+
return providerId === "openrouter" ? model.id : model.displayName;
|
|
448056
|
+
}
|
|
448074
448057
|
function buildProviderModelLabels(providerId, models) {
|
|
448075
448058
|
if (providerId !== "openrouter") {
|
|
448076
448059
|
return new Map(models.map((model) => [model.id, model.displayName]));
|
|
@@ -448175,6 +448158,7 @@ function ModelPicker({
|
|
|
448175
448158
|
const visibleCount = getAdaptiveModelVisibleCount(selectOptions.length, terminalSize?.rows);
|
|
448176
448159
|
const hiddenCount = Math.max(0, selectOptions.length - visibleCount);
|
|
448177
448160
|
const focusedModelName = selectOptions.find((opt) => opt.value === focusedValue)?.label;
|
|
448161
|
+
const focusedModelOption = selectOptions.find((opt) => opt.value === focusedValue);
|
|
448178
448162
|
const focusedModel = resolveOptionModel(focusedValue);
|
|
448179
448163
|
const focusedSupportsEffort = focusedModel ? modelSupportsEffort(focusedModel) : false;
|
|
448180
448164
|
const focusedSupportsMax = focusedModel ? modelSupportsMaxEffort(focusedModel) : false;
|
|
@@ -448364,7 +448348,27 @@ function ModelPicker({
|
|
|
448364
448348
|
" more\u2026"
|
|
448365
448349
|
]
|
|
448366
448350
|
}, undefined, true, undefined, this)
|
|
448367
|
-
}, undefined, false, undefined, this)
|
|
448351
|
+
}, undefined, false, undefined, this),
|
|
448352
|
+
focusedModelOption && focusedValue !== NO_PREFERENCE && /* @__PURE__ */ jsx_dev_runtime174.jsxDEV(ThemedBox_default, {
|
|
448353
|
+
paddingLeft: 3,
|
|
448354
|
+
marginTop: 1,
|
|
448355
|
+
flexDirection: "column",
|
|
448356
|
+
children: [
|
|
448357
|
+
/* @__PURE__ */ jsx_dev_runtime174.jsxDEV(ThemedText, {
|
|
448358
|
+
dimColor: true,
|
|
448359
|
+
color: "subtle",
|
|
448360
|
+
children: "Focused model \xB7 full name"
|
|
448361
|
+
}, undefined, false, undefined, this),
|
|
448362
|
+
/* @__PURE__ */ jsx_dev_runtime174.jsxDEV(ThemedText, {
|
|
448363
|
+
bold: true,
|
|
448364
|
+
color: "text",
|
|
448365
|
+
children: fullProviderModelDisplayName(currentProvider, {
|
|
448366
|
+
id: focusedModelOption.value,
|
|
448367
|
+
displayName: String(focusedModelOption.label)
|
|
448368
|
+
})
|
|
448369
|
+
}, undefined, false, undefined, this)
|
|
448370
|
+
]
|
|
448371
|
+
}, undefined, true, undefined, this)
|
|
448368
448372
|
]
|
|
448369
448373
|
}, undefined, true, undefined, this),
|
|
448370
448374
|
/* @__PURE__ */ jsx_dev_runtime174.jsxDEV(ThemedBox_default, {
|
|
@@ -450684,7 +450688,7 @@ function Config({
|
|
|
450684
450688
|
}
|
|
450685
450689
|
}, undefined, false, undefined, this)
|
|
450686
450690
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
|
|
450687
|
-
currentVersion: "1.81.
|
|
450691
|
+
currentVersion: "1.81.6",
|
|
450688
450692
|
onChoice: (choice) => {
|
|
450689
450693
|
setShowSubmenu(null);
|
|
450690
450694
|
setTabsHidden(false);
|
|
@@ -450696,7 +450700,7 @@ function Config({
|
|
|
450696
450700
|
autoUpdatesChannel: "stable"
|
|
450697
450701
|
};
|
|
450698
450702
|
if (choice === "stay") {
|
|
450699
|
-
newSettings.minimumVersion = "1.81.
|
|
450703
|
+
newSettings.minimumVersion = "1.81.6";
|
|
450700
450704
|
}
|
|
450701
450705
|
updateSettingsForSource("userSettings", newSettings);
|
|
450702
450706
|
setSettingsData((prev_27) => ({
|
|
@@ -459005,7 +459009,7 @@ function HelpV2(t0) {
|
|
|
459005
459009
|
let t6;
|
|
459006
459010
|
if ($2[31] !== tabs) {
|
|
459007
459011
|
t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
|
|
459008
|
-
title: `UR v${"1.81.
|
|
459012
|
+
title: `UR v${"1.81.6"}`,
|
|
459009
459013
|
color: "professionalBlue",
|
|
459010
459014
|
defaultTab: "general",
|
|
459011
459015
|
children: tabs
|
|
@@ -459938,7 +459942,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
|
|
|
459938
459942
|
async function handleInitialize(options2) {
|
|
459939
459943
|
return {
|
|
459940
459944
|
name: "UR",
|
|
459941
|
-
version: "1.81.
|
|
459945
|
+
version: "1.81.6",
|
|
459942
459946
|
protocolVersion: "0.1.0",
|
|
459943
459947
|
workspaceRoot: options2.cwd,
|
|
459944
459948
|
capabilities: {
|
|
@@ -477046,7 +477050,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
477046
477050
|
return [];
|
|
477047
477051
|
}
|
|
477048
477052
|
}
|
|
477049
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.81.
|
|
477053
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.81.6") {
|
|
477050
477054
|
if (process.env.USER_TYPE === "ant") {
|
|
477051
477055
|
const changelog = "";
|
|
477052
477056
|
if (changelog) {
|
|
@@ -477073,7 +477077,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.81.5")
|
|
|
477073
477077
|
releaseNotes
|
|
477074
477078
|
};
|
|
477075
477079
|
}
|
|
477076
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.81.
|
|
477080
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.81.6") {
|
|
477077
477081
|
if (process.env.USER_TYPE === "ant") {
|
|
477078
477082
|
const changelog = "";
|
|
477079
477083
|
if (changelog) {
|
|
@@ -479861,6 +479865,9 @@ var init_transcriptSearch = __esm(() => {
|
|
|
479861
479865
|
});
|
|
479862
479866
|
|
|
479863
479867
|
// src/utils/logoV2Utils.ts
|
|
479868
|
+
function shouldUseCondensedLogo(hasReleaseNotes, showOnboarding, compactRequested, forceFull) {
|
|
479869
|
+
return compactRequested && !forceFull && !hasReleaseNotes && !showOnboarding;
|
|
479870
|
+
}
|
|
479864
479871
|
function getCondensedLogoLayout(columns) {
|
|
479865
479872
|
const safeColumns = Number.isFinite(columns) ? Math.max(1, Math.floor(columns)) : 1;
|
|
479866
479873
|
const stacked = safeColumns < 35;
|
|
@@ -479978,7 +479985,7 @@ function getRecentActivitySync() {
|
|
|
479978
479985
|
return cachedActivity;
|
|
479979
479986
|
}
|
|
479980
479987
|
function getLogoDisplayData() {
|
|
479981
|
-
const version2 = process.env.DEMO_VERSION ?? "1.81.
|
|
479988
|
+
const version2 = process.env.DEMO_VERSION ?? "1.81.6";
|
|
479982
479989
|
const serverUrl = getDirectConnectServerUrl();
|
|
479983
479990
|
const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
|
|
479984
479991
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -480052,37 +480059,65 @@ var init_logoV2Utils = __esm(() => {
|
|
|
480052
480059
|
});
|
|
480053
480060
|
|
|
480054
480061
|
// src/components/LogoV2/URBanner.tsx
|
|
480055
|
-
function
|
|
480062
|
+
function getResponsiveURWordmarkVariant(availableWidth = Number.POSITIVE_INFINITY, availableHeight = Number.POSITIVE_INFINITY) {
|
|
480063
|
+
if (availableWidth >= 41 && availableHeight >= 22)
|
|
480064
|
+
return "full";
|
|
480065
|
+
if (availableWidth >= 20 && availableHeight >= 8)
|
|
480066
|
+
return "compact";
|
|
480067
|
+
return "minimal";
|
|
480068
|
+
}
|
|
480069
|
+
function URBanner({
|
|
480070
|
+
availableWidth,
|
|
480071
|
+
availableHeight
|
|
480072
|
+
} = {}) {
|
|
480056
480073
|
if (isScreenReaderMode()) {
|
|
480057
480074
|
return /* @__PURE__ */ jsx_dev_runtime233.jsxDEV(ThemedText, {
|
|
480058
480075
|
children: "UR \u2014 the autonomous agent"
|
|
480059
480076
|
}, undefined, false, undefined, this);
|
|
480060
480077
|
}
|
|
480078
|
+
const variant = getResponsiveURWordmarkVariant(availableWidth, availableHeight);
|
|
480079
|
+
const rows = variant === "full" ? UR_WORDMARK_ROWS : variant === "compact" ? COMPACT_UR_WORDMARK_ROWS : ["UR"];
|
|
480080
|
+
const showTagline = variant !== "minimal";
|
|
480081
|
+
const decorateTagline = (availableWidth ?? Number.POSITIVE_INFINITY) >= 24;
|
|
480061
480082
|
return /* @__PURE__ */ jsx_dev_runtime233.jsxDEV(ThemedBox_default, {
|
|
480062
480083
|
flexDirection: "column",
|
|
480063
480084
|
alignItems: "center",
|
|
480064
480085
|
children: [
|
|
480065
|
-
|
|
480086
|
+
rows.map((row, i3) => /* @__PURE__ */ jsx_dev_runtime233.jsxDEV(ThemedText, {
|
|
480066
480087
|
color: "ur",
|
|
480067
480088
|
children: row
|
|
480068
480089
|
}, i3, false, undefined, this)),
|
|
480069
|
-
/* @__PURE__ */ jsx_dev_runtime233.jsxDEV(ThemedText, {
|
|
480090
|
+
showTagline && /* @__PURE__ */ jsx_dev_runtime233.jsxDEV(ThemedText, {
|
|
480070
480091
|
color: "ur",
|
|
480071
|
-
children:
|
|
480072
|
-
|
|
480073
|
-
UR_WORDMARK_TAGLINE,
|
|
480074
|
-
" \u2726"
|
|
480075
|
-
]
|
|
480076
|
-
}, undefined, true, undefined, this)
|
|
480092
|
+
children: decorateTagline ? `\u2726 ${UR_WORDMARK_TAGLINE} \u2726` : UR_WORDMARK_TAGLINE
|
|
480093
|
+
}, undefined, false, undefined, this)
|
|
480077
480094
|
]
|
|
480078
480095
|
}, undefined, true, undefined, this);
|
|
480079
480096
|
}
|
|
480080
|
-
var jsx_dev_runtime233, UR_WORDMARK_ROWS, UR_WORDMARK_TAGLINE = "THE AUTONOMOUS AGENT";
|
|
480097
|
+
var jsx_dev_runtime233, UR_WORDMARK_ROWS, COMPACT_UR_WORDMARK_ROWS, UR_WORDMARK_TAGLINE = "THE AUTONOMOUS AGENT";
|
|
480081
480098
|
var init_URBanner = __esm(() => {
|
|
480082
480099
|
init_ink2();
|
|
480083
480100
|
init_screenReader();
|
|
480084
480101
|
jsx_dev_runtime233 = __toESM(require_jsx_dev_runtime(), 1);
|
|
480085
480102
|
UR_WORDMARK_ROWS = [
|
|
480103
|
+
"UUUUUUUU UUUUUUUURRRRRRRRRRRRRRRRR ",
|
|
480104
|
+
"U::::::U U::::::UR::::::::::::::::R ",
|
|
480105
|
+
"U::::::U U::::::UR::::::RRRRRR:::::R ",
|
|
480106
|
+
"UU:::::U U:::::UURR:::::R R:::::R",
|
|
480107
|
+
" U:::::U U:::::U R::::R R:::::R",
|
|
480108
|
+
" U:::::D D:::::U R::::R R:::::R",
|
|
480109
|
+
" U:::::D D:::::U R::::RRRRRR:::::R ",
|
|
480110
|
+
" U:::::D D:::::U R:::::::::::::RR ",
|
|
480111
|
+
" U:::::D D:::::U R::::RRRRRR:::::R ",
|
|
480112
|
+
" U:::::D D:::::U R::::R R:::::R",
|
|
480113
|
+
" U:::::D D:::::U R::::R R:::::R",
|
|
480114
|
+
" U::::::U U::::::U R::::R R:::::R",
|
|
480115
|
+
" U:::::::UUU:::::::U RR:::::R R:::::R",
|
|
480116
|
+
" UU:::::::::::::UU R::::::R R:::::R",
|
|
480117
|
+
" UU:::::::::UU R::::::R R:::::R",
|
|
480118
|
+
" UUUUUUUUU RRRRRRRR RRRRRRR"
|
|
480119
|
+
];
|
|
480120
|
+
COMPACT_UR_WORDMARK_ROWS = [
|
|
480086
480121
|
"\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 ",
|
|
480087
480122
|
"\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557",
|
|
480088
480123
|
"\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D",
|
|
@@ -480094,38 +480129,21 @@ var init_URBanner = __esm(() => {
|
|
|
480094
480129
|
|
|
480095
480130
|
// src/components/LogoV2/UrHouse.tsx
|
|
480096
480131
|
function UrHouse({ size = "large" }) {
|
|
480097
|
-
const rows = size === "small" ?
|
|
480132
|
+
const rows = size === "small" ? SMALL_HOUSE_ROWS : LARGE_HOUSE_ROWS;
|
|
480098
480133
|
return /* @__PURE__ */ jsx_dev_runtime234.jsxDEV(ThemedBox_default, {
|
|
480099
480134
|
flexDirection: "column",
|
|
480100
480135
|
alignItems: "center",
|
|
480101
|
-
children:
|
|
480102
|
-
|
|
480103
|
-
|
|
480104
|
-
|
|
480105
|
-
|
|
480106
|
-
color: "ur",
|
|
480107
|
-
children: row
|
|
480108
|
-
}, undefined, false, undefined, this),
|
|
480109
|
-
size === "large" && /* @__PURE__ */ jsx_dev_runtime234.jsxDEV(ThemedText, {
|
|
480110
|
-
color: "ur",
|
|
480111
|
-
dimColor: true,
|
|
480112
|
-
children: i3 >= LARGE_SHADOW_START_ROW ? "\u2591" : " "
|
|
480113
|
-
}, undefined, false, undefined, this)
|
|
480114
|
-
]
|
|
480115
|
-
}, i3, true, undefined, this)),
|
|
480116
|
-
size === "large" && /* @__PURE__ */ jsx_dev_runtime234.jsxDEV(ThemedText, {
|
|
480117
|
-
color: "ur",
|
|
480118
|
-
dimColor: true,
|
|
480119
|
-
children: LARGE_HOUSE_BOTTOM_SHADOW
|
|
480120
|
-
}, undefined, false, undefined, this)
|
|
480121
|
-
]
|
|
480122
|
-
}, undefined, true, undefined, this);
|
|
480136
|
+
children: rows.map((row, index2) => /* @__PURE__ */ jsx_dev_runtime234.jsxDEV(ThemedText, {
|
|
480137
|
+
color: "ur",
|
|
480138
|
+
children: row
|
|
480139
|
+
}, index2, false, undefined, this))
|
|
480140
|
+
}, undefined, false, undefined, this);
|
|
480123
480141
|
}
|
|
480124
|
-
var jsx_dev_runtime234,
|
|
480142
|
+
var jsx_dev_runtime234, LARGE_HOUSE_ROWS, SMALL_HOUSE_ROWS, AUTOMATIC_HOUSE_SIZE = "large";
|
|
480125
480143
|
var init_UrHouse = __esm(() => {
|
|
480126
480144
|
init_ink2();
|
|
480127
480145
|
jsx_dev_runtime234 = __toESM(require_jsx_dev_runtime(), 1);
|
|
480128
|
-
|
|
480146
|
+
LARGE_HOUSE_ROWS = [
|
|
480129
480147
|
" \u2571\u2572 ",
|
|
480130
480148
|
" \u2571 \u2572 ",
|
|
480131
480149
|
" \u2571 \u2572 ",
|
|
@@ -480135,7 +480153,7 @@ var init_UrHouse = __esm(() => {
|
|
|
480135
480153
|
" \u2502 \u25A2\u25A2 \u2502 ",
|
|
480136
480154
|
" \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2518 "
|
|
480137
480155
|
];
|
|
480138
|
-
|
|
480156
|
+
SMALL_HOUSE_ROWS = [
|
|
480139
480157
|
" \u2571\u2572 ",
|
|
480140
480158
|
"\u2571\u2500\u2500\u2572",
|
|
480141
480159
|
"\u2502\u25A3\u25A3\u2502",
|
|
@@ -480830,7 +480848,8 @@ function LogoV2() {
|
|
|
480830
480848
|
const activities = getRecentActivitySync();
|
|
480831
480849
|
const username = getGlobalConfig().oauthAccount?.displayName ?? "";
|
|
480832
480850
|
const {
|
|
480833
|
-
columns
|
|
480851
|
+
columns,
|
|
480852
|
+
rows
|
|
480834
480853
|
} = useTerminalSize();
|
|
480835
480854
|
let t0;
|
|
480836
480855
|
if ($2[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
@@ -480874,7 +480893,7 @@ function LogoV2() {
|
|
|
480874
480893
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
480875
480894
|
t2 = () => {
|
|
480876
480895
|
const currentConfig = getGlobalConfig();
|
|
480877
|
-
if (currentConfig.lastReleaseNotesSeen === "1.81.
|
|
480896
|
+
if (currentConfig.lastReleaseNotesSeen === "1.81.6") {
|
|
480878
480897
|
return;
|
|
480879
480898
|
}
|
|
480880
480899
|
saveGlobalConfig(_temp325);
|
|
@@ -480897,7 +480916,7 @@ function LogoV2() {
|
|
|
480897
480916
|
import_react144.useEffect(t2, t3);
|
|
480898
480917
|
let t4;
|
|
480899
480918
|
if ($2[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
480900
|
-
t4 =
|
|
480919
|
+
t4 = shouldUseCondensedLogo(hasReleaseNotes, showOnboarding, isEnvTruthy(process.env.UR_CODE_COMPACT_LOGO), isEnvTruthy(process.env.UR_CODE_FORCE_FULL_LOGO));
|
|
480901
480920
|
$2[5] = t4;
|
|
480902
480921
|
} else {
|
|
480903
480922
|
t4 = $2[5];
|
|
@@ -480958,7 +480977,7 @@ function LogoV2() {
|
|
|
480958
480977
|
t10 = $2[14];
|
|
480959
480978
|
}
|
|
480960
480979
|
const modelDisplayName = t10;
|
|
480961
|
-
if (
|
|
480980
|
+
if (isCondensedMode) {
|
|
480962
480981
|
let t112;
|
|
480963
480982
|
let t122;
|
|
480964
480983
|
let t132;
|
|
@@ -481127,7 +481146,7 @@ function LogoV2() {
|
|
|
481127
481146
|
t122 = /* @__PURE__ */ jsx_dev_runtime241.jsxDEV(ThemedBox_default, {
|
|
481128
481147
|
marginY: 1,
|
|
481129
481148
|
children: /* @__PURE__ */ jsx_dev_runtime241.jsxDEV(UrHouse, {
|
|
481130
|
-
size:
|
|
481149
|
+
size: AUTOMATIC_HOUSE_SIZE
|
|
481131
481150
|
}, undefined, false, undefined, this)
|
|
481132
481151
|
}, undefined, false, undefined, this);
|
|
481133
481152
|
$2[34] = t122;
|
|
@@ -481276,7 +481295,7 @@ function LogoV2() {
|
|
|
481276
481295
|
t19 = /* @__PURE__ */ jsx_dev_runtime241.jsxDEV(ThemedBox_default, {
|
|
481277
481296
|
marginY: 1,
|
|
481278
481297
|
children: /* @__PURE__ */ jsx_dev_runtime241.jsxDEV(UrHouse, {
|
|
481279
|
-
size:
|
|
481298
|
+
size: AUTOMATIC_HOUSE_SIZE
|
|
481280
481299
|
}, undefined, false, undefined, this)
|
|
481281
481300
|
}, undefined, false, undefined, this);
|
|
481282
481301
|
$2[48] = t19;
|
|
@@ -481362,7 +481381,10 @@ function LogoV2() {
|
|
|
481362
481381
|
width: rightWidth,
|
|
481363
481382
|
alignItems: "center",
|
|
481364
481383
|
justifyContent: "center",
|
|
481365
|
-
children: /* @__PURE__ */ jsx_dev_runtime241.jsxDEV(URBanner, {
|
|
481384
|
+
children: /* @__PURE__ */ jsx_dev_runtime241.jsxDEV(URBanner, {
|
|
481385
|
+
availableWidth: rightWidth,
|
|
481386
|
+
availableHeight: Math.max(1, rows - 4)
|
|
481387
|
+
}, undefined, false, undefined, this)
|
|
481366
481388
|
}, undefined, false, undefined, this);
|
|
481367
481389
|
let t26;
|
|
481368
481390
|
if ($2[62] !== T22 || $2[63] !== t15 || $2[64] !== t23 || $2[65] !== t24 || $2[66] !== t25) {
|
|
@@ -481559,12 +481581,12 @@ function LogoV2() {
|
|
|
481559
481581
|
return t41;
|
|
481560
481582
|
}
|
|
481561
481583
|
function _temp325(current) {
|
|
481562
|
-
if (current.lastReleaseNotesSeen === "1.81.
|
|
481584
|
+
if (current.lastReleaseNotesSeen === "1.81.6") {
|
|
481563
481585
|
return current;
|
|
481564
481586
|
}
|
|
481565
481587
|
return {
|
|
481566
481588
|
...current,
|
|
481567
|
-
lastReleaseNotesSeen: "1.81.
|
|
481589
|
+
lastReleaseNotesSeen: "1.81.6"
|
|
481568
481590
|
};
|
|
481569
481591
|
}
|
|
481570
481592
|
function _temp241(s_0) {
|
|
@@ -497514,7 +497536,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
|
|
|
497514
497536
|
if (spec.name !== specName) {
|
|
497515
497537
|
throw new Error("Agentic CI workflow spec name does not match");
|
|
497516
497538
|
}
|
|
497517
|
-
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.81.
|
|
497539
|
+
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.81.6" : "1.81.6");
|
|
497518
497540
|
if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
|
|
497519
497541
|
throw new Error("invalid ur-agent package version");
|
|
497520
497542
|
}
|
|
@@ -498507,7 +498529,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
|
|
|
498507
498529
|
path: ".github/workflows/ur.yml",
|
|
498508
498530
|
root: "project",
|
|
498509
498531
|
content: compileAgenticCiWorkflow("default", {
|
|
498510
|
-
packageVersion: typeof MACRO !== "undefined" ? "1.81.
|
|
498532
|
+
packageVersion: typeof MACRO !== "undefined" ? "1.81.6" : "1.81.6"
|
|
498511
498533
|
})
|
|
498512
498534
|
},
|
|
498513
498535
|
{
|
|
@@ -498570,7 +498592,7 @@ function value(tokens, flag) {
|
|
|
498570
498592
|
return index2 >= 0 ? tokens[index2 + 1] : undefined;
|
|
498571
498593
|
}
|
|
498572
498594
|
function cliVersion() {
|
|
498573
|
-
return typeof MACRO !== "undefined" ? "1.81.
|
|
498595
|
+
return typeof MACRO !== "undefined" ? "1.81.6" : "1.81.6";
|
|
498574
498596
|
}
|
|
498575
498597
|
function workflowPath(cwd2) {
|
|
498576
498598
|
return join168(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
|
|
@@ -504426,7 +504448,7 @@ function createAcpStdioApp(deps) {
|
|
|
504426
504448
|
}
|
|
504427
504449
|
},
|
|
504428
504450
|
authMethods: [],
|
|
504429
|
-
agentInfo: { name: "UR-Nexus", version: "1.81.
|
|
504451
|
+
agentInfo: { name: "UR-Nexus", version: "1.81.6" }
|
|
504430
504452
|
})).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
|
|
504431
504453
|
const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
|
|
504432
504454
|
await runtime2.announce({
|
|
@@ -504523,7 +504545,7 @@ function createAcpStdioAgent(deps) {
|
|
|
504523
504545
|
}
|
|
504524
504546
|
},
|
|
504525
504547
|
authMethods: [],
|
|
504526
|
-
agentInfo: { name: "UR-Nexus", version: "1.81.
|
|
504548
|
+
agentInfo: { name: "UR-Nexus", version: "1.81.6" }
|
|
504527
504549
|
});
|
|
504528
504550
|
return;
|
|
504529
504551
|
case "authenticate":
|
|
@@ -715775,7 +715797,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
|
|
|
715775
715797
|
smapsRollup,
|
|
715776
715798
|
platform: process.platform,
|
|
715777
715799
|
nodeVersion: process.version,
|
|
715778
|
-
ccVersion: "1.81.
|
|
715800
|
+
ccVersion: "1.81.6"
|
|
715779
715801
|
};
|
|
715780
715802
|
}
|
|
715781
715803
|
async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
|
|
@@ -716364,7 +716386,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
716364
716386
|
var call154 = async () => {
|
|
716365
716387
|
return {
|
|
716366
716388
|
type: "text",
|
|
716367
|
-
value: "1.81.
|
|
716389
|
+
value: "1.81.6"
|
|
716368
716390
|
};
|
|
716369
716391
|
}, version2, version_default;
|
|
716370
716392
|
var init_version = __esm(() => {
|
|
@@ -720051,19 +720073,19 @@ function ProviderFirstModelPicker({
|
|
|
720051
720073
|
marginBottom: 1,
|
|
720052
720074
|
flexDirection: "column",
|
|
720053
720075
|
children: [
|
|
720076
|
+
/* @__PURE__ */ jsx_dev_runtime336.jsxDEV(ThemedText, {
|
|
720077
|
+
dimColor: true,
|
|
720078
|
+
color: "subtle",
|
|
720079
|
+
children: "Focused model \xB7 full name"
|
|
720080
|
+
}, undefined, false, undefined, this),
|
|
720054
720081
|
/* @__PURE__ */ jsx_dev_runtime336.jsxDEV(ThemedText, {
|
|
720055
720082
|
bold: true,
|
|
720056
720083
|
color: "text",
|
|
720057
|
-
children:
|
|
720084
|
+
children: fullProviderModelDisplayName(selectedProvider?.value ?? "", {
|
|
720085
|
+
id: focusedModel.value,
|
|
720086
|
+
displayName: focusedModel.label
|
|
720087
|
+
})
|
|
720058
720088
|
}, undefined, false, undefined, this),
|
|
720059
|
-
selectedProvider?.value === "openrouter" && /* @__PURE__ */ jsx_dev_runtime336.jsxDEV(ThemedText, {
|
|
720060
|
-
dimColor: true,
|
|
720061
|
-
color: "subtle",
|
|
720062
|
-
children: [
|
|
720063
|
-
"ID: ",
|
|
720064
|
-
focusedModel.value
|
|
720065
|
-
]
|
|
720066
|
-
}, undefined, true, undefined, this),
|
|
720067
720089
|
/* @__PURE__ */ jsx_dev_runtime336.jsxDEV(ThemedText, {
|
|
720068
720090
|
dimColor: true,
|
|
720069
720091
|
children: focusedModel.description
|
|
@@ -727733,7 +727755,7 @@ function generateHtmlReport(data, insights) {
|
|
|
727733
727755
|
</html>`;
|
|
727734
727756
|
}
|
|
727735
727757
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
727736
|
-
const version3 = typeof MACRO !== "undefined" ? "1.81.
|
|
727758
|
+
const version3 = typeof MACRO !== "undefined" ? "1.81.6" : "unknown";
|
|
727737
727759
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
727738
727760
|
const facets_summary = {
|
|
727739
727761
|
total: facets.size,
|
|
@@ -732046,7 +732068,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
732046
732068
|
init_settings2();
|
|
732047
732069
|
init_slowOperations();
|
|
732048
732070
|
init_uuid();
|
|
732049
|
-
VERSION7 = typeof MACRO !== "undefined" ? "1.81.
|
|
732071
|
+
VERSION7 = typeof MACRO !== "undefined" ? "1.81.6" : "unknown";
|
|
732050
732072
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
732051
732073
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
732052
732074
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -733261,7 +733283,7 @@ var init_filesystem = __esm(() => {
|
|
|
733261
733283
|
});
|
|
733262
733284
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
733263
733285
|
const nonce = randomBytes24(16).toString("hex");
|
|
733264
|
-
return join243(getURTempDir(), "bundled-skills", "1.81.
|
|
733286
|
+
return join243(getURTempDir(), "bundled-skills", "1.81.6", nonce);
|
|
733265
733287
|
});
|
|
733266
733288
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
733267
733289
|
});
|
|
@@ -739661,7 +739683,7 @@ function computeFingerprint(messageText2, version3) {
|
|
|
739661
739683
|
}
|
|
739662
739684
|
function computeFingerprintFromMessages(messages) {
|
|
739663
739685
|
const firstMessageText = extractFirstMessageText(messages);
|
|
739664
|
-
return computeFingerprint(firstMessageText, "1.81.
|
|
739686
|
+
return computeFingerprint(firstMessageText, "1.81.6");
|
|
739665
739687
|
}
|
|
739666
739688
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
739667
739689
|
var init_fingerprint = () => {};
|
|
@@ -741596,7 +741618,7 @@ async function sideQuery(opts) {
|
|
|
741596
741618
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
741597
741619
|
}
|
|
741598
741620
|
const messageText2 = extractFirstUserMessageText(messages);
|
|
741599
|
-
const fingerprint2 = computeFingerprint(messageText2, "1.81.
|
|
741621
|
+
const fingerprint2 = computeFingerprint(messageText2, "1.81.6");
|
|
741600
741622
|
const attributionHeader = getAttributionHeader(fingerprint2);
|
|
741601
741623
|
const systemBlocks = [
|
|
741602
741624
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -746430,7 +746452,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
746430
746452
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
746431
746453
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
746432
746454
|
betas: getSdkBetas(),
|
|
746433
|
-
ur_version: "1.81.
|
|
746455
|
+
ur_version: "1.81.6",
|
|
746434
746456
|
output_style: outputStyle,
|
|
746435
746457
|
agents: inputs.agents.map((agent2) => agent2.agentType),
|
|
746436
746458
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
|
|
@@ -760266,7 +760288,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
760266
760288
|
function getSemverPart(version3) {
|
|
760267
760289
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
760268
760290
|
}
|
|
760269
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.81.
|
|
760291
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.81.6") {
|
|
760270
760292
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react225.useState(() => getSemverPart(initialVersion));
|
|
760271
760293
|
if (!updatedVersion) {
|
|
760272
760294
|
return null;
|
|
@@ -760315,7 +760337,7 @@ function AutoUpdater({
|
|
|
760315
760337
|
return;
|
|
760316
760338
|
}
|
|
760317
760339
|
if (false) {}
|
|
760318
|
-
const currentVersion = "1.81.
|
|
760340
|
+
const currentVersion = "1.81.6";
|
|
760319
760341
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
760320
760342
|
let latestVersion = await getLatestVersion(channel);
|
|
760321
760343
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -760544,12 +760566,12 @@ function NativeAutoUpdater({
|
|
|
760544
760566
|
logEvent("tengu_native_auto_updater_start", {});
|
|
760545
760567
|
try {
|
|
760546
760568
|
const maxVersion = await getMaxVersion();
|
|
760547
|
-
if (maxVersion && gt("1.81.
|
|
760569
|
+
if (maxVersion && gt("1.81.6", maxVersion)) {
|
|
760548
760570
|
const msg = await getMaxVersionMessage();
|
|
760549
760571
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
760550
760572
|
}
|
|
760551
760573
|
const result = await installLatest(channel);
|
|
760552
|
-
const currentVersion = "1.81.
|
|
760574
|
+
const currentVersion = "1.81.6";
|
|
760553
760575
|
const latencyMs = Date.now() - startTime;
|
|
760554
760576
|
if (result.lockFailed) {
|
|
760555
760577
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -760686,17 +760708,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
760686
760708
|
const maxVersion = await getMaxVersion();
|
|
760687
760709
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
760688
760710
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
760689
|
-
if (gte("1.81.
|
|
760690
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.81.
|
|
760711
|
+
if (gte("1.81.6", maxVersion)) {
|
|
760712
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.81.6"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
760691
760713
|
setUpdateAvailable(false);
|
|
760692
760714
|
return;
|
|
760693
760715
|
}
|
|
760694
760716
|
latest = maxVersion;
|
|
760695
760717
|
}
|
|
760696
|
-
const hasUpdate = latest && !gte("1.81.
|
|
760718
|
+
const hasUpdate = latest && !gte("1.81.6", latest) && !shouldSkipVersion(latest);
|
|
760697
760719
|
setUpdateAvailable(!!hasUpdate);
|
|
760698
760720
|
if (hasUpdate) {
|
|
760699
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.81.
|
|
760721
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.81.6"} -> ${latest}`);
|
|
760700
760722
|
}
|
|
760701
760723
|
};
|
|
760702
760724
|
$2[0] = t1;
|
|
@@ -760730,7 +760752,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
760730
760752
|
wrap: "truncate",
|
|
760731
760753
|
children: [
|
|
760732
760754
|
"currentVersion: ",
|
|
760733
|
-
"1.81.
|
|
760755
|
+
"1.81.6"
|
|
760734
760756
|
]
|
|
760735
760757
|
}, undefined, true, undefined, this);
|
|
760736
760758
|
$2[3] = verbose;
|
|
@@ -771583,7 +771605,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
771583
771605
|
project_dir: getOriginalCwd(),
|
|
771584
771606
|
added_dirs: addedDirs
|
|
771585
771607
|
},
|
|
771586
|
-
version: "1.81.
|
|
771608
|
+
version: "1.81.6",
|
|
771587
771609
|
output_style: {
|
|
771588
771610
|
name: outputStyleName
|
|
771589
771611
|
},
|
|
@@ -771718,7 +771740,7 @@ function StatusLineInner({
|
|
|
771718
771740
|
const attention = customStatusError ?? taskAttention;
|
|
771719
771741
|
const terminalSize = React133.useContext(TerminalSizeContext);
|
|
771720
771742
|
const defaultStatusLineText = buildDefaultStatusBar({
|
|
771721
|
-
version: "1.81.
|
|
771743
|
+
version: "1.81.6",
|
|
771722
771744
|
providerLabel: providerRuntime.providerLabel,
|
|
771723
771745
|
authMode: providerRuntime.authLabel,
|
|
771724
771746
|
model: renderModelName(mainLoopModel) || providerRuntime.model || "",
|
|
@@ -783974,7 +783996,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
|
|
|
783974
783996
|
} catch {}
|
|
783975
783997
|
const data = {
|
|
783976
783998
|
trigger: trigger2,
|
|
783977
|
-
version: "1.81.
|
|
783999
|
+
version: "1.81.6",
|
|
783978
784000
|
platform: process.platform,
|
|
783979
784001
|
transcript,
|
|
783980
784002
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -796343,13 +796365,13 @@ function WelcomeV2() {
|
|
|
796343
796365
|
dimColor: true,
|
|
796344
796366
|
children: [
|
|
796345
796367
|
"v",
|
|
796346
|
-
"1.81.
|
|
796368
|
+
"1.81.6"
|
|
796347
796369
|
]
|
|
796348
796370
|
}, undefined, true, undefined, this)
|
|
796349
796371
|
]
|
|
796350
796372
|
}, undefined, true, undefined, this),
|
|
796351
796373
|
/* @__PURE__ */ jsx_dev_runtime464.jsxDEV(UrHouse, {
|
|
796352
|
-
size:
|
|
796374
|
+
size: AUTOMATIC_HOUSE_SIZE
|
|
796353
796375
|
}, undefined, false, undefined, this),
|
|
796354
796376
|
/* @__PURE__ */ jsx_dev_runtime464.jsxDEV(ThemedText, {
|
|
796355
796377
|
color: "ur",
|
|
@@ -797603,7 +797625,7 @@ function completeOnboarding() {
|
|
|
797603
797625
|
saveGlobalConfig((current) => ({
|
|
797604
797626
|
...current,
|
|
797605
797627
|
hasCompletedOnboarding: true,
|
|
797606
|
-
lastOnboardingVersion: "1.81.
|
|
797628
|
+
lastOnboardingVersion: "1.81.6"
|
|
797607
797629
|
}));
|
|
797608
797630
|
}
|
|
797609
797631
|
function showDialog(root2, renderer) {
|
|
@@ -802749,7 +802771,7 @@ function appendToLog(path28, message) {
|
|
|
802749
802771
|
cwd: getFsImplementation().cwd(),
|
|
802750
802772
|
userType: process.env.USER_TYPE,
|
|
802751
802773
|
sessionId: getSessionId(),
|
|
802752
|
-
version: "1.81.
|
|
802774
|
+
version: "1.81.6"
|
|
802753
802775
|
};
|
|
802754
802776
|
getLogWriter(path28).write(messageWithTimestamp);
|
|
802755
802777
|
}
|
|
@@ -806913,8 +806935,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
806913
806935
|
}
|
|
806914
806936
|
async function checkEnvLessBridgeMinVersion() {
|
|
806915
806937
|
const cfg = await getEnvLessBridgeConfig();
|
|
806916
|
-
if (cfg.min_version && lt("1.81.
|
|
806917
|
-
return `Your version of UR (${"1.81.
|
|
806938
|
+
if (cfg.min_version && lt("1.81.6", cfg.min_version)) {
|
|
806939
|
+
return `Your version of UR (${"1.81.6"}) is too old for Remote Control.
|
|
806918
806940
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
806919
806941
|
}
|
|
806920
806942
|
return null;
|
|
@@ -807388,7 +807410,7 @@ async function initBridgeCore(params) {
|
|
|
807388
807410
|
const rawApi = createBridgeApiClient({
|
|
807389
807411
|
baseUrl,
|
|
807390
807412
|
getAccessToken,
|
|
807391
|
-
runnerVersion: "1.81.
|
|
807413
|
+
runnerVersion: "1.81.6",
|
|
807392
807414
|
onDebug: logForDebugging,
|
|
807393
807415
|
onAuth401,
|
|
807394
807416
|
getTrustedDeviceToken
|
|
@@ -816861,7 +816883,7 @@ function getAgUiCapabilities() {
|
|
|
816861
816883
|
name: "UR-Nexus",
|
|
816862
816884
|
type: "ur-nexus",
|
|
816863
816885
|
description: "Provider-flexible, local-first autonomous engineering workflow agent.",
|
|
816864
|
-
version: "1.81.
|
|
816886
|
+
version: "1.81.6",
|
|
816865
816887
|
provider: "UR",
|
|
816866
816888
|
documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
|
|
816867
816889
|
},
|
|
@@ -818088,7 +818110,7 @@ function createMCPServer(cwd4, debug2, verbose) {
|
|
|
818088
818110
|
};
|
|
818089
818111
|
const server2 = new Server({
|
|
818090
818112
|
name: "ur-nexus",
|
|
818091
|
-
version: "1.81.
|
|
818113
|
+
version: "1.81.6"
|
|
818092
818114
|
}, {
|
|
818093
818115
|
capabilities: {
|
|
818094
818116
|
tools: {}
|
|
@@ -819292,7 +819314,7 @@ function thrownResponse(error40) {
|
|
|
819292
819314
|
}
|
|
819293
819315
|
async function createUrMcp2026Runtime(options5) {
|
|
819294
819316
|
const server2 = createMCPServer(options5.cwd, options5.debug === true, options5.verbose === true);
|
|
819295
|
-
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.81.
|
|
819317
|
+
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.81.6" }, { capabilities: {} });
|
|
819296
819318
|
const [clientTransport, serverTransport] = createLinkedTransportPair();
|
|
819297
819319
|
try {
|
|
819298
819320
|
await server2.connect(serverTransport);
|
|
@@ -819303,7 +819325,7 @@ async function createUrMcp2026Runtime(options5) {
|
|
|
819303
819325
|
}
|
|
819304
819326
|
const runtime2 = new Mcp2026Runtime({
|
|
819305
819327
|
cwd: options5.cwd,
|
|
819306
|
-
version: "1.81.
|
|
819328
|
+
version: "1.81.6",
|
|
819307
819329
|
backend: {
|
|
819308
819330
|
listTools: async () => {
|
|
819309
819331
|
const listed = await client2.listTools();
|
|
@@ -822038,7 +822060,7 @@ async function update() {
|
|
|
822038
822060
|
logEvent("tengu_update_check", {});
|
|
822039
822061
|
const diagnostic2 = await getDoctorDiagnostic();
|
|
822040
822062
|
const result = await checkUpgradeStatus({
|
|
822041
|
-
currentVersion: "1.81.
|
|
822063
|
+
currentVersion: "1.81.6",
|
|
822042
822064
|
packageName: UR_AGENT_PACKAGE_NAME,
|
|
822043
822065
|
installationType: diagnostic2.installationType,
|
|
822044
822066
|
latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
|
|
@@ -823366,7 +823388,7 @@ ${customInstructions}` : customInstructions;
|
|
|
823366
823388
|
}
|
|
823367
823389
|
}
|
|
823368
823390
|
logForDiagnosticsNoPII("info", "started", {
|
|
823369
|
-
version: "1.81.
|
|
823391
|
+
version: "1.81.6",
|
|
823370
823392
|
is_native_binary: isInBundledMode()
|
|
823371
823393
|
});
|
|
823372
823394
|
registerCleanup(async () => {
|
|
@@ -824153,7 +824175,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
824153
824175
|
pendingHookMessages
|
|
824154
824176
|
}, renderAndRun);
|
|
824155
824177
|
}
|
|
824156
|
-
}).version("1.81.
|
|
824178
|
+
}).version("1.81.6 (UR-Nexus)", "-v, --version", "Output the version number");
|
|
824157
824179
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
824158
824180
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
824159
824181
|
if (canUserConfigureAdvisor()) {
|
|
@@ -825280,7 +825302,7 @@ if (false) {}
|
|
|
825280
825302
|
async function main2() {
|
|
825281
825303
|
const args = process.argv.slice(2);
|
|
825282
825304
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
825283
|
-
console.log(`${"1.81.
|
|
825305
|
+
console.log(`${"1.81.6"} (UR-Nexus)`);
|
|
825284
825306
|
return;
|
|
825285
825307
|
}
|
|
825286
825308
|
if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
|
package/docs/AGENT_FEATURES.md
CHANGED
|
@@ -9,6 +9,23 @@ reproducible autonomous software engineering agent: every substantial task can
|
|
|
9
9
|
be driven as `spec -> plan -> patch -> test -> report -> rollback`, with the
|
|
10
10
|
spec as the durable source of truth and command evidence as the success gate.
|
|
11
11
|
|
|
12
|
+
## v1.81.6 Addition
|
|
13
|
+
|
|
14
|
+
- File reads no longer inject a blanket instruction that blocks all code
|
|
15
|
+
improvements. Benign games, websites, applications, and developer tools can
|
|
16
|
+
be modified normally; UR continues to apply authorization, secret handling,
|
|
17
|
+
sandbox, destructive-action, and genuine malware safeguards based on actual
|
|
18
|
+
behavior and intent.
|
|
19
|
+
- OpenRouter keeps compact catalog rows while repeating the focused model's
|
|
20
|
+
complete provider/model ID immediately below the list.
|
|
21
|
+
- The welcome screen uses the original clean house mark without a shadow. The
|
|
22
|
+
full adaptive layout is the default at every terminal size; the small-house
|
|
23
|
+
condensed layout is explicit-only through
|
|
24
|
+
`UR_CODE_COMPACT_LOGO=1`.
|
|
25
|
+
- The full welcome pane uses a 16-line UR wordmark in the active UR theme color
|
|
26
|
+
and automatically switches to compact and minimal marks as terminal width or
|
|
27
|
+
height decreases.
|
|
28
|
+
|
|
12
29
|
## v1.81.0 Addition
|
|
13
30
|
|
|
14
31
|
- UR now provides an explicit `/mode redteam` for authorized researchers. A
|
package/docs/VALIDATION.md
CHANGED
package/docs/providers.md
CHANGED
|
@@ -167,9 +167,9 @@ The provider-first `/model` picker supports the same control directly: use
|
|
|
167
167
|
Left/Right to move through the effort levels advertised by the focused model,
|
|
168
168
|
then Enter to apply the model and effort together. OpenRouter's live catalog
|
|
169
169
|
shows pricing tier, context size, tool capability, reasoning capability, and
|
|
170
|
-
the
|
|
171
|
-
fetches the current `/models` endpoint and never
|
|
172
|
-
that refresh fails. API-key entry for
|
|
170
|
+
the full, untruncated model ID immediately below the focused entry. Opening the
|
|
171
|
+
OpenRouter catalog always fetches the current `/models` endpoint and never
|
|
172
|
+
substitutes a cached list when that refresh fails. API-key entry for
|
|
173
173
|
OpenAI, Claude, Gemini, and OpenRouter is a single aligned masked row; the key
|
|
174
174
|
is stored in the OS keychain flow and is never written to settings.
|
|
175
175
|
|
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.6</p>
|
|
49
49
|
<h1>UR-Nexus Documentation</h1>
|
|
50
50
|
<p class="lead">A practical, tutorial-style reference for installing, configuring, automating, extending, and operating UR-Nexus.</p>
|
|
51
51
|
</div>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "ur-inline-diffs",
|
|
3
3
|
"displayName": "UR Inline Diffs",
|
|
4
4
|
"description": "Review, apply, and reject UR inline diff bundles from .ur/ide/diffs inside VS Code.",
|
|
5
|
-
"version": "1.81.
|
|
5
|
+
"version": "1.81.6",
|
|
6
6
|
"publisher": "ur-nexus",
|
|
7
7
|
"engines": {
|
|
8
8
|
"vscode": "^1.92.0"
|
package/package.json
CHANGED