@gracker/smartperfetto 1.0.13 → 1.0.15
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/.env.example +16 -8
- package/dist/agent/core/orchestratorTypes.d.ts +10 -0
- package/dist/agent/core/orchestratorTypes.d.ts.map +1 -1
- package/dist/agent/core/orchestratorTypes.js.map +1 -1
- package/dist/agentOpenAI/openAiRuntime.d.ts.map +1 -1
- package/dist/agentOpenAI/openAiRuntime.js +11 -1
- package/dist/agentOpenAI/openAiRuntime.js.map +1 -1
- package/dist/agentOpenAI/openAiToolAdapter.d.ts.map +1 -1
- package/dist/agentOpenAI/openAiToolAdapter.js +27 -2
- package/dist/agentOpenAI/openAiToolAdapter.js.map +1 -1
- package/dist/agentv3/claudeMcpServer.d.ts +15 -1
- package/dist/agentv3/claudeMcpServer.d.ts.map +1 -1
- package/dist/agentv3/claudeMcpServer.js +311 -5
- package/dist/agentv3/claudeMcpServer.js.map +1 -1
- package/dist/agentv3/claudeRuntime.d.ts.map +1 -1
- package/dist/agentv3/claudeRuntime.js +17 -0
- package/dist/agentv3/claudeRuntime.js.map +1 -1
- package/dist/agentv3/claudeSystemPrompt.d.ts.map +1 -1
- package/dist/agentv3/claudeSystemPrompt.js +9 -0
- package/dist/agentv3/claudeSystemPrompt.js.map +1 -1
- package/dist/agentv3/mcpToolRegistry.d.ts +14 -2
- package/dist/agentv3/mcpToolRegistry.d.ts.map +1 -1
- package/dist/agentv3/mcpToolRegistry.js +25 -6
- package/dist/agentv3/mcpToolRegistry.js.map +1 -1
- package/dist/agentv3/sessionStateSnapshot.d.ts +18 -0
- package/dist/agentv3/sessionStateSnapshot.d.ts.map +1 -1
- package/dist/agentv3/types.d.ts +5 -0
- package/dist/agentv3/types.d.ts.map +1 -1
- package/dist/agentv3/types.js.map +1 -1
- package/dist/cli-user/bin.js +99 -1
- package/dist/cli-user/bin.js.map +1 -1
- package/dist/cli-user/commands/analyze.d.ts +3 -0
- package/dist/cli-user/commands/analyze.d.ts.map +1 -1
- package/dist/cli-user/commands/analyze.js +2 -0
- package/dist/cli-user/commands/analyze.js.map +1 -1
- package/dist/cli-user/commands/codebase.d.ts +29 -0
- package/dist/cli-user/commands/codebase.d.ts.map +1 -0
- package/dist/cli-user/commands/codebase.js +152 -0
- package/dist/cli-user/commands/codebase.js.map +1 -0
- package/dist/cli-user/commands/config.d.ts.map +1 -1
- package/dist/cli-user/commands/config.js +4 -1
- package/dist/cli-user/commands/config.js.map +1 -1
- package/dist/cli-user/services/cliAnalyzeService.d.ts +3 -0
- package/dist/cli-user/services/cliAnalyzeService.d.ts.map +1 -1
- package/dist/cli-user/services/cliAnalyzeService.js +116 -29
- package/dist/cli-user/services/cliAnalyzeService.js.map +1 -1
- package/dist/cli-user/services/turnRunner.d.ts +3 -0
- package/dist/cli-user/services/turnRunner.d.ts.map +1 -1
- package/dist/cli-user/services/turnRunner.js +6 -0
- package/dist/cli-user/services/turnRunner.js.map +1 -1
- package/dist/cli-user/types.d.ts +5 -0
- package/dist/cli-user/types.d.ts.map +1 -1
- package/dist/routes/agentRoutes.d.ts.map +1 -1
- package/dist/routes/agentRoutes.js +4 -0
- package/dist/routes/agentRoutes.js.map +1 -1
- package/dist/routes/ragAdminRoutes.d.ts +13 -24
- package/dist/routes/ragAdminRoutes.d.ts.map +1 -1
- package/dist/routes/ragAdminRoutes.js +266 -11
- package/dist/routes/ragAdminRoutes.js.map +1 -1
- package/dist/scripts/verifyAgentSseScrolling.js +119 -3
- package/dist/scripts/verifyAgentSseScrolling.js.map +1 -1
- package/dist/services/aospKnowledgeIngester.d.ts +7 -0
- package/dist/services/aospKnowledgeIngester.d.ts.map +1 -1
- package/dist/services/aospKnowledgeIngester.js +19 -7
- package/dist/services/aospKnowledgeIngester.js.map +1 -1
- package/dist/services/auth/codebaseScopes.d.ts +6 -0
- package/dist/services/auth/codebaseScopes.d.ts.map +1 -0
- package/dist/services/auth/codebaseScopes.js +23 -0
- package/dist/services/auth/codebaseScopes.js.map +1 -0
- package/dist/services/codebase/codeAwareFeature.d.ts +4 -0
- package/dist/services/codebase/codeAwareFeature.d.ts.map +1 -0
- package/dist/services/codebase/codeAwareFeature.js +18 -0
- package/dist/services/codebase/codeAwareFeature.js.map +1 -0
- package/dist/services/codebase/codeLookupLedger.d.ts +37 -0
- package/dist/services/codebase/codeLookupLedger.d.ts.map +1 -0
- package/dist/services/codebase/codeLookupLedger.js +126 -0
- package/dist/services/codebase/codeLookupLedger.js.map +1 -0
- package/dist/services/codebase/codebaseRegistry.d.ts +76 -0
- package/dist/services/codebase/codebaseRegistry.d.ts.map +1 -0
- package/dist/services/codebase/codebaseRegistry.js +164 -0
- package/dist/services/codebase/codebaseRegistry.js.map +1 -0
- package/dist/services/codebase/defaultCodebaseServices.d.ts +5 -0
- package/dist/services/codebase/defaultCodebaseServices.d.ts.map +1 -0
- package/dist/services/codebase/defaultCodebaseServices.js +21 -0
- package/dist/services/codebase/defaultCodebaseServices.js.map +1 -0
- package/dist/services/codebase/patchProposer.d.ts +44 -0
- package/dist/services/codebase/patchProposer.d.ts.map +1 -0
- package/dist/services/codebase/patchProposer.js +163 -0
- package/dist/services/codebase/patchProposer.js.map +1 -0
- package/dist/services/codebase/pathSecurityGate.d.ts +33 -0
- package/dist/services/codebase/pathSecurityGate.d.ts.map +1 -0
- package/dist/services/codebase/pathSecurityGate.js +214 -0
- package/dist/services/codebase/pathSecurityGate.js.map +1 -0
- package/dist/services/htmlReportGenerator.d.ts +2 -0
- package/dist/services/htmlReportGenerator.d.ts.map +1 -1
- package/dist/services/htmlReportGenerator.js +67 -0
- package/dist/services/htmlReportGenerator.js.map +1 -1
- package/dist/services/persistAgentSession.d.ts.map +1 -1
- package/dist/services/persistAgentSession.js +19 -0
- package/dist/services/persistAgentSession.js.map +1 -1
- package/dist/services/rag/aospSourceIngester.d.ts +26 -0
- package/dist/services/rag/aospSourceIngester.d.ts.map +1 -0
- package/dist/services/rag/aospSourceIngester.js +143 -0
- package/dist/services/rag/aospSourceIngester.js.map +1 -0
- package/dist/services/rag/appSourceIngester.d.ts +37 -0
- package/dist/services/rag/appSourceIngester.d.ts.map +1 -0
- package/dist/services/rag/appSourceIngester.js +165 -0
- package/dist/services/rag/appSourceIngester.js.map +1 -0
- package/dist/services/rag/baseIngester.d.ts +18 -0
- package/dist/services/rag/baseIngester.d.ts.map +1 -0
- package/dist/services/rag/baseIngester.js +197 -0
- package/dist/services/rag/baseIngester.js.map +1 -0
- package/dist/services/rag/kernelSourceIngester.d.ts +35 -0
- package/dist/services/rag/kernelSourceIngester.d.ts.map +1 -0
- package/dist/services/rag/kernelSourceIngester.js +170 -0
- package/dist/services/rag/kernelSourceIngester.js.map +1 -0
- package/dist/services/rag/lookupResponseFilter.d.ts +42 -0
- package/dist/services/rag/lookupResponseFilter.d.ts.map +1 -0
- package/dist/services/rag/lookupResponseFilter.js +192 -0
- package/dist/services/rag/lookupResponseFilter.js.map +1 -0
- package/dist/services/rag/sessionToolResultRegistry.d.ts +25 -0
- package/dist/services/rag/sessionToolResultRegistry.d.ts.map +1 -0
- package/dist/services/rag/sessionToolResultRegistry.js +57 -0
- package/dist/services/rag/sessionToolResultRegistry.js.map +1 -0
- package/dist/services/rag/toolResultProjectionFilter.d.ts +18 -0
- package/dist/services/rag/toolResultProjectionFilter.d.ts.map +1 -0
- package/dist/services/rag/toolResultProjectionFilter.js +33 -0
- package/dist/services/rag/toolResultProjectionFilter.js.map +1 -0
- package/dist/services/ragStore.d.ts +8 -0
- package/dist/services/ragStore.d.ts.map +1 -1
- package/dist/services/ragStore.js +77 -8
- package/dist/services/ragStore.js.map +1 -1
- package/dist/services/rbac.d.ts +1 -1
- package/dist/services/rbac.d.ts.map +1 -1
- package/dist/services/rbac.js +6 -0
- package/dist/services/rbac.js.map +1 -1
- package/dist/services/security/codeAwareOutputRegistry.d.ts +6 -0
- package/dist/services/security/codeAwareOutputRegistry.d.ts.map +1 -0
- package/dist/services/security/codeAwareOutputRegistry.js +55 -0
- package/dist/services/security/codeAwareOutputRegistry.js.map +1 -0
- package/dist/services/security/llmEchoOutputFilter.d.ts +49 -0
- package/dist/services/security/llmEchoOutputFilter.d.ts.map +1 -0
- package/dist/services/security/llmEchoOutputFilter.js +133 -0
- package/dist/services/security/llmEchoOutputFilter.js.map +1 -0
- package/dist/services/security/secretPatterns.d.ts +6 -0
- package/dist/services/security/secretPatterns.d.ts.map +1 -0
- package/dist/services/security/secretPatterns.js +23 -0
- package/dist/services/security/secretPatterns.js.map +1 -0
- package/dist/services/symbol/breakpadSymParser.d.ts +19 -0
- package/dist/services/symbol/breakpadSymParser.d.ts.map +1 -0
- package/dist/services/symbol/breakpadSymParser.js +40 -0
- package/dist/services/symbol/breakpadSymParser.js.map +1 -0
- package/dist/services/symbol/kallsymsParser.d.ts +12 -0
- package/dist/services/symbol/kallsymsParser.d.ts.map +1 -0
- package/dist/services/symbol/kallsymsParser.js +41 -0
- package/dist/services/symbol/kallsymsParser.js.map +1 -0
- package/dist/services/symbol/r8MappingParser.d.ts +40 -0
- package/dist/services/symbol/r8MappingParser.d.ts.map +1 -0
- package/dist/services/symbol/r8MappingParser.js +99 -0
- package/dist/services/symbol/r8MappingParser.js.map +1 -0
- package/dist/services/symbol/symbolResolver.d.ts +59 -0
- package/dist/services/symbol/symbolResolver.d.ts.map +1 -0
- package/dist/services/symbol/symbolResolver.js +147 -0
- package/dist/services/symbol/symbolResolver.js.map +1 -0
- package/dist/services/symbol/traceSymbolContext.d.ts +14 -0
- package/dist/services/symbol/traceSymbolContext.d.ts.map +1 -0
- package/dist/services/symbol/traceSymbolContext.js +45 -0
- package/dist/services/symbol/traceSymbolContext.js.map +1 -0
- package/dist/types/sparkContracts.d.ts +31 -3
- package/dist/types/sparkContracts.d.ts.map +1 -1
- package/dist/types/sparkContracts.js.map +1 -1
- package/package.json +12 -5
- package/skills/composite/code_pinpoint.skill.yaml +111 -0
- package/strategies/code-aware.template.md +37 -0
- package/strategies/prompt-methodology.template.md +2 -0
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
3
|
+
// Copyright (C) 2024-2026 Gracker (Chris)
|
|
4
|
+
// This file is part of SmartPerfetto. See LICENSE for details.
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.PathSecurityGate = void 0;
|
|
40
|
+
exports.isWithinAllowlist = isWithinAllowlist;
|
|
41
|
+
const fs = __importStar(require("fs"));
|
|
42
|
+
const path = __importStar(require("path"));
|
|
43
|
+
const DEFAULT_EXCLUDES = [
|
|
44
|
+
'.git',
|
|
45
|
+
'node_modules',
|
|
46
|
+
'build',
|
|
47
|
+
'out',
|
|
48
|
+
'target',
|
|
49
|
+
'secrets',
|
|
50
|
+
];
|
|
51
|
+
const DEFAULT_EXTENSIONS = new Set([
|
|
52
|
+
'.java',
|
|
53
|
+
'.kt',
|
|
54
|
+
'.c',
|
|
55
|
+
'.cc',
|
|
56
|
+
'.cpp',
|
|
57
|
+
'.cxx',
|
|
58
|
+
'.h',
|
|
59
|
+
'.hpp',
|
|
60
|
+
'.rs',
|
|
61
|
+
'.go',
|
|
62
|
+
'.py',
|
|
63
|
+
'.kts',
|
|
64
|
+
'.gradle',
|
|
65
|
+
'.mk',
|
|
66
|
+
'.bp',
|
|
67
|
+
'.rc',
|
|
68
|
+
'.te',
|
|
69
|
+
'.conf',
|
|
70
|
+
'.properties',
|
|
71
|
+
'.aidl',
|
|
72
|
+
'.proto',
|
|
73
|
+
'.xml',
|
|
74
|
+
]);
|
|
75
|
+
function parsePathList(value) {
|
|
76
|
+
if (!value)
|
|
77
|
+
return [];
|
|
78
|
+
return value
|
|
79
|
+
.split(path.delimiter)
|
|
80
|
+
.map(entry => entry.trim())
|
|
81
|
+
.filter(Boolean);
|
|
82
|
+
}
|
|
83
|
+
function configuredAllowlistRoots() {
|
|
84
|
+
const roots = parsePathList(process.env.SMARTPERFETTO_CODEBASE_ROOTS);
|
|
85
|
+
const unsafeDevRoot = process.env.SMARTPERFETTO_DEV_UNSAFE_CODEBASE_ROOT;
|
|
86
|
+
if (unsafeDevRoot && process.env.NODE_ENV !== 'production') {
|
|
87
|
+
roots.push(unsafeDevRoot);
|
|
88
|
+
}
|
|
89
|
+
return roots;
|
|
90
|
+
}
|
|
91
|
+
function safeRealpath(target) {
|
|
92
|
+
try {
|
|
93
|
+
return fs.realpathSync(target);
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function isWithinAllowlist(target, allowlist) {
|
|
100
|
+
const realTarget = safeRealpath(target);
|
|
101
|
+
if (!realTarget)
|
|
102
|
+
return false;
|
|
103
|
+
for (const root of allowlist) {
|
|
104
|
+
const realRoot = safeRealpath(root);
|
|
105
|
+
if (!realRoot)
|
|
106
|
+
continue;
|
|
107
|
+
const rel = path.relative(realRoot, realTarget);
|
|
108
|
+
if (!rel.startsWith('..') && !path.isAbsolute(rel))
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
function shouldExclude(relativePath, basename, excludeNames) {
|
|
114
|
+
if (basename.startsWith('.env'))
|
|
115
|
+
return true;
|
|
116
|
+
if (basename.endsWith('.log') || basename.endsWith('.bak'))
|
|
117
|
+
return true;
|
|
118
|
+
const parts = relativePath.split(path.sep);
|
|
119
|
+
return parts.some(part => excludeNames.includes(part));
|
|
120
|
+
}
|
|
121
|
+
class PathSecurityGate {
|
|
122
|
+
constructor(options = {}) {
|
|
123
|
+
this.allowlistRoots = options.allowlistRoots ?? configuredAllowlistRoots();
|
|
124
|
+
this.excludeNames = options.excludeNames ?? DEFAULT_EXCLUDES;
|
|
125
|
+
this.allowedExtensions = new Set(options.allowedExtensions ?? DEFAULT_EXTENSIONS);
|
|
126
|
+
this.maxFileBytes = options.maxFileBytes ?? 200 * 1024;
|
|
127
|
+
this.maxFiles = options.maxFiles ?? 50000;
|
|
128
|
+
}
|
|
129
|
+
preview(rootPath) {
|
|
130
|
+
const rootRealpath = safeRealpath(rootPath);
|
|
131
|
+
if (!rootRealpath) {
|
|
132
|
+
return {
|
|
133
|
+
rootPath,
|
|
134
|
+
rootRealpath: '',
|
|
135
|
+
acceptedFiles: [],
|
|
136
|
+
skippedFiles: [],
|
|
137
|
+
blocked: true,
|
|
138
|
+
blockedReason: 'root_not_found',
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
if (this.allowlistRoots.length === 0 || !isWithinAllowlist(rootRealpath, this.allowlistRoots)) {
|
|
142
|
+
return {
|
|
143
|
+
rootPath,
|
|
144
|
+
rootRealpath,
|
|
145
|
+
acceptedFiles: [],
|
|
146
|
+
skippedFiles: [],
|
|
147
|
+
blocked: true,
|
|
148
|
+
blockedReason: 'root_outside_allowlist',
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
const acceptedFiles = [];
|
|
152
|
+
const skippedFiles = [];
|
|
153
|
+
const stack = [rootRealpath];
|
|
154
|
+
while (stack.length > 0) {
|
|
155
|
+
const current = stack.pop();
|
|
156
|
+
const entries = fs.readdirSync(current, { withFileTypes: true });
|
|
157
|
+
for (const entry of entries) {
|
|
158
|
+
const fullPath = path.join(current, entry.name);
|
|
159
|
+
const realPath = safeRealpath(fullPath);
|
|
160
|
+
if (!realPath || !isWithinAllowlist(realPath, [rootRealpath])) {
|
|
161
|
+
skippedFiles.push({
|
|
162
|
+
relativePath: path.relative(rootRealpath, fullPath),
|
|
163
|
+
reason: 'symlink_outside_root',
|
|
164
|
+
});
|
|
165
|
+
continue;
|
|
166
|
+
}
|
|
167
|
+
const relativePath = path.relative(rootRealpath, realPath);
|
|
168
|
+
if (shouldExclude(relativePath, entry.name, this.excludeNames)) {
|
|
169
|
+
if (entry.isFile())
|
|
170
|
+
skippedFiles.push({ relativePath, reason: 'excluded' });
|
|
171
|
+
continue;
|
|
172
|
+
}
|
|
173
|
+
if (entry.isDirectory()) {
|
|
174
|
+
stack.push(realPath);
|
|
175
|
+
continue;
|
|
176
|
+
}
|
|
177
|
+
if (!entry.isFile())
|
|
178
|
+
continue;
|
|
179
|
+
const ext = path.extname(entry.name);
|
|
180
|
+
if (!this.allowedExtensions.has(ext)) {
|
|
181
|
+
skippedFiles.push({ relativePath, reason: 'extension_not_allowed' });
|
|
182
|
+
continue;
|
|
183
|
+
}
|
|
184
|
+
const stat = fs.statSync(realPath);
|
|
185
|
+
if (stat.size > this.maxFileBytes) {
|
|
186
|
+
skippedFiles.push({ relativePath, reason: 'file_too_large' });
|
|
187
|
+
continue;
|
|
188
|
+
}
|
|
189
|
+
acceptedFiles.push({ relativePath, sizeBytes: stat.size });
|
|
190
|
+
if (acceptedFiles.length > this.maxFiles) {
|
|
191
|
+
return {
|
|
192
|
+
rootPath,
|
|
193
|
+
rootRealpath,
|
|
194
|
+
acceptedFiles,
|
|
195
|
+
skippedFiles,
|
|
196
|
+
blocked: true,
|
|
197
|
+
blockedReason: 'too_many_files',
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
acceptedFiles.sort((a, b) => a.relativePath.localeCompare(b.relativePath));
|
|
203
|
+
skippedFiles.sort((a, b) => a.relativePath.localeCompare(b.relativePath));
|
|
204
|
+
return {
|
|
205
|
+
rootPath,
|
|
206
|
+
rootRealpath,
|
|
207
|
+
acceptedFiles,
|
|
208
|
+
skippedFiles,
|
|
209
|
+
blocked: false,
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
exports.PathSecurityGate = PathSecurityGate;
|
|
214
|
+
//# sourceMappingURL=pathSecurityGate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pathSecurityGate.js","sourceRoot":"","sources":["../../../src/services/codebase/pathSecurityGate.ts"],"names":[],"mappings":"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"}
|
|
@@ -352,6 +352,8 @@ export declare class HTMLReportGenerator {
|
|
|
352
352
|
generateAgentDrivenHTML(data: AgentDrivenReportData): string;
|
|
353
353
|
private prepareAgentDrivenEnvelopes;
|
|
354
354
|
private buildAgentEnvelopeDedupeKey;
|
|
355
|
+
private renderCodeAwareReferencesSection;
|
|
356
|
+
private formatLineRange;
|
|
355
357
|
private renderConclusionClaimSourcesSection;
|
|
356
358
|
private renderClaimReferenceRow;
|
|
357
359
|
private buildClaimSourceLookup;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"htmlReportGenerator.d.ts","sourceRoot":"","sources":["../../src/services/htmlReportGenerator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"htmlReportGenerator.d.ts","sourceRoot":"","sources":["../../src/services/htmlReportGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -3863,6 +3863,21 @@ class HTMLReportGenerator {
|
|
|
3863
3863
|
.claim-source-status.found { background: #dcfce7; color: #166534; }
|
|
3864
3864
|
.claim-source-status.missing { background: #fee2e2; color: #991b1b; }
|
|
3865
3865
|
.claim-source-status.ambiguous { background: #fef3c7; color: #92400e; }
|
|
3866
|
+
.code-aware-grid { display: grid; gap: 10px; }
|
|
3867
|
+
.code-ref-card, .patch-card {
|
|
3868
|
+
border: 1px solid #dbeafe; border-radius: 8px; background: #f8fbff; padding: 12px;
|
|
3869
|
+
}
|
|
3870
|
+
.code-ref-title, .patch-title { font-weight: 700; color: #1e3a8a; margin-bottom: 6px; }
|
|
3871
|
+
.code-ref-meta, .patch-meta {
|
|
3872
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
|
3873
|
+
font-size: 12px; color: #334155; word-break: break-word;
|
|
3874
|
+
}
|
|
3875
|
+
.patch-status {
|
|
3876
|
+
display: inline-block; border-radius: 999px; padding: 2px 8px; font-size: 11px; font-weight: 700; margin-left: 6px;
|
|
3877
|
+
}
|
|
3878
|
+
.patch-status.verified { background: #dcfce7; color: #166534; }
|
|
3879
|
+
.patch-status.sketch { background: #fef3c7; color: #92400e; }
|
|
3880
|
+
.patch-status.unverified { background: #fee2e2; color: #991b1b; }
|
|
3866
3881
|
.timeline-list {
|
|
3867
3882
|
display: flex; flex-direction: column; gap: 10px;
|
|
3868
3883
|
max-height: 420px; overflow-y: auto; padding-right: 4px;
|
|
@@ -4054,6 +4069,8 @@ class HTMLReportGenerator {
|
|
|
4054
4069
|
|
|
4055
4070
|
${this.renderFindingsSection(result.findings, dataEnvelopes)}
|
|
4056
4071
|
|
|
4072
|
+
${this.renderCodeAwareReferencesSection(result.conclusionContract, outputLanguage)}
|
|
4073
|
+
|
|
4057
4074
|
<div class="section">
|
|
4058
4075
|
<h2 class="section-title">${(0, outputLanguage_1.localize)(outputLanguage, '分析结论', 'Analysis Conclusion')}</h2>
|
|
4059
4076
|
${(conclusionHistory && conclusionHistory.length > 1)
|
|
@@ -4315,6 +4332,56 @@ class HTMLReportGenerator {
|
|
|
4315
4332
|
})();
|
|
4316
4333
|
return `${skillId}:${stepId}:${source}:${traceSide}:${traceId}:${compactData.slice(0, 512)}`;
|
|
4317
4334
|
}
|
|
4335
|
+
renderCodeAwareReferencesSection(contract, outputLanguage = outputLanguage_1.DEFAULT_OUTPUT_LANGUAGE) {
|
|
4336
|
+
const record = this.asReportRecord(contract);
|
|
4337
|
+
if (!record)
|
|
4338
|
+
return '';
|
|
4339
|
+
const codeReferences = this.readReportAliasedRecords(record, ['codeReferences', 'code_refs', 'codeRefs']);
|
|
4340
|
+
const patchProposals = this.readReportAliasedRecords(record, ['patchProposals', 'patch_proposals', 'patches']);
|
|
4341
|
+
if (codeReferences.length === 0 && patchProposals.length === 0)
|
|
4342
|
+
return '';
|
|
4343
|
+
const codeRefHtml = codeReferences.map(ref => {
|
|
4344
|
+
const chunkId = this.escapeHtml(String(ref.chunkId ?? ref.chunk_id ?? ''));
|
|
4345
|
+
const codebaseId = this.escapeHtml(String(ref.codebaseId ?? ref.codebase_id ?? ''));
|
|
4346
|
+
const filePath = this.escapeHtml(String(ref.filePath ?? ref.file_path ?? ''));
|
|
4347
|
+
const symbol = this.escapeHtml(String(ref.symbol ?? ''));
|
|
4348
|
+
const lineRange = this.formatLineRange(ref.lineRange ?? ref.line_range);
|
|
4349
|
+
return `
|
|
4350
|
+
<div class="code-ref-card">
|
|
4351
|
+
<div class="code-ref-title">${symbol || chunkId || filePath}</div>
|
|
4352
|
+
<div class="code-ref-meta">chunkId=${chunkId}${codebaseId ? ` · codebaseId=${codebaseId}` : ''}${filePath ? ` · ${filePath}${lineRange}` : ''}</div>
|
|
4353
|
+
</div>`;
|
|
4354
|
+
}).join('');
|
|
4355
|
+
const patchHtml = patchProposals.map(patch => {
|
|
4356
|
+
const status = String(patch.patchStatus ?? patch.patch_status ?? 'unverified');
|
|
4357
|
+
const safeStatus = status === 'verified' || status === 'sketch' || status === 'unverified' ? status : 'unverified';
|
|
4358
|
+
const proposalId = this.escapeHtml(String(patch.patchProposalId ?? patch.patch_proposal_id ?? ''));
|
|
4359
|
+
const rationale = this.escapeHtml(String(patch.rationale ?? patch.patchSketch ?? patch.patch_sketch ?? ''));
|
|
4360
|
+
return `
|
|
4361
|
+
<div class="patch-card">
|
|
4362
|
+
<div class="patch-title">${proposalId || 'patch'}<span class="patch-status ${safeStatus}">${safeStatus}</span></div>
|
|
4363
|
+
<div class="patch-meta">${rationale}</div>
|
|
4364
|
+
</div>`;
|
|
4365
|
+
}).join('');
|
|
4366
|
+
return `
|
|
4367
|
+
<div class="section">
|
|
4368
|
+
<h2 class="section-title">${(0, outputLanguage_1.localize)(outputLanguage, '代码引用与 Patch', 'Code References and Patches')}</h2>
|
|
4369
|
+
<div class="code-aware-grid">
|
|
4370
|
+
${codeRefHtml}
|
|
4371
|
+
${patchHtml}
|
|
4372
|
+
</div>
|
|
4373
|
+
</div>`;
|
|
4374
|
+
}
|
|
4375
|
+
formatLineRange(value) {
|
|
4376
|
+
const record = this.asReportRecord(value);
|
|
4377
|
+
if (!record)
|
|
4378
|
+
return '';
|
|
4379
|
+
const start = record.start ?? record.line_start;
|
|
4380
|
+
const end = record.end ?? record.line_end;
|
|
4381
|
+
if (start === undefined || end === undefined)
|
|
4382
|
+
return '';
|
|
4383
|
+
return `:${this.escapeHtml(String(start))}-${this.escapeHtml(String(end))}`;
|
|
4384
|
+
}
|
|
4318
4385
|
renderConclusionClaimSourcesSection(contract, envelopes, outputLanguage = outputLanguage_1.DEFAULT_OUTPUT_LANGUAGE) {
|
|
4319
4386
|
const contractRecord = this.asReportRecord(contract);
|
|
4320
4387
|
if (!contractRecord)
|