19 lines
590 B
Go
19 lines
590 B
Go
package providers
|
|
|
|
import (
|
|
"context"
|
|
"crypto/sha256"
|
|
"encoding/hex"
|
|
)
|
|
|
|
type Mock struct{ seed string }
|
|
|
|
func NewMock(seed string) *Mock { return &Mock{seed: seed} }
|
|
func (m *Mock) Submit(_ context.Context, r Request) (Result, error) {
|
|
sum := sha256.Sum256([]byte(m.seed + "\x00" + r.Capability + "\x00" + r.Prompt))
|
|
return Result{TaskID: "mock-" + hex.EncodeToString(sum[:8]), Status: StatusQueued}, nil
|
|
}
|
|
func (m *Mock) Query(_ context.Context, id string) (Result, error) {
|
|
return Result{TaskID: id, Status: StatusSucceeded, OutputURLs: []string{"/generated-results/" + id}}, nil
|
|
}
|