# دمج Licentivo Launch باستخدام AI

> تستخدم التغييرات الحالية غير المنشورة تبادل هوية الحساب؛ راجع [حدود مدة الشراء وSDK الحساب](/ar/launch-documents/account-purchase-boundary/) لمعرفة المسؤوليات وقيود الترحيل. يحسب Launch مدة الشراء؛ وينفذ Licentivo SDK الترخيص.

تنشئ **أدوات التشغيل → التكامل السريع بالذكاء الاصطناعي** في لوحة Launch وصف مهمة باللغة الإنجليزية يمكن تقديمه لأداة برمجة AI. يستخدم الوصف الإعدادات العامة الحقيقية للمتجر الحالي والبرامج الموجودة والخطط المنشورة، ويطلب من AI تثبيت حزمة عميل Launch العامة واستدعاء API الحقيقي ووضع فحص الأذونات داخل عمليات الأعمال وإكمال اختبارات التكامل.

يمكن أيضًا الوصول إلى الوظيفة نفسها عبر **فحص التكامل والرمز / التكامل السريع بالذكاء الاصطناعي** في صفحة تكامل التطبيق. لا يتطلب التطوير اليدوي AI؛ ويمكن قراءة [دليل التكامل اليدوي باللغات التسع](/ar/launch-documents/manual-integration/) مباشرة.

## التحضير قبل الإنشاء

1. أنشئ البرنامج وخطة البيع في Launch واربط الخطة بمنتج Licentivo وسياسة ترخيصه.
2. انشر الخطة في بيئة `sandbox` أو `live` المراد اختبارها.
3. تأكد من إمكانية وصول برنامج العميل إلى عنوان Launch العام، واستخدم HTTPS للإنتاج.
4. اقرأ معلومات المنتج في **تكامل التطبيق → فحص التكامل والرمز**، وتأكد من اجتياز تعيين المنتج ومفتاح التوقيع العام للفحص.
5. حدد إجراء العمل الحقيقي المراد حمايته، مثل `export` أو `save` أو `render`؛ ولا تكتب «البرنامج كله» فقط.

يمكن إنشاء مسودة قبل اكتمال إعداد المنتج، لكنها تحدد بوضوح العناصر التي يجب تعبئتها ولا تصلح كإعداد تكامل قابل للتسليم. أعد إنشاءها بعد إكمال إعداد المنتج والبيئة.

## إنشاء التعليمات في لوحة الإدارة

1. اختر Go أو Python أو C# أو Java أو JavaScript / Node.js أو Rust أو Ruby أو C أو C++. يستخدم حل خلفية Web لغة Go ولا يُحسب لغة SDK إضافية.
2. اختر Windows أو Linux أو macOS أو المنصة المناسبة، ومشروع سطح مكتب أو خلفية Web أو خدمة خلفية.
3. اكتب بالإنجليزية بنية المشروع الحالية وطريقة بدء التشغيل وإطار الواجهة وميزات الأعمال المراد حمايتها. لا تدرج كلمات مرور أو مفاتيح أو بيانات عملاء أو مصدرًا خاصًا.
4. اختر البرنامج الموجود وبيئة `sandbox` / `live`. يقرأ Launch تلقائيًا عنوان المتجر الحالي وتعيين منتجات Launch وLicentivo والبيئة ومفتاح التوقيع العام.
5. راجع إصدار الحزمة وأمر التثبيت وروابط المستندات ودالة الاتصال المعبأة في المعاينة، ثم انسخ التعليمات أو نزّلها.
6. قدّم التعليمات لأداة برمجة AI الخاصة بك لتكمل التعديلات والترجمة والاختبارات المحلية في مشروعك.

ينشئ Launch النص في المتصفح فقط. لا يتصل تلقائيًا بأي خدمة AI ولا يرفع المشروع ولا ينفذ البرنامج الناتج بدلًا من المطور.

## توضح التعليمات لـ AI مكان تنزيل SDK

اجتازت عمليات التحقق من التثبيت العام للإصدار 0.1.6 جميع اللغات التسع (9/9)، وقد تم التحقق من أوامر السجل والتنزيلات الأصلية التالية. خضعت ملفات Maven Central لـ Java وتواقيعها الأربعة، وإصدار crates.io المحدد لـ Rust، وجميع رموز التهيئة التي تنشئها لوحة الإدارة لفحص مستقل لدى المستهلك؛ كما يوفر [v0.1.6 GitHub Release](https://github.com/spf86/licentivo-launch-sdk/releases/tag/v0.1.6) حزمًا أصلية وملفات دون اتصال.

يجب أن تتضمن التعليمات الناتجة طريقة تثبيت عامة بإصدار ثابت توافق اللغة المختارة:

```text
Go:         go get github.com/spf86/licentivo-launch-sdk/pkg/launchclient@v0.1.6
Python:     python -m pip install licentivo-launch==0.1.6
C# / .NET: dotnet add package Licentivo.Launch --version 0.1.6
Java:       com.licentivo.launch:launch-client:0.1.6
Node.js:    npm install @licentivo/launch@0.1.6
Rust:       cargo add licentivo-launch@=0.1.6
Ruby:       gem install licentivo-launch --version 0.1.6
C / C++:    https://github.com/spf86/licentivo-launch-sdk/releases/tag/v0.1.6
```

المصدر العام وREADME كل لغة وحالة النشر الحالية متوفرة في:

- [مستودع Licentivo Launch SDK](https://github.com/spf86/licentivo-launch-sdk)
- [v0.1.6 GitHub Release](https://github.com/spf86/licentivo-launch-sdk/releases/tag/v0.1.6)
- [التحقق من التثبيت العام للغات التسع](https://github.com/spf86/licentivo-launch-sdk/blob/main/docs/registry-verification.json)
- [شرح الإصدارات والحزم](/ar/launch-documents/integration-packages/)
- [دليل التكامل اليدوي باللغات التسع](/ar/launch-documents/manual-integration/)
- [بنية تكامل التطبيق ومتطلبات الأمان](/ar/launch-documents/software-sdk-integration/)
- [قائمة قبول التكامل](/ar/launch-documents/acceptance/)

ثبّت حزمة Launch للغة المختارة فقط. يتضمن v0.1.6 مسبقًا Licentivo SDK الرسمي v0.11.6 والمحول الافتراضي وإعداد الربط؛ ولا يلزم تثبيت نسخة ثانية من SDK الرسمي بصورة منفصلة.

## توضح التعليمات لـ AI كيفية التكامل

تتضمن التعليمات المهيأة دالة الاتصال التي تنشئها لوحة الإدارة. وقد مُلئت فيها مسبقًا عنوان المتجر العام وتعيين منتجي Launch وLicentivo ومفتاح التوقيع العام وبيئة الدفع. لا يحتاج AI إلى تخمين رقمي المنتج الداخليين أو إدخالهما يدويًا، ولا إلى إنشاء `launch-config.json` أو `product.json`.

يُستخدم `config.yaml` الخاص بالخادم لتشغيل موقع Launch فقط، ويجب ألا يوضع مطلقًا في تطبيق العميل أو التعليمات أو حزمة التثبيت.

يجب أن يعدل AI برنامج العميل وفق دورة الحياة التالية:

```text
Connect/connect → Login or Restore → RunFeature → Logout / Close
                                      └──────────→ ReleaseDevice (explicit device unlink only)
```

- ينشئ `Connect/connect` عميل Launch ويهيئ SDK الرسمي المضمن؛ ولا يعني ذلك بحد ذاته دخول الحساب أو ترخيص الميزة.
- يستخدم `Login` البريد وكلمة المرور اللذين سجل بهما العميل في المتجر الحالي للحصول على بيانات منتج حسابه.
- يستعيد `Restore` الجلسة المتذكرة من التخزين الآمن؛ وعند عدم وجود جلسة يعرض تسجيل الدخول، ولا يجوز اعتبار الرفض الصريح نجاحًا دون اتصال.
- يجب أن يحيط `RunFeature` بإجراءات العمل الفعلية مثل التصدير أو الحفظ أو العرض أو المهام الخلفية. لا يحل تعطيل الزر وحده محل الفحص عند موضع التنفيذ.
- يستدعي `Logout` أولًا عملية الخروج الموحدة في SDK الرسمي ثم ينظف جلسة الحساب؛ و`ReleaseDevice` مدخل توافق لعملية الخروج الصريح نفسها. يحافظ الإغلاق العادي `Close` على ربط الجهاز.
- يجب إبقاء كائن العميل حيًا طوال تشغيل التطبيق حتى ينفذ SDK ضربات القلب والمقاعد العائمة وقواعد التشغيل.

تفحص تطبيقات Web الترخيص في خلفية موثوقة فقط. يضع Node.js / Electron بيانات الاعتماد وSDK في العملية الرئيسية أو الخادم؛ ولا يخزن المتصفح وعمليات العرض أسرار الترخيص.

## ما الذي يجب أن يسلّمه AI

تطلب التعليمات من AI إكمال الأمور التالية والإبلاغ عنها:

1. فحص إصدار لغة المشروع الحالي وإدارة الاعتماديات وعمليات بدء التشغيل والخروج وإجراءات العمل الحقيقية التي تحتاج إلى حماية.
2. تثبيت حزمة Launch واحدة باستخدام أمر الإصدار الثابت أعلاه والتحقق من الواجهات الفعلية في README اللغة المقابلة.
3. إضافة دخول حساب العميل ورسائل الخطأ واستعادة الجلسة الآمنة، دون حفظ كلمة المرور والترخيص الكامل في المصدر أو السجلات.
4. التهيئة باستخدام دالة الاتصال التي توفرها لوحة الإدارة، دون اختراع أرقام منتجات أو مفاتيح توقيع عامة أو ملفات إعداد.
5. استخدام `RunFeature` أو طريقة اللغة المقابلة عند موضع تنفيذ كل إجراء عمل محمي، مع معالجة العد وإعادة المحاولة بصورة صحيحة.
6. التمييز بين فشل الحساب وانتظار تحقق البريد ومزامنة الاستحقاق وعدم الشراء وانتهاء الصلاحية والتعليق وامتلاء الأجهزة وفشل الشبكة وانتهاء الترخيص دون اتصال.
7. تنفيذ الإغلاق العادي وخروج الحساب وتحرير الجهاز الصريح، وعزل الذاكرة المؤقتة حسب المتجر والحساب والمنتج والبيئة.
8. تشغيل الترجمة والاختبارات المناسبة للمشروع، ثم سرد الملفات المعدلة وتعيين الميزات والنتائج الفعلية وخطوات قبول العميل.

بعد أن ينتج AI الرمز، يظل على المطور التحقق من تطابق أسماء الميزات تمامًا مع سياسة Licentivo وإكمال اختبار شامل باستخدام حساب متجر sandbox حقيقي.

## المحتوى المستبعد من الموجّه

لا تتضمن التعليمات إلا مصدر المتجر وتعيين المنتج والبيئة وإصدار الحزمة ومفتاح التوقيع العام القابلة للنشر. يجب ألا يدخل فيها ما يلي:

- بريد العميل وكلمة المرور وجلسة الدخول ورمز التحديث؛
- الترخيص الكامل وبيانات اعتماد الجهاز وذاكرة الترخيص المحلية المؤقتة؛
- API Key لإدارة Licentivo؛
- مفاتيح Stripe أو PayPal أو Waffo أو Paddle؛
- اتصالات قاعدة البيانات و`master_key` و`config.yaml` الخاص بالخادم؛
- المصدر الخاص أو بيانات الأعمال أو السجلات التي لا يلزم تقديمها للأدوات الخارجية.

لا تثبت فحوص إعداد Launch العامة أو مسودات AI أو الترجمة المحلية نجاح الدفع الحقيقي أو إصدار الترخيص أو التفعيل الخارجي. يتطلب قبول بيئة الدفع التجريبية وحساب المتجر وبيئة Licentivo إجراءات منفصلة.

## قائمة القبول بعد التكامل

- يستطيع العميل الجديد تسجيل الدخول، ويظهر تنبيه واضح للبريد غير المتحقق وكلمة المرور الخاطئة دون كشف معلومات مفرطة.
- يستطيع الحساب الذي اشترى تشغيل الميزة المستهدفة؛ ولا تستطيع الحسابات التي لم تشترِ أو انتهت صلاحيتها أو عُلقت تنفيذ رمز العمل نفسه.
- بعد إعادة التشغيل لا يمكن مواصلة الاستخدام إلا بعد استعادة الجلسة بنجاح واجتياز فحص الترخيص.
- تعمل سياسة عدم الاتصال الصالحة ويُرفض الاستخدام بعد انتهاء الترخيص دون اتصال؛ ولا تتحول استجابات 401/403/404 الصريحة إلى نجاح دون اتصال.
- تُعتمد مرات استخدام الميزة بصورة صحيحة عند نجاح العمل فقط، ولا يؤدي الفشل وإعادة المحاولة إلى خصم مكرر.
- يحافظ الإغلاق العادي على ربط الجهاز؛ ويستدعي الخروج الصريح أولًا خروج SDK الرسمي الموحد، ويحافظ على سجل الإلغاء المعلق ويبلغ بالنتيجة الفعلية.
- تستمر ضربات قلب المقاعد العائمة أثناء تشغيل التطبيق، ويتوافق وقت استعادتها بعد خروج غير طبيعي مع سياسة الترخيص الحالية.
- لا يعيد تبديل المتجر أو الحساب أو المنتج أو البيئة استخدام ذاكرة هوية أخرى المؤقتة.

راجع [acceptance.md](/ar/launch-documents/acceptance/) لحدود القبول الآلي والخارجي الأكثر تفصيلًا.

## استخدام مولّد التعليمات في حزمة توزيع المصدر

يحتفظ `licentivo-launch-0.1.6-source.zip` بالملفات التالية لتسهيل إنشاء تعليمات بالبنية نفسها في أدواتك:

- `internal/httpapi/web/integration-prompts.js`: وحدة إنشاء تعليمات لا تعتمد على الصفحة أو الخادم؛
- `scripts/integration-prompts.test.mjs`: اختبار Node محلي؛
- `internal/httpapi/web/integration-state.js` و`scripts/integration-state.test.mjs`: عزل مسودات الإعداد وتنظيف نتائج التحقق القديمة؛
- هذا الدليل وحزم التكامل لكل لغة والأمثلة وتعليمات القبول.

تصدّر الوحدة `integrationTargets` و`buildIntegrationPrompt(options)`. تشمل الخيارات `language` و`appKind` و`platform` و`projectNotes` و`feature` و`merchantOrigin` و`environment` و`report` المتحقق منه، وتعيد `{ text, ready, title, code }`. عند عدم توفير `report` لا تُنشأ إلا مسودة؛ ولا يجوز التلاعب بالتقرير يدويًا لتجاوز فحص الإعداد العام.

في أدوات التطوير التي تدعم وحدات ES يمكن إنشاء مسودة محلية من جذر حزمة المصدر:

```powershell
@'
import { readFile, writeFile } from 'node:fs/promises';
const source = await readFile('internal/httpapi/web/integration-prompts.js', 'utf8');
const { buildIntegrationPrompt } = await import(
  'data:text/javascript;base64,' + Buffer.from(source).toString('base64')
);
const prompt = buildIntegrationPrompt({
  language: 'python',
  appKind: 'desktop',
  platform: 'windows',
  projectNotes: 'Existing Python desktop application. Add account sign-in and protect report exports.',
  feature: 'export'
});
await writeFile('integration-prompt.md', prompt.text, 'utf8');
console.log(prompt.title);
'@ | node --input-type=module
```

ينشئ هذا الأمر مسودة غير مهيأة فقط ولا يستدعي AI أو خدمة الترخيص. للتكامل الفعلي، عد إلى مثيل Launch الخاص بك واختر البرنامج والبيئة الموجودين وأعد إنشاء نسخة بالإعداد العام.

التحقق من المولّد المحلي:

```powershell
node --test scripts/integration-prompts.test.mjs scripts/integration-state.test.mjs
```
