{ type: "text", text: "<json-string>" } qaytaradi. Rasm vositalari { type: "image", data: "<base64>", mimeType: "image/png" } qaytaradi. Xatoda, isError: true o’rnatiladi va matn bloki xato xabarini o’z ichiga oladi.
Fayl vositalari
list-files
Joriy foydalanuvchi uchun Flowstep fayllarini ko’rsatish.
Kiritish
Chiqish — Fayl ob’ektlari JSON massivi.
get-file
Identifikator bo’yicha bitta fayl oling. Fayl kontent atayinlashtirilgan — ekranlarni ko’rish uchun get-screen yoki get-screen-image dan foydalaning, va qo’shilgan yo’riqnomalarni olish uchun get-design-guidelines dan foydalaning.
Kiritish
Chiqish — JSON fayl ob’ekti.
create-file
Yangi Flowstep fayl yarating.
Kiritish
Chiqish — Yangi fayl
id bilan JSON fayl ob’ekti.
id ni fileId sifatida ishlating.
update-file
Faylni qayta nomlandirish.
Kiritish
Chiqish — Yangilangan fayl ob’ekti
get-file bilan bir xil shaklda.
delete-file
Faylni butun yo’q qilish. O’tkazgan name ni faylning haqiqiy nomi bilan o’chirishdan oldin tekshiriladi — agar mos kelmasa, o’chirish bekor qilinadi. Bu noto’g’ri faylni o’chirib tashlashni oldini oladi.
Kiritish
Chiqish —
"File deleted successfully"
Ekran vositalari
list-screens
Fayl uchun barcha yaratilgan ekranlarni ko’rsatish. Qaytargan screenId qiymatlarini get-screen, get-screen-image, upload-attachment da ekranlarga murojaat qilish uchun, va edit-design, regenerate-design yoki expand-design da targets sifatida ishlating.
Kiritish
Chiqish — Ekran qisqasi bo’lgan JSON massivi.
name foydalanuvchi tayinlangan ekran nomi, yoki nomsiz bo’lsa null.
get-screen
Ekranning JSX kodini oling, bu sizga kodini tahrirlash yoki Flowstep-dan tashqarida ishlash imkonini beradi. Buning o’rniga vizual ko’rinish uchun get-screen-image dan foydalaning.
Kiritish
Chiqish — Ekran kod sifatida (JSX).
add-screen vositasini ishlatganda talab qiladigan birinchi qator kommentini e’tibor qiling.
add-screen
Flowstep fayliga raw JSX stringdan yangi ekran qo’shadi.
Kiritish
Eslatma — JSX boshida quyida ko’rsatilgandek komment bo’lishi KERAK, chunki u ekranlarni to’g’ri qo’shish uchun ishlatiladi.
screenType, name va screenId hammasi ixtiyoriy — screenId mavjud bo’lsa (masalan, get-screen chiqishidan nusxalangan JSX ni o’tkazganda) ichida ishlatiladi, lekin majbur emas. Ekran nomi kommentning name maydoni (ya’ni “Copy of <name>”) yoki yo’q bo’lsa “Untitled” ni oladigan.
<!-- screenType: "iphone-x-vertical" width: "375" height: "812" name: "Change to a light theme" colorTheme: "blue" -->
Chiqish — Yangi qo’shilgan ekran Id.
get-screen-image
Ekranni PNG-ga render qiling va uni qatorida rasm sifatida qaytaring. Rasm kontent bloklarini qo’llab-quvatlovchi klient talab qiladi.
Kiritish
Chiqish — MCP rasm kontent bloki (
image/png).
AI vositalari
create-new-design
Matn prompt’idan bir yoki bir nechta ekran dizaynini yaratish. Yangi faylni avtomatik qilish uchun fileId ni o’tkazib yuboring. Yaratish tugaganimcha yoki vaqt tugagunga qadar (180 soniya) bloklash.
Kiritish
Chiqish —
{ fileId, screenIds }. Natijalarni ko’rish uchun har bir screenId ni get-screen-image ga o’tkazing.
regenerate-design
Mavjud ekranlarni noldan qayta qiling yoki uslub varianti bilan. targets da kamida bitta screenId talab qiladi. Yaratish tugaganimcha yoki vaqt tugagunga qadar (180 soniya) bloklash.
Kiritish
Chiqish —
{ fileId, screenIds }. Natijalarni ko’rish uchun har bir screenId ni get-screen-image ga o’tkazing.
expand-design
Mavjud dizayniga keyingi ekranlarni qo’shish. targets da kamida bitta screenId va majbur operationVariant talab qiladi. Yaratish tugaganimcha yoki vaqt tugagunga qadar (180 soniya) bloklash.
Kiritish
Chiqish —
{ fileId, screenIds }. Natijalarni ko’rish uchun har bir screenId ni get-screen-image ga o’tkazing.
edit-design
Prompt orqali mavjud ekranlarni o’zgartirish. targets da kamida bitta screenId talab qiladi. Yaratish tugaganimcha yoki vaqt tugagunga qadar (180 soniya) bloklash.
Kiritish
Chiqish —
{ fileId, screenIds }. Natijalarni ko’rish uchun har bir screenId ni get-screen-image ga o’tkazing.
upload-attachment
create-new-design yoki edit-design da qo’shimcha sifatida ishlatish uchun fayl yuklang. { id, path, type, mimeType } ni qaytaradi — bu ob’ektni to’g’ridan-to’g’ri attachments massivinasiga o’tkazing.
Ikki rejim:
Rejim 1 — Ekran ID bo’yicha
screenId va fileId ni o’tkazing. Server bazadan ekran holatini oladi va uni rasm sifatida render qiladi.
Rejim 2 — Tashqi fayl
Fayl mazmunini to’g’ridan-to’g’ri o’tkazing. Binar fayllar base64-kodlanishi kerak; matn fayllar (manba kodi ham) oddiy UTF-8 stringlar sifatida o’tkaziladi.
Maksimal fayl hajmi: 3 MB. Katta rasmlar uchun
image/png o’rniga image/jpeg ni afzal qiling.
Chiqish
type rasm/PDF yuklamalar uchun "image", matn/kod fayllar uchun "document".
Chat vositalari
get-chat-history
Fayl uchun chat xabar tarixini oling.
Kiritish
Chiqish —
messages massivi bo’lgan JSON ob’ekti. Har bir xabar type ("request" yoki "response"), author ("human" yoki "ai") va content_type ("text", "summary" yoki "followup") ga ega.
Dizayn vositalari
get-design-guidelines
Fayl uchun saqlangan dizayn yo’riqnomalarini oling.
Kiritish
Chiqish
guidelines null ga teng.
update-design-guidelines
Fayl uchun dizayn yo’riqnomalarini o’rnatish yoki almashtirish. Yo’riqnomalar Google design.md formatida oddiy matn stringi sifatida o’tkaziladi — ob’ekt yoki JSON ni o’tkazmang.
Server yumshoq tasdiqlash qiladi va javobda muammolarni (noma’lum kalitlar, hex bo’lmagan ranglar) ro’yxati bilan Warnings: bo’limini qaytarishi mumkin — ular qabul qilingan, lekin AI tomonidan e’tibor berilmasligi mumkin. Bularni foydalanuvchiga ko’rsating.
Kiritish
Tasdiqlash qoidalari
- Frontmatter to’g’ri ochilishi va yopilishi kerak
- Frontmatter chiziqlari to’g’ri blok-uslub YAML bo’lishi kerak
- Markdown matn takrorlangan
##bo’limlar sarlavhalarini o’z ichiga olmasligi kerak
"Design guidelines updated successfully", ixtiyoriy ravishda Warnings: bo’limiga ergashadi.
delete-design-guidelines
Fayl uchun dizayn yo’riqnomalarini o’chirish.
Kiritish
Chiqish —
"Design guidelines deleted successfully"
Figma vositalari
import-figma
Figma ramkasini Flowstep fayliga kanvasda tahrirlanadigun elementlar sifatida import qiling. Bir xil ramkani qayta import qilish uni joyida yangilaydi. Faylning tashkiloti Flowstep sozlamalarida Figma ulangan bo’lishi kerak.
Kiritish
Chiqish —
{ fileId, screenId }. screenId import qilingan ekran elementi identifikatori — natijani ko’rish uchun uni get-screen-image ga o’tkazing. Sahifaning URL-si bir nechta ramkalarni import qilganda, screenId null va frameCount qaytarila oladi.