ur-agent 1.34.0 → 1.35.1
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 +33 -0
- package/QUALITY.md +10 -5
- package/README.md +72 -22
- package/RELEASE.md +11 -1
- package/dist/cli.js +145 -130
- package/docs/AGENT_FEATURES.md +2 -2
- package/docs/AGENT_TRENDS.md +1 -1
- package/docs/CONFIGURATION.md +11 -9
- package/docs/TROUBLESHOOTING.md +204 -0
- package/docs/USAGE.md +38 -16
- package/docs/VALIDATION.md +1 -1
- package/docs/providers.md +29 -21
- package/documentation/app.js +55 -13
- package/documentation/index.html +5 -5
- package/examples/provider_selection.md +45 -0
- package/extensions/vscode-ur-inline-diffs/extension.js +125 -15
- package/extensions/vscode-ur-inline-diffs/package.json +19 -7
- package/package.json +1 -1
- package/docs/AGENT_UPGRADE_1.15.0.md +0 -129
- package/docs/AGENT_UPGRADE_1.16.0.md +0 -102
- package/docs/AGENT_UPGRADE_1.17.0.md +0 -32
- package/docs/AGENT_UPGRADE_1.18.0.md +0 -45
- package/docs/AGENT_UPGRADE_1.19.0.md +0 -41
- package/docs/AGENT_UPGRADE_1.20.0.md +0 -42
- package/docs/AGENT_UPGRADE_1.21.0.md +0 -58
- package/docs/AGENT_UPGRADE_1.22.0.md +0 -48
- package/docs/CODE_FEATURE_INVENTORY.md +0 -1042
package/dist/cli.js
CHANGED
|
@@ -51616,7 +51616,6 @@ __export(exports_providerRegistry, {
|
|
|
51616
51616
|
isProviderRuntimeSelectable: () => isProviderRuntimeSelectable,
|
|
51617
51617
|
isProviderId: () => isProviderId,
|
|
51618
51618
|
isModelSupportedByProvider: () => isModelSupportedByProvider,
|
|
51619
|
-
isExternalBridgeEnabled: () => isExternalBridgeEnabled,
|
|
51620
51619
|
getValidModelIdsForProvider: () => getValidModelIdsForProvider,
|
|
51621
51620
|
getRuntimeProviderId: () => getRuntimeProviderId,
|
|
51622
51621
|
getProviderStatus: () => getProviderStatus,
|
|
@@ -51635,8 +51634,6 @@ __export(exports_providerRegistry, {
|
|
|
51635
51634
|
formatProviderList: () => formatProviderList,
|
|
51636
51635
|
formatProviderDoctor: () => formatProviderDoctor,
|
|
51637
51636
|
formatInvalidProviderModelMessage: () => formatInvalidProviderModelMessage,
|
|
51638
|
-
externalAppProviderBridgeEnabled: () => externalAppProviderBridgeEnabled,
|
|
51639
|
-
enableExternalBridge: () => enableExternalBridge,
|
|
51640
51637
|
doctorProvider: () => doctorProvider,
|
|
51641
51638
|
doctorActiveProvider: () => doctorActiveProvider,
|
|
51642
51639
|
credentialTypeLabel: () => credentialTypeLabel,
|
|
@@ -51774,41 +51771,6 @@ function credentialTypeLabel(type) {
|
|
|
51774
51771
|
return "OpenAI-compatible endpoint";
|
|
51775
51772
|
}
|
|
51776
51773
|
}
|
|
51777
|
-
function externalAppProviderBridgeEnabled(env4 = process.env) {
|
|
51778
|
-
return env4.UR_ENABLE_EXTERNAL_APP_PROVIDERS === "1";
|
|
51779
|
-
}
|
|
51780
|
-
function isExternalBridgeEnabled(providerId, env4 = process.env, settings = getInitialSettings()) {
|
|
51781
|
-
if (externalAppProviderBridgeEnabled(env4)) {
|
|
51782
|
-
return true;
|
|
51783
|
-
}
|
|
51784
|
-
const provider = resolveProviderId(providerId);
|
|
51785
|
-
const enabled = settings.provider?.enabledExternalBridges;
|
|
51786
|
-
return Boolean(provider && Array.isArray(enabled) && enabled.includes(provider));
|
|
51787
|
-
}
|
|
51788
|
-
function enableExternalBridge(providerId) {
|
|
51789
|
-
const provider = resolveProviderId(providerId);
|
|
51790
|
-
if (!provider) {
|
|
51791
|
-
return { ok: false, message: `Unknown provider "${providerId}". Run: ur provider list` };
|
|
51792
|
-
}
|
|
51793
|
-
if (getProviderDefinition(provider).runtimeKind !== "external-app") {
|
|
51794
|
-
return { ok: true, message: `${provider} does not require an external-app opt-in.` };
|
|
51795
|
-
}
|
|
51796
|
-
const settings = getInitialSettings();
|
|
51797
|
-
const current = settings.provider?.enabledExternalBridges ?? [];
|
|
51798
|
-
if (current.includes(provider)) {
|
|
51799
|
-
return { ok: true, message: `${provider} is already enabled.` };
|
|
51800
|
-
}
|
|
51801
|
-
const result = updateSettingsForSource("userSettings", {
|
|
51802
|
-
provider: {
|
|
51803
|
-
...settings.provider ?? {},
|
|
51804
|
-
enabledExternalBridges: [...current, provider]
|
|
51805
|
-
}
|
|
51806
|
-
});
|
|
51807
|
-
if (result.error) {
|
|
51808
|
-
return { ok: false, message: `Failed to persist opt-in: ${result.error.message}` };
|
|
51809
|
-
}
|
|
51810
|
-
return { ok: true, message: `Enabled ${provider} for this account.` };
|
|
51811
|
-
}
|
|
51812
51774
|
function getProviderRuntimeKind(providerId) {
|
|
51813
51775
|
const provider = resolveProviderId(providerId);
|
|
51814
51776
|
return provider ? getProviderDefinition(provider).runtimeKind : "unknown";
|
|
@@ -51853,7 +51815,7 @@ function normalizeBaseUrl(value) {
|
|
|
51853
51815
|
}
|
|
51854
51816
|
return withScheme.replace(/\/$/, "");
|
|
51855
51817
|
}
|
|
51856
|
-
function setSafeProviderConfig(key, value) {
|
|
51818
|
+
function setSafeProviderConfig(key, value, options = {}) {
|
|
51857
51819
|
const trimmed = value.trim();
|
|
51858
51820
|
if (!trimmed) {
|
|
51859
51821
|
return { ok: false, message: `Missing value for ${key}.` };
|
|
@@ -51945,7 +51907,8 @@ function setSafeProviderConfig(key, value) {
|
|
|
51945
51907
|
message: error40 instanceof Error ? error40.message : String(error40)
|
|
51946
51908
|
};
|
|
51947
51909
|
}
|
|
51948
|
-
const
|
|
51910
|
+
const source = options.source ?? "localSettings";
|
|
51911
|
+
const result = updateSettingsForSource(source, settings);
|
|
51949
51912
|
if (result.error) {
|
|
51950
51913
|
return {
|
|
51951
51914
|
ok: false,
|
|
@@ -52839,7 +52802,8 @@ function setProviderModel(providerId, modelId, options = {}) {
|
|
|
52839
52802
|
message: validation.error
|
|
52840
52803
|
};
|
|
52841
52804
|
}
|
|
52842
|
-
const
|
|
52805
|
+
const source = options.source ?? "localSettings";
|
|
52806
|
+
const result = updateSettingsForSource(source, {
|
|
52843
52807
|
provider: {
|
|
52844
52808
|
active: provider,
|
|
52845
52809
|
model: modelId
|
|
@@ -55222,7 +55186,7 @@ async function fetchOllamaChat(params, stream4, controller, options) {
|
|
|
55222
55186
|
});
|
|
55223
55187
|
if (!response.ok) {
|
|
55224
55188
|
const body = await response.text().catch(() => "");
|
|
55225
|
-
throw
|
|
55189
|
+
throw createOllamaHTTPError(response.status, body, response.statusText);
|
|
55226
55190
|
}
|
|
55227
55191
|
return response;
|
|
55228
55192
|
} catch (error40) {
|
|
@@ -55232,6 +55196,9 @@ async function fetchOllamaChat(params, stream4, controller, options) {
|
|
|
55232
55196
|
}
|
|
55233
55197
|
throw new APIConnectionTimeoutError({ message: "Ollama request timed out" });
|
|
55234
55198
|
}
|
|
55199
|
+
if (error40 instanceof APIConnectionError || error40 instanceof APIConnectionTimeoutError || error40 instanceof APIUserAbortError) {
|
|
55200
|
+
throw error40;
|
|
55201
|
+
}
|
|
55235
55202
|
if (error40 instanceof Error) {
|
|
55236
55203
|
throw new APIConnectionError({ message: error40.message, cause: error40 });
|
|
55237
55204
|
}
|
|
@@ -55242,6 +55209,34 @@ async function fetchOllamaChat(params, stream4, controller, options) {
|
|
|
55242
55209
|
}
|
|
55243
55210
|
}
|
|
55244
55211
|
}
|
|
55212
|
+
function createOllamaHTTPError(status, body, statusText) {
|
|
55213
|
+
const rawMessage = extractOllamaHTTPErrorMessage(body) || statusText;
|
|
55214
|
+
if (isOllamaGatewayTimeout(status, rawMessage)) {
|
|
55215
|
+
return new APIConnectionTimeoutError({
|
|
55216
|
+
message: OLLAMA_GATEWAY_TIMEOUT_MESSAGE,
|
|
55217
|
+
cause: new Error(`Ollama request failed (${status}): ${rawMessage}`)
|
|
55218
|
+
});
|
|
55219
|
+
}
|
|
55220
|
+
return new Error(`Ollama request failed (${status}): ${rawMessage}`);
|
|
55221
|
+
}
|
|
55222
|
+
function extractOllamaHTTPErrorMessage(body) {
|
|
55223
|
+
if (!body.trim()) {
|
|
55224
|
+
return "";
|
|
55225
|
+
}
|
|
55226
|
+
try {
|
|
55227
|
+
const parsed = JSON.parse(body);
|
|
55228
|
+
if (typeof parsed.error === "string") {
|
|
55229
|
+
return parsed.error;
|
|
55230
|
+
}
|
|
55231
|
+
} catch {}
|
|
55232
|
+
return body;
|
|
55233
|
+
}
|
|
55234
|
+
function isOllamaGatewayTimeout(status, message) {
|
|
55235
|
+
if (status !== 502 && status !== 504) {
|
|
55236
|
+
return false;
|
|
55237
|
+
}
|
|
55238
|
+
return /operation timed out|read:.*timed out|timeout|deadline exceeded/i.test(message);
|
|
55239
|
+
}
|
|
55245
55240
|
function createLinkedAbortController(options) {
|
|
55246
55241
|
const controller = new AbortController;
|
|
55247
55242
|
const signal = options?.signal;
|
|
@@ -56037,7 +56032,7 @@ function parseToolInput(input) {
|
|
|
56037
56032
|
return {};
|
|
56038
56033
|
}
|
|
56039
56034
|
}
|
|
56040
|
-
var DEFAULT_OLLAMA_REQUEST_TIMEOUT_MS = 300000, REMOTE_OLLAMA_REQUEST_TIMEOUT_MS = 120000, ollamaModelCapabilitiesCache, ollamaBaseUrlOverride;
|
|
56035
|
+
var DEFAULT_OLLAMA_REQUEST_TIMEOUT_MS = 300000, REMOTE_OLLAMA_REQUEST_TIMEOUT_MS = 120000, OLLAMA_GATEWAY_TIMEOUT_MESSAGE = "Ollama gateway timed out while waiting for the model to respond. Check the selected Ollama endpoint or increase API_TIMEOUT_MS if the model needs more time.", ollamaModelCapabilitiesCache, ollamaBaseUrlOverride;
|
|
56041
56036
|
var init_ollama = __esm(() => {
|
|
56042
56037
|
init_urhq_sdk();
|
|
56043
56038
|
init_ollamaModels();
|
|
@@ -69510,7 +69505,7 @@ var init_auth = __esm(() => {
|
|
|
69510
69505
|
|
|
69511
69506
|
// src/utils/userAgent.ts
|
|
69512
69507
|
function getURCodeUserAgent() {
|
|
69513
|
-
return `ur/${"1.
|
|
69508
|
+
return `ur/${"1.35.1"}`;
|
|
69514
69509
|
}
|
|
69515
69510
|
|
|
69516
69511
|
// src/utils/workloadContext.ts
|
|
@@ -69532,7 +69527,7 @@ function getUserAgent() {
|
|
|
69532
69527
|
const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
|
|
69533
69528
|
const workload = getWorkload();
|
|
69534
69529
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
69535
|
-
return `ur-cli/${"1.
|
|
69530
|
+
return `ur-cli/${"1.35.1"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
69536
69531
|
}
|
|
69537
69532
|
function getMCPUserAgent() {
|
|
69538
69533
|
const parts = [];
|
|
@@ -69546,7 +69541,7 @@ function getMCPUserAgent() {
|
|
|
69546
69541
|
parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
|
|
69547
69542
|
}
|
|
69548
69543
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
69549
|
-
return `ur/${"1.
|
|
69544
|
+
return `ur/${"1.35.1"}${suffix}`;
|
|
69550
69545
|
}
|
|
69551
69546
|
function getWebFetchUserAgent() {
|
|
69552
69547
|
return `UR-User (${getURCodeUserAgent()})`;
|
|
@@ -69684,7 +69679,7 @@ var init_user = __esm(() => {
|
|
|
69684
69679
|
deviceId,
|
|
69685
69680
|
sessionId: getSessionId(),
|
|
69686
69681
|
email: getEmail(),
|
|
69687
|
-
appVersion: "1.
|
|
69682
|
+
appVersion: "1.35.1",
|
|
69688
69683
|
platform: getHostPlatformForAnalytics(),
|
|
69689
69684
|
organizationUuid,
|
|
69690
69685
|
accountUuid,
|
|
@@ -76201,7 +76196,7 @@ var init_metadata = __esm(() => {
|
|
|
76201
76196
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
76202
76197
|
WHITESPACE_REGEX = /\s+/;
|
|
76203
76198
|
getVersionBase = memoize_default(() => {
|
|
76204
|
-
const match = "1.
|
|
76199
|
+
const match = "1.35.1".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
76205
76200
|
return match ? match[0] : undefined;
|
|
76206
76201
|
});
|
|
76207
76202
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -76241,7 +76236,7 @@ var init_metadata = __esm(() => {
|
|
|
76241
76236
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
76242
76237
|
isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
|
|
76243
76238
|
isURAiAuth: isURAISubscriber2(),
|
|
76244
|
-
version: "1.
|
|
76239
|
+
version: "1.35.1",
|
|
76245
76240
|
versionBase: getVersionBase(),
|
|
76246
76241
|
buildTime: "",
|
|
76247
76242
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
@@ -76911,7 +76906,7 @@ function initialize1PEventLogging() {
|
|
|
76911
76906
|
const platform2 = getPlatform();
|
|
76912
76907
|
const attributes = {
|
|
76913
76908
|
[import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
|
|
76914
|
-
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.
|
|
76909
|
+
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.35.1"
|
|
76915
76910
|
};
|
|
76916
76911
|
if (platform2 === "wsl") {
|
|
76917
76912
|
const wslVersion = getWslVersion();
|
|
@@ -76938,7 +76933,7 @@ function initialize1PEventLogging() {
|
|
|
76938
76933
|
})
|
|
76939
76934
|
]
|
|
76940
76935
|
});
|
|
76941
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.
|
|
76936
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.35.1");
|
|
76942
76937
|
}
|
|
76943
76938
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
76944
76939
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -80654,7 +80649,7 @@ function getOllamaBaseUrl(env4 = process.env, settings) {
|
|
|
80654
80649
|
if (envHost) {
|
|
80655
80650
|
return normalizeOllamaBaseUrl(envHost);
|
|
80656
80651
|
}
|
|
80657
|
-
const settingsHost = settings === undefined ?
|
|
80652
|
+
const settingsHost = settings === undefined ? getInitialSettings().ollama?.host : settings.ollama?.host;
|
|
80658
80653
|
if (settingsHost) {
|
|
80659
80654
|
return normalizeOllamaBaseUrl(settingsHost);
|
|
80660
80655
|
}
|
|
@@ -82235,7 +82230,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
|
|
|
82235
82230
|
function formatA2AAgentCard(options = {}, pretty = true) {
|
|
82236
82231
|
return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
|
|
82237
82232
|
}
|
|
82238
|
-
var urVersion = "1.
|
|
82233
|
+
var urVersion = "1.35.1", coverage, priorityRoadmap;
|
|
82239
82234
|
var init_trends = __esm(() => {
|
|
82240
82235
|
coverage = [
|
|
82241
82236
|
{
|
|
@@ -84228,7 +84223,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
84228
84223
|
if (!isAttributionHeaderEnabled()) {
|
|
84229
84224
|
return "";
|
|
84230
84225
|
}
|
|
84231
|
-
const version2 = `${"1.
|
|
84226
|
+
const version2 = `${"1.35.1"}.${fingerprint}`;
|
|
84232
84227
|
const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
|
|
84233
84228
|
const cch = "";
|
|
84234
84229
|
const workload = getWorkload();
|
|
@@ -139654,7 +139649,7 @@ async function* withRetry(getClient, operation, options2) {
|
|
|
139654
139649
|
throw new CannotRetryError(error40, retryContext);
|
|
139655
139650
|
}
|
|
139656
139651
|
const handledCloudAuthError = handleAwsCredentialError(error40) || handleGcpCredentialError(error40);
|
|
139657
|
-
if (!handledCloudAuthError &&
|
|
139652
|
+
if (!handledCloudAuthError && !((error40 instanceof APIError || error40 instanceof APIConnectionError) && shouldRetry(error40))) {
|
|
139658
139653
|
throw new CannotRetryError(error40, retryContext);
|
|
139659
139654
|
}
|
|
139660
139655
|
if (error40 instanceof APIError) {
|
|
@@ -191882,7 +191877,7 @@ function getTelemetryAttributes() {
|
|
|
191882
191877
|
attributes["session.id"] = sessionId;
|
|
191883
191878
|
}
|
|
191884
191879
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
191885
|
-
attributes["app.version"] = "1.
|
|
191880
|
+
attributes["app.version"] = "1.35.1";
|
|
191886
191881
|
}
|
|
191887
191882
|
const oauthAccount = getOauthAccountInfo();
|
|
191888
191883
|
if (oauthAccount) {
|
|
@@ -227267,7 +227262,7 @@ function getInstallationEnv() {
|
|
|
227267
227262
|
return;
|
|
227268
227263
|
}
|
|
227269
227264
|
function getURCodeVersion() {
|
|
227270
|
-
return "1.
|
|
227265
|
+
return "1.35.1";
|
|
227271
227266
|
}
|
|
227272
227267
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
227273
227268
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -230106,7 +230101,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
230106
230101
|
const client2 = new Client({
|
|
230107
230102
|
name: "ur",
|
|
230108
230103
|
title: "UR",
|
|
230109
|
-
version: "1.
|
|
230104
|
+
version: "1.35.1",
|
|
230110
230105
|
description: "UR-AGENT autonomous engineering workflow engine",
|
|
230111
230106
|
websiteUrl: PRODUCT_URL
|
|
230112
230107
|
}, {
|
|
@@ -230460,7 +230455,7 @@ var init_client5 = __esm(() => {
|
|
|
230460
230455
|
const client2 = new Client({
|
|
230461
230456
|
name: "ur",
|
|
230462
230457
|
title: "UR",
|
|
230463
|
-
version: "1.
|
|
230458
|
+
version: "1.35.1",
|
|
230464
230459
|
description: "UR-AGENT autonomous engineering workflow engine",
|
|
230465
230460
|
websiteUrl: PRODUCT_URL
|
|
230466
230461
|
}, {
|
|
@@ -240274,9 +240269,9 @@ async function assertMinVersion() {
|
|
|
240274
240269
|
if (false) {}
|
|
240275
240270
|
try {
|
|
240276
240271
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
240277
|
-
if (versionConfig.minVersion && lt("1.
|
|
240272
|
+
if (versionConfig.minVersion && lt("1.35.1", versionConfig.minVersion)) {
|
|
240278
240273
|
console.error(`
|
|
240279
|
-
It looks like your version of UR (${"1.
|
|
240274
|
+
It looks like your version of UR (${"1.35.1"}) needs an update.
|
|
240280
240275
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
240281
240276
|
|
|
240282
240277
|
To update, please run:
|
|
@@ -240492,7 +240487,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
240492
240487
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
240493
240488
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
240494
240489
|
pid: process.pid,
|
|
240495
|
-
currentVersion: "1.
|
|
240490
|
+
currentVersion: "1.35.1"
|
|
240496
240491
|
});
|
|
240497
240492
|
return "in_progress";
|
|
240498
240493
|
}
|
|
@@ -240501,7 +240496,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
240501
240496
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
240502
240497
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
240503
240498
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
240504
|
-
currentVersion: "1.
|
|
240499
|
+
currentVersion: "1.35.1"
|
|
240505
240500
|
});
|
|
240506
240501
|
console.error(`
|
|
240507
240502
|
Error: Windows NPM detected in WSL
|
|
@@ -241036,7 +241031,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
241036
241031
|
}
|
|
241037
241032
|
async function getDoctorDiagnostic() {
|
|
241038
241033
|
const installationType = await getCurrentInstallationType();
|
|
241039
|
-
const version2 = typeof MACRO !== "undefined" ? "1.
|
|
241034
|
+
const version2 = typeof MACRO !== "undefined" ? "1.35.1" : "unknown";
|
|
241040
241035
|
const installationPath = await getInstallationPath();
|
|
241041
241036
|
const invokedBinary = getInvokedBinary();
|
|
241042
241037
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -241971,8 +241966,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
241971
241966
|
const maxVersion = await getMaxVersion();
|
|
241972
241967
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
241973
241968
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
241974
|
-
if (gte("1.
|
|
241975
|
-
logForDebugging(`Native installer: current version ${"1.
|
|
241969
|
+
if (gte("1.35.1", maxVersion)) {
|
|
241970
|
+
logForDebugging(`Native installer: current version ${"1.35.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
241976
241971
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
241977
241972
|
latency_ms: Date.now() - startTime,
|
|
241978
241973
|
max_version: maxVersion,
|
|
@@ -241983,7 +241978,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
241983
241978
|
version2 = maxVersion;
|
|
241984
241979
|
}
|
|
241985
241980
|
}
|
|
241986
|
-
if (!forceReinstall && version2 === "1.
|
|
241981
|
+
if (!forceReinstall && version2 === "1.35.1" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
|
|
241987
241982
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
241988
241983
|
logEvent("tengu_native_update_complete", {
|
|
241989
241984
|
latency_ms: Date.now() - startTime,
|
|
@@ -338887,7 +338882,7 @@ function Feedback({
|
|
|
338887
338882
|
platform: env2.platform,
|
|
338888
338883
|
gitRepo: envInfo.isGit,
|
|
338889
338884
|
terminal: env2.terminal,
|
|
338890
|
-
version: "1.
|
|
338885
|
+
version: "1.35.1",
|
|
338891
338886
|
transcript: normalizeMessagesForAPI(messages),
|
|
338892
338887
|
errors: sanitizedErrors,
|
|
338893
338888
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -339079,7 +339074,7 @@ function Feedback({
|
|
|
339079
339074
|
", ",
|
|
339080
339075
|
env2.terminal,
|
|
339081
339076
|
", v",
|
|
339082
|
-
"1.
|
|
339077
|
+
"1.35.1"
|
|
339083
339078
|
]
|
|
339084
339079
|
}, undefined, true, undefined, this)
|
|
339085
339080
|
]
|
|
@@ -339185,7 +339180,7 @@ ${sanitizedDescription}
|
|
|
339185
339180
|
` + `**Environment Info**
|
|
339186
339181
|
` + `- Platform: ${env2.platform}
|
|
339187
339182
|
` + `- Terminal: ${env2.terminal}
|
|
339188
|
-
` + `- Version: ${"1.
|
|
339183
|
+
` + `- Version: ${"1.35.1"}
|
|
339189
339184
|
` + `- Feedback ID: ${feedbackId}
|
|
339190
339185
|
` + `
|
|
339191
339186
|
**Errors**
|
|
@@ -342296,7 +342291,7 @@ function buildPrimarySection() {
|
|
|
342296
342291
|
}, undefined, false, undefined, this);
|
|
342297
342292
|
return [{
|
|
342298
342293
|
label: "Version",
|
|
342299
|
-
value: "1.
|
|
342294
|
+
value: "1.35.1"
|
|
342300
342295
|
}, {
|
|
342301
342296
|
label: "Session name",
|
|
342302
342297
|
value: nameValue
|
|
@@ -343112,11 +343107,12 @@ function ModelPicker({
|
|
|
343112
343107
|
const [thinkingEnabled, setThinkingEnabled] = import_react101.useState(() => appThinkingEnabled ?? shouldEnableThinkingByDefault());
|
|
343113
343108
|
const [providerModelOptions, setProviderModelOptions] = import_react101.useState([]);
|
|
343114
343109
|
const [pickerError, setPickerError] = import_react101.useState(null);
|
|
343115
|
-
const
|
|
343110
|
+
const effectiveSettings = getInitialSettings();
|
|
343111
|
+
const currentProvider = getActiveProviderSettings(effectiveSettings).active ?? "ollama";
|
|
343116
343112
|
import_react101.useEffect(() => {
|
|
343117
343113
|
const controller = new AbortController;
|
|
343118
343114
|
listModelsForProviderWithSource(currentProvider, {
|
|
343119
|
-
settings:
|
|
343115
|
+
settings: effectiveSettings,
|
|
343120
343116
|
signal: controller.signal
|
|
343121
343117
|
}).then((result) => {
|
|
343122
343118
|
if (controller.signal.aborted)
|
|
@@ -343134,7 +343130,7 @@ function ModelPicker({
|
|
|
343134
343130
|
setPickerError(error40 instanceof Error ? error40.message : String(error40));
|
|
343135
343131
|
});
|
|
343136
343132
|
return () => controller.abort();
|
|
343137
|
-
}, [currentProvider]);
|
|
343133
|
+
}, [currentProvider, effectiveSettings]);
|
|
343138
343134
|
const modelOptions = providerModelOptions;
|
|
343139
343135
|
const optionsWithInitial = initial !== null && validateProviderModelPair(currentProvider, initial, {
|
|
343140
343136
|
availableModels: modelOptions.map((option) => option.value)
|
|
@@ -345596,7 +345592,7 @@ function Config({
|
|
|
345596
345592
|
}
|
|
345597
345593
|
}, undefined, false, undefined, this)
|
|
345598
345594
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime177.jsxDEV(ChannelDowngradeDialog, {
|
|
345599
|
-
currentVersion: "1.
|
|
345595
|
+
currentVersion: "1.35.1",
|
|
345600
345596
|
onChoice: (choice) => {
|
|
345601
345597
|
setShowSubmenu(null);
|
|
345602
345598
|
setTabsHidden(false);
|
|
@@ -345608,7 +345604,7 @@ function Config({
|
|
|
345608
345604
|
autoUpdatesChannel: "stable"
|
|
345609
345605
|
};
|
|
345610
345606
|
if (choice === "stay") {
|
|
345611
|
-
newSettings.minimumVersion = "1.
|
|
345607
|
+
newSettings.minimumVersion = "1.35.1";
|
|
345612
345608
|
}
|
|
345613
345609
|
updateSettingsForSource("userSettings", newSettings);
|
|
345614
345610
|
setSettingsData((prev_27) => ({
|
|
@@ -353678,7 +353674,7 @@ function HelpV2(t0) {
|
|
|
353678
353674
|
let t6;
|
|
353679
353675
|
if ($3[31] !== tabs) {
|
|
353680
353676
|
t6 = /* @__PURE__ */ jsx_dev_runtime204.jsxDEV(Tabs, {
|
|
353681
|
-
title: `UR v${"1.
|
|
353677
|
+
title: `UR v${"1.35.1"}`,
|
|
353682
353678
|
color: "professionalBlue",
|
|
353683
353679
|
defaultTab: "general",
|
|
353684
353680
|
children: tabs
|
|
@@ -354424,7 +354420,7 @@ function buildToolUseContext(tools, readFileStateCache) {
|
|
|
354424
354420
|
async function handleInitialize(options2) {
|
|
354425
354421
|
return {
|
|
354426
354422
|
name: "ur-agent",
|
|
354427
|
-
version: "1.
|
|
354423
|
+
version: "1.35.1",
|
|
354428
354424
|
protocolVersion: "0.1.0",
|
|
354429
354425
|
workspaceRoot: options2.cwd,
|
|
354430
354426
|
capabilities: {
|
|
@@ -374548,7 +374544,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
374548
374544
|
return [];
|
|
374549
374545
|
}
|
|
374550
374546
|
}
|
|
374551
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.
|
|
374547
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.35.1") {
|
|
374552
374548
|
if (process.env.USER_TYPE === "ant") {
|
|
374553
374549
|
const changelog = "";
|
|
374554
374550
|
if (changelog) {
|
|
@@ -374575,7 +374571,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.34.0")
|
|
|
374575
374571
|
releaseNotes
|
|
374576
374572
|
};
|
|
374577
374573
|
}
|
|
374578
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.
|
|
374574
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.35.1") {
|
|
374579
374575
|
if (process.env.USER_TYPE === "ant") {
|
|
374580
374576
|
const changelog = "";
|
|
374581
374577
|
if (changelog) {
|
|
@@ -375745,7 +375741,7 @@ function getRecentActivitySync() {
|
|
|
375745
375741
|
return cachedActivity;
|
|
375746
375742
|
}
|
|
375747
375743
|
function getLogoDisplayData() {
|
|
375748
|
-
const version2 = process.env.DEMO_VERSION ?? "1.
|
|
375744
|
+
const version2 = process.env.DEMO_VERSION ?? "1.35.1";
|
|
375749
375745
|
const serverUrl = getDirectConnectServerUrl();
|
|
375750
375746
|
const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd2());
|
|
375751
375747
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -376534,7 +376530,7 @@ function LogoV2() {
|
|
|
376534
376530
|
if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
376535
376531
|
t2 = () => {
|
|
376536
376532
|
const currentConfig = getGlobalConfig();
|
|
376537
|
-
if (currentConfig.lastReleaseNotesSeen === "1.
|
|
376533
|
+
if (currentConfig.lastReleaseNotesSeen === "1.35.1") {
|
|
376538
376534
|
return;
|
|
376539
376535
|
}
|
|
376540
376536
|
saveGlobalConfig(_temp326);
|
|
@@ -377219,12 +377215,12 @@ function LogoV2() {
|
|
|
377219
377215
|
return t41;
|
|
377220
377216
|
}
|
|
377221
377217
|
function _temp326(current) {
|
|
377222
|
-
if (current.lastReleaseNotesSeen === "1.
|
|
377218
|
+
if (current.lastReleaseNotesSeen === "1.35.1") {
|
|
377223
377219
|
return current;
|
|
377224
377220
|
}
|
|
377225
377221
|
return {
|
|
377226
377222
|
...current,
|
|
377227
|
-
lastReleaseNotesSeen: "1.
|
|
377223
|
+
lastReleaseNotesSeen: "1.35.1"
|
|
377228
377224
|
};
|
|
377229
377225
|
}
|
|
377230
377226
|
function _temp243(s_0) {
|
|
@@ -394457,10 +394453,9 @@ async function connectProvider(provider, keyFlag) {
|
|
|
394457
394453
|
if (alias === "provider") {
|
|
394458
394454
|
return `No official login is configured for ${provider}.`;
|
|
394459
394455
|
}
|
|
394460
|
-
const enabled = enableExternalBridge(provider);
|
|
394461
394456
|
const result = await launchProviderAuth(alias);
|
|
394462
394457
|
return `${result.message}
|
|
394463
|
-
${
|
|
394458
|
+
Once logged in, ${def2.displayName} runs via its official CLI. Select it with /model.`;
|
|
394464
394459
|
}
|
|
394465
394460
|
if (def2.envKey) {
|
|
394466
394461
|
const key = keyFlag ?? await readStdinKey();
|
|
@@ -407586,7 +407581,7 @@ var init_code_index2 = __esm(() => {
|
|
|
407586
407581
|
|
|
407587
407582
|
// node_modules/typescript/lib/typescript.js
|
|
407588
407583
|
var require_typescript2 = __commonJS((exports, module) => {
|
|
407589
|
-
var __dirname = "/
|
|
407584
|
+
var __dirname = "/Users/maith/Desktop/ur3-dev/UR-1.19.0/node_modules/typescript/lib", __filename = "/Users/maith/Desktop/ur3-dev/UR-1.19.0/node_modules/typescript/lib/typescript.js";
|
|
407590
407585
|
/*! *****************************************************************************
|
|
407591
407586
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
407592
407587
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
@@ -593120,7 +593115,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
|
|
|
593120
593115
|
smapsRollup,
|
|
593121
593116
|
platform: process.platform,
|
|
593122
593117
|
nodeVersion: process.version,
|
|
593123
|
-
ccVersion: "1.
|
|
593118
|
+
ccVersion: "1.35.1"
|
|
593124
593119
|
};
|
|
593125
593120
|
}
|
|
593126
593121
|
async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
|
|
@@ -593706,7 +593701,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
593706
593701
|
var call137 = async () => {
|
|
593707
593702
|
return {
|
|
593708
593703
|
type: "text",
|
|
593709
|
-
value: "1.
|
|
593704
|
+
value: "1.35.1"
|
|
593710
593705
|
};
|
|
593711
593706
|
}, version2, version_default;
|
|
593712
593707
|
var init_version = __esm(() => {
|
|
@@ -597558,7 +597553,7 @@ function ProviderPicker({
|
|
|
597558
597553
|
if (!result.ok) {
|
|
597559
597554
|
return;
|
|
597560
597555
|
}
|
|
597561
|
-
const saved = getActiveProviderSettings(
|
|
597556
|
+
const saved = getActiveProviderSettings(getInitialSettings());
|
|
597562
597557
|
setAppState((prev) => ({
|
|
597563
597558
|
...prev,
|
|
597564
597559
|
provider: {
|
|
@@ -603776,7 +603771,7 @@ function generateHtmlReport(data, insights) {
|
|
|
603776
603771
|
</html>`;
|
|
603777
603772
|
}
|
|
603778
603773
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
603779
|
-
const version3 = typeof MACRO !== "undefined" ? "1.
|
|
603774
|
+
const version3 = typeof MACRO !== "undefined" ? "1.35.1" : "unknown";
|
|
603780
603775
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
603781
603776
|
const facets_summary = {
|
|
603782
603777
|
total: facets.size,
|
|
@@ -608056,7 +608051,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
608056
608051
|
init_settings2();
|
|
608057
608052
|
init_slowOperations();
|
|
608058
608053
|
init_uuid();
|
|
608059
|
-
VERSION5 = typeof MACRO !== "undefined" ? "1.
|
|
608054
|
+
VERSION5 = typeof MACRO !== "undefined" ? "1.35.1" : "unknown";
|
|
608060
608055
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
608061
608056
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
608062
608057
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -609261,7 +609256,7 @@ var init_filesystem = __esm(() => {
|
|
|
609261
609256
|
});
|
|
609262
609257
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
609263
609258
|
const nonce = randomBytes18(16).toString("hex");
|
|
609264
|
-
return join200(getURTempDir(), "bundled-skills", "1.
|
|
609259
|
+
return join200(getURTempDir(), "bundled-skills", "1.35.1", nonce);
|
|
609265
609260
|
});
|
|
609266
609261
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
609267
609262
|
});
|
|
@@ -615550,7 +615545,7 @@ function computeFingerprint(messageText2, version3) {
|
|
|
615550
615545
|
}
|
|
615551
615546
|
function computeFingerprintFromMessages(messages) {
|
|
615552
615547
|
const firstMessageText = extractFirstMessageText(messages);
|
|
615553
|
-
return computeFingerprint(firstMessageText, "1.
|
|
615548
|
+
return computeFingerprint(firstMessageText, "1.35.1");
|
|
615554
615549
|
}
|
|
615555
615550
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
615556
615551
|
var init_fingerprint = () => {};
|
|
@@ -617417,7 +617412,7 @@ async function sideQuery(opts) {
|
|
|
617417
617412
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
617418
617413
|
}
|
|
617419
617414
|
const messageText2 = extractFirstUserMessageText(messages);
|
|
617420
|
-
const fingerprint = computeFingerprint(messageText2, "1.
|
|
617415
|
+
const fingerprint = computeFingerprint(messageText2, "1.35.1");
|
|
617421
617416
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
617422
617417
|
const systemBlocks = [
|
|
617423
617418
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -621315,11 +621310,11 @@ function onChangeAppState({
|
|
|
621315
621310
|
notifyPermissionModeChanged(newMode);
|
|
621316
621311
|
}
|
|
621317
621312
|
if (newState.mainLoopModel !== oldState.mainLoopModel && newState.mainLoopModel === null) {
|
|
621318
|
-
updateSettingsForSource("
|
|
621313
|
+
updateSettingsForSource("localSettings", { model: undefined });
|
|
621319
621314
|
setMainLoopModelOverride(null);
|
|
621320
621315
|
}
|
|
621321
621316
|
if (newState.mainLoopModel !== oldState.mainLoopModel && newState.mainLoopModel !== null) {
|
|
621322
|
-
updateSettingsForSource("
|
|
621317
|
+
updateSettingsForSource("localSettings", { model: newState.mainLoopModel });
|
|
621323
621318
|
setMainLoopModelOverride(newState.mainLoopModel);
|
|
621324
621319
|
}
|
|
621325
621320
|
if (newState.expandedView !== oldState.expandedView) {
|
|
@@ -622154,7 +622149,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
622154
622149
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
622155
622150
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
622156
622151
|
betas: getSdkBetas(),
|
|
622157
|
-
ur_version: "1.
|
|
622152
|
+
ur_version: "1.35.1",
|
|
622158
622153
|
output_style: outputStyle2,
|
|
622159
622154
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
622160
622155
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
|
|
@@ -636782,7 +636777,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
636782
636777
|
function getSemverPart(version3) {
|
|
636783
636778
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
636784
636779
|
}
|
|
636785
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.
|
|
636780
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.35.1") {
|
|
636786
636781
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react226.useState(() => getSemverPart(initialVersion));
|
|
636787
636782
|
if (!updatedVersion) {
|
|
636788
636783
|
return null;
|
|
@@ -636831,7 +636826,7 @@ function AutoUpdater({
|
|
|
636831
636826
|
return;
|
|
636832
636827
|
}
|
|
636833
636828
|
if (false) {}
|
|
636834
|
-
const currentVersion = "1.
|
|
636829
|
+
const currentVersion = "1.35.1";
|
|
636835
636830
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
636836
636831
|
let latestVersion = await getLatestVersion(channel);
|
|
636837
636832
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -637060,12 +637055,12 @@ function NativeAutoUpdater({
|
|
|
637060
637055
|
logEvent("tengu_native_auto_updater_start", {});
|
|
637061
637056
|
try {
|
|
637062
637057
|
const maxVersion = await getMaxVersion();
|
|
637063
|
-
if (maxVersion && gt("1.
|
|
637058
|
+
if (maxVersion && gt("1.35.1", maxVersion)) {
|
|
637064
637059
|
const msg = await getMaxVersionMessage();
|
|
637065
637060
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
637066
637061
|
}
|
|
637067
637062
|
const result = await installLatest(channel);
|
|
637068
|
-
const currentVersion = "1.
|
|
637063
|
+
const currentVersion = "1.35.1";
|
|
637069
637064
|
const latencyMs = Date.now() - startTime;
|
|
637070
637065
|
if (result.lockFailed) {
|
|
637071
637066
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -637202,17 +637197,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
637202
637197
|
const maxVersion = await getMaxVersion();
|
|
637203
637198
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
637204
637199
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
637205
|
-
if (gte("1.
|
|
637206
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.
|
|
637200
|
+
if (gte("1.35.1", maxVersion)) {
|
|
637201
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.35.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
637207
637202
|
setUpdateAvailable(false);
|
|
637208
637203
|
return;
|
|
637209
637204
|
}
|
|
637210
637205
|
latest = maxVersion;
|
|
637211
637206
|
}
|
|
637212
|
-
const hasUpdate = latest && !gte("1.
|
|
637207
|
+
const hasUpdate = latest && !gte("1.35.1", latest) && !shouldSkipVersion(latest);
|
|
637213
637208
|
setUpdateAvailable(!!hasUpdate);
|
|
637214
637209
|
if (hasUpdate) {
|
|
637215
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.
|
|
637210
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.35.1"} -> ${latest}`);
|
|
637216
637211
|
}
|
|
637217
637212
|
};
|
|
637218
637213
|
$3[0] = t1;
|
|
@@ -637246,7 +637241,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
637246
637241
|
wrap: "truncate",
|
|
637247
637242
|
children: [
|
|
637248
637243
|
"currentVersion: ",
|
|
637249
|
-
"1.
|
|
637244
|
+
"1.35.1"
|
|
637250
637245
|
]
|
|
637251
637246
|
}, undefined, true, undefined, this);
|
|
637252
637247
|
$3[3] = verbose;
|
|
@@ -649697,7 +649692,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
649697
649692
|
project_dir: getOriginalCwd(),
|
|
649698
649693
|
added_dirs: addedDirs
|
|
649699
649694
|
},
|
|
649700
|
-
version: "1.
|
|
649695
|
+
version: "1.35.1",
|
|
649701
649696
|
output_style: {
|
|
649702
649697
|
name: outputStyleName
|
|
649703
649698
|
},
|
|
@@ -649780,7 +649775,7 @@ function StatusLineInner({
|
|
|
649780
649775
|
const taskValues = Object.values(tasks2);
|
|
649781
649776
|
const taskRunningCount = taskValues.filter((task2) => task2.status === "running" || task2.status === "pending").length;
|
|
649782
649777
|
const defaultStatusLineText = buildDefaultStatusBar({
|
|
649783
|
-
version: "1.
|
|
649778
|
+
version: "1.35.1",
|
|
649784
649779
|
providerLabel: providerRuntime.providerLabel,
|
|
649785
649780
|
authMode: providerRuntime.authLabel,
|
|
649786
649781
|
model: providerRuntime.model ?? renderModelName(mainLoopModel),
|
|
@@ -661268,7 +661263,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
|
|
|
661268
661263
|
} catch {}
|
|
661269
661264
|
const data = {
|
|
661270
661265
|
trigger: trigger2,
|
|
661271
|
-
version: "1.
|
|
661266
|
+
version: "1.35.1",
|
|
661272
661267
|
platform: process.platform,
|
|
661273
661268
|
transcript,
|
|
661274
661269
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -673152,7 +673147,7 @@ function WelcomeV2() {
|
|
|
673152
673147
|
dimColor: true,
|
|
673153
673148
|
children: [
|
|
673154
673149
|
"v",
|
|
673155
|
-
"1.
|
|
673150
|
+
"1.35.1"
|
|
673156
673151
|
]
|
|
673157
673152
|
}, undefined, true, undefined, this)
|
|
673158
673153
|
]
|
|
@@ -674412,7 +674407,7 @@ function completeOnboarding() {
|
|
|
674412
674407
|
saveGlobalConfig((current) => ({
|
|
674413
674408
|
...current,
|
|
674414
674409
|
hasCompletedOnboarding: true,
|
|
674415
|
-
lastOnboardingVersion: "1.
|
|
674410
|
+
lastOnboardingVersion: "1.35.1"
|
|
674416
674411
|
}));
|
|
674417
674412
|
}
|
|
674418
674413
|
function showDialog(root2, renderer) {
|
|
@@ -679449,7 +679444,7 @@ function appendToLog(path24, message) {
|
|
|
679449
679444
|
cwd: getFsImplementation().cwd(),
|
|
679450
679445
|
userType: process.env.USER_TYPE,
|
|
679451
679446
|
sessionId: getSessionId(),
|
|
679452
|
-
version: "1.
|
|
679447
|
+
version: "1.35.1"
|
|
679453
679448
|
};
|
|
679454
679449
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
679455
679450
|
}
|
|
@@ -683543,8 +683538,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
683543
683538
|
}
|
|
683544
683539
|
async function checkEnvLessBridgeMinVersion() {
|
|
683545
683540
|
const cfg = await getEnvLessBridgeConfig();
|
|
683546
|
-
if (cfg.min_version && lt("1.
|
|
683547
|
-
return `Your version of UR (${"1.
|
|
683541
|
+
if (cfg.min_version && lt("1.35.1", cfg.min_version)) {
|
|
683542
|
+
return `Your version of UR (${"1.35.1"}) is too old for Remote Control.
|
|
683548
683543
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
683549
683544
|
}
|
|
683550
683545
|
return null;
|
|
@@ -684018,7 +684013,7 @@ async function initBridgeCore(params) {
|
|
|
684018
684013
|
const rawApi = createBridgeApiClient({
|
|
684019
684014
|
baseUrl,
|
|
684020
684015
|
getAccessToken,
|
|
684021
|
-
runnerVersion: "1.
|
|
684016
|
+
runnerVersion: "1.35.1",
|
|
684022
684017
|
onDebug: logForDebugging,
|
|
684023
684018
|
onAuth401,
|
|
684024
684019
|
getTrustedDeviceToken
|
|
@@ -689700,7 +689695,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
|
|
|
689700
689695
|
setCwd(cwd3);
|
|
689701
689696
|
const server2 = new Server({
|
|
689702
689697
|
name: "ur/tengu",
|
|
689703
|
-
version: "1.
|
|
689698
|
+
version: "1.35.1"
|
|
689704
689699
|
}, {
|
|
689705
689700
|
capabilities: {
|
|
689706
689701
|
tools: {}
|
|
@@ -691677,7 +691672,7 @@ async function update() {
|
|
|
691677
691672
|
logEvent("tengu_update_check", {});
|
|
691678
691673
|
const diagnostic = await getDoctorDiagnostic();
|
|
691679
691674
|
const result = await checkUpgradeStatus({
|
|
691680
|
-
currentVersion: "1.
|
|
691675
|
+
currentVersion: "1.35.1",
|
|
691681
691676
|
packageName: UR_AGENT_PACKAGE_NAME,
|
|
691682
691677
|
installationType: diagnostic.installationType,
|
|
691683
691678
|
latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
|
|
@@ -692923,7 +692918,7 @@ ${customInstructions}` : customInstructions;
|
|
|
692923
692918
|
}
|
|
692924
692919
|
}
|
|
692925
692920
|
logForDiagnosticsNoPII("info", "started", {
|
|
692926
|
-
version: "1.
|
|
692921
|
+
version: "1.35.1",
|
|
692927
692922
|
is_native_binary: isInBundledMode()
|
|
692928
692923
|
});
|
|
692929
692924
|
registerCleanup(async () => {
|
|
@@ -693709,7 +693704,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
693709
693704
|
pendingHookMessages
|
|
693710
693705
|
}, renderAndRun);
|
|
693711
693706
|
}
|
|
693712
|
-
}).version("1.
|
|
693707
|
+
}).version("1.35.1 (UR-AGENT)", "-v, --version", "Output the version number");
|
|
693713
693708
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
693714
693709
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
693715
693710
|
if (canUserConfigureAdvisor()) {
|
|
@@ -693801,7 +693796,9 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
693801
693796
|
if (false) {}
|
|
693802
693797
|
if (false) {}
|
|
693803
693798
|
const auth2 = program2.command("auth").description("Manage authentication").configureHelp(createSortedHelpConfig());
|
|
693804
|
-
auth2.command("login"
|
|
693799
|
+
auth2.command("login", {
|
|
693800
|
+
hidden: true
|
|
693801
|
+
}).description("Sign in to your URHQ account").option("--email <email>", "Pre-populate email address on the login page").option("--sso", "Force SSO login flow").option("--console", "Use URHQ Console (API usage billing) instead of UR subscription").option("--urai", "Use UR subscription (default)").action(async ({
|
|
693805
693802
|
email: email3,
|
|
693806
693803
|
sso,
|
|
693807
693804
|
console: useConsole,
|
|
@@ -693823,7 +693820,9 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
693823
693820
|
} = await Promise.resolve().then(() => (init_auth6(), exports_auth2));
|
|
693824
693821
|
await authStatus2(opts);
|
|
693825
693822
|
});
|
|
693826
|
-
auth2.command("logout"
|
|
693823
|
+
auth2.command("logout", {
|
|
693824
|
+
hidden: true
|
|
693825
|
+
}).description("Log out from your URHQ account").action(async () => {
|
|
693827
693826
|
const {
|
|
693828
693827
|
authLogout: authLogout2
|
|
693829
693828
|
} = await Promise.resolve().then(() => (init_auth6(), exports_auth2));
|
|
@@ -693879,6 +693878,10 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
693879
693878
|
} = await Promise.resolve().then(() => (init_providers2(), exports_providers));
|
|
693880
693879
|
await configSetHandler2(key, value);
|
|
693881
693880
|
});
|
|
693881
|
+
program2.command("connect [action] [provider]").description("Connect a provider account: subscription login (Codex, Claude, Gemini) or store an API key").option("--key <key>", "API key to store for an API provider").option("--json", "Output as JSON").action(async (action3, providerArg, opts) => {
|
|
693882
|
+
const args = [action3, providerArg, opts.key ? `--key ${quoteLocalCommandArg(opts.key)}` : undefined, opts.json ? "--json" : undefined].filter(Boolean).join(" ");
|
|
693883
|
+
await runLocalTextCommand(() => Promise.resolve().then(() => (init_connect(), exports_connect)), args);
|
|
693884
|
+
});
|
|
693882
693885
|
const coworkOption = () => new Option("--cowork", "Use cowork_plugins directory").hideHelp();
|
|
693883
693886
|
const pluginCmd = program2.command("plugin").alias("plugins").description("Manage UR plugins").configureHelp(createSortedHelpConfig());
|
|
693884
693887
|
pluginCmd.command("validate <path>").description("Validate a plugin or marketplace manifest").addOption(coworkOption()).action(async (manifestPath5, options2) => {
|
|
@@ -693954,7 +693957,9 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
693954
693957
|
} = await Promise.resolve().then(() => (init_plugins(), exports_plugins));
|
|
693955
693958
|
await pluginUpdateHandler2(plugin2, options2);
|
|
693956
693959
|
});
|
|
693957
|
-
program2.command("setup-token"
|
|
693960
|
+
program2.command("setup-token", {
|
|
693961
|
+
hidden: true
|
|
693962
|
+
}).description("Set up a long-lived authentication token (requires UR subscription)").action(async () => {
|
|
693958
693963
|
const [{
|
|
693959
693964
|
setupTokenHandler: setupTokenHandler2
|
|
693960
693965
|
}, {
|
|
@@ -694075,8 +694080,8 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
694075
694080
|
const args = [action3, name, opts.objective ? `--objective ${quoteLocalCommandArg(opts.objective)}` : undefined, opts.workflow ? `--workflow ${quoteLocalCommandArg(opts.workflow)}` : undefined, opts.pattern ? `--pattern ${quoteLocalCommandArg(opts.pattern)}` : undefined, opts.note ? `--note ${quoteLocalCommandArg(opts.note)}` : undefined, opts.maxTurns ? `--max-turns ${opts.maxTurns}` : undefined, opts.dryRun ? "--dry-run" : undefined, opts.json ? "--json" : undefined].filter(Boolean).join(" ");
|
|
694076
694081
|
await runLocalTextCommand(() => Promise.resolve().then(() => (init_goal(), exports_goal)), args);
|
|
694077
694082
|
});
|
|
694078
|
-
program2.command("spec [action] [name] [phase]").alias("specs").description("Spec-driven development: scaffold requirements/design/tasks in .ur/specs and drive execution task-by-task").option("--goal <text>", "Goal text for init").option("--all", "Run all open tasks, not just the next one").option("--dry-run", "Run offline without calling any model").option("--max-turns <n>", "Max agentic turns per task when running").option("--skip-permissions", "Pass --dangerously-skip-permissions to each task (sandboxes only)").option("--json", "Output as JSON").action(async (action3, name, phase, opts) => {
|
|
694079
|
-
const args = [action3, name, phase, opts.goal ? `--goal ${quoteLocalCommandArg(opts.goal)}` : undefined, opts.all ? "--all" : undefined, opts.dryRun ? "--dry-run" : undefined, opts.maxTurns ? `--max-turns ${opts.maxTurns}` : undefined, opts.skipPermissions ? "--skip-permissions" : undefined, opts.json ? "--json" : undefined].filter(Boolean).join(" ");
|
|
694083
|
+
program2.command("spec [action] [name] [phase]").alias("specs").description("Spec-driven development: scaffold requirements/design/tasks in .ur/specs and drive execution task-by-task").option("--goal <text>", "Goal text for init").option("--all", "Run all open tasks, not just the next one").option("--dry-run", "Run offline without calling any model").option("--kernel", "Run tasks through the agent kernel loop").option("--max-turns <n>", "Max agentic turns per task when running").option("--skip-permissions", "Pass --dangerously-skip-permissions to each task (sandboxes only)").option("--json", "Output as JSON").action(async (action3, name, phase, opts) => {
|
|
694084
|
+
const args = [action3, name, phase, opts.goal ? `--goal ${quoteLocalCommandArg(opts.goal)}` : undefined, opts.all ? "--all" : undefined, opts.dryRun ? "--dry-run" : undefined, opts.kernel ? "--kernel" : undefined, opts.maxTurns ? `--max-turns ${opts.maxTurns}` : undefined, opts.skipPermissions ? "--skip-permissions" : undefined, opts.json ? "--json" : undefined].filter(Boolean).join(" ");
|
|
694080
694085
|
await runLocalTextCommand(() => Promise.resolve().then(() => (init_spec2(), exports_spec2)), args);
|
|
694081
694086
|
});
|
|
694082
694087
|
program2.command("escalate [action] [task...]").description("Capability-aware local model escalation: run on a fast model and auto-escalate hard work to the oracle").option("--dry-run", "Run offline without calling any model").option("--force-oracle", "Start on the oracle regardless of difficulty").option("--fast <model>", "Pin the fast-tier model (policy)").option("--oracle <model>", "Pin the oracle-tier model (policy)").option("--auto <onoff>", "Enable/disable auto-escalation (policy): on|off").option("--max-turns <n>", "Max agentic turns when running").option("--skip-permissions", "Pass --dangerously-skip-permissions (sandboxes only)").option("--json", "Output as JSON").action(async (action3, task2 = [], opts) => {
|
|
@@ -694154,13 +694159,21 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
694154
694159
|
await runLocalTextCommand(() => Promise.resolve().then(() => (init_repo_edit(), exports_repo_edit)), args);
|
|
694155
694160
|
});
|
|
694156
694161
|
program2.command("ide [action] [rest...]").description("Manage IDE integrations and inline diff bundles").option("--title <title>", "Title for captured inline diff bundle").option("--base <ref>", "Capture branch diff from this base ref").option("--staged", "Capture staged changes instead of unstaged changes").option("--feedback <text>", "Comment text for an IDE diff bundle").option("--file <path>", "File path for an inline diff comment").option("--line <line>", "Line number for an inline diff comment").option("--json", "Output as JSON").action(async (action3, rest = [], opts) => {
|
|
694157
|
-
const {
|
|
694158
|
-
runIdeDiffCommand: runIdeDiffCommand2
|
|
694159
|
-
} = await Promise.resolve().then(() => (init_inlineDiffCommand(), exports_inlineDiffCommand));
|
|
694160
694162
|
if (action3 === "open") {
|
|
694161
694163
|
console.log("Use `/ide open` inside an interactive UR session, or use `ur ide diff ...` for inline diff bundles.");
|
|
694162
694164
|
process.exit(0);
|
|
694163
694165
|
}
|
|
694166
|
+
if (action3 === "status" || action3 === "doctor" || action3 === "config") {
|
|
694167
|
+
const {
|
|
694168
|
+
runIdeInfoCommand: runIdeInfoCommand2
|
|
694169
|
+
} = await Promise.resolve().then(() => (init_ideInfoCommand(), exports_ideInfoCommand));
|
|
694170
|
+
const args2 = [action3, ...rest, opts.json ? "--json" : undefined].filter(Boolean).join(" ");
|
|
694171
|
+
console.log(await runIdeInfoCommand2(args2));
|
|
694172
|
+
process.exit(0);
|
|
694173
|
+
}
|
|
694174
|
+
const {
|
|
694175
|
+
runIdeDiffCommand: runIdeDiffCommand2
|
|
694176
|
+
} = await Promise.resolve().then(() => (init_inlineDiffCommand(), exports_inlineDiffCommand));
|
|
694164
694177
|
const command8 = action3 === "diff" || action3 === "diffs" ? [action3, ...rest] : ["diff", action3 ?? "list", ...rest];
|
|
694165
694178
|
const args = [...command8, opts.title ? `--title ${quoteLocalCommandArg(opts.title)}` : undefined, opts.base ? `--base ${quoteLocalCommandArg(opts.base)}` : undefined, opts.staged ? "--staged" : undefined, opts.feedback ? `--feedback ${quoteLocalCommandArg(opts.feedback)}` : undefined, opts.file ? `--file ${quoteLocalCommandArg(opts.file)}` : undefined, opts.line ? `--line ${opts.line}` : undefined, opts.json ? "--json" : undefined].filter(Boolean).join(" ");
|
|
694166
694179
|
console.log(await runIdeDiffCommand2(args));
|
|
@@ -694301,7 +694314,9 @@ ${describeClaims2(result.claims)}`);
|
|
|
694301
694314
|
});
|
|
694302
694315
|
if (false) {}
|
|
694303
694316
|
if (false) {}
|
|
694304
|
-
program2.command("install [target]"
|
|
694317
|
+
program2.command("install [target]", {
|
|
694318
|
+
hidden: true
|
|
694319
|
+
}).description("Install UR native build. Use [target] to specify version (stable, latest, or specific version)").option("--force", "Force installation even if already installed").action(async (target, options2) => {
|
|
694305
694320
|
const {
|
|
694306
694321
|
installHandler: installHandler2
|
|
694307
694322
|
} = await Promise.resolve().then(() => (init_util4(), exports_util2));
|
|
@@ -694592,7 +694607,7 @@ if (false) {}
|
|
|
694592
694607
|
async function main2() {
|
|
694593
694608
|
const args = process.argv.slice(2);
|
|
694594
694609
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
694595
|
-
console.log(`${"1.
|
|
694610
|
+
console.log(`${"1.35.1"} (UR-AGENT)`);
|
|
694596
694611
|
return;
|
|
694597
694612
|
}
|
|
694598
694613
|
if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
|