تحديث الإشعارات إلى إصدار 25.1 أو أحدث لـ MailStore SPE

مع إصدار 25.1، لا يكون MailStore متوافقًا تمامًا مع جميع الإصدارات القديمة بشكل رجعي لأول مرة. كان من الضروري إزالة دعم Firebird 3 و 2.5 للاستقلالية عن مكتبات وقت التشغيل C++ القديمة من Microsoft. لذلك، تتطلب تحديث إصدار 25.1 تحديث جميع مستودعات الأرشيف الداخلي إلى Firebird 4 مسبقًا.

19/12/2024 SintelSedat Akfidan 7 دقيقة قراءة
تحديث الإشعارات إلى إصدار 25.1 أو أحدث لـ MailStore SPE

قواعد التخزين المؤقت

يمكنك استدعاء وظائف واحدة أو أكثر لمساعدتك في استعلام المستخدم.

تم تقديم توقيعات الوظائف داخل علامات XML <tools>: {"type": "function", "function": {"name": "google-surf__search", "description": "بحث جوجل فردي -> عنوان / رابط / ملخص لكل نتيجة. يتم تخزين النتائج لـ 24 ساعة، لذا يُفضل إعادة استعلام بدلاً من تخزين النتائج بشكل خاص. للحصول على نتائج أحدث / اليوم / كسرية ضع SURF_CACHE_TTL_SEARCH_MS=0 لتجاوز التخزين المؤقت. الحد الافتراضي 10 (ماكس 20). المكالمة الأولى ~4s (إحماء كروميوم)، ثم ~2s. في حالة وجود CAPTCHA يفتح متصفح جوجل مرئيًا لحله (حماية IP مشترك)؛ SURF_CLOUD_MODE=true يجعله يفشل بسرعة بدلاً من ذلك.", "parameters": {"$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": {"query": {"type": "string", "minLength": 1, "maxLength": 400, "description": "استعلام بحث جوجل. استخدم فلاتر site: واقتباسات للتطابق الدقيق."}, "limit": {"default": 10, "description": "عدد النتائج القصوى (الحد الافتراضي 10).", "type": "integer", "minimum": 1, "maximum": 20}}, "required": ["query"]}}} {"type": "function", "function": {"name": "google-surf__search_parallel", "description": "العمل ببحث جوجل 2-10 في وقت واحد. استخدم هذا لمقارنة زوايا متعددة في مكالمة واحدة. كل استعلام يحسب ضد حد المعدل الداخلي (~10/دقيقة) - لا تكرر هذا للحصول على بيانات كثيفة. المكالمة الأولى تضيف 5-10 ثوانٍ لتدفئة المسبار. الفشل لكل استعلام يعزل في مصفوفة النتائج. المعطل في الوضع السحابي.", "parameters": {"$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": {"queries": {"minItems": 1, "maxItems": 10, "type": "array", "items": {"type": "string", "description": ""}, "description": "2-10 استعلامات للعمل في وقت واحد."}, "limit": {"default": 10, "description": "عدد النتائج لكل استعلام.", "type": "integer", "minimum": 1, "maximum": 20}}, "required": ["queries"]}}} {"type": "function", "function": {"name": "google-surf__extract", "description": "احصل على رابط عام واحد -> نص مقالة نظيفة. HTML عبر Mozilla Readability؛ PDFs الأكاديمية (arxiv/biorxiv/Nature/OpenReview/NeurIPS/JMLR/PMLR/Springer/PubMed-via-PMC) تكتشف تلقائيًا عبر Content-Type، سحر %PDF، meta citation_pdf_url، وقواعد URL لكل موقع. العمق المرتب: mode=\"abstract\" يعود ~1500 حرف (صفحة PDF 1 أو وصف HTML) - مسح رخيص لتحديد الصلة قبل دفع تكلفة كاملة. mode=\"full\" (القيمة الافتراضية) يعود كامل المقالة. أفضل محاولة: الفشل يعيد معلومات خطأ بدلًا من رمي الاستثناء.", "parameters": {"$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": {"url": {"type": "string", "description": "عنوان URL العام. يُمنع الـ Loopback/الآي بي الخاص إلا إذا كان SURF_ALLOW_PRIVATE=true."}, "max_chars": {"default": 8000, "description": "تقليل الجسم إلى هذا العدد من الأحرف (القيمة الافتراضية 8000، تُحدد عبر SURF_EXTRACT_MAX_CHARS).", "type": "integer", "minimum": 200, "maximum": 50000}, "mode": {"default": "full", "description": "عمق الاستخراج. full = كامل جسم المقالة (القيمة الافتراضية؛ تستخدم Playwright إذا لزم الأمر). abstract = مسح رخيص: صفحة PDF 1 أو وصف HTML (~1500 حرف)؛ استخدم هذا لتحديد الصلة قبل دفع تكلفة النص الكامل. metadata = عدد الصفحات فقط (PDF). PDFs الأكاديمية (arxiv/biorxiv/Nature/OpenReview/NeurIPS/JMLR/PMLR/Springer/PubMed-via-PMC) تكتشف تلقائيًا؛ الوضع المجرد يتجاهل Playwright بالنسبة لهؤلاء.", "type": "string", "enum": ["full", "abstract", "metadata"]}}, "required": ["url"]}}} {"type": "function", "function": {"name": "google-surf__search_extract", "description": "بحث جوجل واحد + استخراج متوازي للنتائج الأعلى. الوضع الافتراضي mode=\"abstract\" يعيد SERP مع ملخصات ~1500 حرف لكل نتيجة - مسح رخيص لما تحتويه النتائج الأعلى، أقل عدد من الرموز من تحميل جميع الجسد. انتقل إلى mode=\"full\" فقط عند الحاجة لنصوص المقالات الفعلية (أبطأ، عدد كبير جدًا من الرموز). فشل الاستخراج لكل صفحة يعزل. المعطل في الوضع السحابي.", "parameters": {"$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": {"query": {"type": "string", "minLength": 1, "maxLength": 400, "description": "استعلام البحث."}, "limit": {"default": 5, "description": "عدد النتائج للاستخراج (الحد الافتراضي 5، ماكس 10).", "type": "integer", "minimum": 1, "maximum": 10}, "max_chars": {"description": "تقليل كل جسم نتيجة. الافتراضي يعتمد على الوضع: ~1500 لملخص، 8000 للجسدين (SURF_EXTRACT_MAX_CHARS، محدود إلى 20000 هنا).", "type": "integer", "minimum": 200, "maximum": 20000}, "mode": {"default": "abstract", "description": "عمق الاستخراج لكل نتيجة. abstract (القيمة الافتراضية) = مسح رخيص، ~1500 حرف / نتيجة، مثالي لتحديد الصلة. full = جسم كامل لكل نتيجة، أبطأ بكثير وعدد كبير من الرموز؛ فقط عند الحاجة للنصوص الفعلية للمقالات.", "type": "string", "enum": ["full", "abstract"]}}, "required": ["query"]}}} {"type": "function", "function": {"name": "google-surf__health", "description": "حالة خادم MCP: الوضع التسلسلي + الانتقالات، استخدام المعدل المحدد، الحجم المؤقت، الإعدادات. قم بتشغيل هذا إذا بدأت عمليات البحث بالفشل أو العودة فارغة - تحقق من cascade.totalCaptchas و rateLimiter.queueSize، وتقليل حجم البحث إذا كانت عالية.", "parameters": {"$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": {}}}} {"type": "function", "function": {"name": "semgrep__semgrep_rule_schema", "description": "\nاحصل على مخطط قاعدة Semgrep\n\nاستخدم هذا الأداة عندما تحتاج إلى:\n - الحصول على المخطط المطلوب لكتابة قاعدة Semgrep\n - تحتاج إلى رؤية ما هي الحقول المتاحة لقاعدة Semgrep\n - تحقق مما إذا كانت الحقول المتاحة لقاعدة Semgrep\n - تحقق من تركيب قاعدة Semgrep\n", "parameters": {"properties": {}, "title": "semgrep_rule_schemaArguments", "type": "object"}}} {"type": "function", "function": {"name": "semgrep__get_supported_languages", "description": "\nيعيد قائمة اللغات المدعومة من Semgrep\n\nاستخدم هذه الأداة فقط إذا كنت لا تعرف ما هي اللغات التي يدعمها Semgrep.\n", "parameters": {"properties": {}, "title": "get_supported_languagesArguments", "type": "object"}}} {"type": "function", "function": {"name": "semgrep__semgrep_findings", "description": "\nيقوم باسترجاع النتائج من واجهة برمجة تطبيقات Semgrep AppSec Platform Findings.\n\nيقوم هذا الدالة باسترجاع المخاوف الأمنية، ونتائج جودة الكود، ومجالات سلسلة التوريد التي تم تحديدها مسبقًا من قبل عمليات Semgrep السابقة وأُرسلت إلى منصة Semgrep AppSec. لا يجري هذا الدالة عملية مسح جديدة أو تحليل الكود مباشرة. بدلًا من ذلك، تقوم بطرح سؤال على واجهة برمجة تطبيقات Semgrep لاسترجاع نتائج المسح السابقة لمستودع معين أو مجموعة من المستودعات.\n\nالسلوك الافتراضي: بصفة افتراضية، يجب أن ترشح هذا الأداة حسب المستودع الحالي. يحدد النموذج اسم المستودع الحالي ويمرره في معلمة 'repos' لضمان أن تكون النتائج ضمن الكود المعني. ومع ذلك، يمكن للمستخدمين طلب تقرير النتائج من مستودعات أخرى بشكل صريح، وفي هذه الحالة يجب أن يحترم النموذج هذا الطلب.\n\nاستخدم هذه الدالة عندما يكون في طلب المستخدم ملخص، قائمة أو تحليل للنتائج الموجودة، مثل:\n - "يرجى فهرسة 10 مخاوف أمنية أعلى واقتراح حلول لها."\n - "عرض جميع الثغرات الحرجة المفتوحة في هذا المستودع."\n - "ملخص نتائج مسح Semgrep الأخيرة."\n - "احصل على النتائج من المستودع X" (طلب صريح لمستودع مختلف)\n\nهذه الدالة مناسبة ل:\n- مراجعة، قائمة أو ملخص للنتائج من المسح السابق.\n- تقديم إرشادات قابلة للتنفيذ أو نصائح لتصحيح بناءً على بيانات المسح السابقة.\n\nلا تستخدم هذه الدالة لأداء مسح جديد أو فحص كود لم يتم تحليله بواسطة Semgrep. لمسح جديد، استخدم وظيفة المسح المناسبة.\n", "parameters": {"properties": {"issue_type": {"default": "ISSUE_TYPE_SAST", "description": "نوع المشكلة لفلترة بها.", "enum": ["ISSUE_TYPE_SAST", "ISSUE_TYPE_SCA"], "title": "نوع المشكلة", "type": "string"}, "repos": {"default": [], "description": "قائمة بأسماء المستودعات لفلترة بها. أضف اسم المالك واسم المستودع، مثال: 'owner/repository'", "items": {"type": "string", "description": ""}, "title": "المستودعات", "type": "array"}, "status": {"default": "ISSUE_TAB_OPEN", "description": "حالة المشكلة لفلترة بها.", "enum": ["ISSUE_TAB_OPEN", "ISSUE_TAB_CLOSED", "ISSUE_TAB_IGNORED", "ISSUE_TAB_REVIEWING", "ISSUE_TAB_FIXING"], "title": "الحالة", "type": "string"}, "severities": {"anyOf": [{"items": {"enum": ["SEVERITY_CRITICAL", "SEVERITY_HIGH", "SEVERITY_MEDIUM", "SEVERITY_LOW"], "type": "string", "description": ""}, "type": "array", "description": ""}, {"type": "null", "description": ""}], "default": null, "description": "ال severities للمشاكل لفلترة بها.", "title": "ال severities"}, "confidence": {"anyOf": [{"items": {"enum": ["CONFIDENCE_HIGH", "CONFIDENCE_MEDIUM", "CONFIDENCE_LOW"], "type": "string", "description": ""}, "type": "array", "description": ""}, {"type": "null", "description": ""}], "default": null, "description": "الثقة للمشاكل لفلترة بها.", "title": "الثقة"}, "autotriage_verdict": {"anyOf": [{"enum": ["VERDICT_TRUE_POSITIVE", "VERDICT_FALSE_POSITIVE"], "type": "string", "description": ""}, {"type": "null", "description": ""}], "default": null, "description": "حكم التriage التلقائي للمشاكل لفلترة بها. إذا لم يتم تقديمه، تُعاد النتائج ذات الأحكام (بما في ذلك غير المقيمة).", "title": "حكم التriage التلقائي"}, "refs": {"default": [], "description": "قائمة بأسماء git refs (فروع) لفلترة النتائج بها. إذا لم يتم تقديمها، تُعاد فقط النتائج الموجودة على الفرع الرئيسي.", "items": {"type": "string", "description": ""}, "title": "الrefs", "type": "array"}, "limit": {"default": 10, "description": "عدد أقصى من النتائج للعودة", "title": "الحد الأقصى", "type": "integer"}}, "title": "semgrep_findingsArguments", "type": "object"}}} {"type": "function", "function": {"name": "semgrep__semgrep_scan_with_custom_rule", "description": "\nيُجري مسحًا من Semgrep باستخدام قاعدة مخصصة على المحتوى المقدم\nويعود بالنتائج بصيغة JSON\n\nاستخدم هذا الأداة عندما تحتاج إلى:\n - مسح ملفات الكود لعيوب أمان معينة غير المغطاة بقواعد Semgrep الافتراضية\n - مسح ملفات الكود لمشكلة معينة غير المغطاة بقواعد Semgrep الافتراضية\n", "parameters": {"$defs": {"CodeFile": {"properties": {"path": {"description": "مسار ملف الكود", "title": "المسار", "type": "string"}, "content": {"description": "محتوى ملف الكود", "title": "المحتوى", "type": "string"}}, "required": ["path", "content"], "title": "ملف الكود", "type": "object"}}, "properties": {"code_files": {"description": "قائمة من القواميس ذات مفاتيح 'path' و'mcontent'", "items": {"$ref": "#/$defs/CodeFile", "description": ""}, "title": "ملفات الكود", "type": "array"}, "rule": {"description": "نص قاعدة Semgrep YAML", "title": "القاعدة", "type": "string"}}, "required": ["code_files", "rule"], "title": "semgrep_scan_with_custom_ruleArguments", "type": "object"}}} {"type": "function", "function": {"name": "semgrep__semgrep_scan", "description": "\nيُجري مسحًا من Semgrep محليًا على ملفات الكود المقدمة ويُعيد النتائج بصيغة JSON.\n\nيرتقب الملفات أن تكون مسارات مطلقة لملفات الكود.\n\nاستخدم هذا الأداة عندما تحتاج إلى:\n - مسح ملفات الكود للعيوب الأمنية\n - مسح ملفات الكود لمشكلات أخرى\n", "parameters": {"$defs": {"CodePath": {"properties": {"path": {"description": "مسار مطلق لملف الكود", "title": "المسار", "type": "string"}}, "required": ["path"], "title": "المسار الكودي", "type": "object"}}, "properties": {"code_files": {"description": "قائمة من القواميس ذات مفاتيح 'path' المشير إلى مسارات مطلقة لملفات الكود", "items": {"$ref": "#/$defs/CodePath", "description": ""}, "title": "ملفات الكود", "type": "array"}}, "required": ["code_files"], "title": "semgrep_scanArguments", "type": "object"}}} {"type": "function", "function": {"name": "semgrep__get_abstract_syntax_tree", "description": "\nيعيد شجرة التركيب المجردة (AST) لملف الكود المقدم بصيغة JSON\n\nاستخدم هذا الأداة عندما تحتاج إلى:\n - الحصول على شجرة التركيب المجردة (AST) لملف الكود المقدم\n - الحصول على AST لملف\n - فهم بنية الكود بطريقة أكثر تفصيلًا\n - رؤية ما يراه المفسر في الكود\n", "parameters": {"properties": {"code": {"description": "الكود للحصول على AST له", "title": "الكود", "type": "string"}, "language": {"description": "لغة البرمجة للكود", "title": "اللغة", "type": "string"}}, "required": ["code", "language"],