ur-agent 1.13.1 → 1.13.2
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 +22 -0
- package/dist/cli.js +163 -125
- package/docs/VALIDATION.md +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.13.2
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- **Top-level code-index and role-mode commands.** `ur code-index` and
|
|
7
|
+
`ur role-mode` are now registered in the main CLI, matching the shipped
|
|
8
|
+
command modules and help output.
|
|
9
|
+
- **Agent-task review controls.** `ur agent-task` now exposes `--force` and
|
|
10
|
+
`--no-review` so PR creation can either override or skip the self-review gate
|
|
11
|
+
intentionally.
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
- **Self-review PR diff coverage.** The pre-PR self-review now resolves a real
|
|
15
|
+
base ref across local and remote branch names, includes committed branch
|
|
16
|
+
changes, tracked working-tree changes, and untracked files.
|
|
17
|
+
- **macOS image paste reliability.** Clipboard image detection now recognizes
|
|
18
|
+
TIFF-only pasteboard images, converts TIFF/BMP payloads to PNG before upload,
|
|
19
|
+
and surfaces real image-read failures instead of reporting "no image found."
|
|
20
|
+
|
|
21
|
+
### Verified
|
|
22
|
+
- Rebuilt `dist/cli.js` at 1.13.2 and verified npm package metadata resolves
|
|
23
|
+
to `ur-agent@1.13.2`.
|
|
24
|
+
|
|
3
25
|
## 1.13.1
|
|
4
26
|
|
|
5
27
|
### Added
|
package/dist/cli.js
CHANGED
|
@@ -12536,7 +12536,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
|
|
|
12536
12536
|
function formatA2AAgentCard(options = {}, pretty = true) {
|
|
12537
12537
|
return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
|
|
12538
12538
|
}
|
|
12539
|
-
var urVersion = "1.13.
|
|
12539
|
+
var urVersion = "1.13.2", coverage, priorityRoadmap;
|
|
12540
12540
|
var init_trends = __esm(() => {
|
|
12541
12541
|
coverage = [
|
|
12542
12542
|
{
|
|
@@ -70117,7 +70117,7 @@ var init_auth = __esm(() => {
|
|
|
70117
70117
|
|
|
70118
70118
|
// src/utils/userAgent.ts
|
|
70119
70119
|
function getURCodeUserAgent() {
|
|
70120
|
-
return `ur/${"1.13.
|
|
70120
|
+
return `ur/${"1.13.2"}`;
|
|
70121
70121
|
}
|
|
70122
70122
|
|
|
70123
70123
|
// src/utils/workloadContext.ts
|
|
@@ -70139,7 +70139,7 @@ function getUserAgent() {
|
|
|
70139
70139
|
const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
|
|
70140
70140
|
const workload = getWorkload();
|
|
70141
70141
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
70142
|
-
return `ur-cli/${"1.13.
|
|
70142
|
+
return `ur-cli/${"1.13.2"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
70143
70143
|
}
|
|
70144
70144
|
function getMCPUserAgent() {
|
|
70145
70145
|
const parts = [];
|
|
@@ -70153,7 +70153,7 @@ function getMCPUserAgent() {
|
|
|
70153
70153
|
parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
|
|
70154
70154
|
}
|
|
70155
70155
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
70156
|
-
return `ur/${"1.13.
|
|
70156
|
+
return `ur/${"1.13.2"}${suffix}`;
|
|
70157
70157
|
}
|
|
70158
70158
|
function getWebFetchUserAgent() {
|
|
70159
70159
|
return `UR-User (${getURCodeUserAgent()})`;
|
|
@@ -70291,7 +70291,7 @@ var init_user = __esm(() => {
|
|
|
70291
70291
|
deviceId,
|
|
70292
70292
|
sessionId: getSessionId(),
|
|
70293
70293
|
email: getEmail(),
|
|
70294
|
-
appVersion: "1.13.
|
|
70294
|
+
appVersion: "1.13.2",
|
|
70295
70295
|
platform: getHostPlatformForAnalytics(),
|
|
70296
70296
|
organizationUuid,
|
|
70297
70297
|
accountUuid,
|
|
@@ -76068,7 +76068,7 @@ var init_metadata = __esm(() => {
|
|
|
76068
76068
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
76069
76069
|
WHITESPACE_REGEX = /\s+/;
|
|
76070
76070
|
getVersionBase = memoize_default(() => {
|
|
76071
|
-
const match = "1.13.
|
|
76071
|
+
const match = "1.13.2".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
76072
76072
|
return match ? match[0] : undefined;
|
|
76073
76073
|
});
|
|
76074
76074
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -76108,7 +76108,7 @@ var init_metadata = __esm(() => {
|
|
|
76108
76108
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
76109
76109
|
isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
|
|
76110
76110
|
isURAiAuth: isURAISubscriber2(),
|
|
76111
|
-
version: "1.13.
|
|
76111
|
+
version: "1.13.2",
|
|
76112
76112
|
versionBase: getVersionBase(),
|
|
76113
76113
|
buildTime: "",
|
|
76114
76114
|
deploymentEnvironment: env3.detectDeploymentEnvironment(),
|
|
@@ -76778,7 +76778,7 @@ function initialize1PEventLogging() {
|
|
|
76778
76778
|
const platform2 = getPlatform();
|
|
76779
76779
|
const attributes = {
|
|
76780
76780
|
[import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
|
|
76781
|
-
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.13.
|
|
76781
|
+
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.13.2"
|
|
76782
76782
|
};
|
|
76783
76783
|
if (platform2 === "wsl") {
|
|
76784
76784
|
const wslVersion = getWslVersion();
|
|
@@ -76805,7 +76805,7 @@ function initialize1PEventLogging() {
|
|
|
76805
76805
|
})
|
|
76806
76806
|
]
|
|
76807
76807
|
});
|
|
76808
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.13.
|
|
76808
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.13.2");
|
|
76809
76809
|
}
|
|
76810
76810
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
76811
76811
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -78669,7 +78669,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
78669
78669
|
if (!isAttributionHeaderEnabled()) {
|
|
78670
78670
|
return "";
|
|
78671
78671
|
}
|
|
78672
|
-
const version2 = `${"1.13.
|
|
78672
|
+
const version2 = `${"1.13.2"}.${fingerprint}`;
|
|
78673
78673
|
const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
|
|
78674
78674
|
const cch = "";
|
|
78675
78675
|
const workload = getWorkload();
|
|
@@ -185297,7 +185297,7 @@ function getTelemetryAttributes() {
|
|
|
185297
185297
|
attributes["session.id"] = sessionId;
|
|
185298
185298
|
}
|
|
185299
185299
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
185300
|
-
attributes["app.version"] = "1.13.
|
|
185300
|
+
attributes["app.version"] = "1.13.2";
|
|
185301
185301
|
}
|
|
185302
185302
|
const oauthAccount = getOauthAccountInfo();
|
|
185303
185303
|
if (oauthAccount) {
|
|
@@ -221086,7 +221086,7 @@ function getInstallationEnv() {
|
|
|
221086
221086
|
return;
|
|
221087
221087
|
}
|
|
221088
221088
|
function getURCodeVersion() {
|
|
221089
|
-
return "1.13.
|
|
221089
|
+
return "1.13.2";
|
|
221090
221090
|
}
|
|
221091
221091
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
221092
221092
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -223814,7 +223814,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
223814
223814
|
const client2 = new Client({
|
|
223815
223815
|
name: "ur",
|
|
223816
223816
|
title: "UR",
|
|
223817
|
-
version: "1.13.
|
|
223817
|
+
version: "1.13.2",
|
|
223818
223818
|
description: "URHQ's agentic coding tool",
|
|
223819
223819
|
websiteUrl: PRODUCT_URL
|
|
223820
223820
|
}, {
|
|
@@ -224168,7 +224168,7 @@ var init_client5 = __esm(() => {
|
|
|
224168
224168
|
const client2 = new Client({
|
|
224169
224169
|
name: "ur",
|
|
224170
224170
|
title: "UR",
|
|
224171
|
-
version: "1.13.
|
|
224171
|
+
version: "1.13.2",
|
|
224172
224172
|
description: "URHQ's agentic coding tool",
|
|
224173
224173
|
websiteUrl: PRODUCT_URL
|
|
224174
224174
|
}, {
|
|
@@ -228852,8 +228852,8 @@ function getClipboardCommands() {
|
|
|
228852
228852
|
const screenshotPath = tempPaths[platform4] || tempPaths.linux;
|
|
228853
228853
|
const commands = {
|
|
228854
228854
|
darwin: {
|
|
228855
|
-
checkImage: `osascript -e '
|
|
228856
|
-
saveImage: `osascript -e 'set
|
|
228855
|
+
checkImage: `osascript -e 'clipboard info' 2>/dev/null | grep -qiE 'PNGf|TIFF'`,
|
|
228856
|
+
saveImage: `osascript -e 'try' -e 'set imgData to (the clipboard as \xABclass PNGf\xBB)' -e 'on error' -e 'set imgData to (the clipboard as \xABclass TIFF\xBB)' -e 'end try' -e 'set fp to open for access POSIX file "${screenshotPath}" with write permission' -e 'set eof fp to 0' -e 'write imgData to fp' -e 'close access fp'`,
|
|
228857
228857
|
getPath: `osascript -e 'get POSIX path of (the clipboard as \xABclass furl\xBB)'`,
|
|
228858
228858
|
deleteFile: `rm -f "${screenshotPath}"`
|
|
228859
228859
|
},
|
|
@@ -228875,6 +228875,12 @@ function getClipboardCommands() {
|
|
|
228875
228875
|
screenshotPath
|
|
228876
228876
|
};
|
|
228877
228877
|
}
|
|
228878
|
+
function isBmpBuffer(buf) {
|
|
228879
|
+
return buf.length >= 2 && buf[0] === 66 && buf[1] === 77;
|
|
228880
|
+
}
|
|
228881
|
+
function isTiffBuffer(buf) {
|
|
228882
|
+
return buf.length >= 4 && (buf[0] === 73 && buf[1] === 73 && buf[2] === 42 && buf[3] === 0 || buf[0] === 77 && buf[1] === 77 && buf[2] === 0 && buf[3] === 42);
|
|
228883
|
+
}
|
|
228878
228884
|
async function hasImageInClipboard() {
|
|
228879
228885
|
if (process.platform !== "darwin") {
|
|
228880
228886
|
return false;
|
|
@@ -228882,49 +228888,41 @@ async function hasImageInClipboard() {
|
|
|
228882
228888
|
if (false) {}
|
|
228883
228889
|
const result = await execFileNoThrowWithCwd("osascript", [
|
|
228884
228890
|
"-e",
|
|
228885
|
-
"
|
|
228891
|
+
"clipboard info"
|
|
228886
228892
|
]);
|
|
228887
|
-
return result.code === 0;
|
|
228893
|
+
return result.code === 0 && /PNGf|TIFF/i.test(result.stdout ?? "");
|
|
228888
228894
|
}
|
|
228889
228895
|
async function getImageFromClipboard() {
|
|
228890
228896
|
if (false) {}
|
|
228891
228897
|
const { commands, screenshotPath } = getClipboardCommands();
|
|
228898
|
+
let checkResult;
|
|
228892
228899
|
try {
|
|
228893
|
-
|
|
228894
|
-
|
|
228895
|
-
|
|
228896
|
-
|
|
228897
|
-
|
|
228898
|
-
|
|
228899
|
-
}
|
|
228900
|
-
const saveResult = await execa(commands.saveImage, {
|
|
228901
|
-
shell: true,
|
|
228902
|
-
reject: false
|
|
228903
|
-
});
|
|
228904
|
-
if (saveResult.exitCode !== 0) {
|
|
228905
|
-
return null;
|
|
228906
|
-
}
|
|
228907
|
-
let imageBuffer = getFsImplementation().readFileBytesSync(screenshotPath);
|
|
228908
|
-
if (imageBuffer.length >= 2 && imageBuffer[0] === 66 && imageBuffer[1] === 77) {
|
|
228909
|
-
try {
|
|
228910
|
-
const sharp = await getImageProcessor();
|
|
228911
|
-
imageBuffer = await sharp(imageBuffer).png().toBuffer();
|
|
228912
|
-
} catch (e) {
|
|
228913
|
-
logError2(e);
|
|
228914
|
-
}
|
|
228915
|
-
}
|
|
228916
|
-
const resized = await maybeResizeAndDownsampleImageBuffer(imageBuffer, imageBuffer.length, "png");
|
|
228917
|
-
const base64Image = resized.buffer.toString("base64");
|
|
228918
|
-
const mediaType = detectImageFormatFromBase64(base64Image);
|
|
228919
|
-
execa(commands.deleteFile, { shell: true, reject: false });
|
|
228920
|
-
return {
|
|
228921
|
-
base64: base64Image,
|
|
228922
|
-
mediaType,
|
|
228923
|
-
dimensions: resized.dimensions
|
|
228924
|
-
};
|
|
228925
|
-
} catch {
|
|
228900
|
+
checkResult = await execa(commands.checkImage, { shell: true, reject: false });
|
|
228901
|
+
} catch (e) {
|
|
228902
|
+
logForDebugging(`Clipboard image check could not run: ${e instanceof Error ? e.message : String(e)}`, { level: "warn" });
|
|
228903
|
+
return null;
|
|
228904
|
+
}
|
|
228905
|
+
if (checkResult.exitCode !== 0) {
|
|
228926
228906
|
return null;
|
|
228927
228907
|
}
|
|
228908
|
+
const saveResult = await execa(commands.saveImage, { shell: true, reject: false });
|
|
228909
|
+
if (saveResult.exitCode !== 0) {
|
|
228910
|
+
throw new Error(`Could not read the clipboard image (osascript: ${saveResult.stderr?.trim() || "unknown error"})`);
|
|
228911
|
+
}
|
|
228912
|
+
let imageBuffer = getFsImplementation().readFileBytesSync(screenshotPath);
|
|
228913
|
+
if (isBmpBuffer(imageBuffer) || isTiffBuffer(imageBuffer)) {
|
|
228914
|
+
const sharp = await getImageProcessor();
|
|
228915
|
+
imageBuffer = await sharp(imageBuffer).png().toBuffer();
|
|
228916
|
+
}
|
|
228917
|
+
const resized = await maybeResizeAndDownsampleImageBuffer(imageBuffer, imageBuffer.length, "png");
|
|
228918
|
+
const base64Image = resized.buffer.toString("base64");
|
|
228919
|
+
const mediaType = detectImageFormatFromBase64(base64Image);
|
|
228920
|
+
execa(commands.deleteFile, { shell: true, reject: false });
|
|
228921
|
+
return {
|
|
228922
|
+
base64: base64Image,
|
|
228923
|
+
mediaType,
|
|
228924
|
+
dimensions: resized.dimensions
|
|
228925
|
+
};
|
|
228928
228926
|
}
|
|
228929
228927
|
async function getImagePathFromClipboard() {
|
|
228930
228928
|
const { commands } = getClipboardCommands();
|
|
@@ -229593,7 +229591,7 @@ function SelectInputOption(t0) {
|
|
|
229593
229591
|
if (imageData) {
|
|
229594
229592
|
onImagePaste(imageData.base64, imageData.mediaType, undefined, imageData.dimensions);
|
|
229595
229593
|
}
|
|
229596
|
-
});
|
|
229594
|
+
}).catch(() => {});
|
|
229597
229595
|
};
|
|
229598
229596
|
$3[16] = onImagePaste;
|
|
229599
229597
|
$3[17] = t10;
|
|
@@ -233887,9 +233885,9 @@ async function assertMinVersion() {
|
|
|
233887
233885
|
if (false) {}
|
|
233888
233886
|
try {
|
|
233889
233887
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
233890
|
-
if (versionConfig.minVersion && lt("1.13.
|
|
233888
|
+
if (versionConfig.minVersion && lt("1.13.2", versionConfig.minVersion)) {
|
|
233891
233889
|
console.error(`
|
|
233892
|
-
It looks like your version of UR (${"1.13.
|
|
233890
|
+
It looks like your version of UR (${"1.13.2"}) needs an update.
|
|
233893
233891
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
233894
233892
|
|
|
233895
233893
|
To update, please run:
|
|
@@ -234105,7 +234103,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
234105
234103
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
234106
234104
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
234107
234105
|
pid: process.pid,
|
|
234108
|
-
currentVersion: "1.13.
|
|
234106
|
+
currentVersion: "1.13.2"
|
|
234109
234107
|
});
|
|
234110
234108
|
return "in_progress";
|
|
234111
234109
|
}
|
|
@@ -234114,7 +234112,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
234114
234112
|
if (!env3.isRunningWithBun() && env3.isNpmFromWindowsPath()) {
|
|
234115
234113
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
234116
234114
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
234117
|
-
currentVersion: "1.13.
|
|
234115
|
+
currentVersion: "1.13.2"
|
|
234118
234116
|
});
|
|
234119
234117
|
console.error(`
|
|
234120
234118
|
Error: Windows NPM detected in WSL
|
|
@@ -234649,7 +234647,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
234649
234647
|
}
|
|
234650
234648
|
async function getDoctorDiagnostic() {
|
|
234651
234649
|
const installationType = await getCurrentInstallationType();
|
|
234652
|
-
const version2 = typeof MACRO !== "undefined" ? "1.13.
|
|
234650
|
+
const version2 = typeof MACRO !== "undefined" ? "1.13.2" : "unknown";
|
|
234653
234651
|
const installationPath = await getInstallationPath();
|
|
234654
234652
|
const invokedBinary = getInvokedBinary();
|
|
234655
234653
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -235584,8 +235582,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
235584
235582
|
const maxVersion = await getMaxVersion();
|
|
235585
235583
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
235586
235584
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
235587
|
-
if (gte("1.13.
|
|
235588
|
-
logForDebugging(`Native installer: current version ${"1.13.
|
|
235585
|
+
if (gte("1.13.2", maxVersion)) {
|
|
235586
|
+
logForDebugging(`Native installer: current version ${"1.13.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
235589
235587
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
235590
235588
|
latency_ms: Date.now() - startTime,
|
|
235591
235589
|
max_version: maxVersion,
|
|
@@ -235596,7 +235594,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
235596
235594
|
version2 = maxVersion;
|
|
235597
235595
|
}
|
|
235598
235596
|
}
|
|
235599
|
-
if (!forceReinstall && version2 === "1.13.
|
|
235597
|
+
if (!forceReinstall && version2 === "1.13.2" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
|
|
235600
235598
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
235601
235599
|
logEvent("tengu_native_update_complete", {
|
|
235602
235600
|
latency_ms: Date.now() - startTime,
|
|
@@ -330267,7 +330265,7 @@ function Feedback({
|
|
|
330267
330265
|
platform: env3.platform,
|
|
330268
330266
|
gitRepo: envInfo.isGit,
|
|
330269
330267
|
terminal: env3.terminal,
|
|
330270
|
-
version: "1.13.
|
|
330268
|
+
version: "1.13.2",
|
|
330271
330269
|
transcript: normalizeMessagesForAPI(messages),
|
|
330272
330270
|
errors: sanitizedErrors,
|
|
330273
330271
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -330459,7 +330457,7 @@ function Feedback({
|
|
|
330459
330457
|
", ",
|
|
330460
330458
|
env3.terminal,
|
|
330461
330459
|
", v",
|
|
330462
|
-
"1.13.
|
|
330460
|
+
"1.13.2"
|
|
330463
330461
|
]
|
|
330464
330462
|
}, undefined, true, undefined, this)
|
|
330465
330463
|
]
|
|
@@ -330565,7 +330563,7 @@ ${sanitizedDescription}
|
|
|
330565
330563
|
` + `**Environment Info**
|
|
330566
330564
|
` + `- Platform: ${env3.platform}
|
|
330567
330565
|
` + `- Terminal: ${env3.terminal}
|
|
330568
|
-
` + `- Version: ${"1.13.
|
|
330566
|
+
` + `- Version: ${"1.13.2"}
|
|
330569
330567
|
` + `- Feedback ID: ${feedbackId}
|
|
330570
330568
|
` + `
|
|
330571
330569
|
**Errors**
|
|
@@ -333675,7 +333673,7 @@ function buildPrimarySection() {
|
|
|
333675
333673
|
}, undefined, false, undefined, this);
|
|
333676
333674
|
return [{
|
|
333677
333675
|
label: "Version",
|
|
333678
|
-
value: "1.13.
|
|
333676
|
+
value: "1.13.2"
|
|
333679
333677
|
}, {
|
|
333680
333678
|
label: "Session name",
|
|
333681
333679
|
value: nameValue
|
|
@@ -336953,7 +336951,7 @@ function Config({
|
|
|
336953
336951
|
}
|
|
336954
336952
|
}, undefined, false, undefined, this)
|
|
336955
336953
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime177.jsxDEV(ChannelDowngradeDialog, {
|
|
336956
|
-
currentVersion: "1.13.
|
|
336954
|
+
currentVersion: "1.13.2",
|
|
336957
336955
|
onChoice: (choice) => {
|
|
336958
336956
|
setShowSubmenu(null);
|
|
336959
336957
|
setTabsHidden(false);
|
|
@@ -336965,7 +336963,7 @@ function Config({
|
|
|
336965
336963
|
autoUpdatesChannel: "stable"
|
|
336966
336964
|
};
|
|
336967
336965
|
if (choice === "stay") {
|
|
336968
|
-
newSettings.minimumVersion = "1.13.
|
|
336966
|
+
newSettings.minimumVersion = "1.13.2";
|
|
336969
336967
|
}
|
|
336970
336968
|
updateSettingsForSource("userSettings", newSettings);
|
|
336971
336969
|
setSettingsData((prev_27) => ({
|
|
@@ -345035,7 +345033,7 @@ function HelpV2(t0) {
|
|
|
345035
345033
|
let t6;
|
|
345036
345034
|
if ($3[31] !== tabs) {
|
|
345037
345035
|
t6 = /* @__PURE__ */ jsx_dev_runtime204.jsxDEV(Tabs, {
|
|
345038
|
-
title: `UR v${"1.13.
|
|
345036
|
+
title: `UR v${"1.13.2"}`,
|
|
345039
345037
|
color: "professionalBlue",
|
|
345040
345038
|
defaultTab: "general",
|
|
345041
345039
|
children: tabs
|
|
@@ -364638,7 +364636,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
364638
364636
|
return [];
|
|
364639
364637
|
}
|
|
364640
364638
|
}
|
|
364641
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.13.
|
|
364639
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.13.2") {
|
|
364642
364640
|
if (process.env.USER_TYPE === "ant") {
|
|
364643
364641
|
const changelog = "";
|
|
364644
364642
|
if (changelog) {
|
|
@@ -364665,7 +364663,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.13.1")
|
|
|
364665
364663
|
releaseNotes
|
|
364666
364664
|
};
|
|
364667
364665
|
}
|
|
364668
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.13.
|
|
364666
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.13.2") {
|
|
364669
364667
|
if (process.env.USER_TYPE === "ant") {
|
|
364670
364668
|
const changelog = "";
|
|
364671
364669
|
if (changelog) {
|
|
@@ -365835,7 +365833,7 @@ function getRecentActivitySync() {
|
|
|
365835
365833
|
return cachedActivity;
|
|
365836
365834
|
}
|
|
365837
365835
|
function getLogoDisplayData() {
|
|
365838
|
-
const version2 = process.env.DEMO_VERSION ?? "1.13.
|
|
365836
|
+
const version2 = process.env.DEMO_VERSION ?? "1.13.2";
|
|
365839
365837
|
const serverUrl = getDirectConnectServerUrl();
|
|
365840
365838
|
const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
|
|
365841
365839
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -366624,7 +366622,7 @@ function LogoV2() {
|
|
|
366624
366622
|
if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
366625
366623
|
t2 = () => {
|
|
366626
366624
|
const currentConfig = getGlobalConfig();
|
|
366627
|
-
if (currentConfig.lastReleaseNotesSeen === "1.13.
|
|
366625
|
+
if (currentConfig.lastReleaseNotesSeen === "1.13.2") {
|
|
366628
366626
|
return;
|
|
366629
366627
|
}
|
|
366630
366628
|
saveGlobalConfig(_temp326);
|
|
@@ -367309,12 +367307,12 @@ function LogoV2() {
|
|
|
367309
367307
|
return t41;
|
|
367310
367308
|
}
|
|
367311
367309
|
function _temp326(current) {
|
|
367312
|
-
if (current.lastReleaseNotesSeen === "1.13.
|
|
367310
|
+
if (current.lastReleaseNotesSeen === "1.13.2") {
|
|
367313
367311
|
return current;
|
|
367314
367312
|
}
|
|
367315
367313
|
return {
|
|
367316
367314
|
...current,
|
|
367317
|
-
lastReleaseNotesSeen: "1.13.
|
|
367315
|
+
lastReleaseNotesSeen: "1.13.2"
|
|
367318
367316
|
};
|
|
367319
367317
|
}
|
|
367320
367318
|
function _temp243(s_0) {
|
|
@@ -382956,21 +382954,53 @@ async function exec4(file2, args) {
|
|
|
382956
382954
|
preserveOutputOnError: true
|
|
382957
382955
|
});
|
|
382958
382956
|
}
|
|
382959
|
-
async function
|
|
382960
|
-
const
|
|
382961
|
-
|
|
382962
|
-
|
|
382963
|
-
|
|
382964
|
-
|
|
382965
|
-
const
|
|
382957
|
+
async function refExists(ref) {
|
|
382958
|
+
const r = await git(["rev-parse", "--verify", "--quiet", `${ref}^{commit}`]);
|
|
382959
|
+
return r.code === 0;
|
|
382960
|
+
}
|
|
382961
|
+
async function resolveBaseRef(explicit) {
|
|
382962
|
+
const head = (await git(["rev-parse", "--abbrev-ref", "HEAD"])).stdout.trim();
|
|
382963
|
+
const candidates = [];
|
|
382964
|
+
if (explicit)
|
|
382965
|
+
candidates.push(explicit);
|
|
382966
|
+
const def2 = await getDefaultBranch().catch(() => {
|
|
382966
382967
|
return;
|
|
382967
382968
|
});
|
|
382969
|
+
if (def2)
|
|
382970
|
+
candidates.push(def2, `origin/${def2}`);
|
|
382971
|
+
candidates.push("origin/HEAD", "main", "master", "origin/main", "origin/master");
|
|
382972
|
+
for (const ref of candidates) {
|
|
382973
|
+
if (!ref || ref === head)
|
|
382974
|
+
continue;
|
|
382975
|
+
if (await refExists(ref))
|
|
382976
|
+
return ref;
|
|
382977
|
+
}
|
|
382978
|
+
return;
|
|
382979
|
+
}
|
|
382980
|
+
async function getReviewDiff(base2) {
|
|
382981
|
+
const parts = [];
|
|
382982
|
+
const baseRef = await resolveBaseRef(base2);
|
|
382968
382983
|
if (baseRef) {
|
|
382969
382984
|
const branchDiff = await git(["diff", `${baseRef}...HEAD`]);
|
|
382970
382985
|
if (branchDiff.code === 0 && branchDiff.stdout.trim()) {
|
|
382971
382986
|
parts.push(branchDiff.stdout);
|
|
382972
382987
|
}
|
|
382973
382988
|
}
|
|
382989
|
+
const uncommitted = await git(["diff", "HEAD"]);
|
|
382990
|
+
if (uncommitted.code === 0 && uncommitted.stdout.trim()) {
|
|
382991
|
+
parts.push(uncommitted.stdout);
|
|
382992
|
+
}
|
|
382993
|
+
const untracked = await git(["ls-files", "--others", "--exclude-standard"]);
|
|
382994
|
+
if (untracked.code === 0 && untracked.stdout.trim()) {
|
|
382995
|
+
const files = untracked.stdout.split(`
|
|
382996
|
+
`).map((s) => s.trim()).filter(Boolean).slice(0, 200);
|
|
382997
|
+
for (const file2 of files) {
|
|
382998
|
+
const d = await git(["diff", "--no-index", "--", "/dev/null", file2]);
|
|
382999
|
+
if (d.stdout.trim()) {
|
|
383000
|
+
parts.push(d.stdout);
|
|
383001
|
+
}
|
|
383002
|
+
}
|
|
383003
|
+
}
|
|
382974
383004
|
return parts.join(`
|
|
382975
383005
|
`);
|
|
382976
383006
|
}
|
|
@@ -399182,7 +399212,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
399182
399212
|
smapsRollup,
|
|
399183
399213
|
platform: process.platform,
|
|
399184
399214
|
nodeVersion: process.version,
|
|
399185
|
-
ccVersion: "1.13.
|
|
399215
|
+
ccVersion: "1.13.2"
|
|
399186
399216
|
};
|
|
399187
399217
|
}
|
|
399188
399218
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -399768,7 +399798,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
399768
399798
|
var call104 = async () => {
|
|
399769
399799
|
return {
|
|
399770
399800
|
type: "text",
|
|
399771
|
-
value: "1.13.
|
|
399801
|
+
value: "1.13.2"
|
|
399772
399802
|
};
|
|
399773
399803
|
}, version2, version_default;
|
|
399774
399804
|
var init_version = __esm(() => {
|
|
@@ -408972,7 +409002,7 @@ function generateHtmlReport(data, insights) {
|
|
|
408972
409002
|
</html>`;
|
|
408973
409003
|
}
|
|
408974
409004
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
408975
|
-
const version3 = typeof MACRO !== "undefined" ? "1.13.
|
|
409005
|
+
const version3 = typeof MACRO !== "undefined" ? "1.13.2" : "unknown";
|
|
408976
409006
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
408977
409007
|
const facets_summary = {
|
|
408978
409008
|
total: facets.size,
|
|
@@ -413183,7 +413213,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
413183
413213
|
init_settings2();
|
|
413184
413214
|
init_slowOperations();
|
|
413185
413215
|
init_uuid();
|
|
413186
|
-
VERSION5 = typeof MACRO !== "undefined" ? "1.13.
|
|
413216
|
+
VERSION5 = typeof MACRO !== "undefined" ? "1.13.2" : "unknown";
|
|
413187
413217
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
413188
413218
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
413189
413219
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -414388,7 +414418,7 @@ var init_filesystem = __esm(() => {
|
|
|
414388
414418
|
});
|
|
414389
414419
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
414390
414420
|
const nonce = randomBytes18(16).toString("hex");
|
|
414391
|
-
return join158(getURTempDir(), "bundled-skills", "1.13.
|
|
414421
|
+
return join158(getURTempDir(), "bundled-skills", "1.13.2", nonce);
|
|
414392
414422
|
});
|
|
414393
414423
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
414394
414424
|
});
|
|
@@ -420419,7 +420449,7 @@ function computeFingerprint(messageText, version3) {
|
|
|
420419
420449
|
}
|
|
420420
420450
|
function computeFingerprintFromMessages(messages) {
|
|
420421
420451
|
const firstMessageText = extractFirstMessageText(messages);
|
|
420422
|
-
return computeFingerprint(firstMessageText, "1.13.
|
|
420452
|
+
return computeFingerprint(firstMessageText, "1.13.2");
|
|
420423
420453
|
}
|
|
420424
420454
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
420425
420455
|
var init_fingerprint = () => {};
|
|
@@ -422285,7 +422315,7 @@ async function sideQuery(opts) {
|
|
|
422285
422315
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
422286
422316
|
}
|
|
422287
422317
|
const messageText = extractFirstUserMessageText(messages);
|
|
422288
|
-
const fingerprint = computeFingerprint(messageText, "1.13.
|
|
422318
|
+
const fingerprint = computeFingerprint(messageText, "1.13.2");
|
|
422289
422319
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
422290
422320
|
const systemBlocks = [
|
|
422291
422321
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -427022,7 +427052,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
427022
427052
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
427023
427053
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
427024
427054
|
betas: getSdkBetas(),
|
|
427025
|
-
ur_version: "1.13.
|
|
427055
|
+
ur_version: "1.13.2",
|
|
427026
427056
|
output_style: outputStyle2,
|
|
427027
427057
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
427028
427058
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -441650,7 +441680,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
441650
441680
|
function getSemverPart(version3) {
|
|
441651
441681
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
441652
441682
|
}
|
|
441653
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.13.
|
|
441683
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.13.2") {
|
|
441654
441684
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react224.useState(() => getSemverPart(initialVersion));
|
|
441655
441685
|
if (!updatedVersion) {
|
|
441656
441686
|
return null;
|
|
@@ -441690,7 +441720,7 @@ function AutoUpdater({
|
|
|
441690
441720
|
return;
|
|
441691
441721
|
}
|
|
441692
441722
|
if (false) {}
|
|
441693
|
-
const currentVersion = "1.13.
|
|
441723
|
+
const currentVersion = "1.13.2";
|
|
441694
441724
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
441695
441725
|
let latestVersion = await getLatestVersion(channel);
|
|
441696
441726
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -441903,12 +441933,12 @@ function NativeAutoUpdater({
|
|
|
441903
441933
|
logEvent("tengu_native_auto_updater_start", {});
|
|
441904
441934
|
try {
|
|
441905
441935
|
const maxVersion = await getMaxVersion();
|
|
441906
|
-
if (maxVersion && gt("1.13.
|
|
441936
|
+
if (maxVersion && gt("1.13.2", maxVersion)) {
|
|
441907
441937
|
const msg = await getMaxVersionMessage();
|
|
441908
441938
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
441909
441939
|
}
|
|
441910
441940
|
const result = await installLatest(channel);
|
|
441911
|
-
const currentVersion = "1.13.
|
|
441941
|
+
const currentVersion = "1.13.2";
|
|
441912
441942
|
const latencyMs = Date.now() - startTime;
|
|
441913
441943
|
if (result.lockFailed) {
|
|
441914
441944
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -442045,17 +442075,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
442045
442075
|
const maxVersion = await getMaxVersion();
|
|
442046
442076
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
442047
442077
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
442048
|
-
if (gte("1.13.
|
|
442049
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.13.
|
|
442078
|
+
if (gte("1.13.2", maxVersion)) {
|
|
442079
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.13.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
442050
442080
|
setUpdateAvailable(false);
|
|
442051
442081
|
return;
|
|
442052
442082
|
}
|
|
442053
442083
|
latest = maxVersion;
|
|
442054
442084
|
}
|
|
442055
|
-
const hasUpdate = latest && !gte("1.13.
|
|
442085
|
+
const hasUpdate = latest && !gte("1.13.2", latest) && !shouldSkipVersion(latest);
|
|
442056
442086
|
setUpdateAvailable(!!hasUpdate);
|
|
442057
442087
|
if (hasUpdate) {
|
|
442058
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.13.
|
|
442088
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.13.2"} -> ${latest}`);
|
|
442059
442089
|
}
|
|
442060
442090
|
};
|
|
442061
442091
|
$3[0] = t1;
|
|
@@ -442089,7 +442119,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
442089
442119
|
wrap: "truncate",
|
|
442090
442120
|
children: [
|
|
442091
442121
|
"currentVersion: ",
|
|
442092
|
-
"1.13.
|
|
442122
|
+
"1.13.2"
|
|
442093
442123
|
]
|
|
442094
442124
|
}, undefined, true, undefined, this);
|
|
442095
442125
|
$3[3] = verbose;
|
|
@@ -454451,7 +454481,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
454451
454481
|
project_dir: getOriginalCwd(),
|
|
454452
454482
|
added_dirs: addedDirs
|
|
454453
454483
|
},
|
|
454454
|
-
version: "1.13.
|
|
454484
|
+
version: "1.13.2",
|
|
454455
454485
|
output_style: {
|
|
454456
454486
|
name: outputStyleName
|
|
454457
454487
|
},
|
|
@@ -465947,7 +465977,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
465947
465977
|
} catch {}
|
|
465948
465978
|
const data = {
|
|
465949
465979
|
trigger,
|
|
465950
|
-
version: "1.13.
|
|
465980
|
+
version: "1.13.2",
|
|
465951
465981
|
platform: process.platform,
|
|
465952
465982
|
transcript,
|
|
465953
465983
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -477862,7 +477892,7 @@ function WelcomeV2() {
|
|
|
477862
477892
|
dimColor: true,
|
|
477863
477893
|
children: [
|
|
477864
477894
|
"v",
|
|
477865
|
-
"1.13.
|
|
477895
|
+
"1.13.2"
|
|
477866
477896
|
]
|
|
477867
477897
|
}, undefined, true, undefined, this)
|
|
477868
477898
|
]
|
|
@@ -479122,7 +479152,7 @@ function completeOnboarding() {
|
|
|
479122
479152
|
saveGlobalConfig((current) => ({
|
|
479123
479153
|
...current,
|
|
479124
479154
|
hasCompletedOnboarding: true,
|
|
479125
|
-
lastOnboardingVersion: "1.13.
|
|
479155
|
+
lastOnboardingVersion: "1.13.2"
|
|
479126
479156
|
}));
|
|
479127
479157
|
}
|
|
479128
479158
|
function showDialog(root2, renderer) {
|
|
@@ -483582,7 +483612,7 @@ function appendToLog(path24, message) {
|
|
|
483582
483612
|
cwd: getFsImplementation().cwd(),
|
|
483583
483613
|
userType: process.env.USER_TYPE,
|
|
483584
483614
|
sessionId: getSessionId(),
|
|
483585
|
-
version: "1.13.
|
|
483615
|
+
version: "1.13.2"
|
|
483586
483616
|
};
|
|
483587
483617
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
483588
483618
|
}
|
|
@@ -487608,8 +487638,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
487608
487638
|
}
|
|
487609
487639
|
async function checkEnvLessBridgeMinVersion() {
|
|
487610
487640
|
const cfg = await getEnvLessBridgeConfig();
|
|
487611
|
-
if (cfg.min_version && lt("1.13.
|
|
487612
|
-
return `Your version of UR (${"1.13.
|
|
487641
|
+
if (cfg.min_version && lt("1.13.2", cfg.min_version)) {
|
|
487642
|
+
return `Your version of UR (${"1.13.2"}) is too old for Remote Control.
|
|
487613
487643
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
487614
487644
|
}
|
|
487615
487645
|
return null;
|
|
@@ -488083,7 +488113,7 @@ async function initBridgeCore(params) {
|
|
|
488083
488113
|
const rawApi = createBridgeApiClient({
|
|
488084
488114
|
baseUrl,
|
|
488085
488115
|
getAccessToken,
|
|
488086
|
-
runnerVersion: "1.13.
|
|
488116
|
+
runnerVersion: "1.13.2",
|
|
488087
488117
|
onDebug: logForDebugging,
|
|
488088
488118
|
onAuth401,
|
|
488089
488119
|
getTrustedDeviceToken
|
|
@@ -493748,7 +493778,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
|
|
|
493748
493778
|
setCwd(cwd3);
|
|
493749
493779
|
const server = new Server({
|
|
493750
493780
|
name: "ur/tengu",
|
|
493751
|
-
version: "1.13.
|
|
493781
|
+
version: "1.13.2"
|
|
493752
493782
|
}, {
|
|
493753
493783
|
capabilities: {
|
|
493754
493784
|
tools: {}
|
|
@@ -495359,7 +495389,7 @@ __export(exports_update, {
|
|
|
495359
495389
|
});
|
|
495360
495390
|
async function update() {
|
|
495361
495391
|
logEvent("tengu_update_check", {});
|
|
495362
|
-
writeToStdout(`Current version: ${"1.13.
|
|
495392
|
+
writeToStdout(`Current version: ${"1.13.2"}
|
|
495363
495393
|
`);
|
|
495364
495394
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
495365
495395
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -495434,8 +495464,8 @@ async function update() {
|
|
|
495434
495464
|
writeToStdout(`UR is managed by Homebrew.
|
|
495435
495465
|
`);
|
|
495436
495466
|
const latest = await getLatestVersion(channel);
|
|
495437
|
-
if (latest && !gte("1.13.
|
|
495438
|
-
writeToStdout(`Update available: ${"1.13.
|
|
495467
|
+
if (latest && !gte("1.13.2", latest)) {
|
|
495468
|
+
writeToStdout(`Update available: ${"1.13.2"} \u2192 ${latest}
|
|
495439
495469
|
`);
|
|
495440
495470
|
writeToStdout(`
|
|
495441
495471
|
`);
|
|
@@ -495451,8 +495481,8 @@ async function update() {
|
|
|
495451
495481
|
writeToStdout(`UR is managed by winget.
|
|
495452
495482
|
`);
|
|
495453
495483
|
const latest = await getLatestVersion(channel);
|
|
495454
|
-
if (latest && !gte("1.13.
|
|
495455
|
-
writeToStdout(`Update available: ${"1.13.
|
|
495484
|
+
if (latest && !gte("1.13.2", latest)) {
|
|
495485
|
+
writeToStdout(`Update available: ${"1.13.2"} \u2192 ${latest}
|
|
495456
495486
|
`);
|
|
495457
495487
|
writeToStdout(`
|
|
495458
495488
|
`);
|
|
@@ -495468,8 +495498,8 @@ async function update() {
|
|
|
495468
495498
|
writeToStdout(`UR is managed by apk.
|
|
495469
495499
|
`);
|
|
495470
495500
|
const latest = await getLatestVersion(channel);
|
|
495471
|
-
if (latest && !gte("1.13.
|
|
495472
|
-
writeToStdout(`Update available: ${"1.13.
|
|
495501
|
+
if (latest && !gte("1.13.2", latest)) {
|
|
495502
|
+
writeToStdout(`Update available: ${"1.13.2"} \u2192 ${latest}
|
|
495473
495503
|
`);
|
|
495474
495504
|
writeToStdout(`
|
|
495475
495505
|
`);
|
|
@@ -495534,11 +495564,11 @@ async function update() {
|
|
|
495534
495564
|
`);
|
|
495535
495565
|
await gracefulShutdown(1);
|
|
495536
495566
|
}
|
|
495537
|
-
if (result.latestVersion === "1.13.
|
|
495538
|
-
writeToStdout(source_default.green(`UR is up to date (${"1.13.
|
|
495567
|
+
if (result.latestVersion === "1.13.2") {
|
|
495568
|
+
writeToStdout(source_default.green(`UR is up to date (${"1.13.2"})`) + `
|
|
495539
495569
|
`);
|
|
495540
495570
|
} else {
|
|
495541
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.13.
|
|
495571
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.13.2"} to version ${result.latestVersion}`) + `
|
|
495542
495572
|
`);
|
|
495543
495573
|
await regenerateCompletionCache();
|
|
495544
495574
|
}
|
|
@@ -495598,12 +495628,12 @@ async function update() {
|
|
|
495598
495628
|
`);
|
|
495599
495629
|
await gracefulShutdown(1);
|
|
495600
495630
|
}
|
|
495601
|
-
if (latestVersion === "1.13.
|
|
495602
|
-
writeToStdout(source_default.green(`UR is up to date (${"1.13.
|
|
495631
|
+
if (latestVersion === "1.13.2") {
|
|
495632
|
+
writeToStdout(source_default.green(`UR is up to date (${"1.13.2"})`) + `
|
|
495603
495633
|
`);
|
|
495604
495634
|
await gracefulShutdown(0);
|
|
495605
495635
|
}
|
|
495606
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"1.13.
|
|
495636
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"1.13.2"})
|
|
495607
495637
|
`);
|
|
495608
495638
|
writeToStdout(`Installing update...
|
|
495609
495639
|
`);
|
|
@@ -495648,7 +495678,7 @@ async function update() {
|
|
|
495648
495678
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
495649
495679
|
switch (status2) {
|
|
495650
495680
|
case "success":
|
|
495651
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.13.
|
|
495681
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.13.2"} to version ${latestVersion}`) + `
|
|
495652
495682
|
`);
|
|
495653
495683
|
await regenerateCompletionCache();
|
|
495654
495684
|
break;
|
|
@@ -496898,7 +496928,7 @@ ${customInstructions}` : customInstructions;
|
|
|
496898
496928
|
}
|
|
496899
496929
|
}
|
|
496900
496930
|
logForDiagnosticsNoPII("info", "started", {
|
|
496901
|
-
version: "1.13.
|
|
496931
|
+
version: "1.13.2",
|
|
496902
496932
|
is_native_binary: isInBundledMode()
|
|
496903
496933
|
});
|
|
496904
496934
|
registerCleanup(async () => {
|
|
@@ -497682,7 +497712,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
497682
497712
|
pendingHookMessages
|
|
497683
497713
|
}, renderAndRun);
|
|
497684
497714
|
}
|
|
497685
|
-
}).version("1.13.
|
|
497715
|
+
}).version("1.13.2 (Ur)", "-v, --version", "Output the version number");
|
|
497686
497716
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
497687
497717
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
497688
497718
|
if (canUserConfigureAdvisor()) {
|
|
@@ -497923,8 +497953,8 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
497923
497953
|
const args = [action2, name, opts.schedule ? `--schedule ${quoteLocalCommandArg(opts.schedule)}` : undefined, opts.prompt ? `--prompt ${quoteLocalCommandArg(opts.prompt)}` : undefined, opts.now ? `--now ${quoteLocalCommandArg(opts.now)}` : undefined, opts.disabled ? "--disabled" : undefined, opts.dryRun ? "--dry-run" : undefined, opts.json ? "--json" : undefined].filter(Boolean).join(" ");
|
|
497924
497954
|
await runLocalTextCommand(() => Promise.resolve().then(() => (init_automation(), exports_automation)), args);
|
|
497925
497955
|
});
|
|
497926
|
-
program2.command("agent-task [action]").alias("task-pr").description("Summarize task state, git diff status, and PR handoff commands").option("--create", "Create a GitHub PR with gh for the current branch").option("--draft", "Create the PR as draft").option("--base <branch>", "Base branch for PR creation").option("--title <title>", "PR title").option("--body <body>", "PR body").option("--dry-run", "Print the gh command without creating a PR").option("--json", "Output as JSON").action(async (action2, opts) => {
|
|
497927
|
-
const args = [action2, opts.create ? "--create" : undefined, opts.draft ? "--draft" : undefined, opts.base ? `--base ${quoteLocalCommandArg(opts.base)}` : undefined, opts.title ? `--title ${quoteLocalCommandArg(opts.title)}` : undefined, opts.body ? `--body ${quoteLocalCommandArg(opts.body)}` : undefined, opts.dryRun ? "--dry-run" : undefined, opts.json ? "--json" : undefined].filter(Boolean).join(" ");
|
|
497956
|
+
program2.command("agent-task [action]").alias("task-pr").description("Summarize task state, git diff status, and PR handoff commands").option("--create", "Create a GitHub PR with gh for the current branch").option("--draft", "Create the PR as draft").option("--base <branch>", "Base branch for PR creation").option("--title <title>", "PR title").option("--body <body>", "PR body").option("--dry-run", "Print the gh command without creating a PR").option("--force", "Override blocking self-review findings when creating a PR").option("--no-review", "Skip the pre-PR self-review gate").option("--json", "Output as JSON").action(async (action2, opts) => {
|
|
497957
|
+
const args = [action2, opts.create ? "--create" : undefined, opts.draft ? "--draft" : undefined, opts.base ? `--base ${quoteLocalCommandArg(opts.base)}` : undefined, opts.title ? `--title ${quoteLocalCommandArg(opts.title)}` : undefined, opts.body ? `--body ${quoteLocalCommandArg(opts.body)}` : undefined, opts.dryRun ? "--dry-run" : undefined, opts.force ? "--force" : undefined, opts.review === false ? "--no-review" : undefined, opts.json ? "--json" : undefined].filter(Boolean).join(" ");
|
|
497928
497958
|
await runLocalTextCommand(() => Promise.resolve().then(() => (init_agent_task(), exports_agent_task)), args);
|
|
497929
497959
|
});
|
|
497930
497960
|
program2.command("model-doctor [model]").alias("model-capabilities").description("Inspect local Ollama models and report likely agent capabilities").option("--json", "Output as JSON").action(async (model, opts) => {
|
|
@@ -497943,6 +497973,14 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
497943
497973
|
const args = [action2, fixture, opts.dryRun ? "--dry-run" : undefined, opts.json ? "--json" : undefined].filter(Boolean).join(" ");
|
|
497944
497974
|
await runLocalTextCommand(() => Promise.resolve().then(() => (init_browser_qa(), exports_browser_qa)), args);
|
|
497945
497975
|
});
|
|
497976
|
+
program2.command("code-index [action] [query...]").alias("codeindex").description("Build and query a local semantic code index (embeddings via the local Ollama app)").option("--json", "Output as JSON").action(async (action2, query2 = [], opts) => {
|
|
497977
|
+
const args = [action2, ...query2, opts.json ? "--json" : undefined].filter(Boolean).join(" ");
|
|
497978
|
+
await runLocalTextCommand(() => Promise.resolve().then(() => (init_code_index(), exports_code_index)), args);
|
|
497979
|
+
});
|
|
497980
|
+
program2.command("role-mode [action] [name]").alias("roles").description("List, show, or install built-in role modes (Architect, Code, Debug, Ask)").option("--force", "Overwrite existing mode agents").option("--json", "Output as JSON").action(async (action2, name, opts) => {
|
|
497981
|
+
const args = [action2, name, opts.force ? "--force" : undefined, opts.json ? "--json" : undefined].filter(Boolean).join(" ");
|
|
497982
|
+
await runLocalTextCommand(() => Promise.resolve().then(() => (init_role_mode(), exports_role_mode)), args);
|
|
497983
|
+
});
|
|
497946
497984
|
const a2a = program2.command("a2a").description("A2A interoperability utilities").configureHelp(createSortedHelpConfig());
|
|
497947
497985
|
a2a.command("card").description("Print UR Agent Card metadata for A2A discovery").option("--base-url <url>", "Base URL to use for the Agent Card endpoint").option("--compact", "Output compact JSON").action(async (opts) => {
|
|
497948
497986
|
const {
|
|
@@ -498273,7 +498311,7 @@ if (false) {}
|
|
|
498273
498311
|
async function main2() {
|
|
498274
498312
|
const args = process.argv.slice(2);
|
|
498275
498313
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
498276
|
-
console.log(`${"1.13.
|
|
498314
|
+
console.log(`${"1.13.2"} (Ur)`);
|
|
498277
498315
|
return;
|
|
498278
498316
|
}
|
|
498279
498317
|
if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
|
package/docs/VALIDATION.md
CHANGED