2424use Fusio \Engine \ConnectorInterface ;
2525use Fusio \Engine \ContextInterface ;
2626use Fusio \Impl \Table ;
27+ use Fusio \Model \Agent \Input ;
28+ use Fusio \Model \Agent \Item ;
29+ use Fusio \Model \Agent \ItemObject ;
30+ use Fusio \Model \Agent \ItemText ;
31+ use Fusio \Model \Agent \Output ;
2732use Fusio \Model \Common \AgentContent ;
2833use Fusio \Model \Common \AgentContentObject ;
2934use Fusio \Model \Common \AgentContentText ;
@@ -73,7 +78,7 @@ public function __construct(
7378 $ this ->objectMapper = new ObjectMapper ($ schemaManager );
7479 }
7580
76- public function send (int $ agentId , AgentInput $ input , ContextInterface $ context ): AgentOutput
81+ public function send (int $ agentId , Input $ input , ContextInterface $ context ): Output
7782 {
7883 $ row = $ this ->agentTable ->findOneByTenantAndId ($ context ->getTenantId (), $ context ->getUser ()->getCategoryId (), $ agentId );
7984 if (!$ row instanceof Table \Generated \AgentRow) {
@@ -91,7 +96,7 @@ public function send(int $agentId, AgentInput $input, ContextInterface $context)
9196 }
9297
9398 $ chatId = $ input ->getPreviousId ();
94- $ input = $ input ->getInput () ?? throw new StatusCode \BadRequestException ('Provided no input ' );
99+ $ item = $ input ->getItem () ?? throw new StatusCode \BadRequestException ('Provided no input ' );
95100
96101 $ this ->agentTable ->beginTransaction ();
97102
@@ -103,7 +108,7 @@ public function send(int $agentId, AgentInput $input, ContextInterface $context)
103108 $ messages = $ this ->loadPreviousMessages ($ agentId , $ context ->getUser ()->getId (), $ chatId , $ messages );
104109 }
105110
106- $ userMessages = $ this ->messageUnserializer ->unserialize ($ input );
111+ $ userMessages = $ this ->messageUnserializer ->unserialize ($ item );
107112
108113 $ chatId = $ this ->persistUserMessages ($ agentId , $ context ->getUser ()->getId (), $ chatId , $ userMessages );
109114
@@ -130,18 +135,18 @@ public function send(int $agentId, AgentInput $input, ContextInterface $context)
130135 $ result = $ agent ->call ($ messages , $ options );
131136
132137 if ($ responseSchema !== null ) {
133- $ output = $ this ->jsonResultSerializer ->serialize ($ result );
138+ $ item = $ this ->jsonResultSerializer ->serialize ($ result );
134139 } else {
135- $ output = $ this ->resultSerializer ->serialize ($ result );
140+ $ item = $ this ->resultSerializer ->serialize ($ result );
136141 }
137142
138- $ this ->messageTable ->addAssistantMessage ($ row ->getId (), $ context ->getUser ()->getId (), $ chatId , $ output );
143+ $ this ->messageTable ->addAssistantMessage ($ row ->getId (), $ context ->getUser ()->getId (), $ chatId , $ item );
139144
140145 $ this ->agentTable ->commit ();
141146
142- $ message = new AgentOutput ();
143- $ message ->setId ('' . $ chatId );
144- $ message ->setOutput ( $ output );
147+ $ message = new Output ();
148+ $ message ->setId ($ chatId );
149+ $ message ->setItem ( $ item );
145150 return $ message ;
146151 } catch (Throwable $ e ) {
147152 $ this ->agentTable ->rollBack ();
@@ -166,20 +171,20 @@ private function loadPreviousMessages(int $agentId, int $userId, string $chatId,
166171
167172 $ result = $ this ->messageTable ->findBy ($ condition , $ startIndex , $ count , Table \Generated \AgentMessageColumn::ID , OrderBy::ASC );
168173 foreach ($ result as $ row ) {
169- $ message = $ this ->objectMapper ->readJson ($ row ->getContent (), SchemaSource::fromClass (AgentContent ::class));
174+ $ message = $ this ->objectMapper ->readJson ($ row ->getContent (), SchemaSource::fromClass (Item ::class));
170175
171176 if ($ row ->getOrigin () === Table \Agent \Message::ORIGIN_USER ) {
172177 $ messages = $ messages ->merge ($ this ->messageUnserializer ->unserialize ($ message ));
173178 } elseif ($ row ->getOrigin () === Table \Agent \Message::ORIGIN_ASSISTANT ) {
174- if ($ message instanceof AgentContentText ) {
179+ if ($ message instanceof ItemText ) {
175180 $ messages ->add (Message::ofAssistant ($ message ->getContent ()));
176- } elseif ($ message instanceof AgentContentObject ) {
181+ } elseif ($ message instanceof ItemObject ) {
177182 $ messages ->add (Message::ofAssistant (Parser::encode ($ message ->getPayload ())));
178183 }
179184 } elseif ($ row ->getOrigin () === Table \Agent \Message::ORIGIN_SYSTEM ) {
180- if ($ message instanceof AgentContentText ) {
185+ if ($ message instanceof ItemText ) {
181186 $ messages ->add (Message::forSystem ($ message ->getContent ()));
182- } elseif ($ message instanceof AgentContentObject ) {
187+ } elseif ($ message instanceof ItemObject ) {
183188 $ messages ->add (Message::forSystem (Parser::encode ($ message ->getPayload ())));
184189 }
185190 }
0 commit comments