@tyvm/knowhow 0.0.89 → 0.0.91

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. package/.depcheckrc +31 -0
  2. package/CONFIG.md +52 -0
  3. package/README.md +344 -29
  4. package/WORKER.md +169 -334
  5. package/autodoc/chat-guide.md +540 -0
  6. package/autodoc/cli-reference.md +765 -0
  7. package/autodoc/config-reference.md +541 -0
  8. package/autodoc/embeddings-guide.md +566 -0
  9. package/autodoc/generate-guide.md +477 -0
  10. package/autodoc/language-plugin-guide.md +443 -0
  11. package/autodoc/modules-guide.md +352 -0
  12. package/autodoc/plugins-guide.md +720 -0
  13. package/autodoc/quickstart-guide.md +129 -0
  14. package/autodoc/skills-guide.md +468 -0
  15. package/autodoc/worker-guide.md +526 -0
  16. package/bin/knowhow.js +1 -1
  17. package/package.json +4 -32
  18. package/src/agents/tools/executeScript/index.ts +5 -0
  19. package/src/agents/tools/googleSearch.ts +2 -2
  20. package/src/agents/tools/index.ts +0 -3
  21. package/src/agents/tools/list.ts +0 -147
  22. package/src/agents/tools/loadWebpage.ts +3 -113
  23. package/src/ai.ts +33 -2
  24. package/src/auth/browserLogin.ts +10 -13
  25. package/src/cli.ts +63 -3
  26. package/src/clients/gemini.ts +96 -25
  27. package/src/clients/http.ts +7 -11
  28. package/src/clients/pricing/google.ts +122 -26
  29. package/src/config.ts +28 -4
  30. package/src/conversion.ts +24 -54
  31. package/src/index.ts +30 -3
  32. package/src/login.ts +5 -6
  33. package/src/plugins/language.ts +0 -4
  34. package/src/plugins/plugins.ts +0 -14
  35. package/src/plugins/url.ts +31 -12
  36. package/src/processors/TokenCompressor.ts +2 -2
  37. package/src/processors/ToolResponseCache.ts +3 -3
  38. package/src/processors/tools/grepToolResponse.ts +9 -4
  39. package/src/processors/tools/jqToolResponse.ts +11 -6
  40. package/src/processors/tools/listStoredToolResponses.ts +1 -1
  41. package/src/processors/tools/tailToolResponse.ts +9 -4
  42. package/src/services/GitHub.ts +2 -2
  43. package/src/services/KnowhowClient.ts +34 -34
  44. package/src/{plugins/downloader/downloader.ts → services/MediaProcessorService.ts} +109 -267
  45. package/src/services/S3.ts +16 -16
  46. package/src/services/index.ts +4 -4
  47. package/src/services/modules/index.ts +10 -2
  48. package/src/services/modules/types.ts +5 -2
  49. package/src/services/script-execution/ScriptExecutor.ts +29 -10
  50. package/src/services/script-execution/ScriptPolicy.ts +6 -2
  51. package/src/types.ts +1 -0
  52. package/src/utils/http.ts +127 -0
  53. package/src/workers/auth/PasskeySetup.ts +7 -11
  54. package/tests/clients/AIClient.test.ts +24 -21
  55. package/tests/manual/file-edits/figma.test.ts +3 -70
  56. package/tests/plugins/language/languagePlugin-content-triggers.test.ts +2 -0
  57. package/tests/plugins/language/languagePlugin.test.ts +2 -0
  58. package/tests/processors/ToolResponseCache.test.ts +2 -2
  59. package/tests/test.spec.ts +0 -14
  60. package/tests/unit/modules/moduleLoading.test.ts +7 -4
  61. package/tests/unit/plugins/pluginLoading.test.ts +6 -6
  62. package/ts_build/package.json +4 -32
  63. package/ts_build/src/agents/tools/ast/astAppendNode.d.ts +1 -1
  64. package/ts_build/src/agents/tools/ast/astAppendNode.js +2 -90
  65. package/ts_build/src/agents/tools/ast/astAppendNode.js.map +1 -1
  66. package/ts_build/src/agents/tools/ast/astDeleteNode.d.ts +1 -1
  67. package/ts_build/src/agents/tools/ast/astDeleteNode.js +2 -88
  68. package/ts_build/src/agents/tools/ast/astDeleteNode.js.map +1 -1
  69. package/ts_build/src/agents/tools/ast/astEditNode.d.ts +1 -1
  70. package/ts_build/src/agents/tools/ast/astEditNode.js +2 -90
  71. package/ts_build/src/agents/tools/ast/astEditNode.js.map +1 -1
  72. package/ts_build/src/agents/tools/ast/astGetPathForLine.d.ts +1 -1
  73. package/ts_build/src/agents/tools/ast/astGetPathForLine.js +2 -72
  74. package/ts_build/src/agents/tools/ast/astGetPathForLine.js.map +1 -1
  75. package/ts_build/src/agents/tools/ast/astListPaths.d.ts +1 -1
  76. package/ts_build/src/agents/tools/ast/astListPaths.js +2 -72
  77. package/ts_build/src/agents/tools/ast/astListPaths.js.map +1 -1
  78. package/ts_build/src/agents/tools/executeScript/index.d.ts +3 -2
  79. package/ts_build/src/agents/tools/executeScript/index.js +4 -1
  80. package/ts_build/src/agents/tools/executeScript/index.js.map +1 -1
  81. package/ts_build/src/agents/tools/googleSearch.js +2 -2
  82. package/ts_build/src/agents/tools/googleSearch.js.map +1 -1
  83. package/ts_build/src/agents/tools/index.d.ts +0 -3
  84. package/ts_build/src/agents/tools/index.js +0 -3
  85. package/ts_build/src/agents/tools/index.js.map +1 -1
  86. package/ts_build/src/agents/tools/list.js +0 -138
  87. package/ts_build/src/agents/tools/list.js.map +1 -1
  88. package/ts_build/src/agents/tools/loadWebpage.js +1 -89
  89. package/ts_build/src/agents/tools/loadWebpage.js.map +1 -1
  90. package/ts_build/src/agents/tools/textSearch.d.ts +1 -1
  91. package/ts_build/src/ai.js +18 -1
  92. package/ts_build/src/ai.js.map +1 -1
  93. package/ts_build/src/auth/browserLogin.js +7 -7
  94. package/ts_build/src/auth/browserLogin.js.map +1 -1
  95. package/ts_build/src/cli.d.ts +1 -1
  96. package/ts_build/src/cli.js +47 -1
  97. package/ts_build/src/cli.js.map +1 -1
  98. package/ts_build/src/clients/gemini.d.ts +1 -73
  99. package/ts_build/src/clients/gemini.js +57 -19
  100. package/ts_build/src/clients/gemini.js.map +1 -1
  101. package/ts_build/src/clients/http.js +5 -9
  102. package/ts_build/src/clients/http.js.map +1 -1
  103. package/ts_build/src/clients/pricing/google.d.ts +17 -73
  104. package/ts_build/src/clients/pricing/google.js +47 -10
  105. package/ts_build/src/clients/pricing/google.js.map +1 -1
  106. package/ts_build/src/config.js +17 -2
  107. package/ts_build/src/config.js.map +1 -1
  108. package/ts_build/src/conversion.d.ts +1 -4
  109. package/ts_build/src/conversion.js +12 -27
  110. package/ts_build/src/conversion.js.map +1 -1
  111. package/ts_build/src/index.d.ts +4 -0
  112. package/ts_build/src/index.js +19 -3
  113. package/ts_build/src/index.js.map +1 -1
  114. package/ts_build/src/login.js +5 -4
  115. package/ts_build/src/login.js.map +1 -1
  116. package/ts_build/src/plugins/downloader/downloader.js +3 -3
  117. package/ts_build/src/plugins/downloader/downloader.js.map +1 -1
  118. package/ts_build/src/plugins/language.js.map +1 -1
  119. package/ts_build/src/plugins/plugins.js +0 -14
  120. package/ts_build/src/plugins/plugins.js.map +1 -1
  121. package/ts_build/src/plugins/tree-sitter/editor.d.ts +3 -32
  122. package/ts_build/src/plugins/tree-sitter/editor.js +6 -208
  123. package/ts_build/src/plugins/tree-sitter/editor.js.map +1 -1
  124. package/ts_build/src/plugins/tree-sitter/parser.d.ts +19 -54
  125. package/ts_build/src/plugins/tree-sitter/parser.js +19 -293
  126. package/ts_build/src/plugins/tree-sitter/parser.js.map +1 -1
  127. package/ts_build/src/plugins/tree-sitter/simple-paths.d.ts +2 -15
  128. package/ts_build/src/plugins/tree-sitter/simple-paths.js +2 -324
  129. package/ts_build/src/plugins/tree-sitter/simple-paths.js.map +1 -1
  130. package/ts_build/src/plugins/url.js +27 -8
  131. package/ts_build/src/plugins/url.js.map +1 -1
  132. package/ts_build/src/processors/TokenCompressor.js +2 -2
  133. package/ts_build/src/processors/TokenCompressor.js.map +1 -1
  134. package/ts_build/src/processors/ToolResponseCache.js +3 -3
  135. package/ts_build/src/processors/ToolResponseCache.js.map +1 -1
  136. package/ts_build/src/processors/tools/grepToolResponse.d.ts +3 -1
  137. package/ts_build/src/processors/tools/grepToolResponse.js +8 -2
  138. package/ts_build/src/processors/tools/grepToolResponse.js.map +1 -1
  139. package/ts_build/src/processors/tools/jqToolResponse.d.ts +3 -1
  140. package/ts_build/src/processors/tools/jqToolResponse.js +10 -4
  141. package/ts_build/src/processors/tools/jqToolResponse.js.map +1 -1
  142. package/ts_build/src/processors/tools/listStoredToolResponses.js +1 -1
  143. package/ts_build/src/processors/tools/listStoredToolResponses.js.map +1 -1
  144. package/ts_build/src/processors/tools/tailToolResponse.d.ts +3 -1
  145. package/ts_build/src/processors/tools/tailToolResponse.js +8 -2
  146. package/ts_build/src/processors/tools/tailToolResponse.js.map +1 -1
  147. package/ts_build/src/services/GitHub.js +2 -2
  148. package/ts_build/src/services/GitHub.js.map +1 -1
  149. package/ts_build/src/services/KnowhowClient.d.ts +29 -29
  150. package/ts_build/src/services/KnowhowClient.js +33 -33
  151. package/ts_build/src/services/KnowhowClient.js.map +1 -1
  152. package/ts_build/src/services/MediaProcessorService.d.ts +22 -0
  153. package/ts_build/src/services/MediaProcessorService.js +215 -0
  154. package/ts_build/src/services/MediaProcessorService.js.map +1 -0
  155. package/ts_build/src/services/S3.js +12 -18
  156. package/ts_build/src/services/S3.js.map +1 -1
  157. package/ts_build/src/services/index.d.ts +3 -2
  158. package/ts_build/src/services/index.js +3 -3
  159. package/ts_build/src/services/index.js.map +1 -1
  160. package/ts_build/src/services/modules/index.js +10 -2
  161. package/ts_build/src/services/modules/index.js.map +1 -1
  162. package/ts_build/src/services/modules/types.d.ts +5 -2
  163. package/ts_build/src/services/script-execution/ScriptExecutor.js +22 -7
  164. package/ts_build/src/services/script-execution/ScriptExecutor.js.map +1 -1
  165. package/ts_build/src/services/script-execution/ScriptPolicy.d.ts +1 -1
  166. package/ts_build/src/services/script-execution/ScriptPolicy.js +4 -2
  167. package/ts_build/src/services/script-execution/ScriptPolicy.js.map +1 -1
  168. package/ts_build/src/types.d.ts +1 -0
  169. package/ts_build/src/types.js +1 -0
  170. package/ts_build/src/types.js.map +1 -1
  171. package/ts_build/src/utils/http.d.ts +27 -0
  172. package/ts_build/src/utils/http.js +98 -0
  173. package/ts_build/src/utils/http.js.map +1 -0
  174. package/ts_build/src/workers/auth/PasskeySetup.js +6 -7
  175. package/ts_build/src/workers/auth/PasskeySetup.js.map +1 -1
  176. package/ts_build/tests/clients/AIClient.test.js +11 -14
  177. package/ts_build/tests/clients/AIClient.test.js.map +1 -1
  178. package/ts_build/tests/manual/file-edits/figma.test.d.ts +0 -1
  179. package/ts_build/tests/manual/file-edits/figma.test.js +1 -46
  180. package/ts_build/tests/manual/file-edits/figma.test.js.map +1 -1
  181. package/ts_build/tests/plugins/language/languagePlugin-content-triggers.test.js +2 -0
  182. package/ts_build/tests/plugins/language/languagePlugin-content-triggers.test.js.map +1 -1
  183. package/ts_build/tests/plugins/language/languagePlugin.test.js +2 -0
  184. package/ts_build/tests/plugins/language/languagePlugin.test.js.map +1 -1
  185. package/ts_build/tests/processors/ToolResponseCache.test.js +2 -2
  186. package/ts_build/tests/processors/ToolResponseCache.test.js.map +1 -1
  187. package/ts_build/tests/test.spec.js +0 -14
  188. package/ts_build/tests/test.spec.js.map +1 -1
  189. package/ts_build/tests/tree-sitter/tree-sitter.test.d.ts +0 -1
  190. package/ts_build/tests/tree-sitter/tree-sitter.test.js +2 -183
  191. package/ts_build/tests/tree-sitter/tree-sitter.test.js.map +1 -1
  192. package/ts_build/tests/unit/modules/moduleLoading.test.js +6 -4
  193. package/ts_build/tests/unit/modules/moduleLoading.test.js.map +1 -1
  194. package/ts_build/tests/unit/plugins/pluginLoading.test.js +4 -4
  195. package/ts_build/tests/unit/plugins/pluginLoading.test.js.map +1 -1
  196. package/autodoc/chat.mdx +0 -20
  197. package/autodoc/cli.mdx +0 -11
  198. package/autodoc/plugins/asana.mdx +0 -47
  199. package/autodoc/plugins/downloader/downloader.mdx +0 -38
  200. package/autodoc/plugins/downloader/plugin.mdx +0 -37
  201. package/autodoc/plugins/downloader/types.mdx +0 -42
  202. package/autodoc/plugins/embedding.mdx +0 -41
  203. package/autodoc/plugins/figma.mdx +0 -45
  204. package/autodoc/plugins/github.mdx +0 -40
  205. package/autodoc/plugins/jira.mdx +0 -46
  206. package/autodoc/plugins/language.mdx +0 -37
  207. package/autodoc/plugins/linear.mdx +0 -35
  208. package/autodoc/plugins/notion.mdx +0 -38
  209. package/autodoc/plugins/plugins.mdx +0 -59
  210. package/autodoc/plugins/types.mdx +0 -51
  211. package/autodoc/plugins/vim.mdx +0 -39
  212. package/autodoc/tools/addInternalTools.mdx +0 -1
  213. package/autodoc/tools/agentCall.mdx +0 -1
  214. package/autodoc/tools/asana/definitions.mdx +0 -10
  215. package/autodoc/tools/asana/index.mdx +0 -12
  216. package/autodoc/tools/askHuman.mdx +0 -1
  217. package/autodoc/tools/callPlugin.mdx +0 -1
  218. package/autodoc/tools/embeddingSearch.mdx +0 -1
  219. package/autodoc/tools/execCommand.mdx +0 -1
  220. package/autodoc/tools/fileSearch.mdx +0 -1
  221. package/autodoc/tools/finalAnswer.mdx +0 -1
  222. package/autodoc/tools/github/definitions.mdx +0 -6
  223. package/autodoc/tools/github/index.mdx +0 -8
  224. package/autodoc/tools/index.mdx +0 -14
  225. package/autodoc/tools/lintFile.mdx +0 -7
  226. package/autodoc/tools/list.mdx +0 -16
  227. package/autodoc/tools/modifyFile.mdx +0 -7
  228. package/autodoc/tools/patch.mdx +0 -9
  229. package/autodoc/tools/readBlocks.mdx +0 -1
  230. package/autodoc/tools/readFile.mdx +0 -1
  231. package/autodoc/tools/scanFile.mdx +0 -1
  232. package/autodoc/tools/textSearch.mdx +0 -6
  233. package/autodoc/tools/types/fileblock.mdx +0 -1
  234. package/autodoc/tools/visionTool.mdx +0 -1
  235. package/autodoc/tools/writeFile.mdx +0 -1
  236. package/benchmarks/.dockerignore +0 -7
  237. package/benchmarks/README.md +0 -166
  238. package/benchmarks/docker/Dockerfile +0 -68
  239. package/benchmarks/example-config.yml +0 -27
  240. package/benchmarks/jest.config.js +0 -13
  241. package/benchmarks/package-lock.json +0 -4297
  242. package/benchmarks/package.json +0 -39
  243. package/benchmarks/results/27b0a06/2025-09-27/xai/xai-grok-code-fast-1.json +0 -2909
  244. package/benchmarks/results/4057aed/2025-08-14/anthropic/anthropic-claude-sonnet-4-20250514.json +0 -1671
  245. package/benchmarks/results/4542435/2025-08-05/lms/lms-openai-gpt-oss-20b.json +0 -2814
  246. package/benchmarks/results/4542435/2025-08-05/lms/lms-qwen-qwen3-30b-a3b-2507.json +0 -2014
  247. package/benchmarks/results/4fb9125/2025-08-07/anthropic/anthropic-claude-sonnet-4-20250514.json +0 -3121
  248. package/benchmarks/results/5766aee/2025-08-02/lms-qwen/qwen3-coder-30b.json +0 -98
  249. package/benchmarks/results/6d73808/2025-08-07/openai/openai-gpt-5.json +0 -3256
  250. package/benchmarks/results/77bf0a6/2025-08-02/lms-qwen/qwen3-30b-a3b-2507.json +0 -4298
  251. package/benchmarks/results/8c0d445/2025-08-03/anthropic/anthropic-claude-sonnet-4-20250514.json +0 -3031
  252. package/benchmarks/results/8c0d445/2025-08-03/openai/openai-gpt-4.1-2025-04-14.json +0 -2990
  253. package/benchmarks/results/ac6b2ab/2025-08-03/anthropic/anthropic-claude-sonnet-4-20250514.json +0 -3256
  254. package/benchmarks/results/ac6b2ab/2025-08-03/lms/lms-qwen-qwen3-coder-30b.json +0 -3007
  255. package/benchmarks/results/ac6b2ab/2025-08-03/openai/openai-gpt-4.1-2025-04-14.json +0 -3256
  256. package/benchmarks/results/ac6b2ab/2025-08-03/openai/openai-gpt-4.1-mini-2025-04-14.json +0 -3036
  257. package/benchmarks/results/ac6b2ab/2025-08-03/openai/openai-gpt-4.1-nano-2025-04-14.json +0 -3280
  258. package/benchmarks/results/adff675/2025-08-04/lms/lms-qwen-qwen3-30b-a3b-2507.json +0 -1920
  259. package/benchmarks/results/adff675/2025-08-04/lms/lms-qwen-qwen3-coder-30b.json +0 -3281
  260. package/benchmarks/results/b502ed9/2025-08-03/lms-qwen/qwen3-coder-30b.json +0 -2896
  261. package/benchmarks/results/d1a8129/2025-08-03/lms/lms-qwen-qwen3-coder-30b.json +0 -3011
  262. package/benchmarks/results/e60471c/2025-08-03/lms/qwen3-30b-a3b-2507.json +0 -3003
  263. package/benchmarks/scripts/build-and-run.sh +0 -47
  264. package/benchmarks/scripts/clone-exercism.sh +0 -92
  265. package/benchmarks/scripts/validate.sh +0 -48
  266. package/benchmarks/src/__tests__/runner.test.ts +0 -27
  267. package/benchmarks/src/cli.ts +0 -90
  268. package/benchmarks/src/evaluators/EvaluatorRegistry.ts +0 -64
  269. package/benchmarks/src/evaluators/JavaScriptEvaluator.ts +0 -183
  270. package/benchmarks/src/evaluators/index.ts +0 -3
  271. package/benchmarks/src/evaluators/types.ts +0 -22
  272. package/benchmarks/src/index.ts +0 -3
  273. package/benchmarks/src/providers.ts +0 -13
  274. package/benchmarks/src/runner.ts +0 -824
  275. package/benchmarks/src/types.ts +0 -63
  276. package/benchmarks/tsconfig.json +0 -19
  277. package/leaderboard/README.md +0 -148
  278. package/leaderboard/app/api/benchmark-data/route.ts +0 -131
  279. package/leaderboard/app/api/benchmark-detail/route.ts +0 -172
  280. package/leaderboard/app/details/[model]/[provider]/[language]/page.tsx +0 -501
  281. package/leaderboard/app/exercise/[model]/[provider]/[language]/[exercise]/page.tsx +0 -375
  282. package/leaderboard/app/globals.css +0 -27
  283. package/leaderboard/app/layout.tsx +0 -21
  284. package/leaderboard/app/page.tsx +0 -170
  285. package/leaderboard/components/LeaderboardTable.tsx +0 -168
  286. package/leaderboard/components/PerformanceChart.tsx +0 -109
  287. package/leaderboard/next-env.d.ts +0 -5
  288. package/leaderboard/next.config.js +0 -4
  289. package/leaderboard/package-lock.json +0 -6363
  290. package/leaderboard/package.json +0 -28
  291. package/leaderboard/postcss.config.js +0 -6
  292. package/leaderboard/tailwind.config.js +0 -17
  293. package/leaderboard/tsconfig.json +0 -28
  294. package/leaderboard/types/benchmark.ts +0 -67
  295. package/leaderboard/utils/dataProcessor.ts +0 -33
  296. package/src/agents/tools/asana/definitions.ts +0 -199
  297. package/src/agents/tools/asana/index.ts +0 -108
  298. package/src/agents/tools/ast/astAppendNode.ts +0 -90
  299. package/src/agents/tools/ast/astDeleteNode.ts +0 -88
  300. package/src/agents/tools/ast/astEditNode.ts +0 -95
  301. package/src/agents/tools/ast/astGetPathForLine.ts +0 -73
  302. package/src/agents/tools/ast/astListPaths.ts +0 -66
  303. package/src/agents/tools/ast/index.ts +0 -7
  304. package/src/agents/tools/github/definitions.ts +0 -89
  305. package/src/agents/tools/github/index.ts +0 -67
  306. package/src/chat-old.ts +0 -446
  307. package/src/plugins/asana.ts +0 -146
  308. package/src/plugins/downloader/plugin.ts +0 -103
  309. package/src/plugins/downloader/types.ts +0 -92
  310. package/src/plugins/figma.ts +0 -158
  311. package/src/plugins/github.ts +0 -219
  312. package/src/plugins/jira.ts +0 -115
  313. package/src/plugins/linear.ts +0 -230
  314. package/src/plugins/notion.ts +0 -179
  315. package/src/plugins/tree-sitter/editor.ts +0 -369
  316. package/src/plugins/tree-sitter/lang-packs/index.ts +0 -23
  317. package/src/plugins/tree-sitter/lang-packs/java.ts +0 -59
  318. package/src/plugins/tree-sitter/lang-packs/javascript.ts +0 -57
  319. package/src/plugins/tree-sitter/lang-packs/python.ts +0 -45
  320. package/src/plugins/tree-sitter/lang-packs/types.ts +0 -79
  321. package/src/plugins/tree-sitter/lang-packs/typescript.ts +0 -49
  322. package/src/plugins/tree-sitter/parser.ts +0 -470
  323. package/src/plugins/tree-sitter/simple-paths.ts +0 -467
  324. package/test-comprehensive.ts +0 -31
  325. package/tests/tree-sitter/editor.test.ts +0 -113
  326. package/tests/tree-sitter/invalid.test.ts +0 -299
  327. package/tests/tree-sitter/paths/common-edits.test.ts +0 -564
  328. package/tests/tree-sitter/paths/debug-exact-position.test.ts +0 -44
  329. package/tests/tree-sitter/paths/debug-line-indexing.test.ts +0 -49
  330. package/tests/tree-sitter/paths/debug-paths.test.ts +0 -90
  331. package/tests/tree-sitter/paths/paths.test.ts +0 -170
  332. package/tests/tree-sitter/paths/simple-paths.test.ts +0 -367
  333. package/tests/tree-sitter/sample-after.ts +0 -48
  334. package/tests/tree-sitter/sample-before.ts +0 -25
  335. package/tests/tree-sitter/test-files/completely-broken.ts +0 -7
  336. package/tests/tree-sitter/test-files/duplicate-braces.ts +0 -39
  337. package/tests/tree-sitter/test-files/invalid-nesting.ts +0 -39
  338. package/tests/tree-sitter/test-files/malformed-signature.ts +0 -39
  339. package/tests/tree-sitter/test-files/mismatched-parens.ts +0 -39
  340. package/tests/tree-sitter/test-files/missing-semicolon.ts +0 -39
  341. package/tests/tree-sitter/test-files/partially-broken.ts +0 -20
  342. package/tests/tree-sitter/test-files/specific-errors.ts +0 -14
  343. package/tests/tree-sitter/test-files/unclosed-string.ts +0 -39
  344. package/tests/tree-sitter/tree-sitter.test.ts +0 -251
@@ -1,4 +1,4 @@
1
- import axios from "axios";
1
+ import http from "../utils/http";
2
2
  import fs from "fs";
3
3
  import { Message } from "../clients/types";
4
4
  import path from "path";
@@ -110,7 +110,7 @@ export const KNOWHOW_API_URL =
110
110
  process.env.KNOWHOW_API_URL || "https://api.knowhow.tyvm.ai";
111
111
 
112
112
  export class KnowhowSimpleClient {
113
- headers = {};
113
+ headers: Record<string, string> = {};
114
114
  jwtValidated = false;
115
115
 
116
116
  constructor(
@@ -156,7 +156,7 @@ export class KnowhowSimpleClient {
156
156
  throw new Error("No JWT found. Please login first.");
157
157
  }
158
158
 
159
- return axios.get(`${this.baseUrl}/api/users/me`, {
159
+ return http.get(`${this.baseUrl}/api/users/me`, {
160
160
  headers: this.headers,
161
161
  });
162
162
  }
@@ -164,7 +164,7 @@ export class KnowhowSimpleClient {
164
164
  async getPresignedUploadUrl(source: Config["embedSources"][0]) {
165
165
  await this.checkJwt();
166
166
  const id = source.remoteId;
167
- const presignedUrlResp = await axios.post(
167
+ const presignedUrlResp = await http.post(
168
168
  `${this.baseUrl}/api/org-embeddings/${id}/upload`,
169
169
  {},
170
170
  {
@@ -181,7 +181,7 @@ export class KnowhowSimpleClient {
181
181
  async getPresignedDownloadUrl(source: Config["embedSources"][0]) {
182
182
  await this.checkJwt();
183
183
  const id = source.remoteId;
184
- const presignedUrlResp = await axios.post(
184
+ const presignedUrlResp = await http.post(
185
185
  `${this.baseUrl}/api/org-embeddings/${id}/download`,
186
186
  {},
187
187
  {
@@ -203,7 +203,7 @@ export class KnowhowSimpleClient {
203
203
  }
204
204
  ) {
205
205
  await this.checkJwt();
206
- return axios.put(
206
+ return http.put(
207
207
  `${this.baseUrl}/api/org-embeddings/${id}`,
208
208
  data,
209
209
  {
@@ -214,7 +214,7 @@ export class KnowhowSimpleClient {
214
214
 
215
215
  async createChatCompletion(options: CompletionOptions) {
216
216
  await this.checkJwt();
217
- return axios.post<CompletionResponse>(
217
+ return http.post<CompletionResponse>(
218
218
  `${this.baseUrl}/api/proxy/v1/chat/completions`,
219
219
  options,
220
220
  {
@@ -225,7 +225,7 @@ export class KnowhowSimpleClient {
225
225
 
226
226
  async createEmbedding(options: EmbeddingOptions) {
227
227
  await this.checkJwt();
228
- return axios.post<EmbeddingResponse>(
228
+ return http.post<EmbeddingResponse>(
229
229
  `${this.baseUrl}/api/proxy/v1/embeddings`,
230
230
  options,
231
231
  {
@@ -236,7 +236,7 @@ export class KnowhowSimpleClient {
236
236
 
237
237
  async getModels() {
238
238
  await this.checkJwt();
239
- return axios.get(`${this.baseUrl}/api/proxy/v1/models?type=all`, {
239
+ return http.get(`${this.baseUrl}/api/proxy/v1/models?type=all`, {
240
240
  headers: this.headers,
241
241
  });
242
242
  }
@@ -262,7 +262,7 @@ export class KnowhowSimpleClient {
262
262
  if (options.temperature != null)
263
263
  formData.append("temperature", String(options.temperature));
264
264
 
265
- return axios.post<AudioTranscriptionResponse>(
265
+ return http.post<AudioTranscriptionResponse>(
266
266
  `${this.baseUrl}/api/proxy/v1/audio/transcriptions`,
267
267
  formData,
268
268
  { headers: { ...this.headers } }
@@ -271,7 +271,7 @@ export class KnowhowSimpleClient {
271
271
 
272
272
  async createAudioGeneration(options: AudioGenerationOptions) {
273
273
  await this.checkJwt();
274
- return axios.post<AudioGenerationResponse>(
274
+ return http.post<AudioGenerationResponse>(
275
275
  `${this.baseUrl}/api/proxy/v1/audio/generations`,
276
276
  options,
277
277
  { headers: this.headers }
@@ -280,7 +280,7 @@ export class KnowhowSimpleClient {
280
280
 
281
281
  async createImageGeneration(options: ImageGenerationOptions) {
282
282
  await this.checkJwt();
283
- return axios.post<ImageGenerationResponse>(
283
+ return http.post<ImageGenerationResponse>(
284
284
  `${this.baseUrl}/api/proxy/v1/images/generations`,
285
285
  options,
286
286
  { headers: this.headers }
@@ -289,7 +289,7 @@ export class KnowhowSimpleClient {
289
289
 
290
290
  async createVideoGeneration(options: VideoGenerationOptions) {
291
291
  await this.checkJwt();
292
- return axios.post<VideoGenerationResponse>(
292
+ return http.post<VideoGenerationResponse>(
293
293
  `${this.baseUrl}/api/proxy/v1/videos/generations`,
294
294
  options,
295
295
  { headers: this.headers }
@@ -299,7 +299,7 @@ export class KnowhowSimpleClient {
299
299
  async getVideoStatus(options: VideoStatusOptions) {
300
300
  await this.checkJwt();
301
301
  const { jobId, ...rest } = options;
302
- return axios.get<VideoStatusResponse>(
302
+ return http.get<VideoStatusResponse>(
303
303
  `${this.baseUrl}/api/proxy/v1/videos/${jobId}/status`,
304
304
  { headers: this.headers, params: rest }
305
305
  );
@@ -308,7 +308,7 @@ export class KnowhowSimpleClient {
308
308
  async downloadVideo(options: FileDownloadOptions) {
309
309
  await this.checkJwt();
310
310
  const { fileId } = options;
311
- return axios.get<ArrayBuffer>(
311
+ return http.get<ArrayBuffer>(
312
312
  `${this.baseUrl}/api/proxy/v1/videos/${fileId}/content`,
313
313
  { headers: this.headers, responseType: "arraybuffer" }
314
314
  );
@@ -323,7 +323,7 @@ export class KnowhowSimpleClient {
323
323
  fileName: options.fileName,
324
324
  displayName: options.displayName,
325
325
  };
326
- return axios.post<FileUploadResponse>(
326
+ return http.post<FileUploadResponse>(
327
327
  `${this.baseUrl}/api/proxy/v1/files`,
328
328
  body,
329
329
  { headers: this.headers }
@@ -333,7 +333,7 @@ export class KnowhowSimpleClient {
333
333
  async downloadFile(options: FileDownloadOptions) {
334
334
  await this.checkJwt();
335
335
  const { fileId } = options;
336
- return axios.get<ArrayBuffer>(
336
+ return http.get<ArrayBuffer>(
337
337
  `${this.baseUrl}/api/proxy/v1/files/${fileId}/content`,
338
338
  { headers: this.headers, responseType: "arraybuffer" }
339
339
  );
@@ -341,7 +341,7 @@ export class KnowhowSimpleClient {
341
341
 
342
342
  async createChatTask(request: CreateMessageTaskRequest) {
343
343
  await this.checkJwt();
344
- return axios.post<CreateMessageTaskResponse>(
344
+ return http.post<CreateMessageTaskResponse>(
345
345
  `${this.baseUrl}/api/chat/tasks`,
346
346
  request,
347
347
  {
@@ -352,7 +352,7 @@ export class KnowhowSimpleClient {
352
352
 
353
353
  async updateChatTask(taskId: string, updates: UpdateOrgTaskRequest) {
354
354
  await this.checkJwt();
355
- return axios.put<UpdateOrgTaskResponse>(
355
+ return http.put<UpdateOrgTaskResponse>(
356
356
  `${this.baseUrl}/api/chat/tasks/${taskId}`,
357
357
  updates,
358
358
  {
@@ -370,7 +370,7 @@ export class KnowhowSimpleClient {
370
370
  */
371
371
  async getTaskDetails(taskId: string) {
372
372
  await this.checkJwt();
373
- return axios.get<TaskDetailsResponse>(
373
+ return http.get<TaskDetailsResponse>(
374
374
  `${this.baseUrl}/api/org-agent-tasks/${taskId}`,
375
375
  {
376
376
  headers: this.headers,
@@ -383,7 +383,7 @@ export class KnowhowSimpleClient {
383
383
  */
384
384
  async getPendingMessages(taskId: string) {
385
385
  await this.checkJwt();
386
- return axios.get<PendingMessage[]>(
386
+ return http.get<PendingMessage[]>(
387
387
  `${this.baseUrl}/api/org-agent-tasks/${taskId}/pending-messages`,
388
388
  {
389
389
  headers: this.headers,
@@ -396,7 +396,7 @@ export class KnowhowSimpleClient {
396
396
  */
397
397
  async markMessagesAsProcessed(taskId: string, messageIds: string[]) {
398
398
  await this.checkJwt();
399
- return axios.post<MarkProcessedResponse>(
399
+ return http.post<MarkProcessedResponse>(
400
400
  `${this.baseUrl}/api/org-agent-tasks/${taskId}/pending-messages/mark-processed`,
401
401
  { messageIds },
402
402
  {
@@ -414,7 +414,7 @@ export class KnowhowSimpleClient {
414
414
  role: "user" | "system" = "user"
415
415
  ) {
416
416
  await this.checkJwt();
417
- return axios.post<SendMessageResponse>(
417
+ return http.post<SendMessageResponse>(
418
418
  `${this.baseUrl}/api/org-agent-tasks/${taskId}/messages`,
419
419
  { message, role },
420
420
  {
@@ -428,7 +428,7 @@ export class KnowhowSimpleClient {
428
428
  */
429
429
  async pauseAgent(taskId: string) {
430
430
  await this.checkJwt();
431
- return axios.post<StatusResponse>(
431
+ return http.post<StatusResponse>(
432
432
  `${this.baseUrl}/api/org-agent-tasks/${taskId}/pause`,
433
433
  {},
434
434
  {
@@ -442,7 +442,7 @@ export class KnowhowSimpleClient {
442
442
  */
443
443
  async resumeAgent(taskId: string) {
444
444
  await this.checkJwt();
445
- return axios.post<StatusResponse>(
445
+ return http.post<StatusResponse>(
446
446
  `${this.baseUrl}/api/org-agent-tasks/${taskId}/resume`,
447
447
  {},
448
448
  {
@@ -464,7 +464,7 @@ export class KnowhowSimpleClient {
464
464
  */
465
465
  async killAgent(taskId: string) {
466
466
  await this.checkJwt();
467
- return axios.post<StatusResponse>(
467
+ return http.post<StatusResponse>(
468
468
  `${this.baseUrl}/api/org-agent-tasks/${taskId}/kill`,
469
469
  {},
470
470
  {
@@ -483,7 +483,7 @@ export class KnowhowSimpleClient {
483
483
  */
484
484
  async listOrgFiles() {
485
485
  await this.checkJwt();
486
- return axios.get<
486
+ return http.get<
487
487
  { id: string; fileName: string; folderPath: string; name: string }[]
488
488
  >(`${this.baseUrl}/api/org-files`, { headers: this.headers });
489
489
  }
@@ -493,7 +493,7 @@ export class KnowhowSimpleClient {
493
493
  */
494
494
  async createOrgFile(fileName: string, folderPath: string) {
495
495
  await this.checkJwt();
496
- return axios.post<{
496
+ return http.post<{
497
497
  id: string;
498
498
  fileName: string;
499
499
  folderPath: string;
@@ -510,7 +510,7 @@ export class KnowhowSimpleClient {
510
510
  */
511
511
  async getOrgFileText(fileId: string) {
512
512
  await this.checkJwt();
513
- return axios.get<string>(`${this.baseUrl}/api/org-files/${fileId}/text`, {
513
+ return http.get<string>(`${this.baseUrl}/api/org-files/${fileId}/text`, {
514
514
  headers: this.headers,
515
515
  params: { reading: "true" },
516
516
  });
@@ -521,7 +521,7 @@ export class KnowhowSimpleClient {
521
521
  */
522
522
  async updateOrgFileText(fileId: string, text: string) {
523
523
  await this.checkJwt();
524
- return axios.put(
524
+ return http.put(
525
525
  `${this.baseUrl}/api/org-files/${fileId}/text`,
526
526
  { text },
527
527
  { headers: this.headers }
@@ -590,7 +590,7 @@ export class KnowhowSimpleClient {
590
590
  }
591
591
 
592
592
  // Get download URL using the file ID
593
- const response = await axios.post<{ downloadUrl: string }>(
593
+ const response = await http.post<{ downloadUrl: string }>(
594
594
  `${this.baseUrl}/api/org-files/download/${file.id}`,
595
595
  {},
596
596
  { headers: this.headers }
@@ -609,7 +609,7 @@ export class KnowhowSimpleClient {
609
609
  throw new Error(`File not found: ${filePath}`);
610
610
  }
611
611
 
612
- await axios.post(`${this.baseUrl}/api/org-files/upload/${file.id}/complete`, {}, { headers: this.headers });
612
+ await http.post(`${this.baseUrl}/api/org-files/upload/${file.id}/complete`, {}, { headers: this.headers });
613
613
  }
614
614
 
615
615
  /**
@@ -627,7 +627,7 @@ export class KnowhowSimpleClient {
627
627
  const fileName = lastSlash >= 0 ? filePath.substring(lastSlash + 1) : filePath;
628
628
 
629
629
  // Get upload URL using the file ID
630
- const response = await axios.post<{ uploadUrl: string }>(
630
+ const response = await http.post<{ uploadUrl: string }>(
631
631
  `${this.baseUrl}/api/org-files/upload/${file.id}`,
632
632
  { fileName },
633
633
  { headers: this.headers }
@@ -641,7 +641,7 @@ export class KnowhowSimpleClient {
641
641
  */
642
642
  async getGitCredential(repo: string): Promise<GitCredentialResponse> {
643
643
  await this.checkJwt();
644
- const response = await axios.post<GitCredentialResponse>(
644
+ const response = await http.post<GitCredentialResponse>(
645
645
  `${this.baseUrl}/api/github/git-credential`,
646
646
  { repo },
647
647
  { headers: this.headers }