Hujjatlar bo‘limlari

Dasturchilar uchun

Solution Packs

Kanyman Core’ga mahsulotga xos kod qo‘shmasdan rollar va ssenariylarni deklarativ ulash.

Yangilangan: 2026-yil 11-avgust

01

Manifest nimalarni saqlaydi (qisqa misol)

jsonKanyman docs
{
  "schema": "kanyman.solution-pack.v1",
  "id": "example.support",
  "version": "1.0.0",
  "core_contract": "kanyman.external-integrations.v1",
  "roles": [{ "key": "support", "title": "Support" }],
  "scenarios": [{
    "key": "support.diagnostics",
    "version": "1.0.0",
    "entry_role": "support",
    "allowed_capabilities": ["project.get_diagnostics"]
  }],
  "required_capabilities": [{
    "name": "project.get_diagnostics",
    "version": "1.0.0",
    "kind": "read",
    "side_effect": "none"
  }]
}
  • Manifest rollar, ssenariylar, policies, bilim talablari, UI labels va acceptance fixtures’ni saqlaydi.
  • Manifest’da credentials, maxfiy kalitlar, tokenlar va mahsulot bazasiga to‘g‘ridan-to‘g‘ri kirish taqiqlangan.
  • Capability barqaror nom va aniq versiya bilan ko‘rsatiladi; joriy kontrakt read va draft’ni qabul qiladi.
  • DISP va VerifyBox boshqa istalgan mahsulot kabi ayni schema contract’dan foydalanadi.
02

O‘rnatish va moslik

  1. 1Tashqi integratsiyani yarating va faollashtiring.
  2. 2Tanlangan pack talab qiladigan capabilities’ni qo‘shing va sinang.
  3. 3Pack’ni integratsiyaga o‘rnating. Kanyman o‘zgarmas manifest snapshot’i va digest’ini saqlaydi.
  4. 4Capability yo‘q, faol emas yoki boshqa policy/version’ga ega bo‘lsa, o‘rnatish blocked holatini oladi.
  5. 5Capabilities o‘zgargach, qayta tekshiruvni ishga tushiring va pack’ni faollashtiring.
  6. 6Pack tarixni o‘chirmasdan o‘chirilishi mumkin; rollback ko‘rsatkichni faqat avval o‘rnatilgan immutable snapshot’ga o‘tkazadi.
  7. 7Runtime’da model aniq pack, scenario va specialist role’ni tanlaydi; server tanlovni qayta tekshiradi va faqat joriy qadam capabilities’ini ochadi.
  8. 8Blocked yoki disabled pack fail-closed ishlaydi: muvaffaqiyatli qayta tekshiruv va faollashtirishgacha uning capabilities’i agentga berilmaydi.
httpKanyman docs
GET /api/projects/{project_id}/external-integrations/{integration_id}/connectors/{connector_id}/versions/{version}/manifest
Authorization: Bearer <Kanyman access token>

{
  "schema": "kanyman.connector-contract.v1",
  "digest_scope": "manifest_without_lifecycle_status",
  "digest": "<sha256 canonical contract>",
  "manifest": {
    "schema": "kanyman.connector-manifest.v1",
    "id": "example.support-api",
    "version": "1.0.0",
    "status": "planned",
    "capabilities": ["...full input/output schemas..."]
  }
}
03

Scenario Library va doimiy holat

jsonKanyman docs
{
  "schema": "kanyman.solution-scenario.v1",
  "pack_id": "example.support",
  "pack_version": "1.0.0",
  "scenario_key": "support.diagnostics",
  "scenario_version": "1.0.0",
  "status": "active",
  "entry_step": "identify_issue",
  "steps": [{
    "key": "identify_issue",
    "kind": "question",
    "role_keys": ["support"],
    "allowed_capabilities": ["project.get_diagnostics"],
    "answer_options": [{
      "key": "resolved",
      "next_step": "completed"
    }]
  }]
}
  • Ssenariy ta’rifi immutable pack manifest’dan alohida saqlanadi va aniq pack/scenario versiyalari bilan bog‘lanadi.
  • draft, review, active, paused va archived holatlari qo‘llanadi; runtime faqat active ta’riflarni bajaradi.
  • Kabinetda owner/admin JSON’ni serverda tekshirishi, immutable draft saqlashi, uni review’ga yuborishi va alohida faollashtirishi mumkin; draft va review runtime’ga ta’sir qilmaydi va tarixni yo‘qotmasdan arxivlanadi.
  • Faol tenant-scoped versiya Core relizisiz code default’ni almashtiradi; u bo‘lmasa, runtime pack bilan kelgan ta’rifdan foydalanadi.
  • Har bir run immutable definition snapshot va SHA-256 digest, joriy step, role hamda control version’ni saqlaydi.
  • Jurnalga faqat xavfsiz qadam/javob kalitlari va product/tariff signals kiradi; foydalanuvchi matni, tokenlar va PII ko‘chirilmaydi.
  • Keyingi step va role’ni server snapshot’dan hisoblaydi; model ixtiyoriy o‘tish yo‘nalishini bera olmaydi.
  • O‘tish ruxsat etilgan javob bilan bitta tranzaksiyada yoziladi. Retry takroriy o‘tish yaratmaydi.
  • Pack’ni o‘chirish, nomoslik yoki versiya almashishi faol run’ni fail-closed bekor qiladi va cancelled hodisasini saqlaydi.
04

Kabinet API’si

textKanyman docs
GET  /api/projects/{project_id}/solution-packs/catalog
GET  /api/projects/{project_id}/solution-packs
POST /api/projects/{project_id}/solution-packs/install
POST /api/projects/{project_id}/solution-packs/{installation_id}/refresh
POST /api/projects/{project_id}/solution-packs/{installation_id}/activate
POST /api/projects/{project_id}/solution-packs/{installation_id}/disable
POST /api/projects/{project_id}/solution-packs/{installation_id}/rollback

GET  /api/projects/{project_id}/solution-packs/{installation_id}/scenarios
POST /api/projects/{project_id}/solution-packs/{installation_id}/scenarios/{scenario_key}/preview
POST /api/projects/{project_id}/solution-packs/{installation_id}/scenarios/{scenario_key}/drafts
POST /api/projects/{project_id}/solution-packs/{installation_id}/scenarios/versions/{version_id}/submit
POST /api/projects/{project_id}/solution-packs/{installation_id}/scenarios/versions/{version_id}/activate
POST /api/projects/{project_id}/solution-packs/{installation_id}/scenarios/versions/{version_id}/archive

Davom etish

Solution Packs — Kanyman Docs