ur-agent 1.76.7 → 1.76.10
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/dist/cli.js
CHANGED
|
@@ -87800,7 +87800,7 @@ function normalizeAskUserQuestionInput(value) {
|
|
|
87800
87800
|
...commonFields
|
|
87801
87801
|
};
|
|
87802
87802
|
}
|
|
87803
|
-
return
|
|
87803
|
+
return input;
|
|
87804
87804
|
}
|
|
87805
87805
|
if (Array.isArray(input.questions)) {
|
|
87806
87806
|
const normalized = input.questions.map((entry, index2) => normalizeQuestionInput(entry, index2)).filter((entry) => entry !== null && typeof entry === "object");
|
|
@@ -87810,7 +87810,7 @@ function normalizeAskUserQuestionInput(value) {
|
|
|
87810
87810
|
...commonFields
|
|
87811
87811
|
};
|
|
87812
87812
|
}
|
|
87813
|
-
return
|
|
87813
|
+
return input;
|
|
87814
87814
|
}
|
|
87815
87815
|
if (optionsField(input) !== null) {
|
|
87816
87816
|
const singleQuestion = normalizeQuestionInput(input, 0);
|
|
@@ -87821,7 +87821,7 @@ function normalizeAskUserQuestionInput(value) {
|
|
|
87821
87821
|
};
|
|
87822
87822
|
}
|
|
87823
87823
|
}
|
|
87824
|
-
return
|
|
87824
|
+
return input;
|
|
87825
87825
|
}
|
|
87826
87826
|
function AskUserQuestionResultMessage(t0) {
|
|
87827
87827
|
const $2 = import_compiler_runtime17.c(3);
|
|
@@ -89879,13 +89879,15 @@ async function* readOllamaChunks(response, controller, timeoutMs, options) {
|
|
|
89879
89879
|
const reader = response.body.getReader();
|
|
89880
89880
|
const decoder = new TextDecoder;
|
|
89881
89881
|
let buffer = "";
|
|
89882
|
-
const
|
|
89882
|
+
const nextDeadline = () => timeoutMs > 0 ? Date.now() + timeoutMs : Infinity;
|
|
89883
|
+
let deadline = nextDeadline();
|
|
89883
89884
|
try {
|
|
89884
89885
|
while (true) {
|
|
89885
89886
|
const { done, value } = await readWithDeadline(reader, deadline, controller, options);
|
|
89886
89887
|
if (done) {
|
|
89887
89888
|
break;
|
|
89888
89889
|
}
|
|
89890
|
+
deadline = nextDeadline();
|
|
89889
89891
|
buffer += decoder.decode(value, { stream: true });
|
|
89890
89892
|
let newlineIndex = buffer.indexOf(`
|
|
89891
89893
|
`);
|
|
@@ -90463,7 +90465,7 @@ function withStreamIdleTimeout(source, idleMs, onTimeout) {
|
|
|
90463
90465
|
}
|
|
90464
90466
|
});
|
|
90465
90467
|
}
|
|
90466
|
-
var DEFAULT_STREAM_IDLE_TIMEOUT_MS =
|
|
90468
|
+
var DEFAULT_STREAM_IDLE_TIMEOUT_MS = 300000, StreamIdleTimeoutError;
|
|
90467
90469
|
var init_streamIdleTimeout = __esm(() => {
|
|
90468
90470
|
StreamIdleTimeoutError = class StreamIdleTimeoutError extends Error {
|
|
90469
90471
|
idleMs;
|
|
@@ -90498,6 +90500,12 @@ function parseNonNegativeInteger(value) {
|
|
|
90498
90500
|
function getProviderRequestTimeoutMs(override) {
|
|
90499
90501
|
return parsePositiveInteger(override) ?? parsePositiveInteger(process.env.API_TIMEOUT_MS) ?? parsePositiveInteger(process.env.UR_API_TIMEOUT_MS) ?? parsePositiveInteger(getInitialSettings().provider?.timeoutMs) ?? DEFAULT_PROVIDER_REQUEST_TIMEOUT_MS;
|
|
90500
90502
|
}
|
|
90503
|
+
function getProviderStreamTimeoutMs(override) {
|
|
90504
|
+
const explicit = parsePositiveInteger(override) ?? parsePositiveInteger(process.env.UR_STREAM_REQUEST_TIMEOUT_MS) ?? parsePositiveInteger(getInitialSettings().provider?.streamTimeoutMs);
|
|
90505
|
+
if (explicit !== undefined)
|
|
90506
|
+
return explicit;
|
|
90507
|
+
return Math.max(DEFAULT_PROVIDER_STREAM_TIMEOUT_MS, getProviderRequestTimeoutMs());
|
|
90508
|
+
}
|
|
90501
90509
|
function normalizeProviderMaxRetries(value) {
|
|
90502
90510
|
const parsed = parseNonNegativeInteger(value);
|
|
90503
90511
|
if (parsed === undefined)
|
|
@@ -90644,7 +90652,7 @@ async function waitForResponseBody(response, signal) {
|
|
|
90644
90652
|
}
|
|
90645
90653
|
}
|
|
90646
90654
|
async function fetchWithProviderReliability(input, init, options) {
|
|
90647
|
-
const timeoutMs = getProviderRequestTimeoutMs(options.timeoutMs);
|
|
90655
|
+
const timeoutMs = options.streaming ? getProviderStreamTimeoutMs(options.timeoutMs) : getProviderRequestTimeoutMs(options.timeoutMs);
|
|
90648
90656
|
const fetchImpl = options.fetch ?? fetch;
|
|
90649
90657
|
return withProviderRetry(async () => {
|
|
90650
90658
|
const timeout = createTimeoutSignal(options.signal, timeoutMs);
|
|
@@ -90685,7 +90693,7 @@ async function fetchWithProviderReliability(input, init, options) {
|
|
|
90685
90693
|
}, options);
|
|
90686
90694
|
}
|
|
90687
90695
|
async function axiosPostWithProviderReliability(url3, body, config2, options = {}) {
|
|
90688
|
-
const timeout = getProviderRequestTimeoutMs(options.timeoutMs);
|
|
90696
|
+
const timeout = options.streaming ? getProviderStreamTimeoutMs(options.timeoutMs) : getProviderRequestTimeoutMs(options.timeoutMs);
|
|
90689
90697
|
return withProviderRetry(() => axios_default.post(url3, body, {
|
|
90690
90698
|
...config2,
|
|
90691
90699
|
timeout,
|
|
@@ -90726,7 +90734,7 @@ function normalizeProviderEndpoint(baseUrl, defaultBaseUrl, finalSegment) {
|
|
|
90726
90734
|
}
|
|
90727
90735
|
return url3.toString().replace(/\/$/, "");
|
|
90728
90736
|
}
|
|
90729
|
-
var DEFAULT_PROVIDER_REQUEST_TIMEOUT_MS = 120000, DEFAULT_PROVIDER_MAX_RETRIES = 3, DEFAULT_RETRY_BASE_DELAY_MS = 250, RETRYABLE_STATUSES, NON_RETRYABLE_STATUSES, TRANSIENT_NETWORK_CODES, ProviderHTTPError, ProviderTimeoutError;
|
|
90737
|
+
var DEFAULT_PROVIDER_REQUEST_TIMEOUT_MS = 120000, DEFAULT_PROVIDER_STREAM_TIMEOUT_MS = 900000, DEFAULT_PROVIDER_MAX_RETRIES = 3, DEFAULT_RETRY_BASE_DELAY_MS = 250, RETRYABLE_STATUSES, NON_RETRYABLE_STATUSES, TRANSIENT_NETWORK_CODES, ProviderHTTPError, ProviderTimeoutError;
|
|
90730
90738
|
var init_providerHttp = __esm(() => {
|
|
90731
90739
|
init_axios2();
|
|
90732
90740
|
init_settings2();
|
|
@@ -90973,6 +90981,10 @@ async function* streamOpenAIEvents(body, options) {
|
|
|
90973
90981
|
}
|
|
90974
90982
|
};
|
|
90975
90983
|
for await (const payload of readSSEData(body, options.signal)) {
|
|
90984
|
+
if (payload === SSE_KEEPALIVE) {
|
|
90985
|
+
yield { type: "ping" };
|
|
90986
|
+
continue;
|
|
90987
|
+
}
|
|
90976
90988
|
if (payload === "[DONE]") {
|
|
90977
90989
|
sawDone = true;
|
|
90978
90990
|
break;
|
|
@@ -91187,6 +91199,10 @@ async function* streamOpenAIResponsesEvents(body, options) {
|
|
|
91187
91199
|
};
|
|
91188
91200
|
};
|
|
91189
91201
|
for await (const payload of readSSEData(body, options.signal)) {
|
|
91202
|
+
if (payload === SSE_KEEPALIVE) {
|
|
91203
|
+
yield { type: "ping" };
|
|
91204
|
+
continue;
|
|
91205
|
+
}
|
|
91190
91206
|
if (payload === "[DONE]")
|
|
91191
91207
|
break;
|
|
91192
91208
|
const event = parseJSONPayload(payload, `${providerName} SSE event`);
|
|
@@ -91339,11 +91355,19 @@ async function* streamAnthropicEvents(body, options) {
|
|
|
91339
91355
|
const toolIds = new Set;
|
|
91340
91356
|
const streamedToolInputs = new Map;
|
|
91341
91357
|
for await (const payload of readSSEData(body, options.signal)) {
|
|
91358
|
+
if (payload === SSE_KEEPALIVE) {
|
|
91359
|
+
yield { type: "ping" };
|
|
91360
|
+
continue;
|
|
91361
|
+
}
|
|
91342
91362
|
if (payload === "[DONE]")
|
|
91343
91363
|
break;
|
|
91344
91364
|
const event = parseJSONPayload(payload, `${providerName} SSE event`);
|
|
91345
|
-
if (!event
|
|
91365
|
+
if (!event)
|
|
91366
|
+
continue;
|
|
91367
|
+
if (event.type === "ping") {
|
|
91368
|
+
yield { type: "ping" };
|
|
91346
91369
|
continue;
|
|
91370
|
+
}
|
|
91347
91371
|
throwProviderPayloadError(event, providerName);
|
|
91348
91372
|
if (!sawMessageStart && event.type !== "message_start") {
|
|
91349
91373
|
sawMessageStart = true;
|
|
@@ -91510,6 +91534,10 @@ async function* streamGeminiEvents(body, options) {
|
|
|
91510
91534
|
yield { type: "content_block_stop", index: currentIndex };
|
|
91511
91535
|
};
|
|
91512
91536
|
for await (const payload of readSSEData(body, options.signal)) {
|
|
91537
|
+
if (payload === SSE_KEEPALIVE) {
|
|
91538
|
+
yield { type: "ping" };
|
|
91539
|
+
continue;
|
|
91540
|
+
}
|
|
91513
91541
|
if (payload === "[DONE]")
|
|
91514
91542
|
break;
|
|
91515
91543
|
const parsed = parseJSONPayload(payload, `${providerName} SSE chunk`);
|
|
@@ -91628,6 +91656,7 @@ async function* readSSEData(body, signal) {
|
|
|
91628
91656
|
let buffer = "";
|
|
91629
91657
|
for await (const chunk of readTextChunks(body, signal)) {
|
|
91630
91658
|
buffer += chunk;
|
|
91659
|
+
let emitted = false;
|
|
91631
91660
|
while (true) {
|
|
91632
91661
|
const delimiter = findSSEDelimiter(buffer);
|
|
91633
91662
|
if (!delimiter)
|
|
@@ -91635,9 +91664,13 @@ async function* readSSEData(body, signal) {
|
|
|
91635
91664
|
const rawEvent = buffer.slice(0, delimiter.index);
|
|
91636
91665
|
buffer = buffer.slice(delimiter.index + delimiter.length);
|
|
91637
91666
|
const data = parseSSEEvent(rawEvent);
|
|
91638
|
-
if (data !== undefined)
|
|
91667
|
+
if (data !== undefined) {
|
|
91668
|
+
emitted = true;
|
|
91639
91669
|
yield data;
|
|
91670
|
+
}
|
|
91640
91671
|
}
|
|
91672
|
+
if (!emitted)
|
|
91673
|
+
yield SSE_KEEPALIVE;
|
|
91641
91674
|
}
|
|
91642
91675
|
if (buffer.trim()) {
|
|
91643
91676
|
const data = parseSSEEvent(buffer);
|
|
@@ -91845,7 +91878,7 @@ function canonicalJson(value) {
|
|
|
91845
91878
|
}
|
|
91846
91879
|
return JSON.stringify(value);
|
|
91847
91880
|
}
|
|
91848
|
-
var EMPTY_USAGE;
|
|
91881
|
+
var EMPTY_USAGE, SSE_KEEPALIVE = "\x00ur:sse-keepalive";
|
|
91849
91882
|
var init_streamingAdapters = __esm(() => {
|
|
91850
91883
|
init_providerClient();
|
|
91851
91884
|
init_json();
|
|
@@ -92788,7 +92821,8 @@ async function createOpenRouterClient(options) {
|
|
|
92788
92821
|
}, {
|
|
92789
92822
|
maxRetries,
|
|
92790
92823
|
timeoutMs: requestOptions?.timeoutMs,
|
|
92791
|
-
signal
|
|
92824
|
+
signal,
|
|
92825
|
+
streaming: true
|
|
92792
92826
|
});
|
|
92793
92827
|
const requestId = response.headers?.["x-request-id"] ?? `openrouter-${randomUUID7()}`;
|
|
92794
92828
|
return {
|
|
@@ -94046,7 +94080,8 @@ async function createStandardAPIClient(options) {
|
|
|
94046
94080
|
}, {
|
|
94047
94081
|
maxRetries,
|
|
94048
94082
|
timeoutMs: requestOptions?.timeoutMs,
|
|
94049
|
-
signal
|
|
94083
|
+
signal,
|
|
94084
|
+
streaming: true
|
|
94050
94085
|
});
|
|
94051
94086
|
const requestId = providerRequestId(family, response.headers) ?? `${family}-${randomUUID10()}`;
|
|
94052
94087
|
const streamOptions = {
|
|
@@ -107465,7 +107500,7 @@ var init_auth = __esm(() => {
|
|
|
107465
107500
|
|
|
107466
107501
|
// src/utils/userAgent.ts
|
|
107467
107502
|
function getURCodeUserAgent() {
|
|
107468
|
-
return `ur/${"1.76.
|
|
107503
|
+
return `ur/${"1.76.10"}`;
|
|
107469
107504
|
}
|
|
107470
107505
|
|
|
107471
107506
|
// src/utils/workloadContext.ts
|
|
@@ -107487,7 +107522,7 @@ function getUserAgent() {
|
|
|
107487
107522
|
const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
|
|
107488
107523
|
const workload = getWorkload();
|
|
107489
107524
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
107490
|
-
return `ur-cli/${"1.76.
|
|
107525
|
+
return `ur-cli/${"1.76.10"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
107491
107526
|
}
|
|
107492
107527
|
function getMCPUserAgent() {
|
|
107493
107528
|
const parts = [];
|
|
@@ -107501,7 +107536,7 @@ function getMCPUserAgent() {
|
|
|
107501
107536
|
parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
|
|
107502
107537
|
}
|
|
107503
107538
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
107504
|
-
return `ur/${"1.76.
|
|
107539
|
+
return `ur/${"1.76.10"}${suffix}`;
|
|
107505
107540
|
}
|
|
107506
107541
|
function getWebFetchUserAgent() {
|
|
107507
107542
|
return `UR-User (${getURCodeUserAgent()})`;
|
|
@@ -107639,7 +107674,7 @@ var init_user = __esm(() => {
|
|
|
107639
107674
|
deviceId,
|
|
107640
107675
|
sessionId: getSessionId(),
|
|
107641
107676
|
email: getEmail(),
|
|
107642
|
-
appVersion: "1.76.
|
|
107677
|
+
appVersion: "1.76.10",
|
|
107643
107678
|
platform: getHostPlatformForAnalytics(),
|
|
107644
107679
|
organizationUuid,
|
|
107645
107680
|
accountUuid,
|
|
@@ -115526,7 +115561,7 @@ var init_metadata = __esm(() => {
|
|
|
115526
115561
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
115527
115562
|
WHITESPACE_REGEX = /\s+/;
|
|
115528
115563
|
getVersionBase = memoize_default(() => {
|
|
115529
|
-
const match = "1.76.
|
|
115564
|
+
const match = "1.76.10".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
115530
115565
|
return match ? match[0] : undefined;
|
|
115531
115566
|
});
|
|
115532
115567
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -115566,7 +115601,7 @@ var init_metadata = __esm(() => {
|
|
|
115566
115601
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
115567
115602
|
isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
|
|
115568
115603
|
isURAiAuth: isURAISubscriber(),
|
|
115569
|
-
version: "1.76.
|
|
115604
|
+
version: "1.76.10",
|
|
115570
115605
|
versionBase: getVersionBase(),
|
|
115571
115606
|
buildTime: "",
|
|
115572
115607
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
@@ -116236,7 +116271,7 @@ function initialize1PEventLogging() {
|
|
|
116236
116271
|
const platform2 = getPlatform();
|
|
116237
116272
|
const attributes = {
|
|
116238
116273
|
[import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
|
|
116239
|
-
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.76.
|
|
116274
|
+
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.76.10"
|
|
116240
116275
|
};
|
|
116241
116276
|
if (platform2 === "wsl") {
|
|
116242
116277
|
const wslVersion = getWslVersion();
|
|
@@ -116264,7 +116299,7 @@ function initialize1PEventLogging() {
|
|
|
116264
116299
|
})
|
|
116265
116300
|
]
|
|
116266
116301
|
});
|
|
116267
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.76.
|
|
116302
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.76.10");
|
|
116268
116303
|
}
|
|
116269
116304
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
116270
116305
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -118714,6 +118749,7 @@ var init_types2 = __esm(() => {
|
|
|
118714
118749
|
model: exports_external.string().optional().describe("Selected model name for the active provider"),
|
|
118715
118750
|
baseUrl: exports_external.string().optional().describe("Provider base URL without embedded credentials"),
|
|
118716
118751
|
timeoutMs: exports_external.number().int().positive().optional().describe("Provider HTTP request timeout in milliseconds. Defaults to 120000."),
|
|
118752
|
+
streamTimeoutMs: exports_external.number().int().positive().optional().describe("How long a streaming request may wait for response headers, in milliseconds. Defaults to 900000; mid-stream liveness is governed by the inactivity watchdog."),
|
|
118717
118753
|
commandPath: exports_external.string().optional().describe("Explicit official CLI executable path for subscription providers"),
|
|
118718
118754
|
fallback: exports_external.union([exports_external.enum(PROVIDER_SETTING_IDS), exports_external.literal("disabled")]).optional().describe("Optional recovery provider shown by provider diagnostics; switching is always explicit"),
|
|
118719
118755
|
openaiTransport: exports_external.enum(["chat-completions", "responses"]).optional().describe("OpenAI API transport. Defaults to chat-completions; Responses is explicit opt-in."),
|
|
@@ -126045,7 +126081,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
|
|
|
126045
126081
|
function formatA2AAgentCard(options = {}, pretty = true) {
|
|
126046
126082
|
return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
|
|
126047
126083
|
}
|
|
126048
|
-
var urVersion = "1.76.
|
|
126084
|
+
var urVersion = "1.76.10", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
|
|
126049
126085
|
var init_trends = __esm(() => {
|
|
126050
126086
|
init_a2aCardSignature();
|
|
126051
126087
|
coverage = [
|
|
@@ -128848,7 +128884,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
128848
128884
|
if (!isAttributionHeaderEnabled()) {
|
|
128849
128885
|
return "";
|
|
128850
128886
|
}
|
|
128851
|
-
const version2 = `${"1.76.
|
|
128887
|
+
const version2 = `${"1.76.10"}.${fingerprint}`;
|
|
128852
128888
|
const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
|
|
128853
128889
|
const cch = "";
|
|
128854
128890
|
const workload = getWorkload();
|
|
@@ -156847,7 +156883,7 @@ var init_projectSafety = __esm(() => {
|
|
|
156847
156883
|
function getInstruments() {
|
|
156848
156884
|
if (instruments)
|
|
156849
156885
|
return instruments;
|
|
156850
|
-
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.76.
|
|
156886
|
+
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.76.10");
|
|
156851
156887
|
instruments = {
|
|
156852
156888
|
operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
|
|
156853
156889
|
description: "GenAI operation duration.",
|
|
@@ -156945,7 +156981,7 @@ function genAiAgentAttributes() {
|
|
|
156945
156981
|
"gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
|
|
156946
156982
|
"gen_ai.provider.name": "ur",
|
|
156947
156983
|
"gen_ai.agent.name": "UR-Nexus",
|
|
156948
|
-
"gen_ai.agent.version": "1.76.
|
|
156984
|
+
"gen_ai.agent.version": "1.76.10"
|
|
156949
156985
|
};
|
|
156950
156986
|
}
|
|
156951
156987
|
function genAiWorkflowAttributes(workflowName) {
|
|
@@ -156961,7 +156997,7 @@ function genAiWorkflowAttributes(workflowName) {
|
|
|
156961
156997
|
function startGenAiWorkflowSpan(workflowName) {
|
|
156962
156998
|
const attributes = genAiWorkflowAttributes(workflowName);
|
|
156963
156999
|
const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
|
|
156964
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.76.
|
|
157000
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.76.10").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
156965
157001
|
}
|
|
156966
157002
|
function endGenAiWorkflowSpan(span, options2 = {}) {
|
|
156967
157003
|
try {
|
|
@@ -156999,7 +157035,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
|
|
|
156999
157035
|
if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
|
|
157000
157036
|
attributes["gen_ai.memory.record.count"] = options2.recordCount;
|
|
157001
157037
|
}
|
|
157002
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.76.
|
|
157038
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.76.10").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
157003
157039
|
}
|
|
157004
157040
|
function endGenAiMemorySpan(span, options2 = {}) {
|
|
157005
157041
|
try {
|
|
@@ -200758,7 +200794,7 @@ var require_color_convert = __commonJS((exports, module) => {
|
|
|
200758
200794
|
module.exports = convert;
|
|
200759
200795
|
});
|
|
200760
200796
|
|
|
200761
|
-
// node_modules/cli-highlight/node_modules/ansi-styles/index.js
|
|
200797
|
+
// node_modules/cli-highlight/node_modules/chalk/node_modules/ansi-styles/index.js
|
|
200762
200798
|
var require_ansi_styles = __commonJS((exports, module) => {
|
|
200763
200799
|
var wrapAnsi163 = (fn, offset) => (...args) => {
|
|
200764
200800
|
const code = fn(...args);
|
|
@@ -250647,7 +250683,7 @@ function getTelemetryAttributes() {
|
|
|
250647
250683
|
attributes["session.id"] = sessionId;
|
|
250648
250684
|
}
|
|
250649
250685
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
250650
|
-
attributes["app.version"] = "1.76.
|
|
250686
|
+
attributes["app.version"] = "1.76.10";
|
|
250651
250687
|
}
|
|
250652
250688
|
const oauthAccount = getOauthAccountInfo();
|
|
250653
250689
|
if (oauthAccount) {
|
|
@@ -259139,21 +259175,39 @@ async function* all3(generators, concurrencyCap = Infinity) {
|
|
|
259139
259175
|
};
|
|
259140
259176
|
const waiting = [...generators];
|
|
259141
259177
|
const promises = new Set;
|
|
259142
|
-
|
|
259143
|
-
|
|
259144
|
-
|
|
259145
|
-
|
|
259146
|
-
|
|
259147
|
-
|
|
259148
|
-
promises.
|
|
259149
|
-
|
|
259150
|
-
|
|
259151
|
-
|
|
259152
|
-
|
|
259178
|
+
const running = new Set;
|
|
259179
|
+
const start = (generator) => {
|
|
259180
|
+
running.add(generator);
|
|
259181
|
+
promises.add(next(generator));
|
|
259182
|
+
};
|
|
259183
|
+
try {
|
|
259184
|
+
while (promises.size < concurrencyCap && waiting.length > 0) {
|
|
259185
|
+
start(waiting.shift());
|
|
259186
|
+
}
|
|
259187
|
+
while (promises.size > 0) {
|
|
259188
|
+
const { done, value, generator, promise: promise2 } = await Promise.race(promises);
|
|
259189
|
+
promises.delete(promise2);
|
|
259190
|
+
if (!done) {
|
|
259191
|
+
promises.add(next(generator));
|
|
259192
|
+
if (value !== undefined) {
|
|
259193
|
+
yield value;
|
|
259194
|
+
}
|
|
259195
|
+
} else {
|
|
259196
|
+
running.delete(generator);
|
|
259197
|
+
if (waiting.length > 0) {
|
|
259198
|
+
start(waiting.shift());
|
|
259199
|
+
}
|
|
259153
259200
|
}
|
|
259154
|
-
}
|
|
259155
|
-
|
|
259156
|
-
|
|
259201
|
+
}
|
|
259202
|
+
} finally {
|
|
259203
|
+
for (const generator of running) {
|
|
259204
|
+
generator.return(undefined).catch(() => {});
|
|
259205
|
+
}
|
|
259206
|
+
for (const generator of waiting) {
|
|
259207
|
+
generator.return(undefined).catch(() => {});
|
|
259208
|
+
}
|
|
259209
|
+
for (const promise2 of promises) {
|
|
259210
|
+
promise2.catch(() => {});
|
|
259157
259211
|
}
|
|
259158
259212
|
}
|
|
259159
259213
|
}
|
|
@@ -259176,11 +259230,16 @@ var init_generators = __esm(() => {
|
|
|
259176
259230
|
|
|
259177
259231
|
// src/services/tools/toolOrchestration.ts
|
|
259178
259232
|
function getMaxToolUseConcurrency() {
|
|
259179
|
-
|
|
259180
|
-
|
|
259181
|
-
|
|
259233
|
+
for (const raw of [
|
|
259234
|
+
process.env.UR_CODE_MAX_TOOL_USE_CONCURRENCY,
|
|
259235
|
+
process.env.UR_MAX_CONCURRENT_TOOLS
|
|
259236
|
+
]) {
|
|
259237
|
+
const configured = Number.parseInt(raw ?? "", 10);
|
|
259238
|
+
if (Number.isFinite(configured) && configured >= 1) {
|
|
259239
|
+
return Math.min(configured, HARD_MAX_TOOL_USE_CONCURRENCY);
|
|
259240
|
+
}
|
|
259182
259241
|
}
|
|
259183
|
-
return
|
|
259242
|
+
return DEFAULT_MAX_TOOL_USE_CONCURRENCY;
|
|
259184
259243
|
}
|
|
259185
259244
|
function assistantMessageContainsToolUse(message, toolUseId) {
|
|
259186
259245
|
const content = message.message?.content;
|
|
@@ -297131,7 +297190,7 @@ function getInstallationEnv() {
|
|
|
297131
297190
|
return;
|
|
297132
297191
|
}
|
|
297133
297192
|
function getURCodeVersion() {
|
|
297134
|
-
return "1.76.
|
|
297193
|
+
return "1.76.10";
|
|
297135
297194
|
}
|
|
297136
297195
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
297137
297196
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -304462,7 +304521,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
304462
304521
|
const client2 = new Client({
|
|
304463
304522
|
name: "ur",
|
|
304464
304523
|
title: "UR",
|
|
304465
|
-
version: "1.76.
|
|
304524
|
+
version: "1.76.10",
|
|
304466
304525
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
304467
304526
|
websiteUrl: PRODUCT_URL
|
|
304468
304527
|
}, {
|
|
@@ -304822,7 +304881,7 @@ var init_client5 = __esm(() => {
|
|
|
304822
304881
|
const client2 = new Client({
|
|
304823
304882
|
name: "ur",
|
|
304824
304883
|
title: "UR",
|
|
304825
|
-
version: "1.76.
|
|
304884
|
+
version: "1.76.10",
|
|
304826
304885
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
304827
304886
|
websiteUrl: PRODUCT_URL
|
|
304828
304887
|
}, {
|
|
@@ -317375,7 +317434,7 @@ async function createRuntime() {
|
|
|
317375
317434
|
bootstrapTelemetry();
|
|
317376
317435
|
const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
|
|
317377
317436
|
[import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
|
|
317378
|
-
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.76.
|
|
317437
|
+
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.76.10"
|
|
317379
317438
|
}));
|
|
317380
317439
|
const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
|
|
317381
317440
|
resource,
|
|
@@ -317408,11 +317467,11 @@ async function createRuntime() {
|
|
|
317408
317467
|
setMeterProvider(meterProvider);
|
|
317409
317468
|
setLoggerProvider(loggerProvider);
|
|
317410
317469
|
if (meterProvider) {
|
|
317411
|
-
const meter = meterProvider.getMeter("ur-agent", "1.76.
|
|
317470
|
+
const meter = meterProvider.getMeter("ur-agent", "1.76.10");
|
|
317412
317471
|
setMeter(meter, (name, options2) => meter.createCounter(name, options2));
|
|
317413
317472
|
}
|
|
317414
317473
|
if (loggerProvider) {
|
|
317415
|
-
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.76.
|
|
317474
|
+
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.76.10"));
|
|
317416
317475
|
}
|
|
317417
317476
|
if (!cleanupRegistered2) {
|
|
317418
317477
|
cleanupRegistered2 = true;
|
|
@@ -318074,9 +318133,9 @@ async function assertMinVersion() {
|
|
|
318074
318133
|
if (false) {}
|
|
318075
318134
|
try {
|
|
318076
318135
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
318077
|
-
if (versionConfig.minVersion && lt("1.76.
|
|
318136
|
+
if (versionConfig.minVersion && lt("1.76.10", versionConfig.minVersion)) {
|
|
318078
318137
|
console.error(`
|
|
318079
|
-
It looks like your version of UR (${"1.76.
|
|
318138
|
+
It looks like your version of UR (${"1.76.10"}) needs an update.
|
|
318080
318139
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
318081
318140
|
|
|
318082
318141
|
To update, please run:
|
|
@@ -318292,7 +318351,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
318292
318351
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
318293
318352
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
318294
318353
|
pid: process.pid,
|
|
318295
|
-
currentVersion: "1.76.
|
|
318354
|
+
currentVersion: "1.76.10"
|
|
318296
318355
|
});
|
|
318297
318356
|
return "in_progress";
|
|
318298
318357
|
}
|
|
@@ -318301,7 +318360,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
318301
318360
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
318302
318361
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
318303
318362
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
318304
|
-
currentVersion: "1.76.
|
|
318363
|
+
currentVersion: "1.76.10"
|
|
318305
318364
|
});
|
|
318306
318365
|
console.error(`
|
|
318307
318366
|
Error: Windows NPM detected in WSL
|
|
@@ -318836,7 +318895,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
318836
318895
|
}
|
|
318837
318896
|
async function getDoctorDiagnostic() {
|
|
318838
318897
|
const installationType = await getCurrentInstallationType();
|
|
318839
|
-
const version2 = typeof MACRO !== "undefined" ? "1.76.
|
|
318898
|
+
const version2 = typeof MACRO !== "undefined" ? "1.76.10" : "unknown";
|
|
318840
318899
|
const installationPath = await getInstallationPath();
|
|
318841
318900
|
const invokedBinary = getInvokedBinary();
|
|
318842
318901
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -319771,8 +319830,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
319771
319830
|
const maxVersion = await getMaxVersion();
|
|
319772
319831
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
319773
319832
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
319774
|
-
if (gte("1.76.
|
|
319775
|
-
logForDebugging(`Native installer: current version ${"1.76.
|
|
319833
|
+
if (gte("1.76.10", maxVersion)) {
|
|
319834
|
+
logForDebugging(`Native installer: current version ${"1.76.10"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
319776
319835
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
319777
319836
|
latency_ms: Date.now() - startTime,
|
|
319778
319837
|
max_version: maxVersion,
|
|
@@ -319783,7 +319842,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
319783
319842
|
version2 = maxVersion;
|
|
319784
319843
|
}
|
|
319785
319844
|
}
|
|
319786
|
-
if (!forceReinstall && version2 === "1.76.
|
|
319845
|
+
if (!forceReinstall && version2 === "1.76.10" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
|
|
319787
319846
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
319788
319847
|
logEvent("tengu_native_update_complete", {
|
|
319789
319848
|
latency_ms: Date.now() - startTime,
|
|
@@ -340957,16 +341016,8 @@ async function* runAgent({
|
|
|
340957
341016
|
}
|
|
340958
341017
|
if (message.type === "attachment") {
|
|
340959
341018
|
if (message.attachment.type === "max_turns_reached") {
|
|
340960
|
-
logForDebugging(`[Agent
|
|
340961
|
-
|
|
340962
|
-
{
|
|
340963
|
-
agentDefinition.agentType
|
|
340964
|
-
}
|
|
340965
|
-
] Reached max turns limit ($
|
|
340966
|
-
{
|
|
340967
|
-
message.attachment.maxTurns
|
|
340968
|
-
}
|
|
340969
|
-
)`);
|
|
341019
|
+
logForDebugging(`[Agent: ${agentDefinition.agentType}] Reached max turns limit (${message.attachment.maxTurns})`);
|
|
341020
|
+
yield message;
|
|
340970
341021
|
break;
|
|
340971
341022
|
}
|
|
340972
341023
|
yield message;
|
|
@@ -365348,8 +365399,43 @@ function stripTrailingWhitespace(str2) {
|
|
|
365348
365399
|
}
|
|
365349
365400
|
return result;
|
|
365350
365401
|
}
|
|
365402
|
+
function foldInvisibleChars(line) {
|
|
365403
|
+
return line.normalize("NFC").replace(EXOTIC_SPACES, " ").replace(ZERO_WIDTH, "");
|
|
365404
|
+
}
|
|
365351
365405
|
function normalizeLineForMatch(line) {
|
|
365352
|
-
return line.replaceAll("\t", " ").replace(/\s+$/, "");
|
|
365406
|
+
return foldInvisibleChars(line).replaceAll("\t", " ").replace(/\s+$/, "");
|
|
365407
|
+
}
|
|
365408
|
+
function lineBody(line) {
|
|
365409
|
+
return normalizeLineForMatch(line).trimStart();
|
|
365410
|
+
}
|
|
365411
|
+
function indentWidth(line) {
|
|
365412
|
+
const normalized = normalizeLineForMatch(line);
|
|
365413
|
+
return normalized.length - normalized.trimStart().length;
|
|
365414
|
+
}
|
|
365415
|
+
function shiftIndentation(text, columns) {
|
|
365416
|
+
if (columns === 0)
|
|
365417
|
+
return text;
|
|
365418
|
+
return text.split(`
|
|
365419
|
+
`).map((line) => {
|
|
365420
|
+
if (line.trim() === "")
|
|
365421
|
+
return line;
|
|
365422
|
+
if (columns > 0)
|
|
365423
|
+
return " ".repeat(columns) + line;
|
|
365424
|
+
const removable = line.length - line.trimStart().length;
|
|
365425
|
+
return line.slice(Math.min(-columns, removable));
|
|
365426
|
+
}).join(`
|
|
365427
|
+
`);
|
|
365428
|
+
}
|
|
365429
|
+
function stripLineNumberPrefixes(searchString) {
|
|
365430
|
+
const lines = searchString.split(`
|
|
365431
|
+
`);
|
|
365432
|
+
const meaningful = lines.filter((line) => line.trim() !== "");
|
|
365433
|
+
if (meaningful.length === 0)
|
|
365434
|
+
return null;
|
|
365435
|
+
if (!meaningful.every((line) => LINE_NUMBER_PREFIX.test(line)))
|
|
365436
|
+
return null;
|
|
365437
|
+
return lines.map((line) => line.replace(LINE_NUMBER_PREFIX, "")).join(`
|
|
365438
|
+
`);
|
|
365353
365439
|
}
|
|
365354
365440
|
function findActualStringWhitespaceTolerant(fileContent, searchString) {
|
|
365355
365441
|
const searchLines = searchString.split(`
|
|
@@ -365382,17 +365468,110 @@ function findActualStringWhitespaceTolerant(fileContent, searchString) {
|
|
|
365382
365468
|
}
|
|
365383
365469
|
return null;
|
|
365384
365470
|
}
|
|
365385
|
-
function
|
|
365471
|
+
function findActualStringIndentTolerant(fileContent, searchString) {
|
|
365472
|
+
const searchLines = searchString.split(`
|
|
365473
|
+
`);
|
|
365474
|
+
const fileLines = fileContent.split(`
|
|
365475
|
+
`);
|
|
365476
|
+
if (searchLines.length === 0 || searchLines.length > fileLines.length) {
|
|
365477
|
+
return null;
|
|
365478
|
+
}
|
|
365479
|
+
const searchBodies = searchLines.map(lineBody);
|
|
365480
|
+
const firstBody = searchBodies[0];
|
|
365481
|
+
if (searchBodies.every((body) => body === ""))
|
|
365482
|
+
return null;
|
|
365483
|
+
for (let start = 0;start <= fileLines.length - searchLines.length; start++) {
|
|
365484
|
+
if (lineBody(fileLines[start]) !== firstBody)
|
|
365485
|
+
continue;
|
|
365486
|
+
let shift = null;
|
|
365487
|
+
let match = true;
|
|
365488
|
+
for (let j2 = 0;j2 < searchLines.length; j2++) {
|
|
365489
|
+
const fileLine = fileLines[start + j2];
|
|
365490
|
+
const searchBody = searchBodies[j2];
|
|
365491
|
+
if (lineBody(fileLine) !== searchBody) {
|
|
365492
|
+
match = false;
|
|
365493
|
+
break;
|
|
365494
|
+
}
|
|
365495
|
+
if (searchBody === "")
|
|
365496
|
+
continue;
|
|
365497
|
+
const lineShift = indentWidth(fileLine) - indentWidth(searchLines[j2]);
|
|
365498
|
+
if (shift === null) {
|
|
365499
|
+
shift = lineShift;
|
|
365500
|
+
} else if (shift !== lineShift) {
|
|
365501
|
+
match = false;
|
|
365502
|
+
break;
|
|
365503
|
+
}
|
|
365504
|
+
}
|
|
365505
|
+
if (match && shift !== null && shift !== 0) {
|
|
365506
|
+
return {
|
|
365507
|
+
actual: fileLines.slice(start, start + searchLines.length).join(`
|
|
365508
|
+
`),
|
|
365509
|
+
indentShift: shift
|
|
365510
|
+
};
|
|
365511
|
+
}
|
|
365512
|
+
}
|
|
365513
|
+
return null;
|
|
365514
|
+
}
|
|
365515
|
+
function findEditTarget(fileContent, searchString) {
|
|
365386
365516
|
if (fileContent.includes(searchString)) {
|
|
365387
|
-
return searchString;
|
|
365517
|
+
return { actual: searchString, indentShift: 0 };
|
|
365388
365518
|
}
|
|
365389
365519
|
const normalizedSearch = normalizeQuotes(searchString);
|
|
365390
365520
|
const normalizedFile = normalizeQuotes(fileContent);
|
|
365391
365521
|
const searchIndex = normalizedFile.indexOf(normalizedSearch);
|
|
365392
365522
|
if (searchIndex !== -1) {
|
|
365393
|
-
return
|
|
365523
|
+
return {
|
|
365524
|
+
actual: fileContent.substring(searchIndex, searchIndex + searchString.length),
|
|
365525
|
+
indentShift: 0
|
|
365526
|
+
};
|
|
365527
|
+
}
|
|
365528
|
+
const whitespaceMatch = findActualStringWhitespaceTolerant(fileContent, searchString);
|
|
365529
|
+
if (whitespaceMatch !== null) {
|
|
365530
|
+
return { actual: whitespaceMatch, indentShift: 0 };
|
|
365531
|
+
}
|
|
365532
|
+
const indentMatch = findActualStringIndentTolerant(fileContent, searchString);
|
|
365533
|
+
if (indentMatch !== null) {
|
|
365534
|
+
return indentMatch;
|
|
365535
|
+
}
|
|
365536
|
+
const withoutPrefixes = stripLineNumberPrefixes(searchString);
|
|
365537
|
+
if (withoutPrefixes !== null && withoutPrefixes !== searchString) {
|
|
365538
|
+
return findEditTarget(fileContent, withoutPrefixes);
|
|
365539
|
+
}
|
|
365540
|
+
return null;
|
|
365541
|
+
}
|
|
365542
|
+
function findActualString(fileContent, searchString) {
|
|
365543
|
+
return findEditTarget(fileContent, searchString)?.actual ?? null;
|
|
365544
|
+
}
|
|
365545
|
+
function describeEditMatchFailure(fileContent, searchString) {
|
|
365546
|
+
const searchLines = searchString.split(`
|
|
365547
|
+
`);
|
|
365548
|
+
const firstSearchLine = searchLines.find((line) => line.trim() !== "");
|
|
365549
|
+
if (firstSearchLine === undefined) {
|
|
365550
|
+
return "String to replace not found in file. The string is blank.";
|
|
365551
|
+
}
|
|
365552
|
+
const fileLines = fileContent.split(`
|
|
365553
|
+
`);
|
|
365554
|
+
const anchorBody = lineBody(firstSearchLine);
|
|
365555
|
+
const anchors = fileLines.map((line, index2) => ({ line, index: index2 })).filter((entry) => lineBody(entry.line) === anchorBody);
|
|
365556
|
+
if (anchors.length === 0) {
|
|
365557
|
+
return "String to replace not found in file. No line in the file matches its " + `first line: ${JSON.stringify(firstSearchLine.trim())}. Read the file ` + "again and copy the target text from the current contents.";
|
|
365394
365558
|
}
|
|
365395
|
-
|
|
365559
|
+
const anchor = anchors[0];
|
|
365560
|
+
const offset = searchLines.indexOf(firstSearchLine);
|
|
365561
|
+
const details = anchors.slice(0, 3).map((entry) => {
|
|
365562
|
+
const start = entry.index - offset;
|
|
365563
|
+
for (let j2 = 0;j2 < searchLines.length; j2++) {
|
|
365564
|
+
const fileLine = fileLines[start + j2];
|
|
365565
|
+
if (fileLine === undefined) {
|
|
365566
|
+
return `line ${entry.index + 1}: the file ends before the string does`;
|
|
365567
|
+
}
|
|
365568
|
+
if (lineBody(fileLine) !== lineBody(searchLines[j2])) {
|
|
365569
|
+
return `line ${start + j2 + 1}: file has ${JSON.stringify(fileLine)}, ` + `string has ${JSON.stringify(searchLines[j2])}`;
|
|
365570
|
+
}
|
|
365571
|
+
}
|
|
365572
|
+
return `line ${entry.index + 1}: matches`;
|
|
365573
|
+
}).join("; ");
|
|
365574
|
+
return `String to replace not found in file. Its first line appears at line ` + `${anchor.index + 1}, but the block diverges \u2014 ${details}.`;
|
|
365396
365575
|
}
|
|
365397
365576
|
function preserveQuoteStyle(oldString, actualOldString, newString) {
|
|
365398
365577
|
if (oldString === actualOldString) {
|
|
@@ -365693,7 +365872,7 @@ function areFileEditsInputsEquivalent(input1, input2) {
|
|
|
365693
365872
|
}
|
|
365694
365873
|
return areFileEditsEquivalent(input1.edits, input2.edits, fileContent);
|
|
365695
365874
|
}
|
|
365696
|
-
var LEFT_SINGLE_CURLY_QUOTE = "\u2018", RIGHT_SINGLE_CURLY_QUOTE = "\u2019", LEFT_DOUBLE_CURLY_QUOTE = "\u201C", RIGHT_DOUBLE_CURLY_QUOTE = "\u201D", DIFF_SNIPPET_MAX_BYTES = 8192, DESANITIZATIONS;
|
|
365875
|
+
var LEFT_SINGLE_CURLY_QUOTE = "\u2018", RIGHT_SINGLE_CURLY_QUOTE = "\u2019", LEFT_DOUBLE_CURLY_QUOTE = "\u201C", RIGHT_DOUBLE_CURLY_QUOTE = "\u201D", EXOTIC_SPACES, ZERO_WIDTH, LINE_NUMBER_PREFIX, DIFF_SNIPPET_MAX_BYTES = 8192, DESANITIZATIONS;
|
|
365697
365876
|
var init_utils10 = __esm(() => {
|
|
365698
365877
|
init_libesm();
|
|
365699
365878
|
init_log2();
|
|
@@ -365702,6 +365881,9 @@ var init_utils10 = __esm(() => {
|
|
|
365702
365881
|
init_diff2();
|
|
365703
365882
|
init_errors();
|
|
365704
365883
|
init_file();
|
|
365884
|
+
EXOTIC_SPACES = /[\u00A0\u1680\u2000-\u200A\u202F\u205F\u3000]/g;
|
|
365885
|
+
ZERO_WIDTH = /[\u200B-\u200D\u2060\uFEFF]/g;
|
|
365886
|
+
LINE_NUMBER_PREFIX = /^\s*\d+[\u2192\t]/;
|
|
365705
365887
|
DESANITIZATIONS = {
|
|
365706
365888
|
"<fnr>": "<function_results>",
|
|
365707
365889
|
"<n>": "<name>",
|
|
@@ -366247,13 +366429,13 @@ var init_FileEditTool = __esm(() => {
|
|
|
366247
366429
|
}
|
|
366248
366430
|
}
|
|
366249
366431
|
const file2 = fileContent;
|
|
366250
|
-
const
|
|
366432
|
+
const editTarget = findEditTarget(file2, old_string);
|
|
366433
|
+
const actualOldString = editTarget?.actual ?? null;
|
|
366251
366434
|
if (!actualOldString) {
|
|
366252
366435
|
return {
|
|
366253
366436
|
result: false,
|
|
366254
366437
|
behavior: "ask",
|
|
366255
|
-
message:
|
|
366256
|
-
String: ${old_string}`,
|
|
366438
|
+
message: describeEditMatchFailure(file2, old_string),
|
|
366257
366439
|
meta: {
|
|
366258
366440
|
isFilePathAbsolute: String(isAbsolute24(file_path))
|
|
366259
366441
|
},
|
|
@@ -366275,7 +366457,8 @@ String: ${old_string}`,
|
|
|
366275
366457
|
};
|
|
366276
366458
|
}
|
|
366277
366459
|
const settingsValidationResult = validateInputForSettingsFileEdit(fullFilePath, file2, () => {
|
|
366278
|
-
|
|
366460
|
+
const simulatedNewString = shiftIndentation(new_string, editTarget?.indentShift ?? 0);
|
|
366461
|
+
return replace_all ? file2.replaceAll(actualOldString, simulatedNewString) : file2.replace(actualOldString, simulatedNewString);
|
|
366279
366462
|
});
|
|
366280
366463
|
if (settingsValidationResult !== null) {
|
|
366281
366464
|
return settingsValidationResult;
|
|
@@ -366342,8 +366525,9 @@ String: ${old_string}`,
|
|
|
366342
366525
|
throw new Error(FILE_UNEXPECTEDLY_MODIFIED_ERROR);
|
|
366343
366526
|
}
|
|
366344
366527
|
}
|
|
366345
|
-
|
|
366346
|
-
let
|
|
366528
|
+
const target = findEditTarget(originalFileContents, old_string);
|
|
366529
|
+
let actualOldString = target?.actual ?? old_string;
|
|
366530
|
+
let actualNewString = shiftIndentation(preserveQuoteStyle(old_string, actualOldString, new_string), target?.indentShift ?? 0);
|
|
366347
366531
|
const toolUseID = toolUseContext.toolUseId ?? parentMessage?.uuid ?? "";
|
|
366348
366532
|
const beforeEdit = await executeBeforeEditHooks(absoluteFilePath, actualOldString, actualNewString, replace_all, toolUseContext, toolUseID, toolUseContext.abortController.signal);
|
|
366349
366533
|
if (beforeEdit.updatedInput) {
|
|
@@ -383820,6 +384004,11 @@ var init_AgentTool = __esm(() => {
|
|
|
383820
384004
|
let finalMessage = extractTextContent(agentResult2.content, `
|
|
383821
384005
|
`);
|
|
383822
384006
|
if (false) {}
|
|
384007
|
+
if (agentMessages.some((_) => _.type === "attachment" && _.attachment?.type === "max_turns_reached")) {
|
|
384008
|
+
finalMessage = `Note: this agent stopped after reaching its maximum number of turns, so the result below is incomplete.
|
|
384009
|
+
|
|
384010
|
+
${finalMessage}`;
|
|
384011
|
+
}
|
|
383823
384012
|
const worktreeResult2 = await cleanupWorktreeIfNeeded();
|
|
383824
384013
|
enqueueAgentNotification({
|
|
383825
384014
|
taskId: backgroundedTaskId,
|
|
@@ -384020,10 +384209,12 @@ var init_AgentTool = __esm(() => {
|
|
|
384020
384209
|
}
|
|
384021
384210
|
const agentResult = finalizeAgentTool(agentMessages, syncAgentId, metadata);
|
|
384022
384211
|
if (false) {}
|
|
384212
|
+
const truncatedByMaxTurns = agentMessages.some((_) => _.type === "attachment" && _.attachment?.type === "max_turns_reached");
|
|
384213
|
+
const incompleteReason = syncAgentError ? errorMessage2(syncAgentError) : truncatedByMaxTurns ? "Agent stopped after reaching its maximum number of turns; the result is incomplete." : undefined;
|
|
384023
384214
|
return {
|
|
384024
384215
|
data: {
|
|
384025
|
-
status:
|
|
384026
|
-
...
|
|
384216
|
+
status: incompleteReason ? "partial" : "completed",
|
|
384217
|
+
...incompleteReason && { error: incompleteReason },
|
|
384027
384218
|
prompt,
|
|
384028
384219
|
...agentResult,
|
|
384029
384220
|
...worktreeResult
|
|
@@ -389358,7 +389549,7 @@ function isAnyTracingEnabled() {
|
|
|
389358
389549
|
return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
|
|
389359
389550
|
}
|
|
389360
389551
|
function getTracer() {
|
|
389361
|
-
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.76.
|
|
389552
|
+
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.76.10");
|
|
389362
389553
|
}
|
|
389363
389554
|
function createSpanAttributes(spanType, customAttributes = {}) {
|
|
389364
389555
|
const baseAttributes = getTelemetryAttributes();
|
|
@@ -392486,9 +392677,7 @@ class StreamingToolExecutor {
|
|
|
392486
392677
|
return false;
|
|
392487
392678
|
if (!executingTools.every((t) => t.isConcurrencySafe))
|
|
392488
392679
|
return false;
|
|
392489
|
-
|
|
392490
|
-
const cap = Number.isFinite(envCap) && envCap >= 1 ? Math.min(Math.floor(envCap), 32) : MAX_CONCURRENT_TOOLS;
|
|
392491
|
-
return executingTools.length < cap;
|
|
392680
|
+
return executingTools.length < getMaxToolUseConcurrency();
|
|
392492
392681
|
}
|
|
392493
392682
|
async processQueue() {
|
|
392494
392683
|
if (this.discarded) {
|
|
@@ -392733,12 +392922,12 @@ function markToolUseAsComplete2(toolUseContext, toolUseID) {
|
|
|
392733
392922
|
return next;
|
|
392734
392923
|
});
|
|
392735
392924
|
}
|
|
392736
|
-
var MAX_CONCURRENT_TOOLS = 8;
|
|
392737
392925
|
var init_StreamingToolExecutor = __esm(() => {
|
|
392738
392926
|
init_messages();
|
|
392739
392927
|
init_Tool();
|
|
392740
392928
|
init_abortController();
|
|
392741
392929
|
init_toolExecution();
|
|
392930
|
+
init_toolOrchestration();
|
|
392742
392931
|
});
|
|
392743
392932
|
|
|
392744
392933
|
// src/utils/queryProfiler.ts
|
|
@@ -419527,7 +419716,7 @@ function Feedback({
|
|
|
419527
419716
|
platform: env2.platform,
|
|
419528
419717
|
gitRepo: envInfo.isGit,
|
|
419529
419718
|
terminal: env2.terminal,
|
|
419530
|
-
version: "1.76.
|
|
419719
|
+
version: "1.76.10",
|
|
419531
419720
|
transcript: normalizeMessagesForAPI(messages),
|
|
419532
419721
|
errors: sanitizedErrors,
|
|
419533
419722
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -419719,7 +419908,7 @@ function Feedback({
|
|
|
419719
419908
|
", ",
|
|
419720
419909
|
env2.terminal,
|
|
419721
419910
|
", v",
|
|
419722
|
-
"1.76.
|
|
419911
|
+
"1.76.10"
|
|
419723
419912
|
]
|
|
419724
419913
|
}, undefined, true, undefined, this)
|
|
419725
419914
|
]
|
|
@@ -419825,7 +420014,7 @@ ${sanitizedDescription}
|
|
|
419825
420014
|
` + `**Environment Info**
|
|
419826
420015
|
` + `- Platform: ${env2.platform}
|
|
419827
420016
|
` + `- Terminal: ${env2.terminal}
|
|
419828
|
-
` + `- Version: ${"1.76.
|
|
420017
|
+
` + `- Version: ${"1.76.10"}
|
|
419829
420018
|
` + `- Feedback ID: ${feedbackId}
|
|
419830
420019
|
` + `
|
|
419831
420020
|
**Errors**
|
|
@@ -422935,7 +423124,7 @@ function buildPrimarySection() {
|
|
|
422935
423124
|
}, undefined, false, undefined, this);
|
|
422936
423125
|
return [{
|
|
422937
423126
|
label: "Version",
|
|
422938
|
-
value: "1.76.
|
|
423127
|
+
value: "1.76.10"
|
|
422939
423128
|
}, {
|
|
422940
423129
|
label: "Session name",
|
|
422941
423130
|
value: nameValue
|
|
@@ -426317,7 +426506,7 @@ function Config({
|
|
|
426317
426506
|
}
|
|
426318
426507
|
}, undefined, false, undefined, this)
|
|
426319
426508
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
|
|
426320
|
-
currentVersion: "1.76.
|
|
426509
|
+
currentVersion: "1.76.10",
|
|
426321
426510
|
onChoice: (choice) => {
|
|
426322
426511
|
setShowSubmenu(null);
|
|
426323
426512
|
setTabsHidden(false);
|
|
@@ -426329,7 +426518,7 @@ function Config({
|
|
|
426329
426518
|
autoUpdatesChannel: "stable"
|
|
426330
426519
|
};
|
|
426331
426520
|
if (choice === "stay") {
|
|
426332
|
-
newSettings.minimumVersion = "1.76.
|
|
426521
|
+
newSettings.minimumVersion = "1.76.10";
|
|
426333
426522
|
}
|
|
426334
426523
|
updateSettingsForSource("userSettings", newSettings);
|
|
426335
426524
|
setSettingsData((prev_27) => ({
|
|
@@ -434393,7 +434582,7 @@ function HelpV2(t0) {
|
|
|
434393
434582
|
let t6;
|
|
434394
434583
|
if ($2[31] !== tabs) {
|
|
434395
434584
|
t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
|
|
434396
|
-
title: `UR v${"1.76.
|
|
434585
|
+
title: `UR v${"1.76.10"}`,
|
|
434397
434586
|
color: "professionalBlue",
|
|
434398
434587
|
defaultTab: "general",
|
|
434399
434588
|
children: tabs
|
|
@@ -435326,7 +435515,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
|
|
|
435326
435515
|
async function handleInitialize(options2) {
|
|
435327
435516
|
return {
|
|
435328
435517
|
name: "UR",
|
|
435329
|
-
version: "1.76.
|
|
435518
|
+
version: "1.76.10",
|
|
435330
435519
|
protocolVersion: "0.1.0",
|
|
435331
435520
|
workspaceRoot: options2.cwd,
|
|
435332
435521
|
capabilities: {
|
|
@@ -452434,7 +452623,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
452434
452623
|
return [];
|
|
452435
452624
|
}
|
|
452436
452625
|
}
|
|
452437
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.76.
|
|
452626
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.76.10") {
|
|
452438
452627
|
if (process.env.USER_TYPE === "ant") {
|
|
452439
452628
|
const changelog = "";
|
|
452440
452629
|
if (changelog) {
|
|
@@ -452461,7 +452650,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.76.7")
|
|
|
452461
452650
|
releaseNotes
|
|
452462
452651
|
};
|
|
452463
452652
|
}
|
|
452464
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.76.
|
|
452653
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.76.10") {
|
|
452465
452654
|
if (process.env.USER_TYPE === "ant") {
|
|
452466
452655
|
const changelog = "";
|
|
452467
452656
|
if (changelog) {
|
|
@@ -455327,7 +455516,7 @@ function getRecentActivitySync() {
|
|
|
455327
455516
|
return cachedActivity;
|
|
455328
455517
|
}
|
|
455329
455518
|
function getLogoDisplayData() {
|
|
455330
|
-
const version2 = process.env.DEMO_VERSION ?? "1.76.
|
|
455519
|
+
const version2 = process.env.DEMO_VERSION ?? "1.76.10";
|
|
455331
455520
|
const serverUrl = getDirectConnectServerUrl();
|
|
455332
455521
|
const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
|
|
455333
455522
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -456194,7 +456383,7 @@ function LogoV2() {
|
|
|
456194
456383
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
456195
456384
|
t2 = () => {
|
|
456196
456385
|
const currentConfig2 = getGlobalConfig();
|
|
456197
|
-
if (currentConfig2.lastReleaseNotesSeen === "1.76.
|
|
456386
|
+
if (currentConfig2.lastReleaseNotesSeen === "1.76.10") {
|
|
456198
456387
|
return;
|
|
456199
456388
|
}
|
|
456200
456389
|
saveGlobalConfig(_temp325);
|
|
@@ -456879,12 +457068,12 @@ function LogoV2() {
|
|
|
456879
457068
|
return t41;
|
|
456880
457069
|
}
|
|
456881
457070
|
function _temp325(current) {
|
|
456882
|
-
if (current.lastReleaseNotesSeen === "1.76.
|
|
457071
|
+
if (current.lastReleaseNotesSeen === "1.76.10") {
|
|
456883
457072
|
return current;
|
|
456884
457073
|
}
|
|
456885
457074
|
return {
|
|
456886
457075
|
...current,
|
|
456887
|
-
lastReleaseNotesSeen: "1.76.
|
|
457076
|
+
lastReleaseNotesSeen: "1.76.10"
|
|
456888
457077
|
};
|
|
456889
457078
|
}
|
|
456890
457079
|
function _temp241(s_0) {
|
|
@@ -473698,7 +473887,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
|
|
|
473698
473887
|
if (spec.name !== specName) {
|
|
473699
473888
|
throw new Error("Agentic CI workflow spec name does not match");
|
|
473700
473889
|
}
|
|
473701
|
-
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.76.
|
|
473890
|
+
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.76.10" : "1.76.10");
|
|
473702
473891
|
if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
|
|
473703
473892
|
throw new Error("invalid ur-agent package version");
|
|
473704
473893
|
}
|
|
@@ -474691,7 +474880,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
|
|
|
474691
474880
|
path: ".github/workflows/ur.yml",
|
|
474692
474881
|
root: "project",
|
|
474693
474882
|
content: compileAgenticCiWorkflow("default", {
|
|
474694
|
-
packageVersion: typeof MACRO !== "undefined" ? "1.76.
|
|
474883
|
+
packageVersion: typeof MACRO !== "undefined" ? "1.76.10" : "1.76.10"
|
|
474695
474884
|
})
|
|
474696
474885
|
},
|
|
474697
474886
|
{
|
|
@@ -474754,7 +474943,7 @@ function value(tokens, flag) {
|
|
|
474754
474943
|
return index2 >= 0 ? tokens[index2 + 1] : undefined;
|
|
474755
474944
|
}
|
|
474756
474945
|
function cliVersion() {
|
|
474757
|
-
return typeof MACRO !== "undefined" ? "1.76.
|
|
474946
|
+
return typeof MACRO !== "undefined" ? "1.76.10" : "1.76.10";
|
|
474758
474947
|
}
|
|
474759
474948
|
function workflowPath(cwd2) {
|
|
474760
474949
|
return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
|
|
@@ -480610,7 +480799,7 @@ function createAcpStdioApp(deps) {
|
|
|
480610
480799
|
}
|
|
480611
480800
|
},
|
|
480612
480801
|
authMethods: [],
|
|
480613
|
-
agentInfo: { name: "UR-Nexus", version: "1.76.
|
|
480802
|
+
agentInfo: { name: "UR-Nexus", version: "1.76.10" }
|
|
480614
480803
|
})).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
|
|
480615
480804
|
const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
|
|
480616
480805
|
await runtime2.announce({
|
|
@@ -480707,7 +480896,7 @@ function createAcpStdioAgent(deps) {
|
|
|
480707
480896
|
}
|
|
480708
480897
|
},
|
|
480709
480898
|
authMethods: [],
|
|
480710
|
-
agentInfo: { name: "UR-Nexus", version: "1.76.
|
|
480899
|
+
agentInfo: { name: "UR-Nexus", version: "1.76.10" }
|
|
480711
480900
|
});
|
|
480712
480901
|
return;
|
|
480713
480902
|
case "authenticate":
|
|
@@ -492667,6 +492856,11 @@ async function runCrew(name, options2) {
|
|
|
492667
492856
|
options2.onEvent?.({ kind: "worker-exit", worker: workerId, handled: count5 });
|
|
492668
492857
|
return count5;
|
|
492669
492858
|
}
|
|
492859
|
+
const workerFailures = [];
|
|
492860
|
+
const track = (promise3) => promise3.catch((error40) => {
|
|
492861
|
+
workerFailures.push(error40);
|
|
492862
|
+
return 0;
|
|
492863
|
+
});
|
|
492670
492864
|
let spawned = 0;
|
|
492671
492865
|
if (options2.dynamic) {
|
|
492672
492866
|
const governor = boundedInteger2(options2.maxWorkers, 8, 1, 32);
|
|
@@ -492683,13 +492877,13 @@ async function runCrew(name, options2) {
|
|
|
492683
492877
|
while (active3.size < governor && runnableCount() > 0) {
|
|
492684
492878
|
spawned += 1;
|
|
492685
492879
|
const id = `w${spawned}`;
|
|
492686
|
-
const p2 = worker(id).finally(() => active3.delete(p2));
|
|
492880
|
+
const p2 = track(worker(id)).finally(() => active3.delete(p2));
|
|
492687
492881
|
active3.add(p2);
|
|
492688
492882
|
}
|
|
492689
492883
|
if (active3.size === 0) {
|
|
492690
492884
|
if (todoCount() > 0) {
|
|
492691
492885
|
spawned += 1;
|
|
492692
|
-
await worker(`w${spawned}`);
|
|
492886
|
+
await track(worker(`w${spawned}`));
|
|
492693
492887
|
continue;
|
|
492694
492888
|
}
|
|
492695
492889
|
break;
|
|
@@ -492702,7 +492896,10 @@ async function runCrew(name, options2) {
|
|
|
492702
492896
|
} else {
|
|
492703
492897
|
spawned = workerCount;
|
|
492704
492898
|
const workerIds = Array.from({ length: workerCount }, (_, i3) => `w${i3 + 1}`);
|
|
492705
|
-
await Promise.all(workerIds.map(worker));
|
|
492899
|
+
await Promise.all(workerIds.map((id) => track(worker(id))));
|
|
492900
|
+
}
|
|
492901
|
+
if (workerFailures.length > 0) {
|
|
492902
|
+
throw workerFailures[0];
|
|
492706
492903
|
}
|
|
492707
492904
|
const finalSpec = loadCrew(cwd2, name) ?? baseSpec;
|
|
492708
492905
|
return { name, workers: spawned, progress: crewProgress(finalSpec), handled };
|
|
@@ -690159,7 +690356,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
|
|
|
690159
690356
|
smapsRollup,
|
|
690160
690357
|
platform: process.platform,
|
|
690161
690358
|
nodeVersion: process.version,
|
|
690162
|
-
ccVersion: "1.76.
|
|
690359
|
+
ccVersion: "1.76.10"
|
|
690163
690360
|
};
|
|
690164
690361
|
}
|
|
690165
690362
|
async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
|
|
@@ -690739,7 +690936,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
690739
690936
|
var call154 = async () => {
|
|
690740
690937
|
return {
|
|
690741
690938
|
type: "text",
|
|
690742
|
-
value: "1.76.
|
|
690939
|
+
value: "1.76.10"
|
|
690743
690940
|
};
|
|
690744
690941
|
}, version2, version_default;
|
|
690745
690942
|
var init_version = __esm(() => {
|
|
@@ -702006,7 +702203,7 @@ function generateHtmlReport(data, insights) {
|
|
|
702006
702203
|
</html>`;
|
|
702007
702204
|
}
|
|
702008
702205
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
702009
|
-
const version3 = typeof MACRO !== "undefined" ? "1.76.
|
|
702206
|
+
const version3 = typeof MACRO !== "undefined" ? "1.76.10" : "unknown";
|
|
702010
702207
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
702011
702208
|
const facets_summary = {
|
|
702012
702209
|
total: facets.size,
|
|
@@ -706320,7 +706517,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
706320
706517
|
init_settings2();
|
|
706321
706518
|
init_slowOperations();
|
|
706322
706519
|
init_uuid();
|
|
706323
|
-
VERSION7 = typeof MACRO !== "undefined" ? "1.76.
|
|
706520
|
+
VERSION7 = typeof MACRO !== "undefined" ? "1.76.10" : "unknown";
|
|
706324
706521
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
706325
706522
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
706326
706523
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -707535,7 +707732,7 @@ var init_filesystem = __esm(() => {
|
|
|
707535
707732
|
});
|
|
707536
707733
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
707537
707734
|
const nonce = randomBytes20(16).toString("hex");
|
|
707538
|
-
return join232(getURTempDir(), "bundled-skills", "1.76.
|
|
707735
|
+
return join232(getURTempDir(), "bundled-skills", "1.76.10", nonce);
|
|
707539
707736
|
});
|
|
707540
707737
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
707541
707738
|
});
|
|
@@ -713884,7 +714081,7 @@ function computeFingerprint(messageText2, version3) {
|
|
|
713884
714081
|
}
|
|
713885
714082
|
function computeFingerprintFromMessages(messages) {
|
|
713886
714083
|
const firstMessageText = extractFirstMessageText(messages);
|
|
713887
|
-
return computeFingerprint(firstMessageText, "1.76.
|
|
714084
|
+
return computeFingerprint(firstMessageText, "1.76.10");
|
|
713888
714085
|
}
|
|
713889
714086
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
713890
714087
|
var init_fingerprint = () => {};
|
|
@@ -714831,7 +715028,7 @@ ${deferredToolList}
|
|
|
714831
715028
|
stopReason = null;
|
|
714832
715029
|
isAdvisorInProgress = false;
|
|
714833
715030
|
const streamWatchdogEnabled = isStreamWatchdogEnabled();
|
|
714834
|
-
const STREAM_IDLE_TIMEOUT_MS = parseInt(process.env.UR_STREAM_IDLE_TIMEOUT_MS || "", 10) ||
|
|
715031
|
+
const STREAM_IDLE_TIMEOUT_MS = parseInt(process.env.UR_STREAM_IDLE_TIMEOUT_MS || "", 10) || 300000;
|
|
714835
715032
|
const STREAM_IDLE_WARNING_MS = STREAM_IDLE_TIMEOUT_MS / 2;
|
|
714836
715033
|
let streamIdleAborted = false;
|
|
714837
715034
|
let streamWatchdogFiredAt = null;
|
|
@@ -714849,6 +715046,9 @@ ${deferredToolList}
|
|
|
714849
715046
|
for await (const _part of stream5) {
|
|
714850
715047
|
const part = _part;
|
|
714851
715048
|
resetStreamIdleTimer();
|
|
715049
|
+
if (part?.type === "ping") {
|
|
715050
|
+
continue;
|
|
715051
|
+
}
|
|
714852
715052
|
const outputChunkAt = performance.now();
|
|
714853
715053
|
if (previousOutputChunkAt !== undefined) {
|
|
714854
715054
|
recordGenAiOutputChunkMetric({
|
|
@@ -715803,7 +716003,7 @@ async function sideQuery(opts) {
|
|
|
715803
716003
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
715804
716004
|
}
|
|
715805
716005
|
const messageText2 = extractFirstUserMessageText(messages);
|
|
715806
|
-
const fingerprint2 = computeFingerprint(messageText2, "1.76.
|
|
716006
|
+
const fingerprint2 = computeFingerprint(messageText2, "1.76.10");
|
|
715807
716007
|
const attributionHeader = getAttributionHeader(fingerprint2);
|
|
715808
716008
|
const systemBlocks = [
|
|
715809
716009
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -720640,7 +720840,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
720640
720840
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
720641
720841
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
720642
720842
|
betas: getSdkBetas(),
|
|
720643
|
-
ur_version: "1.76.
|
|
720843
|
+
ur_version: "1.76.10",
|
|
720644
720844
|
output_style: outputStyle2,
|
|
720645
720845
|
agents: inputs.agents.map((agent2) => agent2.agentType),
|
|
720646
720846
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
|
|
@@ -734512,7 +734712,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
734512
734712
|
function getSemverPart(version3) {
|
|
734513
734713
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
734514
734714
|
}
|
|
734515
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.76.
|
|
734715
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.76.10") {
|
|
734516
734716
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react223.useState(() => getSemverPart(initialVersion));
|
|
734517
734717
|
if (!updatedVersion) {
|
|
734518
734718
|
return null;
|
|
@@ -734561,7 +734761,7 @@ function AutoUpdater({
|
|
|
734561
734761
|
return;
|
|
734562
734762
|
}
|
|
734563
734763
|
if (false) {}
|
|
734564
|
-
const currentVersion = "1.76.
|
|
734764
|
+
const currentVersion = "1.76.10";
|
|
734565
734765
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
734566
734766
|
let latestVersion = await getLatestVersion(channel);
|
|
734567
734767
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -734790,12 +734990,12 @@ function NativeAutoUpdater({
|
|
|
734790
734990
|
logEvent("tengu_native_auto_updater_start", {});
|
|
734791
734991
|
try {
|
|
734792
734992
|
const maxVersion = await getMaxVersion();
|
|
734793
|
-
if (maxVersion && gt("1.76.
|
|
734993
|
+
if (maxVersion && gt("1.76.10", maxVersion)) {
|
|
734794
734994
|
const msg = await getMaxVersionMessage();
|
|
734795
734995
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
734796
734996
|
}
|
|
734797
734997
|
const result = await installLatest(channel);
|
|
734798
|
-
const currentVersion = "1.76.
|
|
734998
|
+
const currentVersion = "1.76.10";
|
|
734799
734999
|
const latencyMs = Date.now() - startTime;
|
|
734800
735000
|
if (result.lockFailed) {
|
|
734801
735001
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -734932,17 +735132,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
734932
735132
|
const maxVersion = await getMaxVersion();
|
|
734933
735133
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
734934
735134
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
734935
|
-
if (gte("1.76.
|
|
734936
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.76.
|
|
735135
|
+
if (gte("1.76.10", maxVersion)) {
|
|
735136
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.76.10"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
734937
735137
|
setUpdateAvailable(false);
|
|
734938
735138
|
return;
|
|
734939
735139
|
}
|
|
734940
735140
|
latest = maxVersion;
|
|
734941
735141
|
}
|
|
734942
|
-
const hasUpdate = latest && !gte("1.76.
|
|
735142
|
+
const hasUpdate = latest && !gte("1.76.10", latest) && !shouldSkipVersion(latest);
|
|
734943
735143
|
setUpdateAvailable(!!hasUpdate);
|
|
734944
735144
|
if (hasUpdate) {
|
|
734945
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.76.
|
|
735145
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.76.10"} -> ${latest}`);
|
|
734946
735146
|
}
|
|
734947
735147
|
};
|
|
734948
735148
|
$2[0] = t1;
|
|
@@ -734976,7 +735176,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
734976
735176
|
wrap: "truncate",
|
|
734977
735177
|
children: [
|
|
734978
735178
|
"currentVersion: ",
|
|
734979
|
-
"1.76.
|
|
735179
|
+
"1.76.10"
|
|
734980
735180
|
]
|
|
734981
735181
|
}, undefined, true, undefined, this);
|
|
734982
735182
|
$2[3] = verbose;
|
|
@@ -745776,7 +745976,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
745776
745976
|
project_dir: getOriginalCwd(),
|
|
745777
745977
|
added_dirs: addedDirs
|
|
745778
745978
|
},
|
|
745779
|
-
version: "1.76.
|
|
745979
|
+
version: "1.76.10",
|
|
745780
745980
|
output_style: {
|
|
745781
745981
|
name: outputStyleName
|
|
745782
745982
|
},
|
|
@@ -745911,7 +746111,7 @@ function StatusLineInner({
|
|
|
745911
746111
|
const attention = customStatusError ?? taskAttention;
|
|
745912
746112
|
const terminalSize = React132.useContext(TerminalSizeContext);
|
|
745913
746113
|
const defaultStatusLineText = buildDefaultStatusBar({
|
|
745914
|
-
version: "1.76.
|
|
746114
|
+
version: "1.76.10",
|
|
745915
746115
|
providerLabel: providerRuntime.providerLabel,
|
|
745916
746116
|
authMode: providerRuntime.authLabel,
|
|
745917
746117
|
model: renderModelName(mainLoopModel) || providerRuntime.model || "",
|
|
@@ -758196,7 +758396,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
|
|
|
758196
758396
|
} catch {}
|
|
758197
758397
|
const data = {
|
|
758198
758398
|
trigger: trigger2,
|
|
758199
|
-
version: "1.76.
|
|
758399
|
+
version: "1.76.10",
|
|
758200
758400
|
platform: process.platform,
|
|
758201
758401
|
transcript,
|
|
758202
758402
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -770570,7 +770770,7 @@ function WelcomeV2() {
|
|
|
770570
770770
|
dimColor: true,
|
|
770571
770771
|
children: [
|
|
770572
770772
|
"v",
|
|
770573
|
-
"1.76.
|
|
770773
|
+
"1.76.10"
|
|
770574
770774
|
]
|
|
770575
770775
|
}, undefined, true, undefined, this)
|
|
770576
770776
|
]
|
|
@@ -771830,7 +772030,7 @@ function completeOnboarding() {
|
|
|
771830
772030
|
saveGlobalConfig((current) => ({
|
|
771831
772031
|
...current,
|
|
771832
772032
|
hasCompletedOnboarding: true,
|
|
771833
|
-
lastOnboardingVersion: "1.76.
|
|
772033
|
+
lastOnboardingVersion: "1.76.10"
|
|
771834
772034
|
}));
|
|
771835
772035
|
}
|
|
771836
772036
|
function showDialog(root2, renderer) {
|
|
@@ -776874,7 +777074,7 @@ function appendToLog(path24, message) {
|
|
|
776874
777074
|
cwd: getFsImplementation().cwd(),
|
|
776875
777075
|
userType: process.env.USER_TYPE,
|
|
776876
777076
|
sessionId: getSessionId(),
|
|
776877
|
-
version: "1.76.
|
|
777077
|
+
version: "1.76.10"
|
|
776878
777078
|
};
|
|
776879
777079
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
776880
777080
|
}
|
|
@@ -781033,8 +781233,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
781033
781233
|
}
|
|
781034
781234
|
async function checkEnvLessBridgeMinVersion() {
|
|
781035
781235
|
const cfg = await getEnvLessBridgeConfig();
|
|
781036
|
-
if (cfg.min_version && lt("1.76.
|
|
781037
|
-
return `Your version of UR (${"1.76.
|
|
781236
|
+
if (cfg.min_version && lt("1.76.10", cfg.min_version)) {
|
|
781237
|
+
return `Your version of UR (${"1.76.10"}) is too old for Remote Control.
|
|
781038
781238
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
781039
781239
|
}
|
|
781040
781240
|
return null;
|
|
@@ -781508,7 +781708,7 @@ async function initBridgeCore(params) {
|
|
|
781508
781708
|
const rawApi = createBridgeApiClient({
|
|
781509
781709
|
baseUrl,
|
|
781510
781710
|
getAccessToken,
|
|
781511
|
-
runnerVersion: "1.76.
|
|
781711
|
+
runnerVersion: "1.76.10",
|
|
781512
781712
|
onDebug: logForDebugging,
|
|
781513
781713
|
onAuth401,
|
|
781514
781714
|
getTrustedDeviceToken
|
|
@@ -790981,7 +791181,7 @@ function getAgUiCapabilities() {
|
|
|
790981
791181
|
name: "UR-Nexus",
|
|
790982
791182
|
type: "ur-nexus",
|
|
790983
791183
|
description: "Provider-flexible, local-first autonomous engineering workflow agent.",
|
|
790984
|
-
version: "1.76.
|
|
791184
|
+
version: "1.76.10",
|
|
790985
791185
|
provider: "UR",
|
|
790986
791186
|
documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
|
|
790987
791187
|
},
|
|
@@ -792121,7 +792321,7 @@ function createMCPServer(cwd4, debug2, verbose) {
|
|
|
792121
792321
|
};
|
|
792122
792322
|
const server2 = new Server({
|
|
792123
792323
|
name: "ur-nexus",
|
|
792124
|
-
version: "1.76.
|
|
792324
|
+
version: "1.76.10"
|
|
792125
792325
|
}, {
|
|
792126
792326
|
capabilities: {
|
|
792127
792327
|
tools: {}
|
|
@@ -793279,7 +793479,7 @@ function thrownResponse(error40) {
|
|
|
793279
793479
|
}
|
|
793280
793480
|
async function createUrMcp2026Runtime(options4) {
|
|
793281
793481
|
const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
|
|
793282
|
-
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.76.
|
|
793482
|
+
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.76.10" }, { capabilities: {} });
|
|
793283
793483
|
const [clientTransport, serverTransport] = createLinkedTransportPair();
|
|
793284
793484
|
try {
|
|
793285
793485
|
await server2.connect(serverTransport);
|
|
@@ -793290,7 +793490,7 @@ async function createUrMcp2026Runtime(options4) {
|
|
|
793290
793490
|
}
|
|
793291
793491
|
const runtime2 = new Mcp2026Runtime({
|
|
793292
793492
|
cwd: options4.cwd,
|
|
793293
|
-
version: "1.76.
|
|
793493
|
+
version: "1.76.10",
|
|
793294
793494
|
backend: {
|
|
793295
793495
|
listTools: async () => {
|
|
793296
793496
|
const listed = await client2.listTools();
|
|
@@ -795431,7 +795631,7 @@ async function update() {
|
|
|
795431
795631
|
logEvent("tengu_update_check", {});
|
|
795432
795632
|
const diagnostic2 = await getDoctorDiagnostic();
|
|
795433
795633
|
const result = await checkUpgradeStatus({
|
|
795434
|
-
currentVersion: "1.76.
|
|
795634
|
+
currentVersion: "1.76.10",
|
|
795435
795635
|
packageName: UR_AGENT_PACKAGE_NAME,
|
|
795436
795636
|
installationType: diagnostic2.installationType,
|
|
795437
795637
|
latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
|
|
@@ -796747,7 +796947,7 @@ ${customInstructions}` : customInstructions;
|
|
|
796747
796947
|
}
|
|
796748
796948
|
}
|
|
796749
796949
|
logForDiagnosticsNoPII("info", "started", {
|
|
796750
|
-
version: "1.76.
|
|
796950
|
+
version: "1.76.10",
|
|
796751
796951
|
is_native_binary: isInBundledMode()
|
|
796752
796952
|
});
|
|
796753
796953
|
registerCleanup(async () => {
|
|
@@ -797533,7 +797733,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
797533
797733
|
pendingHookMessages
|
|
797534
797734
|
}, renderAndRun);
|
|
797535
797735
|
}
|
|
797536
|
-
}).version("1.76.
|
|
797736
|
+
}).version("1.76.10 (UR-Nexus)", "-v, --version", "Output the version number");
|
|
797537
797737
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
797538
797738
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
797539
797739
|
if (canUserConfigureAdvisor()) {
|
|
@@ -798585,7 +798785,7 @@ if (false) {}
|
|
|
798585
798785
|
async function main2() {
|
|
798586
798786
|
const args = process.argv.slice(2);
|
|
798587
798787
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
798588
|
-
console.log(`${"1.76.
|
|
798788
|
+
console.log(`${"1.76.10"} (UR-Nexus)`);
|
|
798589
798789
|
return;
|
|
798590
798790
|
}
|
|
798591
798791
|
if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
|