@ -14,20 +14,15 @@ import type {
// ConsistencyLevelEnum,
// type NumberArrayId,
// } from "@zilliz/milvus2-sdk-node";
import { db } from "../../database/index.js" ;
import { conversations } from "./conversations.js" ;
import { messages } from "./messages.js" ;
import { facts , createCaller as createCallerFacts } from "./facts.js" ;
import { createCaller as createCallerMessages } from "./messages.js" ;
import { createCaller as createCallerFactTriggers } from "./fact-triggers.js" ;
import { factTriggers } from "./fact-triggers.js" ;
import { MODEL_NAME , openrouter } from "./provider.js" ;
import { MODEL_NAME } from "./provider.js" ;
import type { Fact , FactTrigger } from "../../database/common.js" ;
const factsCaller = createCallerFacts ( { } ) ;
const messagesCaller = createCallerMessages ( { } ) ;
const factTriggerCaller = createCallerFactTriggers ( { } ) ;
const mainSystemPrompt = ( {
systemPrompt ,
previousRunningSummary ,
@ -54,7 +49,7 @@ export const chat = router({
message : string ;
}
)
. subscription ( async function * ( { input , signal } ) {
. subscription ( async function * ( { input , signal , ctx : { openrouter } } ) {
const result = streamText ( {
model : openrouter ( MODEL_NAME ) ,
messages : [ { role : "user" as const , content : input.message } ] ,
@ -76,7 +71,12 @@ export const chat = router({
)
. subscription ( async function * ( {
input : { conversationId , messages , systemPrompt , parameters } ,
ctx ,
} ) {
const { db , openrouter } = ctx ;
const factsCaller = createCallerFacts ( ctx ) ;
const messagesCaller = createCallerMessages ( ctx ) ;
const factTriggerCaller = createCallerFactTriggers ( ctx ) ;
/ * * T O D O : S a v e a l l u n s a v e d m e s s a g e s ( i . e . t h o s e w i t h o u t a n ` i d ` ) t o t h e
* database . Is this dangerous ? Can an attacker just send a bunch of
* messages , omitting the ids , causing me to save a bunch of them to the