### Required

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L280-L280)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L537-L537)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L600-L600)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1223-L1223)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1228-L1228)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1314-L1314)[7](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1319-L1319)[8](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1425-L1425)[9](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1426-L1426)[10](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3870-L3870)[11](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3998-L3998)[12](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4188-L4188)[13](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4200-L4200)[14](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4343-L4343)[15](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4402-L4402)[16](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4462-L4462)[17](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4462-L4462)[18](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/anthropic-client.ts#L77-L77)[19](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L39-L39)[20](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L44-L44)[21](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L94-L94)[22](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-fetcher.ts#L88-L88)[23](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/llm-factory.ts#L99-L99)[24](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/ollama-client.ts#L63-L63)[25](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L88-L88)[26](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L88-L88)[27](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/electron-remote.d.ts#L4-L4)[28](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/langchain.d.ts#L3-L3)[29](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/langchain.d.ts#L4-L4)[30](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/langchain.d.ts#L4-L4)[31](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/langchain.d.ts#L14-L14)[32](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/langchain.d.ts#L15-L15)[33](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/langchain.d.ts#L15-L15)[34](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/langchain.d.ts#L28-L28)[35](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/langchain.d.ts#L41-L41)[36](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/langchain.d.ts#L54-L54)[37](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L3-L3)[38](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L4-L4)[39](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L8-L8)[40](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L9-L9)[41](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L10-L10)[42](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L11-L11)[43](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L27-L27)[44](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L28-L28)[45](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L29-L29)[46](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L29-L29)[47](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L30-L30)[48](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L32-L32)[49](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L33-L33)[50](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L34-L34)[51](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L34-L34)[52](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L35-L35)[53](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L37-L37)[54](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L38-L38)[55](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L39-L39)[56](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L40-L40)[57](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L40-L40)[58](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L41-L41)[59](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L43-L43)[60](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L44-L44)[61](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L45-L45)[62](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L45-L45)[63](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L46-L46)[64](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L48-L48)[65](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L49-L49)[66](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L50-L50)[67](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L50-L50)[68](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L51-L51)[69](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L69-L69)[70](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L70-L70)[71](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/obsidian.d.ts#L85-L85)[72](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/youtube-transcript-api.d.ts#L8-L8)[73](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/types/youtube-transcript-api.d.ts#L15-L15)[74](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/error-utils.ts#L11-L11)[75](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/error-utils.ts#L38-L38)[76](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/error-utils.ts#L101-L101)[77](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/error-utils.ts#L140-L140)[78](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L11-L11)[79](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L62-L62)[80](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/logger.ts#L39-L39)[81](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/logger.ts#L72-L72)[82](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/logger.ts#L72-L72)[83](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/logger.ts#L81-L81)[84](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/logger.ts#L81-L81)[85](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/logger.ts#L90-L90)[86](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/logger.ts#L90-L90)[87](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/logger.ts#L99-L99)[88](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/logger.ts#L99-L99)[89](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/logger.ts#L109-L109)[90](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/logger.ts#L109-L109)[91](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/path-utils.ts#L43-L43)[92](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L125-L125)[93](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L142-L142)[94](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L149-L149)[95](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L195-L195)[96](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L195-L195)[97](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L263-L263)[98](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L263-L263)[99](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L313-L313)[100](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L329-L329)[101](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L365-L365)[102](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L678-L678)[103](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L679-L679)[104](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L685-L685)
Unexpected any. Specify a different type.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L377-L377)
Async method 'onunload' has no 'await' expression.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L383-L383)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L598-L598)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L600-L600)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L600-L600)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L600-L600)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L998-L998)[7](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1010-L1010)[8](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1018-L1018)[9](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1057-L1057)[10](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1060-L1060)[11](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1072-L1072)[12](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1222-L1228)[13](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1222-L1223)[14](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1313-L1319)[15](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1313-L1314)[16](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1417-L1417)[17](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1424-L1426)[18](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1424-L1425)[19](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1424-L1424)[20](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1425-L1425)[21](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1431-L1431)[22](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1433-L1433)[23](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1434-L1434)[24](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1449-L1449)[25](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1689-L1689)[26](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1689-L1689)[27](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1759-L1759)[28](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1761-L1761)[29](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1810-L1810)[30](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1816-L1816)[31](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1867-L1867)[32](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2119-L2119)[33](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2121-L2121)[34](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2248-L2248)[35](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2283-L2290)[36](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2283-L2285)[37](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2283-L2284)[38](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2330-L2337)[39](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2330-L2336)[40](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2330-L2331)[41](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2981-L2981)[42](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2983-L2983)[43](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2984-L2984)[44](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3260-L3260)[45](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3262-L3262)[46](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3263-L3263)[47](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3314-L3314)[48](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3635-L3638)[49](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3635-L3637)[50](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3645-L3648)[51](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3645-L3647)[52](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3682-L3685)[53](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3682-L3684)[54](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3706-L3709)[55](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3706-L3708)[56](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3720-L3723)[57](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3720-L3722)[58](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3752-L3755)[59](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3752-L3754)[60](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3763-L3766)[61](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3763-L3765)[62](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3840-L3843)[63](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3840-L3842)[64](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3879-L3880)[65](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3883-L3883)[66](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3924-L3927)[67](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3924-L3926)[68](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3947-L3947)[69](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3950-L3950)[70](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3952-L3952)[71](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3952-L3952)[72](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3955-L3955)[73](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3957-L3957)[74](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3961-L3961)[75](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3965-L3965)[76](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4006-L4013)[77](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4006-L4007)[78](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4018-L4018)[79](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4019-L4019)[80](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4037-L4037)[81](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4039-L4039)[82](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4141-L4145)[83](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4141-L4144)[84](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4141-L4143)[85](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4161-L4164)[86](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4161-L4163)[87](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4172-L4174)[88](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4188-L4192)[89](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4188-L4191)[90](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4188-L4190)[91](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4188-L4189)[92](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4200-L4205)[93](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4200-L4204)[94](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4200-L4203)[95](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4200-L4202)[96](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4200-L4201)[97](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4224-L4227)[98](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4224-L4226)[99](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4234-L4234)[100](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4239-L4242)[101](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4239-L4241)[102](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4253-L4256)[103](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4253-L4255)[104](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4263-L4263)[105](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4268-L4271)[106](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4268-L4270)[107](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4285-L4288)[108](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4285-L4287)[109](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4295-L4295)[110](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4300-L4303)[111](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4300-L4302)[112](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4314-L4317)[113](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4314-L4316)[114](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4324-L4324)[115](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4329-L4332)[116](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4329-L4331)[117](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4343-L4347)[118](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4343-L4346)[119](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4343-L4345)[120](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4343-L4344)[121](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4356-L4360)[122](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4356-L4359)[123](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4356-L4358)[124](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4365-L4367)[125](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4386-L4390)[126](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4386-L4389)[127](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4386-L4388)[128](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4403-L4405)[129](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4403-L4404)[130](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4491-L4492)[131](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4515-L4516)[132](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4541-L4542)[133](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4566-L4567)[134](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4588-L4588)[135](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4589-L4589)[136](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4589-L4589)[137](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4618-L4618)[138](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4624-L4624)[139](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4665-L4665)[140](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4669-L4688)[141](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4669-L4671)[142](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4674-L4674)[143](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4677-L4677)[144](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4679-L4679)[145](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4789-L4789)[146](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4799-L4799)[147](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4820-L4820)[148](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4821-L4821)[149](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5078-L5078)[150](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5326-L5326)[151](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5722-L5722)[152](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L64-L64)[153](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L257-L257)[154](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L127-L127)[155](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L123-L123)[156](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L158-L158)[157](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/logger.ts#L136-L136)[158](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/path-utils.ts#L50-L50)[159](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/path-utils.ts#L53-L53)[160](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L216-L216)[161](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L236-L236)[162](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L313-L313)[163](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L338-L338)[164](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L353-L353)[165](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L406-L406)[166](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L407-L407)[167](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L408-L408)[168](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L415-L415)[169](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L416-L416)[170](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L417-L417)[171](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L418-L418)[172](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L677-L679)[173](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L677-L678)[174](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L684-L687)[175](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L684-L686)[176](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L684-L685)[177](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L689-L689)[178](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L691-L691)
Unsafe call of a(n) `any` typed value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L383-L383)
Unsafe member access .close on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L447-L447)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L451-L451)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L587-L587)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L598-L598)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L600-L600)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L805-L805)[7](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L815-L815)[8](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1010-L1014)[9](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1018-L1018)[10](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1057-L1057)[11](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1060-L1060)[12](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1063-L1063)[13](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1072-L1072)[14](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1117-L1117)[15](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1185-L1185)[16](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1192-L1192)[17](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1215-L1215)[18](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1222-L1231)[19](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1229-L1229)[20](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1237-L1237)[21](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1273-L1273)[22](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1280-L1280)[23](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1283-L1283)[24](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1306-L1306)[25](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1313-L1322)[26](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1320-L1320)[27](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1328-L1328)[28](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1397-L1397)[29](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1424-L1426)[30](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1433-L1433)[31](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1449-L1449)[32](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1816-L1816)[33](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2246-L2246)[34](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2274-L2274)[35](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2275-L2275)[36](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2281-L2281)[37](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2283-L2290)[38](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2321-L2321)[39](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2322-L2322)[40](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2328-L2328)[41](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2330-L2337)[42](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2818-L2818)[43](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2820-L2820)[44](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2983-L2983)[45](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3262-L3262)[46](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3720-L3726)[47](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3840-L3846)[48](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3944-L3944)[49](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4224-L4230)[50](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4253-L4259)[51](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4285-L4291)[52](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4314-L4320)[53](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4588-L4588)[54](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4589-L4589)[55](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4606-L4606)[56](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4607-L4607)[57](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4647-L4647)[58](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4649-L4649)[59](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4665-L4665)[60](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4669-L4688)[61](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4674-L4674)[62](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4677-L4679)[63](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4688-L4688)[64](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4799-L4799)[65](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4816-L4816)[66](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4827-L4827)[67](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5053-L5053)[68](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5078-L5078)[69](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5303-L5303)[70](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5326-L5326)[71](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5699-L5699)[72](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5722-L5722)[73](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/anthropic-client.ts#L57-L57)[74](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/anthropic-client.ts#L78-L78)[75](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/anthropic-client.ts#L79-L79)[76](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/anthropic-client.ts#L80-L80)[77](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/anthropic-client.ts#L84-L84)[78](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/anthropic-client.ts#L86-L86)[79](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/anthropic-client.ts#L87-L87)[80](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L47-L47)[81](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L48-L48)[82](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L49-L49)[83](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L50-L50)[84](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L76-L76)[85](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L100-L100)[86](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L99-L99)[87](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L169-L169)[88](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L178-L178)[89](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L214-L214)[90](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/ollama-client.ts#L39-L39)[91](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/ollama-client.ts#L95-L95)[92](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/ollama-client.ts#L137-L141)[93](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/ollama-client.ts#L154-L154)[94](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/ollama-client.ts#L160-L160)[95](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/ollama-client.ts#L161-L161)[96](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/ollama-client.ts#L162-L162)[97](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L91-L91)[98](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L92-L92)[99](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L96-L96)[100](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L103-L103)[101](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L104-L104)[102](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L88-L91)[103](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L114-L114)[104](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L115-L115)[105](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L116-L116)[106](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/logger.ts#L116-L116)[107](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/logger.ts#L125-L125)[108](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/logger.ts#L136-L136)[109](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/logger.ts#L138-L138)[110](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L121-L121)[111](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L130-L130)[112](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L132-L132)[113](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L133-L133)[114](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L139-L139)[115](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L142-L142)[116](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L144-L144)[117](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L149-L149)[118](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L151-L151)[119](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L159-L159)[120](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L162-L162)[121](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L166-L166)[122](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L201-L201)[123](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L208-L208)[124](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L232-L232)[125](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L257-L257)[126](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L288-L288)[127](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L296-L296)[128](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L304-L304)[129](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L331-L331)[130](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L333-L333)[131](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L338-L338)[132](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L345-L345)[133](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L347-L347)[134](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L353-L353)[135](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L469-L469)[136](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L472-L472)[137](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L473-L473)[138](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L671-L671)[139](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L672-L672)[140](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L684-L687)[141](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L691-L691)
Unsafe assignment of an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L518-L518)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L522-L522)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1082-L1082)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1354-L1354)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1440-L1440)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1689-L1689)[7](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1689-L1689)[8](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1689-L1689)[9](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1726-L1726)[10](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1730-L1730)[11](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1793-L1793)[12](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1852-L1852)[13](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1877-L1877)[14](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2083-L2083)[15](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2139-L2139)[16](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2275-L2275)[17](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2322-L2322)[18](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2997-L2997)[19](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3004-L3004)[20](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3241-L3241)[21](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3242-L3242)[22](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L242-L242)[23](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L257-L257)[24](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L257-L257)[25](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L66-L66)[26](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L127-L127)[27](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L127-L127)[28](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/error-utils.ts#L13-L13)[29](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L156-L156)[30](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/path-utils.ts#L53-L53)[31](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L173-L173)[32](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L218-L218)[33](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L377-L377)[34](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L382-L382)[35](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L390-L390)[36](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L402-L402)[37](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L405-L405)[38](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L406-L406)[39](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L407-L407)[40](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L408-L408)[41](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L414-L414)[42](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L415-L415)[43](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L416-L416)[44](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L417-L417)[45](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L418-L418)[46](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L653-L653)[47](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L710-L710)
Unsafe member access .message on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L576-L576)
Unsafe spread of an `any` value in an array.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L577-L577)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L578-L578)
Unsafe argument of type `any` assigned to a parameter of type `string | number`.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L577-L577)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L578-L578)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L586-L586)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L587-L587)
Unsafe member access .start on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L577-L577)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L577-L577)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L578-L578)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L578-L578)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L588-L588)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L589-L589)[7](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L680-L680)[8](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L680-L680)
Unsafe member access .tStartMs on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L577-L577)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L578-L578)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L589-L589)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1458-L1458)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1479-L1479)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1487-L1487)[7](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1817-L1817)[8](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4823-L4823)[9](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4831-L4831)[10](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L179-L179)[11](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L124-L124)[12](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L334-L334)[13](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L335-L335)[14](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L348-L348)[15](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L349-L349)[16](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L680-L680)[17](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L681-L681)
Unsafe argument of type `any` assigned to a parameter of type `string`.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L597-L597)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L598-L598)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L365-L365)
Unsafe member access .text on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L599-L599)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L599-L599)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L600-L600)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L678-L678)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L678-L678)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L684-L684)
Unsafe member access .segs on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L600-L600)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1224-L1227)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1315-L1318)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1403-L1403)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1425-L1425)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1426-L1426)[7](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2294-L2294)[8](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2341-L2341)[9](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3635-L3641)[10](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3706-L3712)[11](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3746-L3746)[12](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3752-L3758)[13](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3763-L3769)[14](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3866-L3866)[15](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3875-L3875)[16](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3950-L3950)[17](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4141-L4150)[18](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4161-L4170)[19](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4188-L4195)[20](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4200-L4208)[21](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4236-L4236)[22](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4265-L4265)[23](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4297-L4297)[24](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4326-L4326)[25](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4343-L4350)[26](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4356-L4363)[27](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4386-L4401)[28](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4685-L4685)[29](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L105-L105)[30](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L181-L181)[31](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/ollama-client.ts#L96-L96)[32](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L107-L107)[33](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/transcript-summarizer.ts#L202-L202)[34](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/error-utils.ts#L13-L13)[35](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L365-L365)[36](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L678-L678)[37](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L685-L685)
Unsafe return of a value of type `any`.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L600-L600)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L685-L685)
Unsafe member access .utf8 on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L600-L600)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1431-L1431)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1434-L1434)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L686-L686)
Unsafe member access .join on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L600-L600)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4589-L4589)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L338-L338)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L353-L353)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L689-L689)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L691-L691)
Unsafe member access .trim on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L736-L736)
Invalid type "string[] | "none"" of template literal expression.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L770-L770)
Unnecessary escape character: \-.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L805-L805)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1117-L1117)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4647-L4647)
Unsafe member access .plugins on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L815-L815)
Unsafe member access .templater on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L818-L818)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1004-L1004)
Unsafe member access .current_functions_object on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L998-L998)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1417-L1417)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1759-L1759)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1810-L1810)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2119-L2119)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2981-L2981)[7](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3260-L3260)[8](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4789-L4789)
Unsafe member access .getAbstractFileByPath on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1010-L1010)
Unsafe member access .create_running_config on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1018-L1018)
Unsafe member access .functions_generator on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1021-L1021)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1022-L1022)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1026-L1026)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1027-L1027)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1028-L1028)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1029-L1029)[7](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1034-L1034)[8](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1035-L1035)[9](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1042-L1042)[10](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1045-L1045)
Unsafe member access .user on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1040-L1040)
Unnecessary escape character: \..

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1057-L1057)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1449-L1449)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1816-L1816)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2983-L2983)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3262-L3262)
Unsafe member access .read on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1060-L1060)
Unsafe member access .parser on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1072-L1072)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3314-L3314)
Unsafe member access .create on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1076-L1076)
Unsafe assignment of an error typed value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1076-L1076)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1077-L1077)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5269-L5269)
Unsafe call of a(n) `error` type typed value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1076-L1076)
Unsafe member access .getLeaf on an `error` typed value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1077-L1077)
Unsafe member access .openFile on an `error` typed value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1187-L1187)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1187-L1187)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1192-L1192)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1217-L1217)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1217-L1217)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1222-L1222)[7](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1275-L1275)[8](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1275-L1275)[9](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1280-L1280)[10](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1283-L1283)[11](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1308-L1308)[12](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1308-L1308)[13](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1313-L1313)[14](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1399-L1399)[15](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1399-L1399)[16](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1403-L1403)[17](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2819-L2819)[18](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2819-L2819)[19](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2820-L2820)
Unsafe member access .items on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1224-L1224)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1225-L1225)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1226-L1226)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1227-L1227)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1229-L1229)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1230-L1230)[7](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1315-L1315)[8](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1316-L1316)[9](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1317-L1317)[10](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1318-L1318)[11](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1320-L1320)[12](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1321-L1321)[13](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L347-L347)
Unsafe member access .snippet on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1228-L1228)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1319-L1319)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1426-L1426)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2336-L2336)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4688-L4688)
Unsafe member access .map on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1233-L1233)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1324-L1324)
Unsafe argument of type `any` assigned to a parameter of type `ConcatArray<{ title: string; url: string; }>`.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1234-L1234)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1325-L1325)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1427-L1427)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1430-L1430)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1434-L1434)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1434-L1434)[7](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2292-L2292)[8](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2339-L2339)[9](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3945-L3945)[10](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4666-L4666)[11](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L179-L179)
Unsafe member access .length on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1237-L1237)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1328-L1328)
Unsafe member access .nextPageToken on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1424-L1424)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4665-L4665)
Unsafe member access .getMarkdownFiles on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1425-L1425)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2285-L2285)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4671-L4671)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L678-L678)
Unsafe member access .filter on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1425-L1425)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1426-L1426)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4674-L4674)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4682-L4682)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4688-L4688)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4816-L4816)
Unsafe member access .path on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1433-L1433)
Unsafe member access .slice on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1761-L1761)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L1867-L1867)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2121-L2121)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2984-L2984)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3263-L3263)
Unsafe member access .modify on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2246-L2246)
A `require()` style import is forbidden.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2246-L2246)
'require' is not defined.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2275-L2275)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2322-L2322)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/anthropic-client.ts#L59-L59)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L78-L78)
Unsafe member access .error on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2282-L2282)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2283-L2283)
Unsafe member access .data on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2290-L2290)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2337-L2337)
Unsafe member access .sort on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2329-L2329)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2330-L2330)
Unsafe member access .models on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2599-L2602)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3618-L3622)
Promise returned in function argument where a void return was expected.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2699-L2699)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3069-L3069)
A method that is not declared with `this: void` may cause unintentional scoping of `this` when separated from its object.
Consider using an arrow function or explicitly `.bind()`ing the method to avoid calling the method with an unintended `this` value. 
If a function does not access `this`, it can be annotated with `this: void`.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2762-L2762)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3054-L3054)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3653-L3653)
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/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3637-L3637)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3708-L3708)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3722-L3722)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3754-L3754)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3765-L3765)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3842-L3842)[7](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3883-L3883)[8](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3955-L3955)[9](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3957-L3957)[10](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3961-L3961)[11](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3965-L3965)[12](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4007-L4007)[13](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4019-L4019)[14](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4039-L4039)[15](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4143-L4143)[16](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4163-L4163)[17](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4191-L4191)[18](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4204-L4204)[19](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4226-L4226)[20](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4255-L4255)[21](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4287-L4287)[22](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4316-L4316)[23](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4346-L4346)[24](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4359-L4359)[25](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4389-L4389)
Unsafe member access .setValue on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3638-L3638)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3709-L3709)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3723-L3723)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3755-L3755)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3766-L3766)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3843-L3843)[7](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3880-L3880)[8](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4013-L4013)[9](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4145-L4145)[10](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4164-L4164)[11](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4192-L4192)[12](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4205-L4205)[13](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4227-L4227)[14](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4256-L4256)[15](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4288-L4288)[16](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4317-L4317)[17](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4347-L4347)[18](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4360-L4360)[19](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4390-L4390)[20](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4492-L4492)[21](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4516-L4516)[22](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4542-L4542)[23](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4567-L4567)
Unsafe member access .onChange on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3647-L3647)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3684-L3684)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3926-L3926)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4174-L4174)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4241-L4241)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4270-L4270)[7](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4302-L4302)[8](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4331-L4331)[9](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4367-L4367)[10](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4405-L4405)
Unsafe member access .setTooltip on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3648-L3648)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3685-L3685)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3927-L3927)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4242-L4242)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4271-L4271)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4303-L4303)[7](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4332-L4332)
Unsafe member access .onClick on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3648-L3648)
Async arrow function has no 'await' expression.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3662-L3662)
'createDiv' is not defined.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3675-L3675)
'createSpan' is not defined.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3730-L3730)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3850-L3850)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4234-L4234)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4263-L4263)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4295-L4295)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4324-L4324)[7](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4624-L4624)
Unsafe member access .inputEl on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3824-L3824)
Unexpected aliasing of 'this' to local variable.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3944-L3944)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3947-L3947)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3952-L3952)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3952-L3952)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4618-L4618)
Unsafe member access .selectEl on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3946-L3946)
Unsafe member access [i] on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3950-L3950)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4189-L4189)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4190-L4190)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4201-L4201)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4202-L4202)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4203-L4203)[7](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4344-L4344)[8](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4345-L4345)[9](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4358-L4358)[10](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4388-L4388)
Unsafe member access .addOption on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4018-L4018)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4037-L4037)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4588-L4588)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4589-L4589)
Unsafe member access .getValue on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4144-L4144)
Unsafe member access .setDynamicTooltip on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4218-L4218)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4279-L4279)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4469-L4472)
Use `new Setting(containerEl).setName(...).setHeading()` instead of creating HTML heading elements directly.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4404-L4404)
Unsafe member access .setIcon on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4648-L4648)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4648-L4648)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4649-L4649)
Unsafe member access .settings on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4677-L4677)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4820-L4820)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4821-L4821)
Unsafe member access .startsWith on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4679-L4679)
Unsafe member access .includes on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4768-L4771)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5039-L5165)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5289-L5505)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5682-L5891)
Promise-returning method provided where a void return was expected by extended/implemented type 'Modal'.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4799-L4799)
Unsafe member access .getAllLoadedFiles on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5053-L5053)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5303-L5303)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5699-L5699)
Unsafe member access .manifest on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5062-L5062)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5063-L5063)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5064-L5064)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5312-L5312)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5313-L5313)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5708-L5708)[7](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5709-L5709)
Unsafe member access .configDir on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5078-L5078)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5326-L5326)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5722-L5722)
Unsafe member access .adapter on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5269-L5269)
Unsafe member access .open on an `error` typed value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5417-L5417)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5425-L5425)
Unnecessary escape character: \+.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/manifest.json#L6-L6)
The 'description' property should be concise and follow the submission requirements.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/anthropic-client.ts#L62-L62)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/anthropic-client.ts#L82-L88)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L81-L81)
Unsafe return of a value of type `Promise<any>`.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/anthropic-client.ts#L78-L78)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L57-L57)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L59-L59)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/ollama-client.ts#L74-L74)
Unsafe member access .system on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/anthropic-client.ts#L79-L79)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/anthropic-client.ts#L79-L79)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L47-L47)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L47-L47)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L91-L91)
Unsafe member access .temperature on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/anthropic-client.ts#L80-L80)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L48-L48)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L92-L92)
Unsafe member access .max_tokens on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L49-L49)
Unsafe member access .top_p on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L50-L50)
Unsafe member access .top_k on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L64-L64)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L139-L139)
Unsafe member access .contents on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L96-L96)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L96-L96)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L100-L100)
Unsafe member access .candidates on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L101-L101)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L101-L101)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L101-L101)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/gemini-client.ts#L105-L105)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L100-L100)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L174-L174)[7](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L174-L174)[8](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L174-L174)[9](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L178-L178)[10](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L215-L215)[11](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L100-L100)[12](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L104-L104)
Unsafe member access .content on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L118-L118)
'm.content' may use Object's default stringification format ('[object Object]') when stringified.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L172-L172)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L172-L172)
Unsafe member access .usage on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L230-L230)
'response.content' may use Object's default stringification format ('[object Object]') when stringified.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L241-L241)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L132-L132)
Unsafe member access .constructor on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L243-L243)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L157-L157)
Unsafe member access .stack on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L247-L247)
Invalid type "string[]" of template literal expression.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L247-L247)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L248-L248)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L177-L177)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L212-L212)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L308-L308)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L315-L315)[7](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L361-L361)
Unsafe argument of type `any` assigned to a parameter of type `{}`.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L249-L249)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L201-L201)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L295-L295)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L296-L296)
Unsafe member access [key] on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L253-L253)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L254-L254)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/langchain-client.ts#L254-L254)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/ollama-client.ts#L154-L154)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L122-L122)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L123-L123)[7](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L123-L123)
Unsafe member access .response on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/ollama-client.ts#L78-L78)
Unsafe member access .options on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/ollama-client.ts#L160-L160)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/ollama-client.ts#L162-L162)
Unsafe member access .prompt_eval_count on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/ollama-client.ts#L161-L161)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/ollama-client.ts#L162-L162)
Unsafe member access .eval_count on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L1-L1)
'openai' should be listed in the project's dependencies. Run 'npm i -S openai' to add it

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L100-L100)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L103-L103)
Unsafe member access .role on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L110-L114)
Unsafe argument of type `any` assigned to a parameter of type `ChatCompletionCreateParamsNonStreaming`.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L112-L112)
Unsafe assignment of type `any[]` to a variable of type `ChatCompletionMessageParam[]`.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L72-L72)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L87-L87)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L100-L100)
Unsafe member access .body on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L75-L75)
This assertion is unnecessary since it does not change the type of the expression.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L82-L82)
'value' may use Object's default stringification format ('[object Object]') when stringified.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L82-L82)
Invalid type "FormDataEntryValue" of template literal expression.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L88-L88)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L89-L89)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L103-L103)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L104-L104)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L116-L116)
Unsafe member access .headers on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L94-L94)
Unsafe member access .arrayBuffer on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L114-L114)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L122-L122)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L123-L123)
Unsafe member access .url on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L115-L115)
Unsafe member access .method on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/fetch-shim.ts#L158-L158)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/logger.ts#L136-L136)
Unsafe member access .toString on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/logger.ts#L73-L73)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/logger.ts#L82-L82)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/logger.ts#L91-L91)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/logger.ts#L100-L100)
Unsafe spread of an `any[]` array type.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/path-utils.ts#L50-L50)
Unsafe member access .createFolder on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L130-L130)
Unsafe member access .playerOverlays on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L132-L132)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L161-L161)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L162-L162)
Unsafe member access .title on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L133-L133)
Unsafe member access .subtitle on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L142-L142)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L144-L144)
Unsafe member access .videoPrimaryInfoRenderer on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L149-L149)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L151-L151)
Unsafe member access .videoSecondaryInfoRenderer on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L159-L159)
Unsafe member access .microformat on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L165-L165)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L166-L166)
Unsafe member access .ownerChannelName on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L197-L197)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L198-L198)
Unsafe member access .getTranscriptEndpoint on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L216-L216)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L236-L236)
Unsafe member access .substring on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L268-L268)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L270-L270)
Unsafe member access .transcriptBody on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L274-L274)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L274-L274)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L276-L276)
Unsafe member access .cueGroups on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L280-L280)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L282-L282)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L316-L316)
Unsafe member access .updateEngagementPanelAction on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L286-L286)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L286-L286)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L287-L287)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L288-L288)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L311-L311)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L311-L311)[7](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L312-L312)[8](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L313-L313)
Unsafe member access .actions on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L331-L331)
Unsafe member access .transcriptCueGroupRenderer on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L333-L333)
Unsafe member access .cue on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L334-L334)
Unsafe member access .startOffsetMs on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L335-L335)
Unsafe member access .durationMs on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L345-L345)
Unsafe member access .transcriptSegmentRenderer on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L348-L348)
Unsafe member access .startMs on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L349-L349)
Unsafe member access .endMs on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L472-L472)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L473-L473)
Unsafe member access .videoDetails on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L672-L672)
Unsafe member access .events on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L679-L679)
Unsafe member access .forEach on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L681-L681)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L681-L681)
Unsafe member access .dDurationMs on an `any` value.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/youtube-transcript.ts#L687-L687)
Unsafe member access .replace on an `any` value.



---

### Optional

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L7-L7)
'getLogsAsString' is defined but never used.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L328-L328)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L351-L351)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2418-L2418)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2429-L2429)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2475-L2475)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2504-L2504)[7](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2569-L2569)[8](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2580-L2580)[9](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2613-L2613)[10](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3425-L3425)[11](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3634-L3634)[12](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3705-L3705)[13](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3718-L3718)[14](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3721-L3721)[15](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3751-L3751)[16](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3753-L3753)[17](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3784-L3784)[18](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3785-L3785)[19](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3788-L3788)[20](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3791-L3791)[21](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3792-L3792)[22](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3793-L3793)[23](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3876-L3876)[24](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4174-L4174)[25](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4201-L4201)[26](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4202-L4202)[27](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4203-L4203)[28](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4222-L4222)[29](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4283-L4283)[30](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4342-L4342)[31](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4344-L4344)[32](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4345-L4345)[33](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4355-L4355)[34](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4367-L4367)[35](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4488-L4488)[36](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4489-L4489)[37](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4512-L4512)[38](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4513-L4513)[39](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4537-L4537)[40](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4563-L4563)[41](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5048-L5048)[42](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5147-L5147)[43](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5255-L5255)[44](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5298-L5298)[45](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5487-L5487)[46](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5692-L5692)[47](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5755-L5755)[48](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5809-L5809)[49](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5819-L5819)[50](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5821-L5821)[51](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5841-L5841)[52](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5850-L5850)
Use sentence case for UI text.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L448-L448)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L449-L449)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L453-L453)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L454-L454)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L518-L518)[6](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L4605-L4605)
Unexpected console statement. Only these console methods are allowed: warn, error, debug.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L847-L847)
'contentTypePrefix' is assigned a value but never used.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2230-L2230)
'error' is defined but never used.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2510-L2510)
'limitedVideosRadio' is assigned a value but never used.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2690-L2690)
'title' is assigned a value but never used.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L2752-L2752)
'pluginProxy' is assigned a value but never used.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3372-L3372)
'supportDesc' is assigned a value but never used.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3378-L3378)
'missionDesc' is assigned a value but never used.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L3507-L3507)
'sliderKnob' is assigned a value but never used.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5452-L5452)
'inList' is assigned a value but never used.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5528-L5528)
'imageUrl' is assigned a value but never used.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5726-L5726)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/llm/openai-client.ts#L41-L41)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/youtube-utils.ts#L47-L47)[4](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/youtube-utils.ts#L66-L66)[5](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/youtube-utils.ts#L152-L152)
'e' is defined but never used.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/main.ts#L5900-L5900)
'ObsidianAppWindow' is defined but never used.

[1](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/form-utils.ts#L1-L1)[2](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/path-utils.ts#L1-L1)[3](https://github.com/rmccorkl/TubeSage/blob/4cfcdc6f32ded9e7f8df161b5000d62d66b7548d/src/utils/timestamp-utils.ts#L1-L1)
'App' is defined but never used.

