sdd-mcp-server 1.5.0 → 1.5.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/adapters/cli/SDDToolAdapter.js +1 -1
- package/dist/adapters/cli/SDDToolAdapter.js.map +1 -1
- package/dist/application/services/RequirementsClarificationService.d.ts +3 -9
- package/dist/application/services/RequirementsClarificationService.js +172 -209
- package/dist/application/services/RequirementsClarificationService.js.map +1 -1
- package/dist/application/services/clarification-constants.d.ts +54 -0
- package/dist/application/services/clarification-constants.js +106 -0
- package/dist/application/services/clarification-constants.js.map +1 -0
- package/dist/domain/types.d.ts +11 -0
- package/package.json +1 -1
|
@@ -19,7 +19,7 @@ import { TemplateService } from "../../application/services/TemplateService.js";
|
|
|
19
19
|
import { QualityService } from "../../application/services/QualityService.js";
|
|
20
20
|
import { SteeringDocumentService } from "../../application/services/SteeringDocumentService.js";
|
|
21
21
|
import { CodebaseAnalysisService } from "../../application/services/CodebaseAnalysisService.js";
|
|
22
|
-
import { RequirementsClarificationService
|
|
22
|
+
import { RequirementsClarificationService } from "../../application/services/RequirementsClarificationService.js";
|
|
23
23
|
import { WorkflowPhase } from "../../domain/types.js";
|
|
24
24
|
import { ensureStaticSteeringDocuments } from "../../application/services/staticSteering.js";
|
|
25
25
|
let SDDToolAdapter = class SDDToolAdapter {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SDDToolAdapter.js","sourceRoot":"","sources":["../../../src/adapters/cli/SDDToolAdapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SDDToolAdapter.js","sourceRoot":"","sources":["../../../src/adapters/cli/SDDToolAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import { FileSystemPort, LoggerPort } from
|
|
2
|
-
import { ClarificationQuestion, EnrichedProjectDescription, ClarificationResult } from
|
|
3
|
-
export interface ClarificationAnswers {
|
|
4
|
-
[questionId: string]: string;
|
|
5
|
-
}
|
|
1
|
+
import { FileSystemPort, LoggerPort } from "../../domain/ports.js";
|
|
2
|
+
import { ClarificationQuestion, EnrichedProjectDescription, ClarificationResult, ClarificationAnswers, AnswerValidationResult } from "../../domain/types.js";
|
|
6
3
|
export declare class RequirementsClarificationService {
|
|
7
4
|
private readonly fileSystem;
|
|
8
5
|
private readonly logger;
|
|
@@ -14,10 +11,7 @@ export declare class RequirementsClarificationService {
|
|
|
14
11
|
/**
|
|
15
12
|
* Validates and processes clarification answers
|
|
16
13
|
*/
|
|
17
|
-
validateAnswers(questions: ClarificationQuestion[], answers: ClarificationAnswers):
|
|
18
|
-
valid: boolean;
|
|
19
|
-
missingRequired: string[];
|
|
20
|
-
};
|
|
14
|
+
validateAnswers(questions: ClarificationQuestion[], answers: ClarificationAnswers): AnswerValidationResult;
|
|
21
15
|
/**
|
|
22
16
|
* Synthesizes an enriched project description from original + answers
|
|
23
17
|
*/
|
|
@@ -10,10 +10,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
11
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
12
|
};
|
|
13
|
-
import { injectable, inject } from
|
|
14
|
-
import { v4 as uuidv4 } from
|
|
15
|
-
import { TYPES } from
|
|
16
|
-
import { QuestionCategory } from
|
|
13
|
+
import { injectable, inject } from "inversify";
|
|
14
|
+
import { v4 as uuidv4 } from "uuid";
|
|
15
|
+
import { TYPES } from "../../infrastructure/di/types.js";
|
|
16
|
+
import { QuestionCategory, } from "../../domain/types.js";
|
|
17
|
+
import { QUALITY_SCORE_WEIGHTS, ANSWER_VALIDATION, PATTERN_DETECTION, AMBIGUOUS_TERMS, } from "./clarification-constants.js";
|
|
17
18
|
let RequirementsClarificationService = class RequirementsClarificationService {
|
|
18
19
|
fileSystem;
|
|
19
20
|
logger;
|
|
@@ -26,23 +27,23 @@ let RequirementsClarificationService = class RequirementsClarificationService {
|
|
|
26
27
|
*/
|
|
27
28
|
async analyzeDescription(description, projectPath) {
|
|
28
29
|
const correlationId = uuidv4();
|
|
29
|
-
this.logger.info(
|
|
30
|
+
this.logger.info("Analyzing project description for clarification needs", {
|
|
30
31
|
correlationId,
|
|
31
|
-
descriptionLength: description.length
|
|
32
|
+
descriptionLength: description.length,
|
|
32
33
|
});
|
|
33
34
|
// Load existing steering docs for context
|
|
34
35
|
const steeringContext = await this.loadSteeringContext(projectPath);
|
|
35
36
|
// Perform analysis
|
|
36
37
|
const analysis = this.performAnalysis(description, steeringContext);
|
|
37
|
-
this.logger.debug(
|
|
38
|
+
this.logger.debug("Description analysis completed", {
|
|
38
39
|
correlationId,
|
|
39
40
|
qualityScore: analysis.qualityScore,
|
|
40
|
-
needsClarification: analysis.needsClarification
|
|
41
|
+
needsClarification: analysis.needsClarification,
|
|
41
42
|
});
|
|
42
43
|
if (!analysis.needsClarification) {
|
|
43
44
|
return {
|
|
44
45
|
needsClarification: false,
|
|
45
|
-
analysis
|
|
46
|
+
analysis,
|
|
46
47
|
};
|
|
47
48
|
}
|
|
48
49
|
// Generate clarification questions
|
|
@@ -50,7 +51,7 @@ let RequirementsClarificationService = class RequirementsClarificationService {
|
|
|
50
51
|
return {
|
|
51
52
|
needsClarification: true,
|
|
52
53
|
questions,
|
|
53
|
-
analysis
|
|
54
|
+
analysis,
|
|
54
55
|
};
|
|
55
56
|
}
|
|
56
57
|
/**
|
|
@@ -58,14 +59,36 @@ let RequirementsClarificationService = class RequirementsClarificationService {
|
|
|
58
59
|
*/
|
|
59
60
|
validateAnswers(questions, answers) {
|
|
60
61
|
const missingRequired = [];
|
|
62
|
+
const tooShort = [];
|
|
63
|
+
const containsInvalidContent = [];
|
|
61
64
|
for (const question of questions) {
|
|
62
|
-
|
|
65
|
+
const answer = answers[question.id]?.trim() || "";
|
|
66
|
+
// Check for missing required answers
|
|
67
|
+
if (question.required && !answer) {
|
|
63
68
|
missingRequired.push(question.question);
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
// Check for too-short answers
|
|
72
|
+
if (answer && answer.length < ANSWER_VALIDATION.MIN_ANSWER_LENGTH) {
|
|
73
|
+
tooShort.push({
|
|
74
|
+
question: question.question,
|
|
75
|
+
minLength: ANSWER_VALIDATION.MIN_ANSWER_LENGTH,
|
|
76
|
+
currentLength: answer.length,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
// Check for potentially malicious content
|
|
80
|
+
if (answer && ANSWER_VALIDATION.INVALID_CONTENT_PATTERN.test(answer)) {
|
|
81
|
+
containsInvalidContent.push(question.question);
|
|
64
82
|
}
|
|
65
83
|
}
|
|
84
|
+
const valid = missingRequired.length === 0 &&
|
|
85
|
+
tooShort.length === 0 &&
|
|
86
|
+
containsInvalidContent.length === 0;
|
|
66
87
|
return {
|
|
67
|
-
valid
|
|
68
|
-
missingRequired
|
|
88
|
+
valid,
|
|
89
|
+
missingRequired,
|
|
90
|
+
tooShort,
|
|
91
|
+
containsInvalidContent,
|
|
69
92
|
};
|
|
70
93
|
}
|
|
71
94
|
/**
|
|
@@ -73,9 +96,9 @@ let RequirementsClarificationService = class RequirementsClarificationService {
|
|
|
73
96
|
*/
|
|
74
97
|
synthesizeDescription(originalDescription, questions, answers) {
|
|
75
98
|
const correlationId = uuidv4();
|
|
76
|
-
this.logger.info(
|
|
99
|
+
this.logger.info("Synthesizing enriched project description", {
|
|
77
100
|
correlationId,
|
|
78
|
-
questionCount: questions.length
|
|
101
|
+
questionCount: questions.length,
|
|
79
102
|
});
|
|
80
103
|
// Extract answers by category
|
|
81
104
|
const why = this.extractAnswersByCategory(questions, answers, QuestionCategory.WHY);
|
|
@@ -90,7 +113,7 @@ let RequirementsClarificationService = class RequirementsClarificationService {
|
|
|
90
113
|
who,
|
|
91
114
|
what,
|
|
92
115
|
how,
|
|
93
|
-
successCriteria
|
|
116
|
+
successCriteria,
|
|
94
117
|
});
|
|
95
118
|
return {
|
|
96
119
|
original: originalDescription,
|
|
@@ -99,7 +122,7 @@ let RequirementsClarificationService = class RequirementsClarificationService {
|
|
|
99
122
|
what,
|
|
100
123
|
how: how || undefined,
|
|
101
124
|
successCriteria,
|
|
102
|
-
enriched
|
|
125
|
+
enriched,
|
|
103
126
|
};
|
|
104
127
|
}
|
|
105
128
|
/**
|
|
@@ -111,22 +134,22 @@ let RequirementsClarificationService = class RequirementsClarificationService {
|
|
|
111
134
|
// Check for WHY (business justification, problem statement)
|
|
112
135
|
const hasWhy = this.detectWhy(description);
|
|
113
136
|
if (!hasWhy && !steeringContext.hasProductContext) {
|
|
114
|
-
missingElements.push(
|
|
137
|
+
missingElements.push("Business justification or problem statement (WHY)");
|
|
115
138
|
}
|
|
116
139
|
// Check for WHO (target users)
|
|
117
140
|
const hasWho = this.detectWho(description);
|
|
118
141
|
if (!hasWho && !steeringContext.hasTargetUsers) {
|
|
119
|
-
missingElements.push(
|
|
142
|
+
missingElements.push("Target users or personas (WHO)");
|
|
120
143
|
}
|
|
121
144
|
// Check for WHAT (core features, scope)
|
|
122
145
|
const hasWhat = this.detectWhat(description);
|
|
123
146
|
if (!hasWhat) {
|
|
124
|
-
missingElements.push(
|
|
147
|
+
missingElements.push("Core features or scope definition (WHAT)");
|
|
125
148
|
}
|
|
126
149
|
// Check for success criteria
|
|
127
150
|
const hasSuccessCriteria = this.detectSuccessCriteria(description);
|
|
128
151
|
if (!hasSuccessCriteria) {
|
|
129
|
-
missingElements.push(
|
|
152
|
+
missingElements.push("Success criteria or metrics");
|
|
130
153
|
}
|
|
131
154
|
// Detect ambiguous terms
|
|
132
155
|
ambiguousTerms.push(...this.detectAmbiguousTerms(description));
|
|
@@ -137,10 +160,11 @@ let RequirementsClarificationService = class RequirementsClarificationService {
|
|
|
137
160
|
hasWhat,
|
|
138
161
|
hasSuccessCriteria,
|
|
139
162
|
ambiguousTermCount: ambiguousTerms.length,
|
|
140
|
-
descriptionLength: description.length
|
|
163
|
+
descriptionLength: description.length,
|
|
141
164
|
});
|
|
142
|
-
// Need clarification if score
|
|
143
|
-
const needsClarification = qualityScore <
|
|
165
|
+
// Need clarification if score below threshold or missing critical elements
|
|
166
|
+
const needsClarification = qualityScore < QUALITY_SCORE_WEIGHTS.MIN_ACCEPTABLE_SCORE ||
|
|
167
|
+
missingElements.length > 0;
|
|
144
168
|
return {
|
|
145
169
|
qualityScore,
|
|
146
170
|
missingElements,
|
|
@@ -149,7 +173,7 @@ let RequirementsClarificationService = class RequirementsClarificationService {
|
|
|
149
173
|
hasWhy,
|
|
150
174
|
hasWho,
|
|
151
175
|
hasWhat,
|
|
152
|
-
hasSuccessCriteria
|
|
176
|
+
hasSuccessCriteria,
|
|
153
177
|
};
|
|
154
178
|
}
|
|
155
179
|
/**
|
|
@@ -160,111 +184,112 @@ let RequirementsClarificationService = class RequirementsClarificationService {
|
|
|
160
184
|
// WHY questions - always high priority
|
|
161
185
|
if (!analysis.hasWhy && !steeringContext.hasProductContext) {
|
|
162
186
|
questions.push({
|
|
163
|
-
id:
|
|
187
|
+
id: "why_problem",
|
|
164
188
|
category: QuestionCategory.WHY,
|
|
165
|
-
question:
|
|
166
|
-
why:
|
|
189
|
+
question: "What business problem does this project solve? Why is it needed?",
|
|
190
|
+
why: "Understanding the business justification ensures we build the right solution",
|
|
167
191
|
examples: [
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
192
|
+
"Our customer support team spends 5 hours/day on repetitive inquiries",
|
|
193
|
+
"Users are abandoning checkout because the process takes too long",
|
|
194
|
+
"Developers waste time searching for undocumented APIs",
|
|
171
195
|
],
|
|
172
|
-
required: true
|
|
196
|
+
required: true,
|
|
173
197
|
});
|
|
174
198
|
questions.push({
|
|
175
|
-
id:
|
|
199
|
+
id: "why_value",
|
|
176
200
|
category: QuestionCategory.WHY,
|
|
177
|
-
question:
|
|
178
|
-
why:
|
|
201
|
+
question: "What value does this project provide to users or the business?",
|
|
202
|
+
why: "Clarifying value proposition helps prioritize features and measure success",
|
|
179
203
|
examples: [
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
204
|
+
"Reduce support ticket volume by 40%",
|
|
205
|
+
"Increase conversion rate by improving checkout speed",
|
|
206
|
+
"Save developers 2 hours/week with better documentation",
|
|
183
207
|
],
|
|
184
|
-
required: true
|
|
208
|
+
required: true,
|
|
185
209
|
});
|
|
186
210
|
}
|
|
187
211
|
// WHO questions
|
|
188
212
|
if (!analysis.hasWho && !steeringContext.hasTargetUsers) {
|
|
189
213
|
questions.push({
|
|
190
|
-
id:
|
|
214
|
+
id: "who_users",
|
|
191
215
|
category: QuestionCategory.WHO,
|
|
192
|
-
question:
|
|
193
|
-
why:
|
|
216
|
+
question: "Who are the primary users of this project?",
|
|
217
|
+
why: "Knowing the target users shapes UX, features, and technical decisions",
|
|
194
218
|
examples: [
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
219
|
+
"Customer support agents using ticketing systems",
|
|
220
|
+
"E-commerce shoppers on mobile devices",
|
|
221
|
+
"Backend developers integrating APIs",
|
|
198
222
|
],
|
|
199
|
-
required: true
|
|
223
|
+
required: true,
|
|
200
224
|
});
|
|
201
225
|
}
|
|
202
226
|
// WHAT questions
|
|
203
227
|
if (!analysis.hasWhat) {
|
|
204
228
|
questions.push({
|
|
205
|
-
id:
|
|
229
|
+
id: "what_mvp_features",
|
|
206
230
|
category: QuestionCategory.WHAT,
|
|
207
|
-
question:
|
|
208
|
-
why:
|
|
231
|
+
question: "What are the 3-5 core features for the MVP?",
|
|
232
|
+
why: "Defining MVP scope prevents scope creep and ensures focused delivery",
|
|
209
233
|
examples: [
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
234
|
+
"Auto-response system, ticket categorization, analytics dashboard",
|
|
235
|
+
"Product search, cart management, payment integration",
|
|
236
|
+
"API explorer, code examples, interactive documentation",
|
|
213
237
|
],
|
|
214
|
-
required: true
|
|
238
|
+
required: true,
|
|
215
239
|
});
|
|
216
240
|
questions.push({
|
|
217
|
-
id:
|
|
241
|
+
id: "what_out_of_scope",
|
|
218
242
|
category: QuestionCategory.WHAT,
|
|
219
|
-
question:
|
|
220
|
-
why:
|
|
243
|
+
question: "What is explicitly OUT OF SCOPE for this project?",
|
|
244
|
+
why: "Boundary definition prevents feature creep and manages expectations",
|
|
221
245
|
examples: [
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
246
|
+
"Admin panel (future phase)",
|
|
247
|
+
"Mobile app (web only for MVP)",
|
|
248
|
+
"Multi-language support (English only initially)",
|
|
225
249
|
],
|
|
226
|
-
required: false
|
|
250
|
+
required: false,
|
|
227
251
|
});
|
|
228
252
|
}
|
|
229
253
|
// SUCCESS questions
|
|
230
254
|
if (!analysis.hasSuccessCriteria) {
|
|
231
255
|
questions.push({
|
|
232
|
-
id:
|
|
256
|
+
id: "success_metrics",
|
|
233
257
|
category: QuestionCategory.SUCCESS,
|
|
234
|
-
question:
|
|
235
|
-
why:
|
|
258
|
+
question: "How will you measure if this project is successful?",
|
|
259
|
+
why: "Quantifiable metrics enable objective evaluation and iteration",
|
|
236
260
|
examples: [
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
261
|
+
"Support ticket volume reduced by 30% within 3 months",
|
|
262
|
+
"Page load time under 2 seconds, conversion rate > 3%",
|
|
263
|
+
"API documentation rated 4.5/5 stars by developers",
|
|
240
264
|
],
|
|
241
|
-
required: true
|
|
265
|
+
required: true,
|
|
242
266
|
});
|
|
243
267
|
}
|
|
244
268
|
// HOW questions (technical approach) - only if no tech steering
|
|
245
269
|
if (!steeringContext.hasTechContext) {
|
|
246
270
|
questions.push({
|
|
247
|
-
id:
|
|
271
|
+
id: "how_tech_constraints",
|
|
248
272
|
category: QuestionCategory.HOW,
|
|
249
|
-
question:
|
|
250
|
-
why:
|
|
273
|
+
question: "Are there any technical constraints or preferences? (language, platform, existing systems)",
|
|
274
|
+
why: "Technical constraints shape architecture and technology choices",
|
|
251
275
|
examples: [
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
276
|
+
"Must integrate with existing Salesforce CRM",
|
|
277
|
+
"TypeScript + React preferred, hosted on AWS",
|
|
278
|
+
"Python-based, needs to run on-premise",
|
|
255
279
|
],
|
|
256
|
-
required: false
|
|
280
|
+
required: false,
|
|
257
281
|
});
|
|
258
282
|
}
|
|
259
283
|
// Ambiguity clarification
|
|
260
|
-
for (
|
|
284
|
+
for (let i = 0; i < Math.min(analysis.ambiguousTerms.length, 3); i++) {
|
|
285
|
+
const ambiguous = analysis.ambiguousTerms[i];
|
|
261
286
|
questions.push({
|
|
262
|
-
id:
|
|
287
|
+
id: `ambiguity_${i + 1}`,
|
|
263
288
|
category: QuestionCategory.WHAT,
|
|
264
289
|
question: `You mentioned "${ambiguous.term}". ${ambiguous.suggestion}`,
|
|
265
|
-
why:
|
|
290
|
+
why: "Removing ambiguity ensures shared understanding",
|
|
266
291
|
examples: ambiguous.context ? [ambiguous.context] : undefined,
|
|
267
|
-
required: false
|
|
292
|
+
required: false,
|
|
268
293
|
});
|
|
269
294
|
}
|
|
270
295
|
return questions;
|
|
@@ -273,150 +298,88 @@ let RequirementsClarificationService = class RequirementsClarificationService {
|
|
|
273
298
|
* Load steering documents for context
|
|
274
299
|
*/
|
|
275
300
|
async loadSteeringContext(projectPath) {
|
|
276
|
-
|
|
277
|
-
return {
|
|
278
|
-
hasProductContext: false,
|
|
279
|
-
hasTargetUsers: false,
|
|
280
|
-
hasTechContext: false
|
|
281
|
-
};
|
|
282
|
-
}
|
|
283
|
-
const context = {
|
|
301
|
+
const defaultContext = {
|
|
284
302
|
hasProductContext: false,
|
|
285
303
|
hasTargetUsers: false,
|
|
286
|
-
hasTechContext: false
|
|
304
|
+
hasTechContext: false,
|
|
287
305
|
};
|
|
306
|
+
if (!projectPath) {
|
|
307
|
+
return defaultContext;
|
|
308
|
+
}
|
|
288
309
|
try {
|
|
310
|
+
const context = { ...defaultContext };
|
|
289
311
|
// Check product.md
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
312
|
+
try {
|
|
313
|
+
const productPath = `${projectPath}/.kiro/steering/product.md`;
|
|
314
|
+
if (await this.fileSystem.exists(productPath)) {
|
|
315
|
+
const productContent = await this.fileSystem.readFile(productPath);
|
|
316
|
+
context.hasProductContext =
|
|
317
|
+
productContent.length >
|
|
318
|
+
QUALITY_SCORE_WEIGHTS.MIN_STEERING_CONTENT_LENGTH;
|
|
319
|
+
context.hasTargetUsers =
|
|
320
|
+
PATTERN_DETECTION.TARGET_USERS_PATTERN.test(productContent);
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
catch (error) {
|
|
324
|
+
this.logger.debug("Failed to load product.md", {
|
|
325
|
+
error: error.message,
|
|
326
|
+
});
|
|
295
327
|
}
|
|
296
328
|
// Check tech.md
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
329
|
+
try {
|
|
330
|
+
const techPath = `${projectPath}/.kiro/steering/tech.md`;
|
|
331
|
+
if (await this.fileSystem.exists(techPath)) {
|
|
332
|
+
const techContent = await this.fileSystem.readFile(techPath);
|
|
333
|
+
context.hasTechContext =
|
|
334
|
+
techContent.length >
|
|
335
|
+
QUALITY_SCORE_WEIGHTS.MIN_STEERING_CONTENT_LENGTH;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
catch (error) {
|
|
339
|
+
this.logger.debug("Failed to load tech.md", {
|
|
340
|
+
error: error.message,
|
|
341
|
+
});
|
|
301
342
|
}
|
|
343
|
+
return context;
|
|
302
344
|
}
|
|
303
345
|
catch (error) {
|
|
304
|
-
this.logger.warn(
|
|
305
|
-
error: error.message
|
|
346
|
+
this.logger.warn("Failed to load steering context, using defaults", {
|
|
347
|
+
error: error.message,
|
|
348
|
+
projectPath,
|
|
306
349
|
});
|
|
350
|
+
return defaultContext;
|
|
307
351
|
}
|
|
308
|
-
return context;
|
|
309
352
|
}
|
|
310
353
|
/**
|
|
311
354
|
* Detects if description contains WHY (business justification)
|
|
312
355
|
*/
|
|
313
356
|
detectWhy(description) {
|
|
314
|
-
|
|
315
|
-
/\bproblem\b/i,
|
|
316
|
-
/\bsolve[sd]?\b/i,
|
|
317
|
-
/\bchallenge\b/i,
|
|
318
|
-
/\bpain\s+point/i,
|
|
319
|
-
/\bissue\b/i,
|
|
320
|
-
/\bwhy\b/i,
|
|
321
|
-
/\bbecause\b/i,
|
|
322
|
-
/\benables?\b/i,
|
|
323
|
-
/\bvalue\s+proposition/i,
|
|
324
|
-
/\bbenefit/i,
|
|
325
|
-
/\bjustification/i,
|
|
326
|
-
/\bgoal\b/i,
|
|
327
|
-
/\bobjective\b/i,
|
|
328
|
-
/\bpurpose\b/i
|
|
329
|
-
];
|
|
330
|
-
return whyPatterns.some(pattern => pattern.test(description));
|
|
357
|
+
return PATTERN_DETECTION.WHY_PATTERNS.some((pattern) => pattern.test(description));
|
|
331
358
|
}
|
|
332
359
|
/**
|
|
333
360
|
* Detects if description contains WHO (target users)
|
|
334
361
|
*/
|
|
335
362
|
detectWho(description) {
|
|
336
|
-
|
|
337
|
-
/\buser[s]?\b/i,
|
|
338
|
-
/\bcustomer[s]?\b/i,
|
|
339
|
-
/\btarget\s+(audience|users?|customers?)/i,
|
|
340
|
-
/\bpersona[s]?\b/i,
|
|
341
|
-
/\bstakeholder[s]?\b/i,
|
|
342
|
-
/\b(developer|designer|admin|manager)[s]?\b/i,
|
|
343
|
-
/\bfor\s+(teams?|companies|individuals)/i
|
|
344
|
-
];
|
|
345
|
-
return whoPatterns.some(pattern => pattern.test(description));
|
|
363
|
+
return PATTERN_DETECTION.WHO_PATTERNS.some((pattern) => pattern.test(description));
|
|
346
364
|
}
|
|
347
365
|
/**
|
|
348
366
|
* Detects if description contains WHAT (features, scope)
|
|
349
367
|
*/
|
|
350
368
|
detectWhat(description) {
|
|
351
|
-
|
|
352
|
-
/\bfeature[s]?\b/i,
|
|
353
|
-
/\bfunctionality\b/i,
|
|
354
|
-
/\bcapabilit(y|ies)/i,
|
|
355
|
-
/\bprovides?\b/i,
|
|
356
|
-
/\binclude[s]?\b/i,
|
|
357
|
-
/\bsupport[s]?\b/i,
|
|
358
|
-
/\ballow[s]?\b/i,
|
|
359
|
-
/\benable[s]?\b/i,
|
|
360
|
-
/\bMVP\b/i,
|
|
361
|
-
/\bscope\b/i
|
|
362
|
-
];
|
|
363
|
-
return whatPatterns.some(pattern => pattern.test(description));
|
|
369
|
+
return PATTERN_DETECTION.WHAT_PATTERNS.some((pattern) => pattern.test(description));
|
|
364
370
|
}
|
|
365
371
|
/**
|
|
366
372
|
* Detects if description contains success criteria
|
|
367
373
|
*/
|
|
368
374
|
detectSuccessCriteria(description) {
|
|
369
|
-
|
|
370
|
-
/\bmetric[s]?\b/i,
|
|
371
|
-
/\bKPI[s]?\b/i,
|
|
372
|
-
/\bmeasure[sd]?\b/i,
|
|
373
|
-
/\bsuccess\s+(criteria|metric)/i,
|
|
374
|
-
/\b\d+%/,
|
|
375
|
-
/\bperformance\s+target/i,
|
|
376
|
-
/\bgoal[s]?\b.*\d+/i
|
|
377
|
-
];
|
|
378
|
-
return successPatterns.some(pattern => pattern.test(description));
|
|
375
|
+
return PATTERN_DETECTION.SUCCESS_PATTERNS.some((pattern) => pattern.test(description));
|
|
379
376
|
}
|
|
380
377
|
/**
|
|
381
378
|
* Detects ambiguous terms that need clarification
|
|
382
379
|
*/
|
|
383
380
|
detectAmbiguousTerms(description) {
|
|
384
381
|
const ambiguousTerms = [];
|
|
385
|
-
const
|
|
386
|
-
{
|
|
387
|
-
pattern: /\bfast\b/gi,
|
|
388
|
-
suggestion: 'Can you specify a target response time? (e.g., "< 200ms API response", "page loads in 2s")'
|
|
389
|
-
},
|
|
390
|
-
{
|
|
391
|
-
pattern: /\bscalable\b/gi,
|
|
392
|
-
suggestion: 'What scale do you need to support? (e.g., "1000 concurrent users", "100k requests/hour")'
|
|
393
|
-
},
|
|
394
|
-
{
|
|
395
|
-
pattern: /\buser[- ]friendly\b/gi,
|
|
396
|
-
suggestion: 'What makes it user-friendly? (e.g., "3-click checkout", "mobile-responsive", "keyboard shortcuts")'
|
|
397
|
-
},
|
|
398
|
-
{
|
|
399
|
-
pattern: /\beasy\s+to\s+use\b/gi,
|
|
400
|
-
suggestion: 'What does easy mean for your users? (e.g., "no training required", "5-minute onboarding", "intuitive navigation")'
|
|
401
|
-
},
|
|
402
|
-
{
|
|
403
|
-
pattern: /\bhigh\s+quality\b/gi,
|
|
404
|
-
suggestion: 'How do you define quality? (e.g., "zero critical bugs in production", "90% test coverage", "< 5% error rate")'
|
|
405
|
-
},
|
|
406
|
-
{
|
|
407
|
-
pattern: /\breliable\b/gi,
|
|
408
|
-
suggestion: 'What reliability level do you need? (e.g., "99.9% uptime", "zero data loss", "automatic failover")'
|
|
409
|
-
},
|
|
410
|
-
{
|
|
411
|
-
pattern: /\bsecure\b/gi,
|
|
412
|
-
suggestion: 'What security requirements apply? (e.g., "SOC 2 compliant", "end-to-end encryption", "OAuth 2.0")'
|
|
413
|
-
},
|
|
414
|
-
{
|
|
415
|
-
pattern: /\bmodern\b/gi,
|
|
416
|
-
suggestion: 'What technologies or approaches are you considering? (e.g., "React + TypeScript", "microservices", "serverless")'
|
|
417
|
-
}
|
|
418
|
-
];
|
|
419
|
-
for (const { pattern, suggestion } of ambiguityMap) {
|
|
382
|
+
for (const { pattern, suggestion } of AMBIGUOUS_TERMS) {
|
|
420
383
|
const matches = description.match(pattern);
|
|
421
384
|
if (matches) {
|
|
422
385
|
for (const match of matches) {
|
|
@@ -424,7 +387,7 @@ let RequirementsClarificationService = class RequirementsClarificationService {
|
|
|
424
387
|
ambiguousTerms.push({
|
|
425
388
|
term: match,
|
|
426
389
|
context,
|
|
427
|
-
suggestion
|
|
390
|
+
suggestion,
|
|
428
391
|
});
|
|
429
392
|
}
|
|
430
393
|
}
|
|
@@ -437,49 +400,49 @@ let RequirementsClarificationService = class RequirementsClarificationService {
|
|
|
437
400
|
extractContext(text, term) {
|
|
438
401
|
const index = text.toLowerCase().indexOf(term.toLowerCase());
|
|
439
402
|
if (index === -1)
|
|
440
|
-
return
|
|
403
|
+
return "";
|
|
441
404
|
const start = Math.max(0, index - 30);
|
|
442
405
|
const end = Math.min(text.length, index + term.length + 30);
|
|
443
|
-
return
|
|
406
|
+
return "..." + text.slice(start, end).trim() + "...";
|
|
444
407
|
}
|
|
445
408
|
/**
|
|
446
409
|
* Calculates quality score based on completeness and clarity
|
|
447
410
|
*/
|
|
448
411
|
calculateQualityScore(metrics) {
|
|
449
412
|
let score = 0;
|
|
450
|
-
// WHY is most important
|
|
413
|
+
// WHY is most important
|
|
451
414
|
if (metrics.hasWhy)
|
|
452
|
-
score +=
|
|
453
|
-
// WHO is critical
|
|
415
|
+
score += QUALITY_SCORE_WEIGHTS.HAS_WHY;
|
|
416
|
+
// WHO is critical
|
|
454
417
|
if (metrics.hasWho)
|
|
455
|
-
score +=
|
|
456
|
-
// WHAT is essential
|
|
418
|
+
score += QUALITY_SCORE_WEIGHTS.HAS_WHO;
|
|
419
|
+
// WHAT is essential
|
|
457
420
|
if (metrics.hasWhat)
|
|
458
|
-
score +=
|
|
459
|
-
// Success criteria
|
|
421
|
+
score += QUALITY_SCORE_WEIGHTS.HAS_WHAT;
|
|
422
|
+
// Success criteria
|
|
460
423
|
if (metrics.hasSuccessCriteria)
|
|
461
|
-
score +=
|
|
462
|
-
// Penalize ambiguous terms
|
|
463
|
-
const ambiguityPenalty = Math.min(
|
|
424
|
+
score += QUALITY_SCORE_WEIGHTS.HAS_SUCCESS;
|
|
425
|
+
// Penalize ambiguous terms
|
|
426
|
+
const ambiguityPenalty = Math.min(QUALITY_SCORE_WEIGHTS.MAX_AMBIGUITY_PENALTY, metrics.ambiguousTermCount * QUALITY_SCORE_WEIGHTS.AMBIGUITY_PENALTY);
|
|
464
427
|
score -= ambiguityPenalty;
|
|
465
|
-
// Length bonus
|
|
466
|
-
if (metrics.descriptionLength >
|
|
467
|
-
score +=
|
|
468
|
-
if (metrics.descriptionLength >
|
|
469
|
-
score +=
|
|
470
|
-
if (metrics.descriptionLength >
|
|
471
|
-
score +=
|
|
428
|
+
// Length bonus - adequate detail
|
|
429
|
+
if (metrics.descriptionLength > QUALITY_SCORE_WEIGHTS.LENGTH_BONUS_THRESHOLD_1)
|
|
430
|
+
score += QUALITY_SCORE_WEIGHTS.LENGTH_BONUS_POINTS;
|
|
431
|
+
if (metrics.descriptionLength > QUALITY_SCORE_WEIGHTS.LENGTH_BONUS_THRESHOLD_2)
|
|
432
|
+
score += QUALITY_SCORE_WEIGHTS.LENGTH_BONUS_POINTS;
|
|
433
|
+
if (metrics.descriptionLength > QUALITY_SCORE_WEIGHTS.LENGTH_BONUS_THRESHOLD_3)
|
|
434
|
+
score += QUALITY_SCORE_WEIGHTS.LENGTH_BONUS_POINTS;
|
|
472
435
|
return Math.max(0, Math.min(100, score));
|
|
473
436
|
}
|
|
474
437
|
/**
|
|
475
438
|
* Extracts answers for a specific category
|
|
476
439
|
*/
|
|
477
440
|
extractAnswersByCategory(questions, answers, category) {
|
|
478
|
-
const categoryQuestions = questions.filter(q => q.category === category);
|
|
441
|
+
const categoryQuestions = questions.filter((q) => q.category === category);
|
|
479
442
|
const categoryAnswers = categoryQuestions
|
|
480
|
-
.map(q => answers[q.id])
|
|
481
|
-
.filter(a => a && a.trim().length > 0);
|
|
482
|
-
return categoryAnswers.join(
|
|
443
|
+
.map((q) => answers[q.id])
|
|
444
|
+
.filter((a) => a && a.trim().length > 0);
|
|
445
|
+
return categoryAnswers.join(" ");
|
|
483
446
|
}
|
|
484
447
|
/**
|
|
485
448
|
* Builds the enriched description from all components
|
|
@@ -510,7 +473,7 @@ let RequirementsClarificationService = class RequirementsClarificationService {
|
|
|
510
473
|
if (components.successCriteria) {
|
|
511
474
|
parts.push(`## Success Criteria\n${components.successCriteria}`);
|
|
512
475
|
}
|
|
513
|
-
return parts.join(
|
|
476
|
+
return parts.join("\n\n");
|
|
514
477
|
}
|
|
515
478
|
};
|
|
516
479
|
RequirementsClarificationService = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequirementsClarificationService.js","sourceRoot":"","sources":["../../../src/application/services/RequirementsClarificationService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RequirementsClarificationService.js","sourceRoot":"","sources":["../../../src/application/services/RequirementsClarificationService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Constants for Requirements Clarification Service
|
|
3
|
+
* Extracted from inline magic numbers to improve maintainability
|
|
4
|
+
*/
|
|
5
|
+
export declare const QUALITY_SCORE_WEIGHTS: {
|
|
6
|
+
readonly HAS_WHY: 30;
|
|
7
|
+
readonly HAS_WHO: 20;
|
|
8
|
+
readonly HAS_WHAT: 20;
|
|
9
|
+
readonly HAS_SUCCESS: 15;
|
|
10
|
+
readonly AMBIGUITY_PENALTY: 5;
|
|
11
|
+
readonly MAX_AMBIGUITY_PENALTY: 15;
|
|
12
|
+
readonly LENGTH_BONUS_THRESHOLD_1: 100;
|
|
13
|
+
readonly LENGTH_BONUS_THRESHOLD_2: 300;
|
|
14
|
+
readonly LENGTH_BONUS_THRESHOLD_3: 500;
|
|
15
|
+
readonly LENGTH_BONUS_POINTS: 5;
|
|
16
|
+
readonly MIN_ACCEPTABLE_SCORE: 70;
|
|
17
|
+
readonly MIN_STEERING_CONTENT_LENGTH: 200;
|
|
18
|
+
};
|
|
19
|
+
export declare const ANSWER_VALIDATION: {
|
|
20
|
+
readonly MIN_ANSWER_LENGTH: 10;
|
|
21
|
+
readonly INVALID_CONTENT_PATTERN: RegExp;
|
|
22
|
+
};
|
|
23
|
+
export declare const PATTERN_DETECTION: {
|
|
24
|
+
readonly WHY_PATTERNS: readonly [RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp];
|
|
25
|
+
readonly WHO_PATTERNS: readonly [RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp];
|
|
26
|
+
readonly WHAT_PATTERNS: readonly [RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp];
|
|
27
|
+
readonly SUCCESS_PATTERNS: readonly [RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp];
|
|
28
|
+
readonly TARGET_USERS_PATTERN: RegExp;
|
|
29
|
+
};
|
|
30
|
+
export declare const AMBIGUOUS_TERMS: readonly [{
|
|
31
|
+
readonly pattern: RegExp;
|
|
32
|
+
readonly suggestion: "Can you specify a target response time? (e.g., \"< 200ms API response\", \"page loads in 2s\")";
|
|
33
|
+
}, {
|
|
34
|
+
readonly pattern: RegExp;
|
|
35
|
+
readonly suggestion: "What scale do you need to support? (e.g., \"1000 concurrent users\", \"100k requests/hour\")";
|
|
36
|
+
}, {
|
|
37
|
+
readonly pattern: RegExp;
|
|
38
|
+
readonly suggestion: "What makes it user-friendly? (e.g., \"3-click checkout\", \"mobile-responsive\", \"keyboard shortcuts\")";
|
|
39
|
+
}, {
|
|
40
|
+
readonly pattern: RegExp;
|
|
41
|
+
readonly suggestion: "What does easy mean for your users? (e.g., \"no training required\", \"5-minute onboarding\", \"intuitive navigation\")";
|
|
42
|
+
}, {
|
|
43
|
+
readonly pattern: RegExp;
|
|
44
|
+
readonly suggestion: "How do you define quality? (e.g., \"zero critical bugs in production\", \"90% test coverage\", \"< 5% error rate\")";
|
|
45
|
+
}, {
|
|
46
|
+
readonly pattern: RegExp;
|
|
47
|
+
readonly suggestion: "What reliability level do you need? (e.g., \"99.9% uptime\", \"zero data loss\", \"automatic failover\")";
|
|
48
|
+
}, {
|
|
49
|
+
readonly pattern: RegExp;
|
|
50
|
+
readonly suggestion: "What security requirements apply? (e.g., \"SOC 2 compliant\", \"end-to-end encryption\", \"OAuth 2.0\")";
|
|
51
|
+
}, {
|
|
52
|
+
readonly pattern: RegExp;
|
|
53
|
+
readonly suggestion: "What technologies or approaches are you considering? (e.g., \"React + TypeScript\", \"microservices\", \"serverless\")";
|
|
54
|
+
}];
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Constants for Requirements Clarification Service
|
|
3
|
+
* Extracted from inline magic numbers to improve maintainability
|
|
4
|
+
*/
|
|
5
|
+
export const QUALITY_SCORE_WEIGHTS = {
|
|
6
|
+
HAS_WHY: 30, // Business justification - Most critical
|
|
7
|
+
HAS_WHO: 20, // Target users - Essential
|
|
8
|
+
HAS_WHAT: 20, // Feature scope - Essential
|
|
9
|
+
HAS_SUCCESS: 15, // Success criteria - Important
|
|
10
|
+
AMBIGUITY_PENALTY: 5,
|
|
11
|
+
MAX_AMBIGUITY_PENALTY: 15,
|
|
12
|
+
LENGTH_BONUS_THRESHOLD_1: 100,
|
|
13
|
+
LENGTH_BONUS_THRESHOLD_2: 300,
|
|
14
|
+
LENGTH_BONUS_THRESHOLD_3: 500,
|
|
15
|
+
LENGTH_BONUS_POINTS: 5,
|
|
16
|
+
MIN_ACCEPTABLE_SCORE: 70,
|
|
17
|
+
MIN_STEERING_CONTENT_LENGTH: 200,
|
|
18
|
+
};
|
|
19
|
+
export const ANSWER_VALIDATION = {
|
|
20
|
+
MIN_ANSWER_LENGTH: 10,
|
|
21
|
+
INVALID_CONTENT_PATTERN: /<script|javascript:|onerror=/i,
|
|
22
|
+
};
|
|
23
|
+
export const PATTERN_DETECTION = {
|
|
24
|
+
WHY_PATTERNS: [
|
|
25
|
+
/\bproblem\b/i,
|
|
26
|
+
/\bsolve[sd]?\b/i,
|
|
27
|
+
/\bchallenge\b/i,
|
|
28
|
+
/\bpain\s+point/i,
|
|
29
|
+
/\bissue\b/i,
|
|
30
|
+
/\bwhy\b/i,
|
|
31
|
+
/\bbecause\b/i,
|
|
32
|
+
/\benables?\b/i,
|
|
33
|
+
/\bvalue\s+proposition/i,
|
|
34
|
+
/\bbenefit/i,
|
|
35
|
+
/\bjustification/i,
|
|
36
|
+
/\bgoal\b/i,
|
|
37
|
+
/\bobjective\b/i,
|
|
38
|
+
/\bpurpose\b/i,
|
|
39
|
+
],
|
|
40
|
+
WHO_PATTERNS: [
|
|
41
|
+
/\buser[s]?\b/i,
|
|
42
|
+
/\bcustomer[s]?\b/i,
|
|
43
|
+
/\btarget\s+(audience|users?|customers?)/i,
|
|
44
|
+
/\bpersona[s]?\b/i,
|
|
45
|
+
/\bstakeholder[s]?\b/i,
|
|
46
|
+
/\b(developer|designer|admin|manager)[s]?\b/i,
|
|
47
|
+
/\bfor\s+(teams?|companies|individuals)/i,
|
|
48
|
+
],
|
|
49
|
+
WHAT_PATTERNS: [
|
|
50
|
+
/\bfeature[s]?\b/i,
|
|
51
|
+
/\bfunctionality\b/i,
|
|
52
|
+
/\bcapabilit(y|ies)/i,
|
|
53
|
+
/\bprovides?\b/i,
|
|
54
|
+
/\binclude[s]?\b/i,
|
|
55
|
+
/\bsupport[s]?\b/i,
|
|
56
|
+
/\ballow[s]?\b/i,
|
|
57
|
+
/\benable[s]?\b/i,
|
|
58
|
+
/\bMVP\b/i,
|
|
59
|
+
/\bscope\b/i,
|
|
60
|
+
],
|
|
61
|
+
SUCCESS_PATTERNS: [
|
|
62
|
+
/\bmetric[s]?\b/i,
|
|
63
|
+
/\bKPI[s]?\b/i,
|
|
64
|
+
/\bmeasure[sd]?\b/i,
|
|
65
|
+
/\bsuccess\s+(criteria|metric)/i,
|
|
66
|
+
/\b\d+%/,
|
|
67
|
+
/\bperformance\s+target/i,
|
|
68
|
+
/\bgoal[s]?\b.*\d+/i,
|
|
69
|
+
],
|
|
70
|
+
TARGET_USERS_PATTERN: /target\s+users|user\s+persona/i,
|
|
71
|
+
};
|
|
72
|
+
export const AMBIGUOUS_TERMS = [
|
|
73
|
+
{
|
|
74
|
+
pattern: /\bfast\b/gi,
|
|
75
|
+
suggestion: 'Can you specify a target response time? (e.g., "< 200ms API response", "page loads in 2s")',
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
pattern: /\bscalable\b/gi,
|
|
79
|
+
suggestion: 'What scale do you need to support? (e.g., "1000 concurrent users", "100k requests/hour")',
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
pattern: /\buser[- ]friendly\b/gi,
|
|
83
|
+
suggestion: 'What makes it user-friendly? (e.g., "3-click checkout", "mobile-responsive", "keyboard shortcuts")',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
pattern: /\beasy\s+to\s+use\b/gi,
|
|
87
|
+
suggestion: 'What does easy mean for your users? (e.g., "no training required", "5-minute onboarding", "intuitive navigation")',
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
pattern: /\bhigh\s+quality\b/gi,
|
|
91
|
+
suggestion: 'How do you define quality? (e.g., "zero critical bugs in production", "90% test coverage", "< 5% error rate")',
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
pattern: /\breliable\b/gi,
|
|
95
|
+
suggestion: 'What reliability level do you need? (e.g., "99.9% uptime", "zero data loss", "automatic failover")',
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
pattern: /\bsecure\b/gi,
|
|
99
|
+
suggestion: 'What security requirements apply? (e.g., "SOC 2 compliant", "end-to-end encryption", "OAuth 2.0")',
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
pattern: /\bmodern\b/gi,
|
|
103
|
+
suggestion: 'What technologies or approaches are you considering? (e.g., "React + TypeScript", "microservices", "serverless")',
|
|
104
|
+
},
|
|
105
|
+
];
|
|
106
|
+
//# sourceMappingURL=clarification-constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clarification-constants.js","sourceRoot":"","sources":["../../../src/application/services/clarification-constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,OAAO,EAAE,EAAE,EAAE,yCAAyC;IACtD,OAAO,EAAE,EAAE,EAAE,2BAA2B;IACxC,QAAQ,EAAE,EAAE,EAAE,4BAA4B;IAC1C,WAAW,EAAE,EAAE,EAAE,+BAA+B;IAChD,iBAAiB,EAAE,CAAC;IACpB,qBAAqB,EAAE,EAAE;IACzB,wBAAwB,EAAE,GAAG;IAC7B,wBAAwB,EAAE,GAAG;IAC7B,wBAAwB,EAAE,GAAG;IAC7B,mBAAmB,EAAE,CAAC;IACtB,oBAAoB,EAAE,EAAE;IACxB,2BAA2B,EAAE,GAAG;CACxB,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,iBAAiB,EAAE,EAAE;IACrB,uBAAuB,EAAE,+BAA+B;CAChD,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,YAAY,EAAE;QACZ,cAAc;QACd,iBAAiB;QACjB,gBAAgB;QAChB,iBAAiB;QACjB,YAAY;QACZ,UAAU;QACV,cAAc;QACd,eAAe;QACf,wBAAwB;QACxB,YAAY;QACZ,kBAAkB;QAClB,WAAW;QACX,gBAAgB;QAChB,cAAc;KACf;IACD,YAAY,EAAE;QACZ,eAAe;QACf,mBAAmB;QACnB,0CAA0C;QAC1C,kBAAkB;QAClB,sBAAsB;QACtB,6CAA6C;QAC7C,yCAAyC;KAC1C;IACD,aAAa,EAAE;QACb,kBAAkB;QAClB,oBAAoB;QACpB,qBAAqB;QACrB,gBAAgB;QAChB,kBAAkB;QAClB,kBAAkB;QAClB,gBAAgB;QAChB,iBAAiB;QACjB,UAAU;QACV,YAAY;KACb;IACD,gBAAgB,EAAE;QAChB,iBAAiB;QACjB,cAAc;QACd,mBAAmB;QACnB,gCAAgC;QAChC,QAAQ;QACR,yBAAyB;QACzB,oBAAoB;KACrB;IACD,oBAAoB,EAAE,gCAAgC;CAC9C,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B;QACE,OAAO,EAAE,YAAY;QACrB,UAAU,EACR,4FAA4F;KAC/F;IACD;QACE,OAAO,EAAE,gBAAgB;QACzB,UAAU,EACR,0FAA0F;KAC7F;IACD;QACE,OAAO,EAAE,wBAAwB;QACjC,UAAU,EACR,oGAAoG;KACvG;IACD;QACE,OAAO,EAAE,uBAAuB;QAChC,UAAU,EACR,mHAAmH;KACtH;IACD;QACE,OAAO,EAAE,sBAAsB;QAC/B,UAAU,EACR,+GAA+G;KAClH;IACD;QACE,OAAO,EAAE,gBAAgB;QACzB,UAAU,EACR,oGAAoG;KACvG;IACD;QACE,OAAO,EAAE,cAAc;QACvB,UAAU,EACR,mGAAmG;KACtG;IACD;QACE,OAAO,EAAE,cAAc;QACvB,UAAU,EACR,kHAAkH;KACrH;CACO,CAAC"}
|
package/dist/domain/types.d.ts
CHANGED
|
@@ -160,3 +160,14 @@ export interface ClarificationResult {
|
|
|
160
160
|
readonly analysis?: ClarificationAnalysis;
|
|
161
161
|
readonly enrichedDescription?: EnrichedProjectDescription;
|
|
162
162
|
}
|
|
163
|
+
export type ClarificationAnswers = Record<string, string>;
|
|
164
|
+
export interface AnswerValidationResult {
|
|
165
|
+
readonly valid: boolean;
|
|
166
|
+
readonly missingRequired: string[];
|
|
167
|
+
readonly tooShort: Array<{
|
|
168
|
+
question: string;
|
|
169
|
+
minLength: number;
|
|
170
|
+
currentLength: number;
|
|
171
|
+
}>;
|
|
172
|
+
readonly containsInvalidContent: string[];
|
|
173
|
+
}
|