mycontext-cli 4.2.6 → 4.2.7

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.
Files changed (37) hide show
  1. package/README.md +531 -144
  2. package/dist/README.md +531 -144
  3. package/dist/cli.js +14 -5
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/generate.d.ts.map +1 -1
  6. package/dist/commands/generate.js +17 -4
  7. package/dist/commands/generate.js.map +1 -1
  8. package/dist/commands/init-interactive.d.ts +127 -0
  9. package/dist/commands/init-interactive.d.ts.map +1 -0
  10. package/dist/commands/init-interactive.js +754 -0
  11. package/dist/commands/init-interactive.js.map +1 -0
  12. package/dist/doctor/rules/index.d.ts +3 -1
  13. package/dist/doctor/rules/index.d.ts.map +1 -1
  14. package/dist/doctor/rules/index.js +7 -1
  15. package/dist/doctor/rules/index.js.map +1 -1
  16. package/dist/doctor/rules/instantdb-rules.d.ts +3 -0
  17. package/dist/doctor/rules/instantdb-rules.d.ts.map +1 -0
  18. package/dist/doctor/rules/instantdb-rules.js +335 -0
  19. package/dist/doctor/rules/instantdb-rules.js.map +1 -0
  20. package/dist/doctor/rules/typescript-rules.d.ts +3 -0
  21. package/dist/doctor/rules/typescript-rules.d.ts.map +1 -0
  22. package/dist/doctor/rules/typescript-rules.js +177 -0
  23. package/dist/doctor/rules/typescript-rules.js.map +1 -0
  24. package/dist/package.json +1 -1
  25. package/dist/services/InferenceEngine.d.ts +41 -0
  26. package/dist/services/InferenceEngine.d.ts.map +1 -0
  27. package/dist/services/InferenceEngine.js +307 -0
  28. package/dist/services/InferenceEngine.js.map +1 -0
  29. package/dist/services/Planner.d.ts +77 -0
  30. package/dist/services/Planner.d.ts.map +1 -0
  31. package/dist/services/Planner.js +828 -0
  32. package/dist/services/Planner.js.map +1 -0
  33. package/dist/types/asl.d.ts +387 -0
  34. package/dist/types/asl.d.ts.map +1 -0
  35. package/dist/types/asl.js +139 -0
  36. package/dist/types/asl.js.map +1 -0
  37. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript-rules.js","sourceRoot":"","sources":["../../../src/doctor/rules/typescript-rules.ts"],"names":[],"mappings":"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"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mycontext-cli",
3
- "version": "4.2.6",
3
+ "version": "4.2.7",
4
4
  "description": "CLI tool for spec-driven development - Generate comprehensive context, visual screens, and scaffolding for AI-powered coding",
5
5
  "main": "dist/cli.js",
6
6
  "bin": {
@@ -0,0 +1,41 @@
1
+ /**
2
+ * InferenceEngine
3
+ *
4
+ * LLM-powered inference system that auto-completes high-confidence tasks,
5
+ * self-critiques its own work, and learns from user corrections.
6
+ */
7
+ import type { ASL, InferenceTask, InferenceResult, SelfCritique } from "../types/asl";
8
+ export declare class InferenceEngine {
9
+ private learningContext;
10
+ private aiCore;
11
+ constructor();
12
+ /**
13
+ * Run LLM-based inference for a task
14
+ */
15
+ infer(task: InferenceTask, currentASL: Partial<ASL>, completedTasks: InferenceTask[]): Promise<InferenceResult>;
16
+ /**
17
+ * Self-critique: LLM validates its own inference
18
+ */
19
+ selfCritique(inference: InferenceResult, currentASL: Partial<ASL>): Promise<SelfCritique>;
20
+ /**
21
+ * Feed inference results to downstream tasks
22
+ * Updates confidence and dependencies
23
+ */
24
+ feedToNextTasks(completedTask: InferenceTask, pendingTasks: InferenceTask[]): InferenceTask[];
25
+ /**
26
+ * Learn from user correction
27
+ */
28
+ learnFromCorrection(taskId: string, inferredValue: any, correctedValue: any, reason?: string): Promise<void>;
29
+ /**
30
+ * Detect patterns from user corrections
31
+ */
32
+ private detectPatterns;
33
+ /**
34
+ * Get learning context for prompt injection
35
+ */
36
+ getLearningContext(): string;
37
+ private buildInferencePrompt;
38
+ private buildCritiquePrompt;
39
+ private buildPatternDetectionPrompt;
40
+ }
41
+ //# sourceMappingURL=InferenceEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InferenceEngine.d.ts","sourceRoot":"","sources":["../../src/services/InferenceEngine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,GAAG,EACH,aAAa,EACb,eAAe,EACf,YAAY,EAIb,MAAM,cAAc,CAAC;AAGtB,qBAAa,eAAe;IAC1B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,MAAM,CAAS;;IAgBvB;;OAEG;IACG,KAAK,CACT,IAAI,EAAE,aAAa,EACnB,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,EACxB,cAAc,EAAE,aAAa,EAAE,GAC9B,OAAO,CAAC,eAAe,CAAC;IA8B3B;;OAEG;IACG,YAAY,CAChB,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,GACvB,OAAO,CAAC,YAAY,CAAC;IA8BxB;;;OAGG;IACH,eAAe,CACb,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,aAAa,EAAE,GAC5B,aAAa,EAAE;IAqBlB;;OAEG;IACG,mBAAmB,CACvB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,GAAG,EAClB,cAAc,EAAE,GAAG,EACnB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IAehB;;OAEG;YACW,cAAc;IA6B5B;;OAEG;IACH,kBAAkB,IAAI,MAAM;IA6B5B,OAAO,CAAC,oBAAoB;IAyD5B,OAAO,CAAC,mBAAmB;IA0D3B,OAAO,CAAC,2BAA2B;CAmCpC"}
@@ -0,0 +1,307 @@
1
+ "use strict";
2
+ /**
3
+ * InferenceEngine
4
+ *
5
+ * LLM-powered inference system that auto-completes high-confidence tasks,
6
+ * self-critiques its own work, and learns from user corrections.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.InferenceEngine = void 0;
10
+ const AICore_1 = require("../core/ai/AICore");
11
+ class InferenceEngine {
12
+ constructor() {
13
+ this.learningContext = {
14
+ corrections: [],
15
+ preferences: {},
16
+ patterns: [],
17
+ };
18
+ // Initialize AICore
19
+ this.aiCore = AICore_1.AICore.getInstance({
20
+ fallbackEnabled: true,
21
+ workingDirectory: process.cwd(),
22
+ });
23
+ }
24
+ /**
25
+ * Run LLM-based inference for a task
26
+ */
27
+ async infer(task, currentASL, completedTasks) {
28
+ const prompt = this.buildInferencePrompt(task, currentASL, completedTasks);
29
+ const response = await this.aiCore.generateText(prompt, {
30
+ temperature: 0.3, // Lower temperature for more deterministic inference
31
+ });
32
+ let parsedResult;
33
+ try {
34
+ // Strip markdown code blocks if present
35
+ let cleanedResponse = response.trim();
36
+ if (cleanedResponse.startsWith('```json')) {
37
+ cleanedResponse = cleanedResponse.replace(/^```json\s*/m, '').replace(/\s*```$/m, '');
38
+ }
39
+ else if (cleanedResponse.startsWith('```')) {
40
+ cleanedResponse = cleanedResponse.replace(/^```\s*/m, '').replace(/\s*```$/m, '');
41
+ }
42
+ parsedResult = JSON.parse(cleanedResponse);
43
+ }
44
+ catch (error) {
45
+ throw new Error(`Failed to parse inference result: ${response}`);
46
+ }
47
+ return {
48
+ task,
49
+ result: parsedResult.asl,
50
+ confidence: parsedResult.confidence,
51
+ reasoning: parsedResult.reasoning,
52
+ };
53
+ }
54
+ /**
55
+ * Self-critique: LLM validates its own inference
56
+ */
57
+ async selfCritique(inference, currentASL) {
58
+ const prompt = this.buildCritiquePrompt(inference, currentASL);
59
+ const response = await this.aiCore.generateText(prompt, {
60
+ temperature: 0.2, // Even lower temperature for critique
61
+ });
62
+ let parsedCritique;
63
+ try {
64
+ // Strip markdown code blocks if present
65
+ let cleanedResponse = response.trim();
66
+ if (cleanedResponse.startsWith('```json')) {
67
+ cleanedResponse = cleanedResponse.replace(/^```json\s*/m, '').replace(/\s*```$/m, '');
68
+ }
69
+ else if (cleanedResponse.startsWith('```')) {
70
+ cleanedResponse = cleanedResponse.replace(/^```\s*/m, '').replace(/\s*```$/m, '');
71
+ }
72
+ parsedCritique = JSON.parse(cleanedResponse);
73
+ }
74
+ catch (error) {
75
+ throw new Error(`Failed to parse critique result: ${response}`);
76
+ }
77
+ return {
78
+ isValid: parsedCritique.isValid,
79
+ confidence: parsedCritique.confidence,
80
+ issues: parsedCritique.issues || [],
81
+ suggestions: parsedCritique.suggestions || [],
82
+ };
83
+ }
84
+ /**
85
+ * Feed inference results to downstream tasks
86
+ * Updates confidence and dependencies
87
+ */
88
+ feedToNextTasks(completedTask, pendingTasks) {
89
+ return pendingTasks.map((task) => {
90
+ // Check if this task depends on the completed task
91
+ if (task.dependencies.includes(completedTask.id)) {
92
+ // Boost confidence if dependency completed successfully
93
+ const confidenceBoost = completedTask.confidence >= 90 ? 10 : 5;
94
+ const newConfidence = Math.min(100, task.confidence + confidenceBoost);
95
+ return {
96
+ ...task,
97
+ confidence: newConfidence,
98
+ autoInfer: newConfidence >= 90,
99
+ needsConfirmation: newConfidence >= 70 && newConfidence < 90,
100
+ needsUserInput: newConfidence < 70,
101
+ };
102
+ }
103
+ return task;
104
+ });
105
+ }
106
+ /**
107
+ * Learn from user correction
108
+ */
109
+ async learnFromCorrection(taskId, inferredValue, correctedValue, reason) {
110
+ const correction = {
111
+ taskId,
112
+ inferredValue,
113
+ correctedValue,
114
+ reason,
115
+ timestamp: new Date(),
116
+ };
117
+ this.learningContext.corrections.push(correction);
118
+ // Detect patterns from corrections
119
+ await this.detectPatterns();
120
+ }
121
+ /**
122
+ * Detect patterns from user corrections
123
+ */
124
+ async detectPatterns() {
125
+ if (this.learningContext.corrections.length < 2)
126
+ return;
127
+ const prompt = this.buildPatternDetectionPrompt();
128
+ const response = await this.aiCore.generateText(prompt, {
129
+ temperature: 0.3,
130
+ });
131
+ let parsedPatterns;
132
+ try {
133
+ // Strip markdown code blocks if present
134
+ let cleanedResponse = response.trim();
135
+ if (cleanedResponse.startsWith('```json')) {
136
+ cleanedResponse = cleanedResponse.replace(/^```json\s*/m, '').replace(/\s*```$/m, '');
137
+ }
138
+ else if (cleanedResponse.startsWith('```')) {
139
+ cleanedResponse = cleanedResponse.replace(/^```\s*/m, '').replace(/\s*```$/m, '');
140
+ }
141
+ parsedPatterns = JSON.parse(cleanedResponse);
142
+ }
143
+ catch (error) {
144
+ return; // Silently fail pattern detection
145
+ }
146
+ if (parsedPatterns.patterns && Array.isArray(parsedPatterns.patterns)) {
147
+ this.learningContext.patterns = parsedPatterns.patterns;
148
+ }
149
+ }
150
+ /**
151
+ * Get learning context for prompt injection
152
+ */
153
+ getLearningContext() {
154
+ if (this.learningContext.corrections.length === 0) {
155
+ return "";
156
+ }
157
+ const corrections = this.learningContext.corrections
158
+ .map((c) => `- User corrected "${c.inferredValue}" to "${c.correctedValue}"${c.reason ? ` (reason: ${c.reason})` : ""}`)
159
+ .join("\n");
160
+ const patterns = this.learningContext.patterns.length > 0
161
+ ? "\n\nDetected patterns:\n" +
162
+ this.learningContext.patterns
163
+ .map((p) => `- ${p.description} (confidence: ${p.confidence}%)`)
164
+ .join("\n")
165
+ : "";
166
+ return `\n\n## Learning Context (from previous corrections):\n${corrections}${patterns}\n\nPlease apply these learnings to your inference.`;
167
+ }
168
+ // ============================================================================
169
+ // PROMPT BUILDING
170
+ // ============================================================================
171
+ buildInferencePrompt(task, currentASL, completedTasks) {
172
+ const learningContext = this.getLearningContext();
173
+ return `You are an expert software architect helping to build a complete application specification (ASL - Abstract Specification Language).
174
+
175
+ ## Task
176
+ ${task.description}
177
+
178
+ ## Current ASL State
179
+ \`\`\`json
180
+ ${JSON.stringify(currentASL, null, 2)}
181
+ \`\`\`
182
+
183
+ ## Completed Tasks (for context)
184
+ ${completedTasks.map((t) => `- ${t.description} (confidence: ${t.confidence}%)`).join("\n")}
185
+ ${learningContext}
186
+
187
+ ## Your Task
188
+ Infer the missing ASL sections for: "${task.description}"
189
+
190
+ Consider:
191
+ 1. What entities, fields, pages, or permissions are needed?
192
+ 2. What are the standard conventions for this type of application?
193
+ 3. What can be reasonably inferred from the current state and completed tasks?
194
+ 4. What patterns exist in similar applications?
195
+
196
+ ## Guidelines
197
+ 1. **Entities**: Must have 'name' and 'fields'. Fields must have 'name' and 'type' (string, number, boolean, date, json, ref).
198
+ 2. **Auth**: If needed, provider must be 'email', 'oauth-github', 'oauth-google', or 'magic-link'.
199
+ 3. **Permissions**: Each permission must have 'role', 'resource' (entity name or '*'), and 'actions' (array of: 'create', 'read', 'update', 'delete', 'manage'). **DO NOT USE 'can'**.
200
+ 4. **Pages**: Must have 'path' (e.g., '/dashboard'), 'name' (component name), 'type' ('page' or 'layout').
201
+
202
+ Return a JSON response with:
203
+ \`\`\`json
204
+ {
205
+ "asl": {
206
+ // Partial ASL object with your inferred sections
207
+ // Only include the sections you're inferring for this task
208
+ },
209
+ "confidence": 85, // 0-100 confidence score
210
+ "reasoning": "I inferred X because Y. Standard convention suggests Z."
211
+ }
212
+ \`\`\`
213
+
214
+ Be conservative with confidence:
215
+ - 95-100%: Extremely certain (e.g., blog → needs Post entity)
216
+ - 85-94%: Very confident (e.g., blog → likely needs Comment entity)
217
+ - 70-84%: Moderately confident (e.g., auth method could be email or OAuth)
218
+ - Below 70%: Too ambiguous, user input needed
219
+
220
+ Only return JSON, no other text.`;
221
+ }
222
+ buildCritiquePrompt(inference, currentASL) {
223
+ return `You are a critical reviewer validating an AI inference.
224
+
225
+ ## Original Task
226
+ ${inference.task.description}
227
+
228
+ ## Inference Made
229
+ \`\`\`json
230
+ ${JSON.stringify(inference.result, null, 2)}
231
+ \`\`\`
232
+
233
+ ## Reasoning Provided
234
+ ${inference.reasoning}
235
+
236
+ ## Confidence Claimed
237
+ ${inference.confidence}%
238
+
239
+ ## Current ASL State
240
+ \`\`\`json
241
+ ${JSON.stringify(currentASL, null, 2)}
242
+ \`\`\`
243
+
244
+ ## Your Task
245
+ Critically evaluate this inference. Look for:
246
+ 1. **Logical errors**: Does the inference make sense?
247
+ 2. **Inconsistencies**: Does it conflict with existing ASL?
248
+ 3. **Over-confidence**: Is the confidence score justified?
249
+ 4. **Missing context**: Are there assumptions that might be wrong?
250
+ 5. **Type safety**: Are the field types appropriate?
251
+
252
+ Return a JSON response:
253
+ \`\`\`json
254
+ {
255
+ "isValid": true, // or false
256
+ "confidence": 85, // Updated confidence (can be lower or higher)
257
+ "issues": [
258
+ {
259
+ "severity": "error", // "error" | "warning" | "info"
260
+ "message": "Description of the issue",
261
+ "field": "entities.User.fields[0]", // Optional: specific field path
262
+ "suggestion": "How to fix it"
263
+ }
264
+ ],
265
+ "suggestions": [
266
+ "Consider adding X",
267
+ "Y might be better as Z"
268
+ ]
269
+ }
270
+ \`\`\`
271
+
272
+ Be harsh but fair. Drop confidence if there's any doubt.
273
+
274
+ Only return JSON, no other text.`;
275
+ }
276
+ buildPatternDetectionPrompt() {
277
+ const corrections = this.learningContext.corrections
278
+ .map((c, idx) => `${idx + 1}. Task: ${c.taskId}\n Inferred: ${JSON.stringify(c.inferredValue)}\n Corrected: ${JSON.stringify(c.correctedValue)}${c.reason ? `\n Reason: ${c.reason}` : ""}`)
279
+ .join("\n\n");
280
+ return `Analyze these user corrections and detect patterns:
281
+
282
+ ${corrections}
283
+
284
+ Look for patterns in:
285
+ 1. **Terminology**: User prefers certain terms (e.g., "article" instead of "post")
286
+ 2. **Structure**: User prefers certain data structures (e.g., nested vs flat)
287
+ 3. **Preferences**: User has specific preferences (e.g., always use OAuth instead of email/password)
288
+
289
+ Return JSON:
290
+ \`\`\`json
291
+ {
292
+ "patterns": [
293
+ {
294
+ "type": "terminology", // "terminology" | "structure" | "preference"
295
+ "description": "User prefers 'article' over 'post'",
296
+ "examples": ["post → article", "blog post → article"],
297
+ "confidence": 95 // How confident are you this is a real pattern
298
+ }
299
+ ]
300
+ }
301
+ \`\`\`
302
+
303
+ Only return JSON, no other text.`;
304
+ }
305
+ }
306
+ exports.InferenceEngine = InferenceEngine;
307
+ //# sourceMappingURL=InferenceEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InferenceEngine.js","sourceRoot":"","sources":["../../src/services/InferenceEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Planner Service
3
+ *
4
+ * The "Planner Layer" in the MyContext compiler pipeline.
5
+ * Responsible for:
6
+ * 1. Validating ASL for 100% completeness
7
+ * 2. Generating clarifying questions for gaps
8
+ * 3. Creating diff previews before generation
9
+ * 4. Task decomposition with confidence scoring (NEW)
10
+ * 5. Auto-inference for high-confidence tasks (NEW)
11
+ *
12
+ * The Planner ensures NO code is generated until the specification is perfect.
13
+ */
14
+ import type { ASL, ASLValidationResult, Question, DiffPreview, InferenceTask, PlannerState, ContextRevelation, Checkpoint } from "../types/asl";
15
+ export declare class Planner {
16
+ private state;
17
+ private inferenceEngine;
18
+ private aiCore;
19
+ constructor();
20
+ /**
21
+ * Decompose initial input into inference tasks with confidence scores
22
+ */
23
+ decompose(initialInput: string): Promise<InferenceTask[]>;
24
+ /**
25
+ * Select next task to execute based on dependencies and confidence
26
+ */
27
+ selectNextTask(): InferenceTask | null;
28
+ /**
29
+ * Mark task as completed and update state
30
+ */
31
+ markTaskComplete(taskId: string): void;
32
+ /**
33
+ * Update dependent tasks after a task completes
34
+ */
35
+ updateDependentTasks(completedTask: InferenceTask): void;
36
+ /**
37
+ * Reveal context to user (what was inferred and why)
38
+ */
39
+ revealContext(task: InferenceTask, inference: Partial<ASL>): ContextRevelation[];
40
+ /**
41
+ * Create checkpoint summary before proceeding
42
+ */
43
+ createCheckpoint(autoInferredTasks: InferenceTask[]): Checkpoint;
44
+ /**
45
+ * Get current planner state
46
+ */
47
+ getState(): PlannerState;
48
+ /**
49
+ * Update overall confidence score
50
+ */
51
+ private updateConfidenceScore;
52
+ /**
53
+ * Build decomposition prompt
54
+ */
55
+ private buildDecompositionPrompt;
56
+ /**
57
+ * Validate ASL for completeness and correctness
58
+ */
59
+ validate(asl: Partial<ASL>): ASLValidationResult;
60
+ /**
61
+ * Generate clarifying questions for gaps in ASL
62
+ */
63
+ generateQuestions(asl: Partial<ASL>): Question[];
64
+ /**
65
+ * Generate diff preview showing what will be generated
66
+ */
67
+ generateDiff(asl: ASL): DiffPreview;
68
+ /**
69
+ * Check if ASL is complete enough for generation
70
+ */
71
+ isComplete(asl: Partial<ASL>): boolean;
72
+ private generateSchemaPreview;
73
+ private generateTypesPreview;
74
+ private pageSpecToPath;
75
+ private estimateSize;
76
+ }
77
+ //# sourceMappingURL=Planner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Planner.d.ts","sourceRoot":"","sources":["../../src/services/Planner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,GAAG,EACH,mBAAmB,EAGnB,QAAQ,EAGR,WAAW,EAMX,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,UAAU,EAEX,MAAM,cAAc,CAAC;AAatB,qBAAa,OAAO;IAClB,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,MAAM,CAAS;;IA2BvB;;OAEG;IACG,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAyC/D;;OAEG;IACH,cAAc,IAAI,aAAa,GAAG,IAAI;IAqBtC;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAatC;;OAEG;IACH,oBAAoB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAOxD;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,iBAAiB,EAAE;IA0ChF;;OAEG;IACH,gBAAgB,CAAC,iBAAiB,EAAE,aAAa,EAAE,GAAG,UAAU;IAwDhE;;OAEG;IACH,QAAQ,IAAI,YAAY;IAIxB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAc7B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA2DhC;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,mBAAmB;IA4LhD;;OAEG;IACH,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,EAAE;IAyMhD;;OAEG;IACH,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,WAAW;IAuInC;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO;IAQtC,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,YAAY;CAQrB"}