ur-agent 1.60.0 → 1.60.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.60.1
|
|
4
|
+
|
|
5
|
+
- `ur memory-integrity verify` no longer reports an empty or missing store as
|
|
6
|
+
verified. It printed "verified — 0 file(s) match the recorded digests" for an
|
|
7
|
+
empty directory, and that identical reassurance would have appeared for a
|
|
8
|
+
mistyped path or a store an attacker had just emptied. Zero files checked is
|
|
9
|
+
not evidence of integrity, so empty and nonexistent stores now say exactly
|
|
10
|
+
that and name the path.
|
|
11
|
+
- The exit code tracks tampering rather than validity, so an empty or
|
|
12
|
+
unbaselined store still exits 0. Failing on it would fire for every fresh
|
|
13
|
+
install and train the user to ignore the exit code.
|
|
14
|
+
- `ur agent-inspect --costs` names the directory it searched. "No subagent
|
|
15
|
+
transcripts found for this session" was indistinguishable from having
|
|
16
|
+
resolved the wrong path.
|
|
17
|
+
|
|
3
18
|
## 1.60.0
|
|
4
19
|
|
|
5
20
|
- Added `ur memory-integrity`, tamper-evidence for the file-backed memory
|
package/dist/cli.js
CHANGED
|
@@ -75204,7 +75204,7 @@ var init_auth = __esm(() => {
|
|
|
75204
75204
|
|
|
75205
75205
|
// src/utils/userAgent.ts
|
|
75206
75206
|
function getURCodeUserAgent() {
|
|
75207
|
-
return `ur/${"1.60.
|
|
75207
|
+
return `ur/${"1.60.1"}`;
|
|
75208
75208
|
}
|
|
75209
75209
|
|
|
75210
75210
|
// src/utils/workloadContext.ts
|
|
@@ -75226,7 +75226,7 @@ function getUserAgent() {
|
|
|
75226
75226
|
const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
|
|
75227
75227
|
const workload = getWorkload();
|
|
75228
75228
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
75229
|
-
return `ur-cli/${"1.60.
|
|
75229
|
+
return `ur-cli/${"1.60.1"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
75230
75230
|
}
|
|
75231
75231
|
function getMCPUserAgent() {
|
|
75232
75232
|
const parts = [];
|
|
@@ -75240,7 +75240,7 @@ function getMCPUserAgent() {
|
|
|
75240
75240
|
parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
|
|
75241
75241
|
}
|
|
75242
75242
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
75243
|
-
return `ur/${"1.60.
|
|
75243
|
+
return `ur/${"1.60.1"}${suffix}`;
|
|
75244
75244
|
}
|
|
75245
75245
|
function getWebFetchUserAgent() {
|
|
75246
75246
|
return `UR-User (${getURCodeUserAgent()})`;
|
|
@@ -75378,7 +75378,7 @@ var init_user = __esm(() => {
|
|
|
75378
75378
|
deviceId,
|
|
75379
75379
|
sessionId: getSessionId(),
|
|
75380
75380
|
email: getEmail(),
|
|
75381
|
-
appVersion: "1.60.
|
|
75381
|
+
appVersion: "1.60.1",
|
|
75382
75382
|
platform: getHostPlatformForAnalytics(),
|
|
75383
75383
|
organizationUuid,
|
|
75384
75384
|
accountUuid,
|
|
@@ -83578,7 +83578,7 @@ var init_metadata = __esm(() => {
|
|
|
83578
83578
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
83579
83579
|
WHITESPACE_REGEX = /\s+/;
|
|
83580
83580
|
getVersionBase = memoize_default(() => {
|
|
83581
|
-
const match = "1.60.
|
|
83581
|
+
const match = "1.60.1".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
83582
83582
|
return match ? match[0] : undefined;
|
|
83583
83583
|
});
|
|
83584
83584
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -83618,7 +83618,7 @@ var init_metadata = __esm(() => {
|
|
|
83618
83618
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
83619
83619
|
isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
|
|
83620
83620
|
isURAiAuth: isURAISubscriber(),
|
|
83621
|
-
version: "1.60.
|
|
83621
|
+
version: "1.60.1",
|
|
83622
83622
|
versionBase: getVersionBase(),
|
|
83623
83623
|
buildTime: "",
|
|
83624
83624
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
@@ -84288,7 +84288,7 @@ function initialize1PEventLogging() {
|
|
|
84288
84288
|
const platform2 = getPlatform();
|
|
84289
84289
|
const attributes = {
|
|
84290
84290
|
[import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
|
|
84291
|
-
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.60.
|
|
84291
|
+
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.60.1"
|
|
84292
84292
|
};
|
|
84293
84293
|
if (platform2 === "wsl") {
|
|
84294
84294
|
const wslVersion = getWslVersion();
|
|
@@ -84316,7 +84316,7 @@ function initialize1PEventLogging() {
|
|
|
84316
84316
|
})
|
|
84317
84317
|
]
|
|
84318
84318
|
});
|
|
84319
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.60.
|
|
84319
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.60.1");
|
|
84320
84320
|
}
|
|
84321
84321
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
84322
84322
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -94155,7 +94155,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
|
|
|
94155
94155
|
function formatA2AAgentCard(options = {}, pretty = true) {
|
|
94156
94156
|
return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
|
|
94157
94157
|
}
|
|
94158
|
-
var urVersion = "1.60.
|
|
94158
|
+
var urVersion = "1.60.1", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
|
|
94159
94159
|
var init_trends = __esm(() => {
|
|
94160
94160
|
init_a2aCardSignature();
|
|
94161
94161
|
coverage = [
|
|
@@ -96958,7 +96958,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
96958
96958
|
if (!isAttributionHeaderEnabled()) {
|
|
96959
96959
|
return "";
|
|
96960
96960
|
}
|
|
96961
|
-
const version2 = `${"1.60.
|
|
96961
|
+
const version2 = `${"1.60.1"}.${fingerprint}`;
|
|
96962
96962
|
const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
|
|
96963
96963
|
const cch = "";
|
|
96964
96964
|
const workload = getWorkload();
|
|
@@ -154547,7 +154547,7 @@ var init_projectSafety = __esm(() => {
|
|
|
154547
154547
|
function getInstruments() {
|
|
154548
154548
|
if (instruments)
|
|
154549
154549
|
return instruments;
|
|
154550
|
-
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.60.
|
|
154550
|
+
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.60.1");
|
|
154551
154551
|
instruments = {
|
|
154552
154552
|
operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
|
|
154553
154553
|
description: "GenAI operation duration.",
|
|
@@ -154645,7 +154645,7 @@ function genAiAgentAttributes() {
|
|
|
154645
154645
|
"gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
|
|
154646
154646
|
"gen_ai.provider.name": "ur",
|
|
154647
154647
|
"gen_ai.agent.name": "UR-Nexus",
|
|
154648
|
-
"gen_ai.agent.version": "1.60.
|
|
154648
|
+
"gen_ai.agent.version": "1.60.1"
|
|
154649
154649
|
};
|
|
154650
154650
|
}
|
|
154651
154651
|
function genAiWorkflowAttributes(workflowName) {
|
|
@@ -154661,7 +154661,7 @@ function genAiWorkflowAttributes(workflowName) {
|
|
|
154661
154661
|
function startGenAiWorkflowSpan(workflowName) {
|
|
154662
154662
|
const attributes = genAiWorkflowAttributes(workflowName);
|
|
154663
154663
|
const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
|
|
154664
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.60.
|
|
154664
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.60.1").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
154665
154665
|
}
|
|
154666
154666
|
function endGenAiWorkflowSpan(span, options2 = {}) {
|
|
154667
154667
|
try {
|
|
@@ -154699,7 +154699,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
|
|
|
154699
154699
|
if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
|
|
154700
154700
|
attributes["gen_ai.memory.record.count"] = options2.recordCount;
|
|
154701
154701
|
}
|
|
154702
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.60.
|
|
154702
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.60.1").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
154703
154703
|
}
|
|
154704
154704
|
function endGenAiMemorySpan(span, options2 = {}) {
|
|
154705
154705
|
try {
|
|
@@ -206218,7 +206218,7 @@ function getTelemetryAttributes() {
|
|
|
206218
206218
|
attributes["session.id"] = sessionId;
|
|
206219
206219
|
}
|
|
206220
206220
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
206221
|
-
attributes["app.version"] = "1.60.
|
|
206221
|
+
attributes["app.version"] = "1.60.1";
|
|
206222
206222
|
}
|
|
206223
206223
|
const oauthAccount = getOauthAccountInfo();
|
|
206224
206224
|
if (oauthAccount) {
|
|
@@ -241992,7 +241992,7 @@ function getInstallationEnv() {
|
|
|
241992
241992
|
return;
|
|
241993
241993
|
}
|
|
241994
241994
|
function getURCodeVersion() {
|
|
241995
|
-
return "1.60.
|
|
241995
|
+
return "1.60.1";
|
|
241996
241996
|
}
|
|
241997
241997
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
241998
241998
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -249323,7 +249323,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
249323
249323
|
const client2 = new Client({
|
|
249324
249324
|
name: "ur",
|
|
249325
249325
|
title: "UR",
|
|
249326
|
-
version: "1.60.
|
|
249326
|
+
version: "1.60.1",
|
|
249327
249327
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
249328
249328
|
websiteUrl: PRODUCT_URL
|
|
249329
249329
|
}, {
|
|
@@ -249683,7 +249683,7 @@ var init_client5 = __esm(() => {
|
|
|
249683
249683
|
const client2 = new Client({
|
|
249684
249684
|
name: "ur",
|
|
249685
249685
|
title: "UR",
|
|
249686
|
-
version: "1.60.
|
|
249686
|
+
version: "1.60.1",
|
|
249687
249687
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
249688
249688
|
websiteUrl: PRODUCT_URL
|
|
249689
249689
|
}, {
|
|
@@ -262284,7 +262284,7 @@ async function createRuntime() {
|
|
|
262284
262284
|
bootstrapTelemetry();
|
|
262285
262285
|
const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
|
|
262286
262286
|
[import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
|
|
262287
|
-
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.60.
|
|
262287
|
+
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.60.1"
|
|
262288
262288
|
}));
|
|
262289
262289
|
const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
|
|
262290
262290
|
resource,
|
|
@@ -262317,11 +262317,11 @@ async function createRuntime() {
|
|
|
262317
262317
|
setMeterProvider(meterProvider);
|
|
262318
262318
|
setLoggerProvider(loggerProvider);
|
|
262319
262319
|
if (meterProvider) {
|
|
262320
|
-
const meter = meterProvider.getMeter("ur-agent", "1.60.
|
|
262320
|
+
const meter = meterProvider.getMeter("ur-agent", "1.60.1");
|
|
262321
262321
|
setMeter(meter, (name, options2) => meter.createCounter(name, options2));
|
|
262322
262322
|
}
|
|
262323
262323
|
if (loggerProvider) {
|
|
262324
|
-
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.60.
|
|
262324
|
+
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.60.1"));
|
|
262325
262325
|
}
|
|
262326
262326
|
if (!cleanupRegistered2) {
|
|
262327
262327
|
cleanupRegistered2 = true;
|
|
@@ -262983,9 +262983,9 @@ async function assertMinVersion() {
|
|
|
262983
262983
|
if (false) {}
|
|
262984
262984
|
try {
|
|
262985
262985
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
262986
|
-
if (versionConfig.minVersion && lt("1.60.
|
|
262986
|
+
if (versionConfig.minVersion && lt("1.60.1", versionConfig.minVersion)) {
|
|
262987
262987
|
console.error(`
|
|
262988
|
-
It looks like your version of UR (${"1.60.
|
|
262988
|
+
It looks like your version of UR (${"1.60.1"}) needs an update.
|
|
262989
262989
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
262990
262990
|
|
|
262991
262991
|
To update, please run:
|
|
@@ -263201,7 +263201,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
263201
263201
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
263202
263202
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
263203
263203
|
pid: process.pid,
|
|
263204
|
-
currentVersion: "1.60.
|
|
263204
|
+
currentVersion: "1.60.1"
|
|
263205
263205
|
});
|
|
263206
263206
|
return "in_progress";
|
|
263207
263207
|
}
|
|
@@ -263210,7 +263210,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
263210
263210
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
263211
263211
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
263212
263212
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
263213
|
-
currentVersion: "1.60.
|
|
263213
|
+
currentVersion: "1.60.1"
|
|
263214
263214
|
});
|
|
263215
263215
|
console.error(`
|
|
263216
263216
|
Error: Windows NPM detected in WSL
|
|
@@ -263745,7 +263745,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
263745
263745
|
}
|
|
263746
263746
|
async function getDoctorDiagnostic() {
|
|
263747
263747
|
const installationType = await getCurrentInstallationType();
|
|
263748
|
-
const version2 = typeof MACRO !== "undefined" ? "1.60.
|
|
263748
|
+
const version2 = typeof MACRO !== "undefined" ? "1.60.1" : "unknown";
|
|
263749
263749
|
const installationPath = await getInstallationPath();
|
|
263750
263750
|
const invokedBinary = getInvokedBinary();
|
|
263751
263751
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -264680,8 +264680,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
264680
264680
|
const maxVersion = await getMaxVersion();
|
|
264681
264681
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
264682
264682
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
264683
|
-
if (gte("1.60.
|
|
264684
|
-
logForDebugging(`Native installer: current version ${"1.60.
|
|
264683
|
+
if (gte("1.60.1", maxVersion)) {
|
|
264684
|
+
logForDebugging(`Native installer: current version ${"1.60.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
264685
264685
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
264686
264686
|
latency_ms: Date.now() - startTime,
|
|
264687
264687
|
max_version: maxVersion,
|
|
@@ -264692,7 +264692,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
264692
264692
|
version2 = maxVersion;
|
|
264693
264693
|
}
|
|
264694
264694
|
}
|
|
264695
|
-
if (!forceReinstall && version2 === "1.60.
|
|
264695
|
+
if (!forceReinstall && version2 === "1.60.1" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
|
|
264696
264696
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
264697
264697
|
logEvent("tengu_native_update_complete", {
|
|
264698
264698
|
latency_ms: Date.now() - startTime,
|
|
@@ -334887,7 +334887,7 @@ function isAnyTracingEnabled() {
|
|
|
334887
334887
|
return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
|
|
334888
334888
|
}
|
|
334889
334889
|
function getTracer() {
|
|
334890
|
-
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.60.
|
|
334890
|
+
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.60.1");
|
|
334891
334891
|
}
|
|
334892
334892
|
function createSpanAttributes(spanType, customAttributes = {}) {
|
|
334893
334893
|
const baseAttributes = getTelemetryAttributes();
|
|
@@ -364390,7 +364390,7 @@ function Feedback({
|
|
|
364390
364390
|
platform: env2.platform,
|
|
364391
364391
|
gitRepo: envInfo.isGit,
|
|
364392
364392
|
terminal: env2.terminal,
|
|
364393
|
-
version: "1.60.
|
|
364393
|
+
version: "1.60.1",
|
|
364394
364394
|
transcript: normalizeMessagesForAPI(messages),
|
|
364395
364395
|
errors: sanitizedErrors,
|
|
364396
364396
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -364582,7 +364582,7 @@ function Feedback({
|
|
|
364582
364582
|
", ",
|
|
364583
364583
|
env2.terminal,
|
|
364584
364584
|
", v",
|
|
364585
|
-
"1.60.
|
|
364585
|
+
"1.60.1"
|
|
364586
364586
|
]
|
|
364587
364587
|
}, undefined, true, undefined, this)
|
|
364588
364588
|
]
|
|
@@ -364688,7 +364688,7 @@ ${sanitizedDescription}
|
|
|
364688
364688
|
` + `**Environment Info**
|
|
364689
364689
|
` + `- Platform: ${env2.platform}
|
|
364690
364690
|
` + `- Terminal: ${env2.terminal}
|
|
364691
|
-
` + `- Version: ${"1.60.
|
|
364691
|
+
` + `- Version: ${"1.60.1"}
|
|
364692
364692
|
` + `- Feedback ID: ${feedbackId}
|
|
364693
364693
|
` + `
|
|
364694
364694
|
**Errors**
|
|
@@ -367798,7 +367798,7 @@ function buildPrimarySection() {
|
|
|
367798
367798
|
}, undefined, false, undefined, this);
|
|
367799
367799
|
return [{
|
|
367800
367800
|
label: "Version",
|
|
367801
|
-
value: "1.60.
|
|
367801
|
+
value: "1.60.1"
|
|
367802
367802
|
}, {
|
|
367803
367803
|
label: "Session name",
|
|
367804
367804
|
value: nameValue
|
|
@@ -371128,7 +371128,7 @@ function Config({
|
|
|
371128
371128
|
}
|
|
371129
371129
|
}, undefined, false, undefined, this)
|
|
371130
371130
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
|
|
371131
|
-
currentVersion: "1.60.
|
|
371131
|
+
currentVersion: "1.60.1",
|
|
371132
371132
|
onChoice: (choice) => {
|
|
371133
371133
|
setShowSubmenu(null);
|
|
371134
371134
|
setTabsHidden(false);
|
|
@@ -371140,7 +371140,7 @@ function Config({
|
|
|
371140
371140
|
autoUpdatesChannel: "stable"
|
|
371141
371141
|
};
|
|
371142
371142
|
if (choice === "stay") {
|
|
371143
|
-
newSettings.minimumVersion = "1.60.
|
|
371143
|
+
newSettings.minimumVersion = "1.60.1";
|
|
371144
371144
|
}
|
|
371145
371145
|
updateSettingsForSource("userSettings", newSettings);
|
|
371146
371146
|
setSettingsData((prev_27) => ({
|
|
@@ -379204,7 +379204,7 @@ function HelpV2(t0) {
|
|
|
379204
379204
|
let t6;
|
|
379205
379205
|
if ($2[31] !== tabs) {
|
|
379206
379206
|
t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
|
|
379207
|
-
title: `UR v${"1.60.
|
|
379207
|
+
title: `UR v${"1.60.1"}`,
|
|
379208
379208
|
color: "professionalBlue",
|
|
379209
379209
|
defaultTab: "general",
|
|
379210
379210
|
children: tabs
|
|
@@ -380121,7 +380121,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
|
|
|
380121
380121
|
async function handleInitialize(options2) {
|
|
380122
380122
|
return {
|
|
380123
380123
|
name: "UR",
|
|
380124
|
-
version: "1.60.
|
|
380124
|
+
version: "1.60.1",
|
|
380125
380125
|
protocolVersion: "0.1.0",
|
|
380126
380126
|
workspaceRoot: options2.cwd,
|
|
380127
380127
|
capabilities: {
|
|
@@ -397229,7 +397229,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
397229
397229
|
return [];
|
|
397230
397230
|
}
|
|
397231
397231
|
}
|
|
397232
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.60.
|
|
397232
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.60.1") {
|
|
397233
397233
|
if (process.env.USER_TYPE === "ant") {
|
|
397234
397234
|
const changelog = "";
|
|
397235
397235
|
if (changelog) {
|
|
@@ -397256,7 +397256,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.60.0")
|
|
|
397256
397256
|
releaseNotes
|
|
397257
397257
|
};
|
|
397258
397258
|
}
|
|
397259
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.60.
|
|
397259
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.60.1") {
|
|
397260
397260
|
if (process.env.USER_TYPE === "ant") {
|
|
397261
397261
|
const changelog = "";
|
|
397262
397262
|
if (changelog) {
|
|
@@ -400113,7 +400113,7 @@ function getRecentActivitySync() {
|
|
|
400113
400113
|
return cachedActivity;
|
|
400114
400114
|
}
|
|
400115
400115
|
function getLogoDisplayData() {
|
|
400116
|
-
const version2 = process.env.DEMO_VERSION ?? "1.60.
|
|
400116
|
+
const version2 = process.env.DEMO_VERSION ?? "1.60.1";
|
|
400117
400117
|
const serverUrl = getDirectConnectServerUrl();
|
|
400118
400118
|
const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
|
|
400119
400119
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -400997,7 +400997,7 @@ function LogoV2() {
|
|
|
400997
400997
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
400998
400998
|
t2 = () => {
|
|
400999
400999
|
const currentConfig2 = getGlobalConfig();
|
|
401000
|
-
if (currentConfig2.lastReleaseNotesSeen === "1.60.
|
|
401000
|
+
if (currentConfig2.lastReleaseNotesSeen === "1.60.1") {
|
|
401001
401001
|
return;
|
|
401002
401002
|
}
|
|
401003
401003
|
saveGlobalConfig(_temp327);
|
|
@@ -401682,12 +401682,12 @@ function LogoV2() {
|
|
|
401682
401682
|
return t41;
|
|
401683
401683
|
}
|
|
401684
401684
|
function _temp327(current) {
|
|
401685
|
-
if (current.lastReleaseNotesSeen === "1.60.
|
|
401685
|
+
if (current.lastReleaseNotesSeen === "1.60.1") {
|
|
401686
401686
|
return current;
|
|
401687
401687
|
}
|
|
401688
401688
|
return {
|
|
401689
401689
|
...current,
|
|
401690
|
-
lastReleaseNotesSeen: "1.60.
|
|
401690
|
+
lastReleaseNotesSeen: "1.60.1"
|
|
401691
401691
|
};
|
|
401692
401692
|
}
|
|
401693
401693
|
function _temp241(s_0) {
|
|
@@ -418485,7 +418485,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
|
|
|
418485
418485
|
if (spec.name !== specName) {
|
|
418486
418486
|
throw new Error("Agentic CI workflow spec name does not match");
|
|
418487
418487
|
}
|
|
418488
|
-
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.60.
|
|
418488
|
+
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.60.1" : "1.60.1");
|
|
418489
418489
|
if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
|
|
418490
418490
|
throw new Error("invalid ur-agent package version");
|
|
418491
418491
|
}
|
|
@@ -419478,7 +419478,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
|
|
|
419478
419478
|
path: ".github/workflows/ur.yml",
|
|
419479
419479
|
root: "project",
|
|
419480
419480
|
content: compileAgenticCiWorkflow("default", {
|
|
419481
|
-
packageVersion: typeof MACRO !== "undefined" ? "1.60.
|
|
419481
|
+
packageVersion: typeof MACRO !== "undefined" ? "1.60.1" : "1.60.1"
|
|
419482
419482
|
})
|
|
419483
419483
|
},
|
|
419484
419484
|
{
|
|
@@ -419541,7 +419541,7 @@ function value(tokens, flag) {
|
|
|
419541
419541
|
return index2 >= 0 ? tokens[index2 + 1] : undefined;
|
|
419542
419542
|
}
|
|
419543
419543
|
function cliVersion() {
|
|
419544
|
-
return typeof MACRO !== "undefined" ? "1.60.
|
|
419544
|
+
return typeof MACRO !== "undefined" ? "1.60.1" : "1.60.1";
|
|
419545
419545
|
}
|
|
419546
419546
|
function workflowPath(cwd2) {
|
|
419547
419547
|
return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
|
|
@@ -425397,7 +425397,7 @@ function createAcpStdioApp(deps) {
|
|
|
425397
425397
|
}
|
|
425398
425398
|
},
|
|
425399
425399
|
authMethods: [],
|
|
425400
|
-
agentInfo: { name: "UR-Nexus", version: "1.60.
|
|
425400
|
+
agentInfo: { name: "UR-Nexus", version: "1.60.1" }
|
|
425401
425401
|
})).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
|
|
425402
425402
|
const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
|
|
425403
425403
|
await runtime2.announce({
|
|
@@ -425494,7 +425494,7 @@ function createAcpStdioAgent(deps) {
|
|
|
425494
425494
|
}
|
|
425495
425495
|
},
|
|
425496
425496
|
authMethods: [],
|
|
425497
|
-
agentInfo: { name: "UR-Nexus", version: "1.60.
|
|
425497
|
+
agentInfo: { name: "UR-Nexus", version: "1.60.1" }
|
|
425498
425498
|
});
|
|
425499
425499
|
return;
|
|
425500
425500
|
case "authenticate":
|
|
@@ -434860,11 +434860,12 @@ function summarizeSubagentCosts(subagentsDir) {
|
|
|
434860
434860
|
}
|
|
434861
434861
|
return rows.sort((a2, b) => b.costUSD - a2.costUSD);
|
|
434862
434862
|
}
|
|
434863
|
-
function formatSubagentCosts(rows, json2) {
|
|
434863
|
+
function formatSubagentCosts(rows, json2, searchedDir) {
|
|
434864
434864
|
if (json2)
|
|
434865
|
-
return JSON.stringify({ subagents: rows }, null, 2);
|
|
434865
|
+
return JSON.stringify({ subagents: rows, searchedDir }, null, 2);
|
|
434866
434866
|
if (rows.length === 0) {
|
|
434867
|
-
return
|
|
434867
|
+
return searchedDir ? `No subagent transcripts in ${searchedDir}.
|
|
434868
|
+
Either this session spawned no subagents, or that is not where they were written.` : "No subagent transcripts found for this session.";
|
|
434868
434869
|
}
|
|
434869
434870
|
const billed = rows.some((row) => row.costUSD > 0);
|
|
434870
434871
|
const width = Math.max(...rows.map((row) => row.agentId.length), 5);
|
|
@@ -434923,7 +434924,7 @@ var call78 = async (args, context6) => {
|
|
|
434923
434924
|
}
|
|
434924
434925
|
return {
|
|
434925
434926
|
type: "text",
|
|
434926
|
-
value: formatSubagentCosts(summarizeSubagentCosts(dir), json2)
|
|
434927
|
+
value: formatSubagentCosts(summarizeSubagentCosts(dir), json2, dir)
|
|
434927
434928
|
};
|
|
434928
434929
|
}
|
|
434929
434930
|
let messages;
|
|
@@ -435120,7 +435121,8 @@ function verifyMemoryStore(dir) {
|
|
|
435120
435121
|
return {
|
|
435121
435122
|
dir,
|
|
435122
435123
|
manifestPath: manifestPathFor2(dir),
|
|
435123
|
-
|
|
435124
|
+
exists: existsSync65(dir),
|
|
435125
|
+
valid: manifest !== null && entries.length > 0 && counts.modified === 0 && counts.untracked === 0 && counts.missing === 0,
|
|
435124
435126
|
entries,
|
|
435125
435127
|
counts
|
|
435126
435128
|
};
|
|
@@ -435148,8 +435150,16 @@ function quarantineMemoryStore(dir, now8 = new Date) {
|
|
|
435148
435150
|
function formatMemoryIntegrity(report, json2) {
|
|
435149
435151
|
if (json2)
|
|
435150
435152
|
return JSON.stringify(report, null, 2);
|
|
435151
|
-
if (!
|
|
435152
|
-
return
|
|
435153
|
+
if (!report.exists) {
|
|
435154
|
+
return `${report.dir}
|
|
435155
|
+
` + ` no such directory \u2014 nothing was checked. If you expected memory here,
|
|
435156
|
+
` + ` the path is wrong; verifying a path that does not exist proves nothing.`;
|
|
435157
|
+
}
|
|
435158
|
+
if (report.entries.length === 0) {
|
|
435159
|
+
return `${report.dir}
|
|
435160
|
+
` + ` empty \u2014 no memory files, so nothing was checked.
|
|
435161
|
+
` + ` This is not a pass: an empty store and a correctly verified one are
|
|
435162
|
+
` + ` different claims, and only the second is evidence of integrity.`;
|
|
435153
435163
|
}
|
|
435154
435164
|
const lines = [
|
|
435155
435165
|
`${report.dir}`,
|
|
@@ -435234,7 +435244,8 @@ var call80 = async (args) => {
|
|
|
435234
435244
|
};
|
|
435235
435245
|
}
|
|
435236
435246
|
const reports = stores.map((dir) => verifyMemoryStore(dir));
|
|
435237
|
-
|
|
435247
|
+
const tampered = reports.some((report) => report.counts.modified > 0 || report.counts.missing > 0 || report.counts.untracked > 0);
|
|
435248
|
+
if (tampered)
|
|
435238
435249
|
process.exitCode = 1;
|
|
435239
435250
|
return {
|
|
435240
435251
|
type: "text",
|
|
@@ -633511,7 +633522,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
|
|
|
633511
633522
|
smapsRollup,
|
|
633512
633523
|
platform: process.platform,
|
|
633513
633524
|
nodeVersion: process.version,
|
|
633514
|
-
ccVersion: "1.60.
|
|
633525
|
+
ccVersion: "1.60.1"
|
|
633515
633526
|
};
|
|
633516
633527
|
}
|
|
633517
633528
|
async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
|
|
@@ -634091,7 +634102,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
634091
634102
|
var call152 = async () => {
|
|
634092
634103
|
return {
|
|
634093
634104
|
type: "text",
|
|
634094
|
-
value: "1.60.
|
|
634105
|
+
value: "1.60.1"
|
|
634095
634106
|
};
|
|
634096
634107
|
}, version2, version_default;
|
|
634097
634108
|
var init_version = __esm(() => {
|
|
@@ -645162,7 +645173,7 @@ function generateHtmlReport(data, insights) {
|
|
|
645162
645173
|
</html>`;
|
|
645163
645174
|
}
|
|
645164
645175
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
645165
|
-
const version3 = typeof MACRO !== "undefined" ? "1.60.
|
|
645176
|
+
const version3 = typeof MACRO !== "undefined" ? "1.60.1" : "unknown";
|
|
645166
645177
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
645167
645178
|
const facets_summary = {
|
|
645168
645179
|
total: facets.size,
|
|
@@ -649471,7 +649482,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
649471
649482
|
init_settings2();
|
|
649472
649483
|
init_slowOperations();
|
|
649473
649484
|
init_uuid();
|
|
649474
|
-
VERSION7 = typeof MACRO !== "undefined" ? "1.60.
|
|
649485
|
+
VERSION7 = typeof MACRO !== "undefined" ? "1.60.1" : "unknown";
|
|
649475
649486
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
649476
649487
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
649477
649488
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -650686,7 +650697,7 @@ var init_filesystem = __esm(() => {
|
|
|
650686
650697
|
});
|
|
650687
650698
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
650688
650699
|
const nonce = randomBytes20(16).toString("hex");
|
|
650689
|
-
return join230(getURTempDir(), "bundled-skills", "1.60.
|
|
650700
|
+
return join230(getURTempDir(), "bundled-skills", "1.60.1", nonce);
|
|
650690
650701
|
});
|
|
650691
650702
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
650692
650703
|
});
|
|
@@ -656981,7 +656992,7 @@ function computeFingerprint(messageText2, version3) {
|
|
|
656981
656992
|
}
|
|
656982
656993
|
function computeFingerprintFromMessages(messages) {
|
|
656983
656994
|
const firstMessageText = extractFirstMessageText(messages);
|
|
656984
|
-
return computeFingerprint(firstMessageText, "1.60.
|
|
656995
|
+
return computeFingerprint(firstMessageText, "1.60.1");
|
|
656985
656996
|
}
|
|
656986
656997
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
656987
656998
|
var init_fingerprint = () => {};
|
|
@@ -658877,7 +658888,7 @@ async function sideQuery(opts) {
|
|
|
658877
658888
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
658878
658889
|
}
|
|
658879
658890
|
const messageText2 = extractFirstUserMessageText(messages);
|
|
658880
|
-
const fingerprint2 = computeFingerprint(messageText2, "1.60.
|
|
658891
|
+
const fingerprint2 = computeFingerprint(messageText2, "1.60.1");
|
|
658881
658892
|
const attributionHeader = getAttributionHeader(fingerprint2);
|
|
658882
658893
|
const systemBlocks = [
|
|
658883
658894
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -663648,7 +663659,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
663648
663659
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
663649
663660
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
663650
663661
|
betas: getSdkBetas(),
|
|
663651
|
-
ur_version: "1.60.
|
|
663662
|
+
ur_version: "1.60.1",
|
|
663652
663663
|
output_style: outputStyle2,
|
|
663653
663664
|
agents: inputs.agents.map((agent2) => agent2.agentType),
|
|
663654
663665
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
|
|
@@ -677508,7 +677519,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
677508
677519
|
function getSemverPart(version3) {
|
|
677509
677520
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
677510
677521
|
}
|
|
677511
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.60.
|
|
677522
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.60.1") {
|
|
677512
677523
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react222.useState(() => getSemverPart(initialVersion));
|
|
677513
677524
|
if (!updatedVersion) {
|
|
677514
677525
|
return null;
|
|
@@ -677557,7 +677568,7 @@ function AutoUpdater({
|
|
|
677557
677568
|
return;
|
|
677558
677569
|
}
|
|
677559
677570
|
if (false) {}
|
|
677560
|
-
const currentVersion = "1.60.
|
|
677571
|
+
const currentVersion = "1.60.1";
|
|
677561
677572
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
677562
677573
|
let latestVersion = await getLatestVersion(channel);
|
|
677563
677574
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -677786,12 +677797,12 @@ function NativeAutoUpdater({
|
|
|
677786
677797
|
logEvent("tengu_native_auto_updater_start", {});
|
|
677787
677798
|
try {
|
|
677788
677799
|
const maxVersion = await getMaxVersion();
|
|
677789
|
-
if (maxVersion && gt("1.60.
|
|
677800
|
+
if (maxVersion && gt("1.60.1", maxVersion)) {
|
|
677790
677801
|
const msg = await getMaxVersionMessage();
|
|
677791
677802
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
677792
677803
|
}
|
|
677793
677804
|
const result = await installLatest(channel);
|
|
677794
|
-
const currentVersion = "1.60.
|
|
677805
|
+
const currentVersion = "1.60.1";
|
|
677795
677806
|
const latencyMs = Date.now() - startTime;
|
|
677796
677807
|
if (result.lockFailed) {
|
|
677797
677808
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -677928,17 +677939,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
677928
677939
|
const maxVersion = await getMaxVersion();
|
|
677929
677940
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
677930
677941
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
677931
|
-
if (gte("1.60.
|
|
677932
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.60.
|
|
677942
|
+
if (gte("1.60.1", maxVersion)) {
|
|
677943
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.60.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
677933
677944
|
setUpdateAvailable(false);
|
|
677934
677945
|
return;
|
|
677935
677946
|
}
|
|
677936
677947
|
latest = maxVersion;
|
|
677937
677948
|
}
|
|
677938
|
-
const hasUpdate = latest && !gte("1.60.
|
|
677949
|
+
const hasUpdate = latest && !gte("1.60.1", latest) && !shouldSkipVersion(latest);
|
|
677939
677950
|
setUpdateAvailable(!!hasUpdate);
|
|
677940
677951
|
if (hasUpdate) {
|
|
677941
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.60.
|
|
677952
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.60.1"} -> ${latest}`);
|
|
677942
677953
|
}
|
|
677943
677954
|
};
|
|
677944
677955
|
$2[0] = t1;
|
|
@@ -677972,7 +677983,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
677972
677983
|
wrap: "truncate",
|
|
677973
677984
|
children: [
|
|
677974
677985
|
"currentVersion: ",
|
|
677975
|
-
"1.60.
|
|
677986
|
+
"1.60.1"
|
|
677976
677987
|
]
|
|
677977
677988
|
}, undefined, true, undefined, this);
|
|
677978
677989
|
$2[3] = verbose;
|
|
@@ -688669,7 +688680,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
688669
688680
|
project_dir: getOriginalCwd(),
|
|
688670
688681
|
added_dirs: addedDirs
|
|
688671
688682
|
},
|
|
688672
|
-
version: "1.60.
|
|
688683
|
+
version: "1.60.1",
|
|
688673
688684
|
output_style: {
|
|
688674
688685
|
name: outputStyleName
|
|
688675
688686
|
},
|
|
@@ -688752,7 +688763,7 @@ function StatusLineInner({
|
|
|
688752
688763
|
const taskValues = Object.values(tasks2);
|
|
688753
688764
|
const taskRunningCount = taskValues.filter((task2) => task2.status === "running" || task2.status === "pending").length;
|
|
688754
688765
|
const defaultStatusLineText = buildDefaultStatusBar({
|
|
688755
|
-
version: "1.60.
|
|
688766
|
+
version: "1.60.1",
|
|
688756
688767
|
providerLabel: providerRuntime.providerLabel,
|
|
688757
688768
|
authMode: providerRuntime.authLabel,
|
|
688758
688769
|
model: providerRuntime.model ?? renderModelName(mainLoopModel),
|
|
@@ -700895,7 +700906,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
|
|
|
700895
700906
|
} catch {}
|
|
700896
700907
|
const data = {
|
|
700897
700908
|
trigger: trigger2,
|
|
700898
|
-
version: "1.60.
|
|
700909
|
+
version: "1.60.1",
|
|
700899
700910
|
platform: process.platform,
|
|
700900
700911
|
transcript,
|
|
700901
700912
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -713175,7 +713186,7 @@ function WelcomeV2() {
|
|
|
713175
713186
|
dimColor: true,
|
|
713176
713187
|
children: [
|
|
713177
713188
|
"v",
|
|
713178
|
-
"1.60.
|
|
713189
|
+
"1.60.1"
|
|
713179
713190
|
]
|
|
713180
713191
|
}, undefined, true, undefined, this)
|
|
713181
713192
|
]
|
|
@@ -714435,7 +714446,7 @@ function completeOnboarding() {
|
|
|
714435
714446
|
saveGlobalConfig((current) => ({
|
|
714436
714447
|
...current,
|
|
714437
714448
|
hasCompletedOnboarding: true,
|
|
714438
|
-
lastOnboardingVersion: "1.60.
|
|
714449
|
+
lastOnboardingVersion: "1.60.1"
|
|
714439
714450
|
}));
|
|
714440
714451
|
}
|
|
714441
714452
|
function showDialog(root2, renderer) {
|
|
@@ -719479,7 +719490,7 @@ function appendToLog(path24, message) {
|
|
|
719479
719490
|
cwd: getFsImplementation().cwd(),
|
|
719480
719491
|
userType: process.env.USER_TYPE,
|
|
719481
719492
|
sessionId: getSessionId(),
|
|
719482
|
-
version: "1.60.
|
|
719493
|
+
version: "1.60.1"
|
|
719483
719494
|
};
|
|
719484
719495
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
719485
719496
|
}
|
|
@@ -723638,8 +723649,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
723638
723649
|
}
|
|
723639
723650
|
async function checkEnvLessBridgeMinVersion() {
|
|
723640
723651
|
const cfg = await getEnvLessBridgeConfig();
|
|
723641
|
-
if (cfg.min_version && lt("1.60.
|
|
723642
|
-
return `Your version of UR (${"1.60.
|
|
723652
|
+
if (cfg.min_version && lt("1.60.1", cfg.min_version)) {
|
|
723653
|
+
return `Your version of UR (${"1.60.1"}) is too old for Remote Control.
|
|
723643
723654
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
723644
723655
|
}
|
|
723645
723656
|
return null;
|
|
@@ -724113,7 +724124,7 @@ async function initBridgeCore(params) {
|
|
|
724113
724124
|
const rawApi = createBridgeApiClient({
|
|
724114
724125
|
baseUrl,
|
|
724115
724126
|
getAccessToken,
|
|
724116
|
-
runnerVersion: "1.60.
|
|
724127
|
+
runnerVersion: "1.60.1",
|
|
724117
724128
|
onDebug: logForDebugging,
|
|
724118
724129
|
onAuth401,
|
|
724119
724130
|
getTrustedDeviceToken
|
|
@@ -733589,7 +733600,7 @@ function getAgUiCapabilities() {
|
|
|
733589
733600
|
name: "UR-Nexus",
|
|
733590
733601
|
type: "ur-nexus",
|
|
733591
733602
|
description: "Provider-flexible, local-first autonomous engineering workflow agent.",
|
|
733592
|
-
version: "1.60.
|
|
733603
|
+
version: "1.60.1",
|
|
733593
733604
|
provider: "UR",
|
|
733594
733605
|
documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
|
|
733595
733606
|
},
|
|
@@ -734729,7 +734740,7 @@ function createMCPServer(cwd4, debug2, verbose) {
|
|
|
734729
734740
|
};
|
|
734730
734741
|
const server2 = new Server({
|
|
734731
734742
|
name: "ur-nexus",
|
|
734732
|
-
version: "1.60.
|
|
734743
|
+
version: "1.60.1"
|
|
734733
734744
|
}, {
|
|
734734
734745
|
capabilities: {
|
|
734735
734746
|
tools: {}
|
|
@@ -735887,7 +735898,7 @@ function thrownResponse(error40) {
|
|
|
735887
735898
|
}
|
|
735888
735899
|
async function createUrMcp2026Runtime(options4) {
|
|
735889
735900
|
const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
|
|
735890
|
-
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.60.
|
|
735901
|
+
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.60.1" }, { capabilities: {} });
|
|
735891
735902
|
const [clientTransport, serverTransport] = createLinkedTransportPair();
|
|
735892
735903
|
try {
|
|
735893
735904
|
await server2.connect(serverTransport);
|
|
@@ -735898,7 +735909,7 @@ async function createUrMcp2026Runtime(options4) {
|
|
|
735898
735909
|
}
|
|
735899
735910
|
const runtime2 = new Mcp2026Runtime({
|
|
735900
735911
|
cwd: options4.cwd,
|
|
735901
|
-
version: "1.60.
|
|
735912
|
+
version: "1.60.1",
|
|
735902
735913
|
backend: {
|
|
735903
735914
|
listTools: async () => {
|
|
735904
735915
|
const listed = await client2.listTools();
|
|
@@ -738031,7 +738042,7 @@ async function update() {
|
|
|
738031
738042
|
logEvent("tengu_update_check", {});
|
|
738032
738043
|
const diagnostic2 = await getDoctorDiagnostic();
|
|
738033
738044
|
const result = await checkUpgradeStatus({
|
|
738034
|
-
currentVersion: "1.60.
|
|
738045
|
+
currentVersion: "1.60.1",
|
|
738035
738046
|
packageName: UR_AGENT_PACKAGE_NAME,
|
|
738036
738047
|
installationType: diagnostic2.installationType,
|
|
738037
738048
|
latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
|
|
@@ -739347,7 +739358,7 @@ ${customInstructions}` : customInstructions;
|
|
|
739347
739358
|
}
|
|
739348
739359
|
}
|
|
739349
739360
|
logForDiagnosticsNoPII("info", "started", {
|
|
739350
|
-
version: "1.60.
|
|
739361
|
+
version: "1.60.1",
|
|
739351
739362
|
is_native_binary: isInBundledMode()
|
|
739352
739363
|
});
|
|
739353
739364
|
registerCleanup(async () => {
|
|
@@ -740133,7 +740144,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
740133
740144
|
pendingHookMessages
|
|
740134
740145
|
}, renderAndRun);
|
|
740135
740146
|
}
|
|
740136
|
-
}).version("1.60.
|
|
740147
|
+
}).version("1.60.1 (UR-Nexus)", "-v, --version", "Output the version number");
|
|
740137
740148
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
740138
740149
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
740139
740150
|
if (canUserConfigureAdvisor()) {
|
|
@@ -741181,7 +741192,7 @@ if (false) {}
|
|
|
741181
741192
|
async function main2() {
|
|
741182
741193
|
const args = process.argv.slice(2);
|
|
741183
741194
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
741184
|
-
console.log(`${"1.60.
|
|
741195
|
+
console.log(`${"1.60.1"} (UR-Nexus)`);
|
|
741185
741196
|
return;
|
|
741186
741197
|
}
|
|
741187
741198
|
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.60.
|
|
48
|
+
<p class="eyebrow">Version 1.60.1</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.60.
|
|
5
|
+
"version": "1.60.1",
|
|
6
6
|
"publisher": "ur-nexus",
|
|
7
7
|
"engines": {
|
|
8
8
|
"vscode": "^1.92.0"
|
package/package.json
CHANGED