UNPKG

@coursebuilder/core

Version:

Core package for Course Builder

1 lines 1.63 kB
{"version":3,"sources":["../../../src/inngest/util/streaming-chat-prompt-executor.ts"],"sourcesContent":["import { type CoreMessage } from 'ai'\n\nimport { LlmProviderConfig } from '../../providers/openai'\nimport { AIMessage, type AIOutput } from '../../types'\n\nexport type ChatCompletionRequestMessage = CoreMessage\n\ntype PromptStepOptions = {\n\trequestId: string\n\tpromptMessages: CoreMessage[]\n\tmodel: string\n\tprovider: LlmProviderConfig\n}\n\nexport async function streamingChatPromptExecutor({\n\trequestId,\n\tpromptMessages,\n\tmodel,\n\tprovider,\n}: PromptStepOptions) {\n\tconst result: AIOutput | null = await provider.createChatCompletion({\n\t\tmessages: promptMessages,\n\t\tchatId: requestId,\n\t\tmodel,\n\t})\n\n\tif (!result) {\n\t\tthrow new Error('Chat completion returned null')\n\t}\n\n\tif ('error' in result) {\n\t\tthrow new Error(result.error)\n\t}\n\n\tconst message = result as AIMessage\n\treturn [\n\t\t...promptMessages,\n\t\t{\n\t\t\trole: 'assistant',\n\t\t\tcontent: message.content,\n\t\t} as CoreMessage,\n\t]\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAcA;;;;;AAAA,eAAsBA,4BAA4B,EACjDC,WACAC,gBACAC,OACAC,SAAQ,GACW;AACnB,QAAMC,SAA0B,MAAMD,SAASE,qBAAqB;IACnEC,UAAUL;IACVM,QAAQP;IACRE;EACD,CAAA;AAEA,MAAI,CAACE,QAAQ;AACZ,UAAM,IAAII,MAAM,+BAAA;EACjB;AAEA,MAAI,WAAWJ,QAAQ;AACtB,UAAM,IAAII,MAAMJ,OAAOK,KAAK;EAC7B;AAEA,QAAMC,UAAUN;AAChB,SAAO;OACHH;IACH;MACCU,MAAM;MACNC,SAASF,QAAQE;IAClB;;AAEF;AA5BsBb;","names":["streamingChatPromptExecutor","requestId","promptMessages","model","provider","result","createChatCompletion","messages","chatId","Error","error","message","role","content"]}