ur-agent 1.62.0 → 1.63.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.63.0
|
|
4
|
+
|
|
5
|
+
- Added size-triggered pruning of superseded tool results
|
|
6
|
+
(`context.pruneToolResults`). UR already had the clearing machinery, but
|
|
7
|
+
nothing external could reach it: cached microcompact is internal-only and
|
|
8
|
+
returns unchanged messages in shipped builds, and the time-based trigger
|
|
9
|
+
needs an hour of idling *and* a GrowthBook flag that a local install never
|
|
10
|
+
receives. An active session therefore pruned nothing and ran until autocompact
|
|
11
|
+
replaced the whole history with a summary.
|
|
12
|
+
- Pruning fires only when it would free at least 20k tokens, because clearing
|
|
13
|
+
invalidates the cached prefix and a small cleanup costs more in cache misses
|
|
14
|
+
than it reclaims. Short sessions are untouched; a 40-read session frees ~64k.
|
|
15
|
+
- The most recent 8 compactable results are a protected zone and are never
|
|
16
|
+
cleared, so the model keeps the working set it is reasoning about.
|
|
17
|
+
`keepRecent` is floored at 1: clearing everything would leave no working
|
|
18
|
+
context, and `slice(-0)` would paradoxically keep all of it.
|
|
19
|
+
- Configured through settings rather than GrowthBook, so it can actually be
|
|
20
|
+
turned off or tuned.
|
|
21
|
+
|
|
3
22
|
## 1.62.0
|
|
4
23
|
|
|
5
24
|
- `ur agent-inspect --costs` now labels each row with what the agent was
|
package/dist/cli.js
CHANGED
|
@@ -75207,7 +75207,7 @@ var init_auth = __esm(() => {
|
|
|
75207
75207
|
|
|
75208
75208
|
// src/utils/userAgent.ts
|
|
75209
75209
|
function getURCodeUserAgent() {
|
|
75210
|
-
return `ur/${"1.
|
|
75210
|
+
return `ur/${"1.63.0"}`;
|
|
75211
75211
|
}
|
|
75212
75212
|
|
|
75213
75213
|
// src/utils/workloadContext.ts
|
|
@@ -75229,7 +75229,7 @@ function getUserAgent() {
|
|
|
75229
75229
|
const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
|
|
75230
75230
|
const workload = getWorkload();
|
|
75231
75231
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
75232
|
-
return `ur-cli/${"1.
|
|
75232
|
+
return `ur-cli/${"1.63.0"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
75233
75233
|
}
|
|
75234
75234
|
function getMCPUserAgent() {
|
|
75235
75235
|
const parts = [];
|
|
@@ -75243,7 +75243,7 @@ function getMCPUserAgent() {
|
|
|
75243
75243
|
parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
|
|
75244
75244
|
}
|
|
75245
75245
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
75246
|
-
return `ur/${"1.
|
|
75246
|
+
return `ur/${"1.63.0"}${suffix}`;
|
|
75247
75247
|
}
|
|
75248
75248
|
function getWebFetchUserAgent() {
|
|
75249
75249
|
return `UR-User (${getURCodeUserAgent()})`;
|
|
@@ -75381,7 +75381,7 @@ var init_user = __esm(() => {
|
|
|
75381
75381
|
deviceId,
|
|
75382
75382
|
sessionId: getSessionId(),
|
|
75383
75383
|
email: getEmail(),
|
|
75384
|
-
appVersion: "1.
|
|
75384
|
+
appVersion: "1.63.0",
|
|
75385
75385
|
platform: getHostPlatformForAnalytics(),
|
|
75386
75386
|
organizationUuid,
|
|
75387
75387
|
accountUuid,
|
|
@@ -83581,7 +83581,7 @@ var init_metadata = __esm(() => {
|
|
|
83581
83581
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
83582
83582
|
WHITESPACE_REGEX = /\s+/;
|
|
83583
83583
|
getVersionBase = memoize_default(() => {
|
|
83584
|
-
const match = "1.
|
|
83584
|
+
const match = "1.63.0".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
83585
83585
|
return match ? match[0] : undefined;
|
|
83586
83586
|
});
|
|
83587
83587
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -83621,7 +83621,7 @@ var init_metadata = __esm(() => {
|
|
|
83621
83621
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
83622
83622
|
isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
|
|
83623
83623
|
isURAiAuth: isURAISubscriber(),
|
|
83624
|
-
version: "1.
|
|
83624
|
+
version: "1.63.0",
|
|
83625
83625
|
versionBase: getVersionBase(),
|
|
83626
83626
|
buildTime: "",
|
|
83627
83627
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
@@ -84291,7 +84291,7 @@ function initialize1PEventLogging() {
|
|
|
84291
84291
|
const platform2 = getPlatform();
|
|
84292
84292
|
const attributes = {
|
|
84293
84293
|
[import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
|
|
84294
|
-
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.
|
|
84294
|
+
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.63.0"
|
|
84295
84295
|
};
|
|
84296
84296
|
if (platform2 === "wsl") {
|
|
84297
84297
|
const wslVersion = getWslVersion();
|
|
@@ -84319,7 +84319,7 @@ function initialize1PEventLogging() {
|
|
|
84319
84319
|
})
|
|
84320
84320
|
]
|
|
84321
84321
|
});
|
|
84322
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.
|
|
84322
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.63.0");
|
|
84323
84323
|
}
|
|
84324
84324
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
84325
84325
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -86838,6 +86838,13 @@ var init_types2 = __esm(() => {
|
|
|
86838
86838
|
name: exports_external.string().optional().describe("Synthesiser voice name"),
|
|
86839
86839
|
rate: exports_external.number().optional().describe("Words per minute")
|
|
86840
86840
|
}).optional().describe("Spoken output settings"),
|
|
86841
|
+
context: exports_external.object({
|
|
86842
|
+
pruneToolResults: exports_external.object({
|
|
86843
|
+
enabled: exports_external.boolean().optional(),
|
|
86844
|
+
minTokensFreed: exports_external.number().optional(),
|
|
86845
|
+
keepRecent: exports_external.number().optional()
|
|
86846
|
+
}).optional().describe("Size-triggered pruning of superseded tool results (old file reads, greps, shell output). " + "Prunes only when it would free at least minTokensFreed tokens, keeping the most recent " + "keepRecent results untouched. Less destructive than letting context fill until autocompact " + "replaces the whole history with a summary.")
|
|
86847
|
+
}).optional().describe("Context management behaviour."),
|
|
86841
86848
|
memory: exports_external.object({
|
|
86842
86849
|
suggest: exports_external.boolean().optional().describe("Propose durable facts after each turn"),
|
|
86843
86850
|
suggestMinConfidence: exports_external.number().optional().describe("Confidence floor for proposals (0-1, default 0.75)")
|
|
@@ -94158,7 +94165,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
|
|
|
94158
94165
|
function formatA2AAgentCard(options = {}, pretty = true) {
|
|
94159
94166
|
return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
|
|
94160
94167
|
}
|
|
94161
|
-
var urVersion = "1.
|
|
94168
|
+
var urVersion = "1.63.0", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
|
|
94162
94169
|
var init_trends = __esm(() => {
|
|
94163
94170
|
init_a2aCardSignature();
|
|
94164
94171
|
coverage = [
|
|
@@ -96961,7 +96968,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
96961
96968
|
if (!isAttributionHeaderEnabled()) {
|
|
96962
96969
|
return "";
|
|
96963
96970
|
}
|
|
96964
|
-
const version2 = `${"1.
|
|
96971
|
+
const version2 = `${"1.63.0"}.${fingerprint}`;
|
|
96965
96972
|
const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
|
|
96966
96973
|
const cch = "";
|
|
96967
96974
|
const workload = getWorkload();
|
|
@@ -145458,6 +145465,27 @@ var init_prompt7 = __esm(() => {
|
|
|
145458
145465
|
init_constants2();
|
|
145459
145466
|
});
|
|
145460
145467
|
|
|
145468
|
+
// src/services/compact/toolResultPruningConfig.ts
|
|
145469
|
+
function getToolResultPruningConfig() {
|
|
145470
|
+
const configured = getInitialSettings()?.context?.pruneToolResults;
|
|
145471
|
+
if (!configured)
|
|
145472
|
+
return TOOL_RESULT_PRUNING_DEFAULTS;
|
|
145473
|
+
return {
|
|
145474
|
+
enabled: typeof configured.enabled === "boolean" ? configured.enabled : TOOL_RESULT_PRUNING_DEFAULTS.enabled,
|
|
145475
|
+
minTokensFreed: typeof configured.minTokensFreed === "number" && Number.isFinite(configured.minTokensFreed) && configured.minTokensFreed >= 0 ? configured.minTokensFreed : TOOL_RESULT_PRUNING_DEFAULTS.minTokensFreed,
|
|
145476
|
+
keepRecent: typeof configured.keepRecent === "number" && Number.isInteger(configured.keepRecent) && configured.keepRecent >= 1 ? configured.keepRecent : TOOL_RESULT_PRUNING_DEFAULTS.keepRecent
|
|
145477
|
+
};
|
|
145478
|
+
}
|
|
145479
|
+
var TOOL_RESULT_PRUNING_DEFAULTS;
|
|
145480
|
+
var init_toolResultPruningConfig = __esm(() => {
|
|
145481
|
+
init_settings2();
|
|
145482
|
+
TOOL_RESULT_PRUNING_DEFAULTS = {
|
|
145483
|
+
enabled: true,
|
|
145484
|
+
minTokensFreed: 20000,
|
|
145485
|
+
keepRecent: 8
|
|
145486
|
+
};
|
|
145487
|
+
});
|
|
145488
|
+
|
|
145461
145489
|
// src/tools/PowerShellTool/toolName.ts
|
|
145462
145490
|
var POWERSHELL_TOOL_NAME = "PowerShell";
|
|
145463
145491
|
|
|
@@ -146338,6 +146366,10 @@ async function microcompactMessages(messages, toolUseContext, querySource) {
|
|
|
146338
146366
|
if (timeBasedResult) {
|
|
146339
146367
|
return timeBasedResult;
|
|
146340
146368
|
}
|
|
146369
|
+
const sizeBasedResult = maybeSizeBasedMicrocompact(messages, querySource);
|
|
146370
|
+
if (sizeBasedResult) {
|
|
146371
|
+
return sizeBasedResult;
|
|
146372
|
+
}
|
|
146341
146373
|
return { messages };
|
|
146342
146374
|
}
|
|
146343
146375
|
function evaluateTimeBasedTrigger(messages, querySource) {
|
|
@@ -146355,6 +146387,56 @@ function evaluateTimeBasedTrigger(messages, querySource) {
|
|
|
146355
146387
|
}
|
|
146356
146388
|
return { gapMinutes, config: config2 };
|
|
146357
146389
|
}
|
|
146390
|
+
function clearOldToolResults(messages, keepRecent) {
|
|
146391
|
+
const compactableIds = collectCompactableToolIds(messages);
|
|
146392
|
+
const keep = Math.max(1, keepRecent);
|
|
146393
|
+
const keepSet = new Set(compactableIds.slice(-keep));
|
|
146394
|
+
const clearSet = new Set(compactableIds.filter((id) => !keepSet.has(id)));
|
|
146395
|
+
if (clearSet.size === 0)
|
|
146396
|
+
return null;
|
|
146397
|
+
let tokensSaved = 0;
|
|
146398
|
+
const result = messages.map((message) => {
|
|
146399
|
+
if (message.type !== "user" || !Array.isArray(message.message.content)) {
|
|
146400
|
+
return message;
|
|
146401
|
+
}
|
|
146402
|
+
let touched = false;
|
|
146403
|
+
const newContent = message.message.content.map((block) => {
|
|
146404
|
+
if (block.type === "tool_result" && clearSet.has(block.tool_use_id) && block.content !== TIME_BASED_MC_CLEARED_MESSAGE) {
|
|
146405
|
+
tokensSaved += calculateToolResultTokens(block);
|
|
146406
|
+
touched = true;
|
|
146407
|
+
return { ...block, content: TIME_BASED_MC_CLEARED_MESSAGE };
|
|
146408
|
+
}
|
|
146409
|
+
return block;
|
|
146410
|
+
});
|
|
146411
|
+
if (!touched)
|
|
146412
|
+
return message;
|
|
146413
|
+
return { ...message, message: { ...message.message, content: newContent } };
|
|
146414
|
+
});
|
|
146415
|
+
if (tokensSaved === 0)
|
|
146416
|
+
return null;
|
|
146417
|
+
return { messages: result, tokensSaved, cleared: clearSet.size };
|
|
146418
|
+
}
|
|
146419
|
+
function maybeSizeBasedMicrocompact(messages, querySource) {
|
|
146420
|
+
const config2 = getToolResultPruningConfig();
|
|
146421
|
+
if (!config2.enabled || !querySource || !isMainThreadSource(querySource)) {
|
|
146422
|
+
return null;
|
|
146423
|
+
}
|
|
146424
|
+
const cleared = clearOldToolResults(messages, config2.keepRecent);
|
|
146425
|
+
if (!cleared || cleared.tokensSaved < config2.minTokensFreed) {
|
|
146426
|
+
return null;
|
|
146427
|
+
}
|
|
146428
|
+
logEvent("tengu_size_based_microcompact", {
|
|
146429
|
+
toolsCleared: cleared.cleared,
|
|
146430
|
+
keepRecent: config2.keepRecent,
|
|
146431
|
+
minTokensFreed: config2.minTokensFreed,
|
|
146432
|
+
tokensSaved: cleared.tokensSaved
|
|
146433
|
+
});
|
|
146434
|
+
logForDebugging(`[SIZE-BASED MC] cleared ${cleared.cleared} tool results (~${cleared.tokensSaved} tokens >= ${config2.minTokensFreed} threshold), kept last ${config2.keepRecent}`);
|
|
146435
|
+
suppressCompactWarning();
|
|
146436
|
+
resetMicrocompactState();
|
|
146437
|
+
if (false) {}
|
|
146438
|
+
return { messages: cleared.messages };
|
|
146439
|
+
}
|
|
146358
146440
|
function maybeTimeBasedMicrocompact(messages, querySource) {
|
|
146359
146441
|
const trigger = evaluateTimeBasedTrigger(messages, querySource);
|
|
146360
146442
|
if (!trigger) {
|
|
@@ -146408,6 +146490,7 @@ function maybeTimeBasedMicrocompact(messages, querySource) {
|
|
|
146408
146490
|
}
|
|
146409
146491
|
var TIME_BASED_MC_CLEARED_MESSAGE = "[Old tool result content cleared]", IMAGE_MAX_TOKEN_SIZE = 2000, COMPACTABLE_TOOLS, cachedMCState = null, pendingCacheEdits = null;
|
|
146410
146492
|
var init_microCompact = __esm(() => {
|
|
146493
|
+
init_toolResultPruningConfig();
|
|
146411
146494
|
init_prompt2();
|
|
146412
146495
|
init_prompt3();
|
|
146413
146496
|
init_prompt();
|
|
@@ -154550,7 +154633,7 @@ var init_projectSafety = __esm(() => {
|
|
|
154550
154633
|
function getInstruments() {
|
|
154551
154634
|
if (instruments)
|
|
154552
154635
|
return instruments;
|
|
154553
|
-
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.
|
|
154636
|
+
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.63.0");
|
|
154554
154637
|
instruments = {
|
|
154555
154638
|
operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
|
|
154556
154639
|
description: "GenAI operation duration.",
|
|
@@ -154648,7 +154731,7 @@ function genAiAgentAttributes() {
|
|
|
154648
154731
|
"gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
|
|
154649
154732
|
"gen_ai.provider.name": "ur",
|
|
154650
154733
|
"gen_ai.agent.name": "UR-Nexus",
|
|
154651
|
-
"gen_ai.agent.version": "1.
|
|
154734
|
+
"gen_ai.agent.version": "1.63.0"
|
|
154652
154735
|
};
|
|
154653
154736
|
}
|
|
154654
154737
|
function genAiWorkflowAttributes(workflowName) {
|
|
@@ -154664,7 +154747,7 @@ function genAiWorkflowAttributes(workflowName) {
|
|
|
154664
154747
|
function startGenAiWorkflowSpan(workflowName) {
|
|
154665
154748
|
const attributes = genAiWorkflowAttributes(workflowName);
|
|
154666
154749
|
const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
|
|
154667
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.
|
|
154750
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.63.0").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
154668
154751
|
}
|
|
154669
154752
|
function endGenAiWorkflowSpan(span, options2 = {}) {
|
|
154670
154753
|
try {
|
|
@@ -154702,7 +154785,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
|
|
|
154702
154785
|
if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
|
|
154703
154786
|
attributes["gen_ai.memory.record.count"] = options2.recordCount;
|
|
154704
154787
|
}
|
|
154705
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.
|
|
154788
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.63.0").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
154706
154789
|
}
|
|
154707
154790
|
function endGenAiMemorySpan(span, options2 = {}) {
|
|
154708
154791
|
try {
|
|
@@ -206221,7 +206304,7 @@ function getTelemetryAttributes() {
|
|
|
206221
206304
|
attributes["session.id"] = sessionId;
|
|
206222
206305
|
}
|
|
206223
206306
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
206224
|
-
attributes["app.version"] = "1.
|
|
206307
|
+
attributes["app.version"] = "1.63.0";
|
|
206225
206308
|
}
|
|
206226
206309
|
const oauthAccount = getOauthAccountInfo();
|
|
206227
206310
|
if (oauthAccount) {
|
|
@@ -241995,7 +242078,7 @@ function getInstallationEnv() {
|
|
|
241995
242078
|
return;
|
|
241996
242079
|
}
|
|
241997
242080
|
function getURCodeVersion() {
|
|
241998
|
-
return "1.
|
|
242081
|
+
return "1.63.0";
|
|
241999
242082
|
}
|
|
242000
242083
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
242001
242084
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -249326,7 +249409,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
249326
249409
|
const client2 = new Client({
|
|
249327
249410
|
name: "ur",
|
|
249328
249411
|
title: "UR",
|
|
249329
|
-
version: "1.
|
|
249412
|
+
version: "1.63.0",
|
|
249330
249413
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
249331
249414
|
websiteUrl: PRODUCT_URL
|
|
249332
249415
|
}, {
|
|
@@ -249686,7 +249769,7 @@ var init_client5 = __esm(() => {
|
|
|
249686
249769
|
const client2 = new Client({
|
|
249687
249770
|
name: "ur",
|
|
249688
249771
|
title: "UR",
|
|
249689
|
-
version: "1.
|
|
249772
|
+
version: "1.63.0",
|
|
249690
249773
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
249691
249774
|
websiteUrl: PRODUCT_URL
|
|
249692
249775
|
}, {
|
|
@@ -262287,7 +262370,7 @@ async function createRuntime() {
|
|
|
262287
262370
|
bootstrapTelemetry();
|
|
262288
262371
|
const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
|
|
262289
262372
|
[import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
|
|
262290
|
-
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.
|
|
262373
|
+
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.63.0"
|
|
262291
262374
|
}));
|
|
262292
262375
|
const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
|
|
262293
262376
|
resource,
|
|
@@ -262320,11 +262403,11 @@ async function createRuntime() {
|
|
|
262320
262403
|
setMeterProvider(meterProvider);
|
|
262321
262404
|
setLoggerProvider(loggerProvider);
|
|
262322
262405
|
if (meterProvider) {
|
|
262323
|
-
const meter = meterProvider.getMeter("ur-agent", "1.
|
|
262406
|
+
const meter = meterProvider.getMeter("ur-agent", "1.63.0");
|
|
262324
262407
|
setMeter(meter, (name, options2) => meter.createCounter(name, options2));
|
|
262325
262408
|
}
|
|
262326
262409
|
if (loggerProvider) {
|
|
262327
|
-
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.
|
|
262410
|
+
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.63.0"));
|
|
262328
262411
|
}
|
|
262329
262412
|
if (!cleanupRegistered2) {
|
|
262330
262413
|
cleanupRegistered2 = true;
|
|
@@ -262986,9 +263069,9 @@ async function assertMinVersion() {
|
|
|
262986
263069
|
if (false) {}
|
|
262987
263070
|
try {
|
|
262988
263071
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
262989
|
-
if (versionConfig.minVersion && lt("1.
|
|
263072
|
+
if (versionConfig.minVersion && lt("1.63.0", versionConfig.minVersion)) {
|
|
262990
263073
|
console.error(`
|
|
262991
|
-
It looks like your version of UR (${"1.
|
|
263074
|
+
It looks like your version of UR (${"1.63.0"}) needs an update.
|
|
262992
263075
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
262993
263076
|
|
|
262994
263077
|
To update, please run:
|
|
@@ -263204,7 +263287,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
263204
263287
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
263205
263288
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
263206
263289
|
pid: process.pid,
|
|
263207
|
-
currentVersion: "1.
|
|
263290
|
+
currentVersion: "1.63.0"
|
|
263208
263291
|
});
|
|
263209
263292
|
return "in_progress";
|
|
263210
263293
|
}
|
|
@@ -263213,7 +263296,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
263213
263296
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
263214
263297
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
263215
263298
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
263216
|
-
currentVersion: "1.
|
|
263299
|
+
currentVersion: "1.63.0"
|
|
263217
263300
|
});
|
|
263218
263301
|
console.error(`
|
|
263219
263302
|
Error: Windows NPM detected in WSL
|
|
@@ -263748,7 +263831,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
263748
263831
|
}
|
|
263749
263832
|
async function getDoctorDiagnostic() {
|
|
263750
263833
|
const installationType = await getCurrentInstallationType();
|
|
263751
|
-
const version2 = typeof MACRO !== "undefined" ? "1.
|
|
263834
|
+
const version2 = typeof MACRO !== "undefined" ? "1.63.0" : "unknown";
|
|
263752
263835
|
const installationPath = await getInstallationPath();
|
|
263753
263836
|
const invokedBinary = getInvokedBinary();
|
|
263754
263837
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -264683,8 +264766,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
264683
264766
|
const maxVersion = await getMaxVersion();
|
|
264684
264767
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
264685
264768
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
264686
|
-
if (gte("1.
|
|
264687
|
-
logForDebugging(`Native installer: current version ${"1.
|
|
264769
|
+
if (gte("1.63.0", maxVersion)) {
|
|
264770
|
+
logForDebugging(`Native installer: current version ${"1.63.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
264688
264771
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
264689
264772
|
latency_ms: Date.now() - startTime,
|
|
264690
264773
|
max_version: maxVersion,
|
|
@@ -264695,7 +264778,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
264695
264778
|
version2 = maxVersion;
|
|
264696
264779
|
}
|
|
264697
264780
|
}
|
|
264698
|
-
if (!forceReinstall && version2 === "1.
|
|
264781
|
+
if (!forceReinstall && version2 === "1.63.0" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
|
|
264699
264782
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
264700
264783
|
logEvent("tengu_native_update_complete", {
|
|
264701
264784
|
latency_ms: Date.now() - startTime,
|
|
@@ -334894,7 +334977,7 @@ function isAnyTracingEnabled() {
|
|
|
334894
334977
|
return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
|
|
334895
334978
|
}
|
|
334896
334979
|
function getTracer() {
|
|
334897
|
-
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.
|
|
334980
|
+
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.63.0");
|
|
334898
334981
|
}
|
|
334899
334982
|
function createSpanAttributes(spanType, customAttributes = {}) {
|
|
334900
334983
|
const baseAttributes = getTelemetryAttributes();
|
|
@@ -364397,7 +364480,7 @@ function Feedback({
|
|
|
364397
364480
|
platform: env2.platform,
|
|
364398
364481
|
gitRepo: envInfo.isGit,
|
|
364399
364482
|
terminal: env2.terminal,
|
|
364400
|
-
version: "1.
|
|
364483
|
+
version: "1.63.0",
|
|
364401
364484
|
transcript: normalizeMessagesForAPI(messages),
|
|
364402
364485
|
errors: sanitizedErrors,
|
|
364403
364486
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -364589,7 +364672,7 @@ function Feedback({
|
|
|
364589
364672
|
", ",
|
|
364590
364673
|
env2.terminal,
|
|
364591
364674
|
", v",
|
|
364592
|
-
"1.
|
|
364675
|
+
"1.63.0"
|
|
364593
364676
|
]
|
|
364594
364677
|
}, undefined, true, undefined, this)
|
|
364595
364678
|
]
|
|
@@ -364695,7 +364778,7 @@ ${sanitizedDescription}
|
|
|
364695
364778
|
` + `**Environment Info**
|
|
364696
364779
|
` + `- Platform: ${env2.platform}
|
|
364697
364780
|
` + `- Terminal: ${env2.terminal}
|
|
364698
|
-
` + `- Version: ${"1.
|
|
364781
|
+
` + `- Version: ${"1.63.0"}
|
|
364699
364782
|
` + `- Feedback ID: ${feedbackId}
|
|
364700
364783
|
` + `
|
|
364701
364784
|
**Errors**
|
|
@@ -367805,7 +367888,7 @@ function buildPrimarySection() {
|
|
|
367805
367888
|
}, undefined, false, undefined, this);
|
|
367806
367889
|
return [{
|
|
367807
367890
|
label: "Version",
|
|
367808
|
-
value: "1.
|
|
367891
|
+
value: "1.63.0"
|
|
367809
367892
|
}, {
|
|
367810
367893
|
label: "Session name",
|
|
367811
367894
|
value: nameValue
|
|
@@ -371135,7 +371218,7 @@ function Config({
|
|
|
371135
371218
|
}
|
|
371136
371219
|
}, undefined, false, undefined, this)
|
|
371137
371220
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
|
|
371138
|
-
currentVersion: "1.
|
|
371221
|
+
currentVersion: "1.63.0",
|
|
371139
371222
|
onChoice: (choice) => {
|
|
371140
371223
|
setShowSubmenu(null);
|
|
371141
371224
|
setTabsHidden(false);
|
|
@@ -371147,7 +371230,7 @@ function Config({
|
|
|
371147
371230
|
autoUpdatesChannel: "stable"
|
|
371148
371231
|
};
|
|
371149
371232
|
if (choice === "stay") {
|
|
371150
|
-
newSettings.minimumVersion = "1.
|
|
371233
|
+
newSettings.minimumVersion = "1.63.0";
|
|
371151
371234
|
}
|
|
371152
371235
|
updateSettingsForSource("userSettings", newSettings);
|
|
371153
371236
|
setSettingsData((prev_27) => ({
|
|
@@ -379211,7 +379294,7 @@ function HelpV2(t0) {
|
|
|
379211
379294
|
let t6;
|
|
379212
379295
|
if ($2[31] !== tabs) {
|
|
379213
379296
|
t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
|
|
379214
|
-
title: `UR v${"1.
|
|
379297
|
+
title: `UR v${"1.63.0"}`,
|
|
379215
379298
|
color: "professionalBlue",
|
|
379216
379299
|
defaultTab: "general",
|
|
379217
379300
|
children: tabs
|
|
@@ -380128,7 +380211,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
|
|
|
380128
380211
|
async function handleInitialize(options2) {
|
|
380129
380212
|
return {
|
|
380130
380213
|
name: "UR",
|
|
380131
|
-
version: "1.
|
|
380214
|
+
version: "1.63.0",
|
|
380132
380215
|
protocolVersion: "0.1.0",
|
|
380133
380216
|
workspaceRoot: options2.cwd,
|
|
380134
380217
|
capabilities: {
|
|
@@ -397236,7 +397319,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
397236
397319
|
return [];
|
|
397237
397320
|
}
|
|
397238
397321
|
}
|
|
397239
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.
|
|
397322
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.63.0") {
|
|
397240
397323
|
if (process.env.USER_TYPE === "ant") {
|
|
397241
397324
|
const changelog = "";
|
|
397242
397325
|
if (changelog) {
|
|
@@ -397263,7 +397346,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.62.0")
|
|
|
397263
397346
|
releaseNotes
|
|
397264
397347
|
};
|
|
397265
397348
|
}
|
|
397266
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.
|
|
397349
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.63.0") {
|
|
397267
397350
|
if (process.env.USER_TYPE === "ant") {
|
|
397268
397351
|
const changelog = "";
|
|
397269
397352
|
if (changelog) {
|
|
@@ -400120,7 +400203,7 @@ function getRecentActivitySync() {
|
|
|
400120
400203
|
return cachedActivity;
|
|
400121
400204
|
}
|
|
400122
400205
|
function getLogoDisplayData() {
|
|
400123
|
-
const version2 = process.env.DEMO_VERSION ?? "1.
|
|
400206
|
+
const version2 = process.env.DEMO_VERSION ?? "1.63.0";
|
|
400124
400207
|
const serverUrl = getDirectConnectServerUrl();
|
|
400125
400208
|
const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
|
|
400126
400209
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -401004,7 +401087,7 @@ function LogoV2() {
|
|
|
401004
401087
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
401005
401088
|
t2 = () => {
|
|
401006
401089
|
const currentConfig2 = getGlobalConfig();
|
|
401007
|
-
if (currentConfig2.lastReleaseNotesSeen === "1.
|
|
401090
|
+
if (currentConfig2.lastReleaseNotesSeen === "1.63.0") {
|
|
401008
401091
|
return;
|
|
401009
401092
|
}
|
|
401010
401093
|
saveGlobalConfig(_temp327);
|
|
@@ -401689,12 +401772,12 @@ function LogoV2() {
|
|
|
401689
401772
|
return t41;
|
|
401690
401773
|
}
|
|
401691
401774
|
function _temp327(current) {
|
|
401692
|
-
if (current.lastReleaseNotesSeen === "1.
|
|
401775
|
+
if (current.lastReleaseNotesSeen === "1.63.0") {
|
|
401693
401776
|
return current;
|
|
401694
401777
|
}
|
|
401695
401778
|
return {
|
|
401696
401779
|
...current,
|
|
401697
|
-
lastReleaseNotesSeen: "1.
|
|
401780
|
+
lastReleaseNotesSeen: "1.63.0"
|
|
401698
401781
|
};
|
|
401699
401782
|
}
|
|
401700
401783
|
function _temp241(s_0) {
|
|
@@ -418492,7 +418575,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
|
|
|
418492
418575
|
if (spec.name !== specName) {
|
|
418493
418576
|
throw new Error("Agentic CI workflow spec name does not match");
|
|
418494
418577
|
}
|
|
418495
|
-
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.
|
|
418578
|
+
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.63.0" : "1.63.0");
|
|
418496
418579
|
if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
|
|
418497
418580
|
throw new Error("invalid ur-agent package version");
|
|
418498
418581
|
}
|
|
@@ -419485,7 +419568,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
|
|
|
419485
419568
|
path: ".github/workflows/ur.yml",
|
|
419486
419569
|
root: "project",
|
|
419487
419570
|
content: compileAgenticCiWorkflow("default", {
|
|
419488
|
-
packageVersion: typeof MACRO !== "undefined" ? "1.
|
|
419571
|
+
packageVersion: typeof MACRO !== "undefined" ? "1.63.0" : "1.63.0"
|
|
419489
419572
|
})
|
|
419490
419573
|
},
|
|
419491
419574
|
{
|
|
@@ -419548,7 +419631,7 @@ function value(tokens, flag) {
|
|
|
419548
419631
|
return index2 >= 0 ? tokens[index2 + 1] : undefined;
|
|
419549
419632
|
}
|
|
419550
419633
|
function cliVersion() {
|
|
419551
|
-
return typeof MACRO !== "undefined" ? "1.
|
|
419634
|
+
return typeof MACRO !== "undefined" ? "1.63.0" : "1.63.0";
|
|
419552
419635
|
}
|
|
419553
419636
|
function workflowPath(cwd2) {
|
|
419554
419637
|
return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
|
|
@@ -425404,7 +425487,7 @@ function createAcpStdioApp(deps) {
|
|
|
425404
425487
|
}
|
|
425405
425488
|
},
|
|
425406
425489
|
authMethods: [],
|
|
425407
|
-
agentInfo: { name: "UR-Nexus", version: "1.
|
|
425490
|
+
agentInfo: { name: "UR-Nexus", version: "1.63.0" }
|
|
425408
425491
|
})).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
|
|
425409
425492
|
const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
|
|
425410
425493
|
await runtime2.announce({
|
|
@@ -425501,7 +425584,7 @@ function createAcpStdioAgent(deps) {
|
|
|
425501
425584
|
}
|
|
425502
425585
|
},
|
|
425503
425586
|
authMethods: [],
|
|
425504
|
-
agentInfo: { name: "UR-Nexus", version: "1.
|
|
425587
|
+
agentInfo: { name: "UR-Nexus", version: "1.63.0" }
|
|
425505
425588
|
});
|
|
425506
425589
|
return;
|
|
425507
425590
|
case "authenticate":
|
|
@@ -633836,7 +633919,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
|
|
|
633836
633919
|
smapsRollup,
|
|
633837
633920
|
platform: process.platform,
|
|
633838
633921
|
nodeVersion: process.version,
|
|
633839
|
-
ccVersion: "1.
|
|
633922
|
+
ccVersion: "1.63.0"
|
|
633840
633923
|
};
|
|
633841
633924
|
}
|
|
633842
633925
|
async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
|
|
@@ -634416,7 +634499,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
634416
634499
|
var call153 = async () => {
|
|
634417
634500
|
return {
|
|
634418
634501
|
type: "text",
|
|
634419
|
-
value: "1.
|
|
634502
|
+
value: "1.63.0"
|
|
634420
634503
|
};
|
|
634421
634504
|
}, version2, version_default;
|
|
634422
634505
|
var init_version = __esm(() => {
|
|
@@ -645487,7 +645570,7 @@ function generateHtmlReport(data, insights) {
|
|
|
645487
645570
|
</html>`;
|
|
645488
645571
|
}
|
|
645489
645572
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
645490
|
-
const version3 = typeof MACRO !== "undefined" ? "1.
|
|
645573
|
+
const version3 = typeof MACRO !== "undefined" ? "1.63.0" : "unknown";
|
|
645491
645574
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
645492
645575
|
const facets_summary = {
|
|
645493
645576
|
total: facets.size,
|
|
@@ -649798,7 +649881,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
649798
649881
|
init_settings2();
|
|
649799
649882
|
init_slowOperations();
|
|
649800
649883
|
init_uuid();
|
|
649801
|
-
VERSION7 = typeof MACRO !== "undefined" ? "1.
|
|
649884
|
+
VERSION7 = typeof MACRO !== "undefined" ? "1.63.0" : "unknown";
|
|
649802
649885
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
649803
649886
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
649804
649887
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -651013,7 +651096,7 @@ var init_filesystem = __esm(() => {
|
|
|
651013
651096
|
});
|
|
651014
651097
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
651015
651098
|
const nonce = randomBytes20(16).toString("hex");
|
|
651016
|
-
return join232(getURTempDir(), "bundled-skills", "1.
|
|
651099
|
+
return join232(getURTempDir(), "bundled-skills", "1.63.0", nonce);
|
|
651017
651100
|
});
|
|
651018
651101
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
651019
651102
|
});
|
|
@@ -657308,7 +657391,7 @@ function computeFingerprint(messageText2, version3) {
|
|
|
657308
657391
|
}
|
|
657309
657392
|
function computeFingerprintFromMessages(messages) {
|
|
657310
657393
|
const firstMessageText = extractFirstMessageText(messages);
|
|
657311
|
-
return computeFingerprint(firstMessageText, "1.
|
|
657394
|
+
return computeFingerprint(firstMessageText, "1.63.0");
|
|
657312
657395
|
}
|
|
657313
657396
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
657314
657397
|
var init_fingerprint = () => {};
|
|
@@ -659204,7 +659287,7 @@ async function sideQuery(opts) {
|
|
|
659204
659287
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
659205
659288
|
}
|
|
659206
659289
|
const messageText2 = extractFirstUserMessageText(messages);
|
|
659207
|
-
const fingerprint2 = computeFingerprint(messageText2, "1.
|
|
659290
|
+
const fingerprint2 = computeFingerprint(messageText2, "1.63.0");
|
|
659208
659291
|
const attributionHeader = getAttributionHeader(fingerprint2);
|
|
659209
659292
|
const systemBlocks = [
|
|
659210
659293
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -663975,7 +664058,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
663975
664058
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
663976
664059
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
663977
664060
|
betas: getSdkBetas(),
|
|
663978
|
-
ur_version: "1.
|
|
664061
|
+
ur_version: "1.63.0",
|
|
663979
664062
|
output_style: outputStyle2,
|
|
663980
664063
|
agents: inputs.agents.map((agent2) => agent2.agentType),
|
|
663981
664064
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
|
|
@@ -677835,7 +677918,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
677835
677918
|
function getSemverPart(version3) {
|
|
677836
677919
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
677837
677920
|
}
|
|
677838
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.
|
|
677921
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.63.0") {
|
|
677839
677922
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react222.useState(() => getSemverPart(initialVersion));
|
|
677840
677923
|
if (!updatedVersion) {
|
|
677841
677924
|
return null;
|
|
@@ -677884,7 +677967,7 @@ function AutoUpdater({
|
|
|
677884
677967
|
return;
|
|
677885
677968
|
}
|
|
677886
677969
|
if (false) {}
|
|
677887
|
-
const currentVersion = "1.
|
|
677970
|
+
const currentVersion = "1.63.0";
|
|
677888
677971
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
677889
677972
|
let latestVersion = await getLatestVersion(channel);
|
|
677890
677973
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -678113,12 +678196,12 @@ function NativeAutoUpdater({
|
|
|
678113
678196
|
logEvent("tengu_native_auto_updater_start", {});
|
|
678114
678197
|
try {
|
|
678115
678198
|
const maxVersion = await getMaxVersion();
|
|
678116
|
-
if (maxVersion && gt("1.
|
|
678199
|
+
if (maxVersion && gt("1.63.0", maxVersion)) {
|
|
678117
678200
|
const msg = await getMaxVersionMessage();
|
|
678118
678201
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
678119
678202
|
}
|
|
678120
678203
|
const result = await installLatest(channel);
|
|
678121
|
-
const currentVersion = "1.
|
|
678204
|
+
const currentVersion = "1.63.0";
|
|
678122
678205
|
const latencyMs = Date.now() - startTime;
|
|
678123
678206
|
if (result.lockFailed) {
|
|
678124
678207
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -678255,17 +678338,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
678255
678338
|
const maxVersion = await getMaxVersion();
|
|
678256
678339
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
678257
678340
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
678258
|
-
if (gte("1.
|
|
678259
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.
|
|
678341
|
+
if (gte("1.63.0", maxVersion)) {
|
|
678342
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.63.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
678260
678343
|
setUpdateAvailable(false);
|
|
678261
678344
|
return;
|
|
678262
678345
|
}
|
|
678263
678346
|
latest = maxVersion;
|
|
678264
678347
|
}
|
|
678265
|
-
const hasUpdate = latest && !gte("1.
|
|
678348
|
+
const hasUpdate = latest && !gte("1.63.0", latest) && !shouldSkipVersion(latest);
|
|
678266
678349
|
setUpdateAvailable(!!hasUpdate);
|
|
678267
678350
|
if (hasUpdate) {
|
|
678268
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.
|
|
678351
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.63.0"} -> ${latest}`);
|
|
678269
678352
|
}
|
|
678270
678353
|
};
|
|
678271
678354
|
$2[0] = t1;
|
|
@@ -678299,7 +678382,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
678299
678382
|
wrap: "truncate",
|
|
678300
678383
|
children: [
|
|
678301
678384
|
"currentVersion: ",
|
|
678302
|
-
"1.
|
|
678385
|
+
"1.63.0"
|
|
678303
678386
|
]
|
|
678304
678387
|
}, undefined, true, undefined, this);
|
|
678305
678388
|
$2[3] = verbose;
|
|
@@ -688996,7 +689079,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
688996
689079
|
project_dir: getOriginalCwd(),
|
|
688997
689080
|
added_dirs: addedDirs
|
|
688998
689081
|
},
|
|
688999
|
-
version: "1.
|
|
689082
|
+
version: "1.63.0",
|
|
689000
689083
|
output_style: {
|
|
689001
689084
|
name: outputStyleName
|
|
689002
689085
|
},
|
|
@@ -689079,7 +689162,7 @@ function StatusLineInner({
|
|
|
689079
689162
|
const taskValues = Object.values(tasks2);
|
|
689080
689163
|
const taskRunningCount = taskValues.filter((task2) => task2.status === "running" || task2.status === "pending").length;
|
|
689081
689164
|
const defaultStatusLineText = buildDefaultStatusBar({
|
|
689082
|
-
version: "1.
|
|
689165
|
+
version: "1.63.0",
|
|
689083
689166
|
providerLabel: providerRuntime.providerLabel,
|
|
689084
689167
|
authMode: providerRuntime.authLabel,
|
|
689085
689168
|
model: providerRuntime.model ?? renderModelName(mainLoopModel),
|
|
@@ -701222,7 +701305,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
|
|
|
701222
701305
|
} catch {}
|
|
701223
701306
|
const data = {
|
|
701224
701307
|
trigger: trigger2,
|
|
701225
|
-
version: "1.
|
|
701308
|
+
version: "1.63.0",
|
|
701226
701309
|
platform: process.platform,
|
|
701227
701310
|
transcript,
|
|
701228
701311
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -713502,7 +713585,7 @@ function WelcomeV2() {
|
|
|
713502
713585
|
dimColor: true,
|
|
713503
713586
|
children: [
|
|
713504
713587
|
"v",
|
|
713505
|
-
"1.
|
|
713588
|
+
"1.63.0"
|
|
713506
713589
|
]
|
|
713507
713590
|
}, undefined, true, undefined, this)
|
|
713508
713591
|
]
|
|
@@ -714762,7 +714845,7 @@ function completeOnboarding() {
|
|
|
714762
714845
|
saveGlobalConfig((current) => ({
|
|
714763
714846
|
...current,
|
|
714764
714847
|
hasCompletedOnboarding: true,
|
|
714765
|
-
lastOnboardingVersion: "1.
|
|
714848
|
+
lastOnboardingVersion: "1.63.0"
|
|
714766
714849
|
}));
|
|
714767
714850
|
}
|
|
714768
714851
|
function showDialog(root2, renderer) {
|
|
@@ -719806,7 +719889,7 @@ function appendToLog(path24, message) {
|
|
|
719806
719889
|
cwd: getFsImplementation().cwd(),
|
|
719807
719890
|
userType: process.env.USER_TYPE,
|
|
719808
719891
|
sessionId: getSessionId(),
|
|
719809
|
-
version: "1.
|
|
719892
|
+
version: "1.63.0"
|
|
719810
719893
|
};
|
|
719811
719894
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
719812
719895
|
}
|
|
@@ -723965,8 +724048,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
723965
724048
|
}
|
|
723966
724049
|
async function checkEnvLessBridgeMinVersion() {
|
|
723967
724050
|
const cfg = await getEnvLessBridgeConfig();
|
|
723968
|
-
if (cfg.min_version && lt("1.
|
|
723969
|
-
return `Your version of UR (${"1.
|
|
724051
|
+
if (cfg.min_version && lt("1.63.0", cfg.min_version)) {
|
|
724052
|
+
return `Your version of UR (${"1.63.0"}) is too old for Remote Control.
|
|
723970
724053
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
723971
724054
|
}
|
|
723972
724055
|
return null;
|
|
@@ -724440,7 +724523,7 @@ async function initBridgeCore(params) {
|
|
|
724440
724523
|
const rawApi = createBridgeApiClient({
|
|
724441
724524
|
baseUrl,
|
|
724442
724525
|
getAccessToken,
|
|
724443
|
-
runnerVersion: "1.
|
|
724526
|
+
runnerVersion: "1.63.0",
|
|
724444
724527
|
onDebug: logForDebugging,
|
|
724445
724528
|
onAuth401,
|
|
724446
724529
|
getTrustedDeviceToken
|
|
@@ -733916,7 +733999,7 @@ function getAgUiCapabilities() {
|
|
|
733916
733999
|
name: "UR-Nexus",
|
|
733917
734000
|
type: "ur-nexus",
|
|
733918
734001
|
description: "Provider-flexible, local-first autonomous engineering workflow agent.",
|
|
733919
|
-
version: "1.
|
|
734002
|
+
version: "1.63.0",
|
|
733920
734003
|
provider: "UR",
|
|
733921
734004
|
documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
|
|
733922
734005
|
},
|
|
@@ -735056,7 +735139,7 @@ function createMCPServer(cwd4, debug2, verbose) {
|
|
|
735056
735139
|
};
|
|
735057
735140
|
const server2 = new Server({
|
|
735058
735141
|
name: "ur-nexus",
|
|
735059
|
-
version: "1.
|
|
735142
|
+
version: "1.63.0"
|
|
735060
735143
|
}, {
|
|
735061
735144
|
capabilities: {
|
|
735062
735145
|
tools: {}
|
|
@@ -736214,7 +736297,7 @@ function thrownResponse(error40) {
|
|
|
736214
736297
|
}
|
|
736215
736298
|
async function createUrMcp2026Runtime(options4) {
|
|
736216
736299
|
const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
|
|
736217
|
-
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.
|
|
736300
|
+
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.63.0" }, { capabilities: {} });
|
|
736218
736301
|
const [clientTransport, serverTransport] = createLinkedTransportPair();
|
|
736219
736302
|
try {
|
|
736220
736303
|
await server2.connect(serverTransport);
|
|
@@ -736225,7 +736308,7 @@ async function createUrMcp2026Runtime(options4) {
|
|
|
736225
736308
|
}
|
|
736226
736309
|
const runtime2 = new Mcp2026Runtime({
|
|
736227
736310
|
cwd: options4.cwd,
|
|
736228
|
-
version: "1.
|
|
736311
|
+
version: "1.63.0",
|
|
736229
736312
|
backend: {
|
|
736230
736313
|
listTools: async () => {
|
|
736231
736314
|
const listed = await client2.listTools();
|
|
@@ -738358,7 +738441,7 @@ async function update() {
|
|
|
738358
738441
|
logEvent("tengu_update_check", {});
|
|
738359
738442
|
const diagnostic2 = await getDoctorDiagnostic();
|
|
738360
738443
|
const result = await checkUpgradeStatus({
|
|
738361
|
-
currentVersion: "1.
|
|
738444
|
+
currentVersion: "1.63.0",
|
|
738362
738445
|
packageName: UR_AGENT_PACKAGE_NAME,
|
|
738363
738446
|
installationType: diagnostic2.installationType,
|
|
738364
738447
|
latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
|
|
@@ -739674,7 +739757,7 @@ ${customInstructions}` : customInstructions;
|
|
|
739674
739757
|
}
|
|
739675
739758
|
}
|
|
739676
739759
|
logForDiagnosticsNoPII("info", "started", {
|
|
739677
|
-
version: "1.
|
|
739760
|
+
version: "1.63.0",
|
|
739678
739761
|
is_native_binary: isInBundledMode()
|
|
739679
739762
|
});
|
|
739680
739763
|
registerCleanup(async () => {
|
|
@@ -740460,7 +740543,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
740460
740543
|
pendingHookMessages
|
|
740461
740544
|
}, renderAndRun);
|
|
740462
740545
|
}
|
|
740463
|
-
}).version("1.
|
|
740546
|
+
}).version("1.63.0 (UR-Nexus)", "-v, --version", "Output the version number");
|
|
740464
740547
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
740465
740548
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
740466
740549
|
if (canUserConfigureAdvisor()) {
|
|
@@ -741512,7 +741595,7 @@ if (false) {}
|
|
|
741512
741595
|
async function main2() {
|
|
741513
741596
|
const args = process.argv.slice(2);
|
|
741514
741597
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
741515
|
-
console.log(`${"1.
|
|
741598
|
+
console.log(`${"1.63.0"} (UR-Nexus)`);
|
|
741516
741599
|
return;
|
|
741517
741600
|
}
|
|
741518
741601
|
if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
|
package/documentation/index.html
CHANGED
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
<main id="content" class="content">
|
|
46
46
|
<header class="topbar">
|
|
47
47
|
<div>
|
|
48
|
-
<p class="eyebrow">Version 1.
|
|
48
|
+
<p class="eyebrow">Version 1.63.0</p>
|
|
49
49
|
<h1>UR-Nexus Documentation</h1>
|
|
50
50
|
<p class="lead">A practical, tutorial-style reference for installing, configuring, automating, extending, and operating UR-Nexus.</p>
|
|
51
51
|
</div>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "ur-inline-diffs",
|
|
3
3
|
"displayName": "UR Inline Diffs",
|
|
4
4
|
"description": "Review, apply, and reject UR inline diff bundles from .ur/ide/diffs inside VS Code.",
|
|
5
|
-
"version": "1.
|
|
5
|
+
"version": "1.63.0",
|
|
6
6
|
"publisher": "ur-nexus",
|
|
7
7
|
"engines": {
|
|
8
8
|
"vscode": "^1.92.0"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ur-agent",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.63.0",
|
|
4
4
|
"description": "UR-Nexus — autonomous engineering workflow engine (plan, execute, test, verify, document, benchmark, reproduce)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "bun@1.3.14",
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"@ag-ui/core": "0.0.57",
|
|
85
85
|
"@ag-ui/encoder": "0.0.57",
|
|
86
86
|
"diff2html": "^3.4.56",
|
|
87
|
-
"playwright-core": "^1.
|
|
87
|
+
"playwright-core": "^1.63.0",
|
|
88
88
|
"sharp": "^0.35.3"
|
|
89
89
|
},
|
|
90
90
|
"devDependencies": {
|