### Required

[\[1\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/ai-service.ts#L79-L79)
Invalid type "never" of template literal expression.

[\[1\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/ai-service.ts#L139-L139)
This assertion is unnecessary since it does not change the type of the expression.

[\[1\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/ai-service.ts#L173-L173)[\[2\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L575-L575)
Unexpected `await` of a non-Promise (non-"Thenable") value.

[\[1\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/ai-service.ts#L269-L269)
Unexpected use of 'fetch'. Use the built-in `requestUrl` function instead of `fetch` for network requests in Obsidian.

[\[1\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L23-L23)[\[2\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L63-L63)[\[3\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L539-L539)[\[4\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L543-L543)
Unexpected console statement. Only these console methods are allowed: warn, error, debug.

[\[1\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L52-L52)[\[2\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L59-L59)[\[3\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L424-L424)[\[4\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L458-L458)[\[5\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L593-L593)[\[6\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L597-L597)[\[7\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L599-L599)[\[8\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L604-L604)[\[9\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L608-L608)[\[10\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L612-L612)[\[11\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L616-L616)[\[12\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L620-L620)[\[13\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L623-L623)[\[14\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L639-L639)[\[15\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L18-L18)[\[16\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L54-L54)[\[17\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L57-L57)[\[18\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L58-L58)[\[19\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L78-L78)[\[20\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L79-L79)[\[21\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L81-L81)[\[22\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L91-L91)[\[23\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L92-L92)[\[24\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L94-L94)[\[25\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L104-L104)[\[26\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L105-L105)[\[27\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L107-L107)[\[28\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L117-L117)[\[29\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L118-L118)[\[30\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L128-L128)[\[31\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L129-L129)[\[32\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L141-L141)[\[33\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L142-L142)[\[34\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L144-L144)[\[35\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L154-L154)[\[36\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L164-L164)[\[37\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L169-L169)[\[38\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L172-L172)[\[39\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L181-L181)[\[40\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L194-L194)[\[41\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L229-L229)[\[42\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L246-L246)[\[43\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L248-L248)[\[44\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L249-L249)[\[45\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L250-L250)[\[46\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L251-L251)[\[47\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L277-L277)[\[48\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L299-L299)[\[49\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L320-L320)[\[50\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L325-L325)[\[51\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L430-L430)[\[52\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L435-L435)[\[53\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L505-L505)[\[54\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L515-L515)[\[55\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L525-L525)[\[56\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L532-L532)[\[57\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L537-L537)[\[58\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L557-L557)[\[59\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L558-L558)
Use sentence case for UI text.

[\[1\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L62-L75)
Promise-returning method provided where a void return was expected by extended/implemented type 'Plugin'.

[\[1\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L97-L97)
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/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L123-L123)
Async arrow function has no 'await' expression.

[\[1\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L131-L131)[\[2\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L60-L60)[\[3\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/settings-tab.ts#L253-L253)
Unexpected any. Specify a different type.

[\[1\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L173-L175)[\[2\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L196-L199)
Promise returned in function argument where a void return was expected.

[\[1\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L309-L332)
Unnecessary try/catch wrapper.

[\[1\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L467-L469)
Unexpected confirm.



---

### Optional

[\[1\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/ai-service.ts#L359-L359)[\[2\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/ai-service.ts#L414-L414)[\[3\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L567-L567)[\[4\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L576-L576)
'error' is defined but never used.

[\[1\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L597-L597)
'importantTitle' is assigned a value but never used.

[\[1\]](https://github.com/Ghost04718/SANE/blob/6ba294ca40c5fb27d982e001e2e9320abd0259ef/main.ts#L623-L623)
'privacyTitle' is assigned a value but never used.

