أدوات بوابة القرار MCP
تحميل: tooling.json (268 كيلوبايت) تحميل: openapi/decision-gate.json (343 كيلوبايت)
صفحات تفاصيل الأدوات
scenario_define- تسجيل ScenarioSpec، التحقق من صحته، وإرجاع التجزئة القياسية المستخدمة لفحوصات السلامة.scenario_start- إنشاء حالة تشغيل جديدة لسيناريو وإصدار حزم دخول اختيارية.scenario_status- جلب لقطة تشغيل للقراءة فقط وملخص آمن دون تغيير الحالة.scenario_next- تقييم البوابات استجابةً لطلب التالي المدفوع من قبل الوكيل.scenario_submit- تقديم العناصر الخارجية إلى حالة التشغيل للتدقيق والتقييم لاحقًا.scenario_trigger- تقديم حدث تفعيل (جدولة/خارجي) وتقييم التشغيل.evidence_query- استعلام عن مزود الأدلة مع سياق التشغيل الكامل وسياسة الإفصاح.runpack_export- تصدير قطع العمل المحددة للتحقق غير المتصل.runpack_verify- تحقق من بيان تشغيل الحزمة والفنون المرفقة دون اتصال.providers_list- قائمة مقدمي الأدلة المسجلين وملخص القدرات.provider_contract_get- استرجاع JSON عقد المزود القياسي والتجزئة لمزود الخدمة.provider_check_schema_get- جلب تفاصيل مخطط التحقق (المعلمات/النتيجة/المقارنات) لمزود الخدمة.schemas_register- تسجيل مخطط شكل البيانات لمستأجر وفضاء اسم.schemas_list- قائمة الأشكال البيانية المسجلة لمستأجر وفضاء أسماء.schemas_get- استرجاع شكل بيانات محدد بواسطة المعرف والإصدار.scenarios_list- قائمة السيناريوهات المسجلة لمستأجر وفضاء اسم.precheck- تقييم سيناريو مقابل البيانات المحددة دون تغيير الحالة.decision_gate_docs_search- ابحث في وثائق بوابة القرار للحصول على إرشادات وقت التشغيل.
هذا المستند يلخص واجهة أداة MCP والاستخدام المتوقع. المخططات الكاملة موجودة في tooling.json، مع المخططات الداعمة تحت schemas/ والأمثلة تحت examples/.
بدء سريع لدورة الحياة
scenario_defineيسجل ويحقق في صحة ScenarioSpec.scenario_startينشئ عملية تشغيل ويصدر حزم إدخال بشكل اختياري.scenario_nextيتقدم بتشغيل مدفوع من قبل الوكيل؛scenario_triggerيتقدم بالوقت/المحفزات الخارجية.scenario_statusيستعلم عن حالة التشغيل دون تغييرها.scenario_submitيضيف عناصر خارجية للتدقيق والفحوصات اللاحقة.runpack_exportوrunpack_verifyتدعمان التحقق غير المتصل بالإنترنت.
مراجع الأثر
authoring.md: إرشادات تنسيق التأليف والتطبيع.[scenario.json](/downloads/decision-gate/examples/scenario.json): مثال كامل لـ ScenarioSpec.examples/scenario.ron: مثال ScenarioSpec سهل التأليف.[run-config.json](/downloads/decision-gate/examples/run-config.json): مثال على تكوين التشغيل لسيناريو البدء.[decision-gate.toml](/downloads/decision-gate/examples/decision-gate.toml): مثال على تكوين MCP لمقدمي الخدمات.
| الأداة | الوصف |
|---|---|
| scenario_define | تسجيل سيناريو، التحقق من صحته، وإرجاع التجزئة القياسية المستخدمة لفحوصات السلامة. |
| scenario_start | إنشاء حالة تشغيل جديدة لسيناريو وإصدار حزم دخول اختيارية. |
| scenario_status | جلب لقطة تشغيل للقراءة فقط وملخص آمن دون تغيير الحالة. |
| scenario_next | تقييم البوابات استجابةً لطلب التالي المدفوع من قبل الوكيل. |
| scenario_submit | تقديم عناصر خارجية إلى حالة التشغيل للتدقيق والتقييم لاحقًا. |
| scenario_trigger | تقديم حدث تحفيزي (جدولة/خارجي) وتقييم التشغيل. |
| evidence_query | استعلام عن مزود الأدلة مع سياق التشغيل الكامل وسياسة الإفصاح. |
| runpack_export | تصدير عناصر حزمة التشغيل الحتمية للتحقق غير المتصل. |
| runpack_verify | التحقق من بيان حزمة التشغيل والعناصر غير المتصلة. |
| providers_list | قائمة بمزودي الأدلة المسجلين وملخص القدرات. |
| provider_contract_get | جلب عقد المزود القياسي بصيغة JSON والتجزئة لمزود. |
| provider_check_schema_get | جلب تفاصيل مخطط التحقق (المعلمات/النتيجة/المقارنات) لمزود. |
| schemas_register | تسجيل مخطط شكل البيانات لمستأجر وفضاء أسماء. |
| schemas_list | قائمة بأشكال البيانات المسجلة لمستأجر وفضاء أسماء. |
| schemas_get | جلب شكل بيانات محدد بواسطة المعرف والإصدار. |
| scenarios_list | قائمة بالسيناريوهات المسجلة لمستأجر وفضاء أسماء. |
| precheck | تقييم سيناريو مقابل البيانات المؤكدة دون تغيير الحالة. |
| decision_gate_docs_search | البحث في وثائق بوابة القرار للحصول على إرشادات وقت التشغيل. |
تحديد_السيناريو
قم بتسجيل ScenarioSpec، تحقق منه، وارجع إلى الهاش القياسي المستخدم لفحوصات السلامة.
مدخلات
- spec (مطلوب): مواصفة السيناريو للتسجيل.
المخرجات
- scenario_id (required): معرف السيناريو.
- spec_hash (مطلوب): النوع: object.
ملاحظات
- استخدم قبل بدء الجولات؛ scenario_id يصبح المقبض الثابت لاستدعاءات لاحقة.
- يحقق في معرفات المرحلة/البوابة/الشرط، وأشجار RET، ومراجع الشروط.
- هاش التحقق محدد؛ خزنه للتدقيق وسلامة فك الحزمة.
- يفشل النظام عند وجود مواصفات غير صالحة أو معرفات سيناريو مكررة.
مثال
سجل مواصفات سيناريو المثال.
مدخل:
{
"spec": {
"conditions": [
{
"comparator": "equals",
"condition_id": "env_is_prod",
"expected": "production",
"policy_tags": [],
"query": {
"check_id": "get",
"params": {
"key": "DEPLOY_ENV"
},
"provider_id": "env"
}
},
{
"comparator": "equals",
"condition_id": "after_freeze",
"expected": true,
"policy_tags": [],
"query": {
"check_id": "after",
"params": {
"timestamp": 1710000000000
},
"provider_id": "time"
}
}
],
"default_tenant_id": null,
"namespace_id": 1,
"policies": [],
"scenario_id": "example-scenario",
"schemas": [],
"spec_version": "v1",
"stages": [
{
"advance_to": {
"kind": "terminal"
},
"entry_packets": [
{
"content_type": "application/json",
"expiry": null,
"packet_id": "packet-hello",
"payload": {
"kind": "json",
"value": {
"message": "hello",
"purpose": "scenario entry packet"
}
},
"policy_tags": [],
"schema_id": "schema-hello",
"visibility_labels": [
"public"
]
}
],
"gates": [
{
"gate_id": "env_gate",
"requirement": {
"Condition": "env_is_prod"
}
},
{
"gate_id": "time_gate",
"requirement": {
"Condition": "after_freeze"
}
}
],
"on_timeout": "fail",
"stage_id": "main",
"timeout": null
}
]
}
}
Output:
{
"scenario_id": "example-scenario",
"spec_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
}
}
سيناريو_البداية
إنشاء حالة تشغيل جديدة لسيناريو وإصدار حزم الدخول بشكل اختياري.
مدخلات
- issue_entry_packets (required): إصدار حزم الإدخال على الفور.
- run_config (مطلوب): تكوين التشغيل وأهداف الإرسال.
- scenario_id (required): معرف السيناريو.
- started_at (مطلوب): الطابع الزمني لبداية التشغيل المقدم من المتصل.
المخرجات
- current_stage_id (required): معرف المرحلة الحالية.
- القرارات (مطلوبة): النوع: array.
- dispatch_targets (مطلوب): النوع: array.
- gate_evals (مطلوب): النوع: array.
- namespace_id (مطلوب): معرف مساحة الاسم.
- الحزم (مطلوب): النوع: array.
- run_id (مطلوب): معرف التشغيل.
- scenario_id (required): معرف السيناريو.
- spec_hash (مطلوب): النوع: object.
stage_entered_at(مطلوب): واحد من: كائن، كائن.- الحالة (مطلوب): النوع: string.
- التقديمات (مطلوب): النوع: array.
- tenant_id (مطلوب): معرف المستأجر.
- tool_calls (مطلوب): النوع: array.
- المشغلات (مطلوب): النوع: array.
ملاحظات
- يتطلب RunConfig (tenant_id, run_id, scenario_id, dispatch_targets).
- استخدم started_at لتسجيل الطابع الزمني الذي يقدمه المتصل كبداية.
- إذا كانت issue_entry_packets صحيحة، يتم الكشف عن حزم الإدخال على الفور.
- يفشل الإغلاق إذا كان run_id موجودًا بالفعل أو كان scenario_id غير معروف.
مثال
ابدأ تشغيلًا لسيناريو المثال وأصدر حزم الإدخال.
مدخل:
{
"issue_entry_packets": true,
"run_config": {
"dispatch_targets": [
{
"agent_id": "agent-alpha",
"kind": "agent"
}
],
"namespace_id": 1,
"policy_tags": [],
"run_id": "run-0001",
"scenario_id": "example-scenario",
"tenant_id": 1
},
"scenario_id": "example-scenario",
"started_at": {
"kind": "unix_millis",
"value": 1710000000000
}
}
Output:
{
"current_stage_id": "main",
"decisions": [],
"dispatch_targets": [
{
"agent_id": "agent-alpha",
"kind": "agent"
}
],
"gate_evals": [],
"namespace_id": 1,
"packets": [],
"run_id": "run-0001",
"scenario_id": "example-scenario",
"spec_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"stage_entered_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"status": "active",
"submissions": [],
"tenant_id": 1,
"tool_calls": [],
"triggers": []
}
حالة السيناريو
احصل على لقطة تشغيل للقراءة فقط وملخص آمن دون تغيير الحالة.
مدخلات
- طلب (مطلوب): حمولة طلب الحالة.
- scenario_id (required): معرف السيناريو.
المخرجات
- current_stage_id (required): معرف المرحلة الحالية.
- issued_packet_ids (required): النوع: array.
last_decision(مطلوب، قابل للاحتواء): واحد من: null، كائن.- namespace_id (اختياري): معرف المساحة الاسمية.
- run_id (مطلوب): معرف التشغيل.
safe_summary(مطلوب، قابل للإلغاء): واحد من: null، كائن.- scenario_id (required): معرف السيناريو.
- الحالة (مطلوب): النوع: string.
ملاحظات
- استخدم لاستطلاع الرأي أو حالة واجهة المستخدم؛ لا يقوم بتقييم البوابات.
- تتجاهل الملخصات الآمنة قيم الأدلة وقد تتضمن تلميحات لإعادة المحاولة.
- يُرجع معرفات الحزم الصادرة للمساعدة في تتبع الإفصاحات.
مثال
استعلام حالة التشغيل دون التقدم في التشغيل.
مدخل:
{
"request": {
"correlation_id": null,
"namespace_id": 1,
"requested_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"run_id": "run-0001",
"tenant_id": 1
},
"scenario_id": "example-scenario"
}
Output:
{
"current_stage_id": "main",
"issued_packet_ids": [],
"last_decision": null,
"run_id": "run-0001",
"safe_summary": null,
"scenario_id": "example-scenario",
"status": "active"
}
سيناريو_التالي
تقييم البوابات استجابةً لطلب التالي المدفوع بواسطة وكيل.
مدخلات
feedback(اختياري، قابل لأن يكون فارغاً): تجاوز مستوى التعليقات الاختياري لسيناريو_التالي.- request (required): الحمولة التالية المطلوبة من وكيل.
- scenario_id (required): معرف السيناريو.
المخرجات
- القرار (مطلوب): النوع: كائن.
feedback(اختياري، يمكن أن يكون فارغاً): واحد من: فارغ، كائن.- الحزم (مطلوب): النوع: array.
- الحالة (مطلوب): النوع: string.
ملاحظات
- متماثل بواسطة trigger_id؛ المكالمات المتكررة تعيد نفس القرار.
- يسجل القرار، والأدلة، وكشف الحزم في حالة التشغيل.
- يتطلب تشغيلًا نشطًا؛ لا تتقدم العمليات المكتملة أو الفاشلة.
- يمكن أن تتضمن الملاحظات الاختيارية تتبع البوابة أو الأدلة عندما يسمح بذلك سياسة ملاحظات الخادم.
مثال
مثال 1: تقييم الخطوة التالية المدفوعة بالوكيل لجولة.
مدخل:
{
"request": {
"agent_id": "agent-alpha",
"correlation_id": null,
"namespace_id": 1,
"run_id": "run-0001",
"tenant_id": 1,
"time": {
"kind": "unix_millis",
"value": 1710000000000
},
"trigger_id": "trigger-0001"
},
"scenario_id": "example-scenario"
}
Output:
{
"decision": {
"correlation_id": null,
"decided_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"decision_id": "decision-0001",
"outcome": {
"kind": "complete",
"stage_id": "main"
},
"seq": 0,
"stage_id": "main",
"trigger_id": "trigger-0001"
},
"packets": [],
"status": "completed"
}
مثال 2: تقييم عملية وتشغيل طلب ملاحظات التتبع.
مدخل:
{
"feedback": "trace",
"request": {
"agent_id": "agent-alpha",
"correlation_id": null,
"namespace_id": 1,
"run_id": "run-0001",
"tenant_id": 1,
"time": {
"kind": "unix_millis",
"value": 1710000000000
},
"trigger_id": "trigger-0001"
},
"scenario_id": "example-scenario"
}
Output:
{
"decision": {
"correlation_id": null,
"decided_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"decision_id": "decision-0001",
"outcome": {
"kind": "complete",
"stage_id": "main"
},
"seq": 0,
"stage_id": "main",
"trigger_id": "trigger-0001"
},
"feedback": {
"gate_evaluations": [],
"level": "trace"
},
"packets": [],
"status": "completed"
}
سيناريو_تقديم
قم بتقديم العناصر الخارجية إلى حالة التشغيل للتدقيق والتقييم لاحقًا.
مدخلات
- طلب (مطلوب): حمولة الإرسال والبيانات الوصفية.
- scenario_id (required): معرف السيناريو.
المخرجات
- سجل (مطلوب): النوع: كائن.
ملاحظات
- يتم تجزئة الحمولة وتخزينها كسجل تقديم.
- لا يحرّك الجري بنفسه.
- استخدم للنماذج أو المشغلين الذين يزودون بالقطع الأثرية.
مثال
تقديم عنصر خارجي للتدقيق والتقييم لاحقًا.
مدخل:
{
"request": {
"content_type": "application/json",
"correlation_id": null,
"namespace_id": 1,
"payload": {
"kind": "json",
"value": {
"artifact": "attestation",
"status": "approved"
}
},
"run_id": "run-0001",
"submission_id": "submission-0001",
"submitted_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"tenant_id": 1
},
"scenario_id": "example-scenario"
}
Output:
{
"record": {
"content_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"content_type": "application/json",
"correlation_id": null,
"payload": {
"kind": "json",
"value": {
"artifact": "attestation",
"status": "approved"
}
},
"run_id": "run-0001",
"submission_id": "submission-0001",
"submitted_at": {
"kind": "unix_millis",
"value": 1710000000000
}
}
}
مشغل_السيناريو
قم بتقديم حدث تشغيل (جدولة/خارجي) وتقييم التشغيل.
مدخلات
- scenario_id (required): معرف السيناريو.
- trigger (مطلوب): حمولة حدث الزناد.
المخرجات
- القرار (مطلوب): النوع: كائن.
- الحزم (مطلوب): النوع: array.
- الحالة (مطلوب): النوع: string.
ملاحظات
- يتم توفير وقت الزناد بواسطة المتصل؛ لا توجد قراءات للساعة الحائطية.
- يسجل حدث الزناد والقرار الناتج.
- استخدمها لتحفيزات النظام المعتمدة على الوقت أو الخارجية.
مثال
تقدم تشغيلًا من مجدول أو مشغل خارجي.
مدخل:
{
"scenario_id": "example-scenario",
"trigger": {
"correlation_id": null,
"kind": "tick",
"namespace_id": 1,
"payload": null,
"run_id": "run-0001",
"source_id": "scheduler-01",
"tenant_id": 1,
"time": {
"kind": "unix_millis",
"value": 1710000000000
},
"trigger_id": "trigger-0001"
}
}
Output:
{
"decision": {
"correlation_id": null,
"decided_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"decision_id": "decision-0001",
"outcome": {
"kind": "complete",
"stage_id": "main"
},
"seq": 0,
"stage_id": "main",
"trigger_id": "trigger-0001"
},
"packets": [],
"status": "completed"
}
استعلام_الأدلة
استعلام عن مزود الأدلة مع سياق التشغيل الكامل وسياسة الإفصاح.
مدخلات
- سياق (مطلوب): سياق الأدلة المستخدمة للتقييم.
- استعلام (مطلوب): حمولة استعلام الأدلة.
المخرجات
- النتيجة (مطلوب): النوع: كائن.
ملاحظات
- قد تقوم سياسة الإفصاح بحذف القيم الخام؛ لا تزال القيم التجزئة/المرتكزات مُرجعة.
- استخدم للتشخيصات أو فحوصات ما قبل الطيران؛ يستخدم وقت التشغيل نفس منطق المزود.
- يتطلب provider_id و check_id و EvidenceContext الكامل.
مثال
استعلام عن مزود الأدلة باستخدام سياق التشغيل.
مدخل:
{
"context": {
"correlation_id": null,
"namespace_id": 1,
"run_id": "run-0001",
"scenario_id": "example-scenario",
"stage_id": "main",
"tenant_id": 1,
"trigger_id": "trigger-0001",
"trigger_time": {
"kind": "unix_millis",
"value": 1710000000000
}
},
"query": {
"check_id": "get",
"params": {
"key": "DEPLOY_ENV"
},
"provider_id": "env"
}
}
Output:
{
"result": {
"content_type": "text/plain",
"error": null,
"evidence_anchor": {
"anchor_type": "env",
"anchor_value": "DEPLOY_ENV"
},
"evidence_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"evidence_ref": null,
"lane": "verified",
"signature": null,
"value": {
"kind": "json",
"value": "production"
}
}
}
runpack_export
تصدير فنون تشغيل الحزم الحتمية للتحقق غير المتصل.
مدخلات
- generated_at (مطلوب): الطابع الزمني المسجل في البيان.
- include_verification (required): إنشاء تقرير تحقق.
manifest_name(اختياري، يمكن أن يكون فارغًا): تجاوز اختياري لاسم ملف البيان.- namespace_id (مطلوب): معرف مساحة الاسم.
output_dir(اختياري، قابل للإلغاء): دليل الإخراج الاختياري (مطلوب لتصدير نظام الملفات).- run_id (مطلوب): معرف التشغيل.
- scenario_id (required): معرف السيناريو.
- tenant_id (مطلوب): معرف المستأجر.
المخرجات
- manifest (مطلوب): النوع: كائن.
report(مطلوب، قابل للإلغاء): واحد من: null، كائن.storage_uri(اختياري، يمكن أن يكون فارغًا): URI تخزين اختياري لواجهات تخزين runpack المدارة.
ملاحظات
- يكتب البيان والسجلات إلى output_dir؛ يتم تسجيل generated_at في البيان.
- include_verification يضيف عنصر تقرير التحقق.
- استخدم بعد اكتمال التشغيل أو لقطات التدقيق.
مثال
تصدير حزمة تشغيل مع بيانات وصفية للمانيفيست.
مدخل:
{
"generated_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"include_verification": false,
"manifest_name": "manifest.json",
"namespace_id": 1,
"output_dir": "/var/lib/decision-gate/runpacks/run-0001",
"run_id": "run-0001",
"scenario_id": "example-scenario",
"tenant_id": 1
}
Output:
{
"manifest": {
"artifacts": [
{
"artifact_id": "decision_log",
"content_type": "application/json",
"hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"kind": "decision_log",
"path": "decision_log.json",
"required": true
}
],
"generated_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"hash_algorithm": "sha256",
"integrity": {
"file_hashes": [
{
"hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"path": "decision_log.json"
}
],
"root_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
}
},
"manifest_version": "v1",
"namespace_id": 1,
"run_id": "run-0001",
"scenario_id": "example-scenario",
"spec_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"tenant_id": 1,
"verifier_mode": "offline_strict"
},
"report": null,
"storage_uri": null
}
runpack_verify
تحقق من بيان التشغيل والمكونات في وضع عدم الاتصال.
مدخلات
- مسار_التطبيق (مطلوب): مسار التطبيق بالنسبة لجذر حزمة التشغيل.
- runpack_dir (مطلوب): دليل الجذر لـ Runpack.
المخرجات
- التقرير (مطلوب): النوع: كائن.
- حالة (مطلوبة): حالة تحقق من Runpack.
ملاحظات
- يحقق في التجزئات، وجذر السلامة، وبنية سجل القرارات.
- يفشل النظام في حالة فقدان أو العبث بالملفات.
- استخدم في CI أو في خطوط تدقيق غير متصلة بالإنترنت.
مثال
تحقق من بيان التشغيل والمكونات في وضع عدم الاتصال.
مدخل:
{
"manifest_path": "manifest.json",
"runpack_dir": "/var/lib/decision-gate/runpacks/run-0001"
}
Output:
{
"report": {
"checked_files": 12,
"errors": [],
"status": "pass"
},
"status": "pass"
}
providers_list
قائمة مقدمي الأدلة المسجلين وملخص القدرات.
مدخلات
المخرجات
- المزودون (مطلوب): النوع: array.
ملاحظات
- يعيد معرفات المزود وبيانات النقل.
- نتائج محصورة بسياسة المصادقة.
مثال
قائمة مقدمي الأدلة المسجلين.
مدخل:
{}
Output:
{
"providers": [
{
"checks": [
"get"
],
"provider_id": "env",
"transport": "builtin"
}
]
}
providercontractget
احصل على JSON عقد المزود القياسي وهاش لمزود.
مدخلات
- provider_id (required): معرف المزود.
المخرجات
- عقد (مطلوب): النوع: كائن.
- contract_hash (مطلوب): النوع: object.
- provider_id (required): معرف المزود.
- المصدر (مطلوب): مصدر أصل العقد.
version(مطلوب، قابل للإلغاء): تسمية إصدار العقد الاختيارية.
ملاحظات
- يعيد عقد المزود كما تم تحميله بواسطة خادم MCP.
- يتضمن تجزئة معيارية للتدقيق وإعادة الإنتاج.
- خاضع لسياسة إفصاح المزود والتفويض.
مثال
احصل على JSON العقد لمزود الخدمة.
مدخل:
{
"provider_id": "json"
}
Output:
{
"contract": {
"checks": [],
"config_schema": {
"additionalProperties": false,
"type": "object"
},
"description": "Reads JSON or YAML files and evaluates JSONPath.",
"name": "JSON Provider",
"notes": [],
"provider_id": "json",
"transport": "builtin"
},
"contract_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"provider_id": "json",
"source": "builtin",
"version": null
}
providercheckschema_get
احصل على تفاصيل مخطط التحقق (المعلمات/النتيجة/المقارنات) لمزود الخدمة.
مدخلات
- check_id (required): معرف فحص المزود.
- provider_id (required): معرف المزود.
المخرجات
- allowed_comparators (مطلوب): قائمة السماح للمقارنات لهذا الفحص.
- أنواع_الرابط (مطلوب): أنواع الروابط التي تصدرها هذه الفحص.
- check_id (required): تحقق من المعرف.
- أنواع المحتوى (مطلوب): أنواع المحتوى لنتيجة الفحص.
- contract_hash (مطلوب): النوع: object.
- الحتمية (مطلوب): تصنيف الحتمية لفحوصات المزود.
- أمثلة (مطلوب): النوع: array.
- params_required (required): ما إذا كانت المعلمات مطلوبة لهذا الفحص.
- params_schema (required): مخطط JSON للتحقق من المعلمات.
- provider_id (required): معرف المزود.
- result_schema (مطلوب): مخطط JSON لقيمة نتيجة الفحص.
ملاحظات
- يُرجع بيانات التعريف المخزنة للمخطط لمراجعة واحدة.
- يتضمن قوائم السماح للمقارنات وأمثلة الفحص.
- خاضع لسياسة إفصاح المزود والتفويض.
مثال
احصل على تفاصيل مخطط التحقق لمقدم الخدمة.
مدخل:
{
"check_id": "path",
"provider_id": "json"
}
Output:
{
"allowed_comparators": [
"equals",
"in_set",
"exists",
"not_exists"
],
"anchor_types": [],
"check_id": "path",
"content_types": [
"application/json"
],
"contract_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"determinism": "external",
"examples": [],
"params_required": true,
"params_schema": {
"properties": {
"file": {
"type": "string"
},
"jsonpath": {
"type": "string"
}
},
"required": [
"file"
],
"type": "object"
},
"provider_id": "json",
"result_schema": {
"type": [
"null",
"string",
"number",
"boolean",
"array",
"object"
]
}
}
schemas_register
قم بتسجيل مخطط شكل البيانات لمستأجر وفضاء الأسماء.
مدخلات
- سجل (مطلوب): النوع: كائن.
المخرجات
- سجل (مطلوب): النوع: كائن.
ملاحظات
- المخططات غير قابلة للتغيير؛ تسجيل نفس النسخة مرتين يفشل.
- قدم created_at لتسجيل متى تم تأليف المخطط.
مثال
تسجيل مخطط شكل البيانات.
مدخل:
{
"record": {
"created_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"description": "Asserted payload schema.",
"namespace_id": 1,
"schema": {
"additionalProperties": false,
"properties": {
"deploy_env": {
"type": "string"
}
},
"required": [
"deploy_env"
],
"type": "object"
},
"schema_id": "asserted_payload",
"tenant_id": 1,
"version": "v1"
}
}
Output:
{
"record": {
"created_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"description": "Asserted payload schema.",
"namespace_id": 1,
"schema": {
"additionalProperties": false,
"properties": {
"deploy_env": {
"type": "string"
}
},
"required": [
"deploy_env"
],
"type": "object"
},
"schema_id": "asserted_payload",
"tenant_id": 1,
"version": "v1"
}
}
قائمة_المخططات
قائمة أشكال البيانات المسجلة لمستأجر وفضاء أسماء.
مدخلات
- المؤشر (اختياري، قابل للإلغاء): واحد من: null، string.
- الحد (اختياري): الحد الأقصى لعدد السجلات التي سيتم إرجاعها.
- namespace_id (مطلوب): معرف مساحة الاسم.
- tenant_id (مطلوب): معرف المستأجر.
المخرجات
- العناصر (مطلوب): النوع: array.
- next_token (مطلوب، قابل للإلغاء): واحد من: null، string.
ملاحظات
- يتطلب tenant_id و namespace_id.
- يدعم الترقيم عبر المؤشر + الحد.
مثال
قائمة أشكال البيانات لمساحة الأسماء.
مدخل:
{
"cursor": null,
"limit": 50,
"namespace_id": 1,
"tenant_id": 1
}
Output:
{
"items": [
{
"created_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"description": "Asserted payload schema.",
"namespace_id": 1,
"schema": {
"additionalProperties": false,
"properties": {
"deploy_env": {
"type": "string"
}
},
"required": [
"deploy_env"
],
"type": "object"
},
"schema_id": "asserted_payload",
"tenant_id": 1,
"version": "v1"
}
],
"next_token": null
}
schemas_get
احصل على شكل بيانات محدد بواسطة المعرف والإصدار.
مدخلات
- namespace_id (مطلوب): معرف مساحة الاسم.
- schema_id (مطلوب): معرف شكل البيانات.
- tenant_id (مطلوب): معرف المستأجر.
- version (required): معرف إصدار شكل البيانات.
المخرجات
- سجل (مطلوب): النوع: كائن.
ملاحظات
- يتطلب tenant_id و namespace_id و schema_id و version.
- يفشل في الإغلاق عندما يكون المخطط مفقودًا.
مثال
استرجاع شكل البيانات بواسطة المعرف والإصدار.
مدخل:
{
"namespace_id": 1,
"schema_id": "asserted_payload",
"tenant_id": 1,
"version": "v1"
}
Output:
{
"record": {
"created_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"description": "Asserted payload schema.",
"namespace_id": 1,
"schema": {
"additionalProperties": false,
"properties": {
"deploy_env": {
"type": "string"
}
},
"required": [
"deploy_env"
],
"type": "object"
},
"schema_id": "asserted_payload",
"tenant_id": 1,
"version": "v1"
}
}
قائمة السيناريوهات
قائمة السيناريوهات المسجلة لمستأجر وفضاء الأسماء.
مدخلات
- المؤشر (اختياري، قابل للإلغاء): واحد من: null، string.
- الحد (اختياري): الحد الأقصى لعدد السجلات التي سيتم إرجاعها.
- namespace_id (مطلوب): معرف مساحة الاسم.
- tenant_id (مطلوب): معرف المستأجر.
المخرجات
- العناصر (مطلوب): النوع: array.
- next_token (مطلوب، قابل للإلغاء): واحد من: null، string.
ملاحظات
- يتطلب tenant_id و namespace_id.
- يعيد معرفات السيناريو والتجزئات.
مثال
قائمة السيناريوهات لمساحة الأسماء.
مدخل:
{
"cursor": null,
"limit": 50,
"namespace_id": 1,
"tenant_id": 1
}
Output:
{
"items": [
{
"namespace_id": 1,
"scenario_id": "example-scenario",
"spec_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
}
}
],
"next_token": null
}
فحص مسبق
قم بتقييم سيناريو مقابل البيانات المصرح بها دون تغيير الحالة.
مدخلات
- data_shape (مطلوب): النوع: كائن.
- namespace_id (مطلوب): معرف مساحة الاسم.
- حمولة البيانات (مطلوبة): حمولة البيانات المؤكدة.
scenario_id(اختياري، يمكن أن يكون فارغاً): واحد من: فارغ، سلسلة.spec(اختياري، يمكن أن يكون فارغًا): واحد من: null، ref decision-gate://contract/schemas/scenario.schema.json.stage_id(اختياري، يمكن أن يكون فارغاً): واحد من: فارغ، سلسلة.- tenant_id (مطلوب): معرف المستأجر.
المخرجات
decision(مطلوب): واحد من: كائن، كائن، كائن، كائن، كائن.- تقييمات_البوابة (مطلوب): النوع: array.
ملاحظات
- يحقق في البيانات المصرح بها مقابل شكل مسجل.
- لا يغير حالة التشغيل؛ مخصص للمحاكاة.
مثال
تحقق مسبقًا من سيناريو مع بيانات مؤكدة.
مدخل:
{
"data_shape": {
"schema_id": "asserted_payload",
"version": "v1"
},
"namespace_id": 1,
"payload": {
"deploy_env": "production"
},
"scenario_id": "example-scenario",
"spec": null,
"stage_id": null,
"tenant_id": 1
}
Output:
{
"decision": {
"kind": "hold",
"summary": {
"policy_tags": [],
"retry_hint": "await_evidence",
"status": "hold",
"unmet_gates": [
"ready"
]
}
},
"gate_evaluations": []
}
decisiongatedocs_search
ابحث في وثائق Decision Gate للحصول على إرشادات وقت التشغيل.
مدخلات
- max_sections (اختياري): الحد الأقصى لعدد الأقسام التي سيتم إرجاعها (الافتراضي 3، الحد الأقصى 10).
- استعلام (مطلوب): استعلام البحث عن أقسام الوثائق.
المخرجات
- docs_covered (مطلوب): النوع: array.
- الأقسام (مطلوب): النوع: array.
- suggested_followups (required): مطالبات متابعة مدركة للدور.
ملاحظات
- استخدم للبحث السريع عن تدفق الأدلة، والمقارنات، ودلالات المزود.
- يُرجع الأقسام المرتبة مع علامات الدور والمتابعات المقترحة.
- البحث محدد ويقتصر على فهرس الوثائق المكون.
مثال
ابحث عن تدفق الأدلة وإرشادات مسار الثقة.
مدخل:
{
"max_sections": 2,
"query": "precheck vs live run trust lanes"
}
Output:
{
"docs_covered": [
{
"doc_id": "evidence_flow_and_execution_model",
"doc_role": "reasoning",
"doc_title": "Evidence Flow + Execution Model"
}
],
"sections": [
{
"content": "...",
"doc_id": "evidence_flow_and_execution_model",
"doc_role": "reasoning",
"doc_title": "Evidence Flow + Execution Model",
"heading": "Core Data Flow",
"rank": 0
}
],
"suggested_followups": [
"Refine the query with comparator or provider keywords for targeted guidance."
]
}