fix(cursor): harden runtime follow-up regressions

This commit is contained in:
Tam Nhu Tran committed 2026-04-02 03:21:38 -04:00
1 parent 2d67f40175
commit f7ddad6c19
7 files changed
+126 -32

No files matched your search

+2 -3
View File
@@ -21,7 +21,7 @@ import {
CompositeVariantConfig,
CompositeTierConfig,
} from '../config/unified-config-types';
import { loadUnifiedConfig, isUnifiedMode } from '../config/unified-config-loader';
import { loadUnifiedConfig, isUnifiedMode, getCursorConfig } from '../config/unified-config-loader';
import { getCcsDir } from '../utils/config-manager';
import { getProfileLookupCandidates, isLegacyProfileAlias } from '../utils/profile-compat';
import type { CLIProxyProvider } from '../cliproxy/types';
@@ -308,8 +308,7 @@ class ProfileDetector {
// Priority 0.75: Check Cursor profile - local Cursor daemon runtime
if (profileName === 'cursor') {
const unifiedConfig = this.readUnifiedConfig();
const cursorConfig = unifiedConfig?.cursor;
const cursorConfig = getCursorConfig();
if (!cursorConfig?.enabled) {
const error = new Error(
+2 -1
View File
@@ -119,7 +119,8 @@ function escapeXml(text: string): string {
}
function buildToolResultBlock(toolName: string, toolCallId: string, resultText: string): string {
const cleanResult = truncateToolResultText(escapeXml(sanitizeToolResultText(resultText)));
// Truncate raw tool output before XML escaping so the cap reflects original content.
const cleanResult = escapeXml(truncateToolResultText(sanitizeToolResultText(resultText)));
return [
'<tool_result>',
@@ -396,6 +396,16 @@ function resolveBackend(
};
}
if (profileType === 'cursor' || profileName === 'cursor') {
return {
backendId: null,
backendDisplayName: null,
resolutionSource: 'unresolved',
reason:
'Cursor image analysis does not inherit the global fallback backend. Set image_analysis.profile_backends.cursor to an explicit provider to enable transformer-backed image analysis.',
};
}
if (profileType === 'copilot' || profileName === 'copilot') {
const backendId = normalizeImageAnalysisBackendId('ghcp', Object.keys(config.provider_models));
return {