MCPcopy Create free account
hub / github.com/AI45Lab/Code / build_directive

Function build_directive

core/src/llm/structured.rs:905–924  ·  view source on GitHub ↗

Build the provider directive for an already-resolved mode.

(req: &StructuredRequest, mode: StructuredMode)

Source from the content-addressed store, hash-verified

903
904/// Build the provider directive for an already-resolved mode.
905fn build_directive(req: &StructuredRequest, mode: StructuredMode) -> StructuredDirective {
906 match mode {
907 StructuredMode::Tool => StructuredDirective {
908 force_tool: Some(format!("emit_{}", req.schema_name)),
909 response_format: None,
910 },
911 StructuredMode::Strict => StructuredDirective {
912 force_tool: None,
913 response_format: Some(ResponseFormat::JsonSchema {
914 name: req.schema_name.clone(),
915 schema: req.schema.clone(),
916 }),
917 },
918 StructuredMode::Json => StructuredDirective {
919 force_tool: None,
920 response_format: Some(ResponseFormat::JsonObject),
921 },
922 StructuredMode::Auto | StructuredMode::Prompt => StructuredDirective::default(),
923 }
924}
925
926fn build_initial_messages(req: &StructuredRequest, mode: StructuredMode) -> Vec<Message> {
927 match mode {

Callers 2

generate_blockingFunction · 0.85
generate_streamingFunction · 0.85

Calls 1

cloneMethod · 0.45

Tested by

no test coverage detected