package workflowbridge import ( "data-terminal-cloud/internal/extraction" "data-terminal-cloud/internal/memoir" "time" ) func NewArkService(secret, base, key string) (*Service, error) { extractor, err := extraction.NewArkJSONGenerator(base, key, DefaultTextModel, 90*time.Second, 8192) if err != nil { return nil, err } editor, err := extraction.NewArkJSONGenerator(base, key, DefaultBookModel, 480*time.Second, 65536) if err != nil { return nil, err } s := New(secret, extractor, editor, memoir.NewIllustrator(base, key, DefaultImageModel)) s.EditorForModel = func(step, model string) (Editor, error) { if step == "write-book" { return extraction.NewArkJSONGenerator(base, key, model, 480*time.Second, 65536) } return extraction.NewArkJSONGenerator(base, key, model, 90*time.Second, 8192) } s.ImageForModel = func(model string) (ImageGenerator, error) { return memoir.NewIllustrator(base, key, model), nil } return s, nil }