mirror of
https://github.com/fbarrca/obsidian-inlineAI.git
synced 2026-07-22 11:50:24 +00:00
Rename AI response effects and state for clarity and consistency
This commit is contained in:
parent
9efb9ac36b
commit
988f39e9fc
4 changed files with 10 additions and 10 deletions
|
|
@ -5,7 +5,7 @@ import { SystemMessage, HumanMessage, AIMessage } from "@langchain/core/messages
|
|||
import { MyPluginSettings } from "./settings";
|
||||
import { App, MarkdownView } from "obsidian";
|
||||
import { EditorView } from "@codemirror/view";
|
||||
import { setAIResponseEffect } from "./modules/AIExtension";
|
||||
import { setGeneratedResponseEffect } from "./modules/AIExtension";
|
||||
|
||||
/**
|
||||
* Class to manage interactions with different chat APIs.
|
||||
|
|
@ -89,7 +89,7 @@ export class ChatApiManager {
|
|||
|
||||
const mainEditorView = (markdownView.editor as any).cm as EditorView;
|
||||
mainEditorView?.dispatch({
|
||||
effects: setAIResponseEffect.of({ airesponse: response, prompt: userRequest }),
|
||||
effects: setGeneratedResponseEffect.of({ airesponse: response, prompt: userRequest }),
|
||||
});
|
||||
|
||||
return response;
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ import { EditorView } from "@codemirror/view";
|
|||
import { MyPluginSettings, DEFAULT_SETTINGS, MyPluginSettingTab } from "./settings";
|
||||
import { commandEffect, FloatingTooltipExtension } from "./modules/WidgetExtension";
|
||||
import { ChatApiManager } from "./api";
|
||||
import { AIResponseField } from "./modules/AIExtension";
|
||||
import { generatedResponseState } from "./modules/AIExtension";
|
||||
import { buildSelectionHiglightState, currentSelectionState, setSelectionInfoEffect } from "./modules/SelectionSate";
|
||||
import { diffExtension, diffDecorationState } from "./modules/diffExtension";
|
||||
import { diffExtension } from "./modules/diffExtension";
|
||||
|
||||
export default class MyPlugin extends Plugin {
|
||||
settings: MyPluginSettings = DEFAULT_SETTINGS;
|
||||
|
|
@ -17,7 +17,7 @@ export default class MyPlugin extends Plugin {
|
|||
|
||||
this.registerEditorExtension([
|
||||
FloatingTooltipExtension(chatapi),
|
||||
AIResponseField,
|
||||
generatedResponseState,
|
||||
currentSelectionState,
|
||||
buildSelectionHiglightState,
|
||||
diffExtension
|
||||
|
|
|
|||
|
|
@ -14,17 +14,17 @@ export interface AIResponse {
|
|||
/**
|
||||
* State Effect to set the AI response.
|
||||
*/
|
||||
export const setAIResponseEffect = StateEffect.define<AIResponse | null>();
|
||||
export const setGeneratedResponseEffect = StateEffect.define<AIResponse | null>();
|
||||
|
||||
// State field of type text to store the response from the API
|
||||
export const AIResponseField = StateField.define<AIResponse | null>({
|
||||
export const generatedResponseState = StateField.define<AIResponse | null>({
|
||||
create() {
|
||||
return null;
|
||||
},
|
||||
update(value, tr) {
|
||||
// Check if the transaction contains an effect to set the response
|
||||
if (tr.effects.some((e) => e.is(setAIResponseEffect))) {
|
||||
const effect = tr.effects.find((e) => e.is(setAIResponseEffect));
|
||||
if (tr.effects.some((e) => e.is(setGeneratedResponseEffect))) {
|
||||
const effect = tr.effects.find((e) => e.is(setGeneratedResponseEffect));
|
||||
return effect ? effect.value : value;
|
||||
}
|
||||
// if we geta dismmisTooltipEffect we should clear the response
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import {
|
|||
import { diffWords, Change } from "diff";
|
||||
|
||||
import { acceptTooltipEffect, dismissTooltipEffect } from "./WidgetExtension";
|
||||
import { AIResponseField as generatedResponseState, setAIResponseEffect as setGeneratedResponseEffect } from "./AIExtension";
|
||||
import { generatedResponseState, setGeneratedResponseEffect } from "./AIExtension";
|
||||
import { currentSelectionState } from "./SelectionSate";
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue