// Ornek eklenti (Asama 3.2): SDK ile protokol 2 uzerinden konusur.
// Islemler: merhaba (yanit), parca (buyuk sonuc parcalari), onay (bridge'den izin ister).
package main

import (
	"fikoyt-eklenti-sdk"
	"os"
)

func main() {
	e := sdk.Yeni("ornek")

	e.Kayit("merhaba", func(c *sdk.Cagri) (any, error) {
		c.Gunlukle("merhaba islemi cagrildi")
		return map[string]any{"mesaj": "merhaba", "veri": string(c.Veri), "ayar": string(c.Ayar)}, nil
	})

	e.Kayit("parca", func(c *sdk.Cagri) (any, error) {
		parcalar := []string{`{"sonuc":"`, "dosya", `"}`}
		for n, p := range parcalar {
			if err := c.ParcaGonder("p1", n, len(parcalar), p); err != nil {
				return nil, err
			}
		}
		return map[string]string{"parcaId": "p1"}, nil
	})

	e.Kayit("onay", func(c *sdk.Cagri) (any, error) {
		izin, err := c.OnayIste("demo")
		if err != nil {
			return nil, err
		}
		return map[string]bool{"izin": izin}, nil
	})

	// stdin kapaninca (bridge sureci kapatinca) Calistir doner; surec temiz biter.
	_ = e.Calistir(os.Stdin, os.Stdout)
}
