提交 db7ac39c authored 作者: Will Chen's avatar Will Chen

Fix message types

上级 ebf87437
import type { Message } from "ai"; import type { Message } from "@/ipc/ipc_types";
import { atom } from "jotai"; import { atom } from "jotai";
import type { ChatSummary } from "@/lib/schemas"; import type { ChatSummary } from "@/lib/schemas";
......
import { memo } from "react"; import { memo } from "react";
import type { Message } from "ai"; import type { Message } from "@/ipc/ipc_types";
import { DyadMarkdownParser } from "./DyadMarkdownParser"; import { DyadMarkdownParser } from "./DyadMarkdownParser";
import { motion } from "framer-motion"; import { motion } from "framer-motion";
import { useStreamChat } from "@/hooks/useStreamChat"; import { useStreamChat } from "@/hooks/useStreamChat";
...@@ -66,6 +66,19 @@ const ChatMessage = ({ message }: ChatMessageProps) => { ...@@ -66,6 +66,19 @@ const ChatMessage = ({ message }: ChatMessageProps) => {
<DyadMarkdownParser content={message.content} /> <DyadMarkdownParser content={message.content} />
</div> </div>
)} )}
{message.approvalState && (
<div className="mt-2 text-xs">
{message.approvalState === "approved" ? (
<div className="bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200 p-1 rounded">
Approved
</div>
) : message.approvalState === "rejected" ? (
<div className="bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200 p-1 rounded">
Rejected
</div>
) : null}
</div>
)}
</div> </div>
</div> </div>
); );
......
import type React from "react"; import type React from "react";
import type { Message } from "ai"; import type { Message } from "@/ipc/ipc_types";
import { forwardRef } from "react"; import { forwardRef } from "react";
import ChatMessage from "./ChatMessage"; import ChatMessage from "./ChatMessage";
import { SetupBanner } from "../SetupBanner"; import { SetupBanner } from "../SetupBanner";
......
import { useCallback, useState } from "react"; import { useCallback, useState } from "react";
import type { Message } from "ai"; import type { Message } from "@/ipc/ipc_types";
import { useAtom, useSetAtom } from "jotai"; import { useAtom, useSetAtom } from "jotai";
import { import {
chatErrorAtom, chatErrorAtom,
......
...@@ -50,9 +50,17 @@ const getProposalHandler = async ( ...@@ -50,9 +50,17 @@ const getProposalHandler = async (
columns: { columns: {
id: true, // Fetch the ID id: true, // Fetch the ID
content: true, // Fetch the content to parse content: true, // Fetch the content to parse
approvalState: true,
}, },
}); });
if (
latestAssistantMessage?.approvalState === "approved" ||
latestAssistantMessage?.approvalState === "rejected"
) {
return null;
}
if (latestAssistantMessage?.content && latestAssistantMessage.id) { if (latestAssistantMessage?.content && latestAssistantMessage.id) {
const messageId = latestAssistantMessage.id; // Get the message ID const messageId = latestAssistantMessage.id; // Get the message ID
console.log( console.log(
......
import type { Message } from "ai";
import type { IpcRenderer } from "electron"; import type { IpcRenderer } from "electron";
import { import {
type ChatSummary, type ChatSummary,
...@@ -15,6 +14,7 @@ import type { ...@@ -15,6 +14,7 @@ import type {
CreateAppResult, CreateAppResult,
ListAppsResponse, ListAppsResponse,
NodeSystemInfo, NodeSystemInfo,
Message,
Version, Version,
} from "./ipc_types"; } from "./ipc_types";
import type { Proposal } from "@/lib/schemas"; import type { Proposal } from "@/lib/schemas";
......
import type { Message } from "ai";
export interface AppOutput { export interface AppOutput {
type: "stdout" | "stderr" | "info" | "client-error"; type: "stdout" | "stderr" | "info" | "client-error";
message: string; message: string;
...@@ -37,6 +35,13 @@ export interface CreateAppResult { ...@@ -37,6 +35,13 @@ export interface CreateAppResult {
chatId: number; chatId: number;
} }
export interface Message {
id: string;
role: "user" | "assistant";
content: string;
approvalState?: "approved" | "rejected";
}
export interface Chat { export interface Chat {
id: number; id: number;
title: string; title: string;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论