From de914911013bf9da02046906b88a5613dce508e1 Mon Sep 17 00:00:00 2001 From: Donnie Adams Date: Tue, 20 Aug 2024 12:18:01 -0400 Subject: [PATCH] chore: add test for prompt with metadata Signed-off-by: Donnie Adams --- tests/gptscript.test.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tests/gptscript.test.ts b/tests/gptscript.test.ts index c63a7c2..1352840 100644 --- a/tests/gptscript.test.ts +++ b/tests/gptscript.test.ts @@ -545,6 +545,27 @@ describe("gptscript module", () => { expect(promptFound).toBeTruthy() }) + test("prompt with metadata", async () => { + let promptFound = false + const run = await g.run("sys.prompt", { + prompt: true, + input: "{\"fields\":\"first name\",\"metadata\":{\"key\":\"value\"}}" + }) + run.on(gptscript.RunEventType.Prompt, async (data: gptscript.PromptFrame) => { + expect(data.fields.length).toEqual(1) + expect(data.fields[0]).toEqual("first name") + expect(data.metadata).toEqual({key: "value"}) + expect(data.sensitive).toBeFalsy() + + promptFound = true + await g.promptResponse({id: data.id, responses: {[data.fields[0]]: "Clicky"}}) + }) + + expect(await run.text()).toContain("Clicky") + expect(run.err).toEqual("") + expect(promptFound).toBeTruthy() + }) + test("prompt without prompt allowed should fail", async () => { let promptFound = false const t = {