ur-agent 1.78.9 → 1.78.11
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 +27 -18
- package/dist/cli.js +386 -227
- package/docs/USAGE.md +30 -27
- package/docs/VALIDATION.md +7 -5
- package/docs/providers.md +8 -6
- package/documentation/index.html +3 -3
- package/extensions/jetbrains-ur/build.gradle.kts +1 -1
- package/extensions/vscode-ur-inline-diffs/package.json +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -89249,12 +89249,112 @@ var init_toolSchema = __esm(() => {
|
|
|
89249
89249
|
TOOL_NAME_PATTERN = /^[A-Za-z0-9_-]{1,64}$/u;
|
|
89250
89250
|
});
|
|
89251
89251
|
|
|
89252
|
+
// src/services/api/streamIdleTimeout.ts
|
|
89253
|
+
function resolveStreamIdleTimeoutMs(configured, env4 = process.env) {
|
|
89254
|
+
const candidates = [
|
|
89255
|
+
configured,
|
|
89256
|
+
Number.parseInt(env4.UR_STREAM_IDLE_TIMEOUT_MS ?? "", 10)
|
|
89257
|
+
];
|
|
89258
|
+
for (const candidate of candidates) {
|
|
89259
|
+
if (typeof candidate === "number" && Number.isFinite(candidate) && candidate > 0) {
|
|
89260
|
+
return Math.floor(candidate);
|
|
89261
|
+
}
|
|
89262
|
+
}
|
|
89263
|
+
return DEFAULT_STREAM_IDLE_TIMEOUT_MS;
|
|
89264
|
+
}
|
|
89265
|
+
function withStreamIdleTimeout(source, idleMs, onTimeout) {
|
|
89266
|
+
if (!Number.isFinite(idleMs) || idleMs <= 0) {
|
|
89267
|
+
return source;
|
|
89268
|
+
}
|
|
89269
|
+
const reader = source.getReader();
|
|
89270
|
+
let timer;
|
|
89271
|
+
let bytesReceived = 0;
|
|
89272
|
+
let settled = false;
|
|
89273
|
+
return new ReadableStream({
|
|
89274
|
+
start(controller) {
|
|
89275
|
+
const clear = () => {
|
|
89276
|
+
if (timer !== undefined) {
|
|
89277
|
+
clearTimeout(timer);
|
|
89278
|
+
timer = undefined;
|
|
89279
|
+
}
|
|
89280
|
+
};
|
|
89281
|
+
const fail = () => {
|
|
89282
|
+
if (settled)
|
|
89283
|
+
return;
|
|
89284
|
+
settled = true;
|
|
89285
|
+
const error40 = new StreamIdleTimeoutError(idleMs, bytesReceived);
|
|
89286
|
+
clear();
|
|
89287
|
+
reader.cancel(error40).catch(() => {});
|
|
89288
|
+
onTimeout?.(error40);
|
|
89289
|
+
controller.error(error40);
|
|
89290
|
+
};
|
|
89291
|
+
const arm = () => {
|
|
89292
|
+
clear();
|
|
89293
|
+
if (settled)
|
|
89294
|
+
return;
|
|
89295
|
+
timer = setTimeout(fail, idleMs);
|
|
89296
|
+
};
|
|
89297
|
+
const pump = async () => {
|
|
89298
|
+
arm();
|
|
89299
|
+
try {
|
|
89300
|
+
while (!settled) {
|
|
89301
|
+
const { done, value } = await reader.read();
|
|
89302
|
+
if (settled)
|
|
89303
|
+
return;
|
|
89304
|
+
if (done) {
|
|
89305
|
+
clear();
|
|
89306
|
+
settled = true;
|
|
89307
|
+
controller.close();
|
|
89308
|
+
return;
|
|
89309
|
+
}
|
|
89310
|
+
if (value !== undefined) {
|
|
89311
|
+
bytesReceived += value.byteLength ?? value.length ?? 0;
|
|
89312
|
+
controller.enqueue(value);
|
|
89313
|
+
}
|
|
89314
|
+
arm();
|
|
89315
|
+
}
|
|
89316
|
+
} catch (error40) {
|
|
89317
|
+
if (settled)
|
|
89318
|
+
return;
|
|
89319
|
+
settled = true;
|
|
89320
|
+
clear();
|
|
89321
|
+
controller.error(error40);
|
|
89322
|
+
}
|
|
89323
|
+
};
|
|
89324
|
+
pump();
|
|
89325
|
+
},
|
|
89326
|
+
cancel(reason) {
|
|
89327
|
+
settled = true;
|
|
89328
|
+
if (timer !== undefined) {
|
|
89329
|
+
clearTimeout(timer);
|
|
89330
|
+
timer = undefined;
|
|
89331
|
+
}
|
|
89332
|
+
return reader.cancel(reason);
|
|
89333
|
+
}
|
|
89334
|
+
});
|
|
89335
|
+
}
|
|
89336
|
+
var DEFAULT_STREAM_IDLE_TIMEOUT_MS = 300000, StreamIdleTimeoutError;
|
|
89337
|
+
var init_streamIdleTimeout = __esm(() => {
|
|
89338
|
+
StreamIdleTimeoutError = class StreamIdleTimeoutError extends Error {
|
|
89339
|
+
idleMs;
|
|
89340
|
+
bytesReceived;
|
|
89341
|
+
isStreamIdleTimeout = true;
|
|
89342
|
+
constructor(idleMs, bytesReceived) {
|
|
89343
|
+
super(bytesReceived === 0 ? `Provider accepted the request but sent no data for ${idleMs}ms.` : `Provider stopped sending data for ${idleMs}ms after ${bytesReceived} bytes.`);
|
|
89344
|
+
this.idleMs = idleMs;
|
|
89345
|
+
this.bytesReceived = bytesReceived;
|
|
89346
|
+
this.name = "StreamIdleTimeoutError";
|
|
89347
|
+
}
|
|
89348
|
+
};
|
|
89349
|
+
});
|
|
89350
|
+
|
|
89252
89351
|
// src/services/api/ollama.ts
|
|
89253
89352
|
var exports_ollama = {};
|
|
89254
89353
|
__export(exports_ollama, {
|
|
89255
89354
|
toOllamaChatRequest: () => toOllamaChatRequest,
|
|
89256
89355
|
mergeToolCalls: () => mergeToolCalls,
|
|
89257
89356
|
isOllamaCloudModel: () => isOllamaCloudModel2,
|
|
89357
|
+
getOllamaStreamIdleTimeoutMs: () => getOllamaStreamIdleTimeoutMs,
|
|
89258
89358
|
getOllamaRequestTimeoutMs: () => getOllamaRequestTimeoutMs,
|
|
89259
89359
|
getOllamaHeaderTimeoutMs: () => getOllamaHeaderTimeoutMs,
|
|
89260
89360
|
getEffectiveOllamaBaseUrl: () => getEffectiveOllamaBaseUrl,
|
|
@@ -89423,6 +89523,18 @@ function getOllamaRequestTimeoutMs(options, env4 = process.env, model) {
|
|
|
89423
89523
|
}
|
|
89424
89524
|
return DEFAULT_OLLAMA_REQUEST_TIMEOUT_MS;
|
|
89425
89525
|
}
|
|
89526
|
+
function getOllamaStreamIdleTimeoutMs(options, env4 = process.env, model) {
|
|
89527
|
+
if (options?.timeoutMs !== undefined || options?.timeout !== undefined) {
|
|
89528
|
+
return getOllamaRequestTimeoutMs(options, env4, model);
|
|
89529
|
+
}
|
|
89530
|
+
const streamOverride = parseInt(env4.UR_STREAM_IDLE_TIMEOUT_MS || "", 10);
|
|
89531
|
+
if (streamOverride > 0)
|
|
89532
|
+
return streamOverride;
|
|
89533
|
+
const apiOverride = parseInt(env4.API_TIMEOUT_MS || "", 10);
|
|
89534
|
+
if (apiOverride > 0)
|
|
89535
|
+
return apiOverride;
|
|
89536
|
+
return isTruthyEnv(env4.UR_CODE_REMOTE) ? REMOTE_OLLAMA_REQUEST_TIMEOUT_MS : DEFAULT_STREAM_IDLE_TIMEOUT_MS;
|
|
89537
|
+
}
|
|
89426
89538
|
function isOllamaCloudModel2(model) {
|
|
89427
89539
|
return model?.trim().toLowerCase().endsWith(":cloud") ?? false;
|
|
89428
89540
|
}
|
|
@@ -89847,7 +89959,7 @@ async function* streamURHQEvents(response, params, controller, requestId, textTo
|
|
|
89847
89959
|
}
|
|
89848
89960
|
return events;
|
|
89849
89961
|
};
|
|
89850
|
-
for await (const chunk of readOllamaChunks(response, controller,
|
|
89962
|
+
for await (const chunk of readOllamaChunks(response, controller, getOllamaStreamIdleTimeoutMs(options, process.env, params.model), options)) {
|
|
89851
89963
|
if (chunk.error) {
|
|
89852
89964
|
throw new Error(chunk.error);
|
|
89853
89965
|
}
|
|
@@ -90372,6 +90484,7 @@ var init_ollama = __esm(() => {
|
|
|
90372
90484
|
init_debug();
|
|
90373
90485
|
init_providerClient();
|
|
90374
90486
|
init_toolSchema();
|
|
90487
|
+
init_streamIdleTimeout();
|
|
90375
90488
|
ollamaModelCapabilitiesCache = new Map;
|
|
90376
90489
|
warnedToolsUnsupportedModels = new Set;
|
|
90377
90490
|
TEXT_TOOL_CALL_HINT = [
|
|
@@ -90460,105 +90573,6 @@ function getStoredGeminiThoughtSignature(block) {
|
|
|
90460
90573
|
}
|
|
90461
90574
|
var GEMINI_THOUGHT_SIGNATURE = "gemini_thought_signature";
|
|
90462
90575
|
|
|
90463
|
-
// src/services/api/streamIdleTimeout.ts
|
|
90464
|
-
function resolveStreamIdleTimeoutMs(configured, env4 = process.env) {
|
|
90465
|
-
const candidates = [
|
|
90466
|
-
configured,
|
|
90467
|
-
Number.parseInt(env4.UR_STREAM_IDLE_TIMEOUT_MS ?? "", 10)
|
|
90468
|
-
];
|
|
90469
|
-
for (const candidate of candidates) {
|
|
90470
|
-
if (typeof candidate === "number" && Number.isFinite(candidate) && candidate > 0) {
|
|
90471
|
-
return Math.floor(candidate);
|
|
90472
|
-
}
|
|
90473
|
-
}
|
|
90474
|
-
return DEFAULT_STREAM_IDLE_TIMEOUT_MS;
|
|
90475
|
-
}
|
|
90476
|
-
function withStreamIdleTimeout(source, idleMs, onTimeout) {
|
|
90477
|
-
if (!Number.isFinite(idleMs) || idleMs <= 0) {
|
|
90478
|
-
return source;
|
|
90479
|
-
}
|
|
90480
|
-
const reader = source.getReader();
|
|
90481
|
-
let timer;
|
|
90482
|
-
let bytesReceived = 0;
|
|
90483
|
-
let settled = false;
|
|
90484
|
-
return new ReadableStream({
|
|
90485
|
-
start(controller) {
|
|
90486
|
-
const clear = () => {
|
|
90487
|
-
if (timer !== undefined) {
|
|
90488
|
-
clearTimeout(timer);
|
|
90489
|
-
timer = undefined;
|
|
90490
|
-
}
|
|
90491
|
-
};
|
|
90492
|
-
const fail = () => {
|
|
90493
|
-
if (settled)
|
|
90494
|
-
return;
|
|
90495
|
-
settled = true;
|
|
90496
|
-
const error40 = new StreamIdleTimeoutError(idleMs, bytesReceived);
|
|
90497
|
-
clear();
|
|
90498
|
-
reader.cancel(error40).catch(() => {});
|
|
90499
|
-
onTimeout?.(error40);
|
|
90500
|
-
controller.error(error40);
|
|
90501
|
-
};
|
|
90502
|
-
const arm = () => {
|
|
90503
|
-
clear();
|
|
90504
|
-
if (settled)
|
|
90505
|
-
return;
|
|
90506
|
-
timer = setTimeout(fail, idleMs);
|
|
90507
|
-
};
|
|
90508
|
-
const pump = async () => {
|
|
90509
|
-
arm();
|
|
90510
|
-
try {
|
|
90511
|
-
while (!settled) {
|
|
90512
|
-
const { done, value } = await reader.read();
|
|
90513
|
-
if (settled)
|
|
90514
|
-
return;
|
|
90515
|
-
if (done) {
|
|
90516
|
-
clear();
|
|
90517
|
-
settled = true;
|
|
90518
|
-
controller.close();
|
|
90519
|
-
return;
|
|
90520
|
-
}
|
|
90521
|
-
if (value !== undefined) {
|
|
90522
|
-
bytesReceived += value.byteLength ?? value.length ?? 0;
|
|
90523
|
-
controller.enqueue(value);
|
|
90524
|
-
}
|
|
90525
|
-
arm();
|
|
90526
|
-
}
|
|
90527
|
-
} catch (error40) {
|
|
90528
|
-
if (settled)
|
|
90529
|
-
return;
|
|
90530
|
-
settled = true;
|
|
90531
|
-
clear();
|
|
90532
|
-
controller.error(error40);
|
|
90533
|
-
}
|
|
90534
|
-
};
|
|
90535
|
-
pump();
|
|
90536
|
-
},
|
|
90537
|
-
cancel(reason) {
|
|
90538
|
-
settled = true;
|
|
90539
|
-
if (timer !== undefined) {
|
|
90540
|
-
clearTimeout(timer);
|
|
90541
|
-
timer = undefined;
|
|
90542
|
-
}
|
|
90543
|
-
return reader.cancel(reason);
|
|
90544
|
-
}
|
|
90545
|
-
});
|
|
90546
|
-
}
|
|
90547
|
-
var DEFAULT_STREAM_IDLE_TIMEOUT_MS = 300000, StreamIdleTimeoutError;
|
|
90548
|
-
var init_streamIdleTimeout = __esm(() => {
|
|
90549
|
-
StreamIdleTimeoutError = class StreamIdleTimeoutError extends Error {
|
|
90550
|
-
idleMs;
|
|
90551
|
-
bytesReceived;
|
|
90552
|
-
isStreamIdleTimeout = true;
|
|
90553
|
-
constructor(idleMs, bytesReceived) {
|
|
90554
|
-
super(bytesReceived === 0 ? `Provider accepted the request but sent no data for ${idleMs}ms.` : `Provider stopped sending data for ${idleMs}ms after ${bytesReceived} bytes.`);
|
|
90555
|
-
this.idleMs = idleMs;
|
|
90556
|
-
this.bytesReceived = bytesReceived;
|
|
90557
|
-
this.name = "StreamIdleTimeoutError";
|
|
90558
|
-
}
|
|
90559
|
-
};
|
|
90560
|
-
});
|
|
90561
|
-
|
|
90562
90576
|
// src/services/api/providerHttp.ts
|
|
90563
90577
|
function parsePositiveInteger(value) {
|
|
90564
90578
|
if (typeof value !== "string" && typeof value !== "number")
|
|
@@ -107588,7 +107602,7 @@ var init_auth = __esm(() => {
|
|
|
107588
107602
|
|
|
107589
107603
|
// src/utils/userAgent.ts
|
|
107590
107604
|
function getURCodeUserAgent() {
|
|
107591
|
-
return `ur/${"1.78.
|
|
107605
|
+
return `ur/${"1.78.11"}`;
|
|
107592
107606
|
}
|
|
107593
107607
|
|
|
107594
107608
|
// src/utils/workloadContext.ts
|
|
@@ -107610,7 +107624,7 @@ function getUserAgent() {
|
|
|
107610
107624
|
const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
|
|
107611
107625
|
const workload = getWorkload();
|
|
107612
107626
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
107613
|
-
return `ur-cli/${"1.78.
|
|
107627
|
+
return `ur-cli/${"1.78.11"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
107614
107628
|
}
|
|
107615
107629
|
function getMCPUserAgent() {
|
|
107616
107630
|
const parts = [];
|
|
@@ -107624,7 +107638,7 @@ function getMCPUserAgent() {
|
|
|
107624
107638
|
parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
|
|
107625
107639
|
}
|
|
107626
107640
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
107627
|
-
return `ur/${"1.78.
|
|
107641
|
+
return `ur/${"1.78.11"}${suffix}`;
|
|
107628
107642
|
}
|
|
107629
107643
|
function getWebFetchUserAgent() {
|
|
107630
107644
|
return `UR-User (${getURCodeUserAgent()})`;
|
|
@@ -107762,7 +107776,7 @@ var init_user = __esm(() => {
|
|
|
107762
107776
|
deviceId,
|
|
107763
107777
|
sessionId: getSessionId(),
|
|
107764
107778
|
email: getEmail(),
|
|
107765
|
-
appVersion: "1.78.
|
|
107779
|
+
appVersion: "1.78.11",
|
|
107766
107780
|
platform: getHostPlatformForAnalytics(),
|
|
107767
107781
|
organizationUuid,
|
|
107768
107782
|
accountUuid,
|
|
@@ -115649,7 +115663,7 @@ var init_metadata = __esm(() => {
|
|
|
115649
115663
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
115650
115664
|
WHITESPACE_REGEX = /\s+/;
|
|
115651
115665
|
getVersionBase = memoize_default(() => {
|
|
115652
|
-
const match = "1.78.
|
|
115666
|
+
const match = "1.78.11".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
115653
115667
|
return match ? match[0] : undefined;
|
|
115654
115668
|
});
|
|
115655
115669
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -115689,7 +115703,7 @@ var init_metadata = __esm(() => {
|
|
|
115689
115703
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
115690
115704
|
isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
|
|
115691
115705
|
isURAiAuth: isURAISubscriber(),
|
|
115692
|
-
version: "1.78.
|
|
115706
|
+
version: "1.78.11",
|
|
115693
115707
|
versionBase: getVersionBase(),
|
|
115694
115708
|
buildTime: "",
|
|
115695
115709
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
@@ -116359,7 +116373,7 @@ function initialize1PEventLogging() {
|
|
|
116359
116373
|
const platform2 = getPlatform();
|
|
116360
116374
|
const attributes = {
|
|
116361
116375
|
[import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
|
|
116362
|
-
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.78.
|
|
116376
|
+
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.78.11"
|
|
116363
116377
|
};
|
|
116364
116378
|
if (platform2 === "wsl") {
|
|
116365
116379
|
const wslVersion = getWslVersion();
|
|
@@ -116387,7 +116401,7 @@ function initialize1PEventLogging() {
|
|
|
116387
116401
|
})
|
|
116388
116402
|
]
|
|
116389
116403
|
});
|
|
116390
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.78.
|
|
116404
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.78.11");
|
|
116391
116405
|
}
|
|
116392
116406
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
116393
116407
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -126287,7 +126301,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
|
|
|
126287
126301
|
function formatA2AAgentCard(options = {}, pretty = true) {
|
|
126288
126302
|
return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
|
|
126289
126303
|
}
|
|
126290
|
-
var urVersion = "1.78.
|
|
126304
|
+
var urVersion = "1.78.11", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
|
|
126291
126305
|
var init_trends = __esm(() => {
|
|
126292
126306
|
init_a2aCardSignature();
|
|
126293
126307
|
coverage = [
|
|
@@ -129090,7 +129104,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
129090
129104
|
if (!isAttributionHeaderEnabled()) {
|
|
129091
129105
|
return "";
|
|
129092
129106
|
}
|
|
129093
|
-
const version2 = `${"1.78.
|
|
129107
|
+
const version2 = `${"1.78.11"}.${fingerprint}`;
|
|
129094
129108
|
const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
|
|
129095
129109
|
const cch = "";
|
|
129096
129110
|
const workload = getWorkload();
|
|
@@ -157094,7 +157108,7 @@ var init_projectSafety = __esm(() => {
|
|
|
157094
157108
|
function getInstruments() {
|
|
157095
157109
|
if (instruments)
|
|
157096
157110
|
return instruments;
|
|
157097
|
-
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.78.
|
|
157111
|
+
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.78.11");
|
|
157098
157112
|
instruments = {
|
|
157099
157113
|
operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
|
|
157100
157114
|
description: "GenAI operation duration.",
|
|
@@ -157192,7 +157206,7 @@ function genAiAgentAttributes() {
|
|
|
157192
157206
|
"gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
|
|
157193
157207
|
"gen_ai.provider.name": "ur",
|
|
157194
157208
|
"gen_ai.agent.name": "UR-Nexus",
|
|
157195
|
-
"gen_ai.agent.version": "1.78.
|
|
157209
|
+
"gen_ai.agent.version": "1.78.11"
|
|
157196
157210
|
};
|
|
157197
157211
|
}
|
|
157198
157212
|
function genAiWorkflowAttributes(workflowName) {
|
|
@@ -157208,7 +157222,7 @@ function genAiWorkflowAttributes(workflowName) {
|
|
|
157208
157222
|
function startGenAiWorkflowSpan(workflowName) {
|
|
157209
157223
|
const attributes = genAiWorkflowAttributes(workflowName);
|
|
157210
157224
|
const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
|
|
157211
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.
|
|
157225
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.11").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
157212
157226
|
}
|
|
157213
157227
|
function endGenAiWorkflowSpan(span, options2 = {}) {
|
|
157214
157228
|
try {
|
|
@@ -157246,7 +157260,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
|
|
|
157246
157260
|
if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
|
|
157247
157261
|
attributes["gen_ai.memory.record.count"] = options2.recordCount;
|
|
157248
157262
|
}
|
|
157249
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.
|
|
157263
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.11").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
157250
157264
|
}
|
|
157251
157265
|
function endGenAiMemorySpan(span, options2 = {}) {
|
|
157252
157266
|
try {
|
|
@@ -159286,6 +159300,7 @@ __export(exports_tasks, {
|
|
|
159286
159300
|
listTaskHistory: () => listTaskHistory,
|
|
159287
159301
|
isTodoV2Enabled: () => isTodoV2Enabled,
|
|
159288
159302
|
isTaskListFullyCompleted: () => isTaskListFullyCompleted,
|
|
159303
|
+
isAutomaticPromptTask: () => isAutomaticPromptTask,
|
|
159289
159304
|
inspectTaskListForGate: () => inspectTaskListForGate,
|
|
159290
159305
|
getTasksDir: () => getTasksDir,
|
|
159291
159306
|
getTaskPath: () => getTaskPath,
|
|
@@ -159305,7 +159320,10 @@ __export(exports_tasks, {
|
|
|
159305
159320
|
TaskStatusSchema: () => TaskStatusSchema2,
|
|
159306
159321
|
TaskSchema: () => TaskSchema2,
|
|
159307
159322
|
TASK_STATUSES: () => TASK_STATUSES,
|
|
159308
|
-
DEFAULT_TASKS_MODE_TASK_LIST_ID: () => DEFAULT_TASKS_MODE_TASK_LIST_ID
|
|
159323
|
+
DEFAULT_TASKS_MODE_TASK_LIST_ID: () => DEFAULT_TASKS_MODE_TASK_LIST_ID,
|
|
159324
|
+
AUTOMATIC_PROMPT_TASK_SUBJECT: () => AUTOMATIC_PROMPT_TASK_SUBJECT,
|
|
159325
|
+
AUTOMATIC_PROMPT_TASK_DESCRIPTION: () => AUTOMATIC_PROMPT_TASK_DESCRIPTION,
|
|
159326
|
+
AUTOMATIC_PROMPT_TASK_ACTIVE_FORM: () => AUTOMATIC_PROMPT_TASK_ACTIVE_FORM
|
|
159309
159327
|
});
|
|
159310
159328
|
import {
|
|
159311
159329
|
mkdir as mkdir6,
|
|
@@ -159336,6 +159354,9 @@ function notifyTasksUpdated() {
|
|
|
159336
159354
|
tasksUpdated.emit();
|
|
159337
159355
|
} catch {}
|
|
159338
159356
|
}
|
|
159357
|
+
function isAutomaticPromptTask(task) {
|
|
159358
|
+
return task.metadata?.[AUTOMATIC_PROMPT_TASK_KEY] === true;
|
|
159359
|
+
}
|
|
159339
159360
|
function parseNumericTaskId(value) {
|
|
159340
159361
|
if (!/^\d+$/u.test(value))
|
|
159341
159362
|
return null;
|
|
@@ -159627,42 +159648,59 @@ async function createTaskForRun(taskListId, generationId, taskData, options2 = {
|
|
|
159627
159648
|
await establishTaskListGenerationUnsafe(taskListId, generationId, options2);
|
|
159628
159649
|
const existingTasks = await listTasks(taskListId);
|
|
159629
159650
|
if (options2.replaceAutomaticPromptTask) {
|
|
159630
|
-
const automaticTask = existingTasks.find((
|
|
159651
|
+
const automaticTask = existingTasks.find((task) => task.metadata?.[AUTOMATIC_PROMPT_TASK_KEY] === true && task.metadata?.[AUTOMATIC_PROMPT_GENERATION_KEY] === generationId);
|
|
159631
159652
|
if (automaticTask) {
|
|
159632
|
-
const replacement = adoptForwardTaskDependencies(automaticTask.id, taskData, existingTasks.filter((
|
|
159653
|
+
const replacement = adoptForwardTaskDependencies(automaticTask.id, taskData, existingTasks.filter((task) => task.id !== automaticTask.id));
|
|
159633
159654
|
await writeTaskSnapshotUnsafe(taskListId, replacement);
|
|
159634
159655
|
return automaticTask.id;
|
|
159635
159656
|
}
|
|
159636
159657
|
}
|
|
159637
|
-
|
|
159638
|
-
if (highestId >= Number.MAX_SAFE_INTEGER) {
|
|
159639
|
-
throw new Error("Task ID space is exhausted");
|
|
159640
|
-
}
|
|
159641
|
-
const taskId = String(highestId + 1);
|
|
159642
|
-
const task = adoptForwardTaskDependencies(taskId, taskData, existingTasks);
|
|
159643
|
-
await writeTaskSnapshotUnsafe(taskListId, task);
|
|
159644
|
-
return taskId;
|
|
159658
|
+
return allocateTaskSnapshotUnsafe(taskListId, taskData, existingTasks);
|
|
159645
159659
|
});
|
|
159646
159660
|
notifyTasksUpdated();
|
|
159647
159661
|
return id;
|
|
159648
159662
|
}
|
|
159649
|
-
async function createAutomaticPromptTaskForRun(taskListId, generationId,
|
|
159650
|
-
const
|
|
159651
|
-
|
|
159652
|
-
|
|
159653
|
-
|
|
159654
|
-
|
|
159655
|
-
|
|
159656
|
-
|
|
159657
|
-
|
|
159658
|
-
|
|
159659
|
-
|
|
159660
|
-
|
|
159661
|
-
|
|
159662
|
-
|
|
159663
|
-
|
|
159663
|
+
async function createAutomaticPromptTaskForRun(taskListId, generationId, _prompt, options2 = {}) {
|
|
159664
|
+
const taskId = await withTaskListLock(taskListId, async () => {
|
|
159665
|
+
await establishTaskListGenerationUnsafe(taskListId, generationId, {
|
|
159666
|
+
appendToCurrent: options2.reuseExistingBoard
|
|
159667
|
+
});
|
|
159668
|
+
const existingTasks = await listTasks(taskListId);
|
|
159669
|
+
const resumableAutomaticTask = existingTasks.findLast((task) => task.metadata?.[AUTOMATIC_PROMPT_TASK_KEY] === true && (task.status === "pending" || task.status === "in_progress" || options2.reuseExistingBoard === true));
|
|
159670
|
+
if (resumableAutomaticTask) {
|
|
159671
|
+
await writeTaskSnapshotUnsafe(taskListId, {
|
|
159672
|
+
...resumableAutomaticTask,
|
|
159673
|
+
subject: AUTOMATIC_PROMPT_TASK_SUBJECT,
|
|
159674
|
+
description: AUTOMATIC_PROMPT_TASK_DESCRIPTION,
|
|
159675
|
+
activeForm: AUTOMATIC_PROMPT_TASK_ACTIVE_FORM,
|
|
159676
|
+
status: "in_progress",
|
|
159677
|
+
metadata: {
|
|
159678
|
+
...resumableAutomaticTask.metadata,
|
|
159679
|
+
[AUTOMATIC_PROMPT_TASK_KEY]: true,
|
|
159680
|
+
[AUTOMATIC_PROMPT_GENERATION_KEY]: generationId
|
|
159681
|
+
}
|
|
159682
|
+
});
|
|
159683
|
+
return resumableAutomaticTask.id;
|
|
159684
|
+
}
|
|
159685
|
+
if (hasUnfinishedWork(existingTasks) || options2.reuseExistingBoard === true && existingTasks.length > 0) {
|
|
159686
|
+
return;
|
|
159664
159687
|
}
|
|
159665
|
-
|
|
159688
|
+
return allocateTaskSnapshotUnsafe(taskListId, {
|
|
159689
|
+
subject: AUTOMATIC_PROMPT_TASK_SUBJECT,
|
|
159690
|
+
description: AUTOMATIC_PROMPT_TASK_DESCRIPTION,
|
|
159691
|
+
activeForm: AUTOMATIC_PROMPT_TASK_ACTIVE_FORM,
|
|
159692
|
+
status: "in_progress",
|
|
159693
|
+
owner: undefined,
|
|
159694
|
+
blocks: [],
|
|
159695
|
+
blockedBy: [],
|
|
159696
|
+
metadata: {
|
|
159697
|
+
[AUTOMATIC_PROMPT_TASK_KEY]: true,
|
|
159698
|
+
[AUTOMATIC_PROMPT_GENERATION_KEY]: generationId
|
|
159699
|
+
}
|
|
159700
|
+
}, existingTasks);
|
|
159701
|
+
});
|
|
159702
|
+
notifyTasksUpdated();
|
|
159703
|
+
return taskId;
|
|
159666
159704
|
}
|
|
159667
159705
|
async function finalizeAutomaticPromptTask(taskListId, taskId, generationId, status) {
|
|
159668
159706
|
const task = await getTask(taskListId, taskId);
|
|
@@ -159683,6 +159721,16 @@ function adoptForwardTaskDependencies(id, taskData, existingTasks) {
|
|
|
159683
159721
|
]
|
|
159684
159722
|
};
|
|
159685
159723
|
}
|
|
159724
|
+
async function allocateTaskSnapshotUnsafe(taskListId, taskData, existingTasks) {
|
|
159725
|
+
const highestId = await findHighestTaskId(taskListId);
|
|
159726
|
+
if (highestId >= Number.MAX_SAFE_INTEGER) {
|
|
159727
|
+
throw new Error("Task ID space is exhausted");
|
|
159728
|
+
}
|
|
159729
|
+
const taskId = String(highestId + 1);
|
|
159730
|
+
const task = adoptForwardTaskDependencies(taskId, taskData, existingTasks);
|
|
159731
|
+
await writeTaskSnapshotUnsafe(taskListId, task);
|
|
159732
|
+
return taskId;
|
|
159733
|
+
}
|
|
159686
159734
|
async function getTask(taskListId, taskId) {
|
|
159687
159735
|
const path10 = getTaskPath(taskListId, taskId);
|
|
159688
159736
|
try {
|
|
@@ -160241,7 +160289,7 @@ async function unassignTeammateTasks(teamName, teammateId, teammateName, reason)
|
|
|
160241
160289
|
notificationMessage
|
|
160242
160290
|
};
|
|
160243
160291
|
}
|
|
160244
|
-
var tasksUpdated, leaderTeamName, onTasksUpdated, TASK_STATUSES, TaskStatusSchema2, TaskSchema2, HIGH_WATER_MARK_FILE = ".highwatermark", ACTIVE_GENERATION_FILE = ".active-generation", HISTORY_DIRECTORY = ".history", HISTORY_MANIFEST_FILE = ".manifest.json", AUTOMATIC_PROMPT_TASK_KEY = "urAutomaticPromptTask", AUTOMATIC_PROMPT_GENERATION_KEY = "urPromptGeneration", LOCK_OPTIONS, DEFAULT_TASKS_MODE_TASK_LIST_ID = "tasklist";
|
|
160292
|
+
var tasksUpdated, leaderTeamName, onTasksUpdated, TASK_STATUSES, TaskStatusSchema2, TaskSchema2, HIGH_WATER_MARK_FILE = ".highwatermark", ACTIVE_GENERATION_FILE = ".active-generation", HISTORY_DIRECTORY = ".history", HISTORY_MANIFEST_FILE = ".manifest.json", AUTOMATIC_PROMPT_TASK_KEY = "urAutomaticPromptTask", AUTOMATIC_PROMPT_GENERATION_KEY = "urPromptGeneration", AUTOMATIC_PROMPT_TASK_SUBJECT = "Preparing task plan", AUTOMATIC_PROMPT_TASK_DESCRIPTION = "Temporary placeholder while the agent creates concrete tasks.", AUTOMATIC_PROMPT_TASK_ACTIVE_FORM = "Planning requested work", LOCK_OPTIONS, DEFAULT_TASKS_MODE_TASK_LIST_ID = "tasklist";
|
|
160245
160293
|
var init_tasks = __esm(() => {
|
|
160246
160294
|
init_v4();
|
|
160247
160295
|
init_state();
|
|
@@ -250949,7 +250997,7 @@ function getTelemetryAttributes() {
|
|
|
250949
250997
|
attributes["session.id"] = sessionId;
|
|
250950
250998
|
}
|
|
250951
250999
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
250952
|
-
attributes["app.version"] = "1.78.
|
|
251000
|
+
attributes["app.version"] = "1.78.11";
|
|
250953
251001
|
}
|
|
250954
251002
|
const oauthAccount = getOauthAccountInfo();
|
|
250955
251003
|
if (oauthAccount) {
|
|
@@ -297456,7 +297504,7 @@ function getInstallationEnv() {
|
|
|
297456
297504
|
return;
|
|
297457
297505
|
}
|
|
297458
297506
|
function getURCodeVersion() {
|
|
297459
|
-
return "1.78.
|
|
297507
|
+
return "1.78.11";
|
|
297460
297508
|
}
|
|
297461
297509
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
297462
297510
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -304787,7 +304835,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
304787
304835
|
const client2 = new Client({
|
|
304788
304836
|
name: "ur",
|
|
304789
304837
|
title: "UR",
|
|
304790
|
-
version: "1.78.
|
|
304838
|
+
version: "1.78.11",
|
|
304791
304839
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
304792
304840
|
websiteUrl: PRODUCT_URL
|
|
304793
304841
|
}, {
|
|
@@ -305147,7 +305195,7 @@ var init_client5 = __esm(() => {
|
|
|
305147
305195
|
const client2 = new Client({
|
|
305148
305196
|
name: "ur",
|
|
305149
305197
|
title: "UR",
|
|
305150
|
-
version: "1.78.
|
|
305198
|
+
version: "1.78.11",
|
|
305151
305199
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
305152
305200
|
websiteUrl: PRODUCT_URL
|
|
305153
305201
|
}, {
|
|
@@ -317868,7 +317916,7 @@ async function createRuntime() {
|
|
|
317868
317916
|
bootstrapTelemetry();
|
|
317869
317917
|
const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
|
|
317870
317918
|
[import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
|
|
317871
|
-
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.78.
|
|
317919
|
+
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.78.11"
|
|
317872
317920
|
}));
|
|
317873
317921
|
const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
|
|
317874
317922
|
resource,
|
|
@@ -317901,11 +317949,11 @@ async function createRuntime() {
|
|
|
317901
317949
|
setMeterProvider(meterProvider);
|
|
317902
317950
|
setLoggerProvider(loggerProvider);
|
|
317903
317951
|
if (meterProvider) {
|
|
317904
|
-
const meter = meterProvider.getMeter("ur-agent", "1.78.
|
|
317952
|
+
const meter = meterProvider.getMeter("ur-agent", "1.78.11");
|
|
317905
317953
|
setMeter(meter, (name, options2) => meter.createCounter(name, options2));
|
|
317906
317954
|
}
|
|
317907
317955
|
if (loggerProvider) {
|
|
317908
|
-
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.78.
|
|
317956
|
+
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.78.11"));
|
|
317909
317957
|
}
|
|
317910
317958
|
if (!cleanupRegistered2) {
|
|
317911
317959
|
cleanupRegistered2 = true;
|
|
@@ -318567,9 +318615,9 @@ async function assertMinVersion() {
|
|
|
318567
318615
|
if (false) {}
|
|
318568
318616
|
try {
|
|
318569
318617
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
318570
|
-
if (versionConfig.minVersion && lt("1.78.
|
|
318618
|
+
if (versionConfig.minVersion && lt("1.78.11", versionConfig.minVersion)) {
|
|
318571
318619
|
console.error(`
|
|
318572
|
-
It looks like your version of UR (${"1.78.
|
|
318620
|
+
It looks like your version of UR (${"1.78.11"}) needs an update.
|
|
318573
318621
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
318574
318622
|
|
|
318575
318623
|
To update, please run:
|
|
@@ -318785,7 +318833,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
318785
318833
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
318786
318834
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
318787
318835
|
pid: process.pid,
|
|
318788
|
-
currentVersion: "1.78.
|
|
318836
|
+
currentVersion: "1.78.11"
|
|
318789
318837
|
});
|
|
318790
318838
|
return "in_progress";
|
|
318791
318839
|
}
|
|
@@ -318794,7 +318842,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
318794
318842
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
318795
318843
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
318796
318844
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
318797
|
-
currentVersion: "1.78.
|
|
318845
|
+
currentVersion: "1.78.11"
|
|
318798
318846
|
});
|
|
318799
318847
|
console.error(`
|
|
318800
318848
|
Error: Windows NPM detected in WSL
|
|
@@ -319329,7 +319377,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
319329
319377
|
}
|
|
319330
319378
|
async function getDoctorDiagnostic() {
|
|
319331
319379
|
const installationType = await getCurrentInstallationType();
|
|
319332
|
-
const version2 = typeof MACRO !== "undefined" ? "1.78.
|
|
319380
|
+
const version2 = typeof MACRO !== "undefined" ? "1.78.11" : "unknown";
|
|
319333
319381
|
const installationPath = await getInstallationPath();
|
|
319334
319382
|
const invokedBinary = getInvokedBinary();
|
|
319335
319383
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -320264,8 +320312,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
320264
320312
|
const maxVersion = await getMaxVersion();
|
|
320265
320313
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
320266
320314
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
320267
|
-
if (gte("1.78.
|
|
320268
|
-
logForDebugging(`Native installer: current version ${"1.78.
|
|
320315
|
+
if (gte("1.78.11", maxVersion)) {
|
|
320316
|
+
logForDebugging(`Native installer: current version ${"1.78.11"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
320269
320317
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
320270
320318
|
latency_ms: Date.now() - startTime,
|
|
320271
320319
|
max_version: maxVersion,
|
|
@@ -320276,7 +320324,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
320276
320324
|
version2 = maxVersion;
|
|
320277
320325
|
}
|
|
320278
320326
|
}
|
|
320279
|
-
if (!forceReinstall && version2 === "1.78.
|
|
320327
|
+
if (!forceReinstall && version2 === "1.78.11" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
|
|
320280
320328
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
320281
320329
|
logEvent("tengu_native_update_complete", {
|
|
320282
320330
|
latency_ms: Date.now() - startTime,
|
|
@@ -322976,6 +323024,21 @@ var init_ink3 = __esm(() => {
|
|
|
322976
323024
|
init_agentColorManager();
|
|
322977
323025
|
});
|
|
322978
323026
|
|
|
323027
|
+
// src/components/Spinner/taskLabel.ts
|
|
323028
|
+
function currentSpinnerTaskLabel(tasks) {
|
|
323029
|
+
const task = tasks?.find((candidate) => candidate.status === "in_progress");
|
|
323030
|
+
const label = (task?.activeForm || task?.subject || "").replace(/\s+/g, " ").trim();
|
|
323031
|
+
return label || null;
|
|
323032
|
+
}
|
|
323033
|
+
function fitSpinnerTaskLabel(label, maxWidth) {
|
|
323034
|
+
if (!label || maxWidth < 8)
|
|
323035
|
+
return null;
|
|
323036
|
+
return truncateToWidth(label, Math.min(48, maxWidth));
|
|
323037
|
+
}
|
|
323038
|
+
var init_taskLabel = __esm(() => {
|
|
323039
|
+
init_truncate();
|
|
323040
|
+
});
|
|
323041
|
+
|
|
322979
323042
|
// src/components/Spinner/SpinnerAnimationRow.tsx
|
|
322980
323043
|
function spinnerActivityStatus(mode) {
|
|
322981
323044
|
switch (String(mode)) {
|
|
@@ -322999,6 +323062,7 @@ function SpinnerAnimationRow({
|
|
|
322999
323062
|
hasActiveTools,
|
|
323000
323063
|
responseLengthRef,
|
|
323001
323064
|
message,
|
|
323065
|
+
taskLabel,
|
|
323002
323066
|
messageColor,
|
|
323003
323067
|
shimmerColor,
|
|
323004
323068
|
overrideColor,
|
|
@@ -323046,9 +323110,12 @@ function SpinnerAnimationRow({
|
|
|
323046
323110
|
let thinkingWidthValue = thinkingText ? stringWidth(thinkingText) : 0;
|
|
323047
323111
|
const messageWidth = glimmerMessageWidth + 2;
|
|
323048
323112
|
const sep13 = SEP_WIDTH;
|
|
323113
|
+
const taskWidthBudget = columns - messageWidth - thinkingWidthValue - 9;
|
|
323114
|
+
const visibleTaskLabel = fitSpinnerTaskLabel(taskLabel, taskWidthBudget);
|
|
323115
|
+
const taskSegmentWidth = visibleTaskLabel ? sep13 + stringWidth(visibleTaskLabel) : 0;
|
|
323049
323116
|
const wantsThinking = true;
|
|
323050
323117
|
const wantsTimerAndTokens = verbose || hasRunningTeammates || effectiveElapsedMs > SHOW_TOKENS_AFTER_MS;
|
|
323051
|
-
const availableSpace = columns - messageWidth - 5;
|
|
323118
|
+
const availableSpace = columns - messageWidth - taskSegmentWidth - 5;
|
|
323052
323119
|
let showThinking = wantsThinking;
|
|
323053
323120
|
if (!showThinking && wantsThinking && thinkingStatus === "thinking" && effortSuffix) {
|
|
323054
323121
|
if (availableSpace > THINKING_BARE_WIDTH) {
|
|
@@ -323090,7 +323157,7 @@ function SpinnerAnimationRow({
|
|
|
323090
323157
|
children: thinkingOnly ? `(${thinkingText})` : thinkingText
|
|
323091
323158
|
}, "thinking", false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime69.jsxDEV(ThemedText, {
|
|
323092
323159
|
dimColor: true,
|
|
323093
|
-
children: thinkingText
|
|
323160
|
+
children: thinkingOnly ? `(${thinkingText})` : thinkingText
|
|
323094
323161
|
}, "thinking", false, undefined, this)] : []];
|
|
323095
323162
|
const status = foregroundedTeammate && !foregroundedTeammate.isIdle ? /* @__PURE__ */ jsx_dev_runtime69.jsxDEV(jsx_dev_runtime69.Fragment, {
|
|
323096
323163
|
children: [
|
|
@@ -323147,6 +323214,10 @@ function SpinnerAnimationRow({
|
|
|
323147
323214
|
shimmerColor,
|
|
323148
323215
|
stalledIntensity: overrideColor ? 0 : stalledIntensity
|
|
323149
323216
|
}, undefined, false, undefined, this),
|
|
323217
|
+
visibleTaskLabel && /* @__PURE__ */ jsx_dev_runtime69.jsxDEV(ThemedText, {
|
|
323218
|
+
dimColor: true,
|
|
323219
|
+
children: `\xB7 ${visibleTaskLabel} `
|
|
323220
|
+
}, undefined, false, undefined, this),
|
|
323150
323221
|
status
|
|
323151
323222
|
]
|
|
323152
323223
|
}, undefined, true, undefined, this);
|
|
@@ -323202,6 +323273,7 @@ var init_SpinnerAnimationRow = __esm(() => {
|
|
|
323202
323273
|
init_format2();
|
|
323203
323274
|
init_ink3();
|
|
323204
323275
|
init_Byline();
|
|
323276
|
+
init_taskLabel();
|
|
323205
323277
|
init_GlimmerMessage();
|
|
323206
323278
|
init_SpinnerGlyph();
|
|
323207
323279
|
init_useStalledAnimation();
|
|
@@ -329027,10 +329099,10 @@ function SpinnerWithVerbInner({
|
|
|
329027
329099
|
clearTimeout(clearStatusTimer);
|
|
329028
329100
|
};
|
|
329029
329101
|
}, [mode]);
|
|
329030
|
-
const
|
|
329102
|
+
const currentTaskLabel = currentSpinnerTaskLabel(tasksV2);
|
|
329031
329103
|
const nextTask = findNextPendingTask(tasksV2);
|
|
329032
329104
|
const [randomVerb] = import_react59.useState(() => sample_default(getSpinnerVerbs()));
|
|
329033
|
-
const leaderVerb = overrideMessage ??
|
|
329105
|
+
const leaderVerb = overrideMessage ?? randomVerb;
|
|
329034
329106
|
const effectiveVerb = foregroundedTeammate && !foregroundedTeammate.isIdle ? foregroundedTeammate.spinnerVerb ?? randomVerb : leaderVerb;
|
|
329035
329107
|
const message = effectiveVerb + "\u2026";
|
|
329036
329108
|
import_react59.useEffect(() => {
|
|
@@ -329139,6 +329211,7 @@ function SpinnerWithVerbInner({
|
|
|
329139
329211
|
hasActiveTools,
|
|
329140
329212
|
responseLengthRef,
|
|
329141
329213
|
message,
|
|
329214
|
+
taskLabel: !foregroundedTeammate ? currentTaskLabel : null,
|
|
329142
329215
|
messageColor,
|
|
329143
329216
|
shimmerColor,
|
|
329144
329217
|
overrideColor,
|
|
@@ -329354,6 +329427,7 @@ var init_Spinner2 = __esm(() => {
|
|
|
329354
329427
|
init_stringWidth();
|
|
329355
329428
|
init_Spinner();
|
|
329356
329429
|
init_SpinnerAnimationRow();
|
|
329430
|
+
init_taskLabel();
|
|
329357
329431
|
init_useSettings();
|
|
329358
329432
|
init_InProcessTeammateTask();
|
|
329359
329433
|
init_effort();
|
|
@@ -379812,8 +379886,14 @@ function requestsContinueCurrentTaskList(input) {
|
|
|
379812
379886
|
return false;
|
|
379813
379887
|
return /^(?:ok(?:ay)?|yes|yep|yup|sure|approved|i approve|looks good|sounds good)$/u.test(normalized) || /^(?:please\s+)?(?:continue|proceed|go ahead|carry on|do it|start(?: now)?|begin implementation|start implementation)$/u.test(normalized) || /^(?:ok(?:ay)?|yes|sure|approved|i approve)[, ]+(?:please\s+)?(?:continue|proceed|go ahead|carry on|do it|start(?: now)?|begin implementation|start implementation)$/u.test(normalized);
|
|
379814
379888
|
}
|
|
379889
|
+
function requestsRevisionOfCurrentTaskList(input) {
|
|
379890
|
+
const normalized = input.replace(/\s+/gu, " ").trim().toLowerCase();
|
|
379891
|
+
if (!normalized || normalized.length > 500)
|
|
379892
|
+
return false;
|
|
379893
|
+
return /^(?:no|also|and|but|actually|instead|still|again|not yet|(?:it|this|that)\s+still)\b/u.test(normalized) || /\b(?:why did (?:you|u)|i (?:said|asked|meant)|you (?:removed|deleted|changed|forgot|missed))\b/u.test(normalized) || /^(?:please\s+)?(?:fix|change|update|restore|keep|remove|add)\s+(?:it|that|this)\b/u.test(normalized) || /^(?:please\s+)?(?:do not|don't)\s+(?:remove|delete|change|replace|forget)\b/u.test(normalized);
|
|
379894
|
+
}
|
|
379815
379895
|
function shouldKeepCurrentTaskList(input) {
|
|
379816
|
-
return requestsAppendToCurrentTaskList(input) || requestsContinueCurrentTaskList(input);
|
|
379896
|
+
return requestsAppendToCurrentTaskList(input) || requestsContinueCurrentTaskList(input) || requestsRevisionOfCurrentTaskList(input);
|
|
379817
379897
|
}
|
|
379818
379898
|
function getTaskListRunForCommand(command, options2 = {}) {
|
|
379819
379899
|
if (!command || command.mode !== "prompt" || command.isMeta)
|
|
@@ -390082,7 +390162,7 @@ function isAnyTracingEnabled() {
|
|
|
390082
390162
|
return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
|
|
390083
390163
|
}
|
|
390084
390164
|
function getTracer() {
|
|
390085
|
-
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.78.
|
|
390165
|
+
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.78.11");
|
|
390086
390166
|
}
|
|
390087
390167
|
function createSpanAttributes(spanType, customAttributes = {}) {
|
|
390088
390168
|
const baseAttributes = getTelemetryAttributes();
|
|
@@ -420371,7 +420451,7 @@ function Feedback({
|
|
|
420371
420451
|
platform: env2.platform,
|
|
420372
420452
|
gitRepo: envInfo.isGit,
|
|
420373
420453
|
terminal: env2.terminal,
|
|
420374
|
-
version: "1.78.
|
|
420454
|
+
version: "1.78.11",
|
|
420375
420455
|
transcript: normalizeMessagesForAPI(messages),
|
|
420376
420456
|
errors: sanitizedErrors,
|
|
420377
420457
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -420563,7 +420643,7 @@ function Feedback({
|
|
|
420563
420643
|
", ",
|
|
420564
420644
|
env2.terminal,
|
|
420565
420645
|
", v",
|
|
420566
|
-
"1.78.
|
|
420646
|
+
"1.78.11"
|
|
420567
420647
|
]
|
|
420568
420648
|
}, undefined, true, undefined, this)
|
|
420569
420649
|
]
|
|
@@ -420669,7 +420749,7 @@ ${sanitizedDescription}
|
|
|
420669
420749
|
` + `**Environment Info**
|
|
420670
420750
|
` + `- Platform: ${env2.platform}
|
|
420671
420751
|
` + `- Terminal: ${env2.terminal}
|
|
420672
|
-
` + `- Version: ${"1.78.
|
|
420752
|
+
` + `- Version: ${"1.78.11"}
|
|
420673
420753
|
` + `- Feedback ID: ${feedbackId}
|
|
420674
420754
|
` + `
|
|
420675
420755
|
**Errors**
|
|
@@ -423779,7 +423859,7 @@ function buildPrimarySection() {
|
|
|
423779
423859
|
}, undefined, false, undefined, this);
|
|
423780
423860
|
return [{
|
|
423781
423861
|
label: "Version",
|
|
423782
|
-
value: "1.78.
|
|
423862
|
+
value: "1.78.11"
|
|
423783
423863
|
}, {
|
|
423784
423864
|
label: "Session name",
|
|
423785
423865
|
value: nameValue
|
|
@@ -427161,7 +427241,7 @@ function Config({
|
|
|
427161
427241
|
}
|
|
427162
427242
|
}, undefined, false, undefined, this)
|
|
427163
427243
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
|
|
427164
|
-
currentVersion: "1.78.
|
|
427244
|
+
currentVersion: "1.78.11",
|
|
427165
427245
|
onChoice: (choice) => {
|
|
427166
427246
|
setShowSubmenu(null);
|
|
427167
427247
|
setTabsHidden(false);
|
|
@@ -427173,7 +427253,7 @@ function Config({
|
|
|
427173
427253
|
autoUpdatesChannel: "stable"
|
|
427174
427254
|
};
|
|
427175
427255
|
if (choice === "stay") {
|
|
427176
|
-
newSettings.minimumVersion = "1.78.
|
|
427256
|
+
newSettings.minimumVersion = "1.78.11";
|
|
427177
427257
|
}
|
|
427178
427258
|
updateSettingsForSource("userSettings", newSettings);
|
|
427179
427259
|
setSettingsData((prev_27) => ({
|
|
@@ -435237,7 +435317,7 @@ function HelpV2(t0) {
|
|
|
435237
435317
|
let t6;
|
|
435238
435318
|
if ($2[31] !== tabs) {
|
|
435239
435319
|
t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
|
|
435240
|
-
title: `UR v${"1.78.
|
|
435320
|
+
title: `UR v${"1.78.11"}`,
|
|
435241
435321
|
color: "professionalBlue",
|
|
435242
435322
|
defaultTab: "general",
|
|
435243
435323
|
children: tabs
|
|
@@ -436170,7 +436250,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
|
|
|
436170
436250
|
async function handleInitialize(options2) {
|
|
436171
436251
|
return {
|
|
436172
436252
|
name: "UR",
|
|
436173
|
-
version: "1.78.
|
|
436253
|
+
version: "1.78.11",
|
|
436174
436254
|
protocolVersion: "0.1.0",
|
|
436175
436255
|
workspaceRoot: options2.cwd,
|
|
436176
436256
|
capabilities: {
|
|
@@ -453278,7 +453358,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
453278
453358
|
return [];
|
|
453279
453359
|
}
|
|
453280
453360
|
}
|
|
453281
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.78.
|
|
453361
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.78.11") {
|
|
453282
453362
|
if (process.env.USER_TYPE === "ant") {
|
|
453283
453363
|
const changelog = "";
|
|
453284
453364
|
if (changelog) {
|
|
@@ -453305,7 +453385,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.78.9")
|
|
|
453305
453385
|
releaseNotes
|
|
453306
453386
|
};
|
|
453307
453387
|
}
|
|
453308
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.78.
|
|
453388
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.78.11") {
|
|
453309
453389
|
if (process.env.USER_TYPE === "ant") {
|
|
453310
453390
|
const changelog = "";
|
|
453311
453391
|
if (changelog) {
|
|
@@ -455900,6 +455980,45 @@ var init_groupToolUses = __esm(() => {
|
|
|
455900
455980
|
GROUPING_CACHE = new WeakMap;
|
|
455901
455981
|
});
|
|
455902
455982
|
|
|
455983
|
+
// src/utils/messagePresentation.ts
|
|
455984
|
+
function sourceMessageKey(message) {
|
|
455985
|
+
const id = message.message?.id;
|
|
455986
|
+
if (id)
|
|
455987
|
+
return `id:${id}`;
|
|
455988
|
+
if (message.uuid)
|
|
455989
|
+
return `uuid:${message.uuid.slice(0, 24)}`;
|
|
455990
|
+
return null;
|
|
455991
|
+
}
|
|
455992
|
+
function isToolExecutionBlock(block2) {
|
|
455993
|
+
return block2?.type === "tool_use" || block2?.type?.endsWith("_tool_use") === true;
|
|
455994
|
+
}
|
|
455995
|
+
function dropIntermediateToolNarration(messages) {
|
|
455996
|
+
const sourcesWithToolExecution = new Set;
|
|
455997
|
+
for (const message of messages) {
|
|
455998
|
+
if (message.type !== "assistant")
|
|
455999
|
+
continue;
|
|
456000
|
+
if (!message.message?.content?.some(isToolExecutionBlock))
|
|
456001
|
+
continue;
|
|
456002
|
+
const key = sourceMessageKey(message);
|
|
456003
|
+
if (key)
|
|
456004
|
+
sourcesWithToolExecution.add(key);
|
|
456005
|
+
}
|
|
456006
|
+
if (sourcesWithToolExecution.size === 0)
|
|
456007
|
+
return [...messages];
|
|
456008
|
+
return messages.filter((message) => {
|
|
456009
|
+
if (message.type !== "assistant" || message.isApiErrorMessage)
|
|
456010
|
+
return true;
|
|
456011
|
+
if (message.message?.content?.length !== 1 || message.message.content[0]?.type !== "text") {
|
|
456012
|
+
return true;
|
|
456013
|
+
}
|
|
456014
|
+
const key = sourceMessageKey(message);
|
|
456015
|
+
return key === null || !sourcesWithToolExecution.has(key);
|
|
456016
|
+
});
|
|
456017
|
+
}
|
|
456018
|
+
function shouldShowLiveAssistantDraft(isTranscriptMode, verbose) {
|
|
456019
|
+
return isTranscriptMode || verbose;
|
|
456020
|
+
}
|
|
456021
|
+
|
|
455903
456022
|
// src/utils/transcriptSearch.ts
|
|
455904
456023
|
function memoryContentSearchText(memories) {
|
|
455905
456024
|
if (!Array.isArray(memories)) {
|
|
@@ -456171,7 +456290,7 @@ function getRecentActivitySync() {
|
|
|
456171
456290
|
return cachedActivity;
|
|
456172
456291
|
}
|
|
456173
456292
|
function getLogoDisplayData() {
|
|
456174
|
-
const version2 = process.env.DEMO_VERSION ?? "1.78.
|
|
456293
|
+
const version2 = process.env.DEMO_VERSION ?? "1.78.11";
|
|
456175
456294
|
const serverUrl = getDirectConnectServerUrl();
|
|
456176
456295
|
const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
|
|
456177
456296
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -457038,7 +457157,7 @@ function LogoV2() {
|
|
|
457038
457157
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
457039
457158
|
t2 = () => {
|
|
457040
457159
|
const currentConfig2 = getGlobalConfig();
|
|
457041
|
-
if (currentConfig2.lastReleaseNotesSeen === "1.78.
|
|
457160
|
+
if (currentConfig2.lastReleaseNotesSeen === "1.78.11") {
|
|
457042
457161
|
return;
|
|
457043
457162
|
}
|
|
457044
457163
|
saveGlobalConfig(_temp325);
|
|
@@ -457723,12 +457842,12 @@ function LogoV2() {
|
|
|
457723
457842
|
return t41;
|
|
457724
457843
|
}
|
|
457725
457844
|
function _temp325(current) {
|
|
457726
|
-
if (current.lastReleaseNotesSeen === "1.78.
|
|
457845
|
+
if (current.lastReleaseNotesSeen === "1.78.11") {
|
|
457727
457846
|
return current;
|
|
457728
457847
|
}
|
|
457729
457848
|
return {
|
|
457730
457849
|
...current,
|
|
457731
|
-
lastReleaseNotesSeen: "1.78.
|
|
457850
|
+
lastReleaseNotesSeen: "1.78.11"
|
|
457732
457851
|
};
|
|
457733
457852
|
}
|
|
457734
457853
|
function _temp241(s_0) {
|
|
@@ -460659,7 +460778,8 @@ var import_compiler_runtime187, React76, import_react150, jsx_dev_runtime251, Lo
|
|
|
460659
460778
|
const compactAwareMessages = verbose || isFullscreenEnvEnabled() ? normalizedMessages : getMessagesAfterCompactBoundary(normalizedMessages, {
|
|
460660
460779
|
includeSnipped: true
|
|
460661
460780
|
});
|
|
460662
|
-
const
|
|
460781
|
+
const presentationMessages = !isTranscriptMode && !verbose && !disableRenderCap ? dropIntermediateToolNarration(compactAwareMessages) : compactAwareMessages;
|
|
460782
|
+
const messagesToShowNotTruncated = reorderMessagesInUI(presentationMessages.filter((msg_2) => msg_2.type !== "progress").filter((msg_3) => !isNullRenderingAttachment(msg_3)).filter((_) => shouldShowUserMessage(_, isTranscriptMode)), syntheticStreamingToolUseMessages);
|
|
460663
460783
|
const briefToolNames = [BRIEF_TOOL_NAME4, SEND_USER_FILE_TOOL_NAME2].filter((n2) => n2 !== null);
|
|
460664
460784
|
const dropTextToolNames = [BRIEF_TOOL_NAME4].filter((n_0) => n_0 !== null);
|
|
460665
460785
|
const briefFiltered = briefToolNames.length > 0 && !isTranscriptMode ? isBriefOnly ? filterForBriefTool(messagesToShowNotTruncated, briefToolNames) : dropTextToolNames.length > 0 ? dropTextInBriefTurns(messagesToShowNotTruncated, dropTextToolNames) : messagesToShowNotTruncated : messagesToShowNotTruncated;
|
|
@@ -460677,7 +460797,7 @@ var import_compiler_runtime187, React76, import_react150, jsx_dev_runtime251, Lo
|
|
|
460677
460797
|
hasTruncatedMessages,
|
|
460678
460798
|
hiddenMessageCount
|
|
460679
460799
|
};
|
|
460680
|
-
}, [verbose, normalizedMessages, isTranscriptMode, syntheticStreamingToolUseMessages, shouldTruncate, tools, isBriefOnly]);
|
|
460800
|
+
}, [verbose, normalizedMessages, isTranscriptMode, syntheticStreamingToolUseMessages, shouldTruncate, tools, isBriefOnly, disableRenderCap]);
|
|
460681
460801
|
const renderableMessages = import_react150.useMemo(() => {
|
|
460682
460802
|
const capApplies = !virtualScrollRuntimeGate && !disableRenderCap;
|
|
460683
460803
|
const sliceStart = capApplies ? computeSliceStart(collapsed_0, sliceAnchorRef) : 0;
|
|
@@ -460838,9 +460958,9 @@ var import_compiler_runtime187, React76, import_react150, jsx_dev_runtime251, Lo
|
|
|
460838
460958
|
extractSearchText
|
|
460839
460959
|
}, undefined, false, undefined, this)
|
|
460840
460960
|
}, undefined, false, undefined, this) : renderableMessages.flatMap(renderMessageRow),
|
|
460841
|
-
streamingText && !isBriefOnly && /* @__PURE__ */ jsx_dev_runtime251.jsxDEV(StreamingAssistantTextMessage, {
|
|
460961
|
+
streamingText && !isBriefOnly && shouldShowLiveAssistantDraft(isTranscriptMode, verbose) && /* @__PURE__ */ jsx_dev_runtime251.jsxDEV(StreamingAssistantTextMessage, {
|
|
460842
460962
|
text: streamingText,
|
|
460843
|
-
showFull:
|
|
460963
|
+
showFull: true
|
|
460844
460964
|
}, undefined, false, undefined, this),
|
|
460845
460965
|
isStreamingThinkingVisible && streamingThinking && !isBriefOnly && /* @__PURE__ */ jsx_dev_runtime251.jsxDEV(ThemedBox_default, {
|
|
460846
460966
|
marginTop: 1,
|
|
@@ -474564,7 +474684,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
|
|
|
474564
474684
|
if (spec.name !== specName) {
|
|
474565
474685
|
throw new Error("Agentic CI workflow spec name does not match");
|
|
474566
474686
|
}
|
|
474567
|
-
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.78.
|
|
474687
|
+
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.78.11" : "1.78.11");
|
|
474568
474688
|
if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
|
|
474569
474689
|
throw new Error("invalid ur-agent package version");
|
|
474570
474690
|
}
|
|
@@ -475557,7 +475677,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
|
|
|
475557
475677
|
path: ".github/workflows/ur.yml",
|
|
475558
475678
|
root: "project",
|
|
475559
475679
|
content: compileAgenticCiWorkflow("default", {
|
|
475560
|
-
packageVersion: typeof MACRO !== "undefined" ? "1.78.
|
|
475680
|
+
packageVersion: typeof MACRO !== "undefined" ? "1.78.11" : "1.78.11"
|
|
475561
475681
|
})
|
|
475562
475682
|
},
|
|
475563
475683
|
{
|
|
@@ -475620,7 +475740,7 @@ function value(tokens, flag) {
|
|
|
475620
475740
|
return index2 >= 0 ? tokens[index2 + 1] : undefined;
|
|
475621
475741
|
}
|
|
475622
475742
|
function cliVersion() {
|
|
475623
|
-
return typeof MACRO !== "undefined" ? "1.78.
|
|
475743
|
+
return typeof MACRO !== "undefined" ? "1.78.11" : "1.78.11";
|
|
475624
475744
|
}
|
|
475625
475745
|
function workflowPath(cwd2) {
|
|
475626
475746
|
return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
|
|
@@ -481476,7 +481596,7 @@ function createAcpStdioApp(deps) {
|
|
|
481476
481596
|
}
|
|
481477
481597
|
},
|
|
481478
481598
|
authMethods: [],
|
|
481479
|
-
agentInfo: { name: "UR-Nexus", version: "1.78.
|
|
481599
|
+
agentInfo: { name: "UR-Nexus", version: "1.78.11" }
|
|
481480
481600
|
})).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
|
|
481481
481601
|
const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
|
|
481482
481602
|
await runtime2.announce({
|
|
@@ -481573,7 +481693,7 @@ function createAcpStdioAgent(deps) {
|
|
|
481573
481693
|
}
|
|
481574
481694
|
},
|
|
481575
481695
|
authMethods: [],
|
|
481576
|
-
agentInfo: { name: "UR-Nexus", version: "1.78.
|
|
481696
|
+
agentInfo: { name: "UR-Nexus", version: "1.78.11" }
|
|
481577
481697
|
});
|
|
481578
481698
|
return;
|
|
481579
481699
|
case "authenticate":
|
|
@@ -505204,7 +505324,7 @@ var init_code_index2 = __esm(() => {
|
|
|
505204
505324
|
|
|
505205
505325
|
// node_modules/typescript/lib/typescript.js
|
|
505206
505326
|
var require_typescript3 = __commonJS((exports, module) => {
|
|
505207
|
-
var __dirname = "/
|
|
505327
|
+
var __dirname = "/home/runner/work/UR/UR/node_modules/typescript/lib", __filename = "/home/runner/work/UR/UR/node_modules/typescript/lib/typescript.js";
|
|
505208
505328
|
/*! *****************************************************************************
|
|
505209
505329
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
505210
505330
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
@@ -691195,7 +691315,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
|
|
|
691195
691315
|
smapsRollup,
|
|
691196
691316
|
platform: process.platform,
|
|
691197
691317
|
nodeVersion: process.version,
|
|
691198
|
-
ccVersion: "1.78.
|
|
691318
|
+
ccVersion: "1.78.11"
|
|
691199
691319
|
};
|
|
691200
691320
|
}
|
|
691201
691321
|
async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
|
|
@@ -691775,7 +691895,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
691775
691895
|
var call154 = async () => {
|
|
691776
691896
|
return {
|
|
691777
691897
|
type: "text",
|
|
691778
|
-
value: "1.78.
|
|
691898
|
+
value: "1.78.11"
|
|
691779
691899
|
};
|
|
691780
691900
|
}, version2, version_default;
|
|
691781
691901
|
var init_version = __esm(() => {
|
|
@@ -703042,7 +703162,7 @@ function generateHtmlReport(data, insights) {
|
|
|
703042
703162
|
</html>`;
|
|
703043
703163
|
}
|
|
703044
703164
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
703045
|
-
const version3 = typeof MACRO !== "undefined" ? "1.78.
|
|
703165
|
+
const version3 = typeof MACRO !== "undefined" ? "1.78.11" : "unknown";
|
|
703046
703166
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
703047
703167
|
const facets_summary = {
|
|
703048
703168
|
total: facets.size,
|
|
@@ -707356,7 +707476,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
707356
707476
|
init_settings2();
|
|
707357
707477
|
init_slowOperations();
|
|
707358
707478
|
init_uuid();
|
|
707359
|
-
VERSION7 = typeof MACRO !== "undefined" ? "1.78.
|
|
707479
|
+
VERSION7 = typeof MACRO !== "undefined" ? "1.78.11" : "unknown";
|
|
707360
707480
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
707361
707481
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
707362
707482
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -708571,7 +708691,7 @@ var init_filesystem = __esm(() => {
|
|
|
708571
708691
|
});
|
|
708572
708692
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
708573
708693
|
const nonce = randomBytes20(16).toString("hex");
|
|
708574
|
-
return join232(getURTempDir(), "bundled-skills", "1.78.
|
|
708694
|
+
return join232(getURTempDir(), "bundled-skills", "1.78.11", nonce);
|
|
708575
708695
|
});
|
|
708576
708696
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
708577
708697
|
});
|
|
@@ -714946,7 +715066,7 @@ function computeFingerprint(messageText2, version3) {
|
|
|
714946
715066
|
}
|
|
714947
715067
|
function computeFingerprintFromMessages(messages) {
|
|
714948
715068
|
const firstMessageText = extractFirstMessageText(messages);
|
|
714949
|
-
return computeFingerprint(firstMessageText, "1.78.
|
|
715069
|
+
return computeFingerprint(firstMessageText, "1.78.11");
|
|
714950
715070
|
}
|
|
714951
715071
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
714952
715072
|
var init_fingerprint = () => {};
|
|
@@ -716868,7 +716988,7 @@ async function sideQuery(opts) {
|
|
|
716868
716988
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
716869
716989
|
}
|
|
716870
716990
|
const messageText2 = extractFirstUserMessageText(messages);
|
|
716871
|
-
const fingerprint2 = computeFingerprint(messageText2, "1.78.
|
|
716991
|
+
const fingerprint2 = computeFingerprint(messageText2, "1.78.11");
|
|
716872
716992
|
const attributionHeader = getAttributionHeader(fingerprint2);
|
|
716873
716993
|
const systemBlocks = [
|
|
716874
716994
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -721705,7 +721825,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
721705
721825
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
721706
721826
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
721707
721827
|
betas: getSdkBetas(),
|
|
721708
|
-
ur_version: "1.78.
|
|
721828
|
+
ur_version: "1.78.11",
|
|
721709
721829
|
output_style: outputStyle2,
|
|
721710
721830
|
agents: inputs.agents.map((agent2) => agent2.agentType),
|
|
721711
721831
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
|
|
@@ -735577,7 +735697,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
735577
735697
|
function getSemverPart(version3) {
|
|
735578
735698
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
735579
735699
|
}
|
|
735580
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.78.
|
|
735700
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.78.11") {
|
|
735581
735701
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react224.useState(() => getSemverPart(initialVersion));
|
|
735582
735702
|
if (!updatedVersion) {
|
|
735583
735703
|
return null;
|
|
@@ -735626,7 +735746,7 @@ function AutoUpdater({
|
|
|
735626
735746
|
return;
|
|
735627
735747
|
}
|
|
735628
735748
|
if (false) {}
|
|
735629
|
-
const currentVersion = "1.78.
|
|
735749
|
+
const currentVersion = "1.78.11";
|
|
735630
735750
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
735631
735751
|
let latestVersion = await getLatestVersion(channel);
|
|
735632
735752
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -735855,12 +735975,12 @@ function NativeAutoUpdater({
|
|
|
735855
735975
|
logEvent("tengu_native_auto_updater_start", {});
|
|
735856
735976
|
try {
|
|
735857
735977
|
const maxVersion = await getMaxVersion();
|
|
735858
|
-
if (maxVersion && gt("1.78.
|
|
735978
|
+
if (maxVersion && gt("1.78.11", maxVersion)) {
|
|
735859
735979
|
const msg = await getMaxVersionMessage();
|
|
735860
735980
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
735861
735981
|
}
|
|
735862
735982
|
const result = await installLatest(channel);
|
|
735863
|
-
const currentVersion = "1.78.
|
|
735983
|
+
const currentVersion = "1.78.11";
|
|
735864
735984
|
const latencyMs = Date.now() - startTime;
|
|
735865
735985
|
if (result.lockFailed) {
|
|
735866
735986
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -735997,17 +736117,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
735997
736117
|
const maxVersion = await getMaxVersion();
|
|
735998
736118
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
735999
736119
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
736000
|
-
if (gte("1.78.
|
|
736001
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.78.
|
|
736120
|
+
if (gte("1.78.11", maxVersion)) {
|
|
736121
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.78.11"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
736002
736122
|
setUpdateAvailable(false);
|
|
736003
736123
|
return;
|
|
736004
736124
|
}
|
|
736005
736125
|
latest = maxVersion;
|
|
736006
736126
|
}
|
|
736007
|
-
const hasUpdate = latest && !gte("1.78.
|
|
736127
|
+
const hasUpdate = latest && !gte("1.78.11", latest) && !shouldSkipVersion(latest);
|
|
736008
736128
|
setUpdateAvailable(!!hasUpdate);
|
|
736009
736129
|
if (hasUpdate) {
|
|
736010
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.78.
|
|
736130
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.78.11"} -> ${latest}`);
|
|
736011
736131
|
}
|
|
736012
736132
|
};
|
|
736013
736133
|
$2[0] = t1;
|
|
@@ -736041,7 +736161,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
736041
736161
|
wrap: "truncate",
|
|
736042
736162
|
children: [
|
|
736043
736163
|
"currentVersion: ",
|
|
736044
|
-
"1.78.
|
|
736164
|
+
"1.78.11"
|
|
736045
736165
|
]
|
|
736046
736166
|
}, undefined, true, undefined, this);
|
|
736047
736167
|
$2[3] = verbose;
|
|
@@ -746841,7 +746961,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
746841
746961
|
project_dir: getOriginalCwd(),
|
|
746842
746962
|
added_dirs: addedDirs
|
|
746843
746963
|
},
|
|
746844
|
-
version: "1.78.
|
|
746964
|
+
version: "1.78.11",
|
|
746845
746965
|
output_style: {
|
|
746846
746966
|
name: outputStyleName
|
|
746847
746967
|
},
|
|
@@ -746976,7 +747096,7 @@ function StatusLineInner({
|
|
|
746976
747096
|
const attention = customStatusError ?? taskAttention;
|
|
746977
747097
|
const terminalSize = React133.useContext(TerminalSizeContext);
|
|
746978
747098
|
const defaultStatusLineText = buildDefaultStatusBar({
|
|
746979
|
-
version: "1.78.
|
|
747099
|
+
version: "1.78.11",
|
|
746980
747100
|
providerLabel: providerRuntime.providerLabel,
|
|
746981
747101
|
authMode: providerRuntime.authLabel,
|
|
746982
747102
|
model: renderModelName(mainLoopModel) || providerRuntime.model || "",
|
|
@@ -753489,6 +753609,17 @@ function useMoreRight(_args) {
|
|
|
753489
753609
|
};
|
|
753490
753610
|
}
|
|
753491
753611
|
|
|
753612
|
+
// src/components/Spinner/activityVisibility.ts
|
|
753613
|
+
function shouldShowActivityRow({
|
|
753614
|
+
toolAllowsActivity,
|
|
753615
|
+
hasBlockingPrompt,
|
|
753616
|
+
hasActiveWork,
|
|
753617
|
+
pendingWorkerRequest,
|
|
753618
|
+
onlySleepToolActive
|
|
753619
|
+
}) {
|
|
753620
|
+
return toolAllowsActivity && !hasBlockingPrompt && hasActiveWork && !pendingWorkerRequest && !onlySleepToolActive;
|
|
753621
|
+
}
|
|
753622
|
+
|
|
753492
753623
|
// src/utils/cleanup.ts
|
|
753493
753624
|
import * as fs12 from "fs/promises";
|
|
753494
753625
|
import { homedir as homedir39 } from "os";
|
|
@@ -756210,11 +756341,14 @@ async function executeUserInput(params) {
|
|
|
756210
756341
|
appendToCurrent: taskListRun.appendToCurrent
|
|
756211
756342
|
});
|
|
756212
756343
|
if (!requestsContinueCurrentTaskList(primaryCommandText)) {
|
|
756213
|
-
|
|
756214
|
-
|
|
756215
|
-
|
|
756216
|
-
|
|
756217
|
-
|
|
756344
|
+
const taskId = await createAutomaticPromptTaskForRun(taskListId, taskListRun.generationId, primaryCommandText, { reuseExistingBoard: taskListRun.appendToCurrent });
|
|
756345
|
+
if (taskId) {
|
|
756346
|
+
automaticPromptTask = {
|
|
756347
|
+
taskListId,
|
|
756348
|
+
taskId,
|
|
756349
|
+
generationId: taskListRun.generationId
|
|
756350
|
+
};
|
|
756351
|
+
}
|
|
756218
756352
|
}
|
|
756219
756353
|
}
|
|
756220
756354
|
for (let i3 = 0;i3 < commands.length; i3++) {
|
|
@@ -756965,6 +757099,9 @@ function getTaskStatusCounts(tasks2, unresolvedIds) {
|
|
|
756965
757099
|
}
|
|
756966
757100
|
return counts;
|
|
756967
757101
|
}
|
|
757102
|
+
function isTaskPlanningPlaceholder(tasks2) {
|
|
757103
|
+
return tasks2.length === 1 && isAutomaticPromptTask(tasks2[0]);
|
|
757104
|
+
}
|
|
756968
757105
|
function TaskListV2({
|
|
756969
757106
|
tasks: tasks2,
|
|
756970
757107
|
isStandalone = false
|
|
@@ -757019,6 +757156,22 @@ function TaskListV2({
|
|
|
757019
757156
|
if (tasks2.length === 0) {
|
|
757020
757157
|
return null;
|
|
757021
757158
|
}
|
|
757159
|
+
if (isTaskPlanningPlaceholder(tasks2)) {
|
|
757160
|
+
const planningState = /* @__PURE__ */ jsx_dev_runtime431.jsxDEV(ThemedText, {
|
|
757161
|
+
dimColor: true,
|
|
757162
|
+
children: [
|
|
757163
|
+
figures_default.ellipsis,
|
|
757164
|
+
" Planning tasks"
|
|
757165
|
+
]
|
|
757166
|
+
}, undefined, true, undefined, this);
|
|
757167
|
+
return isStandalone ? /* @__PURE__ */ jsx_dev_runtime431.jsxDEV(ThemedBox_default, {
|
|
757168
|
+
marginTop: 1,
|
|
757169
|
+
marginLeft: 2,
|
|
757170
|
+
children: planningState
|
|
757171
|
+
}, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime431.jsxDEV(ThemedBox_default, {
|
|
757172
|
+
children: planningState
|
|
757173
|
+
}, undefined, false, undefined, this);
|
|
757174
|
+
}
|
|
757022
757175
|
const teammateColors = {};
|
|
757023
757176
|
if (isAgentSwarmsEnabled() && teamContext?.teammates) {
|
|
757024
757177
|
for (const teammate of Object.values(teamContext.teammates)) {
|
|
@@ -759284,7 +759437,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
|
|
|
759284
759437
|
} catch {}
|
|
759285
759438
|
const data = {
|
|
759286
759439
|
trigger: trigger2,
|
|
759287
|
-
version: "1.78.
|
|
759440
|
+
version: "1.78.11",
|
|
759288
759441
|
platform: process.platform,
|
|
759289
759442
|
transcript,
|
|
759290
759443
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -767873,7 +768026,13 @@ function REPL({
|
|
|
767873
768026
|
setInputValue,
|
|
767874
768027
|
setToolJSX
|
|
767875
768028
|
});
|
|
767876
|
-
const showSpinner = (
|
|
768029
|
+
const showSpinner = shouldShowActivityRow({
|
|
768030
|
+
toolAllowsActivity: !toolJSX || toolJSX.showSpinner === true,
|
|
768031
|
+
hasBlockingPrompt: toolUseConfirmQueue.length > 0 || promptQueue.length > 0,
|
|
768032
|
+
hasActiveWork: Boolean(isLoading || userInputOnProcessing || hasRunningTeammates || getCommandQueueLength() > 0),
|
|
768033
|
+
pendingWorkerRequest: Boolean(pendingWorkerRequest),
|
|
768034
|
+
onlySleepToolActive
|
|
768035
|
+
});
|
|
767877
768036
|
const hasActivePrompt = toolUseConfirmQueue.length > 0 || promptQueue.length > 0 || sandboxPermissionRequestQueue.length > 0 || elicitation.queue.length > 0 || workerSandboxPermissions.queue.length > 0;
|
|
767878
768037
|
const feedbackSurveyOriginal = useFeedbackSurvey(messages, isLoading, submitCount, "session", hasActivePrompt);
|
|
767879
768038
|
const skillImprovementSurvey = useSkillImprovementSurvey(setMessages);
|
|
@@ -771658,7 +771817,7 @@ function WelcomeV2() {
|
|
|
771658
771817
|
dimColor: true,
|
|
771659
771818
|
children: [
|
|
771660
771819
|
"v",
|
|
771661
|
-
"1.78.
|
|
771820
|
+
"1.78.11"
|
|
771662
771821
|
]
|
|
771663
771822
|
}, undefined, true, undefined, this)
|
|
771664
771823
|
]
|
|
@@ -772918,7 +773077,7 @@ function completeOnboarding() {
|
|
|
772918
773077
|
saveGlobalConfig((current) => ({
|
|
772919
773078
|
...current,
|
|
772920
773079
|
hasCompletedOnboarding: true,
|
|
772921
|
-
lastOnboardingVersion: "1.78.
|
|
773080
|
+
lastOnboardingVersion: "1.78.11"
|
|
772922
773081
|
}));
|
|
772923
773082
|
}
|
|
772924
773083
|
function showDialog(root2, renderer) {
|
|
@@ -777962,7 +778121,7 @@ function appendToLog(path24, message) {
|
|
|
777962
778121
|
cwd: getFsImplementation().cwd(),
|
|
777963
778122
|
userType: process.env.USER_TYPE,
|
|
777964
778123
|
sessionId: getSessionId(),
|
|
777965
|
-
version: "1.78.
|
|
778124
|
+
version: "1.78.11"
|
|
777966
778125
|
};
|
|
777967
778126
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
777968
778127
|
}
|
|
@@ -782121,8 +782280,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
782121
782280
|
}
|
|
782122
782281
|
async function checkEnvLessBridgeMinVersion() {
|
|
782123
782282
|
const cfg = await getEnvLessBridgeConfig();
|
|
782124
|
-
if (cfg.min_version && lt("1.78.
|
|
782125
|
-
return `Your version of UR (${"1.78.
|
|
782283
|
+
if (cfg.min_version && lt("1.78.11", cfg.min_version)) {
|
|
782284
|
+
return `Your version of UR (${"1.78.11"}) is too old for Remote Control.
|
|
782126
782285
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
782127
782286
|
}
|
|
782128
782287
|
return null;
|
|
@@ -782596,7 +782755,7 @@ async function initBridgeCore(params) {
|
|
|
782596
782755
|
const rawApi = createBridgeApiClient({
|
|
782597
782756
|
baseUrl,
|
|
782598
782757
|
getAccessToken,
|
|
782599
|
-
runnerVersion: "1.78.
|
|
782758
|
+
runnerVersion: "1.78.11",
|
|
782600
782759
|
onDebug: logForDebugging,
|
|
782601
782760
|
onAuth401,
|
|
782602
782761
|
getTrustedDeviceToken
|
|
@@ -792069,7 +792228,7 @@ function getAgUiCapabilities() {
|
|
|
792069
792228
|
name: "UR-Nexus",
|
|
792070
792229
|
type: "ur-nexus",
|
|
792071
792230
|
description: "Provider-flexible, local-first autonomous engineering workflow agent.",
|
|
792072
|
-
version: "1.78.
|
|
792231
|
+
version: "1.78.11",
|
|
792073
792232
|
provider: "UR",
|
|
792074
792233
|
documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
|
|
792075
792234
|
},
|
|
@@ -793209,7 +793368,7 @@ function createMCPServer(cwd4, debug2, verbose) {
|
|
|
793209
793368
|
};
|
|
793210
793369
|
const server2 = new Server({
|
|
793211
793370
|
name: "ur-nexus",
|
|
793212
|
-
version: "1.78.
|
|
793371
|
+
version: "1.78.11"
|
|
793213
793372
|
}, {
|
|
793214
793373
|
capabilities: {
|
|
793215
793374
|
tools: {}
|
|
@@ -794367,7 +794526,7 @@ function thrownResponse(error40) {
|
|
|
794367
794526
|
}
|
|
794368
794527
|
async function createUrMcp2026Runtime(options4) {
|
|
794369
794528
|
const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
|
|
794370
|
-
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.78.
|
|
794529
|
+
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.78.11" }, { capabilities: {} });
|
|
794371
794530
|
const [clientTransport, serverTransport] = createLinkedTransportPair();
|
|
794372
794531
|
try {
|
|
794373
794532
|
await server2.connect(serverTransport);
|
|
@@ -794378,7 +794537,7 @@ async function createUrMcp2026Runtime(options4) {
|
|
|
794378
794537
|
}
|
|
794379
794538
|
const runtime2 = new Mcp2026Runtime({
|
|
794380
794539
|
cwd: options4.cwd,
|
|
794381
|
-
version: "1.78.
|
|
794540
|
+
version: "1.78.11",
|
|
794382
794541
|
backend: {
|
|
794383
794542
|
listTools: async () => {
|
|
794384
794543
|
const listed = await client2.listTools();
|
|
@@ -796519,7 +796678,7 @@ async function update() {
|
|
|
796519
796678
|
logEvent("tengu_update_check", {});
|
|
796520
796679
|
const diagnostic2 = await getDoctorDiagnostic();
|
|
796521
796680
|
const result = await checkUpgradeStatus({
|
|
796522
|
-
currentVersion: "1.78.
|
|
796681
|
+
currentVersion: "1.78.11",
|
|
796523
796682
|
packageName: UR_AGENT_PACKAGE_NAME,
|
|
796524
796683
|
installationType: diagnostic2.installationType,
|
|
796525
796684
|
latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
|
|
@@ -797835,7 +797994,7 @@ ${customInstructions}` : customInstructions;
|
|
|
797835
797994
|
}
|
|
797836
797995
|
}
|
|
797837
797996
|
logForDiagnosticsNoPII("info", "started", {
|
|
797838
|
-
version: "1.78.
|
|
797997
|
+
version: "1.78.11",
|
|
797839
797998
|
is_native_binary: isInBundledMode()
|
|
797840
797999
|
});
|
|
797841
798000
|
registerCleanup(async () => {
|
|
@@ -798621,7 +798780,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
798621
798780
|
pendingHookMessages
|
|
798622
798781
|
}, renderAndRun);
|
|
798623
798782
|
}
|
|
798624
|
-
}).version("1.78.
|
|
798783
|
+
}).version("1.78.11 (UR-Nexus)", "-v, --version", "Output the version number");
|
|
798625
798784
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
798626
798785
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
798627
798786
|
if (canUserConfigureAdvisor()) {
|
|
@@ -799673,7 +799832,7 @@ if (false) {}
|
|
|
799673
799832
|
async function main2() {
|
|
799674
799833
|
const args = process.argv.slice(2);
|
|
799675
799834
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
799676
|
-
console.log(`${"1.78.
|
|
799835
|
+
console.log(`${"1.78.11"} (UR-Nexus)`);
|
|
799677
799836
|
return;
|
|
799678
799837
|
}
|
|
799679
799838
|
if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
|