المطورون

عقد أتمتة CLI

أنشئ برامج نصية موثوقة باستخدام JSON ذي إصدار ومدخلات حتمية ورموز خطأ وخروج مستقرة.

  • --json
  • --yes
  • schema_version: 1
--jsonيصدر غلافاً واحداً بالضبط من الإصدار 1 على stdout.
--yesيستخدم الافتراضات الحتمية ويوافق على التكاليف والمزامنة المراجعة والاستبدال والكتابة فوق الملفات. تنتهي الاختيارات المفقودة بـ input_required.
stdout وstderrتذهب نتائج الآلة إلى stdout، بينما تذهب التشخيصات والتقدم إلى stderr.
بيانات الاعتمادلا تُعاد الرموز في JSON ويجب توفيرها عبر متغيرات بيئة محمية.
غلاف النجاح
{
  "schema_version": 1,
  "ok": true,
  "command": "project.bindings",
  "result": { "bindings": [] }
}
غلاف الفشل
{
  "schema_version": 1,
  "ok": false,
  "command": "operation.start",
  "error": {
    "code": "input_required",
    "message": "...",
    "details": {}
  }
}

المرجع

رموز الخروج والخطأ المستقرة

استخدم حالة العملية للمعالجة العامة ورمز خطأ JSON للاسترداد المحدد.

الخروجالرمز المستقرالمعنى
0successاكتمل الأمر بنجاح أو أُلغي اختيار تفاعلي قبل بدء العمل.
1internal_failure / command_failedحدث فشل غير متوقع أو فشل على مستوى الأمر.
2invalid_usageالوسائط أو استخدام الأمر غير صالح.
3authentication_failedالمصادقة مفقودة أو منتهية أو مرفوضة.
4input_requiredلم يتوفر إدخال مطلوب أثناء التنفيذ غير التفاعلي.
5local_failureفشل ملف أو أداة أو إعداد أو إجراء نظام ملفات محلي.
6gateway_failureتعذر الوصول إلى البوابة أو أعادت استجابة غير صالحة.
7remote_rejectionرفضت الخدمة البعيدة طلباً صالحاً.
8operation_failedوصلت العملية إلى حالة نهائية فاشلة أو مجهضة.
130interruptedتمت مقاطعة العملية؛ ولا يُجهض عمل الخادم المقبول تلقائياً.

نتائج الأوامر

الحقول التي يعيدها كل أمر

تُضاف الحقول فقط ضمن الإصدار 1. على المستهلكين تجاهل الحقول التي لا يعرفونها.

الأمرحقول النتيجةملاحظات
login / statusapi_url, user_id, credential_sourceبيانات المصادقة دون كشف الرمز.
logoutapi_url, stored_token_removed, environment_authentication_activeيبلغ عن إزالة الرمز المحفوظ وبقاء مصادقة البيئة.
project.bindbinding | cancelled, pathيعيد الرابط أو نتيجة إلغاء المستخدم.
project.forgetpath, removed[], cancelledيحدد الروابط المحذوفة والإلغاء.
project.bindingsbindings[]يعيد كل الروابط المحلية المطابقة.
project.syncbinding, mode, path, preview, applied, summary, media[], cancelledيتضمن وضع المعاينة أو التطبيق والملخص وتغييرات الوسائط والإلغاء.
operation.startcancelled, path, project_id, operation_id, status, lifecycle_status, detached, output_target, remove_track, sources_accepted, required_credits, available_credits, outputs[], applied_tracks, skipped_tracks, removed_tracksيحدد العملية وما إذا كان التنفيذ قد انفصل.
operation.watchoperation_id, project_id, status, lifecycle_status, progress_status, failures[], local_output_pendingيبلغ عن دورة الحياة والتقدم والأخطاء والمخرجات المحلية المعلقة.
operation.applycancelled, path, operation_id, project_id, status, output_target, remove_track, partial, outputs[], applied_tracks, skipped_tracks, removed_tracksيبلغ عن المخرجات المكتوبة وإجراءات المسارات وحالة النتيجة الجزئية.

الإدخال الحتمي

قد يظل --json يطلب إدخالاً على stderr. أضف --yes لتعطيل المطالبات ووفّر كل اختيار غير حتمي عبر الخيارات أو الإعداد أو متغيرات البيئة المحمية.

subft --json --yes operation start PATH --lang de --project-id PROJECT_ID --detach

الإلغاء والنتائج الجزئية

ينتهي الإلغاء التفاعلي بالرمز 0 وcancelled: true قبل اعتماد العمل. ينتهي Ctrl-C بالرمز 130 دون إجهاض عمل الخادم المقبول. مع --yes تتطلب المخرجات غير المكتملة --allow-partial ويظل الخروج غير صفري بعد تطبيق المسارات المتاحة.

subft --json --yes operation apply OPERATION_ID PATH --allow-partial