Skip to content
Effect 4.0 is here. One ecosystem. Zero dependencies.

CloudflareSchema unstable

Codecs for text and JSON decisions from Cloudflare Clef models.

11 exports Since v4.0.0 Source

Schemas

Answer

unstable
Since v4.0.0

A Clef classification, rating, or probability answer.

Signature

declare const Answer: Union<readonly [Struct<{
readonly choice: String;
readonly confidence: Number;
readonly probabilities: $Record<String, Number>;
readonly type: Literal<"choice">;
}>, Struct<{
readonly confidence: Number;
readonly legend: $Record<String, Codec<Json, Json, never, never>>;
readonly probabilities: $Record<String, Number>;
readonly score: Number;
readonly type: Literal<"score">;
}>, Struct<{
readonly noul: Number;
readonly type: Literal<"noul">;
}>]>
Since v4.0.0

A classification distribution.

Signature

declare const ChoiceAnswer: Struct<{
readonly choice: String;
readonly confidence: Number;
readonly probabilities: $Record<String, Number>;
readonly type: Literal<"choice">;
}>
Since v4.0.0

A classification question.

Signature

declare const ChoiceQuestion: Struct<{
readonly criteria: $Record<String, NullOr<Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>;
readonly type: Literal<"choice">;
}>
Since v4.0.0

A batch of questions about text or JSON state, with optional images shown to the model before the state.

Details

Clef accepts up to 4 images of at most 4 MiB and 16 megapixels each, 8 MiB of decoded images in total, and 13 MiB per request body.

Signature

declare const DecisionsRequest: Struct<{
readonly images: optional<$Array<Union<readonly [String, Struct<{
readonly base64: String;
readonly content_type: Union<readonly [Literals<...>, StringForLiteralAutocomplete]>;
}>]>>>;
readonly model: Union<readonly [Literals<readonly ["clef", "clef-flash"]>, StringForLiteralAutocomplete]>;
readonly questions: $Record<String, Union<readonly [Struct<{
readonly criteria: $Record<String, NullOr<Union<readonly [..., ..., ...]>>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<..., ..., ..., ...>>, $Array<Codec<..., ..., ..., ...>>]>;
readonly type: Literal<"choice">;
}>, Struct<{
readonly criteria: $Array<Codec<Json, Json, never, never>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<..., ..., ..., ...>>, $Array<Codec<..., ..., ..., ...>>]>;
readonly type: Literal<"score">;
}>, Struct<{
readonly criteria: optional<Struct<{
readonly false: Codec<..., ..., ..., ...>;
readonly true: Codec<..., ..., ..., ...>;
}>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<..., ..., ..., ...>>, $Array<Codec<..., ..., ..., ...>>]>;
readonly type: Literal<"noul">;
}>]>>;
readonly state: Codec<Json, Json, never, never>;
}>
Since v4.0.0

Answers and token usage for a batch.

Signature

declare const DecisionsResponse: Struct<{
readonly answers: $Record<String, Union<readonly [Struct<{
readonly choice: String;
readonly confidence: Number;
readonly probabilities: $Record<String, Number>;
readonly type: Literal<"choice">;
}>, Struct<{
readonly confidence: Number;
readonly legend: $Record<String, Codec<Json, Json, never, never>>;
readonly probabilities: $Record<String, Number>;
readonly score: Number;
readonly type: Literal<"score">;
}>, Struct<{
readonly noul: Number;
readonly type: Literal<"noul">;
}>]>>;
readonly model: String;
readonly usage: Struct<{
readonly input_tokens: Int;
readonly output_tokens: Int;
}>;
}>

Image

unstable
Since v4.0.5

An image as a data: URL or as base64 data with its media type. Clef rejects remote URLs.

Signature

declare const Image: Union<readonly [String, Struct<{
readonly base64: String;
readonly content_type: Union<readonly [Literals<readonly ["image/png", "image/jpeg", "image/webp"]>, StringForLiteralAutocomplete]>;
}>]>

NoulAnswer

unstable
Since v4.0.0

A Bernoulli probability.

Signature

declare const NoulAnswer: Struct<{
readonly noul: Number;
readonly type: Literal<"noul">;
}>
Since v4.0.0

A probability question.

Signature

declare const NoulQuestion: Struct<{
readonly criteria: optional<Struct<{
readonly false: Codec<Json, Json, never, never>;
readonly true: Codec<Json, Json, never, never>;
}>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>;
readonly type: Literal<"noul">;
}>

Question

unstable
Since v4.0.0

A Clef question with string, JSON object, or JSON array instructions. Choice descriptions also accept null; Score and Noul descriptions accept any JSON value.

Signature

declare const Question: Union<readonly [Struct<{
readonly criteria: $Record<String, NullOr<Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>;
readonly type: Literal<"choice">;
}>, Struct<{
readonly criteria: $Array<Codec<Json, Json, never, never>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>;
readonly type: Literal<"score">;
}>, Struct<{
readonly criteria: optional<Struct<{
readonly false: Codec<Json, Json, never, never>;
readonly true: Codec<Json, Json, never, never>;
}>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>;
readonly type: Literal<"noul">;
}>]>

ScoreAnswer

unstable
Since v4.0.0

A zero-based rating and index-keyed distribution. legend maps indices to descriptions.

Signature

declare const ScoreAnswer: Struct<{
readonly confidence: Number;
readonly legend: $Record<String, Codec<Json, Json, never, never>>;
readonly probabilities: $Record<String, Number>;
readonly score: Number;
readonly type: Literal<"score">;
}>
Since v4.0.0

An ordered rating question.

Signature

declare const ScoreQuestion: Struct<{
readonly criteria: $Array<Codec<Json, Json, never, never>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>;
readonly type: Literal<"score">;
}>