vigthoria-cli 1.1.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +85 -2
  2. package/SECURITY_HARDENING.md +253 -0
  3. package/dist/commands/chat.d.ts +2 -2
  4. package/dist/commands/chat.js +4 -4
  5. package/dist/commands/chat.js.map +1 -1
  6. package/dist/commands/deploy.d.ts +80 -0
  7. package/dist/commands/deploy.d.ts.map +1 -0
  8. package/dist/commands/deploy.js +514 -0
  9. package/dist/commands/deploy.js.map +1 -0
  10. package/dist/commands/generate.d.ts +3 -0
  11. package/dist/commands/generate.d.ts.map +1 -1
  12. package/dist/commands/generate.js +45 -4
  13. package/dist/commands/generate.js.map +1 -1
  14. package/dist/commands/hub.d.ts +40 -0
  15. package/dist/commands/hub.d.ts.map +1 -0
  16. package/dist/commands/hub.js +289 -0
  17. package/dist/commands/hub.js.map +1 -0
  18. package/dist/commands/repo.d.ts +80 -0
  19. package/dist/commands/repo.d.ts.map +1 -0
  20. package/dist/commands/repo.js +607 -0
  21. package/dist/commands/repo.js.map +1 -0
  22. package/dist/index.d.ts +1 -0
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +267 -10
  25. package/dist/index.js.map +1 -1
  26. package/dist/utils/api.d.ts +15 -0
  27. package/dist/utils/api.d.ts.map +1 -1
  28. package/dist/utils/api.js +62 -33
  29. package/dist/utils/api.js.map +1 -1
  30. package/dist/utils/config.js +1 -1
  31. package/dist/utils/config.js.map +1 -1
  32. package/dist/utils/session.d.ts +1 -1
  33. package/dist/utils/session.js +1 -1
  34. package/dist/utils/tools.d.ts +18 -3
  35. package/dist/utils/tools.d.ts.map +1 -1
  36. package/dist/utils/tools.js +326 -20
  37. package/dist/utils/tools.js.map +1 -1
  38. package/install.sh +1 -1
  39. package/package.json +6 -3
  40. package/src/commands/chat.ts +4 -4
  41. package/src/commands/deploy.ts +609 -0
  42. package/src/commands/generate.ts +49 -4
  43. package/src/commands/hub.ts +382 -0
  44. package/src/commands/repo.ts +729 -0
  45. package/src/index.ts +297 -10
  46. package/src/utils/api.ts +78 -34
  47. package/src/utils/config.ts +1 -1
  48. package/src/utils/session.ts +1 -1
  49. package/src/utils/tools.ts +348 -21
package/dist/index.js CHANGED
@@ -12,6 +12,7 @@
12
12
  * vigthoria review <file> - Review code quality
13
13
  * vigthoria login - Authenticate with Vigthoria
14
14
  * vigthoria config - Configure settings
15
+ * vigthoria hub - Discover & activate API modules
15
16
  */
16
17
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17
18
  if (k2 === undefined) k2 = k;
@@ -58,6 +59,9 @@ const explain_js_1 = require("./commands/explain.js");
58
59
  const auth_js_1 = require("./commands/auth.js");
59
60
  const config_js_1 = require("./commands/config.js");
60
61
  const review_js_1 = require("./commands/review.js");
62
+ const hub_js_1 = require("./commands/hub.js");
63
+ const repo_js_1 = require("./commands/repo.js");
64
+ const deploy_js_1 = require("./commands/deploy.js");
61
65
  const config_js_2 = require("./utils/config.js");
62
66
  const logger_js_1 = require("./utils/logger.js");
63
67
  const chalk_1 = __importDefault(require("chalk"));
@@ -84,20 +88,47 @@ function getVersion() {
84
88
  catch (e) {
85
89
  // Fallback to hardcoded version
86
90
  }
87
- return '1.0.1';
91
+ return '1.4.0';
88
92
  }
89
93
  const VERSION = getVersion();
94
+ /**
95
+ * Compare semantic versions properly
96
+ * Returns: -1 if v1 < v2, 0 if equal, 1 if v1 > v2
97
+ */
98
+ function compareVersions(v1, v2) {
99
+ const parts1 = v1.split('.').map(Number);
100
+ const parts2 = v2.split('.').map(Number);
101
+ for (let i = 0; i < Math.max(parts1.length, parts2.length); i++) {
102
+ const p1 = parts1[i] || 0;
103
+ const p2 = parts2[i] || 0;
104
+ if (p1 < p2)
105
+ return -1;
106
+ if (p1 > p2)
107
+ return 1;
108
+ }
109
+ return 0;
110
+ }
90
111
  // Check for updates silently on startup (non-blocking)
91
112
  async function checkForUpdatesQuietly() {
92
113
  try {
93
114
  const { execSync } = await import('child_process');
94
- const latestVersion = execSync('npm view vigthoria-cli version 2>/dev/null', {
115
+ const npmVersion = execSync('npm view vigthoria-cli version 2>/dev/null', {
95
116
  encoding: 'utf8',
96
117
  timeout: 5000
97
118
  }).trim();
98
- if (latestVersion && latestVersion !== VERSION) {
99
- console.log(chalk_1.default.yellow(`\nšŸ“¦ Update available: ${VERSION} → ${latestVersion}`));
100
- console.log(chalk_1.default.gray(' Run `vigthoria update` to install\n'));
119
+ // Only show update message if npm version is NEWER than current (not older)
120
+ if (npmVersion && compareVersions(npmVersion, VERSION) > 0) {
121
+ // Check if this is a security update (1.4.0+)
122
+ if (compareVersions(npmVersion, '1.4.0') >= 0 && compareVersions(VERSION, '1.4.0') < 0) {
123
+ console.log(chalk_1.default.red.bold('\nāš ļø SECURITY UPDATE AVAILABLE'));
124
+ console.log(chalk_1.default.red(` Version ${VERSION} has security vulnerabilities.`));
125
+ console.log(chalk_1.default.yellow(` Please update to ${npmVersion} immediately:`));
126
+ console.log(chalk_1.default.white.bold(' npm install -g vigthoria-cli@latest\n'));
127
+ }
128
+ else {
129
+ console.log(chalk_1.default.yellow(`\nšŸ“¦ Update available: ${VERSION} → ${npmVersion}`));
130
+ console.log(chalk_1.default.gray(' Run `vigthoria update` to install\n'));
131
+ }
101
132
  }
102
133
  }
103
134
  catch {
@@ -128,14 +159,15 @@ async function main() {
128
159
  .name('vigthoria')
129
160
  .description('AI-powered terminal coding assistant for Vigthoria Coder subscribers')
130
161
  .version(VERSION);
131
- // Chat command - Interactive mode
162
+ // Chat command - Interactive mode (Agent mode is default for best results)
132
163
  program
133
164
  .command('chat')
134
165
  .alias('c')
135
166
  .description('Start interactive chat with Vigthoria AI')
136
- .option('-m, --model <model>', 'Select AI model (fast, balanced, code, creative)', 'balanced')
167
+ .option('-m, --model <model>', 'Select AI model (fast, balanced, code, creative)', 'code')
137
168
  .option('-p, --project <path>', 'Set project context path', process.cwd())
138
- .option('-a, --agent', 'Enable agentic mode (Claude Code-like autonomous actions)', false)
169
+ .option('-a, --agent', 'Enable agentic mode (default: true for best quality)', true)
170
+ .option('--no-agent', 'Disable agentic mode (simple chat only)')
139
171
  .option('-r, --resume', 'Resume last session for this project', false)
140
172
  .option('--auto-approve', 'Auto-approve agent actions (dangerous!)', false)
141
173
  .action(async (options) => {
@@ -148,7 +180,7 @@ async function main() {
148
180
  resume: options.resume,
149
181
  });
150
182
  });
151
- // Agent command - Agentic mode (Claude Code-like)
183
+ // Agent command - Agentic mode (Vigthoria Autonomous)
152
184
  program
153
185
  .command('agent')
154
186
  .alias('a')
@@ -181,9 +213,10 @@ async function main() {
181
213
  .command('generate <description>')
182
214
  .alias('g')
183
215
  .description('Generate code from description')
184
- .option('-l, --language <lang>', 'Target language', 'typescript')
216
+ .option('-l, --language <lang>', 'Target language (html, typescript, python, etc.)', 'html')
185
217
  .option('-o, --output <file>', 'Output file path')
186
218
  .option('-m, --model <model>', 'Select AI model', 'code')
219
+ .option('-p, --pro', 'Senior Developer Mode: plan, generate, quality check (recommended)', false)
187
220
  .action(async (description, options) => {
188
221
  const generate = new generate_js_1.GenerateCommand(config, logger);
189
222
  await generate.run(description, options);
@@ -220,6 +253,230 @@ async function main() {
220
253
  const review = new review_js_1.ReviewCommand(config, logger);
221
254
  await review.run(file, options);
222
255
  });
256
+ // ==================== HUB / MARKETPLACE COMMANDS ====================
257
+ // Hub command - Discover and activate API modules
258
+ const hubCommand = program
259
+ .command('hub')
260
+ .alias('marketplace')
261
+ .description('Discover, search, and activate Vigthoria API modules');
262
+ hubCommand
263
+ .command('discover')
264
+ .alias('d')
265
+ .description('Interactive module discovery - find the right APIs for your project')
266
+ .action(async () => {
267
+ const hub = new hub_js_1.HubCommand(config, logger);
268
+ await hub.discover();
269
+ });
270
+ hubCommand
271
+ .command('list')
272
+ .alias('ls')
273
+ .description('List all available API modules')
274
+ .option('-c, --category <category>', 'Filter by category (payments, communication, ai, creative, media)')
275
+ .action(async (options) => {
276
+ const hub = new hub_js_1.HubCommand(config, logger);
277
+ await hub.list(options);
278
+ });
279
+ hubCommand
280
+ .command('search <query>')
281
+ .alias('find')
282
+ .description('Semantic search for modules (e.g., "generate background music for my app")')
283
+ .action(async (query) => {
284
+ const hub = new hub_js_1.HubCommand(config, logger);
285
+ await hub.search(query);
286
+ });
287
+ hubCommand
288
+ .command('activate <module>')
289
+ .alias('enable')
290
+ .description('Activate a module for your API key (enables pay-as-you-go)')
291
+ .action(async (module) => {
292
+ const hub = new hub_js_1.HubCommand(config, logger);
293
+ await hub.activate(module);
294
+ });
295
+ hubCommand
296
+ .command('active')
297
+ .description('Show your currently active modules')
298
+ .action(async () => {
299
+ const hub = new hub_js_1.HubCommand(config, logger);
300
+ await hub.active();
301
+ });
302
+ hubCommand
303
+ .command('info <module>')
304
+ .alias('details')
305
+ .description('Get detailed information about a module')
306
+ .action(async (module) => {
307
+ const hub = new hub_js_1.HubCommand(config, logger);
308
+ await hub.info(module);
309
+ });
310
+ // Default hub action shows discover
311
+ hubCommand.action(async () => {
312
+ const hub = new hub_js_1.HubCommand(config, logger);
313
+ await hub.discover();
314
+ });
315
+ // ==================== REPO COMMANDS ====================
316
+ // Repo command - Push/Pull projects to/from Vigthoria Repository
317
+ const repoCommand = program
318
+ .command('repo')
319
+ .alias('repository')
320
+ .description('Push and pull projects to/from your Vigthoria Repository');
321
+ repoCommand
322
+ .command('push [path]')
323
+ .alias('upload')
324
+ .description('Push current or specified project to Vigthoria Repo')
325
+ .option('-v, --visibility <type>', 'Set visibility (private, restricted, public)', 'private')
326
+ .option('-d, --description <text>', 'Project description')
327
+ .option('-f, --force', 'Overwrite existing project', false)
328
+ .action(async (pathArg, options) => {
329
+ const repo = new repo_js_1.RepoCommand(config, logger);
330
+ await repo.push({
331
+ path: pathArg,
332
+ visibility: options.visibility,
333
+ description: options.description,
334
+ force: options.force
335
+ });
336
+ });
337
+ repoCommand
338
+ .command('pull <name>')
339
+ .alias('download')
340
+ .description('Pull a project from your Vigthoria Repo')
341
+ .option('-o, --output <path>', 'Output directory path')
342
+ .option('-f, --force', 'Overwrite existing directory', false)
343
+ .action(async (name, options) => {
344
+ const repo = new repo_js_1.RepoCommand(config, logger);
345
+ await repo.pull(name, {
346
+ output: options.output,
347
+ force: options.force
348
+ });
349
+ });
350
+ repoCommand
351
+ .command('list')
352
+ .alias('ls')
353
+ .description('List all your projects in Vigthoria Repo')
354
+ .option('-v, --visibility <type>', 'Filter by visibility (private, restricted, public)')
355
+ .action(async (options) => {
356
+ const repo = new repo_js_1.RepoCommand(config, logger);
357
+ await repo.list({ visibility: options.visibility });
358
+ });
359
+ repoCommand
360
+ .command('status')
361
+ .description('Show sync status of current project')
362
+ .action(async () => {
363
+ const repo = new repo_js_1.RepoCommand(config, logger);
364
+ await repo.status();
365
+ });
366
+ repoCommand
367
+ .command('share <name>')
368
+ .description('Generate a shareable link for a project')
369
+ .option('-e, --expires <duration>', 'Link expiration (e.g., 7d, 24h, 30m)', '7d')
370
+ .action(async (name, options) => {
371
+ const repo = new repo_js_1.RepoCommand(config, logger);
372
+ await repo.share(name, { expires: options.expires });
373
+ });
374
+ repoCommand
375
+ .command('delete <name>')
376
+ .alias('rm')
377
+ .description('Remove a project from your Vigthoria Repo')
378
+ .action(async (name) => {
379
+ const repo = new repo_js_1.RepoCommand(config, logger);
380
+ await repo.delete(name);
381
+ });
382
+ repoCommand
383
+ .command('clone <url>')
384
+ .description('Clone a public project from Vigthoria Repo')
385
+ .option('-o, --output <path>', 'Output directory path')
386
+ .option('-f, --force', 'Overwrite existing directory', false)
387
+ .action(async (url, options) => {
388
+ const repo = new repo_js_1.RepoCommand(config, logger);
389
+ await repo.clone(url, {
390
+ output: options.output,
391
+ force: options.force
392
+ });
393
+ });
394
+ // Default repo action shows list
395
+ repoCommand.action(async () => {
396
+ const repo = new repo_js_1.RepoCommand(config, logger);
397
+ await repo.list({});
398
+ });
399
+ // ==================== DEPLOY COMMANDS ====================
400
+ // Deploy command - Host projects on Vigthoria
401
+ const deployCommand = program
402
+ .command('deploy')
403
+ .alias('host')
404
+ .description('Deploy and host your project on Vigthoria infrastructure');
405
+ deployCommand
406
+ .command('preview')
407
+ .description('Deploy to free preview URL')
408
+ .option('-p, --project <path>', 'Project directory path', process.cwd())
409
+ .action(async (options) => {
410
+ const deploy = new deploy_js_1.DeployCommand(config, logger);
411
+ await deploy.deployToPreview(options.project);
412
+ });
413
+ deployCommand
414
+ .command('subdomain <name>')
415
+ .description('Deploy to yourname.vigthoria.io')
416
+ .option('-p, --project <path>', 'Project directory path', process.cwd())
417
+ .action(async (name, options) => {
418
+ const deploy = new deploy_js_1.DeployCommand(config, logger);
419
+ await deploy.deployToSubdomain(name, options.project);
420
+ });
421
+ deployCommand
422
+ .command('custom <domain>')
423
+ .description('Deploy to your custom domain')
424
+ .option('-p, --project <path>', 'Project directory path', process.cwd())
425
+ .action(async (domain, options) => {
426
+ const deploy = new deploy_js_1.DeployCommand(config, logger);
427
+ await deploy.deployToCustomDomain(domain, options.project);
428
+ });
429
+ deployCommand
430
+ .command('list')
431
+ .alias('ls')
432
+ .description('List all your deployments')
433
+ .action(async () => {
434
+ const deploy = new deploy_js_1.DeployCommand(config, logger);
435
+ await deploy.list();
436
+ });
437
+ deployCommand
438
+ .command('plans')
439
+ .description('Show hosting plans and pricing')
440
+ .action(async () => {
441
+ const deploy = new deploy_js_1.DeployCommand(config, logger);
442
+ await deploy.showPlans();
443
+ });
444
+ deployCommand
445
+ .command('status [domain]')
446
+ .description('Check deployment status')
447
+ .action(async (domain) => {
448
+ const deploy = new deploy_js_1.DeployCommand(config, logger);
449
+ await deploy.status(domain);
450
+ });
451
+ deployCommand
452
+ .command('verify <domain>')
453
+ .description('Verify DNS configuration for custom domain')
454
+ .action(async (domain) => {
455
+ const deploy = new deploy_js_1.DeployCommand(config, logger);
456
+ await deploy.verify(domain);
457
+ });
458
+ deployCommand
459
+ .command('remove <domain>')
460
+ .alias('rm')
461
+ .description('Remove a deployment')
462
+ .action(async (domain) => {
463
+ const deploy = new deploy_js_1.DeployCommand(config, logger);
464
+ await deploy.remove(domain);
465
+ });
466
+ // Default deploy action shows interactive wizard
467
+ deployCommand
468
+ .option('-s, --subdomain <name>', 'Deploy to subdomain')
469
+ .option('-d, --domain <domain>', 'Deploy to custom domain')
470
+ .option('-p, --project <path>', 'Project directory path', process.cwd())
471
+ .action(async (options) => {
472
+ const deploy = new deploy_js_1.DeployCommand(config, logger);
473
+ await deploy.deploy({
474
+ subdomain: options.subdomain,
475
+ domain: options.domain,
476
+ project: options.project
477
+ });
478
+ });
479
+ // ==================== AUTH COMMANDS ====================
223
480
  // Auth commands
224
481
  program
225
482
  .command('login')
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AACA;;;;;;;;;;;;;GAaG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,yCAAoC;AACpC,gDAAiD;AACjD,gDAAiD;AACjD,wDAAyD;AACzD,sDAAuD;AACvD,gDAAiD;AACjD,oDAAqD;AACrD,oDAAqD;AACrD,8CAA+C;AAC/C,gDAAiD;AACjD,oDAAqD;AACrD,iDAA2C;AAC3C,iDAA2C;AAC3C,kDAA0B;AAC1B,uCAAyB;AACzB,2CAA6B;AAE7B,4CAA4C;AAC5C,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,0CAA0C;QAC1C,MAAM,aAAa,GAAG;YACpB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,CAAC;SAC1E,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9B,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;gBACnD,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBACjC,OAAO,GAAG,CAAC,OAAO,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,gCAAgC;IAClC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AACD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;AAE7B;;;GAGG;AACH,SAAS,eAAe,CAAC,EAAU,EAAE,EAAU;IAC7C,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChE,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,EAAE,GAAG,EAAE;YAAE,OAAO,CAAC,CAAC,CAAC;QACvB,IAAI,EAAE,GAAG,EAAE;YAAE,OAAO,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,uDAAuD;AACvD,KAAK,UAAU,sBAAsB;IACnC,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,QAAQ,CAAC,4CAA4C,EAAE;YACxE,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,IAAI;SACd,CAAC,CAAC,IAAI,EAAE,CAAC;QAEV,4EAA4E;QAC5E,IAAI,UAAU,IAAI,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3D,8CAA8C;YAC9C,IAAI,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;gBAC/D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,cAAc,OAAO,gCAAgC,CAAC,CAAC,CAAC;gBAC9E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,uBAAuB,UAAU,eAAe,CAAC,CAAC,CAAC;gBAC5E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;YAC5E,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,0BAA0B,OAAO,MAAM,UAAU,EAAE,CAAC,CAAC,CAAC;gBAC/E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uDAAuD;IACzD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,IAAI,kBAAM,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,IAAI,kBAAM,EAAE,CAAC;IAE5B,+CAA+C;IAC/C,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,sBAAsB;IAC3C,MAAM,SAAS,GAAG,6CAA6C,CAAC;IAChE,MAAM,WAAW,GAAG,WAAW,OAAO,EAAE,CAAC;IAEzC,kCAAkC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAEvE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9M,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3J,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,+CAA+C;IAC/C,sBAAsB,EAAE,CAAC;IAEzB,OAAO;SACJ,IAAI,CAAC,WAAW,CAAC;SACjB,WAAW,CAAC,sEAAsE,CAAC;SACnF,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB,2EAA2E;IAC3E,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,KAAK,CAAC,GAAG,CAAC;SACV,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,qBAAqB,EAAE,kDAAkD,EAAE,MAAM,CAAC;SACzF,MAAM,CAAC,sBAAsB,EAAE,0BAA0B,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SACzE,MAAM,CAAC,aAAa,EAAE,sDAAsD,EAAE,IAAI,CAAC;SACnF,MAAM,CAAC,YAAY,EAAE,yCAAyC,CAAC;SAC/D,MAAM,CAAC,cAAc,EAAE,sCAAsC,EAAE,KAAK,CAAC;SACrE,MAAM,CAAC,gBAAgB,EAAE,yCAAyC,EAAE,KAAK,CAAC;SAC1E,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,IAAI,qBAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,CAAC;YACb,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,sDAAsD;IACtD,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,KAAK,CAAC,GAAG,CAAC;SACV,WAAW,CAAC,4DAA4D,CAAC;SACzE,MAAM,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,CAAC;SACxD,MAAM,CAAC,sBAAsB,EAAE,0BAA0B,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SACzE,MAAM,CAAC,gBAAgB,EAAE,uCAAuC,EAAE,KAAK,CAAC;SACxE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,IAAI,qBAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,CAAC;YACb,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,oCAAoC;IACpC,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,KAAK,CAAC,GAAG,CAAC;SACV,WAAW,CAAC,gCAAgC,CAAC;SAC7C,MAAM,CAAC,0BAA0B,EAAE,qBAAqB,CAAC;SACzD,MAAM,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,CAAC;SACxD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,IAAI,qBAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEL,mCAAmC;IACnC,OAAO;SACJ,OAAO,CAAC,wBAAwB,CAAC;SACjC,KAAK,CAAC,GAAG,CAAC;SACV,WAAW,CAAC,gCAAgC,CAAC;SAC7C,MAAM,CAAC,uBAAuB,EAAE,kDAAkD,EAAE,MAAM,CAAC;SAC3F,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;SACjD,MAAM,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,CAAC;SACxD,MAAM,CAAC,WAAW,EAAE,oEAAoE,EAAE,KAAK,CAAC;SAChG,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE;QACrC,MAAM,QAAQ,GAAG,IAAI,6BAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrD,MAAM,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEL,iCAAiC;IACjC,OAAO;SACJ,OAAO,CAAC,gBAAgB,CAAC;SACzB,KAAK,CAAC,GAAG,CAAC;SACV,WAAW,CAAC,wBAAwB,CAAC;SACrC,MAAM,CAAC,qBAAqB,EAAE,yBAAyB,CAAC;SACxD,MAAM,CAAC,sBAAsB,EAAE,wCAAwC,EAAE,QAAQ,CAAC;SAClF,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAC9B,MAAM,OAAO,GAAG,IAAI,2BAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEL,gCAAgC;IAChC,OAAO;SACJ,OAAO,CAAC,YAAY,CAAC;SACrB,KAAK,CAAC,GAAG,CAAC;SACV,WAAW,CAAC,sBAAsB,CAAC;SACnC,MAAM,CAAC,mBAAmB,EAAE,+CAA+C,EAAE,MAAM,CAAC;SACpF,MAAM,CAAC,SAAS,EAAE,2BAA2B,EAAE,KAAK,CAAC;SACrD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,IAAI,qBAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEL,+BAA+B;IAC/B,OAAO;SACJ,OAAO,CAAC,eAAe,CAAC;SACxB,KAAK,CAAC,GAAG,CAAC;SACV,WAAW,CAAC,qBAAqB,CAAC;SAClC,MAAM,CAAC,uBAAuB,EAAE,sCAAsC,EAAE,MAAM,CAAC;SAC/E,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAC9B,MAAM,MAAM,GAAG,IAAI,yBAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEL,uEAAuE;IAEvE,kDAAkD;IAClD,MAAM,UAAU,GAAG,OAAO;SACvB,OAAO,CAAC,KAAK,CAAC;SACd,KAAK,CAAC,aAAa,CAAC;SACpB,WAAW,CAAC,sDAAsD,CAAC,CAAC;IAEvE,UAAU;SACP,OAAO,CAAC,UAAU,CAAC;SACnB,KAAK,CAAC,GAAG,CAAC;SACV,WAAW,CAAC,qEAAqE,CAAC;SAClF,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,GAAG,GAAG,IAAI,mBAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEL,UAAU;SACP,OAAO,CAAC,MAAM,CAAC;SACf,KAAK,CAAC,IAAI,CAAC;SACX,WAAW,CAAC,gCAAgC,CAAC;SAC7C,MAAM,CAAC,2BAA2B,EAAE,mEAAmE,CAAC;SACxG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,GAAG,GAAG,IAAI,mBAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEL,UAAU;SACP,OAAO,CAAC,gBAAgB,CAAC;SACzB,KAAK,CAAC,MAAM,CAAC;SACb,WAAW,CAAC,4EAA4E,CAAC;SACzF,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACtB,MAAM,GAAG,GAAG,IAAI,mBAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEL,UAAU;SACP,OAAO,CAAC,mBAAmB,CAAC;SAC5B,KAAK,CAAC,QAAQ,CAAC;SACf,WAAW,CAAC,4DAA4D,CAAC;SACzE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACvB,MAAM,GAAG,GAAG,IAAI,mBAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEL,UAAU;SACP,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,oCAAoC,CAAC;SACjD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,GAAG,GAAG,IAAI,mBAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEL,UAAU;SACP,OAAO,CAAC,eAAe,CAAC;SACxB,KAAK,CAAC,SAAS,CAAC;SAChB,WAAW,CAAC,yCAAyC,CAAC;SACtD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACvB,MAAM,GAAG,GAAG,IAAI,mBAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEL,oCAAoC;IACpC,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QAC3B,MAAM,GAAG,GAAG,IAAI,mBAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,0DAA0D;IAE1D,iEAAiE;IACjE,MAAM,WAAW,GAAG,OAAO;SACxB,OAAO,CAAC,MAAM,CAAC;SACf,KAAK,CAAC,YAAY,CAAC;SACnB,WAAW,CAAC,0DAA0D,CAAC,CAAC;IAE3E,WAAW;SACR,OAAO,CAAC,aAAa,CAAC;SACtB,KAAK,CAAC,QAAQ,CAAC;SACf,WAAW,CAAC,qDAAqD,CAAC;SAClE,MAAM,CAAC,yBAAyB,EAAE,8CAA8C,EAAE,SAAS,CAAC;SAC5F,MAAM,CAAC,0BAA0B,EAAE,qBAAqB,CAAC;SACzD,MAAM,CAAC,aAAa,EAAE,4BAA4B,EAAE,KAAK,CAAC;SAC1D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,IAAI,qBAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,WAAW;SACR,OAAO,CAAC,aAAa,CAAC;SACtB,KAAK,CAAC,UAAU,CAAC;SACjB,WAAW,CAAC,yCAAyC,CAAC;SACtD,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,CAAC;SACtD,MAAM,CAAC,aAAa,EAAE,8BAA8B,EAAE,KAAK,CAAC;SAC5D,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,IAAI,qBAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,WAAW;SACR,OAAO,CAAC,MAAM,CAAC;SACf,KAAK,CAAC,IAAI,CAAC;SACX,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,yBAAyB,EAAE,oDAAoD,CAAC;SACvF,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,IAAI,qBAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEL,WAAW;SACR,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,IAAI,GAAG,IAAI,qBAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEL,WAAW;SACR,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,yCAAyC,CAAC;SACtD,MAAM,CAAC,0BAA0B,EAAE,sCAAsC,EAAE,IAAI,CAAC;SAChF,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,IAAI,qBAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEL,WAAW;SACR,OAAO,CAAC,eAAe,CAAC;SACxB,KAAK,CAAC,IAAI,CAAC;SACX,WAAW,CAAC,2CAA2C,CAAC;SACxD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,IAAI,GAAG,IAAI,qBAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEL,WAAW;SACR,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,CAAC;SACtD,MAAM,CAAC,aAAa,EAAE,8BAA8B,EAAE,KAAK,CAAC;SAC5D,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,IAAI,qBAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,iCAAiC;IACjC,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QAC5B,MAAM,IAAI,GAAG,IAAI,qBAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,4DAA4D;IAE5D,8CAA8C;IAC9C,MAAM,aAAa,GAAG,OAAO;SAC1B,OAAO,CAAC,QAAQ,CAAC;SACjB,KAAK,CAAC,MAAM,CAAC;SACb,WAAW,CAAC,0DAA0D,CAAC,CAAC;IAE3E,aAAa;SACV,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,4BAA4B,CAAC;SACzC,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SACvE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,IAAI,yBAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEL,aAAa;SACV,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,iCAAiC,CAAC;SAC9C,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SACvE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QAC9B,MAAM,MAAM,GAAG,IAAI,yBAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEL,aAAa;SACV,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,8BAA8B,CAAC;SAC3C,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SACvE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;QAChC,MAAM,MAAM,GAAG,IAAI,yBAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEL,aAAa;SACV,OAAO,CAAC,MAAM,CAAC;SACf,KAAK,CAAC,IAAI,CAAC;SACX,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,MAAM,GAAG,IAAI,yBAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEL,aAAa;SACV,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,gCAAgC,CAAC;SAC7C,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,MAAM,GAAG,IAAI,yBAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEL,aAAa;SACV,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,yBAAyB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACvB,MAAM,MAAM,GAAG,IAAI,yBAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEL,aAAa;SACV,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACvB,MAAM,MAAM,GAAG,IAAI,yBAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEL,aAAa;SACV,OAAO,CAAC,iBAAiB,CAAC;SAC1B,KAAK,CAAC,IAAI,CAAC;SACX,WAAW,CAAC,qBAAqB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACvB,MAAM,MAAM,GAAG,IAAI,yBAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEL,iDAAiD;IACjD,aAAa;SACV,MAAM,CAAC,wBAAwB,EAAE,qBAAqB,CAAC;SACvD,MAAM,CAAC,uBAAuB,EAAE,yBAAyB,CAAC;SAC1D,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SACvE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,IAAI,yBAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,CAAC,MAAM,CAAC;YAClB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,0DAA0D;IAE1D,gBAAgB;IAChB,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,0BAA0B,CAAC;SACvC,MAAM,CAAC,qBAAqB,EAAE,WAAW,CAAC;SAC1C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,IAAI,qBAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,6BAA6B,CAAC;SAC1C,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,IAAI,GAAG,IAAI,qBAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,IAAI,GAAG,IAAI,qBAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEL,iBAAiB;IACjB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,uBAAuB,EAAE,2BAA2B,CAAC;SAC5D,MAAM,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;SACtD,MAAM,CAAC,YAAY,EAAE,mBAAmB,CAAC;SACzC,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;SAC1C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,SAAS,GAAG,IAAI,yBAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEL,iDAAiD;IACjD,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,KAAK,CAAC,SAAS,CAAC;SAChB,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,aAAa,EAAE,wCAAwC,CAAC;SAC/D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;QAEnD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;QAEtD,IAAI,CAAC;YACH,8BAA8B;YAC9B,MAAM,aAAa,GAAG,QAAQ,CAAC,gCAAgC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9F,MAAM,cAAc,GAAG,OAAO,CAAC;YAE/B,IAAI,aAAa,KAAK,cAAc,EAAE,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,yCAAyC,cAAc,GAAG,CAAC,CAAC,CAAC;gBACrF,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,wBAAwB,cAAc,MAAM,aAAa,EAAE,CAAC,CAAC,CAAC;YAEvF,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC,CAAC;gBACxE,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;YACnD,QAAQ,CAAC,qCAAqC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAEtE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,wBAAwB,aAAa,EAAE,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC,CAAC;QAE3E,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,oCAAoC;IACpC,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,yCAAyC,CAAC;SACtD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,SAAS,GAAG,IAAI,yBAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEL,gCAAgC;IAChC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,qBAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -62,6 +62,21 @@ export declare class APIClient {
62
62
  chatStream(messages: ChatMessage[], model: string): AsyncGenerator<StreamChunk>;
63
63
  chatWithCallback(messages: ChatMessage[], model: string, onChunk: (chunk: string) => void, onDone: () => void, onError: (error: Error) => void): Promise<void>;
64
64
  generateCode(prompt: string, language: string, model: string): Promise<string>;
65
+ generateProject(prompt: string, projectType: string, model: string): Promise<{
66
+ code: string;
67
+ plan?: any;
68
+ quality?: {
69
+ lineCount: number;
70
+ score: number;
71
+ checks: {
72
+ hasAnimations: boolean;
73
+ hasNeonEffects: boolean;
74
+ hasResponsive: boolean;
75
+ hasFontAwesome: boolean;
76
+ hasGoogleFonts: boolean;
77
+ };
78
+ };
79
+ }>;
65
80
  explainCode(code: string, language: string): Promise<string>;
66
81
  reviewCode(code: string, language: string): Promise<{
67
82
  score: number;
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/utils/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/utils/api.ts"],"names":[],"mappings":"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"}
package/dist/utils/api.js CHANGED
@@ -189,7 +189,28 @@ class APIClient {
189
189
  this.logger.debug('Vigthoria Cloud API failed, trying fallbacks...');
190
190
  }
191
191
  }
192
- // Strategy 1: Try local Model Router's Vigthoria chat endpoint
192
+ // Strategy 1: Try Vigthoria Inference Server directly (NATIVE models on port 8010)
193
+ try {
194
+ const response = await axios_1.default.post('http://localhost:8010/v1/chat/completions', {
195
+ model: resolvedModel,
196
+ messages,
197
+ max_tokens: this.config.get('preferences').maxTokens,
198
+ temperature: 0.7,
199
+ stream: false,
200
+ }, { timeout: 120000 });
201
+ if (response.data.choices && response.data.choices.length > 0) {
202
+ return {
203
+ id: response.data.id || `vigthoria-native-${Date.now()}`,
204
+ message: response.data.choices[0].message?.content || response.data.choices[0].text,
205
+ model: response.data.model || model,
206
+ usage: response.data.usage,
207
+ };
208
+ }
209
+ }
210
+ catch (error) {
211
+ this.logger.debug('Vigthoria Inference Server (8010) failed, trying Model Router...');
212
+ }
213
+ // Strategy 2: Try local Model Router's Vigthoria chat endpoint
193
214
  try {
194
215
  const response = await axios_1.default.post('http://localhost:4009/api/vigthoria/chat', {
195
216
  messages,
@@ -208,9 +229,9 @@ class APIClient {
208
229
  }
209
230
  }
210
231
  catch (error) {
211
- this.logger.debug('Model router failed, trying Ollama directly...');
232
+ this.logger.debug('Model Router (4009) failed, trying Ollama directly...');
212
233
  }
213
- // Strategy 2: Try Ollama directly (for local development/testing)
234
+ // Strategy 3: Try Ollama directly (for local development/testing)
214
235
  try {
215
236
  const ollamaModel = this.resolveToOllamaModel(model);
216
237
  const prompt = this.formatMessagesForOllama(messages);
@@ -233,37 +254,22 @@ class APIClient {
233
254
  catch (error) {
234
255
  this.logger.debug('Ollama failed...');
235
256
  }
236
- // Strategy 3: Try ViAgen6 AI endpoint (authenticated fallback)
237
- if (this.config.isAuthenticated()) {
238
- try {
239
- const response = await this.client.post('/viagen6/api/ai/generate', {
240
- prompt: messages.map(m => `${m.role}: ${m.content}`).join('\n'),
241
- model: resolvedModel,
242
- max_tokens: this.config.get('preferences').maxTokens,
243
- });
244
- return {
245
- id: `viagen6-${Date.now()}`,
246
- message: response.data.code || response.data.response || response.data.content,
247
- model: model,
248
- };
249
- }
250
- catch (fallbackError) {
251
- // Continue to error
252
- }
253
- }
254
- throw new Error('All AI backends unavailable. Please check your connection or authentication.');
257
+ throw new Error('AI service unavailable. Please check your authentication with `vigthoria login` or try again later.');
255
258
  }
256
- // Map CLI model names to Ollama model names (for local fallback)
259
+ // Map CLI model names to Ollama model names (for local/offline fallback)
260
+ // Vigthoria_v3_Code_30B runs on qwen3-coder base via Vigthoria Cloud
261
+ // Local users with Ollama can use the base model for offline work
257
262
  resolveToOllamaModel(model) {
258
263
  const ollamaMap = {
259
264
  'fast': 'qwen3:0.6b',
260
265
  'mini': 'smollm2:135m',
261
- 'code': 'qwen2.5-coder:7b',
266
+ 'code': 'qwen3-coder:latest', // Vigthoria_v3_Code_30B (cloud) / qwen3-coder (local fallback)
262
267
  'balanced': 'phi3:mini',
263
268
  'creative': 'gemma3:latest',
264
269
  'vigthoria-fast-1.7b': 'qwen3:0.6b',
265
270
  'vigthoria-mini-0.6b': 'smollm2:135m',
266
- 'vigthoria-v2-code-8b': 'qwen2.5-coder:7b',
271
+ 'vigthoria-v3-code-30b': 'qwen3-coder:latest', // Vigthoria_v3_Code_30B
272
+ 'vigthoria-v2-code-8b': 'qwen3-coder:latest', // Legacy v2
267
273
  'vigthoria-balanced-4b': 'phi3:mini',
268
274
  'vigthoria-creative-9b-v4': 'gemma3:latest',
269
275
  };
@@ -358,31 +364,46 @@ class APIClient {
358
364
  });
359
365
  });
360
366
  }
361
- // Code operations
367
+ // Code operations - Using Vigthoria Centralized API
362
368
  async generateCode(prompt, language, model) {
363
- const response = await this.client.post('/ai/generate', {
369
+ const response = await this.client.post('/api/ai/generate', {
364
370
  prompt,
365
371
  language,
366
372
  model: this.resolveModelId(model),
367
373
  });
368
374
  return response.data.code;
369
375
  }
376
+ // Senior Developer Mode - Planning + Generation + Quality Check
377
+ async generateProject(prompt, projectType, model) {
378
+ const response = await this.client.post('/api/ai/generate-project', {
379
+ prompt,
380
+ projectType,
381
+ model: this.resolveModelId(model),
382
+ }, {
383
+ timeout: 300000, // 5 minutes for complex generation
384
+ });
385
+ return {
386
+ code: response.data.code,
387
+ plan: response.data.plan,
388
+ quality: response.data.quality,
389
+ };
390
+ }
370
391
  async explainCode(code, language) {
371
- const response = await this.client.post('/ai/explain', {
392
+ const response = await this.client.post('/api/ai/explain', {
372
393
  code,
373
394
  language,
374
395
  });
375
396
  return response.data.explanation;
376
397
  }
377
398
  async reviewCode(code, language) {
378
- const response = await this.client.post('/ai/review', {
399
+ const response = await this.client.post('/api/ai/review', {
379
400
  code,
380
401
  language,
381
402
  });
382
403
  return response.data;
383
404
  }
384
405
  async fixCode(code, language, fixType) {
385
- const response = await this.client.post('/ai/fix', {
406
+ const response = await this.client.post('/api/ai/fix', {
386
407
  code,
387
408
  language,
388
409
  fixType,
@@ -447,11 +468,19 @@ class APIClient {
447
468
  // Health check
448
469
  async healthCheck() {
449
470
  try {
450
- await this.client.get('/health');
451
- return true;
471
+ // Try the main API health endpoint first
472
+ const response = await this.client.get('/api/health');
473
+ return response.data?.status === 'ok' || response.data?.healthy === true;
452
474
  }
453
475
  catch {
454
- return false;
476
+ // Fallback: try root health endpoint
477
+ try {
478
+ await this.client.get('/health');
479
+ return true;
480
+ }
481
+ catch {
482
+ return false;
483
+ }
455
484
  }
456
485
  }
457
486
  }