Package Exports
- ai-transform
- ai-transform/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (ai-transform) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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-transform
Usage
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 themodel
property.apiKey
: Optional to override the OpenAI API key, by default the library takesOPENAI_API_KEY
environment 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 themodel
property.apiKey
: Optional to override the Google AI API key, by default the library takesGOOGLE_AI_API_KEY
environment 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 themodel
property.apiKey
: Optional to override the Anthropics API key, by default the library takesANTHROPIC_API_KEY
environment 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.