ما تفعله أداة request_proposal
مخطط المدخلات
| الحقل | النوع | إلزامي | ملاحظات |
|---|---|---|---|
quote_id | string | أحد الحقلين quote_id أو roles | من estimate_squad_cost، وصالح 30 يومًا |
roles | object[] | أحد الحقلين quote_id أو roles | بالبنية نفسها المستخدمة في estimate_squad_cost |
contact | object | نعم | name وwork_email وcompany وcountry |
notes | string | لا | حتى 2,000 حرف: الأهداف والتقنيات والقيود |
preferred_language | enum | لا | en أو ar |
user_confirmation | object | نعم | confirmed: true، وsummary_shown: النص الذي وافق عليه المستخدم حرفيًا |
مخطط المخرجات
- proposal_id (مثل prop_K29XQ).
- status: draft_pending_verification (دون مصادقة) أو draft_in_client_os (مع OAuth).
- magic_link_sent_to: البريد مقنّعًا، مثل n***@company.com.
- link_expires_in_hours: 24.
- next_steps[]: مثل: افتح الرابط للتحقق من بريدك · راجع الفريق وأضف التفاصيل · يؤكد متخصص من Remote Pro Ai الأسعار قبل أي التزام.
مثال استدعاء واستجابة
الطلب
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "request_proposal",
"arguments": {
"quote_id": "q_7HD29K",
"contact": {
"name": "Nadia",
"work_email": "nadia@company.com",
"company": "Company",
"country": "SA"
},
"notes": "Kubernetes migration",
"preferred_language": "ar",
"user_confirmation": {
"confirmed": true,
"summary_shown": "سأنشئ مسودة عرض لمهندسَي سحابة بمستوى خبير ومهندس بمستوى قائد (العرض q_7HD29K)، وأرسل رابطًا إلى nadia@company.com. هل توافق؟"
}
}
}
}الاستجابة
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "أُنشئت مسودة العرض، وأُرسل رابط إلى n***@company.com."
}
],
"structuredContent": {
"proposal_id": "prop_K29XQ",
"status": "draft_pending_verification",
"magic_link_sent_to": "n***@company.com",
"link_expires_in_hours": 24,
"next_steps": [
"افتح الرابط للتحقق من بريدك",
"راجع الفريق وأضف التفاصيل",
"يؤكد متخصص من Remote Pro Ai الأسعار قبل أي التزام"
]
}
}
}الأخطاء
consent_required— اعرض على المستخدم ملخص ما سيُنشأ وإلى أين سيُرسل الرابط، ثم أعد الاستدعاء مع user_confirmationinvalid_argument— يجب أن يكون contact.work_email بريدًا صالحًاquote_expired— انتهت صلاحية quote_id؛ أنشئ تقديرًا جديدًا قبل طلب العرضrate_limited— بلغت حد العروض لهذا البريد؛ أعد المحاولة بعد retry_after دقيقة
الموافقة والاعتماد البشري والمصادقة
- التلميحات: ليست للقراءة فقط، وليست متساوية الأثر عند التكرار؛ على المساعد سؤال المستخدم قبل تشغيلها.
- الاستدعاء دون مصادقة يرسل رابط دخول بالبريد، ولا تظهر المسودة إلا بعد تحقق المستخدم من بريده.
- مع OAuth (النطاق proposals:write) تُحفظ المسودة مباشرة في Client OS لمؤسسة المستخدم ليراجعها.
- يراجع متخصص من Remote Pro Ai كل مسودة قبل إصدار أي عرض سعر. المساعد لا يحجز ولا يوقّع ولا يدفع أبدًا.
- الحد: 5 عروض في الساعة لكل بريد إلكتروني.