تنسيقات تأليف بوابة القرار
قرار بوابة القرار يقبل إدخال تأليف ScenarioSpec بصيغة JSON أو RON. JSON هو التنسيق القياسي المستخدم للتجزئة، والمخططات، وحزم التشغيل. RON موجود فقط كطبقة تأليف صديقة للبشر ويجب تحويله إلى JSON القياسي قبل التنفيذ.
JSON القياسي
- يستخدم JSON القياسي RFC 8785 (JCS) لترتيب حتمي.
- يتم حساب تجزئة ScenarioSpec على بايتات JSON القياسية.
- يتم إصدار JSON القياسي بواسطة
decision-gate authoring normalize.
المدخلات المدعومة
- JSON: تنسيق قياسي للتخزين، التجزئة، والتحقق.
- RON: تنسيق مؤلف فقط تم تطبيعه إلى JSON القياسي.
- YAML: غير مدعوم بشكل افتراضي (يضاف فقط عند الحاجة الصريحة).
خط أنابيب التطبيع
- تحليل JSON أو RON إلى قيمة منظمة.
- تحقق من صحة
schemas/scenario.schema.json. - تشغيل التحقق الدلالي لـ ScenarioSpec (المعرفات، الشروط، البوابات).
- تحويل إلى JSON (RFC 8785).
- احسب تجزئة المواصفة الكانونية.
الحدود
- الحد الأقصى لحجم إدخال التأليف: 16777216 بايت.
- عمق التعشيش الأقصى: 64.
استخدام واجهة سطر الأوامر
تحقق من إدخال تأليف RON:
cargo run -p decision-gate-cli -- authoring validate --input Docs/generated/decision-gate/examples/scenario.ron --format ron
قم بتطبيع إلى JSON القياسي:
cargo run -p decision-gate-cli -- authoring normalize --input Docs/generated/decision-gate/examples/scenario.ron --format ron \
--output /tmp/dg-doc-scenario.json
المراجع
Docs/generated/decision-gate/examples/scenario.ron: مثال تأليف في RON.Docs/generated/decision-gate/examples/scenario.json: مخرجات JSON القياسية.schemas/scenario.schema.json: مخطط JSON لـ ScenarioSpec.