ur-agent 1.78.1 → 1.78.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.78.3
|
|
4
|
+
|
|
5
|
+
- A `config set` no longer runs in a parallel batch. Writing a setting is a
|
|
6
|
+
read-modify-write against the settings file: the value is merged into what is
|
|
7
|
+
on disk and the result written back. Two writes in the same batch both read
|
|
8
|
+
the pre-write state, so the second silently discarded the first. Reads have
|
|
9
|
+
no such hazard and still batch.
|
|
10
|
+
- A notebook edit is reported to the editor like every other file change, so it
|
|
11
|
+
appears in the inline diff view. It was the one kind of edit that never did.
|
|
12
|
+
|
|
13
|
+
## 1.78.2
|
|
14
|
+
|
|
15
|
+
- `describeQuestionPayloadProblems` returns only problems again. A description
|
|
16
|
+
of the payload's shape had been appended to that list, which changed its
|
|
17
|
+
length and broke callers that count entries. The shape is now returned by a
|
|
18
|
+
separate `describeQuestionPayloadShape`, and the tool error message joins the
|
|
19
|
+
two, so the diagnosis is unchanged while the list stays a list of problems.
|
|
20
|
+
- The effective-context-window arithmetic is exposed as a pure function,
|
|
21
|
+
`computeEffectiveContextWindowSize`, so the reserve cap can be checked
|
|
22
|
+
without a provider or settings in scope.
|
|
23
|
+
|
|
3
24
|
## 1.78.1
|
|
4
25
|
|
|
5
26
|
- Editing a file through Bash or NotebookEdit now clears that file's delivered
|
package/dist/cli.js
CHANGED
|
@@ -87529,7 +87529,6 @@ function describeQuestionPayloadProblems(value) {
|
|
|
87529
87529
|
if (!Array.isArray(questions) || questions.length === 0) {
|
|
87530
87530
|
return ["`questions` must be a non-empty array."];
|
|
87531
87531
|
}
|
|
87532
|
-
const shapes = questions.slice(0, 3).map((question, index2) => isRecord2(question) ? `questions[${index2}] has keys: ${Object.keys(question).join(", ") || "(none)"}` : `questions[${index2}] is ${Array.isArray(question) ? "an array" : typeof question}`).join("; ");
|
|
87533
87532
|
questions.forEach((question, index2) => {
|
|
87534
87533
|
const where = `questions[${index2}]`;
|
|
87535
87534
|
if (!isRecord2(question)) {
|
|
@@ -87551,11 +87550,19 @@ function describeQuestionPayloadProblems(value) {
|
|
|
87551
87550
|
problems.push(`${where}.options must contain at least 2 distinct labels; this question is open-ended and should be asked in plain text instead.`);
|
|
87552
87551
|
}
|
|
87553
87552
|
});
|
|
87554
|
-
if (problems.length > 0 && shapes) {
|
|
87555
|
-
problems.push(`Received ${shapes}.`);
|
|
87556
|
-
}
|
|
87557
87553
|
return problems;
|
|
87558
87554
|
}
|
|
87555
|
+
function describeQuestionPayloadShape(value) {
|
|
87556
|
+
if (!isRecord2(value)) {
|
|
87557
|
+
return `Received ${Array.isArray(value) ? "an array" : typeof value}.`;
|
|
87558
|
+
}
|
|
87559
|
+
const questions = value.questions;
|
|
87560
|
+
if (!Array.isArray(questions)) {
|
|
87561
|
+
return `Received an object with keys: ${Object.keys(value).join(", ") || "(none)"}.`;
|
|
87562
|
+
}
|
|
87563
|
+
const shapes = questions.slice(0, 3).map((question, index2) => isRecord2(question) ? `questions[${index2}] has keys: ${Object.keys(question).join(", ") || "(none)"}` : `questions[${index2}] is ${Array.isArray(question) ? "an array" : typeof question}`).join("; ");
|
|
87564
|
+
return shapes ? `Received ${shapes}.` : "";
|
|
87565
|
+
}
|
|
87559
87566
|
|
|
87560
87567
|
// src/tools/AskUserQuestionTool/AskUserQuestionTool.tsx
|
|
87561
87568
|
function objectValue(value) {
|
|
@@ -89251,6 +89258,7 @@ __export(exports_ollama, {
|
|
|
89251
89258
|
mergeToolCalls: () => mergeToolCalls,
|
|
89252
89259
|
isOllamaCloudModel: () => isOllamaCloudModel2,
|
|
89253
89260
|
getOllamaRequestTimeoutMs: () => getOllamaRequestTimeoutMs,
|
|
89261
|
+
getOllamaHeaderTimeoutMs: () => getOllamaHeaderTimeoutMs,
|
|
89254
89262
|
getEffectiveOllamaBaseUrl: () => getEffectiveOllamaBaseUrl,
|
|
89255
89263
|
createOllamaURHQClient: () => createOllamaURHQClient,
|
|
89256
89264
|
consumePendingProviderNotice: () => consumePendingProviderNotice,
|
|
@@ -89315,7 +89323,7 @@ async function createNonStreamingRequest(params, options, baseUrl = getEffective
|
|
|
89315
89323
|
return ollamaResponseToURHQMessage(json2, params, textToolFallbackAllowed);
|
|
89316
89324
|
}
|
|
89317
89325
|
async function fetchOllamaChat(params, stream4, controller, options, baseUrl = getEffectiveOllamaBaseUrl()) {
|
|
89318
|
-
const timeout =
|
|
89326
|
+
const timeout = getOllamaHeaderTimeoutMs(options, process.env, params.model);
|
|
89319
89327
|
const timeoutId = timeout > 0 ? setTimeout(() => controller.abort(), timeout) : undefined;
|
|
89320
89328
|
try {
|
|
89321
89329
|
const capabilities = await getOllamaModelCapabilities(params.model, baseUrl, controller.signal);
|
|
@@ -89392,6 +89400,15 @@ function createLinkedAbortController(options) {
|
|
|
89392
89400
|
signal.addEventListener("abort", () => controller.abort(), { once: true });
|
|
89393
89401
|
return controller;
|
|
89394
89402
|
}
|
|
89403
|
+
function getOllamaHeaderTimeoutMs(options, env4 = process.env, model) {
|
|
89404
|
+
if (options?.timeoutMs !== undefined || options?.timeout !== undefined) {
|
|
89405
|
+
return getOllamaRequestTimeoutMs(options, env4, model);
|
|
89406
|
+
}
|
|
89407
|
+
const override = parseInt(env4.API_TIMEOUT_MS || "", 10);
|
|
89408
|
+
if (override > 0)
|
|
89409
|
+
return override;
|
|
89410
|
+
return Math.max(OLLAMA_HEADER_TIMEOUT_MS, getOllamaRequestTimeoutMs(options, env4, model));
|
|
89411
|
+
}
|
|
89395
89412
|
function getOllamaRequestTimeoutMs(options, env4 = process.env, model) {
|
|
89396
89413
|
if (options?.timeoutMs !== undefined || options?.timeout !== undefined) {
|
|
89397
89414
|
return options.timeoutMs ?? options.timeout ?? DEFAULT_OLLAMA_REQUEST_TIMEOUT_MS;
|
|
@@ -90345,7 +90362,7 @@ function parseToolInput(input) {
|
|
|
90345
90362
|
}
|
|
90346
90363
|
return normalized;
|
|
90347
90364
|
}
|
|
90348
|
-
var DEFAULT_OLLAMA_REQUEST_TIMEOUT_MS = 300000, REMOTE_OLLAMA_REQUEST_TIMEOUT_MS = 120000, CLOUD_OLLAMA_REQUEST_TIMEOUT_MS = 120000, OLLAMA_GATEWAY_TIMEOUT_MESSAGE = "Ollama gateway timed out while waiting for the model to respond. Check the selected Ollama endpoint or increase API_TIMEOUT_MS if the model needs more time.", ollamaModelCapabilitiesCache, warnedToolsUnsupportedModels, TEXT_TOOL_CALL_HINT, pendingProviderNotice = null, LEVELED_THINK_MODEL_RE;
|
|
90365
|
+
var DEFAULT_OLLAMA_REQUEST_TIMEOUT_MS = 300000, OLLAMA_HEADER_TIMEOUT_MS = 900000, REMOTE_OLLAMA_REQUEST_TIMEOUT_MS = 120000, CLOUD_OLLAMA_REQUEST_TIMEOUT_MS = 120000, OLLAMA_GATEWAY_TIMEOUT_MESSAGE = "Ollama gateway timed out while waiting for the model to respond. Check the selected Ollama endpoint or increase API_TIMEOUT_MS if the model needs more time.", ollamaModelCapabilitiesCache, warnedToolsUnsupportedModels, TEXT_TOOL_CALL_HINT, pendingProviderNotice = null, LEVELED_THINK_MODEL_RE;
|
|
90349
90366
|
var init_ollama = __esm(() => {
|
|
90350
90367
|
init_urhq_sdk();
|
|
90351
90368
|
init_ollamaModels();
|
|
@@ -107573,7 +107590,7 @@ var init_auth = __esm(() => {
|
|
|
107573
107590
|
|
|
107574
107591
|
// src/utils/userAgent.ts
|
|
107575
107592
|
function getURCodeUserAgent() {
|
|
107576
|
-
return `ur/${"1.78.
|
|
107593
|
+
return `ur/${"1.78.3"}`;
|
|
107577
107594
|
}
|
|
107578
107595
|
|
|
107579
107596
|
// src/utils/workloadContext.ts
|
|
@@ -107595,7 +107612,7 @@ function getUserAgent() {
|
|
|
107595
107612
|
const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
|
|
107596
107613
|
const workload = getWorkload();
|
|
107597
107614
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
107598
|
-
return `ur-cli/${"1.78.
|
|
107615
|
+
return `ur-cli/${"1.78.3"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
107599
107616
|
}
|
|
107600
107617
|
function getMCPUserAgent() {
|
|
107601
107618
|
const parts = [];
|
|
@@ -107609,7 +107626,7 @@ function getMCPUserAgent() {
|
|
|
107609
107626
|
parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
|
|
107610
107627
|
}
|
|
107611
107628
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
107612
|
-
return `ur/${"1.78.
|
|
107629
|
+
return `ur/${"1.78.3"}${suffix}`;
|
|
107613
107630
|
}
|
|
107614
107631
|
function getWebFetchUserAgent() {
|
|
107615
107632
|
return `UR-User (${getURCodeUserAgent()})`;
|
|
@@ -107747,7 +107764,7 @@ var init_user = __esm(() => {
|
|
|
107747
107764
|
deviceId,
|
|
107748
107765
|
sessionId: getSessionId(),
|
|
107749
107766
|
email: getEmail(),
|
|
107750
|
-
appVersion: "1.78.
|
|
107767
|
+
appVersion: "1.78.3",
|
|
107751
107768
|
platform: getHostPlatformForAnalytics(),
|
|
107752
107769
|
organizationUuid,
|
|
107753
107770
|
accountUuid,
|
|
@@ -115634,7 +115651,7 @@ var init_metadata = __esm(() => {
|
|
|
115634
115651
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
115635
115652
|
WHITESPACE_REGEX = /\s+/;
|
|
115636
115653
|
getVersionBase = memoize_default(() => {
|
|
115637
|
-
const match = "1.78.
|
|
115654
|
+
const match = "1.78.3".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
115638
115655
|
return match ? match[0] : undefined;
|
|
115639
115656
|
});
|
|
115640
115657
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -115674,7 +115691,7 @@ var init_metadata = __esm(() => {
|
|
|
115674
115691
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
115675
115692
|
isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
|
|
115676
115693
|
isURAiAuth: isURAISubscriber(),
|
|
115677
|
-
version: "1.78.
|
|
115694
|
+
version: "1.78.3",
|
|
115678
115695
|
versionBase: getVersionBase(),
|
|
115679
115696
|
buildTime: "",
|
|
115680
115697
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
@@ -116344,7 +116361,7 @@ function initialize1PEventLogging() {
|
|
|
116344
116361
|
const platform2 = getPlatform();
|
|
116345
116362
|
const attributes = {
|
|
116346
116363
|
[import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
|
|
116347
|
-
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.78.
|
|
116364
|
+
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.78.3"
|
|
116348
116365
|
};
|
|
116349
116366
|
if (platform2 === "wsl") {
|
|
116350
116367
|
const wslVersion = getWslVersion();
|
|
@@ -116372,7 +116389,7 @@ function initialize1PEventLogging() {
|
|
|
116372
116389
|
})
|
|
116373
116390
|
]
|
|
116374
116391
|
});
|
|
116375
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.78.
|
|
116392
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.78.3");
|
|
116376
116393
|
}
|
|
116377
116394
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
116378
116395
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -126154,7 +126171,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
|
|
|
126154
126171
|
function formatA2AAgentCard(options = {}, pretty = true) {
|
|
126155
126172
|
return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
|
|
126156
126173
|
}
|
|
126157
|
-
var urVersion = "1.78.
|
|
126174
|
+
var urVersion = "1.78.3", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
|
|
126158
126175
|
var init_trends = __esm(() => {
|
|
126159
126176
|
init_a2aCardSignature();
|
|
126160
126177
|
coverage = [
|
|
@@ -128957,7 +128974,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
128957
128974
|
if (!isAttributionHeaderEnabled()) {
|
|
128958
128975
|
return "";
|
|
128959
128976
|
}
|
|
128960
|
-
const version2 = `${"1.78.
|
|
128977
|
+
const version2 = `${"1.78.3"}.${fingerprint}`;
|
|
128961
128978
|
const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
|
|
128962
128979
|
const cch = "";
|
|
128963
128980
|
const workload = getWorkload();
|
|
@@ -156961,7 +156978,7 @@ var init_projectSafety = __esm(() => {
|
|
|
156961
156978
|
function getInstruments() {
|
|
156962
156979
|
if (instruments)
|
|
156963
156980
|
return instruments;
|
|
156964
|
-
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.78.
|
|
156981
|
+
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.78.3");
|
|
156965
156982
|
instruments = {
|
|
156966
156983
|
operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
|
|
156967
156984
|
description: "GenAI operation duration.",
|
|
@@ -157059,7 +157076,7 @@ function genAiAgentAttributes() {
|
|
|
157059
157076
|
"gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
|
|
157060
157077
|
"gen_ai.provider.name": "ur",
|
|
157061
157078
|
"gen_ai.agent.name": "UR-Nexus",
|
|
157062
|
-
"gen_ai.agent.version": "1.78.
|
|
157079
|
+
"gen_ai.agent.version": "1.78.3"
|
|
157063
157080
|
};
|
|
157064
157081
|
}
|
|
157065
157082
|
function genAiWorkflowAttributes(workflowName) {
|
|
@@ -157075,7 +157092,7 @@ function genAiWorkflowAttributes(workflowName) {
|
|
|
157075
157092
|
function startGenAiWorkflowSpan(workflowName) {
|
|
157076
157093
|
const attributes = genAiWorkflowAttributes(workflowName);
|
|
157077
157094
|
const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
|
|
157078
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.
|
|
157095
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.3").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
157079
157096
|
}
|
|
157080
157097
|
function endGenAiWorkflowSpan(span, options2 = {}) {
|
|
157081
157098
|
try {
|
|
@@ -157113,7 +157130,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
|
|
|
157113
157130
|
if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
|
|
157114
157131
|
attributes["gen_ai.memory.record.count"] = options2.recordCount;
|
|
157115
157132
|
}
|
|
157116
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.
|
|
157133
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.3").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
157117
157134
|
}
|
|
157118
157135
|
function endGenAiMemorySpan(span, options2 = {}) {
|
|
157119
157136
|
try {
|
|
@@ -159469,7 +159486,11 @@ async function createTask(taskListId, taskData) {
|
|
|
159469
159486
|
throw new Error("Task ID space is exhausted");
|
|
159470
159487
|
}
|
|
159471
159488
|
const id = String(highestId + 1);
|
|
159472
|
-
const
|
|
159489
|
+
const awaiting = (await listTasks(taskListId)).filter((existing2) => existing2.blockedBy.includes(id));
|
|
159490
|
+
const blocks = [
|
|
159491
|
+
...new Set([...taskData.blocks ?? [], ...awaiting.map((t) => t.id)])
|
|
159492
|
+
];
|
|
159493
|
+
const task = { id, ...taskData, blocks };
|
|
159473
159494
|
await writeTaskSnapshotUnsafe(taskListId, task);
|
|
159474
159495
|
notifyTasksUpdated();
|
|
159475
159496
|
return id;
|
|
@@ -159717,9 +159738,12 @@ function validateTaskDependencyInSnapshot(tasks, fromTaskId, toTaskId) {
|
|
|
159717
159738
|
const byId = new Map(tasks.map((task) => [task.id, task]));
|
|
159718
159739
|
const fromTask = byId.get(fromTaskId);
|
|
159719
159740
|
const toTask = byId.get(toTaskId);
|
|
159720
|
-
if (!fromTask
|
|
159741
|
+
if (!fromTask) {
|
|
159721
159742
|
return { valid: false, reason: "task_not_found" };
|
|
159722
159743
|
}
|
|
159744
|
+
if (!toTask) {
|
|
159745
|
+
return { valid: true };
|
|
159746
|
+
}
|
|
159723
159747
|
if (fromTask.blocks.includes(toTaskId)) {
|
|
159724
159748
|
return { valid: true };
|
|
159725
159749
|
}
|
|
@@ -250761,7 +250785,7 @@ function getTelemetryAttributes() {
|
|
|
250761
250785
|
attributes["session.id"] = sessionId;
|
|
250762
250786
|
}
|
|
250763
250787
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
250764
|
-
attributes["app.version"] = "1.78.
|
|
250788
|
+
attributes["app.version"] = "1.78.3";
|
|
250765
250789
|
}
|
|
250766
250790
|
const oauthAccount = getOauthAccountInfo();
|
|
250767
250791
|
if (oauthAccount) {
|
|
@@ -297268,7 +297292,7 @@ function getInstallationEnv() {
|
|
|
297268
297292
|
return;
|
|
297269
297293
|
}
|
|
297270
297294
|
function getURCodeVersion() {
|
|
297271
|
-
return "1.78.
|
|
297295
|
+
return "1.78.3";
|
|
297272
297296
|
}
|
|
297273
297297
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
297274
297298
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -304599,7 +304623,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
304599
304623
|
const client2 = new Client({
|
|
304600
304624
|
name: "ur",
|
|
304601
304625
|
title: "UR",
|
|
304602
|
-
version: "1.78.
|
|
304626
|
+
version: "1.78.3",
|
|
304603
304627
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
304604
304628
|
websiteUrl: PRODUCT_URL
|
|
304605
304629
|
}, {
|
|
@@ -304959,7 +304983,7 @@ var init_client5 = __esm(() => {
|
|
|
304959
304983
|
const client2 = new Client({
|
|
304960
304984
|
name: "ur",
|
|
304961
304985
|
title: "UR",
|
|
304962
|
-
version: "1.78.
|
|
304986
|
+
version: "1.78.3",
|
|
304963
304987
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
304964
304988
|
websiteUrl: PRODUCT_URL
|
|
304965
304989
|
}, {
|
|
@@ -317568,7 +317592,7 @@ async function createRuntime() {
|
|
|
317568
317592
|
bootstrapTelemetry();
|
|
317569
317593
|
const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
|
|
317570
317594
|
[import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
|
|
317571
|
-
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.78.
|
|
317595
|
+
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.78.3"
|
|
317572
317596
|
}));
|
|
317573
317597
|
const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
|
|
317574
317598
|
resource,
|
|
@@ -317601,11 +317625,11 @@ async function createRuntime() {
|
|
|
317601
317625
|
setMeterProvider(meterProvider);
|
|
317602
317626
|
setLoggerProvider(loggerProvider);
|
|
317603
317627
|
if (meterProvider) {
|
|
317604
|
-
const meter = meterProvider.getMeter("ur-agent", "1.78.
|
|
317628
|
+
const meter = meterProvider.getMeter("ur-agent", "1.78.3");
|
|
317605
317629
|
setMeter(meter, (name, options2) => meter.createCounter(name, options2));
|
|
317606
317630
|
}
|
|
317607
317631
|
if (loggerProvider) {
|
|
317608
|
-
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.78.
|
|
317632
|
+
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.78.3"));
|
|
317609
317633
|
}
|
|
317610
317634
|
if (!cleanupRegistered2) {
|
|
317611
317635
|
cleanupRegistered2 = true;
|
|
@@ -318267,9 +318291,9 @@ async function assertMinVersion() {
|
|
|
318267
318291
|
if (false) {}
|
|
318268
318292
|
try {
|
|
318269
318293
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
318270
|
-
if (versionConfig.minVersion && lt("1.78.
|
|
318294
|
+
if (versionConfig.minVersion && lt("1.78.3", versionConfig.minVersion)) {
|
|
318271
318295
|
console.error(`
|
|
318272
|
-
It looks like your version of UR (${"1.78.
|
|
318296
|
+
It looks like your version of UR (${"1.78.3"}) needs an update.
|
|
318273
318297
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
318274
318298
|
|
|
318275
318299
|
To update, please run:
|
|
@@ -318485,7 +318509,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
318485
318509
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
318486
318510
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
318487
318511
|
pid: process.pid,
|
|
318488
|
-
currentVersion: "1.78.
|
|
318512
|
+
currentVersion: "1.78.3"
|
|
318489
318513
|
});
|
|
318490
318514
|
return "in_progress";
|
|
318491
318515
|
}
|
|
@@ -318494,7 +318518,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
318494
318518
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
318495
318519
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
318496
318520
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
318497
|
-
currentVersion: "1.78.
|
|
318521
|
+
currentVersion: "1.78.3"
|
|
318498
318522
|
});
|
|
318499
318523
|
console.error(`
|
|
318500
318524
|
Error: Windows NPM detected in WSL
|
|
@@ -319029,7 +319053,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
319029
319053
|
}
|
|
319030
319054
|
async function getDoctorDiagnostic() {
|
|
319031
319055
|
const installationType = await getCurrentInstallationType();
|
|
319032
|
-
const version2 = typeof MACRO !== "undefined" ? "1.78.
|
|
319056
|
+
const version2 = typeof MACRO !== "undefined" ? "1.78.3" : "unknown";
|
|
319033
319057
|
const installationPath = await getInstallationPath();
|
|
319034
319058
|
const invokedBinary = getInvokedBinary();
|
|
319035
319059
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -319964,8 +319988,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
319964
319988
|
const maxVersion = await getMaxVersion();
|
|
319965
319989
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
319966
319990
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
319967
|
-
if (gte("1.78.
|
|
319968
|
-
logForDebugging(`Native installer: current version ${"1.78.
|
|
319991
|
+
if (gte("1.78.3", maxVersion)) {
|
|
319992
|
+
logForDebugging(`Native installer: current version ${"1.78.3"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
319969
319993
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
319970
319994
|
latency_ms: Date.now() - startTime,
|
|
319971
319995
|
max_version: maxVersion,
|
|
@@ -319976,7 +320000,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
319976
320000
|
version2 = maxVersion;
|
|
319977
320001
|
}
|
|
319978
320002
|
}
|
|
319979
|
-
if (!forceReinstall && version2 === "1.78.
|
|
320003
|
+
if (!forceReinstall && version2 === "1.78.3" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
|
|
319980
320004
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
319981
320005
|
logEvent("tengu_native_update_complete", {
|
|
319982
320006
|
latency_ms: Date.now() - startTime,
|
|
@@ -368546,6 +368570,7 @@ import { extname as extname13, isAbsolute as isAbsolute28, resolve as resolve37
|
|
|
368546
368570
|
var inputSchema16, outputSchema13, NotebookEditTool;
|
|
368547
368571
|
var init_NotebookEditTool = __esm(() => {
|
|
368548
368572
|
init_LSPDiagnosticRegistry();
|
|
368573
|
+
init_vscodeSdkMcp();
|
|
368549
368574
|
init_fileHistory();
|
|
368550
368575
|
init_v4();
|
|
368551
368576
|
init_Tool();
|
|
@@ -368846,6 +368871,7 @@ var init_NotebookEditTool = __esm(() => {
|
|
|
368846
368871
|
const IPYNB_INDENT = 1;
|
|
368847
368872
|
const updatedContent = jsonStringify(notebook, null, IPYNB_INDENT);
|
|
368848
368873
|
writeTextContent(fullPath, updatedContent, encoding, lineEndings);
|
|
368874
|
+
notifyVscodeFileUpdated(fullPath, content, updatedContent);
|
|
368849
368875
|
clearDeliveredDiagnosticsForFile(`file://${fullPath}`);
|
|
368850
368876
|
readFileState.set(fullPath, {
|
|
368851
368877
|
content: updatedContent,
|
|
@@ -379101,8 +379127,8 @@ var init_ConfigTool = __esm(() => {
|
|
|
379101
379127
|
return "Config";
|
|
379102
379128
|
},
|
|
379103
379129
|
shouldDefer: true,
|
|
379104
|
-
isConcurrencySafe() {
|
|
379105
|
-
return
|
|
379130
|
+
isConcurrencySafe(input) {
|
|
379131
|
+
return input.value === undefined;
|
|
379106
379132
|
},
|
|
379107
379133
|
isReadOnly(input) {
|
|
379108
379134
|
return input.value === undefined;
|
|
@@ -389695,7 +389721,7 @@ function isAnyTracingEnabled() {
|
|
|
389695
389721
|
return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
|
|
389696
389722
|
}
|
|
389697
389723
|
function getTracer() {
|
|
389698
|
-
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.78.
|
|
389724
|
+
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.78.3");
|
|
389699
389725
|
}
|
|
389700
389726
|
function createSpanAttributes(spanType, customAttributes = {}) {
|
|
389701
389727
|
const baseAttributes = getTelemetryAttributes();
|
|
@@ -391852,8 +391878,9 @@ async function checkPermissionsAndCallTool(tool, toolUseID, input, toolUseContex
|
|
|
391852
391878
|
}
|
|
391853
391879
|
if (!parsedInput.success) {
|
|
391854
391880
|
recordCallFailure(callSig);
|
|
391855
|
-
const
|
|
391856
|
-
|
|
391881
|
+
const normalizedQuestionInput = tool.name === ASK_USER_QUESTION_TOOL_NAME ? normalizeAskUserQuestionInput(input) : undefined;
|
|
391882
|
+
const questionProblems = normalizedQuestionInput === undefined ? [] : describeQuestionPayloadProblems(normalizedQuestionInput);
|
|
391883
|
+
let errorContent = questionProblems.length > 0 ? `${tool.name} input cannot be rendered: ${questionProblems.join(" ")} ${describeQuestionPayloadShape(normalizedQuestionInput)}`.trim() : formatZodValidationError(tool.name, parsedInput.error);
|
|
391857
391884
|
const schemaHint = buildSchemaNotSentHint(tool, toolUseContext.messages, toolUseContext.options.tools);
|
|
391858
391885
|
if (schemaHint) {
|
|
391859
391886
|
logEvent("tengu_deferred_tool_schema_not_sent", {
|
|
@@ -398202,6 +398229,10 @@ var init_sessionMemoryCompact = __esm(() => {
|
|
|
398202
398229
|
});
|
|
398203
398230
|
|
|
398204
398231
|
// src/services/compact/autoCompact.ts
|
|
398232
|
+
function computeEffectiveContextWindowSize(contextWindow, maxOutputTokens) {
|
|
398233
|
+
const reservedTokensForSummary = Math.min(maxOutputTokens, MAX_OUTPUT_TOKENS_FOR_SUMMARY, Math.floor(contextWindow * MAX_SUMMARY_RESERVE_SHARE));
|
|
398234
|
+
return Math.max(contextWindow - reservedTokensForSummary, 1);
|
|
398235
|
+
}
|
|
398205
398236
|
function getEffectiveContextWindowSize(model) {
|
|
398206
398237
|
let contextWindow = getContextWindowForModel(model, getSdkBetas());
|
|
398207
398238
|
const autoCompactWindow = process.env.UR_CODE_AUTO_COMPACT_WINDOW;
|
|
@@ -398211,8 +398242,7 @@ function getEffectiveContextWindowSize(model) {
|
|
|
398211
398242
|
contextWindow = Math.min(contextWindow, parsed);
|
|
398212
398243
|
}
|
|
398213
398244
|
}
|
|
398214
|
-
|
|
398215
|
-
return Math.max(contextWindow - reservedTokensForSummary, 1);
|
|
398245
|
+
return computeEffectiveContextWindowSize(contextWindow, getMaxOutputTokensForModel(model));
|
|
398216
398246
|
}
|
|
398217
398247
|
function getAutoCompactThreshold(model) {
|
|
398218
398248
|
const effectiveContextWindow = getEffectiveContextWindowSize(model);
|
|
@@ -419917,7 +419947,7 @@ function Feedback({
|
|
|
419917
419947
|
platform: env2.platform,
|
|
419918
419948
|
gitRepo: envInfo.isGit,
|
|
419919
419949
|
terminal: env2.terminal,
|
|
419920
|
-
version: "1.78.
|
|
419950
|
+
version: "1.78.3",
|
|
419921
419951
|
transcript: normalizeMessagesForAPI(messages),
|
|
419922
419952
|
errors: sanitizedErrors,
|
|
419923
419953
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -420109,7 +420139,7 @@ function Feedback({
|
|
|
420109
420139
|
", ",
|
|
420110
420140
|
env2.terminal,
|
|
420111
420141
|
", v",
|
|
420112
|
-
"1.78.
|
|
420142
|
+
"1.78.3"
|
|
420113
420143
|
]
|
|
420114
420144
|
}, undefined, true, undefined, this)
|
|
420115
420145
|
]
|
|
@@ -420215,7 +420245,7 @@ ${sanitizedDescription}
|
|
|
420215
420245
|
` + `**Environment Info**
|
|
420216
420246
|
` + `- Platform: ${env2.platform}
|
|
420217
420247
|
` + `- Terminal: ${env2.terminal}
|
|
420218
|
-
` + `- Version: ${"1.78.
|
|
420248
|
+
` + `- Version: ${"1.78.3"}
|
|
420219
420249
|
` + `- Feedback ID: ${feedbackId}
|
|
420220
420250
|
` + `
|
|
420221
420251
|
**Errors**
|
|
@@ -423325,7 +423355,7 @@ function buildPrimarySection() {
|
|
|
423325
423355
|
}, undefined, false, undefined, this);
|
|
423326
423356
|
return [{
|
|
423327
423357
|
label: "Version",
|
|
423328
|
-
value: "1.78.
|
|
423358
|
+
value: "1.78.3"
|
|
423329
423359
|
}, {
|
|
423330
423360
|
label: "Session name",
|
|
423331
423361
|
value: nameValue
|
|
@@ -426707,7 +426737,7 @@ function Config({
|
|
|
426707
426737
|
}
|
|
426708
426738
|
}, undefined, false, undefined, this)
|
|
426709
426739
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
|
|
426710
|
-
currentVersion: "1.78.
|
|
426740
|
+
currentVersion: "1.78.3",
|
|
426711
426741
|
onChoice: (choice) => {
|
|
426712
426742
|
setShowSubmenu(null);
|
|
426713
426743
|
setTabsHidden(false);
|
|
@@ -426719,7 +426749,7 @@ function Config({
|
|
|
426719
426749
|
autoUpdatesChannel: "stable"
|
|
426720
426750
|
};
|
|
426721
426751
|
if (choice === "stay") {
|
|
426722
|
-
newSettings.minimumVersion = "1.78.
|
|
426752
|
+
newSettings.minimumVersion = "1.78.3";
|
|
426723
426753
|
}
|
|
426724
426754
|
updateSettingsForSource("userSettings", newSettings);
|
|
426725
426755
|
setSettingsData((prev_27) => ({
|
|
@@ -434783,7 +434813,7 @@ function HelpV2(t0) {
|
|
|
434783
434813
|
let t6;
|
|
434784
434814
|
if ($2[31] !== tabs) {
|
|
434785
434815
|
t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
|
|
434786
|
-
title: `UR v${"1.78.
|
|
434816
|
+
title: `UR v${"1.78.3"}`,
|
|
434787
434817
|
color: "professionalBlue",
|
|
434788
434818
|
defaultTab: "general",
|
|
434789
434819
|
children: tabs
|
|
@@ -435716,7 +435746,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
|
|
|
435716
435746
|
async function handleInitialize(options2) {
|
|
435717
435747
|
return {
|
|
435718
435748
|
name: "UR",
|
|
435719
|
-
version: "1.78.
|
|
435749
|
+
version: "1.78.3",
|
|
435720
435750
|
protocolVersion: "0.1.0",
|
|
435721
435751
|
workspaceRoot: options2.cwd,
|
|
435722
435752
|
capabilities: {
|
|
@@ -452824,7 +452854,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
452824
452854
|
return [];
|
|
452825
452855
|
}
|
|
452826
452856
|
}
|
|
452827
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.78.
|
|
452857
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.78.3") {
|
|
452828
452858
|
if (process.env.USER_TYPE === "ant") {
|
|
452829
452859
|
const changelog = "";
|
|
452830
452860
|
if (changelog) {
|
|
@@ -452851,7 +452881,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.78.1")
|
|
|
452851
452881
|
releaseNotes
|
|
452852
452882
|
};
|
|
452853
452883
|
}
|
|
452854
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.78.
|
|
452884
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.78.3") {
|
|
452855
452885
|
if (process.env.USER_TYPE === "ant") {
|
|
452856
452886
|
const changelog = "";
|
|
452857
452887
|
if (changelog) {
|
|
@@ -455717,7 +455747,7 @@ function getRecentActivitySync() {
|
|
|
455717
455747
|
return cachedActivity;
|
|
455718
455748
|
}
|
|
455719
455749
|
function getLogoDisplayData() {
|
|
455720
|
-
const version2 = process.env.DEMO_VERSION ?? "1.78.
|
|
455750
|
+
const version2 = process.env.DEMO_VERSION ?? "1.78.3";
|
|
455721
455751
|
const serverUrl = getDirectConnectServerUrl();
|
|
455722
455752
|
const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
|
|
455723
455753
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -456584,7 +456614,7 @@ function LogoV2() {
|
|
|
456584
456614
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
456585
456615
|
t2 = () => {
|
|
456586
456616
|
const currentConfig2 = getGlobalConfig();
|
|
456587
|
-
if (currentConfig2.lastReleaseNotesSeen === "1.78.
|
|
456617
|
+
if (currentConfig2.lastReleaseNotesSeen === "1.78.3") {
|
|
456588
456618
|
return;
|
|
456589
456619
|
}
|
|
456590
456620
|
saveGlobalConfig(_temp325);
|
|
@@ -457269,12 +457299,12 @@ function LogoV2() {
|
|
|
457269
457299
|
return t41;
|
|
457270
457300
|
}
|
|
457271
457301
|
function _temp325(current) {
|
|
457272
|
-
if (current.lastReleaseNotesSeen === "1.78.
|
|
457302
|
+
if (current.lastReleaseNotesSeen === "1.78.3") {
|
|
457273
457303
|
return current;
|
|
457274
457304
|
}
|
|
457275
457305
|
return {
|
|
457276
457306
|
...current,
|
|
457277
|
-
lastReleaseNotesSeen: "1.78.
|
|
457307
|
+
lastReleaseNotesSeen: "1.78.3"
|
|
457278
457308
|
};
|
|
457279
457309
|
}
|
|
457280
457310
|
function _temp241(s_0) {
|
|
@@ -474088,7 +474118,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
|
|
|
474088
474118
|
if (spec.name !== specName) {
|
|
474089
474119
|
throw new Error("Agentic CI workflow spec name does not match");
|
|
474090
474120
|
}
|
|
474091
|
-
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.78.
|
|
474121
|
+
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.78.3" : "1.78.3");
|
|
474092
474122
|
if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
|
|
474093
474123
|
throw new Error("invalid ur-agent package version");
|
|
474094
474124
|
}
|
|
@@ -475081,7 +475111,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
|
|
|
475081
475111
|
path: ".github/workflows/ur.yml",
|
|
475082
475112
|
root: "project",
|
|
475083
475113
|
content: compileAgenticCiWorkflow("default", {
|
|
475084
|
-
packageVersion: typeof MACRO !== "undefined" ? "1.78.
|
|
475114
|
+
packageVersion: typeof MACRO !== "undefined" ? "1.78.3" : "1.78.3"
|
|
475085
475115
|
})
|
|
475086
475116
|
},
|
|
475087
475117
|
{
|
|
@@ -475144,7 +475174,7 @@ function value(tokens, flag) {
|
|
|
475144
475174
|
return index2 >= 0 ? tokens[index2 + 1] : undefined;
|
|
475145
475175
|
}
|
|
475146
475176
|
function cliVersion() {
|
|
475147
|
-
return typeof MACRO !== "undefined" ? "1.78.
|
|
475177
|
+
return typeof MACRO !== "undefined" ? "1.78.3" : "1.78.3";
|
|
475148
475178
|
}
|
|
475149
475179
|
function workflowPath(cwd2) {
|
|
475150
475180
|
return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
|
|
@@ -481000,7 +481030,7 @@ function createAcpStdioApp(deps) {
|
|
|
481000
481030
|
}
|
|
481001
481031
|
},
|
|
481002
481032
|
authMethods: [],
|
|
481003
|
-
agentInfo: { name: "UR-Nexus", version: "1.78.
|
|
481033
|
+
agentInfo: { name: "UR-Nexus", version: "1.78.3" }
|
|
481004
481034
|
})).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
|
|
481005
481035
|
const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
|
|
481006
481036
|
await runtime2.announce({
|
|
@@ -481097,7 +481127,7 @@ function createAcpStdioAgent(deps) {
|
|
|
481097
481127
|
}
|
|
481098
481128
|
},
|
|
481099
481129
|
authMethods: [],
|
|
481100
|
-
agentInfo: { name: "UR-Nexus", version: "1.78.
|
|
481130
|
+
agentInfo: { name: "UR-Nexus", version: "1.78.3" }
|
|
481101
481131
|
});
|
|
481102
481132
|
return;
|
|
481103
481133
|
case "authenticate":
|
|
@@ -690557,7 +690587,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
|
|
|
690557
690587
|
smapsRollup,
|
|
690558
690588
|
platform: process.platform,
|
|
690559
690589
|
nodeVersion: process.version,
|
|
690560
|
-
ccVersion: "1.78.
|
|
690590
|
+
ccVersion: "1.78.3"
|
|
690561
690591
|
};
|
|
690562
690592
|
}
|
|
690563
690593
|
async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
|
|
@@ -691137,7 +691167,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
691137
691167
|
var call154 = async () => {
|
|
691138
691168
|
return {
|
|
691139
691169
|
type: "text",
|
|
691140
|
-
value: "1.78.
|
|
691170
|
+
value: "1.78.3"
|
|
691141
691171
|
};
|
|
691142
691172
|
}, version2, version_default;
|
|
691143
691173
|
var init_version = __esm(() => {
|
|
@@ -702404,7 +702434,7 @@ function generateHtmlReport(data, insights) {
|
|
|
702404
702434
|
</html>`;
|
|
702405
702435
|
}
|
|
702406
702436
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
702407
|
-
const version3 = typeof MACRO !== "undefined" ? "1.78.
|
|
702437
|
+
const version3 = typeof MACRO !== "undefined" ? "1.78.3" : "unknown";
|
|
702408
702438
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
702409
702439
|
const facets_summary = {
|
|
702410
702440
|
total: facets.size,
|
|
@@ -706718,7 +706748,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
706718
706748
|
init_settings2();
|
|
706719
706749
|
init_slowOperations();
|
|
706720
706750
|
init_uuid();
|
|
706721
|
-
VERSION7 = typeof MACRO !== "undefined" ? "1.78.
|
|
706751
|
+
VERSION7 = typeof MACRO !== "undefined" ? "1.78.3" : "unknown";
|
|
706722
706752
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
706723
706753
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
706724
706754
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -707933,7 +707963,7 @@ var init_filesystem = __esm(() => {
|
|
|
707933
707963
|
});
|
|
707934
707964
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
707935
707965
|
const nonce = randomBytes20(16).toString("hex");
|
|
707936
|
-
return join232(getURTempDir(), "bundled-skills", "1.78.
|
|
707966
|
+
return join232(getURTempDir(), "bundled-skills", "1.78.3", nonce);
|
|
707937
707967
|
});
|
|
707938
707968
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
707939
707969
|
});
|
|
@@ -714290,7 +714320,7 @@ function computeFingerprint(messageText2, version3) {
|
|
|
714290
714320
|
}
|
|
714291
714321
|
function computeFingerprintFromMessages(messages) {
|
|
714292
714322
|
const firstMessageText = extractFirstMessageText(messages);
|
|
714293
|
-
return computeFingerprint(firstMessageText, "1.78.
|
|
714323
|
+
return computeFingerprint(firstMessageText, "1.78.3");
|
|
714294
714324
|
}
|
|
714295
714325
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
714296
714326
|
var init_fingerprint = () => {};
|
|
@@ -716212,7 +716242,7 @@ async function sideQuery(opts) {
|
|
|
716212
716242
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
716213
716243
|
}
|
|
716214
716244
|
const messageText2 = extractFirstUserMessageText(messages);
|
|
716215
|
-
const fingerprint2 = computeFingerprint(messageText2, "1.78.
|
|
716245
|
+
const fingerprint2 = computeFingerprint(messageText2, "1.78.3");
|
|
716216
716246
|
const attributionHeader = getAttributionHeader(fingerprint2);
|
|
716217
716247
|
const systemBlocks = [
|
|
716218
716248
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -721049,7 +721079,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
721049
721079
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
721050
721080
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
721051
721081
|
betas: getSdkBetas(),
|
|
721052
|
-
ur_version: "1.78.
|
|
721082
|
+
ur_version: "1.78.3",
|
|
721053
721083
|
output_style: outputStyle2,
|
|
721054
721084
|
agents: inputs.agents.map((agent2) => agent2.agentType),
|
|
721055
721085
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
|
|
@@ -734921,7 +734951,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
734921
734951
|
function getSemverPart(version3) {
|
|
734922
734952
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
734923
734953
|
}
|
|
734924
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.78.
|
|
734954
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.78.3") {
|
|
734925
734955
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react223.useState(() => getSemverPart(initialVersion));
|
|
734926
734956
|
if (!updatedVersion) {
|
|
734927
734957
|
return null;
|
|
@@ -734970,7 +735000,7 @@ function AutoUpdater({
|
|
|
734970
735000
|
return;
|
|
734971
735001
|
}
|
|
734972
735002
|
if (false) {}
|
|
734973
|
-
const currentVersion = "1.78.
|
|
735003
|
+
const currentVersion = "1.78.3";
|
|
734974
735004
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
734975
735005
|
let latestVersion = await getLatestVersion(channel);
|
|
734976
735006
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -735199,12 +735229,12 @@ function NativeAutoUpdater({
|
|
|
735199
735229
|
logEvent("tengu_native_auto_updater_start", {});
|
|
735200
735230
|
try {
|
|
735201
735231
|
const maxVersion = await getMaxVersion();
|
|
735202
|
-
if (maxVersion && gt("1.78.
|
|
735232
|
+
if (maxVersion && gt("1.78.3", maxVersion)) {
|
|
735203
735233
|
const msg = await getMaxVersionMessage();
|
|
735204
735234
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
735205
735235
|
}
|
|
735206
735236
|
const result = await installLatest(channel);
|
|
735207
|
-
const currentVersion = "1.78.
|
|
735237
|
+
const currentVersion = "1.78.3";
|
|
735208
735238
|
const latencyMs = Date.now() - startTime;
|
|
735209
735239
|
if (result.lockFailed) {
|
|
735210
735240
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -735341,17 +735371,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
735341
735371
|
const maxVersion = await getMaxVersion();
|
|
735342
735372
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
735343
735373
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
735344
|
-
if (gte("1.78.
|
|
735345
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.78.
|
|
735374
|
+
if (gte("1.78.3", maxVersion)) {
|
|
735375
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.78.3"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
735346
735376
|
setUpdateAvailable(false);
|
|
735347
735377
|
return;
|
|
735348
735378
|
}
|
|
735349
735379
|
latest = maxVersion;
|
|
735350
735380
|
}
|
|
735351
|
-
const hasUpdate = latest && !gte("1.78.
|
|
735381
|
+
const hasUpdate = latest && !gte("1.78.3", latest) && !shouldSkipVersion(latest);
|
|
735352
735382
|
setUpdateAvailable(!!hasUpdate);
|
|
735353
735383
|
if (hasUpdate) {
|
|
735354
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.78.
|
|
735384
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.78.3"} -> ${latest}`);
|
|
735355
735385
|
}
|
|
735356
735386
|
};
|
|
735357
735387
|
$2[0] = t1;
|
|
@@ -735385,7 +735415,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
735385
735415
|
wrap: "truncate",
|
|
735386
735416
|
children: [
|
|
735387
735417
|
"currentVersion: ",
|
|
735388
|
-
"1.78.
|
|
735418
|
+
"1.78.3"
|
|
735389
735419
|
]
|
|
735390
735420
|
}, undefined, true, undefined, this);
|
|
735391
735421
|
$2[3] = verbose;
|
|
@@ -746185,7 +746215,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
746185
746215
|
project_dir: getOriginalCwd(),
|
|
746186
746216
|
added_dirs: addedDirs
|
|
746187
746217
|
},
|
|
746188
|
-
version: "1.78.
|
|
746218
|
+
version: "1.78.3",
|
|
746189
746219
|
output_style: {
|
|
746190
746220
|
name: outputStyleName
|
|
746191
746221
|
},
|
|
@@ -746320,7 +746350,7 @@ function StatusLineInner({
|
|
|
746320
746350
|
const attention = customStatusError ?? taskAttention;
|
|
746321
746351
|
const terminalSize = React132.useContext(TerminalSizeContext);
|
|
746322
746352
|
const defaultStatusLineText = buildDefaultStatusBar({
|
|
746323
|
-
version: "1.78.
|
|
746353
|
+
version: "1.78.3",
|
|
746324
746354
|
providerLabel: providerRuntime.providerLabel,
|
|
746325
746355
|
authMode: providerRuntime.authLabel,
|
|
746326
746356
|
model: renderModelName(mainLoopModel) || providerRuntime.model || "",
|
|
@@ -758605,7 +758635,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
|
|
|
758605
758635
|
} catch {}
|
|
758606
758636
|
const data = {
|
|
758607
758637
|
trigger: trigger2,
|
|
758608
|
-
version: "1.78.
|
|
758638
|
+
version: "1.78.3",
|
|
758609
758639
|
platform: process.platform,
|
|
758610
758640
|
transcript,
|
|
758611
758641
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -770979,7 +771009,7 @@ function WelcomeV2() {
|
|
|
770979
771009
|
dimColor: true,
|
|
770980
771010
|
children: [
|
|
770981
771011
|
"v",
|
|
770982
|
-
"1.78.
|
|
771012
|
+
"1.78.3"
|
|
770983
771013
|
]
|
|
770984
771014
|
}, undefined, true, undefined, this)
|
|
770985
771015
|
]
|
|
@@ -772239,7 +772269,7 @@ function completeOnboarding() {
|
|
|
772239
772269
|
saveGlobalConfig((current) => ({
|
|
772240
772270
|
...current,
|
|
772241
772271
|
hasCompletedOnboarding: true,
|
|
772242
|
-
lastOnboardingVersion: "1.78.
|
|
772272
|
+
lastOnboardingVersion: "1.78.3"
|
|
772243
772273
|
}));
|
|
772244
772274
|
}
|
|
772245
772275
|
function showDialog(root2, renderer) {
|
|
@@ -777283,7 +777313,7 @@ function appendToLog(path24, message) {
|
|
|
777283
777313
|
cwd: getFsImplementation().cwd(),
|
|
777284
777314
|
userType: process.env.USER_TYPE,
|
|
777285
777315
|
sessionId: getSessionId(),
|
|
777286
|
-
version: "1.78.
|
|
777316
|
+
version: "1.78.3"
|
|
777287
777317
|
};
|
|
777288
777318
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
777289
777319
|
}
|
|
@@ -781442,8 +781472,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
781442
781472
|
}
|
|
781443
781473
|
async function checkEnvLessBridgeMinVersion() {
|
|
781444
781474
|
const cfg = await getEnvLessBridgeConfig();
|
|
781445
|
-
if (cfg.min_version && lt("1.78.
|
|
781446
|
-
return `Your version of UR (${"1.78.
|
|
781475
|
+
if (cfg.min_version && lt("1.78.3", cfg.min_version)) {
|
|
781476
|
+
return `Your version of UR (${"1.78.3"}) is too old for Remote Control.
|
|
781447
781477
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
781448
781478
|
}
|
|
781449
781479
|
return null;
|
|
@@ -781917,7 +781947,7 @@ async function initBridgeCore(params) {
|
|
|
781917
781947
|
const rawApi = createBridgeApiClient({
|
|
781918
781948
|
baseUrl,
|
|
781919
781949
|
getAccessToken,
|
|
781920
|
-
runnerVersion: "1.78.
|
|
781950
|
+
runnerVersion: "1.78.3",
|
|
781921
781951
|
onDebug: logForDebugging,
|
|
781922
781952
|
onAuth401,
|
|
781923
781953
|
getTrustedDeviceToken
|
|
@@ -791390,7 +791420,7 @@ function getAgUiCapabilities() {
|
|
|
791390
791420
|
name: "UR-Nexus",
|
|
791391
791421
|
type: "ur-nexus",
|
|
791392
791422
|
description: "Provider-flexible, local-first autonomous engineering workflow agent.",
|
|
791393
|
-
version: "1.78.
|
|
791423
|
+
version: "1.78.3",
|
|
791394
791424
|
provider: "UR",
|
|
791395
791425
|
documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
|
|
791396
791426
|
},
|
|
@@ -792530,7 +792560,7 @@ function createMCPServer(cwd4, debug2, verbose) {
|
|
|
792530
792560
|
};
|
|
792531
792561
|
const server2 = new Server({
|
|
792532
792562
|
name: "ur-nexus",
|
|
792533
|
-
version: "1.78.
|
|
792563
|
+
version: "1.78.3"
|
|
792534
792564
|
}, {
|
|
792535
792565
|
capabilities: {
|
|
792536
792566
|
tools: {}
|
|
@@ -793688,7 +793718,7 @@ function thrownResponse(error40) {
|
|
|
793688
793718
|
}
|
|
793689
793719
|
async function createUrMcp2026Runtime(options4) {
|
|
793690
793720
|
const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
|
|
793691
|
-
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.78.
|
|
793721
|
+
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.78.3" }, { capabilities: {} });
|
|
793692
793722
|
const [clientTransport, serverTransport] = createLinkedTransportPair();
|
|
793693
793723
|
try {
|
|
793694
793724
|
await server2.connect(serverTransport);
|
|
@@ -793699,7 +793729,7 @@ async function createUrMcp2026Runtime(options4) {
|
|
|
793699
793729
|
}
|
|
793700
793730
|
const runtime2 = new Mcp2026Runtime({
|
|
793701
793731
|
cwd: options4.cwd,
|
|
793702
|
-
version: "1.78.
|
|
793732
|
+
version: "1.78.3",
|
|
793703
793733
|
backend: {
|
|
793704
793734
|
listTools: async () => {
|
|
793705
793735
|
const listed = await client2.listTools();
|
|
@@ -795840,7 +795870,7 @@ async function update() {
|
|
|
795840
795870
|
logEvent("tengu_update_check", {});
|
|
795841
795871
|
const diagnostic2 = await getDoctorDiagnostic();
|
|
795842
795872
|
const result = await checkUpgradeStatus({
|
|
795843
|
-
currentVersion: "1.78.
|
|
795873
|
+
currentVersion: "1.78.3",
|
|
795844
795874
|
packageName: UR_AGENT_PACKAGE_NAME,
|
|
795845
795875
|
installationType: diagnostic2.installationType,
|
|
795846
795876
|
latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
|
|
@@ -797156,7 +797186,7 @@ ${customInstructions}` : customInstructions;
|
|
|
797156
797186
|
}
|
|
797157
797187
|
}
|
|
797158
797188
|
logForDiagnosticsNoPII("info", "started", {
|
|
797159
|
-
version: "1.78.
|
|
797189
|
+
version: "1.78.3",
|
|
797160
797190
|
is_native_binary: isInBundledMode()
|
|
797161
797191
|
});
|
|
797162
797192
|
registerCleanup(async () => {
|
|
@@ -797942,7 +797972,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
797942
797972
|
pendingHookMessages
|
|
797943
797973
|
}, renderAndRun);
|
|
797944
797974
|
}
|
|
797945
|
-
}).version("1.78.
|
|
797975
|
+
}).version("1.78.3 (UR-Nexus)", "-v, --version", "Output the version number");
|
|
797946
797976
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
797947
797977
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
797948
797978
|
if (canUserConfigureAdvisor()) {
|
|
@@ -798994,7 +799024,7 @@ if (false) {}
|
|
|
798994
799024
|
async function main2() {
|
|
798995
799025
|
const args = process.argv.slice(2);
|
|
798996
799026
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
798997
|
-
console.log(`${"1.78.
|
|
799027
|
+
console.log(`${"1.78.3"} (UR-Nexus)`);
|
|
798998
799028
|
return;
|
|
798999
799029
|
}
|
|
799000
799030
|
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.78.
|
|
48
|
+
<p class="eyebrow">Version 1.78.3</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.78.
|
|
5
|
+
"version": "1.78.3",
|
|
6
6
|
"publisher": "ur-nexus",
|
|
7
7
|
"engines": {
|
|
8
8
|
"vscode": "^1.92.0"
|
package/package.json
CHANGED