aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/App.tsx9
-rw-r--r--src/ollama.tsx24
2 files changed, 32 insertions, 1 deletions
diff --git a/src/App.tsx b/src/App.tsx
index f9592a3..b902629 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,6 +1,11 @@
import React, { useEffect, useRef, useState } from "react";
import { OllamaCommandPallete } from "./components/OllamaCommandPallete";
-import { convertToFlashCardFromEvent, DivideTaskIntoSubTasksFromEvent, ollamaUI, summarizeBlockFromEvent } from "./ollama";
+import { convertToFlashCardFromEvent,
+ DivideTaskIntoSubTasksFromEvent,
+ ollamaUI,
+ summarizeBlockFromEvent,
+ promptFromBlockEvent,
+ expandBlockEvent } from "./ollama";
import { useAppVisible } from "./utils";
const options = [
@@ -43,6 +48,8 @@ function App() {
logseq.Editor.registerBlockContextMenuItem("Create a flash card", convertToFlashCardFromEvent)
logseq.Editor.registerBlockContextMenuItem("Summarize block", summarizeBlockFromEvent)
logseq.Editor.registerBlockContextMenuItem("Divide into subtasks", DivideTaskIntoSubTasksFromEvent)
+ logseq.Editor.registerBlockContextMenuItem("Ollama: Prompt from Block", promptFromBlockEvent)
+ logseq.Editor.registerBlockContextMenuItem("Ollama: Expand Block", expandBlockEvent)
logseq.App.registerCommandShortcut(
{ "binding": logseq.settings.shortcut },
ollamaUI
diff --git a/src/ollama.tsx b/src/ollama.tsx
index f5eaae7..945d2cb 100644
--- a/src/ollama.tsx
+++ b/src/ollama.tsx
@@ -149,6 +149,30 @@ export async function summarizeBlock() {
}
}
+export async function promptFromBlockEvent(b: IHookEvent) {
+ try {
+ const currentBlock = await logseq.Editor.getBlock(b.uuid)
+ const answerBlock = await logseq.Editor.insertBlock(currentBlock!.uuid, '⌛Generating ...', { before: false })
+ const response = await promptLLM(`${currentBlock!.content}`);
+ await logseq.Editor.updateBlock(answerBlock!.uuid, `${response}`)
+ } catch (e: any) {
+ logseq.UI.showMsg(e.toString(), 'warning')
+ console.error(e)
+ }
+}
+
+export async function expandBlockEvent(b: IHookEvent) {
+ try {
+ const currentBlock = await logseq.Editor.getBlock(b.uuid)
+ const answerBlock = await logseq.Editor.insertBlock(currentBlock!.uuid, '⌛Generating ...', { before: false })
+ const response = await promptLLM(`Expand: ${currentBlock!.content}`);
+ await logseq.Editor.updateBlock(answerBlock!.uuid, `${response}`)
+ } catch(e: any) {
+ logseq.UI.showMsg(e.toString(), 'warning')
+ console.error(e)
+ }
+}
+
export async function askAI(prompt: string, context: string) {
await delay(300)
try {