edsger 0.2.13 → 0.2.14
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.
|
@@ -179,17 +179,20 @@ async function prepareDesignContext(mcpServerUrl, mcpToken, featureId, checklist
|
|
|
179
179
|
feedbacksContext.feedbacks.forEach((fb, idx) => {
|
|
180
180
|
logInfo(` ${idx + 1}. [${fb.feedback_type}] ${fb.title} (priority: ${fb.priority}, resolved: ${fb.is_resolved || false})`);
|
|
181
181
|
logInfo(` Content: ${fb.content.substring(0, 150)}...`);
|
|
182
|
-
if (fb.
|
|
183
|
-
logInfo(`
|
|
182
|
+
if (fb.target_type) {
|
|
183
|
+
logInfo(` 🎯 Target Type: ${fb.target_type}`);
|
|
184
184
|
}
|
|
185
|
-
if (fb.
|
|
186
|
-
|
|
187
|
-
? `Lines ${fb.reference_line_start}-${fb.reference_line_end}`
|
|
188
|
-
: `Line ${fb.reference_line_start}`;
|
|
189
|
-
logInfo(` Location: ${lineInfo}`);
|
|
185
|
+
if (fb.document_type) {
|
|
186
|
+
logInfo(` 📄 Document: ${fb.document_type}`);
|
|
190
187
|
}
|
|
191
|
-
if (fb.
|
|
192
|
-
logInfo(`
|
|
188
|
+
if (fb.line_number) {
|
|
189
|
+
logInfo(` 📏 Line: ${fb.line_number}`);
|
|
190
|
+
}
|
|
191
|
+
else if (fb.line_range_start && fb.line_range_end) {
|
|
192
|
+
logInfo(` 📏 Lines: ${fb.line_range_start}-${fb.line_range_end}`);
|
|
193
|
+
}
|
|
194
|
+
if (fb.context_snippet) {
|
|
195
|
+
logInfo(` Referenced: ${fb.context_snippet.substring(0, 100)}...`);
|
|
193
196
|
}
|
|
194
197
|
});
|
|
195
198
|
}
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
import { PipelinePhaseOptions } from '../types/pipeline.js';
|
|
6
6
|
export type { PipelinePhaseOptions };
|
|
7
7
|
export type FeedbackType = 'requirement' | 'constraint' | 'preference' | 'context' | 'quality_criteria' | 'issue' | 'suggestion';
|
|
8
|
+
export type FeedbackTargetType = 'phase' | 'line' | 'range';
|
|
9
|
+
export type DocumentType = 'technical_design' | 'code' | 'test_case' | 'user_story';
|
|
8
10
|
export interface Feedback {
|
|
9
11
|
id: string;
|
|
10
12
|
feature_id: string | null;
|
|
@@ -21,10 +23,12 @@ export interface Feedback {
|
|
|
21
23
|
created_by: string;
|
|
22
24
|
created_at: string;
|
|
23
25
|
updated_at: string;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
target_type?: FeedbackTargetType | null;
|
|
27
|
+
document_type?: DocumentType | null;
|
|
28
|
+
line_number?: number | null;
|
|
29
|
+
line_range_start?: number | null;
|
|
30
|
+
line_range_end?: number | null;
|
|
31
|
+
context_snippet?: string | null;
|
|
28
32
|
}
|
|
29
33
|
export interface FeedbacksContext {
|
|
30
34
|
phase: string;
|
|
@@ -138,21 +138,32 @@ function formatFeedbacksList(feedbacks) {
|
|
|
138
138
|
return sorted
|
|
139
139
|
.map((feedback, idx) => {
|
|
140
140
|
const priorityBadge = getPriorityBadge(feedback.priority);
|
|
141
|
-
// Build
|
|
142
|
-
let
|
|
143
|
-
|
|
144
|
-
|
|
141
|
+
// Build context metadata section
|
|
142
|
+
let contextInfo = '';
|
|
143
|
+
// Document type
|
|
144
|
+
if (feedback.document_type) {
|
|
145
|
+
const docTypeDisplay = feedback.document_type
|
|
146
|
+
.split('_')
|
|
147
|
+
.map(word => word.charAt(0).toUpperCase() + word.slice(1))
|
|
148
|
+
.join(' ');
|
|
149
|
+
contextInfo += `\n**Document**: ${docTypeDisplay}`;
|
|
145
150
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
: `Line ${feedback.reference_line_start}`;
|
|
150
|
-
referenceInfo += `\n**Reference Location**: ${lineRange}`;
|
|
151
|
+
// Target type
|
|
152
|
+
if (feedback.target_type && feedback.target_type !== 'phase') {
|
|
153
|
+
contextInfo += `\n**Target Type**: ${feedback.target_type}`;
|
|
151
154
|
}
|
|
152
|
-
if
|
|
153
|
-
|
|
155
|
+
// Build line reference info if available
|
|
156
|
+
if (feedback.line_number) {
|
|
157
|
+
contextInfo += `\n**Line**: ${feedback.line_number}`;
|
|
154
158
|
}
|
|
155
|
-
|
|
159
|
+
else if (feedback.line_range_start && feedback.line_range_end) {
|
|
160
|
+
contextInfo += `\n**Lines**: ${feedback.line_range_start}-${feedback.line_range_end}`;
|
|
161
|
+
}
|
|
162
|
+
// Context snippet
|
|
163
|
+
if (feedback.context_snippet) {
|
|
164
|
+
contextInfo += `\n**Referenced Content**:\n\`\`\`\n${feedback.context_snippet}\n\`\`\``;
|
|
165
|
+
}
|
|
166
|
+
return `### ${idx + 1}. ${feedback.title} ${priorityBadge}\n\n${feedback.content}${contextInfo}\n`;
|
|
156
167
|
})
|
|
157
168
|
.join('\n');
|
|
158
169
|
}
|