mycontext-cli 0.4.7 → 0.4.9

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 (73) hide show
  1. package/README.md +261 -67
  2. package/dist/agents/communication/AgentCommunicationManager.d.ts +27 -0
  3. package/dist/agents/communication/AgentCommunicationManager.d.ts.map +1 -0
  4. package/dist/agents/communication/AgentCommunicationManager.js +293 -0
  5. package/dist/agents/communication/AgentCommunicationManager.js.map +1 -0
  6. package/dist/agents/evolution/CodeEvolutionEngine.d.ts +92 -0
  7. package/dist/agents/evolution/CodeEvolutionEngine.d.ts.map +1 -0
  8. package/dist/agents/evolution/CodeEvolutionEngine.js +639 -0
  9. package/dist/agents/evolution/CodeEvolutionEngine.js.map +1 -0
  10. package/dist/agents/implementations/ArchitectAgent.d.ts +39 -0
  11. package/dist/agents/implementations/ArchitectAgent.d.ts.map +1 -0
  12. package/dist/agents/implementations/ArchitectAgent.js +345 -0
  13. package/dist/agents/implementations/ArchitectAgent.js.map +1 -0
  14. package/dist/agents/implementations/CodeGenSubAgent.d.ts +12 -0
  15. package/dist/agents/implementations/CodeGenSubAgent.d.ts.map +1 -1
  16. package/dist/agents/implementations/CodeGenSubAgent.js +303 -58
  17. package/dist/agents/implementations/CodeGenSubAgent.js.map +1 -1
  18. package/dist/agents/implementations/PromptConstructorAgent.d.ts +50 -0
  19. package/dist/agents/implementations/PromptConstructorAgent.d.ts.map +1 -0
  20. package/dist/agents/implementations/PromptConstructorAgent.js +481 -0
  21. package/dist/agents/implementations/PromptConstructorAgent.js.map +1 -0
  22. package/dist/agents/implementations/SecurityAgent.d.ts +31 -0
  23. package/dist/agents/implementations/SecurityAgent.d.ts.map +1 -0
  24. package/dist/agents/implementations/SecurityAgent.js +453 -0
  25. package/dist/agents/implementations/SecurityAgent.js.map +1 -0
  26. package/dist/agents/intelligence/ProjectIntelligence.d.ts +127 -0
  27. package/dist/agents/intelligence/ProjectIntelligence.d.ts.map +1 -0
  28. package/dist/agents/intelligence/ProjectIntelligence.js +456 -0
  29. package/dist/agents/intelligence/ProjectIntelligence.js.map +1 -0
  30. package/dist/agents/interfaces/AgentCommunication.d.ts +65 -0
  31. package/dist/agents/interfaces/AgentCommunication.d.ts.map +1 -0
  32. package/dist/agents/interfaces/AgentCommunication.js +13 -0
  33. package/dist/agents/interfaces/AgentCommunication.js.map +1 -0
  34. package/dist/agents/learning/CrossProjectLearning.d.ts +99 -0
  35. package/dist/agents/learning/CrossProjectLearning.d.ts.map +1 -0
  36. package/dist/agents/learning/CrossProjectLearning.js +517 -0
  37. package/dist/agents/learning/CrossProjectLearning.js.map +1 -0
  38. package/dist/cli.js +49 -0
  39. package/dist/cli.js.map +1 -1
  40. package/dist/commands/agent-flow.d.ts +21 -0
  41. package/dist/commands/agent-flow.d.ts.map +1 -0
  42. package/dist/commands/agent-flow.js +225 -0
  43. package/dist/commands/agent-flow.js.map +1 -0
  44. package/dist/commands/generate-components.d.ts +0 -13
  45. package/dist/commands/generate-components.d.ts.map +1 -1
  46. package/dist/commands/generate-components.js +42 -422
  47. package/dist/commands/generate-components.js.map +1 -1
  48. package/dist/commands/generate.d.ts +5 -1
  49. package/dist/commands/generate.d.ts.map +1 -1
  50. package/dist/commands/generate.js +381 -23
  51. package/dist/commands/generate.js.map +1 -1
  52. package/dist/commands/init.d.ts.map +1 -1
  53. package/dist/commands/init.js +12 -6
  54. package/dist/commands/init.js.map +1 -1
  55. package/dist/commands/predict.d.ts +36 -0
  56. package/dist/commands/predict.d.ts.map +1 -0
  57. package/dist/commands/predict.js +539 -0
  58. package/dist/commands/predict.js.map +1 -0
  59. package/dist/utils/clean.d.ts +6 -0
  60. package/dist/utils/clean.d.ts.map +1 -0
  61. package/dist/utils/clean.js +220 -0
  62. package/dist/utils/clean.js.map +1 -0
  63. package/dist/utils/githubModelsClient.d.ts.map +1 -1
  64. package/dist/utils/githubModelsClient.js +33 -16
  65. package/dist/utils/githubModelsClient.js.map +1 -1
  66. package/dist/utils/hybridAIClient.d.ts +1 -0
  67. package/dist/utils/hybridAIClient.d.ts.map +1 -1
  68. package/dist/utils/hybridAIClient.js +23 -9
  69. package/dist/utils/hybridAIClient.js.map +1 -1
  70. package/dist/utils/ollamaClient.d.ts.map +1 -1
  71. package/dist/utils/ollamaClient.js +6 -4
  72. package/dist/utils/ollamaClient.js.map +1 -1
  73. package/package.json +2 -1
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.CodeGenSubAgent = void 0;
37
37
  const hybridAIClient_1 = require("../../utils/hybridAIClient");
38
+ const PromptConstructorAgent_1 = require("./PromptConstructorAgent");
38
39
  const fs = __importStar(require("fs"));
39
40
  const path = __importStar(require("path"));
40
41
  const definitions_1 = require("../personalities/definitions");
@@ -174,24 +175,16 @@ class CodeGenSubAgent {
174
175
  };
175
176
  }
176
177
  async validate(input) {
177
- // Handle both structured component objects and simple string descriptions
178
+ // Accept both structured component objects and simple string descriptions
178
179
  if (typeof input.component === "string") {
179
- // Simple string input - just need the string and group
180
180
  return !!(input.component && input.group);
181
181
  }
182
- else {
183
- // Structured component object - validate all required fields
184
- if (!input.component || !input.component.name) {
185
- return false;
186
- }
187
- if (!input.group) {
188
- return false;
189
- }
190
- // For structured input, require type and userStories
191
- if (!input.component.type || !input.component.userStories) {
192
- return false;
193
- }
194
- }
182
+ // Structured component object - require minimal fields; AI will infer the rest
183
+ if (!input.component || !input.component.name)
184
+ return false;
185
+ if (!input.group)
186
+ return false;
187
+ // Do NOT require userStories; treat type as optional (default handled downstream)
195
188
  return true;
196
189
  }
197
190
  async getStatus() {
@@ -213,44 +206,106 @@ class CodeGenSubAgent {
213
206
  type: "form",
214
207
  }
215
208
  : component;
209
+ // Enhanced context loading from multiple files
216
210
  const prd = options?.context?.prd || "";
217
211
  const types = options?.context?.types || "";
218
- const shadcnList = this.getAvailableShadcnPrimitives();
219
- const prompt = [
220
- "[mycontext] Plan: plan generate QA → docs → preview (→ checks)",
221
- "You are an expert React/TypeScript developer generating production-ready Next.js components.",
222
- "Requirements:",
223
- "- Use TypeScript and modern React patterns.",
224
- "- Use shadcn/ui primitives and import from '@/components/ui/<component>'.",
225
- "- Ensure accessibility (ARIA, roles, keyboard).",
226
- "- Ensure clean props interface and defaults.",
227
- "- Return only a single TSX component file in a fenced code block or plain code.",
228
- "",
229
- "Available shadcn/ui primitives (prefer these; import from '@/components/ui/...'):",
230
- shadcnList.join(", "),
231
- "",
232
- "Component Plan:",
233
- JSON.stringify({
234
- group: group?.name || "",
235
- name: compObj?.name,
236
- description: compObj?.description || "",
237
- type: compObj?.type || "form",
238
- userStories: Array.isArray(compObj?.userStories)
239
- ? compObj.userStories
240
- : [],
241
- actionFunctions: Array.isArray(compObj?.actionFunctions)
242
- ? compObj.actionFunctions
243
- : [],
244
- dependencies: Array.isArray(compObj?.dependencies)
245
- ? compObj.dependencies
246
- : [],
247
- tags: Array.isArray(compObj?.tags) ? compObj.tags : [],
248
- }, null, 2),
249
- "",
250
- "Context (PRD excerpt):\n" + prd.split("\n").slice(0, 20).join("\n"),
251
- "",
252
- "Types excerpt:\n" + types.split("\n").slice(0, 20).join("\n"),
253
- ].join("\n");
212
+ const componentList = options?.context?.componentList || "";
213
+ const projectBrief = options?.context?.brief || "";
214
+ // Load additional context files if available
215
+ let enhancedContext = "";
216
+ try {
217
+ const fs = require("fs");
218
+ const path = require("path");
219
+ const contextDir = ".mycontext";
220
+ // Try to load component list for better context
221
+ if (fs.existsSync(path.join(contextDir, "04-component-list.json"))) {
222
+ const compListRaw = fs.readFileSync(path.join(contextDir, "04-component-list.json"), "utf8");
223
+ enhancedContext += `\nComponent Architecture:\n${compListRaw.slice(0, 2000)}\n`;
224
+ }
225
+ // Try to load project brief
226
+ if (fs.existsSync(path.join(contextDir, "01a-brief.md"))) {
227
+ const briefRaw = fs.readFileSync(path.join(contextDir, "01a-brief.md"), "utf8");
228
+ enhancedContext += `\nProject Brief:\n${briefRaw.slice(0, 1000)}\n`;
229
+ }
230
+ // CRITICAL: Load design tokens from globals.css
231
+ const globalsCssPath = path.join(process.cwd(), "src/app/globals.css");
232
+ if (fs.existsSync(globalsCssPath)) {
233
+ const globalsCss = fs.readFileSync(globalsCssPath, "utf8");
234
+ enhancedContext += `\n=== DESIGN TOKENS (REQUIRED FOR STYLING) ===\n${globalsCss}\n=== END DESIGN TOKENS ===\n`;
235
+ }
236
+ else {
237
+ // Fallback to try other common locations
238
+ const altPaths = [
239
+ "app/globals.css",
240
+ "globals.css",
241
+ "src/globals.css",
242
+ ];
243
+ for (const altPath of altPaths) {
244
+ const fullPath = path.join(process.cwd(), altPath);
245
+ if (fs.existsSync(fullPath)) {
246
+ const globalsCss = fs.readFileSync(fullPath, "utf8");
247
+ enhancedContext += `\n=== DESIGN TOKENS (REQUIRED FOR STYLING) ===\n${globalsCss}\n=== END DESIGN TOKENS ===\n`;
248
+ break;
249
+ }
250
+ }
251
+ }
252
+ // Load branding context if available
253
+ if (fs.existsSync(path.join(contextDir, "03-branding.md"))) {
254
+ const brandingRaw = fs.readFileSync(path.join(contextDir, "03-branding.md"), "utf8");
255
+ enhancedContext += `\n=== BRANDING CONTEXT ===\n${brandingRaw}\n=== END BRANDING ===\n`;
256
+ }
257
+ // Load available UI components for context
258
+ const uiComponentsPath = path.join(process.cwd(), "components/ui");
259
+ if (fs.existsSync(uiComponentsPath)) {
260
+ const uiFiles = fs
261
+ .readdirSync(uiComponentsPath)
262
+ .filter((f) => f.endsWith(".tsx") || f.endsWith(".ts"))
263
+ .map((f) => f.replace(/\.(tsx|ts)$/, ""));
264
+ enhancedContext += `\n=== AVAILABLE UI COMPONENTS ===\n${uiFiles.join(", ")}\n=== END UI COMPONENTS ===\n`;
265
+ }
266
+ }
267
+ catch (e) {
268
+ // Fallback gracefully if file reading fails
269
+ console.log("Context loading warning:", e);
270
+ }
271
+ // 🧠 AI-ENHANCED PROMPT CONSTRUCTION
272
+ console.log("🧠 Constructing intelligent prompt using PromptConstructorAgent or AI...");
273
+ let constructedPrompt;
274
+ try {
275
+ // Option 1: Try using PromptConstructorAgent first
276
+ const promptConstructor = new PromptConstructorAgent_1.PromptConstructorAgent();
277
+ const constructionContext = {
278
+ prd,
279
+ types,
280
+ branding: options?.context?.branding || "",
281
+ componentList: enhancedContext,
282
+ componentName: compObj?.name || "Component",
283
+ componentGroup: group?.name || "UI",
284
+ projectPath: options?.projectPath || process.cwd(),
285
+ };
286
+ constructedPrompt = await promptConstructor.run(constructionContext);
287
+ console.log(`✅ Intelligent prompt constructed via PromptConstructorAgent: ${constructedPrompt.contextSummary}`);
288
+ console.log(`📋 Specific requirements: ${constructedPrompt.specificRequirements.length} items`);
289
+ }
290
+ catch (promptAgentError) {
291
+ console.log("❌ PromptConstructorAgent failed, trying LLM-based prompt construction...");
292
+ try {
293
+ // Option 2: Use LLM for prompt construction
294
+ constructedPrompt = await this.constructPromptWithLLM(compObj, group, { prd, types, enhancedContext });
295
+ console.log(`✅ Intelligent prompt constructed via LLM: ${constructedPrompt.contextSummary}`);
296
+ }
297
+ catch (llmPromptError) {
298
+ console.log("❌ LLM prompt construction failed, falling back to enriched static prompt...");
299
+ // Option 3: Enriched static prompt as ultimate fallback
300
+ constructedPrompt = this.createEnrichedStaticPrompt(compObj, group, {
301
+ prd,
302
+ types,
303
+ enhancedContext,
304
+ });
305
+ console.log("✅ Using enriched static prompt construction");
306
+ }
307
+ }
308
+ const prompt = `${constructedPrompt.systemPrompt}\n\n${constructedPrompt.userPrompt}`;
254
309
  const { code } = await ai.generateComponent(prompt, {
255
310
  temperature: this.temperature,
256
311
  maxTokens: this.maxTokens,
@@ -261,16 +316,206 @@ class CodeGenSubAgent {
261
316
  throw new Error("Empty code from AI provider");
262
317
  }
263
318
  catch (err) {
264
- // Fallback to local Ollama
265
- try {
266
- return await this.generateWithOllama(component, group, options);
319
+ // No fallbacks - fail cleanly and ask user to retry
320
+ const errorMessage = err instanceof Error ? err.message : String(err);
321
+ throw new Error(`AI component generation failed: ${errorMessage}\n\n` +
322
+ `💡 This ensures only high-quality AI-generated components.\n` +
323
+ `Please retry when:\n` +
324
+ `- Rate limits reset (check GitHub Models dashboard)\n` +
325
+ `- Network connectivity improves\n` +
326
+ `- AI provider is available\n\n` +
327
+ `🚀 Tip: Try again in a few minutes for best results!`);
328
+ }
329
+ }
330
+ /**
331
+ * Uses LLM to construct intelligent prompts for component generation
332
+ */
333
+ async constructPromptWithLLM(component, group, context) {
334
+ const ai = new hybridAIClient_1.HybridAIClient();
335
+ const promptConstructionRequest = `
336
+ You are a specialist in creating optimal prompts for React/TypeScript component generation.
337
+
338
+ Given this component request:
339
+ - Component: ${JSON.stringify(component, null, 2)}
340
+ - Group: ${JSON.stringify(group, null, 2)}
341
+
342
+ And this project context:
343
+ - PRD: ${context.prd.slice(0, 1000)}
344
+ - Types: ${context.types.slice(0, 500)}
345
+ - Additional Context: ${context.enhancedContext.slice(0, 500)}
346
+
347
+ Create a highly specific and detailed prompt that will result in production-ready React components.
348
+
349
+ Respond with a JSON object containing:
350
+ {
351
+ "systemPrompt": "Detailed system prompt with role, constraints, and requirements",
352
+ "userPrompt": "Specific user prompt with exact component specifications",
353
+ "contextSummary": "Brief summary of the prompt context",
354
+ "specificRequirements": ["requirement1", "requirement2", ...]
355
+ }
356
+
357
+ Focus on:
358
+ - shadcn/ui integration
359
+ - TypeScript best practices
360
+ - Accessibility requirements
361
+ - Production-ready patterns
362
+ - Specific business logic based on context
363
+ - Error handling and validation
364
+ - Modern React patterns (hooks, etc.)
365
+ `;
366
+ const response = await ai.generateComponent(promptConstructionRequest, {
367
+ temperature: 0.3, // Lower temperature for more consistent prompt construction
368
+ maxTokens: 2000,
369
+ });
370
+ try {
371
+ // Extract JSON from the response
372
+ const jsonMatch = response.code.match(/\{[\s\S]*\}/);
373
+ if (!jsonMatch) {
374
+ throw new Error("No JSON found in LLM response");
267
375
  }
268
- catch (ollamaErr) {
269
- // Final fallback to template-based generator to guarantee output
270
- const generateCommand = new generate_components_1.GenerateComponentsCommand();
271
- return generateCommand.generateComponentCode(component, group, options);
376
+ const promptData = JSON.parse(jsonMatch[0]);
377
+ // Validate the structure
378
+ if (!promptData.systemPrompt || !promptData.userPrompt) {
379
+ throw new Error("Invalid prompt structure from LLM");
272
380
  }
381
+ return {
382
+ systemPrompt: promptData.systemPrompt,
383
+ userPrompt: promptData.userPrompt,
384
+ contextSummary: promptData.contextSummary || "LLM-generated prompt",
385
+ specificRequirements: promptData.specificRequirements || [],
386
+ };
387
+ }
388
+ catch (parseError) {
389
+ throw new Error(`Failed to parse LLM prompt construction response: ${parseError}`);
390
+ }
391
+ }
392
+ /**
393
+ * Creates an enriched static prompt with intelligent analysis of the context
394
+ */
395
+ createEnrichedStaticPrompt(component, group, context) {
396
+ const shadcnList = this.getAvailableShadcnPrimitives();
397
+ // Analyze context to extract key requirements
398
+ const requirements = this.analyzeContextForRequirements(component, context);
399
+ // Build enhanced system prompt based on component type and context
400
+ const systemPrompt = `You are an expert React/TypeScript developer generating production-ready Next.js components.
401
+
402
+ 🎯 CRITICAL: Generate FUNCTIONAL, INTERACTIVE components with real business logic.
403
+ ❌ DO NOT generate generic layout wrappers or placeholder components.
404
+ ✅ DO implement actual functionality, state management, and user interactions.
405
+
406
+ COMPONENT SPECIFICATIONS:
407
+ - Type: ${component?.type || "interactive"}
408
+ - Group: ${group?.name || "UI"}
409
+ - Primary Function: ${requirements.primaryFunction}
410
+ - Key Features: ${requirements.keyFeatures.join(", ")}
411
+
412
+ TECHNICAL REQUIREMENTS:
413
+ - Use shadcn/ui primitives: ${shadcnList.slice(0, 15).join(", ")}${shadcnList.length > 15 ? "..." : ""}
414
+ - Implement proper TypeScript interfaces and types
415
+ - Add comprehensive accessibility features (ARIA labels, keyboard navigation)
416
+ - Include error handling and loading states
417
+ - Use modern React patterns (hooks, memoization)
418
+ - Follow Next.js 14+ best practices
419
+ - Include proper validation where applicable
420
+
421
+ CONTEXT-SPECIFIC REQUIREMENTS:
422
+ ${requirements.specificRequirements.map((req) => `- ${req}`).join("\n")}
423
+
424
+ QUALITY STANDARDS:
425
+ - Production-ready code with no TODOs or placeholders
426
+ - Comprehensive error handling
427
+ - Responsive design with Tailwind CSS
428
+ - Semantic HTML structure
429
+ - Performance optimizations (useMemo, useCallback where appropriate)`;
430
+ const userPrompt = `Generate the ${component?.name} component with these specifications:
431
+
432
+ Component Details:
433
+ ${JSON.stringify({
434
+ group: group?.name || "",
435
+ name: component?.name,
436
+ description: component?.description || "",
437
+ type: component?.type || "interactive",
438
+ userStories: Array.isArray(component?.userStories)
439
+ ? component.userStories
440
+ : [],
441
+ actionFunctions: Array.isArray(component?.actionFunctions)
442
+ ? component.actionFunctions
443
+ : [],
444
+ }, null, 2)}
445
+
446
+ Project Context Analysis:
447
+ ${requirements.contextInsights.join("\n")}
448
+
449
+ Business Requirements:
450
+ ${requirements.businessLogic}
451
+
452
+ Technical Constraints:
453
+ ${requirements.technicalConstraints.join("\n")}
454
+
455
+ The component should be fully functional and ready for production use.`;
456
+ return {
457
+ systemPrompt,
458
+ userPrompt,
459
+ contextSummary: `Enhanced static prompt for ${component?.name} (${component?.type})`,
460
+ specificRequirements: requirements.specificRequirements,
461
+ };
462
+ }
463
+ /**
464
+ * Analyzes project context to extract intelligent requirements
465
+ */
466
+ analyzeContextForRequirements(component, context) {
467
+ const analysis = {
468
+ primaryFunction: "Interactive user interface component",
469
+ keyFeatures: [],
470
+ specificRequirements: [],
471
+ contextInsights: [],
472
+ businessLogic: "Standard component functionality",
473
+ technicalConstraints: [],
474
+ };
475
+ // Analyze component type
476
+ if (component?.type === "form") {
477
+ analysis.primaryFunction = "Form handling with validation and submission";
478
+ analysis.keyFeatures.push("Input validation", "Error handling", "Submit functionality");
479
+ analysis.specificRequirements.push("Use react-hook-form with zod validation");
480
+ analysis.specificRequirements.push("Implement proper accessibility for form controls");
481
+ }
482
+ else if (component?.type === "data") {
483
+ analysis.primaryFunction = "Data display and manipulation";
484
+ analysis.keyFeatures.push("Data filtering", "Sorting", "Pagination");
485
+ analysis.specificRequirements.push("Implement efficient data handling with useMemo");
486
+ }
487
+ else if (component?.type === "navigation") {
488
+ analysis.primaryFunction = "Navigation and routing";
489
+ analysis.keyFeatures.push("Route highlighting", "Responsive navigation", "Keyboard navigation");
490
+ analysis.specificRequirements.push("Use Next.js Link components");
491
+ analysis.specificRequirements.push("Implement ARIA navigation patterns");
492
+ }
493
+ // Analyze PRD content
494
+ if (context.prd) {
495
+ const prdLower = context.prd.toLowerCase();
496
+ if (prdLower.includes("authentication") || prdLower.includes("login")) {
497
+ analysis.businessLogic =
498
+ "Authentication and user management functionality";
499
+ analysis.specificRequirements.push("Implement secure authentication patterns");
500
+ }
501
+ if (prdLower.includes("dashboard") || prdLower.includes("analytics")) {
502
+ analysis.keyFeatures.push("Data visualization", "Real-time updates");
503
+ analysis.specificRequirements.push("Include loading states and error boundaries");
504
+ }
505
+ if (prdLower.includes("e-commerce") || prdLower.includes("payment")) {
506
+ analysis.businessLogic = "E-commerce and transaction handling";
507
+ analysis.specificRequirements.push("Include proper validation for financial data");
508
+ }
509
+ analysis.contextInsights.push(`PRD indicates: ${context.prd.split("\n")[0]?.slice(0, 100) || "Standard application"}`);
510
+ }
511
+ // Analyze types context
512
+ if (context.types) {
513
+ analysis.contextInsights.push("Custom TypeScript types available for integration");
514
+ analysis.specificRequirements.push("Use existing type definitions where applicable");
273
515
  }
516
+ // Add default technical constraints
517
+ analysis.technicalConstraints.push("Use TypeScript with strict mode", "Follow React 18+ patterns", "Ensure mobile responsiveness", "Implement proper error boundaries");
518
+ return analysis;
274
519
  }
275
520
  getAvailableShadcnPrimitives() {
276
521
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"CodeGenSubAgent.js","sourceRoot":"","sources":["../../../src/agents/implementations/CodeGenSubAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CodeGenSubAgent.js","sourceRoot":"","sources":["../../../src/agents/implementations/CodeGenSubAgent.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,+DAA4D;AAC5D,qEAGkC;AAClC,uCAAyB;AACzB,2CAA6B;AAO7B,8DAAsE;AACtE,4EAA+E;AAE/E,sDAAsD;AACtD,MAAM,iBAAiB,GAAG;IACxB,qBAAqB;IACrB,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,aAAa,CAAC;IAC5C,IAAI,EAAE;QACJ,QAAQ;QACR,OAAO;QACP,OAAO;QACP,MAAM;QACN,QAAQ;QACR,UAAU;QACV,YAAY;QACZ,UAAU;QACV,QAAQ;KACT;IACD,UAAU,EAAE,CAAC,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC;IAClE,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC;IAC7E,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC;IACnD,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC;IAC/D,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC;IAClD,OAAO,EAAE;QACP,YAAY;QACZ,WAAW;QACX,aAAa;QACb,WAAW;QACX,aAAa;QACb,SAAS;QACT,cAAc;QACd,QAAQ;QACR,aAAa;QACb,QAAQ;QACR,QAAQ;KACT;CACO,CAAC;AAEX,qEAAqE;AACrE,MAAM,qBAAqB,GAAG;IAC5B,WAAW;IACX,OAAO;IACP,cAAc;IACd,cAAc;IACd,QAAQ;IACR,OAAO;IACP,YAAY;IACZ,QAAQ;IACR,UAAU;IACV,MAAM;IACN,UAAU;IACV,OAAO;IACP,UAAU;IACV,aAAa;IACb,UAAU;IACV,SAAS;IACT,cAAc;IACd,YAAY;IACZ,aAAa;IACb,QAAQ;IACR,QAAQ;IACR,eAAe;IACf,YAAY;IACZ,OAAO;IACP,WAAW;IACX,OAAO;IACP,SAAS;IACT,iBAAiB;IACjB,YAAY;IACZ,SAAS;IACT,UAAU;IACV,aAAa;IACb,WAAW;IACX,aAAa;IACb,QAAQ;IACR,WAAW;IACX,OAAO;IACP,SAAS;IACT,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,UAAU;IACV,OAAO;IACP,QAAQ;IACR,cAAc;IACd,SAAS;IACT,YAAY;CACb,CAAC;AAEF,MAAa,eAAe;IAe1B;QAZA,SAAI,GAAG,iBAAiB,CAAC;QACzB,gBAAW,GACT,0GAA0G,CAAC;QAW3G,MAAM,WAAW,GAAG,IAAA,oCAAsB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,GAAG,CACP,KAA+B;QAE/B,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAErD,mDAAmD;QACnD,MAAM,eAAe,GAAG,IAAI,+CAAyB,EAAE,CAAC;QAExD,uCAAuC;QACvC,IAAI,aAAqB,CAAC;QAC1B,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,aAAa,GAAG,SAAS,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;QACjC,CAAC;QAED,wDAAwD;QACxD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gCAAgC,CACtD,SAAS,EACT,KAAK,EACL,OAAO,CACR,CAAC;QAEF,qBAAqB;QACrB,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAE5D,OAAO;YACL,IAAI;YACJ,QAAQ,EAAE;gBACR,aAAa;gBACb,KAAK;gBACL,YAAY;gBACZ,cAAc;gBACd,gBAAgB;gBAChB,YAAY,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;aAC/C;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAA+B;QAC5C,0EAA0E;QAC1E,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;QAED,+EAA+E;QAC/E,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QAC5D,IAAI,CAAC,KAAK,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAE/B,kFAAkF;QAClF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS;QAQb,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,CAAC;SAChB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,gCAAgC,CAC5C,SAAc,EACd,KAAU,EACV,OAAY;QAEZ,8GAA8G;QAC9G,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,+BAAc,EAAE,CAAC;YAEhC,MAAM,OAAO,GACX,OAAO,SAAS,KAAK,QAAQ;gBAC3B,CAAC,CAAC;oBACE,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC;oBAC3C,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC;oBAC9B,IAAI,EAAE,MAAM;iBACb;gBACH,CAAC,CAAC,SAAS,CAAC;YAEhB,+CAA+C;YAC/C,MAAM,GAAG,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;YAC5C,MAAM,aAAa,GAAG,OAAO,EAAE,OAAO,EAAE,aAAa,IAAI,EAAE,CAAC;YAC5D,MAAM,YAAY,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;YAEnD,6CAA6C;YAC7C,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBACzB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC7B,MAAM,UAAU,GAAG,YAAY,CAAC;gBAEhC,gDAAgD;gBAChD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC;oBACnE,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CACjC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,wBAAwB,CAAC,EAC/C,MAAM,CACP,CAAC;oBACF,eAAe,IAAI,8BAA8B,WAAW,CAAC,KAAK,CAChE,CAAC,EACD,IAAI,CACL,IAAI,CAAC;gBACR,CAAC;gBAED,4BAA4B;gBAC5B,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;oBACzD,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAC9B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EACrC,MAAM,CACP,CAAC;oBACF,eAAe,IAAI,qBAAqB,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;gBACtE,CAAC;gBAED,gDAAgD;gBAChD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC,CAAC;gBACvE,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;oBAClC,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;oBAC3D,eAAe,IAAI,mDAAmD,UAAU,+BAA+B,CAAC;gBAClH,CAAC;qBAAM,CAAC;oBACN,yCAAyC;oBACzC,MAAM,QAAQ,GAAG;wBACf,iBAAiB;wBACjB,aAAa;wBACb,iBAAiB;qBAClB,CAAC;oBACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;wBAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;wBACnD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAC5B,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;4BACrD,eAAe,IAAI,mDAAmD,UAAU,+BAA+B,CAAC;4BAChH,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,qCAAqC;gBACrC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC;oBAC3D,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CACjC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,EACvC,MAAM,CACP,CAAC;oBACF,eAAe,IAAI,+BAA+B,WAAW,0BAA0B,CAAC;gBAC1F,CAAC;gBAED,2CAA2C;gBAC3C,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;gBACnE,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACpC,MAAM,OAAO,GAAG,EAAE;yBACf,WAAW,CAAC,gBAAgB,CAAC;yBAC7B,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;yBAC9D,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;oBACpD,eAAe,IAAI,sCAAsC,OAAO,CAAC,IAAI,CACnE,IAAI,CACL,+BAA+B,CAAC;gBACnC,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,4CAA4C;gBAC5C,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;YAC7C,CAAC;YAED,qCAAqC;YACrC,OAAO,CAAC,GAAG,CACT,0EAA0E,CAC3E,CAAC;YAEF,IAAI,iBAAiB,CAAC;YACtB,IAAI,CAAC;gBACH,mDAAmD;gBACnD,MAAM,iBAAiB,GAAG,IAAI,+CAAsB,EAAE,CAAC;gBACvD,MAAM,mBAAmB,GAA8B;oBACrD,GAAG;oBACH,KAAK;oBACL,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE;oBAC1C,aAAa,EAAE,eAAe;oBAC9B,aAAa,EAAE,OAAO,EAAE,IAAI,IAAI,WAAW;oBAC3C,cAAc,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI;oBACnC,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE;iBACnD,CAAC;gBAEF,iBAAiB,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBACrE,OAAO,CAAC,GAAG,CACT,gEAAgE,iBAAiB,CAAC,cAAc,EAAE,CACnG,CAAC;gBACF,OAAO,CAAC,GAAG,CACT,6BAA6B,iBAAiB,CAAC,oBAAoB,CAAC,MAAM,QAAQ,CACnF,CAAC;YACJ,CAAC;YAAC,OAAO,gBAAgB,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CACT,0EAA0E,CAC3E,CAAC;gBAEF,IAAI,CAAC;oBACH,4CAA4C;oBAC5C,iBAAiB,GAAG,MAAM,IAAI,CAAC,sBAAsB,CACnD,OAAO,EACP,KAAK,EACL,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,CAChC,CAAC;oBACF,OAAO,CAAC,GAAG,CACT,6CAA6C,iBAAiB,CAAC,cAAc,EAAE,CAChF,CAAC;gBACJ,CAAC;gBAAC,OAAO,cAAc,EAAE,CAAC;oBACxB,OAAO,CAAC,GAAG,CACT,6EAA6E,CAC9E,CAAC;oBAEF,wDAAwD;oBACxD,iBAAiB,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,EAAE;wBAClE,GAAG;wBACH,KAAK;wBACL,eAAe;qBAChB,CAAC,CAAC;oBACH,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,GAAG,iBAAiB,CAAC,YAAY,OAAO,iBAAiB,CAAC,UAAU,EAAE,CAAC;YAEtF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE;gBAClD,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC,CAAC;YAEH,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,oDAAoD;YACpD,MAAM,YAAY,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtE,MAAM,IAAI,KAAK,CACb,mCAAmC,YAAY,MAAM;gBACnD,8DAA8D;gBAC9D,sBAAsB;gBACtB,uDAAuD;gBACvD,mCAAmC;gBACnC,gCAAgC;gBAChC,sDAAsD,CACzD,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAClC,SAAc,EACd,KAAU,EACV,OAAgE;QAOhE,MAAM,EAAE,GAAG,IAAI,+BAAc,EAAE,CAAC;QAEhC,MAAM,yBAAyB,GAAG;;;;eAIvB,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;WACtC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;;;SAGhC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;WACxB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;wBACd,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;CAoB5D,CAAC;QAEE,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,yBAAyB,EAAE;YACrE,WAAW,EAAE,GAAG,EAAE,4DAA4D;YAC9E,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,iCAAiC;YACjC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACrD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAE5C,yBAAyB;YACzB,IAAI,CAAC,UAAU,CAAC,YAAY,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;gBACvD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,CAAC;YAED,OAAO;gBACL,YAAY,EAAE,UAAU,CAAC,YAAY;gBACrC,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,cAAc,EAAE,UAAU,CAAC,cAAc,IAAI,sBAAsB;gBACnE,oBAAoB,EAAE,UAAU,CAAC,oBAAoB,IAAI,EAAE;aAC5D,CAAC;QACJ,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,qDAAqD,UAAU,EAAE,CAClE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,0BAA0B,CAChC,SAAc,EACd,KAAU,EACV,OAAgE;QAOhE,MAAM,UAAU,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAEvD,8CAA8C;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,6BAA6B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE5E,mEAAmE;QACnE,MAAM,YAAY,GAAG;;;;;;;UAOf,SAAS,EAAE,IAAI,IAAI,aAAa;WAC/B,KAAK,EAAE,IAAI,IAAI,IAAI;sBACR,YAAY,CAAC,eAAe;kBAChC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;;;8BAGvB,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAC1D,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACnC;;;;;;;;;EASF,YAAY,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;qEAOF,CAAC;QAElE,MAAM,UAAU,GAAG,gBACjB,SAAS,EAAE,IACb;;;EAGF,IAAI,CAAC,SAAS,CACd;YACE,KAAK,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE;YACxB,IAAI,EAAE,SAAS,EAAE,IAAI;YACrB,WAAW,EAAE,SAAS,EAAE,WAAW,IAAI,EAAE;YACzC,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,aAAa;YACtC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC;gBAChD,CAAC,CAAC,SAAS,CAAC,WAAW;gBACvB,CAAC,CAAC,EAAE;YACN,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC;gBACxD,CAAC,CAAC,SAAS,CAAC,eAAe;gBAC3B,CAAC,CAAC,EAAE;SACP,EACD,IAAI,EACJ,CAAC,CACF;;;EAGC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAGvC,YAAY,CAAC,aAAa;;;EAG1B,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;;uEAEyB,CAAC;QAEpE,OAAO;YACL,YAAY;YACZ,UAAU;YACV,cAAc,EAAE,8BAA8B,SAAS,EAAE,IAAI,KAAK,SAAS,EAAE,IAAI,GAAG;YACpF,oBAAoB,EAAE,YAAY,CAAC,oBAAoB;SACxD,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,6BAA6B,CACnC,SAAc,EACd,OAAgE;QAShE,MAAM,QAAQ,GAAG;YACf,eAAe,EAAE,sCAAsC;YACvD,WAAW,EAAE,EAAc;YAC3B,oBAAoB,EAAE,EAAc;YACpC,eAAe,EAAE,EAAc;YAC/B,aAAa,EAAE,kCAAkC;YACjD,oBAAoB,EAAE,EAAc;SACrC,CAAC;QAEF,yBAAyB;QACzB,IAAI,SAAS,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;YAC/B,QAAQ,CAAC,eAAe,GAAG,8CAA8C,CAAC;YAC1E,QAAQ,CAAC,WAAW,CAAC,IAAI,CACvB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,CACvB,CAAC;YACF,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAChC,yCAAyC,CAC1C,CAAC;YACF,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAChC,kDAAkD,CACnD,CAAC;QACJ,CAAC;aAAM,IAAI,SAAS,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;YACtC,QAAQ,CAAC,eAAe,GAAG,+BAA+B,CAAC;YAC3D,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;YACrE,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAChC,gDAAgD,CACjD,CAAC;QACJ,CAAC;aAAM,IAAI,SAAS,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;YAC5C,QAAQ,CAAC,eAAe,GAAG,wBAAwB,CAAC;YACpD,QAAQ,CAAC,WAAW,CAAC,IAAI,CACvB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,CACtB,CAAC;YACF,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAClE,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAC3E,CAAC;QAED,sBAAsB;QACtB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YAE3C,IAAI,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtE,QAAQ,CAAC,aAAa;oBACpB,kDAAkD,CAAC;gBACrD,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAChC,0CAA0C,CAC3C,CAAC;YACJ,CAAC;YAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrE,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;gBACrE,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAChC,6CAA6C,CAC9C,CAAC;YACJ,CAAC;YAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpE,QAAQ,CAAC,aAAa,GAAG,qCAAqC,CAAC;gBAC/D,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAChC,8CAA8C,CAC/C,CAAC;YACJ,CAAC;YAED,QAAQ,CAAC,eAAe,CAAC,IAAI,CAC3B,kBACE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,sBAC/C,EAAE,CACH,CAAC;QACJ,CAAC;QAED,wBAAwB;QACxB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,QAAQ,CAAC,eAAe,CAAC,IAAI,CAC3B,mDAAmD,CACpD,CAAC;YACF,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAChC,gDAAgD,CACjD,CAAC;QACJ,CAAC;QAED,oCAAoC;QACpC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAChC,iCAAiC,EACjC,2BAA2B,EAC3B,8BAA8B,EAC9B,mCAAmC,CACpC,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,4BAA4B;QAClC,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YACzD,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACpC,MAAM,KAAK,GAAG,KAAK;qBAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;qBACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;gBAClE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;YAC5C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAEV,mDAAmD;QACnD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7C,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAC5B,CAAC;YACF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAC3B,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,CACjD,CAAC;YACF,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC9D,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,IAAY;QACtC,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,aAAa;YAC7B,cAAc,EAAE,aAAa;YAC7B,YAAY,EAAE,WAAW;YACzB,WAAW,EAAE,UAAU;YACvB,iBAAiB,EAAE,gBAAgB;YACnC,aAAa,EAAE,YAAY;YAC3B,aAAa,EAAE,YAAY;YAC3B,cAAc,EAAE,aAAa;YAC7B,cAAc,EAAE,aAAa;YAC7B,eAAe,EAAE,cAAc;YAC/B,YAAY,EAAE,OAAO;YACrB,aAAa,EAAE,UAAU;YACzB,wDAAwD;SACzD,CAAC;QACF,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;QACtC,qBAAqB;QACrB,OAAO,GAAG;aACP,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;aAC3B,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAClD,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAEO,sBAAsB,CAAC,IAAY;QACzC,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,MAAM;gBACT,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;gBACnD,MAAM;YACR,KAAK,QAAQ;gBACX,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,MAAM;gBACT,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;gBACjD,MAAM;YACR,KAAK,YAAY;gBACf,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBACtC,MAAM;YACR,KAAK,UAAU;gBACb,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBACtC,MAAM;YACR;gBACE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/B,CAAC;IAEO,uBAAuB,CAAC,IAAY;QAC1C,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,MAAM;gBACT,OAAO,CAAC,IAAI,CACV,QAAQ,EACR,OAAO,EACP,OAAO,EACP,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACb,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,eAAe,EACf,aAAa,EACb,UAAU,EACV,OAAO,EACP,kBAAkB,CACnB,CAAC;gBACF,MAAM;YACR,KAAK,QAAQ;gBACX,OAAO,CAAC,IAAI,CACV,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,WAAW,CACZ,CAAC;gBACF,MAAM;YACR,KAAK,MAAM;gBACT,OAAO,CAAC,IAAI,CACV,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,QAAQ,CACT,CAAC;gBACF,MAAM;YACR,KAAK,QAAQ;gBACX,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,MAAM;YACR,KAAK,YAAY;gBACf,OAAO,CAAC,IAAI,CACV,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,MAAM,EACN,aAAa,EACb,UAAU,EACV,aAAa,CACd,CAAC;gBACF,MAAM;YACR,KAAK,UAAU;gBACb,OAAO,CAAC,IAAI,CACV,OAAO,EACP,kBAAkB,EAClB,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,eAAe,EACf,OAAO,EACP,UAAU,CACX,CAAC;gBACF,MAAM;YACR,KAAK,MAAM;gBACT,OAAO,CAAC,IAAI,CACV,OAAO,EACP,WAAW,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACb,UAAU,EACV,SAAS,EACT,cAAc,EACd,cAAc,EACd,cAAc,EACd,aAAa,EACb,aAAa,CACd,CAAC;gBACF,MAAM;YACR,KAAK,SAAS;gBACZ,OAAO,CAAC,IAAI,CACV,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,cAAc,CACf,CAAC;gBACF,MAAM;YACR,KAAK,OAAO;gBACV,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;gBACjE,MAAM;YACR;gBACE,OAAO,CAAC,IAAI,CACV,MAAM,EACN,aAAa,EACb,YAAY,EACZ,WAAW,EACX,QAAQ,CACT,CAAC;QACN,CAAC;QAED,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/B,CAAC;IAEO,uBAAuB,CAAC,IAAY;QAC1C,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YACvE,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,uBAAuB,CAAC,IAAY,EAAE,IAAY;QACxD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,MAAM;gBACT,OAAO;;eAEA,IAAI,CAAC,WAAW,EAAE;;;;;;;;;;;;;;;cAenB,IAAI,6BAA6B,IAAI,CAAC,WAAW,EAAE;;;mBAG9C,IAAI;;;;EAIrB,CAAC;YACG,KAAK,YAAY;gBACf,OAAO;;;;;;;;;;;;;EAab,CAAC;YACG,KAAK,MAAM;gBACT,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;EAyBb,CAAC;YACG;gBACE,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAEO,4BAA4B,CAAC,IAAY;QAC/C,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,MAAM;gBACT,OAAO;;sBAEO,IAAI,wBAAwB,IAAI,uBAAuB,IAAI;;;;;;;;4BAQrD,IAAI;;;;2CAIW,IAAI,0BAA0B,CAAC;YACpE,KAAK,QAAQ;gBACX,OAAO;;;;;;;;;;;;;;gCAciB,CAAC;YAC3B,KAAK,MAAM;gBACT,OAAO;;;;;;;;;;;;;;;;kCAgBmB,CAAC;YAC7B,KAAK,QAAQ;gBACX,OAAO;;;;;;;;;;;;;;;;yBAgBU,CAAC;YACpB,KAAK,YAAY;gBACf,OAAO;;;;;;;;;;;;+CAYgC,CAAC;YAC1C,KAAK,UAAU;gBACb,OAAO;;;;;;;;;;;;;;0BAcW,CAAC;YACrB,KAAK,MAAM;gBACT,OAAO;;;;;;;;;;;;;;;;;;;;gEAoBiD,CAAC;YAC3D;gBACE,OAAO;;;;uBAIQ,CAAC;QACpB,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,IAAY;QACvC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,MAAM;gBACT,OAAO,uEAAuE,CAAC;YACjF,KAAK,QAAQ;gBACX,OAAO,yEAAyE,CAAC;YACnF,KAAK,MAAM;gBACT,OAAO,+DAA+D,CAAC;YACzE,KAAK,QAAQ;gBACX,OAAO,+DAA+D,CAAC;YACzE,KAAK,YAAY;gBACf,OAAO,8EAA8E,CAAC;YACxF,KAAK,UAAU;gBACb,OAAO,2DAA2D,CAAC;YACrE,KAAK,MAAM;gBACT,OAAO,2DAA2D,CAAC;YACrE;gBACE,OAAO,mBAAmB,CAAC;QAC/B,CAAC;IACH,CAAC;IAEO,kCAAkC,CAAC,IAAY;QACrD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,MAAM;gBACT,OAAO;;;;;;;mBAOI,CAAC;YACd,KAAK,QAAQ;gBACX,OAAO;;;;;;;6BAOc,CAAC;YACxB,KAAK,MAAM;gBACT,OAAO;;;;;;;;oBAQK,CAAC;YACf,KAAK,QAAQ;gBACX,OAAO;;;;;;;;2BAQY,CAAC;YACtB,KAAK,YAAY;gBACf,OAAO;;;;;;uBAMQ,CAAC;YAClB,KAAK,UAAU;gBACb,OAAO;;;;;;;QAOP,CAAC;YACH,KAAK,MAAM;gBACT,OAAO;;;;;;;;;;aAUF,CAAC;YACR;gBACE,OAAO;;uBAEQ,CAAC;QACpB,CAAC;IACH,CAAC;IAEO,gCAAgC,CACtC,IAAY,EACZ,eAAyB,EACzB,aAAqB;QAErB,MAAM,KAAK,GAAG,EAAE,CAAC;QAEjB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC;;;yBAGQ,aAAa;4BACV,aAAa,CAAC,WAAW,EAAE;;;;;;;;wDAQC,aAAa;;;;;;;;;;yCAU5B,aAAa;;;;;;;;;wBAS9B,CAAC,CAAC;QACtB,CAAC;QAED,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;UAkBP,CAAC,CAAC;QACR,CAAC;QAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAuDU,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC;;;;;;oCAMmB,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEO,8BAA8B,CACpC,IAAY,EACZ,IAAY,EACZ,aAAuB;QAEvB,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,MAAM;gBACT,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAkGH,CAAC;YAEP,KAAK,QAAQ;gBACX,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAqDJ,CAAC;YAEN,KAAK,MAAM;gBACT,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAoDH,CAAC;YAEP,KAAK,QAAQ;gBACX,OAAO;;;;;;;;;;;;;;;;;;;;cAoBD,CAAC;YAET,KAAK,YAAY;gBACf,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA0EO,CAAC;YAEjB,KAAK,UAAU;gBACb,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA+BF,CAAC;YAER,KAAK,MAAM;gBACT,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAuHJ,CAAC;YAEN;gBACE,OAAO;;qBAEM,IAAI;;;;uCAIc,IAAI;;;;YAI/B,CAAC;QACT,CAAC;IACH,CAAC;IAEO,iCAAiC,CACvC,eAAyB,EACzB,aAAqB,EACrB,IAAY;QAEZ,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAE5C,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7C,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,cAAc;oBACjB,OAAO,IAAI,KAAK,MAAM;wBACpB,CAAC,CAAC,oDAAoD;wBACtD,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoDZ,CAAC;gBACK,KAAK,aAAa;oBAChB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiFf,CAAC;gBACK,KAAK,eAAe;oBAClB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyCf,CAAC;gBACK;oBACE,OAAO;;KAEZ,IAAI;;;;;;;;0BAQiB,IAAI;;;;;;;wBAON,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAmCH,IAAI;;;;;;;;;;;;;mFAasD,IAAI;;;;EAIrF,CAAC;YACG,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAEO,mBAAmB,CAAC,IAAY;QACtC,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,4BAA4B;QAC5B,MAAM,WAAW,GAAG,yCAAyC,CAAC;QAC9D,IAAI,KAAK,CAAC;QAEV,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACjD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,IACE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;gBAC3B,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;gBAC3B,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAC5B,CAAC;gBACD,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,MAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC5D,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAChC,YAAY,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,oBAAoB;QACpB,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IACpC,CAAC;IAEO,uBAAuB,CAAC,IAAY;QAC1C,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,sCAAsC;QACtC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;aAC7B,IAAI,EAAE;aACN,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;QAEL,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IAClC,CAAC;IAEO,qBAAqB,CAAC,IAAY;QACxC,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC,aAAa;QAE7B,uCAAuC;QACvC,MAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC5D,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAEnD,oCAAoC;QACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,KAAK,IAAI,EAAE,CAAC;QACtE,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACnE,KAAK,IAAI,CAAC,CAAC;QAEb,qCAAqC;QACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;QACxE,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;QAEzE,mCAAmC;QACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,KAAK,IAAI,EAAE,CAAC;QAClE,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;QAExE,0CAA0C;QAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;QAE1E,+CAA+C;QAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;QACjE,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;QAEzC,gCAAgC;QAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;QACzE,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;QAE3E,aAAa;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IAEO,qBAAqB,CAAC,WAAmB;QAC/C,mDAAmD;QACnD,OAAO,WAAW;aACf,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACzE,IAAI,CAAC,EAAE,CAAC;aACR,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAClC,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,SAAc,EACd,KAAU,EACV,OAAY;QAEZ,IAAI,CAAC;YACH,MAAM,EAAE,YAAY,EAAE,GAAG,wDAAa,0BAA0B,GAAC,CAAC;YAClE,MAAM,YAAY,GAAG,IAAI,YAAY,CACnC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,wBAAwB,CACxD,CAAC;YAEF,wBAAwB;YACxB,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,cAAc,EAAE,CAAC;YACxD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CACb,0FAA0F,CAC3F,CAAC;YACJ,CAAC;YAED,4BAA4B;YAC5B,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CACb,gGAAgG,CACjG,CAAC;YACJ,CAAC;YAED,OAAO,MAAM,YAAY,CAAC,iBAAiB,CACzC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EACzB,iBAAiB,CAClB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,2DAA2D;YAC3D,MAAM,IAAI,KAAK,CACb,6BACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAC3C,IAAI;gBACF,gFAAgF;gBAChF,+DAA+D,CAClE,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AA3kED,0CA2kEC"}
@@ -0,0 +1,50 @@
1
+ import { SubAgent } from "../interfaces/SubAgent";
2
+ export interface PromptConstructionContext {
3
+ prd?: string;
4
+ types?: string;
5
+ branding?: string;
6
+ componentList?: string;
7
+ componentName: string;
8
+ componentGroup: string;
9
+ projectPath: string;
10
+ }
11
+ export interface ConstructedPrompt {
12
+ systemPrompt: string;
13
+ userPrompt: string;
14
+ contextSummary: string;
15
+ specificRequirements: string[];
16
+ }
17
+ /**
18
+ * PromptConstructorAgent
19
+ *
20
+ * Analyzes all context files and constructs highly specific prompts
21
+ * for component generation based on project requirements, types, and branding.
22
+ *
23
+ * Features:
24
+ * - Context file analysis and extraction
25
+ * - Component-specific requirement generation
26
+ * - Intelligent prompt construction
27
+ * - Domain knowledge integration
28
+ */
29
+ export declare class PromptConstructorAgent implements SubAgent<PromptConstructionContext, ConstructedPrompt> {
30
+ name: string;
31
+ description: string;
32
+ personality: string;
33
+ llmProvider: string;
34
+ expertise: string[];
35
+ run(context: PromptConstructionContext): Promise<ConstructedPrompt>;
36
+ private analyzeContextFiles;
37
+ private enhancePromptWithAI;
38
+ private extractDomain;
39
+ private extractBusinessLogic;
40
+ private extractUserStories;
41
+ private extractTechnicalRequirements;
42
+ private extractDataStructures;
43
+ private extractBrandingGuidelines;
44
+ private extractUIPatterns;
45
+ private extractComponentRequirements;
46
+ private constructPrompt;
47
+ private detectExternalDependencies;
48
+ private extractDependenciesFromText;
49
+ }
50
+ //# sourceMappingURL=PromptConstructorAgent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptConstructorAgent.d.ts","sourceRoot":"","sources":["../../../src/agents/implementations/PromptConstructorAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIlD,MAAM,WAAW,yBAAyB;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,sBACX,YAAW,QAAQ,CAAC,yBAAyB,EAAE,iBAAiB,CAAC;IAEjE,IAAI,SAA4B;IAChC,WAAW,SAC8E;IACzF,WAAW,SAAgD;IAC3D,WAAW,EAAE,MAAM,CAAY;IAC/B,SAAS,WAKP;IAEI,GAAG,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,iBAAiB,CAAC;YA2B3D,mBAAmB;YAuDnB,mBAAmB;IAsEjC,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,oBAAoB;IAwB5B,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,4BAA4B;IAmBpC,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,yBAAyB;IAmBjC,OAAO,CAAC,iBAAiB;YA8BX,4BAA4B;YAgD5B,eAAe;IA6G7B,OAAO,CAAC,0BAA0B;IA6FlC,OAAO,CAAC,2BAA2B;CA0BpC"}