> ## Documentation Index
> Fetch the complete documentation index at: https://openclaw.veiseule.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# تعزيز إضافة Cron

# تعزيز إضافة Cron ومحاذاة المخططات

## السياق

تُظهر سجلات Gateway الحديثة تكرار إخفاقات `cron.add` مع معاملات غير صالحة (غياب `sessionTarget` و`wakeMode` و`payload`، وتشويه `schedule`). يشير ذلك إلى أن عميلًا واحدًا على الأقل (على الأرجح مسار استدعاء أداة الوكيل) يرسل حمولات مهام مُغلَّفة أو محددة جزئيًا. وبشكل منفصل، يوجد تباين بين تعداد مزوّد cron في TypeScript، ومخطط Gateway، وأعلام CLI، وأنواع نماذج واجهة المستخدم، إضافةً إلى عدم تطابق في واجهة المستخدم لـ `cron.status` (تتوقع `jobCount` بينما يعيد Gateway `jobs`).

## الأهداف

* إيقاف ضوضاء `cron.add` من نوع INVALID\_REQUEST عبر توحيد أشكال التغليف الشائعة واستنتاج حقول `kind` المفقودة.
* محاذاة قوائم مزوّدي cron عبر مخطط Gateway، وأنواع cron، ووثائق CLI، ونماذج واجهة المستخدم.
* جعل مخطط أداة cron الخاصة بالوكيل صريحًا بحيث ينتج نموذج اللغة الكبير (LLM) حمولات مهام صحيحة.
* إصلاح عرض عدد مهام حالة cron في واجهة التحكم.
* إضافة اختبارات لتغطية التوحيد وسلوك الأداة.

## غير الأهداف

* تغيير دلالات جدولة cron أو سلوك تنفيذ المهام.
* إضافة أنواع جداول جديدة أو تحليل تعابير cron.
* إعادة تصميم واجهة المستخدم/التجربة لـ cron بما يتجاوز إصلاحات الحقول اللازمة.

## النتائج (الفجوات الحالية)

* يستبعد `CronPayloadSchema` في Gateway كلًا من `signal` + `imessage`، بينما تتضمنها أنواع TypeScript.
* تتوقع CronStatus في واجهة التحكم `jobCount`، لكن Gateway يعيد `jobs`.
* يسمح مخطط أداة cron الخاصة بالوكيل بكائنات `job` اعتباطية، ما يتيح مدخلات مشوّهة.
* يتحقق Gateway بصرامة من `cron.add` دون توحيد، لذا تفشل الحمولات المُغلَّفة.

## ما الذي تغيّر

* يقوم `cron.add` و`cron.update` الآن بتوحيد أشكال التغليف الشائعة واستنتاج حقول `kind` المفقودة.
* أصبح مخطط أداة cron الخاصة بالوكيل مطابقًا لمخطط Gateway، ما يقلل الحمولات غير الصالحة.
* تمت محاذاة تعدادات المزوّدين عبر Gateway وCLI وواجهة المستخدم ومنتقي macOS.
* تستخدم واجهة التحكم حقل عدد `jobs` من Gateway للحالة.

## السلوك الحالي

* **التوحيد:** يتم فك تغليف حمولات `data`/`job`؛ ويُستدل على `schedule.kind` و`payload.kind` عندما يكون ذلك آمنًا.
* **القيم الافتراضية:** تُطبَّق قيم افتراضية آمنة لـ `wakeMode` و`sessionTarget` عند الغياب.
* **المزوّدون:** تُعرض Discord/Slack/Signal/iMessage الآن بشكل متسق عبر CLI/واجهة المستخدم.

راجع [Cron jobs](/automation/cron-jobs) للشكل الموحّد والأمثلة.

## التحقق

* راقب سجلات Gateway لرصد انخفاض أخطاء INVALID\_REQUEST من نوع `cron.add`.
* أكّد أن حالة cron في واجهة التحكم تُظهر عدد المهام بعد التحديث.

## متابعات اختيارية

* اختبار يدوي لواجهة التحكم: إضافة مهمة cron لكل مزوّد + التحقق من عدد مهام الحالة.

## أسئلة مفتوحة

* هل ينبغي أن يقبل `cron.add` قيمة `state` صريحة من العملاء (مرفوضة حاليًا بواسطة المخطط)؟
* هل ينبغي السماح بـ `webchat` كمزوّد تسليم صريح (مُرشَّح حاليًا في حلّ التسليم)؟
