midas-mcp 5.4.0 → 5.5.0
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/reality.d.ts +22 -0
- package/dist/reality.d.ts.map +1 -1
- package/dist/reality.js +180 -12
- package/dist/reality.js.map +1 -1
- package/dist/tools/reality.d.ts +7 -1
- package/dist/tools/reality.d.ts.map +1 -1
- package/dist/tools/reality.js +14 -4
- package/dist/tools/reality.js.map +1 -1
- package/package.json +1 -1
package/dist/reality.d.ts
CHANGED
|
@@ -59,6 +59,28 @@ export declare function inferProjectProfile(projectPath: string): ProjectProfile
|
|
|
59
59
|
* Get all applicable reality checks for a project
|
|
60
60
|
*/
|
|
61
61
|
export declare function getRealityChecks(projectPath: string): RealityCheckResult;
|
|
62
|
+
/**
|
|
63
|
+
* AI-powered reality check filter
|
|
64
|
+
*
|
|
65
|
+
* Conservative defaults may miss edge cases. This AI pass:
|
|
66
|
+
* 1. Reviews the full project context
|
|
67
|
+
* 2. Filters out irrelevant checks (e.g., GDPR for US-only app)
|
|
68
|
+
* 3. Adds missing checks based on nuanced understanding
|
|
69
|
+
*
|
|
70
|
+
* Called only when API key is available, falls back to keyword-based otherwise.
|
|
71
|
+
*/
|
|
72
|
+
export declare function filterChecksWithAI(profile: ProjectProfile, checks: RealityCheck[], projectPath: string): Promise<{
|
|
73
|
+
filtered: RealityCheck[];
|
|
74
|
+
additions: string[];
|
|
75
|
+
removals: string[];
|
|
76
|
+
}>;
|
|
77
|
+
/**
|
|
78
|
+
* Get reality checks with AI filtering (async version)
|
|
79
|
+
* Use this when you want the most accurate checks
|
|
80
|
+
*/
|
|
81
|
+
export declare function getRealityChecksWithAI(projectPath: string): Promise<RealityCheckResult & {
|
|
82
|
+
aiFiltered: boolean;
|
|
83
|
+
}>;
|
|
62
84
|
/**
|
|
63
85
|
* Get tier symbol for display
|
|
64
86
|
*/
|
package/dist/reality.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reality.d.ts","sourceRoot":"","sources":["../src/reality.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,YAAY,GAAG,YAAY,CAAC;AAEtE,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CAClD;AAED,MAAM,WAAW,cAAc;IAE7B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AA8aD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,
|
|
1
|
+
{"version":3,"file":"reality.d.ts","sourceRoot":"","sources":["../src/reality.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,YAAY,GAAG,YAAY,CAAC;AAEtE,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CAClD;AAED,MAAM,WAAW,cAAc;IAE7B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AA8aD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,CAsIvE;AAqDD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,CA2CxE;AAMD;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,YAAY,EAAE,EACtB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAsIhF;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC,CA0BvH;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAMvD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAM5D"}
|
package/dist/reality.js
CHANGED
|
@@ -480,19 +480,24 @@ export function inferProjectProfile(projectPath) {
|
|
|
480
480
|
}
|
|
481
481
|
catch { /* ignore parse errors */ }
|
|
482
482
|
}
|
|
483
|
-
//
|
|
483
|
+
// CONSERVATIVE keyword analysis
|
|
484
|
+
// Only trigger on explicit mentions, NOT on broad terms like "global" or "international"
|
|
485
|
+
// AI catch-all will handle nuanced cases
|
|
484
486
|
const keywords = {
|
|
485
|
-
// User data
|
|
486
|
-
collectsUserData: ['user
|
|
487
|
-
collectsSensitiveData: ['health', 'medical', 'financial', 'bank', 'credit', 'ssn', '
|
|
488
|
-
hasUnder13Users: ['kids', 'children', 'child', 'k-12', 'elementary', 'middle school', 'under 13'],
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
487
|
+
// User data - conservative: must be clear user accounts
|
|
488
|
+
collectsUserData: ['user account', 'login', 'signup', 'sign up', 'register', 'authentication', 'auth'],
|
|
489
|
+
collectsSensitiveData: ['health', 'medical', 'hipaa', 'financial', 'bank account', 'credit card', 'ssn', 'social security', 'biometric', 'fingerprint', 'face id'],
|
|
490
|
+
hasUnder13Users: ['kids', 'children', 'child', 'k-12', 'elementary', 'middle school', 'under 13', 'coppa', 'parental consent'],
|
|
491
|
+
// Geography - VERY conservative: only explicit mentions, not "global"
|
|
492
|
+
targetsEU: ['eu', 'europe', 'european union', 'gdpr', 'germany', 'france', 'spain', 'italy', 'netherlands', 'uk users'],
|
|
493
|
+
targetsCalifornia: ['california', 'ccpa', 'california users'],
|
|
494
|
+
// Business - clear signals only
|
|
495
|
+
hasPayments: ['payment', 'stripe', 'paypal', 'billing', 'checkout', 'purchase', 'monetize', 'pricing page'],
|
|
496
|
+
hasSubscriptions: ['subscription', 'monthly plan', 'yearly plan', 'recurring billing', 'saas'],
|
|
497
|
+
hasUserContent: ['upload', 'user generated', 'ugc', 'user posts', 'comments section', 'community content'],
|
|
498
|
+
// AI - only when clearly AI-powered
|
|
499
|
+
usesAI: ['ai-powered', 'artificial intelligence', 'machine learning', 'gpt', 'llm', 'claude api', 'openai api', 'langchain'],
|
|
500
|
+
aiMakesDecisions: ['ai decides', 'ai recommends', 'automated decision', 'algorithm determines', 'ai-driven'],
|
|
496
501
|
};
|
|
497
502
|
for (const [key, terms] of Object.entries(keywords)) {
|
|
498
503
|
if (terms.some(term => content.includes(term))) {
|
|
@@ -628,6 +633,169 @@ export function getRealityChecks(projectPath) {
|
|
|
628
633
|
},
|
|
629
634
|
};
|
|
630
635
|
}
|
|
636
|
+
// ============================================================================
|
|
637
|
+
// AI CATCH-ALL FILTER
|
|
638
|
+
// ============================================================================
|
|
639
|
+
/**
|
|
640
|
+
* AI-powered reality check filter
|
|
641
|
+
*
|
|
642
|
+
* Conservative defaults may miss edge cases. This AI pass:
|
|
643
|
+
* 1. Reviews the full project context
|
|
644
|
+
* 2. Filters out irrelevant checks (e.g., GDPR for US-only app)
|
|
645
|
+
* 3. Adds missing checks based on nuanced understanding
|
|
646
|
+
*
|
|
647
|
+
* Called only when API key is available, falls back to keyword-based otherwise.
|
|
648
|
+
*/
|
|
649
|
+
export async function filterChecksWithAI(profile, checks, projectPath) {
|
|
650
|
+
// Dynamic import to avoid circular dependency
|
|
651
|
+
const { getApiKey } = await import('./config.js');
|
|
652
|
+
const { chat } = await import('./providers.js');
|
|
653
|
+
const apiKey = getApiKey();
|
|
654
|
+
if (!apiKey) {
|
|
655
|
+
// No API key - return checks as-is
|
|
656
|
+
return { filtered: checks, additions: [], removals: [] };
|
|
657
|
+
}
|
|
658
|
+
const safePath = sanitizePath(projectPath);
|
|
659
|
+
// Read full docs for context
|
|
660
|
+
let docsContent = '';
|
|
661
|
+
const brainliftPath = join(safePath, 'docs', 'brainlift.md');
|
|
662
|
+
const prdPath = join(safePath, 'docs', 'prd.md');
|
|
663
|
+
const readmePath = join(safePath, 'README.md');
|
|
664
|
+
if (existsSync(brainliftPath)) {
|
|
665
|
+
docsContent += `## Brainlift:\n${readFileSync(brainliftPath, 'utf-8').slice(0, 2000)}\n\n`;
|
|
666
|
+
}
|
|
667
|
+
if (existsSync(prdPath)) {
|
|
668
|
+
docsContent += `## PRD:\n${readFileSync(prdPath, 'utf-8').slice(0, 2000)}\n\n`;
|
|
669
|
+
}
|
|
670
|
+
if (existsSync(readmePath)) {
|
|
671
|
+
docsContent += `## README:\n${readFileSync(readmePath, 'utf-8').slice(0, 1000)}\n`;
|
|
672
|
+
}
|
|
673
|
+
if (!docsContent) {
|
|
674
|
+
// No docs to analyze - return checks as-is
|
|
675
|
+
return { filtered: checks, additions: [], removals: [] };
|
|
676
|
+
}
|
|
677
|
+
const systemPrompt = `You are a compliance advisor reviewing reality checks for a software project.
|
|
678
|
+
Your job is to FILTER the proposed checks based on the actual project context.
|
|
679
|
+
|
|
680
|
+
Rules:
|
|
681
|
+
1. REMOVE checks that don't apply (e.g., GDPR for US-only apps, COPPA for adult-only products)
|
|
682
|
+
2. FLAG checks that might apply but need confirmation (add to "maybeAdd" list)
|
|
683
|
+
3. Be CONSERVATIVE: when in doubt, keep the check
|
|
684
|
+
4. Consider industry-specific requirements (healthcare → HIPAA, education → FERPA, etc.)
|
|
685
|
+
5. Consider geographic requirements (EU → GDPR, California → CCPA, etc.)
|
|
686
|
+
|
|
687
|
+
Respond ONLY with JSON.`;
|
|
688
|
+
const prompt = `# Project Documentation
|
|
689
|
+
${docsContent}
|
|
690
|
+
|
|
691
|
+
# Inferred Profile
|
|
692
|
+
${JSON.stringify(profile, null, 2)}
|
|
693
|
+
|
|
694
|
+
# Proposed Checks
|
|
695
|
+
${checks.map(c => `- ${c.key}: ${c.headline}`).join('\n')}
|
|
696
|
+
|
|
697
|
+
# All Available Checks (not currently triggered)
|
|
698
|
+
${Object.keys(REALITY_CHECKS).filter(k => !checks.some(c => c.key === k)).map(k => `- ${k}: ${REALITY_CHECKS[k].headline}`).join('\n')}
|
|
699
|
+
|
|
700
|
+
Review this and respond with:
|
|
701
|
+
{
|
|
702
|
+
"keep": ["CHECK_KEY", ...], // Checks that definitely apply
|
|
703
|
+
"remove": ["CHECK_KEY", ...], // Checks that don't apply (with reason)
|
|
704
|
+
"add": ["CHECK_KEY", ...], // Checks from available list that SHOULD apply
|
|
705
|
+
"reasoning": "Brief explanation of key decisions"
|
|
706
|
+
}`;
|
|
707
|
+
try {
|
|
708
|
+
const response = await chat(prompt, {
|
|
709
|
+
systemPrompt,
|
|
710
|
+
maxTokens: 1000,
|
|
711
|
+
useThinking: false, // Fast response
|
|
712
|
+
timeout: 15000, // Quick timeout
|
|
713
|
+
});
|
|
714
|
+
// Parse response
|
|
715
|
+
let jsonStr = response.content;
|
|
716
|
+
if (response.content.includes('```')) {
|
|
717
|
+
const match = response.content.match(/```(?:json)?\s*([\s\S]*?)```/);
|
|
718
|
+
if (match)
|
|
719
|
+
jsonStr = match[1];
|
|
720
|
+
}
|
|
721
|
+
const result = JSON.parse(jsonStr.trim());
|
|
722
|
+
// Filter checks based on AI response
|
|
723
|
+
const keepSet = new Set(result.keep || []);
|
|
724
|
+
const removeSet = new Set(result.remove || []);
|
|
725
|
+
const addKeys = result.add || [];
|
|
726
|
+
// Apply filtering
|
|
727
|
+
let filtered = checks.filter(c => {
|
|
728
|
+
// If explicitly removed, remove it
|
|
729
|
+
if (removeSet.has(c.key))
|
|
730
|
+
return false;
|
|
731
|
+
// If explicitly kept or not mentioned, keep it (conservative)
|
|
732
|
+
return true;
|
|
733
|
+
});
|
|
734
|
+
// Add any checks AI says we're missing
|
|
735
|
+
for (const key of addKeys) {
|
|
736
|
+
if (REALITY_CHECKS[key] && !filtered.some(c => c.key === key)) {
|
|
737
|
+
const check = REALITY_CHECKS[key];
|
|
738
|
+
const cursorPrompt = fillPromptTemplate(check.promptTemplate, profile, projectPath);
|
|
739
|
+
filtered.push({
|
|
740
|
+
key: check.key,
|
|
741
|
+
category: check.category,
|
|
742
|
+
tier: check.tier,
|
|
743
|
+
headline: check.headline,
|
|
744
|
+
explanation: check.explanation,
|
|
745
|
+
cursorPrompt,
|
|
746
|
+
humanSteps: check.humanSteps,
|
|
747
|
+
externalLinks: check.externalLinks,
|
|
748
|
+
alsoNeeded: check.alsoNeeded,
|
|
749
|
+
priority: check.priority,
|
|
750
|
+
});
|
|
751
|
+
}
|
|
752
|
+
}
|
|
753
|
+
// Re-sort
|
|
754
|
+
const priorityOrder = { critical: 0, high: 1, medium: 2, low: 3 };
|
|
755
|
+
const tierOrder = { human_only: 0, assistable: 1, generatable: 2 };
|
|
756
|
+
filtered.sort((a, b) => {
|
|
757
|
+
const priorityDiff = priorityOrder[a.priority] - priorityOrder[b.priority];
|
|
758
|
+
if (priorityDiff !== 0)
|
|
759
|
+
return priorityDiff;
|
|
760
|
+
return tierOrder[a.tier] - tierOrder[b.tier];
|
|
761
|
+
});
|
|
762
|
+
return {
|
|
763
|
+
filtered,
|
|
764
|
+
additions: addKeys,
|
|
765
|
+
removals: Array.from(removeSet),
|
|
766
|
+
};
|
|
767
|
+
}
|
|
768
|
+
catch (error) {
|
|
769
|
+
// AI failed - return original checks (conservative fallback)
|
|
770
|
+
return { filtered: checks, additions: [], removals: [] };
|
|
771
|
+
}
|
|
772
|
+
}
|
|
773
|
+
/**
|
|
774
|
+
* Get reality checks with AI filtering (async version)
|
|
775
|
+
* Use this when you want the most accurate checks
|
|
776
|
+
*/
|
|
777
|
+
export async function getRealityChecksWithAI(projectPath) {
|
|
778
|
+
const basic = getRealityChecks(projectPath);
|
|
779
|
+
try {
|
|
780
|
+
const { filtered, additions, removals } = await filterChecksWithAI(basic.profile, basic.checks, projectPath);
|
|
781
|
+
return {
|
|
782
|
+
profile: basic.profile,
|
|
783
|
+
checks: filtered,
|
|
784
|
+
summary: {
|
|
785
|
+
total: filtered.length,
|
|
786
|
+
critical: filtered.filter(c => c.priority === 'critical').length,
|
|
787
|
+
generatable: filtered.filter(c => c.tier === 'generatable').length,
|
|
788
|
+
assistable: filtered.filter(c => c.tier === 'assistable').length,
|
|
789
|
+
humanOnly: filtered.filter(c => c.tier === 'human_only').length,
|
|
790
|
+
},
|
|
791
|
+
aiFiltered: additions.length > 0 || removals.length > 0,
|
|
792
|
+
};
|
|
793
|
+
}
|
|
794
|
+
catch {
|
|
795
|
+
// Fallback to basic checks
|
|
796
|
+
return { ...basic, aiFiltered: false };
|
|
797
|
+
}
|
|
798
|
+
}
|
|
631
799
|
/**
|
|
632
800
|
* Get tier symbol for display
|
|
633
801
|
*/
|
package/dist/reality.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reality.js","sourceRoot":"","sources":["../src/reality.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reality.js","sourceRoot":"","sources":["../src/reality.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAyD7C,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E,MAAM,cAAc,GAA+H;IACjJ,qCAAqC;IACrC,cAAc,EAAE;QACd,GAAG,EAAE,gBAAgB;QACrB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,2BAA2B;QACrC,WAAW,EAAE,wFAAwF;QACrG,QAAQ,EAAE,UAAU;QACpB,cAAc,EAAE;;;;;;;;;;;;;;;;iEAgB6C;QAC7D,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB;KACrC;IAED,gBAAgB,EAAE;QAChB,GAAG,EAAE,kBAAkB;QACvB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,2BAA2B;QACrC,WAAW,EAAE,gFAAgF;QAC7F,QAAQ,EAAE,MAAM;QAChB,cAAc,EAAE;;;;;;;;;;;;;;;;;;iEAkB6C;QAC7D,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,WAAW;KACtD;IAED,aAAa,EAAE;QACb,GAAG,EAAE,eAAe;QACpB,QAAQ,EAAE,cAAc;QACxB,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,2BAA2B;QACrC,WAAW,EAAE,sEAAsE;QACnF,QAAQ,EAAE,MAAM;QAChB,cAAc,EAAE;;;;;;;;;;;;gGAY4E;QAC5F,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM;KAC3B;IAED,aAAa,EAAE;QACb,GAAG,EAAE,eAAe;QACpB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,0BAA0B;QACpC,WAAW,EAAE,0EAA0E;QACvF,QAAQ,EAAE,MAAM;QAChB,cAAc,EAAE;;;;;;;;;;;;;;8BAcU;QAC1B,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW;KAChC;IAED,cAAc,EAAE;QACd,GAAG,EAAE,gBAAgB;QACrB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,2BAA2B;QACrC,WAAW,EAAE,0FAA0F;QACvG,QAAQ,EAAE,MAAM;QAChB,cAAc,EAAE;;;;;;;;;;;+BAWW;QAC3B,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc;KACnC;IAED,uEAAuE;IACvE,eAAe,EAAE;QACf,GAAG,EAAE,iBAAiB;QACtB,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,8BAA8B;QACxC,WAAW,EAAE,uGAAuG;QACpH,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,CAAC,gCAAgC,EAAE,8BAA8B,EAAE,yCAAyC,CAAC;QACzH,cAAc,EAAE;;;;;;;;;;;;;;;;;;;;8FAoB0E;QAC1F,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,gBAAgB;KACpD;IAED,eAAe,EAAE;QACf,GAAG,EAAE,iBAAiB;QACtB,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,8BAA8B;QACxC,WAAW,EAAE,0EAA0E;QACvF,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,CAAC,cAAc,EAAE,kCAAkC,CAAC;QAChE,cAAc,EAAE;;;;;;;;;;;;+BAYW;QAC3B,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,gBAAgB;KAC5D;IAED,aAAa,EAAE;QACb,GAAG,EAAE,eAAe;QACpB,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,+BAA+B;QACzC,WAAW,EAAE,iGAAiG;QAC9G,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,CAAC,oCAAoC,EAAE,iCAAiC,CAAC;QACrF,cAAc,EAAE;;;;;;;;;;;kDAW8B;QAC9C,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB;KAC1H;IAED,eAAe,EAAE;QACf,GAAG,EAAE,iBAAiB;QACtB,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,2BAA2B;QACrC,WAAW,EAAE,kGAAkG;QAC/G,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,CAAC,kCAAkC,EAAE,6BAA6B,EAAE,0BAA0B,CAAC;QAC3G,cAAc,EAAE;;;;;;;;;;;;;;;qDAeiC;QACjD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB;KACrC;IAED,4CAA4C;IAC5C,aAAa,EAAE;QACb,GAAG,EAAE,eAAe;QACpB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,6BAA6B;QACvC,WAAW,EAAE,sEAAsE;QACnF,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE;YACV,wCAAwC;YACxC,2CAA2C;YAC3C,sCAAsC;YACtC,sCAAsC;SACvC;QACD,aAAa,EAAE,CAAC,oBAAoB,EAAE,8BAA8B,CAAC;QACrE,cAAc,EAAE;;;;;;;;;;;;;4FAawE;QACxF,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW;KAChC;IAED,qBAAqB,EAAE;QACrB,GAAG,EAAE,uBAAuB;QAC5B,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,gCAAgC;QAC1C,WAAW,EAAE,6FAA6F;QAC1G,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE;YACV,qDAAqD;YACrD,gCAAgC;YAChC,sCAAsC;YACtC,8BAA8B;SAC/B;QACD,aAAa,EAAE,CAAC,mFAAmF,CAAC;QACpG,cAAc,EAAE;;;;;gDAK4B;QAC5C,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,aAAa,KAAK,MAAM;KAC9D;IAED,SAAS,EAAE;QACT,GAAG,EAAE,WAAW;QAChB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,uBAAuB;QACjC,WAAW,EAAE,0FAA0F;QACvG,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE;YACV,4CAA4C;YAC5C,gDAAgD;YAChD,uDAAuD;SACxD;QACD,aAAa,EAAE,CAAC,wBAAwB,EAAE,oBAAoB,CAAC;QAC/D,cAAc,EAAE;;;;;;;;qDAQiC;QACjD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,SAAS;KAC/C;IAED,UAAU,EAAE;QACV,GAAG,EAAE,YAAY;QACjB,QAAQ,EAAE,gBAAgB;QAC1B,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,2BAA2B;QACrC,WAAW,EAAE,uDAAuD;QACpE,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE;YACV,4DAA4D;YAC5D,oCAAoC;YACpC,oEAAoE;SACrE;QACD,aAAa,EAAE,CAAC,2BAA2B,EAAE,4BAA4B,CAAC;QAC1E,cAAc,EAAE;;;;;;sCAMkB;QAClC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,WAAW;KACtD;IAED,SAAS,EAAE;QACT,GAAG,EAAE,WAAW;QAChB,QAAQ,EAAE,cAAc;QACxB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,6BAA6B;QACvC,WAAW,EAAE,wEAAwE;QACrF,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE;YACV,qDAAqD;YACrD,6DAA6D;YAC7D,uDAAuD;YACvD,4DAA4D;SAC7D;QACD,aAAa,EAAE,CAAC,uCAAuC,EAAE,iCAAiC,CAAC;QAC3F,cAAc,EAAE;;;;;;;;kEAQ8C;QAC9D,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;KACtD;IAED,gBAAgB,EAAE;QAChB,GAAG,EAAE,kBAAkB;QACvB,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,2BAA2B;QACrC,WAAW,EAAE,oEAAoE;QACjF,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE;YACV,mCAAmC;YACnC,2CAA2C;YAC3C,oCAAoC;YACpC,wDAAwD;SACzD;QACD,aAAa,EAAE,CAAC,4FAA4F,CAAC;QAC7G,UAAU,EAAE,CAAC,cAAc,EAAE,4BAA4B,CAAC;QAC1D,cAAc,EAAE;;;;;;;;;sEASkD;QAClE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe;KACpC;IAED,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM;QACX,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,wCAAwC;QAClD,WAAW,EAAE,qFAAqF;QAClG,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE;YACV,iDAAiD;YACjD,yDAAyD;YACzD,6BAA6B;YAC7B,mCAAmC;SACpC;QACD,aAAa,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;QACzD,cAAc,EAAE;;;;;;;;;wDASoC;QACpD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC;KAC1D;CACF,CAAC;AAEF,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAE3C,MAAM,OAAO,GAAmB;QAC9B,gBAAgB,EAAE,KAAK;QACvB,qBAAqB,EAAE,KAAK;QAC5B,eAAe,EAAE,KAAK;QACtB,SAAS,EAAE,KAAK;QAChB,iBAAiB,EAAE,KAAK;QACxB,WAAW,EAAE,KAAK;QAClB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,KAAK;QACrB,MAAM,EAAE,KAAK;QACb,gBAAgB,EAAE,KAAK;QACvB,YAAY,EAAE,KAAK;QACnB,cAAc,EAAE,EAAE;QAClB,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,YAAY;IACZ,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAEnD,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC;IACvE,CAAC;IACD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC;IACjE,CAAC;IACD,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC;IACpE,CAAC;IAED,wBAAwB;IACxB,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YACzE,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAErD,8BAA8B;YAC9B,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClF,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;YAC7B,CAAC;YAED,yBAAyB;YACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/G,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YACxB,CAAC;YAED,qCAAqC;YACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC7I,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAClC,CAAC;YAED,oBAAoB;YACpB,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,KAAK,YAAY,IAAI,GAAG,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;gBACjF,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;YAC9B,CAAC;YAED,OAAO,IAAI,UAAU,GAAG,IAAI,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;IACvC,CAAC;IAED,gCAAgC;IAChC,yFAAyF;IACzF,yCAAyC;IACzC,MAAM,QAAQ,GAAG;QACf,wDAAwD;QACxD,gBAAgB,EAAE,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,CAAC;QACtG,qBAAqB,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC;QAClK,eAAe,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,CAAC;QAC9H,sEAAsE;QACtE,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,CAAC;QACvH,iBAAiB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,kBAAkB,CAAC;QAC7D,gCAAgC;QAChC,WAAW,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC;QAC3G,gBAAgB,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,CAAC;QAC9F,cAAc,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,CAAC;QAC1G,oCAAoC;QACpC,MAAM,EAAE,CAAC,YAAY,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC;QAC5H,gBAAgB,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,WAAW,CAAC;KAC7G,CAAC;IAEF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC9C,OAA8C,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9F,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1H,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACxF,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1H,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,2BAA2B;IAC3B,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9F,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC;IACjC,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACrG,OAAO,CAAC,aAAa,GAAG,UAAU,CAAC;IACrC,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACxE,OAAO,CAAC,aAAa,GAAG,cAAc,CAAC;IACzC,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrE,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;IAChC,CAAC;SAAM,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QAC/B,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC;IACjC,CAAC;IAED,qBAAqB;IACrB,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7F,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7F,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9F,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,QAAgB,EAAE,OAAuB,EAAE,WAAmB;IACxF,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAE3C,wBAAwB;IACxB,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAC1B,IAAI,UAAU,GAAG,EAAE,CAAC;IAEpB,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEjD,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,gBAAgB,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,UAAU,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,qBAAqB;IACrB,MAAM,YAAY,GAA2B;QAC3C,mBAAmB,EAAE,OAAO,CAAC,qBAAqB;YAChD,CAAC,CAAC,8DAA8D;YAChE,CAAC,CAAC,OAAO,CAAC,gBAAgB;gBACxB,CAAC,CAAC,oCAAoC;gBACtC,CAAC,CAAC,cAAc;QACpB,iBAAiB,EAAE,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;YAClD,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;YACnC,CAAC,CAAC,eAAe;QACnB,mBAAmB,EAAE,OAAO,CAAC,aAAa;QAC1C,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,iBAAiB;QAChF,iBAAiB,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,2BAA2B;QAChF,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC,CAAC,OAAO;QACrF,wBAAwB,EAAE,iDAAiD;QAC3E,kBAAkB,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,yCAAyC,CAAC,CAAC,CAAC,oBAAoB;QAC1G,sBAAsB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,mBAAmB;QACjG,qBAAqB,EAAE,0BAA0B;QACjD,uBAAuB,EAAE,kCAAkC;QAC3D,aAAa,EAAE,6BAA6B;QAC5C,kBAAkB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,kBAAkB;KACnF,CAAC;IAEF,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACxD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IAChF,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,MAAM,OAAO,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,MAAM,GAAmB,EAAE,CAAC;IAElC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YACpF,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,YAAY;gBACZ,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,aAAa,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IAClE,MAAM,SAAS,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IAEnE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACnB,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC3E,IAAI,YAAY,KAAK,CAAC;YAAE,OAAO,YAAY,CAAC;QAC5C,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,OAAO;QACP,MAAM;QACN,OAAO,EAAE;YACP,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM;YAC9D,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,MAAM;YAChE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,MAAM;YAC9D,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,MAAM;SAC9D;KACF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAuB,EACvB,MAAsB,EACtB,WAAmB;IAEnB,8CAA8C;IAC9C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IAClD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEhD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,mCAAmC;QACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC3D,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAE3C,6BAA6B;IAC7B,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE/C,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,WAAW,IAAI,kBAAkB,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IAC7F,CAAC;IACD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,WAAW,IAAI,YAAY,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IACjF,CAAC;IACD,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,WAAW,IAAI,eAAe,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;IACrF,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,2CAA2C;QAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC3D,CAAC;IAED,MAAM,YAAY,GAAG;;;;;;;;;;wBAUC,CAAC;IAEvB,MAAM,MAAM,GAAG;EACf,WAAW;;;EAGX,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;;;EAGhC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAGvD,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;EAQpI,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE;YAClC,YAAY;YACZ,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,KAAK,EAAG,gBAAgB;YACrC,OAAO,EAAE,KAAK,EAAG,gBAAgB;SAClC,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACrE,IAAI,KAAK;gBAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAE1C,qCAAqC;QACrC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;QAEjC,kBAAkB;QAClB,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YAC/B,mCAAmC;YACnC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YACvC,8DAA8D;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,uCAAuC;QACvC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC9D,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;gBACpF,QAAQ,CAAC,IAAI,CAAC;oBACZ,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,YAAY;oBACZ,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;iBACzB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,UAAU;QACV,MAAM,aAAa,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QAClE,MAAM,SAAS,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACnE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACrB,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC3E,IAAI,YAAY,KAAK,CAAC;gBAAE,OAAO,YAAY,CAAC;YAC5C,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ;YACR,SAAS,EAAE,OAAO;YAClB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAa;SAC5C,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,6DAA6D;QAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC3D,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,WAAmB;IAC9D,MAAM,KAAK,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAE5C,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAkB,CAChE,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EACZ,WAAW,CACZ,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE;gBACP,KAAK,EAAE,QAAQ,CAAC,MAAM;gBACtB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,MAAM;gBAChE,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,MAAM;gBAClE,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,MAAM;gBAChE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,MAAM;aAChE;YACD,UAAU,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;SACxD,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,2BAA2B;QAC3B,OAAO,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACzC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAiB;IAC7C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,aAAa,CAAC,CAAC,OAAO,GAAG,CAAC;QAC/B,KAAK,YAAY,CAAC,CAAC,OAAO,IAAI,CAAC;QAC/B,KAAK,YAAY,CAAC,CAAC,OAAO,IAAI,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAiB;IAClD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,aAAa,CAAC,CAAC,OAAO,mBAAmB,CAAC;QAC/C,KAAK,YAAY,CAAC,CAAC,OAAO,2BAA2B,CAAC;QACtD,KAAK,YAAY,CAAC,CAAC,OAAO,qBAAqB,CAAC;IAClD,CAAC;AACH,CAAC"}
|
package/dist/tools/reality.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export declare const realityCheckSchema: z.ZodObject<{
|
|
3
3
|
projectPath: z.ZodOptional<z.ZodString>;
|
|
4
|
+
useAI: z.ZodOptional<z.ZodBoolean>;
|
|
4
5
|
}, "strip", z.ZodTypeAny, {
|
|
5
6
|
projectPath?: string | undefined;
|
|
7
|
+
useAI?: boolean | undefined;
|
|
6
8
|
}, {
|
|
7
9
|
projectPath?: string | undefined;
|
|
10
|
+
useAI?: boolean | undefined;
|
|
8
11
|
}>;
|
|
9
12
|
export type RealityCheckInput = z.infer<typeof realityCheckSchema>;
|
|
10
13
|
export interface RealityCheckToolResult {
|
|
@@ -35,15 +38,18 @@ export interface RealityCheckToolResult {
|
|
|
35
38
|
alsoNeeded?: string[];
|
|
36
39
|
priority: string;
|
|
37
40
|
}>;
|
|
41
|
+
aiFiltered: boolean;
|
|
38
42
|
message: string;
|
|
39
43
|
}
|
|
40
44
|
/**
|
|
41
45
|
* Get reality checks for a project - requirements that should be addressed before shipping.
|
|
42
46
|
*
|
|
47
|
+
* Uses conservative keyword detection + optional AI filtering for accuracy.
|
|
48
|
+
*
|
|
43
49
|
* Checks are categorized by what AI can do:
|
|
44
50
|
* - generatable (✅): AI can draft the document, just needs human review
|
|
45
51
|
* - assistable (⚠️): AI can create a guide/checklist, needs professional verification
|
|
46
52
|
* - human_only (🔴): Requires real-world action (signup, purchase, certification)
|
|
47
53
|
*/
|
|
48
|
-
export declare function realityCheck(input: RealityCheckInput): RealityCheckToolResult
|
|
54
|
+
export declare function realityCheck(input: RealityCheckInput): Promise<RealityCheckToolResult>;
|
|
49
55
|
//# sourceMappingURL=reality.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reality.d.ts","sourceRoot":"","sources":["../../src/tools/reality.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"reality.d.ts","sourceRoot":"","sources":["../../src/tools/reality.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,kBAAkB;;;;;;;;;EAG7B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEnE,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE;QACP,gBAAgB,EAAE,OAAO,CAAC;QAC1B,WAAW,EAAE,OAAO,CAAC;QACrB,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,MAAM,EAAE,KAAK,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAgE5F"}
|
package/dist/tools/reality.js
CHANGED
|
@@ -1,24 +1,31 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { getRealityChecks, getTierSymbol } from '../reality.js';
|
|
2
|
+
import { getRealityChecks, getRealityChecksWithAI, getTierSymbol } from '../reality.js';
|
|
3
3
|
import { sanitizePath } from '../security.js';
|
|
4
4
|
// ============================================================================
|
|
5
5
|
// midas_reality_check - Get before-you-ship requirements
|
|
6
6
|
// ============================================================================
|
|
7
7
|
export const realityCheckSchema = z.object({
|
|
8
8
|
projectPath: z.string().optional().describe('Path to project root'),
|
|
9
|
+
useAI: z.boolean().optional().describe('Use AI to filter checks (more accurate but slower)'),
|
|
9
10
|
});
|
|
10
11
|
/**
|
|
11
12
|
* Get reality checks for a project - requirements that should be addressed before shipping.
|
|
12
13
|
*
|
|
14
|
+
* Uses conservative keyword detection + optional AI filtering for accuracy.
|
|
15
|
+
*
|
|
13
16
|
* Checks are categorized by what AI can do:
|
|
14
17
|
* - generatable (✅): AI can draft the document, just needs human review
|
|
15
18
|
* - assistable (⚠️): AI can create a guide/checklist, needs professional verification
|
|
16
19
|
* - human_only (🔴): Requires real-world action (signup, purchase, certification)
|
|
17
20
|
*/
|
|
18
|
-
export function realityCheck(input) {
|
|
21
|
+
export async function realityCheck(input) {
|
|
19
22
|
const projectPath = sanitizePath(input.projectPath || process.cwd());
|
|
23
|
+
const useAI = input.useAI ?? true; // Default to using AI for better accuracy
|
|
20
24
|
try {
|
|
21
|
-
|
|
25
|
+
// Use AI-filtered version for more accurate results
|
|
26
|
+
const result = useAI
|
|
27
|
+
? await getRealityChecksWithAI(projectPath)
|
|
28
|
+
: { ...getRealityChecks(projectPath), aiFiltered: false };
|
|
22
29
|
const checks = result.checks.map(check => ({
|
|
23
30
|
key: check.key,
|
|
24
31
|
category: check.category,
|
|
@@ -31,9 +38,10 @@ export function realityCheck(input) {
|
|
|
31
38
|
alsoNeeded: check.alsoNeeded,
|
|
32
39
|
priority: check.priority,
|
|
33
40
|
}));
|
|
41
|
+
const aiNote = result.aiFiltered ? ' (AI-filtered)' : '';
|
|
34
42
|
const message = result.checks.length === 0
|
|
35
43
|
? 'No reality checks detected. Add more details to your brainlift/PRD to get personalized requirements.'
|
|
36
|
-
: `Found ${result.summary.total} requirements: ${result.summary.critical} critical, ${result.summary.generatable} AI-draftable, ${result.summary.assistable} need review, ${result.summary.humanOnly} manual.`;
|
|
44
|
+
: `Found ${result.summary.total} requirements${aiNote}: ${result.summary.critical} critical, ${result.summary.generatable} AI-draftable, ${result.summary.assistable} need review, ${result.summary.humanOnly} manual.`;
|
|
37
45
|
return {
|
|
38
46
|
success: true,
|
|
39
47
|
profile: {
|
|
@@ -45,6 +53,7 @@ export function realityCheck(input) {
|
|
|
45
53
|
},
|
|
46
54
|
summary: result.summary,
|
|
47
55
|
checks,
|
|
56
|
+
aiFiltered: result.aiFiltered,
|
|
48
57
|
message,
|
|
49
58
|
};
|
|
50
59
|
}
|
|
@@ -66,6 +75,7 @@ export function realityCheck(input) {
|
|
|
66
75
|
humanOnly: 0,
|
|
67
76
|
},
|
|
68
77
|
checks: [],
|
|
78
|
+
aiFiltered: false,
|
|
69
79
|
message: `Failed to check requirements: ${error}`,
|
|
70
80
|
};
|
|
71
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reality.js","sourceRoot":"","sources":["../../src/tools/reality.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"reality.js","sourceRoot":"","sources":["../../src/tools/reality.ts"],"names":[],"mappings":"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"}
|