ur-agent 1.78.5 → 1.78.7
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,33 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.78.7
|
|
4
|
+
|
|
5
|
+
- `AskUserQuestion` recovers a flattened option list even when the model omits
|
|
6
|
+
the outer question text. Eight `{description, header, label}` choices now
|
|
7
|
+
render under a neutral prompt with every label and description preserved,
|
|
8
|
+
instead of producing sixteen missing-field errors and showing no dialog.
|
|
9
|
+
- Batched `TaskCreate` calls keep their emitted order, so the consecutive IDs
|
|
10
|
+
used in dependency fields cannot be reassigned by lock-acquisition order.
|
|
11
|
+
Forward dependencies now work with the future task on either side of the
|
|
12
|
+
edge, adopt both reciprocal relationships when that task is created, and
|
|
13
|
+
participate in cycle detection while still virtual. A redundant self-edge
|
|
14
|
+
is ignored without deleting the otherwise-valid task. Together these prevent
|
|
15
|
+
the cascade of `task_not_found` / `self_dependency` errors that left only one
|
|
16
|
+
task from a multi-task plan.
|
|
17
|
+
- Delegation is the default for independent work rather than something held in
|
|
18
|
+
reserve. The guidance described subagents as valuable but warned against
|
|
19
|
+
using them "excessively when not needed", which reads as a reason not to —
|
|
20
|
+
so a request with several independent parts was worked through one step at a
|
|
21
|
+
time unless delegation was asked for by name. The test is now whether the
|
|
22
|
+
parts depend on each other: exploring several areas, researching more than
|
|
23
|
+
one question, or chasing independent leads is one call per part, issued
|
|
24
|
+
together so they run at once. Ordered work stays sequential and edits to one
|
|
25
|
+
file stay with the main agent, since parallel writers conflict.
|
|
26
|
+
- The four tests that pack a tarball or build a TypeScript program carry an
|
|
27
|
+
explicit budget. They are slow by nature and were running against the default
|
|
28
|
+
timeout, which passes on an idle machine and fails on a busy one — a budget
|
|
29
|
+
travels with the test regardless of how the suite is invoked.
|
|
30
|
+
|
|
3
31
|
## 1.78.5
|
|
4
32
|
|
|
5
33
|
- A forward task dependency is recognised by its id rather than by the target
|
package/dist/cli.js
CHANGED
|
@@ -54854,7 +54854,7 @@ function providerModelCacheKey(provider, settings = getInitialSettings()) {
|
|
|
54854
54854
|
function getCachedProviderModels(provider, settings = getInitialSettings()) {
|
|
54855
54855
|
return cachedModelsByProvider.get(providerModelCacheKey(provider, settings)) ?? [];
|
|
54856
54856
|
}
|
|
54857
|
-
function getProviderContextLengthForModel(model, provider =
|
|
54857
|
+
function getProviderContextLengthForModel(model, provider = getInitialSettings().provider?.active ?? DEFAULT_PROVIDER_ID, settings = getInitialSettings()) {
|
|
54858
54858
|
const providerId = resolveProviderId(provider);
|
|
54859
54859
|
if (!providerId)
|
|
54860
54860
|
return;
|
|
@@ -87781,9 +87781,7 @@ function recoverFlattenedOptions(input, entries) {
|
|
|
87781
87781
|
"body",
|
|
87782
87782
|
"goal",
|
|
87783
87783
|
"header"
|
|
87784
|
-
]);
|
|
87785
|
-
if (!questionText)
|
|
87786
|
-
return null;
|
|
87784
|
+
]) || "Which option should I choose?";
|
|
87787
87785
|
return normalizeQuestionInput({ ...input, question: questionText, options: entries }, 0);
|
|
87788
87786
|
}
|
|
87789
87787
|
function normalizeQuestionInput(value, index2) {
|
|
@@ -107590,7 +107588,7 @@ var init_auth = __esm(() => {
|
|
|
107590
107588
|
|
|
107591
107589
|
// src/utils/userAgent.ts
|
|
107592
107590
|
function getURCodeUserAgent() {
|
|
107593
|
-
return `ur/${"1.78.
|
|
107591
|
+
return `ur/${"1.78.7"}`;
|
|
107594
107592
|
}
|
|
107595
107593
|
|
|
107596
107594
|
// src/utils/workloadContext.ts
|
|
@@ -107612,7 +107610,7 @@ function getUserAgent() {
|
|
|
107612
107610
|
const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
|
|
107613
107611
|
const workload = getWorkload();
|
|
107614
107612
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
107615
|
-
return `ur-cli/${"1.78.
|
|
107613
|
+
return `ur-cli/${"1.78.7"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
107616
107614
|
}
|
|
107617
107615
|
function getMCPUserAgent() {
|
|
107618
107616
|
const parts = [];
|
|
@@ -107626,7 +107624,7 @@ function getMCPUserAgent() {
|
|
|
107626
107624
|
parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
|
|
107627
107625
|
}
|
|
107628
107626
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
107629
|
-
return `ur/${"1.78.
|
|
107627
|
+
return `ur/${"1.78.7"}${suffix}`;
|
|
107630
107628
|
}
|
|
107631
107629
|
function getWebFetchUserAgent() {
|
|
107632
107630
|
return `UR-User (${getURCodeUserAgent()})`;
|
|
@@ -107764,7 +107762,7 @@ var init_user = __esm(() => {
|
|
|
107764
107762
|
deviceId,
|
|
107765
107763
|
sessionId: getSessionId(),
|
|
107766
107764
|
email: getEmail(),
|
|
107767
|
-
appVersion: "1.78.
|
|
107765
|
+
appVersion: "1.78.7",
|
|
107768
107766
|
platform: getHostPlatformForAnalytics(),
|
|
107769
107767
|
organizationUuid,
|
|
107770
107768
|
accountUuid,
|
|
@@ -115651,7 +115649,7 @@ var init_metadata = __esm(() => {
|
|
|
115651
115649
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
115652
115650
|
WHITESPACE_REGEX = /\s+/;
|
|
115653
115651
|
getVersionBase = memoize_default(() => {
|
|
115654
|
-
const match = "1.78.
|
|
115652
|
+
const match = "1.78.7".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
115655
115653
|
return match ? match[0] : undefined;
|
|
115656
115654
|
});
|
|
115657
115655
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -115691,7 +115689,7 @@ var init_metadata = __esm(() => {
|
|
|
115691
115689
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
115692
115690
|
isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
|
|
115693
115691
|
isURAiAuth: isURAISubscriber(),
|
|
115694
|
-
version: "1.78.
|
|
115692
|
+
version: "1.78.7",
|
|
115695
115693
|
versionBase: getVersionBase(),
|
|
115696
115694
|
buildTime: "",
|
|
115697
115695
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
@@ -116361,7 +116359,7 @@ function initialize1PEventLogging() {
|
|
|
116361
116359
|
const platform2 = getPlatform();
|
|
116362
116360
|
const attributes = {
|
|
116363
116361
|
[import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
|
|
116364
|
-
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.78.
|
|
116362
|
+
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.78.7"
|
|
116365
116363
|
};
|
|
116366
116364
|
if (platform2 === "wsl") {
|
|
116367
116365
|
const wslVersion = getWslVersion();
|
|
@@ -116389,7 +116387,7 @@ function initialize1PEventLogging() {
|
|
|
116389
116387
|
})
|
|
116390
116388
|
]
|
|
116391
116389
|
});
|
|
116392
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.78.
|
|
116390
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.78.7");
|
|
116393
116391
|
}
|
|
116394
116392
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
116395
116393
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -126171,7 +126169,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
|
|
|
126171
126169
|
function formatA2AAgentCard(options = {}, pretty = true) {
|
|
126172
126170
|
return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
|
|
126173
126171
|
}
|
|
126174
|
-
var urVersion = "1.78.
|
|
126172
|
+
var urVersion = "1.78.7", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
|
|
126175
126173
|
var init_trends = __esm(() => {
|
|
126176
126174
|
init_a2aCardSignature();
|
|
126177
126175
|
coverage = [
|
|
@@ -128974,7 +128972,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
128974
128972
|
if (!isAttributionHeaderEnabled()) {
|
|
128975
128973
|
return "";
|
|
128976
128974
|
}
|
|
128977
|
-
const version2 = `${"1.78.
|
|
128975
|
+
const version2 = `${"1.78.7"}.${fingerprint}`;
|
|
128978
128976
|
const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
|
|
128979
128977
|
const cch = "";
|
|
128980
128978
|
const workload = getWorkload();
|
|
@@ -156978,7 +156976,7 @@ var init_projectSafety = __esm(() => {
|
|
|
156978
156976
|
function getInstruments() {
|
|
156979
156977
|
if (instruments)
|
|
156980
156978
|
return instruments;
|
|
156981
|
-
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.78.
|
|
156979
|
+
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.78.7");
|
|
156982
156980
|
instruments = {
|
|
156983
156981
|
operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
|
|
156984
156982
|
description: "GenAI operation duration.",
|
|
@@ -157076,7 +157074,7 @@ function genAiAgentAttributes() {
|
|
|
157076
157074
|
"gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
|
|
157077
157075
|
"gen_ai.provider.name": "ur",
|
|
157078
157076
|
"gen_ai.agent.name": "UR-Nexus",
|
|
157079
|
-
"gen_ai.agent.version": "1.78.
|
|
157077
|
+
"gen_ai.agent.version": "1.78.7"
|
|
157080
157078
|
};
|
|
157081
157079
|
}
|
|
157082
157080
|
function genAiWorkflowAttributes(workflowName) {
|
|
@@ -157092,7 +157090,7 @@ function genAiWorkflowAttributes(workflowName) {
|
|
|
157092
157090
|
function startGenAiWorkflowSpan(workflowName) {
|
|
157093
157091
|
const attributes = genAiWorkflowAttributes(workflowName);
|
|
157094
157092
|
const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
|
|
157095
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.
|
|
157093
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.7").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
157096
157094
|
}
|
|
157097
157095
|
function endGenAiWorkflowSpan(span, options2 = {}) {
|
|
157098
157096
|
try {
|
|
@@ -157130,7 +157128,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
|
|
|
157130
157128
|
if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
|
|
157131
157129
|
attributes["gen_ai.memory.record.count"] = options2.recordCount;
|
|
157132
157130
|
}
|
|
157133
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.
|
|
157131
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.78.7").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
157134
157132
|
}
|
|
157135
157133
|
function endGenAiMemorySpan(span, options2 = {}) {
|
|
157136
157134
|
try {
|
|
@@ -159487,11 +159485,7 @@ async function createTask(taskListId, taskData) {
|
|
|
159487
159485
|
throw new Error("Task ID space is exhausted");
|
|
159488
159486
|
}
|
|
159489
159487
|
const id = String(highestId + 1);
|
|
159490
|
-
const
|
|
159491
|
-
const blocks = [
|
|
159492
|
-
...new Set([...taskData.blocks ?? [], ...awaiting.map((t) => t.id)])
|
|
159493
|
-
];
|
|
159494
|
-
const task = { id, ...taskData, blocks };
|
|
159488
|
+
const task = adoptForwardTaskDependencies(id, taskData, await listTasks(taskListId));
|
|
159495
159489
|
await writeTaskSnapshotUnsafe(taskListId, task);
|
|
159496
159490
|
notifyTasksUpdated();
|
|
159497
159491
|
return id;
|
|
@@ -159515,12 +159509,25 @@ async function createTaskForRun(taskListId, generationId, taskData, options2 = {
|
|
|
159515
159509
|
throw new Error("Task ID space is exhausted");
|
|
159516
159510
|
}
|
|
159517
159511
|
const taskId = String(highestId + 1);
|
|
159518
|
-
|
|
159512
|
+
const task = adoptForwardTaskDependencies(taskId, taskData, await listTasks(taskListId));
|
|
159513
|
+
await writeTaskSnapshotUnsafe(taskListId, task);
|
|
159519
159514
|
return taskId;
|
|
159520
159515
|
});
|
|
159521
159516
|
notifyTasksUpdated();
|
|
159522
159517
|
return id;
|
|
159523
159518
|
}
|
|
159519
|
+
function adoptForwardTaskDependencies(id, taskData, existingTasks) {
|
|
159520
|
+
const adoptedBlocks = existingTasks.filter((existing2) => existing2.blockedBy.includes(id)).map((existing2) => existing2.id);
|
|
159521
|
+
const adoptedBlockedBy = existingTasks.filter((existing2) => existing2.blocks.includes(id)).map((existing2) => existing2.id);
|
|
159522
|
+
return {
|
|
159523
|
+
id,
|
|
159524
|
+
...taskData,
|
|
159525
|
+
blocks: [...new Set([...taskData.blocks, ...adoptedBlocks])],
|
|
159526
|
+
blockedBy: [
|
|
159527
|
+
...new Set([...taskData.blockedBy, ...adoptedBlockedBy])
|
|
159528
|
+
]
|
|
159529
|
+
};
|
|
159530
|
+
}
|
|
159524
159531
|
async function getTask(taskListId, taskId) {
|
|
159525
159532
|
const path10 = getTaskPath(taskListId, taskId);
|
|
159526
159533
|
try {
|
|
@@ -159739,21 +159746,33 @@ function validateTaskDependencyInSnapshot(tasks, fromTaskId, toTaskId) {
|
|
|
159739
159746
|
const byId = new Map(tasks.map((task) => [task.id, task]));
|
|
159740
159747
|
const fromTask = byId.get(fromTaskId);
|
|
159741
159748
|
const toTask = byId.get(toTaskId);
|
|
159742
|
-
|
|
159749
|
+
const highestIssued = tasks.reduce((highest, task) => {
|
|
159750
|
+
const numeric = parseNumericTaskId(task.id);
|
|
159751
|
+
return numeric === null ? highest : Math.max(highest, numeric);
|
|
159752
|
+
}, 0);
|
|
159753
|
+
const isFutureId = (id) => {
|
|
159754
|
+
const numeric = parseNumericTaskId(id);
|
|
159755
|
+
return numeric !== null && numeric > highestIssued;
|
|
159756
|
+
};
|
|
159757
|
+
if (!fromTask && !toTask) {
|
|
159743
159758
|
return { valid: false, reason: "task_not_found" };
|
|
159744
159759
|
}
|
|
159745
|
-
if (!toTask) {
|
|
159746
|
-
const highestIssued = tasks.reduce((highest, task) => {
|
|
159747
|
-
const numeric = Number(task.id);
|
|
159748
|
-
return Number.isInteger(numeric) ? Math.max(highest, numeric) : highest;
|
|
159749
|
-
}, 0);
|
|
159750
|
-
const target = Number(toTaskId);
|
|
159751
|
-
if (Number.isInteger(target) && target > highestIssued) {
|
|
159752
|
-
return { valid: true };
|
|
159753
|
-
}
|
|
159760
|
+
if (!fromTask && !isFutureId(fromTaskId) || !toTask && !isFutureId(toTaskId)) {
|
|
159754
159761
|
return { valid: false, reason: "task_not_found" };
|
|
159755
159762
|
}
|
|
159756
|
-
|
|
159763
|
+
const adjacency = new Map;
|
|
159764
|
+
const addEdge = (from, to) => {
|
|
159765
|
+
const targets = adjacency.get(from) ?? new Set;
|
|
159766
|
+
targets.add(to);
|
|
159767
|
+
adjacency.set(from, targets);
|
|
159768
|
+
};
|
|
159769
|
+
for (const task of tasks) {
|
|
159770
|
+
for (const target of task.blocks)
|
|
159771
|
+
addEdge(task.id, target);
|
|
159772
|
+
for (const blocker of task.blockedBy)
|
|
159773
|
+
addEdge(blocker, task.id);
|
|
159774
|
+
}
|
|
159775
|
+
if (adjacency.get(fromTaskId)?.has(toTaskId)) {
|
|
159757
159776
|
return { valid: true };
|
|
159758
159777
|
}
|
|
159759
159778
|
const pending = [toTaskId];
|
|
@@ -159766,9 +159785,7 @@ function validateTaskDependencyInSnapshot(tasks, fromTaskId, toTaskId) {
|
|
|
159766
159785
|
if (visited.has(currentId))
|
|
159767
159786
|
continue;
|
|
159768
159787
|
visited.add(currentId);
|
|
159769
|
-
|
|
159770
|
-
if (current)
|
|
159771
|
-
pending.push(...current.blocks);
|
|
159788
|
+
pending.push(...adjacency.get(currentId) ?? []);
|
|
159772
159789
|
}
|
|
159773
159790
|
return { valid: true };
|
|
159774
159791
|
}
|
|
@@ -159786,10 +159803,10 @@ function applyTaskDependenciesToSnapshot(tasks, dependencies) {
|
|
|
159786
159803
|
}
|
|
159787
159804
|
const fromTask = byId.get(dependency.fromTaskId);
|
|
159788
159805
|
const toTask = byId.get(dependency.toTaskId);
|
|
159789
|
-
if (!fromTask.blocks.includes(dependency.toTaskId)) {
|
|
159806
|
+
if (fromTask && !fromTask.blocks.includes(dependency.toTaskId)) {
|
|
159790
159807
|
fromTask.blocks.push(dependency.toTaskId);
|
|
159791
159808
|
}
|
|
159792
|
-
if (!toTask.blockedBy.includes(dependency.fromTaskId)) {
|
|
159809
|
+
if (toTask && !toTask.blockedBy.includes(dependency.fromTaskId)) {
|
|
159793
159810
|
toTask.blockedBy.push(dependency.fromTaskId);
|
|
159794
159811
|
}
|
|
159795
159812
|
}
|
|
@@ -159817,23 +159834,6 @@ async function updateTaskWithDependencies(taskListId, taskId, updates, dependenc
|
|
|
159817
159834
|
if (!initialById.has(taskId)) {
|
|
159818
159835
|
return { success: false, reason: "task_not_found" };
|
|
159819
159836
|
}
|
|
159820
|
-
const referencedTaskIds = new Set([
|
|
159821
|
-
taskId,
|
|
159822
|
-
...dependencies.flatMap((dependency) => [
|
|
159823
|
-
dependency.fromTaskId,
|
|
159824
|
-
dependency.toTaskId
|
|
159825
|
-
])
|
|
159826
|
-
]);
|
|
159827
|
-
for (const referencedTaskId of referencedTaskIds) {
|
|
159828
|
-
if (!initialById.has(referencedTaskId)) {
|
|
159829
|
-
const dependency = dependencies.find((edge) => edge.fromTaskId === referencedTaskId || edge.toTaskId === referencedTaskId);
|
|
159830
|
-
return {
|
|
159831
|
-
success: false,
|
|
159832
|
-
reason: "task_not_found",
|
|
159833
|
-
dependency
|
|
159834
|
-
};
|
|
159835
|
-
}
|
|
159836
|
-
}
|
|
159837
159837
|
const taskPaths = initialTasks.map((initialTask) => getTaskPath(taskListId, initialTask.id)).sort();
|
|
159838
159838
|
for (const taskPath of taskPaths) {
|
|
159839
159839
|
taskReleases.push(await lock(taskPath, LOCK_OPTIONS));
|
|
@@ -250794,7 +250794,7 @@ function getTelemetryAttributes() {
|
|
|
250794
250794
|
attributes["session.id"] = sessionId;
|
|
250795
250795
|
}
|
|
250796
250796
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
250797
|
-
attributes["app.version"] = "1.78.
|
|
250797
|
+
attributes["app.version"] = "1.78.7";
|
|
250798
250798
|
}
|
|
250799
250799
|
const oauthAccount = getOauthAccountInfo();
|
|
250800
250800
|
if (oauthAccount) {
|
|
@@ -297301,7 +297301,7 @@ function getInstallationEnv() {
|
|
|
297301
297301
|
return;
|
|
297302
297302
|
}
|
|
297303
297303
|
function getURCodeVersion() {
|
|
297304
|
-
return "1.78.
|
|
297304
|
+
return "1.78.7";
|
|
297305
297305
|
}
|
|
297306
297306
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
297307
297307
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -304632,7 +304632,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
304632
304632
|
const client2 = new Client({
|
|
304633
304633
|
name: "ur",
|
|
304634
304634
|
title: "UR",
|
|
304635
|
-
version: "1.78.
|
|
304635
|
+
version: "1.78.7",
|
|
304636
304636
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
304637
304637
|
websiteUrl: PRODUCT_URL
|
|
304638
304638
|
}, {
|
|
@@ -304992,7 +304992,7 @@ var init_client5 = __esm(() => {
|
|
|
304992
304992
|
const client2 = new Client({
|
|
304993
304993
|
name: "ur",
|
|
304994
304994
|
title: "UR",
|
|
304995
|
-
version: "1.78.
|
|
304995
|
+
version: "1.78.7",
|
|
304996
304996
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
304997
304997
|
websiteUrl: PRODUCT_URL
|
|
304998
304998
|
}, {
|
|
@@ -317601,7 +317601,7 @@ async function createRuntime() {
|
|
|
317601
317601
|
bootstrapTelemetry();
|
|
317602
317602
|
const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
|
|
317603
317603
|
[import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
|
|
317604
|
-
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.78.
|
|
317604
|
+
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.78.7"
|
|
317605
317605
|
}));
|
|
317606
317606
|
const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
|
|
317607
317607
|
resource,
|
|
@@ -317634,11 +317634,11 @@ async function createRuntime() {
|
|
|
317634
317634
|
setMeterProvider(meterProvider);
|
|
317635
317635
|
setLoggerProvider(loggerProvider);
|
|
317636
317636
|
if (meterProvider) {
|
|
317637
|
-
const meter = meterProvider.getMeter("ur-agent", "1.78.
|
|
317637
|
+
const meter = meterProvider.getMeter("ur-agent", "1.78.7");
|
|
317638
317638
|
setMeter(meter, (name, options2) => meter.createCounter(name, options2));
|
|
317639
317639
|
}
|
|
317640
317640
|
if (loggerProvider) {
|
|
317641
|
-
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.78.
|
|
317641
|
+
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.78.7"));
|
|
317642
317642
|
}
|
|
317643
317643
|
if (!cleanupRegistered2) {
|
|
317644
317644
|
cleanupRegistered2 = true;
|
|
@@ -318300,9 +318300,9 @@ async function assertMinVersion() {
|
|
|
318300
318300
|
if (false) {}
|
|
318301
318301
|
try {
|
|
318302
318302
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
318303
|
-
if (versionConfig.minVersion && lt("1.78.
|
|
318303
|
+
if (versionConfig.minVersion && lt("1.78.7", versionConfig.minVersion)) {
|
|
318304
318304
|
console.error(`
|
|
318305
|
-
It looks like your version of UR (${"1.78.
|
|
318305
|
+
It looks like your version of UR (${"1.78.7"}) needs an update.
|
|
318306
318306
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
318307
318307
|
|
|
318308
318308
|
To update, please run:
|
|
@@ -318518,7 +318518,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
318518
318518
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
318519
318519
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
318520
318520
|
pid: process.pid,
|
|
318521
|
-
currentVersion: "1.78.
|
|
318521
|
+
currentVersion: "1.78.7"
|
|
318522
318522
|
});
|
|
318523
318523
|
return "in_progress";
|
|
318524
318524
|
}
|
|
@@ -318527,7 +318527,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
318527
318527
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
318528
318528
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
318529
318529
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
318530
|
-
currentVersion: "1.78.
|
|
318530
|
+
currentVersion: "1.78.7"
|
|
318531
318531
|
});
|
|
318532
318532
|
console.error(`
|
|
318533
318533
|
Error: Windows NPM detected in WSL
|
|
@@ -319062,7 +319062,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
319062
319062
|
}
|
|
319063
319063
|
async function getDoctorDiagnostic() {
|
|
319064
319064
|
const installationType = await getCurrentInstallationType();
|
|
319065
|
-
const version2 = typeof MACRO !== "undefined" ? "1.78.
|
|
319065
|
+
const version2 = typeof MACRO !== "undefined" ? "1.78.7" : "unknown";
|
|
319066
319066
|
const installationPath = await getInstallationPath();
|
|
319067
319067
|
const invokedBinary = getInvokedBinary();
|
|
319068
319068
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -319997,8 +319997,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
319997
319997
|
const maxVersion = await getMaxVersion();
|
|
319998
319998
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
319999
319999
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
320000
|
-
if (gte("1.78.
|
|
320001
|
-
logForDebugging(`Native installer: current version ${"1.78.
|
|
320000
|
+
if (gte("1.78.7", maxVersion)) {
|
|
320001
|
+
logForDebugging(`Native installer: current version ${"1.78.7"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
320002
320002
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
320003
320003
|
latency_ms: Date.now() - startTime,
|
|
320004
320004
|
max_version: maxVersion,
|
|
@@ -320009,7 +320009,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
320009
320009
|
version2 = maxVersion;
|
|
320010
320010
|
}
|
|
320011
320011
|
}
|
|
320012
|
-
if (!forceReinstall && version2 === "1.78.
|
|
320012
|
+
if (!forceReinstall && version2 === "1.78.7" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
|
|
320013
320013
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
320014
320014
|
logEvent("tengu_native_update_complete", {
|
|
320015
320015
|
latency_ms: Date.now() - startTime,
|
|
@@ -379606,7 +379606,7 @@ var init_TaskCreateTool = __esm(() => {
|
|
|
379606
379606
|
return isTodoV2Enabled();
|
|
379607
379607
|
},
|
|
379608
379608
|
isConcurrencySafe() {
|
|
379609
|
-
return
|
|
379609
|
+
return false;
|
|
379610
379610
|
},
|
|
379611
379611
|
toAutoClassifierInput(input) {
|
|
379612
379612
|
return input.subject;
|
|
@@ -379655,7 +379655,7 @@ var init_TaskCreateTool = __esm(() => {
|
|
|
379655
379655
|
toTaskId: taskId,
|
|
379656
379656
|
field: "blockedBy"
|
|
379657
379657
|
}))
|
|
379658
|
-
];
|
|
379658
|
+
].filter((edge) => edge.fromTaskId !== edge.toTaskId);
|
|
379659
379659
|
const dependencyResult = await updateTaskWithDependencies(taskListId, taskId, {}, dependencies);
|
|
379660
379660
|
if (dependencyResult.success === false) {
|
|
379661
379661
|
const dependency = dependencyResult.dependency;
|
|
@@ -389730,7 +389730,7 @@ function isAnyTracingEnabled() {
|
|
|
389730
389730
|
return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
|
|
389731
389731
|
}
|
|
389732
389732
|
function getTracer() {
|
|
389733
|
-
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.78.
|
|
389733
|
+
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.78.7");
|
|
389734
389734
|
}
|
|
389735
389735
|
function createSpanAttributes(spanType, customAttributes = {}) {
|
|
389736
389736
|
const baseAttributes = getTelemetryAttributes();
|
|
@@ -419956,7 +419956,7 @@ function Feedback({
|
|
|
419956
419956
|
platform: env2.platform,
|
|
419957
419957
|
gitRepo: envInfo.isGit,
|
|
419958
419958
|
terminal: env2.terminal,
|
|
419959
|
-
version: "1.78.
|
|
419959
|
+
version: "1.78.7",
|
|
419960
419960
|
transcript: normalizeMessagesForAPI(messages),
|
|
419961
419961
|
errors: sanitizedErrors,
|
|
419962
419962
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -420148,7 +420148,7 @@ function Feedback({
|
|
|
420148
420148
|
", ",
|
|
420149
420149
|
env2.terminal,
|
|
420150
420150
|
", v",
|
|
420151
|
-
"1.78.
|
|
420151
|
+
"1.78.7"
|
|
420152
420152
|
]
|
|
420153
420153
|
}, undefined, true, undefined, this)
|
|
420154
420154
|
]
|
|
@@ -420254,7 +420254,7 @@ ${sanitizedDescription}
|
|
|
420254
420254
|
` + `**Environment Info**
|
|
420255
420255
|
` + `- Platform: ${env2.platform}
|
|
420256
420256
|
` + `- Terminal: ${env2.terminal}
|
|
420257
|
-
` + `- Version: ${"1.78.
|
|
420257
|
+
` + `- Version: ${"1.78.7"}
|
|
420258
420258
|
` + `- Feedback ID: ${feedbackId}
|
|
420259
420259
|
` + `
|
|
420260
420260
|
**Errors**
|
|
@@ -423364,7 +423364,7 @@ function buildPrimarySection() {
|
|
|
423364
423364
|
}, undefined, false, undefined, this);
|
|
423365
423365
|
return [{
|
|
423366
423366
|
label: "Version",
|
|
423367
|
-
value: "1.78.
|
|
423367
|
+
value: "1.78.7"
|
|
423368
423368
|
}, {
|
|
423369
423369
|
label: "Session name",
|
|
423370
423370
|
value: nameValue
|
|
@@ -426746,7 +426746,7 @@ function Config({
|
|
|
426746
426746
|
}
|
|
426747
426747
|
}, undefined, false, undefined, this)
|
|
426748
426748
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
|
|
426749
|
-
currentVersion: "1.78.
|
|
426749
|
+
currentVersion: "1.78.7",
|
|
426750
426750
|
onChoice: (choice) => {
|
|
426751
426751
|
setShowSubmenu(null);
|
|
426752
426752
|
setTabsHidden(false);
|
|
@@ -426758,7 +426758,7 @@ function Config({
|
|
|
426758
426758
|
autoUpdatesChannel: "stable"
|
|
426759
426759
|
};
|
|
426760
426760
|
if (choice === "stay") {
|
|
426761
|
-
newSettings.minimumVersion = "1.78.
|
|
426761
|
+
newSettings.minimumVersion = "1.78.7";
|
|
426762
426762
|
}
|
|
426763
426763
|
updateSettingsForSource("userSettings", newSettings);
|
|
426764
426764
|
setSettingsData((prev_27) => ({
|
|
@@ -434822,7 +434822,7 @@ function HelpV2(t0) {
|
|
|
434822
434822
|
let t6;
|
|
434823
434823
|
if ($2[31] !== tabs) {
|
|
434824
434824
|
t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
|
|
434825
|
-
title: `UR v${"1.78.
|
|
434825
|
+
title: `UR v${"1.78.7"}`,
|
|
434826
434826
|
color: "professionalBlue",
|
|
434827
434827
|
defaultTab: "general",
|
|
434828
434828
|
children: tabs
|
|
@@ -435755,7 +435755,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
|
|
|
435755
435755
|
async function handleInitialize(options2) {
|
|
435756
435756
|
return {
|
|
435757
435757
|
name: "UR",
|
|
435758
|
-
version: "1.78.
|
|
435758
|
+
version: "1.78.7",
|
|
435759
435759
|
protocolVersion: "0.1.0",
|
|
435760
435760
|
workspaceRoot: options2.cwd,
|
|
435761
435761
|
capabilities: {
|
|
@@ -452863,7 +452863,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
452863
452863
|
return [];
|
|
452864
452864
|
}
|
|
452865
452865
|
}
|
|
452866
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.78.
|
|
452866
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.78.7") {
|
|
452867
452867
|
if (process.env.USER_TYPE === "ant") {
|
|
452868
452868
|
const changelog = "";
|
|
452869
452869
|
if (changelog) {
|
|
@@ -452890,7 +452890,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.78.5")
|
|
|
452890
452890
|
releaseNotes
|
|
452891
452891
|
};
|
|
452892
452892
|
}
|
|
452893
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.78.
|
|
452893
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.78.7") {
|
|
452894
452894
|
if (process.env.USER_TYPE === "ant") {
|
|
452895
452895
|
const changelog = "";
|
|
452896
452896
|
if (changelog) {
|
|
@@ -455756,7 +455756,7 @@ function getRecentActivitySync() {
|
|
|
455756
455756
|
return cachedActivity;
|
|
455757
455757
|
}
|
|
455758
455758
|
function getLogoDisplayData() {
|
|
455759
|
-
const version2 = process.env.DEMO_VERSION ?? "1.78.
|
|
455759
|
+
const version2 = process.env.DEMO_VERSION ?? "1.78.7";
|
|
455760
455760
|
const serverUrl = getDirectConnectServerUrl();
|
|
455761
455761
|
const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
|
|
455762
455762
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -456623,7 +456623,7 @@ function LogoV2() {
|
|
|
456623
456623
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
456624
456624
|
t2 = () => {
|
|
456625
456625
|
const currentConfig2 = getGlobalConfig();
|
|
456626
|
-
if (currentConfig2.lastReleaseNotesSeen === "1.78.
|
|
456626
|
+
if (currentConfig2.lastReleaseNotesSeen === "1.78.7") {
|
|
456627
456627
|
return;
|
|
456628
456628
|
}
|
|
456629
456629
|
saveGlobalConfig(_temp325);
|
|
@@ -457308,12 +457308,12 @@ function LogoV2() {
|
|
|
457308
457308
|
return t41;
|
|
457309
457309
|
}
|
|
457310
457310
|
function _temp325(current) {
|
|
457311
|
-
if (current.lastReleaseNotesSeen === "1.78.
|
|
457311
|
+
if (current.lastReleaseNotesSeen === "1.78.7") {
|
|
457312
457312
|
return current;
|
|
457313
457313
|
}
|
|
457314
457314
|
return {
|
|
457315
457315
|
...current,
|
|
457316
|
-
lastReleaseNotesSeen: "1.78.
|
|
457316
|
+
lastReleaseNotesSeen: "1.78.7"
|
|
457317
457317
|
};
|
|
457318
457318
|
}
|
|
457319
457319
|
function _temp241(s_0) {
|
|
@@ -474127,7 +474127,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
|
|
|
474127
474127
|
if (spec.name !== specName) {
|
|
474128
474128
|
throw new Error("Agentic CI workflow spec name does not match");
|
|
474129
474129
|
}
|
|
474130
|
-
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.78.
|
|
474130
|
+
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.78.7" : "1.78.7");
|
|
474131
474131
|
if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
|
|
474132
474132
|
throw new Error("invalid ur-agent package version");
|
|
474133
474133
|
}
|
|
@@ -475120,7 +475120,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
|
|
|
475120
475120
|
path: ".github/workflows/ur.yml",
|
|
475121
475121
|
root: "project",
|
|
475122
475122
|
content: compileAgenticCiWorkflow("default", {
|
|
475123
|
-
packageVersion: typeof MACRO !== "undefined" ? "1.78.
|
|
475123
|
+
packageVersion: typeof MACRO !== "undefined" ? "1.78.7" : "1.78.7"
|
|
475124
475124
|
})
|
|
475125
475125
|
},
|
|
475126
475126
|
{
|
|
@@ -475183,7 +475183,7 @@ function value(tokens, flag) {
|
|
|
475183
475183
|
return index2 >= 0 ? tokens[index2 + 1] : undefined;
|
|
475184
475184
|
}
|
|
475185
475185
|
function cliVersion() {
|
|
475186
|
-
return typeof MACRO !== "undefined" ? "1.78.
|
|
475186
|
+
return typeof MACRO !== "undefined" ? "1.78.7" : "1.78.7";
|
|
475187
475187
|
}
|
|
475188
475188
|
function workflowPath(cwd2) {
|
|
475189
475189
|
return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
|
|
@@ -481039,7 +481039,7 @@ function createAcpStdioApp(deps) {
|
|
|
481039
481039
|
}
|
|
481040
481040
|
},
|
|
481041
481041
|
authMethods: [],
|
|
481042
|
-
agentInfo: { name: "UR-Nexus", version: "1.78.
|
|
481042
|
+
agentInfo: { name: "UR-Nexus", version: "1.78.7" }
|
|
481043
481043
|
})).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
|
|
481044
481044
|
const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
|
|
481045
481045
|
await runtime2.announce({
|
|
@@ -481136,7 +481136,7 @@ function createAcpStdioAgent(deps) {
|
|
|
481136
481136
|
}
|
|
481137
481137
|
},
|
|
481138
481138
|
authMethods: [],
|
|
481139
|
-
agentInfo: { name: "UR-Nexus", version: "1.78.
|
|
481139
|
+
agentInfo: { name: "UR-Nexus", version: "1.78.7" }
|
|
481140
481140
|
});
|
|
481141
481141
|
return;
|
|
481142
481142
|
case "authenticate":
|
|
@@ -690596,7 +690596,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
|
|
|
690596
690596
|
smapsRollup,
|
|
690597
690597
|
platform: process.platform,
|
|
690598
690598
|
nodeVersion: process.version,
|
|
690599
|
-
ccVersion: "1.78.
|
|
690599
|
+
ccVersion: "1.78.7"
|
|
690600
690600
|
};
|
|
690601
690601
|
}
|
|
690602
690602
|
async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
|
|
@@ -691176,7 +691176,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
691176
691176
|
var call154 = async () => {
|
|
691177
691177
|
return {
|
|
691178
691178
|
type: "text",
|
|
691179
|
-
value: "1.78.
|
|
691179
|
+
value: "1.78.7"
|
|
691180
691180
|
};
|
|
691181
691181
|
}, version2, version_default;
|
|
691182
691182
|
var init_version = __esm(() => {
|
|
@@ -702443,7 +702443,7 @@ function generateHtmlReport(data, insights) {
|
|
|
702443
702443
|
</html>`;
|
|
702444
702444
|
}
|
|
702445
702445
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
702446
|
-
const version3 = typeof MACRO !== "undefined" ? "1.78.
|
|
702446
|
+
const version3 = typeof MACRO !== "undefined" ? "1.78.7" : "unknown";
|
|
702447
702447
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
702448
702448
|
const facets_summary = {
|
|
702449
702449
|
total: facets.size,
|
|
@@ -706757,7 +706757,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
706757
706757
|
init_settings2();
|
|
706758
706758
|
init_slowOperations();
|
|
706759
706759
|
init_uuid();
|
|
706760
|
-
VERSION7 = typeof MACRO !== "undefined" ? "1.78.
|
|
706760
|
+
VERSION7 = typeof MACRO !== "undefined" ? "1.78.7" : "unknown";
|
|
706761
706761
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
706762
706762
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
706763
706763
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -707972,7 +707972,7 @@ var init_filesystem = __esm(() => {
|
|
|
707972
707972
|
});
|
|
707973
707973
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
707974
707974
|
const nonce = randomBytes20(16).toString("hex");
|
|
707975
|
-
return join232(getURTempDir(), "bundled-skills", "1.78.
|
|
707975
|
+
return join232(getURTempDir(), "bundled-skills", "1.78.7", nonce);
|
|
707976
707976
|
});
|
|
707977
707977
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
707978
707978
|
});
|
|
@@ -713559,7 +713559,7 @@ function getOllamaToolDisciplineSection() {
|
|
|
713559
713559
|
`);
|
|
713560
713560
|
}
|
|
713561
713561
|
function getAgentToolSection() {
|
|
713562
|
-
return isForkSubagentEnabled() ? `Calling ${AGENT_TOOL_NAME} without a subagent_type creates a fork, which runs in the background and keeps its tool output out of your context \u2014 so you can keep chatting with the user while it works. Reach for it when research or multi-step implementation work would otherwise fill your context with raw output you won't need again. **If you ARE the fork** \u2014 execute directly; do not re-delegate.` : `Use the ${AGENT_TOOL_NAME} tool with specialized agents when the task at hand matches the agent's description.
|
|
713562
|
+
return isForkSubagentEnabled() ? `Calling ${AGENT_TOOL_NAME} without a subagent_type creates a fork, which runs in the background and keeps its tool output out of your context \u2014 so you can keep chatting with the user while it works. Reach for it when research or multi-step implementation work would otherwise fill your context with raw output you won't need again. **If you ARE the fork** \u2014 execute directly; do not re-delegate.` : `Use the ${AGENT_TOOL_NAME} tool with specialized agents when the task at hand matches the agent's description, and reach for it by default whenever a request contains parts that do not depend on each other. Concretely: exploring several areas of a codebase, researching more than one question, or investigating independent leads are each one ${AGENT_TOOL_NAME} call per part, issued together in a single message so they run at once. Doing that work yourself, one step after another, is slower and fills your context with output you will not need again \u2014 so the bar for delegating is "are these parts independent", not "is this too big for me". Two exceptions: work that must happen in order stays sequential, and edits to the same file stay with you, since parallel writers conflict. Never repeat work you have delegated \u2014 if a subagent is researching something, do not also search for it yourself.`;
|
|
713563
713563
|
}
|
|
713564
713564
|
function getDiscoverSkillsGuidance() {
|
|
713565
713565
|
if (false) {}
|
|
@@ -714329,7 +714329,7 @@ function computeFingerprint(messageText2, version3) {
|
|
|
714329
714329
|
}
|
|
714330
714330
|
function computeFingerprintFromMessages(messages) {
|
|
714331
714331
|
const firstMessageText = extractFirstMessageText(messages);
|
|
714332
|
-
return computeFingerprint(firstMessageText, "1.78.
|
|
714332
|
+
return computeFingerprint(firstMessageText, "1.78.7");
|
|
714333
714333
|
}
|
|
714334
714334
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
714335
714335
|
var init_fingerprint = () => {};
|
|
@@ -716251,7 +716251,7 @@ async function sideQuery(opts) {
|
|
|
716251
716251
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
716252
716252
|
}
|
|
716253
716253
|
const messageText2 = extractFirstUserMessageText(messages);
|
|
716254
|
-
const fingerprint2 = computeFingerprint(messageText2, "1.78.
|
|
716254
|
+
const fingerprint2 = computeFingerprint(messageText2, "1.78.7");
|
|
716255
716255
|
const attributionHeader = getAttributionHeader(fingerprint2);
|
|
716256
716256
|
const systemBlocks = [
|
|
716257
716257
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -721088,7 +721088,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
721088
721088
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
721089
721089
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
721090
721090
|
betas: getSdkBetas(),
|
|
721091
|
-
ur_version: "1.78.
|
|
721091
|
+
ur_version: "1.78.7",
|
|
721092
721092
|
output_style: outputStyle2,
|
|
721093
721093
|
agents: inputs.agents.map((agent2) => agent2.agentType),
|
|
721094
721094
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
|
|
@@ -734960,7 +734960,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
734960
734960
|
function getSemverPart(version3) {
|
|
734961
734961
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
734962
734962
|
}
|
|
734963
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.78.
|
|
734963
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.78.7") {
|
|
734964
734964
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react223.useState(() => getSemverPart(initialVersion));
|
|
734965
734965
|
if (!updatedVersion) {
|
|
734966
734966
|
return null;
|
|
@@ -735009,7 +735009,7 @@ function AutoUpdater({
|
|
|
735009
735009
|
return;
|
|
735010
735010
|
}
|
|
735011
735011
|
if (false) {}
|
|
735012
|
-
const currentVersion = "1.78.
|
|
735012
|
+
const currentVersion = "1.78.7";
|
|
735013
735013
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
735014
735014
|
let latestVersion = await getLatestVersion(channel);
|
|
735015
735015
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -735238,12 +735238,12 @@ function NativeAutoUpdater({
|
|
|
735238
735238
|
logEvent("tengu_native_auto_updater_start", {});
|
|
735239
735239
|
try {
|
|
735240
735240
|
const maxVersion = await getMaxVersion();
|
|
735241
|
-
if (maxVersion && gt("1.78.
|
|
735241
|
+
if (maxVersion && gt("1.78.7", maxVersion)) {
|
|
735242
735242
|
const msg = await getMaxVersionMessage();
|
|
735243
735243
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
735244
735244
|
}
|
|
735245
735245
|
const result = await installLatest(channel);
|
|
735246
|
-
const currentVersion = "1.78.
|
|
735246
|
+
const currentVersion = "1.78.7";
|
|
735247
735247
|
const latencyMs = Date.now() - startTime;
|
|
735248
735248
|
if (result.lockFailed) {
|
|
735249
735249
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -735380,17 +735380,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
735380
735380
|
const maxVersion = await getMaxVersion();
|
|
735381
735381
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
735382
735382
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
735383
|
-
if (gte("1.78.
|
|
735384
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.78.
|
|
735383
|
+
if (gte("1.78.7", maxVersion)) {
|
|
735384
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.78.7"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
735385
735385
|
setUpdateAvailable(false);
|
|
735386
735386
|
return;
|
|
735387
735387
|
}
|
|
735388
735388
|
latest = maxVersion;
|
|
735389
735389
|
}
|
|
735390
|
-
const hasUpdate = latest && !gte("1.78.
|
|
735390
|
+
const hasUpdate = latest && !gte("1.78.7", latest) && !shouldSkipVersion(latest);
|
|
735391
735391
|
setUpdateAvailable(!!hasUpdate);
|
|
735392
735392
|
if (hasUpdate) {
|
|
735393
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.78.
|
|
735393
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.78.7"} -> ${latest}`);
|
|
735394
735394
|
}
|
|
735395
735395
|
};
|
|
735396
735396
|
$2[0] = t1;
|
|
@@ -735424,7 +735424,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
735424
735424
|
wrap: "truncate",
|
|
735425
735425
|
children: [
|
|
735426
735426
|
"currentVersion: ",
|
|
735427
|
-
"1.78.
|
|
735427
|
+
"1.78.7"
|
|
735428
735428
|
]
|
|
735429
735429
|
}, undefined, true, undefined, this);
|
|
735430
735430
|
$2[3] = verbose;
|
|
@@ -746224,7 +746224,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
746224
746224
|
project_dir: getOriginalCwd(),
|
|
746225
746225
|
added_dirs: addedDirs
|
|
746226
746226
|
},
|
|
746227
|
-
version: "1.78.
|
|
746227
|
+
version: "1.78.7",
|
|
746228
746228
|
output_style: {
|
|
746229
746229
|
name: outputStyleName
|
|
746230
746230
|
},
|
|
@@ -746359,7 +746359,7 @@ function StatusLineInner({
|
|
|
746359
746359
|
const attention = customStatusError ?? taskAttention;
|
|
746360
746360
|
const terminalSize = React132.useContext(TerminalSizeContext);
|
|
746361
746361
|
const defaultStatusLineText = buildDefaultStatusBar({
|
|
746362
|
-
version: "1.78.
|
|
746362
|
+
version: "1.78.7",
|
|
746363
746363
|
providerLabel: providerRuntime.providerLabel,
|
|
746364
746364
|
authMode: providerRuntime.authLabel,
|
|
746365
746365
|
model: renderModelName(mainLoopModel) || providerRuntime.model || "",
|
|
@@ -758644,7 +758644,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
|
|
|
758644
758644
|
} catch {}
|
|
758645
758645
|
const data = {
|
|
758646
758646
|
trigger: trigger2,
|
|
758647
|
-
version: "1.78.
|
|
758647
|
+
version: "1.78.7",
|
|
758648
758648
|
platform: process.platform,
|
|
758649
758649
|
transcript,
|
|
758650
758650
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -771018,7 +771018,7 @@ function WelcomeV2() {
|
|
|
771018
771018
|
dimColor: true,
|
|
771019
771019
|
children: [
|
|
771020
771020
|
"v",
|
|
771021
|
-
"1.78.
|
|
771021
|
+
"1.78.7"
|
|
771022
771022
|
]
|
|
771023
771023
|
}, undefined, true, undefined, this)
|
|
771024
771024
|
]
|
|
@@ -772278,7 +772278,7 @@ function completeOnboarding() {
|
|
|
772278
772278
|
saveGlobalConfig((current) => ({
|
|
772279
772279
|
...current,
|
|
772280
772280
|
hasCompletedOnboarding: true,
|
|
772281
|
-
lastOnboardingVersion: "1.78.
|
|
772281
|
+
lastOnboardingVersion: "1.78.7"
|
|
772282
772282
|
}));
|
|
772283
772283
|
}
|
|
772284
772284
|
function showDialog(root2, renderer) {
|
|
@@ -777322,7 +777322,7 @@ function appendToLog(path24, message) {
|
|
|
777322
777322
|
cwd: getFsImplementation().cwd(),
|
|
777323
777323
|
userType: process.env.USER_TYPE,
|
|
777324
777324
|
sessionId: getSessionId(),
|
|
777325
|
-
version: "1.78.
|
|
777325
|
+
version: "1.78.7"
|
|
777326
777326
|
};
|
|
777327
777327
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
777328
777328
|
}
|
|
@@ -781481,8 +781481,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
781481
781481
|
}
|
|
781482
781482
|
async function checkEnvLessBridgeMinVersion() {
|
|
781483
781483
|
const cfg = await getEnvLessBridgeConfig();
|
|
781484
|
-
if (cfg.min_version && lt("1.78.
|
|
781485
|
-
return `Your version of UR (${"1.78.
|
|
781484
|
+
if (cfg.min_version && lt("1.78.7", cfg.min_version)) {
|
|
781485
|
+
return `Your version of UR (${"1.78.7"}) is too old for Remote Control.
|
|
781486
781486
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
781487
781487
|
}
|
|
781488
781488
|
return null;
|
|
@@ -781956,7 +781956,7 @@ async function initBridgeCore(params) {
|
|
|
781956
781956
|
const rawApi = createBridgeApiClient({
|
|
781957
781957
|
baseUrl,
|
|
781958
781958
|
getAccessToken,
|
|
781959
|
-
runnerVersion: "1.78.
|
|
781959
|
+
runnerVersion: "1.78.7",
|
|
781960
781960
|
onDebug: logForDebugging,
|
|
781961
781961
|
onAuth401,
|
|
781962
781962
|
getTrustedDeviceToken
|
|
@@ -791429,7 +791429,7 @@ function getAgUiCapabilities() {
|
|
|
791429
791429
|
name: "UR-Nexus",
|
|
791430
791430
|
type: "ur-nexus",
|
|
791431
791431
|
description: "Provider-flexible, local-first autonomous engineering workflow agent.",
|
|
791432
|
-
version: "1.78.
|
|
791432
|
+
version: "1.78.7",
|
|
791433
791433
|
provider: "UR",
|
|
791434
791434
|
documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
|
|
791435
791435
|
},
|
|
@@ -792569,7 +792569,7 @@ function createMCPServer(cwd4, debug2, verbose) {
|
|
|
792569
792569
|
};
|
|
792570
792570
|
const server2 = new Server({
|
|
792571
792571
|
name: "ur-nexus",
|
|
792572
|
-
version: "1.78.
|
|
792572
|
+
version: "1.78.7"
|
|
792573
792573
|
}, {
|
|
792574
792574
|
capabilities: {
|
|
792575
792575
|
tools: {}
|
|
@@ -793727,7 +793727,7 @@ function thrownResponse(error40) {
|
|
|
793727
793727
|
}
|
|
793728
793728
|
async function createUrMcp2026Runtime(options4) {
|
|
793729
793729
|
const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
|
|
793730
|
-
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.78.
|
|
793730
|
+
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.78.7" }, { capabilities: {} });
|
|
793731
793731
|
const [clientTransport, serverTransport] = createLinkedTransportPair();
|
|
793732
793732
|
try {
|
|
793733
793733
|
await server2.connect(serverTransport);
|
|
@@ -793738,7 +793738,7 @@ async function createUrMcp2026Runtime(options4) {
|
|
|
793738
793738
|
}
|
|
793739
793739
|
const runtime2 = new Mcp2026Runtime({
|
|
793740
793740
|
cwd: options4.cwd,
|
|
793741
|
-
version: "1.78.
|
|
793741
|
+
version: "1.78.7",
|
|
793742
793742
|
backend: {
|
|
793743
793743
|
listTools: async () => {
|
|
793744
793744
|
const listed = await client2.listTools();
|
|
@@ -795879,7 +795879,7 @@ async function update() {
|
|
|
795879
795879
|
logEvent("tengu_update_check", {});
|
|
795880
795880
|
const diagnostic2 = await getDoctorDiagnostic();
|
|
795881
795881
|
const result = await checkUpgradeStatus({
|
|
795882
|
-
currentVersion: "1.78.
|
|
795882
|
+
currentVersion: "1.78.7",
|
|
795883
795883
|
packageName: UR_AGENT_PACKAGE_NAME,
|
|
795884
795884
|
installationType: diagnostic2.installationType,
|
|
795885
795885
|
latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
|
|
@@ -797195,7 +797195,7 @@ ${customInstructions}` : customInstructions;
|
|
|
797195
797195
|
}
|
|
797196
797196
|
}
|
|
797197
797197
|
logForDiagnosticsNoPII("info", "started", {
|
|
797198
|
-
version: "1.78.
|
|
797198
|
+
version: "1.78.7",
|
|
797199
797199
|
is_native_binary: isInBundledMode()
|
|
797200
797200
|
});
|
|
797201
797201
|
registerCleanup(async () => {
|
|
@@ -797981,7 +797981,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
797981
797981
|
pendingHookMessages
|
|
797982
797982
|
}, renderAndRun);
|
|
797983
797983
|
}
|
|
797984
|
-
}).version("1.78.
|
|
797984
|
+
}).version("1.78.7 (UR-Nexus)", "-v, --version", "Output the version number");
|
|
797985
797985
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
797986
797986
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
797987
797987
|
if (canUserConfigureAdvisor()) {
|
|
@@ -799033,7 +799033,7 @@ if (false) {}
|
|
|
799033
799033
|
async function main2() {
|
|
799034
799034
|
const args = process.argv.slice(2);
|
|
799035
799035
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
799036
|
-
console.log(`${"1.78.
|
|
799036
|
+
console.log(`${"1.78.7"} (UR-Nexus)`);
|
|
799037
799037
|
return;
|
|
799038
799038
|
}
|
|
799039
799039
|
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.7</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.7",
|
|
6
6
|
"publisher": "ur-nexus",
|
|
7
7
|
"engines": {
|
|
8
8
|
"vscode": "^1.92.0"
|
package/package.json
CHANGED