Remove currentChunk parameter and return value from the executeTool method
The executeTool method no longer accepts currentChunk parameter
The executeTool method no longer returns currentChunk field
Add getActiveNodeRange method to get the active node range. The active node range is the range of top-level nodes that can be edited in the next tool call, it helps the AI make more precise edits when editing the document with the applyDiff tool. It replaces the currentChunk parameter.
Add setActiveNodeRange method to set the active node range
Remove tools readFirstChunk, readNextChunk and readPreviousChunk.
Add readNodeRange tool. This tool allows the AI to read any range of top-level nodes in the document. It is much more flexible than the previous chunk-based reading tools.
Minor Changes
Add streamTool method to stream a tool call into the editor
3.0.0-alpha.13
Minor Changes
Add metadata option to review options to add custom metadata and properties to the suggestions that are generated during review mode
Add streamText and streamHtml methods to stream text and HTML content into the editor
Patch Changes
Fix issue in insertJson where it did not support Tiptap JSON of a ProseMirror Fragment
Fix issue in suggestions diff view where extra elements like paragraphs were displayed in the suggestion diff content
3.0.0-alpha.12
Patch Changes
Show a warning when getAiToolkit is called but the Editor does not have the AiToolkit extension
Fix issue in getJsonChunks where the JSON chunks were not being returned in the correct format
Improve readFirstChunk tool response format
3.0.0-alpha.11
Patch Changes
Fix issue in diffUtility where identical empty documents were considered different
3.0.0-alpha.10
Major Changes
Add replaceDocumentWhereChanged method to replace the entire document in an efficient way, so that not all the document is marked as replaced, but only the parts of the document that have changed
Re-implement applyHtmlDiff and rejectAllChanges methods to use replaceDocumentWhereChanged
3.0.0-alpha.9
Major Changes
Add rejectAllChanges method to reject all changes when comparing documents in real-time
3.0.0-alpha.8
Major Changes
Add acceptChange and rejectChange methods to accept and reject changes when comparing documents in real-time
Remove applySuggestionToOtherDoc method because it's equivalent to acceptChange but with a more confusing name
3.0.0-alpha.7
Major Changes
Improved chunk format: now it includes the range of the chunk in the document
Improve accuracy of getHtmlRange, getJsonRange, and getTextRange methods when returning the chunk index
3.0.0-alpha.6
Patch Changes
Fix issue with incorrect import
3.0.0-alpha.5
Minor Changes
Add applySuggestionToOtherDoc method to apply a suggestion to the other document when comparing documents in real-time
Ignore the debounce timeout on the first run of startComparingDocuments so that the suggestions show up immediately and the app feels responsive
3.0.0-alpha.4
Major Changes
Remove needsReview option from return type of executeTool and use docChanged instead
The docChanged option is now true when the tool call modifies the document
3.0.0-alpha.3
Minor Changes
Add needsReview option to return type of executeTool to know when the tool call needs user review
Add applyAllSuggestions method to apply all suggestions at once
Improve error messages when tool calls fail
3.1.0-alpha.2
Patch Changes
Fix types of input parameter in the executeTool method parameters so that it is compatible with the AI SDK by Vercel