ur-agent 1.77.6 → 1.77.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,36 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.77.8
|
|
4
|
+
|
|
5
|
+
- Auto-compact works again on every provider except the first-party one, where
|
|
6
|
+
it was the only place it had ever worked. `getModelCapability` is gated to a
|
|
7
|
+
first-party runtime, so every third-party model — OpenRouter, OpenAI-
|
|
8
|
+
compatible, LM Studio, vLLM, llama.cpp, and the API providers — fell through
|
|
9
|
+
to a flat 200,000-token window regardless of its real size. A 128K or 32K
|
|
10
|
+
model therefore never reached the compaction threshold before the provider
|
|
11
|
+
rejected the request, which is the "Context limit reached · /compact or
|
|
12
|
+
/clear to continue" that replaced the automatic compaction; a 1M model
|
|
13
|
+
compacted long before it needed to.
|
|
14
|
+
- The window each provider reported during model discovery is now used.
|
|
15
|
+
Discovery already captured it and the model picker already displayed it —
|
|
16
|
+
only the compaction math never read it. A model the provider reported no
|
|
17
|
+
window for, or reported a nonsense one for, still falls back to the default
|
|
18
|
+
rather than trusting the value. The lookup reads the discovery cache only, so
|
|
19
|
+
it adds no request to the per-turn path.
|
|
20
|
+
|
|
21
|
+
## 1.77.7
|
|
22
|
+
|
|
23
|
+
- A missing identifier now names what exists, instead of inviting another
|
|
24
|
+
guess at the same one. `TaskUpdate` and `TaskGet` answered "Task not found"
|
|
25
|
+
without saying whether the id was wrong, the list had been archived into a
|
|
26
|
+
new generation, or the task was deleted — so the usual response was to retry
|
|
27
|
+
it unchanged. Both now list the existing task ids, or say the list is empty.
|
|
28
|
+
- The same treatment for the two other tools that withheld it: `Skill` lists
|
|
29
|
+
the invocable skills when a name does not match, and `NotebookEdit` lists the
|
|
30
|
+
real cell ids, or the valid index range when the notebook's cells have no
|
|
31
|
+
ids. The MCP resource tools already worked this way; these are now
|
|
32
|
+
consistent with them.
|
|
33
|
+
|
|
3
34
|
## 1.77.6
|
|
4
35
|
|
|
5
36
|
- A request body rejected for its size now takes the prompt-too-long recovery
|
package/dist/cli.js
CHANGED
|
@@ -53738,6 +53738,7 @@ __export(exports_providerRegistry, {
|
|
|
53738
53738
|
getProviderRuntimeBackend: () => getProviderRuntimeBackend,
|
|
53739
53739
|
getProviderFamily: () => getProviderFamily,
|
|
53740
53740
|
getProviderDefinition: () => getProviderDefinition,
|
|
53741
|
+
getProviderContextLengthForModel: () => getProviderContextLengthForModel,
|
|
53741
53742
|
getProviderAccessTypeLabel: () => getProviderAccessTypeLabel,
|
|
53742
53743
|
getDefaultModelForProvider: () => getDefaultModelForProvider,
|
|
53743
53744
|
getConnectionStatusFromDoctorResult: () => getConnectionStatusFromDoctorResult,
|
|
@@ -54853,6 +54854,21 @@ function providerModelCacheKey(provider, settings = getInitialSettings()) {
|
|
|
54853
54854
|
function getCachedProviderModels(provider, settings = getInitialSettings()) {
|
|
54854
54855
|
return cachedModelsByProvider.get(providerModelCacheKey(provider, settings)) ?? [];
|
|
54855
54856
|
}
|
|
54857
|
+
function getProviderContextLengthForModel(model, provider = resolveProviderId(getInitialSettings().provider?.active), settings = getInitialSettings()) {
|
|
54858
|
+
const providerId = resolveProviderId(provider);
|
|
54859
|
+
if (!providerId)
|
|
54860
|
+
return;
|
|
54861
|
+
const wanted = model.trim().toLowerCase();
|
|
54862
|
+
if (!wanted)
|
|
54863
|
+
return;
|
|
54864
|
+
const known = [
|
|
54865
|
+
...getCachedProviderModels(providerId, settings),
|
|
54866
|
+
...PROVIDER_MODELS[providerId] ?? []
|
|
54867
|
+
];
|
|
54868
|
+
const match = known.find((entry) => entry.id.toLowerCase() === wanted) ?? known.find((entry) => wanted.includes(entry.id.toLowerCase()));
|
|
54869
|
+
const length = match?.contextLength;
|
|
54870
|
+
return typeof length === "number" && Number.isFinite(length) && length > 0 ? Math.floor(length) : undefined;
|
|
54871
|
+
}
|
|
54856
54872
|
function cacheProviderModelsForProvider(providerId, models, settings = getInitialSettings()) {
|
|
54857
54873
|
const provider = resolveProviderId(providerId);
|
|
54858
54874
|
if (!provider) {
|
|
@@ -95201,6 +95217,10 @@ function getContextWindowForModel(model, betas, apiProvider = getAPIProvider())
|
|
|
95201
95217
|
if (has1mContext(model)) {
|
|
95202
95218
|
return 1e6;
|
|
95203
95219
|
}
|
|
95220
|
+
const providerContextLength = getProviderContextLengthForModel(model);
|
|
95221
|
+
if (providerContextLength !== undefined) {
|
|
95222
|
+
return providerContextLength;
|
|
95223
|
+
}
|
|
95204
95224
|
const cap = getModelCapability(model);
|
|
95205
95225
|
if (cap?.max_input_tokens && cap.max_input_tokens >= 1e5) {
|
|
95206
95226
|
if (cap.max_input_tokens > MODEL_CONTEXT_WINDOW_DEFAULT && is1mContextDisabled()) {
|
|
@@ -95267,6 +95287,7 @@ function getMaxThinkingTokensForModel(model) {
|
|
|
95267
95287
|
var MODEL_CONTEXT_WINDOW_DEFAULT = 200000, COMPACT_MAX_OUTPUT_TOKENS = 20000, MAX_OUTPUT_TOKENS_DEFAULT = 32000, MAX_OUTPUT_TOKENS_UPPER_LIMIT = 64000, CAPPED_DEFAULT_MAX_TOKENS = 8000, ESCALATED_MAX_TOKENS = 64000;
|
|
95268
95288
|
var init_context = __esm(() => {
|
|
95269
95289
|
init_betas();
|
|
95290
|
+
init_providerRegistry();
|
|
95270
95291
|
init_envUtils();
|
|
95271
95292
|
init_antModels();
|
|
95272
95293
|
init_modelCapabilities();
|
|
@@ -107552,7 +107573,7 @@ var init_auth = __esm(() => {
|
|
|
107552
107573
|
|
|
107553
107574
|
// src/utils/userAgent.ts
|
|
107554
107575
|
function getURCodeUserAgent() {
|
|
107555
|
-
return `ur/${"1.77.
|
|
107576
|
+
return `ur/${"1.77.8"}`;
|
|
107556
107577
|
}
|
|
107557
107578
|
|
|
107558
107579
|
// src/utils/workloadContext.ts
|
|
@@ -107574,7 +107595,7 @@ function getUserAgent() {
|
|
|
107574
107595
|
const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
|
|
107575
107596
|
const workload = getWorkload();
|
|
107576
107597
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
107577
|
-
return `ur-cli/${"1.77.
|
|
107598
|
+
return `ur-cli/${"1.77.8"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
107578
107599
|
}
|
|
107579
107600
|
function getMCPUserAgent() {
|
|
107580
107601
|
const parts = [];
|
|
@@ -107588,7 +107609,7 @@ function getMCPUserAgent() {
|
|
|
107588
107609
|
parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
|
|
107589
107610
|
}
|
|
107590
107611
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
107591
|
-
return `ur/${"1.77.
|
|
107612
|
+
return `ur/${"1.77.8"}${suffix}`;
|
|
107592
107613
|
}
|
|
107593
107614
|
function getWebFetchUserAgent() {
|
|
107594
107615
|
return `UR-User (${getURCodeUserAgent()})`;
|
|
@@ -107726,7 +107747,7 @@ var init_user = __esm(() => {
|
|
|
107726
107747
|
deviceId,
|
|
107727
107748
|
sessionId: getSessionId(),
|
|
107728
107749
|
email: getEmail(),
|
|
107729
|
-
appVersion: "1.77.
|
|
107750
|
+
appVersion: "1.77.8",
|
|
107730
107751
|
platform: getHostPlatformForAnalytics(),
|
|
107731
107752
|
organizationUuid,
|
|
107732
107753
|
accountUuid,
|
|
@@ -115613,7 +115634,7 @@ var init_metadata = __esm(() => {
|
|
|
115613
115634
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
115614
115635
|
WHITESPACE_REGEX = /\s+/;
|
|
115615
115636
|
getVersionBase = memoize_default(() => {
|
|
115616
|
-
const match = "1.77.
|
|
115637
|
+
const match = "1.77.8".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
115617
115638
|
return match ? match[0] : undefined;
|
|
115618
115639
|
});
|
|
115619
115640
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -115653,7 +115674,7 @@ var init_metadata = __esm(() => {
|
|
|
115653
115674
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
115654
115675
|
isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
|
|
115655
115676
|
isURAiAuth: isURAISubscriber(),
|
|
115656
|
-
version: "1.77.
|
|
115677
|
+
version: "1.77.8",
|
|
115657
115678
|
versionBase: getVersionBase(),
|
|
115658
115679
|
buildTime: "",
|
|
115659
115680
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
@@ -116323,7 +116344,7 @@ function initialize1PEventLogging() {
|
|
|
116323
116344
|
const platform2 = getPlatform();
|
|
116324
116345
|
const attributes = {
|
|
116325
116346
|
[import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
|
|
116326
|
-
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.77.
|
|
116347
|
+
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.77.8"
|
|
116327
116348
|
};
|
|
116328
116349
|
if (platform2 === "wsl") {
|
|
116329
116350
|
const wslVersion = getWslVersion();
|
|
@@ -116351,7 +116372,7 @@ function initialize1PEventLogging() {
|
|
|
116351
116372
|
})
|
|
116352
116373
|
]
|
|
116353
116374
|
});
|
|
116354
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.77.
|
|
116375
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.77.8");
|
|
116355
116376
|
}
|
|
116356
116377
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
116357
116378
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -126133,7 +126154,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
|
|
|
126133
126154
|
function formatA2AAgentCard(options = {}, pretty = true) {
|
|
126134
126155
|
return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
|
|
126135
126156
|
}
|
|
126136
|
-
var urVersion = "1.77.
|
|
126157
|
+
var urVersion = "1.77.8", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
|
|
126137
126158
|
var init_trends = __esm(() => {
|
|
126138
126159
|
init_a2aCardSignature();
|
|
126139
126160
|
coverage = [
|
|
@@ -128936,7 +128957,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
128936
128957
|
if (!isAttributionHeaderEnabled()) {
|
|
128937
128958
|
return "";
|
|
128938
128959
|
}
|
|
128939
|
-
const version2 = `${"1.77.
|
|
128960
|
+
const version2 = `${"1.77.8"}.${fingerprint}`;
|
|
128940
128961
|
const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
|
|
128941
128962
|
const cch = "";
|
|
128942
128963
|
const workload = getWorkload();
|
|
@@ -156940,7 +156961,7 @@ var init_projectSafety = __esm(() => {
|
|
|
156940
156961
|
function getInstruments() {
|
|
156941
156962
|
if (instruments)
|
|
156942
156963
|
return instruments;
|
|
156943
|
-
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.77.
|
|
156964
|
+
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.77.8");
|
|
156944
156965
|
instruments = {
|
|
156945
156966
|
operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
|
|
156946
156967
|
description: "GenAI operation duration.",
|
|
@@ -157038,7 +157059,7 @@ function genAiAgentAttributes() {
|
|
|
157038
157059
|
"gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
|
|
157039
157060
|
"gen_ai.provider.name": "ur",
|
|
157040
157061
|
"gen_ai.agent.name": "UR-Nexus",
|
|
157041
|
-
"gen_ai.agent.version": "1.77.
|
|
157062
|
+
"gen_ai.agent.version": "1.77.8"
|
|
157042
157063
|
};
|
|
157043
157064
|
}
|
|
157044
157065
|
function genAiWorkflowAttributes(workflowName) {
|
|
@@ -157054,7 +157075,7 @@ function genAiWorkflowAttributes(workflowName) {
|
|
|
157054
157075
|
function startGenAiWorkflowSpan(workflowName) {
|
|
157055
157076
|
const attributes = genAiWorkflowAttributes(workflowName);
|
|
157056
157077
|
const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
|
|
157057
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.
|
|
157078
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.8").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
157058
157079
|
}
|
|
157059
157080
|
function endGenAiWorkflowSpan(span, options2 = {}) {
|
|
157060
157081
|
try {
|
|
@@ -157092,7 +157113,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
|
|
|
157092
157113
|
if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
|
|
157093
157114
|
attributes["gen_ai.memory.record.count"] = options2.recordCount;
|
|
157094
157115
|
}
|
|
157095
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.
|
|
157116
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.77.8").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
157096
157117
|
}
|
|
157097
157118
|
function endGenAiMemorySpan(span, options2 = {}) {
|
|
157098
157119
|
try {
|
|
@@ -250740,7 +250761,7 @@ function getTelemetryAttributes() {
|
|
|
250740
250761
|
attributes["session.id"] = sessionId;
|
|
250741
250762
|
}
|
|
250742
250763
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
250743
|
-
attributes["app.version"] = "1.77.
|
|
250764
|
+
attributes["app.version"] = "1.77.8";
|
|
250744
250765
|
}
|
|
250745
250766
|
const oauthAccount = getOauthAccountInfo();
|
|
250746
250767
|
if (oauthAccount) {
|
|
@@ -297247,7 +297268,7 @@ function getInstallationEnv() {
|
|
|
297247
297268
|
return;
|
|
297248
297269
|
}
|
|
297249
297270
|
function getURCodeVersion() {
|
|
297250
|
-
return "1.77.
|
|
297271
|
+
return "1.77.8";
|
|
297251
297272
|
}
|
|
297252
297273
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
297253
297274
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -304578,7 +304599,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
304578
304599
|
const client2 = new Client({
|
|
304579
304600
|
name: "ur",
|
|
304580
304601
|
title: "UR",
|
|
304581
|
-
version: "1.77.
|
|
304602
|
+
version: "1.77.8",
|
|
304582
304603
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
304583
304604
|
websiteUrl: PRODUCT_URL
|
|
304584
304605
|
}, {
|
|
@@ -304938,7 +304959,7 @@ var init_client5 = __esm(() => {
|
|
|
304938
304959
|
const client2 = new Client({
|
|
304939
304960
|
name: "ur",
|
|
304940
304961
|
title: "UR",
|
|
304941
|
-
version: "1.77.
|
|
304962
|
+
version: "1.77.8",
|
|
304942
304963
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
304943
304964
|
websiteUrl: PRODUCT_URL
|
|
304944
304965
|
}, {
|
|
@@ -317491,7 +317512,7 @@ async function createRuntime() {
|
|
|
317491
317512
|
bootstrapTelemetry();
|
|
317492
317513
|
const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
|
|
317493
317514
|
[import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
|
|
317494
|
-
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.77.
|
|
317515
|
+
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.77.8"
|
|
317495
317516
|
}));
|
|
317496
317517
|
const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
|
|
317497
317518
|
resource,
|
|
@@ -317524,11 +317545,11 @@ async function createRuntime() {
|
|
|
317524
317545
|
setMeterProvider(meterProvider);
|
|
317525
317546
|
setLoggerProvider(loggerProvider);
|
|
317526
317547
|
if (meterProvider) {
|
|
317527
|
-
const meter = meterProvider.getMeter("ur-agent", "1.77.
|
|
317548
|
+
const meter = meterProvider.getMeter("ur-agent", "1.77.8");
|
|
317528
317549
|
setMeter(meter, (name, options2) => meter.createCounter(name, options2));
|
|
317529
317550
|
}
|
|
317530
317551
|
if (loggerProvider) {
|
|
317531
|
-
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.77.
|
|
317552
|
+
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.77.8"));
|
|
317532
317553
|
}
|
|
317533
317554
|
if (!cleanupRegistered2) {
|
|
317534
317555
|
cleanupRegistered2 = true;
|
|
@@ -318190,9 +318211,9 @@ async function assertMinVersion() {
|
|
|
318190
318211
|
if (false) {}
|
|
318191
318212
|
try {
|
|
318192
318213
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
318193
|
-
if (versionConfig.minVersion && lt("1.77.
|
|
318214
|
+
if (versionConfig.minVersion && lt("1.77.8", versionConfig.minVersion)) {
|
|
318194
318215
|
console.error(`
|
|
318195
|
-
It looks like your version of UR (${"1.77.
|
|
318216
|
+
It looks like your version of UR (${"1.77.8"}) needs an update.
|
|
318196
318217
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
318197
318218
|
|
|
318198
318219
|
To update, please run:
|
|
@@ -318408,7 +318429,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
318408
318429
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
318409
318430
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
318410
318431
|
pid: process.pid,
|
|
318411
|
-
currentVersion: "1.77.
|
|
318432
|
+
currentVersion: "1.77.8"
|
|
318412
318433
|
});
|
|
318413
318434
|
return "in_progress";
|
|
318414
318435
|
}
|
|
@@ -318417,7 +318438,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
318417
318438
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
318418
318439
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
318419
318440
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
318420
|
-
currentVersion: "1.77.
|
|
318441
|
+
currentVersion: "1.77.8"
|
|
318421
318442
|
});
|
|
318422
318443
|
console.error(`
|
|
318423
318444
|
Error: Windows NPM detected in WSL
|
|
@@ -318952,7 +318973,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
318952
318973
|
}
|
|
318953
318974
|
async function getDoctorDiagnostic() {
|
|
318954
318975
|
const installationType = await getCurrentInstallationType();
|
|
318955
|
-
const version2 = typeof MACRO !== "undefined" ? "1.77.
|
|
318976
|
+
const version2 = typeof MACRO !== "undefined" ? "1.77.8" : "unknown";
|
|
318956
318977
|
const installationPath = await getInstallationPath();
|
|
318957
318978
|
const invokedBinary = getInvokedBinary();
|
|
318958
318979
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -319887,8 +319908,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
319887
319908
|
const maxVersion = await getMaxVersion();
|
|
319888
319909
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
319889
319910
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
319890
|
-
if (gte("1.77.
|
|
319891
|
-
logForDebugging(`Native installer: current version ${"1.77.
|
|
319911
|
+
if (gte("1.77.8", maxVersion)) {
|
|
319912
|
+
logForDebugging(`Native installer: current version ${"1.77.8"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
319892
319913
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
319893
319914
|
latency_ms: Date.now() - startTime,
|
|
319894
319915
|
max_version: maxVersion,
|
|
@@ -319899,7 +319920,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
319899
319920
|
version2 = maxVersion;
|
|
319900
319921
|
}
|
|
319901
319922
|
}
|
|
319902
|
-
if (!forceReinstall && version2 === "1.77.
|
|
319923
|
+
if (!forceReinstall && version2 === "1.77.8" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
|
|
319903
319924
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
319904
319925
|
logEvent("tengu_native_update_complete", {
|
|
319905
319926
|
latency_ms: Date.now() - startTime,
|
|
@@ -347422,9 +347443,10 @@ var init_SkillTool = __esm(() => {
|
|
|
347422
347443
|
const commands = await getAllCommands(context5);
|
|
347423
347444
|
const foundCommand = findCommand(normalizedCommandName, commands);
|
|
347424
347445
|
if (!foundCommand) {
|
|
347446
|
+
const invocable = commands.filter((command) => command.userInvocable !== false).map((command) => command.name).sort();
|
|
347425
347447
|
return {
|
|
347426
347448
|
result: false,
|
|
347427
|
-
message: `Unknown skill: ${normalizedCommandName}
|
|
347449
|
+
message: invocable.length > 0 ? `Unknown skill: ${normalizedCommandName}. Available skills: ${invocable.join(", ")}` : `Unknown skill: ${normalizedCommandName}. No skills are available in this session.`,
|
|
347428
347450
|
errorCode: 2
|
|
347429
347451
|
};
|
|
347430
347452
|
}
|
|
@@ -368648,14 +368670,15 @@ var init_NotebookEditTool = __esm(() => {
|
|
|
368648
368670
|
if (!notebook.cells[parsedCellIndex]) {
|
|
368649
368671
|
return {
|
|
368650
368672
|
result: false,
|
|
368651
|
-
message: `Cell with index ${parsedCellIndex} does not exist in notebook.`,
|
|
368673
|
+
message: `Cell with index ${parsedCellIndex} does not exist in notebook. The notebook has ${notebook.cells.length} cells (valid indices 0-${notebook.cells.length - 1}).`,
|
|
368652
368674
|
errorCode: 7
|
|
368653
368675
|
};
|
|
368654
368676
|
}
|
|
368655
368677
|
} else {
|
|
368678
|
+
const known = notebook.cells.map((cell) => cell.id).filter((id) => typeof id === "string");
|
|
368656
368679
|
return {
|
|
368657
368680
|
result: false,
|
|
368658
|
-
message: `Cell with ID "${cell_id}" not found in notebook.`,
|
|
368681
|
+
message: known.length > 0 ? `Cell with ID "${cell_id}" not found in notebook. Existing cell IDs: ${known.join(", ")}.` : `Cell with ID "${cell_id}" not found in notebook. Its cells have no IDs \u2014 address them by index instead (cell-0 through cell-${notebook.cells.length - 1}).`,
|
|
368659
368682
|
errorCode: 8
|
|
368660
368683
|
};
|
|
368661
368684
|
}
|
|
@@ -379623,7 +379646,8 @@ var init_TaskGetTool = __esm(() => {
|
|
|
379623
379646
|
status: TaskStatusSchema2(),
|
|
379624
379647
|
blocks: exports_external.array(exports_external.string()),
|
|
379625
379648
|
blockedBy: exports_external.array(exports_external.string())
|
|
379626
|
-
}).nullable()
|
|
379649
|
+
}).nullable(),
|
|
379650
|
+
availableTaskIds: exports_external.array(exports_external.string()).optional()
|
|
379627
379651
|
}));
|
|
379628
379652
|
TaskGetTool = buildTool({
|
|
379629
379653
|
name: TASK_GET_TOOL_NAME,
|
|
@@ -379666,7 +379690,8 @@ var init_TaskGetTool = __esm(() => {
|
|
|
379666
379690
|
if (!task) {
|
|
379667
379691
|
return {
|
|
379668
379692
|
data: {
|
|
379669
|
-
task: null
|
|
379693
|
+
task: null,
|
|
379694
|
+
availableTaskIds: (await listTasks(taskListId)).map((entry) => entry.id)
|
|
379670
379695
|
}
|
|
379671
379696
|
};
|
|
379672
379697
|
}
|
|
@@ -379684,12 +379709,13 @@ var init_TaskGetTool = __esm(() => {
|
|
|
379684
379709
|
};
|
|
379685
379710
|
},
|
|
379686
379711
|
mapToolResultToToolResultBlockParam(content, toolUseID) {
|
|
379687
|
-
const { task } = content;
|
|
379712
|
+
const { task, availableTaskIds } = content;
|
|
379688
379713
|
if (!task) {
|
|
379714
|
+
const known = (availableTaskIds ?? []).map((id) => `#${id}`);
|
|
379689
379715
|
return {
|
|
379690
379716
|
tool_use_id: toolUseID,
|
|
379691
379717
|
type: "tool_result",
|
|
379692
|
-
content: "Task not found"
|
|
379718
|
+
content: known.length > 0 ? `Task not found. Existing tasks: ${known.join(", ")}.` : "Task not found. The task list is empty \u2014 create the task before reading it."
|
|
379693
379719
|
};
|
|
379694
379720
|
}
|
|
379695
379721
|
const lines = [
|
|
@@ -379885,12 +379911,13 @@ var init_TaskUpdateTool = __esm(() => {
|
|
|
379885
379911
|
});
|
|
379886
379912
|
const existingTask = await getTask(taskListId, taskId);
|
|
379887
379913
|
if (!existingTask) {
|
|
379914
|
+
const known = (await listTasks(taskListId)).map((task) => `#${task.id}`);
|
|
379888
379915
|
return {
|
|
379889
379916
|
data: {
|
|
379890
379917
|
success: false,
|
|
379891
379918
|
taskId,
|
|
379892
379919
|
updatedFields: [],
|
|
379893
|
-
error: "Task not found
|
|
379920
|
+
error: known.length > 0 ? `Task #${taskId} not found. Existing tasks: ${known.join(", ")}.` : `Task #${taskId} not found. The task list is empty \u2014 create the task before updating it.`
|
|
379894
379921
|
}
|
|
379895
379922
|
};
|
|
379896
379923
|
}
|
|
@@ -389603,7 +389630,7 @@ function isAnyTracingEnabled() {
|
|
|
389603
389630
|
return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
|
|
389604
389631
|
}
|
|
389605
389632
|
function getTracer() {
|
|
389606
|
-
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.77.
|
|
389633
|
+
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.77.8");
|
|
389607
389634
|
}
|
|
389608
389635
|
function createSpanAttributes(spanType, customAttributes = {}) {
|
|
389609
389636
|
const baseAttributes = getTelemetryAttributes();
|
|
@@ -419825,7 +419852,7 @@ function Feedback({
|
|
|
419825
419852
|
platform: env2.platform,
|
|
419826
419853
|
gitRepo: envInfo.isGit,
|
|
419827
419854
|
terminal: env2.terminal,
|
|
419828
|
-
version: "1.77.
|
|
419855
|
+
version: "1.77.8",
|
|
419829
419856
|
transcript: normalizeMessagesForAPI(messages),
|
|
419830
419857
|
errors: sanitizedErrors,
|
|
419831
419858
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -420017,7 +420044,7 @@ function Feedback({
|
|
|
420017
420044
|
", ",
|
|
420018
420045
|
env2.terminal,
|
|
420019
420046
|
", v",
|
|
420020
|
-
"1.77.
|
|
420047
|
+
"1.77.8"
|
|
420021
420048
|
]
|
|
420022
420049
|
}, undefined, true, undefined, this)
|
|
420023
420050
|
]
|
|
@@ -420123,7 +420150,7 @@ ${sanitizedDescription}
|
|
|
420123
420150
|
` + `**Environment Info**
|
|
420124
420151
|
` + `- Platform: ${env2.platform}
|
|
420125
420152
|
` + `- Terminal: ${env2.terminal}
|
|
420126
|
-
` + `- Version: ${"1.77.
|
|
420153
|
+
` + `- Version: ${"1.77.8"}
|
|
420127
420154
|
` + `- Feedback ID: ${feedbackId}
|
|
420128
420155
|
` + `
|
|
420129
420156
|
**Errors**
|
|
@@ -423233,7 +423260,7 @@ function buildPrimarySection() {
|
|
|
423233
423260
|
}, undefined, false, undefined, this);
|
|
423234
423261
|
return [{
|
|
423235
423262
|
label: "Version",
|
|
423236
|
-
value: "1.77.
|
|
423263
|
+
value: "1.77.8"
|
|
423237
423264
|
}, {
|
|
423238
423265
|
label: "Session name",
|
|
423239
423266
|
value: nameValue
|
|
@@ -426615,7 +426642,7 @@ function Config({
|
|
|
426615
426642
|
}
|
|
426616
426643
|
}, undefined, false, undefined, this)
|
|
426617
426644
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
|
|
426618
|
-
currentVersion: "1.77.
|
|
426645
|
+
currentVersion: "1.77.8",
|
|
426619
426646
|
onChoice: (choice) => {
|
|
426620
426647
|
setShowSubmenu(null);
|
|
426621
426648
|
setTabsHidden(false);
|
|
@@ -426627,7 +426654,7 @@ function Config({
|
|
|
426627
426654
|
autoUpdatesChannel: "stable"
|
|
426628
426655
|
};
|
|
426629
426656
|
if (choice === "stay") {
|
|
426630
|
-
newSettings.minimumVersion = "1.77.
|
|
426657
|
+
newSettings.minimumVersion = "1.77.8";
|
|
426631
426658
|
}
|
|
426632
426659
|
updateSettingsForSource("userSettings", newSettings);
|
|
426633
426660
|
setSettingsData((prev_27) => ({
|
|
@@ -434691,7 +434718,7 @@ function HelpV2(t0) {
|
|
|
434691
434718
|
let t6;
|
|
434692
434719
|
if ($2[31] !== tabs) {
|
|
434693
434720
|
t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
|
|
434694
|
-
title: `UR v${"1.77.
|
|
434721
|
+
title: `UR v${"1.77.8"}`,
|
|
434695
434722
|
color: "professionalBlue",
|
|
434696
434723
|
defaultTab: "general",
|
|
434697
434724
|
children: tabs
|
|
@@ -435624,7 +435651,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
|
|
|
435624
435651
|
async function handleInitialize(options2) {
|
|
435625
435652
|
return {
|
|
435626
435653
|
name: "UR",
|
|
435627
|
-
version: "1.77.
|
|
435654
|
+
version: "1.77.8",
|
|
435628
435655
|
protocolVersion: "0.1.0",
|
|
435629
435656
|
workspaceRoot: options2.cwd,
|
|
435630
435657
|
capabilities: {
|
|
@@ -452732,7 +452759,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
452732
452759
|
return [];
|
|
452733
452760
|
}
|
|
452734
452761
|
}
|
|
452735
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.
|
|
452762
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.8") {
|
|
452736
452763
|
if (process.env.USER_TYPE === "ant") {
|
|
452737
452764
|
const changelog = "";
|
|
452738
452765
|
if (changelog) {
|
|
@@ -452759,7 +452786,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.77.6")
|
|
|
452759
452786
|
releaseNotes
|
|
452760
452787
|
};
|
|
452761
452788
|
}
|
|
452762
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.77.
|
|
452789
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.77.8") {
|
|
452763
452790
|
if (process.env.USER_TYPE === "ant") {
|
|
452764
452791
|
const changelog = "";
|
|
452765
452792
|
if (changelog) {
|
|
@@ -455625,7 +455652,7 @@ function getRecentActivitySync() {
|
|
|
455625
455652
|
return cachedActivity;
|
|
455626
455653
|
}
|
|
455627
455654
|
function getLogoDisplayData() {
|
|
455628
|
-
const version2 = process.env.DEMO_VERSION ?? "1.77.
|
|
455655
|
+
const version2 = process.env.DEMO_VERSION ?? "1.77.8";
|
|
455629
455656
|
const serverUrl = getDirectConnectServerUrl();
|
|
455630
455657
|
const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
|
|
455631
455658
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -456492,7 +456519,7 @@ function LogoV2() {
|
|
|
456492
456519
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
456493
456520
|
t2 = () => {
|
|
456494
456521
|
const currentConfig2 = getGlobalConfig();
|
|
456495
|
-
if (currentConfig2.lastReleaseNotesSeen === "1.77.
|
|
456522
|
+
if (currentConfig2.lastReleaseNotesSeen === "1.77.8") {
|
|
456496
456523
|
return;
|
|
456497
456524
|
}
|
|
456498
456525
|
saveGlobalConfig(_temp325);
|
|
@@ -457177,12 +457204,12 @@ function LogoV2() {
|
|
|
457177
457204
|
return t41;
|
|
457178
457205
|
}
|
|
457179
457206
|
function _temp325(current) {
|
|
457180
|
-
if (current.lastReleaseNotesSeen === "1.77.
|
|
457207
|
+
if (current.lastReleaseNotesSeen === "1.77.8") {
|
|
457181
457208
|
return current;
|
|
457182
457209
|
}
|
|
457183
457210
|
return {
|
|
457184
457211
|
...current,
|
|
457185
|
-
lastReleaseNotesSeen: "1.77.
|
|
457212
|
+
lastReleaseNotesSeen: "1.77.8"
|
|
457186
457213
|
};
|
|
457187
457214
|
}
|
|
457188
457215
|
function _temp241(s_0) {
|
|
@@ -473996,7 +474023,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
|
|
|
473996
474023
|
if (spec.name !== specName) {
|
|
473997
474024
|
throw new Error("Agentic CI workflow spec name does not match");
|
|
473998
474025
|
}
|
|
473999
|
-
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.77.
|
|
474026
|
+
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.77.8" : "1.77.8");
|
|
474000
474027
|
if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
|
|
474001
474028
|
throw new Error("invalid ur-agent package version");
|
|
474002
474029
|
}
|
|
@@ -474989,7 +475016,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
|
|
|
474989
475016
|
path: ".github/workflows/ur.yml",
|
|
474990
475017
|
root: "project",
|
|
474991
475018
|
content: compileAgenticCiWorkflow("default", {
|
|
474992
|
-
packageVersion: typeof MACRO !== "undefined" ? "1.77.
|
|
475019
|
+
packageVersion: typeof MACRO !== "undefined" ? "1.77.8" : "1.77.8"
|
|
474993
475020
|
})
|
|
474994
475021
|
},
|
|
474995
475022
|
{
|
|
@@ -475052,7 +475079,7 @@ function value(tokens, flag) {
|
|
|
475052
475079
|
return index2 >= 0 ? tokens[index2 + 1] : undefined;
|
|
475053
475080
|
}
|
|
475054
475081
|
function cliVersion() {
|
|
475055
|
-
return typeof MACRO !== "undefined" ? "1.77.
|
|
475082
|
+
return typeof MACRO !== "undefined" ? "1.77.8" : "1.77.8";
|
|
475056
475083
|
}
|
|
475057
475084
|
function workflowPath(cwd2) {
|
|
475058
475085
|
return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
|
|
@@ -480908,7 +480935,7 @@ function createAcpStdioApp(deps) {
|
|
|
480908
480935
|
}
|
|
480909
480936
|
},
|
|
480910
480937
|
authMethods: [],
|
|
480911
|
-
agentInfo: { name: "UR-Nexus", version: "1.77.
|
|
480938
|
+
agentInfo: { name: "UR-Nexus", version: "1.77.8" }
|
|
480912
480939
|
})).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
|
|
480913
480940
|
const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
|
|
480914
480941
|
await runtime2.announce({
|
|
@@ -481005,7 +481032,7 @@ function createAcpStdioAgent(deps) {
|
|
|
481005
481032
|
}
|
|
481006
481033
|
},
|
|
481007
481034
|
authMethods: [],
|
|
481008
|
-
agentInfo: { name: "UR-Nexus", version: "1.77.
|
|
481035
|
+
agentInfo: { name: "UR-Nexus", version: "1.77.8" }
|
|
481009
481036
|
});
|
|
481010
481037
|
return;
|
|
481011
481038
|
case "authenticate":
|
|
@@ -690465,7 +690492,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
|
|
|
690465
690492
|
smapsRollup,
|
|
690466
690493
|
platform: process.platform,
|
|
690467
690494
|
nodeVersion: process.version,
|
|
690468
|
-
ccVersion: "1.77.
|
|
690495
|
+
ccVersion: "1.77.8"
|
|
690469
690496
|
};
|
|
690470
690497
|
}
|
|
690471
690498
|
async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
|
|
@@ -691045,7 +691072,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
691045
691072
|
var call154 = async () => {
|
|
691046
691073
|
return {
|
|
691047
691074
|
type: "text",
|
|
691048
|
-
value: "1.77.
|
|
691075
|
+
value: "1.77.8"
|
|
691049
691076
|
};
|
|
691050
691077
|
}, version2, version_default;
|
|
691051
691078
|
var init_version = __esm(() => {
|
|
@@ -702312,7 +702339,7 @@ function generateHtmlReport(data, insights) {
|
|
|
702312
702339
|
</html>`;
|
|
702313
702340
|
}
|
|
702314
702341
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
702315
|
-
const version3 = typeof MACRO !== "undefined" ? "1.77.
|
|
702342
|
+
const version3 = typeof MACRO !== "undefined" ? "1.77.8" : "unknown";
|
|
702316
702343
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
702317
702344
|
const facets_summary = {
|
|
702318
702345
|
total: facets.size,
|
|
@@ -706626,7 +706653,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
706626
706653
|
init_settings2();
|
|
706627
706654
|
init_slowOperations();
|
|
706628
706655
|
init_uuid();
|
|
706629
|
-
VERSION7 = typeof MACRO !== "undefined" ? "1.77.
|
|
706656
|
+
VERSION7 = typeof MACRO !== "undefined" ? "1.77.8" : "unknown";
|
|
706630
706657
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
706631
706658
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
706632
706659
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -707841,7 +707868,7 @@ var init_filesystem = __esm(() => {
|
|
|
707841
707868
|
});
|
|
707842
707869
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
707843
707870
|
const nonce = randomBytes20(16).toString("hex");
|
|
707844
|
-
return join232(getURTempDir(), "bundled-skills", "1.77.
|
|
707871
|
+
return join232(getURTempDir(), "bundled-skills", "1.77.8", nonce);
|
|
707845
707872
|
});
|
|
707846
707873
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
707847
707874
|
});
|
|
@@ -714198,7 +714225,7 @@ function computeFingerprint(messageText2, version3) {
|
|
|
714198
714225
|
}
|
|
714199
714226
|
function computeFingerprintFromMessages(messages) {
|
|
714200
714227
|
const firstMessageText = extractFirstMessageText(messages);
|
|
714201
|
-
return computeFingerprint(firstMessageText, "1.77.
|
|
714228
|
+
return computeFingerprint(firstMessageText, "1.77.8");
|
|
714202
714229
|
}
|
|
714203
714230
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
714204
714231
|
var init_fingerprint = () => {};
|
|
@@ -716120,7 +716147,7 @@ async function sideQuery(opts) {
|
|
|
716120
716147
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
716121
716148
|
}
|
|
716122
716149
|
const messageText2 = extractFirstUserMessageText(messages);
|
|
716123
|
-
const fingerprint2 = computeFingerprint(messageText2, "1.77.
|
|
716150
|
+
const fingerprint2 = computeFingerprint(messageText2, "1.77.8");
|
|
716124
716151
|
const attributionHeader = getAttributionHeader(fingerprint2);
|
|
716125
716152
|
const systemBlocks = [
|
|
716126
716153
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -720957,7 +720984,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
720957
720984
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
720958
720985
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
720959
720986
|
betas: getSdkBetas(),
|
|
720960
|
-
ur_version: "1.77.
|
|
720987
|
+
ur_version: "1.77.8",
|
|
720961
720988
|
output_style: outputStyle2,
|
|
720962
720989
|
agents: inputs.agents.map((agent2) => agent2.agentType),
|
|
720963
720990
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
|
|
@@ -734829,7 +734856,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
734829
734856
|
function getSemverPart(version3) {
|
|
734830
734857
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
734831
734858
|
}
|
|
734832
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.77.
|
|
734859
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.77.8") {
|
|
734833
734860
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react223.useState(() => getSemverPart(initialVersion));
|
|
734834
734861
|
if (!updatedVersion) {
|
|
734835
734862
|
return null;
|
|
@@ -734878,7 +734905,7 @@ function AutoUpdater({
|
|
|
734878
734905
|
return;
|
|
734879
734906
|
}
|
|
734880
734907
|
if (false) {}
|
|
734881
|
-
const currentVersion = "1.77.
|
|
734908
|
+
const currentVersion = "1.77.8";
|
|
734882
734909
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
734883
734910
|
let latestVersion = await getLatestVersion(channel);
|
|
734884
734911
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -735107,12 +735134,12 @@ function NativeAutoUpdater({
|
|
|
735107
735134
|
logEvent("tengu_native_auto_updater_start", {});
|
|
735108
735135
|
try {
|
|
735109
735136
|
const maxVersion = await getMaxVersion();
|
|
735110
|
-
if (maxVersion && gt("1.77.
|
|
735137
|
+
if (maxVersion && gt("1.77.8", maxVersion)) {
|
|
735111
735138
|
const msg = await getMaxVersionMessage();
|
|
735112
735139
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
735113
735140
|
}
|
|
735114
735141
|
const result = await installLatest(channel);
|
|
735115
|
-
const currentVersion = "1.77.
|
|
735142
|
+
const currentVersion = "1.77.8";
|
|
735116
735143
|
const latencyMs = Date.now() - startTime;
|
|
735117
735144
|
if (result.lockFailed) {
|
|
735118
735145
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -735249,17 +735276,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
735249
735276
|
const maxVersion = await getMaxVersion();
|
|
735250
735277
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
735251
735278
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
735252
|
-
if (gte("1.77.
|
|
735253
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.77.
|
|
735279
|
+
if (gte("1.77.8", maxVersion)) {
|
|
735280
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.77.8"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
735254
735281
|
setUpdateAvailable(false);
|
|
735255
735282
|
return;
|
|
735256
735283
|
}
|
|
735257
735284
|
latest = maxVersion;
|
|
735258
735285
|
}
|
|
735259
|
-
const hasUpdate = latest && !gte("1.77.
|
|
735286
|
+
const hasUpdate = latest && !gte("1.77.8", latest) && !shouldSkipVersion(latest);
|
|
735260
735287
|
setUpdateAvailable(!!hasUpdate);
|
|
735261
735288
|
if (hasUpdate) {
|
|
735262
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.77.
|
|
735289
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.77.8"} -> ${latest}`);
|
|
735263
735290
|
}
|
|
735264
735291
|
};
|
|
735265
735292
|
$2[0] = t1;
|
|
@@ -735293,7 +735320,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
735293
735320
|
wrap: "truncate",
|
|
735294
735321
|
children: [
|
|
735295
735322
|
"currentVersion: ",
|
|
735296
|
-
"1.77.
|
|
735323
|
+
"1.77.8"
|
|
735297
735324
|
]
|
|
735298
735325
|
}, undefined, true, undefined, this);
|
|
735299
735326
|
$2[3] = verbose;
|
|
@@ -746093,7 +746120,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
746093
746120
|
project_dir: getOriginalCwd(),
|
|
746094
746121
|
added_dirs: addedDirs
|
|
746095
746122
|
},
|
|
746096
|
-
version: "1.77.
|
|
746123
|
+
version: "1.77.8",
|
|
746097
746124
|
output_style: {
|
|
746098
746125
|
name: outputStyleName
|
|
746099
746126
|
},
|
|
@@ -746228,7 +746255,7 @@ function StatusLineInner({
|
|
|
746228
746255
|
const attention = customStatusError ?? taskAttention;
|
|
746229
746256
|
const terminalSize = React132.useContext(TerminalSizeContext);
|
|
746230
746257
|
const defaultStatusLineText = buildDefaultStatusBar({
|
|
746231
|
-
version: "1.77.
|
|
746258
|
+
version: "1.77.8",
|
|
746232
746259
|
providerLabel: providerRuntime.providerLabel,
|
|
746233
746260
|
authMode: providerRuntime.authLabel,
|
|
746234
746261
|
model: renderModelName(mainLoopModel) || providerRuntime.model || "",
|
|
@@ -758513,7 +758540,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
|
|
|
758513
758540
|
} catch {}
|
|
758514
758541
|
const data = {
|
|
758515
758542
|
trigger: trigger2,
|
|
758516
|
-
version: "1.77.
|
|
758543
|
+
version: "1.77.8",
|
|
758517
758544
|
platform: process.platform,
|
|
758518
758545
|
transcript,
|
|
758519
758546
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -770887,7 +770914,7 @@ function WelcomeV2() {
|
|
|
770887
770914
|
dimColor: true,
|
|
770888
770915
|
children: [
|
|
770889
770916
|
"v",
|
|
770890
|
-
"1.77.
|
|
770917
|
+
"1.77.8"
|
|
770891
770918
|
]
|
|
770892
770919
|
}, undefined, true, undefined, this)
|
|
770893
770920
|
]
|
|
@@ -772147,7 +772174,7 @@ function completeOnboarding() {
|
|
|
772147
772174
|
saveGlobalConfig((current) => ({
|
|
772148
772175
|
...current,
|
|
772149
772176
|
hasCompletedOnboarding: true,
|
|
772150
|
-
lastOnboardingVersion: "1.77.
|
|
772177
|
+
lastOnboardingVersion: "1.77.8"
|
|
772151
772178
|
}));
|
|
772152
772179
|
}
|
|
772153
772180
|
function showDialog(root2, renderer) {
|
|
@@ -777191,7 +777218,7 @@ function appendToLog(path24, message) {
|
|
|
777191
777218
|
cwd: getFsImplementation().cwd(),
|
|
777192
777219
|
userType: process.env.USER_TYPE,
|
|
777193
777220
|
sessionId: getSessionId(),
|
|
777194
|
-
version: "1.77.
|
|
777221
|
+
version: "1.77.8"
|
|
777195
777222
|
};
|
|
777196
777223
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
777197
777224
|
}
|
|
@@ -781350,8 +781377,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
781350
781377
|
}
|
|
781351
781378
|
async function checkEnvLessBridgeMinVersion() {
|
|
781352
781379
|
const cfg = await getEnvLessBridgeConfig();
|
|
781353
|
-
if (cfg.min_version && lt("1.77.
|
|
781354
|
-
return `Your version of UR (${"1.77.
|
|
781380
|
+
if (cfg.min_version && lt("1.77.8", cfg.min_version)) {
|
|
781381
|
+
return `Your version of UR (${"1.77.8"}) is too old for Remote Control.
|
|
781355
781382
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
781356
781383
|
}
|
|
781357
781384
|
return null;
|
|
@@ -781825,7 +781852,7 @@ async function initBridgeCore(params) {
|
|
|
781825
781852
|
const rawApi = createBridgeApiClient({
|
|
781826
781853
|
baseUrl,
|
|
781827
781854
|
getAccessToken,
|
|
781828
|
-
runnerVersion: "1.77.
|
|
781855
|
+
runnerVersion: "1.77.8",
|
|
781829
781856
|
onDebug: logForDebugging,
|
|
781830
781857
|
onAuth401,
|
|
781831
781858
|
getTrustedDeviceToken
|
|
@@ -791298,7 +791325,7 @@ function getAgUiCapabilities() {
|
|
|
791298
791325
|
name: "UR-Nexus",
|
|
791299
791326
|
type: "ur-nexus",
|
|
791300
791327
|
description: "Provider-flexible, local-first autonomous engineering workflow agent.",
|
|
791301
|
-
version: "1.77.
|
|
791328
|
+
version: "1.77.8",
|
|
791302
791329
|
provider: "UR",
|
|
791303
791330
|
documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
|
|
791304
791331
|
},
|
|
@@ -792438,7 +792465,7 @@ function createMCPServer(cwd4, debug2, verbose) {
|
|
|
792438
792465
|
};
|
|
792439
792466
|
const server2 = new Server({
|
|
792440
792467
|
name: "ur-nexus",
|
|
792441
|
-
version: "1.77.
|
|
792468
|
+
version: "1.77.8"
|
|
792442
792469
|
}, {
|
|
792443
792470
|
capabilities: {
|
|
792444
792471
|
tools: {}
|
|
@@ -793596,7 +793623,7 @@ function thrownResponse(error40) {
|
|
|
793596
793623
|
}
|
|
793597
793624
|
async function createUrMcp2026Runtime(options4) {
|
|
793598
793625
|
const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
|
|
793599
|
-
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.77.
|
|
793626
|
+
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.77.8" }, { capabilities: {} });
|
|
793600
793627
|
const [clientTransport, serverTransport] = createLinkedTransportPair();
|
|
793601
793628
|
try {
|
|
793602
793629
|
await server2.connect(serverTransport);
|
|
@@ -793607,7 +793634,7 @@ async function createUrMcp2026Runtime(options4) {
|
|
|
793607
793634
|
}
|
|
793608
793635
|
const runtime2 = new Mcp2026Runtime({
|
|
793609
793636
|
cwd: options4.cwd,
|
|
793610
|
-
version: "1.77.
|
|
793637
|
+
version: "1.77.8",
|
|
793611
793638
|
backend: {
|
|
793612
793639
|
listTools: async () => {
|
|
793613
793640
|
const listed = await client2.listTools();
|
|
@@ -795748,7 +795775,7 @@ async function update() {
|
|
|
795748
795775
|
logEvent("tengu_update_check", {});
|
|
795749
795776
|
const diagnostic2 = await getDoctorDiagnostic();
|
|
795750
795777
|
const result = await checkUpgradeStatus({
|
|
795751
|
-
currentVersion: "1.77.
|
|
795778
|
+
currentVersion: "1.77.8",
|
|
795752
795779
|
packageName: UR_AGENT_PACKAGE_NAME,
|
|
795753
795780
|
installationType: diagnostic2.installationType,
|
|
795754
795781
|
latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
|
|
@@ -797064,7 +797091,7 @@ ${customInstructions}` : customInstructions;
|
|
|
797064
797091
|
}
|
|
797065
797092
|
}
|
|
797066
797093
|
logForDiagnosticsNoPII("info", "started", {
|
|
797067
|
-
version: "1.77.
|
|
797094
|
+
version: "1.77.8",
|
|
797068
797095
|
is_native_binary: isInBundledMode()
|
|
797069
797096
|
});
|
|
797070
797097
|
registerCleanup(async () => {
|
|
@@ -797850,7 +797877,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
797850
797877
|
pendingHookMessages
|
|
797851
797878
|
}, renderAndRun);
|
|
797852
797879
|
}
|
|
797853
|
-
}).version("1.77.
|
|
797880
|
+
}).version("1.77.8 (UR-Nexus)", "-v, --version", "Output the version number");
|
|
797854
797881
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
797855
797882
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
797856
797883
|
if (canUserConfigureAdvisor()) {
|
|
@@ -798902,7 +798929,7 @@ if (false) {}
|
|
|
798902
798929
|
async function main2() {
|
|
798903
798930
|
const args = process.argv.slice(2);
|
|
798904
798931
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
798905
|
-
console.log(`${"1.77.
|
|
798932
|
+
console.log(`${"1.77.8"} (UR-Nexus)`);
|
|
798906
798933
|
return;
|
|
798907
798934
|
}
|
|
798908
798935
|
if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
|
package/docs/VALIDATION.md
CHANGED
package/documentation/index.html
CHANGED
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
<main id="content" class="content">
|
|
46
46
|
<header class="topbar">
|
|
47
47
|
<div>
|
|
48
|
-
<p class="eyebrow">Version 1.77.
|
|
48
|
+
<p class="eyebrow">Version 1.77.8</p>
|
|
49
49
|
<h1>UR-Nexus Documentation</h1>
|
|
50
50
|
<p class="lead">A practical, tutorial-style reference for installing, configuring, automating, extending, and operating UR-Nexus.</p>
|
|
51
51
|
</div>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "ur-inline-diffs",
|
|
3
3
|
"displayName": "UR Inline Diffs",
|
|
4
4
|
"description": "Review, apply, and reject UR inline diff bundles from .ur/ide/diffs inside VS Code.",
|
|
5
|
-
"version": "1.77.
|
|
5
|
+
"version": "1.77.8",
|
|
6
6
|
"publisher": "ur-nexus",
|
|
7
7
|
"engines": {
|
|
8
8
|
"vscode": "^1.92.0"
|
package/package.json
CHANGED