@@ -258,6 +258,134 @@ describe('AcontextClient Integration Tests', () => {
258258 const session = await client . sessions . getConfigs ( createdSessionId ) ;
259259 expect ( session . configs ) . toMatchObject ( { mode : 'test-updated' } ) ;
260260 } ) ;
261+
262+ test ( 'should send messages in OpenAI format' , async ( ) => {
263+ if ( ! createdSessionId ) {
264+ throw new Error ( 'Session not created' ) ;
265+ }
266+
267+ // Send user message in OpenAI format
268+ const userMessage = {
269+ role : 'user' ,
270+ content : 'Hello, how are you?' ,
271+ } ;
272+
273+ const sentUserMessage = await client . sessions . sendMessage (
274+ createdSessionId ,
275+ userMessage ,
276+ { format : 'openai' }
277+ ) ;
278+ expect ( sentUserMessage ) . toBeDefined ( ) ;
279+ expect ( sentUserMessage . id ) . toBeDefined ( ) ;
280+ expect ( sentUserMessage . session_id ) . toBe ( createdSessionId ) ;
281+ expect ( sentUserMessage . role ) . toBe ( 'user' ) ;
282+
283+ // Send assistant message in OpenAI format
284+ const assistantMessage = {
285+ role : 'assistant' ,
286+ content : 'I am doing well, thank you for asking!' ,
287+ } ;
288+
289+ const sentAssistantMessage = await client . sessions . sendMessage (
290+ createdSessionId ,
291+ assistantMessage ,
292+ { format : 'openai' }
293+ ) ;
294+ expect ( sentAssistantMessage ) . toBeDefined ( ) ;
295+ expect ( sentAssistantMessage . id ) . toBeDefined ( ) ;
296+ expect ( sentAssistantMessage . session_id ) . toBe ( createdSessionId ) ;
297+ expect ( sentAssistantMessage . role ) . toBe ( 'assistant' ) ;
298+ } ) ;
299+
300+ test ( 'should send Anthropic response format messages' , async ( ) => {
301+ if ( ! createdSessionId ) {
302+ throw new Error ( 'Session not created' ) ;
303+ }
304+
305+ // Send user message
306+ const userMessage = {
307+ role : 'user' ,
308+ content : 'Hello, how are you?' ,
309+ } ;
310+
311+ const sentUserMessage = await client . sessions . sendMessage (
312+ createdSessionId ,
313+ userMessage ,
314+ { format : 'openai' }
315+ ) ;
316+ expect ( sentUserMessage ) . toBeDefined ( ) ;
317+ expect ( sentUserMessage . role ) . toBe ( 'user' ) ;
318+
319+ // Simulate Anthropic API response format
320+ const anthropicResponse = {
321+ id : 'msg_01XFDUDYJgAACzvnptvVoYEL' ,
322+ type : 'message' ,
323+ role : 'assistant' ,
324+ model : 'claude-sonnet-4-20250514' ,
325+ content : [
326+ {
327+ type : 'text' ,
328+ text : 'Hello! I\'m doing well, thank you for asking. How can I assist you today?' ,
329+ } ,
330+ ] ,
331+ stop_reason : 'end_turn' ,
332+ stop_sequence : null ,
333+ usage : {
334+ input_tokens : 10 ,
335+ output_tokens : 20 ,
336+ } ,
337+ } ;
338+
339+ // Send Anthropic response as a message
340+ const sentAnthropicMessage = await client . sessions . sendMessage (
341+ createdSessionId ,
342+ anthropicResponse ,
343+ { format : 'openai' }
344+ ) ;
345+ expect ( sentAnthropicMessage ) . toBeDefined ( ) ;
346+ expect ( sentAnthropicMessage . id ) . toBeDefined ( ) ;
347+ expect ( sentAnthropicMessage . session_id ) . toBe ( createdSessionId ) ;
348+ expect ( sentAnthropicMessage . role ) . toBe ( 'assistant' ) ;
349+ } ) ;
350+
351+ test ( 'should send OpenAI chat completion response format messages' , async ( ) => {
352+ if ( ! createdSessionId ) {
353+ throw new Error ( 'Session not created' ) ;
354+ }
355+
356+ // Send user message
357+ const userMessage = {
358+ role : 'user' ,
359+ content : 'Hello, how are you?' ,
360+ } ;
361+
362+ const sentUserMessage = await client . sessions . sendMessage (
363+ createdSessionId ,
364+ userMessage ,
365+ { format : 'openai' }
366+ ) ;
367+ expect ( sentUserMessage ) . toBeDefined ( ) ;
368+ expect ( sentUserMessage . role ) . toBe ( 'user' ) ;
369+
370+ // Simulate OpenAI chat completion response message format
371+ const openaiResponseMessage = {
372+ role : 'assistant' ,
373+ content : 'I\'m doing well, thank you for asking! How can I help you today?' ,
374+ refusal : null ,
375+ } ;
376+
377+ // Send OpenAI response message
378+ const sentOpenAIMessage = await client . sessions . sendMessage (
379+ createdSessionId ,
380+ openaiResponseMessage ,
381+ { format : 'openai' }
382+ ) ;
383+
384+ expect ( sentOpenAIMessage ) . toBeDefined ( ) ;
385+ expect ( sentOpenAIMessage . id ) . toBeDefined ( ) ;
386+ expect ( sentOpenAIMessage . session_id ) . toBe ( createdSessionId ) ;
387+ expect ( sentOpenAIMessage . role ) . toBe ( 'assistant' ) ;
388+ } ) ;
261389 } ) ;
262390
263391 describe ( 'Disks API' , ( ) => {
0 commit comments