@cachly-dev/mcp-server 0.5.47 → 0.5.48
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.
- package/dist/index.d.ts +2 -0
- package/dist/index.js +65 -18
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +89 -42
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cachly-dev/mcp-server",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.48",
|
|
4
4
|
"mcpName": "io.github.cachly-dev/mcp-server",
|
|
5
5
|
"description": "AI memory brain for Claude Code, Cursor, Copilot & Windsurf — persistent sessions, lessons learned, semantic search, team brain. 51 MCP tools.",
|
|
6
6
|
"type": "module",
|
package/src/index.ts
CHANGED
|
@@ -55,7 +55,7 @@ import { Redis } from 'ioredis';
|
|
|
55
55
|
const API_URL = process.env.CACHLY_API_URL ?? 'https://api.cachly.dev';
|
|
56
56
|
const JWT = process.env.CACHLY_JWT ?? '';
|
|
57
57
|
const EMBED_MODEL = process.env.CACHLY_EMBED_MODEL ?? '';
|
|
58
|
-
const CURRENT_VERSION = '0.5.
|
|
58
|
+
const CURRENT_VERSION = '0.5.48';
|
|
59
59
|
/**
|
|
60
60
|
* ┌──────────────────────────────────────────────────────────────────────┐
|
|
61
61
|
* │ EMBEDDING PROVIDER — pluggable, client-side first │
|
|
@@ -504,12 +504,22 @@ function katakanaToRomaji(kata: string): string {
|
|
|
504
504
|
/**
|
|
505
505
|
* Arabic light stemmer — strips definite article and common prefix particles.
|
|
506
506
|
* Handles: ال (al-), و (wa-), ب (bi-), ل (li-), ف (fa-), ك (ka-).
|
|
507
|
+
* Runs iteratively (max 3 passes) so compound prefixes like فال- are fully
|
|
508
|
+
* resolved: فالخطأ → الخطأ → خطأ.
|
|
507
509
|
* Only strips when the result is still ≥ 3 chars to avoid over-stemming.
|
|
508
510
|
*/
|
|
509
511
|
function arabicLightStem(word: string): string {
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
512
|
+
let result = word;
|
|
513
|
+
for (let i = 0; i < 3; i++) {
|
|
514
|
+
const prev = result;
|
|
515
|
+
if (result.startsWith('ال') && result.length > 4) {
|
|
516
|
+
result = result.slice(2);
|
|
517
|
+
} else if (result.length > 3 && 'وبلفك'.includes(result[0]) && RTL_RE.test(result[1])) {
|
|
518
|
+
result = result.slice(1);
|
|
519
|
+
}
|
|
520
|
+
if (result === prev) break; // stable — no more prefixes to strip
|
|
521
|
+
}
|
|
522
|
+
return result;
|
|
513
523
|
}
|
|
514
524
|
|
|
515
525
|
// ── Cross-lingual tech term dictionary ────────────────────────────────────────
|
|
@@ -520,7 +530,7 @@ function arabicLightStem(word: string): string {
|
|
|
520
530
|
// Keys must be lowercase. CJK values will be bigram-expanded at use time.
|
|
521
531
|
const CROSS_LINGUAL_MAP = new Map<string, string[]>([
|
|
522
532
|
// English → all
|
|
523
|
-
['deploy', ['デプロイ', '部署', '배포', 'deployment', 'deploying', 'bereitstellen', 'bereitstellung', 'déployer', 'déploiement', 'desplegar', 'despliegue', 'distribuire', 'distribuzione', 'implantar', 'implantação']],
|
|
533
|
+
['deploy', ['デプロイ', '部署', '배포', 'deployment', 'deploying', 'نشر', 'bereitstellen', 'bereitstellung', 'déployer', 'déploiement', 'desplegar', 'despliegue', 'distribuire', 'distribuzione', 'implantar', 'implantação']],
|
|
524
534
|
['deployment', ['デプロイ', '部署', '배포', 'deploy', 'bereitstellung', 'déploiement', 'despliegue', 'distribuzione', 'implantação']],
|
|
525
535
|
['container', ['コンテナ', '容器', '컨테이너', 'docker']],
|
|
526
536
|
['server', ['サーバー', 'サーバ', '服务器', '서버', 'سيرفر', 'שרת']],
|
|
@@ -532,6 +542,7 @@ const CROSS_LINGUAL_MAP = new Map<string, string[]>([
|
|
|
532
542
|
['build', ['ビルド', '构建', '빌드', 'بناء', 'בנייה', 'bauen', 'construire', 'construir', 'costruire']],
|
|
533
543
|
['test', ['テスト', '测试', '테스트', 'اختبار', 'בדיקה', 'testen', 'tester', 'probar', 'testare', 'testar']],
|
|
534
544
|
['auth', ['認証', '认证', '인증', 'authentication', 'login', 'oauth', 'مصادقة', 'אימות', 'authentifizierung', 'authentification', 'autenticación', 'autenticazione', 'autenticação']],
|
|
545
|
+
['authentication', ['auth', 'مصادقة', 'אימות', '認証', '认证', '인증', 'login', 'oauth']],
|
|
535
546
|
['kubernetes', ['クベルネテス', 'k8s', 'kube']],
|
|
536
547
|
['network', ['ネットワーク', '网络', '네트워크', 'شبكة', 'רשת', 'netzwerk', 'réseau', 'red', 'rete', 'rede']],
|
|
537
548
|
['timeout', ['タイムアウト', '超时', '타임아웃', 'مهلة']],
|
|
@@ -570,7 +581,7 @@ const CROSS_LINGUAL_MAP = new Map<string, string[]>([
|
|
|
570
581
|
['ci', ['pipeline', 'github actions', 'gitlab', 'jenkins', 'build']],
|
|
571
582
|
['cd', ['deploy', 'deployment', 'release']],
|
|
572
583
|
['debug', ['デバッグ', '调试', '디버그', 'debugging', 'breakpoint', 'تصحيح', 'איתור באגים', 'debuggen', 'déboguer', 'depurar']],
|
|
573
|
-
['crash', ['クラッシュ', '崩溃', '크래시', 'panic', 'segfault', 'انهيار', 'absturz', 'panne', 'plantage', 'caída', 'falha']],
|
|
584
|
+
['crash', ['クラッシュ', '崩溃', '크래시', 'panic', 'segfault', 'انهيار', 'קריסה', 'absturz', 'panne', 'plantage', 'caída', 'falha']],
|
|
574
585
|
['restart', ['再起動', '重启', '재시작', 'reboot', 'إعادة تشغيل', 'הפעלה מחדש', 'neustart', 'redémarrer', 'reiniciar', 'riavviare']],
|
|
575
586
|
['permission', ['権限', '权限', '권한', 'access', 'acl', 'chmod', 'صلاحية', 'הרשאה', 'berechtigung', 'berechtigungen', 'permiso', 'permesso', 'permissão']],
|
|
576
587
|
// Japanese katakana → English
|
|
@@ -671,43 +682,79 @@ const CROSS_LINGUAL_MAP = new Map<string, string[]>([
|
|
|
671
682
|
['재시작', ['restart']],
|
|
672
683
|
['권한', ['permission']],
|
|
673
684
|
// Arabic → English
|
|
674
|
-
['خطأ',
|
|
675
|
-
['إصلاح',
|
|
676
|
-
['بناء',
|
|
677
|
-
['اختبار',
|
|
678
|
-
['مصادقة',
|
|
679
|
-
['إعدادات',
|
|
680
|
-
['تثبيت',
|
|
681
|
-
['تحديث',
|
|
682
|
-
['سجل',
|
|
683
|
-
['صورة',
|
|
684
|
-
['خدمة',
|
|
685
|
-
['نسخ احتياطي',
|
|
686
|
-
['مراقبة',
|
|
687
|
-
['اتصال',
|
|
688
|
-
['ذاكرة',
|
|
689
|
-
['تصحيح',
|
|
690
|
-
['شبكة',
|
|
685
|
+
['خطأ', ['error']],
|
|
686
|
+
['إصلاح', ['fix']],
|
|
687
|
+
['بناء', ['build']],
|
|
688
|
+
['اختبار', ['test']],
|
|
689
|
+
['مصادقة', ['auth', 'authentication']],
|
|
690
|
+
['إعدادات', ['config', 'configuration']],
|
|
691
|
+
['تثبيت', ['install']],
|
|
692
|
+
['تحديث', ['update', 'upgrade']],
|
|
693
|
+
['سجل', ['log']],
|
|
694
|
+
['صورة', ['image']],
|
|
695
|
+
['خدمة', ['service']],
|
|
696
|
+
['نسخ احتياطي', ['backup']],
|
|
697
|
+
['مراقبة', ['monitor', 'monitoring']],
|
|
698
|
+
['اتصال', ['connection']],
|
|
699
|
+
['ذاكرة', ['memory']],
|
|
700
|
+
['تصحيح', ['debug', 'debugging']],
|
|
701
|
+
['شبكة', ['network']],
|
|
702
|
+
// Additional Arabic → English (covering blog post examples + common terms)
|
|
703
|
+
['نشر', ['deploy', 'deployment']],
|
|
704
|
+
['انهيار', ['crash', 'panic']],
|
|
705
|
+
['طابور', ['queue']],
|
|
706
|
+
['رمز', ['token', 'secret']],
|
|
707
|
+
['كاش', ['cache']],
|
|
708
|
+
['منفذ', ['port']],
|
|
709
|
+
['سيرفر', ['server']],
|
|
710
|
+
['قاعدة البيانات', ['database', 'db']],
|
|
711
|
+
['إعادة تشغيل', ['restart', 'reboot']],
|
|
712
|
+
['صلاحية', ['permission', 'access']],
|
|
713
|
+
['تطبيق', ['application', 'app']],
|
|
714
|
+
['مفتاح', ['key', 'token', 'secret']],
|
|
715
|
+
['واجهة برمجية', ['api', 'interface']],
|
|
716
|
+
['فحص الصحة', ['healthcheck', 'health']],
|
|
717
|
+
['حاوية', ['container', 'docker']],
|
|
718
|
+
['عقدة', ['node']],
|
|
719
|
+
['سرعة', ['performance', 'speed']],
|
|
720
|
+
['قرص', ['disk', 'storage']],
|
|
721
|
+
['خادم', ['server']],
|
|
722
|
+
['برنامج', ['application', 'software', 'app']],
|
|
691
723
|
// Hebrew → English
|
|
692
|
-
['שגיאה',
|
|
693
|
-
['תיקון',
|
|
694
|
-
['בנייה',
|
|
695
|
-
['בדיקה',
|
|
696
|
-
['אימות',
|
|
697
|
-
['הגדרות',
|
|
698
|
-
['התקנה',
|
|
699
|
-
['עדכון',
|
|
700
|
-
['יומן',
|
|
701
|
-
['שרת',
|
|
702
|
-
['שירות',
|
|
703
|
-
['גיבוי',
|
|
704
|
-
['ניטור',
|
|
705
|
-
['חיבור',
|
|
706
|
-
['זיכרון',
|
|
707
|
-
['רשת',
|
|
708
|
-
['תמונה',
|
|
709
|
-
['סיסמה',
|
|
710
|
-
['הרשאה',
|
|
724
|
+
['שגיאה', ['error']],
|
|
725
|
+
['תיקון', ['fix']],
|
|
726
|
+
['בנייה', ['build']],
|
|
727
|
+
['בדיקה', ['test']],
|
|
728
|
+
['אימות', ['auth', 'authentication']],
|
|
729
|
+
['הגדרות', ['config', 'configuration']],
|
|
730
|
+
['התקנה', ['install']],
|
|
731
|
+
['עדכון', ['update', 'upgrade']],
|
|
732
|
+
['יומן', ['log']],
|
|
733
|
+
['שרת', ['server']],
|
|
734
|
+
['שירות', ['service']],
|
|
735
|
+
['גיבוי', ['backup']],
|
|
736
|
+
['ניטור', ['monitor', 'monitoring']],
|
|
737
|
+
['חיבור', ['connection']],
|
|
738
|
+
['זיכרון', ['memory']],
|
|
739
|
+
['רשת', ['network']],
|
|
740
|
+
['תמונה', ['image']],
|
|
741
|
+
['סיסמה', ['password']],
|
|
742
|
+
['הרשאה', ['permission', 'access']],
|
|
743
|
+
// Additional Hebrew → English (covering blog post examples + common terms)
|
|
744
|
+
['קריסה', ['crash', 'panic']],
|
|
745
|
+
['תור', ['queue']],
|
|
746
|
+
['מטמון', ['cache']],
|
|
747
|
+
['אסימון', ['token', 'secret']],
|
|
748
|
+
['פורט', ['port']],
|
|
749
|
+
['איתור באגים', ['debug', 'debugging']],
|
|
750
|
+
['הפעלה מחדש', ['restart', 'reboot']],
|
|
751
|
+
['מיכל', ['container', 'docker']],
|
|
752
|
+
['יישום', ['application', 'app']],
|
|
753
|
+
['מפתח', ['key', 'token', 'secret']],
|
|
754
|
+
['בדיקת תקינות', ['healthcheck', 'health']],
|
|
755
|
+
['ממשק תכנות', ['api', 'interface']],
|
|
756
|
+
['ביצועים', ['performance']],
|
|
757
|
+
['אחסון', ['storage', 'disk']],
|
|
711
758
|
|
|
712
759
|
// ── European languages → English ─────────────────────────────────────────
|
|
713
760
|
// German (Deutsch) → English
|