From f85fe980d20599d9c4ed87d4cc254f81d63461db Mon Sep 17 00:00:00 2001 From: Alex Date: Thu, 23 Jan 2025 13:47:10 +0100 Subject: [PATCH] Add render prompt --- src/rpc/procedures.ts | 29 ++++++++++++++++++++++++++++- src/rpc/types.ts | 1 + 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/rpc/procedures.ts b/src/rpc/procedures.ts index 2303e55..7e521c7 100644 --- a/src/rpc/procedures.ts +++ b/src/rpc/procedures.ts @@ -1,4 +1,4 @@ -import { scan, SerializedChain } from '../compiler' +import { render, scan, SerializedChain } from '../compiler' import { Chain, StepResponse } from '../compiler/chain' import { AdapterKey, getAdapter } from '../providers' import { Message, MessageRole } from '../types' @@ -21,6 +21,33 @@ export default { } }, + [RPC.Procedure.RenderPrompt]: async ({ + prompt, + parameters, + adapter, + defaultRole, + includeSourceMap, + }: { + prompt: string + parameters?: Record + adapter?: AdapterKey + defaultRole?: MessageRole + includeSourceMap?: boolean + }) => { + const result = await render({ + prompt: prompt, + parameters: parameters, + adapter: adapter ? getAdapter(adapter) : undefined, + defaultRole: defaultRole, + includeSourceMap: includeSourceMap, + }) + + return { + messages: result.messages, + config: result.config, + } + }, + [RPC.Procedure.CreateChain]: async ({ prompt, parameters, diff --git a/src/rpc/types.ts b/src/rpc/types.ts index 15e27d2..116bbfe 100644 --- a/src/rpc/types.ts +++ b/src/rpc/types.ts @@ -10,6 +10,7 @@ declare global { export namespace RPC { export const enum Procedure { ScanPrompt = 'scanPrompt', + RenderPrompt = 'renderPrompt', CreateChain = 'createChain', StepChain = 'stepChain', }