{"id":"ai_decisions_gateway","name":"AI Decisions Gateway","alias":"AiDecisionsGateway","aliases":[],"description_short":"Classify text with typed questions and get each answer's confidence","description_long":"\n    Answer typed questions about a text with OpenAI's Decisions API, which picks\n    answers instead of writing them: faster and cheaper than ai_gateway for\n    classifying, routing, flagging or scoring, and every answer comes with how\n    sure the model is. Use ai_gateway when something has to be written.\n\n    The text to judge goes in user_prompt. The questions go in\n    structured_output_json_schema, one per field, with the field's description as\n    its question, and system_prompt holds framing shared by every question. A\n    field name cannot contain a dot. Put a description on every field: a field\n    without one is asked by its name.\n    Each field must be one of: boolean (yes/no); enum of strings or whole numbers (pick one, up to 255 options); array of an enum (yes/no per option); number with minimum 0 and maximum 1 (the probability itself); integer levels 0..N with a description per level in anyOf/const (a score, up to 10 levels); or an object of these. At most 200 questions per text, counting one per\n    option of an array field.\n\n    structured_output mirrors the schema, with each field replaced by\n    {\"value\": ..., \"confidence\": ..., \"probabilities\": ..., \"score\": ...}, so it\n    does not validate against the schema itself. confidence runs from 0 to 1; a\n    probability field has none, being a probability already. A score's value is\n    its continuous score rounded to the nearest level, which can land between two\n    likely levels on one the model gave no weight to: read probabilities for the\n    likeliest level.\n    ","description_tool_prompt":"\n    Answer typed questions about a text with OpenAI's Decisions API, which picks\n    answers instead of writing them: faster and cheaper than ai_gateway for\n    classifying, routing, flagging or scoring, and every answer comes with how\n    sure the model is. Use ai_gateway when something has to be written.\n\n    The text to judge goes in user_prompt. The questions go in\n    structured_output_json_schema, one per field, with the field's description as\n    its question, and system_prompt holds framing shared by every question. A\n    field name cannot contain a dot. Put a description on every field: a field\n    without one is asked by its name.\n    Each field must be one of: boolean (yes/no); enum of strings or whole numbers (pick one, up to 255 options); array of an enum (yes/no per option); number with minimum 0 and maximum 1 (the probability itself); integer levels 0..N with a description per level in anyOf/const (a score, up to 10 levels); or an object of these. At most 200 questions per text, counting one per\n    option of an array field.\n\n    structured_output mirrors the schema, with each field replaced by\n    {\"value\": ..., \"confidence\": ..., \"probabilities\": ..., \"score\": ...}, so it\n    does not validate against the schema itself. confidence runs from 0 to 1; a\n    probability field has none, being a probability already. A score's value is\n    its continuous score rounded to the nearest level, which can land between two\n    likely levels on one the model gave no weight to: read probabilities for the\n    likeliest level.\n    ","source":null,"conversation_examples":[],"tags":[],"available_in_chat":false,"available_in_deepthink":false,"available_in_mcp":true,"mcp_audience":"all","config":{"type":"object","properties":{"prefeed":{"default":[],"description":"List of agent pre-calls whose results are injected into the user prompt before the LLM runs.","items":{"$ref":"#/$defs/PrefeedCall"},"title":"Prefeed","type":"array"},"system_prompt":{"default":"","description":"Framing shared by every question: what the texts are and what they are judged for.","title":"System Prompt","type":"string"},"structured_output_json_schema":{"additionalProperties":true,"description":"A JSON Schema of \"type\": \"object\" whose properties are the questions: each property is one question, its description is the question asked, and its type is the kind of answer. Each field must be one of: boolean (yes/no); enum of strings or whole numbers (pick one, up to 255 options); array of an enum (yes/no per option); number with minimum 0 and maximum 1 (the probability itself); integer levels 0..N with a description per level in anyOf/const (a score, up to 10 levels); or an object of these. See the example for one field of each kind.","examples":[{"properties":{"team":{"description":"Which team should handle this ticket?","enum":["billing","logistics","tech"]},"angry":{"description":"Is the customer angry?","type":"boolean"},"topics":{"description":"Which topics does the ticket raise?","items":{"enum":["refund","delay","damage"]},"type":"array"},"refund_likelihood":{"description":"How likely is the customer to ask for a refund?","maximum":1,"minimum":0,"type":"number"},"severity":{"anyOf":[{"const":0,"description":"cosmetic"},{"const":1,"description":"annoying"},{"const":2,"description":"blocking"},{"const":3,"description":"data loss"}],"description":"How severe is the issue?","type":"integer"}},"required":["team","angry","topics","refund_likelihood","severity"],"type":"object"}],"title":"Structured Output Json Schema","type":"object"},"model_settings":{"$ref":"#/$defs/OpenAIDecisionsSettings","description":"The decision model and how it turns probabilities into answers"}},"required":["structured_output_json_schema"],"$defs":{"OpenAIDecisionsSettings":{"description":"A model on OpenAI's Decisions API.","properties":{"boolean_threshold":{"default":0.5,"description":"How likely a yes has to be before a boolean field is true, from 0 to 1. Raise it where a false positive is the expensive mistake.","maximum":1.0,"minimum":0.0,"title":"Boolean Threshold","type":"number"},"model":{"const":"gpt-6-luna","description":"The model, by its bare name (no provider prefix).","title":"Model","type":"string"}},"required":["model"],"title":"OpenAIDecisionsSettings","type":"object"},"PrefeedCall":{"description":"A pre-call to an agent whose result is injected into the user prompt before the LLM runs.","properties":{"description":{"description":"Description of the prefeed result (used as context label in the prompt)","title":"Description","type":"string"},"agent":{"description":"Agent ID to call","title":"Agent","type":"string"},"item":{"additionalProperties":true,"description":"Item payload for the agent","title":"Item","type":"object"},"config":{"additionalProperties":true,"default":{},"description":"Optional config payload for the agent","title":"Config","type":"object"}},"required":["description","agent","item"],"title":"PrefeedCall","type":"object"}}},"item":{"type":"object","properties":{"prefeed":{"default":[],"description":"List of agent pre-calls whose results are injected into the user prompt before the LLM runs.","items":{"$ref":"#/$defs/PrefeedCall"},"title":"Prefeed","type":"array"},"user_prompt":{"description":"The text to judge. Put the questions in structured_output_json_schema and system_prompt: a question written here is judged as text, not asked.","examples":["My parcel never arrived and nobody answers. Refund me now!"],"title":"User Prompt","type":"string"}},"required":["user_prompt"],"$defs":{"PrefeedCall":{"description":"A pre-call to an agent whose result is injected into the user prompt before the LLM runs.","properties":{"description":{"description":"Description of the prefeed result (used as context label in the prompt)","title":"Description","type":"string"},"agent":{"description":"Agent ID to call","title":"Agent","type":"string"},"item":{"additionalProperties":true,"description":"Item payload for the agent","title":"Item","type":"object"},"config":{"additionalProperties":true,"default":{},"description":"Optional config payload for the agent","title":"Config","type":"object"}},"required":["description","agent","item"],"title":"PrefeedCall","type":"object"}}},"response":{"description":"The answers, each with how sure the model is","properties":{"structured_output":{"additionalProperties":true,"description":"The schema's fields, each replaced by {value, confidence, probabilities, score}; keys that do not apply to a field are left out.","title":"Structured Output","type":"object"}},"required":["structured_output"],"title":"AIDecisionsGatewayProcessedItem","type":"object"},"has_canvas":false,"open_canvas_automatically":false}