{"version":3,"file":"decisions.cjs","names":[],"sources":["../../../../../src/agents/middleware/provider/openai/decisions.ts"],"sourcesContent":["type DecisionAnswer =\n  | { type: \"predicate\"; probability: number }\n  | {\n      type: \"choice\";\n      choice: string;\n      confidence: number;\n      probabilities: { value: string; probability: number }[];\n    }\n  | { type: \"score\" | \"refusal\" };\n\nexport type DecisionQuestions = Record<\n  string,\n  | { type: \"predicate\"; instructions: string }\n  | { type: \"choice\"; instructions: string; choices: Record<string, string> }\n>;\n\n/** The part of `OpenAIDecisions` from `@langchain/openai` these middleware use. */\nexport interface OpenAIDecisionsLike {\n  invoke(\n    request: { input: never; questions: DecisionQuestions },\n    config?: { signal?: AbortSignal }\n  ): Promise<{ answers: Record<string, DecisionAnswer> }>;\n}\n\n/** Asks a single question and returns its answer. */\nexport function decider(\n  model: OpenAIDecisionsLike,\n  questions: DecisionQuestions\n) {\n  return async (input: unknown, signal?: AbortSignal) => {\n    const { answers } = await model.invoke(\n      { input: input as never, questions },\n      { signal }\n    );\n    return Object.values(answers)[0];\n  };\n}\n"],"mappings":";;AAyBA,SAAgB,QACd,OACA,WACA;CACA,OAAO,OAAO,OAAgB,WAAyB;EACrD,MAAM,EAAE,YAAY,MAAM,MAAM,OAC9B;GAAS;GAAgB;EAAU,GACnC,EAAE,OAAO,CACX;EACA,OAAO,OAAO,OAAO,OAAO,CAAC,CAAC;CAChC;AACF"}