Skip to main content

addComment

Create a comment annotation anchored to the text range from a TextSelectedEvent.
const rewriterElement = client.getRewriterElement();

const result = await rewriterElement.addComment({ text: 'Consider simplifying this.', event });

if (result.success) {
  console.log('Created annotation:', result.annotationId);
}

askAi

Send a text-generation prompt to any AI model via Velt’s proxy. The provider is resolved automatically from the model name prefix (gpt-*/o1-*/o3-*/o4-* → OpenAI, claude-* → Anthropic, gemini-* → Gemini).
const rewriterElement = client.getRewriterElement();

const response = await rewriterElement.askAi({
  model: 'gemini-2.5-flash',
  prompt: 'Make it more formal',
  selectedText: event.text,
});

if (response.success) {
  console.log('AI output:', response.text);
}

enableRewriter

const rewriterElement = client.getRewriterElement();
rewriterElement.enableRewriter();
rewriterElement.disableRewriter(); //to disable

on

Subscribe to Rewriter events. Supports 'textSelected' to receive a TextSelectedEvent whenever a user selects text in a Rewriter-enabled region.
const rewriterElement = client.getRewriterElement();

rewriterElement.on('textSelected').subscribe((event) => {
  console.log('Selected text:', event.text);
});

replaceText

Replace the DOM text identified by a TextSelectedEvent with new text.
const rewriterElement = client.getRewriterElement();

const result = await rewriterElement.replaceText({ text: 'Replacement text', event });

if (result.success) {
  console.log('Replaced:', result.originalText, '→', result.replacedText);
}