diff --git a/src/component/schema.ts b/src/component/schema.ts index f6fdb86..554e250 100644 --- a/src/component/schema.ts +++ b/src/component/schema.ts @@ -1,5 +1,6 @@ import { defineSchema, defineTable } from "convex/server"; import { v } from "convex/values"; +import { textStreams } from "./streams.js"; export type { StreamStatus } from "./status.js"; @@ -14,9 +15,11 @@ export const streamStatusValidator = v.union( export default defineSchema({ streams: defineTable({ status: streamStatusValidator, + coreId: v.optional(v.id("textStreams")), }).index("byStatus", ["status"]), chunks: defineTable({ streamId: v.id("streams"), text: v.string(), }).index("byStream", ["streamId"]), + ...textStreams.tables(), }); diff --git a/src/component/streams.ts b/src/component/streams.ts new file mode 100644 index 0000000..20f4521 --- /dev/null +++ b/src/component/streams.ts @@ -0,0 +1,7 @@ +import { defineStream } from "@convex-dev/stream/server"; +import { v } from "convex/values"; + +export const textStreams = defineStream("textStreams", { + event: v.string(), + eventFields: {}, +});