business-design-mcp 1.0.2 → 1.0.3
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/openai/parser.d.ts +1 -0
- package/dist/openai/parser.d.ts.map +1 -1
- package/dist/openai/parser.js +138 -6
- package/dist/openai/parser.js.map +1 -1
- package/dist/openai/prompts.d.ts +1 -1
- package/dist/openai/prompts.d.ts.map +1 -1
- package/dist/openai/prompts.js +54 -38
- package/dist/openai/prompts.js.map +1 -1
- package/package.json +1 -1
package/dist/openai/parser.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export interface ParsedResearchResult {
|
|
|
12
12
|
citations: Citation[];
|
|
13
13
|
confidence: number;
|
|
14
14
|
missingFields: string[];
|
|
15
|
+
warnings: string[];
|
|
15
16
|
rawContent: string;
|
|
16
17
|
}
|
|
17
18
|
export declare function parseMarketSizingResearch(content: string, rawCitations: RawCitation[]): ParsedResearchResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/openai/parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/openai/parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AA+JD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,CAyHtB;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,CAiItB;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,CAqEtB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,CAuCtB;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,CAoEtB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,CAyDtB;AAED,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,CAmDtB;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,WAAW,EAAE,GAC1B,oBAAoB,CA0BtB"}
|
package/dist/openai/parser.js
CHANGED
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
function generateCitationId() {
|
|
2
2
|
return `cit-${Date.now()}-${Math.random().toString(36).substring(2, 7)}`;
|
|
3
3
|
}
|
|
4
|
-
|
|
4
|
+
// Map a citation to fields based on its position in content
|
|
5
|
+
function mapCitationToFields(citation, fieldSections) {
|
|
6
|
+
const relevantFields = [];
|
|
7
|
+
for (const [fieldName, range] of Object.entries(fieldSections)) {
|
|
8
|
+
// Citation falls within this section
|
|
9
|
+
if (citation.startIndex >= range.start && citation.startIndex < range.end) {
|
|
10
|
+
relevantFields.push(fieldName);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
return relevantFields;
|
|
14
|
+
}
|
|
15
|
+
function processCitations(rawCitations, fieldSections) {
|
|
5
16
|
const now = new Date().toISOString();
|
|
6
17
|
const seen = new Set();
|
|
7
18
|
return rawCitations
|
|
@@ -16,9 +27,40 @@ function processCitations(rawCitations) {
|
|
|
16
27
|
title: c.title,
|
|
17
28
|
url: c.url,
|
|
18
29
|
accessedAt: now,
|
|
19
|
-
relevantFields: [],
|
|
30
|
+
relevantFields: fieldSections ? mapCitationToFields(c, fieldSections) : [],
|
|
20
31
|
}));
|
|
21
32
|
}
|
|
33
|
+
// Extract section positions from content for citation mapping
|
|
34
|
+
function extractSectionPositions(content, sectionPatterns) {
|
|
35
|
+
const fieldSections = {};
|
|
36
|
+
const contentLength = content.length;
|
|
37
|
+
const positions = [];
|
|
38
|
+
for (const [fieldName, patternStr] of Object.entries(sectionPatterns)) {
|
|
39
|
+
const pattern = new RegExp(`##?\\s*(?:${patternStr})`, "i");
|
|
40
|
+
const match = content.match(pattern);
|
|
41
|
+
if (match && match.index !== undefined) {
|
|
42
|
+
positions.push({ field: fieldName, start: match.index });
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// Sort by position
|
|
46
|
+
positions.sort((a, b) => a.start - b.start);
|
|
47
|
+
// Assign end positions (next section start or end of content)
|
|
48
|
+
for (let i = 0; i < positions.length; i++) {
|
|
49
|
+
const current = positions[i];
|
|
50
|
+
const nextStart = i + 1 < positions.length ? positions[i + 1].start : contentLength;
|
|
51
|
+
fieldSections[current.field] = { start: current.start, end: nextStart };
|
|
52
|
+
}
|
|
53
|
+
return fieldSections;
|
|
54
|
+
}
|
|
55
|
+
// Validation helpers for extracted data
|
|
56
|
+
function isReasonableMarketSize(value) {
|
|
57
|
+
// $1M to $100T is reasonable market size range
|
|
58
|
+
return value >= 1_000_000 && value <= 100_000_000_000_000;
|
|
59
|
+
}
|
|
60
|
+
function isReasonableGrowthRate(rate) {
|
|
61
|
+
// -50% to 500% is reasonable CAGR range
|
|
62
|
+
return rate >= -50 && rate <= 500;
|
|
63
|
+
}
|
|
22
64
|
// Extract numerical values with units
|
|
23
65
|
function extractNumber(text, patterns) {
|
|
24
66
|
for (const pattern of patterns) {
|
|
@@ -68,8 +110,17 @@ function extractSection(text, sectionHeader) {
|
|
|
68
110
|
return match && match[1] ? match[1].trim() : "";
|
|
69
111
|
}
|
|
70
112
|
export function parseMarketSizingResearch(content, rawCitations) {
|
|
71
|
-
const citations = processCitations(rawCitations);
|
|
72
113
|
const missingFields = [];
|
|
114
|
+
// Calculate section positions for citation mapping
|
|
115
|
+
const sectionPatterns = {
|
|
116
|
+
"tam": "TAM|Total Addressable Market",
|
|
117
|
+
"sam": "SAM|Serviceable Addressable Market",
|
|
118
|
+
"som": "SOM|Serviceable Obtainable Market",
|
|
119
|
+
"growthRate": "Growth|CAGR|Market Growth",
|
|
120
|
+
};
|
|
121
|
+
const fieldSections = extractSectionPositions(content, sectionPatterns);
|
|
122
|
+
// Process citations with section mapping
|
|
123
|
+
const citations = processCitations(rawCitations, fieldSections);
|
|
73
124
|
// Currency patterns
|
|
74
125
|
const currencyPatterns = [
|
|
75
126
|
/\$\s*([\d,.]+)\s*(trillion|billion|million|t|b|m)?/i,
|
|
@@ -109,6 +160,35 @@ export function parseMarketSizingResearch(content, rawCitations) {
|
|
|
109
160
|
confidence -= 10;
|
|
110
161
|
if (citations.length === 0)
|
|
111
162
|
confidence -= 20;
|
|
163
|
+
// Validation warnings
|
|
164
|
+
const warnings = [];
|
|
165
|
+
// Validate TAM >= SAM >= SOM relationship
|
|
166
|
+
if (tamValue && samValue && tamValue < samValue) {
|
|
167
|
+
warnings.push("Data inconsistency: TAM is smaller than SAM");
|
|
168
|
+
confidence -= 15;
|
|
169
|
+
}
|
|
170
|
+
if (samValue && somValue && samValue < somValue) {
|
|
171
|
+
warnings.push("Data inconsistency: SAM is smaller than SOM");
|
|
172
|
+
confidence -= 15;
|
|
173
|
+
}
|
|
174
|
+
// Validate market size reasonableness
|
|
175
|
+
if (tamValue && !isReasonableMarketSize(tamValue)) {
|
|
176
|
+
warnings.push(`TAM value ${tamValue} outside reasonable range ($1M - $100T)`);
|
|
177
|
+
confidence -= 10;
|
|
178
|
+
}
|
|
179
|
+
if (samValue && !isReasonableMarketSize(samValue)) {
|
|
180
|
+
warnings.push(`SAM value ${samValue} outside reasonable range ($1M - $100T)`);
|
|
181
|
+
confidence -= 10;
|
|
182
|
+
}
|
|
183
|
+
if (somValue && !isReasonableMarketSize(somValue)) {
|
|
184
|
+
warnings.push(`SOM value ${somValue} outside reasonable range ($1M - $100T)`);
|
|
185
|
+
confidence -= 10;
|
|
186
|
+
}
|
|
187
|
+
// Validate growth rate reasonableness
|
|
188
|
+
if (growthRate !== undefined && !isReasonableGrowthRate(growthRate)) {
|
|
189
|
+
warnings.push(`Growth rate ${growthRate}% outside reasonable range (-50% to 500%)`);
|
|
190
|
+
confidence -= 5;
|
|
191
|
+
}
|
|
112
192
|
const data = {
|
|
113
193
|
tam: {
|
|
114
194
|
value: tamValue,
|
|
@@ -139,14 +219,44 @@ export function parseMarketSizingResearch(content, rawCitations) {
|
|
|
139
219
|
citations,
|
|
140
220
|
confidence: Math.max(0, confidence),
|
|
141
221
|
missingFields,
|
|
222
|
+
warnings,
|
|
142
223
|
rawContent: content,
|
|
143
224
|
};
|
|
144
225
|
}
|
|
145
226
|
export function parseCompetitiveAnalysisResearch(content, rawCitations) {
|
|
146
|
-
const citations = processCitations(rawCitations);
|
|
147
227
|
const missingFields = [];
|
|
228
|
+
// Build section mapping for competitors and our position
|
|
229
|
+
// Find all competitor sections (## [Name] followed by ### Strengths/Weaknesses)
|
|
230
|
+
const fieldSections = {};
|
|
231
|
+
const competitorSectionPattern = /##\s+(?!Our\s+Position|Potential\s+Position|Summary|Overview|Market)([A-Za-z0-9\s&.-]+?)(?:\n)/gi;
|
|
232
|
+
let competitorIndex = 0;
|
|
233
|
+
let match;
|
|
234
|
+
while ((match = competitorSectionPattern.exec(content)) !== null) {
|
|
235
|
+
if (match.index !== undefined) {
|
|
236
|
+
const competitorName = match[1].trim();
|
|
237
|
+
// Find next ## section or end of content
|
|
238
|
+
const nextSectionMatch = content.slice(match.index + match[0].length).match(/\n##\s+/);
|
|
239
|
+
const endPos = nextSectionMatch
|
|
240
|
+
? match.index + match[0].length + nextSectionMatch.index
|
|
241
|
+
: content.length;
|
|
242
|
+
fieldSections[`competitors[${competitorIndex}]`] = {
|
|
243
|
+
start: match.index,
|
|
244
|
+
end: endPos,
|
|
245
|
+
};
|
|
246
|
+
competitorIndex++;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
// Add our position section
|
|
250
|
+
const ourPosMatch = content.match(/##\s*(?:Our\s+(?:Potential\s+)?Position)/i);
|
|
251
|
+
if (ourPosMatch && ourPosMatch.index !== undefined) {
|
|
252
|
+
fieldSections["ourPosition"] = {
|
|
253
|
+
start: ourPosMatch.index,
|
|
254
|
+
end: content.length,
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
// Process citations with section mapping
|
|
258
|
+
const citations = processCitations(rawCitations, fieldSections);
|
|
148
259
|
// Extract competitor sections
|
|
149
|
-
const competitorPattern = /##\s*(?:Competitor\s*\d+:?\s*)?([A-Za-z0-9\s]+?)(?:\n|$)/g;
|
|
150
260
|
const competitors = [];
|
|
151
261
|
// Simple extraction of competitor names and their strengths/weaknesses
|
|
152
262
|
const sections = content.split(/##\s+/);
|
|
@@ -156,7 +266,7 @@ export function parseCompetitiveAnalysisResearch(content, rawCitations) {
|
|
|
156
266
|
const lines = section.split("\n");
|
|
157
267
|
const header = lines[0]?.trim();
|
|
158
268
|
// Skip non-competitor sections
|
|
159
|
-
if (/TAM|SAM|SOM|Market|Our Position|Summary|Overview/i.test(header || "")) {
|
|
269
|
+
if (/TAM|SAM|SOM|Market|Our Position|Potential Position|Summary|Overview/i.test(header || "")) {
|
|
160
270
|
continue;
|
|
161
271
|
}
|
|
162
272
|
const sectionContent = section;
|
|
@@ -183,6 +293,21 @@ export function parseCompetitiveAnalysisResearch(content, rawCitations) {
|
|
|
183
293
|
confidence -= 20;
|
|
184
294
|
if (citations.length === 0)
|
|
185
295
|
confidence -= 20;
|
|
296
|
+
// Validation warnings
|
|
297
|
+
const warnings = [];
|
|
298
|
+
// Warn if fewer than 3 competitors found
|
|
299
|
+
if (competitors.length > 0 && competitors.length < 3) {
|
|
300
|
+
warnings.push(`Only ${competitors.length} competitor(s) found; recommend at least 3 for thorough analysis`);
|
|
301
|
+
}
|
|
302
|
+
// Warn if any competitor has zero strengths or weaknesses
|
|
303
|
+
for (const competitor of competitors) {
|
|
304
|
+
if (competitor.strengths.length === 0) {
|
|
305
|
+
warnings.push(`Competitor "${competitor.name}" has no strengths identified`);
|
|
306
|
+
}
|
|
307
|
+
if (competitor.weaknesses.length === 0) {
|
|
308
|
+
warnings.push(`Competitor "${competitor.name}" has no weaknesses identified`);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
186
311
|
const data = {
|
|
187
312
|
competitors: competitors.map((c) => ({
|
|
188
313
|
name: c.name,
|
|
@@ -202,6 +327,7 @@ export function parseCompetitiveAnalysisResearch(content, rawCitations) {
|
|
|
202
327
|
citations,
|
|
203
328
|
confidence: Math.max(0, confidence),
|
|
204
329
|
missingFields,
|
|
330
|
+
warnings,
|
|
205
331
|
rawContent: content,
|
|
206
332
|
};
|
|
207
333
|
}
|
|
@@ -259,6 +385,7 @@ export function parseUserPersonaResearch(content, rawCitations) {
|
|
|
259
385
|
citations,
|
|
260
386
|
confidence: Math.max(0, confidence),
|
|
261
387
|
missingFields,
|
|
388
|
+
warnings: [],
|
|
262
389
|
rawContent: content,
|
|
263
390
|
};
|
|
264
391
|
}
|
|
@@ -297,6 +424,7 @@ export function parseSwotAnalysisResearch(content, rawCitations) {
|
|
|
297
424
|
citations,
|
|
298
425
|
confidence: Math.max(0, confidence),
|
|
299
426
|
missingFields,
|
|
427
|
+
warnings: [],
|
|
300
428
|
rawContent: content,
|
|
301
429
|
};
|
|
302
430
|
}
|
|
@@ -343,6 +471,7 @@ export function parseBusinessModelCanvasResearch(content, rawCitations) {
|
|
|
343
471
|
citations,
|
|
344
472
|
confidence: Math.max(0, confidence),
|
|
345
473
|
missingFields,
|
|
474
|
+
warnings: [],
|
|
346
475
|
rawContent: content,
|
|
347
476
|
};
|
|
348
477
|
}
|
|
@@ -387,6 +516,7 @@ export function parseLeanCanvasResearch(content, rawCitations) {
|
|
|
387
516
|
citations,
|
|
388
517
|
confidence: Math.max(0, confidence),
|
|
389
518
|
missingFields,
|
|
519
|
+
warnings: [],
|
|
390
520
|
rawContent: content,
|
|
391
521
|
};
|
|
392
522
|
}
|
|
@@ -427,6 +557,7 @@ export function parseValuePropositionCanvasResearch(content, rawCitations) {
|
|
|
427
557
|
citations,
|
|
428
558
|
confidence: Math.max(0, confidence),
|
|
429
559
|
missingFields,
|
|
560
|
+
warnings: [],
|
|
430
561
|
rawContent: content,
|
|
431
562
|
};
|
|
432
563
|
}
|
|
@@ -452,6 +583,7 @@ export function parseResearchResult(framework, content, rawCitations) {
|
|
|
452
583
|
citations: processCitations(rawCitations),
|
|
453
584
|
confidence: 0,
|
|
454
585
|
missingFields: ["unknown-framework"],
|
|
586
|
+
warnings: [],
|
|
455
587
|
rawContent: content,
|
|
456
588
|
};
|
|
457
589
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/openai/parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/openai/parser.ts"],"names":[],"mappings":"AAoBA,SAAS,kBAAkB;IACzB,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAC3E,CAAC;AAUD,4DAA4D;AAC5D,SAAS,mBAAmB,CAC1B,QAAqB,EACrB,aAA4B;IAE5B,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/D,qCAAqC;QACrC,IAAI,QAAQ,CAAC,UAAU,IAAI,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;YAC1E,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,gBAAgB,CACvB,YAA2B,EAC3B,aAA6B;IAE7B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,OAAO,YAAY;SAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACZ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,EAAE,EAAE,kBAAkB,EAAE;QACxB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,UAAU,EAAE,GAAG;QACf,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;KAC3E,CAAC,CAAC,CAAC;AACR,CAAC;AAED,8DAA8D;AAC9D,SAAS,uBAAuB,CAC9B,OAAe,EACf,eAAuC;IAEvC,MAAM,aAAa,GAAkB,EAAE,CAAC;IACxC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAQrC,MAAM,SAAS,GAAiB,EAAE,CAAC;IAEnC,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QACtE,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,aAAa,UAAU,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACvC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAE5C,8DAA8D;IAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;QACpF,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;IAC1E,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,wCAAwC;AACxC,SAAS,sBAAsB,CAAC,KAAa;IAC3C,+CAA+C;IAC/C,OAAO,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,mBAAmB,CAAC;AAC5D,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC1C,wCAAwC;IACxC,OAAO,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC;AACpC,CAAC;AAED,sCAAsC;AACtC,SAAS,aAAa,CAAC,IAAY,EAAE,QAAkB;IACrD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YACnD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;YAErC,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,SAAS;gBAAE,KAAK,IAAI,aAAa,CAAC;iBAC1D,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,SAAS;gBAAE,KAAK,IAAI,SAAS,CAAC;iBAC3D,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,UAAU;gBAAE,KAAK,IAAI,KAAK,CAAC;iBACxD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,UAAU;gBAAE,KAAK,IAAI,iBAAiB,CAAC;YAEzE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,4BAA4B;AAC5B,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,mCAAmC;AACnC,SAAS,gBAAgB,CAAC,IAAY,EAAE,aAAqB;IAC3D,MAAM,cAAc,GAAG,IAAI,MAAM,CAC/B,UAAU,aAAa,gBAAgB,EACvC,IAAI,CACL,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAChD,IAAI,CAAC,YAAY;QAAE,OAAO,EAAE,CAAC;IAE7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,WAAW,GAAG,+BAA+B,CAAC;IACpD,IAAI,KAAK,CAAC;IAEV,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,0BAA0B;AAC1B,SAAS,cAAc,CAAC,IAAY,EAAE,aAAqB;IACzD,MAAM,cAAc,GAAG,IAAI,MAAM,CAC/B,aAAa,aAAa,0BAA0B,EACpD,IAAI,CACL,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACzC,OAAO,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,OAAe,EACf,YAA2B;IAE3B,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,mDAAmD;IACnD,MAAM,eAAe,GAAG;QACtB,KAAK,EAAE,8BAA8B;QACrC,KAAK,EAAE,oCAAoC;QAC3C,KAAK,EAAE,mCAAmC;QAC1C,YAAY,EAAE,2BAA2B;KAC1C,CAAC;IACF,MAAM,aAAa,GAAG,uBAAuB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAExE,yCAAyC;IACzC,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAEhE,oBAAoB;IACpB,MAAM,gBAAgB,GAAG;QACvB,qDAAqD;QACrD,sDAAsD;QACtD,8DAA8D;KAC/D,CAAC;IAEF,cAAc;IACd,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,IAAI,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAExE,cAAc;IACd,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;IACjF,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,IAAI,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAEnE,cAAc;IACd,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,IAAI,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAEnE,sBAAsB;IACtB,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,IAAI,OAAO,CAAC,CAAC;IAE/D,4BAA4B;IAC5B,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAC;IAE7E,uBAAuB;IACvB,IAAI,CAAC,QAAQ;QAAE,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ;QAAE,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ;QAAE,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAE/C,kDAAkD;IAClD,IAAI,UAAU,GAAG,GAAG,CAAC;IACrB,IAAI,CAAC,QAAQ;QAAE,UAAU,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,QAAQ;QAAE,UAAU,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,QAAQ;QAAE,UAAU,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,UAAU;QAAE,UAAU,IAAI,EAAE,CAAC;IAClC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,UAAU,IAAI,EAAE,CAAC;IAE7C,sBAAsB;IACtB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,0CAA0C;IAC1C,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC;QAChD,QAAQ,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC7D,UAAU,IAAI,EAAE,CAAC;IACnB,CAAC;IACD,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC;QAChD,QAAQ,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC7D,UAAU,IAAI,EAAE,CAAC;IACnB,CAAC;IAED,sCAAsC;IACtC,IAAI,QAAQ,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClD,QAAQ,CAAC,IAAI,CAAC,aAAa,QAAQ,yCAAyC,CAAC,CAAC;QAC9E,UAAU,IAAI,EAAE,CAAC;IACnB,CAAC;IACD,IAAI,QAAQ,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClD,QAAQ,CAAC,IAAI,CAAC,aAAa,QAAQ,yCAAyC,CAAC,CAAC;QAC9E,UAAU,IAAI,EAAE,CAAC;IACnB,CAAC;IACD,IAAI,QAAQ,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClD,QAAQ,CAAC,IAAI,CAAC,aAAa,QAAQ,yCAAyC,CAAC,CAAC;QAC9E,UAAU,IAAI,EAAE,CAAC;IACnB,CAAC;IAED,sCAAsC;IACtC,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,EAAE,CAAC;QACpE,QAAQ,CAAC,IAAI,CAAC,eAAe,UAAU,2CAA2C,CAAC,CAAC;QACpF,UAAU,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG;QACX,GAAG,EAAE;YACH,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS;YAC/D,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;SAClD;QACD,GAAG,EAAE;YACH,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,QAAQ;SACf;QACD,GAAG,EAAE;YACH,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,QAAQ;SACf;QACD,UAAU,EAAE,UAAU;YACpB,CAAC,CAAC;gBACE,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,QAAQ;aACjB;YACH,CAAC,CAAC,SAAS;KACd,CAAC;IAEF,OAAO;QACL,IAAI;QACJ,SAAS;QACT,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC;QACnC,aAAa;QACb,QAAQ;QACR,UAAU,EAAE,OAAO;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,OAAe,EACf,YAA2B;IAE3B,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,yDAAyD;IACzD,gFAAgF;IAChF,MAAM,aAAa,GAAkB,EAAE,CAAC;IACxC,MAAM,wBAAwB,GAAG,kGAAkG,CAAC;IACpI,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,KAAK,CAAC;IAEV,OAAO,CAAC,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACjE,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACvC,yCAAyC;YACzC,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACvF,MAAM,MAAM,GAAG,gBAAgB;gBAC7B,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAM;gBACzD,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YAEnB,aAAa,CAAC,eAAe,eAAe,GAAG,CAAC,GAAG;gBACjD,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,GAAG,EAAE,MAAM;aACZ,CAAC;YACF,eAAe,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/E,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACnD,aAAa,CAAC,aAAa,CAAC,GAAG;YAC7B,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,GAAG,EAAE,OAAO,CAAC,MAAM;SACpB,CAAC;IACJ,CAAC;IAED,yCAAyC;IACzC,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAEhE,8BAA8B;IAC9B,MAAM,WAAW,GAIZ,EAAE,CAAC;IAER,uEAAuE;IACvE,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAExC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;YAAE,SAAS;QAElC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAEhC,+BAA+B;QAC/B,IACE,sEAAsE,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,EACzF,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,cAAc,GAAG,OAAO,CAAC;QAC/B,MAAM,SAAS,GAAG,gBAAgB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,gBAAgB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAElE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,MAAM,IAAI,oBAAoB;gBACpC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChC,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACnC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,MAAM,eAAe,GAAG,gBAAgB,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;IAClF,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAEjE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAEhE,IAAI,UAAU,GAAG,GAAG,CAAC;IACrB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,UAAU,IAAI,EAAE,CAAC;IAC/C,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,UAAU,IAAI,EAAE,CAAC;IAC7C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,UAAU,IAAI,EAAE,CAAC;IAE7C,sBAAsB;IACtB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,yCAAyC;IACzC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,QAAQ,CAAC,IAAI,CAAC,QAAQ,WAAW,CAAC,MAAM,kEAAkE,CAAC,CAAC;IAC9G,CAAC;IAED,0DAA0D;IAC1D,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,QAAQ,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,IAAI,+BAA+B,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,IAAI,gCAAgC,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG;QACX,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnC,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,UAAU,EAAE,CAAC,CAAC,UAAU;SACzB,CAAC,CAAC;QACH,WAAW,EACT,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;YACvE,CAAC,CAAC;gBACE,eAAe;gBACf,IAAI;gBACJ,aAAa;aACd;YACH,CAAC,CAAC,SAAS;KAChB,CAAC;IAEF,OAAO;QACL,IAAI;QACJ,SAAS;QACT,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC;QACnC,aAAa;QACb,QAAQ;QACR,UAAU,EAAE,OAAO;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAAe,EACf,YAA2B;IAE3B,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,mBAAmB;IACnB,MAAM,QAAQ,GAQT,EAAE,CAAC;IAER,2BAA2B;IAC3B,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAE7D,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;YAAE,SAAS;QAElC,+BAA+B;QAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAEvF,uBAAuB;QACvB,MAAM,YAAY,GAA2B,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACrD,IAAI,QAAQ;YAAE,YAAY,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEpD,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAChF,IAAI,eAAe;YAAE,YAAY,CAAC,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEzE,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7E,IAAI,aAAa;YAAE,YAAY,CAAC,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEnE,mBAAmB;QACnB,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAC;QACjF,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAErE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI;gBACJ,YAAY;gBACZ,QAAQ,EAAE;oBACR,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;oBACxB,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;oBACtC,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;iBACrC;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAE1D,IAAI,UAAU,GAAG,GAAG,CAAC;IACrB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,UAAU,IAAI,EAAE,CAAC;IAC5C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,UAAU,IAAI,EAAE,CAAC;IAC1C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,UAAU,IAAI,EAAE,CAAC;IAE7C,OAAO;QACL,IAAI,EAAE,EAAE,QAAQ,EAAE;QAClB,SAAS;QACT,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC;QACnC,aAAa;QACb,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,OAAO;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,OAAe,EACf,YAA2B;IAE3B,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtE,IAAI;KACL,CAAC,CAAC,CAAC;IACJ,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxE,IAAI;KACL,CAAC,CAAC,CAAC;IACJ,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,GAAG,CAClE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CACrB,CAAC;IACF,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClE,IAAI;KACL,CAAC,CAAC,CAAC;IAEJ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9D,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACpE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAExD,IAAI,UAAU,GAAG,GAAG,CAAC;IACrB,UAAU,IAAI,aAAa,CAAC,MAAM,GAAG,EAAE,CAAC;IACxC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,UAAU,IAAI,EAAE,CAAC;IAE7C,OAAO;QACL,IAAI,EAAE;YACJ,SAAS;YACT,UAAU;YACV,aAAa;YACb,OAAO;SACR;QACD,SAAS;QACT,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC;QACnC,aAAa;QACb,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,OAAO;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,OAAe,EACf,YAA2B;IAE3B,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,GAAG,CACzE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAC3B,CAAC;IACF,MAAM,iBAAiB,GAAG,gBAAgB,CACxC,OAAO,EACP,qBAAqB,CACtB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACvE,OAAO;KACR,CAAC,CAAC,CAAC;IACJ,MAAM,qBAAqB,GAAG,gBAAgB,CAC5C,OAAO,EACP,yBAAyB,CAC1B,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,GAAG,CACtE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CACzB,CAAC;IACF,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,GAAG,CACjE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAC7B,CAAC;IACF,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,GAAG,CACnE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAC7B,CAAC;IACF,MAAM,eAAe,GAAG,gBAAgB,CACtC,OAAO,EACP,wBAAwB,CACzB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,GAAG,CACnE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CACrB,CAAC;IAEF,MAAM,MAAM,GAAG;QACb,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE;QACrD,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,iBAAiB,EAAE;QACvD,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE;QACrC,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,cAAc,EAAE;KAClD,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,UAAU,GAAG,GAAG,CAAC;IACrB,UAAU,IAAI,aAAa,CAAC,MAAM,GAAG,EAAE,CAAC;IACxC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,UAAU,IAAI,EAAE,CAAC;IAE7C,OAAO;QACL,IAAI,EAAE;YACJ,gBAAgB;YAChB,iBAAiB;YACjB,QAAQ;YACR,qBAAqB;YACrB,cAAc;YACd,YAAY;YACZ,aAAa;YACb,eAAe;YACf,aAAa;SACd;QACD,SAAS;QACT,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC;QACnC,aAAa;QACb,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,OAAO;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,OAAe,EACf,YAA2B;IAE3B,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACxE,OAAO;KACR,CAAC,CAAC,CAAC;IACJ,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,GAAG,CAC1E,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAC3B,CAAC;IACF,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC1E,OAAO;KACR,CAAC,CAAC,CAAC;IACJ,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,GAAG,CACtE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CACzB,CAAC;IACF,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,GAAG,CACnE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CACrB,CAAC;IACF,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC,GAAG,CACrE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CACzB,CAAC;IAEF,cAAc;IACd,MAAM,UAAU,GAAG,cAAc,CAC/B,OAAO,EACP,gDAAgD,CACjD,CAAC;IACF,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAE5E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAE1E,IAAI,UAAU,GAAG,GAAG,CAAC;IACrB,UAAU,IAAI,aAAa,CAAC,MAAM,GAAG,EAAE,CAAC;IACxC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,UAAU,IAAI,EAAE,CAAC;IAE7C,OAAO;QACL,IAAI,EAAE;YACJ,OAAO,EAAE,QAAQ;YACjB,gBAAgB;YAChB,sBAAsB,EAAE;gBACtB,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,iCAAiC;aAC9D;YACD,QAAQ,EAAE,SAAS;YACnB,QAAQ;YACR,cAAc;YACd,aAAa;YACb,UAAU;SACX;QACD,SAAS;QACT,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC;QACnC,aAAa;QACb,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,OAAO;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,OAAe,EACf,YAA2B;IAE3B,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,mBAAmB;IACnB,MAAM,YAAY,GAAG,gBAAgB,CACnC,OAAO,EACP,oBAAoB,CACrB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAE3E,YAAY;IACZ,MAAM,mBAAmB,GAAG,gBAAgB,CAC1C,OAAO,EACP,8BAA8B,CAC/B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5B,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,GAAG,CACnE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAC7B,CAAC;IACF,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,GAAG,CACjE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAC3B,CAAC;IAEF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAClF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACpE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,aAAa,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAEpE,IAAI,UAAU,GAAG,GAAG,CAAC;IACrB,UAAU,IAAI,aAAa,CAAC,MAAM,GAAG,EAAE,CAAC;IACxC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,UAAU,IAAI,EAAE,CAAC;IAE7C,OAAO;QACL,IAAI,EAAE;YACJ,eAAe,EAAE;gBACf,YAAY;gBACZ,KAAK;gBACL,KAAK;aACN;YACD,QAAQ,EAAE;gBACR,mBAAmB;gBACnB,aAAa;gBACb,YAAY;aACb;SACF;QACD,SAAS;QACT,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC;QACnC,aAAa;QACb,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,OAAO;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,SAAwB,EACxB,OAAe,EACf,YAA2B;IAE3B,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,eAAe;YAClB,OAAO,yBAAyB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC1D,KAAK,sBAAsB;YACzB,OAAO,gCAAgC,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACjE,KAAK,cAAc;YACjB,OAAO,wBAAwB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACzD,KAAK,eAAe;YAClB,OAAO,yBAAyB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC1D,KAAK,uBAAuB;YAC1B,OAAO,gCAAgC,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACjE,KAAK,aAAa;YAChB,OAAO,uBAAuB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACxD,KAAK,0BAA0B;YAC7B,OAAO,mCAAmC,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACpE;YACE,OAAO;gBACL,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,gBAAgB,CAAC,YAAY,CAAC;gBACzC,UAAU,EAAE,CAAC;gBACb,aAAa,EAAE,CAAC,mBAAmB,CAAC;gBACpC,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,OAAO;aACpB,CAAC;IACN,CAAC;AACH,CAAC"}
|
package/dist/openai/prompts.d.ts
CHANGED
|
@@ -7,6 +7,6 @@ export interface ResearchContext {
|
|
|
7
7
|
competitors?: string[];
|
|
8
8
|
}
|
|
9
9
|
export type FrameworkType = "market-sizing" | "competitive-analysis" | "user-persona" | "swot-analysis" | "business-model-canvas" | "lean-canvas" | "value-proposition-canvas";
|
|
10
|
-
export declare const SYSTEM_PROMPT = "You are an expert business analyst and market researcher. Your task is to provide accurate, data-driven insights with proper citations.\n\
|
|
10
|
+
export declare const SYSTEM_PROMPT = "You are an expert business analyst and market researcher. Your task is to provide accurate, data-driven insights with proper citations.\n\n## Guidelines\n- Always cite sources for numerical data and statistics\n- Use recent data (prefer sources from the last 2 years)\n- Be specific with numbers (avoid vague terms like \"large\" or \"significant\")\n- Acknowledge uncertainty when data is limited\n\n## Structured Output Requirements\n- Use markdown with consistent headers: ## for main sections, ### for subsections\n- Cite data inline: \"[Source Title](URL)\" immediately after each data point\n- Always include explicit numeric values with units (e.g., \"$4.5 billion\" not \"large market\")\n- For percentages, use \"X.X%\" format (e.g., \"12.5%\" not \"around 12 percent\")\n- Each data point should have its source URL on the same line\n\n## Citation Format\nWhen providing numerical data, use this format:\n\"The market is valued at $X.X billion [Source Name](URL)\"\n\"Growth rate is X.X% CAGR [Source Name](URL)\"\n\nCite each data point with its source URL for traceability.";
|
|
11
11
|
export declare function generateResearchPrompt(framework: FrameworkType, context: ResearchContext): string;
|
|
12
12
|
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/openai/prompts.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,MAAM,aAAa,GACrB,eAAe,GACf,sBAAsB,GACtB,cAAc,GACd,eAAe,GACf,uBAAuB,GACvB,aAAa,GACb,0BAA0B,CAAC;AAE/B,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/openai/prompts.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,MAAM,aAAa,GACrB,eAAe,GACf,sBAAsB,GACtB,cAAc,GACd,eAAe,GACf,uBAAuB,GACvB,aAAa,GACb,0BAA0B,CAAC;AAE/B,eAAO,MAAM,aAAa,kkCAoBiC,CAAC;AAE5D,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,eAAe,GACvB,MAAM,CAuVR"}
|
package/dist/openai/prompts.js
CHANGED
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
export const SYSTEM_PROMPT = `You are an expert business analyst and market researcher. Your task is to provide accurate, data-driven insights with proper citations.
|
|
2
2
|
|
|
3
|
-
Guidelines
|
|
3
|
+
## Guidelines
|
|
4
4
|
- Always cite sources for numerical data and statistics
|
|
5
5
|
- Use recent data (prefer sources from the last 2 years)
|
|
6
6
|
- Be specific with numbers (avoid vague terms like "large" or "significant")
|
|
7
7
|
- Acknowledge uncertainty when data is limited
|
|
8
|
-
|
|
8
|
+
|
|
9
|
+
## Structured Output Requirements
|
|
10
|
+
- Use markdown with consistent headers: ## for main sections, ### for subsections
|
|
11
|
+
- Cite data inline: "[Source Title](URL)" immediately after each data point
|
|
12
|
+
- Always include explicit numeric values with units (e.g., "$4.5 billion" not "large market")
|
|
13
|
+
- For percentages, use "X.X%" format (e.g., "12.5%" not "around 12 percent")
|
|
14
|
+
- Each data point should have its source URL on the same line
|
|
15
|
+
|
|
16
|
+
## Citation Format
|
|
17
|
+
When providing numerical data, use this format:
|
|
18
|
+
"The market is valued at $X.X billion [Source Name](URL)"
|
|
19
|
+
"Growth rate is X.X% CAGR [Source Name](URL)"
|
|
20
|
+
|
|
21
|
+
Cite each data point with its source URL for traceability.`;
|
|
9
22
|
export function generateResearchPrompt(framework, context) {
|
|
10
23
|
const prompts = {
|
|
11
24
|
"market-sizing": (ctx) => `
|
|
@@ -14,33 +27,33 @@ Research the market for: ${ctx.businessDescription}
|
|
|
14
27
|
Industry: ${ctx.industry || "Not specified - please identify"}
|
|
15
28
|
Geography: ${ctx.geography || "Global"}
|
|
16
29
|
|
|
17
|
-
Provide a comprehensive market sizing analysis
|
|
30
|
+
Provide a comprehensive market sizing analysis with exact figures.
|
|
18
31
|
|
|
19
32
|
## TAM (Total Addressable Market)
|
|
20
|
-
|
|
33
|
+
**Format:** TAM: $X.X billion (Source: [Name](URL))
|
|
34
|
+
- Total market size in USD (annual revenue) with source citation on same line
|
|
21
35
|
- Calculation methodology (top-down or bottom-up)
|
|
22
|
-
- Data sources with publication dates
|
|
23
36
|
- Key assumptions
|
|
24
37
|
|
|
25
38
|
## SAM (Serviceable Addressable Market)
|
|
39
|
+
**Format:** SAM: $X.X billion (Source: [Name](URL))
|
|
26
40
|
- Target segments that can realistically be served
|
|
27
41
|
- Geographic or demographic constraints
|
|
28
|
-
- Estimated market size for target segments
|
|
29
42
|
- Percentage of TAM
|
|
30
43
|
|
|
31
44
|
## SOM (Serviceable Obtainable Market)
|
|
45
|
+
**Format:** SOM: $X.X million (Source: [Name](URL))
|
|
32
46
|
- Realistic market share achievable in 3-5 years
|
|
33
47
|
- Based on competitive landscape analysis
|
|
34
|
-
- Capture strategy considerations
|
|
35
48
|
- Percentage of SAM
|
|
36
49
|
|
|
37
50
|
## Market Growth
|
|
38
|
-
|
|
51
|
+
**Format:** CAGR: X.X% (Source: [Name](URL))
|
|
39
52
|
- Key growth drivers
|
|
40
53
|
- Market trends affecting growth
|
|
41
54
|
- Growth projections for next 5 years
|
|
42
55
|
|
|
43
|
-
|
|
56
|
+
Cite each data point with its source URL. Use explicit numbers (not "large" or "significant").
|
|
44
57
|
`,
|
|
45
58
|
"competitive-analysis": (ctx) => `
|
|
46
59
|
Research competitors for: ${ctx.businessDescription}
|
|
@@ -48,44 +61,47 @@ Research competitors for: ${ctx.businessDescription}
|
|
|
48
61
|
Industry: ${ctx.industry || "Not specified - please identify"}
|
|
49
62
|
Known competitors to include: ${ctx.competitors?.join(", ") || "Research and identify top competitors"}
|
|
50
63
|
|
|
51
|
-
Analyze 5-10 major competitors.
|
|
64
|
+
Analyze 5-10 major competitors. Use exactly this structure for each competitor:
|
|
65
|
+
|
|
66
|
+
## [Competitor Name]
|
|
52
67
|
|
|
53
|
-
|
|
54
|
-
- Company name
|
|
55
|
-
- Website URL
|
|
56
|
-
- Brief description (1-2 sentences)
|
|
57
|
-
- Founded year
|
|
58
|
-
- Funding status/amount (if startup)
|
|
59
|
-
- Employee count estimate
|
|
68
|
+
Brief description (1-2 sentences). Website: [URL]
|
|
60
69
|
|
|
61
|
-
|
|
62
|
-
-
|
|
63
|
-
-
|
|
70
|
+
### Strengths
|
|
71
|
+
- [Strength 1]
|
|
72
|
+
- [Strength 2]
|
|
73
|
+
- [Strength 3]
|
|
64
74
|
|
|
65
|
-
|
|
66
|
-
-
|
|
67
|
-
-
|
|
75
|
+
### Weaknesses
|
|
76
|
+
- [Weakness 1]
|
|
77
|
+
- [Weakness 2]
|
|
78
|
+
- [Weakness 3]
|
|
68
79
|
|
|
69
|
-
|
|
70
|
-
- Pricing model
|
|
71
|
-
- Price range or
|
|
72
|
-
- Free tier availability
|
|
80
|
+
### Pricing
|
|
81
|
+
- Pricing model: [subscription/usage-based/etc.]
|
|
82
|
+
- Price range: [$X-$Y/month or similar]
|
|
73
83
|
|
|
74
|
-
|
|
75
|
-
- Estimated market share (if available)
|
|
76
|
-
-
|
|
77
|
-
- Geographic focus
|
|
84
|
+
### Market Position
|
|
85
|
+
- Estimated market share: X% [Source](URL) (if available)
|
|
86
|
+
- Target audience: [description]
|
|
78
87
|
|
|
79
|
-
|
|
80
|
-
- Core product features
|
|
81
|
-
- Unique differentiators
|
|
88
|
+
---
|
|
82
89
|
|
|
83
|
-
|
|
90
|
+
Repeat ## [Competitor Name] section for each competitor.
|
|
91
|
+
|
|
92
|
+
After all competitors, provide:
|
|
84
93
|
|
|
85
94
|
## Our Potential Position
|
|
86
|
-
|
|
87
|
-
-
|
|
88
|
-
|
|
95
|
+
### Differentiators
|
|
96
|
+
- [What we could do better]
|
|
97
|
+
|
|
98
|
+
### Gaps
|
|
99
|
+
- [Unserved needs in market]
|
|
100
|
+
|
|
101
|
+
### Opportunities
|
|
102
|
+
- [Specific opportunities to pursue]
|
|
103
|
+
|
|
104
|
+
Cite each data point with its source URL.
|
|
89
105
|
`,
|
|
90
106
|
"user-persona": (ctx) => `
|
|
91
107
|
Research target customers for: ${ctx.businessDescription}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/openai/prompts.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,MAAM,aAAa,GAAG
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/openai/prompts.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;2DAoB8B,CAAC;AAE5D,MAAM,UAAU,sBAAsB,CACpC,SAAwB,EACxB,OAAwB;IAExB,MAAM,OAAO,GAA4D;QACvE,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;2BACH,GAAG,CAAC,mBAAmB;;YAEtC,GAAG,CAAC,QAAQ,IAAI,iCAAiC;aAChD,GAAG,CAAC,SAAS,IAAI,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BrC;QAEG,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;4BACT,GAAG,CAAC,mBAAmB;;YAEvC,GAAG,CAAC,QAAQ,IAAI,iCAAiC;gCAC7B,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CrG;QAEG,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;iCACI,GAAG,CAAC,mBAAmB;;mBAErC,GAAG,CAAC,eAAe,IAAI,oCAAoC;YAClE,GAAG,CAAC,QAAQ,IAAI,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqC1C;QAEG,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;iDACmB,GAAG,CAAC,mBAAmB;;YAE5D,GAAG,CAAC,QAAQ,IAAI,iCAAiC;aAChD,GAAG,CAAC,SAAS,IAAI,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BrC;QAEG,uBAAuB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;oDACc,GAAG,CAAC,mBAAmB;;YAE/D,GAAG,CAAC,QAAQ,IAAI,iCAAiC;oBACzC,GAAG,CAAC,eAAe,IAAI,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDrE;QAEG,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;8BACE,GAAG,CAAC,mBAAmB;;YAEzC,GAAG,CAAC,QAAQ,IAAI,iCAAiC;mBAC1C,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDjE;QAEG,0BAA0B,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;0DACiB,GAAG,CAAC,mBAAmB;;oBAE7D,GAAG,CAAC,eAAe,IAAI,2BAA2B;YAC1D,GAAG,CAAC,QAAQ,IAAI,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwD1C;KACE,CAAC;IAEF,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC"}
|