[AIWriteSupporter] Plugin API

Table of Contents

  • Release 2.21.0 and above, Release 3.3.0 and above
    • EVENT_TYPE
      • TEXT_STREAM_UPDATED
    • on(eventType, listener)
      • parameters:
    • off(eventType, listener)
      • parameters:

Release 2.21.0 and above, Release 3.3.0 and above

EVENT_TYPE

Event types that can be used in the AIWriteSupporter plugin.

You can register or remove listeners for events using the on() and off() methods.

Event TypeDescription
TEXT_STREAM_UPDATEDOccurs each time the AI response stream arrives.

TEXT_STREAM_UPDATED

Occurs each time the AI response stream arrives.

Values passed as listener parameters:

NameTypeDescription
eventObjectThe event object; see the shape below.
{
    aiType: string,                             // AI type
    data: Object,                               // response received via stream
    setContent: (content: string) => void       // sets the response content
}
  • setContent(content): Cumulatively sets the response data to display in the UI.

example

var editor = new SynapEditor(id, synapEditorConfig);
var aiWriteSupporter = editor.plugins.aiWriteSupporter;
var EVENT_TYPE = aiWriteSupporter.EVENT_TYPE;

aiWriteSupporter.on(EVENT_TYPE.TEXT_STREAM_UPDATED, function (event) {
    const data = event.data;
    event.setContent(data.choices[0].delta.content); // GPT-based response setting example
});

on(eventType, listener)

Registers a listener for events occurring in the AIWriteSupporter plugin.

parameters:

NameTypeDescription
eventTypestringEvent type.
listenerfunctionEvent listener.

example

var editor = new SynapEditor(id, synapEditorConfig);
var aiWriteSupporter = editor.plugins.aiWriteSupporter;
var EVENT_TYPE = aiWriteSupporter.EVENT_TYPE;
var eventListener = function () {};

aiWriteSupporter.on(EVENT_TYPE.TEXT_STREAM_UPDATED, eventListener);

off(eventType, listener)

Removes a listener for events occurring in the AIWriteSupporter plugin.

parameters:

NameTypeDescription
eventTypestringEvent type.
listenerfunctionEvent listener.

example

var editor = new SynapEditor(id, synapEditorConfig);
var aiWriteSupporter = editor.plugins.aiWriteSupporter;
var EVENT_TYPE = aiWriteSupporter.EVENT_TYPE;
var eventListener = function () {};

aiWriteSupporter.off(EVENT_TYPE.TEXT_STREAM_UPDATED, eventListener);