import { tap, expect } from '@git.zone/tstest/tapbundle';
import * as qenv from '@push.rocks/qenv';
import { research } from '../ts_research/index.js';

const testQenv = new qenv.Qenv('./', './.nogit/');

tap.test('research should return answer and sources', async () => {
  const apiKey = await testQenv.getEnvVarOnDemand('ANTHROPIC_TOKEN');
  if (!apiKey) {
    console.log('ANTHROPIC_TOKEN not set, skipping test');
    return;
  }

  const result = await research({
    apiKey,
    query: 'What is the current version of Node.js?',
    searchDepth: 'basic',
  });

  console.log('Research answer:', result.answer.substring(0, 200));
  console.log('Research sources:', result.sources.length);
  if (result.searchQueries) {
    console.log('Search queries:', result.searchQueries);
  }

  expect(result.answer).toBeTruthy();
  expect(result.answer.length).toBeGreaterThan(10);
  expect(result.sources).toBeArray();
});

export default tap.start();
