ur-agent 1.11.2 → 1.11.3
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 +8 -0
- package/dist/cli.js +132 -93
- package/docs/VALIDATION.md +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.11.3
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
- **Read-only web browsing.** `WebSearch` and `WebFetch` now run without
|
|
7
|
+
prompting by default, while still respecting explicit deny or ask rules.
|
|
8
|
+
- **Source visibility.** `WebFetch` tool results now include the fetched URL so
|
|
9
|
+
final answers can mention where the result came from.
|
|
10
|
+
|
|
3
11
|
## 1.11.2
|
|
4
12
|
|
|
5
13
|
### Fixed
|
package/dist/cli.js
CHANGED
|
@@ -69537,7 +69537,7 @@ var init_auth = __esm(() => {
|
|
|
69537
69537
|
|
|
69538
69538
|
// src/utils/userAgent.ts
|
|
69539
69539
|
function getURCodeUserAgent() {
|
|
69540
|
-
return `ur/${"1.11.
|
|
69540
|
+
return `ur/${"1.11.3"}`;
|
|
69541
69541
|
}
|
|
69542
69542
|
|
|
69543
69543
|
// src/utils/workloadContext.ts
|
|
@@ -69559,7 +69559,7 @@ function getUserAgent() {
|
|
|
69559
69559
|
const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
|
|
69560
69560
|
const workload = getWorkload();
|
|
69561
69561
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
69562
|
-
return `ur-cli/${"1.11.
|
|
69562
|
+
return `ur-cli/${"1.11.3"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
69563
69563
|
}
|
|
69564
69564
|
function getMCPUserAgent() {
|
|
69565
69565
|
const parts = [];
|
|
@@ -69573,7 +69573,7 @@ function getMCPUserAgent() {
|
|
|
69573
69573
|
parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
|
|
69574
69574
|
}
|
|
69575
69575
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
69576
|
-
return `ur/${"1.11.
|
|
69576
|
+
return `ur/${"1.11.3"}${suffix}`;
|
|
69577
69577
|
}
|
|
69578
69578
|
function getWebFetchUserAgent() {
|
|
69579
69579
|
return `UR-User (${getURCodeUserAgent()})`;
|
|
@@ -69711,7 +69711,7 @@ var init_user = __esm(() => {
|
|
|
69711
69711
|
deviceId,
|
|
69712
69712
|
sessionId: getSessionId(),
|
|
69713
69713
|
email: getEmail(),
|
|
69714
|
-
appVersion: "1.11.
|
|
69714
|
+
appVersion: "1.11.3",
|
|
69715
69715
|
platform: getHostPlatformForAnalytics(),
|
|
69716
69716
|
organizationUuid,
|
|
69717
69717
|
accountUuid,
|
|
@@ -75488,7 +75488,7 @@ var init_metadata = __esm(() => {
|
|
|
75488
75488
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
75489
75489
|
WHITESPACE_REGEX = /\s+/;
|
|
75490
75490
|
getVersionBase = memoize_default(() => {
|
|
75491
|
-
const match = "1.11.
|
|
75491
|
+
const match = "1.11.3".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
75492
75492
|
return match ? match[0] : undefined;
|
|
75493
75493
|
});
|
|
75494
75494
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -75528,7 +75528,7 @@ var init_metadata = __esm(() => {
|
|
|
75528
75528
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
75529
75529
|
isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
|
|
75530
75530
|
isURAiAuth: isURAISubscriber2(),
|
|
75531
|
-
version: "1.11.
|
|
75531
|
+
version: "1.11.3",
|
|
75532
75532
|
versionBase: getVersionBase(),
|
|
75533
75533
|
buildTime: "",
|
|
75534
75534
|
deploymentEnvironment: env3.detectDeploymentEnvironment(),
|
|
@@ -76198,7 +76198,7 @@ function initialize1PEventLogging() {
|
|
|
76198
76198
|
const platform2 = getPlatform();
|
|
76199
76199
|
const attributes = {
|
|
76200
76200
|
[import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
|
|
76201
|
-
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.11.
|
|
76201
|
+
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.11.3"
|
|
76202
76202
|
};
|
|
76203
76203
|
if (platform2 === "wsl") {
|
|
76204
76204
|
const wslVersion = getWslVersion();
|
|
@@ -76225,7 +76225,7 @@ function initialize1PEventLogging() {
|
|
|
76225
76225
|
})
|
|
76226
76226
|
]
|
|
76227
76227
|
});
|
|
76228
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.11.
|
|
76228
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.11.3");
|
|
76229
76229
|
}
|
|
76230
76230
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
76231
76231
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -78089,7 +78089,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
78089
78089
|
if (!isAttributionHeaderEnabled()) {
|
|
78090
78090
|
return "";
|
|
78091
78091
|
}
|
|
78092
|
-
const version2 = `${"1.11.
|
|
78092
|
+
const version2 = `${"1.11.3"}.${fingerprint}`;
|
|
78093
78093
|
const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
|
|
78094
78094
|
const cch = "";
|
|
78095
78095
|
const workload = getWorkload();
|
|
@@ -118976,6 +118976,7 @@ Usage notes:
|
|
|
118976
118976
|
- HTTP URLs will be automatically upgraded to HTTPS
|
|
118977
118977
|
- The prompt should describe what information you want to extract from the page
|
|
118978
118978
|
- This tool is read-only and does not modify any files
|
|
118979
|
+
- When using fetched content in your final answer, mention the fetched URL or domain as the source
|
|
118979
118980
|
- Results may be summarized if the content is very large
|
|
118980
118981
|
- Includes a self-cleaning 15-minute cache for faster responses when repeatedly accessing the same URL
|
|
118981
118982
|
- When a URL redirects to a different host, the tool will inform you and provide the redirect URL in a special format. You should then make a new WebFetch request with the redirect URL to fetch the content.
|
|
@@ -184559,7 +184560,7 @@ function getTelemetryAttributes() {
|
|
|
184559
184560
|
attributes["session.id"] = sessionId;
|
|
184560
184561
|
}
|
|
184561
184562
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
184562
|
-
attributes["app.version"] = "1.11.
|
|
184563
|
+
attributes["app.version"] = "1.11.3";
|
|
184563
184564
|
}
|
|
184564
184565
|
const oauthAccount = getOauthAccountInfo();
|
|
184565
184566
|
if (oauthAccount) {
|
|
@@ -220157,7 +220158,7 @@ function getInstallationEnv() {
|
|
|
220157
220158
|
return;
|
|
220158
220159
|
}
|
|
220159
220160
|
function getURCodeVersion() {
|
|
220160
|
-
return "1.11.
|
|
220161
|
+
return "1.11.3";
|
|
220161
220162
|
}
|
|
220162
220163
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
220163
220164
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -222885,7 +222886,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
222885
222886
|
const client2 = new Client({
|
|
222886
222887
|
name: "ur",
|
|
222887
222888
|
title: "UR",
|
|
222888
|
-
version: "1.11.
|
|
222889
|
+
version: "1.11.3",
|
|
222889
222890
|
description: "URHQ's agentic coding tool",
|
|
222890
222891
|
websiteUrl: PRODUCT_URL
|
|
222891
222892
|
}, {
|
|
@@ -223239,7 +223240,7 @@ var init_client5 = __esm(() => {
|
|
|
223239
223240
|
const client2 = new Client({
|
|
223240
223241
|
name: "ur",
|
|
223241
223242
|
title: "UR",
|
|
223242
|
-
version: "1.11.
|
|
223243
|
+
version: "1.11.3",
|
|
223243
223244
|
description: "URHQ's agentic coding tool",
|
|
223244
223245
|
websiteUrl: PRODUCT_URL
|
|
223245
223246
|
}, {
|
|
@@ -232958,9 +232959,9 @@ async function assertMinVersion() {
|
|
|
232958
232959
|
if (false) {}
|
|
232959
232960
|
try {
|
|
232960
232961
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
232961
|
-
if (versionConfig.minVersion && lt("1.11.
|
|
232962
|
+
if (versionConfig.minVersion && lt("1.11.3", versionConfig.minVersion)) {
|
|
232962
232963
|
console.error(`
|
|
232963
|
-
It looks like your version of UR (${"1.11.
|
|
232964
|
+
It looks like your version of UR (${"1.11.3"}) needs an update.
|
|
232964
232965
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
232965
232966
|
|
|
232966
232967
|
To update, please run:
|
|
@@ -233176,7 +233177,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
233176
233177
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
233177
233178
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
233178
233179
|
pid: process.pid,
|
|
233179
|
-
currentVersion: "1.11.
|
|
233180
|
+
currentVersion: "1.11.3"
|
|
233180
233181
|
});
|
|
233181
233182
|
return "in_progress";
|
|
233182
233183
|
}
|
|
@@ -233185,7 +233186,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
233185
233186
|
if (!env3.isRunningWithBun() && env3.isNpmFromWindowsPath()) {
|
|
233186
233187
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
233187
233188
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
233188
|
-
currentVersion: "1.11.
|
|
233189
|
+
currentVersion: "1.11.3"
|
|
233189
233190
|
});
|
|
233190
233191
|
console.error(`
|
|
233191
233192
|
Error: Windows NPM detected in WSL
|
|
@@ -233720,7 +233721,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
233720
233721
|
}
|
|
233721
233722
|
async function getDoctorDiagnostic() {
|
|
233722
233723
|
const installationType = await getCurrentInstallationType();
|
|
233723
|
-
const version2 = typeof MACRO !== "undefined" ? "1.11.
|
|
233724
|
+
const version2 = typeof MACRO !== "undefined" ? "1.11.3" : "unknown";
|
|
233724
233725
|
const installationPath = await getInstallationPath();
|
|
233725
233726
|
const invokedBinary = getInvokedBinary();
|
|
233726
233727
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -234655,8 +234656,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
234655
234656
|
const maxVersion = await getMaxVersion();
|
|
234656
234657
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
234657
234658
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
234658
|
-
if (gte("1.11.
|
|
234659
|
-
logForDebugging(`Native installer: current version ${"1.11.
|
|
234659
|
+
if (gte("1.11.3", maxVersion)) {
|
|
234660
|
+
logForDebugging(`Native installer: current version ${"1.11.3"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
234660
234661
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
234661
234662
|
latency_ms: Date.now() - startTime,
|
|
234662
234663
|
max_version: maxVersion,
|
|
@@ -234667,7 +234668,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
234667
234668
|
version2 = maxVersion;
|
|
234668
234669
|
}
|
|
234669
234670
|
}
|
|
234670
|
-
if (!forceReinstall && version2 === "1.11.
|
|
234671
|
+
if (!forceReinstall && version2 === "1.11.3" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
|
|
234671
234672
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
234672
234673
|
logEvent("tengu_native_update_complete", {
|
|
234673
234674
|
latency_ms: Date.now() - startTime,
|
|
@@ -284557,9 +284558,12 @@ var init_WebFetchTool = __esm(() => {
|
|
|
284557
284558
|
};
|
|
284558
284559
|
}
|
|
284559
284560
|
return {
|
|
284560
|
-
behavior: "
|
|
284561
|
-
|
|
284562
|
-
|
|
284561
|
+
behavior: "allow",
|
|
284562
|
+
updatedInput: input,
|
|
284563
|
+
decisionReason: {
|
|
284564
|
+
type: "other",
|
|
284565
|
+
reason: "Read-only web fetches are allowed by default"
|
|
284566
|
+
}
|
|
284563
284567
|
};
|
|
284564
284568
|
},
|
|
284565
284569
|
async prompt(_options) {
|
|
@@ -284642,11 +284646,13 @@ To complete your request, I need to fetch content from the redirected URL. Pleas
|
|
|
284642
284646
|
data: output
|
|
284643
284647
|
};
|
|
284644
284648
|
},
|
|
284645
|
-
mapToolResultToToolResultBlockParam({ result }, toolUseID) {
|
|
284649
|
+
mapToolResultToToolResultBlockParam({ result, url: url3 }, toolUseID) {
|
|
284646
284650
|
return {
|
|
284647
284651
|
tool_use_id: toolUseID,
|
|
284648
284652
|
type: "tool_result",
|
|
284649
|
-
content:
|
|
284653
|
+
content: `Source URL: ${url3}
|
|
284654
|
+
|
|
284655
|
+
${result}`
|
|
284650
284656
|
};
|
|
284651
284657
|
}
|
|
284652
284658
|
});
|
|
@@ -286306,6 +286312,7 @@ var init_WebSearchTool = __esm(() => {
|
|
|
286306
286312
|
init_log2();
|
|
286307
286313
|
init_messages();
|
|
286308
286314
|
init_model();
|
|
286315
|
+
init_permissions2();
|
|
286309
286316
|
init_slowOperations();
|
|
286310
286317
|
init_prompt5();
|
|
286311
286318
|
init_UI16();
|
|
@@ -286375,18 +286382,50 @@ var init_WebSearchTool = __esm(() => {
|
|
|
286375
286382
|
toAutoClassifierInput(input) {
|
|
286376
286383
|
return input.query;
|
|
286377
286384
|
},
|
|
286378
|
-
async checkPermissions(
|
|
286379
|
-
|
|
286380
|
-
|
|
286381
|
-
|
|
286382
|
-
|
|
286383
|
-
|
|
286384
|
-
|
|
286385
|
-
|
|
286386
|
-
|
|
286387
|
-
|
|
286385
|
+
async checkPermissions(input, context3) {
|
|
286386
|
+
const appState = context3.getAppState();
|
|
286387
|
+
const permissionContext = appState.toolPermissionContext;
|
|
286388
|
+
const ruleContent = input.query;
|
|
286389
|
+
const denyRule = getRuleByContentsForTool(permissionContext, WebSearchTool, "deny").get(ruleContent);
|
|
286390
|
+
if (denyRule) {
|
|
286391
|
+
return {
|
|
286392
|
+
behavior: "deny",
|
|
286393
|
+
message: `${WebSearchTool.name} denied access to ${ruleContent}.`,
|
|
286394
|
+
decisionReason: {
|
|
286395
|
+
type: "rule",
|
|
286396
|
+
rule: denyRule
|
|
286388
286397
|
}
|
|
286389
|
-
|
|
286398
|
+
};
|
|
286399
|
+
}
|
|
286400
|
+
const askRule = getRuleByContentsForTool(permissionContext, WebSearchTool, "ask").get(ruleContent);
|
|
286401
|
+
if (askRule) {
|
|
286402
|
+
return {
|
|
286403
|
+
behavior: "ask",
|
|
286404
|
+
message: `UR requested permissions to use ${WebSearchTool.name}, but you haven't granted it yet.`,
|
|
286405
|
+
decisionReason: {
|
|
286406
|
+
type: "rule",
|
|
286407
|
+
rule: askRule
|
|
286408
|
+
}
|
|
286409
|
+
};
|
|
286410
|
+
}
|
|
286411
|
+
const allowRule = getRuleByContentsForTool(permissionContext, WebSearchTool, "allow").get(ruleContent);
|
|
286412
|
+
if (allowRule) {
|
|
286413
|
+
return {
|
|
286414
|
+
behavior: "allow",
|
|
286415
|
+
updatedInput: input,
|
|
286416
|
+
decisionReason: {
|
|
286417
|
+
type: "rule",
|
|
286418
|
+
rule: allowRule
|
|
286419
|
+
}
|
|
286420
|
+
};
|
|
286421
|
+
}
|
|
286422
|
+
return {
|
|
286423
|
+
behavior: "allow",
|
|
286424
|
+
updatedInput: input,
|
|
286425
|
+
decisionReason: {
|
|
286426
|
+
type: "other",
|
|
286427
|
+
reason: "Read-only web searches are allowed by default"
|
|
286428
|
+
}
|
|
286390
286429
|
};
|
|
286391
286430
|
},
|
|
286392
286431
|
async prompt() {
|
|
@@ -328833,7 +328872,7 @@ function Feedback({
|
|
|
328833
328872
|
platform: env3.platform,
|
|
328834
328873
|
gitRepo: envInfo.isGit,
|
|
328835
328874
|
terminal: env3.terminal,
|
|
328836
|
-
version: "1.11.
|
|
328875
|
+
version: "1.11.3",
|
|
328837
328876
|
transcript: normalizeMessagesForAPI(messages),
|
|
328838
328877
|
errors: sanitizedErrors,
|
|
328839
328878
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -329025,7 +329064,7 @@ function Feedback({
|
|
|
329025
329064
|
", ",
|
|
329026
329065
|
env3.terminal,
|
|
329027
329066
|
", v",
|
|
329028
|
-
"1.11.
|
|
329067
|
+
"1.11.3"
|
|
329029
329068
|
]
|
|
329030
329069
|
}, undefined, true, undefined, this)
|
|
329031
329070
|
]
|
|
@@ -329131,7 +329170,7 @@ ${sanitizedDescription}
|
|
|
329131
329170
|
` + `**Environment Info**
|
|
329132
329171
|
` + `- Platform: ${env3.platform}
|
|
329133
329172
|
` + `- Terminal: ${env3.terminal}
|
|
329134
|
-
` + `- Version: ${"1.11.
|
|
329173
|
+
` + `- Version: ${"1.11.3"}
|
|
329135
329174
|
` + `- Feedback ID: ${feedbackId}
|
|
329136
329175
|
` + `
|
|
329137
329176
|
**Errors**
|
|
@@ -332241,7 +332280,7 @@ function buildPrimarySection() {
|
|
|
332241
332280
|
}, undefined, false, undefined, this);
|
|
332242
332281
|
return [{
|
|
332243
332282
|
label: "Version",
|
|
332244
|
-
value: "1.11.
|
|
332283
|
+
value: "1.11.3"
|
|
332245
332284
|
}, {
|
|
332246
332285
|
label: "Session name",
|
|
332247
332286
|
value: nameValue
|
|
@@ -335519,7 +335558,7 @@ function Config({
|
|
|
335519
335558
|
}
|
|
335520
335559
|
}, undefined, false, undefined, this)
|
|
335521
335560
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime177.jsxDEV(ChannelDowngradeDialog, {
|
|
335522
|
-
currentVersion: "1.11.
|
|
335561
|
+
currentVersion: "1.11.3",
|
|
335523
335562
|
onChoice: (choice) => {
|
|
335524
335563
|
setShowSubmenu(null);
|
|
335525
335564
|
setTabsHidden(false);
|
|
@@ -335531,7 +335570,7 @@ function Config({
|
|
|
335531
335570
|
autoUpdatesChannel: "stable"
|
|
335532
335571
|
};
|
|
335533
335572
|
if (choice === "stay") {
|
|
335534
|
-
newSettings.minimumVersion = "1.11.
|
|
335573
|
+
newSettings.minimumVersion = "1.11.3";
|
|
335535
335574
|
}
|
|
335536
335575
|
updateSettingsForSource("userSettings", newSettings);
|
|
335537
335576
|
setSettingsData((prev_27) => ({
|
|
@@ -343601,7 +343640,7 @@ function HelpV2(t0) {
|
|
|
343601
343640
|
let t6;
|
|
343602
343641
|
if ($3[31] !== tabs) {
|
|
343603
343642
|
t6 = /* @__PURE__ */ jsx_dev_runtime204.jsxDEV(Tabs, {
|
|
343604
|
-
title: `UR v${"1.11.
|
|
343643
|
+
title: `UR v${"1.11.3"}`,
|
|
343605
343644
|
color: "professionalBlue",
|
|
343606
343645
|
defaultTab: "general",
|
|
343607
343646
|
children: tabs
|
|
@@ -363204,7 +363243,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
363204
363243
|
return [];
|
|
363205
363244
|
}
|
|
363206
363245
|
}
|
|
363207
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.11.
|
|
363246
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.11.3") {
|
|
363208
363247
|
if (process.env.USER_TYPE === "ant") {
|
|
363209
363248
|
const changelog = "";
|
|
363210
363249
|
if (changelog) {
|
|
@@ -363231,7 +363270,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.11.2")
|
|
|
363231
363270
|
releaseNotes
|
|
363232
363271
|
};
|
|
363233
363272
|
}
|
|
363234
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.11.
|
|
363273
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.11.3") {
|
|
363235
363274
|
if (process.env.USER_TYPE === "ant") {
|
|
363236
363275
|
const changelog = "";
|
|
363237
363276
|
if (changelog) {
|
|
@@ -364401,7 +364440,7 @@ function getRecentActivitySync() {
|
|
|
364401
364440
|
return cachedActivity;
|
|
364402
364441
|
}
|
|
364403
364442
|
function getLogoDisplayData() {
|
|
364404
|
-
const version2 = process.env.DEMO_VERSION ?? "1.11.
|
|
364443
|
+
const version2 = process.env.DEMO_VERSION ?? "1.11.3";
|
|
364405
364444
|
const serverUrl = getDirectConnectServerUrl();
|
|
364406
364445
|
const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
|
|
364407
364446
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -365190,7 +365229,7 @@ function LogoV2() {
|
|
|
365190
365229
|
if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
365191
365230
|
t2 = () => {
|
|
365192
365231
|
const currentConfig = getGlobalConfig();
|
|
365193
|
-
if (currentConfig.lastReleaseNotesSeen === "1.11.
|
|
365232
|
+
if (currentConfig.lastReleaseNotesSeen === "1.11.3") {
|
|
365194
365233
|
return;
|
|
365195
365234
|
}
|
|
365196
365235
|
saveGlobalConfig(_temp326);
|
|
@@ -365875,12 +365914,12 @@ function LogoV2() {
|
|
|
365875
365914
|
return t41;
|
|
365876
365915
|
}
|
|
365877
365916
|
function _temp326(current) {
|
|
365878
|
-
if (current.lastReleaseNotesSeen === "1.11.
|
|
365917
|
+
if (current.lastReleaseNotesSeen === "1.11.3") {
|
|
365879
365918
|
return current;
|
|
365880
365919
|
}
|
|
365881
365920
|
return {
|
|
365882
365921
|
...current,
|
|
365883
|
-
lastReleaseNotesSeen: "1.11.
|
|
365922
|
+
lastReleaseNotesSeen: "1.11.3"
|
|
365884
365923
|
};
|
|
365885
365924
|
}
|
|
365886
365925
|
function _temp243(s_0) {
|
|
@@ -395697,7 +395736,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
395697
395736
|
smapsRollup,
|
|
395698
395737
|
platform: process.platform,
|
|
395699
395738
|
nodeVersion: process.version,
|
|
395700
|
-
ccVersion: "1.11.
|
|
395739
|
+
ccVersion: "1.11.3"
|
|
395701
395740
|
};
|
|
395702
395741
|
}
|
|
395703
395742
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -396283,7 +396322,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
396283
396322
|
var call93 = async () => {
|
|
396284
396323
|
return {
|
|
396285
396324
|
type: "text",
|
|
396286
|
-
value: "1.11.
|
|
396325
|
+
value: "1.11.3"
|
|
396287
396326
|
};
|
|
396288
396327
|
}, version2, version_default;
|
|
396289
396328
|
var init_version = __esm(() => {
|
|
@@ -405323,7 +405362,7 @@ function generateHtmlReport(data, insights) {
|
|
|
405323
405362
|
</html>`;
|
|
405324
405363
|
}
|
|
405325
405364
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
405326
|
-
const version3 = typeof MACRO !== "undefined" ? "1.11.
|
|
405365
|
+
const version3 = typeof MACRO !== "undefined" ? "1.11.3" : "unknown";
|
|
405327
405366
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
405328
405367
|
const facets_summary = {
|
|
405329
405368
|
total: facets.size,
|
|
@@ -409510,7 +409549,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
409510
409549
|
init_settings2();
|
|
409511
409550
|
init_slowOperations();
|
|
409512
409551
|
init_uuid();
|
|
409513
|
-
VERSION5 = typeof MACRO !== "undefined" ? "1.11.
|
|
409552
|
+
VERSION5 = typeof MACRO !== "undefined" ? "1.11.3" : "unknown";
|
|
409514
409553
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
409515
409554
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
409516
409555
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -410715,7 +410754,7 @@ var init_filesystem = __esm(() => {
|
|
|
410715
410754
|
});
|
|
410716
410755
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
410717
410756
|
const nonce = randomBytes18(16).toString("hex");
|
|
410718
|
-
return join150(getURTempDir(), "bundled-skills", "1.11.
|
|
410757
|
+
return join150(getURTempDir(), "bundled-skills", "1.11.3", nonce);
|
|
410719
410758
|
});
|
|
410720
410759
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
410721
410760
|
});
|
|
@@ -416746,7 +416785,7 @@ function computeFingerprint(messageText, version3) {
|
|
|
416746
416785
|
}
|
|
416747
416786
|
function computeFingerprintFromMessages(messages) {
|
|
416748
416787
|
const firstMessageText = extractFirstMessageText(messages);
|
|
416749
|
-
return computeFingerprint(firstMessageText, "1.11.
|
|
416788
|
+
return computeFingerprint(firstMessageText, "1.11.3");
|
|
416750
416789
|
}
|
|
416751
416790
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
416752
416791
|
var init_fingerprint = () => {};
|
|
@@ -418612,7 +418651,7 @@ async function sideQuery(opts) {
|
|
|
418612
418651
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
418613
418652
|
}
|
|
418614
418653
|
const messageText = extractFirstUserMessageText(messages);
|
|
418615
|
-
const fingerprint = computeFingerprint(messageText, "1.11.
|
|
418654
|
+
const fingerprint = computeFingerprint(messageText, "1.11.3");
|
|
418616
418655
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
418617
418656
|
const systemBlocks = [
|
|
418618
418657
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -423349,7 +423388,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
423349
423388
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
423350
423389
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
423351
423390
|
betas: getSdkBetas(),
|
|
423352
|
-
ur_version: "1.11.
|
|
423391
|
+
ur_version: "1.11.3",
|
|
423353
423392
|
output_style: outputStyle2,
|
|
423354
423393
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
423355
423394
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -437977,7 +438016,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
437977
438016
|
function getSemverPart(version3) {
|
|
437978
438017
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
437979
438018
|
}
|
|
437980
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.11.
|
|
438019
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.11.3") {
|
|
437981
438020
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react224.useState(() => getSemverPart(initialVersion));
|
|
437982
438021
|
if (!updatedVersion) {
|
|
437983
438022
|
return null;
|
|
@@ -438017,7 +438056,7 @@ function AutoUpdater({
|
|
|
438017
438056
|
return;
|
|
438018
438057
|
}
|
|
438019
438058
|
if (false) {}
|
|
438020
|
-
const currentVersion = "1.11.
|
|
438059
|
+
const currentVersion = "1.11.3";
|
|
438021
438060
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
438022
438061
|
let latestVersion = await getLatestVersion(channel);
|
|
438023
438062
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -438230,12 +438269,12 @@ function NativeAutoUpdater({
|
|
|
438230
438269
|
logEvent("tengu_native_auto_updater_start", {});
|
|
438231
438270
|
try {
|
|
438232
438271
|
const maxVersion = await getMaxVersion();
|
|
438233
|
-
if (maxVersion && gt("1.11.
|
|
438272
|
+
if (maxVersion && gt("1.11.3", maxVersion)) {
|
|
438234
438273
|
const msg = await getMaxVersionMessage();
|
|
438235
438274
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
438236
438275
|
}
|
|
438237
438276
|
const result = await installLatest(channel);
|
|
438238
|
-
const currentVersion = "1.11.
|
|
438277
|
+
const currentVersion = "1.11.3";
|
|
438239
438278
|
const latencyMs = Date.now() - startTime;
|
|
438240
438279
|
if (result.lockFailed) {
|
|
438241
438280
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -438372,17 +438411,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
438372
438411
|
const maxVersion = await getMaxVersion();
|
|
438373
438412
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
438374
438413
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
438375
|
-
if (gte("1.11.
|
|
438376
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.11.
|
|
438414
|
+
if (gte("1.11.3", maxVersion)) {
|
|
438415
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.11.3"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
438377
438416
|
setUpdateAvailable(false);
|
|
438378
438417
|
return;
|
|
438379
438418
|
}
|
|
438380
438419
|
latest = maxVersion;
|
|
438381
438420
|
}
|
|
438382
|
-
const hasUpdate = latest && !gte("1.11.
|
|
438421
|
+
const hasUpdate = latest && !gte("1.11.3", latest) && !shouldSkipVersion(latest);
|
|
438383
438422
|
setUpdateAvailable(!!hasUpdate);
|
|
438384
438423
|
if (hasUpdate) {
|
|
438385
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.11.
|
|
438424
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.11.3"} -> ${latest}`);
|
|
438386
438425
|
}
|
|
438387
438426
|
};
|
|
438388
438427
|
$3[0] = t1;
|
|
@@ -438416,7 +438455,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
438416
438455
|
wrap: "truncate",
|
|
438417
438456
|
children: [
|
|
438418
438457
|
"currentVersion: ",
|
|
438419
|
-
"1.11.
|
|
438458
|
+
"1.11.3"
|
|
438420
438459
|
]
|
|
438421
438460
|
}, undefined, true, undefined, this);
|
|
438422
438461
|
$3[3] = verbose;
|
|
@@ -450778,7 +450817,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
450778
450817
|
project_dir: getOriginalCwd(),
|
|
450779
450818
|
added_dirs: addedDirs
|
|
450780
450819
|
},
|
|
450781
|
-
version: "1.11.
|
|
450820
|
+
version: "1.11.3",
|
|
450782
450821
|
output_style: {
|
|
450783
450822
|
name: outputStyleName
|
|
450784
450823
|
},
|
|
@@ -462270,7 +462309,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
462270
462309
|
} catch {}
|
|
462271
462310
|
const data = {
|
|
462272
462311
|
trigger,
|
|
462273
|
-
version: "1.11.
|
|
462312
|
+
version: "1.11.3",
|
|
462274
462313
|
platform: process.platform,
|
|
462275
462314
|
transcript,
|
|
462276
462315
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -474185,7 +474224,7 @@ function WelcomeV2() {
|
|
|
474185
474224
|
dimColor: true,
|
|
474186
474225
|
children: [
|
|
474187
474226
|
"v",
|
|
474188
|
-
"1.11.
|
|
474227
|
+
"1.11.3"
|
|
474189
474228
|
]
|
|
474190
474229
|
}, undefined, true, undefined, this)
|
|
474191
474230
|
]
|
|
@@ -475445,7 +475484,7 @@ function completeOnboarding() {
|
|
|
475445
475484
|
saveGlobalConfig((current) => ({
|
|
475446
475485
|
...current,
|
|
475447
475486
|
hasCompletedOnboarding: true,
|
|
475448
|
-
lastOnboardingVersion: "1.11.
|
|
475487
|
+
lastOnboardingVersion: "1.11.3"
|
|
475449
475488
|
}));
|
|
475450
475489
|
}
|
|
475451
475490
|
function showDialog(root2, renderer) {
|
|
@@ -479905,7 +479944,7 @@ function appendToLog(path24, message) {
|
|
|
479905
479944
|
cwd: getFsImplementation().cwd(),
|
|
479906
479945
|
userType: process.env.USER_TYPE,
|
|
479907
479946
|
sessionId: getSessionId(),
|
|
479908
|
-
version: "1.11.
|
|
479947
|
+
version: "1.11.3"
|
|
479909
479948
|
};
|
|
479910
479949
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
479911
479950
|
}
|
|
@@ -483931,8 +483970,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
483931
483970
|
}
|
|
483932
483971
|
async function checkEnvLessBridgeMinVersion() {
|
|
483933
483972
|
const cfg = await getEnvLessBridgeConfig();
|
|
483934
|
-
if (cfg.min_version && lt("1.11.
|
|
483935
|
-
return `Your version of UR (${"1.11.
|
|
483973
|
+
if (cfg.min_version && lt("1.11.3", cfg.min_version)) {
|
|
483974
|
+
return `Your version of UR (${"1.11.3"}) is too old for Remote Control.
|
|
483936
483975
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
483937
483976
|
}
|
|
483938
483977
|
return null;
|
|
@@ -484406,7 +484445,7 @@ async function initBridgeCore(params) {
|
|
|
484406
484445
|
const rawApi = createBridgeApiClient({
|
|
484407
484446
|
baseUrl,
|
|
484408
484447
|
getAccessToken,
|
|
484409
|
-
runnerVersion: "1.11.
|
|
484448
|
+
runnerVersion: "1.11.3",
|
|
484410
484449
|
onDebug: logForDebugging,
|
|
484411
484450
|
onAuth401,
|
|
484412
484451
|
getTrustedDeviceToken
|
|
@@ -490071,7 +490110,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
|
|
|
490071
490110
|
setCwd(cwd3);
|
|
490072
490111
|
const server = new Server({
|
|
490073
490112
|
name: "ur/tengu",
|
|
490074
|
-
version: "1.11.
|
|
490113
|
+
version: "1.11.3"
|
|
490075
490114
|
}, {
|
|
490076
490115
|
capabilities: {
|
|
490077
490116
|
tools: {}
|
|
@@ -491682,7 +491721,7 @@ __export(exports_update, {
|
|
|
491682
491721
|
});
|
|
491683
491722
|
async function update() {
|
|
491684
491723
|
logEvent("tengu_update_check", {});
|
|
491685
|
-
writeToStdout(`Current version: ${"1.11.
|
|
491724
|
+
writeToStdout(`Current version: ${"1.11.3"}
|
|
491686
491725
|
`);
|
|
491687
491726
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
491688
491727
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -491757,8 +491796,8 @@ async function update() {
|
|
|
491757
491796
|
writeToStdout(`UR is managed by Homebrew.
|
|
491758
491797
|
`);
|
|
491759
491798
|
const latest = await getLatestVersion(channel);
|
|
491760
|
-
if (latest && !gte("1.11.
|
|
491761
|
-
writeToStdout(`Update available: ${"1.11.
|
|
491799
|
+
if (latest && !gte("1.11.3", latest)) {
|
|
491800
|
+
writeToStdout(`Update available: ${"1.11.3"} \u2192 ${latest}
|
|
491762
491801
|
`);
|
|
491763
491802
|
writeToStdout(`
|
|
491764
491803
|
`);
|
|
@@ -491774,8 +491813,8 @@ async function update() {
|
|
|
491774
491813
|
writeToStdout(`UR is managed by winget.
|
|
491775
491814
|
`);
|
|
491776
491815
|
const latest = await getLatestVersion(channel);
|
|
491777
|
-
if (latest && !gte("1.11.
|
|
491778
|
-
writeToStdout(`Update available: ${"1.11.
|
|
491816
|
+
if (latest && !gte("1.11.3", latest)) {
|
|
491817
|
+
writeToStdout(`Update available: ${"1.11.3"} \u2192 ${latest}
|
|
491779
491818
|
`);
|
|
491780
491819
|
writeToStdout(`
|
|
491781
491820
|
`);
|
|
@@ -491791,8 +491830,8 @@ async function update() {
|
|
|
491791
491830
|
writeToStdout(`UR is managed by apk.
|
|
491792
491831
|
`);
|
|
491793
491832
|
const latest = await getLatestVersion(channel);
|
|
491794
|
-
if (latest && !gte("1.11.
|
|
491795
|
-
writeToStdout(`Update available: ${"1.11.
|
|
491833
|
+
if (latest && !gte("1.11.3", latest)) {
|
|
491834
|
+
writeToStdout(`Update available: ${"1.11.3"} \u2192 ${latest}
|
|
491796
491835
|
`);
|
|
491797
491836
|
writeToStdout(`
|
|
491798
491837
|
`);
|
|
@@ -491857,11 +491896,11 @@ async function update() {
|
|
|
491857
491896
|
`);
|
|
491858
491897
|
await gracefulShutdown(1);
|
|
491859
491898
|
}
|
|
491860
|
-
if (result.latestVersion === "1.11.
|
|
491861
|
-
writeToStdout(source_default.green(`UR is up to date (${"1.11.
|
|
491899
|
+
if (result.latestVersion === "1.11.3") {
|
|
491900
|
+
writeToStdout(source_default.green(`UR is up to date (${"1.11.3"})`) + `
|
|
491862
491901
|
`);
|
|
491863
491902
|
} else {
|
|
491864
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.11.
|
|
491903
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.11.3"} to version ${result.latestVersion}`) + `
|
|
491865
491904
|
`);
|
|
491866
491905
|
await regenerateCompletionCache();
|
|
491867
491906
|
}
|
|
@@ -491921,12 +491960,12 @@ async function update() {
|
|
|
491921
491960
|
`);
|
|
491922
491961
|
await gracefulShutdown(1);
|
|
491923
491962
|
}
|
|
491924
|
-
if (latestVersion === "1.11.
|
|
491925
|
-
writeToStdout(source_default.green(`UR is up to date (${"1.11.
|
|
491963
|
+
if (latestVersion === "1.11.3") {
|
|
491964
|
+
writeToStdout(source_default.green(`UR is up to date (${"1.11.3"})`) + `
|
|
491926
491965
|
`);
|
|
491927
491966
|
await gracefulShutdown(0);
|
|
491928
491967
|
}
|
|
491929
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"1.11.
|
|
491968
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"1.11.3"})
|
|
491930
491969
|
`);
|
|
491931
491970
|
writeToStdout(`Installing update...
|
|
491932
491971
|
`);
|
|
@@ -491971,7 +492010,7 @@ async function update() {
|
|
|
491971
492010
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
491972
492011
|
switch (status2) {
|
|
491973
492012
|
case "success":
|
|
491974
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.11.
|
|
492013
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.11.3"} to version ${latestVersion}`) + `
|
|
491975
492014
|
`);
|
|
491976
492015
|
await regenerateCompletionCache();
|
|
491977
492016
|
break;
|
|
@@ -493221,7 +493260,7 @@ ${customInstructions}` : customInstructions;
|
|
|
493221
493260
|
}
|
|
493222
493261
|
}
|
|
493223
493262
|
logForDiagnosticsNoPII("info", "started", {
|
|
493224
|
-
version: "1.11.
|
|
493263
|
+
version: "1.11.3",
|
|
493225
493264
|
is_native_binary: isInBundledMode()
|
|
493226
493265
|
});
|
|
493227
493266
|
registerCleanup(async () => {
|
|
@@ -494005,7 +494044,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
494005
494044
|
pendingHookMessages
|
|
494006
494045
|
}, renderAndRun);
|
|
494007
494046
|
}
|
|
494008
|
-
}).version("1.11.
|
|
494047
|
+
}).version("1.11.3 (Ur)", "-v, --version", "Output the version number");
|
|
494009
494048
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
494010
494049
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
494011
494050
|
if (canUserConfigureAdvisor()) {
|
|
@@ -494518,7 +494557,7 @@ if (false) {}
|
|
|
494518
494557
|
async function main2() {
|
|
494519
494558
|
const args = process.argv.slice(2);
|
|
494520
494559
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
494521
|
-
console.log(`${"1.11.
|
|
494560
|
+
console.log(`${"1.11.3"} (Ur)`);
|
|
494522
494561
|
return;
|
|
494523
494562
|
}
|
|
494524
494563
|
const {
|
package/docs/VALIDATION.md
CHANGED