export type Attribute = { readonly name: string readonly value: string } export type Error = { readonly code: string readonly message: string } export type File = { readonly name: string readonly dir?: string readonly contents: string } export type Generator = { readonly key: string readonly name: string readonly language?: string readonly description?: string readonly attributes: readonly string[] } export type Healthcheck = { readonly status: string } export type Invocation = { readonly source: string readonly files: readonly File[] } export type InvocationForm = { readonly service: Service readonly attributes: readonly Attribute[] readonly user_agent?: string } export type JSONValue = | string | number | boolean | { readonly [x: string]: JSONValue } | readonly JSONValue[]