ur-agent 1.57.0 → 1.57.1
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
|
@@ -75097,7 +75097,7 @@ var init_auth = __esm(() => {
|
|
|
75097
75097
|
|
|
75098
75098
|
// src/utils/userAgent.ts
|
|
75099
75099
|
function getURCodeUserAgent() {
|
|
75100
|
-
return `ur/${"1.57.
|
|
75100
|
+
return `ur/${"1.57.1"}`;
|
|
75101
75101
|
}
|
|
75102
75102
|
|
|
75103
75103
|
// src/utils/workloadContext.ts
|
|
@@ -75119,7 +75119,7 @@ function getUserAgent() {
|
|
|
75119
75119
|
const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
|
|
75120
75120
|
const workload = getWorkload();
|
|
75121
75121
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
75122
|
-
return `ur-cli/${"1.57.
|
|
75122
|
+
return `ur-cli/${"1.57.1"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
75123
75123
|
}
|
|
75124
75124
|
function getMCPUserAgent() {
|
|
75125
75125
|
const parts = [];
|
|
@@ -75133,7 +75133,7 @@ function getMCPUserAgent() {
|
|
|
75133
75133
|
parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
|
|
75134
75134
|
}
|
|
75135
75135
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
75136
|
-
return `ur/${"1.57.
|
|
75136
|
+
return `ur/${"1.57.1"}${suffix}`;
|
|
75137
75137
|
}
|
|
75138
75138
|
function getWebFetchUserAgent() {
|
|
75139
75139
|
return `UR-User (${getURCodeUserAgent()})`;
|
|
@@ -75271,7 +75271,7 @@ var init_user = __esm(() => {
|
|
|
75271
75271
|
deviceId,
|
|
75272
75272
|
sessionId: getSessionId(),
|
|
75273
75273
|
email: getEmail(),
|
|
75274
|
-
appVersion: "1.57.
|
|
75274
|
+
appVersion: "1.57.1",
|
|
75275
75275
|
platform: getHostPlatformForAnalytics(),
|
|
75276
75276
|
organizationUuid,
|
|
75277
75277
|
accountUuid,
|
|
@@ -83471,7 +83471,7 @@ var init_metadata = __esm(() => {
|
|
|
83471
83471
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
83472
83472
|
WHITESPACE_REGEX = /\s+/;
|
|
83473
83473
|
getVersionBase = memoize_default(() => {
|
|
83474
|
-
const match = "1.57.
|
|
83474
|
+
const match = "1.57.1".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
83475
83475
|
return match ? match[0] : undefined;
|
|
83476
83476
|
});
|
|
83477
83477
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -83511,7 +83511,7 @@ var init_metadata = __esm(() => {
|
|
|
83511
83511
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
83512
83512
|
isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
|
|
83513
83513
|
isURAiAuth: isURAISubscriber(),
|
|
83514
|
-
version: "1.57.
|
|
83514
|
+
version: "1.57.1",
|
|
83515
83515
|
versionBase: getVersionBase(),
|
|
83516
83516
|
buildTime: "",
|
|
83517
83517
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
@@ -84181,7 +84181,7 @@ function initialize1PEventLogging() {
|
|
|
84181
84181
|
const platform2 = getPlatform();
|
|
84182
84182
|
const attributes = {
|
|
84183
84183
|
[import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
|
|
84184
|
-
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.57.
|
|
84184
|
+
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.57.1"
|
|
84185
84185
|
};
|
|
84186
84186
|
if (platform2 === "wsl") {
|
|
84187
84187
|
const wslVersion = getWslVersion();
|
|
@@ -84209,7 +84209,7 @@ function initialize1PEventLogging() {
|
|
|
84209
84209
|
})
|
|
84210
84210
|
]
|
|
84211
84211
|
});
|
|
84212
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.57.
|
|
84212
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.57.1");
|
|
84213
84213
|
}
|
|
84214
84214
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
84215
84215
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -94048,7 +94048,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
|
|
|
94048
94048
|
function formatA2AAgentCard(options = {}, pretty = true) {
|
|
94049
94049
|
return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
|
|
94050
94050
|
}
|
|
94051
|
-
var urVersion = "1.57.
|
|
94051
|
+
var urVersion = "1.57.1", researchSnapshotDate = "2026-07-15", coverage, priorityRoadmap;
|
|
94052
94052
|
var init_trends = __esm(() => {
|
|
94053
94053
|
init_a2aCardSignature();
|
|
94054
94054
|
coverage = [
|
|
@@ -96849,7 +96849,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
96849
96849
|
if (!isAttributionHeaderEnabled()) {
|
|
96850
96850
|
return "";
|
|
96851
96851
|
}
|
|
96852
|
-
const version2 = `${"1.57.
|
|
96852
|
+
const version2 = `${"1.57.1"}.${fingerprint}`;
|
|
96853
96853
|
const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
|
|
96854
96854
|
const cch = "";
|
|
96855
96855
|
const workload = getWorkload();
|
|
@@ -154438,7 +154438,7 @@ var init_projectSafety = __esm(() => {
|
|
|
154438
154438
|
function getInstruments() {
|
|
154439
154439
|
if (instruments)
|
|
154440
154440
|
return instruments;
|
|
154441
|
-
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.57.
|
|
154441
|
+
const meter = import_api10.metrics.getMeter("ur-agent.gen_ai", "1.57.1");
|
|
154442
154442
|
instruments = {
|
|
154443
154443
|
operationDuration: meter.createHistogram("gen_ai.client.operation.duration", {
|
|
154444
154444
|
description: "GenAI operation duration.",
|
|
@@ -154536,7 +154536,7 @@ function genAiAgentAttributes() {
|
|
|
154536
154536
|
"gen_ai.operation.name": GEN_AI_OPERATION_INVOKE_AGENT,
|
|
154537
154537
|
"gen_ai.provider.name": "ur",
|
|
154538
154538
|
"gen_ai.agent.name": "UR-Nexus",
|
|
154539
|
-
"gen_ai.agent.version": "1.57.
|
|
154539
|
+
"gen_ai.agent.version": "1.57.1"
|
|
154540
154540
|
};
|
|
154541
154541
|
}
|
|
154542
154542
|
function genAiWorkflowAttributes(workflowName) {
|
|
@@ -154552,7 +154552,7 @@ function genAiWorkflowAttributes(workflowName) {
|
|
|
154552
154552
|
function startGenAiWorkflowSpan(workflowName) {
|
|
154553
154553
|
const attributes = genAiWorkflowAttributes(workflowName);
|
|
154554
154554
|
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.
|
|
154555
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.57.1").startSpan(name, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
154556
154556
|
}
|
|
154557
154557
|
function endGenAiWorkflowSpan(span, options2 = {}) {
|
|
154558
154558
|
try {
|
|
@@ -154590,7 +154590,7 @@ function startGenAiMemorySpan(operation, options2 = {}) {
|
|
|
154590
154590
|
if (options2.recordCount !== undefined && Number.isInteger(options2.recordCount) && options2.recordCount >= 0) {
|
|
154591
154591
|
attributes["gen_ai.memory.record.count"] = options2.recordCount;
|
|
154592
154592
|
}
|
|
154593
|
-
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.57.
|
|
154593
|
+
return import_api10.trace.getTracer("ur-agent.gen_ai", "1.57.1").startSpan(operation, { kind: import_api10.SpanKind.INTERNAL, attributes });
|
|
154594
154594
|
}
|
|
154595
154595
|
function endGenAiMemorySpan(span, options2 = {}) {
|
|
154596
154596
|
try {
|
|
@@ -206109,7 +206109,7 @@ function getTelemetryAttributes() {
|
|
|
206109
206109
|
attributes["session.id"] = sessionId;
|
|
206110
206110
|
}
|
|
206111
206111
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
206112
|
-
attributes["app.version"] = "1.57.
|
|
206112
|
+
attributes["app.version"] = "1.57.1";
|
|
206113
206113
|
}
|
|
206114
206114
|
const oauthAccount = getOauthAccountInfo();
|
|
206115
206115
|
if (oauthAccount) {
|
|
@@ -241676,7 +241676,7 @@ function getInstallationEnv() {
|
|
|
241676
241676
|
return;
|
|
241677
241677
|
}
|
|
241678
241678
|
function getURCodeVersion() {
|
|
241679
|
-
return "1.57.
|
|
241679
|
+
return "1.57.1";
|
|
241680
241680
|
}
|
|
241681
241681
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
241682
241682
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -249007,7 +249007,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
249007
249007
|
const client2 = new Client({
|
|
249008
249008
|
name: "ur",
|
|
249009
249009
|
title: "UR",
|
|
249010
|
-
version: "1.57.
|
|
249010
|
+
version: "1.57.1",
|
|
249011
249011
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
249012
249012
|
websiteUrl: PRODUCT_URL
|
|
249013
249013
|
}, {
|
|
@@ -249367,7 +249367,7 @@ var init_client5 = __esm(() => {
|
|
|
249367
249367
|
const client2 = new Client({
|
|
249368
249368
|
name: "ur",
|
|
249369
249369
|
title: "UR",
|
|
249370
|
-
version: "1.57.
|
|
249370
|
+
version: "1.57.1",
|
|
249371
249371
|
description: "UR-Nexus autonomous engineering workflow engine",
|
|
249372
249372
|
websiteUrl: PRODUCT_URL
|
|
249373
249373
|
}, {
|
|
@@ -261968,7 +261968,7 @@ async function createRuntime() {
|
|
|
261968
261968
|
bootstrapTelemetry();
|
|
261969
261969
|
const resource = defaultResource().merge(detectResources({ detectors: [envDetector] })).merge(resourceFromAttributes({
|
|
261970
261970
|
[import_semantic_conventions7.ATTR_SERVICE_NAME]: "ur-agent",
|
|
261971
|
-
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.57.
|
|
261971
|
+
[import_semantic_conventions7.ATTR_SERVICE_VERSION]: "1.57.1"
|
|
261972
261972
|
}));
|
|
261973
261973
|
const tracerProvider = exporters.traces.length > 0 ? new BasicTracerProvider({
|
|
261974
261974
|
resource,
|
|
@@ -262001,11 +262001,11 @@ async function createRuntime() {
|
|
|
262001
262001
|
setMeterProvider(meterProvider);
|
|
262002
262002
|
setLoggerProvider(loggerProvider);
|
|
262003
262003
|
if (meterProvider) {
|
|
262004
|
-
const meter = meterProvider.getMeter("ur-agent", "1.57.
|
|
262004
|
+
const meter = meterProvider.getMeter("ur-agent", "1.57.1");
|
|
262005
262005
|
setMeter(meter, (name, options2) => meter.createCounter(name, options2));
|
|
262006
262006
|
}
|
|
262007
262007
|
if (loggerProvider) {
|
|
262008
|
-
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.57.
|
|
262008
|
+
setEventLogger(loggerProvider.getLogger("ur-agent.events", "1.57.1"));
|
|
262009
262009
|
}
|
|
262010
262010
|
if (!cleanupRegistered2) {
|
|
262011
262011
|
cleanupRegistered2 = true;
|
|
@@ -262667,9 +262667,9 @@ async function assertMinVersion() {
|
|
|
262667
262667
|
if (false) {}
|
|
262668
262668
|
try {
|
|
262669
262669
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
262670
|
-
if (versionConfig.minVersion && lt("1.57.
|
|
262670
|
+
if (versionConfig.minVersion && lt("1.57.1", versionConfig.minVersion)) {
|
|
262671
262671
|
console.error(`
|
|
262672
|
-
It looks like your version of UR (${"1.57.
|
|
262672
|
+
It looks like your version of UR (${"1.57.1"}) needs an update.
|
|
262673
262673
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
262674
262674
|
|
|
262675
262675
|
To update, please run:
|
|
@@ -262885,7 +262885,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
262885
262885
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
262886
262886
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
262887
262887
|
pid: process.pid,
|
|
262888
|
-
currentVersion: "1.57.
|
|
262888
|
+
currentVersion: "1.57.1"
|
|
262889
262889
|
});
|
|
262890
262890
|
return "in_progress";
|
|
262891
262891
|
}
|
|
@@ -262894,7 +262894,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
262894
262894
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
262895
262895
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
262896
262896
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
262897
|
-
currentVersion: "1.57.
|
|
262897
|
+
currentVersion: "1.57.1"
|
|
262898
262898
|
});
|
|
262899
262899
|
console.error(`
|
|
262900
262900
|
Error: Windows NPM detected in WSL
|
|
@@ -263429,7 +263429,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
263429
263429
|
}
|
|
263430
263430
|
async function getDoctorDiagnostic() {
|
|
263431
263431
|
const installationType = await getCurrentInstallationType();
|
|
263432
|
-
const version2 = typeof MACRO !== "undefined" ? "1.57.
|
|
263432
|
+
const version2 = typeof MACRO !== "undefined" ? "1.57.1" : "unknown";
|
|
263433
263433
|
const installationPath = await getInstallationPath();
|
|
263434
263434
|
const invokedBinary = getInvokedBinary();
|
|
263435
263435
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -264364,8 +264364,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
264364
264364
|
const maxVersion = await getMaxVersion();
|
|
264365
264365
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
264366
264366
|
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.
|
|
264367
|
+
if (gte("1.57.1", maxVersion)) {
|
|
264368
|
+
logForDebugging(`Native installer: current version ${"1.57.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
264369
264369
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
264370
264370
|
latency_ms: Date.now() - startTime,
|
|
264371
264371
|
max_version: maxVersion,
|
|
@@ -264376,7 +264376,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
264376
264376
|
version2 = maxVersion;
|
|
264377
264377
|
}
|
|
264378
264378
|
}
|
|
264379
|
-
if (!forceReinstall && version2 === "1.57.
|
|
264379
|
+
if (!forceReinstall && version2 === "1.57.1" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
|
|
264380
264380
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
264381
264381
|
logEvent("tengu_native_update_complete", {
|
|
264382
264382
|
latency_ms: Date.now() - startTime,
|
|
@@ -314147,7 +314147,7 @@ var init_UI13 = __esm(() => {
|
|
|
314147
314147
|
});
|
|
314148
314148
|
|
|
314149
314149
|
// src/tools/ComputerTool/ComputerTool.tsx
|
|
314150
|
-
import { existsSync as existsSync23, statSync as statSync12 } from "fs";
|
|
314150
|
+
import { existsSync as existsSync23, readFileSync as readFileSync27, statSync as statSync12 } from "fs";
|
|
314151
314151
|
import { tmpdir as tmpdir8 } from "os";
|
|
314152
314152
|
import { join as join100 } from "path";
|
|
314153
314153
|
function supportedPlatform() {
|
|
@@ -314181,6 +314181,7 @@ var init_ComputerTool = __esm(() => {
|
|
|
314181
314181
|
init_v4();
|
|
314182
314182
|
init_Tool();
|
|
314183
314183
|
init_execFileNoThrow();
|
|
314184
|
+
init_imageResizer();
|
|
314184
314185
|
init_UI13();
|
|
314185
314186
|
inputSchema17 = lazySchema(() => exports_external.object({
|
|
314186
314187
|
action: exports_external.enum(["screenshot", "click", "type"]).describe("What to do: read the screen, click a point, or type text"),
|
|
@@ -314193,7 +314194,9 @@ var init_ComputerTool = __esm(() => {
|
|
|
314193
314194
|
action: exports_external.string(),
|
|
314194
314195
|
ok: exports_external.boolean(),
|
|
314195
314196
|
detail: exports_external.string(),
|
|
314196
|
-
screenshotPath: exports_external.string().optional()
|
|
314197
|
+
screenshotPath: exports_external.string().optional(),
|
|
314198
|
+
imageBase64: exports_external.string().optional(),
|
|
314199
|
+
imageMediaType: exports_external.string().optional()
|
|
314197
314200
|
}));
|
|
314198
314201
|
ComputerTool = buildTool({
|
|
314199
314202
|
name: COMPUTER_TOOL_NAME,
|
|
@@ -314290,14 +314293,30 @@ var init_ComputerTool = __esm(() => {
|
|
|
314290
314293
|
}
|
|
314291
314294
|
};
|
|
314292
314295
|
}
|
|
314293
|
-
|
|
314294
|
-
|
|
314295
|
-
|
|
314296
|
-
|
|
314297
|
-
|
|
314298
|
-
|
|
314299
|
-
|
|
314300
|
-
|
|
314296
|
+
const bytes = statSync12(path13).size;
|
|
314297
|
+
try {
|
|
314298
|
+
const raw = readFileSync27(path13);
|
|
314299
|
+
const resized = await maybeResizeAndDownsampleImageBuffer(raw, bytes, "png");
|
|
314300
|
+
return {
|
|
314301
|
+
data: {
|
|
314302
|
+
action: "screenshot",
|
|
314303
|
+
ok: true,
|
|
314304
|
+
detail: `Captured ${bytes} bytes`,
|
|
314305
|
+
screenshotPath: path13,
|
|
314306
|
+
imageBase64: resized.buffer.toString("base64"),
|
|
314307
|
+
imageMediaType: `image/${resized.mediaType}`
|
|
314308
|
+
}
|
|
314309
|
+
};
|
|
314310
|
+
} catch (error42) {
|
|
314311
|
+
return {
|
|
314312
|
+
data: {
|
|
314313
|
+
action: "screenshot",
|
|
314314
|
+
ok: true,
|
|
314315
|
+
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.",
|
|
314316
|
+
screenshotPath: path13
|
|
314317
|
+
}
|
|
314318
|
+
};
|
|
314319
|
+
}
|
|
314301
314320
|
}
|
|
314302
314321
|
if (input.action === "click") {
|
|
314303
314322
|
const point = { x: input.x ?? Number.NaN, y: input.y ?? Number.NaN };
|
|
@@ -314348,7 +314367,25 @@ var init_ComputerTool = __esm(() => {
|
|
|
314348
314367
|
}
|
|
314349
314368
|
};
|
|
314350
314369
|
},
|
|
314351
|
-
mapToolResultToToolResultBlockParam(
|
|
314370
|
+
mapToolResultToToolResultBlockParam(data, toolUseID) {
|
|
314371
|
+
const { action: action2, ok, detail, imageBase64, imageMediaType } = data;
|
|
314372
|
+
if (imageBase64 && imageMediaType) {
|
|
314373
|
+
return {
|
|
314374
|
+
tool_use_id: toolUseID,
|
|
314375
|
+
type: "tool_result",
|
|
314376
|
+
content: [
|
|
314377
|
+
{ type: "text", text: `${action2}: ${detail}` },
|
|
314378
|
+
{
|
|
314379
|
+
type: "image",
|
|
314380
|
+
source: {
|
|
314381
|
+
type: "base64",
|
|
314382
|
+
data: imageBase64,
|
|
314383
|
+
media_type: imageMediaType
|
|
314384
|
+
}
|
|
314385
|
+
}
|
|
314386
|
+
]
|
|
314387
|
+
};
|
|
314388
|
+
}
|
|
314352
314389
|
return {
|
|
314353
314390
|
tool_use_id: toolUseID,
|
|
314354
314391
|
type: "tool_result",
|
|
@@ -316057,13 +316094,13 @@ var init_DockerTool = __esm(() => {
|
|
|
316057
316094
|
});
|
|
316058
316095
|
|
|
316059
316096
|
// src/tools/TestRunnerTool/TestRunnerTool.ts
|
|
316060
|
-
import { existsSync as existsSync25, readFileSync as
|
|
316097
|
+
import { existsSync as existsSync25, readFileSync as readFileSync28 } from "fs";
|
|
316061
316098
|
import { join as join102 } from "path";
|
|
316062
316099
|
function detectTestCommand(cwd2) {
|
|
316063
316100
|
const packagePath = join102(cwd2, "package.json");
|
|
316064
316101
|
if (existsSync25(packagePath)) {
|
|
316065
316102
|
try {
|
|
316066
|
-
const pkg = JSON.parse(
|
|
316103
|
+
const pkg = JSON.parse(readFileSync28(packagePath, "utf8"));
|
|
316067
316104
|
if (pkg.scripts?.test)
|
|
316068
316105
|
return `bun run test`;
|
|
316069
316106
|
if (pkg.scripts?.["test:unit"])
|
|
@@ -319260,7 +319297,7 @@ var init_indexer = __esm(() => {
|
|
|
319260
319297
|
});
|
|
319261
319298
|
|
|
319262
319299
|
// src/utils/codeIndex/graph.ts
|
|
319263
|
-
import { existsSync as existsSync26, mkdirSync as mkdirSync17, readFileSync as
|
|
319300
|
+
import { existsSync as existsSync26, mkdirSync as mkdirSync17, readFileSync as readFileSync29, writeFileSync as writeFileSync18 } from "fs";
|
|
319264
319301
|
import { posix as posix6, resolve as resolve39 } from "path";
|
|
319265
319302
|
import { join as join106 } from "path";
|
|
319266
319303
|
function matchAll2(text, regexes) {
|
|
@@ -319408,7 +319445,7 @@ function graphPath(root2) {
|
|
|
319408
319445
|
}
|
|
319409
319446
|
async function buildCodeGraph(options2) {
|
|
319410
319447
|
const signal = options2.signal ?? new AbortController().signal;
|
|
319411
|
-
const read = options2.readFile ?? ((abs) =>
|
|
319448
|
+
const read = options2.readFile ?? ((abs) => readFileSync29(abs, "utf-8"));
|
|
319412
319449
|
const rels = (await listIndexableFiles(options2.root, signal)).slice(0, options2.maxFiles ?? 5000);
|
|
319413
319450
|
const sources = [];
|
|
319414
319451
|
for (const rel of rels) {
|
|
@@ -319426,7 +319463,7 @@ function loadGraph(root2) {
|
|
|
319426
319463
|
const path13 = graphPath(root2);
|
|
319427
319464
|
if (!existsSync26(path13))
|
|
319428
319465
|
return null;
|
|
319429
|
-
const parsed = safeParseJSON(
|
|
319466
|
+
const parsed = safeParseJSON(readFileSync29(path13, "utf-8"), false);
|
|
319430
319467
|
return parsed && typeof parsed === "object" ? parsed : null;
|
|
319431
319468
|
}
|
|
319432
319469
|
function formatGraphStats(graph) {
|
|
@@ -319469,7 +319506,7 @@ var init_graph = __esm(() => {
|
|
|
319469
319506
|
|
|
319470
319507
|
// src/utils/codeIndex/repoIndex.ts
|
|
319471
319508
|
import { createHash as createHash29 } from "crypto";
|
|
319472
|
-
import { existsSync as existsSync27, mkdirSync as mkdirSync18, readFileSync as
|
|
319509
|
+
import { existsSync as existsSync27, mkdirSync as mkdirSync18, readFileSync as readFileSync30, writeFileSync as writeFileSync19 } from "fs";
|
|
319473
319510
|
import { join as join107, posix as posix7 } from "path";
|
|
319474
319511
|
function sha12(content) {
|
|
319475
319512
|
return createHash29("sha1").update(content).digest("hex");
|
|
@@ -319684,7 +319721,7 @@ function resolveImport2(fromFile, spec, fileSet) {
|
|
|
319684
319721
|
}
|
|
319685
319722
|
async function buildRepoIndex(options2) {
|
|
319686
319723
|
const signal = options2.signal ?? new AbortController().signal;
|
|
319687
|
-
const read = options2.readFile ?? ((abs) =>
|
|
319724
|
+
const read = options2.readFile ?? ((abs) => readFileSync30(abs, "utf-8"));
|
|
319688
319725
|
const rels = (await listIndexableFiles(options2.root, signal)).slice(0, options2.maxFiles ?? 5000);
|
|
319689
319726
|
const fileSet = new Set(rels);
|
|
319690
319727
|
const files = [];
|
|
@@ -319838,7 +319875,7 @@ function loadConfigIndex(root2) {
|
|
|
319838
319875
|
function loadJsonFile(path13) {
|
|
319839
319876
|
if (!existsSync27(path13))
|
|
319840
319877
|
return null;
|
|
319841
|
-
const parsed = safeParseJSON(
|
|
319878
|
+
const parsed = safeParseJSON(readFileSync30(path13, "utf-8"), false);
|
|
319842
319879
|
return parsed && typeof parsed === "object" ? parsed : null;
|
|
319843
319880
|
}
|
|
319844
319881
|
function repoSearch(repo, query2) {
|
|
@@ -334621,7 +334658,7 @@ function isAnyTracingEnabled() {
|
|
|
334621
334658
|
return isTelemetryEnabled() || isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
|
|
334622
334659
|
}
|
|
334623
334660
|
function getTracer() {
|
|
334624
|
-
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.57.
|
|
334661
|
+
return import_api39.trace.getTracer("ur-agent.gen_ai", "1.57.1");
|
|
334625
334662
|
}
|
|
334626
334663
|
function createSpanAttributes(spanType, customAttributes = {}) {
|
|
334627
334664
|
const baseAttributes = getTelemetryAttributes();
|
|
@@ -335400,7 +335437,7 @@ var init_rootcause = __esm(() => {
|
|
|
335400
335437
|
});
|
|
335401
335438
|
|
|
335402
335439
|
// src/stability/ledger.ts
|
|
335403
|
-
import { appendFileSync as appendFileSync4, existsSync as existsSync29, mkdirSync as mkdirSync19, readFileSync as
|
|
335440
|
+
import { appendFileSync as appendFileSync4, existsSync as existsSync29, mkdirSync as mkdirSync19, readFileSync as readFileSync31 } from "fs";
|
|
335404
335441
|
import { dirname as dirname45, join as join109 } from "path";
|
|
335405
335442
|
function ledgerPath(cwd2) {
|
|
335406
335443
|
return join109(cwd2, ".ur", "actions.jsonl");
|
|
@@ -335438,7 +335475,7 @@ function readActions(cwd2, limit = 50) {
|
|
|
335438
335475
|
const file2 = ledgerPath(cwd2);
|
|
335439
335476
|
if (!existsSync29(file2))
|
|
335440
335477
|
return [];
|
|
335441
|
-
const lines =
|
|
335478
|
+
const lines = readFileSync31(file2, "utf8").split(`
|
|
335442
335479
|
`).filter(Boolean);
|
|
335443
335480
|
const out = [];
|
|
335444
335481
|
for (const line of lines.slice(-limit)) {
|
|
@@ -338431,13 +338468,13 @@ var init_turnSideEffects = __esm(() => {
|
|
|
338431
338468
|
|
|
338432
338469
|
// src/ur/notes.ts
|
|
338433
338470
|
import { createHash as createHash31 } from "crypto";
|
|
338434
|
-
import { appendFileSync as appendFileSync5, existsSync as existsSync30, mkdirSync as mkdirSync20, readFileSync as
|
|
338471
|
+
import { appendFileSync as appendFileSync5, existsSync as existsSync30, mkdirSync as mkdirSync20, readFileSync as readFileSync32, writeFileSync as writeFileSync20 } from "fs";
|
|
338435
338472
|
import { dirname as dirname46, join as join111 } from "path";
|
|
338436
338473
|
function readJsonl(file2) {
|
|
338437
338474
|
if (!existsSync30(file2))
|
|
338438
338475
|
return [];
|
|
338439
338476
|
const out = [];
|
|
338440
|
-
for (const line of
|
|
338477
|
+
for (const line of readFileSync32(file2, "utf8").split(`
|
|
338441
338478
|
`).filter(Boolean)) {
|
|
338442
338479
|
try {
|
|
338443
338480
|
out.push(JSON.parse(line));
|
|
@@ -338492,7 +338529,7 @@ function rememberInAutoMemory(memoryDir, text) {
|
|
|
338492
338529
|
`));
|
|
338493
338530
|
const indexPath2 = join111(memoryDir, "MEMORY.md");
|
|
338494
338531
|
const indexLine = `- [Remembered note](${fileName}) \u2014 ${description}`;
|
|
338495
|
-
const existing2 = existsSync30(indexPath2) ?
|
|
338532
|
+
const existing2 = existsSync30(indexPath2) ? readFileSync32(indexPath2, "utf8") : "";
|
|
338496
338533
|
if (!existing2.includes(`](${fileName})`)) {
|
|
338497
338534
|
const prefix = existing2.trimEnd();
|
|
338498
338535
|
writeFileSync20(indexPath2, `${prefix ? `${prefix}
|
|
@@ -338539,7 +338576,7 @@ var exports_memoryLines = {};
|
|
|
338539
338576
|
__export(exports_memoryLines, {
|
|
338540
338577
|
existingMemoryLines: () => existingMemoryLines
|
|
338541
338578
|
});
|
|
338542
|
-
import { existsSync as existsSync31, readFileSync as
|
|
338579
|
+
import { existsSync as existsSync31, readFileSync as readFileSync33 } from "fs";
|
|
338543
338580
|
import { join as join112 } from "path";
|
|
338544
338581
|
function existingMemoryLines(cwd2 = getCwd()) {
|
|
338545
338582
|
const lines = [];
|
|
@@ -338556,7 +338593,7 @@ function existingMemoryLines(cwd2 = getCwd()) {
|
|
|
338556
338593
|
try {
|
|
338557
338594
|
if (!existsSync31(file2))
|
|
338558
338595
|
continue;
|
|
338559
|
-
for (const line of
|
|
338596
|
+
for (const line of readFileSync33(file2, "utf8").split(`
|
|
338560
338597
|
`)) {
|
|
338561
338598
|
const trimmed = line.replace(/^\s*[-*+]\s+/, "").trim();
|
|
338562
338599
|
if (trimmed.length >= 12 && !/^[#`]/.test(trimmed))
|
|
@@ -364101,7 +364138,7 @@ function Feedback({
|
|
|
364101
364138
|
platform: env2.platform,
|
|
364102
364139
|
gitRepo: envInfo.isGit,
|
|
364103
364140
|
terminal: env2.terminal,
|
|
364104
|
-
version: "1.57.
|
|
364141
|
+
version: "1.57.1",
|
|
364105
364142
|
transcript: normalizeMessagesForAPI(messages),
|
|
364106
364143
|
errors: sanitizedErrors,
|
|
364107
364144
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -364293,7 +364330,7 @@ function Feedback({
|
|
|
364293
364330
|
", ",
|
|
364294
364331
|
env2.terminal,
|
|
364295
364332
|
", v",
|
|
364296
|
-
"1.57.
|
|
364333
|
+
"1.57.1"
|
|
364297
364334
|
]
|
|
364298
364335
|
}, undefined, true, undefined, this)
|
|
364299
364336
|
]
|
|
@@ -364399,7 +364436,7 @@ ${sanitizedDescription}
|
|
|
364399
364436
|
` + `**Environment Info**
|
|
364400
364437
|
` + `- Platform: ${env2.platform}
|
|
364401
364438
|
` + `- Terminal: ${env2.terminal}
|
|
364402
|
-
` + `- Version: ${"1.57.
|
|
364439
|
+
` + `- Version: ${"1.57.1"}
|
|
364403
364440
|
` + `- Feedback ID: ${feedbackId}
|
|
364404
364441
|
` + `
|
|
364405
364442
|
**Errors**
|
|
@@ -367509,7 +367546,7 @@ function buildPrimarySection() {
|
|
|
367509
367546
|
}, undefined, false, undefined, this);
|
|
367510
367547
|
return [{
|
|
367511
367548
|
label: "Version",
|
|
367512
|
-
value: "1.57.
|
|
367549
|
+
value: "1.57.1"
|
|
367513
367550
|
}, {
|
|
367514
367551
|
label: "Session name",
|
|
367515
367552
|
value: nameValue
|
|
@@ -370839,7 +370876,7 @@ function Config({
|
|
|
370839
370876
|
}
|
|
370840
370877
|
}, undefined, false, undefined, this)
|
|
370841
370878
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
|
|
370842
|
-
currentVersion: "1.57.
|
|
370879
|
+
currentVersion: "1.57.1",
|
|
370843
370880
|
onChoice: (choice) => {
|
|
370844
370881
|
setShowSubmenu(null);
|
|
370845
370882
|
setTabsHidden(false);
|
|
@@ -370851,7 +370888,7 @@ function Config({
|
|
|
370851
370888
|
autoUpdatesChannel: "stable"
|
|
370852
370889
|
};
|
|
370853
370890
|
if (choice === "stay") {
|
|
370854
|
-
newSettings.minimumVersion = "1.57.
|
|
370891
|
+
newSettings.minimumVersion = "1.57.1";
|
|
370855
370892
|
}
|
|
370856
370893
|
updateSettingsForSource("userSettings", newSettings);
|
|
370857
370894
|
setSettingsData((prev_27) => ({
|
|
@@ -378915,7 +378952,7 @@ function HelpV2(t0) {
|
|
|
378915
378952
|
let t6;
|
|
378916
378953
|
if ($2[31] !== tabs) {
|
|
378917
378954
|
t6 = /* @__PURE__ */ jsx_dev_runtime206.jsxDEV(Tabs, {
|
|
378918
|
-
title: `UR v${"1.57.
|
|
378955
|
+
title: `UR v${"1.57.1"}`,
|
|
378919
378956
|
color: "professionalBlue",
|
|
378920
378957
|
defaultTab: "general",
|
|
378921
378958
|
children: tabs
|
|
@@ -379229,7 +379266,7 @@ var init_IdeAutoConnectDialog = __esm(() => {
|
|
|
379229
379266
|
});
|
|
379230
379267
|
|
|
379231
379268
|
// src/services/agents/ideDiffs.ts
|
|
379232
|
-
import { existsSync as existsSync33, mkdirSync as mkdirSync21, readFileSync as
|
|
379269
|
+
import { existsSync as existsSync33, mkdirSync as mkdirSync21, readFileSync as readFileSync34, rmSync as rmSync8, writeFileSync as writeFileSync21 } from "fs";
|
|
379233
379270
|
import { join as join139, resolve as resolve47, sep as sep31 } from "path";
|
|
379234
379271
|
function ideDir(cwd2) {
|
|
379235
379272
|
return join139(cwd2, ".ur", "ide");
|
|
@@ -379274,7 +379311,7 @@ function loadManifest3(cwd2) {
|
|
|
379274
379311
|
const path16 = manifestPath4(cwd2);
|
|
379275
379312
|
if (!existsSync33(path16))
|
|
379276
379313
|
return { version: 1, diffs: [] };
|
|
379277
|
-
const parsed = safeParseJSON(
|
|
379314
|
+
const parsed = safeParseJSON(readFileSync34(path16, "utf-8"), false);
|
|
379278
379315
|
return parsed && typeof parsed === "object" && Array.isArray(parsed.diffs) ? { version: 1, diffs: parsed.diffs.filter((bundle) => isValidBundle(cwd2, bundle)) } : { version: 1, diffs: [] };
|
|
379279
379316
|
}
|
|
379280
379317
|
function saveManifest3(cwd2, manifest) {
|
|
@@ -379394,7 +379431,7 @@ function readIdeDiffPatch(cwd2, id) {
|
|
|
379394
379431
|
const path16 = bundleArtifactPath(cwd2, bundle, "patch");
|
|
379395
379432
|
if (!path16)
|
|
379396
379433
|
return null;
|
|
379397
|
-
return existsSync33(path16) ?
|
|
379434
|
+
return existsSync33(path16) ? readFileSync34(path16, "utf-8") : null;
|
|
379398
379435
|
}
|
|
379399
379436
|
function mutate2(cwd2, id, fn) {
|
|
379400
379437
|
const manifest = loadManifest3(cwd2);
|
|
@@ -379832,7 +379869,7 @@ function buildToolUseContext(tools, readFileStateCache, toolPermissionContext, a
|
|
|
379832
379869
|
async function handleInitialize(options2) {
|
|
379833
379870
|
return {
|
|
379834
379871
|
name: "UR",
|
|
379835
|
-
version: "1.57.
|
|
379872
|
+
version: "1.57.1",
|
|
379836
379873
|
protocolVersion: "0.1.0",
|
|
379837
379874
|
workspaceRoot: options2.cwd,
|
|
379838
379875
|
capabilities: {
|
|
@@ -396940,7 +396977,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
396940
396977
|
return [];
|
|
396941
396978
|
}
|
|
396942
396979
|
}
|
|
396943
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.57.
|
|
396980
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.57.1") {
|
|
396944
396981
|
if (process.env.USER_TYPE === "ant") {
|
|
396945
396982
|
const changelog = "";
|
|
396946
396983
|
if (changelog) {
|
|
@@ -396967,7 +397004,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.57.0")
|
|
|
396967
397004
|
releaseNotes
|
|
396968
397005
|
};
|
|
396969
397006
|
}
|
|
396970
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.57.
|
|
397007
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.57.1") {
|
|
396971
397008
|
if (process.env.USER_TYPE === "ant") {
|
|
396972
397009
|
const changelog = "";
|
|
396973
397010
|
if (changelog) {
|
|
@@ -399824,7 +399861,7 @@ function getRecentActivitySync() {
|
|
|
399824
399861
|
return cachedActivity;
|
|
399825
399862
|
}
|
|
399826
399863
|
function getLogoDisplayData() {
|
|
399827
|
-
const version2 = process.env.DEMO_VERSION ?? "1.57.
|
|
399864
|
+
const version2 = process.env.DEMO_VERSION ?? "1.57.1";
|
|
399828
399865
|
const serverUrl = getDirectConnectServerUrl();
|
|
399829
399866
|
const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd());
|
|
399830
399867
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -400708,7 +400745,7 @@ function LogoV2() {
|
|
|
400708
400745
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
400709
400746
|
t2 = () => {
|
|
400710
400747
|
const currentConfig2 = getGlobalConfig();
|
|
400711
|
-
if (currentConfig2.lastReleaseNotesSeen === "1.57.
|
|
400748
|
+
if (currentConfig2.lastReleaseNotesSeen === "1.57.1") {
|
|
400712
400749
|
return;
|
|
400713
400750
|
}
|
|
400714
400751
|
saveGlobalConfig(_temp327);
|
|
@@ -401393,12 +401430,12 @@ function LogoV2() {
|
|
|
401393
401430
|
return t41;
|
|
401394
401431
|
}
|
|
401395
401432
|
function _temp327(current) {
|
|
401396
|
-
if (current.lastReleaseNotesSeen === "1.57.
|
|
401433
|
+
if (current.lastReleaseNotesSeen === "1.57.1") {
|
|
401397
401434
|
return current;
|
|
401398
401435
|
}
|
|
401399
401436
|
return {
|
|
401400
401437
|
...current,
|
|
401401
|
-
lastReleaseNotesSeen: "1.57.
|
|
401438
|
+
lastReleaseNotesSeen: "1.57.1"
|
|
401402
401439
|
};
|
|
401403
401440
|
}
|
|
401404
401441
|
function _temp241(s_0) {
|
|
@@ -407651,7 +407688,7 @@ import {
|
|
|
407651
407688
|
copyFileSync as copyFileSync2,
|
|
407652
407689
|
existsSync as existsSync34,
|
|
407653
407690
|
mkdirSync as mkdirSync22,
|
|
407654
|
-
readFileSync as
|
|
407691
|
+
readFileSync as readFileSync35,
|
|
407655
407692
|
statSync as statSync14
|
|
407656
407693
|
} from "fs";
|
|
407657
407694
|
import { dirname as dirname64, isAbsolute as isAbsolute32, resolve as resolve51 } from "path";
|
|
@@ -407700,7 +407737,7 @@ function importSessionFile(sourcePath) {
|
|
|
407700
407737
|
if (stat42.size > MAX_IMPORT_BYTES) {
|
|
407701
407738
|
throw new Error(`Refusing to import ${stat42.size} bytes (limit ${MAX_IMPORT_BYTES})`);
|
|
407702
407739
|
}
|
|
407703
|
-
const validation = validateTranscriptContent(
|
|
407740
|
+
const validation = validateTranscriptContent(readFileSync35(source, "utf8"));
|
|
407704
407741
|
if (!validation.valid) {
|
|
407705
407742
|
throw new Error(`Invalid session file:
|
|
407706
407743
|
- ${validation.errors.join(`
|
|
@@ -408163,7 +408200,7 @@ var exports_memory_suggest = {};
|
|
|
408163
408200
|
__export(exports_memory_suggest, {
|
|
408164
408201
|
call: () => call34
|
|
408165
408202
|
});
|
|
408166
|
-
import { existsSync as existsSync36, readFileSync as
|
|
408203
|
+
import { existsSync as existsSync36, readFileSync as readFileSync36 } from "fs";
|
|
408167
408204
|
function flagValue2(tokens, flag) {
|
|
408168
408205
|
const index2 = tokens.indexOf(flag);
|
|
408169
408206
|
return index2 >= 0 ? tokens[index2 + 1] : undefined;
|
|
@@ -408171,7 +408208,7 @@ function flagValue2(tokens, flag) {
|
|
|
408171
408208
|
function recentUserMessages(path19, limit) {
|
|
408172
408209
|
if (!existsSync36(path19))
|
|
408173
408210
|
return [];
|
|
408174
|
-
const raw =
|
|
408211
|
+
const raw = readFileSync36(path19, "utf8");
|
|
408175
408212
|
if (raw.length > MAX_TRANSCRIPT_READ_BYTES)
|
|
408176
408213
|
return [];
|
|
408177
408214
|
const messages = [];
|
|
@@ -416988,7 +417025,7 @@ var init_selfReview = __esm(() => {
|
|
|
416988
417025
|
import {
|
|
416989
417026
|
existsSync as existsSync40,
|
|
416990
417027
|
mkdirSync as mkdirSync27,
|
|
416991
|
-
readFileSync as
|
|
417028
|
+
readFileSync as readFileSync43,
|
|
416992
417029
|
readdirSync as readdirSync10,
|
|
416993
417030
|
writeFileSync as writeFileSync26
|
|
416994
417031
|
} from "fs";
|
|
@@ -417165,7 +417202,7 @@ function loadGuardrails(cwd2) {
|
|
|
417165
417202
|
for (const file2 of readdirSync10(dir)) {
|
|
417166
417203
|
if (!file2.endsWith(".json"))
|
|
417167
417204
|
continue;
|
|
417168
|
-
const parsed = safeParseJSON(
|
|
417205
|
+
const parsed = safeParseJSON(readFileSync43(join156(dir, file2), "utf-8"), false);
|
|
417169
417206
|
if (!parsed || typeof parsed !== "object")
|
|
417170
417207
|
continue;
|
|
417171
417208
|
const fileRules = Array.isArray(parsed) ? parsed : Array.isArray(parsed.rules) ? parsed.rules : [];
|
|
@@ -417252,7 +417289,7 @@ import {
|
|
|
417252
417289
|
existsSync as existsSync41,
|
|
417253
417290
|
mkdtempSync,
|
|
417254
417291
|
mkdirSync as mkdirSync28,
|
|
417255
|
-
readFileSync as
|
|
417292
|
+
readFileSync as readFileSync44,
|
|
417256
417293
|
rmSync as rmSync10,
|
|
417257
417294
|
writeFileSync as writeFileSync27
|
|
417258
417295
|
} from "fs";
|
|
@@ -417659,7 +417696,7 @@ function normalizeMentionEvent(root2, eventName) {
|
|
|
417659
417696
|
return;
|
|
417660
417697
|
}
|
|
417661
417698
|
function loadAgenticCiEventFile(path22) {
|
|
417662
|
-
const bytes =
|
|
417699
|
+
const bytes = readFileSync44(path22);
|
|
417663
417700
|
if (bytes.byteLength > AGENTIC_CI_MAX_EVENT_BYTES) {
|
|
417664
417701
|
throw new Error(`event payload exceeds ${AGENTIC_CI_MAX_EVENT_BYTES} bytes`);
|
|
417665
417702
|
}
|
|
@@ -418173,7 +418210,7 @@ function loadAgenticCiSpec(cwd2, name) {
|
|
|
418173
418210
|
const path22 = agenticCiSpecPath(cwd2, name);
|
|
418174
418211
|
if (!existsSync41(path22))
|
|
418175
418212
|
return null;
|
|
418176
|
-
return parseAgenticCiSpec(
|
|
418213
|
+
return parseAgenticCiSpec(readFileSync44(path22, "utf8"));
|
|
418177
418214
|
}
|
|
418178
418215
|
function saveAgenticCiSpec(cwd2, spec, options2 = {}) {
|
|
418179
418216
|
const validation = validateAgenticCiSpec(spec);
|
|
@@ -418196,7 +418233,7 @@ function compileAgenticCiWorkflow(specName = "default", options2 = {}) {
|
|
|
418196
418233
|
if (spec.name !== specName) {
|
|
418197
418234
|
throw new Error("Agentic CI workflow spec name does not match");
|
|
418198
418235
|
}
|
|
418199
|
-
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.57.
|
|
418236
|
+
const packageVersion = options2.packageVersion ?? (typeof MACRO !== "undefined" ? "1.57.1" : "1.57.1");
|
|
418200
418237
|
if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(packageVersion)) {
|
|
418201
418238
|
throw new Error("invalid ur-agent package version");
|
|
418202
418239
|
}
|
|
@@ -419189,7 +419226,7 @@ runner; \`ur trigger\` is the inbound parser that decides what to run.
|
|
|
419189
419226
|
path: ".github/workflows/ur.yml",
|
|
419190
419227
|
root: "project",
|
|
419191
419228
|
content: compileAgenticCiWorkflow("default", {
|
|
419192
|
-
packageVersion: typeof MACRO !== "undefined" ? "1.57.
|
|
419229
|
+
packageVersion: typeof MACRO !== "undefined" ? "1.57.1" : "1.57.1"
|
|
419193
419230
|
})
|
|
419194
419231
|
},
|
|
419195
419232
|
{
|
|
@@ -419252,7 +419289,7 @@ function value(tokens, flag) {
|
|
|
419252
419289
|
return index2 >= 0 ? tokens[index2 + 1] : undefined;
|
|
419253
419290
|
}
|
|
419254
419291
|
function cliVersion() {
|
|
419255
|
-
return typeof MACRO !== "undefined" ? "1.57.
|
|
419292
|
+
return typeof MACRO !== "undefined" ? "1.57.1" : "1.57.1";
|
|
419256
419293
|
}
|
|
419257
419294
|
function workflowPath(cwd2) {
|
|
419258
419295
|
return join159(cwd2, ".github", "workflows", "ur-agentic-ci.yml");
|
|
@@ -424122,7 +424159,7 @@ import {
|
|
|
424122
424159
|
mkdirSync as mkdirSync31,
|
|
424123
424160
|
mkdtempSync as mkdtempSync2,
|
|
424124
424161
|
readdirSync as readdirSync11,
|
|
424125
|
-
readFileSync as
|
|
424162
|
+
readFileSync as readFileSync45,
|
|
424126
424163
|
renameSync as renameSync10,
|
|
424127
424164
|
rmSync as rmSync11,
|
|
424128
424165
|
statSync as statSync17,
|
|
@@ -424333,7 +424370,7 @@ function readPersistedSessionFile(sessionId, storeRoot) {
|
|
|
424333
424370
|
if (size <= 0 || size > MAX_SESSION_METADATA_BYTES) {
|
|
424334
424371
|
throw new Error("metadata size is invalid");
|
|
424335
424372
|
}
|
|
424336
|
-
return normalizePersistedSession(JSON.parse(
|
|
424373
|
+
return normalizePersistedSession(JSON.parse(readFileSync45(path22, "utf8")), sessionId);
|
|
424337
424374
|
}
|
|
424338
424375
|
function persistAcpSession(sessionId, state, storeRoot) {
|
|
424339
424376
|
const path22 = persistedSessionPath(sessionId, storeRoot);
|
|
@@ -424407,7 +424444,7 @@ function loadPersistedAcpHistory(sessionId, storeRoot) {
|
|
|
424407
424444
|
if (size > MAX_SESSION_HISTORY_BYTES) {
|
|
424408
424445
|
invalidParams2(`session history exceeds the supported size: ${sessionId}`);
|
|
424409
424446
|
}
|
|
424410
|
-
const lines =
|
|
424447
|
+
const lines = readFileSync45(path22, "utf8").split(`
|
|
424411
424448
|
`).filter(Boolean);
|
|
424412
424449
|
if (lines.length > MAX_SESSION_HISTORY_EVENTS) {
|
|
424413
424450
|
invalidParams2(`session history has too many events: ${sessionId}`);
|
|
@@ -425108,7 +425145,7 @@ function createAcpStdioApp(deps) {
|
|
|
425108
425145
|
}
|
|
425109
425146
|
},
|
|
425110
425147
|
authMethods: [],
|
|
425111
|
-
agentInfo: { name: "UR-Nexus", version: "1.57.
|
|
425148
|
+
agentInfo: { name: "UR-Nexus", version: "1.57.1" }
|
|
425112
425149
|
})).onRequest("authenticate", () => ({})).onRequest("session/new", async (context6) => {
|
|
425113
425150
|
const result = runtime2.newSession(context6.params.cwd, context6.params.mcpServers, context6.params.additionalDirectories);
|
|
425114
425151
|
await runtime2.announce({
|
|
@@ -425205,7 +425242,7 @@ function createAcpStdioAgent(deps) {
|
|
|
425205
425242
|
}
|
|
425206
425243
|
},
|
|
425207
425244
|
authMethods: [],
|
|
425208
|
-
agentInfo: { name: "UR-Nexus", version: "1.57.
|
|
425245
|
+
agentInfo: { name: "UR-Nexus", version: "1.57.1" }
|
|
425209
425246
|
});
|
|
425210
425247
|
return;
|
|
425211
425248
|
case "authenticate":
|
|
@@ -426194,7 +426231,7 @@ import {
|
|
|
426194
426231
|
existsSync as existsSync46,
|
|
426195
426232
|
mkdirSync as mkdirSync33,
|
|
426196
426233
|
readdirSync as readdirSync12,
|
|
426197
|
-
readFileSync as
|
|
426234
|
+
readFileSync as readFileSync47,
|
|
426198
426235
|
unlinkSync as unlinkSync9,
|
|
426199
426236
|
writeFileSync as writeFileSync32
|
|
426200
426237
|
} from "fs";
|
|
@@ -426244,7 +426281,7 @@ function listSpecs() {
|
|
|
426244
426281
|
if (!existsSync46(dir))
|
|
426245
426282
|
return [];
|
|
426246
426283
|
return readdirSync12(dir).filter((file2) => file2.endsWith(".json")).map((file2) => {
|
|
426247
|
-
const parsed = safeParseJSON(
|
|
426284
|
+
const parsed = safeParseJSON(readFileSync47(join162(dir, file2), "utf-8"), false);
|
|
426248
426285
|
return parsed && typeof parsed === "object" ? parsed : null;
|
|
426249
426286
|
}).filter((spec) => spec !== null);
|
|
426250
426287
|
}
|
|
@@ -426491,7 +426528,7 @@ Expected a 5-field cron expression with a next run in the next year.`
|
|
|
426491
426528
|
if (!existsSync46(path22)) {
|
|
426492
426529
|
return { type: "text", value: `Automation not found: ${sanitizeName2(name)}` };
|
|
426493
426530
|
}
|
|
426494
|
-
const raw =
|
|
426531
|
+
const raw = readFileSync47(path22, "utf-8");
|
|
426495
426532
|
const parsed = safeParseJSON(raw, false);
|
|
426496
426533
|
if (json2) {
|
|
426497
426534
|
return {
|
|
@@ -426509,7 +426546,7 @@ Expected a 5-field cron expression with a next run in the next year.`
|
|
|
426509
426546
|
if (!existsSync46(path22)) {
|
|
426510
426547
|
return { type: "text", value: `Automation not found: ${sanitizeName2(name)}` };
|
|
426511
426548
|
}
|
|
426512
|
-
const parsed = safeParseJSON(
|
|
426549
|
+
const parsed = safeParseJSON(readFileSync47(path22, "utf-8"), false);
|
|
426513
426550
|
if (!parsed)
|
|
426514
426551
|
return { type: "text", value: `Automation file is invalid: ${path22}` };
|
|
426515
426552
|
const updated = { ...parsed, enabled: command5 === "enable" };
|
|
@@ -428102,7 +428139,7 @@ var exports_browser_qa = {};
|
|
|
428102
428139
|
__export(exports_browser_qa, {
|
|
428103
428140
|
call: () => call66
|
|
428104
428141
|
});
|
|
428105
|
-
import { existsSync as existsSync48, readdirSync as readdirSync14, readFileSync as
|
|
428142
|
+
import { existsSync as existsSync48, readdirSync as readdirSync14, readFileSync as readFileSync48 } from "fs";
|
|
428106
428143
|
import { join as join166 } from "path";
|
|
428107
428144
|
function fixturesDir() {
|
|
428108
428145
|
return join166(getCwd(), ".ur", "browser-qa");
|
|
@@ -428111,7 +428148,7 @@ function fixtures() {
|
|
|
428111
428148
|
if (!existsSync48(fixturesDir()))
|
|
428112
428149
|
return [];
|
|
428113
428150
|
return readdirSync14(fixturesDir()).filter((file2) => file2.endsWith(".json")).map((file2) => {
|
|
428114
|
-
const parsed = safeParseJSON(
|
|
428151
|
+
const parsed = safeParseJSON(readFileSync48(join166(fixturesDir(), file2), "utf-8"), false);
|
|
428115
428152
|
return { file: file2, fixture: parsed && typeof parsed === "object" ? parsed : null };
|
|
428116
428153
|
});
|
|
428117
428154
|
}
|
|
@@ -428209,7 +428246,7 @@ var exports_claim_ledger = {};
|
|
|
428209
428246
|
__export(exports_claim_ledger, {
|
|
428210
428247
|
call: () => call67
|
|
428211
428248
|
});
|
|
428212
|
-
import { existsSync as existsSync49, mkdirSync as mkdirSync35, readFileSync as
|
|
428249
|
+
import { existsSync as existsSync49, mkdirSync as mkdirSync35, readFileSync as readFileSync49, writeFileSync as writeFileSync34 } from "fs";
|
|
428213
428250
|
import { join as join167 } from "path";
|
|
428214
428251
|
function ledgerPath2() {
|
|
428215
428252
|
return join167(getCwd(), ".ur", "evidence", "claims.json");
|
|
@@ -428221,7 +428258,7 @@ function option8(tokens, name) {
|
|
|
428221
428258
|
function loadLedger() {
|
|
428222
428259
|
if (!existsSync49(ledgerPath2()))
|
|
428223
428260
|
return { claims: [] };
|
|
428224
|
-
const parsed = safeParseJSON(
|
|
428261
|
+
const parsed = safeParseJSON(readFileSync49(ledgerPath2(), "utf-8"), false);
|
|
428225
428262
|
return parsed && typeof parsed === "object" && Array.isArray(parsed.claims) ? parsed : { claims: [] };
|
|
428226
428263
|
}
|
|
428227
428264
|
function saveLedger(ledger) {
|
|
@@ -428316,7 +428353,7 @@ var init_claim_ledger2 = __esm(() => {
|
|
|
428316
428353
|
import {
|
|
428317
428354
|
existsSync as existsSync50,
|
|
428318
428355
|
mkdirSync as mkdirSync36,
|
|
428319
|
-
readFileSync as
|
|
428356
|
+
readFileSync as readFileSync50,
|
|
428320
428357
|
readdirSync as readdirSync15,
|
|
428321
428358
|
writeFileSync as writeFileSync35
|
|
428322
428359
|
} from "fs";
|
|
@@ -428506,7 +428543,7 @@ function loadWorkflow(cwd2, name) {
|
|
|
428506
428543
|
const path22 = join168(workflowsDir(cwd2), `${slug3}.${ext}`);
|
|
428507
428544
|
if (existsSync50(path22)) {
|
|
428508
428545
|
try {
|
|
428509
|
-
return parseWorkflowText(
|
|
428546
|
+
return parseWorkflowText(readFileSync50(path22, "utf-8"));
|
|
428510
428547
|
} catch {
|
|
428511
428548
|
return null;
|
|
428512
428549
|
}
|
|
@@ -428527,7 +428564,7 @@ function loadRunState(cwd2, name) {
|
|
|
428527
428564
|
const path22 = statePath(cwd2, name);
|
|
428528
428565
|
if (!existsSync50(path22))
|
|
428529
428566
|
return null;
|
|
428530
|
-
const parsed = safeParseJSON(
|
|
428567
|
+
const parsed = safeParseJSON(readFileSync50(path22, "utf-8"), false);
|
|
428531
428568
|
return parsed && typeof parsed === "object" ? parsed : null;
|
|
428532
428569
|
}
|
|
428533
428570
|
function markStepComplete(cwd2, name, stepId) {
|
|
@@ -430117,11 +430154,11 @@ var init_workflow2 = __esm(() => {
|
|
|
430117
430154
|
});
|
|
430118
430155
|
|
|
430119
430156
|
// src/skills/skillSpec.ts
|
|
430120
|
-
import { existsSync as existsSync52, mkdirSync as mkdirSync38, readFileSync as
|
|
430157
|
+
import { existsSync as existsSync52, mkdirSync as mkdirSync38, readFileSync as readFileSync51, readdirSync as readdirSync16, writeFileSync as writeFileSync37 } from "fs";
|
|
430121
430158
|
import { join as join170 } from "path";
|
|
430122
430159
|
function readTextFile(path22) {
|
|
430123
430160
|
try {
|
|
430124
|
-
return
|
|
430161
|
+
return readFileSync51(path22, "utf-8");
|
|
430125
430162
|
} catch {
|
|
430126
430163
|
return;
|
|
430127
430164
|
}
|
|
@@ -430423,7 +430460,7 @@ import {
|
|
|
430423
430460
|
existsSync as existsSync53,
|
|
430424
430461
|
lstatSync as lstatSync13,
|
|
430425
430462
|
mkdirSync as mkdirSync39,
|
|
430426
|
-
readFileSync as
|
|
430463
|
+
readFileSync as readFileSync52,
|
|
430427
430464
|
renameSync as renameSync11,
|
|
430428
430465
|
unlinkSync as unlinkSync10,
|
|
430429
430466
|
writeFileSync as writeFileSync38
|
|
@@ -430493,7 +430530,7 @@ function readPrivateKey(path22) {
|
|
|
430493
430530
|
if (process.platform !== "win32" && (stat42.mode & 63) !== 0) {
|
|
430494
430531
|
throw new Error("Signing key permissions are too broad; use chmod 600");
|
|
430495
430532
|
}
|
|
430496
|
-
return
|
|
430533
|
+
return readFileSync52(path22);
|
|
430497
430534
|
}
|
|
430498
430535
|
function writeTrustedKeys(keys2) {
|
|
430499
430536
|
const path22 = trustedSkillKeysPath();
|
|
@@ -430958,7 +430995,7 @@ var init_worktree2 = __esm(() => {
|
|
|
430958
430995
|
|
|
430959
430996
|
// src/services/agents/auditExport.ts
|
|
430960
430997
|
import { createHash as createHash38 } from "crypto";
|
|
430961
|
-
import { existsSync as existsSync54, readFileSync as
|
|
430998
|
+
import { existsSync as existsSync54, readFileSync as readFileSync53 } from "fs";
|
|
430962
430999
|
import { join as join172 } from "path";
|
|
430963
431000
|
function chainHash(prev, payload) {
|
|
430964
431001
|
return createHash38("sha256").update(prev).update(JSON.stringify(payload)).digest("hex");
|
|
@@ -430967,7 +431004,7 @@ function readActionsLedger(cwd2) {
|
|
|
430967
431004
|
const path22 = join172(cwd2, ".ur", "actions.jsonl");
|
|
430968
431005
|
if (!existsSync54(path22))
|
|
430969
431006
|
return [];
|
|
430970
|
-
return
|
|
431007
|
+
return readFileSync53(path22, "utf-8").split(`
|
|
430971
431008
|
`).filter(Boolean).map((line) => safeParseJSON(line, false)).filter((v) => !!v && typeof v === "object");
|
|
430972
431009
|
}
|
|
430973
431010
|
function collectAuditRecords(cwd2) {
|
|
@@ -431035,7 +431072,7 @@ var exports_audit = {};
|
|
|
431035
431072
|
__export(exports_audit, {
|
|
431036
431073
|
call: () => call72
|
|
431037
431074
|
});
|
|
431038
|
-
import { readFileSync as
|
|
431075
|
+
import { readFileSync as readFileSync54, writeFileSync as writeFileSync39 } from "fs";
|
|
431039
431076
|
async function call72(args) {
|
|
431040
431077
|
const tokens = args.trim().split(/\s+/).filter(Boolean);
|
|
431041
431078
|
const action3 = tokens[0] ?? "export";
|
|
@@ -431044,7 +431081,7 @@ async function call72(args) {
|
|
|
431044
431081
|
if (!file2) {
|
|
431045
431082
|
return { type: "text", value: "Usage: ur audit verify <export.jsonl>" };
|
|
431046
431083
|
}
|
|
431047
|
-
const records2 =
|
|
431084
|
+
const records2 = readFileSync54(file2, "utf-8").split(`
|
|
431048
431085
|
`).filter(Boolean).map((line) => safeParseJSON(line, false)).filter((v) => !!v && typeof v === "object");
|
|
431049
431086
|
const ok = verifyAuditChain(records2);
|
|
431050
431087
|
return {
|
|
@@ -431303,7 +431340,7 @@ var exports_recipe = {};
|
|
|
431303
431340
|
__export(exports_recipe, {
|
|
431304
431341
|
call: () => call74
|
|
431305
431342
|
});
|
|
431306
|
-
import { existsSync as existsSync57, mkdirSync as mkdirSync40, readdirSync as readdirSync18, readFileSync as
|
|
431343
|
+
import { existsSync as existsSync57, mkdirSync as mkdirSync40, readdirSync as readdirSync18, readFileSync as readFileSync55, writeFileSync as writeFileSync40 } from "fs";
|
|
431307
431344
|
import { join as join174 } from "path";
|
|
431308
431345
|
function recipesDir(cwd2) {
|
|
431309
431346
|
return join174(cwd2, ".ur", "recipes");
|
|
@@ -431312,7 +431349,7 @@ function loadRecipe(cwd2, name) {
|
|
|
431312
431349
|
const path22 = join174(recipesDir(cwd2), `${name}.json`);
|
|
431313
431350
|
if (!existsSync57(path22))
|
|
431314
431351
|
return null;
|
|
431315
|
-
const parsed = safeParseJSON(
|
|
431352
|
+
const parsed = safeParseJSON(readFileSync55(path22, "utf-8"), false);
|
|
431316
431353
|
if (!parsed || typeof parsed !== "object")
|
|
431317
431354
|
return null;
|
|
431318
431355
|
const r = parsed;
|
|
@@ -432298,7 +432335,7 @@ import {
|
|
|
432298
432335
|
lstatSync as lstatSync14,
|
|
432299
432336
|
mkdirSync as mkdirSync42,
|
|
432300
432337
|
openSync as openSync10,
|
|
432301
|
-
readFileSync as
|
|
432338
|
+
readFileSync as readFileSync56,
|
|
432302
432339
|
renameSync as renameSync12,
|
|
432303
432340
|
statSync as statSync19,
|
|
432304
432341
|
unlinkSync as unlinkSync11,
|
|
@@ -432467,7 +432504,7 @@ function loadCloudManifest(cwd2) {
|
|
|
432467
432504
|
if (manifestInfo.size > MAX_CLOUD_MANIFEST_BYTES) {
|
|
432468
432505
|
throw new Error("Cloud manifest exceeds the 8 MiB limit");
|
|
432469
432506
|
}
|
|
432470
|
-
const parsed = safeParseJSON(
|
|
432507
|
+
const parsed = safeParseJSON(readFileSync56(path22, "utf8"), false);
|
|
432471
432508
|
if (!parsed || parsed.version !== 1 && parsed.version !== 2 || !Array.isArray(parsed.tasks)) {
|
|
432472
432509
|
throw new Error("Cloud manifest is invalid");
|
|
432473
432510
|
}
|
|
@@ -432551,7 +432588,7 @@ function loadCloudResult(cwd2, id) {
|
|
|
432551
432588
|
if (lstatSync14(path22).size > MAX_CLOUD_MANIFEST_BYTES) {
|
|
432552
432589
|
throw new Error("Cloud result exceeds the 8 MiB limit");
|
|
432553
432590
|
}
|
|
432554
|
-
return safeParseJSON(
|
|
432591
|
+
return safeParseJSON(readFileSync56(path22, "utf-8"), false);
|
|
432555
432592
|
}
|
|
432556
432593
|
function createCloudTask(cwd2, input) {
|
|
432557
432594
|
const taskText = input.task.trim();
|
|
@@ -432709,7 +432746,7 @@ function readCloudLog(cwd2, id, maxBytes = 1e6) {
|
|
|
432709
432746
|
assertSafeStateNode(join176(cwd2, ".ur"), "directory");
|
|
432710
432747
|
assertSafeStateNode(cloudDir(cwd2), "directory");
|
|
432711
432748
|
assertSafeStateNode(path22, "file");
|
|
432712
|
-
const buffer =
|
|
432749
|
+
const buffer = readFileSync56(path22);
|
|
432713
432750
|
const boundedMax = boundedInteger(maxBytes, 1e6, 1, MAX_CLOUD_LOG_BYTES);
|
|
432714
432751
|
return buffer.subarray(Math.max(0, buffer.length - boundedMax)).toString("utf8");
|
|
432715
432752
|
}
|
|
@@ -433548,7 +433585,7 @@ import {
|
|
|
433548
433585
|
existsSync as existsSync60,
|
|
433549
433586
|
mkdirSync as mkdirSync44,
|
|
433550
433587
|
readdirSync as readdirSync19,
|
|
433551
|
-
readFileSync as
|
|
433588
|
+
readFileSync as readFileSync57,
|
|
433552
433589
|
statSync as statSync20,
|
|
433553
433590
|
writeFileSync as writeFileSync44
|
|
433554
433591
|
} from "fs";
|
|
@@ -433617,7 +433654,7 @@ function loadRepoMapForPrompt(cwd2, maxBytes = 4000) {
|
|
|
433617
433654
|
const age = Date.now() - statSync20(path22).mtimeMs;
|
|
433618
433655
|
if (age > 7 * 24 * 3600 * 1000)
|
|
433619
433656
|
return null;
|
|
433620
|
-
const body =
|
|
433657
|
+
const body = readFileSync57(path22, "utf-8");
|
|
433621
433658
|
return body.length <= maxBytes ? body : `${body.slice(0, maxBytes)}
|
|
433622
433659
|
\u2026 [map truncated]`;
|
|
433623
433660
|
} catch {
|
|
@@ -433635,7 +433672,7 @@ function generateWiki(cwd2) {
|
|
|
433635
433672
|
const symbols = loadSymbolIndex(cwd2);
|
|
433636
433673
|
const stamp = new Date().toISOString();
|
|
433637
433674
|
const pages = [];
|
|
433638
|
-
const pkg = existsSync60(join178(cwd2, "package.json")) ? safeParseJSON(
|
|
433675
|
+
const pkg = existsSync60(join178(cwd2, "package.json")) ? safeParseJSON(readFileSync57(join178(cwd2, "package.json"), "utf-8"), false) : null;
|
|
433639
433676
|
const indexMd = [
|
|
433640
433677
|
`# ${pkg?.name ?? "Project"} wiki`,
|
|
433641
433678
|
"",
|
|
@@ -433706,7 +433743,7 @@ function installPostMergeHook(cwd2) {
|
|
|
433706
433743
|
const hookPath = join178(hooksDir, "post-merge");
|
|
433707
433744
|
const marker = "# ur-wiki-refresh";
|
|
433708
433745
|
const line = `ur wiki generate --quiet >/dev/null 2>&1 || true ${marker}`;
|
|
433709
|
-
const existing2 = existsSync60(hookPath) ?
|
|
433746
|
+
const existing2 = existsSync60(hookPath) ? readFileSync57(hookPath, "utf-8") : `#!/bin/sh
|
|
433710
433747
|
`;
|
|
433711
433748
|
if (existing2.includes(marker))
|
|
433712
433749
|
return hookPath;
|
|
@@ -433805,7 +433842,7 @@ var init_wiki2 = __esm(() => {
|
|
|
433805
433842
|
});
|
|
433806
433843
|
|
|
433807
433844
|
// src/services/agents/dashboardRoutes.ts
|
|
433808
|
-
import { existsSync as existsSync62, readdirSync as readdirSync20, readFileSync as
|
|
433845
|
+
import { existsSync as existsSync62, readdirSync as readdirSync20, readFileSync as readFileSync58 } from "fs";
|
|
433809
433846
|
import { join as join180 } from "path";
|
|
433810
433847
|
function esc2(s) {
|
|
433811
433848
|
return s.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
@@ -433839,7 +433876,7 @@ async function handleDashboardRequest(cwd2, path22) {
|
|
|
433839
433876
|
const threadMatch = path22.match(/^\/threads\/([\w.-]+)$/);
|
|
433840
433877
|
if (threadMatch) {
|
|
433841
433878
|
const file2 = join180(threadsDir(cwd2), `${threadMatch[1]}.html`);
|
|
433842
|
-
return existsSync62(file2) ? { status: 200, type: "text/html", body:
|
|
433879
|
+
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
433880
|
}
|
|
433844
433881
|
if (path22 !== "/dashboard" && path22 !== "/api/dashboard")
|
|
433845
433882
|
return null;
|
|
@@ -433877,7 +433914,7 @@ var init_dashboardRoutes = __esm(() => {
|
|
|
433877
433914
|
});
|
|
433878
433915
|
|
|
433879
433916
|
// src/services/agents/artifactsServer.ts
|
|
433880
|
-
import { createReadStream as createReadStream3, readFileSync as
|
|
433917
|
+
import { createReadStream as createReadStream3, readFileSync as readFileSync59 } from "fs";
|
|
433881
433918
|
import { createServer as createServer5 } from "http";
|
|
433882
433919
|
import { createRequire as createRequire2 } from "module";
|
|
433883
433920
|
function attachmentDelivery(mimeType) {
|
|
@@ -433891,7 +433928,7 @@ function loadAsset(path22) {
|
|
|
433891
433928
|
const entry = ASSET_SPECS[path22];
|
|
433892
433929
|
if (entry) {
|
|
433893
433930
|
try {
|
|
433894
|
-
content =
|
|
433931
|
+
content = readFileSync59(createRequire2(import.meta.url).resolve(entry.spec), "utf-8");
|
|
433895
433932
|
} catch {
|
|
433896
433933
|
content = null;
|
|
433897
433934
|
}
|
|
@@ -434211,7 +434248,7 @@ var exports_thread = {};
|
|
|
434211
434248
|
__export(exports_thread, {
|
|
434212
434249
|
call: () => call77
|
|
434213
434250
|
});
|
|
434214
|
-
import { existsSync as existsSync63, mkdirSync as mkdirSync45, readdirSync as readdirSync21, readFileSync as
|
|
434251
|
+
import { existsSync as existsSync63, mkdirSync as mkdirSync45, readdirSync as readdirSync21, readFileSync as readFileSync60, statSync as statSync22, writeFileSync as writeFileSync45 } from "fs";
|
|
434215
434252
|
import { join as join181 } from "path";
|
|
434216
434253
|
function esc3(s) {
|
|
434217
434254
|
return s.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
@@ -434274,7 +434311,7 @@ var SESSION_ID_PATTERN, call77 = async (args) => {
|
|
|
434274
434311
|
transcriptPath = candidates2.map((name) => join181(dir, name)).sort((a2, b) => statSync22(b).mtimeMs - statSync22(a2).mtimeMs)[0];
|
|
434275
434312
|
}
|
|
434276
434313
|
const id = sessionId ?? `latest-${Date.now().toString(36)}`;
|
|
434277
|
-
const lines =
|
|
434314
|
+
const lines = readFileSync60(transcriptPath, "utf-8").split(`
|
|
434278
434315
|
`).filter(Boolean);
|
|
434279
434316
|
mkdirSync45(threadsDir(cwd2), { recursive: true });
|
|
434280
434317
|
const out = join181(threadsDir(cwd2), `${id}.html`);
|
|
@@ -434327,7 +434364,7 @@ var init_thread2 = __esm(() => {
|
|
|
434327
434364
|
});
|
|
434328
434365
|
|
|
434329
434366
|
// src/services/agents/inspector.ts
|
|
434330
|
-
import { existsSync as existsSync64, readFileSync as
|
|
434367
|
+
import { existsSync as existsSync64, readFileSync as readFileSync61 } from "fs";
|
|
434331
434368
|
function preview3(value2, max2 = PREVIEW_CHARS) {
|
|
434332
434369
|
const text = value2.replace(/\s+/g, " ").trim();
|
|
434333
434370
|
if (text.length <= max2)
|
|
@@ -434432,7 +434469,7 @@ function loadTranscript(path22) {
|
|
|
434432
434469
|
if (!existsSync64(path22)) {
|
|
434433
434470
|
throw new Error(`Transcript not found: ${path22}`);
|
|
434434
434471
|
}
|
|
434435
|
-
const raw =
|
|
434472
|
+
const raw = readFileSync61(path22, "utf-8").trim();
|
|
434436
434473
|
if (!raw)
|
|
434437
434474
|
return [];
|
|
434438
434475
|
if (raw.startsWith("[")) {
|
|
@@ -434709,7 +434746,7 @@ var init_embeddings2 = __esm(() => {
|
|
|
434709
434746
|
import {
|
|
434710
434747
|
existsSync as existsSync65,
|
|
434711
434748
|
mkdirSync as mkdirSync46,
|
|
434712
|
-
readFileSync as
|
|
434749
|
+
readFileSync as readFileSync62,
|
|
434713
434750
|
readdirSync as readdirSync22,
|
|
434714
434751
|
statSync as statSync23,
|
|
434715
434752
|
writeFileSync as writeFileSync46
|
|
@@ -434731,7 +434768,7 @@ function loadSources(cwd2) {
|
|
|
434731
434768
|
const path22 = sourcesPath(cwd2);
|
|
434732
434769
|
if (!existsSync65(path22))
|
|
434733
434770
|
return [];
|
|
434734
|
-
const parsed = safeParseJSON(
|
|
434771
|
+
const parsed = safeParseJSON(readFileSync62(path22, "utf-8"), false);
|
|
434735
434772
|
return Array.isArray(parsed) ? parsed : [];
|
|
434736
434773
|
}
|
|
434737
434774
|
function saveSources(cwd2, sources) {
|
|
@@ -434818,7 +434855,7 @@ function chunkFile(cwd2, source, absPath) {
|
|
|
434818
434855
|
return [];
|
|
434819
434856
|
let content;
|
|
434820
434857
|
try {
|
|
434821
|
-
content =
|
|
434858
|
+
content = readFileSync62(absPath, "utf-8");
|
|
434822
434859
|
} catch {
|
|
434823
434860
|
return [];
|
|
434824
434861
|
}
|
|
@@ -434918,7 +434955,7 @@ function loadIndex2(cwd2) {
|
|
|
434918
434955
|
const path22 = indexPath2(cwd2);
|
|
434919
434956
|
if (!existsSync65(path22))
|
|
434920
434957
|
return null;
|
|
434921
|
-
const parsed = safeParseJSON(
|
|
434958
|
+
const parsed = safeParseJSON(readFileSync62(path22, "utf-8"), false);
|
|
434922
434959
|
return parsed && typeof parsed === "object" ? parsed : null;
|
|
434923
434960
|
}
|
|
434924
434961
|
async function searchKnowledge(cwd2, query2, options2 = {}) {
|
|
@@ -435147,7 +435184,7 @@ var init_knowledge3 = __esm(() => {
|
|
|
435147
435184
|
});
|
|
435148
435185
|
|
|
435149
435186
|
// src/services/agents/crew.ts
|
|
435150
|
-
import { existsSync as existsSync66, mkdirSync as mkdirSync47, readdirSync as readdirSync23, readFileSync as
|
|
435187
|
+
import { existsSync as existsSync66, mkdirSync as mkdirSync47, readdirSync as readdirSync23, readFileSync as readFileSync63, unlinkSync as unlinkSync12, writeFileSync as writeFileSync47 } from "fs";
|
|
435151
435188
|
import { join as join183 } from "path";
|
|
435152
435189
|
function crewDir(cwd2) {
|
|
435153
435190
|
return join183(cwd2, ".ur", "crew");
|
|
@@ -435165,13 +435202,13 @@ function listCrews(cwd2) {
|
|
|
435165
435202
|
const dir = crewDir(cwd2);
|
|
435166
435203
|
if (!existsSync66(dir))
|
|
435167
435204
|
return [];
|
|
435168
|
-
return readdirSync23(dir).filter((file2) => file2.endsWith(".json")).map((file2) => safeParseJSON(
|
|
435205
|
+
return readdirSync23(dir).filter((file2) => file2.endsWith(".json")).map((file2) => safeParseJSON(readFileSync63(join183(dir, file2), "utf-8"), false)).filter(isCrewSpec);
|
|
435169
435206
|
}
|
|
435170
435207
|
function loadCrew(cwd2, name) {
|
|
435171
435208
|
const path22 = crewPath(cwd2, name);
|
|
435172
435209
|
if (!existsSync66(path22))
|
|
435173
435210
|
return null;
|
|
435174
|
-
const parsed = safeParseJSON(
|
|
435211
|
+
const parsed = safeParseJSON(readFileSync63(path22, "utf-8"), false);
|
|
435175
435212
|
return isCrewSpec(parsed) ? parsed : null;
|
|
435176
435213
|
}
|
|
435177
435214
|
function saveCrew(cwd2, spec) {
|
|
@@ -435780,7 +435817,7 @@ var init_crew3 = __esm(() => {
|
|
|
435780
435817
|
});
|
|
435781
435818
|
|
|
435782
435819
|
// src/services/agents/goals.ts
|
|
435783
|
-
import { existsSync as existsSync67, mkdirSync as mkdirSync48, readdirSync as readdirSync24, readFileSync as
|
|
435820
|
+
import { existsSync as existsSync67, mkdirSync as mkdirSync48, readdirSync as readdirSync24, readFileSync as readFileSync64, unlinkSync as unlinkSync13, writeFileSync as writeFileSync48 } from "fs";
|
|
435784
435821
|
import { join as join184 } from "path";
|
|
435785
435822
|
function goalsDir(cwd2) {
|
|
435786
435823
|
return join184(cwd2, ".ur", "goals");
|
|
@@ -435795,7 +435832,7 @@ function listGoals(cwd2) {
|
|
|
435795
435832
|
const dir = goalsDir(cwd2);
|
|
435796
435833
|
if (!existsSync67(dir))
|
|
435797
435834
|
return [];
|
|
435798
|
-
return readdirSync24(dir).filter((file2) => file2.endsWith(".json")).map((file2) => safeParseJSON(
|
|
435835
|
+
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
435836
|
}
|
|
435800
435837
|
function isGoalSpec(value2) {
|
|
435801
435838
|
return !!value2 && typeof value2 === "object" && typeof value2.name === "string" && typeof value2.objective === "string";
|
|
@@ -435804,7 +435841,7 @@ function loadGoal(cwd2, name) {
|
|
|
435804
435841
|
const path22 = goalPath(cwd2, name);
|
|
435805
435842
|
if (!existsSync67(path22))
|
|
435806
435843
|
return null;
|
|
435807
|
-
const parsed = safeParseJSON(
|
|
435844
|
+
const parsed = safeParseJSON(readFileSync64(path22, "utf-8"), false);
|
|
435808
435845
|
return isGoalSpec(parsed) ? parsed : null;
|
|
435809
435846
|
}
|
|
435810
435847
|
function saveGoal(cwd2, spec) {
|
|
@@ -436123,7 +436160,7 @@ var init_verificationProofs = __esm(() => {
|
|
|
436123
436160
|
});
|
|
436124
436161
|
|
|
436125
436162
|
// src/services/agents/kernel.ts
|
|
436126
|
-
import { existsSync as existsSync68, readFileSync as
|
|
436163
|
+
import { existsSync as existsSync68, readFileSync as readFileSync65 } from "fs";
|
|
436127
436164
|
import { join as join185 } from "path";
|
|
436128
436165
|
function defaultGuard(skipPermissions) {
|
|
436129
436166
|
return {
|
|
@@ -436144,7 +436181,7 @@ function defaultMemory(cwd2) {
|
|
|
436144
436181
|
loadMemorySnippet: (scope, agentType) => {
|
|
436145
436182
|
const base2 = scope === "project" ? join185(cwd2, ".ur", "memory") : join185(cwd2, ".ur", "memory");
|
|
436146
436183
|
const path22 = join185(base2, `${agentType}.md`);
|
|
436147
|
-
const legacy = existsSync68(path22) ?
|
|
436184
|
+
const legacy = existsSync68(path22) ? readFileSync65(path22, "utf-8") : "";
|
|
436148
436185
|
if (scope !== "project")
|
|
436149
436186
|
return legacy || null;
|
|
436150
436187
|
try {
|
|
@@ -436550,7 +436587,7 @@ import {
|
|
|
436550
436587
|
existsSync as existsSync69,
|
|
436551
436588
|
mkdirSync as mkdirSync49,
|
|
436552
436589
|
readdirSync as readdirSync25,
|
|
436553
|
-
readFileSync as
|
|
436590
|
+
readFileSync as readFileSync66,
|
|
436554
436591
|
rmSync as rmSync14,
|
|
436555
436592
|
writeFileSync as writeFileSync49
|
|
436556
436593
|
} from "fs";
|
|
@@ -436574,13 +436611,13 @@ function listSpecs2(cwd2) {
|
|
|
436574
436611
|
const dir = specsDir(cwd2);
|
|
436575
436612
|
if (!existsSync69(dir))
|
|
436576
436613
|
return [];
|
|
436577
|
-
return readdirSync25(dir).filter((entry) => existsSync69(join186(dir, entry, "spec.json"))).map((entry) => safeParseJSON(
|
|
436614
|
+
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
436615
|
}
|
|
436579
436616
|
function loadSpec(cwd2, name) {
|
|
436580
436617
|
const path22 = metaPath(cwd2, name);
|
|
436581
436618
|
if (!existsSync69(path22))
|
|
436582
436619
|
return null;
|
|
436583
|
-
const parsed = safeParseJSON(
|
|
436620
|
+
const parsed = safeParseJSON(readFileSync66(path22, "utf-8"), false);
|
|
436584
436621
|
return parsed && typeof parsed === "object" ? parsed : null;
|
|
436585
436622
|
}
|
|
436586
436623
|
function saveMeta(cwd2, meta) {
|
|
@@ -436590,7 +436627,7 @@ function saveMeta(cwd2, meta) {
|
|
|
436590
436627
|
}
|
|
436591
436628
|
function readPhase(cwd2, name, phase) {
|
|
436592
436629
|
const path22 = join186(specDir(cwd2, name), phaseFile(phase));
|
|
436593
|
-
return existsSync69(path22) ?
|
|
436630
|
+
return existsSync69(path22) ? readFileSync66(path22, "utf-8") : null;
|
|
436594
436631
|
}
|
|
436595
436632
|
function writePhase(cwd2, name, phase, body) {
|
|
436596
436633
|
mkdirSync49(specDir(cwd2, name), { recursive: true });
|
|
@@ -436851,7 +436888,7 @@ var init_spec = __esm(() => {
|
|
|
436851
436888
|
});
|
|
436852
436889
|
|
|
436853
436890
|
// src/services/agents/specVerifier.ts
|
|
436854
|
-
import { existsSync as existsSync70, mkdirSync as mkdirSync50, readFileSync as
|
|
436891
|
+
import { existsSync as existsSync70, mkdirSync as mkdirSync50, readFileSync as readFileSync67, writeFileSync as writeFileSync50 } from "fs";
|
|
436855
436892
|
import { join as join187 } from "path";
|
|
436856
436893
|
function recordPath(cwd2, name) {
|
|
436857
436894
|
return join187(cwd2, ".ur", "specs", name, RECORD_FILE);
|
|
@@ -436863,7 +436900,7 @@ function loadVerificationRecord(cwd2, name) {
|
|
|
436863
436900
|
const path22 = recordPath(cwd2, name);
|
|
436864
436901
|
if (!existsSync70(path22))
|
|
436865
436902
|
return null;
|
|
436866
|
-
const parsed = safeParseJSON(
|
|
436903
|
+
const parsed = safeParseJSON(readFileSync67(path22, "utf-8"), false);
|
|
436867
436904
|
if (!parsed || typeof parsed !== "object")
|
|
436868
436905
|
return null;
|
|
436869
436906
|
return parsed;
|
|
@@ -437330,7 +437367,7 @@ var init_spec3 = __esm(() => {
|
|
|
437330
437367
|
});
|
|
437331
437368
|
|
|
437332
437369
|
// src/services/agents/escalation.ts
|
|
437333
|
-
import { existsSync as existsSync71, mkdirSync as mkdirSync51, readFileSync as
|
|
437370
|
+
import { existsSync as existsSync71, mkdirSync as mkdirSync51, readFileSync as readFileSync68, writeFileSync as writeFileSync51 } from "fs";
|
|
437334
437371
|
import { join as join188 } from "path";
|
|
437335
437372
|
function scoreOracle(model) {
|
|
437336
437373
|
let score = (model.contextLength ?? 0) / 1000;
|
|
@@ -437519,7 +437556,7 @@ function loadPolicy(cwd2) {
|
|
|
437519
437556
|
const path22 = policyPath(cwd2);
|
|
437520
437557
|
if (!existsSync71(path22))
|
|
437521
437558
|
return {};
|
|
437522
|
-
const parsed = safeParseJSON(
|
|
437559
|
+
const parsed = safeParseJSON(readFileSync68(path22, "utf-8"), false);
|
|
437523
437560
|
return parsed && typeof parsed === "object" ? parsed : {};
|
|
437524
437561
|
}
|
|
437525
437562
|
function savePolicy(cwd2, policy) {
|
|
@@ -438372,7 +438409,7 @@ var exports_guardrails = {};
|
|
|
438372
438409
|
__export(exports_guardrails, {
|
|
438373
438410
|
call: () => call87
|
|
438374
438411
|
});
|
|
438375
|
-
import { existsSync as existsSync73, readFileSync as
|
|
438412
|
+
import { existsSync as existsSync73, readFileSync as readFileSync69 } from "fs";
|
|
438376
438413
|
function optionValue5(tokens, flag) {
|
|
438377
438414
|
const index2 = tokens.indexOf(flag);
|
|
438378
438415
|
return index2 >= 0 ? tokens[index2 + 1] : undefined;
|
|
@@ -438441,7 +438478,7 @@ var call87 = async (args) => {
|
|
|
438441
438478
|
if (!existsSync73(filePath)) {
|
|
438442
438479
|
return { type: "text", value: `File not found: ${filePath}` };
|
|
438443
438480
|
}
|
|
438444
|
-
text =
|
|
438481
|
+
text = readFileSync69(filePath, "utf-8");
|
|
438445
438482
|
} else {
|
|
438446
438483
|
text = tokens.filter((token) => !token.startsWith("--") && token !== "check").join(" ");
|
|
438447
438484
|
}
|
|
@@ -438479,7 +438516,7 @@ var init_guardrails3 = __esm(() => {
|
|
|
438479
438516
|
});
|
|
438480
438517
|
|
|
438481
438518
|
// src/services/agents/execTarget.ts
|
|
438482
|
-
import { existsSync as existsSync74, mkdirSync as mkdirSync52, readFileSync as
|
|
438519
|
+
import { existsSync as existsSync74, mkdirSync as mkdirSync52, readFileSync as readFileSync70, writeFileSync as writeFileSync52 } from "fs";
|
|
438483
438520
|
import { join as join190 } from "path";
|
|
438484
438521
|
function isContainerized(config3) {
|
|
438485
438522
|
return config3.kind !== "local";
|
|
@@ -438510,7 +438547,7 @@ function readDevcontainerImage(cwd2) {
|
|
|
438510
438547
|
const path22 = join190(cwd2, ".devcontainer", "devcontainer.json");
|
|
438511
438548
|
if (!existsSync74(path22))
|
|
438512
438549
|
return;
|
|
438513
|
-
const parsed = safeParseJSON(
|
|
438550
|
+
const parsed = safeParseJSON(readFileSync70(path22, "utf-8"), false);
|
|
438514
438551
|
if (parsed && typeof parsed === "object" && typeof parsed.image === "string") {
|
|
438515
438552
|
return parsed.image;
|
|
438516
438553
|
}
|
|
@@ -438529,7 +438566,7 @@ function resolveExecTarget(cwd2, env4 = process.env) {
|
|
|
438529
438566
|
return { kind: "local" };
|
|
438530
438567
|
const path22 = configPath(cwd2);
|
|
438531
438568
|
if (existsSync74(path22)) {
|
|
438532
|
-
const parsed = safeParseJSON(
|
|
438569
|
+
const parsed = safeParseJSON(readFileSync70(path22, "utf-8"), false);
|
|
438533
438570
|
if (parsed && typeof parsed === "object") {
|
|
438534
438571
|
const config3 = parsed;
|
|
438535
438572
|
if (config3.kind === "devcontainer" && !config3.image) {
|
|
@@ -439179,7 +439216,7 @@ var init_electronDesktopQaDriver = __esm(() => {
|
|
|
439179
439216
|
import {
|
|
439180
439217
|
existsSync as existsSync75,
|
|
439181
439218
|
lstatSync as lstatSync16,
|
|
439182
|
-
readFileSync as
|
|
439219
|
+
readFileSync as readFileSync71,
|
|
439183
439220
|
realpathSync as realpathSync13,
|
|
439184
439221
|
readdirSync as readdirSync26,
|
|
439185
439222
|
rmSync as rmSync15,
|
|
@@ -439246,7 +439283,7 @@ function loadDesktopQaFixture(path22) {
|
|
|
439246
439283
|
}
|
|
439247
439284
|
let input;
|
|
439248
439285
|
try {
|
|
439249
|
-
input = JSON.parse(
|
|
439286
|
+
input = JSON.parse(readFileSync71(path22, "utf-8"));
|
|
439250
439287
|
} catch (error40) {
|
|
439251
439288
|
throw new Error(`Unable to parse desktop QA fixture: ${error40 instanceof Error ? error40.message : String(error40)}`);
|
|
439252
439289
|
}
|
|
@@ -440432,7 +440469,7 @@ var exports_ci_loop = {};
|
|
|
440432
440469
|
__export(exports_ci_loop, {
|
|
440433
440470
|
call: () => call91
|
|
440434
440471
|
});
|
|
440435
|
-
import { existsSync as existsSync77, readFileSync as
|
|
440472
|
+
import { existsSync as existsSync77, readFileSync as readFileSync72, statSync as statSync25 } from "fs";
|
|
440436
440473
|
import { resolve as resolve63 } from "path";
|
|
440437
440474
|
function option17(tokens, name) {
|
|
440438
440475
|
const index2 = tokens.indexOf(name);
|
|
@@ -440459,7 +440496,7 @@ var call91 = async (args) => {
|
|
|
440459
440496
|
if (!existsSync77(logPath2)) {
|
|
440460
440497
|
return { type: "text", value: `Log file not found: ${logPath2}` };
|
|
440461
440498
|
}
|
|
440462
|
-
seedError =
|
|
440499
|
+
seedError = readFileSync72(logPath2, "utf-8");
|
|
440463
440500
|
}
|
|
440464
440501
|
const target = resolveExecTarget(cwd2);
|
|
440465
440502
|
const result = await runCiLoop({
|
|
@@ -440504,7 +440541,7 @@ var init_ci_loop2 = __esm(() => {
|
|
|
440504
440541
|
// src/services/agents/testFirstLoop.ts
|
|
440505
440542
|
import {
|
|
440506
440543
|
mkdirSync as mkdirSync55,
|
|
440507
|
-
readFileSync as
|
|
440544
|
+
readFileSync as readFileSync73,
|
|
440508
440545
|
writeFileSync as writeFileSync55
|
|
440509
440546
|
} from "fs";
|
|
440510
440547
|
import { dirname as dirname73, join as join194, relative as relative45 } from "path";
|
|
@@ -440541,7 +440578,7 @@ function writeFailureTrace(cwd2, traceDir, run3, result, now8) {
|
|
|
440541
440578
|
}
|
|
440542
440579
|
function readExistingVerifyConfig(path22) {
|
|
440543
440580
|
try {
|
|
440544
|
-
const parsed = JSON.parse(
|
|
440581
|
+
const parsed = JSON.parse(readFileSync73(path22, "utf8"));
|
|
440545
440582
|
return parsed && typeof parsed === "object" ? parsed : {};
|
|
440546
440583
|
} catch {
|
|
440547
440584
|
return {};
|
|
@@ -441657,7 +441694,7 @@ var exports_trigger = {};
|
|
|
441657
441694
|
__export(exports_trigger, {
|
|
441658
441695
|
call: () => call96
|
|
441659
441696
|
});
|
|
441660
|
-
import { existsSync as existsSync78, readFileSync as
|
|
441697
|
+
import { existsSync as existsSync78, readFileSync as readFileSync74 } from "fs";
|
|
441661
441698
|
function option22(tokens, name) {
|
|
441662
441699
|
const index2 = tokens.indexOf(name);
|
|
441663
441700
|
if (index2 === -1)
|
|
@@ -441696,7 +441733,7 @@ ${usage22()}` };
|
|
|
441696
441733
|
if (!existsSync78(file2)) {
|
|
441697
441734
|
return { type: "text", value: `Payload file not found: ${file2}` };
|
|
441698
441735
|
}
|
|
441699
|
-
const payload = safeParseJSON(
|
|
441736
|
+
const payload = safeParseJSON(readFileSync74(file2, "utf-8"), false);
|
|
441700
441737
|
if (payload === null || typeof payload !== "object") {
|
|
441701
441738
|
return { type: "text", value: `Payload is not valid JSON: ${file2}` };
|
|
441702
441739
|
}
|
|
@@ -442188,7 +442225,7 @@ __export(exports_evals, {
|
|
|
442188
442225
|
import {
|
|
442189
442226
|
existsSync as existsSync80,
|
|
442190
442227
|
mkdirSync as mkdirSync57,
|
|
442191
|
-
readFileSync as
|
|
442228
|
+
readFileSync as readFileSync75,
|
|
442192
442229
|
readdirSync as readdirSync28,
|
|
442193
442230
|
rmSync as rmSync16,
|
|
442194
442231
|
writeFileSync as writeFileSync57
|
|
@@ -442670,7 +442707,7 @@ function readChildMetricsFile(path22) {
|
|
|
442670
442707
|
if (!existsSync80(path22))
|
|
442671
442708
|
return;
|
|
442672
442709
|
try {
|
|
442673
|
-
const parsed = safeParseJSON(
|
|
442710
|
+
const parsed = safeParseJSON(readFileSync75(path22, "utf-8"), false);
|
|
442674
442711
|
if (parsed && typeof parsed === "object")
|
|
442675
442712
|
return parsed;
|
|
442676
442713
|
} catch {}
|
|
@@ -443064,7 +443101,7 @@ function loadAllReports(cwd2) {
|
|
|
443064
443101
|
for (const file2 of readdirSync28(dir)) {
|
|
443065
443102
|
if (!file2.endsWith(".json") || file2.startsWith("reliability-"))
|
|
443066
443103
|
continue;
|
|
443067
|
-
const parsed = safeParseJSON(
|
|
443104
|
+
const parsed = safeParseJSON(readFileSync75(join196(dir, file2), "utf-8"), false);
|
|
443068
443105
|
if (parsed && typeof parsed === "object")
|
|
443069
443106
|
reports.push(parsed);
|
|
443070
443107
|
}
|
|
@@ -443078,7 +443115,7 @@ function loadAllReliability(cwd2) {
|
|
|
443078
443115
|
for (const file2 of readdirSync28(dir)) {
|
|
443079
443116
|
if (!file2.startsWith("reliability-") || !file2.endsWith(".json"))
|
|
443080
443117
|
continue;
|
|
443081
|
-
const parsed = safeParseJSON(
|
|
443118
|
+
const parsed = safeParseJSON(readFileSync75(join196(dir, file2), "utf-8"), false);
|
|
443082
443119
|
if (parsed && typeof parsed === "object")
|
|
443083
443120
|
reports.push(parsed);
|
|
443084
443121
|
}
|
|
@@ -443163,7 +443200,7 @@ function loadRunMetrics(cwd2, suiteName, caseId) {
|
|
|
443163
443200
|
const path22 = join196(runsDir(cwd2, suiteName), `${caseId}.json`);
|
|
443164
443201
|
if (!existsSync80(path22))
|
|
443165
443202
|
return null;
|
|
443166
|
-
const parsed = safeParseJSON(
|
|
443203
|
+
const parsed = safeParseJSON(readFileSync75(path22, "utf-8"), false);
|
|
443167
443204
|
if (!parsed || typeof parsed !== "object")
|
|
443168
443205
|
return null;
|
|
443169
443206
|
return parsed;
|
|
@@ -443228,7 +443265,7 @@ function loadSuite(cwd2, name) {
|
|
|
443228
443265
|
if (!existsSync80(path22))
|
|
443229
443266
|
return null;
|
|
443230
443267
|
try {
|
|
443231
|
-
return parseSuiteText(
|
|
443268
|
+
return parseSuiteText(readFileSync75(path22, "utf-8"));
|
|
443232
443269
|
} catch {
|
|
443233
443270
|
return null;
|
|
443234
443271
|
}
|
|
@@ -443386,7 +443423,7 @@ function buildBenchmarkSuite(adapter2, records, options3 = {}) {
|
|
|
443386
443423
|
};
|
|
443387
443424
|
}
|
|
443388
443425
|
function importBenchmarkSuite(cwd2, adapter2, file2, options3 = {}) {
|
|
443389
|
-
const records = parseBenchmarkRecords(
|
|
443426
|
+
const records = parseBenchmarkRecords(readFileSync75(file2, "utf-8"));
|
|
443390
443427
|
if (records.length === 0) {
|
|
443391
443428
|
throw new Error(`No benchmark records found in ${file2}`);
|
|
443392
443429
|
}
|
|
@@ -443412,7 +443449,7 @@ function loadReport(cwd2, name) {
|
|
|
443412
443449
|
const path22 = join196(resultsDir(cwd2), `${suiteSlug(name)}.json`);
|
|
443413
443450
|
if (!existsSync80(path22))
|
|
443414
443451
|
return null;
|
|
443415
|
-
const parsed = safeParseJSON(
|
|
443452
|
+
const parsed = safeParseJSON(readFileSync75(path22, "utf-8"), false);
|
|
443416
443453
|
return parsed && typeof parsed === "object" ? parsed : null;
|
|
443417
443454
|
}
|
|
443418
443455
|
function defaultEvalSuite() {
|
|
@@ -444458,7 +444495,7 @@ var init_dna2 = __esm(() => {
|
|
|
444458
444495
|
});
|
|
444459
444496
|
|
|
444460
444497
|
// src/services/agents/prSummary.ts
|
|
444461
|
-
import { existsSync as existsSync81, readFileSync as
|
|
444498
|
+
import { existsSync as existsSync81, readFileSync as readFileSync76 } from "fs";
|
|
444462
444499
|
async function git5(cwd2, args) {
|
|
444463
444500
|
return execFileNoThrowWithCwd(gitExe(), args, { cwd: cwd2, timeout: 30000, preserveOutputOnError: true });
|
|
444464
444501
|
}
|
|
@@ -444498,7 +444535,7 @@ function detectTests(cwd2) {
|
|
|
444498
444535
|
const pkgPath = `${cwd2}/package.json`;
|
|
444499
444536
|
if (existsSync81(pkgPath)) {
|
|
444500
444537
|
try {
|
|
444501
|
-
const pkg = JSON.parse(
|
|
444538
|
+
const pkg = JSON.parse(readFileSync76(pkgPath, "utf-8"));
|
|
444502
444539
|
for (const name of Object.keys(pkg.scripts ?? {})) {
|
|
444503
444540
|
if (/^(test|t|check|lint|typecheck|ci)$/.test(name) || /^(test|check|lint):/.test(name)) {
|
|
444504
444541
|
tests.push(`bun run ${name}`);
|
|
@@ -445984,7 +446021,7 @@ var init_remember2 = __esm(() => {
|
|
|
445984
446021
|
import {
|
|
445985
446022
|
existsSync as existsSync83,
|
|
445986
446023
|
mkdirSync as mkdirSync59,
|
|
445987
|
-
readFileSync as
|
|
446024
|
+
readFileSync as readFileSync77,
|
|
445988
446025
|
readdirSync as readdirSync29,
|
|
445989
446026
|
writeFileSync as writeFileSync59
|
|
445990
446027
|
} from "fs";
|
|
@@ -446002,7 +446039,7 @@ function loadMemoryRetentionPolicy(cwd2) {
|
|
|
446002
446039
|
const path22 = policyPath2(cwd2);
|
|
446003
446040
|
if (!existsSync83(path22))
|
|
446004
446041
|
return defaultMemoryRetentionPolicy();
|
|
446005
|
-
const parsed = safeParseJSON(
|
|
446042
|
+
const parsed = safeParseJSON(readFileSync77(path22, "utf-8"), false);
|
|
446006
446043
|
if (!parsed || typeof parsed !== "object")
|
|
446007
446044
|
return defaultMemoryRetentionPolicy();
|
|
446008
446045
|
const p2 = parsed;
|
|
@@ -446043,7 +446080,7 @@ function readJsonl2(file2) {
|
|
|
446043
446080
|
if (!existsSync83(file2))
|
|
446044
446081
|
return [];
|
|
446045
446082
|
const records = [];
|
|
446046
|
-
for (const line of
|
|
446083
|
+
for (const line of readFileSync77(file2, "utf-8").split(`
|
|
446047
446084
|
`)) {
|
|
446048
446085
|
if (!line.trim())
|
|
446049
446086
|
continue;
|
|
@@ -446205,7 +446242,7 @@ var exports_semantic_memory = {};
|
|
|
446205
446242
|
__export(exports_semantic_memory, {
|
|
446206
446243
|
call: () => call106
|
|
446207
446244
|
});
|
|
446208
|
-
import { existsSync as existsSync84, mkdirSync as mkdirSync60, readdirSync as readdirSync30, readFileSync as
|
|
446245
|
+
import { existsSync as existsSync84, mkdirSync as mkdirSync60, readdirSync as readdirSync30, readFileSync as readFileSync78, statSync as statSync26, writeFileSync as writeFileSync60 } from "fs";
|
|
446209
446246
|
import { basename as basename48, join as join201 } from "path";
|
|
446210
446247
|
function indexPath3() {
|
|
446211
446248
|
return join201(getCwd(), ".ur", "semantic-memory", "index", "index.json");
|
|
@@ -446242,7 +446279,7 @@ function chunkText2(source, text) {
|
|
|
446242
446279
|
}));
|
|
446243
446280
|
}
|
|
446244
446281
|
function buildIndex2() {
|
|
446245
|
-
const entries = sourceFiles().flatMap((file2) => chunkText2(file2,
|
|
446282
|
+
const entries = sourceFiles().flatMap((file2) => chunkText2(file2, readFileSync78(file2, "utf-8")));
|
|
446246
446283
|
const index2 = {
|
|
446247
446284
|
version: 1,
|
|
446248
446285
|
mode: "lexical",
|
|
@@ -446257,7 +446294,7 @@ function buildIndex2() {
|
|
|
446257
446294
|
function loadIndex3() {
|
|
446258
446295
|
if (!existsSync84(indexPath3()))
|
|
446259
446296
|
return null;
|
|
446260
|
-
const parsed = safeParseJSON(
|
|
446297
|
+
const parsed = safeParseJSON(readFileSync78(indexPath3(), "utf-8"), false);
|
|
446261
446298
|
return parsed && typeof parsed === "object" ? parsed : null;
|
|
446262
446299
|
}
|
|
446263
446300
|
function searchIndex(index2, query2) {
|
|
@@ -615596,7 +615633,7 @@ import { exec as exec8 } from "child_process";
|
|
|
615596
615633
|
import {
|
|
615597
615634
|
existsSync as existsSync85,
|
|
615598
615635
|
mkdirSync as mkdirSync61,
|
|
615599
|
-
readFileSync as
|
|
615636
|
+
readFileSync as readFileSync79,
|
|
615600
615637
|
readdirSync as readdirSync31,
|
|
615601
615638
|
statSync as statSync27,
|
|
615602
615639
|
writeFileSync as writeFileSync61
|
|
@@ -615719,7 +615756,7 @@ function buildRepoEditIndex(root2) {
|
|
|
615719
615756
|
let content = "";
|
|
615720
615757
|
if (text && stat42.size <= 1e6) {
|
|
615721
615758
|
try {
|
|
615722
|
-
content =
|
|
615759
|
+
content = readFileSync79(abs, "utf-8");
|
|
615723
615760
|
} catch {
|
|
615724
615761
|
content = "";
|
|
615725
615762
|
}
|
|
@@ -615750,7 +615787,7 @@ function loadRepoEditIndex(root2) {
|
|
|
615750
615787
|
const path22 = repoEditIndexPath(root2);
|
|
615751
615788
|
if (!existsSync85(path22))
|
|
615752
615789
|
return null;
|
|
615753
|
-
const parsed = safeParseJSON(
|
|
615790
|
+
const parsed = safeParseJSON(readFileSync79(path22, "utf-8"), false);
|
|
615754
615791
|
return parsed && typeof parsed === "object" ? parsed : null;
|
|
615755
615792
|
}
|
|
615756
615793
|
function searchRepoEditIndex(root2, query2, index2 = loadRepoEditIndex(root2) ?? buildRepoEditIndex(root2)) {
|
|
@@ -615776,7 +615813,7 @@ function searchRepoEditIndex(root2, query2, index2 = loadRepoEditIndex(root2) ??
|
|
|
615776
615813
|
const lines = [];
|
|
615777
615814
|
if (file2.text && score > 0) {
|
|
615778
615815
|
try {
|
|
615779
|
-
const content =
|
|
615816
|
+
const content = readFileSync79(join202(root2, file2.path), "utf-8");
|
|
615780
615817
|
const split = content.split(`
|
|
615781
615818
|
`);
|
|
615782
615819
|
for (let i3 = 0;i3 < split.length && lines.length < 4; i3++) {
|
|
@@ -615833,7 +615870,7 @@ function planRename(root2, from, to) {
|
|
|
615833
615870
|
const abs = join202(root2, file2);
|
|
615834
615871
|
let oldContent;
|
|
615835
615872
|
try {
|
|
615836
|
-
oldContent =
|
|
615873
|
+
oldContent = readFileSync79(abs, "utf-8");
|
|
615837
615874
|
} catch {
|
|
615838
615875
|
return [];
|
|
615839
615876
|
}
|
|
@@ -616423,7 +616460,7 @@ import {
|
|
|
616423
616460
|
chmodSync as chmodSync11,
|
|
616424
616461
|
existsSync as existsSync86,
|
|
616425
616462
|
mkdirSync as mkdirSync62,
|
|
616426
|
-
readFileSync as
|
|
616463
|
+
readFileSync as readFileSync80,
|
|
616427
616464
|
realpathSync as realpathSync16,
|
|
616428
616465
|
renameSync as renameSync14,
|
|
616429
616466
|
rmSync as rmSync18,
|
|
@@ -616523,7 +616560,7 @@ function applyWorkspaceEdit(root2, edit2) {
|
|
|
616523
616560
|
const edits = normalizeFileEdits(file2, rawEdits);
|
|
616524
616561
|
const abs = resolveWorkspaceFile(root2, file2);
|
|
616525
616562
|
const existed = existsSync86(abs);
|
|
616526
|
-
const oldContent = existed ?
|
|
616563
|
+
const oldContent = existed ? readFileSync80(abs, "utf-8") : "";
|
|
616527
616564
|
const mode = existed ? statSync28(abs).mode : undefined;
|
|
616528
616565
|
const newContent = applyFileEdits(oldContent, edits);
|
|
616529
616566
|
snapshots.set(file2, { content: oldContent, existed, mode });
|
|
@@ -616566,7 +616603,7 @@ function formatWorkspaceEditAsPatch(root2, edit2) {
|
|
|
616566
616603
|
for (const [file2] of byFile) {
|
|
616567
616604
|
const safeFile = workspaceRelativePath(root2, file2);
|
|
616568
616605
|
const abs = resolveWorkspaceFile(root2, safeFile);
|
|
616569
|
-
const oldContent = existsSync86(abs) ?
|
|
616606
|
+
const oldContent = existsSync86(abs) ? readFileSync80(abs, "utf-8") : "";
|
|
616570
616607
|
const sorted = [...byFile.get(file2) ?? []].sort((a2, b) => b.start - a2.start);
|
|
616571
616608
|
const newContent = applyFileEdits(oldContent, sorted);
|
|
616572
616609
|
pieces.push(createTwoFilesPatch(`a/${file2}`, `b/${file2}`, oldContent, newContent, undefined, undefined, { context: 3 }));
|
|
@@ -616582,7 +616619,7 @@ function workspaceEditFromLsp(root2, lspEdit) {
|
|
|
616582
616619
|
const changes = "changes" in lspEdit && lspEdit.changes && typeof lspEdit.changes === "object" ? lspEdit.changes : {};
|
|
616583
616620
|
for (const [uri, textEdits] of Object.entries(changes)) {
|
|
616584
616621
|
const abs = uriToAbsolutePath(root2, uri);
|
|
616585
|
-
const content =
|
|
616622
|
+
const content = readFileSync80(abs, "utf-8");
|
|
616586
616623
|
const file2 = absoluteToRelative(root2, abs);
|
|
616587
616624
|
for (const raw of Array.isArray(textEdits) ? textEdits : []) {
|
|
616588
616625
|
const converted = lspTextEditToEdit(file2, content, raw);
|
|
@@ -616597,7 +616634,7 @@ function workspaceEditFromLsp(root2, lspEdit) {
|
|
|
616597
616634
|
if (!uri)
|
|
616598
616635
|
continue;
|
|
616599
616636
|
const abs = uriToAbsolutePath(root2, uri);
|
|
616600
|
-
const content =
|
|
616637
|
+
const content = readFileSync80(abs, "utf-8");
|
|
616601
616638
|
const file2 = absoluteToRelative(root2, abs);
|
|
616602
616639
|
const textEdits = "edits" in change && Array.isArray(change.edits) ? change.edits : [];
|
|
616603
616640
|
for (const raw of textEdits) {
|
|
@@ -616662,7 +616699,7 @@ var init_workspaceEdit = __esm(() => {
|
|
|
616662
616699
|
});
|
|
616663
616700
|
|
|
616664
616701
|
// src/services/repoEditing/ast/lspEditEngine.ts
|
|
616665
|
-
import { readFileSync as
|
|
616702
|
+
import { readFileSync as readFileSync81 } from "fs";
|
|
616666
616703
|
import { pathToFileURL as pathToFileURL8 } from "url";
|
|
616667
616704
|
async function getManager() {
|
|
616668
616705
|
if (!manager) {
|
|
@@ -616680,7 +616717,7 @@ async function shutdownLspManager() {
|
|
|
616680
616717
|
async function lspRename(root2, file2, line, column, newName) {
|
|
616681
616718
|
const mgr = await getManager();
|
|
616682
616719
|
const abs = resolveWorkspaceFile(root2, file2);
|
|
616683
|
-
const content =
|
|
616720
|
+
const content = readFileSync81(abs, "utf-8");
|
|
616684
616721
|
await mgr.openFile(abs, content);
|
|
616685
616722
|
const prepare = await mgr.sendRequest(abs, "textDocument/prepareRename", {
|
|
616686
616723
|
textDocument: { uri: pathToFileURL8(abs).href },
|
|
@@ -616705,7 +616742,7 @@ var init_lspEditEngine = __esm(() => {
|
|
|
616705
616742
|
|
|
616706
616743
|
// src/services/repoEditing/ast/typescriptEngine.ts
|
|
616707
616744
|
import { dirname as dirname78, join as join204, relative as relative50 } from "path";
|
|
616708
|
-
import { existsSync as existsSync87, readFileSync as
|
|
616745
|
+
import { existsSync as existsSync87, readFileSync as readFileSync82 } from "fs";
|
|
616709
616746
|
function loadProgram(root2, files) {
|
|
616710
616747
|
const configPath2 = import_typescript3.default.findConfigFile(root2, import_typescript3.default.sys.fileExists, "tsconfig.json");
|
|
616711
616748
|
let program;
|
|
@@ -616808,7 +616845,7 @@ function addOldText(root2, edits) {
|
|
|
616808
616845
|
let content = contentByFile.get(edit2.file);
|
|
616809
616846
|
if (content === undefined) {
|
|
616810
616847
|
const abs = resolveWorkspaceFile(root2, edit2.file);
|
|
616811
|
-
content = existsSync87(abs) ?
|
|
616848
|
+
content = existsSync87(abs) ? readFileSync82(abs, "utf-8") : "";
|
|
616812
616849
|
contentByFile.set(edit2.file, content);
|
|
616813
616850
|
}
|
|
616814
616851
|
return { ...edit2, oldText: content.slice(edit2.start, edit2.end) };
|
|
@@ -617023,7 +617060,7 @@ function tsOrganizeImports(ctx, options4) {
|
|
|
617023
617060
|
});
|
|
617024
617061
|
for (const file2 of files) {
|
|
617025
617062
|
const abs = resolveWorkspaceFile(root2, file2);
|
|
617026
|
-
const content =
|
|
617063
|
+
const content = readFileSync82(abs, "utf-8");
|
|
617027
617064
|
const changes = service.organizeImports({ type: "file", fileName: abs, mode: import_typescript3.default.OrganizeImportsMode.SortAndCombine }, {}, { organizeImportsIgnoreCase: "auto" });
|
|
617028
617065
|
for (const change of changes) {
|
|
617029
617066
|
const safeFile = workspaceRelativePath(root2, change.fileName);
|
|
@@ -617138,7 +617175,7 @@ var init_typescriptEngine = __esm(() => {
|
|
|
617138
617175
|
});
|
|
617139
617176
|
|
|
617140
617177
|
// src/services/repoEditing/ast/treeSitterEngine.ts
|
|
617141
|
-
import { readFileSync as
|
|
617178
|
+
import { readFileSync as readFileSync83 } from "fs";
|
|
617142
617179
|
function tryLoadNativeParser(language) {
|
|
617143
617180
|
try {
|
|
617144
617181
|
const Parser2 = __require(`@tree-sitter/${language}`);
|
|
@@ -617190,7 +617227,7 @@ function treeSitterRename(options4, language) {
|
|
|
617190
617227
|
const adapter2 = getAdapter3(language);
|
|
617191
617228
|
for (const file2 of files) {
|
|
617192
617229
|
const abs = file2.startsWith("/") ? file2 : `${root2}/${file2}`;
|
|
617193
|
-
const content =
|
|
617230
|
+
const content = readFileSync83(abs, "utf-8");
|
|
617194
617231
|
const tree = adapter2.parse(file2, content);
|
|
617195
617232
|
const identifiers = collectIdentifiers(tree, from, adapter2);
|
|
617196
617233
|
for (const node of identifiers) {
|
|
@@ -617984,7 +618021,7 @@ var init_cite2 = __esm(() => {
|
|
|
617984
618021
|
});
|
|
617985
618022
|
|
|
617986
618023
|
// src/ur/fileops.ts
|
|
617987
|
-
import { existsSync as existsSync89, mkdirSync as mkdirSync63, readdirSync as readdirSync32, readFileSync as
|
|
618024
|
+
import { existsSync as existsSync89, mkdirSync as mkdirSync63, readdirSync as readdirSync32, readFileSync as readFileSync84, statSync as statSync29, writeFileSync as writeFileSync63 } from "fs";
|
|
617988
618025
|
import { extname as extname21, isAbsolute as isAbsolute46, join as join205, relative as relative51, resolve as resolve67 } from "path";
|
|
617989
618026
|
function readFileSafe2(cwd2, target, maxBytes = 64000) {
|
|
617990
618027
|
const abs = isAbsolute46(target) ? target : resolve67(cwd2, target);
|
|
@@ -617996,7 +618033,7 @@ function readFileSafe2(cwd2, target, maxBytes = 64000) {
|
|
|
617996
618033
|
if (!isTextLike(abs))
|
|
617997
618034
|
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
618035
|
try {
|
|
617999
|
-
let content =
|
|
618036
|
+
let content = readFileSync84(abs, "utf8");
|
|
618000
618037
|
if (content.length > maxBytes)
|
|
618001
618038
|
content = content.slice(0, maxBytes) + `
|
|
618002
618039
|
\u2026 [truncated at ${maxBytes} bytes]`;
|
|
@@ -618038,7 +618075,7 @@ function searchFiles(cwd2, query2, maxResults = 60) {
|
|
|
618038
618075
|
continue;
|
|
618039
618076
|
let lines;
|
|
618040
618077
|
try {
|
|
618041
|
-
lines =
|
|
618078
|
+
lines = readFileSync84(join205(cwd2, rel), "utf8").split(`
|
|
618042
618079
|
`);
|
|
618043
618080
|
} catch {
|
|
618044
618081
|
continue;
|
|
@@ -618482,13 +618519,13 @@ var exports_mode = {};
|
|
|
618482
618519
|
__export(exports_mode, {
|
|
618483
618520
|
call: () => call122
|
|
618484
618521
|
});
|
|
618485
|
-
import { existsSync as existsSync92, mkdirSync as mkdirSync64, readFileSync as
|
|
618522
|
+
import { existsSync as existsSync92, mkdirSync as mkdirSync64, readFileSync as readFileSync85, writeFileSync as writeFileSync64 } from "fs";
|
|
618486
618523
|
import { join as join206 } from "path";
|
|
618487
618524
|
var MODES2, SECURITY_MODES2, file2 = (cwd2) => join206(cwd2, ".ur", "mode"), call122 = async (args) => {
|
|
618488
618525
|
const want = (args ?? "").trim().toLowerCase();
|
|
618489
618526
|
const f = file2(getCwd());
|
|
618490
618527
|
if (!want) {
|
|
618491
|
-
const cur = existsSync92(f) ?
|
|
618528
|
+
const cur = existsSync92(f) ? readFileSync85(f, "utf8").trim() : "code";
|
|
618492
618529
|
return { type: "text", value: `mode: ${cur}
|
|
618493
618530
|
available: ${MODES2.join(", ")}
|
|
618494
618531
|
security: ${SECURITY_MODES2.join(", ")}` };
|
|
@@ -618736,7 +618773,7 @@ var init_role_mode2 = __esm(() => {
|
|
|
618736
618773
|
});
|
|
618737
618774
|
|
|
618738
618775
|
// src/ur/researchGraph.ts
|
|
618739
|
-
import { appendFileSync as appendFileSync8, existsSync as existsSync94, mkdirSync as mkdirSync66, readFileSync as
|
|
618776
|
+
import { appendFileSync as appendFileSync8, existsSync as existsSync94, mkdirSync as mkdirSync66, readFileSync as readFileSync86 } from "fs";
|
|
618740
618777
|
import { dirname as dirname79, join as join208 } from "path";
|
|
618741
618778
|
function isEntity(s) {
|
|
618742
618779
|
return ENTITIES.includes(s);
|
|
@@ -618754,7 +618791,7 @@ function listEntity(cwd2, entity) {
|
|
|
618754
618791
|
if (!existsSync94(f))
|
|
618755
618792
|
return [];
|
|
618756
618793
|
const out = [];
|
|
618757
|
-
for (const line of
|
|
618794
|
+
for (const line of readFileSync86(f, "utf8").split(`
|
|
618758
618795
|
`).filter(Boolean)) {
|
|
618759
618796
|
try {
|
|
618760
618797
|
out.push(JSON.parse(line));
|
|
@@ -632572,7 +632609,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
|
|
|
632572
632609
|
smapsRollup,
|
|
632573
632610
|
platform: process.platform,
|
|
632574
632611
|
nodeVersion: process.version,
|
|
632575
|
-
ccVersion: "1.57.
|
|
632612
|
+
ccVersion: "1.57.1"
|
|
632576
632613
|
};
|
|
632577
632614
|
}
|
|
632578
632615
|
async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
|
|
@@ -633152,7 +633189,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
633152
633189
|
var call149 = async () => {
|
|
633153
633190
|
return {
|
|
633154
633191
|
type: "text",
|
|
633155
|
-
value: "1.57.
|
|
633192
|
+
value: "1.57.1"
|
|
633156
633193
|
};
|
|
633157
633194
|
}, version2, version_default;
|
|
633158
633195
|
var init_version = __esm(() => {
|
|
@@ -644223,7 +644260,7 @@ function generateHtmlReport(data, insights) {
|
|
|
644223
644260
|
</html>`;
|
|
644224
644261
|
}
|
|
644225
644262
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
644226
|
-
const version3 = typeof MACRO !== "undefined" ? "1.57.
|
|
644263
|
+
const version3 = typeof MACRO !== "undefined" ? "1.57.1" : "unknown";
|
|
644227
644264
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
644228
644265
|
const facets_summary = {
|
|
644229
644266
|
total: facets.size,
|
|
@@ -648526,7 +648563,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
648526
648563
|
init_settings2();
|
|
648527
648564
|
init_slowOperations();
|
|
648528
648565
|
init_uuid();
|
|
648529
|
-
VERSION7 = typeof MACRO !== "undefined" ? "1.57.
|
|
648566
|
+
VERSION7 = typeof MACRO !== "undefined" ? "1.57.1" : "unknown";
|
|
648530
648567
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
648531
648568
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
648532
648569
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -649741,7 +649778,7 @@ var init_filesystem = __esm(() => {
|
|
|
649741
649778
|
});
|
|
649742
649779
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
649743
649780
|
const nonce = randomBytes20(16).toString("hex");
|
|
649744
|
-
return join227(getURTempDir(), "bundled-skills", "1.57.
|
|
649781
|
+
return join227(getURTempDir(), "bundled-skills", "1.57.1", nonce);
|
|
649745
649782
|
});
|
|
649746
649783
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
649747
649784
|
});
|
|
@@ -656036,7 +656073,7 @@ function computeFingerprint(messageText2, version3) {
|
|
|
656036
656073
|
}
|
|
656037
656074
|
function computeFingerprintFromMessages(messages) {
|
|
656038
656075
|
const firstMessageText = extractFirstMessageText(messages);
|
|
656039
|
-
return computeFingerprint(firstMessageText, "1.57.
|
|
656076
|
+
return computeFingerprint(firstMessageText, "1.57.1");
|
|
656040
656077
|
}
|
|
656041
656078
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
656042
656079
|
var init_fingerprint = () => {};
|
|
@@ -657932,7 +657969,7 @@ async function sideQuery(opts) {
|
|
|
657932
657969
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
657933
657970
|
}
|
|
657934
657971
|
const messageText2 = extractFirstUserMessageText(messages);
|
|
657935
|
-
const fingerprint2 = computeFingerprint(messageText2, "1.57.
|
|
657972
|
+
const fingerprint2 = computeFingerprint(messageText2, "1.57.1");
|
|
657936
657973
|
const attributionHeader = getAttributionHeader(fingerprint2);
|
|
657937
657974
|
const systemBlocks = [
|
|
657938
657975
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -662703,7 +662740,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
662703
662740
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
662704
662741
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
662705
662742
|
betas: getSdkBetas(),
|
|
662706
|
-
ur_version: "1.57.
|
|
662743
|
+
ur_version: "1.57.1",
|
|
662707
662744
|
output_style: outputStyle2,
|
|
662708
662745
|
agents: inputs.agents.map((agent2) => agent2.agentType),
|
|
662709
662746
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
|
|
@@ -676563,7 +676600,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
676563
676600
|
function getSemverPart(version3) {
|
|
676564
676601
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
676565
676602
|
}
|
|
676566
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.57.
|
|
676603
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.57.1") {
|
|
676567
676604
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react222.useState(() => getSemverPart(initialVersion));
|
|
676568
676605
|
if (!updatedVersion) {
|
|
676569
676606
|
return null;
|
|
@@ -676612,7 +676649,7 @@ function AutoUpdater({
|
|
|
676612
676649
|
return;
|
|
676613
676650
|
}
|
|
676614
676651
|
if (false) {}
|
|
676615
|
-
const currentVersion = "1.57.
|
|
676652
|
+
const currentVersion = "1.57.1";
|
|
676616
676653
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
676617
676654
|
let latestVersion = await getLatestVersion(channel);
|
|
676618
676655
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -676841,12 +676878,12 @@ function NativeAutoUpdater({
|
|
|
676841
676878
|
logEvent("tengu_native_auto_updater_start", {});
|
|
676842
676879
|
try {
|
|
676843
676880
|
const maxVersion = await getMaxVersion();
|
|
676844
|
-
if (maxVersion && gt("1.57.
|
|
676881
|
+
if (maxVersion && gt("1.57.1", maxVersion)) {
|
|
676845
676882
|
const msg = await getMaxVersionMessage();
|
|
676846
676883
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
676847
676884
|
}
|
|
676848
676885
|
const result = await installLatest(channel);
|
|
676849
|
-
const currentVersion = "1.57.
|
|
676886
|
+
const currentVersion = "1.57.1";
|
|
676850
676887
|
const latencyMs = Date.now() - startTime;
|
|
676851
676888
|
if (result.lockFailed) {
|
|
676852
676889
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -676983,17 +677020,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
676983
677020
|
const maxVersion = await getMaxVersion();
|
|
676984
677021
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
676985
677022
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
676986
|
-
if (gte("1.57.
|
|
676987
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.57.
|
|
677023
|
+
if (gte("1.57.1", maxVersion)) {
|
|
677024
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.57.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
676988
677025
|
setUpdateAvailable(false);
|
|
676989
677026
|
return;
|
|
676990
677027
|
}
|
|
676991
677028
|
latest = maxVersion;
|
|
676992
677029
|
}
|
|
676993
|
-
const hasUpdate = latest && !gte("1.57.
|
|
677030
|
+
const hasUpdate = latest && !gte("1.57.1", latest) && !shouldSkipVersion(latest);
|
|
676994
677031
|
setUpdateAvailable(!!hasUpdate);
|
|
676995
677032
|
if (hasUpdate) {
|
|
676996
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.57.
|
|
677033
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.57.1"} -> ${latest}`);
|
|
676997
677034
|
}
|
|
676998
677035
|
};
|
|
676999
677036
|
$2[0] = t1;
|
|
@@ -677027,7 +677064,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
677027
677064
|
wrap: "truncate",
|
|
677028
677065
|
children: [
|
|
677029
677066
|
"currentVersion: ",
|
|
677030
|
-
"1.57.
|
|
677067
|
+
"1.57.1"
|
|
677031
677068
|
]
|
|
677032
677069
|
}, undefined, true, undefined, this);
|
|
677033
677070
|
$2[3] = verbose;
|
|
@@ -687724,7 +687761,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
687724
687761
|
project_dir: getOriginalCwd(),
|
|
687725
687762
|
added_dirs: addedDirs
|
|
687726
687763
|
},
|
|
687727
|
-
version: "1.57.
|
|
687764
|
+
version: "1.57.1",
|
|
687728
687765
|
output_style: {
|
|
687729
687766
|
name: outputStyleName
|
|
687730
687767
|
},
|
|
@@ -687807,7 +687844,7 @@ function StatusLineInner({
|
|
|
687807
687844
|
const taskValues = Object.values(tasks2);
|
|
687808
687845
|
const taskRunningCount = taskValues.filter((task2) => task2.status === "running" || task2.status === "pending").length;
|
|
687809
687846
|
const defaultStatusLineText = buildDefaultStatusBar({
|
|
687810
|
-
version: "1.57.
|
|
687847
|
+
version: "1.57.1",
|
|
687811
687848
|
providerLabel: providerRuntime.providerLabel,
|
|
687812
687849
|
authMode: providerRuntime.authLabel,
|
|
687813
687850
|
model: providerRuntime.model ?? renderModelName(mainLoopModel),
|
|
@@ -699950,7 +699987,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
|
|
|
699950
699987
|
} catch {}
|
|
699951
699988
|
const data = {
|
|
699952
699989
|
trigger: trigger2,
|
|
699953
|
-
version: "1.57.
|
|
699990
|
+
version: "1.57.1",
|
|
699954
699991
|
platform: process.platform,
|
|
699955
699992
|
transcript,
|
|
699956
699993
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -712230,7 +712267,7 @@ function WelcomeV2() {
|
|
|
712230
712267
|
dimColor: true,
|
|
712231
712268
|
children: [
|
|
712232
712269
|
"v",
|
|
712233
|
-
"1.57.
|
|
712270
|
+
"1.57.1"
|
|
712234
712271
|
]
|
|
712235
712272
|
}, undefined, true, undefined, this)
|
|
712236
712273
|
]
|
|
@@ -713490,7 +713527,7 @@ function completeOnboarding() {
|
|
|
713490
713527
|
saveGlobalConfig((current) => ({
|
|
713491
713528
|
...current,
|
|
713492
713529
|
hasCompletedOnboarding: true,
|
|
713493
|
-
lastOnboardingVersion: "1.57.
|
|
713530
|
+
lastOnboardingVersion: "1.57.1"
|
|
713494
713531
|
}));
|
|
713495
713532
|
}
|
|
713496
713533
|
function showDialog(root2, renderer) {
|
|
@@ -718534,7 +718571,7 @@ function appendToLog(path24, message) {
|
|
|
718534
718571
|
cwd: getFsImplementation().cwd(),
|
|
718535
718572
|
userType: process.env.USER_TYPE,
|
|
718536
718573
|
sessionId: getSessionId(),
|
|
718537
|
-
version: "1.57.
|
|
718574
|
+
version: "1.57.1"
|
|
718538
718575
|
};
|
|
718539
718576
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
718540
718577
|
}
|
|
@@ -722693,8 +722730,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
722693
722730
|
}
|
|
722694
722731
|
async function checkEnvLessBridgeMinVersion() {
|
|
722695
722732
|
const cfg = await getEnvLessBridgeConfig();
|
|
722696
|
-
if (cfg.min_version && lt("1.57.
|
|
722697
|
-
return `Your version of UR (${"1.57.
|
|
722733
|
+
if (cfg.min_version && lt("1.57.1", cfg.min_version)) {
|
|
722734
|
+
return `Your version of UR (${"1.57.1"}) is too old for Remote Control.
|
|
722698
722735
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
722699
722736
|
}
|
|
722700
722737
|
return null;
|
|
@@ -723168,7 +723205,7 @@ async function initBridgeCore(params) {
|
|
|
723168
723205
|
const rawApi = createBridgeApiClient({
|
|
723169
723206
|
baseUrl,
|
|
723170
723207
|
getAccessToken,
|
|
723171
|
-
runnerVersion: "1.57.
|
|
723208
|
+
runnerVersion: "1.57.1",
|
|
723172
723209
|
onDebug: logForDebugging,
|
|
723173
723210
|
onAuth401,
|
|
723174
723211
|
getTrustedDeviceToken
|
|
@@ -732640,7 +732677,7 @@ function getAgUiCapabilities() {
|
|
|
732640
732677
|
name: "UR-Nexus",
|
|
732641
732678
|
type: "ur-nexus",
|
|
732642
732679
|
description: "Provider-flexible, local-first autonomous engineering workflow agent.",
|
|
732643
|
-
version: "1.57.
|
|
732680
|
+
version: "1.57.1",
|
|
732644
732681
|
provider: "UR",
|
|
732645
732682
|
documentationUrl: "https://github.com/Maitham16/UR/blob/master/docs/AG_UI.md"
|
|
732646
732683
|
},
|
|
@@ -733780,7 +733817,7 @@ function createMCPServer(cwd4, debug2, verbose) {
|
|
|
733780
733817
|
};
|
|
733781
733818
|
const server2 = new Server({
|
|
733782
733819
|
name: "ur-nexus",
|
|
733783
|
-
version: "1.57.
|
|
733820
|
+
version: "1.57.1"
|
|
733784
733821
|
}, {
|
|
733785
733822
|
capabilities: {
|
|
733786
733823
|
tools: {}
|
|
@@ -733934,7 +733971,7 @@ import {
|
|
|
733934
733971
|
lstatSync as lstatSync19,
|
|
733935
733972
|
mkdirSync as mkdirSync69,
|
|
733936
733973
|
openSync as openSync12,
|
|
733937
|
-
readFileSync as
|
|
733974
|
+
readFileSync as readFileSync87,
|
|
733938
733975
|
renameSync as renameSync15,
|
|
733939
733976
|
statSync as statSync31,
|
|
733940
733977
|
unlinkSync as unlinkSync15,
|
|
@@ -734044,7 +734081,7 @@ class DurableMcp2026TaskStore {
|
|
|
734044
734081
|
quarantineTaskManifest(path24);
|
|
734045
734082
|
return { version: TASK_MANIFEST_VERSION, tasks: [] };
|
|
734046
734083
|
}
|
|
734047
|
-
const parsed = JSON.parse(
|
|
734084
|
+
const parsed = JSON.parse(readFileSync87(path24, "utf8"));
|
|
734048
734085
|
if (!isRecord6(parsed) || parsed.version !== TASK_MANIFEST_VERSION || !Array.isArray(parsed.tasks)) {
|
|
734049
734086
|
quarantineTaskManifest(path24);
|
|
734050
734087
|
return { version: TASK_MANIFEST_VERSION, tasks: [] };
|
|
@@ -734938,7 +734975,7 @@ function thrownResponse(error40) {
|
|
|
734938
734975
|
}
|
|
734939
734976
|
async function createUrMcp2026Runtime(options4) {
|
|
734940
734977
|
const server2 = createMCPServer(options4.cwd, options4.debug === true, options4.verbose === true);
|
|
734941
|
-
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.57.
|
|
734978
|
+
const client2 = new Client({ name: "ur-mcp-2026-adapter", version: "1.57.1" }, { capabilities: {} });
|
|
734942
734979
|
const [clientTransport, serverTransport] = createLinkedTransportPair();
|
|
734943
734980
|
try {
|
|
734944
734981
|
await server2.connect(serverTransport);
|
|
@@ -734949,7 +734986,7 @@ async function createUrMcp2026Runtime(options4) {
|
|
|
734949
734986
|
}
|
|
734950
734987
|
const runtime2 = new Mcp2026Runtime({
|
|
734951
734988
|
cwd: options4.cwd,
|
|
734952
|
-
version: "1.57.
|
|
734989
|
+
version: "1.57.1",
|
|
734953
734990
|
backend: {
|
|
734954
734991
|
listTools: async () => {
|
|
734955
734992
|
const listed = await client2.listTools();
|
|
@@ -735752,7 +735789,7 @@ var init_providers2 = __esm(() => {
|
|
|
735752
735789
|
});
|
|
735753
735790
|
|
|
735754
735791
|
// src/utils/plugins/pluginDoctor.ts
|
|
735755
|
-
import { existsSync as existsSync99, readdirSync as readdirSync34, readFileSync as
|
|
735792
|
+
import { existsSync as existsSync99, readdirSync as readdirSync34, readFileSync as readFileSync88, statSync as statSync32 } from "fs";
|
|
735756
735793
|
import { basename as basename68, join as join247 } from "path";
|
|
735757
735794
|
function manifestPathFor2(dir) {
|
|
735758
735795
|
const p2 = join247(dir, ".ur-plugin", "plugin.json");
|
|
@@ -735807,7 +735844,7 @@ function doctorPluginDir(dir) {
|
|
|
735807
735844
|
}
|
|
735808
735845
|
let parsed;
|
|
735809
735846
|
try {
|
|
735810
|
-
parsed = JSON.parse(
|
|
735847
|
+
parsed = JSON.parse(readFileSync88(manifestPath6, "utf8"));
|
|
735811
735848
|
} catch (error40) {
|
|
735812
735849
|
return {
|
|
735813
735850
|
name: basename68(dir),
|
|
@@ -737082,7 +737119,7 @@ async function update() {
|
|
|
737082
737119
|
logEvent("tengu_update_check", {});
|
|
737083
737120
|
const diagnostic2 = await getDoctorDiagnostic();
|
|
737084
737121
|
const result = await checkUpgradeStatus({
|
|
737085
|
-
currentVersion: "1.57.
|
|
737122
|
+
currentVersion: "1.57.1",
|
|
737086
737123
|
packageName: UR_AGENT_PACKAGE_NAME,
|
|
737087
737124
|
installationType: diagnostic2.installationType,
|
|
737088
737125
|
latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
|
|
@@ -737109,7 +737146,7 @@ __export(exports_main, {
|
|
|
737109
737146
|
startDeferredPrefetches: () => startDeferredPrefetches,
|
|
737110
737147
|
main: () => main
|
|
737111
737148
|
});
|
|
737112
|
-
import { readFileSync as
|
|
737149
|
+
import { readFileSync as readFileSync89 } from "fs";
|
|
737113
737150
|
import { resolve as resolve73 } from "path";
|
|
737114
737151
|
function logManagedSettings() {
|
|
737115
737152
|
try {
|
|
@@ -737265,7 +737302,7 @@ function loadSettingsFromFlag(settingsFile) {
|
|
|
737265
737302
|
resolvedPath: resolvedSettingsPath
|
|
737266
737303
|
} = safeResolvePath(getFsImplementation(), settingsFile);
|
|
737267
737304
|
try {
|
|
737268
|
-
|
|
737305
|
+
readFileSync89(resolvedSettingsPath, "utf8");
|
|
737269
737306
|
} catch (e) {
|
|
737270
737307
|
if (isENOENT(e)) {
|
|
737271
737308
|
process.stderr.write(source_default.red(`Error: Settings file not found: ${resolvedSettingsPath}
|
|
@@ -737684,7 +737721,7 @@ ${getTmuxInstallInstructions2()}
|
|
|
737684
737721
|
}
|
|
737685
737722
|
try {
|
|
737686
737723
|
const filePath = resolve73(options4.systemPromptFile);
|
|
737687
|
-
systemPrompt =
|
|
737724
|
+
systemPrompt = readFileSync89(filePath, "utf8");
|
|
737688
737725
|
} catch (error40) {
|
|
737689
737726
|
const code = getErrnoCode(error40);
|
|
737690
737727
|
if (code === "ENOENT") {
|
|
@@ -737706,7 +737743,7 @@ ${getTmuxInstallInstructions2()}
|
|
|
737706
737743
|
}
|
|
737707
737744
|
try {
|
|
737708
737745
|
const filePath = resolve73(options4.appendSystemPromptFile);
|
|
737709
|
-
appendSystemPrompt =
|
|
737746
|
+
appendSystemPrompt = readFileSync89(filePath, "utf8");
|
|
737710
737747
|
} catch (error40) {
|
|
737711
737748
|
const code = getErrnoCode(error40);
|
|
737712
737749
|
if (code === "ENOENT") {
|
|
@@ -738398,7 +738435,7 @@ ${customInstructions}` : customInstructions;
|
|
|
738398
738435
|
}
|
|
738399
738436
|
}
|
|
738400
738437
|
logForDiagnosticsNoPII("info", "started", {
|
|
738401
|
-
version: "1.57.
|
|
738438
|
+
version: "1.57.1",
|
|
738402
738439
|
is_native_binary: isInBundledMode()
|
|
738403
738440
|
});
|
|
738404
738441
|
registerCleanup(async () => {
|
|
@@ -739184,7 +739221,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
739184
739221
|
pendingHookMessages
|
|
739185
739222
|
}, renderAndRun);
|
|
739186
739223
|
}
|
|
739187
|
-
}).version("1.57.
|
|
739224
|
+
}).version("1.57.1 (UR-Nexus)", "-v, --version", "Output the version number");
|
|
739188
739225
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
739189
739226
|
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
739227
|
if (canUserConfigureAdvisor()) {
|
|
@@ -740219,7 +740256,7 @@ if (false) {}
|
|
|
740219
740256
|
async function main2() {
|
|
740220
740257
|
const args = process.argv.slice(2);
|
|
740221
740258
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
740222
|
-
console.log(`${"1.57.
|
|
740259
|
+
console.log(`${"1.57.1"} (UR-Nexus)`);
|
|
740223
740260
|
return;
|
|
740224
740261
|
}
|
|
740225
740262
|
if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
|