मुख्य सामग्री पर जाएं

Cron Add सुदृढ़ीकरण एवं स्कीमा संरेखण

संदर्भ

  1. हाल के gateway logs में invalid parameters (missing sessionTarget, wakeMode, payload, और malformed schedule) के साथ बार‑बार cron.add failures दिखाई दे रहे हैं। 30. यह संकेत देता है कि कम से कम एक client (संभवतः agent tool call path) wrapped या आंशिक रूप से निर्दिष्ट job payloads भेज रहा है। 31. अलग से, TypeScript, gateway schema, CLI flags, और UI form types में cron provider enums के बीच drift है, साथ ही cron.status के लिए UI mismatch भी है (UI jobCount अपेक्षित करता है जबकि gateway jobs लौटाता है)।

लक्ष्य

  • सामान्य रैपर पेलोड्स को सामान्यीकृत करके और गायब kind फ़ील्ड्स का अनुमान लगाकर cron.add INVALID_REQUEST स्पैम को रोकना।
  • Gateway स्कीमा, cron टाइप्स, CLI डॉक्स, और UI फ़ॉर्म्स में cron प्रदाता सूचियों को संरेखित करना।
  • एजेंट cron टूल स्कीमा को स्पष्ट बनाना ताकि LLM सही जॉब पेलोड तैयार करे।
  • Control UI में cron स्टेटस जॉब काउंट डिस्प्ले को ठीक करना।
  • सामान्यीकरण और टूल व्यवहार को कवर करने के लिए परीक्षण जोड़ना।

गैर-लक्ष्य

  • cron शेड्यूलिंग सेमांटिक्स या जॉब निष्पादन व्यवहार में परिवर्तन।
  • नए शेड्यूल प्रकार या cron एक्सप्रेशन पार्सिंग जोड़ना।
  • आवश्यक फ़ील्ड सुधारों से आगे cron के लिए UI/UX का ओवरहॉल।

निष्कर्ष (वर्तमान अंतराल)

  • Gateway में CronPayloadSchema में signal + imessage शामिल नहीं हैं, जबकि TS टाइप्स में वे शामिल हैं।
  • Control UI का CronStatus jobCount की अपेक्षा करता है, लेकिन Gateway jobs लौटाता है।
  • एजेंट cron टूल स्कीमा मनमाने job ऑब्जेक्ट्स की अनुमति देता है, जिससे विकृत इनपुट संभव होते हैं।
  • Gateway बिना किसी सामान्यीकरण के cron.add को सख़्ती से वैध करता है, इसलिए रैप किए हुए पेलोड विफल हो जाते हैं।

क्या बदला

  • cron.add और cron.update अब सामान्य रैपर आकृतियों को सामान्यीकृत करते हैं और गायब kind फ़ील्ड्स का अनुमान लगाते हैं।
  • एजेंट cron टूल स्कीमा अब Gateway स्कीमा से मेल खाता है, जिससे अमान्य पेलोड कम होते हैं।
  • प्रदाता enums को Gateway, CLI, UI, और macOS पिकर में संरेखित किया गया है।
  • Control UI स्टेटस के लिए Gateway के jobs काउंट फ़ील्ड का उपयोग करता है।

वर्तमान व्यवहार

  • सामान्यीकरण: रैप किए हुए data/job पेलोड अनरैप किए जाते हैं; schedule.kind और payload.kind सुरक्षित होने पर अनुमानित किए जाते हैं।
  • डिफ़ॉल्ट्स: wakeMode और sessionTarget के लिए, अनुपस्थित होने पर सुरक्षित डिफ़ॉल्ट लागू किए जाते हैं।
  • प्रदाता: Discord/Slack/Signal/iMessage अब CLI/UI में सुसंगत रूप से उपलब्ध हैं।
सामान्यीकृत आकृति और उदाहरणों के लिए Cron jobs देखें।

सत्यापन

  • Gateway लॉग्स में cron.add INVALID_REQUEST त्रुटियों में कमी देखें।
  • रिफ़्रेश के बाद Control UI में cron स्टेटस जॉब काउंट दिखना सुनिश्चित करें।

वैकल्पिक फ़ॉलो-अप्स

  • मैनुअल Control UI स्मोक: प्रति प्रदाता एक cron जॉब जोड़ें + स्टेटस जॉब काउंट सत्यापित करें।

खुले प्रश्न

  • क्या cron.add को क्लाइंट्स से स्पष्ट state स्वीकार करना चाहिए (वर्तमान में स्कीमा द्वारा अस्वीकृत)?
  • क्या webchat को एक स्पष्ट डिलीवरी प्रदाता के रूप में अनुमति देनी चाहिए (वर्तमान में डिलीवरी रेज़ोल्यूशन में फ़िल्टर किया गया)?