import { createTRPCClient } from '@trpc/client';
import type { AppRouter } from './api';
const client = createTRPCClient<AppRouter>({
url: 'http://localhost:3000/trpc',
});
// Check agent availability
const status = await client.agent.status.query();
if (!status.available) {
console.log('AI not configured');
return;
}
// Create a session
const session = await client.agent.createSession.mutate({
repoId: 'repo-uuid',
mode: 'code',
title: 'Implement user settings',
});
// Send a message
const response = await client.agent.chat.mutate({
sessionId: session.id,
message: 'Add a user settings page with email preferences',
context: {
files: ['src/pages/index.tsx', 'src/components/Layout.tsx'],
},
});
console.log(response.content);
// Review proposed changes
if (response.changes?.length) {
console.log('Proposed changes:');
for (const change of response.changes) {
console.log(` ${change.type}: ${change.path}`);
if (change.diff) {
console.log(change.diff);
}
}
// Approve all changes
const result = await client.agent.approveAllChanges.mutate({
sessionId: session.id,
});
console.log(`Applied ${result.approved} changes`);
}
// Get conversation history
const messages = await client.agent.getMessages.query({
sessionId: session.id,
});