عن المشروع

يوفر Socket Page Automation (`@socketsecurity/page-automation`) إطارًا متخصصًا لمعايرة أتمتة المتصفح، مع التركيز على التعامل مع تحديات مكافحة الروبوتات في سير عمل التحقق البشري لـ npm. في الأساس، هو آلة حالة خالية من التبعيات تتخذ قرارات ذكية بشأن استمرارية العملية عند مواجهة تدخلات من نظام التحقق البشري لـ npm. بدلاً من إعادة المحاولة بشكل أعمى عند اكتشاف تحدٍ، يقوم النظام بإيقاف العملية مؤقتًا عبر وصلة غير متزامنة (async seam) يتم حقنها. هذا يسمح للمنطق الأساسي بالبقاء مستقلًا تمامًا عن بيئة التشغيل، مما يعني أنه يمكن تشغيله بسلاسة تحت Playwright، أو داخل نص برمجي للمحتوى، أو مع ساعة اختبار، دون الاعتماد المباشر على محرك متصفح معين. بمجرد حل التحدي، يتتبع النظام فترة التهدئة (cooldown) ويسمح بمجموعة من العمليات اللاحقة بالاستفادة من نفس نافذة التهدئة، مما يقلل بشكل كبير من الحاجة إلى إعادة التحدي لكل عملية فردية. تم تنظيم المكتبة بمخرجات فرعية مميزة لفصل الاهتمامات. يحتوي المخرج الأساسي (`.`) على آلة حالة معايرة التحدي المستقلة عن بيئة التشغيل وثوابتها. يوفر المخرج `./npm` طبقة معرفة خاصة بموقع npm خالية من التبعيات، بما في ذلك محددات (selectors) لتفعيل التهدئة، وحقائق الصفحة والـ URL، ومحاكات (stubs) للمحددات لتدفقات الإجراءات الجماعية والناشرين الموثوقين في المستقبل. الإصدار الحالي هو 0.1.0، مع خطط لتنفيذ وصلات لـ Playwright (`./driver`) وتنفيذ في الصفحة (`./in-page`) بمجرد استقرار المستخدمين.