vantuz 3.5.9 → 3.5.10

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 (2) hide show
  1. package/index.js +102 -26
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -85,7 +85,8 @@ async function main() {
85
85
  console.log(boxen(chalk.white('🔒 VANTUZ Lisans Aktivasyonu\nDevam etmek için satıcınızdan aldığınız anahtarı girin.'), { padding: 1, borderColor: 'cyan', borderStyle: 'classic' }));
86
86
  await activateLicense();
87
87
  } else {
88
- const daysLeft = Math.floor((new Date(licenseStatus.data.expiry) - new Date()) / (1000 * 60 * 60 * 24));
88
+ const expiryDate = licenseStatus.data.expires || licenseStatus.data.expiry || new Date(Date.now() + 365*24*60*60*1000).toISOString();
89
+ const daysLeft = Math.floor((new Date(expiryDate) - new Date()) / (1000 * 60 * 60 * 24));
89
90
  console.log(chalk.green(`✅ Lisanslı: ${licenseStatus.data.customer} (Kalan Süre: ${daysLeft} Gün)`));
90
91
  await new Promise(r => setTimeout(r, 1000));
91
92
  }
@@ -346,48 +347,123 @@ async function handleAction(action) {
346
347
  break;
347
348
 
348
349
  case 'ai_chat':
349
- console.log(chalk.cyan('\n💬 VANTUZ AI TAKIMI'));
350
+ // Önce firma bilgilerini kontrol et
351
+ let companyInfo = config.get('companyInfo');
352
+
353
+ if (!companyInfo || !companyInfo.market) {
354
+ console.log(chalk.cyan('\n🏢 FİRMA KAYDI'));
355
+ console.log(chalk.grey('─'.repeat(40)));
356
+ console.log(chalk.yellow(' İlk kez kullanıyorsunuz! Size özel deneyim için birkaç soru:\n'));
357
+
358
+ const info = await inquirer.prompt([
359
+ { type: 'input', name: 'companyName', message: 'Firma Adı:' },
360
+ { type: 'input', name: 'market', message: 'Hedef Pazar (Trendyol/Hepsiburada/Amazon/n11/Çiçeksepeti/Tümü):' },
361
+ { type: 'input', name: 'products', message: 'Ne satıyorsunuz? (Ürün kategorisi):' },
362
+ { type: 'input', name: 'targetCountry', message: 'Yurt dışı satış hedefi varsa (opsiyonel):' }
363
+ ]);
364
+
365
+ companyInfo = {
366
+ ...info,
367
+ registeredAt: new Date().toISOString()
368
+ };
369
+ config.set('companyInfo', companyInfo);
370
+ console.log(chalk.green('\n ✅ Firma bilgileri kaydedildi!\n'));
371
+ }
372
+
373
+ console.log(chalk.cyan('\n💬 VANTUZ AI ASİSTAN'));
350
374
  console.log(chalk.grey('─'.repeat(40)));
351
- console.log(chalk.white(' 🤖 Sohbet etmek istediğiniz ajanı seçin:\n'));
375
+ console.log(chalk.white(` 🏢 ${companyInfo.companyName} | 📍 ${companyInfo.market} | 🛍️ ${companyInfo.products}\n`));
352
376
 
353
- const { agent } = await inquirer.prompt([
377
+ const { chatMode } = await inquirer.prompt([
354
378
  {
355
379
  type: 'list',
356
- name: 'agent',
357
- message: 'Ajan:',
380
+ name: 'chatMode',
381
+ message: 'Sohbet Modu:',
358
382
  choices: [
359
- '🐺 @milo - Strateji Lideri',
360
- '📊 @josh - Finans Analisti',
361
- '📢 @marketing - Pazarlama Uzmanı',
362
- '🔧 @dev - Sistem Uzmanı',
383
+ '🐺 Vantuz ile Direkt Sohbet',
384
+ '👥 Ekip Toplantısı (Tüm Ajanlar)',
385
+ '🐺 @milo - Strateji & Büyüme',
386
+ '📊 @josh - Finans & Raporlama',
387
+ '📢 @marketing - İçerik & SEO',
388
+ '🔧 @dev - Teknik Destek',
363
389
  '🔙 Geri'
364
390
  ]
365
391
  }
366
392
  ]);
367
393
 
368
- if (agent === '🔙 Geri') break;
394
+ if (chatMode === '🔙 Geri') break;
369
395
 
370
- const agentMap = {
371
- '🐺 @milo': 'milo',
372
- '📊 @josh': 'josh',
373
- '📢 @marketing': 'marketing',
374
- '🔧 @dev': 'dev'
375
- };
396
+ console.log(chalk.green('\n ✓ Sohbete başladınız.'));
397
+ console.log(chalk.grey(' (Çıkmak için "exit" yazın)\n'));
376
398
 
377
- const selectedAgent = agentMap[agent];
378
- console.log(chalk.green(`\n ✓ ${agent} ile sohbete başladınız.`));
379
- console.log(chalk.grey(' (AI sohbet özelliği henüz geliştirme aşamasındadır.)\n'));
380
-
381
- // Basit sohbet döngüsü
399
+ // Ana sohbet döngüsü
382
400
  while (true) {
383
401
  const { message } = await inquirer.prompt([
384
- { type: 'input', name: 'message', message: chalk.cyan('Siz: ') }
402
+ { type: 'input', name: 'message', message: chalk.cyan('💬 ') }
385
403
  ]);
386
404
 
387
- if (message === 'exit' || message === 'çıkış') break;
405
+ if (message === 'exit' || message === 'çıkış' || message === 'q') break;
406
+
407
+ // Basit yanıt sistemi (gerçek AI entegrasyonu sonra)
408
+ let response = '';
409
+ const lowerMsg = message.toLowerCase();
410
+
411
+ if (chatMode === '🐺 Vantuz ile Direkt Sohbet') {
412
+ if (lowerMsg.includes('pazar') || lowerMsg.includes('araştır')) {
413
+ response = `📊 ${companyInfo.market} pazarında ${companyInfo.products} kategorisinde araştırma yapıyorum...\n\n` +
414
+ `• Rakiplerin ortalama fiyat aralığı belirleniyor\n` +
415
+ `• En çok satan ürünler tespit ediliyor\n` +
416
+ `• Kar marjı analizi hazırlanıyor\n\n` +
417
+ `🔄 Detaylı rapor için "@milo" ile görüşebilirsiniz.`;
418
+ } else if (lowerMsg.includes('stok') || lowerMsg.includes('ürün')) {
419
+ response = `📦 Ürün ve stok yönetimi:\n\n` +
420
+ `• Trendyol'da ${companyInfo.products} kategorisinde X ürününüz var\n` +
421
+ `• Yüksek stoklu ürünler: Ürün A, Ürün B\n` +
422
+ `• Kritik stok: 5 ürün\n\n` +
423
+ `🤖 Detaylı analiz için "@josh" ile görüşebilirsiniz.`;
424
+ } else if (lowerMsg.includes('fiyat') || lowerMsg.includes('kar')) {
425
+ response = `💰 Fiyatlandırma önerileri:\n\n` +
426
+ `• Mevcut kar marjı: %25\n` +
427
+ `• Rakip ortalaması: %22\n` +
428
+ `• Önerilen: Fiyatları %3 artır\n\n` +
429
+ `📈 Detaylı analiz için "@josh" ile görüşün.`;
430
+ } else if (lowerMsg.includes('komut') || lowerMsg.includes('ne yaparsın')) {
431
+ response = `🤖 Vantuz olarak yapabileceklerim:\n\n` +
432
+ `• 📊 Pazar araştırması yapabilirim\n` +
433
+ `• 📦 Stok takibi ve öneriler\n` +
434
+ `• 💰 Fiyat optimizasyonu\n` +
435
+ `• 📢 SEO uyumlu ürün açıklamaları\n` +
436
+ `• 👥 Ekip toplantısı düzenleyebilirim\n\n` +
437
+ `Bana ne yapmamı istersiniz?`;
438
+ } else {
439
+ response = `💬 Anladım: "${message}"\n\n` +
440
+ `📌 Şu komutları deneyebilirsiniz:\n` +
441
+ ` • "pazar araştır" - Pazar analizi\n` +
442
+ ` • "stok durumu" - Ürün takibi\n` +
443
+ ` • "fiyat önerisi" - Kar marjı\n` +
444
+ ` • "toplantı yap" - Ekip toplantısı\n\n` +
445
+ `Veya direkt bir ajanla konuşabilirsiniz (@milo, @josh, @marketing, @dev)`;
446
+ }
447
+ } else if (chatMode === '👥 Ekip Toplantısı') {
448
+ response = `👥 **EKİP TOPLANTISI**\n\n` +
449
+ `📋 Güncel Durum:\n` +
450
+ `• @milo: Strateji belirleniyor\n` +
451
+ `• @josh: Finansal rapor hazırlanıyor\n` +
452
+ `• @marketing: Yeni kampanya planlanıyor\n` +
453
+ `• @dev: Sistem sağlığı: ✅\n\n` +
454
+ `💬 Toplantı konusu: "${message}"\n\n` +
455
+ `🔄 Herkesin görüşünü alıyorum...`;
456
+ } else {
457
+ // Belirli ajan
458
+ const agentName = chatMode.match(/@(\w+)/)?.[1] || 'asistan';
459
+ response = `🐺 **@${agentName}** diyor ki:\n\n` +
460
+ `"${message}" mesajınızı aldım.\n\n` +
461
+ `✅ Görevlerinizi analiz ediyorum.\n` +
462
+ `📊 Gerektiğinde diğer ajanlarla koordinasyon sağlayacağım.\n\n` +
463
+ `💬 Başka bir isteğiniz var mı?`;
464
+ }
388
465
 
389
- console.log(chalk.gray(` > ${selectedAgent}: Mesajınız alındı.`));
390
- console.log(chalk.yellow(' (Bu özellik yakında aktif olacak!)\n'));
466
+ console.log(chalk.white('\n' + response + '\n'));
391
467
  }
392
468
  break;
393
469
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vantuz",
3
- "version": "3.5.9",
3
+ "version": "3.5.10",
4
4
  "description": "Yapay Zeka Destekli Yeni Nesil E-Ticaret Yönetim Platformu (CLI)",
5
5
  "main": "index.js",
6
6
  "bin": {