import { expect, tap } from '@push.rocks/tapbundle'; import * as qenv from '@push.rocks/qenv'; const testQenv = new qenv.Qenv('./', './.nogit/'); import * as smartai from '../ts/index.js'; let testSmartai: smartai.SmartAi; tap.test('OpenAI Chat: should create a smartai instance with OpenAI provider', async () => { testSmartai = new smartai.SmartAi({ openaiToken: await testQenv.getEnvVarOnDemand('OPENAI_TOKEN'), }); await testSmartai.start(); }); tap.test('OpenAI Chat: should create chat response', async () => { const userMessage = 'How are you?'; const response = await testSmartai.openaiProvider.chat({ systemMessage: 'Hello', userMessage: userMessage, messageHistory: [], }); console.log(`userMessage: ${userMessage}`); console.log(response.message); expect(response.role).toEqual('assistant'); expect(response.message).toBeTruthy(); }); tap.test('OpenAI Chat: should stop the smartai instance', async () => { await testSmartai.stop(); }); export default tap.start();