use super::{
BuiltinSignature, Param, Ty, TY_ANY, TY_CLOSURE, TY_DICT, TY_DICT_OR_NIL, TY_LIST, TY_NIL,
TY_STRING,
};
const TY_SCHEMA_VALUE: Ty = Ty::Union(&[TY_DICT, Ty::Apply("Schema", &[TY_ANY])]);
pub(crate) const SIGNATURES: &[BuiltinSignature] = &[
BuiltinSignature::simple(
"assemble_context",
&[Param::new("options", TY_DICT)],
TY_DICT,
),
BuiltinSignature::simple(
"workflow_execute",
&[
Param::new("task", TY_STRING),
Param::new("workflow", TY_DICT),
Param::optional("artifacts", Ty::Union(&[TY_LIST, TY_NIL])),
Param::optional("options", TY_DICT_OR_NIL),
],
TY_DICT,
),
BuiltinSignature::simple(
"workflow_typed_output_checkpoint",
&[
Param::new("name", TY_STRING),
Param::new("prompt", TY_STRING),
Param::new("schema", TY_SCHEMA_VALUE),
Param::optional("options", TY_DICT_OR_NIL),
Param::optional("validator", Ty::Union(&[TY_CLOSURE, TY_NIL])),
],
TY_DICT,
),
];