mycontext-cli 0.4.20 → 1.0.2

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 (106) hide show
  1. package/README.md +14 -11
  2. package/dist/agents/implementations/BackendDevAgent.d.ts +39 -0
  3. package/dist/agents/implementations/BackendDevAgent.d.ts.map +1 -0
  4. package/dist/agents/implementations/BackendDevAgent.js +821 -0
  5. package/dist/agents/implementations/BackendDevAgent.js.map +1 -0
  6. package/dist/agents/implementations/CodeGenSubAgent.d.ts +1 -1
  7. package/dist/agents/implementations/CodeGenSubAgent.d.ts.map +1 -1
  8. package/dist/agents/implementations/CodeGenSubAgent.js +47 -22
  9. package/dist/agents/implementations/CodeGenSubAgent.js.map +1 -1
  10. package/dist/agents/implementations/DocsSubAgent.d.ts +7 -0
  11. package/dist/agents/implementations/DocsSubAgent.d.ts.map +1 -1
  12. package/dist/agents/implementations/DocsSubAgent.js +20 -11
  13. package/dist/agents/implementations/DocsSubAgent.js.map +1 -1
  14. package/dist/agents/implementations/EnhancementAgent.d.ts +1 -1
  15. package/dist/agents/implementations/EnhancementAgent.d.ts.map +1 -1
  16. package/dist/agents/implementations/EnhancementAgent.js +17 -12
  17. package/dist/agents/implementations/EnhancementAgent.js.map +1 -1
  18. package/dist/cli.js +210 -39
  19. package/dist/cli.js.map +1 -1
  20. package/dist/commands/analyze.d.ts +52 -0
  21. package/dist/commands/analyze.d.ts.map +1 -0
  22. package/dist/commands/analyze.js +740 -0
  23. package/dist/commands/analyze.js.map +1 -0
  24. package/dist/commands/auth.d.ts +19 -26
  25. package/dist/commands/auth.d.ts.map +1 -1
  26. package/dist/commands/auth.js +187 -180
  27. package/dist/commands/auth.js.map +1 -1
  28. package/dist/commands/build-app.d.ts +33 -0
  29. package/dist/commands/build-app.d.ts.map +1 -0
  30. package/dist/commands/build-app.js +507 -0
  31. package/dist/commands/build-app.js.map +1 -0
  32. package/dist/commands/generate-components.d.ts +2 -0
  33. package/dist/commands/generate-components.d.ts.map +1 -1
  34. package/dist/commands/generate-components.js +96 -49
  35. package/dist/commands/generate-components.js.map +1 -1
  36. package/dist/commands/generate-todos.d.ts +25 -0
  37. package/dist/commands/generate-todos.d.ts.map +1 -0
  38. package/dist/commands/generate-todos.js +249 -0
  39. package/dist/commands/generate-todos.js.map +1 -0
  40. package/dist/commands/generate.d.ts +3 -0
  41. package/dist/commands/generate.d.ts.map +1 -1
  42. package/dist/commands/generate.js +251 -93
  43. package/dist/commands/generate.js.map +1 -1
  44. package/dist/commands/init.d.ts +5 -0
  45. package/dist/commands/init.d.ts.map +1 -1
  46. package/dist/commands/init.js +86 -7
  47. package/dist/commands/init.js.map +1 -1
  48. package/dist/commands/list.d.ts.map +1 -1
  49. package/dist/commands/list.js +10 -7
  50. package/dist/commands/list.js.map +1 -1
  51. package/dist/commands/migrate.d.ts +29 -0
  52. package/dist/commands/migrate.d.ts.map +1 -0
  53. package/dist/commands/migrate.js +485 -0
  54. package/dist/commands/migrate.js.map +1 -0
  55. package/dist/commands/model.d.ts +13 -16
  56. package/dist/commands/model.d.ts.map +1 -1
  57. package/dist/commands/model.js +89 -320
  58. package/dist/commands/model.js.map +1 -1
  59. package/dist/commands/playbooks.d.ts +33 -0
  60. package/dist/commands/playbooks.d.ts.map +1 -0
  61. package/dist/commands/playbooks.js +662 -0
  62. package/dist/commands/playbooks.js.map +1 -0
  63. package/dist/commands/pricing.d.ts +15 -0
  64. package/dist/commands/pricing.d.ts.map +1 -0
  65. package/dist/commands/pricing.js +129 -0
  66. package/dist/commands/pricing.js.map +1 -0
  67. package/dist/commands/promote.d.ts +22 -0
  68. package/dist/commands/promote.d.ts.map +1 -0
  69. package/dist/commands/promote.js +204 -0
  70. package/dist/commands/promote.js.map +1 -0
  71. package/dist/commands/setup.d.ts +5 -18
  72. package/dist/commands/setup.d.ts.map +1 -1
  73. package/dist/commands/setup.js +180 -340
  74. package/dist/commands/setup.js.map +1 -1
  75. package/dist/config/ai-providers.json +81 -40
  76. package/dist/config/api.d.ts +9 -0
  77. package/dist/config/api.d.ts.map +1 -0
  78. package/dist/config/api.js +25 -0
  79. package/dist/config/api.js.map +1 -0
  80. package/dist/config/api.ts +29 -0
  81. package/dist/config/pricing.json +55 -0
  82. package/dist/types/index.d.ts +7 -1
  83. package/dist/types/index.d.ts.map +1 -1
  84. package/dist/utils/apiKeyManager.d.ts.map +1 -1
  85. package/dist/utils/apiKeyManager.js +7 -0
  86. package/dist/utils/apiKeyManager.js.map +1 -1
  87. package/dist/utils/fileSystem.d.ts.map +1 -1
  88. package/dist/utils/fileSystem.js +3 -1
  89. package/dist/utils/fileSystem.js.map +1 -1
  90. package/dist/utils/geminiClient.d.ts +61 -0
  91. package/dist/utils/geminiClient.d.ts.map +1 -0
  92. package/dist/utils/geminiClient.js +173 -0
  93. package/dist/utils/geminiClient.js.map +1 -0
  94. package/dist/utils/hostedApiClient.d.ts +32 -0
  95. package/dist/utils/hostedApiClient.d.ts.map +1 -0
  96. package/dist/utils/hostedApiClient.js +231 -0
  97. package/dist/utils/hostedApiClient.js.map +1 -0
  98. package/dist/utils/hybridAIClient.d.ts +14 -3
  99. package/dist/utils/hybridAIClient.d.ts.map +1 -1
  100. package/dist/utils/hybridAIClient.js +190 -65
  101. package/dist/utils/hybridAIClient.js.map +1 -1
  102. package/dist/utils/qwenClient.d.ts +22 -0
  103. package/dist/utils/qwenClient.d.ts.map +1 -0
  104. package/dist/utils/qwenClient.js +185 -0
  105. package/dist/utils/qwenClient.js.map +1 -0
  106. package/package.json +1 -1
@@ -34,12 +34,14 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.HybridAIClient = void 0;
37
- const ollamaClient_1 = require("./ollamaClient");
38
37
  const huggingFaceClient_1 = require("./huggingFaceClient");
39
38
  const githubModelsClient_1 = require("./githubModelsClient");
40
39
  const xaiClient_1 = require("./xaiClient");
41
40
  const openaiClient_1 = require("./openaiClient");
42
41
  const claudeClient_1 = require("./claudeClient");
42
+ const qwenClient_1 = require("./qwenClient");
43
+ const geminiClient_1 = require("./geminiClient");
44
+ const hostedApiClient_1 = require("./hostedApiClient");
43
45
  const fs = __importStar(require("fs"));
44
46
  const path = __importStar(require("path"));
45
47
  class HybridAIClient {
@@ -68,6 +70,28 @@ class HybridAIClient {
68
70
  * Initialize available AI providers based on configuration
69
71
  */
70
72
  async initializeProviders() {
73
+ // Add Qwen if enabled and API key available (highest priority since it's free)
74
+ if (this.config?.qwen?.enabled) {
75
+ const qwenClient = new qwenClient_1.QwenClient();
76
+ if (qwenClient.hasApiKey()) {
77
+ this.providers.push({
78
+ name: "qwen",
79
+ priority: this.config.qwen.priority,
80
+ client: qwenClient,
81
+ isAvailable: () => qwenClient.checkConnection(),
82
+ });
83
+ }
84
+ }
85
+ // Add Gemini if enabled
86
+ if (this.config?.gemini?.enabled) {
87
+ const geminiClient = new geminiClient_1.GeminiClient();
88
+ this.providers.push({
89
+ name: "gemini",
90
+ priority: this.config.gemini.priority,
91
+ client: geminiClient,
92
+ isAvailable: () => geminiClient.isAvailable(),
93
+ });
94
+ }
71
95
  // Add GitHub Models if enabled and token available
72
96
  if (this.config?.github?.enabled) {
73
97
  const githubClient = new githubModelsClient_1.GitHubModelsClient();
@@ -128,15 +152,16 @@ class HybridAIClient {
128
152
  });
129
153
  }
130
154
  }
131
- // Add Ollama if enabled
132
- if (this.config?.ollama.enabled) {
133
- const ollamaClient = new ollamaClient_1.OllamaClient();
155
+ // Add hosted API as fallback if no local providers are available
156
+ if (this.providers.length === 0) {
157
+ const hostedClient = new hostedApiClient_1.HostedApiClient();
134
158
  this.providers.push({
135
- name: "ollama",
136
- priority: this.config.ollama.priority,
137
- client: ollamaClient,
138
- isAvailable: () => ollamaClient.checkConnection(),
159
+ name: "hosted",
160
+ priority: 10, // Lower priority than local providers
161
+ client: hostedClient,
162
+ isAvailable: () => hostedClient.checkConnection(),
139
163
  });
164
+ console.log(`[HybridAIClient] No local API keys found, using hosted service (billing enabled)`);
140
165
  }
141
166
  // Sort by priority
142
167
  this.providers.sort((a, b) => a.priority - b.priority);
@@ -154,11 +179,6 @@ class HybridAIClient {
154
179
  const preferred = this.providers.find((p) => p.name === preferredName);
155
180
  if (preferred) {
156
181
  console.log(`[HybridAIClient] Environment override: using ${preferredName}`);
157
- // For Ollama, don't check availability since it's local
158
- if (preferredName === "ollama") {
159
- this.currentProvider = preferred;
160
- return preferred;
161
- }
162
182
  try {
163
183
  if (await preferred.isAvailable()) {
164
184
  this.currentProvider = preferred;
@@ -230,8 +250,12 @@ class HybridAIClient {
230
250
  return (this.config?.huggingface?.models?.["component-generator"]?.name ||
231
251
  "mycontext/react-component-generator");
232
252
  }
233
- // ollama default
234
- return "mycontext-react";
253
+ if (provider.name === "gemini") {
254
+ return (this.config?.gemini?.models?.["text-generator"]?.name ||
255
+ "gemini-2.0-flash");
256
+ }
257
+ // Default model name
258
+ return "qwen3-coder";
235
259
  }
236
260
  /**
237
261
  * Generate component refinement using the best available provider
@@ -239,12 +263,16 @@ class HybridAIClient {
239
263
  async generateComponentRefinement(componentCode, prompt, options = {}) {
240
264
  const provider = await this.getBestProvider();
241
265
  if (!provider) {
242
- throw new Error("No AI providers available. Please check Ollama or configure Hugging Face API key.");
266
+ throw new Error("No AI providers available. Please configure Qwen API key or other providers.");
243
267
  }
244
268
  try {
245
269
  console.log(`[HybridAIClient] Using provider: ${provider.name}`);
246
270
  let result;
247
- if (provider.name === "github") {
271
+ if (provider.name === "qwen") {
272
+ const qwenClient = provider.client;
273
+ result = await qwenClient.generateComponentRefinement(componentCode, prompt, options);
274
+ }
275
+ else if (provider.name === "github") {
248
276
  const githubClient = provider.client;
249
277
  result = await githubClient.generateComponentRefinement(componentCode, prompt, options);
250
278
  }
@@ -260,9 +288,14 @@ class HybridAIClient {
260
288
  const huggingFaceClient = provider.client;
261
289
  result = await huggingFaceClient.generateComponentRefinement(componentCode, prompt, options);
262
290
  }
291
+ else if (provider.name === "gemini") {
292
+ const geminiClient = provider.client;
293
+ const response = await geminiClient.generateText(`Refine this React component: ${componentCode}\n\nUser request: ${prompt}`, options);
294
+ result = response.text;
295
+ }
263
296
  else {
264
- const ollamaClient = provider.client;
265
- result = await ollamaClient.generateComponent(componentCode, "mycontext-react");
297
+ // Fallback to basic template generation
298
+ result = this.generateBasicComponentTemplate(componentCode);
266
299
  }
267
300
  // Extract code and explanation
268
301
  const { code, explanation } = this.parseAIResponse(result);
@@ -287,53 +320,79 @@ class HybridAIClient {
287
320
  * Generate new component using the best available provider
288
321
  */
289
322
  async generateComponent(prompt, options = {}) {
290
- return this.tryGenerateWithProviders(prompt, options, 0);
323
+ return this.tryGenerateWithProviders(prompt, options, []);
291
324
  }
292
- async tryGenerateWithProviders(prompt, options, startIndex) {
293
- if (startIndex >= this.providers.length) {
294
- throw new Error("No AI providers available. Please check Ollama or configure Hugging Face API key.");
295
- }
296
- const provider = this.providers[startIndex];
297
- try {
298
- console.log(`[HybridAIClient] Using provider: ${provider.name}`);
299
- let result;
300
- if (provider.name === "github") {
301
- const githubClient = provider.client;
302
- result = await githubClient.generateComponent(prompt, options);
303
- }
304
- else if (provider.name === "openai") {
305
- const openaiClient = provider.client;
306
- result = await openaiClient.generateComponent(prompt, options);
307
- }
308
- else if (provider.name === "claude") {
309
- const claudeClient = provider.client;
310
- result = await claudeClient.generateComponent(prompt, options);
311
- }
312
- else if (provider.name === "huggingface") {
313
- const huggingFaceClient = provider.client;
314
- result = await huggingFaceClient.generateComponent(prompt, options);
325
+ async tryGenerateWithProviders(prompt, options, failedProviders = []) {
326
+ // Find next available provider not in failed list
327
+ for (const provider of this.providers) {
328
+ if (failedProviders.includes(provider.name)) {
329
+ continue;
315
330
  }
316
- else {
317
- const ollamaClient = provider.client;
318
- result = await ollamaClient.generateComponent(prompt, "mycontext-react");
331
+ try {
332
+ console.log(`[HybridAIClient] Using provider: ${provider.name}`);
333
+ let result;
334
+ if (provider.name === "qwen") {
335
+ const qwenClient = provider.client;
336
+ result = await qwenClient.generateComponent(prompt, options);
337
+ }
338
+ else if (provider.name === "github") {
339
+ const githubClient = provider.client;
340
+ result = await githubClient.generateComponent(prompt, options);
341
+ }
342
+ else if (provider.name === "openai") {
343
+ const openaiClient = provider.client;
344
+ result = await openaiClient.generateComponent(prompt, options);
345
+ }
346
+ else if (provider.name === "claude") {
347
+ const claudeClient = provider.client;
348
+ result = await claudeClient.generateComponent(prompt, options);
349
+ }
350
+ else if (provider.name === "huggingface") {
351
+ const huggingFaceClient = provider.client;
352
+ result = await huggingFaceClient.generateComponent(prompt, options);
353
+ }
354
+ else if (provider.name === "gemini") {
355
+ const geminiClient = provider.client;
356
+ const response = await geminiClient.generateComponent(prompt, options);
357
+ result = response.code;
358
+ }
359
+ else if (provider.name === "hosted") {
360
+ const hostedClient = provider.client;
361
+ const response = await hostedClient.generateComponent(prompt, options);
362
+ if (response.success && response.content) {
363
+ result = response.content;
364
+ }
365
+ else {
366
+ throw new Error(response.error || "Hosted API generation failed");
367
+ }
368
+ }
369
+ else {
370
+ // Fallback to basic template generation
371
+ result = this.generateBasicComponentTemplate(prompt);
372
+ }
373
+ // Extract code and explanation
374
+ const { code, explanation } = this.parseAIResponse(result);
375
+ return {
376
+ code,
377
+ provider: provider.name,
378
+ explanation,
379
+ };
319
380
  }
320
- // Extract code and explanation
321
- const { code, explanation } = this.parseAIResponse(result);
322
- return {
323
- code,
324
- provider: provider.name,
325
- explanation,
326
- };
327
- }
328
- catch (error) {
329
- console.log(`[HybridAIClient] Provider ${provider.name} failed: ${error.message}`);
330
- // Try next provider
331
- if (startIndex + 1 < this.providers.length) {
332
- console.log(`[HybridAIClient] Trying next provider: ${this.providers[startIndex + 1].name}`);
333
- return this.tryGenerateWithProviders(prompt, options, startIndex + 1);
381
+ catch (error) {
382
+ console.log(`[HybridAIClient] Provider ${provider.name} failed: ${error.message}`);
383
+ // Add to failed list and continue to next provider
384
+ failedProviders.push(provider.name);
385
+ // If this is a 402 Payment Required error, don't retry the same provider
386
+ if (error.message.includes("402") ||
387
+ error.message.includes("Payment Required")) {
388
+ console.log(`[HybridAIClient] Skipping ${provider.name} due to payment/credit issues`);
389
+ continue;
390
+ }
334
391
  }
335
- throw error;
336
392
  }
393
+ // All providers failed
394
+ const failedList = failedProviders.join(", ");
395
+ throw new Error(`All AI providers failed: ${failedList}. Please check your API keys and credits.`);
337
396
  }
338
397
  /**
339
398
  * Generate generic text (used for PRD, types, brand, etc.)
@@ -341,11 +400,15 @@ class HybridAIClient {
341
400
  async generateText(prompt, options = {}) {
342
401
  const provider = await this.getBestProvider();
343
402
  if (!provider) {
344
- throw new Error("No AI providers available. Please configure GitHub token or start Ollama.");
403
+ throw new Error("No AI providers available. Please configure Qwen API key or other providers.");
345
404
  }
346
405
  try {
347
406
  let text;
348
- if (provider.name === "github") {
407
+ if (provider.name === "qwen") {
408
+ const qwenClient = provider.client;
409
+ text = await qwenClient.generateText(prompt, options);
410
+ }
411
+ else if (provider.name === "github") {
349
412
  const githubClient = provider.client;
350
413
  text = await githubClient.generateText(prompt, options);
351
414
  }
@@ -361,9 +424,24 @@ class HybridAIClient {
361
424
  const hfClient = provider.client;
362
425
  text = await hfClient.generateComponent(prompt, options);
363
426
  }
427
+ else if (provider.name === "gemini") {
428
+ const geminiClient = provider.client;
429
+ const response = await geminiClient.generateText(prompt, options);
430
+ text = response.text;
431
+ }
432
+ else if (provider.name === "hosted") {
433
+ const hostedClient = provider.client;
434
+ const response = await hostedClient.generateText(prompt, options);
435
+ if (response.success && response.content) {
436
+ text = response.content;
437
+ }
438
+ else {
439
+ throw new Error(response.error || "Hosted API generation failed");
440
+ }
441
+ }
364
442
  else {
365
- const olClient = provider.client;
366
- text = await olClient.generateComponent(prompt, "mycontext-react");
443
+ // Fallback to basic template generation
444
+ text = this.generateBasicTextTemplate(prompt);
367
445
  }
368
446
  return { text, provider: provider.name };
369
447
  }
@@ -455,6 +533,53 @@ class HybridAIClient {
455
533
  claudeProvider.client.setApiKey(apiKey);
456
534
  }
457
535
  }
536
+ /**
537
+ * Set Gemini API key
538
+ */
539
+ setGeminiApiKey(apiKey) {
540
+ const geminiProvider = this.providers.find((p) => p.name === "gemini");
541
+ if (geminiProvider) {
542
+ geminiProvider.client.setApiKey(apiKey);
543
+ }
544
+ }
545
+ async getAvailableProviders() {
546
+ return this.providers;
547
+ }
548
+ async getAllProviders() {
549
+ return this.providers;
550
+ }
551
+ generateBasicComponentTemplate(prompt) {
552
+ return `// Basic component template generated as fallback
553
+ // Prompt: ${prompt}
554
+
555
+ import React from 'react';
556
+
557
+ interface Props {
558
+ // Add your props here
559
+ }
560
+
561
+ const Component: React.FC<Props> = () => {
562
+ return (
563
+ <div className="p-4">
564
+ <h2>Component Placeholder</h2>
565
+ <p>This is a basic template. Please configure an AI provider for full generation.</p>
566
+ </div>
567
+ );
568
+ };
569
+
570
+ export default Component;`;
571
+ }
572
+ generateBasicTextTemplate(prompt) {
573
+ return `# Generated Content
574
+
575
+ This is a basic template generated as fallback. Please configure an AI provider (Qwen, GitHub Models, Claude, or OpenAI) for full content generation.
576
+
577
+ Original prompt: ${prompt}
578
+
579
+ ## Next Steps
580
+ 1. Set up your API key in .mycontext/.env
581
+ 2. Run the command again for AI-generated content`;
582
+ }
458
583
  }
459
584
  exports.HybridAIClient = HybridAIClient;
460
585
  //# sourceMappingURL=hybridAIClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hybridAIClient.js","sourceRoot":"","sources":["../../src/utils/hybridAIClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hybridAIClient.js","sourceRoot":"","sources":["../../src/utils/hybridAIClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2DAAwD;AACxD,6DAA0D;AAC1D,2CAAwC;AACxC,iDAA8C;AAC9C,iDAA8C;AAC9C,6CAA0C;AAC1C,iDAA8C;AAC9C,uDAAoD;AACpD,uCAAyB;AACzB,2CAA6B;AAsC7B,MAAa,cAAc;IAKzB;QAJQ,cAAS,GAAiB,EAAE,CAAC;QAC7B,oBAAe,GAAsB,IAAI,CAAC;QAC1C,WAAM,GAAoB,IAAI,CAAC;QAGrC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,UAAU;QAChB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;YACvE,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB;QAC/B,+EAA+E;QAC/E,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,IAAI,uBAAU,EAAE,CAAC;YACpC,IAAI,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;gBAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ;oBACnC,MAAM,EAAE,UAAU;oBAClB,WAAW,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,eAAe,EAAE;iBAChD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,IAAI,2BAAY,EAAE,CAAC;YACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ;gBACrC,MAAM,EAAE,YAAY;gBACpB,WAAW,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE;aAC9C,CAAC,CAAC;QACL,CAAC;QAED,mDAAmD;QACnD,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,IAAI,uCAAkB,EAAE,CAAC;YAC9C,IAAI,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC;gBAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ;oBACrC,MAAM,EAAE,YAAY;oBACpB,WAAW,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE;iBAClD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAC;YAClC,IAAI,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC;gBAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,KAAK;oBACX,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ;oBAClC,MAAM,EAAE,SAA2B;oBACnC,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE;iBAC/C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,IAAI,2BAAY,EAAE,CAAC;YACxC,IAAI,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC;gBAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ;oBACrC,MAAM,EAAE,YAAY;oBACpB,WAAW,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE;iBAClD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,IAAI,2BAAY,EAAE,CAAC;YACxC,IAAI,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC;gBAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ;oBACrC,MAAM,EAAE,YAAY;oBACpB,WAAW,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE;iBAClD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,oDAAoD;QACpD,IAAI,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,iBAAiB,GAAG,IAAI,qCAAiB,EAAE,CAAC;YAClD,IAAI,iBAAiB,CAAC,SAAS,EAAE,EAAE,CAAC;gBAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ;oBAC1C,MAAM,EAAE,iBAAiB;oBACzB,WAAW,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,eAAe,EAAE;iBACvD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,YAAY,GAAG,IAAI,iCAAe,EAAE,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,EAAE,EAAE,sCAAsC;gBACpD,MAAM,EAAE,YAAY;gBACpB,WAAW,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE;aAClD,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CACT,kFAAkF,CACnF,CAAC;QACJ,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAEvD,OAAO,CAAC,GAAG,CACT,gCAAgC,IAAI,CAAC,SAAS,CAAC,MAAM,aAAa,EAClE,IAAI,CAAC,SAAS;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,QAAQ,GAAG,CAAC;aACjD,IAAI,CAAC,IAAI,CAAC,CACd,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe;QAC3B,0DAA0D;QAC1D,MAAM,aAAa,GACjB,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;QAClE,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;YACvE,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CACT,gDAAgD,aAAa,EAAE,CAChE,CAAC;gBACF,IAAI,CAAC;oBACH,IAAI,MAAM,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;wBAClC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;wBACjC,OAAO,SAAS,CAAC;oBACnB,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,GAAG,CACT,uCAAuC,SAAS,CAAC,IAAI,gDAAgD,CACtG,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,GAAG,CACT,uCAAuC,SAAS,CAAC,IAAI,mBAAmB,KAAK,kCAAkC,CAChH,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CACT,uCAAuC,aAAa,mCAAmC,CACxF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,iDAAiD;QACjD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACjD,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;oBAChC,OAAO,QAAQ,CAAC;gBAClB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CACT,6BAA6B,QAAQ,CAAC,IAAI,mBAAmB,KAAK,EAAE,CACrE,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,OAAO,QAAQ,EAAE,IAAI,IAAI,SAAS,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB;QAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;QAEhC,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,wDAAwD;YACxD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;YAC7D,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,KAAK,GAAG,aAAa;qBACxB,KAAK,CAAC,GAAG,CAAC;qBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;qBACpB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,KAAK;oBAAE,OAAO,KAAK,CAAC;YAC1B,CAAC;YACD,OAAO,CACL,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,qBAAqB,CAAC,EAAE,IAAI;gBAC1D,cAAc,CACf,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,CACL,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,gBAAgB,CAAC,EAAE,IAAI,IAAI,eAAe,CACzE,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,CACL,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,gBAAgB,CAAC,EAAE,IAAI;gBACrD,4BAA4B,CAC7B,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACpC,OAAO,CACL,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,qBAAqB,CAAC,EAAE,IAAI;gBAC/D,qCAAqC,CACtC,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,CACL,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,gBAAgB,CAAC,EAAE,IAAI;gBACrD,kBAAkB,CACnB,CAAC;QACJ,CAAC;QACD,qBAAqB;QACrB,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,2BAA2B,CAC/B,aAAqB,EACrB,MAAc,EACd,UAAe,EAAE;QAEjB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE9C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,oCAAoC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YAEjE,IAAI,MAAc,CAAC;YAEnB,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC7B,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAoB,CAAC;gBACjD,MAAM,GAAG,MAAM,UAAU,CAAC,2BAA2B,CACnD,aAAa,EACb,MAAM,EACN,OAAO,CACR,CAAC;YACJ,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAA4B,CAAC;gBAC3D,MAAM,GAAG,MAAM,YAAY,CAAC,2BAA2B,CACrD,aAAa,EACb,MAAM,EACN,OAAO,CACR,CAAC;YACJ,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAsB,CAAC;gBACrD,MAAM,GAAG,MAAM,YAAY,CAAC,2BAA2B,CACrD,aAAa,EACb,MAAM,EACN,OAAO,CACR,CAAC;YACJ,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAsB,CAAC;gBACrD,MAAM,GAAG,MAAM,YAAY,CAAC,2BAA2B,CACrD,aAAa,EACb,MAAM,EACN,OAAO,CACR,CAAC;YACJ,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC3C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAA2B,CAAC;gBAC/D,MAAM,GAAG,MAAM,iBAAiB,CAAC,2BAA2B,CAC1D,aAAa,EACb,MAAM,EACN,OAAO,CACR,CAAC;YACJ,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAsB,CAAC;gBACrD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAC9C,gCAAgC,aAAa,qBAAqB,MAAM,EAAE,EAC1E,OAAO,CACR,CAAC;gBACF,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,wCAAwC;gBACxC,MAAM,GAAG,IAAI,CAAC,8BAA8B,CAAC,aAAa,CAAC,CAAC;YAC9D,CAAC;YAED,+BAA+B;YAC/B,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAE3D,OAAO;gBACL,IAAI;gBACJ,QAAQ,EAAE,QAAQ,CAAC,IAAI;gBACvB,WAAW;aACZ,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CACT,6BAA6B,QAAQ,CAAC,IAAI,YAAY,KAAK,CAAC,OAAO,EAAE,CACtE,CAAC;YAEF,oBAAoB;YACpB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CACtC,CAAC;YACF,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CACT,0CAA0C,YAAY,CAAC,IAAI,EAAE,CAC9D,CAAC;gBACF,OAAO,IAAI,CAAC,2BAA2B,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC1E,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CACrB,MAAc,EACd,UAAe,EAAE;QAEjB,OAAO,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,MAAc,EACd,OAAY,EACZ,kBAA4B,EAAE;QAE9B,kDAAkD;QAClD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,oCAAoC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBAEjE,IAAI,MAAc,CAAC;gBAEnB,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC7B,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAoB,CAAC;oBACjD,MAAM,GAAG,MAAM,UAAU,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC/D,CAAC;qBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAA4B,CAAC;oBAC3D,MAAM,GAAG,MAAM,YAAY,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACjE,CAAC;qBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAsB,CAAC;oBACrD,MAAM,GAAG,MAAM,YAAY,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACjE,CAAC;qBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAsB,CAAC;oBACrD,MAAM,GAAG,MAAM,YAAY,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACjE,CAAC;qBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBAC3C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAA2B,CAAC;oBAC/D,MAAM,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACtE,CAAC;qBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAsB,CAAC;oBACrD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,iBAAiB,CACnD,MAAM,EACN,OAAO,CACR,CAAC;oBACF,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;gBACzB,CAAC;qBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAyB,CAAC;oBACxD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,iBAAiB,CACnD,MAAM,EACN,OAAO,CACR,CAAC;oBACF,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;wBACzC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC;oBAC5B,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,8BAA8B,CAAC,CAAC;oBACpE,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,wCAAwC;oBACxC,MAAM,GAAG,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC;gBACvD,CAAC;gBAED,+BAA+B;gBAC/B,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBAE3D,OAAO;oBACL,IAAI;oBACJ,QAAQ,EAAE,QAAQ,CAAC,IAAI;oBACvB,WAAW;iBACZ,CAAC;YACJ,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CACT,6BAA6B,QAAQ,CAAC,IAAI,YAAY,KAAK,CAAC,OAAO,EAAE,CACtE,CAAC;gBAEF,mDAAmD;gBACnD,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAEpC,yEAAyE;gBACzE,IACE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAC7B,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAC1C,CAAC;oBACD,OAAO,CAAC,GAAG,CACT,6BAA6B,QAAQ,CAAC,IAAI,+BAA+B,CAC1E,CAAC;oBACF,SAAS;gBACX,CAAC;YACH,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,4BAA4B,UAAU,2CAA2C,CAClF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,MAAc,EACd,UAAe,EAAE;QAEjB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE9C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,IAAI,IAAY,CAAC;YAEjB,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC7B,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAoB,CAAC;gBACjD,IAAI,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACxD,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAA4B,CAAC;gBAC3D,IAAI,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC1D,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAsB,CAAC;gBACrD,IAAI,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC1D,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAsB,CAAC;gBACrD,IAAI,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC1D,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC3C,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAA2B,CAAC;gBACtD,IAAI,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC3D,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAsB,CAAC;gBACrD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAClE,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAyB,CAAC;gBACxD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAClE,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACzC,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,8BAA8B,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,wCAAwC;gBACxC,IAAI,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;YAChD,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CACT,6BAA6B,QAAQ,CAAC,IAAI,YAAY,KAAK,CAAC,OAAO,EAAE,CACtE,CAAC;YACF,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CACtC,CAAC;YACF,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CACT,0CAA0C,YAAY,CAAC,IAAI,EAAE,CAC9D,CAAC;gBACF,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC5C,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,QAAgB;QAItC,6BAA6B;QAC7B,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CACnC,sCAAsC,CACvC,CAAC;QAEF,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACtC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAElE,OAAO;gBACL,IAAI;gBACJ,WAAW,EAAE,WAAW,IAAI,SAAS;aACtC,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAC7B,qDAAqD,CACtD,CAAC;QAEF,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAE7D,OAAO;gBACL,IAAI;gBACJ,WAAW,EAAE,WAAW,IAAI,SAAS;aACtC,CAAC;QACJ,CAAC;QAED,4DAA4D;QAC5D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QAGrB,MAAM,MAAM,GAAG,EAAE,CAAC;QAElB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,SAAS;oBACT,QAAQ,EAAE,QAAQ,CAAC,QAAQ;iBAC5B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,SAAS,EAAE,KAAK;oBAChB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;iBAC5B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,MAAc;QACjC,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAC7C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAChC,CAAC;QACF,IAAI,mBAAmB,EAAE,CAAC;YACvB,mBAAmB,CAAC,MAA4B,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,MAAc;QAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACvE,IAAI,cAAc,EAAE,CAAC;YAClB,cAAc,CAAC,MAAuB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,MAAc;QAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACvE,IAAI,cAAc,EAAE,CAAC;YAClB,cAAc,CAAC,MAAuB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,MAAc;QAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACvE,IAAI,cAAc,EAAE,CAAC;YAClB,cAAc,CAAC,MAAuB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEO,8BAA8B,CAAC,MAAc;QACnD,OAAO;aACE,MAAM;;;;;;;;;;;;;;;;;0BAiBO,CAAC;IACzB,CAAC;IAEO,yBAAyB,CAAC,MAAc;QAC9C,OAAO;;;;mBAIQ,MAAM;;;;kDAIyB,CAAC;IACjD,CAAC;CACF;AA1pBD,wCA0pBC"}
@@ -0,0 +1,22 @@
1
+ export interface QwenOptions {
2
+ model?: string;
3
+ temperature?: number;
4
+ maxTokens?: number;
5
+ }
6
+ export declare class QwenClient {
7
+ private baseUrl;
8
+ private apiKey;
9
+ constructor(apiKey?: string);
10
+ hasApiKey(): boolean;
11
+ private loadTokenFromEnvFiles;
12
+ private getHeaders;
13
+ checkConnection(): Promise<boolean>;
14
+ generateText(prompt: string, options?: Partial<QwenOptions>): Promise<string>;
15
+ generateComponent(prompt: string, options?: Partial<QwenOptions>): Promise<string>;
16
+ generateComponentRefinement(componentCode: string, prompt: string, options?: Partial<QwenOptions>): Promise<string>;
17
+ private generateWithMessages;
18
+ private extractContent;
19
+ listModels(): Promise<string[]>;
20
+ setApiKey(apiKey: string): void;
21
+ }
22
+ //# sourceMappingURL=qwenClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qwenClient.d.ts","sourceRoot":"","sources":["../../src/utils/qwenClient.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,MAAM,CAAuB;gBAEzB,MAAM,CAAC,EAAE,MAAM;IAI3B,SAAS,IAAI,OAAO;IAIpB,OAAO,CAAC,qBAAqB;IAiC7B,OAAO,CAAC,UAAU;IASZ,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAgBnC,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAO,CAAC,WAAW,CAAM,GACjC,OAAO,CAAC,MAAM,CAAC;IAMZ,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAO,CAAC,WAAW,CAAM,GACjC,OAAO,CAAC,MAAM,CAAC;IAwBZ,2BAA2B,CAC/B,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAO,CAAC,WAAW,CAAM,GACjC,OAAO,CAAC,MAAM,CAAC;YA0BJ,oBAAoB;IA6ClC,OAAO,CAAC,cAAc;IAehB,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAuBrC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGhC"}
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QwenClient = void 0;
4
+ class QwenClient {
5
+ constructor(apiKey) {
6
+ this.baseUrl = "https://openrouter.ai/api/v1";
7
+ this.apiKey = null;
8
+ this.apiKey = apiKey || this.loadTokenFromEnvFiles();
9
+ }
10
+ hasApiKey() {
11
+ return !!this.apiKey;
12
+ }
13
+ loadTokenFromEnvFiles() {
14
+ // Check environment variables
15
+ const envKey = process.env.MYCONTEXT_QWEN_API_KEY || process.env.QWEN_API_KEY;
16
+ if (envKey)
17
+ return envKey;
18
+ // Check .mycontext/.env file
19
+ try {
20
+ const fs = require("fs");
21
+ const path = require("path");
22
+ const envPath = path.join(process.cwd(), ".mycontext", ".env");
23
+ if (fs.existsSync(envPath)) {
24
+ const envContent = fs.readFileSync(envPath, "utf8");
25
+ const lines = envContent.split("\n");
26
+ for (const line of lines) {
27
+ const trimmed = line.trim();
28
+ if (trimmed.startsWith("MYCONTEXT_QWEN_API_KEY=")) {
29
+ const key = trimmed.split("=")[1]?.trim();
30
+ if (key && !key.startsWith("$")) {
31
+ return key;
32
+ }
33
+ }
34
+ }
35
+ }
36
+ }
37
+ catch (error) {
38
+ // Ignore file read errors
39
+ }
40
+ return null;
41
+ }
42
+ getHeaders() {
43
+ return {
44
+ Authorization: `Bearer ${this.apiKey}`,
45
+ "Content-Type": "application/json",
46
+ "HTTP-Referer": "https://mycontext.fbien.com",
47
+ "X-Title": "MyContext CLI",
48
+ };
49
+ }
50
+ async checkConnection() {
51
+ if (!this.apiKey)
52
+ return false;
53
+ try {
54
+ const response = await fetch(`${this.baseUrl}/models`, {
55
+ method: "GET",
56
+ headers: this.getHeaders(),
57
+ signal: AbortSignal.timeout(10000),
58
+ });
59
+ return response.ok;
60
+ }
61
+ catch (error) {
62
+ return false;
63
+ }
64
+ }
65
+ async generateText(prompt, options = {}) {
66
+ const messages = [{ role: "user", content: prompt }];
67
+ return this.generateWithMessages(messages, options);
68
+ }
69
+ async generateComponent(prompt, options = {}) {
70
+ const systemPrompt = `You are an expert React/Next.js developer specializing in creating production-ready components using TypeScript, Tailwind CSS, and shadcn/ui.
71
+
72
+ Key requirements:
73
+ - Use TypeScript with proper type definitions
74
+ - Import shadcn/ui components from '@/components/ui/<component>'
75
+ - Use Tailwind CSS for styling with design tokens
76
+ - Follow Next.js App Router patterns (Server Components by default, "use client" when needed)
77
+ - Include proper accessibility attributes
78
+ - Add comprehensive JSDoc comments
79
+ - Export both named and default exports
80
+ - Include action functions as separate exports
81
+ - Use proper error handling and loading states
82
+
83
+ Generate clean, production-ready React component code.`;
84
+ const messages = [
85
+ { role: "system", content: systemPrompt },
86
+ { role: "user", content: prompt },
87
+ ];
88
+ return this.generateWithMessages(messages, options);
89
+ }
90
+ async generateComponentRefinement(componentCode, prompt, options = {}) {
91
+ const systemPrompt = `You are an expert React/Next.js developer specializing in refining and improving existing components.
92
+
93
+ Key requirements:
94
+ - Maintain TypeScript type safety
95
+ - Preserve existing functionality while improving code quality
96
+ - Use shadcn/ui components from '@/components/ui/<component>'
97
+ - Apply Tailwind CSS best practices
98
+ - Improve accessibility and performance
99
+ - Add proper error handling and loading states
100
+ - Maintain consistent code style
101
+ - Add comprehensive JSDoc comments where missing
102
+
103
+ Refine the provided component code based on the user's request.`;
104
+ const messages = [
105
+ { role: "system", content: systemPrompt },
106
+ {
107
+ role: "user",
108
+ content: `Current component code:\n\`\`\`tsx\n${componentCode}\n\`\`\`\n\nRefinement request: ${prompt}`,
109
+ },
110
+ ];
111
+ return this.generateWithMessages(messages, options);
112
+ }
113
+ async generateWithMessages(messages, options = {}) {
114
+ if (!this.apiKey) {
115
+ throw new Error("Qwen API key not found. Set MYCONTEXT_QWEN_API_KEY environment variable.");
116
+ }
117
+ const model = options.model || "qwen/qwen3-coder:free";
118
+ const temperature = options.temperature ?? 0.2;
119
+ const maxTokens = Math.min(options.maxTokens ?? 4000, 4000);
120
+ try {
121
+ const response = await fetch(`${this.baseUrl}/chat/completions`, {
122
+ method: "POST",
123
+ headers: this.getHeaders(),
124
+ body: JSON.stringify({
125
+ model,
126
+ messages,
127
+ temperature,
128
+ max_tokens: maxTokens,
129
+ stream: false,
130
+ }),
131
+ signal: AbortSignal.timeout(60000),
132
+ });
133
+ if (!response.ok) {
134
+ const errorText = await response.text();
135
+ throw new Error(`Qwen API error: ${response.status} ${response.statusText} - ${errorText}`);
136
+ }
137
+ const data = await response.json();
138
+ return this.extractContent(data);
139
+ }
140
+ catch (error) {
141
+ if (error instanceof Error) {
142
+ throw new Error(`Qwen generation failed: ${error.message}`);
143
+ }
144
+ throw new Error("Qwen generation failed: Unknown error");
145
+ }
146
+ }
147
+ extractContent(response) {
148
+ try {
149
+ if (response.choices &&
150
+ response.choices[0] &&
151
+ response.choices[0].message) {
152
+ return response.choices[0].message.content || "";
153
+ }
154
+ return "";
155
+ }
156
+ catch (error) {
157
+ return "";
158
+ }
159
+ }
160
+ async listModels() {
161
+ if (!this.apiKey)
162
+ return [];
163
+ try {
164
+ const response = await fetch(`${this.baseUrl}/models`, {
165
+ method: "GET",
166
+ headers: this.getHeaders(),
167
+ signal: AbortSignal.timeout(10000),
168
+ });
169
+ if (!response.ok)
170
+ return [];
171
+ const data = (await response.json());
172
+ return (data.data
173
+ ?.map((model) => model.id)
174
+ .filter((id) => id.includes("qwen")) || []);
175
+ }
176
+ catch (error) {
177
+ return [];
178
+ }
179
+ }
180
+ setApiKey(apiKey) {
181
+ this.apiKey = apiKey;
182
+ }
183
+ }
184
+ exports.QwenClient = QwenClient;
185
+ //# sourceMappingURL=qwenClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qwenClient.js","sourceRoot":"","sources":["../../src/utils/qwenClient.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mycontext-cli",
3
- "version": "0.4.20",
3
+ "version": "1.0.2",
4
4
  "description": "mycontext CLI - AI-powered component generation with shadcn/ui and Next.js 15 integration",
5
5
  "main": "dist/cli.js",
6
6
  "bin": {