ur-agent 1.44.1 → 1.44.2
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 +24 -0
- package/dist/cli.js +238 -98
- package/documentation/index.html +1 -1
- package/extensions/vscode-ur-inline-diffs/package.json +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.44.2
|
|
4
|
+
|
|
5
|
+
- Fix Ollama streamed tool-call accumulation: Ollama streams each completed
|
|
6
|
+
tool call in its own chunk, but the merge logic overwrote call N-1 with
|
|
7
|
+
call N, collapsing multi-call turns (e.g. several `Write` calls scaffolding
|
|
8
|
+
a test suite) into just the last call. Calls now append; string argument
|
|
9
|
+
fragments concatenate; empty argument resends no longer clobber good
|
|
10
|
+
arguments; cumulative resends stay idempotent.
|
|
11
|
+
- Repair almost-JSON tool-call arguments instead of silently emptying them.
|
|
12
|
+
Local models routinely emit raw newlines inside JSON string values,
|
|
13
|
+
markdown fences, and trailing commas; strict parsing collapsed the whole
|
|
14
|
+
input to `{}`, which surfaced as `InputValidationError: required parameter
|
|
15
|
+
\`file_path\` is missing` and trapped the model in a retry loop. A lenient
|
|
16
|
+
parser (`parseToolInputJsonLenient`) now repairs these across the Kimi
|
|
17
|
+
marker parser, the bare-JSON text parser, the Ollama input parser, and
|
|
18
|
+
streamed tool-input normalization. Repairs are tracked via the
|
|
19
|
+
`tengu_tool_input_json_repaired` event; only genuinely hopeless input still
|
|
20
|
+
falls back to `{}`.
|
|
21
|
+
- Warn (once per model, in debug logs) when an Ollama model does not
|
|
22
|
+
advertise the `tools` capability, since tool definitions are then silently
|
|
23
|
+
dropped. In that mode the system prompt now includes a concise instruction
|
|
24
|
+
telling the model to emit single-line bare-JSON tool arguments — the exact
|
|
25
|
+
format the text parser recovers — instead of leaving it to guess.
|
|
26
|
+
|
|
3
27
|
## 1.44.1
|
|
4
28
|
|
|
5
29
|
- Fix task board rendering: finished, failed, and skipped tasks now render as
|
package/dist/cli.js
CHANGED
|
@@ -14537,6 +14537,71 @@ function addItemToJSONCArray(content, newItem) {
|
|
|
14537
14537
|
return jsonStringify([newItem], null, 4);
|
|
14538
14538
|
}
|
|
14539
14539
|
}
|
|
14540
|
+
function escapeControlCharsInJsonStrings(text) {
|
|
14541
|
+
let out = "";
|
|
14542
|
+
let inString = false;
|
|
14543
|
+
let escaped = false;
|
|
14544
|
+
for (let i2 = 0;i2 < text.length; i2++) {
|
|
14545
|
+
const ch = text[i2];
|
|
14546
|
+
if (!inString) {
|
|
14547
|
+
if (ch === '"')
|
|
14548
|
+
inString = true;
|
|
14549
|
+
out += ch;
|
|
14550
|
+
continue;
|
|
14551
|
+
}
|
|
14552
|
+
if (escaped) {
|
|
14553
|
+
escaped = false;
|
|
14554
|
+
out += ch;
|
|
14555
|
+
continue;
|
|
14556
|
+
}
|
|
14557
|
+
if (ch === "\\") {
|
|
14558
|
+
escaped = true;
|
|
14559
|
+
out += ch;
|
|
14560
|
+
continue;
|
|
14561
|
+
}
|
|
14562
|
+
if (ch === '"') {
|
|
14563
|
+
inString = false;
|
|
14564
|
+
out += ch;
|
|
14565
|
+
continue;
|
|
14566
|
+
}
|
|
14567
|
+
const code = ch.charCodeAt(0);
|
|
14568
|
+
if (code < 32) {
|
|
14569
|
+
switch (ch) {
|
|
14570
|
+
case `
|
|
14571
|
+
`:
|
|
14572
|
+
out += "\\n";
|
|
14573
|
+
break;
|
|
14574
|
+
case "\r":
|
|
14575
|
+
out += "\\r";
|
|
14576
|
+
break;
|
|
14577
|
+
case "\t":
|
|
14578
|
+
out += "\\t";
|
|
14579
|
+
break;
|
|
14580
|
+
default:
|
|
14581
|
+
out += `\\u${code.toString(16).padStart(4, "0")}`;
|
|
14582
|
+
}
|
|
14583
|
+
continue;
|
|
14584
|
+
}
|
|
14585
|
+
out += ch;
|
|
14586
|
+
}
|
|
14587
|
+
return out;
|
|
14588
|
+
}
|
|
14589
|
+
function parseToolInputJsonLenient(raw) {
|
|
14590
|
+
if (!raw)
|
|
14591
|
+
return null;
|
|
14592
|
+
try {
|
|
14593
|
+
return JSON.parse(raw);
|
|
14594
|
+
} catch {}
|
|
14595
|
+
let s = raw.trim();
|
|
14596
|
+
s = s.replace(/^```(?:json)?\s*\n?/i, "").replace(/\n?```\s*$/, "");
|
|
14597
|
+
s = escapeControlCharsInJsonStrings(s);
|
|
14598
|
+
s = s.replace(/,\s*([}\]])/g, "$1");
|
|
14599
|
+
try {
|
|
14600
|
+
return JSON.parse(s);
|
|
14601
|
+
} catch {
|
|
14602
|
+
return null;
|
|
14603
|
+
}
|
|
14604
|
+
}
|
|
14540
14605
|
var PARSE_CACHE_MAX_KEY_BYTES, parseJSONCached, safeParseJSON, bunJSONLParse, MAX_JSONL_READ_BYTES;
|
|
14541
14606
|
var init_json = __esm(() => {
|
|
14542
14607
|
init_main2();
|
|
@@ -54586,11 +54651,8 @@ function parseArgs(raw) {
|
|
|
54586
54651
|
const v = JSON.parse(s);
|
|
54587
54652
|
return v && typeof v === "object" ? v : {};
|
|
54588
54653
|
} catch {
|
|
54589
|
-
|
|
54590
|
-
|
|
54591
|
-
} catch {
|
|
54592
|
-
return {};
|
|
54593
|
-
}
|
|
54654
|
+
const repaired = parseToolInputJsonLenient(s);
|
|
54655
|
+
return repaired && typeof repaired === "object" && !Array.isArray(repaired) ? repaired : {};
|
|
54594
54656
|
}
|
|
54595
54657
|
}
|
|
54596
54658
|
function parseKimiToolCalls(text) {
|
|
@@ -54710,6 +54772,10 @@ function parseJsonObject(text) {
|
|
|
54710
54772
|
const end = findJsonObjectEnd(trimmed, 0);
|
|
54711
54773
|
if (end !== null && trimmed.slice(end).trim())
|
|
54712
54774
|
return null;
|
|
54775
|
+
const repaired = parseToolInputJsonLenient(trimmed);
|
|
54776
|
+
if (repaired && typeof repaired === "object" && !Array.isArray(repaired)) {
|
|
54777
|
+
return repaired;
|
|
54778
|
+
}
|
|
54713
54779
|
return parseLooseWriteObject(trimmed) ?? parseLooseEditObject(trimmed);
|
|
54714
54780
|
}
|
|
54715
54781
|
}
|
|
@@ -55235,6 +55301,7 @@ function parseClarifyingQuestions(text, options = {}) {
|
|
|
55235
55301
|
}
|
|
55236
55302
|
var SECTION_RE, CALL_RE, STRAY_RE, CLARIFY_MAX_LEN = 2000, OPTION_LEADIN_RE, OPTION_QUESTION_LEADIN_RE, OPTION_CATCHALL_RE, OPTION_TRAILING_QUALIFIER_RE, CLARIFY_HEADER_STOP_WORDS;
|
|
55237
55303
|
var init_kimiToolCalls = __esm(() => {
|
|
55304
|
+
init_json();
|
|
55238
55305
|
SECTION_RE = /<\|tool_calls_section_begin\|>([\s\S]*?)<\|tool_calls_section_end\|>/g;
|
|
55239
55306
|
CALL_RE = /<\|tool_call_begin\|>([\s\S]*?)<\|tool_call_argument_begin\|>([\s\S]*?)<\|tool_call_end\|>/g;
|
|
55240
55307
|
STRAY_RE = /<\|tool_calls?_section_(?:begin|end)\|>|<\|tool_call_(?:begin|end|argument_begin)\|>/g;
|
|
@@ -55278,6 +55345,7 @@ var init_kimiToolCalls = __esm(() => {
|
|
|
55278
55345
|
// src/services/api/ollama.ts
|
|
55279
55346
|
var exports_ollama = {};
|
|
55280
55347
|
__export(exports_ollama, {
|
|
55348
|
+
mergeToolCalls: () => mergeToolCalls,
|
|
55281
55349
|
getOllamaRequestTimeoutMs: () => getOllamaRequestTimeoutMs,
|
|
55282
55350
|
getEffectiveOllamaBaseUrl: () => getEffectiveOllamaBaseUrl,
|
|
55283
55351
|
createOllamaURHQClient: () => createOllamaURHQClient
|
|
@@ -55430,9 +55498,15 @@ function isTruthyEnv(value) {
|
|
|
55430
55498
|
function toOllamaChatRequest(params, stream4, capabilities) {
|
|
55431
55499
|
const supportsTools = modelCapabilityEnabled(capabilities, "tools");
|
|
55432
55500
|
const tools = supportsTools ? toOllamaTools(params.tools) : [];
|
|
55501
|
+
const toolsRequested = (params.tools?.length ?? 0) > 0;
|
|
55502
|
+
const toolsDropped = toolsRequested && !supportsTools;
|
|
55503
|
+
if (toolsDropped && !warnedToolsUnsupportedModels.has(params.model)) {
|
|
55504
|
+
warnedToolsUnsupportedModels.add(params.model);
|
|
55505
|
+
logForDebugging(`Ollama model "${params.model}" does not advertise the 'tools' capability; ` + "tool definitions are not sent and tool calls fall back to text parsing. " + "Expect degraded agent behavior \u2014 prefer a tools-capable model (check with: ollama show <model>).", { level: "warn" });
|
|
55506
|
+
}
|
|
55433
55507
|
const systemMessage = {
|
|
55434
55508
|
role: "system",
|
|
55435
|
-
content: systemToText(params.system)
|
|
55509
|
+
content: systemToText(params.system) + (toolsDropped ? TEXT_TOOL_CALL_HINT : "")
|
|
55436
55510
|
};
|
|
55437
55511
|
const think = getOllamaThink(params, capabilities);
|
|
55438
55512
|
const request = {
|
|
@@ -56083,18 +56157,63 @@ function ollamaResponseToURHQMessage(response, params) {
|
|
|
56083
56157
|
usage: usageFromOllama(response, text + thinking)
|
|
56084
56158
|
};
|
|
56085
56159
|
}
|
|
56160
|
+
function isPlainObject5(value) {
|
|
56161
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
56162
|
+
}
|
|
56163
|
+
function isEmptyToolArgs(value) {
|
|
56164
|
+
if (value === undefined || value === null)
|
|
56165
|
+
return true;
|
|
56166
|
+
if (typeof value === "string")
|
|
56167
|
+
return value.trim() === "";
|
|
56168
|
+
if (isPlainObject5(value))
|
|
56169
|
+
return Object.keys(value).length === 0;
|
|
56170
|
+
return false;
|
|
56171
|
+
}
|
|
56172
|
+
function toolArgsKey(value) {
|
|
56173
|
+
if (typeof value === "string")
|
|
56174
|
+
return value;
|
|
56175
|
+
try {
|
|
56176
|
+
return JSON.stringify(value ?? {});
|
|
56177
|
+
} catch {
|
|
56178
|
+
return String(value);
|
|
56179
|
+
}
|
|
56180
|
+
}
|
|
56086
56181
|
function mergeToolCalls(target, incoming) {
|
|
56087
|
-
for (
|
|
56088
|
-
const
|
|
56089
|
-
if (!
|
|
56182
|
+
for (const current of incoming) {
|
|
56183
|
+
const fn = current?.function;
|
|
56184
|
+
if (!fn) {
|
|
56090
56185
|
continue;
|
|
56091
56186
|
}
|
|
56092
|
-
|
|
56093
|
-
|
|
56094
|
-
|
|
56095
|
-
|
|
56187
|
+
const name = fn.name;
|
|
56188
|
+
const args = fn.arguments;
|
|
56189
|
+
const last = target[target.length - 1];
|
|
56190
|
+
if (!name) {
|
|
56191
|
+
if (!last?.function) {
|
|
56192
|
+
continue;
|
|
56096
56193
|
}
|
|
56097
|
-
|
|
56194
|
+
const prev = last.function.arguments;
|
|
56195
|
+
if (typeof prev === "string" && typeof args === "string") {
|
|
56196
|
+
last.function.arguments = prev + args;
|
|
56197
|
+
} else if (isPlainObject5(prev) && isPlainObject5(args)) {
|
|
56198
|
+
last.function.arguments = { ...prev, ...args };
|
|
56199
|
+
} else if (isEmptyToolArgs(prev) && !isEmptyToolArgs(args)) {
|
|
56200
|
+
last.function.arguments = args;
|
|
56201
|
+
}
|
|
56202
|
+
continue;
|
|
56203
|
+
}
|
|
56204
|
+
if (last?.function?.name === name && typeof args === "string" && typeof last.function.arguments === "string") {
|
|
56205
|
+
last.function.arguments = last.function.arguments + args;
|
|
56206
|
+
continue;
|
|
56207
|
+
}
|
|
56208
|
+
const key = toolArgsKey(args);
|
|
56209
|
+
const duplicate = target.some((t) => t.function?.name === name && toolArgsKey(t.function?.arguments) === key);
|
|
56210
|
+
if (duplicate) {
|
|
56211
|
+
continue;
|
|
56212
|
+
}
|
|
56213
|
+
if (isEmptyToolArgs(args) && last?.function?.name === name && !isEmptyToolArgs(last.function.arguments)) {
|
|
56214
|
+
continue;
|
|
56215
|
+
}
|
|
56216
|
+
target.push({ function: { name, arguments: args ?? {} } });
|
|
56098
56217
|
}
|
|
56099
56218
|
}
|
|
56100
56219
|
function getStopReason(response, toolCalls) {
|
|
@@ -56187,20 +56306,33 @@ function parseToolInput(input) {
|
|
|
56187
56306
|
if (typeof input !== "string") {
|
|
56188
56307
|
return input ?? {};
|
|
56189
56308
|
}
|
|
56190
|
-
|
|
56191
|
-
|
|
56192
|
-
|
|
56193
|
-
return {};
|
|
56309
|
+
const parsed = parseToolInputJsonLenient(input);
|
|
56310
|
+
if (parsed === null && input.trim().length > 0) {
|
|
56311
|
+
logForDebugging(`Ollama tool call arguments failed to parse even after repair: ${input.slice(0, 200)}`, { level: "warn" });
|
|
56194
56312
|
}
|
|
56313
|
+
return parsed ?? {};
|
|
56195
56314
|
}
|
|
56196
|
-
var DEFAULT_OLLAMA_REQUEST_TIMEOUT_MS = 300000, REMOTE_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, ollamaBaseUrlOverride;
|
|
56315
|
+
var DEFAULT_OLLAMA_REQUEST_TIMEOUT_MS = 300000, REMOTE_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, ollamaBaseUrlOverride, warnedToolsUnsupportedModels, TEXT_TOOL_CALL_HINT;
|
|
56197
56316
|
var init_ollama = __esm(() => {
|
|
56198
56317
|
init_urhq_sdk();
|
|
56199
56318
|
init_ollamaModels();
|
|
56200
56319
|
init_ollamaConfig();
|
|
56201
56320
|
init_ollamaTuning();
|
|
56202
56321
|
init_kimiToolCalls();
|
|
56322
|
+
init_json();
|
|
56323
|
+
init_debug();
|
|
56203
56324
|
ollamaModelCapabilitiesCache = new Map;
|
|
56325
|
+
warnedToolsUnsupportedModels = new Set;
|
|
56326
|
+
TEXT_TOOL_CALL_HINT = [
|
|
56327
|
+
"",
|
|
56328
|
+
"IMPORTANT: This runtime could not register native tool-calling for the current model.",
|
|
56329
|
+
"To invoke a tool, output ONLY a single-line JSON object with that tool\u2019s arguments, e.g.:",
|
|
56330
|
+
'{"file_path": "/abs/path/file.py", "content": "full file content"} (Write)',
|
|
56331
|
+
'{"file_path": "/abs/path/file.py", "old_string": "before", "new_string": "after"} (Edit)',
|
|
56332
|
+
'{"command": "ls -la"} (Bash)',
|
|
56333
|
+
"Escape newlines inside JSON strings as \\n. Do not wrap the JSON in prose or code fences."
|
|
56334
|
+
].join(`
|
|
56335
|
+
`);
|
|
56204
56336
|
});
|
|
56205
56337
|
|
|
56206
56338
|
// src/services/api/providerHttp.ts
|
|
@@ -60382,7 +60514,7 @@ var require_extend = __commonJS((exports, module) => {
|
|
|
60382
60514
|
}
|
|
60383
60515
|
return toStr.call(arr) === "[object Array]";
|
|
60384
60516
|
};
|
|
60385
|
-
var
|
|
60517
|
+
var isPlainObject6 = function isPlainObject7(obj) {
|
|
60386
60518
|
if (!obj || toStr.call(obj) !== "[object Object]") {
|
|
60387
60519
|
return false;
|
|
60388
60520
|
}
|
|
@@ -60438,12 +60570,12 @@ var require_extend = __commonJS((exports, module) => {
|
|
|
60438
60570
|
src = getProperty(target, name);
|
|
60439
60571
|
copy = getProperty(options, name);
|
|
60440
60572
|
if (target !== copy) {
|
|
60441
|
-
if (deep && copy && (
|
|
60573
|
+
if (deep && copy && (isPlainObject6(copy) || (copyIsArray = isArray3(copy)))) {
|
|
60442
60574
|
if (copyIsArray) {
|
|
60443
60575
|
copyIsArray = false;
|
|
60444
60576
|
clone3 = src && isArray3(src) ? src : [];
|
|
60445
60577
|
} else {
|
|
60446
|
-
clone3 = src &&
|
|
60578
|
+
clone3 = src && isPlainObject6(src) ? src : {};
|
|
60447
60579
|
}
|
|
60448
60580
|
setProperty2(target, { name, newValue: extend3(deep, clone3, copy) });
|
|
60449
60581
|
} else if (typeof copy !== "undefined") {
|
|
@@ -71258,7 +71390,7 @@ var init_auth = __esm(() => {
|
|
|
71258
71390
|
|
|
71259
71391
|
// src/utils/userAgent.ts
|
|
71260
71392
|
function getURCodeUserAgent() {
|
|
71261
|
-
return `ur/${"1.44.
|
|
71393
|
+
return `ur/${"1.44.2"}`;
|
|
71262
71394
|
}
|
|
71263
71395
|
|
|
71264
71396
|
// src/utils/workloadContext.ts
|
|
@@ -71280,7 +71412,7 @@ function getUserAgent() {
|
|
|
71280
71412
|
const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
|
|
71281
71413
|
const workload = getWorkload();
|
|
71282
71414
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
71283
|
-
return `ur-cli/${"1.44.
|
|
71415
|
+
return `ur-cli/${"1.44.2"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
71284
71416
|
}
|
|
71285
71417
|
function getMCPUserAgent() {
|
|
71286
71418
|
const parts = [];
|
|
@@ -71294,7 +71426,7 @@ function getMCPUserAgent() {
|
|
|
71294
71426
|
parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
|
|
71295
71427
|
}
|
|
71296
71428
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
71297
|
-
return `ur/${"1.44.
|
|
71429
|
+
return `ur/${"1.44.2"}${suffix}`;
|
|
71298
71430
|
}
|
|
71299
71431
|
function getWebFetchUserAgent() {
|
|
71300
71432
|
return `UR-User (${getURCodeUserAgent()})`;
|
|
@@ -71432,7 +71564,7 @@ var init_user = __esm(() => {
|
|
|
71432
71564
|
deviceId,
|
|
71433
71565
|
sessionId: getSessionId(),
|
|
71434
71566
|
email: getEmail(),
|
|
71435
|
-
appVersion: "1.44.
|
|
71567
|
+
appVersion: "1.44.2",
|
|
71436
71568
|
platform: getHostPlatformForAnalytics(),
|
|
71437
71569
|
organizationUuid,
|
|
71438
71570
|
accountUuid,
|
|
@@ -77949,7 +78081,7 @@ var init_metadata = __esm(() => {
|
|
|
77949
78081
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
77950
78082
|
WHITESPACE_REGEX = /\s+/;
|
|
77951
78083
|
getVersionBase = memoize_default(() => {
|
|
77952
|
-
const match = "1.44.
|
|
78084
|
+
const match = "1.44.2".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
77953
78085
|
return match ? match[0] : undefined;
|
|
77954
78086
|
});
|
|
77955
78087
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -77989,7 +78121,7 @@ var init_metadata = __esm(() => {
|
|
|
77989
78121
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
77990
78122
|
isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
|
|
77991
78123
|
isURAiAuth: isURAISubscriber(),
|
|
77992
|
-
version: "1.44.
|
|
78124
|
+
version: "1.44.2",
|
|
77993
78125
|
versionBase: getVersionBase(),
|
|
77994
78126
|
buildTime: "",
|
|
77995
78127
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
@@ -78659,7 +78791,7 @@ function initialize1PEventLogging() {
|
|
|
78659
78791
|
const platform2 = getPlatform();
|
|
78660
78792
|
const attributes = {
|
|
78661
78793
|
[import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
|
|
78662
|
-
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.44.
|
|
78794
|
+
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.44.2"
|
|
78663
78795
|
};
|
|
78664
78796
|
if (platform2 === "wsl") {
|
|
78665
78797
|
const wslVersion = getWslVersion();
|
|
@@ -78686,7 +78818,7 @@ function initialize1PEventLogging() {
|
|
|
78686
78818
|
})
|
|
78687
78819
|
]
|
|
78688
78820
|
});
|
|
78689
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.44.
|
|
78821
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.44.2");
|
|
78690
78822
|
}
|
|
78691
78823
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
78692
78824
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -83988,7 +84120,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
|
|
|
83988
84120
|
function formatA2AAgentCard(options = {}, pretty = true) {
|
|
83989
84121
|
return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
|
|
83990
84122
|
}
|
|
83991
|
-
var urVersion = "1.44.
|
|
84123
|
+
var urVersion = "1.44.2", coverage, priorityRoadmap;
|
|
83992
84124
|
var init_trends = __esm(() => {
|
|
83993
84125
|
coverage = [
|
|
83994
84126
|
{
|
|
@@ -85983,7 +86115,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
85983
86115
|
if (!isAttributionHeaderEnabled()) {
|
|
85984
86116
|
return "";
|
|
85985
86117
|
}
|
|
85986
|
-
const version2 = `${"1.44.
|
|
86118
|
+
const version2 = `${"1.44.2"}.${fingerprint}`;
|
|
85987
86119
|
const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
|
|
85988
86120
|
const cch = "";
|
|
85989
86121
|
const workload = getWorkload();
|
|
@@ -193953,7 +194085,7 @@ function getTelemetryAttributes() {
|
|
|
193953
194085
|
attributes["session.id"] = sessionId;
|
|
193954
194086
|
}
|
|
193955
194087
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
193956
|
-
attributes["app.version"] = "1.44.
|
|
194088
|
+
attributes["app.version"] = "1.44.2";
|
|
193957
194089
|
}
|
|
193958
194090
|
const oauthAccount = getOauthAccountInfo();
|
|
193959
194091
|
if (oauthAccount) {
|
|
@@ -215508,7 +215640,7 @@ class Protocol {
|
|
|
215508
215640
|
};
|
|
215509
215641
|
}
|
|
215510
215642
|
}
|
|
215511
|
-
function
|
|
215643
|
+
function isPlainObject6(value) {
|
|
215512
215644
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
215513
215645
|
}
|
|
215514
215646
|
function mergeCapabilities(base2, additional) {
|
|
@@ -215519,7 +215651,7 @@ function mergeCapabilities(base2, additional) {
|
|
|
215519
215651
|
if (addValue === undefined)
|
|
215520
215652
|
continue;
|
|
215521
215653
|
const baseValue = result[k];
|
|
215522
|
-
if (
|
|
215654
|
+
if (isPlainObject6(baseValue) && isPlainObject6(addValue)) {
|
|
215523
215655
|
result[k] = { ...baseValue, ...addValue };
|
|
215524
215656
|
} else {
|
|
215525
215657
|
result[k] = addValue;
|
|
@@ -229341,7 +229473,7 @@ function getInstallationEnv() {
|
|
|
229341
229473
|
return;
|
|
229342
229474
|
}
|
|
229343
229475
|
function getURCodeVersion() {
|
|
229344
|
-
return "1.44.
|
|
229476
|
+
return "1.44.2";
|
|
229345
229477
|
}
|
|
229346
229478
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
229347
229479
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -232180,7 +232312,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
232180
232312
|
const client2 = new Client({
|
|
232181
232313
|
name: "ur",
|
|
232182
232314
|
title: "UR",
|
|
232183
|
-
version: "1.44.
|
|
232315
|
+
version: "1.44.2",
|
|
232184
232316
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
232185
232317
|
websiteUrl: PRODUCT_URL
|
|
232186
232318
|
}, {
|
|
@@ -232534,7 +232666,7 @@ var init_client5 = __esm(() => {
|
|
|
232534
232666
|
const client2 = new Client({
|
|
232535
232667
|
name: "ur",
|
|
232536
232668
|
title: "UR",
|
|
232537
|
-
version: "1.44.
|
|
232669
|
+
version: "1.44.2",
|
|
232538
232670
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
232539
232671
|
websiteUrl: PRODUCT_URL
|
|
232540
232672
|
}, {
|
|
@@ -242348,9 +242480,9 @@ async function assertMinVersion() {
|
|
|
242348
242480
|
if (false) {}
|
|
242349
242481
|
try {
|
|
242350
242482
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
242351
|
-
if (versionConfig.minVersion && lt("1.44.
|
|
242483
|
+
if (versionConfig.minVersion && lt("1.44.2", versionConfig.minVersion)) {
|
|
242352
242484
|
console.error(`
|
|
242353
|
-
It looks like your version of UR (${"1.44.
|
|
242485
|
+
It looks like your version of UR (${"1.44.2"}) needs an update.
|
|
242354
242486
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
242355
242487
|
|
|
242356
242488
|
To update, please run:
|
|
@@ -242566,7 +242698,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
242566
242698
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
242567
242699
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
242568
242700
|
pid: process.pid,
|
|
242569
|
-
currentVersion: "1.44.
|
|
242701
|
+
currentVersion: "1.44.2"
|
|
242570
242702
|
});
|
|
242571
242703
|
return "in_progress";
|
|
242572
242704
|
}
|
|
@@ -242575,7 +242707,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
242575
242707
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
242576
242708
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
242577
242709
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
242578
|
-
currentVersion: "1.44.
|
|
242710
|
+
currentVersion: "1.44.2"
|
|
242579
242711
|
});
|
|
242580
242712
|
console.error(`
|
|
242581
242713
|
Error: Windows NPM detected in WSL
|
|
@@ -243110,7 +243242,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
243110
243242
|
}
|
|
243111
243243
|
async function getDoctorDiagnostic() {
|
|
243112
243244
|
const installationType = await getCurrentInstallationType();
|
|
243113
|
-
const version2 = typeof MACRO !== "undefined" ? "1.44.
|
|
243245
|
+
const version2 = typeof MACRO !== "undefined" ? "1.44.2" : "unknown";
|
|
243114
243246
|
const installationPath = await getInstallationPath();
|
|
243115
243247
|
const invokedBinary = getInvokedBinary();
|
|
243116
243248
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -244045,8 +244177,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
244045
244177
|
const maxVersion = await getMaxVersion();
|
|
244046
244178
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
244047
244179
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
244048
|
-
if (gte("1.44.
|
|
244049
|
-
logForDebugging(`Native installer: current version ${"1.44.
|
|
244180
|
+
if (gte("1.44.2", maxVersion)) {
|
|
244181
|
+
logForDebugging(`Native installer: current version ${"1.44.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
244050
244182
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
244051
244183
|
latency_ms: Date.now() - startTime,
|
|
244052
244184
|
max_version: maxVersion,
|
|
@@ -244057,7 +244189,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
244057
244189
|
version2 = maxVersion;
|
|
244058
244190
|
}
|
|
244059
244191
|
}
|
|
244060
|
-
if (!forceReinstall && version2 === "1.44.
|
|
244192
|
+
if (!forceReinstall && version2 === "1.44.2" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
|
|
244061
244193
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
244062
244194
|
logEvent("tengu_native_update_complete", {
|
|
244063
244195
|
latency_ms: Date.now() - startTime,
|
|
@@ -331380,14 +331512,22 @@ function normalizeContentFromAPI(contentBlocks, tools, agentId) {
|
|
|
331380
331512
|
}
|
|
331381
331513
|
let normalizedInput;
|
|
331382
331514
|
if (typeof contentBlock.input === "string") {
|
|
331383
|
-
|
|
331515
|
+
let parsed = safeParseJSON(contentBlock.input, false);
|
|
331384
331516
|
if (parsed === null && contentBlock.input.length > 0) {
|
|
331385
|
-
|
|
331386
|
-
|
|
331387
|
-
|
|
331388
|
-
|
|
331389
|
-
|
|
331390
|
-
|
|
331517
|
+
parsed = parseToolInputJsonLenient(contentBlock.input);
|
|
331518
|
+
if (parsed !== null) {
|
|
331519
|
+
logEvent("tengu_tool_input_json_repaired", {
|
|
331520
|
+
toolName: sanitizeToolNameForAnalytics(contentBlock.name),
|
|
331521
|
+
inputLen: contentBlock.input.length
|
|
331522
|
+
});
|
|
331523
|
+
} else {
|
|
331524
|
+
logEvent("tengu_tool_input_json_parse_fail", {
|
|
331525
|
+
toolName: sanitizeToolNameForAnalytics(contentBlock.name),
|
|
331526
|
+
inputLen: contentBlock.input.length
|
|
331527
|
+
});
|
|
331528
|
+
if (process.env.USER_TYPE === "ant") {
|
|
331529
|
+
logForDebugging(`tool input JSON parse fail: ${contentBlock.input.slice(0, 200)}`, { level: "warn" });
|
|
331530
|
+
}
|
|
331391
331531
|
}
|
|
331392
331532
|
}
|
|
331393
331533
|
normalizedInput = parsed ?? {};
|
|
@@ -341064,7 +341204,7 @@ function Feedback({
|
|
|
341064
341204
|
platform: env2.platform,
|
|
341065
341205
|
gitRepo: envInfo.isGit,
|
|
341066
341206
|
terminal: env2.terminal,
|
|
341067
|
-
version: "1.44.
|
|
341207
|
+
version: "1.44.2",
|
|
341068
341208
|
transcript: normalizeMessagesForAPI(messages),
|
|
341069
341209
|
errors: sanitizedErrors,
|
|
341070
341210
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -341256,7 +341396,7 @@ function Feedback({
|
|
|
341256
341396
|
", ",
|
|
341257
341397
|
env2.terminal,
|
|
341258
341398
|
", v",
|
|
341259
|
-
"1.44.
|
|
341399
|
+
"1.44.2"
|
|
341260
341400
|
]
|
|
341261
341401
|
}, undefined, true, undefined, this)
|
|
341262
341402
|
]
|
|
@@ -341362,7 +341502,7 @@ ${sanitizedDescription}
|
|
|
341362
341502
|
` + `**Environment Info**
|
|
341363
341503
|
` + `- Platform: ${env2.platform}
|
|
341364
341504
|
` + `- Terminal: ${env2.terminal}
|
|
341365
|
-
` + `- Version: ${"1.44.
|
|
341505
|
+
` + `- Version: ${"1.44.2"}
|
|
341366
341506
|
` + `- Feedback ID: ${feedbackId}
|
|
341367
341507
|
` + `
|
|
341368
341508
|
**Errors**
|
|
@@ -344473,7 +344613,7 @@ function buildPrimarySection() {
|
|
|
344473
344613
|
}, undefined, false, undefined, this);
|
|
344474
344614
|
return [{
|
|
344475
344615
|
label: "Version",
|
|
344476
|
-
value: "1.44.
|
|
344616
|
+
value: "1.44.2"
|
|
344477
344617
|
}, {
|
|
344478
344618
|
label: "Session name",
|
|
344479
344619
|
value: nameValue
|
|
@@ -347803,7 +347943,7 @@ function Config({
|
|
|
347803
347943
|
}
|
|
347804
347944
|
}, undefined, false, undefined, this)
|
|
347805
347945
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime177.jsxDEV(ChannelDowngradeDialog, {
|
|
347806
|
-
currentVersion: "1.44.
|
|
347946
|
+
currentVersion: "1.44.2",
|
|
347807
347947
|
onChoice: (choice) => {
|
|
347808
347948
|
setShowSubmenu(null);
|
|
347809
347949
|
setTabsHidden(false);
|
|
@@ -347815,7 +347955,7 @@ function Config({
|
|
|
347815
347955
|
autoUpdatesChannel: "stable"
|
|
347816
347956
|
};
|
|
347817
347957
|
if (choice === "stay") {
|
|
347818
|
-
newSettings.minimumVersion = "1.44.
|
|
347958
|
+
newSettings.minimumVersion = "1.44.2";
|
|
347819
347959
|
}
|
|
347820
347960
|
updateSettingsForSource("userSettings", newSettings);
|
|
347821
347961
|
setSettingsData((prev_27) => ({
|
|
@@ -355885,7 +356025,7 @@ function HelpV2(t0) {
|
|
|
355885
356025
|
let t6;
|
|
355886
356026
|
if ($3[31] !== tabs) {
|
|
355887
356027
|
t6 = /* @__PURE__ */ jsx_dev_runtime204.jsxDEV(Tabs, {
|
|
355888
|
-
title: `UR v${"1.44.
|
|
356028
|
+
title: `UR v${"1.44.2"}`,
|
|
355889
356029
|
color: "professionalBlue",
|
|
355890
356030
|
defaultTab: "general",
|
|
355891
356031
|
children: tabs
|
|
@@ -356631,7 +356771,7 @@ function buildToolUseContext(tools, readFileStateCache) {
|
|
|
356631
356771
|
async function handleInitialize(options2) {
|
|
356632
356772
|
return {
|
|
356633
356773
|
name: "UR",
|
|
356634
|
-
version: "1.44.
|
|
356774
|
+
version: "1.44.2",
|
|
356635
356775
|
protocolVersion: "0.1.0",
|
|
356636
356776
|
workspaceRoot: options2.cwd,
|
|
356637
356777
|
capabilities: {
|
|
@@ -376773,7 +376913,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
376773
376913
|
return [];
|
|
376774
376914
|
}
|
|
376775
376915
|
}
|
|
376776
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.44.
|
|
376916
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.44.2") {
|
|
376777
376917
|
if (process.env.USER_TYPE === "ant") {
|
|
376778
376918
|
const changelog = "";
|
|
376779
376919
|
if (changelog) {
|
|
@@ -376800,7 +376940,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.44.1")
|
|
|
376800
376940
|
releaseNotes
|
|
376801
376941
|
};
|
|
376802
376942
|
}
|
|
376803
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.44.
|
|
376943
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.44.2") {
|
|
376804
376944
|
if (process.env.USER_TYPE === "ant") {
|
|
376805
376945
|
const changelog = "";
|
|
376806
376946
|
if (changelog) {
|
|
@@ -377979,7 +378119,7 @@ function getRecentActivitySync() {
|
|
|
377979
378119
|
return cachedActivity;
|
|
377980
378120
|
}
|
|
377981
378121
|
function getLogoDisplayData() {
|
|
377982
|
-
const version2 = process.env.DEMO_VERSION ?? "1.44.
|
|
378122
|
+
const version2 = process.env.DEMO_VERSION ?? "1.44.2";
|
|
377983
378123
|
const serverUrl = getDirectConnectServerUrl();
|
|
377984
378124
|
const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
|
|
377985
378125
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -378768,7 +378908,7 @@ function LogoV2() {
|
|
|
378768
378908
|
if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
378769
378909
|
t2 = () => {
|
|
378770
378910
|
const currentConfig2 = getGlobalConfig();
|
|
378771
|
-
if (currentConfig2.lastReleaseNotesSeen === "1.44.
|
|
378911
|
+
if (currentConfig2.lastReleaseNotesSeen === "1.44.2") {
|
|
378772
378912
|
return;
|
|
378773
378913
|
}
|
|
378774
378914
|
saveGlobalConfig(_temp326);
|
|
@@ -379453,12 +379593,12 @@ function LogoV2() {
|
|
|
379453
379593
|
return t41;
|
|
379454
379594
|
}
|
|
379455
379595
|
function _temp326(current) {
|
|
379456
|
-
if (current.lastReleaseNotesSeen === "1.44.
|
|
379596
|
+
if (current.lastReleaseNotesSeen === "1.44.2") {
|
|
379457
379597
|
return current;
|
|
379458
379598
|
}
|
|
379459
379599
|
return {
|
|
379460
379600
|
...current,
|
|
379461
|
-
lastReleaseNotesSeen: "1.44.
|
|
379601
|
+
lastReleaseNotesSeen: "1.44.2"
|
|
379462
379602
|
};
|
|
379463
379603
|
}
|
|
379464
379604
|
function _temp243(s_0) {
|
|
@@ -596888,7 +597028,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
|
|
|
596888
597028
|
smapsRollup,
|
|
596889
597029
|
platform: process.platform,
|
|
596890
597030
|
nodeVersion: process.version,
|
|
596891
|
-
ccVersion: "1.44.
|
|
597031
|
+
ccVersion: "1.44.2"
|
|
596892
597032
|
};
|
|
596893
597033
|
}
|
|
596894
597034
|
async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
|
|
@@ -597474,7 +597614,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
597474
597614
|
var call137 = async () => {
|
|
597475
597615
|
return {
|
|
597476
597616
|
type: "text",
|
|
597477
|
-
value: "1.44.
|
|
597617
|
+
value: "1.44.2"
|
|
597478
597618
|
};
|
|
597479
597619
|
}, version2, version_default;
|
|
597480
597620
|
var init_version = __esm(() => {
|
|
@@ -607567,7 +607707,7 @@ function generateHtmlReport(data, insights) {
|
|
|
607567
607707
|
</html>`;
|
|
607568
607708
|
}
|
|
607569
607709
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
607570
|
-
const version3 = typeof MACRO !== "undefined" ? "1.44.
|
|
607710
|
+
const version3 = typeof MACRO !== "undefined" ? "1.44.2" : "unknown";
|
|
607571
607711
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
607572
607712
|
const facets_summary = {
|
|
607573
607713
|
total: facets.size,
|
|
@@ -611847,7 +611987,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
611847
611987
|
init_settings2();
|
|
611848
611988
|
init_slowOperations();
|
|
611849
611989
|
init_uuid();
|
|
611850
|
-
VERSION5 = typeof MACRO !== "undefined" ? "1.44.
|
|
611990
|
+
VERSION5 = typeof MACRO !== "undefined" ? "1.44.2" : "unknown";
|
|
611851
611991
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
611852
611992
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
611853
611993
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -613052,7 +613192,7 @@ var init_filesystem = __esm(() => {
|
|
|
613052
613192
|
});
|
|
613053
613193
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
613054
613194
|
const nonce = randomBytes18(16).toString("hex");
|
|
613055
|
-
return join202(getURTempDir(), "bundled-skills", "1.44.
|
|
613195
|
+
return join202(getURTempDir(), "bundled-skills", "1.44.2", nonce);
|
|
613056
613196
|
});
|
|
613057
613197
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
613058
613198
|
});
|
|
@@ -619343,7 +619483,7 @@ function computeFingerprint(messageText2, version3) {
|
|
|
619343
619483
|
}
|
|
619344
619484
|
function computeFingerprintFromMessages(messages) {
|
|
619345
619485
|
const firstMessageText = extractFirstMessageText(messages);
|
|
619346
|
-
return computeFingerprint(firstMessageText, "1.44.
|
|
619486
|
+
return computeFingerprint(firstMessageText, "1.44.2");
|
|
619347
619487
|
}
|
|
619348
619488
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
619349
619489
|
var init_fingerprint = () => {};
|
|
@@ -621217,7 +621357,7 @@ async function sideQuery(opts) {
|
|
|
621217
621357
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
621218
621358
|
}
|
|
621219
621359
|
const messageText2 = extractFirstUserMessageText(messages);
|
|
621220
|
-
const fingerprint2 = computeFingerprint(messageText2, "1.44.
|
|
621360
|
+
const fingerprint2 = computeFingerprint(messageText2, "1.44.2");
|
|
621221
621361
|
const attributionHeader = getAttributionHeader(fingerprint2);
|
|
621222
621362
|
const systemBlocks = [
|
|
621223
621363
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -625954,7 +626094,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
625954
626094
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
625955
626095
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
625956
626096
|
betas: getSdkBetas(),
|
|
625957
|
-
ur_version: "1.44.
|
|
626097
|
+
ur_version: "1.44.2",
|
|
625958
626098
|
output_style: outputStyle2,
|
|
625959
626099
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
625960
626100
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
|
|
@@ -640582,7 +640722,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
640582
640722
|
function getSemverPart(version3) {
|
|
640583
640723
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
640584
640724
|
}
|
|
640585
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.44.
|
|
640725
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.44.2") {
|
|
640586
640726
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react226.useState(() => getSemverPart(initialVersion));
|
|
640587
640727
|
if (!updatedVersion) {
|
|
640588
640728
|
return null;
|
|
@@ -640631,7 +640771,7 @@ function AutoUpdater({
|
|
|
640631
640771
|
return;
|
|
640632
640772
|
}
|
|
640633
640773
|
if (false) {}
|
|
640634
|
-
const currentVersion = "1.44.
|
|
640774
|
+
const currentVersion = "1.44.2";
|
|
640635
640775
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
640636
640776
|
let latestVersion = await getLatestVersion(channel);
|
|
640637
640777
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -640860,12 +641000,12 @@ function NativeAutoUpdater({
|
|
|
640860
641000
|
logEvent("tengu_native_auto_updater_start", {});
|
|
640861
641001
|
try {
|
|
640862
641002
|
const maxVersion = await getMaxVersion();
|
|
640863
|
-
if (maxVersion && gt("1.44.
|
|
641003
|
+
if (maxVersion && gt("1.44.2", maxVersion)) {
|
|
640864
641004
|
const msg = await getMaxVersionMessage();
|
|
640865
641005
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
640866
641006
|
}
|
|
640867
641007
|
const result = await installLatest(channel);
|
|
640868
|
-
const currentVersion = "1.44.
|
|
641008
|
+
const currentVersion = "1.44.2";
|
|
640869
641009
|
const latencyMs = Date.now() - startTime;
|
|
640870
641010
|
if (result.lockFailed) {
|
|
640871
641011
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -641002,17 +641142,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
641002
641142
|
const maxVersion = await getMaxVersion();
|
|
641003
641143
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
641004
641144
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
641005
|
-
if (gte("1.44.
|
|
641006
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.44.
|
|
641145
|
+
if (gte("1.44.2", maxVersion)) {
|
|
641146
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.44.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
641007
641147
|
setUpdateAvailable(false);
|
|
641008
641148
|
return;
|
|
641009
641149
|
}
|
|
641010
641150
|
latest = maxVersion;
|
|
641011
641151
|
}
|
|
641012
|
-
const hasUpdate = latest && !gte("1.44.
|
|
641152
|
+
const hasUpdate = latest && !gte("1.44.2", latest) && !shouldSkipVersion(latest);
|
|
641013
641153
|
setUpdateAvailable(!!hasUpdate);
|
|
641014
641154
|
if (hasUpdate) {
|
|
641015
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.44.
|
|
641155
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.44.2"} -> ${latest}`);
|
|
641016
641156
|
}
|
|
641017
641157
|
};
|
|
641018
641158
|
$3[0] = t1;
|
|
@@ -641046,7 +641186,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
641046
641186
|
wrap: "truncate",
|
|
641047
641187
|
children: [
|
|
641048
641188
|
"currentVersion: ",
|
|
641049
|
-
"1.44.
|
|
641189
|
+
"1.44.2"
|
|
641050
641190
|
]
|
|
641051
641191
|
}, undefined, true, undefined, this);
|
|
641052
641192
|
$3[3] = verbose;
|
|
@@ -653498,7 +653638,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
653498
653638
|
project_dir: getOriginalCwd(),
|
|
653499
653639
|
added_dirs: addedDirs
|
|
653500
653640
|
},
|
|
653501
|
-
version: "1.44.
|
|
653641
|
+
version: "1.44.2",
|
|
653502
653642
|
output_style: {
|
|
653503
653643
|
name: outputStyleName
|
|
653504
653644
|
},
|
|
@@ -653581,7 +653721,7 @@ function StatusLineInner({
|
|
|
653581
653721
|
const taskValues = Object.values(tasks2);
|
|
653582
653722
|
const taskRunningCount = taskValues.filter((task2) => task2.status === "running" || task2.status === "pending").length;
|
|
653583
653723
|
const defaultStatusLineText = buildDefaultStatusBar({
|
|
653584
|
-
version: "1.44.
|
|
653724
|
+
version: "1.44.2",
|
|
653585
653725
|
providerLabel: providerRuntime.providerLabel,
|
|
653586
653726
|
authMode: providerRuntime.authLabel,
|
|
653587
653727
|
model: providerRuntime.model ?? renderModelName(mainLoopModel),
|
|
@@ -665069,7 +665209,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
|
|
|
665069
665209
|
} catch {}
|
|
665070
665210
|
const data = {
|
|
665071
665211
|
trigger: trigger2,
|
|
665072
|
-
version: "1.44.
|
|
665212
|
+
version: "1.44.2",
|
|
665073
665213
|
platform: process.platform,
|
|
665074
665214
|
transcript,
|
|
665075
665215
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -676954,7 +677094,7 @@ function WelcomeV2() {
|
|
|
676954
677094
|
dimColor: true,
|
|
676955
677095
|
children: [
|
|
676956
677096
|
"v",
|
|
676957
|
-
"1.44.
|
|
677097
|
+
"1.44.2"
|
|
676958
677098
|
]
|
|
676959
677099
|
}, undefined, true, undefined, this)
|
|
676960
677100
|
]
|
|
@@ -678214,7 +678354,7 @@ function completeOnboarding() {
|
|
|
678214
678354
|
saveGlobalConfig((current) => ({
|
|
678215
678355
|
...current,
|
|
678216
678356
|
hasCompletedOnboarding: true,
|
|
678217
|
-
lastOnboardingVersion: "1.44.
|
|
678357
|
+
lastOnboardingVersion: "1.44.2"
|
|
678218
678358
|
}));
|
|
678219
678359
|
}
|
|
678220
678360
|
function showDialog(root2, renderer) {
|
|
@@ -683251,7 +683391,7 @@ function appendToLog(path24, message) {
|
|
|
683251
683391
|
cwd: getFsImplementation().cwd(),
|
|
683252
683392
|
userType: process.env.USER_TYPE,
|
|
683253
683393
|
sessionId: getSessionId(),
|
|
683254
|
-
version: "1.44.
|
|
683394
|
+
version: "1.44.2"
|
|
683255
683395
|
};
|
|
683256
683396
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
683257
683397
|
}
|
|
@@ -687345,8 +687485,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
687345
687485
|
}
|
|
687346
687486
|
async function checkEnvLessBridgeMinVersion() {
|
|
687347
687487
|
const cfg = await getEnvLessBridgeConfig();
|
|
687348
|
-
if (cfg.min_version && lt("1.44.
|
|
687349
|
-
return `Your version of UR (${"1.44.
|
|
687488
|
+
if (cfg.min_version && lt("1.44.2", cfg.min_version)) {
|
|
687489
|
+
return `Your version of UR (${"1.44.2"}) is too old for Remote Control.
|
|
687350
687490
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
687351
687491
|
}
|
|
687352
687492
|
return null;
|
|
@@ -687820,7 +687960,7 @@ async function initBridgeCore(params) {
|
|
|
687820
687960
|
const rawApi = createBridgeApiClient({
|
|
687821
687961
|
baseUrl,
|
|
687822
687962
|
getAccessToken,
|
|
687823
|
-
runnerVersion: "1.44.
|
|
687963
|
+
runnerVersion: "1.44.2",
|
|
687824
687964
|
onDebug: logForDebugging,
|
|
687825
687965
|
onAuth401,
|
|
687826
687966
|
getTrustedDeviceToken
|
|
@@ -693502,7 +693642,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
|
|
|
693502
693642
|
setCwd(cwd3);
|
|
693503
693643
|
const server2 = new Server({
|
|
693504
693644
|
name: "ur/tengu",
|
|
693505
|
-
version: "1.44.
|
|
693645
|
+
version: "1.44.2"
|
|
693506
693646
|
}, {
|
|
693507
693647
|
capabilities: {
|
|
693508
693648
|
tools: {}
|
|
@@ -695544,7 +695684,7 @@ async function update() {
|
|
|
695544
695684
|
logEvent("tengu_update_check", {});
|
|
695545
695685
|
const diagnostic = await getDoctorDiagnostic();
|
|
695546
695686
|
const result = await checkUpgradeStatus({
|
|
695547
|
-
currentVersion: "1.44.
|
|
695687
|
+
currentVersion: "1.44.2",
|
|
695548
695688
|
packageName: UR_AGENT_PACKAGE_NAME,
|
|
695549
695689
|
installationType: diagnostic.installationType,
|
|
695550
695690
|
latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
|
|
@@ -696790,7 +696930,7 @@ ${customInstructions}` : customInstructions;
|
|
|
696790
696930
|
}
|
|
696791
696931
|
}
|
|
696792
696932
|
logForDiagnosticsNoPII("info", "started", {
|
|
696793
|
-
version: "1.44.
|
|
696933
|
+
version: "1.44.2",
|
|
696794
696934
|
is_native_binary: isInBundledMode()
|
|
696795
696935
|
});
|
|
696796
696936
|
registerCleanup(async () => {
|
|
@@ -697576,7 +697716,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
697576
697716
|
pendingHookMessages
|
|
697577
697717
|
}, renderAndRun);
|
|
697578
697718
|
}
|
|
697579
|
-
}).version("1.44.
|
|
697719
|
+
}).version("1.44.2 (UR-Nexus)", "-v, --version", "Output the version number");
|
|
697580
697720
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
697581
697721
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
697582
697722
|
if (canUserConfigureAdvisor()) {
|
|
@@ -698491,7 +698631,7 @@ if (false) {}
|
|
|
698491
698631
|
async function main2() {
|
|
698492
698632
|
const args = process.argv.slice(2);
|
|
698493
698633
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
698494
|
-
console.log(`${"1.44.
|
|
698634
|
+
console.log(`${"1.44.2"} (UR-Nexus)`);
|
|
698495
698635
|
return;
|
|
698496
698636
|
}
|
|
698497
698637
|
if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
|
package/documentation/index.html
CHANGED
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
<main id="content" class="content">
|
|
45
45
|
<header class="topbar">
|
|
46
46
|
<div>
|
|
47
|
-
<p class="eyebrow">Version 1.44.
|
|
47
|
+
<p class="eyebrow">Version 1.44.2</p>
|
|
48
48
|
<h1>UR-Nexus Documentation</h1>
|
|
49
49
|
<p class="lead">A practical, tutorial-style reference for installing, configuring, automating, extending, and operating UR-Nexus.</p>
|
|
50
50
|
</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.44.
|
|
5
|
+
"version": "1.44.2",
|
|
6
6
|
"publisher": "ur-nexus",
|
|
7
7
|
"engines": {
|
|
8
8
|
"vscode": "^1.92.0"
|
package/package.json
CHANGED