ur-agent 1.33.0 → 1.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/README.md +11 -9
- package/dist/cli.js +75 -79
- package/docs/providers.md +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.34.0
|
|
4
|
+
|
|
5
|
+
- Restore the 1.30.3 subscription approach: Codex CLI, Claude Code, Gemini CLI
|
|
6
|
+
and Antigravity are first-class in `/model` again — shown by default and
|
|
7
|
+
usable directly (no `UR_ENABLE_EXTERNAL_APP_PROVIDERS` opt-in and no runtime
|
|
8
|
+
block). They dispatch through the official CLI; log in with
|
|
9
|
+
`ur auth <provider>`. The internal generic `subscription` placeholder is
|
|
10
|
+
hidden from listings.
|
|
11
|
+
- API and local/server providers are unchanged: live model discovery from each
|
|
12
|
+
provider's `/models` endpoint and in-app masked API-key entry.
|
|
13
|
+
|
|
3
14
|
## 1.33.0
|
|
4
15
|
|
|
5
16
|
- Add API keys from inside UR while it is running: in `/model`, selecting an
|
package/README.md
CHANGED
|
@@ -157,12 +157,14 @@ environment variables. API, local, and OpenAI-compatible server providers are
|
|
|
157
157
|
UR-native runtimes and behave like Ollama: UR owns the conversation loop, tool
|
|
158
158
|
loop, errors, and output.
|
|
159
159
|
|
|
160
|
-
The
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
160
|
+
The provider list shows the subscription CLIs (Codex CLI, Claude Code, Gemini
|
|
161
|
+
CLI, Antigravity) alongside the API and local/server providers, and they are
|
|
162
|
+
first-class: pick one in `/model` and it dispatches through the official CLI.
|
|
163
|
+
These are external app bridges — they run the vendor's own CLI using your
|
|
164
|
+
subscription — so you log in with `ur auth <provider>` (e.g. `ur auth chatgpt`,
|
|
165
|
+
`ur auth claude`). UR does not invent subscription models; each subscription
|
|
166
|
+
shows its curated model list. The generic `subscription` entry is an internal
|
|
167
|
+
placeholder and is hidden from the list.
|
|
166
168
|
|
|
167
169
|
```sh
|
|
168
170
|
ur provider list
|
|
@@ -235,9 +237,9 @@ identity line in the system prompt reflects it too:
|
|
|
235
237
|
OpenRouter on its OpenAI-compatible chat endpoint.
|
|
236
238
|
- **Local/server** providers call the configured endpoint (`/v1/chat/completions`
|
|
237
239
|
for LM Studio/llama.cpp/vLLM; the native API for Ollama).
|
|
238
|
-
- **
|
|
239
|
-
|
|
240
|
-
|
|
240
|
+
- **Subscription CLIs** (Codex, Claude Code, Gemini, Antigravity) are external
|
|
241
|
+
app bridges: selecting one dispatches the turn through the vendor's official
|
|
242
|
+
CLI using your subscription. Log in with `ur auth <provider>`.
|
|
241
243
|
- **Subscription** access does not list fake models. If no independent
|
|
242
244
|
subscription backend is configured, `/model` marks it unavailable and asks you
|
|
243
245
|
to choose a connected local, server, or API provider.
|
package/dist/cli.js
CHANGED
|
@@ -51818,24 +51818,16 @@ function getProviderRuntimeBlockReason(providerId, env4 = process.env, settings
|
|
|
51818
51818
|
if (!provider) {
|
|
51819
51819
|
return `Unknown provider "${providerId}". Run: ur provider list`;
|
|
51820
51820
|
}
|
|
51821
|
-
const definition = getProviderDefinition(provider);
|
|
51822
51821
|
if (provider === "subscription") {
|
|
51823
|
-
return `Provider "subscription"
|
|
51824
|
-
}
|
|
51825
|
-
if (definition.runtimeKind !== "external-app") {
|
|
51826
|
-
return null;
|
|
51827
|
-
}
|
|
51828
|
-
if (isExternalBridgeEnabled(provider, env4, settings)) {
|
|
51829
|
-
return null;
|
|
51822
|
+
return `Provider "subscription" is an internal placeholder. Choose a specific subscription (codex-cli, claude-code-cli, gemini-cli, antigravity-cli) or an API/local/server provider with /model.`;
|
|
51830
51823
|
}
|
|
51831
|
-
return
|
|
51824
|
+
return null;
|
|
51832
51825
|
}
|
|
51833
51826
|
function isProviderRuntimeSelectable(providerId, env4 = process.env) {
|
|
51834
51827
|
return getProviderRuntimeBlockReason(providerId, env4) === null;
|
|
51835
51828
|
}
|
|
51836
|
-
function listProviders(
|
|
51837
|
-
|
|
51838
|
-
return PROVIDER_IDS.map((id) => PROVIDERS[id]).filter((provider) => includeExternal || provider.runtimeKind !== "external-app");
|
|
51829
|
+
function listProviders(_options = {}) {
|
|
51830
|
+
return PROVIDER_IDS.map((id) => PROVIDERS[id]).filter((provider) => provider.id !== "subscription");
|
|
51839
51831
|
}
|
|
51840
51832
|
function hasSecretLikeValue(value) {
|
|
51841
51833
|
const trimmed = value.trim();
|
|
@@ -69518,7 +69510,7 @@ var init_auth = __esm(() => {
|
|
|
69518
69510
|
|
|
69519
69511
|
// src/utils/userAgent.ts
|
|
69520
69512
|
function getURCodeUserAgent() {
|
|
69521
|
-
return `ur/${"1.
|
|
69513
|
+
return `ur/${"1.34.0"}`;
|
|
69522
69514
|
}
|
|
69523
69515
|
|
|
69524
69516
|
// src/utils/workloadContext.ts
|
|
@@ -69540,7 +69532,7 @@ function getUserAgent() {
|
|
|
69540
69532
|
const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
|
|
69541
69533
|
const workload = getWorkload();
|
|
69542
69534
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
69543
|
-
return `ur-cli/${"1.
|
|
69535
|
+
return `ur-cli/${"1.34.0"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
69544
69536
|
}
|
|
69545
69537
|
function getMCPUserAgent() {
|
|
69546
69538
|
const parts = [];
|
|
@@ -69554,7 +69546,7 @@ function getMCPUserAgent() {
|
|
|
69554
69546
|
parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
|
|
69555
69547
|
}
|
|
69556
69548
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
69557
|
-
return `ur/${"1.
|
|
69549
|
+
return `ur/${"1.34.0"}${suffix}`;
|
|
69558
69550
|
}
|
|
69559
69551
|
function getWebFetchUserAgent() {
|
|
69560
69552
|
return `UR-User (${getURCodeUserAgent()})`;
|
|
@@ -69692,7 +69684,7 @@ var init_user = __esm(() => {
|
|
|
69692
69684
|
deviceId,
|
|
69693
69685
|
sessionId: getSessionId(),
|
|
69694
69686
|
email: getEmail(),
|
|
69695
|
-
appVersion: "1.
|
|
69687
|
+
appVersion: "1.34.0",
|
|
69696
69688
|
platform: getHostPlatformForAnalytics(),
|
|
69697
69689
|
organizationUuid,
|
|
69698
69690
|
accountUuid,
|
|
@@ -76209,7 +76201,7 @@ var init_metadata = __esm(() => {
|
|
|
76209
76201
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
76210
76202
|
WHITESPACE_REGEX = /\s+/;
|
|
76211
76203
|
getVersionBase = memoize_default(() => {
|
|
76212
|
-
const match = "1.
|
|
76204
|
+
const match = "1.34.0".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
76213
76205
|
return match ? match[0] : undefined;
|
|
76214
76206
|
});
|
|
76215
76207
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -76249,7 +76241,7 @@ var init_metadata = __esm(() => {
|
|
|
76249
76241
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
76250
76242
|
isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
|
|
76251
76243
|
isURAiAuth: isURAISubscriber2(),
|
|
76252
|
-
version: "1.
|
|
76244
|
+
version: "1.34.0",
|
|
76253
76245
|
versionBase: getVersionBase(),
|
|
76254
76246
|
buildTime: "",
|
|
76255
76247
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
@@ -76919,7 +76911,7 @@ function initialize1PEventLogging() {
|
|
|
76919
76911
|
const platform2 = getPlatform();
|
|
76920
76912
|
const attributes = {
|
|
76921
76913
|
[import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
|
|
76922
|
-
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.
|
|
76914
|
+
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.34.0"
|
|
76923
76915
|
};
|
|
76924
76916
|
if (platform2 === "wsl") {
|
|
76925
76917
|
const wslVersion = getWslVersion();
|
|
@@ -76946,7 +76938,7 @@ function initialize1PEventLogging() {
|
|
|
76946
76938
|
})
|
|
76947
76939
|
]
|
|
76948
76940
|
});
|
|
76949
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.
|
|
76941
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.34.0");
|
|
76950
76942
|
}
|
|
76951
76943
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
76952
76944
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -82243,7 +82235,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
|
|
|
82243
82235
|
function formatA2AAgentCard(options = {}, pretty = true) {
|
|
82244
82236
|
return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
|
|
82245
82237
|
}
|
|
82246
|
-
var urVersion = "1.
|
|
82238
|
+
var urVersion = "1.34.0", coverage, priorityRoadmap;
|
|
82247
82239
|
var init_trends = __esm(() => {
|
|
82248
82240
|
coverage = [
|
|
82249
82241
|
{
|
|
@@ -84236,7 +84228,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
84236
84228
|
if (!isAttributionHeaderEnabled()) {
|
|
84237
84229
|
return "";
|
|
84238
84230
|
}
|
|
84239
|
-
const version2 = `${"1.
|
|
84231
|
+
const version2 = `${"1.34.0"}.${fingerprint}`;
|
|
84240
84232
|
const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
|
|
84241
84233
|
const cch = "";
|
|
84242
84234
|
const workload = getWorkload();
|
|
@@ -191890,7 +191882,7 @@ function getTelemetryAttributes() {
|
|
|
191890
191882
|
attributes["session.id"] = sessionId;
|
|
191891
191883
|
}
|
|
191892
191884
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
191893
|
-
attributes["app.version"] = "1.
|
|
191885
|
+
attributes["app.version"] = "1.34.0";
|
|
191894
191886
|
}
|
|
191895
191887
|
const oauthAccount = getOauthAccountInfo();
|
|
191896
191888
|
if (oauthAccount) {
|
|
@@ -227275,7 +227267,7 @@ function getInstallationEnv() {
|
|
|
227275
227267
|
return;
|
|
227276
227268
|
}
|
|
227277
227269
|
function getURCodeVersion() {
|
|
227278
|
-
return "1.
|
|
227270
|
+
return "1.34.0";
|
|
227279
227271
|
}
|
|
227280
227272
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
227281
227273
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -230114,7 +230106,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
230114
230106
|
const client2 = new Client({
|
|
230115
230107
|
name: "ur",
|
|
230116
230108
|
title: "UR",
|
|
230117
|
-
version: "1.
|
|
230109
|
+
version: "1.34.0",
|
|
230118
230110
|
description: "UR-AGENT autonomous engineering workflow engine",
|
|
230119
230111
|
websiteUrl: PRODUCT_URL
|
|
230120
230112
|
}, {
|
|
@@ -230468,7 +230460,7 @@ var init_client5 = __esm(() => {
|
|
|
230468
230460
|
const client2 = new Client({
|
|
230469
230461
|
name: "ur",
|
|
230470
230462
|
title: "UR",
|
|
230471
|
-
version: "1.
|
|
230463
|
+
version: "1.34.0",
|
|
230472
230464
|
description: "UR-AGENT autonomous engineering workflow engine",
|
|
230473
230465
|
websiteUrl: PRODUCT_URL
|
|
230474
230466
|
}, {
|
|
@@ -240282,9 +240274,9 @@ async function assertMinVersion() {
|
|
|
240282
240274
|
if (false) {}
|
|
240283
240275
|
try {
|
|
240284
240276
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
240285
|
-
if (versionConfig.minVersion && lt("1.
|
|
240277
|
+
if (versionConfig.minVersion && lt("1.34.0", versionConfig.minVersion)) {
|
|
240286
240278
|
console.error(`
|
|
240287
|
-
It looks like your version of UR (${"1.
|
|
240279
|
+
It looks like your version of UR (${"1.34.0"}) needs an update.
|
|
240288
240280
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
240289
240281
|
|
|
240290
240282
|
To update, please run:
|
|
@@ -240500,7 +240492,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
240500
240492
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
240501
240493
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
240502
240494
|
pid: process.pid,
|
|
240503
|
-
currentVersion: "1.
|
|
240495
|
+
currentVersion: "1.34.0"
|
|
240504
240496
|
});
|
|
240505
240497
|
return "in_progress";
|
|
240506
240498
|
}
|
|
@@ -240509,7 +240501,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
240509
240501
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
240510
240502
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
240511
240503
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
240512
|
-
currentVersion: "1.
|
|
240504
|
+
currentVersion: "1.34.0"
|
|
240513
240505
|
});
|
|
240514
240506
|
console.error(`
|
|
240515
240507
|
Error: Windows NPM detected in WSL
|
|
@@ -241044,7 +241036,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
241044
241036
|
}
|
|
241045
241037
|
async function getDoctorDiagnostic() {
|
|
241046
241038
|
const installationType = await getCurrentInstallationType();
|
|
241047
|
-
const version2 = typeof MACRO !== "undefined" ? "1.
|
|
241039
|
+
const version2 = typeof MACRO !== "undefined" ? "1.34.0" : "unknown";
|
|
241048
241040
|
const installationPath = await getInstallationPath();
|
|
241049
241041
|
const invokedBinary = getInvokedBinary();
|
|
241050
241042
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -241979,8 +241971,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
241979
241971
|
const maxVersion = await getMaxVersion();
|
|
241980
241972
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
241981
241973
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
241982
|
-
if (gte("1.
|
|
241983
|
-
logForDebugging(`Native installer: current version ${"1.
|
|
241974
|
+
if (gte("1.34.0", maxVersion)) {
|
|
241975
|
+
logForDebugging(`Native installer: current version ${"1.34.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
241984
241976
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
241985
241977
|
latency_ms: Date.now() - startTime,
|
|
241986
241978
|
max_version: maxVersion,
|
|
@@ -241991,7 +241983,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
241991
241983
|
version2 = maxVersion;
|
|
241992
241984
|
}
|
|
241993
241985
|
}
|
|
241994
|
-
if (!forceReinstall && version2 === "1.
|
|
241986
|
+
if (!forceReinstall && version2 === "1.34.0" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
|
|
241995
241987
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
241996
241988
|
logEvent("tengu_native_update_complete", {
|
|
241997
241989
|
latency_ms: Date.now() - startTime,
|
|
@@ -338895,7 +338887,7 @@ function Feedback({
|
|
|
338895
338887
|
platform: env2.platform,
|
|
338896
338888
|
gitRepo: envInfo.isGit,
|
|
338897
338889
|
terminal: env2.terminal,
|
|
338898
|
-
version: "1.
|
|
338890
|
+
version: "1.34.0",
|
|
338899
338891
|
transcript: normalizeMessagesForAPI(messages),
|
|
338900
338892
|
errors: sanitizedErrors,
|
|
338901
338893
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -339087,7 +339079,7 @@ function Feedback({
|
|
|
339087
339079
|
", ",
|
|
339088
339080
|
env2.terminal,
|
|
339089
339081
|
", v",
|
|
339090
|
-
"1.
|
|
339082
|
+
"1.34.0"
|
|
339091
339083
|
]
|
|
339092
339084
|
}, undefined, true, undefined, this)
|
|
339093
339085
|
]
|
|
@@ -339193,7 +339185,7 @@ ${sanitizedDescription}
|
|
|
339193
339185
|
` + `**Environment Info**
|
|
339194
339186
|
` + `- Platform: ${env2.platform}
|
|
339195
339187
|
` + `- Terminal: ${env2.terminal}
|
|
339196
|
-
` + `- Version: ${"1.
|
|
339188
|
+
` + `- Version: ${"1.34.0"}
|
|
339197
339189
|
` + `- Feedback ID: ${feedbackId}
|
|
339198
339190
|
` + `
|
|
339199
339191
|
**Errors**
|
|
@@ -342304,7 +342296,7 @@ function buildPrimarySection() {
|
|
|
342304
342296
|
}, undefined, false, undefined, this);
|
|
342305
342297
|
return [{
|
|
342306
342298
|
label: "Version",
|
|
342307
|
-
value: "1.
|
|
342299
|
+
value: "1.34.0"
|
|
342308
342300
|
}, {
|
|
342309
342301
|
label: "Session name",
|
|
342310
342302
|
value: nameValue
|
|
@@ -345604,7 +345596,7 @@ function Config({
|
|
|
345604
345596
|
}
|
|
345605
345597
|
}, undefined, false, undefined, this)
|
|
345606
345598
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime177.jsxDEV(ChannelDowngradeDialog, {
|
|
345607
|
-
currentVersion: "1.
|
|
345599
|
+
currentVersion: "1.34.0",
|
|
345608
345600
|
onChoice: (choice) => {
|
|
345609
345601
|
setShowSubmenu(null);
|
|
345610
345602
|
setTabsHidden(false);
|
|
@@ -345616,7 +345608,7 @@ function Config({
|
|
|
345616
345608
|
autoUpdatesChannel: "stable"
|
|
345617
345609
|
};
|
|
345618
345610
|
if (choice === "stay") {
|
|
345619
|
-
newSettings.minimumVersion = "1.
|
|
345611
|
+
newSettings.minimumVersion = "1.34.0";
|
|
345620
345612
|
}
|
|
345621
345613
|
updateSettingsForSource("userSettings", newSettings);
|
|
345622
345614
|
setSettingsData((prev_27) => ({
|
|
@@ -353686,7 +353678,7 @@ function HelpV2(t0) {
|
|
|
353686
353678
|
let t6;
|
|
353687
353679
|
if ($3[31] !== tabs) {
|
|
353688
353680
|
t6 = /* @__PURE__ */ jsx_dev_runtime204.jsxDEV(Tabs, {
|
|
353689
|
-
title: `UR v${"1.
|
|
353681
|
+
title: `UR v${"1.34.0"}`,
|
|
353690
353682
|
color: "professionalBlue",
|
|
353691
353683
|
defaultTab: "general",
|
|
353692
353684
|
children: tabs
|
|
@@ -354432,7 +354424,7 @@ function buildToolUseContext(tools, readFileStateCache) {
|
|
|
354432
354424
|
async function handleInitialize(options2) {
|
|
354433
354425
|
return {
|
|
354434
354426
|
name: "ur-agent",
|
|
354435
|
-
version: "1.
|
|
354427
|
+
version: "1.34.0",
|
|
354436
354428
|
protocolVersion: "0.1.0",
|
|
354437
354429
|
workspaceRoot: options2.cwd,
|
|
354438
354430
|
capabilities: {
|
|
@@ -374556,7 +374548,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
374556
374548
|
return [];
|
|
374557
374549
|
}
|
|
374558
374550
|
}
|
|
374559
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.
|
|
374551
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.34.0") {
|
|
374560
374552
|
if (process.env.USER_TYPE === "ant") {
|
|
374561
374553
|
const changelog = "";
|
|
374562
374554
|
if (changelog) {
|
|
@@ -374583,7 +374575,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.33.0")
|
|
|
374583
374575
|
releaseNotes
|
|
374584
374576
|
};
|
|
374585
374577
|
}
|
|
374586
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.
|
|
374578
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.34.0") {
|
|
374587
374579
|
if (process.env.USER_TYPE === "ant") {
|
|
374588
374580
|
const changelog = "";
|
|
374589
374581
|
if (changelog) {
|
|
@@ -375753,7 +375745,7 @@ function getRecentActivitySync() {
|
|
|
375753
375745
|
return cachedActivity;
|
|
375754
375746
|
}
|
|
375755
375747
|
function getLogoDisplayData() {
|
|
375756
|
-
const version2 = process.env.DEMO_VERSION ?? "1.
|
|
375748
|
+
const version2 = process.env.DEMO_VERSION ?? "1.34.0";
|
|
375757
375749
|
const serverUrl = getDirectConnectServerUrl();
|
|
375758
375750
|
const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd2());
|
|
375759
375751
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -376542,7 +376534,7 @@ function LogoV2() {
|
|
|
376542
376534
|
if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
376543
376535
|
t2 = () => {
|
|
376544
376536
|
const currentConfig = getGlobalConfig();
|
|
376545
|
-
if (currentConfig.lastReleaseNotesSeen === "1.
|
|
376537
|
+
if (currentConfig.lastReleaseNotesSeen === "1.34.0") {
|
|
376546
376538
|
return;
|
|
376547
376539
|
}
|
|
376548
376540
|
saveGlobalConfig(_temp326);
|
|
@@ -377227,12 +377219,12 @@ function LogoV2() {
|
|
|
377227
377219
|
return t41;
|
|
377228
377220
|
}
|
|
377229
377221
|
function _temp326(current) {
|
|
377230
|
-
if (current.lastReleaseNotesSeen === "1.
|
|
377222
|
+
if (current.lastReleaseNotesSeen === "1.34.0") {
|
|
377231
377223
|
return current;
|
|
377232
377224
|
}
|
|
377233
377225
|
return {
|
|
377234
377226
|
...current,
|
|
377235
|
-
lastReleaseNotesSeen: "1.
|
|
377227
|
+
lastReleaseNotesSeen: "1.34.0"
|
|
377236
377228
|
};
|
|
377237
377229
|
}
|
|
377238
377230
|
function _temp243(s_0) {
|
|
@@ -593128,7 +593120,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
|
|
|
593128
593120
|
smapsRollup,
|
|
593129
593121
|
platform: process.platform,
|
|
593130
593122
|
nodeVersion: process.version,
|
|
593131
|
-
ccVersion: "1.
|
|
593123
|
+
ccVersion: "1.34.0"
|
|
593132
593124
|
};
|
|
593133
593125
|
}
|
|
593134
593126
|
async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
|
|
@@ -593714,7 +593706,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
593714
593706
|
var call137 = async () => {
|
|
593715
593707
|
return {
|
|
593716
593708
|
type: "text",
|
|
593717
|
-
value: "1.
|
|
593709
|
+
value: "1.34.0"
|
|
593718
593710
|
};
|
|
593719
593711
|
}, version2, version_default;
|
|
593720
593712
|
var init_version = __esm(() => {
|
|
@@ -596689,6 +596681,10 @@ function ProviderFirstModelPicker({
|
|
|
596689
596681
|
setStep("connect");
|
|
596690
596682
|
return;
|
|
596691
596683
|
}
|
|
596684
|
+
if (provider.provider.accessType === "subscription") {
|
|
596685
|
+
setProviderWarning(`${provider.label} is not logged in. Sign in with \`ur auth ${authAliasForProvider(provider.value)}\` (uses your own subscription), then reselect.`);
|
|
596686
|
+
return;
|
|
596687
|
+
}
|
|
596692
596688
|
setProviderWarning(`Provider "${provider.value}" is ${provider.status}: ${provider.statusLabel}. Run \`ur provider doctor ${provider.value}\`, or choose a connected API/local/server provider.`);
|
|
596693
596689
|
return;
|
|
596694
596690
|
}
|
|
@@ -603780,7 +603776,7 @@ function generateHtmlReport(data, insights) {
|
|
|
603780
603776
|
</html>`;
|
|
603781
603777
|
}
|
|
603782
603778
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
603783
|
-
const version3 = typeof MACRO !== "undefined" ? "1.
|
|
603779
|
+
const version3 = typeof MACRO !== "undefined" ? "1.34.0" : "unknown";
|
|
603784
603780
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
603785
603781
|
const facets_summary = {
|
|
603786
603782
|
total: facets.size,
|
|
@@ -608060,7 +608056,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
608060
608056
|
init_settings2();
|
|
608061
608057
|
init_slowOperations();
|
|
608062
608058
|
init_uuid();
|
|
608063
|
-
VERSION5 = typeof MACRO !== "undefined" ? "1.
|
|
608059
|
+
VERSION5 = typeof MACRO !== "undefined" ? "1.34.0" : "unknown";
|
|
608064
608060
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
608065
608061
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
608066
608062
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -609265,7 +609261,7 @@ var init_filesystem = __esm(() => {
|
|
|
609265
609261
|
});
|
|
609266
609262
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
609267
609263
|
const nonce = randomBytes18(16).toString("hex");
|
|
609268
|
-
return join200(getURTempDir(), "bundled-skills", "1.
|
|
609264
|
+
return join200(getURTempDir(), "bundled-skills", "1.34.0", nonce);
|
|
609269
609265
|
});
|
|
609270
609266
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
609271
609267
|
});
|
|
@@ -615554,7 +615550,7 @@ function computeFingerprint(messageText2, version3) {
|
|
|
615554
615550
|
}
|
|
615555
615551
|
function computeFingerprintFromMessages(messages) {
|
|
615556
615552
|
const firstMessageText = extractFirstMessageText(messages);
|
|
615557
|
-
return computeFingerprint(firstMessageText, "1.
|
|
615553
|
+
return computeFingerprint(firstMessageText, "1.34.0");
|
|
615558
615554
|
}
|
|
615559
615555
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
615560
615556
|
var init_fingerprint = () => {};
|
|
@@ -617421,7 +617417,7 @@ async function sideQuery(opts) {
|
|
|
617421
617417
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
617422
617418
|
}
|
|
617423
617419
|
const messageText2 = extractFirstUserMessageText(messages);
|
|
617424
|
-
const fingerprint = computeFingerprint(messageText2, "1.
|
|
617420
|
+
const fingerprint = computeFingerprint(messageText2, "1.34.0");
|
|
617425
617421
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
617426
617422
|
const systemBlocks = [
|
|
617427
617423
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -622158,7 +622154,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
622158
622154
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
622159
622155
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
622160
622156
|
betas: getSdkBetas(),
|
|
622161
|
-
ur_version: "1.
|
|
622157
|
+
ur_version: "1.34.0",
|
|
622162
622158
|
output_style: outputStyle2,
|
|
622163
622159
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
622164
622160
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
|
|
@@ -636786,7 +636782,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
636786
636782
|
function getSemverPart(version3) {
|
|
636787
636783
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
636788
636784
|
}
|
|
636789
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.
|
|
636785
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.34.0") {
|
|
636790
636786
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react226.useState(() => getSemverPart(initialVersion));
|
|
636791
636787
|
if (!updatedVersion) {
|
|
636792
636788
|
return null;
|
|
@@ -636835,7 +636831,7 @@ function AutoUpdater({
|
|
|
636835
636831
|
return;
|
|
636836
636832
|
}
|
|
636837
636833
|
if (false) {}
|
|
636838
|
-
const currentVersion = "1.
|
|
636834
|
+
const currentVersion = "1.34.0";
|
|
636839
636835
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
636840
636836
|
let latestVersion = await getLatestVersion(channel);
|
|
636841
636837
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -637064,12 +637060,12 @@ function NativeAutoUpdater({
|
|
|
637064
637060
|
logEvent("tengu_native_auto_updater_start", {});
|
|
637065
637061
|
try {
|
|
637066
637062
|
const maxVersion = await getMaxVersion();
|
|
637067
|
-
if (maxVersion && gt("1.
|
|
637063
|
+
if (maxVersion && gt("1.34.0", maxVersion)) {
|
|
637068
637064
|
const msg = await getMaxVersionMessage();
|
|
637069
637065
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
637070
637066
|
}
|
|
637071
637067
|
const result = await installLatest(channel);
|
|
637072
|
-
const currentVersion = "1.
|
|
637068
|
+
const currentVersion = "1.34.0";
|
|
637073
637069
|
const latencyMs = Date.now() - startTime;
|
|
637074
637070
|
if (result.lockFailed) {
|
|
637075
637071
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -637206,17 +637202,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
637206
637202
|
const maxVersion = await getMaxVersion();
|
|
637207
637203
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
637208
637204
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
637209
|
-
if (gte("1.
|
|
637210
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.
|
|
637205
|
+
if (gte("1.34.0", maxVersion)) {
|
|
637206
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.34.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
637211
637207
|
setUpdateAvailable(false);
|
|
637212
637208
|
return;
|
|
637213
637209
|
}
|
|
637214
637210
|
latest = maxVersion;
|
|
637215
637211
|
}
|
|
637216
|
-
const hasUpdate = latest && !gte("1.
|
|
637212
|
+
const hasUpdate = latest && !gte("1.34.0", latest) && !shouldSkipVersion(latest);
|
|
637217
637213
|
setUpdateAvailable(!!hasUpdate);
|
|
637218
637214
|
if (hasUpdate) {
|
|
637219
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.
|
|
637215
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.34.0"} -> ${latest}`);
|
|
637220
637216
|
}
|
|
637221
637217
|
};
|
|
637222
637218
|
$3[0] = t1;
|
|
@@ -637250,7 +637246,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
637250
637246
|
wrap: "truncate",
|
|
637251
637247
|
children: [
|
|
637252
637248
|
"currentVersion: ",
|
|
637253
|
-
"1.
|
|
637249
|
+
"1.34.0"
|
|
637254
637250
|
]
|
|
637255
637251
|
}, undefined, true, undefined, this);
|
|
637256
637252
|
$3[3] = verbose;
|
|
@@ -649701,7 +649697,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
649701
649697
|
project_dir: getOriginalCwd(),
|
|
649702
649698
|
added_dirs: addedDirs
|
|
649703
649699
|
},
|
|
649704
|
-
version: "1.
|
|
649700
|
+
version: "1.34.0",
|
|
649705
649701
|
output_style: {
|
|
649706
649702
|
name: outputStyleName
|
|
649707
649703
|
},
|
|
@@ -649784,7 +649780,7 @@ function StatusLineInner({
|
|
|
649784
649780
|
const taskValues = Object.values(tasks2);
|
|
649785
649781
|
const taskRunningCount = taskValues.filter((task2) => task2.status === "running" || task2.status === "pending").length;
|
|
649786
649782
|
const defaultStatusLineText = buildDefaultStatusBar({
|
|
649787
|
-
version: "1.
|
|
649783
|
+
version: "1.34.0",
|
|
649788
649784
|
providerLabel: providerRuntime.providerLabel,
|
|
649789
649785
|
authMode: providerRuntime.authLabel,
|
|
649790
649786
|
model: providerRuntime.model ?? renderModelName(mainLoopModel),
|
|
@@ -661272,7 +661268,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
|
|
|
661272
661268
|
} catch {}
|
|
661273
661269
|
const data = {
|
|
661274
661270
|
trigger: trigger2,
|
|
661275
|
-
version: "1.
|
|
661271
|
+
version: "1.34.0",
|
|
661276
661272
|
platform: process.platform,
|
|
661277
661273
|
transcript,
|
|
661278
661274
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -673156,7 +673152,7 @@ function WelcomeV2() {
|
|
|
673156
673152
|
dimColor: true,
|
|
673157
673153
|
children: [
|
|
673158
673154
|
"v",
|
|
673159
|
-
"1.
|
|
673155
|
+
"1.34.0"
|
|
673160
673156
|
]
|
|
673161
673157
|
}, undefined, true, undefined, this)
|
|
673162
673158
|
]
|
|
@@ -674416,7 +674412,7 @@ function completeOnboarding() {
|
|
|
674416
674412
|
saveGlobalConfig((current) => ({
|
|
674417
674413
|
...current,
|
|
674418
674414
|
hasCompletedOnboarding: true,
|
|
674419
|
-
lastOnboardingVersion: "1.
|
|
674415
|
+
lastOnboardingVersion: "1.34.0"
|
|
674420
674416
|
}));
|
|
674421
674417
|
}
|
|
674422
674418
|
function showDialog(root2, renderer) {
|
|
@@ -679453,7 +679449,7 @@ function appendToLog(path24, message) {
|
|
|
679453
679449
|
cwd: getFsImplementation().cwd(),
|
|
679454
679450
|
userType: process.env.USER_TYPE,
|
|
679455
679451
|
sessionId: getSessionId(),
|
|
679456
|
-
version: "1.
|
|
679452
|
+
version: "1.34.0"
|
|
679457
679453
|
};
|
|
679458
679454
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
679459
679455
|
}
|
|
@@ -683547,8 +683543,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
683547
683543
|
}
|
|
683548
683544
|
async function checkEnvLessBridgeMinVersion() {
|
|
683549
683545
|
const cfg = await getEnvLessBridgeConfig();
|
|
683550
|
-
if (cfg.min_version && lt("1.
|
|
683551
|
-
return `Your version of UR (${"1.
|
|
683546
|
+
if (cfg.min_version && lt("1.34.0", cfg.min_version)) {
|
|
683547
|
+
return `Your version of UR (${"1.34.0"}) is too old for Remote Control.
|
|
683552
683548
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
683553
683549
|
}
|
|
683554
683550
|
return null;
|
|
@@ -684022,7 +684018,7 @@ async function initBridgeCore(params) {
|
|
|
684022
684018
|
const rawApi = createBridgeApiClient({
|
|
684023
684019
|
baseUrl,
|
|
684024
684020
|
getAccessToken,
|
|
684025
|
-
runnerVersion: "1.
|
|
684021
|
+
runnerVersion: "1.34.0",
|
|
684026
684022
|
onDebug: logForDebugging,
|
|
684027
684023
|
onAuth401,
|
|
684028
684024
|
getTrustedDeviceToken
|
|
@@ -689704,7 +689700,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
|
|
|
689704
689700
|
setCwd(cwd3);
|
|
689705
689701
|
const server2 = new Server({
|
|
689706
689702
|
name: "ur/tengu",
|
|
689707
|
-
version: "1.
|
|
689703
|
+
version: "1.34.0"
|
|
689708
689704
|
}, {
|
|
689709
689705
|
capabilities: {
|
|
689710
689706
|
tools: {}
|
|
@@ -691681,7 +691677,7 @@ async function update() {
|
|
|
691681
691677
|
logEvent("tengu_update_check", {});
|
|
691682
691678
|
const diagnostic = await getDoctorDiagnostic();
|
|
691683
691679
|
const result = await checkUpgradeStatus({
|
|
691684
|
-
currentVersion: "1.
|
|
691680
|
+
currentVersion: "1.34.0",
|
|
691685
691681
|
packageName: UR_AGENT_PACKAGE_NAME,
|
|
691686
691682
|
installationType: diagnostic.installationType,
|
|
691687
691683
|
latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
|
|
@@ -692927,7 +692923,7 @@ ${customInstructions}` : customInstructions;
|
|
|
692927
692923
|
}
|
|
692928
692924
|
}
|
|
692929
692925
|
logForDiagnosticsNoPII("info", "started", {
|
|
692930
|
-
version: "1.
|
|
692926
|
+
version: "1.34.0",
|
|
692931
692927
|
is_native_binary: isInBundledMode()
|
|
692932
692928
|
});
|
|
692933
692929
|
registerCleanup(async () => {
|
|
@@ -693713,7 +693709,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
693713
693709
|
pendingHookMessages
|
|
693714
693710
|
}, renderAndRun);
|
|
693715
693711
|
}
|
|
693716
|
-
}).version("1.
|
|
693712
|
+
}).version("1.34.0 (UR-AGENT)", "-v, --version", "Output the version number");
|
|
693717
693713
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
693718
693714
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
693719
693715
|
if (canUserConfigureAdvisor()) {
|
|
@@ -694596,7 +694592,7 @@ if (false) {}
|
|
|
694596
694592
|
async function main2() {
|
|
694597
694593
|
const args = process.argv.slice(2);
|
|
694598
694594
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
694599
|
-
console.log(`${"1.
|
|
694595
|
+
console.log(`${"1.34.0"} (UR-AGENT)`);
|
|
694600
694596
|
return;
|
|
694601
694597
|
}
|
|
694602
694598
|
if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
|
package/docs/providers.md
CHANGED
|
@@ -166,7 +166,7 @@ ur config set provider anthropic-api
|
|
|
166
166
|
| API providers (openai-api, anthropic-api, gemini-api, openrouter) | Live discovery from the provider's `/models` endpoint using your connected key (curated fallback until connected) | live |
|
|
167
167
|
| Local/server providers (ollama, lmstudio, llama.cpp, vllm) | Dynamic discovery from the selected provider endpoint | live |
|
|
168
168
|
| OpenAI-compatible | Dynamic discovery from configured endpoint | live |
|
|
169
|
-
| Subscription CLIs (codex-cli, claude-code-cli, gemini-cli, antigravity-cli) | Curated list (the official CLIs expose no models API);
|
|
169
|
+
| Subscription CLIs (codex-cli, claude-code-cli, gemini-cli, antigravity-cli) | Curated list (the official CLIs expose no models API); first-class in `/model`, dispatched via the official CLI. Log in with `ur auth <provider>` | static |
|
|
170
170
|
|
|
171
171
|
### API vs Subscription distinction
|
|
172
172
|
|
package/package.json
CHANGED