feat: add conversation schemas (#154)

This commit is contained in:
2026-07-02 22:59:37 +01:00
committed by GitHub
parent 57c3275cce
commit be8ad24d7d
7 changed files with 354 additions and 54 deletions

View File

@@ -1,4 +1,4 @@
import { AssistantMessagePayload, UserMessagePayload } from "@freya/core"
import { AssistantMessagePayload, ConversationEntry, UserMessagePayload } from "@freya/core"
import { FlashList } from "@shopify/flash-list"
import { useQuery } from "@tanstack/react-query"
import { View, ViewStyle } from "react-native"
@@ -6,7 +6,6 @@ import tw from "twrnc"
import { SansSerifText } from "@/components/ui/sans-serif-text"
import { ConversationEntry } from "./conversations"
import { useListConversationEntriesQuery, useDefaultConversationQuery } from "./queries"
type ConversationListProps = Omit<

View File

@@ -1,21 +0,0 @@
import {
ConversationEntryKind,
ConversationEntryPayload,
ConversationEntryVisibility,
} from "@freya/core"
import { type } from "arktype"
export const Conversation = type({
id: "string.uuid",
createdAt: "string.date.iso",
updatedAt: "string.date.iso",
})
export const ConversationEntry = type({
id: "string.uuid",
sequence: "number",
kind: type.enumerated(...Object.values(ConversationEntryKind)),
visibility: type.enumerated(...Object.values(ConversationEntryVisibility)),
fileId: "string | null",
payload: ConversationEntryPayload,
})

View File

@@ -1,15 +1,16 @@
import { Conversation, ConversationEntry } from "@freya/core"
import { queryOptions, skipToken } from "@tanstack/react-query"
import { type } from "arktype"
import { useApiClient } from "@/api/client"
import { Conversation, ConversationEntry } from "./conversations"
const ListConversationsResponse = type({
"+": "reject",
conversations: Conversation.array(),
})
const ConversationEntriesResponse = type({
"+": "reject",
entries: ConversationEntry.array(),
})