ur-agent 1.68.3 → 1.68.7
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 +64 -0
- package/dist/cli.js +191 -139
- package/docs/VALIDATION.md +1 -1
- package/documentation/index.html +1 -1
- package/extensions/jetbrains-ur/build.gradle.kts +1 -1
- package/extensions/vscode-ur-inline-diffs/package.json +1 -1
- package/package.json +1 -1
- package/technical/README.md +1 -1
package/dist/cli.js
CHANGED
|
@@ -57523,7 +57523,9 @@ __export(exports_ollama, {
|
|
|
57523
57523
|
getOllamaRequestTimeoutMs: () => getOllamaRequestTimeoutMs,
|
|
57524
57524
|
getOllamaModelDefaultTimeoutMs: () => getOllamaModelDefaultTimeoutMs,
|
|
57525
57525
|
getEffectiveOllamaBaseUrl: () => getEffectiveOllamaBaseUrl,
|
|
57526
|
+
dropStaleImagesFromRequest: () => dropStaleImagesFromRequest,
|
|
57526
57527
|
describeOversizedOllamaRequest: () => describeOversizedOllamaRequest,
|
|
57528
|
+
describeImageRetry: () => describeImageRetry,
|
|
57527
57529
|
createOllamaURHQClient: () => createOllamaURHQClient,
|
|
57528
57530
|
consumePendingProviderNotice: () => consumePendingProviderNotice,
|
|
57529
57531
|
buildOllamaHeaders: () => buildOllamaHeaders
|
|
@@ -57592,8 +57594,9 @@ async function fetchOllamaChat(params, stream4, controller, options, baseUrl = g
|
|
|
57592
57594
|
try {
|
|
57593
57595
|
const capabilities = await getOllamaModelCapabilities(params.model, baseUrl, controller.signal);
|
|
57594
57596
|
const textToolFallbackAllowed = (params.tools?.length ?? 0) > 0 && !modelCapabilityEnabled(capabilities, "tools");
|
|
57595
|
-
const
|
|
57596
|
-
const
|
|
57597
|
+
const chatRequest = toOllamaChatRequest(params, stream4, capabilities, baseUrl);
|
|
57598
|
+
const requestBody = JSON.stringify(chatRequest);
|
|
57599
|
+
let response = await fetch(`${baseUrl}/api/chat`, {
|
|
57597
57600
|
method: "POST",
|
|
57598
57601
|
headers: buildOllamaHeaders(),
|
|
57599
57602
|
body: requestBody,
|
|
@@ -57601,6 +57604,23 @@ async function fetchOllamaChat(params, stream4, controller, options, baseUrl = g
|
|
|
57601
57604
|
});
|
|
57602
57605
|
if (!response.ok) {
|
|
57603
57606
|
const body = await response.text().catch(() => "");
|
|
57607
|
+
const rawMessage = extractOllamaHTTPErrorMessage(body) || response.statusText;
|
|
57608
|
+
const retryRequest = isOllamaRequestTooLarge(response.status, rawMessage) ? dropStaleImagesFromRequest(chatRequest) : null;
|
|
57609
|
+
if (retryRequest) {
|
|
57610
|
+
const retryBody = JSON.stringify(retryRequest);
|
|
57611
|
+
pendingProviderNotice ??= describeImageRetry(requestBody.length, retryBody.length);
|
|
57612
|
+
response = await fetch(`${baseUrl}/api/chat`, {
|
|
57613
|
+
method: "POST",
|
|
57614
|
+
headers: buildOllamaHeaders(),
|
|
57615
|
+
body: retryBody,
|
|
57616
|
+
signal: controller.signal
|
|
57617
|
+
});
|
|
57618
|
+
if (!response.ok) {
|
|
57619
|
+
const retryErrorBody = await response.text().catch(() => "");
|
|
57620
|
+
throw createOllamaHTTPError(response.status, retryErrorBody, response.statusText, retryBody.length);
|
|
57621
|
+
}
|
|
57622
|
+
return { response, textToolFallbackAllowed };
|
|
57623
|
+
}
|
|
57604
57624
|
throw createOllamaHTTPError(response.status, body, response.statusText, requestBody.length);
|
|
57605
57625
|
}
|
|
57606
57626
|
return { response, textToolFallbackAllowed };
|
|
@@ -57634,6 +57654,19 @@ function formatBytes(bytes) {
|
|
|
57634
57654
|
return `${Math.round(bytes / 1024)} KB`;
|
|
57635
57655
|
return `${bytes} bytes`;
|
|
57636
57656
|
}
|
|
57657
|
+
function dropStaleImagesFromRequest(request) {
|
|
57658
|
+
const withImages = request.messages.map((message, index2) => (message.images?.length ?? 0) > 0 ? index2 : -1).filter((index2) => index2 >= 0);
|
|
57659
|
+
if (withImages.length <= 1)
|
|
57660
|
+
return null;
|
|
57661
|
+
const keep = withImages.at(-1);
|
|
57662
|
+
return {
|
|
57663
|
+
...request,
|
|
57664
|
+
messages: request.messages.map((message, index2) => index2 === keep || (message.images?.length ?? 0) === 0 ? message : { ...message, images: undefined })
|
|
57665
|
+
};
|
|
57666
|
+
}
|
|
57667
|
+
function describeImageRetry(originalBytes, retriedBytes) {
|
|
57668
|
+
return `The request was ${formatBytes(originalBytes)}, which Ollama rejected as too ` + `large. Images from earlier turns were dropped and it was retried at ` + `${formatBytes(retriedBytes)}. The most recent image was kept. If you need ` + `an earlier one again, re-attach it.`;
|
|
57669
|
+
}
|
|
57637
57670
|
function describeOversizedOllamaRequest(requestBytes) {
|
|
57638
57671
|
const size = requestBytes && requestBytes > 0 ? `This request was ${formatBytes(requestBytes)}. ` : "";
|
|
57639
57672
|
return `Ollama rejected the request because the HTTP body exceeded its size limit. ` + `${size}This is a byte-size limit on the server, not the model's context ` + `window, so it can trigger even when the conversation fits. Images are the ` + `usual cause \u2014 base64 encoding adds roughly a third to their size, and every ` + `image stays in the transcript on later turns. Use /compact or start a new ` + `session to drop older attachments, or send fewer and smaller images. If the ` + `endpoint sits behind a reverse proxy, the proxy's own body limit applies too ` + `(for nginx that is client_max_body_size).`;
|
|
@@ -75669,7 +75702,7 @@ var init_auth = __esm(() => {
|
|
|
75669
75702
|
|
|
75670
75703
|
// src/utils/userAgent.ts
|
|
75671
75704
|
function getURCodeUserAgent() {
|
|
75672
|
-
return `ur/${"1.68.
|
|
75705
|
+
return `ur/${"1.68.7"}`;
|
|
75673
75706
|
}
|
|
75674
75707
|
|
|
75675
75708
|
// src/utils/workloadContext.ts
|
|
@@ -75691,7 +75724,7 @@ function getUserAgent() {
|
|
|
75691
75724
|
const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
|
|
75692
75725
|
const workload = getWorkload();
|
|
75693
75726
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
75694
|
-
return `ur-cli/${"1.68.
|
|
75727
|
+
return `ur-cli/${"1.68.7"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
75695
75728
|
}
|
|
75696
75729
|
function getMCPUserAgent() {
|
|
75697
75730
|
const parts = [];
|
|
@@ -75705,7 +75738,7 @@ function getMCPUserAgent() {
|
|
|
75705
75738
|
parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
|
|
75706
75739
|
}
|
|
75707
75740
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
75708
|
-
return `ur/${"1.68.
|
|
75741
|
+
return `ur/${"1.68.7"}${suffix}`;
|
|
75709
75742
|
}
|
|
75710
75743
|
function getWebFetchUserAgent() {
|
|
75711
75744
|
return `UR-User (${getURCodeUserAgent()})`;
|
|
@@ -75843,7 +75876,7 @@ var init_user = __esm(() => {
|
|
|
75843
75876
|
deviceId,
|
|
75844
75877
|
sessionId: getSessionId(),
|
|
75845
75878
|
email: getEmail(),
|
|
75846
|
-
appVersion: "1.68.
|
|
75879
|
+
appVersion: "1.68.7",
|
|
75847
75880
|
platform: getHostPlatformForAnalytics(),
|
|
75848
75881
|
organizationUuid,
|
|
75849
75882
|
accountUuid,
|
|
@@ -83572,7 +83605,7 @@ function normalizeNameForMCP(name) {
|
|
|
83572
83605
|
}
|
|
83573
83606
|
return normalized;
|
|
83574
83607
|
}
|
|
83575
|
-
var URAI_SERVER_PREFIX = "ur.
|
|
83608
|
+
var URAI_SERVER_PREFIX = "ur.com ";
|
|
83576
83609
|
|
|
83577
83610
|
// src/utils/computerUse/common.ts
|
|
83578
83611
|
var exports_common = {};
|
|
@@ -84043,7 +84076,7 @@ var init_metadata = __esm(() => {
|
|
|
84043
84076
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
84044
84077
|
WHITESPACE_REGEX = /\s+/;
|
|
84045
84078
|
getVersionBase = memoize_default(() => {
|
|
84046
|
-
const match = "1.68.
|
|
84079
|
+
const match = "1.68.7".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
84047
84080
|
return match ? match[0] : undefined;
|
|
84048
84081
|
});
|
|
84049
84082
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -84083,7 +84116,7 @@ var init_metadata = __esm(() => {
|
|
|
84083
84116
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
84084
84117
|
isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
|
|
84085
84118
|
isURAiAuth: isURAISubscriber(),
|
|
84086
|
-
version: "1.68.
|
|
84119
|
+
version: "1.68.7",
|
|
84087
84120
|
versionBase: getVersionBase(),
|
|
84088
84121
|
buildTime: "",
|
|
84089
84122
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
@@ -84753,7 +84786,7 @@ function initialize1PEventLogging() {
|
|
|
84753
84786
|
const platform2 = getPlatform();
|
|
84754
84787
|
const attributes = {
|
|
84755
84788
|
[import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
|
|
84756
|
-
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.68.
|
|
84789
|
+
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.68.7"
|
|
84757
84790
|
};
|
|
84758
84791
|
if (platform2 === "wsl") {
|
|
84759
84792
|
const wslVersion = getWslVersion();
|
|
@@ -84781,7 +84814,7 @@ function initialize1PEventLogging() {
|
|
|
84781
84814
|
})
|
|
84782
84815
|
]
|
|
84783
84816
|
});
|
|
84784
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.68.
|
|
84817
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.68.7");
|
|
84785
84818
|
}
|
|
84786
84819
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
84787
84820
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -94669,7 +94702,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
|
|
|
94669
94702
|
function formatA2AAgentCard(options = {}, pretty = true) {
|
|
94670
94703
|
return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
|
|
94671
94704
|
}
|
|
94672
|
-
var urVersion = "1.68.
|
|
94705
|
+
var urVersion = "1.68.7", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
|
|
94673
94706
|
var init_trends = __esm(() => {
|
|
94674
94707
|
init_a2aCardSignature();
|
|
94675
94708
|
coverage = [
|
|
@@ -97472,7 +97505,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
97472
97505
|
if (!isAttributionHeaderEnabled()) {
|
|
97473
97506
|
return "";
|
|
97474
97507
|
}
|
|
97475
|
-
const version2 = `${"1.68.
|
|
97508
|
+
const version2 = `${"1.68.7"}.${fingerprint}`;
|
|
97476
97509
|
const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
|
|
97477
97510
|
const cch = "";
|
|
97478
97511
|
const workload = getWorkload();
|
|
@@ -155345,7 +155378,7 @@ var init_projectSafety = __esm(() => {
|
|
|
155345
155378
|
function getInstruments() {
|
|
155346
155379
|
if (instruments)
|
|
155347
155380
|
return instruments;
|
|
155348
|
-
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.68.
|
|
155381
|
+
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.68.7");
|
|
155349
155382
|
instruments = {
|
|
155350
155383
|
operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
|
|
155351
155384
|
description: "GenAI operation duration.",
|
|
@@ -155443,7 +155476,7 @@ function genAiAgentAttributes() {
|
|
|
155443
155476
|
"gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
|
|
155444
155477
|
"gen_ai.provider.name": "ur",
|
|
155445
155478
|
"gen_ai.agent.name": "UR-Nexus",
|
|
155446
|
-
"gen_ai.agent.version": "1.68.
|
|
155479
|
+
"gen_ai.agent.version": "1.68.7"
|
|
155447
155480
|
};
|
|
155448
155481
|
}
|
|
155449
155482
|
function genAiWorkflowAttributes(workflowName) {
|
|
@@ -155459,7 +155492,7 @@ function genAiWorkflowAttributes(workflowName) {
|
|
|
155459
155492
|
function startGenAiWorkflowSpan(workflowName) {
|
|
155460
155493
|
const attributes = genAiWorkflowAttributes(workflowName);
|
|
155461
155494
|
const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
|
|
155462
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.68.
|
|
155495
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.68.7").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
155463
155496
|
}
|
|
155464
155497
|
function endGenAiWorkflowSpan(span, options2 = {}) {
|
|
155465
155498
|
try {
|
|
@@ -155497,7 +155530,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
|
|
|
155497
155530
|
if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
|
|
155498
155531
|
attributes["gen_ai.memory.record.count"] = options2.recordCount;
|
|
155499
155532
|
}
|
|
155500
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.68.
|
|
155533
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.68.7").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
155501
155534
|
}
|
|
155502
155535
|
function endGenAiMemorySpan(span, options2 = {}) {
|
|
155503
155536
|
try {
|
|
@@ -248980,7 +249013,7 @@ function getTelemetryAttributes() {
|
|
|
248980
249013
|
attributes["session.id"] = sessionId;
|
|
248981
249014
|
}
|
|
248982
249015
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
248983
|
-
attributes["app.version"] = "1.68.
|
|
249016
|
+
attributes["app.version"] = "1.68.7";
|
|
248984
249017
|
}
|
|
248985
249018
|
const oauthAccount = getOauthAccountInfo();
|
|
248986
249019
|
if (oauthAccount) {
|
|
@@ -284513,7 +284546,7 @@ function getRemoteSessionUrl(sessionId, ingressUrl) {
|
|
|
284513
284546
|
const baseUrl = getURAiBaseUrl(compatId, ingressUrl);
|
|
284514
284547
|
return `${baseUrl}/code/${compatId}`;
|
|
284515
284548
|
}
|
|
284516
|
-
var PRODUCT_URL = "https://github.com/Maitham16/UR", UR_AI_BASE_URL = "https://ur.
|
|
284549
|
+
var PRODUCT_URL = "https://github.com/Maitham16/UR", UR_AI_BASE_URL = "https://ur.com", UR_AI_STAGING_BASE_URL = "https://ur-ai.staging.ant.dev", UR_AI_LOCAL_BASE_URL = "http://localhost:4000";
|
|
284517
284550
|
|
|
284518
284551
|
// src/keybindings/defaultBindings.ts
|
|
284519
284552
|
var IMAGE_PASTE_KEY, SUPPORTS_TERMINAL_VT_MODE, MODE_CYCLE_KEY, DEFAULT_BINDINGS;
|
|
@@ -289855,7 +289888,7 @@ var init_urai = __esm(() => {
|
|
|
289855
289888
|
const configs = {};
|
|
289856
289889
|
const usedNormalizedNames = new Set;
|
|
289857
289890
|
for (const server2 of response.data.data) {
|
|
289858
|
-
const baseName = `ur.
|
|
289891
|
+
const baseName = `ur.com ${server2.display_name}`;
|
|
289859
289892
|
let finalName = baseName;
|
|
289860
289893
|
let finalNormalized = normalizeNameForMCP(finalName);
|
|
289861
289894
|
let count3 = 1;
|
|
@@ -290021,7 +290054,7 @@ function dedupURAiMcpServers(urAiServers, manualServers) {
|
|
|
290021
290054
|
const sig = getMcpServerSignature(config2);
|
|
290022
290055
|
const manualDup = sig !== null ? manualSigs.get(sig) : undefined;
|
|
290023
290056
|
if (manualDup !== undefined) {
|
|
290024
|
-
logForDebugging(`Suppressing ur.
|
|
290057
|
+
logForDebugging(`Suppressing ur.com connector "${name}": duplicates manually-configured "${manualDup}"`);
|
|
290025
290058
|
suppressed.push({ name, duplicateOf: manualDup });
|
|
290026
290059
|
continue;
|
|
290027
290060
|
}
|
|
@@ -290923,7 +290956,7 @@ function getScopeLabel(scope) {
|
|
|
290923
290956
|
case "enterprise":
|
|
290924
290957
|
return "Enterprise config (managed by your organization)";
|
|
290925
290958
|
case "urai":
|
|
290926
|
-
return "ur.
|
|
290959
|
+
return "ur.com config";
|
|
290927
290960
|
default:
|
|
290928
290961
|
return scope;
|
|
290929
290962
|
}
|
|
@@ -293041,7 +293074,7 @@ function createMcpAuthTool(serverName, config2) {
|
|
|
293041
293074
|
return {
|
|
293042
293075
|
data: {
|
|
293043
293076
|
status: "unsupported",
|
|
293044
|
-
message: `This is a ur.
|
|
293077
|
+
message: `This is a ur.com MCP connector. Ask the user to run /mcp and select "${serverName}" to authenticate.`
|
|
293045
293078
|
}
|
|
293046
293079
|
};
|
|
293047
293080
|
}
|
|
@@ -295460,7 +295493,7 @@ function getInstallationEnv() {
|
|
|
295460
295493
|
return;
|
|
295461
295494
|
}
|
|
295462
295495
|
function getURCodeVersion() {
|
|
295463
|
-
return "1.68.
|
|
295496
|
+
return "1.68.7";
|
|
295464
295497
|
}
|
|
295465
295498
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
295466
295499
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -297348,7 +297381,7 @@ function getURInChromeMCPToolOverrides(toolName) {
|
|
|
297348
297381
|
function isMCPToolResult(output) {
|
|
297349
297382
|
return typeof output === "object" && output !== null;
|
|
297350
297383
|
}
|
|
297351
|
-
var jsx_dev_runtime38, CHROME_EXTENSION_FOCUS_TAB_URL_BASE = "https://ur.
|
|
297384
|
+
var jsx_dev_runtime38, CHROME_EXTENSION_FOCUS_TAB_URL_BASE = "https://ur.com/chrome/tab/";
|
|
297352
297385
|
var init_toolRendering = __esm(() => {
|
|
297353
297386
|
init_MessageResponse();
|
|
297354
297387
|
init_supports_hyperlinks();
|
|
@@ -302004,7 +302037,7 @@ function handleRemoteAuthFailure(name, serverRef, transportType) {
|
|
|
302004
302037
|
const label = {
|
|
302005
302038
|
sse: "SSE",
|
|
302006
302039
|
http: "HTTP",
|
|
302007
|
-
"urai-proxy": "ur.
|
|
302040
|
+
"urai-proxy": "ur.com proxy"
|
|
302008
302041
|
};
|
|
302009
302042
|
logMCPDebug(name, `Authentication required for ${label[transportType]} server`);
|
|
302010
302043
|
setMcpAuthCacheEntry(name);
|
|
@@ -302016,7 +302049,7 @@ function createURAiProxyFetch(innerFetch) {
|
|
|
302016
302049
|
await checkAndRefreshOAuthTokenIfNeeded();
|
|
302017
302050
|
const currentTokens = getURAIOAuthTokens();
|
|
302018
302051
|
if (!currentTokens) {
|
|
302019
|
-
throw new Error("No ur.
|
|
302052
|
+
throw new Error("No ur.com OAuth token available");
|
|
302020
302053
|
}
|
|
302021
302054
|
const headers = new Headers(init?.headers);
|
|
302022
302055
|
headers.set("Authorization", `Bearer ${currentTokens.accessToken}`);
|
|
@@ -302791,7 +302824,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
302791
302824
|
const client2 = new Client({
|
|
302792
302825
|
name: "ur",
|
|
302793
302826
|
title: "UR",
|
|
302794
|
-
version: "1.68.
|
|
302827
|
+
version: "1.68.7",
|
|
302795
302828
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
302796
302829
|
websiteUrl: PRODUCT_URL
|
|
302797
302830
|
}, {
|
|
@@ -303081,14 +303114,14 @@ var init_client5 = __esm(() => {
|
|
|
303081
303114
|
} else if (serverRef.type === "sdk") {
|
|
303082
303115
|
throw new Error("SDK servers should be handled in print.ts");
|
|
303083
303116
|
} else if (serverRef.type === "urai-proxy") {
|
|
303084
|
-
logMCPDebug(name, `Initializing ur.
|
|
303117
|
+
logMCPDebug(name, `Initializing ur.com proxy transport for server ${serverRef.id}`);
|
|
303085
303118
|
const tokens = getURAIOAuthTokens();
|
|
303086
303119
|
if (!tokens) {
|
|
303087
|
-
throw new Error("No ur.
|
|
303120
|
+
throw new Error("No ur.com OAuth token found");
|
|
303088
303121
|
}
|
|
303089
303122
|
const oauthConfig = getOauthConfig();
|
|
303090
303123
|
const proxyUrl = `${oauthConfig.MCP_PROXY_URL}${oauthConfig.MCP_PROXY_PATH.replace("{server_id}", serverRef.id)}`;
|
|
303091
|
-
logMCPDebug(name, `Using ur.
|
|
303124
|
+
logMCPDebug(name, `Using ur.com proxy at ${proxyUrl}`);
|
|
303092
303125
|
const fetchWithAuth = createURAiProxyFetch(globalThis.fetch);
|
|
303093
303126
|
const proxyOptions = getProxyFetchOptions();
|
|
303094
303127
|
const transportOptions = {
|
|
@@ -303102,7 +303135,7 @@ var init_client5 = __esm(() => {
|
|
|
303102
303135
|
}
|
|
303103
303136
|
};
|
|
303104
303137
|
transport = new StreamableHTTPClientTransport(new URL(proxyUrl), transportOptions);
|
|
303105
|
-
logMCPDebug(name, `ur.
|
|
303138
|
+
logMCPDebug(name, `ur.com proxy transport created successfully`);
|
|
303106
303139
|
} else if ((serverRef.type === "stdio" || !serverRef.type) && isURInChromeMCPServer(name)) {
|
|
303107
303140
|
const { createChromeContext } = await Promise.resolve().then(() => (init_mcpServer2(), exports_mcpServer2));
|
|
303108
303141
|
const { createURForChromeMcpServer: createURForChromeMcpServer2 } = await Promise.resolve().then(() => (init_chromeMcpCompat(), exports_chromeMcpCompat));
|
|
@@ -303151,7 +303184,7 @@ var init_client5 = __esm(() => {
|
|
|
303151
303184
|
const client2 = new Client({
|
|
303152
303185
|
name: "ur",
|
|
303153
303186
|
title: "UR",
|
|
303154
|
-
version: "1.68.
|
|
303187
|
+
version: "1.68.7",
|
|
303155
303188
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
303156
303189
|
websiteUrl: PRODUCT_URL
|
|
303157
303190
|
}, {
|
|
@@ -303232,7 +303265,7 @@ var init_client5 = __esm(() => {
|
|
|
303232
303265
|
return handleRemoteAuthFailure(name, serverRef, "http");
|
|
303233
303266
|
}
|
|
303234
303267
|
} else if (serverRef.type === "urai-proxy" && error40 instanceof Error) {
|
|
303235
|
-
logMCPDebug(name, `ur.
|
|
303268
|
+
logMCPDebug(name, `ur.com proxy connection failed after ${elapsed}ms: ${error40.message}`);
|
|
303236
303269
|
logMCPError(name, error40);
|
|
303237
303270
|
const errorCode2 = error40.code;
|
|
303238
303271
|
if (errorCode2 === 401) {
|
|
@@ -315690,7 +315723,7 @@ async function createRuntime() {
|
|
|
315690
315723
|
bootstrapTelemetry();
|
|
315691
315724
|
const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
|
|
315692
315725
|
[import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
|
|
315693
|
-
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.68.
|
|
315726
|
+
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.68.7"
|
|
315694
315727
|
}));
|
|
315695
315728
|
const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
|
|
315696
315729
|
resource,
|
|
@@ -315723,11 +315756,11 @@ async function createRuntime() {
|
|
|
315723
315756
|
setMeterProvider(meterProvider);
|
|
315724
315757
|
setLoggerProvider(loggerProvider);
|
|
315725
315758
|
if (meterProvider) {
|
|
315726
|
-
const meter = meterProvider.getMeter("ur-agent", "1.68.
|
|
315759
|
+
const meter = meterProvider.getMeter("ur-agent", "1.68.7");
|
|
315727
315760
|
setMeter(meter, (name, options2) => meter.createCounter(name, options2));
|
|
315728
315761
|
}
|
|
315729
315762
|
if (loggerProvider) {
|
|
315730
|
-
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.68.
|
|
315763
|
+
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.68.7"));
|
|
315731
315764
|
}
|
|
315732
315765
|
if (!cleanupRegistered2) {
|
|
315733
315766
|
cleanupRegistered2 = true;
|
|
@@ -316389,9 +316422,9 @@ async function assertMinVersion() {
|
|
|
316389
316422
|
if (false) {}
|
|
316390
316423
|
try {
|
|
316391
316424
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
316392
|
-
if (versionConfig.minVersion && lt("1.68.
|
|
316425
|
+
if (versionConfig.minVersion && lt("1.68.7", versionConfig.minVersion)) {
|
|
316393
316426
|
console.error(`
|
|
316394
|
-
It looks like your version of UR (${"1.68.
|
|
316427
|
+
It looks like your version of UR (${"1.68.7"}) needs an update.
|
|
316395
316428
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
316396
316429
|
|
|
316397
316430
|
To update, please run:
|
|
@@ -316607,7 +316640,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
316607
316640
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
316608
316641
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
316609
316642
|
pid: process.pid,
|
|
316610
|
-
currentVersion: "1.68.
|
|
316643
|
+
currentVersion: "1.68.7"
|
|
316611
316644
|
});
|
|
316612
316645
|
return "in_progress";
|
|
316613
316646
|
}
|
|
@@ -316616,7 +316649,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
316616
316649
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
316617
316650
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
316618
316651
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
316619
|
-
currentVersion: "1.68.
|
|
316652
|
+
currentVersion: "1.68.7"
|
|
316620
316653
|
});
|
|
316621
316654
|
console.error(`
|
|
316622
316655
|
Error: Windows NPM detected in WSL
|
|
@@ -317151,7 +317184,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
317151
317184
|
}
|
|
317152
317185
|
async function getDoctorDiagnostic() {
|
|
317153
317186
|
const installationType = await getCurrentInstallationType();
|
|
317154
|
-
const version2 = typeof MACRO !== "undefined" ? "1.68.
|
|
317187
|
+
const version2 = typeof MACRO !== "undefined" ? "1.68.7" : "unknown";
|
|
317155
317188
|
const installationPath = await getInstallationPath();
|
|
317156
317189
|
const invokedBinary = getInvokedBinary();
|
|
317157
317190
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -318086,8 +318119,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
318086
318119
|
const maxVersion = await getMaxVersion();
|
|
318087
318120
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
318088
318121
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
318089
|
-
if (gte("1.68.
|
|
318090
|
-
logForDebugging(`Native installer: current version ${"1.68.
|
|
318122
|
+
if (gte("1.68.7", maxVersion)) {
|
|
318123
|
+
logForDebugging(`Native installer: current version ${"1.68.7"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
318091
318124
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
318092
318125
|
latency_ms: Date.now() - startTime,
|
|
318093
318126
|
max_version: maxVersion,
|
|
@@ -318098,7 +318131,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
318098
318131
|
version2 = maxVersion;
|
|
318099
318132
|
}
|
|
318100
318133
|
}
|
|
318101
|
-
if (!forceReinstall && version2 === "1.68.
|
|
318134
|
+
if (!forceReinstall && version2 === "1.68.7" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
|
|
318102
318135
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
318103
318136
|
logEvent("tengu_native_update_complete", {
|
|
318104
318137
|
latency_ms: Date.now() - startTime,
|
|
@@ -322003,7 +322036,7 @@ var init_coreSchemas = __esm(() => {
|
|
|
322003
322036
|
]).optional(),
|
|
322004
322037
|
isUsingOverage: exports_external.boolean().optional(),
|
|
322005
322038
|
surpassedThreshold: exports_external.number().optional()
|
|
322006
|
-
}).describe("Rate limit information for ur.
|
|
322039
|
+
}).describe("Rate limit information for ur.com subscription users."));
|
|
322007
322040
|
SDKAssistantMessageSchema = lazySchema(() => exports_external.object({
|
|
322008
322041
|
type: exports_external.literal("assistant"),
|
|
322009
322042
|
message: APIAssistantMessagePlaceholder(),
|
|
@@ -328732,7 +328765,7 @@ async function runExtraUsage() {
|
|
|
328732
328765
|
value: "Please contact your admin to manage extra usage settings."
|
|
328733
328766
|
};
|
|
328734
328767
|
}
|
|
328735
|
-
const url3 = isTeamOrEnterprise ? "https://ur.
|
|
328768
|
+
const url3 = isTeamOrEnterprise ? "https://ur.com/admin-settings/usage" : "https://ur.com/settings/usage";
|
|
328736
328769
|
try {
|
|
328737
328770
|
const opened = await openBrowser(url3);
|
|
328738
328771
|
return { type: "browser-opened", url: url3, opened };
|
|
@@ -343765,7 +343798,7 @@ async function _bundleWithFallback(gitRoot, bundlePath, maxBytes, hasStash, sign
|
|
|
343765
343798
|
}
|
|
343766
343799
|
return {
|
|
343767
343800
|
ok: false,
|
|
343768
|
-
error: "Repo is too large to bundle. Please setup GitHub on https://ur.
|
|
343801
|
+
error: "Repo is too large to bundle. Please setup GitHub on https://ur.com/code",
|
|
343769
343802
|
failReason: "too_large"
|
|
343770
343803
|
};
|
|
343771
343804
|
}
|
|
@@ -344501,7 +344534,7 @@ async function teleportToRemote(options2) {
|
|
|
344501
344534
|
});
|
|
344502
344535
|
if (!bundle.success) {
|
|
344503
344536
|
logError2(new Error(`Bundle upload failed: ${bundle.error}`));
|
|
344504
|
-
const setup = repoInfo ? ". Please setup GitHub on https://ur.
|
|
344537
|
+
const setup = repoInfo ? ". Please setup GitHub on https://ur.com/code" : "";
|
|
344505
344538
|
let msg;
|
|
344506
344539
|
switch (bundle.failReason) {
|
|
344507
344540
|
case "empty_repo":
|
|
@@ -344776,7 +344809,7 @@ function formatPreconditionError(error40) {
|
|
|
344776
344809
|
case "not_logged_in":
|
|
344777
344810
|
return "Please run /login and sign in with your UR account (not Console).";
|
|
344778
344811
|
case "no_remote_environment":
|
|
344779
|
-
return "No cloud environment available. Set one up at https://ur.
|
|
344812
|
+
return "No cloud environment available. Set one up at https://ur.com/code/onboarding?magic=env-setup";
|
|
344780
344813
|
case "not_in_git_repo":
|
|
344781
344814
|
return "Background tasks require a git repository. Initialize git or run from a git repository.";
|
|
344782
344815
|
case "no_git_remote":
|
|
@@ -368299,7 +368332,7 @@ var init_utils11 = __esm(() => {
|
|
|
368299
368332
|
};
|
|
368300
368333
|
DomainCheckFailedError = class DomainCheckFailedError extends Error {
|
|
368301
368334
|
constructor(domain2) {
|
|
368302
|
-
super(`Unable to verify if domain ${domain2} is safe to fetch. This may be due to network restrictions or enterprise security policies blocking ur.
|
|
368335
|
+
super(`Unable to verify if domain ${domain2} is safe to fetch. This may be due to network restrictions or enterprise security policies blocking ur.com.`);
|
|
368303
368336
|
this.name = "DomainCheckFailedError";
|
|
368304
368337
|
}
|
|
368305
368338
|
};
|
|
@@ -388309,7 +388342,7 @@ function isAnyTracingEnabled() {
|
|
|
388309
388342
|
return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
|
|
388310
388343
|
}
|
|
388311
388344
|
function getTracer() {
|
|
388312
|
-
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.68.
|
|
388345
|
+
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.68.7");
|
|
388313
388346
|
}
|
|
388314
388347
|
function createSpanAttributes(spanType, customAttributes = {}) {
|
|
388315
388348
|
const baseAttributes = getTelemetryAttributes();
|
|
@@ -411782,7 +411815,7 @@ function getAssistantMessageFromError(error40, model, options2) {
|
|
|
411782
411815
|
});
|
|
411783
411816
|
}
|
|
411784
411817
|
if (error40.message.includes("Extra usage is required for long context")) {
|
|
411785
|
-
const hint = getIsNonInteractiveSession() ? "enable extra usage at ur.
|
|
411818
|
+
const hint = getIsNonInteractiveSession() ? "enable extra usage at ur.com/settings/usage, or use --model to switch to standard context" : "run /extra-usage to enable, or /model to switch to standard context";
|
|
411786
411819
|
return createAssistantAPIErrorMessage({
|
|
411787
411820
|
content: `${API_ERROR_MESSAGE_PREFIX}: Extra usage is required for 1M context \xB7 ${hint}`,
|
|
411788
411821
|
error: "rate_limit"
|
|
@@ -419553,7 +419586,7 @@ function Feedback({
|
|
|
419553
419586
|
platform: env2.platform,
|
|
419554
419587
|
gitRepo: envInfo.isGit,
|
|
419555
419588
|
terminal: env2.terminal,
|
|
419556
|
-
version: "1.68.
|
|
419589
|
+
version: "1.68.7",
|
|
419557
419590
|
transcript: normalizeMessagesForAPI(messages),
|
|
419558
419591
|
errors: sanitizedErrors,
|
|
419559
419592
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -419745,7 +419778,7 @@ function Feedback({
|
|
|
419745
419778
|
", ",
|
|
419746
419779
|
env2.terminal,
|
|
419747
419780
|
", v",
|
|
419748
|
-
"1.68.
|
|
419781
|
+
"1.68.7"
|
|
419749
419782
|
]
|
|
419750
419783
|
}, undefined, true, undefined, this)
|
|
419751
419784
|
]
|
|
@@ -419851,7 +419884,7 @@ ${sanitizedDescription}
|
|
|
419851
419884
|
` + `**Environment Info**
|
|
419852
419885
|
` + `- Platform: ${env2.platform}
|
|
419853
419886
|
` + `- Terminal: ${env2.terminal}
|
|
419854
|
-
` + `- Version: ${"1.68.
|
|
419887
|
+
` + `- Version: ${"1.68.7"}
|
|
419855
419888
|
` + `- Feedback ID: ${feedbackId}
|
|
419856
419889
|
` + `
|
|
419857
419890
|
**Errors**
|
|
@@ -421928,7 +421961,7 @@ async function openCurrentSessionInDesktop() {
|
|
|
421928
421961
|
if (!installed) {
|
|
421929
421962
|
return {
|
|
421930
421963
|
success: false,
|
|
421931
|
-
error: "UR Desktop is not installed. Install it from https://ur.
|
|
421964
|
+
error: "UR Desktop is not installed. Install it from https://ur.com/download"
|
|
421932
421965
|
};
|
|
421933
421966
|
}
|
|
421934
421967
|
const deepLinkUrl = buildDesktopDeepLink(sessionId);
|
|
@@ -422033,9 +422066,9 @@ var init_LoadingState = __esm(() => {
|
|
|
422033
422066
|
function getDownloadUrl() {
|
|
422034
422067
|
switch (process.platform) {
|
|
422035
422068
|
case "win32":
|
|
422036
|
-
return "https://ur.
|
|
422069
|
+
return "https://ur.com/api/desktop/win32/x64/exe/latest/redirect";
|
|
422037
422070
|
default:
|
|
422038
|
-
return "https://ur.
|
|
422071
|
+
return "https://ur.com/api/desktop/darwin/universal/dmg/latest/redirect";
|
|
422039
422072
|
}
|
|
422040
422073
|
}
|
|
422041
422074
|
function DesktopHandoff(t0) {
|
|
@@ -422234,7 +422267,7 @@ async function _temp214(onDone_0) {
|
|
|
422234
422267
|
await gracefulShutdown(0, "other");
|
|
422235
422268
|
}
|
|
422236
422269
|
function _temp61() {}
|
|
422237
|
-
var import_compiler_runtime125, import_react99, jsx_dev_runtime169, DESKTOP_DOCS_URL = "https://ur.
|
|
422270
|
+
var import_compiler_runtime125, import_react99, jsx_dev_runtime169, DESKTOP_DOCS_URL = "https://ur.com/desktop";
|
|
422238
422271
|
var init_DesktopHandoff = __esm(() => {
|
|
422239
422272
|
init_ink2();
|
|
422240
422273
|
init_browser();
|
|
@@ -422961,7 +422994,7 @@ function buildPrimarySection() {
|
|
|
422961
422994
|
}, undefined, false, undefined, this);
|
|
422962
422995
|
return [{
|
|
422963
422996
|
label: "Version",
|
|
422964
|
-
value: "1.68.
|
|
422997
|
+
value: "1.68.7"
|
|
422965
422998
|
}, {
|
|
422966
422999
|
label: "Session name",
|
|
422967
423000
|
value: nameValue
|
|
@@ -426291,7 +426324,7 @@ function Config({
|
|
|
426291
426324
|
}
|
|
426292
426325
|
}, undefined, false, undefined, this)
|
|
426293
426326
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
|
|
426294
|
-
currentVersion: "1.68.
|
|
426327
|
+
currentVersion: "1.68.7",
|
|
426295
426328
|
onChoice: (choice) => {
|
|
426296
426329
|
setShowSubmenu(null);
|
|
426297
426330
|
setTabsHidden(false);
|
|
@@ -426303,7 +426336,7 @@ function Config({
|
|
|
426303
426336
|
autoUpdatesChannel: "stable"
|
|
426304
426337
|
};
|
|
426305
426338
|
if (choice === "stay") {
|
|
426306
|
-
newSettings.minimumVersion = "1.68.
|
|
426339
|
+
newSettings.minimumVersion = "1.68.7";
|
|
426307
426340
|
}
|
|
426308
426341
|
updateSettingsForSource("userSettings", newSettings);
|
|
426309
426342
|
setSettingsData((prev_27) => ({
|
|
@@ -434377,7 +434410,7 @@ function HelpV2(t0) {
|
|
|
434377
434410
|
let t6;
|
|
434378
434411
|
if ($2[31] !== tabs) {
|
|
434379
434412
|
t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
|
|
434380
|
-
title: `UR v${"1.68.
|
|
434413
|
+
title: `UR v${"1.68.7"}`,
|
|
434381
434414
|
color: "professionalBlue",
|
|
434382
434415
|
defaultTab: "general",
|
|
434383
434416
|
children: tabs
|
|
@@ -435310,7 +435343,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
|
|
|
435310
435343
|
async function handleInitialize(options2) {
|
|
435311
435344
|
return {
|
|
435312
435345
|
name: "UR",
|
|
435313
|
-
version: "1.68.
|
|
435346
|
+
version: "1.68.7",
|
|
435314
435347
|
protocolVersion: "0.1.0",
|
|
435315
435348
|
workspaceRoot: options2.cwd,
|
|
435316
435349
|
capabilities: {
|
|
@@ -437026,7 +437059,7 @@ Usage notes:
|
|
|
437026
437059
|
\`\`\`
|
|
437027
437060
|
# UR.md
|
|
437028
437061
|
|
|
437029
|
-
This file provides guidance to UR (ur.
|
|
437062
|
+
This file provides guidance to UR (ur.com/code) when working with code in this repository.
|
|
437030
437063
|
\`\`\``, command3, init_default3;
|
|
437031
437064
|
var init_init = __esm(() => {
|
|
437032
437065
|
init_projectOnboardingState();
|
|
@@ -438192,7 +438225,7 @@ function MCPListPanel(t0) {
|
|
|
438192
438225
|
paddingLeft: 2,
|
|
438193
438226
|
children: /* @__PURE__ */ jsx_dev_runtime211.jsxDEV(ThemedText, {
|
|
438194
438227
|
bold: true,
|
|
438195
|
-
children: "ur.
|
|
438228
|
+
children: "ur.com"
|
|
438196
438229
|
}, undefined, false, undefined, this)
|
|
438197
438230
|
}, undefined, false, undefined, this),
|
|
438198
438231
|
urAiServers.map((server_5) => renderServerItem(server_5))
|
|
@@ -438642,7 +438675,7 @@ function gateChannelServer(serverName, capabilities, pluginSource) {
|
|
|
438642
438675
|
return {
|
|
438643
438676
|
action: "skip",
|
|
438644
438677
|
kind: "auth",
|
|
438645
|
-
reason: "channels requires ur.
|
|
438678
|
+
reason: "channels requires ur.com authentication (run /login)"
|
|
438646
438679
|
};
|
|
438647
438680
|
}
|
|
438648
438681
|
const sub = getSubscriptionType();
|
|
@@ -439075,7 +439108,7 @@ function useManageMCPConnections(dynamicMcpConfig, isStrictMcpConfig = false) {
|
|
|
439075
439108
|
});
|
|
439076
439109
|
const enabledURaiConfigs = Object.fromEntries(Object.entries(uraiConfigs).filter(([name]) => !isMcpServerDisabled(name)));
|
|
439077
439110
|
getMcpToolsCommandsAndResources(onConnectionAttempt, enabledURaiConfigs).catch((error40) => {
|
|
439078
|
-
logMCPError("useManageMcpConnections", `Failed to get ur.
|
|
439111
|
+
logMCPError("useManageMcpConnections", `Failed to get ur.com MCP resources: ${errorMessage2(error40)}`);
|
|
439079
439112
|
});
|
|
439080
439113
|
}
|
|
439081
439114
|
}
|
|
@@ -440129,7 +440162,7 @@ function MCPRemoteServerMenu({
|
|
|
440129
440162
|
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime215.jsxDEV(jsx_dev_runtime215.Fragment, {
|
|
440130
440163
|
children: [
|
|
440131
440164
|
/* @__PURE__ */ jsx_dev_runtime215.jsxDEV(ThemedText, {
|
|
440132
|
-
children: 'This will open ur.
|
|
440165
|
+
children: 'This will open ur.com in the browser. Find the MCP server in the list and click "Disconnect".'
|
|
440133
440166
|
}, undefined, false, undefined, this),
|
|
440134
440167
|
/* @__PURE__ */ jsx_dev_runtime215.jsxDEV(ThemedBox_default, {
|
|
440135
440168
|
marginLeft: 3,
|
|
@@ -452418,7 +452451,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
452418
452451
|
return [];
|
|
452419
452452
|
}
|
|
452420
452453
|
}
|
|
452421
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.68.
|
|
452454
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.68.7") {
|
|
452422
452455
|
if (process.env.USER_TYPE === "ant") {
|
|
452423
452456
|
const changelog = "";
|
|
452424
452457
|
if (changelog) {
|
|
@@ -452445,7 +452478,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.68.3")
|
|
|
452445
452478
|
releaseNotes
|
|
452446
452479
|
};
|
|
452447
452480
|
}
|
|
452448
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.68.
|
|
452481
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.68.7") {
|
|
452449
452482
|
if (process.env.USER_TYPE === "ant") {
|
|
452450
452483
|
const changelog = "";
|
|
452451
452484
|
if (changelog) {
|
|
@@ -455311,7 +455344,7 @@ function getRecentActivitySync() {
|
|
|
455311
455344
|
return cachedActivity;
|
|
455312
455345
|
}
|
|
455313
455346
|
function getLogoDisplayData() {
|
|
455314
|
-
const version2 = process.env.DEMO_VERSION ?? "1.68.
|
|
455347
|
+
const version2 = process.env.DEMO_VERSION ?? "1.68.7";
|
|
455315
455348
|
const serverUrl = getDirectConnectServerUrl();
|
|
455316
455349
|
const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
|
|
455317
455350
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -456178,7 +456211,7 @@ function LogoV2() {
|
|
|
456178
456211
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
456179
456212
|
t2 = () => {
|
|
456180
456213
|
const currentConfig2 = getGlobalConfig();
|
|
456181
|
-
if (currentConfig2.lastReleaseNotesSeen === "1.68.
|
|
456214
|
+
if (currentConfig2.lastReleaseNotesSeen === "1.68.7") {
|
|
456182
456215
|
return;
|
|
456183
456216
|
}
|
|
456184
456217
|
saveGlobalConfig(_temp325);
|
|
@@ -456863,12 +456896,12 @@ function LogoV2() {
|
|
|
456863
456896
|
return t41;
|
|
456864
456897
|
}
|
|
456865
456898
|
function _temp325(current) {
|
|
456866
|
-
if (current.lastReleaseNotesSeen === "1.68.
|
|
456899
|
+
if (current.lastReleaseNotesSeen === "1.68.7") {
|
|
456867
456900
|
return current;
|
|
456868
456901
|
}
|
|
456869
456902
|
return {
|
|
456870
456903
|
...current,
|
|
456871
|
-
lastReleaseNotesSeen: "1.68.
|
|
456904
|
+
lastReleaseNotesSeen: "1.68.7"
|
|
456872
456905
|
};
|
|
456873
456906
|
}
|
|
456874
456907
|
function _temp241(s_0) {
|
|
@@ -464278,13 +464311,13 @@ async function launchAndDone(args, context6, onDone, billingNote, signal) {
|
|
|
464278
464311
|
var jsx_dev_runtime257, call36 = async (onDone, context6, args) => {
|
|
464279
464312
|
const gate = await checkOverageGate();
|
|
464280
464313
|
if (gate.kind === "not-enabled") {
|
|
464281
|
-
onDone("Free ultrareviews used. Enable Extra Usage at https://ur.
|
|
464314
|
+
onDone("Free ultrareviews used. Enable Extra Usage at https://ur.com/settings/billing to continue.", {
|
|
464282
464315
|
display: "system"
|
|
464283
464316
|
});
|
|
464284
464317
|
return null;
|
|
464285
464318
|
}
|
|
464286
464319
|
if (gate.kind === "low-balance") {
|
|
464287
|
-
onDone(`Balance too low to launch ultrareview ($${gate.available.toFixed(2)} available, $10 minimum). Top up at https://ur.
|
|
464320
|
+
onDone(`Balance too low to launch ultrareview ($${gate.available.toFixed(2)} available, $10 minimum). Top up at https://ur.com/settings/billing`, {
|
|
464288
464321
|
display: "system"
|
|
464289
464322
|
});
|
|
464290
464323
|
return null;
|
|
@@ -464910,7 +464943,7 @@ var init_teammateViewHelpers = __esm(() => {
|
|
|
464910
464943
|
});
|
|
464911
464944
|
|
|
464912
464945
|
// src/bridge/types.ts
|
|
464913
|
-
var DEFAULT_SESSION_TIMEOUT_MS, BRIDGE_LOGIN_INSTRUCTION = "Remote Control is only available with ur.
|
|
464946
|
+
var DEFAULT_SESSION_TIMEOUT_MS, BRIDGE_LOGIN_INSTRUCTION = "Remote Control is only available with ur.com subscriptions. Please use `/login` to sign in with your ur.com account.", BRIDGE_LOGIN_ERROR, REMOTE_CONTROL_DISCONNECTED_MSG = "Remote Control disconnected.";
|
|
464914
464947
|
var init_types14 = __esm(() => {
|
|
464915
464948
|
DEFAULT_SESSION_TIMEOUT_MS = 24 * 60 * 60 * 1000;
|
|
464916
464949
|
BRIDGE_LOGIN_ERROR = `Error: You must be logged in to use Remote Control.
|
|
@@ -473814,7 +473847,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
|
|
|
473814
473847
|
if (spec.name !== specName) {
|
|
473815
473848
|
throw new Error("Agentic CI workflow spec name does not match");
|
|
473816
473849
|
}
|
|
473817
|
-
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.68.
|
|
473850
|
+
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.68.7" : "1.68.7");
|
|
473818
473851
|
if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
|
|
473819
473852
|
throw new Error("invalid ur-agent package version");
|
|
473820
473853
|
}
|
|
@@ -474807,7 +474840,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
|
|
|
474807
474840
|
path: ".github/workflows/ur.yml",
|
|
474808
474841
|
root: "project",
|
|
474809
474842
|
content: compileAgenticCiWorkflow("default", {
|
|
474810
|
-
packageVersion: typeof MACRO !== "undefined" ? "1.68.
|
|
474843
|
+
packageVersion: typeof MACRO !== "undefined" ? "1.68.7" : "1.68.7"
|
|
474811
474844
|
})
|
|
474812
474845
|
},
|
|
474813
474846
|
{
|
|
@@ -474877,7 +474910,7 @@ function value(tokens, flag) {
|
|
|
474877
474910
|
return index2 >= 0 ? tokens[index2 + 1] : undefined;
|
|
474878
474911
|
}
|
|
474879
474912
|
function cliVersion() {
|
|
474880
|
-
return typeof MACRO !== "undefined" ? "1.68.
|
|
474913
|
+
return typeof MACRO !== "undefined" ? "1.68.7" : "1.68.7";
|
|
474881
474914
|
}
|
|
474882
474915
|
function workflowPath(cwd2) {
|
|
474883
474916
|
return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
|
|
@@ -480742,7 +480775,7 @@ function createAcpStdioApp(deps) {
|
|
|
480742
480775
|
}
|
|
480743
480776
|
},
|
|
480744
480777
|
authMethods: [],
|
|
480745
|
-
agentInfo: { name: "UR-Nexus", version: "1.68.
|
|
480778
|
+
agentInfo: { name: "UR-Nexus", version: "1.68.7" }
|
|
480746
480779
|
})).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
|
|
480747
480780
|
const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
|
|
480748
480781
|
await runtime2.announce({
|
|
@@ -480839,7 +480872,7 @@ function createAcpStdioAgent(deps) {
|
|
|
480839
480872
|
}
|
|
480840
480873
|
},
|
|
480841
480874
|
authMethods: [],
|
|
480842
|
-
agentInfo: { name: "UR-Nexus", version: "1.68.
|
|
480875
|
+
agentInfo: { name: "UR-Nexus", version: "1.68.7" }
|
|
480843
480876
|
});
|
|
480844
480877
|
return;
|
|
480845
480878
|
case "authenticate":
|
|
@@ -682798,7 +682831,7 @@ function GracePeriodContentBody() {
|
|
|
682798
682831
|
children: [
|
|
682799
682832
|
"\u2014 Allow the use of your chats and coding sessions to train and improve URHQ AI models. Change anytime in your Privacy Settings (",
|
|
682800
682833
|
/* @__PURE__ */ jsx_dev_runtime289.jsxDEV(Link, {
|
|
682801
|
-
url: "https://ur.
|
|
682834
|
+
url: "https://ur.com/settings/data-privacy-controls"
|
|
682802
682835
|
}, undefined, false, undefined, this),
|
|
682803
682836
|
")."
|
|
682804
682837
|
]
|
|
@@ -682918,7 +682951,7 @@ function PostGracePeriodContentBody() {
|
|
|
682918
682951
|
children: "Allow the use of your chats and coding sessions to train and improve URHQ AI models. You can change this anytime in Privacy Settings"
|
|
682919
682952
|
}, undefined, false, undefined, this),
|
|
682920
682953
|
/* @__PURE__ */ jsx_dev_runtime289.jsxDEV(Link, {
|
|
682921
|
-
url: "https://ur.
|
|
682954
|
+
url: "https://ur.com/settings/data-privacy-controls"
|
|
682922
682955
|
}, undefined, false, undefined, this)
|
|
682923
682956
|
]
|
|
682924
682957
|
}, undefined, true, undefined, this);
|
|
@@ -683372,7 +683405,7 @@ function PrivacySettingsDialog(t0) {
|
|
|
683372
683405
|
"Review and manage your privacy settings at",
|
|
683373
683406
|
" ",
|
|
683374
683407
|
/* @__PURE__ */ jsx_dev_runtime289.jsxDEV(Link, {
|
|
683375
|
-
url: "https://ur.
|
|
683408
|
+
url: "https://ur.com/settings/data-privacy-controls"
|
|
683376
683409
|
}, undefined, false, undefined, this)
|
|
683377
683410
|
]
|
|
683378
683411
|
}, undefined, true, undefined, this);
|
|
@@ -683514,7 +683547,7 @@ async function call142(onDone) {
|
|
|
683514
683547
|
location: "settings"
|
|
683515
683548
|
}, undefined, false, undefined, this);
|
|
683516
683549
|
}
|
|
683517
|
-
var jsx_dev_runtime290, FALLBACK_MESSAGE = "Review and manage your privacy settings at https://ur.
|
|
683550
|
+
var jsx_dev_runtime290, FALLBACK_MESSAGE = "Review and manage your privacy settings at https://ur.com/settings/data-privacy-controls";
|
|
683518
683551
|
var init_privacy_settings = __esm(() => {
|
|
683519
683552
|
init_Grove();
|
|
683520
683553
|
init_analytics();
|
|
@@ -691999,7 +692032,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
|
|
|
691999
692032
|
smapsRollup,
|
|
692000
692033
|
platform: process.platform,
|
|
692001
692034
|
nodeVersion: process.version,
|
|
692002
|
-
ccVersion: "1.68.
|
|
692035
|
+
ccVersion: "1.68.7"
|
|
692003
692036
|
};
|
|
692004
692037
|
}
|
|
692005
692038
|
async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
|
|
@@ -692579,7 +692612,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
692579
692612
|
var call153 = async () => {
|
|
692580
692613
|
return {
|
|
692581
692614
|
type: "text",
|
|
692582
|
-
value: "1.68.
|
|
692615
|
+
value: "1.68.7"
|
|
692583
692616
|
};
|
|
692584
692617
|
}, version2, version_default;
|
|
692585
692618
|
var init_version = __esm(() => {
|
|
@@ -694240,7 +694273,7 @@ async function isChromeExtensionInstalled() {
|
|
|
694240
694273
|
}
|
|
694241
694274
|
return isChromeExtensionInstalledPortable(browserPaths, logForDebugging);
|
|
694242
694275
|
}
|
|
694243
|
-
var CHROME_EXTENSION_RECONNECT_URL = "https://ur.
|
|
694276
|
+
var CHROME_EXTENSION_RECONNECT_URL = "https://ur.com/chrome/reconnect", NATIVE_HOST_IDENTIFIER = "com.urhq.ur_browser_extension", NATIVE_HOST_MANIFEST_NAME, shouldAutoEnable = undefined;
|
|
694244
694277
|
var init_setup2 = __esm(() => {
|
|
694245
694278
|
init_chromeMcpCompat();
|
|
694246
694279
|
init_state();
|
|
@@ -694475,7 +694508,7 @@ function URInChromeMenu(t0) {
|
|
|
694475
694508
|
if ($2[23] !== isURAISubscriber2) {
|
|
694476
694509
|
t8 = !isURAISubscriber2 && /* @__PURE__ */ jsx_dev_runtime328.jsxDEV(ThemedText, {
|
|
694477
694510
|
color: "error",
|
|
694478
|
-
children: "UR in Chrome requires a ur.
|
|
694511
|
+
children: "UR in Chrome requires a ur.com subscription."
|
|
694479
694512
|
}, undefined, false, undefined, this);
|
|
694480
694513
|
$2[23] = isURAISubscriber2;
|
|
694481
694514
|
$2[24] = t8;
|
|
@@ -694626,7 +694659,7 @@ function _temp268(c4) {
|
|
|
694626
694659
|
function _temp151(s) {
|
|
694627
694660
|
return s.mcp.clients;
|
|
694628
694661
|
}
|
|
694629
|
-
var import_compiler_runtime245, import_react179, jsx_dev_runtime328, CHROME_EXTENSION_URL = "https://ur.
|
|
694662
|
+
var import_compiler_runtime245, import_react179, jsx_dev_runtime328, CHROME_EXTENSION_URL = "https://ur.com/chrome", CHROME_PERMISSIONS_URL = "https://ur.com/chrome/permissions", CHROME_RECONNECT_URL = "https://ur.com/chrome/reconnect", call156 = async function(onDone) {
|
|
694630
694663
|
const isExtensionInstalled = await isChromeExtensionInstalled();
|
|
694631
694664
|
const config3 = getGlobalConfig();
|
|
694632
694665
|
const isSubscriber = isURAISubscriber();
|
|
@@ -697795,7 +697828,7 @@ function _temp155(env4) {
|
|
|
697795
697828
|
value: env4.environment_id
|
|
697796
697829
|
};
|
|
697797
697830
|
}
|
|
697798
|
-
var import_compiler_runtime249, import_react185, jsx_dev_runtime340, DIALOG_TITLE = "Select Remote Environment", SETUP_HINT = `Configure environments at: https://ur.
|
|
697831
|
+
var import_compiler_runtime249, import_react185, jsx_dev_runtime340, DIALOG_TITLE = "Select Remote Environment", SETUP_HINT = `Configure environments at: https://ur.com/code`;
|
|
697799
697832
|
var init_RemoteEnvironmentDialog = __esm(() => {
|
|
697800
697833
|
init_source2();
|
|
697801
697834
|
init_figures();
|
|
@@ -697872,7 +697905,7 @@ async function call166(onDone, context6) {
|
|
|
697872
697905
|
return null;
|
|
697873
697906
|
}
|
|
697874
697907
|
}
|
|
697875
|
-
const url3 = "https://ur.
|
|
697908
|
+
const url3 = "https://ur.com/upgrade/max";
|
|
697876
697909
|
await openBrowser(url3);
|
|
697877
697910
|
return /* @__PURE__ */ jsx_dev_runtime342.jsxDEV(Login, {
|
|
697878
697911
|
startingMessage: "Starting new login following /upgrade. Exit with Ctrl-C to use existing account.",
|
|
@@ -697883,7 +697916,7 @@ async function call166(onDone, context6) {
|
|
|
697883
697916
|
}, undefined, false, undefined, this);
|
|
697884
697917
|
} catch (error40) {
|
|
697885
697918
|
logError2(error40);
|
|
697886
|
-
setTimeout(onDone, 0, "Failed to open browser. Please visit https://ur.
|
|
697919
|
+
setTimeout(onDone, 0, "Failed to open browser. Please visit https://ur.com/upgrade/max to upgrade.");
|
|
697887
697920
|
}
|
|
697888
697921
|
return null;
|
|
697889
697922
|
}
|
|
@@ -703759,7 +703792,7 @@ function generateHtmlReport(data, insights) {
|
|
|
703759
703792
|
</html>`;
|
|
703760
703793
|
}
|
|
703761
703794
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
703762
|
-
const version3 = typeof MACRO !== "undefined" ? "1.68.
|
|
703795
|
+
const version3 = typeof MACRO !== "undefined" ? "1.68.7" : "unknown";
|
|
703763
703796
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
703764
703797
|
const facets_summary = {
|
|
703765
703798
|
total: facets.size,
|
|
@@ -708086,7 +708119,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
708086
708119
|
init_settings2();
|
|
708087
708120
|
init_slowOperations();
|
|
708088
708121
|
init_uuid();
|
|
708089
|
-
VERSION7 = typeof MACRO !== "undefined" ? "1.68.
|
|
708122
|
+
VERSION7 = typeof MACRO !== "undefined" ? "1.68.7" : "unknown";
|
|
708090
708123
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
708091
708124
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
708092
708125
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -709303,7 +709336,7 @@ var init_filesystem = __esm(() => {
|
|
|
709303
709336
|
});
|
|
709304
709337
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
709305
709338
|
const nonce = randomBytes20(16).toString("hex");
|
|
709306
|
-
return join230(getURTempDir(), "bundled-skills", "1.68.
|
|
709339
|
+
return join230(getURTempDir(), "bundled-skills", "1.68.7", nonce);
|
|
709307
709340
|
});
|
|
709308
709341
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
709309
709342
|
});
|
|
@@ -715037,7 +715070,7 @@ async function computeSimpleEnvInfo(modelId, additionalWorkingDirectories) {
|
|
|
715037
715070
|
modelDescription,
|
|
715038
715071
|
knowledgeCutoffMessage,
|
|
715039
715072
|
includeURProductInfo ? `UR uses the provider and model selected in /model. Do not invent UR-specific model IDs; choose models from the active provider's model list.` : null,
|
|
715040
|
-
includeURProductInfo ? `UR is available as a CLI in the terminal, desktop app (Mac/Windows), web app (ur.
|
|
715073
|
+
includeURProductInfo ? `UR is available as a CLI in the terminal, desktop app (Mac/Windows), web app (ur.com/code), and IDE extensions (VS Code, JetBrains).` : null,
|
|
715041
715074
|
includeURProductInfo ? `Fast mode for UR keeps the selected provider/model and requests faster output when that backend supports it. It can be toggled with /fast.` : null
|
|
715042
715075
|
].filter((item) => item !== null);
|
|
715043
715076
|
const repoMap = loadRepoMapForPrompt(cwd2);
|
|
@@ -715609,7 +715642,7 @@ function computeFingerprint(messageText2, version3) {
|
|
|
715609
715642
|
}
|
|
715610
715643
|
function computeFingerprintFromMessages(messages) {
|
|
715611
715644
|
const firstMessageText = extractFirstMessageText(messages);
|
|
715612
|
-
return computeFingerprint(firstMessageText, "1.68.
|
|
715645
|
+
return computeFingerprint(firstMessageText, "1.68.7");
|
|
715613
715646
|
}
|
|
715614
715647
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
715615
715648
|
var init_fingerprint = () => {};
|
|
@@ -717508,7 +717541,7 @@ async function sideQuery(opts) {
|
|
|
717508
717541
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
717509
717542
|
}
|
|
717510
717543
|
const messageText2 = extractFirstUserMessageText(messages);
|
|
717511
|
-
const fingerprint2 = computeFingerprint(messageText2, "1.68.
|
|
717544
|
+
const fingerprint2 = computeFingerprint(messageText2, "1.68.7");
|
|
717512
717545
|
const attributionHeader = getAttributionHeader(fingerprint2);
|
|
717513
717546
|
const systemBlocks = [
|
|
717514
717547
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -722295,7 +722328,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
722295
722328
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
722296
722329
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
722297
722330
|
betas: getSdkBetas(),
|
|
722298
|
-
ur_version: "1.68.
|
|
722331
|
+
ur_version: "1.68.7",
|
|
722299
722332
|
output_style: outputStyle2,
|
|
722300
722333
|
agents: inputs.agents.map((agent2) => agent2.agentType),
|
|
722301
722334
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
|
|
@@ -736246,7 +736279,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
736246
736279
|
function getSemverPart(version3) {
|
|
736247
736280
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
736248
736281
|
}
|
|
736249
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.68.
|
|
736282
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.68.7") {
|
|
736250
736283
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react222.useState(() => getSemverPart(initialVersion));
|
|
736251
736284
|
if (!updatedVersion) {
|
|
736252
736285
|
return null;
|
|
@@ -736295,7 +736328,7 @@ function AutoUpdater({
|
|
|
736295
736328
|
return;
|
|
736296
736329
|
}
|
|
736297
736330
|
if (false) {}
|
|
736298
|
-
const currentVersion = "1.68.
|
|
736331
|
+
const currentVersion = "1.68.7";
|
|
736299
736332
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
736300
736333
|
let latestVersion = await getLatestVersion(channel);
|
|
736301
736334
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -736524,12 +736557,12 @@ function NativeAutoUpdater({
|
|
|
736524
736557
|
logEvent("tengu_native_auto_updater_start", {});
|
|
736525
736558
|
try {
|
|
736526
736559
|
const maxVersion = await getMaxVersion();
|
|
736527
|
-
if (maxVersion && gt("1.68.
|
|
736560
|
+
if (maxVersion && gt("1.68.7", maxVersion)) {
|
|
736528
736561
|
const msg = await getMaxVersionMessage();
|
|
736529
736562
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
736530
736563
|
}
|
|
736531
736564
|
const result = await installLatest(channel);
|
|
736532
|
-
const currentVersion = "1.68.
|
|
736565
|
+
const currentVersion = "1.68.7";
|
|
736533
736566
|
const latencyMs = Date.now() - startTime;
|
|
736534
736567
|
if (result.lockFailed) {
|
|
736535
736568
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -736666,17 +736699,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
736666
736699
|
const maxVersion = await getMaxVersion();
|
|
736667
736700
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
736668
736701
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
736669
|
-
if (gte("1.68.
|
|
736670
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.68.
|
|
736702
|
+
if (gte("1.68.7", maxVersion)) {
|
|
736703
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.68.7"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
736671
736704
|
setUpdateAvailable(false);
|
|
736672
736705
|
return;
|
|
736673
736706
|
}
|
|
736674
736707
|
latest = maxVersion;
|
|
736675
736708
|
}
|
|
736676
|
-
const hasUpdate = latest && !gte("1.68.
|
|
736709
|
+
const hasUpdate = latest && !gte("1.68.7", latest) && !shouldSkipVersion(latest);
|
|
736677
736710
|
setUpdateAvailable(!!hasUpdate);
|
|
736678
736711
|
if (hasUpdate) {
|
|
736679
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.68.
|
|
736712
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.68.7"} -> ${latest}`);
|
|
736680
736713
|
}
|
|
736681
736714
|
};
|
|
736682
736715
|
$2[0] = t1;
|
|
@@ -736710,7 +736743,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
736710
736743
|
wrap: "truncate",
|
|
736711
736744
|
children: [
|
|
736712
736745
|
"currentVersion: ",
|
|
736713
|
-
"1.68.
|
|
736746
|
+
"1.68.7"
|
|
736714
736747
|
]
|
|
736715
736748
|
}, undefined, true, undefined, this);
|
|
736716
736749
|
$2[3] = verbose;
|
|
@@ -747250,6 +747283,19 @@ function countActiveBackgroundTasks(tasks2) {
|
|
|
747250
747283
|
}
|
|
747251
747284
|
return active3;
|
|
747252
747285
|
}
|
|
747286
|
+
function countActiveForegroundAgents(tasks2) {
|
|
747287
|
+
let active3 = 0;
|
|
747288
|
+
for (const task2 of tasks2) {
|
|
747289
|
+
if (task2.status !== "running")
|
|
747290
|
+
continue;
|
|
747291
|
+
if (!("isBackgrounded" in task2) || task2.isBackgrounded !== false)
|
|
747292
|
+
continue;
|
|
747293
|
+
if (!String(task2.type ?? "").includes("agent"))
|
|
747294
|
+
continue;
|
|
747295
|
+
active3 += 1;
|
|
747296
|
+
}
|
|
747297
|
+
return active3;
|
|
747298
|
+
}
|
|
747253
747299
|
function statusBarShouldDisplay({
|
|
747254
747300
|
settingsStatusLineConfigured,
|
|
747255
747301
|
isKairosActive,
|
|
@@ -747277,6 +747323,7 @@ function buildDefaultStatusBar({
|
|
|
747277
747323
|
branch: branch2,
|
|
747278
747324
|
taskRunningCount = 0,
|
|
747279
747325
|
taskTotalCount = 0,
|
|
747326
|
+
agentRunningCount = 0,
|
|
747280
747327
|
checksStatus,
|
|
747281
747328
|
latestVersion,
|
|
747282
747329
|
isCheckingUpdate
|
|
@@ -747285,6 +747332,9 @@ function buildDefaultStatusBar({
|
|
|
747285
747332
|
if (model) {
|
|
747286
747333
|
parts.push(model);
|
|
747287
747334
|
}
|
|
747335
|
+
if (agentRunningCount > 0) {
|
|
747336
|
+
parts.push(`agents: ${agentRunningCount} running`);
|
|
747337
|
+
}
|
|
747288
747338
|
if (taskRunningCount > 0) {
|
|
747289
747339
|
parts.push(taskTotalCount > taskRunningCount ? `tasks: ${taskRunningCount}/${taskTotalCount} active` : `tasks: ${taskRunningCount} active`);
|
|
747290
747340
|
}
|
|
@@ -747403,7 +747453,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
747403
747453
|
project_dir: getOriginalCwd(),
|
|
747404
747454
|
added_dirs: addedDirs
|
|
747405
747455
|
},
|
|
747406
|
-
version: "1.68.
|
|
747456
|
+
version: "1.68.7",
|
|
747407
747457
|
output_style: {
|
|
747408
747458
|
name: outputStyleName
|
|
747409
747459
|
},
|
|
@@ -747480,14 +747530,16 @@ function StatusLineInner({
|
|
|
747480
747530
|
const providerRuntimeKey = buildStatusLineRefreshKey(providerRuntime, mainLoopModel);
|
|
747481
747531
|
const taskValues = Object.values(tasks2);
|
|
747482
747532
|
const taskRunningCount = countActiveBackgroundTasks(taskValues);
|
|
747533
|
+
const agentRunningCount = countActiveForegroundAgents(taskValues);
|
|
747483
747534
|
const defaultStatusLineText = buildDefaultStatusBar({
|
|
747484
|
-
version: "1.68.
|
|
747535
|
+
version: "1.68.7",
|
|
747485
747536
|
providerLabel: providerRuntime.providerLabel,
|
|
747486
747537
|
authMode: providerRuntime.authLabel,
|
|
747487
747538
|
model: renderModelName(mainLoopModel) || providerRuntime.model || "",
|
|
747488
747539
|
mode: permissionMode,
|
|
747489
747540
|
branch: branch2,
|
|
747490
747541
|
taskRunningCount,
|
|
747542
|
+
agentRunningCount,
|
|
747491
747543
|
latestVersion: autoUpdaterResult?.status === "success" ? null : autoUpdaterResult?.version,
|
|
747492
747544
|
isCheckingUpdate: isAutoUpdating
|
|
747493
747545
|
});
|
|
@@ -759574,7 +759626,7 @@ function RemoteCallout({
|
|
|
759574
759626
|
}, []);
|
|
759575
759627
|
const options4 = [{
|
|
759576
759628
|
label: "Enable Remote Control for this session",
|
|
759577
|
-
description: "Opens a secure connection to ur.
|
|
759629
|
+
description: "Opens a secure connection to ur.com.",
|
|
759578
759630
|
value: "enable"
|
|
759579
759631
|
}, {
|
|
759580
759632
|
label: "Never mind",
|
|
@@ -759593,7 +759645,7 @@ function RemoteCallout({
|
|
|
759593
759645
|
flexDirection: "column",
|
|
759594
759646
|
children: [
|
|
759595
759647
|
/* @__PURE__ */ jsx_dev_runtime433.jsxDEV(ThemedText, {
|
|
759596
|
-
children: "Remote Control lets you access this CLI session from the web (ur.
|
|
759648
|
+
children: "Remote Control lets you access this CLI session from the web (ur.com/code) or the UR app, so you can pick up where you left off on any device."
|
|
759597
759649
|
}, undefined, false, undefined, this),
|
|
759598
759650
|
/* @__PURE__ */ jsx_dev_runtime433.jsxDEV(ThemedText, {
|
|
759599
759651
|
children: " "
|
|
@@ -759661,7 +759713,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
|
|
|
759661
759713
|
} catch {}
|
|
759662
759714
|
const data = {
|
|
759663
759715
|
trigger: trigger2,
|
|
759664
|
-
version: "1.68.
|
|
759716
|
+
version: "1.68.7",
|
|
759665
759717
|
platform: process.platform,
|
|
759666
759718
|
transcript,
|
|
759667
759719
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -760895,7 +760947,7 @@ async function _temp196() {
|
|
|
760895
760947
|
key: "chrome-requires-subscription",
|
|
760896
760948
|
jsx: /* @__PURE__ */ jsx_dev_runtime436.jsxDEV(ThemedText, {
|
|
760897
760949
|
color: "error",
|
|
760898
|
-
children: "UR in Chrome requires a ur.
|
|
760950
|
+
children: "UR in Chrome requires a ur.com subscription"
|
|
760899
760951
|
}, undefined, false, undefined, this),
|
|
760900
760952
|
priority: "immediate",
|
|
760901
760953
|
timeoutMs: 5000
|
|
@@ -760907,7 +760959,7 @@ async function _temp196() {
|
|
|
760907
760959
|
key: "chrome-extension-not-detected",
|
|
760908
760960
|
jsx: /* @__PURE__ */ jsx_dev_runtime436.jsxDEV(ThemedText, {
|
|
760909
760961
|
color: "warning",
|
|
760910
|
-
children: "Chrome extension not detected \xB7 https://ur.
|
|
760962
|
+
children: "Chrome extension not detected \xB7 https://ur.com/chrome to install"
|
|
760911
760963
|
}, undefined, false, undefined, this),
|
|
760912
760964
|
priority: "immediate",
|
|
760913
760965
|
timeoutMs: 3000
|
|
@@ -763507,7 +763559,7 @@ function useMcpConnectivityStatus(t0) {
|
|
|
763507
763559
|
color: "error",
|
|
763508
763560
|
children: [
|
|
763509
763561
|
failedURAiClients.length,
|
|
763510
|
-
" ur.
|
|
763562
|
+
" ur.com",
|
|
763511
763563
|
" ",
|
|
763512
763564
|
failedURAiClients.length === 1 ? "connector" : "connectors",
|
|
763513
763565
|
" ",
|
|
@@ -763557,7 +763609,7 @@ function useMcpConnectivityStatus(t0) {
|
|
|
763557
763609
|
color: "warning",
|
|
763558
763610
|
children: [
|
|
763559
763611
|
needsAuthURAiServers.length,
|
|
763560
|
-
" ur.
|
|
763612
|
+
" ur.com",
|
|
763561
763613
|
" ",
|
|
763562
763614
|
needsAuthURAiServers.length === 1 ? "connector needs" : "connectors need",
|
|
763563
763615
|
" ",
|
|
@@ -772029,7 +772081,7 @@ function WelcomeV2() {
|
|
|
772029
772081
|
dimColor: true,
|
|
772030
772082
|
children: [
|
|
772031
772083
|
"v",
|
|
772032
|
-
"1.68.
|
|
772084
|
+
"1.68.7"
|
|
772033
772085
|
]
|
|
772034
772086
|
}, undefined, true, undefined, this)
|
|
772035
772087
|
]
|
|
@@ -773271,7 +773323,7 @@ function _temp295(current) {
|
|
|
773271
773323
|
hasCompletedURInChromeOnboarding: true
|
|
773272
773324
|
};
|
|
773273
773325
|
}
|
|
773274
|
-
var import_compiler_runtime352, import_react322, jsx_dev_runtime469, CHROME_EXTENSION_URL2 = "https://ur.
|
|
773326
|
+
var import_compiler_runtime352, import_react322, jsx_dev_runtime469, CHROME_EXTENSION_URL2 = "https://ur.com/chrome", CHROME_PERMISSIONS_URL2 = "https://ur.com/chrome/permissions";
|
|
773275
773327
|
var init_URInChromeOnboarding = __esm(() => {
|
|
773276
773328
|
init_analytics();
|
|
773277
773329
|
init_ink2();
|
|
@@ -773289,7 +773341,7 @@ function completeOnboarding() {
|
|
|
773289
773341
|
saveGlobalConfig((current) => ({
|
|
773290
773342
|
...current,
|
|
773291
773343
|
hasCompletedOnboarding: true,
|
|
773292
|
-
lastOnboardingVersion: "1.68.
|
|
773344
|
+
lastOnboardingVersion: "1.68.7"
|
|
773293
773345
|
}));
|
|
773294
773346
|
}
|
|
773295
773347
|
function showDialog(root2, renderer) {
|
|
@@ -778333,7 +778385,7 @@ function appendToLog(path24, message) {
|
|
|
778333
778385
|
cwd: getFsImplementation().cwd(),
|
|
778334
778386
|
userType: process.env.USER_TYPE,
|
|
778335
778387
|
sessionId: getSessionId(),
|
|
778336
|
-
version: "1.68.
|
|
778388
|
+
version: "1.68.7"
|
|
778337
778389
|
};
|
|
778338
778390
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
778339
778391
|
}
|
|
@@ -782497,8 +782549,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
782497
782549
|
}
|
|
782498
782550
|
async function checkEnvLessBridgeMinVersion() {
|
|
782499
782551
|
const cfg = await getEnvLessBridgeConfig();
|
|
782500
|
-
if (cfg.min_version && lt("1.68.
|
|
782501
|
-
return `Your version of UR (${"1.68.
|
|
782552
|
+
if (cfg.min_version && lt("1.68.7", cfg.min_version)) {
|
|
782553
|
+
return `Your version of UR (${"1.68.7"}) is too old for Remote Control.
|
|
782502
782554
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
782503
782555
|
}
|
|
782504
782556
|
return null;
|
|
@@ -782972,7 +783024,7 @@ async function initBridgeCore(params) {
|
|
|
782972
783024
|
const rawApi = createBridgeApiClient({
|
|
782973
783025
|
baseUrl,
|
|
782974
783026
|
getAccessToken,
|
|
782975
|
-
runnerVersion: "1.68.
|
|
783027
|
+
runnerVersion: "1.68.7",
|
|
782976
783028
|
onDebug: logForDebugging,
|
|
782977
783029
|
onAuth401,
|
|
782978
783030
|
getTrustedDeviceToken
|
|
@@ -792445,7 +792497,7 @@ function getAgUiCapabilities() {
|
|
|
792445
792497
|
name: "UR-Nexus",
|
|
792446
792498
|
type: "ur-nexus",
|
|
792447
792499
|
description: "Provider-flexible, local-first autonomous engineering workflow agent.",
|
|
792448
|
-
version: "1.68.
|
|
792500
|
+
version: "1.68.7",
|
|
792449
792501
|
provider: "UR",
|
|
792450
792502
|
documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
|
|
792451
792503
|
},
|
|
@@ -793585,7 +793637,7 @@ function createMCPServer(cwd4, debug2, verbose) {
|
|
|
793585
793637
|
};
|
|
793586
793638
|
const server2 = new Server({
|
|
793587
793639
|
name: "ur-nexus",
|
|
793588
|
-
version: "1.68.
|
|
793640
|
+
version: "1.68.7"
|
|
793589
793641
|
}, {
|
|
793590
793642
|
capabilities: {
|
|
793591
793643
|
tools: {}
|
|
@@ -794743,7 +794795,7 @@ function thrownResponse(error40) {
|
|
|
794743
794795
|
}
|
|
794744
794796
|
async function createUrMcp2026Runtime(options4) {
|
|
794745
794797
|
const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
|
|
794746
|
-
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.68.
|
|
794798
|
+
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.68.7" }, { capabilities: {} });
|
|
794747
794799
|
const [clientTransport, serverTransport] = createLinkedTransportPair();
|
|
794748
794800
|
try {
|
|
794749
794801
|
await server2.connect(serverTransport);
|
|
@@ -794754,7 +794806,7 @@ async function createUrMcp2026Runtime(options4) {
|
|
|
794754
794806
|
}
|
|
794755
794807
|
const runtime2 = new Mcp2026Runtime({
|
|
794756
794808
|
cwd: options4.cwd,
|
|
794757
|
-
version: "1.68.
|
|
794809
|
+
version: "1.68.7",
|
|
794758
794810
|
backend: {
|
|
794759
794811
|
listTools: async () => {
|
|
794760
794812
|
const listed = await client2.listTools();
|
|
@@ -796887,7 +796939,7 @@ async function update() {
|
|
|
796887
796939
|
logEvent("tengu_update_check", {});
|
|
796888
796940
|
const diagnostic2 = await getDoctorDiagnostic();
|
|
796889
796941
|
const result = await checkUpgradeStatus({
|
|
796890
|
-
currentVersion: "1.68.
|
|
796942
|
+
currentVersion: "1.68.7",
|
|
796891
796943
|
packageName: UR_AGENT_PACKAGE_NAME,
|
|
796892
796944
|
installationType: diagnostic2.installationType,
|
|
796893
796945
|
latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
|
|
@@ -797745,7 +797797,7 @@ ${hint}` : hint;
|
|
|
797745
797797
|
blocked
|
|
797746
797798
|
} = filterMcpServersByPolicy(configs);
|
|
797747
797799
|
if (blocked.length > 0) {
|
|
797748
|
-
process.stderr.write(`Warning: ur.
|
|
797800
|
+
process.stderr.write(`Warning: ur.com MCP ${plural(blocked.length, "server")} blocked by enterprise policy: ${blocked.join(", ")}
|
|
797749
797801
|
`);
|
|
797750
797802
|
}
|
|
797751
797803
|
return allowed;
|
|
@@ -798203,7 +798255,7 @@ ${customInstructions}` : customInstructions;
|
|
|
798203
798255
|
}
|
|
798204
798256
|
}
|
|
798205
798257
|
logForDiagnosticsNoPII("info", "started", {
|
|
798206
|
-
version: "1.68.
|
|
798258
|
+
version: "1.68.7",
|
|
798207
798259
|
is_native_binary: isInBundledMode()
|
|
798208
798260
|
});
|
|
798209
798261
|
registerCleanup(async () => {
|
|
@@ -798368,7 +798420,7 @@ ${customInstructions}` : customInstructions;
|
|
|
798368
798420
|
suppressed.add(name);
|
|
798369
798421
|
}
|
|
798370
798422
|
if (suppressed.size > 0) {
|
|
798371
|
-
logForDebugging(`[MCP] Lazy dedup: suppressing ${suppressed.size} plugin server(s) that duplicate ur.
|
|
798423
|
+
logForDebugging(`[MCP] Lazy dedup: suppressing ${suppressed.size} plugin server(s) that duplicate ur.com connectors: ${[...suppressed].join(", ")}`);
|
|
798372
798424
|
for (const c4 of headlessStore.getState().mcp.clients) {
|
|
798373
798425
|
if (!suppressed.has(c4.name) || c4.type !== "connected")
|
|
798374
798426
|
continue;
|
|
@@ -798414,7 +798466,7 @@ ${customInstructions}` : customInstructions;
|
|
|
798414
798466
|
if (uraiTimer)
|
|
798415
798467
|
clearTimeout(uraiTimer);
|
|
798416
798468
|
if (uraiTimedOut) {
|
|
798417
|
-
logForDebugging(`[MCP] ur.
|
|
798469
|
+
logForDebugging(`[MCP] ur.com connectors not ready after ${UR_AI_MCP_TIMEOUT_MS}ms \u2014 proceeding; background connection continues`);
|
|
798418
798470
|
}
|
|
798419
798471
|
profileCheckpoint("after_connectMcp_urai");
|
|
798420
798472
|
if (!isBareMode()) {
|
|
@@ -798989,7 +799041,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
798989
799041
|
pendingHookMessages
|
|
798990
799042
|
}, renderAndRun);
|
|
798991
799043
|
}
|
|
798992
|
-
}).version("1.68.
|
|
799044
|
+
}).version("1.68.7 (UR-Nexus)", "-v, --version", "Output the version number");
|
|
798993
799045
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
798994
799046
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
798995
799047
|
if (canUserConfigureAdvisor()) {
|
|
@@ -800048,7 +800100,7 @@ if (false) {}
|
|
|
800048
800100
|
async function main2() {
|
|
800049
800101
|
const args = process.argv.slice(2);
|
|
800050
800102
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
800051
|
-
console.log(`${"1.68.
|
|
800103
|
+
console.log(`${"1.68.7"} (UR-Nexus)`);
|
|
800052
800104
|
return;
|
|
800053
800105
|
}
|
|
800054
800106
|
if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
|