ur-agent 1.57.0 → 1.57.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/dist/cli.js
CHANGED
|
@@ -57310,6 +57310,7 @@ var init_kimiToolCalls = __esm(() => {
|
|
|
57310
57310
|
// src/services/api/ollama.ts
|
|
57311
57311
|
var exports_ollama = {};
|
|
57312
57312
|
__export(exports_ollama, {
|
|
57313
|
+
toOllamaChatRequest: () => toOllamaChatRequest,
|
|
57313
57314
|
mergeToolCalls: () => mergeToolCalls,
|
|
57314
57315
|
isOllamaCloudModel: () => isOllamaCloudModel2,
|
|
57315
57316
|
getOllamaRequestTimeoutMs: () => getOllamaRequestTimeoutMs,
|
|
@@ -57497,7 +57498,7 @@ function toOllamaChatRequest(params, stream4, capabilities) {
|
|
|
57497
57498
|
model: params.model,
|
|
57498
57499
|
messages: [
|
|
57499
57500
|
systemMessage,
|
|
57500
|
-
...messagesToOllama(params.messages, modelCapabilityEnabled(capabilities, "vision"))
|
|
57501
|
+
...messagesToOllama(params.messages, modelCapabilityEnabled(capabilities, "vision"), params.model)
|
|
57501
57502
|
].filter((message) => message.role === "tool" || message.content.trim() !== "" || (message.images?.length ?? 0) > 0 || (message.tool_calls?.length ?? 0) > 0),
|
|
57502
57503
|
stream: stream4,
|
|
57503
57504
|
...tools.length > 0 ? { tools } : {},
|
|
@@ -57543,7 +57544,7 @@ function systemToText(system) {
|
|
|
57543
57544
|
|
|
57544
57545
|
`);
|
|
57545
57546
|
}
|
|
57546
|
-
function messagesToOllama(messages, supportsVision) {
|
|
57547
|
+
function messagesToOllama(messages, supportsVision, model = "") {
|
|
57547
57548
|
const result = [];
|
|
57548
57549
|
const toolNamesById = new Map;
|
|
57549
57550
|
for (const message of messages) {
|
|
@@ -57592,11 +57593,19 @@ function messagesToOllama(messages, supportsVision) {
|
|
|
57592
57593
|
break;
|
|
57593
57594
|
case "tool_result": {
|
|
57594
57595
|
const toolName = toolNamesById.get(block.tool_use_id) ?? block.tool_use_id;
|
|
57596
|
+
const split = splitToolResultContent(block.content);
|
|
57597
|
+
const note = describeToolResultImages(split.images.length, toolName, supportsVision, model);
|
|
57595
57598
|
toolMessages.push({
|
|
57596
57599
|
role: "tool",
|
|
57597
|
-
content:
|
|
57600
|
+
content: [split.text, note].filter(Boolean).join(`
|
|
57601
|
+
`),
|
|
57598
57602
|
tool_name: toolName
|
|
57599
57603
|
});
|
|
57604
|
+
if (supportsVision) {
|
|
57605
|
+
for (const image of split.images) {
|
|
57606
|
+
images.push(image);
|
|
57607
|
+
}
|
|
57608
|
+
}
|
|
57600
57609
|
break;
|
|
57601
57610
|
}
|
|
57602
57611
|
case "image":
|
|
@@ -58255,6 +58264,37 @@ function emptyUsage() {
|
|
|
58255
58264
|
}
|
|
58256
58265
|
};
|
|
58257
58266
|
}
|
|
58267
|
+
function splitToolResultContent(content) {
|
|
58268
|
+
if (!Array.isArray(content)) {
|
|
58269
|
+
return { text: contentBlockToText(content), images: [] };
|
|
58270
|
+
}
|
|
58271
|
+
const textParts = [];
|
|
58272
|
+
const images = [];
|
|
58273
|
+
for (const block of content) {
|
|
58274
|
+
if (block && typeof block === "object" && "type" in block && block.type === "image") {
|
|
58275
|
+
const source = block.source;
|
|
58276
|
+
if (source?.type === "base64" && typeof source.data === "string") {
|
|
58277
|
+
images.push(source.data);
|
|
58278
|
+
} else {
|
|
58279
|
+
textParts.push("[Image omitted: unsupported image source]");
|
|
58280
|
+
}
|
|
58281
|
+
continue;
|
|
58282
|
+
}
|
|
58283
|
+
textParts.push(contentBlockToText([block]));
|
|
58284
|
+
}
|
|
58285
|
+
return { text: textParts.filter(Boolean).join(`
|
|
58286
|
+
`), images };
|
|
58287
|
+
}
|
|
58288
|
+
function describeToolResultImages(count3, toolName, supportsVision, model) {
|
|
58289
|
+
if (count3 === 0)
|
|
58290
|
+
return "";
|
|
58291
|
+
const plural = count3 === 1 ? "image" : `${count3} images`;
|
|
58292
|
+
if (supportsVision) {
|
|
58293
|
+
return `[${plural} from ${toolName} attached to the following message]`;
|
|
58294
|
+
}
|
|
58295
|
+
const named = model ? `"${model}"` : "the selected Ollama model";
|
|
58296
|
+
return `[${plural} from ${toolName} could not be sent: ${named} does not advertise ` + `vision support, so it cannot see images. Tell the user this directly and ` + `suggest switching to a vision model with /model.]`;
|
|
58297
|
+
}
|
|
58258
58298
|
function contentBlockToText(content) {
|
|
58259
58299
|
if (typeof content === "string") {
|
|
58260
58300
|
return content;
|
|
@@ -75097,7 +75137,7 @@ var init_auth = __esm(() => {
|
|
|
75097
75137
|
|
|
75098
75138
|
// src/utils/userAgent.ts
|
|
75099
75139
|
function getURCodeUserAgent() {
|
|
75100
|
-
return `ur/${"1.57.
|
|
75140
|
+
return `ur/${"1.57.2"}`;
|
|
75101
75141
|
}
|
|
75102
75142
|
|
|
75103
75143
|
// src/utils/workloadContext.ts
|
|
@@ -75119,7 +75159,7 @@ function getUserAgent() {
|
|
|
75119
75159
|
const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
|
|
75120
75160
|
const workload = getWorkload();
|
|
75121
75161
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
75122
|
-
return `ur-cli/${"1.57.
|
|
75162
|
+
return `ur-cli/${"1.57.2"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
75123
75163
|
}
|
|
75124
75164
|
function getMCPUserAgent() {
|
|
75125
75165
|
const parts = [];
|
|
@@ -75133,7 +75173,7 @@ function getMCPUserAgent() {
|
|
|
75133
75173
|
parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
|
|
75134
75174
|
}
|
|
75135
75175
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
75136
|
-
return `ur/${"1.57.
|
|
75176
|
+
return `ur/${"1.57.2"}${suffix}`;
|
|
75137
75177
|
}
|
|
75138
75178
|
function getWebFetchUserAgent() {
|
|
75139
75179
|
return `UR-User (${getURCodeUserAgent()})`;
|
|
@@ -75271,7 +75311,7 @@ var init_user = __esm(() => {
|
|
|
75271
75311
|
deviceId,
|
|
75272
75312
|
sessionId: getSessionId(),
|
|
75273
75313
|
email: getEmail(),
|
|
75274
|
-
appVersion: "1.57.
|
|
75314
|
+
appVersion: "1.57.2",
|
|
75275
75315
|
platform: getHostPlatformForAnalytics(),
|
|
75276
75316
|
organizationUuid,
|
|
75277
75317
|
accountUuid,
|
|
@@ -83471,7 +83511,7 @@ var init_metadata = __esm(() => {
|
|
|
83471
83511
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
83472
83512
|
WHITESPACE_REGEX = /\s+/;
|
|
83473
83513
|
getVersionBase = memoize_default(() => {
|
|
83474
|
-
const match = "1.57.
|
|
83514
|
+
const match = "1.57.2".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
83475
83515
|
return match ? match[0] : undefined;
|
|
83476
83516
|
});
|
|
83477
83517
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -83511,7 +83551,7 @@ var init_metadata = __esm(() => {
|
|
|
83511
83551
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
83512
83552
|
isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
|
|
83513
83553
|
isURAiAuth: isURAISubscriber(),
|
|
83514
|
-
version: "1.57.
|
|
83554
|
+
version: "1.57.2",
|
|
83515
83555
|
versionBase: getVersionBase(),
|
|
83516
83556
|
buildTime: "",
|
|
83517
83557
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
@@ -84181,7 +84221,7 @@ function initialize1PEventLogging() {
|
|
|
84181
84221
|
const platform2 = getPlatform();
|
|
84182
84222
|
const attributes = {
|
|
84183
84223
|
[import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
|
|
84184
|
-
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.57.
|
|
84224
|
+
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.57.2"
|
|
84185
84225
|
};
|
|
84186
84226
|
if (platform2 === "wsl") {
|
|
84187
84227
|
const wslVersion = getWslVersion();
|
|
@@ -84209,7 +84249,7 @@ function initialize1PEventLogging() {
|
|
|
84209
84249
|
})
|
|
84210
84250
|
]
|
|
84211
84251
|
});
|
|
84212
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.57.
|
|
84252
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.57.2");
|
|
84213
84253
|
}
|
|
84214
84254
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
84215
84255
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -94048,7 +94088,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
|
|
|
94048
94088
|
function formatA2AAgentCard(options = {}, pretty = true) {
|
|
94049
94089
|
return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
|
|
94050
94090
|
}
|
|
94051
|
-
var urVersion = "1.57.
|
|
94091
|
+
var urVersion = "1.57.2", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
|
|
94052
94092
|
var init_trends = __esm(() => {
|
|
94053
94093
|
init_a2aCardSignature();
|
|
94054
94094
|
coverage = [
|
|
@@ -96849,7 +96889,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
96849
96889
|
if (!isAttributionHeaderEnabled()) {
|
|
96850
96890
|
return "";
|
|
96851
96891
|
}
|
|
96852
|
-
const version2 = `${"1.57.
|
|
96892
|
+
const version2 = `${"1.57.2"}.${fingerprint}`;
|
|
96853
96893
|
const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
|
|
96854
96894
|
const cch = "";
|
|
96855
96895
|
const workload = getWorkload();
|
|
@@ -154438,7 +154478,7 @@ var init_projectSafety = __esm(() => {
|
|
|
154438
154478
|
function getInstruments() {
|
|
154439
154479
|
if (instruments)
|
|
154440
154480
|
return instruments;
|
|
154441
|
-
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.57.
|
|
154481
|
+
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.57.2");
|
|
154442
154482
|
instruments = {
|
|
154443
154483
|
operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
|
|
154444
154484
|
description: "GenAI operation duration.",
|
|
@@ -154536,7 +154576,7 @@ function genAiAgentAttributes() {
|
|
|
154536
154576
|
"gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
|
|
154537
154577
|
"gen_ai.provider.name": "ur",
|
|
154538
154578
|
"gen_ai.agent.name": "UR-Nexus",
|
|
154539
|
-
"gen_ai.agent.version": "1.57.
|
|
154579
|
+
"gen_ai.agent.version": "1.57.2"
|
|
154540
154580
|
};
|
|
154541
154581
|
}
|
|
154542
154582
|
function genAiWorkflowAttributes(workflowName) {
|
|
@@ -154552,7 +154592,7 @@ function genAiWorkflowAttributes(workflowName) {
|
|
|
154552
154592
|
function startGenAiWorkflowSpan(workflowName) {
|
|
154553
154593
|
const attributes = genAiWorkflowAttributes(workflowName);
|
|
154554
154594
|
const name = typeof attributes["gen_ai.workflow.name"] === "string" ? `invoke_workflow ${attributes["gen_ai.workflow.name"]}` : GEN_AI_OPERATION_INVOKE_WORKFLOW;
|
|
154555
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.57.
|
|
154595
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.57.2").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
154556
154596
|
}
|
|
154557
154597
|
function endGenAiWorkflowSpan(span, options2 = {}) {
|
|
154558
154598
|
try {
|
|
@@ -154590,7 +154630,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
|
|
|
154590
154630
|
if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
|
|
154591
154631
|
attributes["gen_ai.memory.record.count"] = options2.recordCount;
|
|
154592
154632
|
}
|
|
154593
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.57.
|
|
154633
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.57.2").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
154594
154634
|
}
|
|
154595
154635
|
function endGenAiMemorySpan(span, options2 = {}) {
|
|
154596
154636
|
try {
|
|
@@ -206109,7 +206149,7 @@ function getTelemetryAttributes() {
|
|
|
206109
206149
|
attributes["session.id"] = sessionId;
|
|
206110
206150
|
}
|
|
206111
206151
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
206112
|
-
attributes["app.version"] = "1.57.
|
|
206152
|
+
attributes["app.version"] = "1.57.2";
|
|
206113
206153
|
}
|
|
206114
206154
|
const oauthAccount = getOauthAccountInfo();
|
|
206115
206155
|
if (oauthAccount) {
|
|
@@ -241676,7 +241716,7 @@ function getInstallationEnv() {
|
|
|
241676
241716
|
return;
|
|
241677
241717
|
}
|
|
241678
241718
|
function getURCodeVersion() {
|
|
241679
|
-
return "1.57.
|
|
241719
|
+
return "1.57.2";
|
|
241680
241720
|
}
|
|
241681
241721
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
241682
241722
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -249007,7 +249047,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
249007
249047
|
const client2 = new Client({
|
|
249008
249048
|
name: "ur",
|
|
249009
249049
|
title: "UR",
|
|
249010
|
-
version: "1.57.
|
|
249050
|
+
version: "1.57.2",
|
|
249011
249051
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
249012
249052
|
websiteUrl: PRODUCT_URL
|
|
249013
249053
|
}, {
|
|
@@ -249367,7 +249407,7 @@ var init_client5 = __esm(() => {
|
|
|
249367
249407
|
const client2 = new Client({
|
|
249368
249408
|
name: "ur",
|
|
249369
249409
|
title: "UR",
|
|
249370
|
-
version: "1.57.
|
|
249410
|
+
version: "1.57.2",
|
|
249371
249411
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
249372
249412
|
websiteUrl: PRODUCT_URL
|
|
249373
249413
|
}, {
|
|
@@ -261968,7 +262008,7 @@ async function createRuntime() {
|
|
|
261968
262008
|
bootstrapTelemetry();
|
|
261969
262009
|
const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
|
|
261970
262010
|
[import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
|
|
261971
|
-
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.57.
|
|
262011
|
+
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.57.2"
|
|
261972
262012
|
}));
|
|
261973
262013
|
const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
|
|
261974
262014
|
resource,
|
|
@@ -262001,11 +262041,11 @@ async function createRuntime() {
|
|
|
262001
262041
|
setMeterProvider(meterProvider);
|
|
262002
262042
|
setLoggerProvider(loggerProvider);
|
|
262003
262043
|
if (meterProvider) {
|
|
262004
|
-
const meter = meterProvider.getMeter("ur-agent", "1.57.
|
|
262044
|
+
const meter = meterProvider.getMeter("ur-agent", "1.57.2");
|
|
262005
262045
|
setMeter(meter, (name, options2) => meter.createCounter(name, options2));
|
|
262006
262046
|
}
|
|
262007
262047
|
if (loggerProvider) {
|
|
262008
|
-
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.57.
|
|
262048
|
+
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.57.2"));
|
|
262009
262049
|
}
|
|
262010
262050
|
if (!cleanupRegistered2) {
|
|
262011
262051
|
cleanupRegistered2 = true;
|
|
@@ -262667,9 +262707,9 @@ async function assertMinVersion() {
|
|
|
262667
262707
|
if (false) {}
|
|
262668
262708
|
try {
|
|
262669
262709
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
262670
|
-
if (versionConfig.minVersion && lt("1.57.
|
|
262710
|
+
if (versionConfig.minVersion && lt("1.57.2", versionConfig.minVersion)) {
|
|
262671
262711
|
console.error(`
|
|
262672
|
-
It looks like your version of UR (${"1.57.
|
|
262712
|
+
It looks like your version of UR (${"1.57.2"}) needs an update.
|
|
262673
262713
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
262674
262714
|
|
|
262675
262715
|
To update, please run:
|
|
@@ -262885,7 +262925,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
262885
262925
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
262886
262926
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
262887
262927
|
pid: process.pid,
|
|
262888
|
-
currentVersion: "1.57.
|
|
262928
|
+
currentVersion: "1.57.2"
|
|
262889
262929
|
});
|
|
262890
262930
|
return "in_progress";
|
|
262891
262931
|
}
|
|
@@ -262894,7 +262934,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
262894
262934
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
262895
262935
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
262896
262936
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
262897
|
-
currentVersion: "1.57.
|
|
262937
|
+
currentVersion: "1.57.2"
|
|
262898
262938
|
});
|
|
262899
262939
|
console.error(`
|
|
262900
262940
|
Error: Windows NPM detected in WSL
|
|
@@ -263429,7 +263469,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
263429
263469
|
}
|
|
263430
263470
|
async function getDoctorDiagnostic() {
|
|
263431
263471
|
const installationType = await getCurrentInstallationType();
|
|
263432
|
-
const version2 = typeof MACRO !== "undefined" ? "1.57.
|
|
263472
|
+
const version2 = typeof MACRO !== "undefined" ? "1.57.2" : "unknown";
|
|
263433
263473
|
const installationPath = await getInstallationPath();
|
|
263434
263474
|
const invokedBinary = getInvokedBinary();
|
|
263435
263475
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -264364,8 +264404,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
264364
264404
|
const maxVersion = await getMaxVersion();
|
|
264365
264405
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
264366
264406
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
264367
|
-
if (gte("1.57.
|
|
264368
|
-
logForDebugging(`Native installer: current version ${"1.57.
|
|
264407
|
+
if (gte("1.57.2", maxVersion)) {
|
|
264408
|
+
logForDebugging(`Native installer: current version ${"1.57.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
264369
264409
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
264370
264410
|
latency_ms: Date.now() - startTime,
|
|
264371
264411
|
max_version: maxVersion,
|
|
@@ -264376,7 +264416,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
264376
264416
|
version2 = maxVersion;
|
|
264377
264417
|
}
|
|
264378
264418
|
}
|
|
264379
|
-
if (!forceReinstall && version2 === "1.57.
|
|
264419
|
+
if (!forceReinstall && version2 === "1.57.2" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
|
|
264380
264420
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
264381
264421
|
logEvent("tengu_native_update_complete", {
|
|
264382
264422
|
latency_ms: Date.now() - startTime,
|
|
@@ -314147,7 +314187,7 @@ var init_UI13 = __esm(() => {
|
|
|
314147
314187
|
});
|
|
314148
314188
|
|
|
314149
314189
|
// src/tools/ComputerTool/ComputerTool.tsx
|
|
314150
|
-
import { existsSync as existsSync23, statSync as statSync12 } from "fs";
|
|
314190
|
+
import { existsSync as existsSync23, readFileSync as readFileSync27, statSync as statSync12 } from "fs";
|
|
314151
314191
|
import { tmpdir as tmpdir8 } from "os";
|
|
314152
314192
|
import { join as join100 } from "path";
|
|
314153
314193
|
function supportedPlatform() {
|
|
@@ -314181,6 +314221,7 @@ var init_ComputerTool = __esm(() => {
|
|
|
314181
314221
|
init_v4();
|
|
314182
314222
|
init_Tool();
|
|
314183
314223
|
init_execFileNoThrow();
|
|
314224
|
+
init_imageResizer();
|
|
314184
314225
|
init_UI13();
|
|
314185
314226
|
inputSchema17 = lazySchema(() => exports_external.object({
|
|
314186
314227
|
action: exports_external.enum(["screenshot", "click", "type"]).describe("What to do: read the screen, click a point, or type text"),
|
|
@@ -314193,7 +314234,9 @@ var init_ComputerTool = __esm(() => {
|
|
|
314193
314234
|
action: exports_external.string(),
|
|
314194
314235
|
ok: exports_external.boolean(),
|
|
314195
314236
|
detail: exports_external.string(),
|
|
314196
|
-
screenshotPath: exports_external.string().optional()
|
|
314237
|
+
screenshotPath: exports_external.string().optional(),
|
|
314238
|
+
imageBase64: exports_external.string().optional(),
|
|
314239
|
+
imageMediaType: exports_external.string().optional()
|
|
314197
314240
|
}));
|
|
314198
314241
|
ComputerTool = buildTool({
|
|
314199
314242
|
name: COMPUTER_TOOL_NAME,
|
|
@@ -314290,14 +314333,30 @@ var init_ComputerTool = __esm(() => {
|
|
|
314290
314333
|
}
|
|
314291
314334
|
};
|
|
314292
314335
|
}
|
|
314293
|
-
|
|
314294
|
-
|
|
314295
|
-
|
|
314296
|
-
|
|
314297
|
-
|
|
314298
|
-
|
|
314299
|
-
|
|
314300
|
-
|
|
314336
|
+
const bytes = statSync12(path13).size;
|
|
314337
|
+
try {
|
|
314338
|
+
const raw = readFileSync27(path13);
|
|
314339
|
+
const resized = await maybeResizeAndDownsampleImageBuffer(raw, bytes, "png");
|
|
314340
|
+
return {
|
|
314341
|
+
data: {
|
|
314342
|
+
action: "screenshot",
|
|
314343
|
+
ok: true,
|
|
314344
|
+
detail: `Captured the screen (${resized.buffer.length} bytes sent)`,
|
|
314345
|
+
screenshotPath: path13,
|
|
314346
|
+
imageBase64: resized.buffer.toString("base64"),
|
|
314347
|
+
imageMediaType: `image/${resized.mediaType}`
|
|
314348
|
+
}
|
|
314349
|
+
};
|
|
314350
|
+
} catch (error42) {
|
|
314351
|
+
return {
|
|
314352
|
+
data: {
|
|
314353
|
+
action: "screenshot",
|
|
314354
|
+
ok: true,
|
|
314355
|
+
detail: `Captured ${bytes} bytes to ${path13}, but the image could not be ` + `encoded (${error42 instanceof Error ? error42.message : String(error42)}). ` + "Read that path to view it.",
|
|
314356
|
+
screenshotPath: path13
|
|
314357
|
+
}
|
|
314358
|
+
};
|
|
314359
|
+
}
|
|
314301
314360
|
}
|
|
314302
314361
|
if (input.action === "click") {
|
|
314303
314362
|
const point = { x: input.x ?? Number.NaN, y: input.y ?? Number.NaN };
|
|
@@ -314348,7 +314407,25 @@ var init_ComputerTool = __esm(() => {
|
|
|
314348
314407
|
}
|
|
314349
314408
|
};
|
|
314350
314409
|
},
|
|
314351
|
-
mapToolResultToToolResultBlockParam(
|
|
314410
|
+
mapToolResultToToolResultBlockParam(data, toolUseID) {
|
|
314411
|
+
const { action: action2, ok, detail, imageBase64, imageMediaType } = data;
|
|
314412
|
+
if (imageBase64 && imageMediaType) {
|
|
314413
|
+
return {
|
|
314414
|
+
tool_use_id: toolUseID,
|
|
314415
|
+
type: "tool_result",
|
|
314416
|
+
content: [
|
|
314417
|
+
{ type: "text", text: `${action2}: ${detail}` },
|
|
314418
|
+
{
|
|
314419
|
+
type: "image",
|
|
314420
|
+
source: {
|
|
314421
|
+
type: "base64",
|
|
314422
|
+
data: imageBase64,
|
|
314423
|
+
media_type: imageMediaType
|
|
314424
|
+
}
|
|
314425
|
+
}
|
|
314426
|
+
]
|
|
314427
|
+
};
|
|
314428
|
+
}
|
|
314352
314429
|
return {
|
|
314353
314430
|
tool_use_id: toolUseID,
|
|
314354
314431
|
type: "tool_result",
|
|
@@ -316057,13 +316134,13 @@ var init_DockerTool = __esm(() => {
|
|
|
316057
316134
|
});
|
|
316058
316135
|
|
|
316059
316136
|
// src/tools/TestRunnerTool/TestRunnerTool.ts
|
|
316060
|
-
import { existsSync as existsSync25, readFileSync as
|
|
316137
|
+
import { existsSync as existsSync25, readFileSync as readFileSync28 } from "fs";
|
|
316061
316138
|
import { join as join102 } from "path";
|
|
316062
316139
|
function detectTestCommand(cwd2) {
|
|
316063
316140
|
const packagePath = join102(cwd2, "package.json");
|
|
316064
316141
|
if (existsSync25(packagePath)) {
|
|
316065
316142
|
try {
|
|
316066
|
-
const pkg = JSON.parse(
|
|
316143
|
+
const pkg = JSON.parse(readFileSync28(packagePath, "utf8"));
|
|
316067
316144
|
if (pkg.scripts?.test)
|
|
316068
316145
|
return `bun run test`;
|
|
316069
316146
|
if (pkg.scripts?.["test:unit"])
|
|
@@ -319260,7 +319337,7 @@ var init_indexer = __esm(() => {
|
|
|
319260
319337
|
});
|
|
319261
319338
|
|
|
319262
319339
|
// src/utils/codeIndex/graph.ts
|
|
319263
|
-
import { existsSync as existsSync26, mkdirSync as mkdirSync17, readFileSync as
|
|
319340
|
+
import { existsSync as existsSync26, mkdirSync as mkdirSync17, readFileSync as readFileSync29, writeFileSync as writeFileSync18 } from "fs";
|
|
319264
319341
|
import { posix as posix6, resolve as resolve39 } from "path";
|
|
319265
319342
|
import { join as join106 } from "path";
|
|
319266
319343
|
function matchAll2(text, regexes) {
|
|
@@ -319408,7 +319485,7 @@ function graphPath(root2) {
|
|
|
319408
319485
|
}
|
|
319409
319486
|
async function buildCodeGraph(options2) {
|
|
319410
319487
|
const signal = options2.signal ?? new AbortController().signal;
|
|
319411
|
-
const read = options2.readFile ?? ((abs) =>
|
|
319488
|
+
const read = options2.readFile ?? ((abs) => readFileSync29(abs, "utf-8"));
|
|
319412
319489
|
const rels = (await listIndexableFiles(options2.root, signal)).slice(0, options2.maxFiles ?? 5000);
|
|
319413
319490
|
const sources = [];
|
|
319414
319491
|
for (const rel of rels) {
|
|
@@ -319426,7 +319503,7 @@ function loadGraph(root2) {
|
|
|
319426
319503
|
const path13 = graphPath(root2);
|
|
319427
319504
|
if (!existsSync26(path13))
|
|
319428
319505
|
return null;
|
|
319429
|
-
const parsed = safeParseJSON(
|
|
319506
|
+
const parsed = safeParseJSON(readFileSync29(path13, "utf-8"), false);
|
|
319430
319507
|
return parsed && typeof parsed === "object" ? parsed : null;
|
|
319431
319508
|
}
|
|
319432
319509
|
function formatGraphStats(graph) {
|
|
@@ -319469,7 +319546,7 @@ var init_graph = __esm(() => {
|
|
|
319469
319546
|
|
|
319470
319547
|
// src/utils/codeIndex/repoIndex.ts
|
|
319471
319548
|
import { createHash as createHash29 } from "crypto";
|
|
319472
|
-
import { existsSync as existsSync27, mkdirSync as mkdirSync18, readFileSync as
|
|
319549
|
+
import { existsSync as existsSync27, mkdirSync as mkdirSync18, readFileSync as readFileSync30, writeFileSync as writeFileSync19 } from "fs";
|
|
319473
319550
|
import { join as join107, posix as posix7 } from "path";
|
|
319474
319551
|
function sha12(content) {
|
|
319475
319552
|
return createHash29("sha1").update(content).digest("hex");
|
|
@@ -319684,7 +319761,7 @@ function resolveImport2(fromFile, spec, fileSet) {
|
|
|
319684
319761
|
}
|
|
319685
319762
|
async function buildRepoIndex(options2) {
|
|
319686
319763
|
const signal = options2.signal ?? new AbortController().signal;
|
|
319687
|
-
const read = options2.readFile ?? ((abs) =>
|
|
319764
|
+
const read = options2.readFile ?? ((abs) => readFileSync30(abs, "utf-8"));
|
|
319688
319765
|
const rels = (await listIndexableFiles(options2.root, signal)).slice(0, options2.maxFiles ?? 5000);
|
|
319689
319766
|
const fileSet = new Set(rels);
|
|
319690
319767
|
const files = [];
|
|
@@ -319838,7 +319915,7 @@ function loadConfigIndex(root2) {
|
|
|
319838
319915
|
function loadJsonFile(path13) {
|
|
319839
319916
|
if (!existsSync27(path13))
|
|
319840
319917
|
return null;
|
|
319841
|
-
const parsed = safeParseJSON(
|
|
319918
|
+
const parsed = safeParseJSON(readFileSync30(path13, "utf-8"), false);
|
|
319842
319919
|
return parsed && typeof parsed === "object" ? parsed : null;
|
|
319843
319920
|
}
|
|
319844
319921
|
function repoSearch(repo, query2) {
|
|
@@ -334621,7 +334698,7 @@ function isAnyTracingEnabled() {
|
|
|
334621
334698
|
return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
|
|
334622
334699
|
}
|
|
334623
334700
|
function getTracer() {
|
|
334624
|
-
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.57.
|
|
334701
|
+
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.57.2");
|
|
334625
334702
|
}
|
|
334626
334703
|
function createSpanAttributes(spanType, customAttributes = {}) {
|
|
334627
334704
|
const baseAttributes = getTelemetryAttributes();
|
|
@@ -335400,7 +335477,7 @@ var init_rootcause = __esm(() => {
|
|
|
335400
335477
|
});
|
|
335401
335478
|
|
|
335402
335479
|
// src/stability/ledger.ts
|
|
335403
|
-
import { appendFileSync as appendFileSync4, existsSync as existsSync29, mkdirSync as mkdirSync19, readFileSync as
|
|
335480
|
+
import { appendFileSync as appendFileSync4, existsSync as existsSync29, mkdirSync as mkdirSync19, readFileSync as readFileSync31 } from "fs";
|
|
335404
335481
|
import { dirname as dirname45, join as join109 } from "path";
|
|
335405
335482
|
function ledgerPath(cwd2) {
|
|
335406
335483
|
return join109(cwd2, ".ur", "actions.jsonl");
|
|
@@ -335438,7 +335515,7 @@ function readActions(cwd2, limit = 50) {
|
|
|
335438
335515
|
const file2 = ledgerPath(cwd2);
|
|
335439
335516
|
if (!existsSync29(file2))
|
|
335440
335517
|
return [];
|
|
335441
|
-
const lines =
|
|
335518
|
+
const lines = readFileSync31(file2, "utf8").split(`
|
|
335442
335519
|
`).filter(Boolean);
|
|
335443
335520
|
const out = [];
|
|
335444
335521
|
for (const line of lines.slice(-limit)) {
|
|
@@ -338431,13 +338508,13 @@ var init_turnSideEffects = __esm(() => {
|
|
|
338431
338508
|
|
|
338432
338509
|
// src/ur/notes.ts
|
|
338433
338510
|
import { createHash as createHash31 } from "crypto";
|
|
338434
|
-
import { appendFileSync as appendFileSync5, existsSync as existsSync30, mkdirSync as mkdirSync20, readFileSync as
|
|
338511
|
+
import { appendFileSync as appendFileSync5, existsSync as existsSync30, mkdirSync as mkdirSync20, readFileSync as readFileSync32, writeFileSync as writeFileSync20 } from "fs";
|
|
338435
338512
|
import { dirname as dirname46, join as join111 } from "path";
|
|
338436
338513
|
function readJsonl(file2) {
|
|
338437
338514
|
if (!existsSync30(file2))
|
|
338438
338515
|
return [];
|
|
338439
338516
|
const out = [];
|
|
338440
|
-
for (const line of
|
|
338517
|
+
for (const line of readFileSync32(file2, "utf8").split(`
|
|
338441
338518
|
`).filter(Boolean)) {
|
|
338442
338519
|
try {
|
|
338443
338520
|
out.push(JSON.parse(line));
|
|
@@ -338492,7 +338569,7 @@ function rememberInAutoMemory(memoryDir, text) {
|
|
|
338492
338569
|
`));
|
|
338493
338570
|
const indexPath2 = join111(memoryDir, "MEMORY.md");
|
|
338494
338571
|
const indexLine = `- [Remembered note](${fileName}) \u2014 ${description}`;
|
|
338495
|
-
const existing2 = existsSync30(indexPath2) ?
|
|
338572
|
+
const existing2 = existsSync30(indexPath2) ? readFileSync32(indexPath2, "utf8") : "";
|
|
338496
338573
|
if (!existing2.includes(`](${fileName})`)) {
|
|
338497
338574
|
const prefix = existing2.trimEnd();
|
|
338498
338575
|
writeFileSync20(indexPath2, `${prefix ? `${prefix}
|
|
@@ -338539,7 +338616,7 @@ var exports_memoryLines = {};
|
|
|
338539
338616
|
__export(exports_memoryLines, {
|
|
338540
338617
|
existingMemoryLines: () => existingMemoryLines
|
|
338541
338618
|
});
|
|
338542
|
-
import { existsSync as existsSync31, readFileSync as
|
|
338619
|
+
import { existsSync as existsSync31, readFileSync as readFileSync33 } from "fs";
|
|
338543
338620
|
import { join as join112 } from "path";
|
|
338544
338621
|
function existingMemoryLines(cwd2 = getCwd()) {
|
|
338545
338622
|
const lines = [];
|
|
@@ -338556,7 +338633,7 @@ function existingMemoryLines(cwd2 = getCwd()) {
|
|
|
338556
338633
|
try {
|
|
338557
338634
|
if (!existsSync31(file2))
|
|
338558
338635
|
continue;
|
|
338559
|
-
for (const line of
|
|
338636
|
+
for (const line of readFileSync33(file2, "utf8").split(`
|
|
338560
338637
|
`)) {
|
|
338561
338638
|
const trimmed = line.replace(/^\s*[-*+]\s+/, "").trim();
|
|
338562
338639
|
if (trimmed.length >= 12 && !/^[#`]/.test(trimmed))
|
|
@@ -364101,7 +364178,7 @@ function Feedback({
|
|
|
364101
364178
|
platform: env2.platform,
|
|
364102
364179
|
gitRepo: envInfo.isGit,
|
|
364103
364180
|
terminal: env2.terminal,
|
|
364104
|
-
version: "1.57.
|
|
364181
|
+
version: "1.57.2",
|
|
364105
364182
|
transcript: normalizeMessagesForAPI(messages),
|
|
364106
364183
|
errors: sanitizedErrors,
|
|
364107
364184
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -364293,7 +364370,7 @@ function Feedback({
|
|
|
364293
364370
|
", ",
|
|
364294
364371
|
env2.terminal,
|
|
364295
364372
|
", v",
|
|
364296
|
-
"1.57.
|
|
364373
|
+
"1.57.2"
|
|
364297
364374
|
]
|
|
364298
364375
|
}, undefined, true, undefined, this)
|
|
364299
364376
|
]
|
|
@@ -364399,7 +364476,7 @@ ${sanitizedDescription}
|
|
|
364399
364476
|
` + `**Environment Info**
|
|
364400
364477
|
` + `- Platform: ${env2.platform}
|
|
364401
364478
|
` + `- Terminal: ${env2.terminal}
|
|
364402
|
-
` + `- Version: ${"1.57.
|
|
364479
|
+
` + `- Version: ${"1.57.2"}
|
|
364403
364480
|
` + `- Feedback ID: ${feedbackId}
|
|
364404
364481
|
` + `
|
|
364405
364482
|
**Errors**
|
|
@@ -367509,7 +367586,7 @@ function buildPrimarySection() {
|
|
|
367509
367586
|
}, undefined, false, undefined, this);
|
|
367510
367587
|
return [{
|
|
367511
367588
|
label: "Version",
|
|
367512
|
-
value: "1.57.
|
|
367589
|
+
value: "1.57.2"
|
|
367513
367590
|
}, {
|
|
367514
367591
|
label: "Session name",
|
|
367515
367592
|
value: nameValue
|
|
@@ -370839,7 +370916,7 @@ function Config({
|
|
|
370839
370916
|
}
|
|
370840
370917
|
}, undefined, false, undefined, this)
|
|
370841
370918
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
|
|
370842
|
-
currentVersion: "1.57.
|
|
370919
|
+
currentVersion: "1.57.2",
|
|
370843
370920
|
onChoice: (choice) => {
|
|
370844
370921
|
setShowSubmenu(null);
|
|
370845
370922
|
setTabsHidden(false);
|
|
@@ -370851,7 +370928,7 @@ function Config({
|
|
|
370851
370928
|
autoUpdatesChannel: "stable"
|
|
370852
370929
|
};
|
|
370853
370930
|
if (choice === "stay") {
|
|
370854
|
-
newSettings.minimumVersion = "1.57.
|
|
370931
|
+
newSettings.minimumVersion = "1.57.2";
|
|
370855
370932
|
}
|
|
370856
370933
|
updateSettingsForSource("userSettings", newSettings);
|
|
370857
370934
|
setSettingsData((prev_27) => ({
|
|
@@ -378915,7 +378992,7 @@ function HelpV2(t0) {
|
|
|
378915
378992
|
let t6;
|
|
378916
378993
|
if ($2[31] !== tabs) {
|
|
378917
378994
|
t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
|
|
378918
|
-
title: `UR v${"1.57.
|
|
378995
|
+
title: `UR v${"1.57.2"}`,
|
|
378919
378996
|
color: "professionalBlue",
|
|
378920
378997
|
defaultTab: "general",
|
|
378921
378998
|
children: tabs
|
|
@@ -379229,7 +379306,7 @@ var init_IdeAutoConnectDialog = __esm(() => {
|
|
|
379229
379306
|
});
|
|
379230
379307
|
|
|
379231
379308
|
// src/services/agents/ideDiffs.ts
|
|
379232
|
-
import { existsSync as existsSync33, mkdirSync as mkdirSync21, readFileSync as
|
|
379309
|
+
import { existsSync as existsSync33, mkdirSync as mkdirSync21, readFileSync as readFileSync34, rmSync as rmSync8, writeFileSync as writeFileSync21 } from "fs";
|
|
379233
379310
|
import { join as join139, resolve as resolve47, sep as sep31 } from "path";
|
|
379234
379311
|
function ideDir(cwd2) {
|
|
379235
379312
|
return join139(cwd2, ".ur", "ide");
|
|
@@ -379274,7 +379351,7 @@ function loadManifest3(cwd2) {
|
|
|
379274
379351
|
const path16 = manifestPath4(cwd2);
|
|
379275
379352
|
if (!existsSync33(path16))
|
|
379276
379353
|
return { version: 1, diffs: [] };
|
|
379277
|
-
const parsed = safeParseJSON(
|
|
379354
|
+
const parsed = safeParseJSON(readFileSync34(path16, "utf-8"), false);
|
|
379278
379355
|
return parsed && typeof parsed === "object" && Array.isArray(parsed.diffs) ? { version: 1, diffs: parsed.diffs.filter((bundle) => isValidBundle(cwd2, bundle)) } : { version: 1, diffs: [] };
|
|
379279
379356
|
}
|
|
379280
379357
|
function saveManifest3(cwd2, manifest) {
|
|
@@ -379394,7 +379471,7 @@ function readIdeDiffPatch(cwd2, id) {
|
|
|
379394
379471
|
const path16 = bundleArtifactPath(cwd2, bundle, "patch");
|
|
379395
379472
|
if (!path16)
|
|
379396
379473
|
return null;
|
|
379397
|
-
return existsSync33(path16) ?
|
|
379474
|
+
return existsSync33(path16) ? readFileSync34(path16, "utf-8") : null;
|
|
379398
379475
|
}
|
|
379399
379476
|
function mutate2(cwd2, id, fn) {
|
|
379400
379477
|
const manifest = loadManifest3(cwd2);
|
|
@@ -379832,7 +379909,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
|
|
|
379832
379909
|
async function handleInitialize(options2) {
|
|
379833
379910
|
return {
|
|
379834
379911
|
name: "UR",
|
|
379835
|
-
version: "1.57.
|
|
379912
|
+
version: "1.57.2",
|
|
379836
379913
|
protocolVersion: "0.1.0",
|
|
379837
379914
|
workspaceRoot: options2.cwd,
|
|
379838
379915
|
capabilities: {
|
|
@@ -396940,7 +397017,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
396940
397017
|
return [];
|
|
396941
397018
|
}
|
|
396942
397019
|
}
|
|
396943
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.57.
|
|
397020
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.57.2") {
|
|
396944
397021
|
if (process.env.USER_TYPE === "ant") {
|
|
396945
397022
|
const changelog = "";
|
|
396946
397023
|
if (changelog) {
|
|
@@ -396967,7 +397044,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.57.0")
|
|
|
396967
397044
|
releaseNotes
|
|
396968
397045
|
};
|
|
396969
397046
|
}
|
|
396970
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.57.
|
|
397047
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.57.2") {
|
|
396971
397048
|
if (process.env.USER_TYPE === "ant") {
|
|
396972
397049
|
const changelog = "";
|
|
396973
397050
|
if (changelog) {
|
|
@@ -399824,7 +399901,7 @@ function getRecentActivitySync() {
|
|
|
399824
399901
|
return cachedActivity;
|
|
399825
399902
|
}
|
|
399826
399903
|
function getLogoDisplayData() {
|
|
399827
|
-
const version2 = process.env.DEMO_VERSION ?? "1.57.
|
|
399904
|
+
const version2 = process.env.DEMO_VERSION ?? "1.57.2";
|
|
399828
399905
|
const serverUrl = getDirectConnectServerUrl();
|
|
399829
399906
|
const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
|
|
399830
399907
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -400708,7 +400785,7 @@ function LogoV2() {
|
|
|
400708
400785
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
400709
400786
|
t2 = () => {
|
|
400710
400787
|
const currentConfig2 = getGlobalConfig();
|
|
400711
|
-
if (currentConfig2.lastReleaseNotesSeen === "1.57.
|
|
400788
|
+
if (currentConfig2.lastReleaseNotesSeen === "1.57.2") {
|
|
400712
400789
|
return;
|
|
400713
400790
|
}
|
|
400714
400791
|
saveGlobalConfig(_temp327);
|
|
@@ -401393,12 +401470,12 @@ function LogoV2() {
|
|
|
401393
401470
|
return t41;
|
|
401394
401471
|
}
|
|
401395
401472
|
function _temp327(current) {
|
|
401396
|
-
if (current.lastReleaseNotesSeen === "1.57.
|
|
401473
|
+
if (current.lastReleaseNotesSeen === "1.57.2") {
|
|
401397
401474
|
return current;
|
|
401398
401475
|
}
|
|
401399
401476
|
return {
|
|
401400
401477
|
...current,
|
|
401401
|
-
lastReleaseNotesSeen: "1.57.
|
|
401478
|
+
lastReleaseNotesSeen: "1.57.2"
|
|
401402
401479
|
};
|
|
401403
401480
|
}
|
|
401404
401481
|
function _temp241(s_0) {
|
|
@@ -407651,7 +407728,7 @@ import {
|
|
|
407651
407728
|
copyFileSync as copyFileSync2,
|
|
407652
407729
|
existsSync as existsSync34,
|
|
407653
407730
|
mkdirSync as mkdirSync22,
|
|
407654
|
-
readFileSync as
|
|
407731
|
+
readFileSync as readFileSync35,
|
|
407655
407732
|
statSync as statSync14
|
|
407656
407733
|
} from "fs";
|
|
407657
407734
|
import { dirname as dirname64, isAbsolute as isAbsolute32, resolve as resolve51 } from "path";
|
|
@@ -407700,7 +407777,7 @@ function importSessionFile(sourcePath) {
|
|
|
407700
407777
|
if (stat42.size > MAX_IMPORT_BYTES) {
|
|
407701
407778
|
throw new Error(`Refusing to import ${stat42.size} bytes (limit ${MAX_IMPORT_BYTES})`);
|
|
407702
407779
|
}
|
|
407703
|
-
const validation = validateTranscriptContent(
|
|
407780
|
+
const validation = validateTranscriptContent(readFileSync35(source, "utf8"));
|
|
407704
407781
|
if (!validation.valid) {
|
|
407705
407782
|
throw new Error(`Invalid session file:
|
|
407706
407783
|
- ${validation.errors.join(`
|
|
@@ -408163,7 +408240,7 @@ var exports_memory_suggest = {};
|
|
|
408163
408240
|
__export(exports_memory_suggest, {
|
|
408164
408241
|
call: () => call34
|
|
408165
408242
|
});
|
|
408166
|
-
import { existsSync as existsSync36, readFileSync as
|
|
408243
|
+
import { existsSync as existsSync36, readFileSync as readFileSync36 } from "fs";
|
|
408167
408244
|
function flagValue2(tokens, flag) {
|
|
408168
408245
|
const index2 = tokens.indexOf(flag);
|
|
408169
408246
|
return index2 >= 0 ? tokens[index2 + 1] : undefined;
|
|
@@ -408171,7 +408248,7 @@ function flagValue2(tokens, flag) {
|
|
|
408171
408248
|
function recentUserMessages(path19, limit) {
|
|
408172
408249
|
if (!existsSync36(path19))
|
|
408173
408250
|
return [];
|
|
408174
|
-
const raw =
|
|
408251
|
+
const raw = readFileSync36(path19, "utf8");
|
|
408175
408252
|
if (raw.length > MAX_TRANSCRIPT_READ_BYTES)
|
|
408176
408253
|
return [];
|
|
408177
408254
|
const messages = [];
|
|
@@ -416988,7 +417065,7 @@ var init_selfReview = __esm(() => {
|
|
|
416988
417065
|
import {
|
|
416989
417066
|
existsSync as existsSync40,
|
|
416990
417067
|
mkdirSync as mkdirSync27,
|
|
416991
|
-
readFileSync as
|
|
417068
|
+
readFileSync as readFileSync43,
|
|
416992
417069
|
readdirSync as readdirSync10,
|
|
416993
417070
|
writeFileSync as writeFileSync26
|
|
416994
417071
|
} from "fs";
|
|
@@ -417165,7 +417242,7 @@ function loadGuardrails(cwd2) {
|
|
|
417165
417242
|
for (const file2 of readdirSync10(dir)) {
|
|
417166
417243
|
if (!file2.endsWith(".json"))
|
|
417167
417244
|
continue;
|
|
417168
|
-
const parsed = safeParseJSON(
|
|
417245
|
+
const parsed = safeParseJSON(readFileSync43(join156(dir, file2), "utf-8"), false);
|
|
417169
417246
|
if (!parsed || typeof parsed !== "object")
|
|
417170
417247
|
continue;
|
|
417171
417248
|
const fileRules = Array.isArray(parsed) ? parsed : Array.isArray(parsed.rules) ? parsed.rules : [];
|
|
@@ -417252,7 +417329,7 @@ import {
|
|
|
417252
417329
|
existsSync as existsSync41,
|
|
417253
417330
|
mkdtempSync,
|
|
417254
417331
|
mkdirSync as mkdirSync28,
|
|
417255
|
-
readFileSync as
|
|
417332
|
+
readFileSync as readFileSync44,
|
|
417256
417333
|
rmSync as rmSync10,
|
|
417257
417334
|
writeFileSync as writeFileSync27
|
|
417258
417335
|
} from "fs";
|
|
@@ -417659,7 +417736,7 @@ function normalizeMentionEvent(root2, eventName) {
|
|
|
417659
417736
|
return;
|
|
417660
417737
|
}
|
|
417661
417738
|
function loadAgenticCiEventFile(path22) {
|
|
417662
|
-
const bytes =
|
|
417739
|
+
const bytes = readFileSync44(path22);
|
|
417663
417740
|
if (bytes.byteLength > AGENTIC_CI_MAX_EVENT_BYTES) {
|
|
417664
417741
|
throw new Error(`event payload exceeds ${AGENTIC_CI_MAX_EVENT_BYTES} bytes`);
|
|
417665
417742
|
}
|
|
@@ -418173,7 +418250,7 @@ function loadAgenticCiSpec(cwd2, name) {
|
|
|
418173
418250
|
const path22 = agenticCiSpecPath(cwd2, name);
|
|
418174
418251
|
if (!existsSync41(path22))
|
|
418175
418252
|
return null;
|
|
418176
|
-
return parseAgenticCiSpec(
|
|
418253
|
+
return parseAgenticCiSpec(readFileSync44(path22, "utf8"));
|
|
418177
418254
|
}
|
|
418178
418255
|
function saveAgenticCiSpec(cwd2, spec, options2 = {}) {
|
|
418179
418256
|
const validation = validateAgenticCiSpec(spec);
|
|
@@ -418196,7 +418273,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
|
|
|
418196
418273
|
if (spec.name !== specName) {
|
|
418197
418274
|
throw new Error("Agentic CI workflow spec name does not match");
|
|
418198
418275
|
}
|
|
418199
|
-
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.57.
|
|
418276
|
+
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.57.2" : "1.57.2");
|
|
418200
418277
|
if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
|
|
418201
418278
|
throw new Error("invalid ur-agent package version");
|
|
418202
418279
|
}
|
|
@@ -419189,7 +419266,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
|
|
|
419189
419266
|
path: ".github/workflows/ur.yml",
|
|
419190
419267
|
root: "project",
|
|
419191
419268
|
content: compileAgenticCiWorkflow("default", {
|
|
419192
|
-
packageVersion: typeof MACRO !== "undefined" ? "1.57.
|
|
419269
|
+
packageVersion: typeof MACRO !== "undefined" ? "1.57.2" : "1.57.2"
|
|
419193
419270
|
})
|
|
419194
419271
|
},
|
|
419195
419272
|
{
|
|
@@ -419252,7 +419329,7 @@ function value(tokens, flag) {
|
|
|
419252
419329
|
return index2 >= 0 ? tokens[index2 + 1] : undefined;
|
|
419253
419330
|
}
|
|
419254
419331
|
function cliVersion() {
|
|
419255
|
-
return typeof MACRO !== "undefined" ? "1.57.
|
|
419332
|
+
return typeof MACRO !== "undefined" ? "1.57.2" : "1.57.2";
|
|
419256
419333
|
}
|
|
419257
419334
|
function workflowPath(cwd2) {
|
|
419258
419335
|
return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
|
|
@@ -424122,7 +424199,7 @@ import {
|
|
|
424122
424199
|
mkdirSync as mkdirSync31,
|
|
424123
424200
|
mkdtempSync as mkdtempSync2,
|
|
424124
424201
|
readdirSync as readdirSync11,
|
|
424125
|
-
readFileSync as
|
|
424202
|
+
readFileSync as readFileSync45,
|
|
424126
424203
|
renameSync as renameSync10,
|
|
424127
424204
|
rmSync as rmSync11,
|
|
424128
424205
|
statSync as statSync17,
|
|
@@ -424333,7 +424410,7 @@ function readPersistedSessionFile(sessionId, storeRoot) {
|
|
|
424333
424410
|
if (size <= 0 || size > MAX_SESSION_METADATA_BYTES) {
|
|
424334
424411
|
throw new Error("metadata size is invalid");
|
|
424335
424412
|
}
|
|
424336
|
-
return normalizePersistedSession(JSON.parse(
|
|
424413
|
+
return normalizePersistedSession(JSON.parse(readFileSync45(path22, "utf8")), sessionId);
|
|
424337
424414
|
}
|
|
424338
424415
|
function persistAcpSession(sessionId, state, storeRoot) {
|
|
424339
424416
|
const path22 = persistedSessionPath(sessionId, storeRoot);
|
|
@@ -424407,7 +424484,7 @@ function loadPersistedAcpHistory(sessionId, storeRoot) {
|
|
|
424407
424484
|
if (size > MAX_SESSION_HISTORY_BYTES) {
|
|
424408
424485
|
invalidParams2(`session history exceeds the supported size: ${sessionId}`);
|
|
424409
424486
|
}
|
|
424410
|
-
const lines =
|
|
424487
|
+
const lines = readFileSync45(path22, "utf8").split(`
|
|
424411
424488
|
`).filter(Boolean);
|
|
424412
424489
|
if (lines.length > MAX_SESSION_HISTORY_EVENTS) {
|
|
424413
424490
|
invalidParams2(`session history has too many events: ${sessionId}`);
|
|
@@ -425108,7 +425185,7 @@ function createAcpStdioApp(deps) {
|
|
|
425108
425185
|
}
|
|
425109
425186
|
},
|
|
425110
425187
|
authMethods: [],
|
|
425111
|
-
agentInfo: { name: "UR-Nexus", version: "1.57.
|
|
425188
|
+
agentInfo: { name: "UR-Nexus", version: "1.57.2" }
|
|
425112
425189
|
})).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
|
|
425113
425190
|
const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
|
|
425114
425191
|
await runtime2.announce({
|
|
@@ -425205,7 +425282,7 @@ function createAcpStdioAgent(deps) {
|
|
|
425205
425282
|
}
|
|
425206
425283
|
},
|
|
425207
425284
|
authMethods: [],
|
|
425208
|
-
agentInfo: { name: "UR-Nexus", version: "1.57.
|
|
425285
|
+
agentInfo: { name: "UR-Nexus", version: "1.57.2" }
|
|
425209
425286
|
});
|
|
425210
425287
|
return;
|
|
425211
425288
|
case "authenticate":
|
|
@@ -426194,7 +426271,7 @@ import {
|
|
|
426194
426271
|
existsSync as existsSync46,
|
|
426195
426272
|
mkdirSync as mkdirSync33,
|
|
426196
426273
|
readdirSync as readdirSync12,
|
|
426197
|
-
readFileSync as
|
|
426274
|
+
readFileSync as readFileSync47,
|
|
426198
426275
|
unlinkSync as unlinkSync9,
|
|
426199
426276
|
writeFileSync as writeFileSync32
|
|
426200
426277
|
} from "fs";
|
|
@@ -426244,7 +426321,7 @@ function listSpecs() {
|
|
|
426244
426321
|
if (!existsSync46(dir))
|
|
426245
426322
|
return [];
|
|
426246
426323
|
return readdirSync12(dir).filter((file2) => file2.endsWith(".json")).map((file2) => {
|
|
426247
|
-
const parsed = safeParseJSON(
|
|
426324
|
+
const parsed = safeParseJSON(readFileSync47(join162(dir, file2), "utf-8"), false);
|
|
426248
426325
|
return parsed && typeof parsed === "object" ? parsed : null;
|
|
426249
426326
|
}).filter((spec) => spec !== null);
|
|
426250
426327
|
}
|
|
@@ -426491,7 +426568,7 @@ Expected a 5-field cron expression with a next run in the next year.`
|
|
|
426491
426568
|
if (!existsSync46(path22)) {
|
|
426492
426569
|
return { type: "text", value: `Automation not found: ${sanitizeName2(name)}` };
|
|
426493
426570
|
}
|
|
426494
|
-
const raw =
|
|
426571
|
+
const raw = readFileSync47(path22, "utf-8");
|
|
426495
426572
|
const parsed = safeParseJSON(raw, false);
|
|
426496
426573
|
if (json2) {
|
|
426497
426574
|
return {
|
|
@@ -426509,7 +426586,7 @@ Expected a 5-field cron expression with a next run in the next year.`
|
|
|
426509
426586
|
if (!existsSync46(path22)) {
|
|
426510
426587
|
return { type: "text", value: `Automation not found: ${sanitizeName2(name)}` };
|
|
426511
426588
|
}
|
|
426512
|
-
const parsed = safeParseJSON(
|
|
426589
|
+
const parsed = safeParseJSON(readFileSync47(path22, "utf-8"), false);
|
|
426513
426590
|
if (!parsed)
|
|
426514
426591
|
return { type: "text", value: `Automation file is invalid: ${path22}` };
|
|
426515
426592
|
const updated = { ...parsed, enabled: command5 === "enable" };
|
|
@@ -428102,7 +428179,7 @@ var exports_browser_qa = {};
|
|
|
428102
428179
|
__export(exports_browser_qa, {
|
|
428103
428180
|
call: () => call66
|
|
428104
428181
|
});
|
|
428105
|
-
import { existsSync as existsSync48, readdirSync as readdirSync14, readFileSync as
|
|
428182
|
+
import { existsSync as existsSync48, readdirSync as readdirSync14, readFileSync as readFileSync48 } from "fs";
|
|
428106
428183
|
import { join as join166 } from "path";
|
|
428107
428184
|
function fixturesDir() {
|
|
428108
428185
|
return join166(getCwd(), ".ur", "browser-qa");
|
|
@@ -428111,7 +428188,7 @@ function fixtures() {
|
|
|
428111
428188
|
if (!existsSync48(fixturesDir()))
|
|
428112
428189
|
return [];
|
|
428113
428190
|
return readdirSync14(fixturesDir()).filter((file2) => file2.endsWith(".json")).map((file2) => {
|
|
428114
|
-
const parsed = safeParseJSON(
|
|
428191
|
+
const parsed = safeParseJSON(readFileSync48(join166(fixturesDir(), file2), "utf-8"), false);
|
|
428115
428192
|
return { file: file2, fixture: parsed && typeof parsed === "object" ? parsed : null };
|
|
428116
428193
|
});
|
|
428117
428194
|
}
|
|
@@ -428209,7 +428286,7 @@ var exports_claim_ledger = {};
|
|
|
428209
428286
|
__export(exports_claim_ledger, {
|
|
428210
428287
|
call: () => call67
|
|
428211
428288
|
});
|
|
428212
|
-
import { existsSync as existsSync49, mkdirSync as mkdirSync35, readFileSync as
|
|
428289
|
+
import { existsSync as existsSync49, mkdirSync as mkdirSync35, readFileSync as readFileSync49, writeFileSync as writeFileSync34 } from "fs";
|
|
428213
428290
|
import { join as join167 } from "path";
|
|
428214
428291
|
function ledgerPath2() {
|
|
428215
428292
|
return join167(getCwd(), ".ur", "evidence", "claims.json");
|
|
@@ -428221,7 +428298,7 @@ function option8(tokens, name) {
|
|
|
428221
428298
|
function loadLedger() {
|
|
428222
428299
|
if (!existsSync49(ledgerPath2()))
|
|
428223
428300
|
return { claims: [] };
|
|
428224
|
-
const parsed = safeParseJSON(
|
|
428301
|
+
const parsed = safeParseJSON(readFileSync49(ledgerPath2(), "utf-8"), false);
|
|
428225
428302
|
return parsed && typeof parsed === "object" && Array.isArray(parsed.claims) ? parsed : { claims: [] };
|
|
428226
428303
|
}
|
|
428227
428304
|
function saveLedger(ledger) {
|
|
@@ -428316,7 +428393,7 @@ var init_claim_ledger2 = __esm(() => {
|
|
|
428316
428393
|
import {
|
|
428317
428394
|
existsSync as existsSync50,
|
|
428318
428395
|
mkdirSync as mkdirSync36,
|
|
428319
|
-
readFileSync as
|
|
428396
|
+
readFileSync as readFileSync50,
|
|
428320
428397
|
readdirSync as readdirSync15,
|
|
428321
428398
|
writeFileSync as writeFileSync35
|
|
428322
428399
|
} from "fs";
|
|
@@ -428506,7 +428583,7 @@ function loadWorkflow(cwd2, name) {
|
|
|
428506
428583
|
const path22 = join168(workflowsDir(cwd2), `${slug3}.${ext}`);
|
|
428507
428584
|
if (existsSync50(path22)) {
|
|
428508
428585
|
try {
|
|
428509
|
-
return parseWorkflowText(
|
|
428586
|
+
return parseWorkflowText(readFileSync50(path22, "utf-8"));
|
|
428510
428587
|
} catch {
|
|
428511
428588
|
return null;
|
|
428512
428589
|
}
|
|
@@ -428527,7 +428604,7 @@ function loadRunState(cwd2, name) {
|
|
|
428527
428604
|
const path22 = statePath(cwd2, name);
|
|
428528
428605
|
if (!existsSync50(path22))
|
|
428529
428606
|
return null;
|
|
428530
|
-
const parsed = safeParseJSON(
|
|
428607
|
+
const parsed = safeParseJSON(readFileSync50(path22, "utf-8"), false);
|
|
428531
428608
|
return parsed && typeof parsed === "object" ? parsed : null;
|
|
428532
428609
|
}
|
|
428533
428610
|
function markStepComplete(cwd2, name, stepId) {
|
|
@@ -430117,11 +430194,11 @@ var init_workflow2 = __esm(() => {
|
|
|
430117
430194
|
});
|
|
430118
430195
|
|
|
430119
430196
|
// src/skills/skillSpec.ts
|
|
430120
|
-
import { existsSync as existsSync52, mkdirSync as mkdirSync38, readFileSync as
|
|
430197
|
+
import { existsSync as existsSync52, mkdirSync as mkdirSync38, readFileSync as readFileSync51, readdirSync as readdirSync16, writeFileSync as writeFileSync37 } from "fs";
|
|
430121
430198
|
import { join as join170 } from "path";
|
|
430122
430199
|
function readTextFile(path22) {
|
|
430123
430200
|
try {
|
|
430124
|
-
return
|
|
430201
|
+
return readFileSync51(path22, "utf-8");
|
|
430125
430202
|
} catch {
|
|
430126
430203
|
return;
|
|
430127
430204
|
}
|
|
@@ -430423,7 +430500,7 @@ import {
|
|
|
430423
430500
|
existsSync as existsSync53,
|
|
430424
430501
|
lstatSync as lstatSync13,
|
|
430425
430502
|
mkdirSync as mkdirSync39,
|
|
430426
|
-
readFileSync as
|
|
430503
|
+
readFileSync as readFileSync52,
|
|
430427
430504
|
renameSync as renameSync11,
|
|
430428
430505
|
unlinkSync as unlinkSync10,
|
|
430429
430506
|
writeFileSync as writeFileSync38
|
|
@@ -430493,7 +430570,7 @@ function readPrivateKey(path22) {
|
|
|
430493
430570
|
if (process.platform !== "win32" && (stat42.mode & 63) !== 0) {
|
|
430494
430571
|
throw new Error("Signing key permissions are too broad; use chmod 600");
|
|
430495
430572
|
}
|
|
430496
|
-
return
|
|
430573
|
+
return readFileSync52(path22);
|
|
430497
430574
|
}
|
|
430498
430575
|
function writeTrustedKeys(keys2) {
|
|
430499
430576
|
const path22 = trustedSkillKeysPath();
|
|
@@ -430958,7 +431035,7 @@ var init_worktree2 = __esm(() => {
|
|
|
430958
431035
|
|
|
430959
431036
|
// src/services/agents/auditExport.ts
|
|
430960
431037
|
import { createHash as createHash38 } from "crypto";
|
|
430961
|
-
import { existsSync as existsSync54, readFileSync as
|
|
431038
|
+
import { existsSync as existsSync54, readFileSync as readFileSync53 } from "fs";
|
|
430962
431039
|
import { join as join172 } from "path";
|
|
430963
431040
|
function chainHash(prev, payload) {
|
|
430964
431041
|
return createHash38("sha256").update(prev).update(JSON.stringify(payload)).digest("hex");
|
|
@@ -430967,7 +431044,7 @@ function readActionsLedger(cwd2) {
|
|
|
430967
431044
|
const path22 = join172(cwd2, ".ur", "actions.jsonl");
|
|
430968
431045
|
if (!existsSync54(path22))
|
|
430969
431046
|
return [];
|
|
430970
|
-
return
|
|
431047
|
+
return readFileSync53(path22, "utf-8").split(`
|
|
430971
431048
|
`).filter(Boolean).map((line) => safeParseJSON(line, false)).filter((v) => !!v && typeof v === "object");
|
|
430972
431049
|
}
|
|
430973
431050
|
function collectAuditRecords(cwd2) {
|
|
@@ -431035,7 +431112,7 @@ var exports_audit = {};
|
|
|
431035
431112
|
__export(exports_audit, {
|
|
431036
431113
|
call: () => call72
|
|
431037
431114
|
});
|
|
431038
|
-
import { readFileSync as
|
|
431115
|
+
import { readFileSync as readFileSync54, writeFileSync as writeFileSync39 } from "fs";
|
|
431039
431116
|
async function call72(args) {
|
|
431040
431117
|
const tokens = args.trim().split(/\s+/).filter(Boolean);
|
|
431041
431118
|
const action3 = tokens[0] ?? "export";
|
|
@@ -431044,7 +431121,7 @@ async function call72(args) {
|
|
|
431044
431121
|
if (!file2) {
|
|
431045
431122
|
return { type: "text", value: "Usage: ur audit verify <export.jsonl>" };
|
|
431046
431123
|
}
|
|
431047
|
-
const records2 =
|
|
431124
|
+
const records2 = readFileSync54(file2, "utf-8").split(`
|
|
431048
431125
|
`).filter(Boolean).map((line) => safeParseJSON(line, false)).filter((v) => !!v && typeof v === "object");
|
|
431049
431126
|
const ok = verifyAuditChain(records2);
|
|
431050
431127
|
return {
|
|
@@ -431303,7 +431380,7 @@ var exports_recipe = {};
|
|
|
431303
431380
|
__export(exports_recipe, {
|
|
431304
431381
|
call: () => call74
|
|
431305
431382
|
});
|
|
431306
|
-
import { existsSync as existsSync57, mkdirSync as mkdirSync40, readdirSync as readdirSync18, readFileSync as
|
|
431383
|
+
import { existsSync as existsSync57, mkdirSync as mkdirSync40, readdirSync as readdirSync18, readFileSync as readFileSync55, writeFileSync as writeFileSync40 } from "fs";
|
|
431307
431384
|
import { join as join174 } from "path";
|
|
431308
431385
|
function recipesDir(cwd2) {
|
|
431309
431386
|
return join174(cwd2, ".ur", "recipes");
|
|
@@ -431312,7 +431389,7 @@ function loadRecipe(cwd2, name) {
|
|
|
431312
431389
|
const path22 = join174(recipesDir(cwd2), `${name}.json`);
|
|
431313
431390
|
if (!existsSync57(path22))
|
|
431314
431391
|
return null;
|
|
431315
|
-
const parsed = safeParseJSON(
|
|
431392
|
+
const parsed = safeParseJSON(readFileSync55(path22, "utf-8"), false);
|
|
431316
431393
|
if (!parsed || typeof parsed !== "object")
|
|
431317
431394
|
return null;
|
|
431318
431395
|
const r = parsed;
|
|
@@ -432298,7 +432375,7 @@ import {
|
|
|
432298
432375
|
lstatSync as lstatSync14,
|
|
432299
432376
|
mkdirSync as mkdirSync42,
|
|
432300
432377
|
openSync as openSync10,
|
|
432301
|
-
readFileSync as
|
|
432378
|
+
readFileSync as readFileSync56,
|
|
432302
432379
|
renameSync as renameSync12,
|
|
432303
432380
|
statSync as statSync19,
|
|
432304
432381
|
unlinkSync as unlinkSync11,
|
|
@@ -432467,7 +432544,7 @@ function loadCloudManifest(cwd2) {
|
|
|
432467
432544
|
if (manifestInfo.size > MAX_CLOUD_MANIFEST_BYTES) {
|
|
432468
432545
|
throw new Error("Cloud manifest exceeds the 8 MiB limit");
|
|
432469
432546
|
}
|
|
432470
|
-
const parsed = safeParseJSON(
|
|
432547
|
+
const parsed = safeParseJSON(readFileSync56(path22, "utf8"), false);
|
|
432471
432548
|
if (!parsed || parsed.version !== 1 && parsed.version !== 2 || !Array.isArray(parsed.tasks)) {
|
|
432472
432549
|
throw new Error("Cloud manifest is invalid");
|
|
432473
432550
|
}
|
|
@@ -432551,7 +432628,7 @@ function loadCloudResult(cwd2, id) {
|
|
|
432551
432628
|
if (lstatSync14(path22).size > MAX_CLOUD_MANIFEST_BYTES) {
|
|
432552
432629
|
throw new Error("Cloud result exceeds the 8 MiB limit");
|
|
432553
432630
|
}
|
|
432554
|
-
return safeParseJSON(
|
|
432631
|
+
return safeParseJSON(readFileSync56(path22, "utf-8"), false);
|
|
432555
432632
|
}
|
|
432556
432633
|
function createCloudTask(cwd2, input) {
|
|
432557
432634
|
const taskText = input.task.trim();
|
|
@@ -432709,7 +432786,7 @@ function readCloudLog(cwd2, id, maxBytes = 1e6) {
|
|
|
432709
432786
|
assertSafeStateNode(join176(cwd2, ".ur"), "directory");
|
|
432710
432787
|
assertSafeStateNode(cloudDir(cwd2), "directory");
|
|
432711
432788
|
assertSafeStateNode(path22, "file");
|
|
432712
|
-
const buffer =
|
|
432789
|
+
const buffer = readFileSync56(path22);
|
|
432713
432790
|
const boundedMax = boundedInteger(maxBytes, 1e6, 1, MAX_CLOUD_LOG_BYTES);
|
|
432714
432791
|
return buffer.subarray(Math.max(0, buffer.length - boundedMax)).toString("utf8");
|
|
432715
432792
|
}
|
|
@@ -433548,7 +433625,7 @@ import {
|
|
|
433548
433625
|
existsSync as existsSync60,
|
|
433549
433626
|
mkdirSync as mkdirSync44,
|
|
433550
433627
|
readdirSync as readdirSync19,
|
|
433551
|
-
readFileSync as
|
|
433628
|
+
readFileSync as readFileSync57,
|
|
433552
433629
|
statSync as statSync20,
|
|
433553
433630
|
writeFileSync as writeFileSync44
|
|
433554
433631
|
} from "fs";
|
|
@@ -433617,7 +433694,7 @@ function loadRepoMapForPrompt(cwd2, maxBytes = 4000) {
|
|
|
433617
433694
|
const age = Date.now() - statSync20(path22).mtimeMs;
|
|
433618
433695
|
if (age > 7 * 24 * 3600 * 1000)
|
|
433619
433696
|
return null;
|
|
433620
|
-
const body =
|
|
433697
|
+
const body = readFileSync57(path22, "utf-8");
|
|
433621
433698
|
return body.length <= maxBytes ? body : `${body.slice(0, maxBytes)}
|
|
433622
433699
|
\u2026 [map truncated]`;
|
|
433623
433700
|
} catch {
|
|
@@ -433635,7 +433712,7 @@ function generateWiki(cwd2) {
|
|
|
433635
433712
|
const symbols = loadSymbolIndex(cwd2);
|
|
433636
433713
|
const stamp = new Date().toISOString();
|
|
433637
433714
|
const pages = [];
|
|
433638
|
-
const pkg = existsSync60(join178(cwd2, "package.json")) ? safeParseJSON(
|
|
433715
|
+
const pkg = existsSync60(join178(cwd2, "package.json")) ? safeParseJSON(readFileSync57(join178(cwd2, "package.json"), "utf-8"), false) : null;
|
|
433639
433716
|
const indexMd = [
|
|
433640
433717
|
`# ${pkg?.name ?? "Project"} wiki`,
|
|
433641
433718
|
"",
|
|
@@ -433706,7 +433783,7 @@ function installPostMergeHook(cwd2) {
|
|
|
433706
433783
|
const hookPath = join178(hooksDir, "post-merge");
|
|
433707
433784
|
const marker = "# ur-wiki-refresh";
|
|
433708
433785
|
const line = `ur wiki generate --quiet >/dev/null 2>&1 || true ${marker}`;
|
|
433709
|
-
const existing2 = existsSync60(hookPath) ?
|
|
433786
|
+
const existing2 = existsSync60(hookPath) ? readFileSync57(hookPath, "utf-8") : `#!/bin/sh
|
|
433710
433787
|
`;
|
|
433711
433788
|
if (existing2.includes(marker))
|
|
433712
433789
|
return hookPath;
|
|
@@ -433805,7 +433882,7 @@ var init_wiki2 = __esm(() => {
|
|
|
433805
433882
|
});
|
|
433806
433883
|
|
|
433807
433884
|
// src/services/agents/dashboardRoutes.ts
|
|
433808
|
-
import { existsSync as existsSync62, readdirSync as readdirSync20, readFileSync as
|
|
433885
|
+
import { existsSync as existsSync62, readdirSync as readdirSync20, readFileSync as readFileSync58 } from "fs";
|
|
433809
433886
|
import { join as join180 } from "path";
|
|
433810
433887
|
function esc2(s) {
|
|
433811
433888
|
return s.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
@@ -433839,7 +433916,7 @@ async function handleDashboardRequest(cwd2, path22) {
|
|
|
433839
433916
|
const threadMatch = path22.match(/^\/threads\/([\w.-]+)$/);
|
|
433840
433917
|
if (threadMatch) {
|
|
433841
433918
|
const file2 = join180(threadsDir(cwd2), `${threadMatch[1]}.html`);
|
|
433842
|
-
return existsSync62(file2) ? { status: 200, type: "text/html", body:
|
|
433919
|
+
return existsSync62(file2) ? { status: 200, type: "text/html", body: readFileSync58(file2, "utf-8") } : { status: 404, type: "text/plain", body: `Thread not found: ${threadMatch[1]}` };
|
|
433843
433920
|
}
|
|
433844
433921
|
if (path22 !== "/dashboard" && path22 !== "/api/dashboard")
|
|
433845
433922
|
return null;
|
|
@@ -433877,7 +433954,7 @@ var init_dashboardRoutes = __esm(() => {
|
|
|
433877
433954
|
});
|
|
433878
433955
|
|
|
433879
433956
|
// src/services/agents/artifactsServer.ts
|
|
433880
|
-
import { createReadStream as createReadStream3, readFileSync as
|
|
433957
|
+
import { createReadStream as createReadStream3, readFileSync as readFileSync59 } from "fs";
|
|
433881
433958
|
import { createServer as createServer5 } from "http";
|
|
433882
433959
|
import { createRequire as createRequire2 } from "module";
|
|
433883
433960
|
function attachmentDelivery(mimeType) {
|
|
@@ -433891,7 +433968,7 @@ function loadAsset(path22) {
|
|
|
433891
433968
|
const entry = ASSET_SPECS[path22];
|
|
433892
433969
|
if (entry) {
|
|
433893
433970
|
try {
|
|
433894
|
-
content =
|
|
433971
|
+
content = readFileSync59(createRequire2(import.meta.url).resolve(entry.spec), "utf-8");
|
|
433895
433972
|
} catch {
|
|
433896
433973
|
content = null;
|
|
433897
433974
|
}
|
|
@@ -434211,7 +434288,7 @@ var exports_thread = {};
|
|
|
434211
434288
|
__export(exports_thread, {
|
|
434212
434289
|
call: () => call77
|
|
434213
434290
|
});
|
|
434214
|
-
import { existsSync as existsSync63, mkdirSync as mkdirSync45, readdirSync as readdirSync21, readFileSync as
|
|
434291
|
+
import { existsSync as existsSync63, mkdirSync as mkdirSync45, readdirSync as readdirSync21, readFileSync as readFileSync60, statSync as statSync22, writeFileSync as writeFileSync45 } from "fs";
|
|
434215
434292
|
import { join as join181 } from "path";
|
|
434216
434293
|
function esc3(s) {
|
|
434217
434294
|
return s.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
@@ -434274,7 +434351,7 @@ var SESSION_ID_PATTERN, call77 = async (args) => {
|
|
|
434274
434351
|
transcriptPath = candidates2.map((name) => join181(dir, name)).sort((a2, b) => statSync22(b).mtimeMs - statSync22(a2).mtimeMs)[0];
|
|
434275
434352
|
}
|
|
434276
434353
|
const id = sessionId ?? `latest-${Date.now().toString(36)}`;
|
|
434277
|
-
const lines =
|
|
434354
|
+
const lines = readFileSync60(transcriptPath, "utf-8").split(`
|
|
434278
434355
|
`).filter(Boolean);
|
|
434279
434356
|
mkdirSync45(threadsDir(cwd2), { recursive: true });
|
|
434280
434357
|
const out = join181(threadsDir(cwd2), `${id}.html`);
|
|
@@ -434327,7 +434404,7 @@ var init_thread2 = __esm(() => {
|
|
|
434327
434404
|
});
|
|
434328
434405
|
|
|
434329
434406
|
// src/services/agents/inspector.ts
|
|
434330
|
-
import { existsSync as existsSync64, readFileSync as
|
|
434407
|
+
import { existsSync as existsSync64, readFileSync as readFileSync61 } from "fs";
|
|
434331
434408
|
function preview3(value2, max2 = PREVIEW_CHARS) {
|
|
434332
434409
|
const text = value2.replace(/\s+/g, " ").trim();
|
|
434333
434410
|
if (text.length <= max2)
|
|
@@ -434432,7 +434509,7 @@ function loadTranscript(path22) {
|
|
|
434432
434509
|
if (!existsSync64(path22)) {
|
|
434433
434510
|
throw new Error(`Transcript not found: ${path22}`);
|
|
434434
434511
|
}
|
|
434435
|
-
const raw =
|
|
434512
|
+
const raw = readFileSync61(path22, "utf-8").trim();
|
|
434436
434513
|
if (!raw)
|
|
434437
434514
|
return [];
|
|
434438
434515
|
if (raw.startsWith("[")) {
|
|
@@ -434709,7 +434786,7 @@ var init_embeddings2 = __esm(() => {
|
|
|
434709
434786
|
import {
|
|
434710
434787
|
existsSync as existsSync65,
|
|
434711
434788
|
mkdirSync as mkdirSync46,
|
|
434712
|
-
readFileSync as
|
|
434789
|
+
readFileSync as readFileSync62,
|
|
434713
434790
|
readdirSync as readdirSync22,
|
|
434714
434791
|
statSync as statSync23,
|
|
434715
434792
|
writeFileSync as writeFileSync46
|
|
@@ -434731,7 +434808,7 @@ function loadSources(cwd2) {
|
|
|
434731
434808
|
const path22 = sourcesPath(cwd2);
|
|
434732
434809
|
if (!existsSync65(path22))
|
|
434733
434810
|
return [];
|
|
434734
|
-
const parsed = safeParseJSON(
|
|
434811
|
+
const parsed = safeParseJSON(readFileSync62(path22, "utf-8"), false);
|
|
434735
434812
|
return Array.isArray(parsed) ? parsed : [];
|
|
434736
434813
|
}
|
|
434737
434814
|
function saveSources(cwd2, sources) {
|
|
@@ -434818,7 +434895,7 @@ function chunkFile(cwd2, source, absPath) {
|
|
|
434818
434895
|
return [];
|
|
434819
434896
|
let content;
|
|
434820
434897
|
try {
|
|
434821
|
-
content =
|
|
434898
|
+
content = readFileSync62(absPath, "utf-8");
|
|
434822
434899
|
} catch {
|
|
434823
434900
|
return [];
|
|
434824
434901
|
}
|
|
@@ -434918,7 +434995,7 @@ function loadIndex2(cwd2) {
|
|
|
434918
434995
|
const path22 = indexPath2(cwd2);
|
|
434919
434996
|
if (!existsSync65(path22))
|
|
434920
434997
|
return null;
|
|
434921
|
-
const parsed = safeParseJSON(
|
|
434998
|
+
const parsed = safeParseJSON(readFileSync62(path22, "utf-8"), false);
|
|
434922
434999
|
return parsed && typeof parsed === "object" ? parsed : null;
|
|
434923
435000
|
}
|
|
434924
435001
|
async function searchKnowledge(cwd2, query2, options2 = {}) {
|
|
@@ -435147,7 +435224,7 @@ var init_knowledge3 = __esm(() => {
|
|
|
435147
435224
|
});
|
|
435148
435225
|
|
|
435149
435226
|
// src/services/agents/crew.ts
|
|
435150
|
-
import { existsSync as existsSync66, mkdirSync as mkdirSync47, readdirSync as readdirSync23, readFileSync as
|
|
435227
|
+
import { existsSync as existsSync66, mkdirSync as mkdirSync47, readdirSync as readdirSync23, readFileSync as readFileSync63, unlinkSync as unlinkSync12, writeFileSync as writeFileSync47 } from "fs";
|
|
435151
435228
|
import { join as join183 } from "path";
|
|
435152
435229
|
function crewDir(cwd2) {
|
|
435153
435230
|
return join183(cwd2, ".ur", "crew");
|
|
@@ -435165,13 +435242,13 @@ function listCrews(cwd2) {
|
|
|
435165
435242
|
const dir = crewDir(cwd2);
|
|
435166
435243
|
if (!existsSync66(dir))
|
|
435167
435244
|
return [];
|
|
435168
|
-
return readdirSync23(dir).filter((file2) => file2.endsWith(".json")).map((file2) => safeParseJSON(
|
|
435245
|
+
return readdirSync23(dir).filter((file2) => file2.endsWith(".json")).map((file2) => safeParseJSON(readFileSync63(join183(dir, file2), "utf-8"), false)).filter(isCrewSpec);
|
|
435169
435246
|
}
|
|
435170
435247
|
function loadCrew(cwd2, name) {
|
|
435171
435248
|
const path22 = crewPath(cwd2, name);
|
|
435172
435249
|
if (!existsSync66(path22))
|
|
435173
435250
|
return null;
|
|
435174
|
-
const parsed = safeParseJSON(
|
|
435251
|
+
const parsed = safeParseJSON(readFileSync63(path22, "utf-8"), false);
|
|
435175
435252
|
return isCrewSpec(parsed) ? parsed : null;
|
|
435176
435253
|
}
|
|
435177
435254
|
function saveCrew(cwd2, spec) {
|
|
@@ -435780,7 +435857,7 @@ var init_crew3 = __esm(() => {
|
|
|
435780
435857
|
});
|
|
435781
435858
|
|
|
435782
435859
|
// src/services/agents/goals.ts
|
|
435783
|
-
import { existsSync as existsSync67, mkdirSync as mkdirSync48, readdirSync as readdirSync24, readFileSync as
|
|
435860
|
+
import { existsSync as existsSync67, mkdirSync as mkdirSync48, readdirSync as readdirSync24, readFileSync as readFileSync64, unlinkSync as unlinkSync13, writeFileSync as writeFileSync48 } from "fs";
|
|
435784
435861
|
import { join as join184 } from "path";
|
|
435785
435862
|
function goalsDir(cwd2) {
|
|
435786
435863
|
return join184(cwd2, ".ur", "goals");
|
|
@@ -435795,7 +435872,7 @@ function listGoals(cwd2) {
|
|
|
435795
435872
|
const dir = goalsDir(cwd2);
|
|
435796
435873
|
if (!existsSync67(dir))
|
|
435797
435874
|
return [];
|
|
435798
|
-
return readdirSync24(dir).filter((file2) => file2.endsWith(".json")).map((file2) => safeParseJSON(
|
|
435875
|
+
return readdirSync24(dir).filter((file2) => file2.endsWith(".json")).map((file2) => safeParseJSON(readFileSync64(join184(dir, file2), "utf-8"), false)).filter((spec) => isGoalSpec(spec)).sort((a2, b) => a2.updatedAt < b.updatedAt ? 1 : -1);
|
|
435799
435876
|
}
|
|
435800
435877
|
function isGoalSpec(value2) {
|
|
435801
435878
|
return !!value2 && typeof value2 === "object" && typeof value2.name === "string" && typeof value2.objective === "string";
|
|
@@ -435804,7 +435881,7 @@ function loadGoal(cwd2, name) {
|
|
|
435804
435881
|
const path22 = goalPath(cwd2, name);
|
|
435805
435882
|
if (!existsSync67(path22))
|
|
435806
435883
|
return null;
|
|
435807
|
-
const parsed = safeParseJSON(
|
|
435884
|
+
const parsed = safeParseJSON(readFileSync64(path22, "utf-8"), false);
|
|
435808
435885
|
return isGoalSpec(parsed) ? parsed : null;
|
|
435809
435886
|
}
|
|
435810
435887
|
function saveGoal(cwd2, spec) {
|
|
@@ -436123,7 +436200,7 @@ var init_verificationProofs = __esm(() => {
|
|
|
436123
436200
|
});
|
|
436124
436201
|
|
|
436125
436202
|
// src/services/agents/kernel.ts
|
|
436126
|
-
import { existsSync as existsSync68, readFileSync as
|
|
436203
|
+
import { existsSync as existsSync68, readFileSync as readFileSync65 } from "fs";
|
|
436127
436204
|
import { join as join185 } from "path";
|
|
436128
436205
|
function defaultGuard(skipPermissions) {
|
|
436129
436206
|
return {
|
|
@@ -436144,7 +436221,7 @@ function defaultMemory(cwd2) {
|
|
|
436144
436221
|
loadMemorySnippet: (scope, agentType) => {
|
|
436145
436222
|
const base2 = scope === "project" ? join185(cwd2, ".ur", "memory") : join185(cwd2, ".ur", "memory");
|
|
436146
436223
|
const path22 = join185(base2, `${agentType}.md`);
|
|
436147
|
-
const legacy = existsSync68(path22) ?
|
|
436224
|
+
const legacy = existsSync68(path22) ? readFileSync65(path22, "utf-8") : "";
|
|
436148
436225
|
if (scope !== "project")
|
|
436149
436226
|
return legacy || null;
|
|
436150
436227
|
try {
|
|
@@ -436550,7 +436627,7 @@ import {
|
|
|
436550
436627
|
existsSync as existsSync69,
|
|
436551
436628
|
mkdirSync as mkdirSync49,
|
|
436552
436629
|
readdirSync as readdirSync25,
|
|
436553
|
-
readFileSync as
|
|
436630
|
+
readFileSync as readFileSync66,
|
|
436554
436631
|
rmSync as rmSync14,
|
|
436555
436632
|
writeFileSync as writeFileSync49
|
|
436556
436633
|
} from "fs";
|
|
@@ -436574,13 +436651,13 @@ function listSpecs2(cwd2) {
|
|
|
436574
436651
|
const dir = specsDir(cwd2);
|
|
436575
436652
|
if (!existsSync69(dir))
|
|
436576
436653
|
return [];
|
|
436577
|
-
return readdirSync25(dir).filter((entry) => existsSync69(join186(dir, entry, "spec.json"))).map((entry) => safeParseJSON(
|
|
436654
|
+
return readdirSync25(dir).filter((entry) => existsSync69(join186(dir, entry, "spec.json"))).map((entry) => safeParseJSON(readFileSync66(join186(dir, entry, "spec.json"), "utf-8"), false)).filter((m) => !!m && typeof m === "object" && ("goal" in m));
|
|
436578
436655
|
}
|
|
436579
436656
|
function loadSpec(cwd2, name) {
|
|
436580
436657
|
const path22 = metaPath(cwd2, name);
|
|
436581
436658
|
if (!existsSync69(path22))
|
|
436582
436659
|
return null;
|
|
436583
|
-
const parsed = safeParseJSON(
|
|
436660
|
+
const parsed = safeParseJSON(readFileSync66(path22, "utf-8"), false);
|
|
436584
436661
|
return parsed && typeof parsed === "object" ? parsed : null;
|
|
436585
436662
|
}
|
|
436586
436663
|
function saveMeta(cwd2, meta) {
|
|
@@ -436590,7 +436667,7 @@ function saveMeta(cwd2, meta) {
|
|
|
436590
436667
|
}
|
|
436591
436668
|
function readPhase(cwd2, name, phase) {
|
|
436592
436669
|
const path22 = join186(specDir(cwd2, name), phaseFile(phase));
|
|
436593
|
-
return existsSync69(path22) ?
|
|
436670
|
+
return existsSync69(path22) ? readFileSync66(path22, "utf-8") : null;
|
|
436594
436671
|
}
|
|
436595
436672
|
function writePhase(cwd2, name, phase, body) {
|
|
436596
436673
|
mkdirSync49(specDir(cwd2, name), { recursive: true });
|
|
@@ -436851,7 +436928,7 @@ var init_spec = __esm(() => {
|
|
|
436851
436928
|
});
|
|
436852
436929
|
|
|
436853
436930
|
// src/services/agents/specVerifier.ts
|
|
436854
|
-
import { existsSync as existsSync70, mkdirSync as mkdirSync50, readFileSync as
|
|
436931
|
+
import { existsSync as existsSync70, mkdirSync as mkdirSync50, readFileSync as readFileSync67, writeFileSync as writeFileSync50 } from "fs";
|
|
436855
436932
|
import { join as join187 } from "path";
|
|
436856
436933
|
function recordPath(cwd2, name) {
|
|
436857
436934
|
return join187(cwd2, ".ur", "specs", name, RECORD_FILE);
|
|
@@ -436863,7 +436940,7 @@ function loadVerificationRecord(cwd2, name) {
|
|
|
436863
436940
|
const path22 = recordPath(cwd2, name);
|
|
436864
436941
|
if (!existsSync70(path22))
|
|
436865
436942
|
return null;
|
|
436866
|
-
const parsed = safeParseJSON(
|
|
436943
|
+
const parsed = safeParseJSON(readFileSync67(path22, "utf-8"), false);
|
|
436867
436944
|
if (!parsed || typeof parsed !== "object")
|
|
436868
436945
|
return null;
|
|
436869
436946
|
return parsed;
|
|
@@ -437330,7 +437407,7 @@ var init_spec3 = __esm(() => {
|
|
|
437330
437407
|
});
|
|
437331
437408
|
|
|
437332
437409
|
// src/services/agents/escalation.ts
|
|
437333
|
-
import { existsSync as existsSync71, mkdirSync as mkdirSync51, readFileSync as
|
|
437410
|
+
import { existsSync as existsSync71, mkdirSync as mkdirSync51, readFileSync as readFileSync68, writeFileSync as writeFileSync51 } from "fs";
|
|
437334
437411
|
import { join as join188 } from "path";
|
|
437335
437412
|
function scoreOracle(model) {
|
|
437336
437413
|
let score = (model.contextLength ?? 0) / 1000;
|
|
@@ -437519,7 +437596,7 @@ function loadPolicy(cwd2) {
|
|
|
437519
437596
|
const path22 = policyPath(cwd2);
|
|
437520
437597
|
if (!existsSync71(path22))
|
|
437521
437598
|
return {};
|
|
437522
|
-
const parsed = safeParseJSON(
|
|
437599
|
+
const parsed = safeParseJSON(readFileSync68(path22, "utf-8"), false);
|
|
437523
437600
|
return parsed && typeof parsed === "object" ? parsed : {};
|
|
437524
437601
|
}
|
|
437525
437602
|
function savePolicy(cwd2, policy) {
|
|
@@ -438372,7 +438449,7 @@ var exports_guardrails = {};
|
|
|
438372
438449
|
__export(exports_guardrails, {
|
|
438373
438450
|
call: () => call87
|
|
438374
438451
|
});
|
|
438375
|
-
import { existsSync as existsSync73, readFileSync as
|
|
438452
|
+
import { existsSync as existsSync73, readFileSync as readFileSync69 } from "fs";
|
|
438376
438453
|
function optionValue5(tokens, flag) {
|
|
438377
438454
|
const index2 = tokens.indexOf(flag);
|
|
438378
438455
|
return index2 >= 0 ? tokens[index2 + 1] : undefined;
|
|
@@ -438441,7 +438518,7 @@ var call87 = async (args) => {
|
|
|
438441
438518
|
if (!existsSync73(filePath)) {
|
|
438442
438519
|
return { type: "text", value: `File not found: ${filePath}` };
|
|
438443
438520
|
}
|
|
438444
|
-
text =
|
|
438521
|
+
text = readFileSync69(filePath, "utf-8");
|
|
438445
438522
|
} else {
|
|
438446
438523
|
text = tokens.filter((token) => !token.startsWith("--") && token !== "check").join(" ");
|
|
438447
438524
|
}
|
|
@@ -438479,7 +438556,7 @@ var init_guardrails3 = __esm(() => {
|
|
|
438479
438556
|
});
|
|
438480
438557
|
|
|
438481
438558
|
// src/services/agents/execTarget.ts
|
|
438482
|
-
import { existsSync as existsSync74, mkdirSync as mkdirSync52, readFileSync as
|
|
438559
|
+
import { existsSync as existsSync74, mkdirSync as mkdirSync52, readFileSync as readFileSync70, writeFileSync as writeFileSync52 } from "fs";
|
|
438483
438560
|
import { join as join190 } from "path";
|
|
438484
438561
|
function isContainerized(config3) {
|
|
438485
438562
|
return config3.kind !== "local";
|
|
@@ -438510,7 +438587,7 @@ function readDevcontainerImage(cwd2) {
|
|
|
438510
438587
|
const path22 = join190(cwd2, ".devcontainer", "devcontainer.json");
|
|
438511
438588
|
if (!existsSync74(path22))
|
|
438512
438589
|
return;
|
|
438513
|
-
const parsed = safeParseJSON(
|
|
438590
|
+
const parsed = safeParseJSON(readFileSync70(path22, "utf-8"), false);
|
|
438514
438591
|
if (parsed && typeof parsed === "object" && typeof parsed.image === "string") {
|
|
438515
438592
|
return parsed.image;
|
|
438516
438593
|
}
|
|
@@ -438529,7 +438606,7 @@ function resolveExecTarget(cwd2, env4 = process.env) {
|
|
|
438529
438606
|
return { kind: "local" };
|
|
438530
438607
|
const path22 = configPath(cwd2);
|
|
438531
438608
|
if (existsSync74(path22)) {
|
|
438532
|
-
const parsed = safeParseJSON(
|
|
438609
|
+
const parsed = safeParseJSON(readFileSync70(path22, "utf-8"), false);
|
|
438533
438610
|
if (parsed && typeof parsed === "object") {
|
|
438534
438611
|
const config3 = parsed;
|
|
438535
438612
|
if (config3.kind === "devcontainer" && !config3.image) {
|
|
@@ -439179,7 +439256,7 @@ var init_electronDesktopQaDriver = __esm(() => {
|
|
|
439179
439256
|
import {
|
|
439180
439257
|
existsSync as existsSync75,
|
|
439181
439258
|
lstatSync as lstatSync16,
|
|
439182
|
-
readFileSync as
|
|
439259
|
+
readFileSync as readFileSync71,
|
|
439183
439260
|
realpathSync as realpathSync13,
|
|
439184
439261
|
readdirSync as readdirSync26,
|
|
439185
439262
|
rmSync as rmSync15,
|
|
@@ -439246,7 +439323,7 @@ function loadDesktopQaFixture(path22) {
|
|
|
439246
439323
|
}
|
|
439247
439324
|
let input;
|
|
439248
439325
|
try {
|
|
439249
|
-
input = JSON.parse(
|
|
439326
|
+
input = JSON.parse(readFileSync71(path22, "utf-8"));
|
|
439250
439327
|
} catch (error40) {
|
|
439251
439328
|
throw new Error(`Unable to parse desktop QA fixture: ${error40 instanceof Error ? error40.message : String(error40)}`);
|
|
439252
439329
|
}
|
|
@@ -440432,7 +440509,7 @@ var exports_ci_loop = {};
|
|
|
440432
440509
|
__export(exports_ci_loop, {
|
|
440433
440510
|
call: () => call91
|
|
440434
440511
|
});
|
|
440435
|
-
import { existsSync as existsSync77, readFileSync as
|
|
440512
|
+
import { existsSync as existsSync77, readFileSync as readFileSync72, statSync as statSync25 } from "fs";
|
|
440436
440513
|
import { resolve as resolve63 } from "path";
|
|
440437
440514
|
function option17(tokens, name) {
|
|
440438
440515
|
const index2 = tokens.indexOf(name);
|
|
@@ -440459,7 +440536,7 @@ var call91 = async (args) => {
|
|
|
440459
440536
|
if (!existsSync77(logPath2)) {
|
|
440460
440537
|
return { type: "text", value: `Log file not found: ${logPath2}` };
|
|
440461
440538
|
}
|
|
440462
|
-
seedError =
|
|
440539
|
+
seedError = readFileSync72(logPath2, "utf-8");
|
|
440463
440540
|
}
|
|
440464
440541
|
const target = resolveExecTarget(cwd2);
|
|
440465
440542
|
const result = await runCiLoop({
|
|
@@ -440504,7 +440581,7 @@ var init_ci_loop2 = __esm(() => {
|
|
|
440504
440581
|
// src/services/agents/testFirstLoop.ts
|
|
440505
440582
|
import {
|
|
440506
440583
|
mkdirSync as mkdirSync55,
|
|
440507
|
-
readFileSync as
|
|
440584
|
+
readFileSync as readFileSync73,
|
|
440508
440585
|
writeFileSync as writeFileSync55
|
|
440509
440586
|
} from "fs";
|
|
440510
440587
|
import { dirname as dirname73, join as join194, relative as relative45 } from "path";
|
|
@@ -440541,7 +440618,7 @@ function writeFailureTrace(cwd2, traceDir, run3, result, now8) {
|
|
|
440541
440618
|
}
|
|
440542
440619
|
function readExistingVerifyConfig(path22) {
|
|
440543
440620
|
try {
|
|
440544
|
-
const parsed = JSON.parse(
|
|
440621
|
+
const parsed = JSON.parse(readFileSync73(path22, "utf8"));
|
|
440545
440622
|
return parsed && typeof parsed === "object" ? parsed : {};
|
|
440546
440623
|
} catch {
|
|
440547
440624
|
return {};
|
|
@@ -441657,7 +441734,7 @@ var exports_trigger = {};
|
|
|
441657
441734
|
__export(exports_trigger, {
|
|
441658
441735
|
call: () => call96
|
|
441659
441736
|
});
|
|
441660
|
-
import { existsSync as existsSync78, readFileSync as
|
|
441737
|
+
import { existsSync as existsSync78, readFileSync as readFileSync74 } from "fs";
|
|
441661
441738
|
function option22(tokens, name) {
|
|
441662
441739
|
const index2 = tokens.indexOf(name);
|
|
441663
441740
|
if (index2 === -1)
|
|
@@ -441696,7 +441773,7 @@ ${usage22()}` };
|
|
|
441696
441773
|
if (!existsSync78(file2)) {
|
|
441697
441774
|
return { type: "text", value: `Payload file not found: ${file2}` };
|
|
441698
441775
|
}
|
|
441699
|
-
const payload = safeParseJSON(
|
|
441776
|
+
const payload = safeParseJSON(readFileSync74(file2, "utf-8"), false);
|
|
441700
441777
|
if (payload === null || typeof payload !== "object") {
|
|
441701
441778
|
return { type: "text", value: `Payload is not valid JSON: ${file2}` };
|
|
441702
441779
|
}
|
|
@@ -442188,7 +442265,7 @@ __export(exports_evals, {
|
|
|
442188
442265
|
import {
|
|
442189
442266
|
existsSync as existsSync80,
|
|
442190
442267
|
mkdirSync as mkdirSync57,
|
|
442191
|
-
readFileSync as
|
|
442268
|
+
readFileSync as readFileSync75,
|
|
442192
442269
|
readdirSync as readdirSync28,
|
|
442193
442270
|
rmSync as rmSync16,
|
|
442194
442271
|
writeFileSync as writeFileSync57
|
|
@@ -442670,7 +442747,7 @@ function readChildMetricsFile(path22) {
|
|
|
442670
442747
|
if (!existsSync80(path22))
|
|
442671
442748
|
return;
|
|
442672
442749
|
try {
|
|
442673
|
-
const parsed = safeParseJSON(
|
|
442750
|
+
const parsed = safeParseJSON(readFileSync75(path22, "utf-8"), false);
|
|
442674
442751
|
if (parsed && typeof parsed === "object")
|
|
442675
442752
|
return parsed;
|
|
442676
442753
|
} catch {}
|
|
@@ -443064,7 +443141,7 @@ function loadAllReports(cwd2) {
|
|
|
443064
443141
|
for (const file2 of readdirSync28(dir)) {
|
|
443065
443142
|
if (!file2.endsWith(".json") || file2.startsWith("reliability-"))
|
|
443066
443143
|
continue;
|
|
443067
|
-
const parsed = safeParseJSON(
|
|
443144
|
+
const parsed = safeParseJSON(readFileSync75(join196(dir, file2), "utf-8"), false);
|
|
443068
443145
|
if (parsed && typeof parsed === "object")
|
|
443069
443146
|
reports.push(parsed);
|
|
443070
443147
|
}
|
|
@@ -443078,7 +443155,7 @@ function loadAllReliability(cwd2) {
|
|
|
443078
443155
|
for (const file2 of readdirSync28(dir)) {
|
|
443079
443156
|
if (!file2.startsWith("reliability-") || !file2.endsWith(".json"))
|
|
443080
443157
|
continue;
|
|
443081
|
-
const parsed = safeParseJSON(
|
|
443158
|
+
const parsed = safeParseJSON(readFileSync75(join196(dir, file2), "utf-8"), false);
|
|
443082
443159
|
if (parsed && typeof parsed === "object")
|
|
443083
443160
|
reports.push(parsed);
|
|
443084
443161
|
}
|
|
@@ -443163,7 +443240,7 @@ function loadRunMetrics(cwd2, suiteName, caseId) {
|
|
|
443163
443240
|
const path22 = join196(runsDir(cwd2, suiteName), `${caseId}.json`);
|
|
443164
443241
|
if (!existsSync80(path22))
|
|
443165
443242
|
return null;
|
|
443166
|
-
const parsed = safeParseJSON(
|
|
443243
|
+
const parsed = safeParseJSON(readFileSync75(path22, "utf-8"), false);
|
|
443167
443244
|
if (!parsed || typeof parsed !== "object")
|
|
443168
443245
|
return null;
|
|
443169
443246
|
return parsed;
|
|
@@ -443228,7 +443305,7 @@ function loadSuite(cwd2, name) {
|
|
|
443228
443305
|
if (!existsSync80(path22))
|
|
443229
443306
|
return null;
|
|
443230
443307
|
try {
|
|
443231
|
-
return parseSuiteText(
|
|
443308
|
+
return parseSuiteText(readFileSync75(path22, "utf-8"));
|
|
443232
443309
|
} catch {
|
|
443233
443310
|
return null;
|
|
443234
443311
|
}
|
|
@@ -443386,7 +443463,7 @@ function buildBenchmarkSuite(adapter2, records, options3 = {}) {
|
|
|
443386
443463
|
};
|
|
443387
443464
|
}
|
|
443388
443465
|
function importBenchmarkSuite(cwd2, adapter2, file2, options3 = {}) {
|
|
443389
|
-
const records = parseBenchmarkRecords(
|
|
443466
|
+
const records = parseBenchmarkRecords(readFileSync75(file2, "utf-8"));
|
|
443390
443467
|
if (records.length === 0) {
|
|
443391
443468
|
throw new Error(`No benchmark records found in ${file2}`);
|
|
443392
443469
|
}
|
|
@@ -443412,7 +443489,7 @@ function loadReport(cwd2, name) {
|
|
|
443412
443489
|
const path22 = join196(resultsDir(cwd2), `${suiteSlug(name)}.json`);
|
|
443413
443490
|
if (!existsSync80(path22))
|
|
443414
443491
|
return null;
|
|
443415
|
-
const parsed = safeParseJSON(
|
|
443492
|
+
const parsed = safeParseJSON(readFileSync75(path22, "utf-8"), false);
|
|
443416
443493
|
return parsed && typeof parsed === "object" ? parsed : null;
|
|
443417
443494
|
}
|
|
443418
443495
|
function defaultEvalSuite() {
|
|
@@ -444458,7 +444535,7 @@ var init_dna2 = __esm(() => {
|
|
|
444458
444535
|
});
|
|
444459
444536
|
|
|
444460
444537
|
// src/services/agents/prSummary.ts
|
|
444461
|
-
import { existsSync as existsSync81, readFileSync as
|
|
444538
|
+
import { existsSync as existsSync81, readFileSync as readFileSync76 } from "fs";
|
|
444462
444539
|
async function git5(cwd2, args) {
|
|
444463
444540
|
return execFileNoThrowWithCwd(gitExe(), args, { cwd: cwd2, timeout: 30000, preserveOutputOnError: true });
|
|
444464
444541
|
}
|
|
@@ -444498,7 +444575,7 @@ function detectTests(cwd2) {
|
|
|
444498
444575
|
const pkgPath = `${cwd2}/package.json`;
|
|
444499
444576
|
if (existsSync81(pkgPath)) {
|
|
444500
444577
|
try {
|
|
444501
|
-
const pkg = JSON.parse(
|
|
444578
|
+
const pkg = JSON.parse(readFileSync76(pkgPath, "utf-8"));
|
|
444502
444579
|
for (const name of Object.keys(pkg.scripts ?? {})) {
|
|
444503
444580
|
if (/^(test|t|check|lint|typecheck|ci)$/.test(name) || /^(test|check|lint):/.test(name)) {
|
|
444504
444581
|
tests.push(`bun run ${name}`);
|
|
@@ -445984,7 +446061,7 @@ var init_remember2 = __esm(() => {
|
|
|
445984
446061
|
import {
|
|
445985
446062
|
existsSync as existsSync83,
|
|
445986
446063
|
mkdirSync as mkdirSync59,
|
|
445987
|
-
readFileSync as
|
|
446064
|
+
readFileSync as readFileSync77,
|
|
445988
446065
|
readdirSync as readdirSync29,
|
|
445989
446066
|
writeFileSync as writeFileSync59
|
|
445990
446067
|
} from "fs";
|
|
@@ -446002,7 +446079,7 @@ function loadMemoryRetentionPolicy(cwd2) {
|
|
|
446002
446079
|
const path22 = policyPath2(cwd2);
|
|
446003
446080
|
if (!existsSync83(path22))
|
|
446004
446081
|
return defaultMemoryRetentionPolicy();
|
|
446005
|
-
const parsed = safeParseJSON(
|
|
446082
|
+
const parsed = safeParseJSON(readFileSync77(path22, "utf-8"), false);
|
|
446006
446083
|
if (!parsed || typeof parsed !== "object")
|
|
446007
446084
|
return defaultMemoryRetentionPolicy();
|
|
446008
446085
|
const p2 = parsed;
|
|
@@ -446043,7 +446120,7 @@ function readJsonl2(file2) {
|
|
|
446043
446120
|
if (!existsSync83(file2))
|
|
446044
446121
|
return [];
|
|
446045
446122
|
const records = [];
|
|
446046
|
-
for (const line of
|
|
446123
|
+
for (const line of readFileSync77(file2, "utf-8").split(`
|
|
446047
446124
|
`)) {
|
|
446048
446125
|
if (!line.trim())
|
|
446049
446126
|
continue;
|
|
@@ -446205,7 +446282,7 @@ var exports_semantic_memory = {};
|
|
|
446205
446282
|
__export(exports_semantic_memory, {
|
|
446206
446283
|
call: () => call106
|
|
446207
446284
|
});
|
|
446208
|
-
import { existsSync as existsSync84, mkdirSync as mkdirSync60, readdirSync as readdirSync30, readFileSync as
|
|
446285
|
+
import { existsSync as existsSync84, mkdirSync as mkdirSync60, readdirSync as readdirSync30, readFileSync as readFileSync78, statSync as statSync26, writeFileSync as writeFileSync60 } from "fs";
|
|
446209
446286
|
import { basename as basename48, join as join201 } from "path";
|
|
446210
446287
|
function indexPath3() {
|
|
446211
446288
|
return join201(getCwd(), ".ur", "semantic-memory", "index", "index.json");
|
|
@@ -446242,7 +446319,7 @@ function chunkText2(source, text) {
|
|
|
446242
446319
|
}));
|
|
446243
446320
|
}
|
|
446244
446321
|
function buildIndex2() {
|
|
446245
|
-
const entries = sourceFiles().flatMap((file2) => chunkText2(file2,
|
|
446322
|
+
const entries = sourceFiles().flatMap((file2) => chunkText2(file2, readFileSync78(file2, "utf-8")));
|
|
446246
446323
|
const index2 = {
|
|
446247
446324
|
version: 1,
|
|
446248
446325
|
mode: "lexical",
|
|
@@ -446257,7 +446334,7 @@ function buildIndex2() {
|
|
|
446257
446334
|
function loadIndex3() {
|
|
446258
446335
|
if (!existsSync84(indexPath3()))
|
|
446259
446336
|
return null;
|
|
446260
|
-
const parsed = safeParseJSON(
|
|
446337
|
+
const parsed = safeParseJSON(readFileSync78(indexPath3(), "utf-8"), false);
|
|
446261
446338
|
return parsed && typeof parsed === "object" ? parsed : null;
|
|
446262
446339
|
}
|
|
446263
446340
|
function searchIndex(index2, query2) {
|
|
@@ -615596,7 +615673,7 @@ import { exec as exec8 } from "child_process";
|
|
|
615596
615673
|
import {
|
|
615597
615674
|
existsSync as existsSync85,
|
|
615598
615675
|
mkdirSync as mkdirSync61,
|
|
615599
|
-
readFileSync as
|
|
615676
|
+
readFileSync as readFileSync79,
|
|
615600
615677
|
readdirSync as readdirSync31,
|
|
615601
615678
|
statSync as statSync27,
|
|
615602
615679
|
writeFileSync as writeFileSync61
|
|
@@ -615719,7 +615796,7 @@ function buildRepoEditIndex(root2) {
|
|
|
615719
615796
|
let content = "";
|
|
615720
615797
|
if (text && stat42.size <= 1e6) {
|
|
615721
615798
|
try {
|
|
615722
|
-
content =
|
|
615799
|
+
content = readFileSync79(abs, "utf-8");
|
|
615723
615800
|
} catch {
|
|
615724
615801
|
content = "";
|
|
615725
615802
|
}
|
|
@@ -615750,7 +615827,7 @@ function loadRepoEditIndex(root2) {
|
|
|
615750
615827
|
const path22 = repoEditIndexPath(root2);
|
|
615751
615828
|
if (!existsSync85(path22))
|
|
615752
615829
|
return null;
|
|
615753
|
-
const parsed = safeParseJSON(
|
|
615830
|
+
const parsed = safeParseJSON(readFileSync79(path22, "utf-8"), false);
|
|
615754
615831
|
return parsed && typeof parsed === "object" ? parsed : null;
|
|
615755
615832
|
}
|
|
615756
615833
|
function searchRepoEditIndex(root2, query2, index2 = loadRepoEditIndex(root2) ?? buildRepoEditIndex(root2)) {
|
|
@@ -615776,7 +615853,7 @@ function searchRepoEditIndex(root2, query2, index2 = loadRepoEditIndex(root2) ??
|
|
|
615776
615853
|
const lines = [];
|
|
615777
615854
|
if (file2.text && score > 0) {
|
|
615778
615855
|
try {
|
|
615779
|
-
const content =
|
|
615856
|
+
const content = readFileSync79(join202(root2, file2.path), "utf-8");
|
|
615780
615857
|
const split = content.split(`
|
|
615781
615858
|
`);
|
|
615782
615859
|
for (let i3 = 0;i3 < split.length && lines.length < 4; i3++) {
|
|
@@ -615833,7 +615910,7 @@ function planRename(root2, from, to) {
|
|
|
615833
615910
|
const abs = join202(root2, file2);
|
|
615834
615911
|
let oldContent;
|
|
615835
615912
|
try {
|
|
615836
|
-
oldContent =
|
|
615913
|
+
oldContent = readFileSync79(abs, "utf-8");
|
|
615837
615914
|
} catch {
|
|
615838
615915
|
return [];
|
|
615839
615916
|
}
|
|
@@ -616423,7 +616500,7 @@ import {
|
|
|
616423
616500
|
chmodSync as chmodSync11,
|
|
616424
616501
|
existsSync as existsSync86,
|
|
616425
616502
|
mkdirSync as mkdirSync62,
|
|
616426
|
-
readFileSync as
|
|
616503
|
+
readFileSync as readFileSync80,
|
|
616427
616504
|
realpathSync as realpathSync16,
|
|
616428
616505
|
renameSync as renameSync14,
|
|
616429
616506
|
rmSync as rmSync18,
|
|
@@ -616523,7 +616600,7 @@ function applyWorkspaceEdit(root2, edit2) {
|
|
|
616523
616600
|
const edits = normalizeFileEdits(file2, rawEdits);
|
|
616524
616601
|
const abs = resolveWorkspaceFile(root2, file2);
|
|
616525
616602
|
const existed = existsSync86(abs);
|
|
616526
|
-
const oldContent = existed ?
|
|
616603
|
+
const oldContent = existed ? readFileSync80(abs, "utf-8") : "";
|
|
616527
616604
|
const mode = existed ? statSync28(abs).mode : undefined;
|
|
616528
616605
|
const newContent = applyFileEdits(oldContent, edits);
|
|
616529
616606
|
snapshots.set(file2, { content: oldContent, existed, mode });
|
|
@@ -616566,7 +616643,7 @@ function formatWorkspaceEditAsPatch(root2, edit2) {
|
|
|
616566
616643
|
for (const [file2] of byFile) {
|
|
616567
616644
|
const safeFile = workspaceRelativePath(root2, file2);
|
|
616568
616645
|
const abs = resolveWorkspaceFile(root2, safeFile);
|
|
616569
|
-
const oldContent = existsSync86(abs) ?
|
|
616646
|
+
const oldContent = existsSync86(abs) ? readFileSync80(abs, "utf-8") : "";
|
|
616570
616647
|
const sorted = [...byFile.get(file2) ?? []].sort((a2, b) => b.start - a2.start);
|
|
616571
616648
|
const newContent = applyFileEdits(oldContent, sorted);
|
|
616572
616649
|
pieces.push(createTwoFilesPatch(`a/${file2}`, `b/${file2}`, oldContent, newContent, undefined, undefined, { context: 3 }));
|
|
@@ -616582,7 +616659,7 @@ function workspaceEditFromLsp(root2, lspEdit) {
|
|
|
616582
616659
|
const changes = "changes" in lspEdit && lspEdit.changes && typeof lspEdit.changes === "object" ? lspEdit.changes : {};
|
|
616583
616660
|
for (const [uri, textEdits] of Object.entries(changes)) {
|
|
616584
616661
|
const abs = uriToAbsolutePath(root2, uri);
|
|
616585
|
-
const content =
|
|
616662
|
+
const content = readFileSync80(abs, "utf-8");
|
|
616586
616663
|
const file2 = absoluteToRelative(root2, abs);
|
|
616587
616664
|
for (const raw of Array.isArray(textEdits) ? textEdits : []) {
|
|
616588
616665
|
const converted = lspTextEditToEdit(file2, content, raw);
|
|
@@ -616597,7 +616674,7 @@ function workspaceEditFromLsp(root2, lspEdit) {
|
|
|
616597
616674
|
if (!uri)
|
|
616598
616675
|
continue;
|
|
616599
616676
|
const abs = uriToAbsolutePath(root2, uri);
|
|
616600
|
-
const content =
|
|
616677
|
+
const content = readFileSync80(abs, "utf-8");
|
|
616601
616678
|
const file2 = absoluteToRelative(root2, abs);
|
|
616602
616679
|
const textEdits = "edits" in change && Array.isArray(change.edits) ? change.edits : [];
|
|
616603
616680
|
for (const raw of textEdits) {
|
|
@@ -616662,7 +616739,7 @@ var init_workspaceEdit = __esm(() => {
|
|
|
616662
616739
|
});
|
|
616663
616740
|
|
|
616664
616741
|
// src/services/repoEditing/ast/lspEditEngine.ts
|
|
616665
|
-
import { readFileSync as
|
|
616742
|
+
import { readFileSync as readFileSync81 } from "fs";
|
|
616666
616743
|
import { pathToFileURL as pathToFileURL8 } from "url";
|
|
616667
616744
|
async function getManager() {
|
|
616668
616745
|
if (!manager) {
|
|
@@ -616680,7 +616757,7 @@ async function shutdownLspManager() {
|
|
|
616680
616757
|
async function lspRename(root2, file2, line, column, newName) {
|
|
616681
616758
|
const mgr = await getManager();
|
|
616682
616759
|
const abs = resolveWorkspaceFile(root2, file2);
|
|
616683
|
-
const content =
|
|
616760
|
+
const content = readFileSync81(abs, "utf-8");
|
|
616684
616761
|
await mgr.openFile(abs, content);
|
|
616685
616762
|
const prepare = await mgr.sendRequest(abs, "textDocument/prepareRename", {
|
|
616686
616763
|
textDocument: { uri: pathToFileURL8(abs).href },
|
|
@@ -616705,7 +616782,7 @@ var init_lspEditEngine = __esm(() => {
|
|
|
616705
616782
|
|
|
616706
616783
|
// src/services/repoEditing/ast/typescriptEngine.ts
|
|
616707
616784
|
import { dirname as dirname78, join as join204, relative as relative50 } from "path";
|
|
616708
|
-
import { existsSync as existsSync87, readFileSync as
|
|
616785
|
+
import { existsSync as existsSync87, readFileSync as readFileSync82 } from "fs";
|
|
616709
616786
|
function loadProgram(root2, files) {
|
|
616710
616787
|
const configPath2 = import_typescript3.default.findConfigFile(root2, import_typescript3.default.sys.fileExists, "tsconfig.json");
|
|
616711
616788
|
let program;
|
|
@@ -616808,7 +616885,7 @@ function addOldText(root2, edits) {
|
|
|
616808
616885
|
let content = contentByFile.get(edit2.file);
|
|
616809
616886
|
if (content === undefined) {
|
|
616810
616887
|
const abs = resolveWorkspaceFile(root2, edit2.file);
|
|
616811
|
-
content = existsSync87(abs) ?
|
|
616888
|
+
content = existsSync87(abs) ? readFileSync82(abs, "utf-8") : "";
|
|
616812
616889
|
contentByFile.set(edit2.file, content);
|
|
616813
616890
|
}
|
|
616814
616891
|
return { ...edit2, oldText: content.slice(edit2.start, edit2.end) };
|
|
@@ -617023,7 +617100,7 @@ function tsOrganizeImports(ctx, options4) {
|
|
|
617023
617100
|
});
|
|
617024
617101
|
for (const file2 of files) {
|
|
617025
617102
|
const abs = resolveWorkspaceFile(root2, file2);
|
|
617026
|
-
const content =
|
|
617103
|
+
const content = readFileSync82(abs, "utf-8");
|
|
617027
617104
|
const changes = service.organizeImports({ type: "file", fileName: abs, mode: import_typescript3.default.OrganizeImportsMode.SortAndCombine }, {}, { organizeImportsIgnoreCase: "auto" });
|
|
617028
617105
|
for (const change of changes) {
|
|
617029
617106
|
const safeFile = workspaceRelativePath(root2, change.fileName);
|
|
@@ -617138,7 +617215,7 @@ var init_typescriptEngine = __esm(() => {
|
|
|
617138
617215
|
});
|
|
617139
617216
|
|
|
617140
617217
|
// src/services/repoEditing/ast/treeSitterEngine.ts
|
|
617141
|
-
import { readFileSync as
|
|
617218
|
+
import { readFileSync as readFileSync83 } from "fs";
|
|
617142
617219
|
function tryLoadNativeParser(language) {
|
|
617143
617220
|
try {
|
|
617144
617221
|
const Parser2 = __require(`@tree-sitter/${language}`);
|
|
@@ -617190,7 +617267,7 @@ function treeSitterRename(options4, language) {
|
|
|
617190
617267
|
const adapter2 = getAdapter3(language);
|
|
617191
617268
|
for (const file2 of files) {
|
|
617192
617269
|
const abs = file2.startsWith("/") ? file2 : `${root2}/${file2}`;
|
|
617193
|
-
const content =
|
|
617270
|
+
const content = readFileSync83(abs, "utf-8");
|
|
617194
617271
|
const tree = adapter2.parse(file2, content);
|
|
617195
617272
|
const identifiers = collectIdentifiers(tree, from, adapter2);
|
|
617196
617273
|
for (const node of identifiers) {
|
|
@@ -617984,7 +618061,7 @@ var init_cite2 = __esm(() => {
|
|
|
617984
618061
|
});
|
|
617985
618062
|
|
|
617986
618063
|
// src/ur/fileops.ts
|
|
617987
|
-
import { existsSync as existsSync89, mkdirSync as mkdirSync63, readdirSync as readdirSync32, readFileSync as
|
|
618064
|
+
import { existsSync as existsSync89, mkdirSync as mkdirSync63, readdirSync as readdirSync32, readFileSync as readFileSync84, statSync as statSync29, writeFileSync as writeFileSync63 } from "fs";
|
|
617988
618065
|
import { extname as extname21, isAbsolute as isAbsolute46, join as join205, relative as relative51, resolve as resolve67 } from "path";
|
|
617989
618066
|
function readFileSafe2(cwd2, target, maxBytes = 64000) {
|
|
617990
618067
|
const abs = isAbsolute46(target) ? target : resolve67(cwd2, target);
|
|
@@ -617996,7 +618073,7 @@ function readFileSafe2(cwd2, target, maxBytes = 64000) {
|
|
|
617996
618073
|
if (!isTextLike(abs))
|
|
617997
618074
|
return { ok: false, error: `not a text file (${extname21(abs) || "no ext"}). For images use /image, for video /video, for PDFs/docs ask UR to read it.` };
|
|
617998
618075
|
try {
|
|
617999
|
-
let content =
|
|
618076
|
+
let content = readFileSync84(abs, "utf8");
|
|
618000
618077
|
if (content.length > maxBytes)
|
|
618001
618078
|
content = content.slice(0, maxBytes) + `
|
|
618002
618079
|
\u2026 [truncated at ${maxBytes} bytes]`;
|
|
@@ -618038,7 +618115,7 @@ function searchFiles(cwd2, query2, maxResults = 60) {
|
|
|
618038
618115
|
continue;
|
|
618039
618116
|
let lines;
|
|
618040
618117
|
try {
|
|
618041
|
-
lines =
|
|
618118
|
+
lines = readFileSync84(join205(cwd2, rel), "utf8").split(`
|
|
618042
618119
|
`);
|
|
618043
618120
|
} catch {
|
|
618044
618121
|
continue;
|
|
@@ -618482,13 +618559,13 @@ var exports_mode = {};
|
|
|
618482
618559
|
__export(exports_mode, {
|
|
618483
618560
|
call: () => call122
|
|
618484
618561
|
});
|
|
618485
|
-
import { existsSync as existsSync92, mkdirSync as mkdirSync64, readFileSync as
|
|
618562
|
+
import { existsSync as existsSync92, mkdirSync as mkdirSync64, readFileSync as readFileSync85, writeFileSync as writeFileSync64 } from "fs";
|
|
618486
618563
|
import { join as join206 } from "path";
|
|
618487
618564
|
var MODES2, SECURITY_MODES2, file2 = (cwd2) => join206(cwd2, ".ur", "mode"), call122 = async (args) => {
|
|
618488
618565
|
const want = (args ?? "").trim().toLowerCase();
|
|
618489
618566
|
const f = file2(getCwd());
|
|
618490
618567
|
if (!want) {
|
|
618491
|
-
const cur = existsSync92(f) ?
|
|
618568
|
+
const cur = existsSync92(f) ? readFileSync85(f, "utf8").trim() : "code";
|
|
618492
618569
|
return { type: "text", value: `mode: ${cur}
|
|
618493
618570
|
available: ${MODES2.join(", ")}
|
|
618494
618571
|
security: ${SECURITY_MODES2.join(", ")}` };
|
|
@@ -618736,7 +618813,7 @@ var init_role_mode2 = __esm(() => {
|
|
|
618736
618813
|
});
|
|
618737
618814
|
|
|
618738
618815
|
// src/ur/researchGraph.ts
|
|
618739
|
-
import { appendFileSync as appendFileSync8, existsSync as existsSync94, mkdirSync as mkdirSync66, readFileSync as
|
|
618816
|
+
import { appendFileSync as appendFileSync8, existsSync as existsSync94, mkdirSync as mkdirSync66, readFileSync as readFileSync86 } from "fs";
|
|
618740
618817
|
import { dirname as dirname79, join as join208 } from "path";
|
|
618741
618818
|
function isEntity(s) {
|
|
618742
618819
|
return ENTITIES.includes(s);
|
|
@@ -618754,7 +618831,7 @@ function listEntity(cwd2, entity) {
|
|
|
618754
618831
|
if (!existsSync94(f))
|
|
618755
618832
|
return [];
|
|
618756
618833
|
const out = [];
|
|
618757
|
-
for (const line of
|
|
618834
|
+
for (const line of readFileSync86(f, "utf8").split(`
|
|
618758
618835
|
`).filter(Boolean)) {
|
|
618759
618836
|
try {
|
|
618760
618837
|
out.push(JSON.parse(line));
|
|
@@ -632572,7 +632649,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
|
|
|
632572
632649
|
smapsRollup,
|
|
632573
632650
|
platform: process.platform,
|
|
632574
632651
|
nodeVersion: process.version,
|
|
632575
|
-
ccVersion: "1.57.
|
|
632652
|
+
ccVersion: "1.57.2"
|
|
632576
632653
|
};
|
|
632577
632654
|
}
|
|
632578
632655
|
async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
|
|
@@ -633152,7 +633229,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
633152
633229
|
var call149 = async () => {
|
|
633153
633230
|
return {
|
|
633154
633231
|
type: "text",
|
|
633155
|
-
value: "1.57.
|
|
633232
|
+
value: "1.57.2"
|
|
633156
633233
|
};
|
|
633157
633234
|
}, version2, version_default;
|
|
633158
633235
|
var init_version = __esm(() => {
|
|
@@ -644223,7 +644300,7 @@ function generateHtmlReport(data, insights) {
|
|
|
644223
644300
|
</html>`;
|
|
644224
644301
|
}
|
|
644225
644302
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
644226
|
-
const version3 = typeof MACRO !== "undefined" ? "1.57.
|
|
644303
|
+
const version3 = typeof MACRO !== "undefined" ? "1.57.2" : "unknown";
|
|
644227
644304
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
644228
644305
|
const facets_summary = {
|
|
644229
644306
|
total: facets.size,
|
|
@@ -648526,7 +648603,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
648526
648603
|
init_settings2();
|
|
648527
648604
|
init_slowOperations();
|
|
648528
648605
|
init_uuid();
|
|
648529
|
-
VERSION7 = typeof MACRO !== "undefined" ? "1.57.
|
|
648606
|
+
VERSION7 = typeof MACRO !== "undefined" ? "1.57.2" : "unknown";
|
|
648530
648607
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
648531
648608
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
648532
648609
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -649741,7 +649818,7 @@ var init_filesystem = __esm(() => {
|
|
|
649741
649818
|
});
|
|
649742
649819
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
649743
649820
|
const nonce = randomBytes20(16).toString("hex");
|
|
649744
|
-
return join227(getURTempDir(), "bundled-skills", "1.57.
|
|
649821
|
+
return join227(getURTempDir(), "bundled-skills", "1.57.2", nonce);
|
|
649745
649822
|
});
|
|
649746
649823
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
649747
649824
|
});
|
|
@@ -656036,7 +656113,7 @@ function computeFingerprint(messageText2, version3) {
|
|
|
656036
656113
|
}
|
|
656037
656114
|
function computeFingerprintFromMessages(messages) {
|
|
656038
656115
|
const firstMessageText = extractFirstMessageText(messages);
|
|
656039
|
-
return computeFingerprint(firstMessageText, "1.57.
|
|
656116
|
+
return computeFingerprint(firstMessageText, "1.57.2");
|
|
656040
656117
|
}
|
|
656041
656118
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
656042
656119
|
var init_fingerprint = () => {};
|
|
@@ -657932,7 +658009,7 @@ async function sideQuery(opts) {
|
|
|
657932
658009
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
657933
658010
|
}
|
|
657934
658011
|
const messageText2 = extractFirstUserMessageText(messages);
|
|
657935
|
-
const fingerprint2 = computeFingerprint(messageText2, "1.57.
|
|
658012
|
+
const fingerprint2 = computeFingerprint(messageText2, "1.57.2");
|
|
657936
658013
|
const attributionHeader = getAttributionHeader(fingerprint2);
|
|
657937
658014
|
const systemBlocks = [
|
|
657938
658015
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -662703,7 +662780,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
662703
662780
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
662704
662781
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
662705
662782
|
betas: getSdkBetas(),
|
|
662706
|
-
ur_version: "1.57.
|
|
662783
|
+
ur_version: "1.57.2",
|
|
662707
662784
|
output_style: outputStyle2,
|
|
662708
662785
|
agents: inputs.agents.map((agent2) => agent2.agentType),
|
|
662709
662786
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
|
|
@@ -676563,7 +676640,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
676563
676640
|
function getSemverPart(version3) {
|
|
676564
676641
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
676565
676642
|
}
|
|
676566
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.57.
|
|
676643
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.57.2") {
|
|
676567
676644
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react222.useState(() => getSemverPart(initialVersion));
|
|
676568
676645
|
if (!updatedVersion) {
|
|
676569
676646
|
return null;
|
|
@@ -676612,7 +676689,7 @@ function AutoUpdater({
|
|
|
676612
676689
|
return;
|
|
676613
676690
|
}
|
|
676614
676691
|
if (false) {}
|
|
676615
|
-
const currentVersion = "1.57.
|
|
676692
|
+
const currentVersion = "1.57.2";
|
|
676616
676693
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
676617
676694
|
let latestVersion = await getLatestVersion(channel);
|
|
676618
676695
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -676841,12 +676918,12 @@ function NativeAutoUpdater({
|
|
|
676841
676918
|
logEvent("tengu_native_auto_updater_start", {});
|
|
676842
676919
|
try {
|
|
676843
676920
|
const maxVersion = await getMaxVersion();
|
|
676844
|
-
if (maxVersion && gt("1.57.
|
|
676921
|
+
if (maxVersion && gt("1.57.2", maxVersion)) {
|
|
676845
676922
|
const msg = await getMaxVersionMessage();
|
|
676846
676923
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
676847
676924
|
}
|
|
676848
676925
|
const result = await installLatest(channel);
|
|
676849
|
-
const currentVersion = "1.57.
|
|
676926
|
+
const currentVersion = "1.57.2";
|
|
676850
676927
|
const latencyMs = Date.now() - startTime;
|
|
676851
676928
|
if (result.lockFailed) {
|
|
676852
676929
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -676983,17 +677060,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
676983
677060
|
const maxVersion = await getMaxVersion();
|
|
676984
677061
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
676985
677062
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
676986
|
-
if (gte("1.57.
|
|
676987
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.57.
|
|
677063
|
+
if (gte("1.57.2", maxVersion)) {
|
|
677064
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.57.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
676988
677065
|
setUpdateAvailable(false);
|
|
676989
677066
|
return;
|
|
676990
677067
|
}
|
|
676991
677068
|
latest = maxVersion;
|
|
676992
677069
|
}
|
|
676993
|
-
const hasUpdate = latest && !gte("1.57.
|
|
677070
|
+
const hasUpdate = latest && !gte("1.57.2", latest) && !shouldSkipVersion(latest);
|
|
676994
677071
|
setUpdateAvailable(!!hasUpdate);
|
|
676995
677072
|
if (hasUpdate) {
|
|
676996
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.57.
|
|
677073
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.57.2"} -> ${latest}`);
|
|
676997
677074
|
}
|
|
676998
677075
|
};
|
|
676999
677076
|
$2[0] = t1;
|
|
@@ -677027,7 +677104,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
677027
677104
|
wrap: "truncate",
|
|
677028
677105
|
children: [
|
|
677029
677106
|
"currentVersion: ",
|
|
677030
|
-
"1.57.
|
|
677107
|
+
"1.57.2"
|
|
677031
677108
|
]
|
|
677032
677109
|
}, undefined, true, undefined, this);
|
|
677033
677110
|
$2[3] = verbose;
|
|
@@ -687724,7 +687801,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
687724
687801
|
project_dir: getOriginalCwd(),
|
|
687725
687802
|
added_dirs: addedDirs
|
|
687726
687803
|
},
|
|
687727
|
-
version: "1.57.
|
|
687804
|
+
version: "1.57.2",
|
|
687728
687805
|
output_style: {
|
|
687729
687806
|
name: outputStyleName
|
|
687730
687807
|
},
|
|
@@ -687807,7 +687884,7 @@ function StatusLineInner({
|
|
|
687807
687884
|
const taskValues = Object.values(tasks2);
|
|
687808
687885
|
const taskRunningCount = taskValues.filter((task2) => task2.status === "running" || task2.status === "pending").length;
|
|
687809
687886
|
const defaultStatusLineText = buildDefaultStatusBar({
|
|
687810
|
-
version: "1.57.
|
|
687887
|
+
version: "1.57.2",
|
|
687811
687888
|
providerLabel: providerRuntime.providerLabel,
|
|
687812
687889
|
authMode: providerRuntime.authLabel,
|
|
687813
687890
|
model: providerRuntime.model ?? renderModelName(mainLoopModel),
|
|
@@ -699950,7 +700027,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
|
|
|
699950
700027
|
} catch {}
|
|
699951
700028
|
const data = {
|
|
699952
700029
|
trigger: trigger2,
|
|
699953
|
-
version: "1.57.
|
|
700030
|
+
version: "1.57.2",
|
|
699954
700031
|
platform: process.platform,
|
|
699955
700032
|
transcript,
|
|
699956
700033
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -712230,7 +712307,7 @@ function WelcomeV2() {
|
|
|
712230
712307
|
dimColor: true,
|
|
712231
712308
|
children: [
|
|
712232
712309
|
"v",
|
|
712233
|
-
"1.57.
|
|
712310
|
+
"1.57.2"
|
|
712234
712311
|
]
|
|
712235
712312
|
}, undefined, true, undefined, this)
|
|
712236
712313
|
]
|
|
@@ -713490,7 +713567,7 @@ function completeOnboarding() {
|
|
|
713490
713567
|
saveGlobalConfig((current) => ({
|
|
713491
713568
|
...current,
|
|
713492
713569
|
hasCompletedOnboarding: true,
|
|
713493
|
-
lastOnboardingVersion: "1.57.
|
|
713570
|
+
lastOnboardingVersion: "1.57.2"
|
|
713494
713571
|
}));
|
|
713495
713572
|
}
|
|
713496
713573
|
function showDialog(root2, renderer) {
|
|
@@ -718534,7 +718611,7 @@ function appendToLog(path24, message) {
|
|
|
718534
718611
|
cwd: getFsImplementation().cwd(),
|
|
718535
718612
|
userType: process.env.USER_TYPE,
|
|
718536
718613
|
sessionId: getSessionId(),
|
|
718537
|
-
version: "1.57.
|
|
718614
|
+
version: "1.57.2"
|
|
718538
718615
|
};
|
|
718539
718616
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
718540
718617
|
}
|
|
@@ -722693,8 +722770,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
722693
722770
|
}
|
|
722694
722771
|
async function checkEnvLessBridgeMinVersion() {
|
|
722695
722772
|
const cfg = await getEnvLessBridgeConfig();
|
|
722696
|
-
if (cfg.min_version && lt("1.57.
|
|
722697
|
-
return `Your version of UR (${"1.57.
|
|
722773
|
+
if (cfg.min_version && lt("1.57.2", cfg.min_version)) {
|
|
722774
|
+
return `Your version of UR (${"1.57.2"}) is too old for Remote Control.
|
|
722698
722775
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
722699
722776
|
}
|
|
722700
722777
|
return null;
|
|
@@ -723168,7 +723245,7 @@ async function initBridgeCore(params) {
|
|
|
723168
723245
|
const rawApi = createBridgeApiClient({
|
|
723169
723246
|
baseUrl,
|
|
723170
723247
|
getAccessToken,
|
|
723171
|
-
runnerVersion: "1.57.
|
|
723248
|
+
runnerVersion: "1.57.2",
|
|
723172
723249
|
onDebug: logForDebugging,
|
|
723173
723250
|
onAuth401,
|
|
723174
723251
|
getTrustedDeviceToken
|
|
@@ -732640,7 +732717,7 @@ function getAgUiCapabilities() {
|
|
|
732640
732717
|
name: "UR-Nexus",
|
|
732641
732718
|
type: "ur-nexus",
|
|
732642
732719
|
description: "Provider-flexible, local-first autonomous engineering workflow agent.",
|
|
732643
|
-
version: "1.57.
|
|
732720
|
+
version: "1.57.2",
|
|
732644
732721
|
provider: "UR",
|
|
732645
732722
|
documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
|
|
732646
732723
|
},
|
|
@@ -733780,7 +733857,7 @@ function createMCPServer(cwd4, debug2, verbose) {
|
|
|
733780
733857
|
};
|
|
733781
733858
|
const server2 = new Server({
|
|
733782
733859
|
name: "ur-nexus",
|
|
733783
|
-
version: "1.57.
|
|
733860
|
+
version: "1.57.2"
|
|
733784
733861
|
}, {
|
|
733785
733862
|
capabilities: {
|
|
733786
733863
|
tools: {}
|
|
@@ -733934,7 +734011,7 @@ import {
|
|
|
733934
734011
|
lstatSync as lstatSync19,
|
|
733935
734012
|
mkdirSync as mkdirSync69,
|
|
733936
734013
|
openSync as openSync12,
|
|
733937
|
-
readFileSync as
|
|
734014
|
+
readFileSync as readFileSync87,
|
|
733938
734015
|
renameSync as renameSync15,
|
|
733939
734016
|
statSync as statSync31,
|
|
733940
734017
|
unlinkSync as unlinkSync15,
|
|
@@ -734044,7 +734121,7 @@ class DurableMcp2026TaskStore {
|
|
|
734044
734121
|
quarantineTaskManifest(path24);
|
|
734045
734122
|
return { version: TASK_MANIFEST_VERSION, tasks: [] };
|
|
734046
734123
|
}
|
|
734047
|
-
const parsed = JSON.parse(
|
|
734124
|
+
const parsed = JSON.parse(readFileSync87(path24, "utf8"));
|
|
734048
734125
|
if (!isRecord6(parsed) || parsed.version !== TASK_MANIFEST_VERSION || !Array.isArray(parsed.tasks)) {
|
|
734049
734126
|
quarantineTaskManifest(path24);
|
|
734050
734127
|
return { version: TASK_MANIFEST_VERSION, tasks: [] };
|
|
@@ -734938,7 +735015,7 @@ function thrownResponse(error40) {
|
|
|
734938
735015
|
}
|
|
734939
735016
|
async function createUrMcp2026Runtime(options4) {
|
|
734940
735017
|
const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
|
|
734941
|
-
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.57.
|
|
735018
|
+
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.57.2" }, { capabilities: {} });
|
|
734942
735019
|
const [clientTransport, serverTransport] = createLinkedTransportPair();
|
|
734943
735020
|
try {
|
|
734944
735021
|
await server2.connect(serverTransport);
|
|
@@ -734949,7 +735026,7 @@ async function createUrMcp2026Runtime(options4) {
|
|
|
734949
735026
|
}
|
|
734950
735027
|
const runtime2 = new Mcp2026Runtime({
|
|
734951
735028
|
cwd: options4.cwd,
|
|
734952
|
-
version: "1.57.
|
|
735029
|
+
version: "1.57.2",
|
|
734953
735030
|
backend: {
|
|
734954
735031
|
listTools: async () => {
|
|
734955
735032
|
const listed = await client2.listTools();
|
|
@@ -735752,7 +735829,7 @@ var init_providers2 = __esm(() => {
|
|
|
735752
735829
|
});
|
|
735753
735830
|
|
|
735754
735831
|
// src/utils/plugins/pluginDoctor.ts
|
|
735755
|
-
import { existsSync as existsSync99, readdirSync as readdirSync34, readFileSync as
|
|
735832
|
+
import { existsSync as existsSync99, readdirSync as readdirSync34, readFileSync as readFileSync88, statSync as statSync32 } from "fs";
|
|
735756
735833
|
import { basename as basename68, join as join247 } from "path";
|
|
735757
735834
|
function manifestPathFor2(dir) {
|
|
735758
735835
|
const p2 = join247(dir, ".ur-plugin", "plugin.json");
|
|
@@ -735807,7 +735884,7 @@ function doctorPluginDir(dir) {
|
|
|
735807
735884
|
}
|
|
735808
735885
|
let parsed;
|
|
735809
735886
|
try {
|
|
735810
|
-
parsed = JSON.parse(
|
|
735887
|
+
parsed = JSON.parse(readFileSync88(manifestPath6, "utf8"));
|
|
735811
735888
|
} catch (error40) {
|
|
735812
735889
|
return {
|
|
735813
735890
|
name: basename68(dir),
|
|
@@ -737082,7 +737159,7 @@ async function update() {
|
|
|
737082
737159
|
logEvent("tengu_update_check", {});
|
|
737083
737160
|
const diagnostic2 = await getDoctorDiagnostic();
|
|
737084
737161
|
const result = await checkUpgradeStatus({
|
|
737085
|
-
currentVersion: "1.57.
|
|
737162
|
+
currentVersion: "1.57.2",
|
|
737086
737163
|
packageName: UR_AGENT_PACKAGE_NAME,
|
|
737087
737164
|
installationType: diagnostic2.installationType,
|
|
737088
737165
|
latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
|
|
@@ -737109,7 +737186,7 @@ __export(exports_main, {
|
|
|
737109
737186
|
startDeferredPrefetches: () => startDeferredPrefetches,
|
|
737110
737187
|
main: () => main
|
|
737111
737188
|
});
|
|
737112
|
-
import { readFileSync as
|
|
737189
|
+
import { readFileSync as readFileSync89 } from "fs";
|
|
737113
737190
|
import { resolve as resolve73 } from "path";
|
|
737114
737191
|
function logManagedSettings() {
|
|
737115
737192
|
try {
|
|
@@ -737265,7 +737342,7 @@ function loadSettingsFromFlag(settingsFile) {
|
|
|
737265
737342
|
resolvedPath: resolvedSettingsPath
|
|
737266
737343
|
} = safeResolvePath(getFsImplementation(), settingsFile);
|
|
737267
737344
|
try {
|
|
737268
|
-
|
|
737345
|
+
readFileSync89(resolvedSettingsPath, "utf8");
|
|
737269
737346
|
} catch (e) {
|
|
737270
737347
|
if (isENOENT(e)) {
|
|
737271
737348
|
process.stderr.write(source_default.red(`Error: Settings file not found: ${resolvedSettingsPath}
|
|
@@ -737684,7 +737761,7 @@ ${getTmuxInstallInstructions2()}
|
|
|
737684
737761
|
}
|
|
737685
737762
|
try {
|
|
737686
737763
|
const filePath = resolve73(options4.systemPromptFile);
|
|
737687
|
-
systemPrompt =
|
|
737764
|
+
systemPrompt = readFileSync89(filePath, "utf8");
|
|
737688
737765
|
} catch (error40) {
|
|
737689
737766
|
const code = getErrnoCode(error40);
|
|
737690
737767
|
if (code === "ENOENT") {
|
|
@@ -737706,7 +737783,7 @@ ${getTmuxInstallInstructions2()}
|
|
|
737706
737783
|
}
|
|
737707
737784
|
try {
|
|
737708
737785
|
const filePath = resolve73(options4.appendSystemPromptFile);
|
|
737709
|
-
appendSystemPrompt =
|
|
737786
|
+
appendSystemPrompt = readFileSync89(filePath, "utf8");
|
|
737710
737787
|
} catch (error40) {
|
|
737711
737788
|
const code = getErrnoCode(error40);
|
|
737712
737789
|
if (code === "ENOENT") {
|
|
@@ -738398,7 +738475,7 @@ ${customInstructions}` : customInstructions;
|
|
|
738398
738475
|
}
|
|
738399
738476
|
}
|
|
738400
738477
|
logForDiagnosticsNoPII("info", "started", {
|
|
738401
|
-
version: "1.57.
|
|
738478
|
+
version: "1.57.2",
|
|
738402
738479
|
is_native_binary: isInBundledMode()
|
|
738403
738480
|
});
|
|
738404
738481
|
registerCleanup(async () => {
|
|
@@ -739184,7 +739261,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
739184
739261
|
pendingHookMessages
|
|
739185
739262
|
}, renderAndRun);
|
|
739186
739263
|
}
|
|
739187
|
-
}).version("1.57.
|
|
739264
|
+
}).version("1.57.2 (UR-Nexus)", "-v, --version", "Output the version number");
|
|
739188
739265
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
739189
739266
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
739190
739267
|
if (canUserConfigureAdvisor()) {
|
|
@@ -740219,7 +740296,7 @@ if (false) {}
|
|
|
740219
740296
|
async function main2() {
|
|
740220
740297
|
const args = process.argv.slice(2);
|
|
740221
740298
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
740222
|
-
console.log(`${"1.57.
|
|
740299
|
+
console.log(`${"1.57.2"} (UR-Nexus)`);
|
|
740223
740300
|
return;
|
|
740224
740301
|
}
|
|
740225
740302
|
if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
|