This repository has been archived on 2026-02-01. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
synthetic-consumer-data/utils/consumer/store.ts
Riccardo Senica 017e538396 Vercel ai gateway (#10)
* feat: use vercel ai gateway

* fix: correct response handling

* ci: add pipeline
2025-10-11 15:07:54 +02:00

34 lines
991 B
TypeScript

import 'dotenv/config';
import { Consumer, consumerSchema } from './types';
import { Tool } from './tool';
import { BaseTool, makeRequest } from '@utils/aiGatewayClient';
import { generatePrompt } from './prompt';
import { generateConsumerSeed } from '@utils/generateConsumerSeed';
export async function generate() {
const { letters, birthday, zipCode } = generateConsumerSeed();
console.info(`New consumer being generated`);
const prompt = generatePrompt(letters, birthday, zipCode);
try {
const result = (await makeRequest(prompt, Tool as BaseTool)) as Consumer;
const validConsumer = consumerSchema.safeParse(result);
if (validConsumer.error) {
throw Error(`Invalid consumer generated: ${validConsumer.error.message}`);
}
console.info('Generated consumer by Anthropic', validConsumer.data);
return {
consumer: validConsumer.data
};
} catch (error) {
console.error('Error generating purchases:', error);
throw error;
}
}