package whoareyou:provider@0.1.0; interface lookup { record provider-info { name: string, version: string, } record request { url: string, } record response { status: u16, body: string, } record comment { timestamp: option, title: option, message: string, } record entry { messages: list, history: list, comments: list, } variant lookup-error { no-data, parse-failed(string), } metadata: func() -> provider-info; requests: func(number: string) -> list; parse: func(number: string, responses: list) -> result; } world provider { export lookup; }