From 7bf32d67469cc8c0d30751868b6c9cd4032727af Mon Sep 17 00:00:00 2001 From: ramnique <30795890+ramnique@users.noreply.github.com> Date: Thu, 23 Jan 2025 11:39:27 +0530 Subject: [PATCH] add copy json to copilot --- apps/rowboat/app/actions.ts | 19 ++++++++--- .../projects/[projectId]/playground/app.tsx | 11 +++--- .../projects/[projectId]/playground/chat.tsx | 34 ++++--------------- .../playground/copy-as-json-button.tsx | 28 +++++++++++++++ .../projects/[projectId]/workflow/copilot.tsx | 28 ++++++++++++--- .../[projectId]/workflow/entity_list.tsx | 9 ++--- .../projects/[projectId]/workflow/pane.tsx | 2 +- 7 files changed, 81 insertions(+), 50 deletions(-) create mode 100644 apps/rowboat/app/projects/[projectId]/playground/copy-as-json-button.tsx diff --git a/apps/rowboat/app/actions.ts b/apps/rowboat/app/actions.ts index 6e401dbf..a785b261 100644 --- a/apps/rowboat/app/actions.ts +++ b/apps/rowboat/app/actions.ts @@ -462,7 +462,8 @@ export async function getAssistantResponse( ): Promise<{ messages: z.infer[], state: unknown, - rawAPIResponse: unknown, + rawRequest: unknown, + rawResponse: unknown, }> { await projectAuthCheck(projectId); @@ -470,7 +471,8 @@ export async function getAssistantResponse( return { messages: convertFromAgenticAPIChatMessages(response.messages), state: response.state, - rawAPIResponse: response.rawAPIResponse, + rawRequest: request, + rawResponse: response.rawAPIResponse, }; } @@ -479,7 +481,11 @@ export async function getCopilotResponse( messages: z.infer[], current_workflow_config: z.infer, context: z.infer | null, -): Promise> { +): Promise<{ + message: z.infer, + rawRequest: unknown, + rawResponse: unknown, +}> { await projectAuthCheck(projectId); // prepare request @@ -515,7 +521,12 @@ export async function getCopilotResponse( role: 'assistant', content: json.response.replace(/^```json\n/, '').replace(/\n```$/, ''), }); - return msg as z.infer; + + return { + message: msg as z.infer, + rawRequest: request, + rawResponse: json, + }; } export async function suggestToolResponse(toolId: string, projectId: string, messages: z.infer[]): Promise { diff --git a/apps/rowboat/app/projects/[projectId]/playground/app.tsx b/apps/rowboat/app/projects/[projectId]/playground/app.tsx index ba391b60..c1d3a389 100644 --- a/apps/rowboat/app/projects/[projectId]/playground/app.tsx +++ b/apps/rowboat/app/projects/[projectId]/playground/app.tsx @@ -1,5 +1,5 @@ 'use client'; -import { Spinner } from "@nextui-org/react"; +import { Dropdown, DropdownItem, DropdownMenu, DropdownTrigger, Spinner } from "@nextui-org/react"; import { useEffect, useState, useMemo } from "react"; import { z } from "zod"; import { PlaygroundChat, SimulationData, Workflow } from "@/app/lib/types"; @@ -8,6 +8,7 @@ import { Chat } from "./chat"; import { useSearchParams } from "next/navigation"; import { ActionButton, Pane } from "../workflow/pane"; import { apiV1 } from "rowboat-shared"; +import { EllipsisVerticalIcon, MessageSquarePlusIcon, PlayIcon } from "lucide-react"; function SimulateLabel() { return Simulatebeta; @@ -75,18 +76,14 @@ export function App({ return : "Chat"} actions={[ , !viewSimulationMenu &&