skipLink.label

Paket yozish

QismanYozish va tekshirish ishlaydi. `DOMAIN_PACKS_DIR` orqali yuklash ishlaydi; konsoldan o'rnatish ⏳ hali yo'q.
  1. Biznes amallarini yozib chiqing

    heading.anchorLabel

    Faqat yozuv amallari — o’qish read_tools ga tushadi.

    Biznes ishi Capability
    Buyurtma qabul qilish service.order.create
    Ehtiyot qism savdosi sales.order.create
    Buyurtma holatini ko’rish ⚠ bu o’qishread_tools
  2. Har amal uchun konnektor amalini toping

    heading.anchorLabel

    Bitta tool — bitta capability. Ikki biznes ma’nosi bitta tool’ni bo’lisha olmaydi.

    service.order.create → crm.create_lead
    sales.order.create → crm.create_deal ← ayrim tool
  3. Har yozuv uchun read-back juftligini toping

    heading.anchorLabel

    Bu qadam paketning butun qiymatini hal qiladi.

    crm.create_lead → crm.get_lead → status_id in [NEW, IN_PROCESS]
    crm.create_deal → crm.get_deal → closed = "N"

    ⛔ Read-back yo’q bo’lsa amal ACKNOWLEDGED da qoladi. Batafsil.

  4. Faylni yozing

    heading.anchorLabel
    {
    "id": "texnik-servis",
    "version": "1.0.0",
    "display_name": "Texnik servis",
    "domain": "texnik-servis",
    "connectors": [{ "id": "bitrix24", "min_version": "2.1.0" }],
    "capabilities": [
    {
    "id": "service.order.create",
    "tools": ["connector.bitrix24.crm.create_lead"],
    "side_effect": "REVERSIBLE",
    "resource_param": "external_id",
    "verification": {
    "operation": "crm.get_lead",
    "business_key": "id",
    "expect": { "field": "status_id", "in": ["NEW", "IN_PROCESS"] },
    "max_wait_ms": 15000,
    "on_missing": "UNKNOWN"
    }
    }
    ],
    "read_tools": ["connector.bitrix24.crm.get_lead"]
    }
  5. Kontraktga qarshi tekshiring

    heading.anchorLabel
    Terminal window
    python3 contracts/compatibility-tests/run_python.py

    Sxema: contracts/platform/pack/v1/domain-pack.schema.json

  6. Terminal window
    export DOMAIN_PACKS_DIR=/etc/davirix/packs

    Papkadagi barcha *.json yuklanadi.

Yiqiladigan holatlar

heading.anchorLabel
Xato Xabar
IRREVERSIBLE + verification yo’q «natijasi hech qachon VERIFIED bo’lmaydi»
side_effect: NONE «read_tools ga qo’ying»
expect da in ham, equals ham yo’q «predikat majburiy»
Ikkalasi ham bor «birga berilmaydi»
Bitta tool ikki capability’da «kalit noaniq bo’lardi»
Capability id bazaviy katalogda bor «paket uni qayta ta’riflay olmaydi»
Noma’lum maydon (prompts) «iste’molchisi yo’q maydon»

Keyingi qadam

heading.anchorLabel