### Required

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/__mocks__/google-genai.ts#L52-L52)
Async generator method has no 'await' expression.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/__mocks__/response.ts#L7-L7)[\[2\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/__mocks__/response.ts#L19-L19)[\[3\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/__mocks__/response.ts#L20-L20)[\[4\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/__mocks__/response.ts#L22-L22)[\[5\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/__mocks__/response.ts#L49-L49)[\[6\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/__mocks__/response.ts#L64-L64)[\[7\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/__mocks__/response.ts#L69-L69)[\[8\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/__mocks__/response.ts#L90-L90)[\[9\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/__mocks__/response.ts#L101-L101)[\[10\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/__mocks__/response.ts#L111-L111)
Unexpected any. Specify a different type.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/__mocks__/response.ts#L49-L49)
Async method 'json' has no 'await' expression.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/__mocks__/response.ts#L54-L54)
Async method 'text' has no 'await' expression.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/__mocks__/response.ts#L59-L59)
Async method 'arrayBuffer' has no 'await' expression.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/__mocks__/response.ts#L64-L64)
Async method 'blob' has no 'await' expression.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/__mocks__/response.ts#L69-L69)
Async method 'formData' has no 'await' expression.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/__mocks__/response.ts#L74-L74)
Async method 'bytes' has no 'await' expression.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/action-result-manager.ts#L79-L79)
Async method 'showResultPanel' has no 'await' expression.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/action-result-manager.ts#L104-L104)
`$set` is deprecated. This method only exists when using one of the legacy compatibility helpers, which
is a stop-gap solution. See [migration guide](https://svelte.dev/docs/svelte/v5-migration-guide#Components-are-no-longer-classes)
for more info.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/action-result-manager.ts#L135-L135)[\[2\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/action-result-manager.ts#L136-L136)
Avoid setting styles directly via `element.style.setProperty`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/action-result-manager.ts#L148-L148)[\[2\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/action-result-manager.ts#L165-L165)[\[3\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/action-result-manager.ts#L177-L177)[\[4\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/quick-prompt-manager.ts#L178-L178)[\[5\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/quick-prompt-manager.ts#L200-L200)
`$on` is deprecated. This method only exists when using one of the legacy compatibility helpers, which
is a stop-gap solution. See [migration guide](https://svelte.dev/docs/svelte/v5-migration-guide#Components-are-no-longer-classes)
for more info.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/action-result-manager.ts#L150-L161)[\[2\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/action-result-manager.ts#L165-L174)[\[3\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/quick-prompt-manager.ts#L180-L196)[\[4\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/settings.ts#L222-L225)[\[5\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/settings.ts#L240-L243)[\[6\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/settings.ts#L256-L258)[\[7\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/settings.ts#L259-L261)[\[8\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/settings.ts#L311-L314)[\[9\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/settings.ts#L328-L332)[\[10\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/settings.ts#L333-L341)[\[11\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/settings.ts#L381-L384)[\[12\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/settings.ts#L396-L399)[\[13\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/settings.ts#L400-L403)[\[14\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/settings.ts#L412-L416)
Promise returned in function argument where a void return was expected.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/action-result-manager.ts#L232-L232)[\[2\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/quick-prompt-manager.ts#L283-L283)
`$destroy` is deprecated. This method only exists when using one of the legacy compatibility helpers, which
is a stop-gap solution. See [migration guide](https://svelte.dev/docs/svelte/v5-migration-guide#Components-are-no-longer-classes)
for more info.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/components/FilterableDropdown.ts#L74-L74)
Avoid setting styles directly via `element.style.position`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/components/FilterableDropdown.ts#L75-L75)[\[2\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/components/FilterableDropdown.ts#L300-L300)[\[3\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/components/FilterableDropdown.ts#L353-L353)
Avoid setting styles directly via `element.style.display`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/components/FilterableDropdown.ts#L76-L76)
Avoid setting styles directly via `element.style.zIndex`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/components/FilterableDropdown.ts#L321-L321)
Avoid setting styles directly via `element.style.maxHeight`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/components/FilterableDropdown.ts#L322-L322)
Avoid setting styles directly via `element.style.overflowY`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/components/FilterableDropdown.ts#L329-L329)
Avoid setting styles directly via `element.style.top`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/components/FilterableDropdown.ts#L340-L340)
Avoid setting styles directly via `element.style.bottom`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/handler.ts#L647-L647)[\[2\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/handler.ts#L987-L987)[\[3\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/handler.ts#L992-L992)[\[4\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/handler.ts#L996-L996)[\[5\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/handler.ts#L1081-L1081)[\[6\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/handler.ts#L1134-L1134)
Expected an error object to be thrown.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/handler.ts#L995-L995)
Unexpected console statement. Only these console methods are allowed: warn, error, debug.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/handler.ts#L995-L995)[\[2\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/llm/factory.ts#L134-L134)
Invalid type "never" of template literal expression.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/handler.ts#L1091-L1091)[\[2\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/llm/plugin_ai_providers_llm.ts#L87-L87)[\[3\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/main.ts#L74-L106)[\[4\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/modals/action_editor.ts#L234-L234)
Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler or be explicitly marked as ignored with the `void` operator.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/llm/base.ts#L55-L59)
Expected the Promise rejection reason to be an Error.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/main.ts#L73-L73)
Async method 'onload' has no 'await' expression.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/main.ts#L91-L91)
Adding `command` to the command name is not necessary.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/modal-box-manager.ts#L36-L102)[\[2\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/modals/action_editor.ts#L35-L280)[\[3\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/modals/quick_prompt_editor.ts#L26-L188)
Promise-returning method provided where a void return was expected by extended/implemented type 'Modal'.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/modals/action_editor.ts#L46-L46)[\[2\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/modals/action_editor.ts#L127-L127)[\[3\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/modals/action_editor.ts#L136-L136)[\[4\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/modals/action_editor.ts#L244-L244)[\[5\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/modals/action_editor.ts#L259-L259)[\[6\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/modals/quick_prompt_editor.ts#L37-L37)[\[7\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/modals/quick_prompt_editor.ts#L114-L114)
Async arrow function has no 'await' expression.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/modals/action_editor.ts#L75-L75)[\[2\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/modals/quick_prompt_editor.ts#L62-L62)
Avoid setting styles directly via `element.style.color`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/modals/action_editor.ts#L76-L76)[\[2\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/modals/quick_prompt_editor.ts#L63-L63)
Avoid setting styles directly via `element.style.fontStyle`. Use CSS classes for better theming and maintainability.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/modals/action_editor.ts#L208-L208)[\[2\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/modals/model_editor.ts#L54-L54)[\[3\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/modals/model_editor.ts#L86-L86)[\[4\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/modals/provider_editor.ts#L87-L87)[\[5\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/modals/quick_prompt_editor.ts#L30-L30)[\[6\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/settings.ts#L76-L76)[\[7\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/settings.ts#L77-L77)[\[8\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/settings.ts#L154-L154)[\[9\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/settings.ts#L444-L444)[\[10\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/settings.ts#L463-L463)
Use sentence case for UI text.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/modals/action_editor.ts#L276-L276)[\[2\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/modals/quick_prompt_editor.ts#L184-L184)
Unexpected `await` of a non-Promise (non-"Thenable") value.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/modals/model_editor.ts#L288-L288)[\[2\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/utils/fetch.ts#L35-L35)
Unexpected use of 'fetch'. Use the built-in `requestUrl` function instead of `fetch` for network requests in Obsidian.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/quick-prompt-manager.ts#L83-L83)[\[2\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/utils/common.ts#L5-L5)
`substr` is deprecated. A legacy feature for browser compatibility

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/quick-prompt-manager.ts#L89-L89)
Async method 'showQuickPrompt' has no 'await' expression.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/settings.ts#L32-L164)
Promise-returning method provided where a void return was expected by extended/implemented type 'PluginSettingTab'.

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/spinnerPlugin.ts#L1-L1)
'@codemirror/state' should be listed in the project's dependencies. Run 'npm i -S @codemirror/state' to add it

[\[1\]](https://github.com/ivan-mezentsev/obsidian-ai-actions/blob/501e8562a1ae761d2bb730d44ba44be267d85be1/src/spinnerPlugin.ts#L2-L8)
'@codemirror/view' should be listed in the project's dependencies. Run 'npm i -S @codemirror/view' to add it



---

### Optional

