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

OpenRouterSchema unstable

Schemas for OpenRouter's alpha Decisions API.

7 exports Since v4.0.0 Source

Schemas

Answer

unstable
Since v4.0.0

A provider answer with optional probabilities and confidence.

Signature

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

A choice question with descriptions keyed by choice label.

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 choice, score, or probability question with string, JSON object, or JSON array instructions and descriptions. Choice descriptions also accept null.

Signature

declare const DecisionsQuestion: 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<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<"score">;
}>, Struct<{
readonly criteria: optional<Struct<{
readonly false: Union<readonly [String, $Record<String, Codec<..., ..., ..., ...>>, $Array<Codec<..., ..., ..., ...>>]>;
readonly true: Union<readonly [String, $Record<String, Codec<..., ..., ..., ...>>, $Array<Codec<..., ..., ..., ...>>]>;
}>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>;
readonly type: Literal<"noul">;
}>]>
Since v4.0.0

Request body for the alpha Decisions endpoint.

Signature

declare const DecisionsRequest: Struct<{
readonly model: String;
readonly provider: optional<Union<readonly [Struct<{
readonly allow_fallbacks: optionalKey<Union<readonly [Boolean, Null]>>;
readonly data_collection: optionalKey<Union<readonly [Literal<...>, Literal<...>, Null]>>;
readonly enforce_distillable_text: optionalKey<Union<readonly [Boolean, Null]>>;
readonly ignore: optionalKey<Union<readonly [$Array<...>, Null]>>;
readonly max_price: optionalKey<Struct<{
readonly audio: optionalKey<...>;
readonly completion: optionalKey<...>;
readonly image: optionalKey<...>;
readonly prompt: optionalKey<...>;
readonly request: optionalKey<...>;
}>>;
readonly only: optionalKey<Union<readonly [$Array<...>, Null]>>;
readonly order: optionalKey<Union<readonly [$Array<...>, Null]>>;
readonly preferred_max_latency: optionalKey<Union<readonly [Number, Struct<...>, Null]>>;
readonly preferred_min_throughput: optionalKey<Union<readonly [Number, Struct<...>, Null]>>;
readonly quantizations: optionalKey<Union<readonly [$Array<...>, Null]>>;
readonly require_parameters: optionalKey<Union<readonly [Boolean, Null]>>;
readonly sort: optionalKey<Union<readonly [Literals<...>, Struct<...>, Null]>>;
readonly zdr: optionalKey<Union<readonly [Boolean, Null]>>;
}>, Null]>>;
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<Union<readonly [String, $Record<..., ...>, $Array<...>]>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<..., ..., ..., ...>>, $Array<Codec<..., ..., ..., ...>>]>;
readonly type: Literal<"score">;
}>, Struct<{
readonly criteria: optional<Struct<{
readonly false: Union<...>;
readonly true: Union<...>;
}>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<..., ..., ..., ...>>, $Array<Codec<..., ..., ..., ...>>]>;
readonly type: Literal<"noul">;
}>]>>;
readonly session_id: optional<String>;
readonly state: Unknown;
readonly trace: optional<$Record<String, Unknown>>;
readonly user: optional<String>;
}>
Since v4.0.0

Response body for the alpha Decisions endpoint.

Signature

declare const DecisionsResponse: Struct<{
readonly answers: $Record<String, Union<readonly [Struct<{
readonly choice: String;
readonly confidence: optional<Finite>;
readonly probabilities: optional<$Record<String, Finite>>;
readonly type: Literal<"choice">;
}>, Struct<{
readonly confidence: optional<Finite>;
readonly legend: optional<$Record<String, Codec<Json, Json, never, never>>>;
readonly probabilities: optional<$Record<String, Finite>>;
readonly score: Finite;
readonly type: Literal<"score">;
}>, Struct<{
readonly noul: Finite;
readonly type: Literal<"noul">;
}>]>>;
readonly id: optional<String>;
readonly model: String;
readonly provider: optional<String>;
readonly usage: Struct<{
readonly cost: optional<Finite>;
readonly input_tokens: Int;
readonly output_tokens: Int;
}>;
}>
Since v4.0.0

A probability question with optional true and false descriptions.

Signature

declare const NoulQuestion: Struct<{
readonly criteria: optional<Struct<{
readonly false: Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>;
readonly true: 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<"noul">;
}>
Since v4.0.0

A score question with ordered criteria.

Signature

declare const ScoreQuestion: Struct<{
readonly criteria: $Array<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<"score">;
}>