ur-agent 1.30.4 → 1.30.5
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 +9 -0
- package/README.md +1 -1
- package/dist/cli.js +79 -84
- package/docs/AGENT_FEATURES.md +1 -1
- package/docs/USAGE.md +1 -1
- package/docs/providers.md +0 -1
- package/documentation/app.js +1 -1
- package/documentation/index.html +3 -3
- package/extensions/vscode-ur-inline-diffs/package.json +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.30.5
|
|
4
|
+
|
|
5
|
+
- Hide external app bridge providers from normal `/model`, `/provider`, and
|
|
6
|
+
`ur provider list` output. The default provider UX now shows only UR-native
|
|
7
|
+
API, local, and OpenAI-compatible server runtimes.
|
|
8
|
+
- Simplify the status bar to show only important runtime state: provider, model,
|
|
9
|
+
mode, branch, active tasks, checks, and update signals. Product name, version,
|
|
10
|
+
auth label, and idle task noise are omitted.
|
|
11
|
+
|
|
3
12
|
## 1.30.4
|
|
4
13
|
|
|
5
14
|
- Make the default provider runtime independent of provider apps. Codex CLI,
|
package/README.md
CHANGED
|
@@ -310,7 +310,7 @@ viewer mode.
|
|
|
310
310
|
Example:
|
|
311
311
|
|
|
312
312
|
```text
|
|
313
|
-
|
|
313
|
+
Ollama | llama3 | ask | main
|
|
314
314
|
```
|
|
315
315
|
|
|
316
316
|
The bar reflects the active in-session provider/model immediately after a
|
package/dist/cli.js
CHANGED
|
@@ -51388,8 +51388,9 @@ function getProviderRuntimeBlockReason(providerId, env4 = process.env) {
|
|
|
51388
51388
|
function isProviderRuntimeSelectable(providerId, env4 = process.env) {
|
|
51389
51389
|
return getProviderRuntimeBlockReason(providerId, env4) === null;
|
|
51390
51390
|
}
|
|
51391
|
-
function listProviders() {
|
|
51392
|
-
|
|
51391
|
+
function listProviders(options = {}) {
|
|
51392
|
+
const includeExternal = options.includeExternalAppBridges ?? externalAppProviderBridgeEnabled(options.env ?? process.env);
|
|
51393
|
+
return PROVIDER_IDS.map((id) => PROVIDERS[id]).filter((provider) => includeExternal || provider.runtimeKind !== "external-app");
|
|
51393
51394
|
}
|
|
51394
51395
|
function hasSecretLikeValue(value) {
|
|
51395
51396
|
const trimmed = value.trim();
|
|
@@ -69407,7 +69408,7 @@ var init_auth = __esm(() => {
|
|
|
69407
69408
|
|
|
69408
69409
|
// src/utils/userAgent.ts
|
|
69409
69410
|
function getURCodeUserAgent() {
|
|
69410
|
-
return `ur/${"1.30.
|
|
69411
|
+
return `ur/${"1.30.5"}`;
|
|
69411
69412
|
}
|
|
69412
69413
|
|
|
69413
69414
|
// src/utils/workloadContext.ts
|
|
@@ -69429,7 +69430,7 @@ function getUserAgent() {
|
|
|
69429
69430
|
const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
|
|
69430
69431
|
const workload = getWorkload();
|
|
69431
69432
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
69432
|
-
return `ur-cli/${"1.30.
|
|
69433
|
+
return `ur-cli/${"1.30.5"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
69433
69434
|
}
|
|
69434
69435
|
function getMCPUserAgent() {
|
|
69435
69436
|
const parts = [];
|
|
@@ -69443,7 +69444,7 @@ function getMCPUserAgent() {
|
|
|
69443
69444
|
parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
|
|
69444
69445
|
}
|
|
69445
69446
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
69446
|
-
return `ur/${"1.30.
|
|
69447
|
+
return `ur/${"1.30.5"}${suffix}`;
|
|
69447
69448
|
}
|
|
69448
69449
|
function getWebFetchUserAgent() {
|
|
69449
69450
|
return `UR-User (${getURCodeUserAgent()})`;
|
|
@@ -69581,7 +69582,7 @@ var init_user = __esm(() => {
|
|
|
69581
69582
|
deviceId,
|
|
69582
69583
|
sessionId: getSessionId(),
|
|
69583
69584
|
email: getEmail(),
|
|
69584
|
-
appVersion: "1.30.
|
|
69585
|
+
appVersion: "1.30.5",
|
|
69585
69586
|
platform: getHostPlatformForAnalytics(),
|
|
69586
69587
|
organizationUuid,
|
|
69587
69588
|
accountUuid,
|
|
@@ -76098,7 +76099,7 @@ var init_metadata = __esm(() => {
|
|
|
76098
76099
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
76099
76100
|
WHITESPACE_REGEX = /\s+/;
|
|
76100
76101
|
getVersionBase = memoize_default(() => {
|
|
76101
|
-
const match = "1.30.
|
|
76102
|
+
const match = "1.30.5".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
76102
76103
|
return match ? match[0] : undefined;
|
|
76103
76104
|
});
|
|
76104
76105
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -76138,7 +76139,7 @@ var init_metadata = __esm(() => {
|
|
|
76138
76139
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
76139
76140
|
isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
|
|
76140
76141
|
isURAiAuth: isURAISubscriber2(),
|
|
76141
|
-
version: "1.30.
|
|
76142
|
+
version: "1.30.5",
|
|
76142
76143
|
versionBase: getVersionBase(),
|
|
76143
76144
|
buildTime: "",
|
|
76144
76145
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
@@ -76808,7 +76809,7 @@ function initialize1PEventLogging() {
|
|
|
76808
76809
|
const platform2 = getPlatform();
|
|
76809
76810
|
const attributes = {
|
|
76810
76811
|
[import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
|
|
76811
|
-
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.30.
|
|
76812
|
+
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.30.5"
|
|
76812
76813
|
};
|
|
76813
76814
|
if (platform2 === "wsl") {
|
|
76814
76815
|
const wslVersion = getWslVersion();
|
|
@@ -76835,7 +76836,7 @@ function initialize1PEventLogging() {
|
|
|
76835
76836
|
})
|
|
76836
76837
|
]
|
|
76837
76838
|
});
|
|
76838
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.30.
|
|
76839
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.30.5");
|
|
76839
76840
|
}
|
|
76840
76841
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
76841
76842
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -82132,7 +82133,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
|
|
|
82132
82133
|
function formatA2AAgentCard(options = {}, pretty = true) {
|
|
82133
82134
|
return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
|
|
82134
82135
|
}
|
|
82135
|
-
var urVersion = "1.30.
|
|
82136
|
+
var urVersion = "1.30.5", coverage, priorityRoadmap;
|
|
82136
82137
|
var init_trends = __esm(() => {
|
|
82137
82138
|
coverage = [
|
|
82138
82139
|
{
|
|
@@ -84125,7 +84126,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
84125
84126
|
if (!isAttributionHeaderEnabled()) {
|
|
84126
84127
|
return "";
|
|
84127
84128
|
}
|
|
84128
|
-
const version2 = `${"1.30.
|
|
84129
|
+
const version2 = `${"1.30.5"}.${fingerprint}`;
|
|
84129
84130
|
const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
|
|
84130
84131
|
const cch = "";
|
|
84131
84132
|
const workload = getWorkload();
|
|
@@ -191798,7 +191799,7 @@ function getTelemetryAttributes() {
|
|
|
191798
191799
|
attributes["session.id"] = sessionId;
|
|
191799
191800
|
}
|
|
191800
191801
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
191801
|
-
attributes["app.version"] = "1.30.
|
|
191802
|
+
attributes["app.version"] = "1.30.5";
|
|
191802
191803
|
}
|
|
191803
191804
|
const oauthAccount = getOauthAccountInfo();
|
|
191804
191805
|
if (oauthAccount) {
|
|
@@ -227203,7 +227204,7 @@ function getInstallationEnv() {
|
|
|
227203
227204
|
return;
|
|
227204
227205
|
}
|
|
227205
227206
|
function getURCodeVersion() {
|
|
227206
|
-
return "1.30.
|
|
227207
|
+
return "1.30.5";
|
|
227207
227208
|
}
|
|
227208
227209
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
227209
227210
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -230042,7 +230043,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
230042
230043
|
const client2 = new Client({
|
|
230043
230044
|
name: "ur",
|
|
230044
230045
|
title: "UR",
|
|
230045
|
-
version: "1.30.
|
|
230046
|
+
version: "1.30.5",
|
|
230046
230047
|
description: "UR-AGENT autonomous engineering workflow engine",
|
|
230047
230048
|
websiteUrl: PRODUCT_URL
|
|
230048
230049
|
}, {
|
|
@@ -230396,7 +230397,7 @@ var init_client5 = __esm(() => {
|
|
|
230396
230397
|
const client2 = new Client({
|
|
230397
230398
|
name: "ur",
|
|
230398
230399
|
title: "UR",
|
|
230399
|
-
version: "1.30.
|
|
230400
|
+
version: "1.30.5",
|
|
230400
230401
|
description: "UR-AGENT autonomous engineering workflow engine",
|
|
230401
230402
|
websiteUrl: PRODUCT_URL
|
|
230402
230403
|
}, {
|
|
@@ -240212,9 +240213,9 @@ async function assertMinVersion() {
|
|
|
240212
240213
|
if (false) {}
|
|
240213
240214
|
try {
|
|
240214
240215
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
240215
|
-
if (versionConfig.minVersion && lt("1.30.
|
|
240216
|
+
if (versionConfig.minVersion && lt("1.30.5", versionConfig.minVersion)) {
|
|
240216
240217
|
console.error(`
|
|
240217
|
-
It looks like your version of UR (${"1.30.
|
|
240218
|
+
It looks like your version of UR (${"1.30.5"}) needs an update.
|
|
240218
240219
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
240219
240220
|
|
|
240220
240221
|
To update, please run:
|
|
@@ -240430,7 +240431,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
240430
240431
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
240431
240432
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
240432
240433
|
pid: process.pid,
|
|
240433
|
-
currentVersion: "1.30.
|
|
240434
|
+
currentVersion: "1.30.5"
|
|
240434
240435
|
});
|
|
240435
240436
|
return "in_progress";
|
|
240436
240437
|
}
|
|
@@ -240439,7 +240440,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
240439
240440
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
240440
240441
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
240441
240442
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
240442
|
-
currentVersion: "1.30.
|
|
240443
|
+
currentVersion: "1.30.5"
|
|
240443
240444
|
});
|
|
240444
240445
|
console.error(`
|
|
240445
240446
|
Error: Windows NPM detected in WSL
|
|
@@ -240974,7 +240975,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
240974
240975
|
}
|
|
240975
240976
|
async function getDoctorDiagnostic() {
|
|
240976
240977
|
const installationType = await getCurrentInstallationType();
|
|
240977
|
-
const version2 = typeof MACRO !== "undefined" ? "1.30.
|
|
240978
|
+
const version2 = typeof MACRO !== "undefined" ? "1.30.5" : "unknown";
|
|
240978
240979
|
const installationPath = await getInstallationPath();
|
|
240979
240980
|
const invokedBinary = getInvokedBinary();
|
|
240980
240981
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -241909,8 +241910,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
241909
241910
|
const maxVersion = await getMaxVersion();
|
|
241910
241911
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
241911
241912
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
241912
|
-
if (gte("1.30.
|
|
241913
|
-
logForDebugging(`Native installer: current version ${"1.30.
|
|
241913
|
+
if (gte("1.30.5", maxVersion)) {
|
|
241914
|
+
logForDebugging(`Native installer: current version ${"1.30.5"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
241914
241915
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
241915
241916
|
latency_ms: Date.now() - startTime,
|
|
241916
241917
|
max_version: maxVersion,
|
|
@@ -241921,7 +241922,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
241921
241922
|
version2 = maxVersion;
|
|
241922
241923
|
}
|
|
241923
241924
|
}
|
|
241924
|
-
if (!forceReinstall && version2 === "1.30.
|
|
241925
|
+
if (!forceReinstall && version2 === "1.30.5" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
|
|
241925
241926
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
241926
241927
|
logEvent("tengu_native_update_complete", {
|
|
241927
241928
|
latency_ms: Date.now() - startTime,
|
|
@@ -338848,7 +338849,7 @@ function Feedback({
|
|
|
338848
338849
|
platform: env2.platform,
|
|
338849
338850
|
gitRepo: envInfo.isGit,
|
|
338850
338851
|
terminal: env2.terminal,
|
|
338851
|
-
version: "1.30.
|
|
338852
|
+
version: "1.30.5",
|
|
338852
338853
|
transcript: normalizeMessagesForAPI(messages),
|
|
338853
338854
|
errors: sanitizedErrors,
|
|
338854
338855
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -339040,7 +339041,7 @@ function Feedback({
|
|
|
339040
339041
|
", ",
|
|
339041
339042
|
env2.terminal,
|
|
339042
339043
|
", v",
|
|
339043
|
-
"1.30.
|
|
339044
|
+
"1.30.5"
|
|
339044
339045
|
]
|
|
339045
339046
|
}, undefined, true, undefined, this)
|
|
339046
339047
|
]
|
|
@@ -339146,7 +339147,7 @@ ${sanitizedDescription}
|
|
|
339146
339147
|
` + `**Environment Info**
|
|
339147
339148
|
` + `- Platform: ${env2.platform}
|
|
339148
339149
|
` + `- Terminal: ${env2.terminal}
|
|
339149
|
-
` + `- Version: ${"1.30.
|
|
339150
|
+
` + `- Version: ${"1.30.5"}
|
|
339150
339151
|
` + `- Feedback ID: ${feedbackId}
|
|
339151
339152
|
` + `
|
|
339152
339153
|
**Errors**
|
|
@@ -342257,7 +342258,7 @@ function buildPrimarySection() {
|
|
|
342257
342258
|
}, undefined, false, undefined, this);
|
|
342258
342259
|
return [{
|
|
342259
342260
|
label: "Version",
|
|
342260
|
-
value: "1.30.
|
|
342261
|
+
value: "1.30.5"
|
|
342261
342262
|
}, {
|
|
342262
342263
|
label: "Session name",
|
|
342263
342264
|
value: nameValue
|
|
@@ -345557,7 +345558,7 @@ function Config({
|
|
|
345557
345558
|
}
|
|
345558
345559
|
}, undefined, false, undefined, this)
|
|
345559
345560
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime177.jsxDEV(ChannelDowngradeDialog, {
|
|
345560
|
-
currentVersion: "1.30.
|
|
345561
|
+
currentVersion: "1.30.5",
|
|
345561
345562
|
onChoice: (choice) => {
|
|
345562
345563
|
setShowSubmenu(null);
|
|
345563
345564
|
setTabsHidden(false);
|
|
@@ -345569,7 +345570,7 @@ function Config({
|
|
|
345569
345570
|
autoUpdatesChannel: "stable"
|
|
345570
345571
|
};
|
|
345571
345572
|
if (choice === "stay") {
|
|
345572
|
-
newSettings.minimumVersion = "1.30.
|
|
345573
|
+
newSettings.minimumVersion = "1.30.5";
|
|
345573
345574
|
}
|
|
345574
345575
|
updateSettingsForSource("userSettings", newSettings);
|
|
345575
345576
|
setSettingsData((prev_27) => ({
|
|
@@ -353639,7 +353640,7 @@ function HelpV2(t0) {
|
|
|
353639
353640
|
let t6;
|
|
353640
353641
|
if ($3[31] !== tabs) {
|
|
353641
353642
|
t6 = /* @__PURE__ */ jsx_dev_runtime204.jsxDEV(Tabs, {
|
|
353642
|
-
title: `UR v${"1.30.
|
|
353643
|
+
title: `UR v${"1.30.5"}`,
|
|
353643
353644
|
color: "professionalBlue",
|
|
353644
353645
|
defaultTab: "general",
|
|
353645
353646
|
children: tabs
|
|
@@ -354385,7 +354386,7 @@ function buildToolUseContext(tools, readFileStateCache) {
|
|
|
354385
354386
|
async function handleInitialize(options2) {
|
|
354386
354387
|
return {
|
|
354387
354388
|
name: "ur-agent",
|
|
354388
|
-
version: "1.30.
|
|
354389
|
+
version: "1.30.5",
|
|
354389
354390
|
protocolVersion: "0.1.0",
|
|
354390
354391
|
workspaceRoot: options2.cwd,
|
|
354391
354392
|
capabilities: {
|
|
@@ -374509,7 +374510,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
374509
374510
|
return [];
|
|
374510
374511
|
}
|
|
374511
374512
|
}
|
|
374512
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.30.
|
|
374513
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.30.5") {
|
|
374513
374514
|
if (process.env.USER_TYPE === "ant") {
|
|
374514
374515
|
const changelog = "";
|
|
374515
374516
|
if (changelog) {
|
|
@@ -374536,7 +374537,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.30.4")
|
|
|
374536
374537
|
releaseNotes
|
|
374537
374538
|
};
|
|
374538
374539
|
}
|
|
374539
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.30.
|
|
374540
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.30.5") {
|
|
374540
374541
|
if (process.env.USER_TYPE === "ant") {
|
|
374541
374542
|
const changelog = "";
|
|
374542
374543
|
if (changelog) {
|
|
@@ -375706,7 +375707,7 @@ function getRecentActivitySync() {
|
|
|
375706
375707
|
return cachedActivity;
|
|
375707
375708
|
}
|
|
375708
375709
|
function getLogoDisplayData() {
|
|
375709
|
-
const version2 = process.env.DEMO_VERSION ?? "1.30.
|
|
375710
|
+
const version2 = process.env.DEMO_VERSION ?? "1.30.5";
|
|
375710
375711
|
const serverUrl = getDirectConnectServerUrl();
|
|
375711
375712
|
const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd2());
|
|
375712
375713
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -376495,7 +376496,7 @@ function LogoV2() {
|
|
|
376495
376496
|
if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
376496
376497
|
t2 = () => {
|
|
376497
376498
|
const currentConfig = getGlobalConfig();
|
|
376498
|
-
if (currentConfig.lastReleaseNotesSeen === "1.30.
|
|
376499
|
+
if (currentConfig.lastReleaseNotesSeen === "1.30.5") {
|
|
376499
376500
|
return;
|
|
376500
376501
|
}
|
|
376501
376502
|
saveGlobalConfig(_temp326);
|
|
@@ -377180,12 +377181,12 @@ function LogoV2() {
|
|
|
377180
377181
|
return t41;
|
|
377181
377182
|
}
|
|
377182
377183
|
function _temp326(current) {
|
|
377183
|
-
if (current.lastReleaseNotesSeen === "1.30.
|
|
377184
|
+
if (current.lastReleaseNotesSeen === "1.30.5") {
|
|
377184
377185
|
return current;
|
|
377185
377186
|
}
|
|
377186
377187
|
return {
|
|
377187
377188
|
...current,
|
|
377188
|
-
lastReleaseNotesSeen: "1.30.
|
|
377189
|
+
lastReleaseNotesSeen: "1.30.5"
|
|
377189
377190
|
};
|
|
377190
377191
|
}
|
|
377191
377192
|
function _temp243(s_0) {
|
|
@@ -592900,7 +592901,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
|
|
|
592900
592901
|
smapsRollup,
|
|
592901
592902
|
platform: process.platform,
|
|
592902
592903
|
nodeVersion: process.version,
|
|
592903
|
-
ccVersion: "1.30.
|
|
592904
|
+
ccVersion: "1.30.5"
|
|
592904
592905
|
};
|
|
592905
592906
|
}
|
|
592906
592907
|
async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
|
|
@@ -593486,7 +593487,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
593486
593487
|
var call136 = async () => {
|
|
593487
593488
|
return {
|
|
593488
593489
|
type: "text",
|
|
593489
|
-
value: "1.30.
|
|
593490
|
+
value: "1.30.5"
|
|
593490
593491
|
};
|
|
593491
593492
|
}, version2, version_default;
|
|
593492
593493
|
var init_version = __esm(() => {
|
|
@@ -603439,7 +603440,7 @@ function generateHtmlReport(data, insights) {
|
|
|
603439
603440
|
</html>`;
|
|
603440
603441
|
}
|
|
603441
603442
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
603442
|
-
const version3 = typeof MACRO !== "undefined" ? "1.30.
|
|
603443
|
+
const version3 = typeof MACRO !== "undefined" ? "1.30.5" : "unknown";
|
|
603443
603444
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
603444
603445
|
const facets_summary = {
|
|
603445
603446
|
total: facets.size,
|
|
@@ -607717,7 +607718,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
607717
607718
|
init_settings2();
|
|
607718
607719
|
init_slowOperations();
|
|
607719
607720
|
init_uuid();
|
|
607720
|
-
VERSION5 = typeof MACRO !== "undefined" ? "1.30.
|
|
607721
|
+
VERSION5 = typeof MACRO !== "undefined" ? "1.30.5" : "unknown";
|
|
607721
607722
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
607722
607723
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
607723
607724
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -608922,7 +608923,7 @@ var init_filesystem = __esm(() => {
|
|
|
608922
608923
|
});
|
|
608923
608924
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
608924
608925
|
const nonce = randomBytes18(16).toString("hex");
|
|
608925
|
-
return join200(getURTempDir(), "bundled-skills", "1.30.
|
|
608926
|
+
return join200(getURTempDir(), "bundled-skills", "1.30.5", nonce);
|
|
608926
608927
|
});
|
|
608927
608928
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
608928
608929
|
});
|
|
@@ -615219,7 +615220,7 @@ function computeFingerprint(messageText2, version3) {
|
|
|
615219
615220
|
}
|
|
615220
615221
|
function computeFingerprintFromMessages(messages) {
|
|
615221
615222
|
const firstMessageText = extractFirstMessageText(messages);
|
|
615222
|
-
return computeFingerprint(firstMessageText, "1.30.
|
|
615223
|
+
return computeFingerprint(firstMessageText, "1.30.5");
|
|
615223
615224
|
}
|
|
615224
615225
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
615225
615226
|
var init_fingerprint = () => {};
|
|
@@ -617086,7 +617087,7 @@ async function sideQuery(opts) {
|
|
|
617086
617087
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
617087
617088
|
}
|
|
617088
617089
|
const messageText2 = extractFirstUserMessageText(messages);
|
|
617089
|
-
const fingerprint = computeFingerprint(messageText2, "1.30.
|
|
617090
|
+
const fingerprint = computeFingerprint(messageText2, "1.30.5");
|
|
617090
617091
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
617091
617092
|
const systemBlocks = [
|
|
617092
617093
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -621823,7 +621824,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
621823
621824
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
621824
621825
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
621825
621826
|
betas: getSdkBetas(),
|
|
621826
|
-
ur_version: "1.30.
|
|
621827
|
+
ur_version: "1.30.5",
|
|
621827
621828
|
output_style: outputStyle2,
|
|
621828
621829
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
621829
621830
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
|
|
@@ -636451,7 +636452,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
636451
636452
|
function getSemverPart(version3) {
|
|
636452
636453
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
636453
636454
|
}
|
|
636454
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.30.
|
|
636455
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.30.5") {
|
|
636455
636456
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react226.useState(() => getSemverPart(initialVersion));
|
|
636456
636457
|
if (!updatedVersion) {
|
|
636457
636458
|
return null;
|
|
@@ -636500,7 +636501,7 @@ function AutoUpdater({
|
|
|
636500
636501
|
return;
|
|
636501
636502
|
}
|
|
636502
636503
|
if (false) {}
|
|
636503
|
-
const currentVersion = "1.30.
|
|
636504
|
+
const currentVersion = "1.30.5";
|
|
636504
636505
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
636505
636506
|
let latestVersion = await getLatestVersion(channel);
|
|
636506
636507
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -636729,12 +636730,12 @@ function NativeAutoUpdater({
|
|
|
636729
636730
|
logEvent("tengu_native_auto_updater_start", {});
|
|
636730
636731
|
try {
|
|
636731
636732
|
const maxVersion = await getMaxVersion();
|
|
636732
|
-
if (maxVersion && gt("1.30.
|
|
636733
|
+
if (maxVersion && gt("1.30.5", maxVersion)) {
|
|
636733
636734
|
const msg = await getMaxVersionMessage();
|
|
636734
636735
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
636735
636736
|
}
|
|
636736
636737
|
const result = await installLatest(channel);
|
|
636737
|
-
const currentVersion = "1.30.
|
|
636738
|
+
const currentVersion = "1.30.5";
|
|
636738
636739
|
const latencyMs = Date.now() - startTime;
|
|
636739
636740
|
if (result.lockFailed) {
|
|
636740
636741
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -636871,17 +636872,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
636871
636872
|
const maxVersion = await getMaxVersion();
|
|
636872
636873
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
636873
636874
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
636874
|
-
if (gte("1.30.
|
|
636875
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.30.
|
|
636875
|
+
if (gte("1.30.5", maxVersion)) {
|
|
636876
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.30.5"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
636876
636877
|
setUpdateAvailable(false);
|
|
636877
636878
|
return;
|
|
636878
636879
|
}
|
|
636879
636880
|
latest = maxVersion;
|
|
636880
636881
|
}
|
|
636881
|
-
const hasUpdate = latest && !gte("1.30.
|
|
636882
|
+
const hasUpdate = latest && !gte("1.30.5", latest) && !shouldSkipVersion(latest);
|
|
636882
636883
|
setUpdateAvailable(!!hasUpdate);
|
|
636883
636884
|
if (hasUpdate) {
|
|
636884
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.30.
|
|
636885
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.30.5"} -> ${latest}`);
|
|
636885
636886
|
}
|
|
636886
636887
|
};
|
|
636887
636888
|
$3[0] = t1;
|
|
@@ -636915,7 +636916,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
636915
636916
|
wrap: "truncate",
|
|
636916
636917
|
children: [
|
|
636917
636918
|
"currentVersion: ",
|
|
636918
|
-
"1.30.
|
|
636919
|
+
"1.30.5"
|
|
636919
636920
|
]
|
|
636920
636921
|
}, undefined, true, undefined, this);
|
|
636921
636922
|
$3[3] = verbose;
|
|
@@ -649251,7 +649252,6 @@ function statusBarShouldDisplay({
|
|
|
649251
649252
|
function buildDefaultStatusBar({
|
|
649252
649253
|
version: version3,
|
|
649253
649254
|
providerLabel,
|
|
649254
|
-
authMode,
|
|
649255
649255
|
model,
|
|
649256
649256
|
mode: mode2,
|
|
649257
649257
|
branch: branch2,
|
|
@@ -649261,36 +649261,31 @@ function buildDefaultStatusBar({
|
|
|
649261
649261
|
latestVersion,
|
|
649262
649262
|
isCheckingUpdate
|
|
649263
649263
|
}) {
|
|
649264
|
-
const parts = [
|
|
649264
|
+
const parts = [];
|
|
649265
649265
|
if (providerLabel) {
|
|
649266
|
-
parts.push(
|
|
649267
|
-
}
|
|
649268
|
-
if (authMode) {
|
|
649269
|
-
parts.push(`Auth: ${authMode}`);
|
|
649266
|
+
parts.push(providerLabel);
|
|
649270
649267
|
}
|
|
649271
649268
|
if (model) {
|
|
649272
|
-
parts.push(
|
|
649269
|
+
parts.push(model);
|
|
649273
649270
|
}
|
|
649274
649271
|
if (mode2) {
|
|
649275
|
-
parts.push(
|
|
649272
|
+
parts.push(mode2);
|
|
649276
649273
|
}
|
|
649277
649274
|
if (branch2 && branch2 !== "HEAD") {
|
|
649278
|
-
parts.push(
|
|
649275
|
+
parts.push(branch2);
|
|
649279
649276
|
}
|
|
649280
649277
|
if (taskTotalCount > 0) {
|
|
649281
649278
|
parts.push(`tasks: ${taskRunningCount}/${taskTotalCount} running`);
|
|
649282
|
-
} else {
|
|
649283
|
-
parts.push("tasks: idle");
|
|
649284
649279
|
}
|
|
649285
649280
|
if (checksStatus) {
|
|
649286
|
-
parts.push(
|
|
649281
|
+
parts.push(checksStatus);
|
|
649287
649282
|
}
|
|
649288
649283
|
if (isCheckingUpdate) {
|
|
649289
|
-
parts.push("
|
|
649284
|
+
parts.push("update checking");
|
|
649290
649285
|
} else if (isUpdateAvailable(version3, latestVersion)) {
|
|
649291
|
-
parts.push(`
|
|
649286
|
+
parts.push(`update ${latestVersion} available`);
|
|
649292
649287
|
}
|
|
649293
|
-
return parts.join(" | ");
|
|
649288
|
+
return parts.length > 0 ? parts.join(" | ") : "ready";
|
|
649294
649289
|
}
|
|
649295
649290
|
var init_statusBar = __esm(() => {
|
|
649296
649291
|
init_updateNotice();
|
|
@@ -649372,7 +649367,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
649372
649367
|
project_dir: getOriginalCwd(),
|
|
649373
649368
|
added_dirs: addedDirs
|
|
649374
649369
|
},
|
|
649375
|
-
version: "1.30.
|
|
649370
|
+
version: "1.30.5",
|
|
649376
649371
|
output_style: {
|
|
649377
649372
|
name: outputStyleName
|
|
649378
649373
|
},
|
|
@@ -649455,7 +649450,7 @@ function StatusLineInner({
|
|
|
649455
649450
|
const taskValues = Object.values(tasks2);
|
|
649456
649451
|
const taskRunningCount = taskValues.filter((task2) => task2.status === "running" || task2.status === "pending").length;
|
|
649457
649452
|
const defaultStatusLineText = buildDefaultStatusBar({
|
|
649458
|
-
version: "1.30.
|
|
649453
|
+
version: "1.30.5",
|
|
649459
649454
|
providerLabel: providerRuntime.providerLabel,
|
|
649460
649455
|
authMode: providerRuntime.authLabel,
|
|
649461
649456
|
model: providerRuntime.model ?? renderModelName(mainLoopModel),
|
|
@@ -660943,7 +660938,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
|
|
|
660943
660938
|
} catch {}
|
|
660944
660939
|
const data = {
|
|
660945
660940
|
trigger: trigger2,
|
|
660946
|
-
version: "1.30.
|
|
660941
|
+
version: "1.30.5",
|
|
660947
660942
|
platform: process.platform,
|
|
660948
660943
|
transcript,
|
|
660949
660944
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -672827,7 +672822,7 @@ function WelcomeV2() {
|
|
|
672827
672822
|
dimColor: true,
|
|
672828
672823
|
children: [
|
|
672829
672824
|
"v",
|
|
672830
|
-
"1.30.
|
|
672825
|
+
"1.30.5"
|
|
672831
672826
|
]
|
|
672832
672827
|
}, undefined, true, undefined, this)
|
|
672833
672828
|
]
|
|
@@ -674087,7 +674082,7 @@ function completeOnboarding() {
|
|
|
674087
674082
|
saveGlobalConfig((current) => ({
|
|
674088
674083
|
...current,
|
|
674089
674084
|
hasCompletedOnboarding: true,
|
|
674090
|
-
lastOnboardingVersion: "1.30.
|
|
674085
|
+
lastOnboardingVersion: "1.30.5"
|
|
674091
674086
|
}));
|
|
674092
674087
|
}
|
|
674093
674088
|
function showDialog(root2, renderer) {
|
|
@@ -679191,7 +679186,7 @@ function appendToLog(path24, message) {
|
|
|
679191
679186
|
cwd: getFsImplementation().cwd(),
|
|
679192
679187
|
userType: process.env.USER_TYPE,
|
|
679193
679188
|
sessionId: getSessionId(),
|
|
679194
|
-
version: "1.30.
|
|
679189
|
+
version: "1.30.5"
|
|
679195
679190
|
};
|
|
679196
679191
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
679197
679192
|
}
|
|
@@ -683285,8 +683280,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
683285
683280
|
}
|
|
683286
683281
|
async function checkEnvLessBridgeMinVersion() {
|
|
683287
683282
|
const cfg = await getEnvLessBridgeConfig();
|
|
683288
|
-
if (cfg.min_version && lt("1.30.
|
|
683289
|
-
return `Your version of UR (${"1.30.
|
|
683283
|
+
if (cfg.min_version && lt("1.30.5", cfg.min_version)) {
|
|
683284
|
+
return `Your version of UR (${"1.30.5"}) is too old for Remote Control.
|
|
683290
683285
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
683291
683286
|
}
|
|
683292
683287
|
return null;
|
|
@@ -683760,7 +683755,7 @@ async function initBridgeCore(params) {
|
|
|
683760
683755
|
const rawApi = createBridgeApiClient({
|
|
683761
683756
|
baseUrl,
|
|
683762
683757
|
getAccessToken,
|
|
683763
|
-
runnerVersion: "1.30.
|
|
683758
|
+
runnerVersion: "1.30.5",
|
|
683764
683759
|
onDebug: logForDebugging,
|
|
683765
683760
|
onAuth401,
|
|
683766
683761
|
getTrustedDeviceToken
|
|
@@ -689442,7 +689437,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
|
|
|
689442
689437
|
setCwd(cwd3);
|
|
689443
689438
|
const server2 = new Server({
|
|
689444
689439
|
name: "ur/tengu",
|
|
689445
|
-
version: "1.30.
|
|
689440
|
+
version: "1.30.5"
|
|
689446
689441
|
}, {
|
|
689447
689442
|
capabilities: {
|
|
689448
689443
|
tools: {}
|
|
@@ -691419,7 +691414,7 @@ async function update() {
|
|
|
691419
691414
|
logEvent("tengu_update_check", {});
|
|
691420
691415
|
const diagnostic = await getDoctorDiagnostic();
|
|
691421
691416
|
const result = await checkUpgradeStatus({
|
|
691422
|
-
currentVersion: "1.30.
|
|
691417
|
+
currentVersion: "1.30.5",
|
|
691423
691418
|
packageName: UR_AGENT_PACKAGE_NAME,
|
|
691424
691419
|
installationType: diagnostic.installationType,
|
|
691425
691420
|
latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
|
|
@@ -692665,7 +692660,7 @@ ${customInstructions}` : customInstructions;
|
|
|
692665
692660
|
}
|
|
692666
692661
|
}
|
|
692667
692662
|
logForDiagnosticsNoPII("info", "started", {
|
|
692668
|
-
version: "1.30.
|
|
692663
|
+
version: "1.30.5",
|
|
692669
692664
|
is_native_binary: isInBundledMode()
|
|
692670
692665
|
});
|
|
692671
692666
|
registerCleanup(async () => {
|
|
@@ -693451,7 +693446,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
693451
693446
|
pendingHookMessages
|
|
693452
693447
|
}, renderAndRun);
|
|
693453
693448
|
}
|
|
693454
|
-
}).version("1.30.
|
|
693449
|
+
}).version("1.30.5 (UR-AGENT)", "-v, --version", "Output the version number");
|
|
693455
693450
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
693456
693451
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
693457
693452
|
if (canUserConfigureAdvisor()) {
|
|
@@ -694336,7 +694331,7 @@ if (false) {}
|
|
|
694336
694331
|
async function main2() {
|
|
694337
694332
|
const args = process.argv.slice(2);
|
|
694338
694333
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
694339
|
-
console.log(`${"1.30.
|
|
694334
|
+
console.log(`${"1.30.5"} (UR-AGENT)`);
|
|
694340
694335
|
return;
|
|
694341
694336
|
}
|
|
694342
694337
|
if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
|
package/docs/AGENT_FEATURES.md
CHANGED
|
@@ -82,7 +82,7 @@ ur upgrade
|
|
|
82
82
|
| Addition | Surface | What it adds |
|
|
83
83
|
| --- | --- | --- |
|
|
84
84
|
| Legal multi-provider connectivity | `ur provider list\|status\|doctor`, `ur config set provider ...`, `ur auth chatgpt\|claude\|gemini\|antigravity` for bridge diagnostics | API-key providers and local/OpenAI-compatible runtimes are UR-native. Subscription CLIs are optional external app bridges blocked from normal runtime unless explicitly enabled. UR stores only safe non-secret preferences and never scrapes browser sessions, extracts OAuth tokens, reads hidden provider auth files, bypasses provider restrictions, or proxies consumer web sessions as APIs. |
|
|
85
|
-
| Provider-aware status bar | Interactive bottom status bar, `src/components/StatusLine.tsx`, `src/utils/statusBar.ts` | Shows
|
|
85
|
+
| Provider-aware status bar | Interactive bottom status bar, `src/components/StatusLine.tsx`, `src/utils/statusBar.ts` | Shows only important runtime state: active provider, selected model, mode, git branch, active task state, checks/build state when known, and update availability. Hidden in CI, dumb terminals, and non-interactive mode; custom status-line hooks still override it. |
|
|
86
86
|
| Clean update checks | `ur upgrade`, `ur update`, `src/cli/update.ts` | Detects development/source checkouts and prints a short pull-or-install message instead of attempting self-mutation. npm-installed builds compare the local version with `ur-agent` on npm and print update, latest, registry failure, and malformed-response states without stale planning text. |
|
|
87
87
|
| Bundled IDE extension install | `extensions/vscode-ur-inline-diffs/`, `src/utils/ide.ts`, `ur ide diff` | Public VS Code install now packages the repo's bundled inline-diffs extension as a local VSIX instead of trying an unpublished marketplace ID. The extension remains local-only and reviews `.ur/ide/diffs` bundles from the current workspace. |
|
|
88
88
|
| Professional clarification dialogs | `AskUserQuestion`, `src/tools/AskUserQuestionTool/AskUserQuestionTool.tsx` | Supports up to eight concrete options, infers labels from description-only option objects, accepts prompt aliases, rejects duplicate inferred labels, and is loaded without ToolSearch preloading so typed schemas are available before use. |
|
package/docs/USAGE.md
CHANGED
|
@@ -249,7 +249,7 @@ Interactive sessions include a compact bottom status bar when stdout is a real
|
|
|
249
249
|
terminal:
|
|
250
250
|
|
|
251
251
|
```text
|
|
252
|
-
|
|
252
|
+
Ollama | llama3 | ask | main | update 1.30.5 available
|
|
253
253
|
```
|
|
254
254
|
|
|
255
255
|
The bar is not rendered in non-interactive mode, CI, dumb terminals, or
|
package/docs/providers.md
CHANGED
|
@@ -125,7 +125,6 @@ After selecting a model, the confirmation shows:
|
|
|
125
125
|
→ Step 1: Select provider
|
|
126
126
|
Ollama · local · local-runtime · localhost reachable
|
|
127
127
|
OpenAI API · api · OPENAI_API_KEY found
|
|
128
|
-
Codex CLI · subscription · cli-login · external app bridge
|
|
129
128
|
|
|
130
129
|
→ Select: Ollama
|
|
131
130
|
|
package/documentation/app.js
CHANGED
|
@@ -318,7 +318,7 @@ const commands = [
|
|
|
318
318
|
category: 'Models',
|
|
319
319
|
aliases: ['providers'],
|
|
320
320
|
summary: 'List, inspect, and diagnose legal model provider adapters without reading hidden credential files.',
|
|
321
|
-
examples: ['ur provider list', 'ur provider status', 'ur provider doctor', 'ur provider doctor
|
|
321
|
+
examples: ['ur provider list', 'ur provider status', 'ur provider doctor', 'ur provider doctor ollama', 'ur provider doctor ollama --json'],
|
|
322
322
|
},
|
|
323
323
|
{
|
|
324
324
|
name: 'repo-edit',
|
package/documentation/index.html
CHANGED
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
<main id="content" class="content">
|
|
45
45
|
<header class="topbar">
|
|
46
46
|
<div>
|
|
47
|
-
<p class="eyebrow">Version 1.30.
|
|
47
|
+
<p class="eyebrow">Version 1.30.5</p>
|
|
48
48
|
<h1>UR-AGENT Documentation</h1>
|
|
49
49
|
<p class="lead">A practical, tutorial-style reference for installing, configuring, automating, extending, and operating UR-AGENT.</p>
|
|
50
50
|
</div>
|
|
@@ -159,8 +159,8 @@ ur config set provider.fallback ollama</code></pre>
|
|
|
159
159
|
</article>
|
|
160
160
|
<article>
|
|
161
161
|
<h3>Status bar and updates</h3>
|
|
162
|
-
<pre><code>
|
|
163
|
-
<p>The interactive status bar shows provider,
|
|
162
|
+
<pre><code>Ollama | llama3 | ask | main | update 1.30.5 available</code></pre>
|
|
163
|
+
<p>The interactive status bar shows only important runtime state: provider, model, mode, branch, active tasks, checks status when known, and update availability. It is hidden in CI, dumb terminals, and non-interactive mode.</p>
|
|
164
164
|
</article>
|
|
165
165
|
</div>
|
|
166
166
|
</section>
|
|
@@ -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.30.
|
|
5
|
+
"version": "1.30.5",
|
|
6
6
|
"publisher": "ur-agent",
|
|
7
7
|
"engines": {
|
|
8
8
|
"vscode": "^1.92.0"
|
package/package.json
CHANGED