diff --git a/src/settings.ts b/src/settings.ts index 0aff44b..dd67202 100644 --- a/src/settings.ts +++ b/src/settings.ts @@ -242,5 +242,41 @@ export class CoIntelligenceSettingsTab extends PluginSettingTab { dropdown.setValue(this.plugin.settings.renamingModel || ""); dropdown.onChange(this.createDebouncedChangeHandler("renamingModel")); }); + + new Setting(containerEl) + .setName("System Prompt Folder") + .setDesc("Enter the folder path for custom system prompts") + .addText((textArea) => { + textArea.setPlaceholder("Enter folder for custom system prompts"); + textArea.setValue(this.plugin.settings.systemPromptFolder || ""); + textArea.onChange( + this.createDebouncedChangeHandler("systemPromptFolder", false, true), + ); + }); + + new Setting(containerEl) + .setName("Default System Prompt") + .setDesc("Select note for default system prompt") + .addDropdown((dropdown) => { + const systemPromptFolder = this.plugin.settings.systemPromptFolder; + const notes = this.app.vault + .getMarkdownFiles() + .filter( + (file) => + file.path.startsWith(systemPromptFolder + "/") || + file.path === systemPromptFolder, + ); + + dropdown.addOption("", "No default system prompt"); + + for (const note of notes) { + dropdown.addOption(note.path, note.basename); + } + + dropdown.setValue(this.plugin.settings.defaultSystemPromptNote || ""); + dropdown.onChange( + this.createDebouncedChangeHandler("defaultSystemPromptNote"), + ); + }); } } diff --git a/tsconfig.json b/tsconfig.json index 9a4d9cf..e9d8516 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "target": "ES2022", - "lib": ["ES2022", "DOM"], + "lib": ["ES2022", "DOM", "DOM.Iterable"], "module": "ESNext", "moduleResolution": "Node", "jsx": "preserve",