ai-transform
v0.1.0
Published
A library for transforming source code or text using Large Language Models (LLMs).
Maintainers
Readme
AI Transform
A library for transforming source code or text using Large Language Models (LLMs).
Installation
# PNPM
pnpm add ai-transform
# Or Yarn
yarn add ai-transform
# Or NPM
npm install ai-transformUsage
The library provides two main functions for transformations: transformFromSource for working with strings and transformFromFile for working with files directly.
Transform from Source String
import { transformFromSource } from 'ai-transform';
const sourceCode = `
function hello() {
console.log("Hello, world!");
}
`;
const prompt = 'Convert this function to an arrow function';
const config = {
llm: {
provider: 'openai', // Select the preferred AI provider
model: 'gpt-4.1', // Select preferred model
},
};
try {
const transformedCode = await transformFromSource(sourceCode, prompt, config);
console.log(transformedCode);
/*
Expected output (will vary based on LLM response):
const hello = () => {
console.log("Hello, world!");
};
*/
} catch (error) {
console.error('Transformation failed:', error);
}Transform from File
You can also transform code directly from a file:
import { transformFromFile } from 'ai-transform';
const filepath = './src/example.js';
const prompt = 'Convert all functions to arrow functions';
const config = {
llm: {
provider: 'openai',
model: 'gpt-4.1',
},
};
try {
const transformedCode = await transformFromFile(filepath, prompt, config);
console.log(transformedCode);
// Use the transformed code, e.g., write it back to a file
} catch (error) {
console.error('Transformation failed:', error);
}Configuration
The config object requires an llm property.
OpenAI Configuration (provider: 'openai')
provider: Must be set to'openai'or let it be inferred by passing in 1 of the OpenAI models to themodelproperty.apiKey: Optional to override the OpenAI API key, by default the library takesOPENAI_API_KEYenvironment variable.model: Select your preferred OpenAI model, for example; gpt4.1
Google Configuration (provider: 'google')
provider: Must be set to'google'or let it be inferred by passing in 1 of the Google AI models to themodelproperty.apiKey: Optional to override the Google AI API key, by default the library takesGOOGLE_AI_API_KEYenvironment variable.model: Select your preferred Google AI model, for example; gemini-2.0-flash
Anthropics Configuration (provider: 'anthropics')
provider: Must be set to'anthropics'or let it be inferred by passing in 1 of the Anthropics models to themodelproperty.apiKey: Optional to override the Anthropics API key, by default the library takesANTHROPIC_API_KEYenvironment variable.model: Select your preferred Anthropics model, for example; claude-3-7-sonnet-latest
Error Handling
The transformFromSource function may throw an AITransformError if the transformation fails (e.g., due to API errors or issues with the LLM response). It's recommended to wrap the call in a try...catch block.
