diff --git a/src/components/FetchModel.ts b/src/components/FetchModel.ts index 9c4ae16..c767662 100644 --- a/src/components/FetchModel.ts +++ b/src/components/FetchModel.ts @@ -9,11 +9,12 @@ import { addMessage, addParagraphBreaks } from "./chat/Message"; import { codeBlockCopyButton } from "./chat/Buttons"; import { getPrompt } from "./chat/Prompt"; import { displayLoadingBotMessage } from "./chat/BotMessage"; +import { getActiveFileContent, getCurrentNoteContent } from "./editor/ReferenceCurrentNote"; let abortController = new AbortController(); // Fetch OpenAI API Chat -export async function fetchOpenAIAPI(settings: BMOSettings, referenceCurrentNoteContent: string, index: number) { +export async function fetchOpenAIAPI(settings: BMOSettings, index: number) { const openai = new OpenAI({ apiKey: settings.apiKey, baseURL: settings.openAIBaseUrl, @@ -42,6 +43,9 @@ export async function fetchOpenAIAPI(settings: BMOSettings, referenceCurrentNote messageContainerEl?.insertBefore(botMessageDiv, messageContainerElDivs[index+1]); botMessageDiv.scrollIntoView({ behavior: 'smooth', block: 'start' }); + await getActiveFileContent(settings); + const referenceCurrentNoteContent = getCurrentNoteContent(); + try { const stream = await openai.chat.completions.create({ model: settings.model, @@ -122,7 +126,7 @@ export async function fetchOpenAIAPI(settings: BMOSettings, referenceCurrentNote } // Fetch OpenAI-Based API -export async function fetchOpenAIBaseAPI(settings: BMOSettings, referenceCurrentNote: string, index: number) { +export async function fetchOpenAIBaseAPI(settings: BMOSettings, index: number) { const openai = new OpenAI({ apiKey: settings.apiKey, baseURL: settings.openAIBaseUrl, @@ -146,12 +150,15 @@ export async function fetchOpenAIBaseAPI(settings: BMOSettings, referenceCurrent messageContainerEl?.insertBefore(botMessageDiv, messageContainerElDivs[index+1]); botMessageDiv.scrollIntoView({ behavior: 'smooth', block: 'start' }); + await getActiveFileContent(settings); + const referenceCurrentNoteContent = getCurrentNoteContent(); + try { const completion = await openai.chat.completions.create({ model: settings.model, max_tokens: parseInt(settings.max_tokens), messages: [ - { role: 'system', content: referenceCurrentNote + settings.system_role + prompt}, + { role: 'system', content: referenceCurrentNoteContent + settings.system_role + prompt}, ...messageHistoryAtIndex as ChatCompletionMessageParam[] ], }); @@ -193,7 +200,7 @@ export async function fetchOpenAIBaseAPI(settings: BMOSettings, referenceCurrent // Request response from Ollama // NOTE: Abort does not work for requestUrl -export async function ollamaFetchData(settings: BMOSettings, referenceCurrentNoteContent: string, index: number) { +export async function ollamaFetchData(settings: BMOSettings, index: number) { const ollamaRestAPIUrl = settings.ollamaRestAPIUrl; if (!ollamaRestAPIUrl) { @@ -217,6 +224,9 @@ export async function ollamaFetchData(settings: BMOSettings, referenceCurrentNot messageContainerEl?.insertBefore(botMessageDiv, messageContainerElDivs[index+1]); botMessageDiv.scrollIntoView({ behavior: 'smooth', block: 'start' }); + await getActiveFileContent(settings); + const referenceCurrentNoteContent = getCurrentNoteContent(); + try { const response = await requestUrl({ url: ollamaRestAPIUrl + '/api/chat', @@ -236,8 +246,6 @@ export async function ollamaFetchData(settings: BMOSettings, referenceCurrentNot }), }); - // console.log(ollamaParametersOptions(settings)); - const message = response.json.message.content; const messageContainerEl = document.querySelector('#messageContainer'); @@ -273,7 +281,7 @@ export async function ollamaFetchData(settings: BMOSettings, referenceCurrentNot } // Fetch Ollama API via stream -export async function ollamaFetchDataStream(settings: BMOSettings, referenceCurrentNoteContent: string, index: number) { +export async function ollamaFetchDataStream(settings: BMOSettings, index: number) { const ollamaRestAPIUrl = settings.ollamaRestAPIUrl; if (!ollamaRestAPIUrl) { @@ -305,6 +313,9 @@ export async function ollamaFetchDataStream(settings: BMOSettings, referenceCurr messageContainerEl?.insertBefore(botMessageDiv, messageContainerElDivs[index+1]); botMessageDiv.scrollIntoView({ behavior: 'smooth', block: 'start' }); + await getActiveFileContent(settings); + const referenceCurrentNoteContent = getCurrentNoteContent(); + try { const response = await fetch(url, { method: 'POST', @@ -323,8 +334,6 @@ export async function ollamaFetchDataStream(settings: BMOSettings, referenceCurr }), signal: abortController.signal }) - - // console.log(ollamaParametersOptions(settings)); if (!response.ok) { new Notice(`HTTP error! Status: ${response.status}`); @@ -409,7 +418,7 @@ export async function ollamaFetchDataStream(settings: BMOSettings, referenceCurr } // Request response from openai-based rest api url -export async function openAIRestAPIFetchData(settings: BMOSettings, referenceCurrentNote: string, index: number) { +export async function openAIRestAPIFetchData(settings: BMOSettings, index: number) { let prompt = await getPrompt(settings); if (prompt == undefined) { @@ -426,6 +435,9 @@ export async function openAIRestAPIFetchData(settings: BMOSettings, referenceCur messageContainerEl?.insertBefore(botMessageDiv, messageContainerElDivs[index+1]); botMessageDiv.scrollIntoView({ behavior: 'smooth', block: 'start' }); + + await getActiveFileContent(settings); + const referenceCurrentNoteContent = getCurrentNoteContent(); const urls = [ settings.openAIRestAPIUrl + '/v1/chat/completions', @@ -446,7 +458,7 @@ export async function openAIRestAPIFetchData(settings: BMOSettings, referenceCur body: JSON.stringify({ model: settings.model, messages: [ - { role: 'system', content: referenceCurrentNote + settings.system_role + prompt}, + { role: 'system', content: referenceCurrentNoteContent + settings.system_role + prompt}, ...messageHistoryAtIndex ], max_tokens: parseInt(settings.max_tokens), @@ -497,7 +509,7 @@ export async function openAIRestAPIFetchData(settings: BMOSettings, referenceCur } // Fetch Ollama API via stream -export async function openAIRestAPIFetchDataStream(settings: BMOSettings, referenceCurrentNoteContent: string, index: number) { +export async function openAIRestAPIFetchDataStream(settings: BMOSettings, index: number) { const openAIRestAPIUrl = settings.openAIRestAPIUrl; if (!openAIRestAPIUrl) { @@ -529,6 +541,9 @@ export async function openAIRestAPIFetchDataStream(settings: BMOSettings, refere messageContainerEl?.insertBefore(botMessageDiv, messageContainerElDivs[index+1]); botMessageDiv.scrollIntoView({ behavior: 'smooth', block: 'start' }); + await getActiveFileContent(settings); + const referenceCurrentNoteContent = getCurrentNoteContent(); + try { const response = await fetch(url, { method: 'POST', @@ -641,7 +656,7 @@ export async function openAIRestAPIFetchDataStream(settings: BMOSettings, refere } // Request response from Anthropic -export async function requestUrlAnthropicAPI(settings: BMOSettings, referenceCurrentNoteContent: string, index: number) { +export async function requestUrlAnthropicAPI(settings: BMOSettings, index: number) { const headers = { 'anthropic-version': '2023-06-01', 'content-type': 'application/json', @@ -667,6 +682,9 @@ export async function requestUrlAnthropicAPI(settings: BMOSettings, referenceCur messageContainerEl?.insertBefore(botMessageDiv, messageContainerElDivs[index+1]); botMessageDiv.scrollIntoView({ behavior: 'smooth', block: 'start' }); + await getActiveFileContent(settings); + const referenceCurrentNoteContent = getCurrentNoteContent(); + const requestBody = { model: settings.model, prompt: `\n\nHuman: ${referenceCurrentNoteContent}\n\n${settings.system_role}\n\n${prompt}\n\n${messageHistoryAtIndexString}\n\nAssistant:`, diff --git a/src/components/ReferenceCurrentNoteIndicator.ts b/src/components/ReferenceCurrentNoteIndicator.ts deleted file mode 100644 index edc3867..0000000 --- a/src/components/ReferenceCurrentNoteIndicator.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { TFile } from "obsidian"; - -// Reference Current Note Indicator -export async function getActiveFileContent(file: TFile) { - const activeFile = app.workspace.getActiveFile(); - const dotElement = document.querySelector('.dotIndicator'); - let currentNote = ''; - if (activeFile?.extension === 'md') { - const content = await app.vault.read(activeFile); - currentNote = 'You will refer to this content if the user is asking for anything related to their notes:' + - '\n' + content + '\n'; - if (dotElement) { - (dotElement as HTMLElement).style.backgroundColor = 'green'; - } - } else { - if (dotElement) { - (dotElement as HTMLElement).style.backgroundColor = '#da2c2c'; - } - } - return currentNote; -} \ No newline at end of file diff --git a/src/components/chat/Buttons.ts b/src/components/chat/Buttons.ts index 3f4589a..6dbf8a8 100644 --- a/src/components/chat/Buttons.ts +++ b/src/components/chat/Buttons.ts @@ -3,7 +3,7 @@ import { BMOSettings, checkActiveFile } from "src/main"; import { ANTHROPIC_MODELS, OPENAI_MODELS, activeEditor, filenameMessageHistoryJSON, lastCursorPosition, lastCursorPositionFile, messageHistory } from "src/view"; import { fetchOpenAIAPI, fetchOpenAIBaseAPI, ollamaFetchData, ollamaFetchDataStream, requestUrlAnthropicAPI, openAIRestAPIFetchData, openAIRestAPIFetchDataStream } from "../FetchModel"; -export function regenerateUserButton(settings: BMOSettings, referenceCurrentNote: string) { +export function regenerateUserButton(settings: BMOSettings) { const regenerateButton = document.createElement("button"); regenerateButton.textContent = "regenerate"; setIcon(regenerateButton, "refresh-ccw"); @@ -31,7 +31,7 @@ export function regenerateUserButton(settings: BMOSettings, referenceCurrentNote deleteMessage(index+1); if (OPENAI_MODELS.includes(settings.model)) { try { - await fetchOpenAIAPI(settings, referenceCurrentNote, index); + await fetchOpenAIAPI(settings, index); } catch (error) { new Notice('Error occurred while fetching completion: ' + error.message); @@ -40,7 +40,7 @@ export function regenerateUserButton(settings: BMOSettings, referenceCurrentNote } else if (settings.openAIBaseModels.includes(settings.model)) { try { - await fetchOpenAIBaseAPI(settings, referenceCurrentNote, index); + await fetchOpenAIBaseAPI(settings, index); } catch (error) { new Notice('Error occurred while fetching completion: ' + error.message); @@ -49,7 +49,7 @@ export function regenerateUserButton(settings: BMOSettings, referenceCurrentNote } else if (ANTHROPIC_MODELS.includes(settings.model)) { try { - await requestUrlAnthropicAPI(settings, referenceCurrentNote, index); + await requestUrlAnthropicAPI(settings, index); } catch (error) { console.error('Error:', error); @@ -57,18 +57,18 @@ export function regenerateUserButton(settings: BMOSettings, referenceCurrentNote } else if (settings.ollamaRestAPIUrl && settings.ollamaModels.includes(settings.model)) { if (settings.allowOllamaStream) { - await ollamaFetchDataStream(settings, referenceCurrentNote, index); + await ollamaFetchDataStream(settings, index); } else { - await ollamaFetchData(settings, referenceCurrentNote, index); + await ollamaFetchData(settings, index); } } else if (settings.openAIRestAPIUrl && settings.openAIRestAPIModels.includes(settings.model)){ if (settings.allowOpenAIRestAPIStream) { - await openAIRestAPIFetchDataStream(settings, referenceCurrentNote, index); + await openAIRestAPIFetchDataStream(settings, index); } else { - await openAIRestAPIFetchData(settings, referenceCurrentNote, index); + await openAIRestAPIFetchData(settings, index); } } } @@ -79,7 +79,7 @@ export function regenerateUserButton(settings: BMOSettings, referenceCurrentNote return regenerateButton; } -export function displayEditButton (settings: BMOSettings, referenceCurrentNoteContent: string, userP: HTMLParagraphElement) { +export function displayEditButton (settings: BMOSettings, userP: HTMLParagraphElement) { const editButton = document.createElement("button"); editButton.textContent = "edit"; setIcon(editButton, "edit"); // Assuming setIcon is defined elsewhere @@ -129,7 +129,7 @@ export function displayEditButton (settings: BMOSettings, referenceCurrentNoteCo // Fetch OpenAI API if (OPENAI_MODELS.includes(settings.model)) { try { - await fetchOpenAIAPI(settings, referenceCurrentNoteContent, index); + await fetchOpenAIAPI(settings, index); } catch (error) { new Notice('Error occurred while fetching completion: ' + error.message); @@ -138,7 +138,7 @@ export function displayEditButton (settings: BMOSettings, referenceCurrentNoteCo } else if (settings.openAIBaseModels.includes(settings.model)) { try { - await fetchOpenAIBaseAPI(settings, referenceCurrentNoteContent, index); + await fetchOpenAIBaseAPI(settings, index); } catch (error) { new Notice('Error occurred while fetching completion: ' + error.message); @@ -147,7 +147,7 @@ export function displayEditButton (settings: BMOSettings, referenceCurrentNoteCo } else if (ANTHROPIC_MODELS.includes(settings.model)) { try { - await requestUrlAnthropicAPI(settings, referenceCurrentNoteContent, index); + await requestUrlAnthropicAPI(settings, index); } catch (error) { console.error('Error:', error); @@ -155,18 +155,18 @@ export function displayEditButton (settings: BMOSettings, referenceCurrentNoteCo } else if (settings.ollamaRestAPIUrl && settings.ollamaModels.includes(settings.model)) { if (settings.allowOllamaStream) { - await ollamaFetchDataStream(settings, referenceCurrentNoteContent, index); + await ollamaFetchDataStream(settings, index); } else { - await ollamaFetchData(settings, referenceCurrentNoteContent, index); + await ollamaFetchData(settings, index); } } else if (settings.openAIRestAPIUrl && settings.openAIRestAPIModels.includes(settings.model)){ if (settings.allowOpenAIRestAPIStream) { - await openAIRestAPIFetchDataStream(settings, referenceCurrentNoteContent, index); + await openAIRestAPIFetchDataStream(settings, index); } else { - await openAIRestAPIFetchData(settings, referenceCurrentNoteContent, index); + await openAIRestAPIFetchData(settings, index); } } } diff --git a/src/components/chat/Prompt.ts b/src/components/chat/Prompt.ts index 37d2f40..38ee4b7 100644 --- a/src/components/chat/Prompt.ts +++ b/src/components/chat/Prompt.ts @@ -12,8 +12,8 @@ export async function getPrompt(settings: BMOSettings) { // Await the reading of the file and return its content const content = await app.vault.adapter.read(promptFilePath); // Remove YAML front matter if present - const cleanedContent = content.replace(/---[\s\S]+?---/, '').trim(); - return cleanedContent; + const clearYamlContent = content.replace(/---[\s\S]+?---/, '').trim(); + return clearYamlContent; } catch (error) { console.error(`Error reading file ${promptFilePath}:`, error); return null; diff --git a/src/components/chat/UserMessage.ts b/src/components/chat/UserMessage.ts index 1497d26..92169af 100644 --- a/src/components/chat/UserMessage.ts +++ b/src/components/chat/UserMessage.ts @@ -4,7 +4,7 @@ import { displayEditButton, displayTrashButton, displayUserCopyButton, regenerat import { ANTHROPIC_MODELS } from "src/view"; import { marked } from "marked"; -export function displayUserMessage(settings: BMOSettings, referenceCurrentNoteContent: string, message: string) { +export function displayUserMessage(settings: BMOSettings, message: string) { const userMessageDiv = document.createElement("div"); userMessageDiv.className = "userMessage"; userMessageDiv.style.backgroundColor = colorToHex(settings.userMessageBackgroundColor || @@ -21,8 +21,8 @@ export function displayUserMessage(settings: BMOSettings, referenceCurrentNoteCo userNameSpan.textContent = settings.userName || DEFAULT_SETTINGS.userName; const userP = document.createElement("p"); - const regenerateButton = regenerateUserButton(settings, referenceCurrentNoteContent); - const editButton = displayEditButton(settings, referenceCurrentNoteContent, userP); + const regenerateButton = regenerateUserButton(settings); + const editButton = displayEditButton(settings, userP); const copyUserButton = displayUserCopyButton(userP); const trashButton = displayTrashButton(); diff --git a/src/components/editor/FetchRenameNoteTitle.ts b/src/components/editor/FetchRenameNoteTitle.ts index c28a9a4..ecab56b 100644 --- a/src/components/editor/FetchRenameNoteTitle.ts +++ b/src/components/editor/FetchRenameNoteTitle.ts @@ -2,9 +2,12 @@ import { Notice, requestUrl } from "obsidian"; import OpenAI from "openai"; import { BMOSettings } from "src/main"; import { ANTHROPIC_MODELS, OPENAI_MODELS } from "src/view"; +import { getActiveFileContent, getCurrentNoteContent } from "./ReferenceCurrentNote"; // Rename note title based on specified model -export async function fetchModelRenameTitle(settings: BMOSettings, referenceCurrentNoteContent: string) { +export async function fetchModelRenameTitle(settings: BMOSettings) { + await getActiveFileContent(settings); + const referenceCurrentNoteContent = getCurrentNoteContent(); const prompt = `You are a title generator. You will give succinct titles that does not contain backslashes, forward slashes, or colons. Please generate one title as your response.\n\n`; diff --git a/src/components/editor/ReferenceCurrentNote.ts b/src/components/editor/ReferenceCurrentNote.ts new file mode 100644 index 0000000..74c7f33 --- /dev/null +++ b/src/components/editor/ReferenceCurrentNote.ts @@ -0,0 +1,29 @@ +import { BMOSettings } from "src/main"; + +let referenceCurrentNoteContent = ''; + +// Reference Current Note Indicator +export async function getActiveFileContent(settings: BMOSettings) { + const dotElement = document.querySelector('.dotIndicator'); + if (settings.allowReferenceCurrentNote === true) { + if (dotElement) { + (dotElement as HTMLElement).style.backgroundColor = '#da2c2c'; + referenceCurrentNoteContent = ''; + } + const activeFile = app.workspace.getActiveFile(); + if (activeFile?.extension === 'md') { + if (dotElement) { + (dotElement as HTMLElement).style.backgroundColor = 'green'; + } + const content = await app.vault.read(activeFile); + const clearYamlContent = content.replace(/---[\s\S]+?---/, '').trim(); + referenceCurrentNoteContent = 'Reference Note:' + + '\n\n' + clearYamlContent + '\n\n'; + } + } + return referenceCurrentNoteContent; +} + +export function getCurrentNoteContent() { + return referenceCurrentNoteContent; +} \ No newline at end of file diff --git a/src/view.ts b/src/view.ts index 992122d..27c720b 100644 --- a/src/view.ts +++ b/src/view.ts @@ -3,7 +3,7 @@ import {DEFAULT_SETTINGS, BMOSettings} from './main'; import BMOGPT from './main'; import { fetchOpenAIAPI, fetchOpenAIBaseAPI, ollamaFetchData, ollamaFetchDataStream, requestUrlAnthropicAPI, openAIRestAPIFetchData, openAIRestAPIFetchDataStream } from "./components/FetchModel"; import { executeCommand } from "./components/chat/Commands"; -import { getActiveFileContent } from "./components/ReferenceCurrentNoteIndicator"; +import { getActiveFileContent } from "./components/editor/ReferenceCurrentNote"; import { addMessage } from "./components/chat/Message"; import { displayUserMessage } from "./components/chat/UserMessage"; import { displayBotMessage } from "./components/chat/BotMessage"; @@ -27,8 +27,6 @@ export let lastCursorPosition: EditorPosition = { export let lastCursorPositionFile: TFile | null = null; export let activeEditor: Editor | null | undefined = null; -let referenceCurrentNoteContent = ''; - export class BMOView extends ItemView { public settings: BMOSettings; private textareaElement: HTMLTextAreaElement; @@ -52,8 +50,6 @@ export class BMOView extends ItemView { } async onOpen(): Promise { - this.registerEvent(this.app.workspace.on("file-open", this.handleFileOpenEvent.bind(this))); - const container = this.containerEl.children[1]; container.empty(); const chatbotContainer = container.createEl("div", { @@ -95,7 +91,6 @@ export class BMOView extends ItemView { id: "referenceCurrentNote" } }); - referenceCurrentNoteElement.appendChild(spanElement); @@ -109,11 +104,6 @@ export class BMOView extends ItemView { } } - const activeFile = this.app.workspace.getActiveFile(); - if (activeFile) { - referenceCurrentNoteContent = await getActiveFileContent(activeFile); - } - const messageContainer = chatbotContainer.createEl("div", { attr: { id: "messageContainer", @@ -138,7 +128,7 @@ export class BMOView extends ItemView { messageHistory.forEach(async (messageData) => { if (messageData.role == "user") { - const userMessageDiv = displayUserMessage(this.settings, referenceCurrentNoteContent, messageData.content); + const userMessageDiv = displayUserMessage(this.settings, messageData.content); messageContainer.appendChild(userMessageDiv); } @@ -176,20 +166,10 @@ export class BMOView extends ItemView { this.textareaElement.addEventListener("input", this.handleInput.bind(this)); this.textareaElement.addEventListener("blur", this.handleBlur.bind(this)); } - - async handleFileOpenEvent(file: TFile) { - await getActiveFileContent(file); - } async handleKeyup(event: KeyboardEvent) { const input = this.textareaElement.value.trim(); const index = messageHistory.length - 1; - const activeFile = this.app.workspace.getActiveFile(); - if (activeFile) { - if (this.settings.allowReferenceCurrentNote) { - referenceCurrentNoteContent = await getActiveFileContent(activeFile); - } - } // Only allow /stop command to be executed during fetch if (this.settings.allowOllamaStream || !this.settings.ollamaModels.includes(this.settings.model)) { @@ -216,7 +196,7 @@ export class BMOView extends ItemView { const messageContainer = document.querySelector("#messageContainer"); if (messageContainer) { - const userMessageDiv = displayUserMessage(this.settings, referenceCurrentNoteContent, input); + const userMessageDiv = displayUserMessage(this.settings, input); messageContainer.appendChild(userMessageDiv); if (input.startsWith("/")) { @@ -270,7 +250,8 @@ export class BMOView extends ItemView { } addCursorLogging() { - const updateCursorPosition = () => { + const updateCursorPosition = async () => { + await getActiveFileContent(this.settings); const view = this.app.workspace.getActiveViewOfType(MarkdownView); if (view) { const cursor = view.editor.getCursor(); @@ -296,15 +277,8 @@ export class BMOView extends ItemView { this.textareaElement.removeEventListener("blur", this.handleBlur.bind(this)); } - async BMOchatbot() { - referenceCurrentNoteContent = ''; // Clear reference current note content every time BMOchatbot is called - const activeFile = this.app.workspace.getActiveFile(); - if (activeFile) { - if (this.settings.allowReferenceCurrentNote) { - referenceCurrentNoteContent = await getActiveFileContent(activeFile); - } - } - + async BMOchatbot() { + await getActiveFileContent(this.settings); const messageContainerEl = document.querySelector('#messageContainer'); const chatbotNameHeading = document.querySelector('#chatbotNameHeading'); @@ -331,7 +305,7 @@ export class BMOView extends ItemView { // Fetch OpenAI API if (OPENAI_MODELS.includes(this.settings.model)) { try { - await fetchOpenAIAPI(this.settings, referenceCurrentNoteContent, index); + await fetchOpenAIAPI(this.settings, index); } catch (error) { new Notice('Error occurred while fetching completion: ' + error.message); @@ -340,19 +314,19 @@ export class BMOView extends ItemView { } else if (this.settings.ollamaRestAPIUrl && this.settings.ollamaModels.includes(this.settings.model)) { if (this.settings.allowOllamaStream) { - await ollamaFetchDataStream(this.settings, referenceCurrentNoteContent, index); + await ollamaFetchDataStream(this.settings, index); } else { - await ollamaFetchData(this.settings, referenceCurrentNoteContent, index); + await ollamaFetchData(this.settings, index); } } else if (this.settings.openAIRestAPIUrl && this.settings.openAIRestAPIModels.includes(this.settings.model)){ try { if (this.settings.allowOpenAIRestAPIStream) { - await openAIRestAPIFetchDataStream(this.settings, referenceCurrentNoteContent, index); + await openAIRestAPIFetchDataStream(this.settings, index); } else { - await openAIRestAPIFetchData(this.settings, referenceCurrentNoteContent, index); + await openAIRestAPIFetchData(this.settings, index); } } catch (error) { @@ -362,7 +336,7 @@ export class BMOView extends ItemView { } else if (this.plugin.settings.openAIBaseModels.includes(this.settings.model)) { try { - await fetchOpenAIBaseAPI(this.settings, referenceCurrentNoteContent, index); + await fetchOpenAIBaseAPI(this.settings, index); } catch (error) { new Notice('Error occurred while fetching completion: ' + error.message); @@ -371,7 +345,7 @@ export class BMOView extends ItemView { } else if (ANTHROPIC_MODELS.includes(this.settings.model)) { try { - await requestUrlAnthropicAPI(this.settings, referenceCurrentNoteContent, index); + await requestUrlAnthropicAPI(this.settings, index); } catch (error) { console.error('Error:', error);