@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,38 +0,0 @@
1
- # Executive Summary: Downloader Plugin
2
-
3
- ## Overview
4
-
5
- The Downloader Plugin is a comprehensive tool designed to facilitate the downloading, chunking, and transcription of audio and video content from various sources. This plugin is particularly useful for users who need to process large media files, extract meaningful information, and integrate this data into chat applications or other systems.
6
-
7
- ## Key Features
8
-
9
- ### Input Detection and Resolution
10
-
11
- - **URL Input**: The plugin accepts URLs as input, specifically targeting media content from platforms like YouTube.
12
- - **File Existence Check**: Before downloading, the plugin checks if the file already exists in the specified output directory to avoid redundant downloads.
13
- - **Media Information Retrieval**: It fetches detailed information about the media content, such as file ID and extension, ensuring accurate processing.
14
-
15
- ### Contextual Enhancements
16
-
17
- - **Chunking Media Files**: The plugin can split large media files into smaller, manageable chunks. This is particularly useful for lengthy audio or video files, making them easier to process and transcribe.
18
- - **Transcription of Chunks**: Each chunk of the media file is transcribed using OpenAI's Whisper model. This transcription can then be used to add context to chats, making the content searchable and more interactive.
19
-
20
- ### Embeddings Generation
21
-
22
- - **Text Embeddings**: The transcribed text from media chunks can be used to generate embeddings. These embeddings can be integrated into chat applications to enhance search capabilities, provide summaries, or enable other advanced text processing features.
23
-
24
- ## Environment Variables
25
-
26
- To ensure the plugin functions correctly, the following environment variables must be set:
27
-
28
- - **OPENAI_KEY**: This variable is required to authenticate requests to the OpenAI API for transcription services.
29
-
30
- ## Usage Scenarios
31
-
32
- - **Content Creators**: Download and transcribe video or audio content to create searchable text archives.
33
- - **Developers**: Integrate media content into chat applications, enhancing user interaction with contextual information.
34
- - **Researchers**: Process large volumes of media data, extracting and analyzing transcriptions for insights.
35
-
36
- ## Conclusion
37
-
38
- The Downloader Plugin is a versatile tool that simplifies the process of downloading, chunking, and transcribing media content. By leveraging advanced transcription services and providing detailed media information, it adds significant value to chat applications and other systems requiring rich, contextual data. Ensure the necessary environment variables are set to fully utilize the plugin's capabilities.
@@ -1,37 +0,0 @@
1
- # Downloader Plugin Executive Summary
2
-
3
- ## Overview
4
-
5
- The Downloader Plugin is designed to enhance chat interactions by detecting and resolving URLs within user inputs. It provides additional context to chats by downloading and converting the content of the URLs into text. Furthermore, it generates embeddings from the downloaded content, which can be used for various purposes such as search, recommendation, and analysis.
6
-
7
- ## Key Features
8
-
9
- ### URL Detection and Resolution
10
- - **Input Detection**: The plugin scans user inputs for URLs using a regular expression.
11
- - **Content Download**: It attempts to download the content from the detected URLs, excluding certain file types (e.g., images like jpg, jpeg, png, gif).
12
- - **Text Conversion**: The downloaded content is converted into text, which can then be used to provide additional context in chats.
13
-
14
- ### Contextual Enhancements
15
- - **Transcript Generation**: The plugin generates a transcript of the downloaded content, which can be appended to the chat to provide more information and context.
16
- - **Error Handling**: If a URL cannot be downloaded or processed, the plugin logs the error and continues processing other URLs.
17
-
18
- ### Embedding Generation
19
- - **Minimal Embeddings**: The plugin generates minimal embeddings from the text content of the downloaded URLs. These embeddings include:
20
- - **ID**: The URL of the content.
21
- - **Text**: The converted text from the downloaded content.
22
- - **Metadata**: Additional metadata (currently empty but can be extended).
23
-
24
- ## Environment Variables
25
-
26
- The following environment variables are required for the plugin to function correctly:
27
-
28
- - **`process.env.DOWNLOAD_DIR`**: Specifies the directory where the downloaded files will be stored. Default is set to `.knowhow/downloads/`.
29
-
30
- ## Usage
31
-
32
- The Downloader Plugin can be used in various scenarios where additional context from external URLs is beneficial. For example:
33
- - **Customer Support**: Automatically fetch and display relevant documentation or resources linked in customer queries.
34
- - **Content Aggregation**: Collect and summarize information from multiple sources for research or reporting purposes.
35
- - **Knowledge Management**: Enhance internal knowledge bases by embedding content from external URLs.
36
-
37
- By integrating the Downloader Plugin, users can significantly enrich their chat interactions with relevant and contextual information derived from external sources.
@@ -1,42 +0,0 @@
1
- # Executive Summary: Audio and Video Download Plugin
2
-
3
- ## Overview
4
-
5
- This plugin is designed to facilitate the detection, resolution, and contextual enhancement of audio and video downloads. It provides a comprehensive set of features that allow users to manage and process multimedia content efficiently. The plugin is particularly useful for applications that require detailed metadata extraction, format resolution, and embedding generation for audio and video files.
6
-
7
- ## Key Features
8
-
9
- ### Input Detection and Resolution
10
-
11
- - **Audio and Video Formats**: The plugin can detect various audio and video formats, including their extensions, resolutions, bitrates, and codecs.
12
- - **Download Information**: It provides detailed information about the downloadable content, such as title, description, thumbnail, age limit, and available formats.
13
- - **Protocol and Headers**: The plugin supports different protocols and can handle HTTP headers required for downloading content.
14
-
15
- ### Contextual Enhancements
16
-
17
- - **Metadata Extraction**: Extracts comprehensive metadata from audio and video files, including subtitles, extractor details, and webpage URLs.
18
- - **Subtitles and Playlists**: Supports the extraction and management of subtitles and playlist information.
19
- - **DRM Detection**: Identifies whether the content has Digital Rights Management (DRM) protection.
20
-
21
- ### Embedding Generation
22
-
23
- - **Audio and Video Embeddings**: Generates embeddings for audio and video content, which can be used for various applications such as content recommendation, search optimization, and more.
24
- - **Format-Specific Embeddings**: Provides embeddings based on specific formats, ensuring that the content is optimized for different use cases.
25
-
26
- ## Environment Variables
27
-
28
- To ensure the plugin functions correctly, certain environment variables need to be set. These variables are crucial for configuring the plugin and enabling its features. Below are the required environment variables:
29
-
30
- - **`process.env.API_KEY`**: The API key required for accessing certain functionalities of the plugin.
31
- - **`process.env.DOWNLOAD_PATH`**: The path where downloaded content will be stored.
32
- - **`process.env.LOG_LEVEL`**: The level of logging detail (e.g., `info`, `debug`, `error`).
33
-
34
- ## Usage
35
-
36
- This plugin can be integrated into applications that require robust audio and video processing capabilities. It is particularly useful for:
37
-
38
- - **Content Management Systems (CMS)**: Enhancing multimedia content with detailed metadata and embeddings.
39
- - **Media Players**: Providing rich context and format resolution for better playback experience.
40
- - **Data Analysis Tools**: Extracting and analyzing multimedia content for insights and trends.
41
-
42
- By leveraging this plugin, users can significantly improve the efficiency and effectiveness of their multimedia content management and processing workflows.
@@ -1,41 +0,0 @@
1
- # Executive Summary: Embedding Plugin
2
-
3
- ## Overview
4
-
5
- The Embedding Plugin is designed to enhance chat interactions by detecting and resolving user prompts, adding relevant context to conversations, and generating sophisticated embeddings. This plugin is particularly useful for applications that require contextual understanding and retrieval of information from a knowledge base.
6
-
7
- ## Key Features
8
-
9
- ### Input Detection and Resolution
10
-
11
- - **User Prompt Handling**: The plugin is capable of detecting user prompts and processing them to retrieve relevant information.
12
- - **Contextual Responses**: By analyzing the user input, the plugin can provide contextually appropriate responses, enhancing the overall user experience.
13
-
14
- ### Context Addition
15
-
16
- - **Knowledge Base Integration**: The plugin integrates with a pre-configured knowledge base to fetch relevant information.
17
- - **Contextual Embedding**: It adds extra context to chats by retrieving and presenting the most relevant pieces of information from the knowledge base.
18
- - **Response Formatting**: The plugin formats the retrieved information into a coherent response that can be easily understood by the user.
19
-
20
- ### Embedding Generation
21
-
22
- - **Configured Embeddings**: The plugin utilizes pre-configured embeddings to process and understand user prompts.
23
- - **Query Embedding**: It queries the embeddings to find the most relevant information that matches the user prompt.
24
- - **Result Presentation**: The plugin presents the top results, excluding the vector data, to provide a clean and concise response.
25
-
26
- ## Environment Variables
27
-
28
- To ensure the proper functioning of the Embedding Plugin, certain environment variables need to be set. These variables are crucial for configuring the embeddings and querying the knowledge base. The required environment variables include:
29
-
30
- - **EMBEDDING_API_KEY**: This variable is used to authenticate and access the embedding service.
31
- - **KNOWLEDGE_BASE_URL**: This variable specifies the URL of the knowledge base that the plugin will query for information.
32
-
33
- ## Usage
34
-
35
- The Embedding Plugin can be used in various applications where contextual understanding and information retrieval are essential. It is particularly useful in:
36
-
37
- - **Customer Support**: Enhancing automated responses by providing relevant information from a knowledge base.
38
- - **Virtual Assistants**: Improving the accuracy and relevance of responses by adding contextual information.
39
- - **Educational Tools**: Assisting in providing detailed and contextually appropriate answers to user queries.
40
-
41
- By integrating the Embedding Plugin, applications can significantly improve their interaction quality, providing users with more accurate and contextually relevant information.
@@ -1,45 +0,0 @@
1
- # Figma Plugin Executive Summary
2
-
3
- ## Overview
4
-
5
- The Figma Plugin is designed to enhance user interactions by integrating Figma file data into chat environments. It detects and resolves Figma file URLs from user prompts, fetches relevant data from these files, and provides enriched context to the chat. Additionally, it generates embeddings based on the extracted Figma data, which can be used for various downstream applications such as search, recommendation, and more.
6
-
7
- ## Key Features
8
-
9
- ### Input Detection and Resolution
10
-
11
- - **URL Extraction**: The plugin identifies Figma file URLs embedded within user prompts.
12
- - **Data Fetching**: It retrieves detailed information from the specified Figma files, including images, components, styles, and more.
13
- - **Error Handling**: The plugin gracefully handles errors during data fetching, ensuring robust performance.
14
-
15
- ### Context Enrichment
16
-
17
- - **Image Descriptions**: By leveraging AI (e.g., GPT Vision), the plugin generates descriptive text for images found within Figma files. This provides users with a richer understanding of the visual content.
18
- - **Structured Data**: The plugin formats and presents Figma data in a structured manner, making it easier for users to comprehend and utilize the information.
19
-
20
- ### Embedding Generation
21
-
22
- - **Minimal Embeddings**: The plugin creates minimal embeddings from the Figma data, which include:
23
- - **ID**: Unique identifier for the Figma file.
24
- - **Text**: A JSON string representation of the Figma data.
25
- - **Metadata**: Additional metadata associated with the Figma file.
26
-
27
- These embeddings can be used for various purposes, such as improving search relevance, enhancing recommendations, and more.
28
-
29
- ## Environment Variables
30
-
31
- To function correctly, the Figma Plugin requires the following environment variable to be set:
32
-
33
- - **FIGMA_API_KEY**: This is the personal access token used to authenticate requests to the Figma API. It must be set in the environment where the plugin is running.
34
-
35
- ## Usage
36
-
37
- The Figma Plugin can be integrated into chat applications to provide users with enhanced interactions involving Figma files. Here’s how it can be used:
38
-
39
- 1. **Detect Figma URLs**: The plugin scans user prompts for Figma file URLs.
40
- 2. **Fetch Figma Data**: It retrieves data from the identified Figma files, including images and other relevant components.
41
- 3. **Generate Descriptions**: Using AI, the plugin generates descriptive text for images within the Figma files.
42
- 4. **Embed Data**: It creates minimal embeddings from the Figma data, which can be used for various downstream applications.
43
- 5. **Enrich Chat Context**: The plugin adds enriched context to the chat, providing users with detailed information about the Figma files.
44
-
45
- By integrating this plugin, chat applications can offer users a more interactive and informative experience when dealing with Figma files.
@@ -1,40 +0,0 @@
1
- # GitHub Plugin Executive Summary
2
-
3
- ## Overview
4
-
5
- The GitHub Plugin is designed to enhance chat interactions by detecting and resolving GitHub pull request URLs within user prompts. It provides additional context by embedding detailed information about the changes in the pull requests. This plugin is particularly useful for teams and individuals who frequently discuss code changes and need quick access to the specifics of those changes.
6
-
7
- ## Key Features
8
-
9
- ### Input Detection and Resolution
10
-
11
- - **Pull Request URL Detection**: The plugin scans user prompts for GitHub pull request URLs. It uses a regex pattern to identify URLs that match the format `https://github.com/{owner}/{repo}/pull/{pull_number}`.
12
- - **Diff Retrieval**: Once a pull request URL is detected, the plugin retrieves the diff associated with that pull request. This includes all the changes made in the pull request, formatted as a diff.
13
-
14
- ### Contextual Enhancements
15
-
16
- - **Parsed Diffs**: The plugin parses the diffs to filter out large changes, ensuring that only manageable and relevant changes are included. This helps in focusing on the most significant parts of the pull request.
17
- - **Formatted Output**: The diffs are formatted in a readable manner, often in Markdown, making it easy to understand the changes directly within the chat interface.
18
-
19
- ### Embeddings
20
-
21
- - **Minimal Embeddings**: The plugin generates minimal embeddings for the detected pull request URLs. Each embedding includes:
22
- - **ID**: The URL of the pull request.
23
- - **Text**: A JSON string representation of the parsed diff.
24
- - **Metadata**: Additional metadata, if any, associated with the diff.
25
-
26
- ## Environment Variables
27
-
28
- To function correctly, the GitHub Plugin requires the following environment variable to be set:
29
-
30
- - **GITHUB_TOKEN**: This is a personal access token used to authenticate with the GitHub API. It must be set in the environment where the plugin is running. The token should have sufficient permissions to read pull request data from the repositories of interest.
31
-
32
- ## Usage
33
-
34
- The GitHub Plugin can be used in various scenarios, including:
35
-
36
- - **Code Reviews**: Automatically expand pull request URLs in chat to show the changes, facilitating quick reviews and discussions.
37
- - **Team Collaboration**: Enhance team communication by providing immediate context about code changes without leaving the chat interface.
38
- - **Automated Reporting**: Generate summaries of pull request changes for reporting purposes or automated notifications.
39
-
40
- By integrating this plugin, users can streamline their workflow, reduce context-switching, and improve the efficiency of code-related discussions.
@@ -1,46 +0,0 @@
1
- # Jira Plugin Executive Summary
2
-
3
- ## Overview
4
-
5
- The Jira Plugin is designed to enhance chat interactions by detecting and resolving Jira issue URLs within user prompts. It provides additional context to chats by embedding detailed information about the referenced Jira issues. This plugin is particularly useful for teams that rely on Jira for project management and need to quickly access and share issue details within their communication channels.
6
-
7
- ## Key Features
8
-
9
- ### Input Detection and Resolution
10
-
11
- - **URL Extraction**: The plugin scans user prompts for Jira issue URLs based on a predefined pattern.
12
- - **Issue Retrieval**: It fetches detailed information about the identified Jira issues using the Jira API.
13
- - **Error Handling**: The plugin gracefully handles errors during the issue retrieval process, ensuring that the chat experience remains smooth even if some issues cannot be fetched.
14
-
15
- ### Contextual Enhancements
16
-
17
- - **Issue Embedding**: The plugin generates embeddings for the detected Jira issues, which include the issue ID, a JSON representation of the issue details, and metadata.
18
- - **Chat Augmentation**: It enriches chat conversations by providing a structured summary of the Jira issues, including the issue key, summary, URL, and description.
19
-
20
- ### Embedding Generation
21
-
22
- - **Minimal Embedding**: The plugin creates minimal embeddings that encapsulate essential information about each Jira issue. These embeddings can be used to provide quick references or to integrate with other systems that require issue data.
23
-
24
- ## Environment Variables
25
-
26
- To function correctly, the Jira Plugin requires the following environment variables to be set:
27
-
28
- - **JIRA_HOST**: The host URL of the Jira instance.
29
- - **JIRA_USER**: The username for authenticating with the Jira API.
30
- - **JIRA_PASSWORD**: The password for authenticating with the Jira API.
31
-
32
- These environment variables ensure secure and authenticated access to the Jira instance, allowing the plugin to fetch issue details as needed.
33
-
34
- ## Usage
35
-
36
- The Jira Plugin can be integrated into chat systems to automatically detect and resolve Jira issue URLs. When a user includes a Jira issue URL in their message, the plugin will:
37
-
38
- 1. Extract the URL and identify the corresponding Jira issue.
39
- 2. Fetch detailed information about the issue from the Jira API.
40
- 3. Embed the issue details into the chat, providing a concise summary that includes the issue key, summary, URL, and description.
41
-
42
- This functionality allows team members to quickly access and share relevant Jira issue information without leaving their chat environment, thereby improving productivity and collaboration.
43
-
44
- ## Conclusion
45
-
46
- The Jira Plugin is a powerful tool for teams that use Jira for project management. By automatically detecting and resolving Jira issue URLs and embedding detailed issue information into chats, it enhances communication and ensures that team members have quick access to the information they need. Setting the required environment variables ensures secure and seamless integration with your Jira instance.
@@ -1,37 +0,0 @@
1
- # Language Plugin Executive Summary
2
-
3
- ## Overview
4
-
5
- The Language Plugin is designed to enhance user interactions by detecting specific terms within user prompts and providing additional context to enrich the conversation. This plugin integrates with various other plugins and sources to gather relevant information, ensuring that responses are well-informed and contextually accurate.
6
-
7
- ## Key Features
8
-
9
- ### Input Detection and Resolution
10
-
11
- - **Term Detection**: The plugin scans user prompts for specific terms defined in a language configuration file.
12
- - **Contextual Expansion**: Upon detecting these terms, the plugin retrieves relevant information from various sources, including files and other integrated plugins.
13
-
14
- ### Context Addition
15
-
16
- - **File Content Retrieval**: The plugin reads and includes content from specified files that are relevant to the detected terms.
17
- - **Textual Data Inclusion**: It also incorporates predefined textual data associated with the detected terms.
18
- - **Plugin Integration**: The plugin can call other integrated plugins (e.g., GitHub, Asana, Jira, Linear) to fetch additional context, ensuring a comprehensive response.
19
-
20
- ### Embeddings Generation
21
-
22
- - **Contextual Embeddings**: Although the primary function is to add context, the plugin can generate embeddings based on the user prompt and the gathered contextual information. These embeddings can be used to further refine responses or for other analytical purposes.
23
-
24
- ## Environment Variables
25
-
26
- To function correctly, the Language Plugin requires the following environment variables to be set:
27
-
28
- - **`process.env.CONFIG_PATH`**: Path to the main configuration file.
29
- - **`process.env.LANGUAGE_CONFIG_PATH`**: Path to the language-specific configuration file.
30
-
31
- These environment variables ensure that the plugin can access the necessary configuration files to detect terms and gather relevant context.
32
-
33
- ## Usage
34
-
35
- The Language Plugin can be used in any application where enhanced, contextually aware responses are needed. It is particularly useful in customer support, virtual assistants, and any interactive system where understanding and responding to user queries accurately is crucial.
36
-
37
- By integrating with other plugins and sources, the Language Plugin ensures that responses are not only relevant but also enriched with additional information, providing a more comprehensive and satisfying user experience.
@@ -1,35 +0,0 @@
1
- # Linear Plugin Executive Summary
2
-
3
- ## Overview
4
-
5
- The Linear Plugin is designed to enhance chat interactions by detecting and resolving Linear issue URLs within user prompts. It provides additional context to chats by embedding detailed information about the referenced Linear issues. This plugin is particularly useful for teams using Linear for project management, as it allows seamless integration of issue tracking data into chat environments.
6
-
7
- ## Key Features
8
-
9
- ### Input Detection and Resolution
10
-
11
- - **URL Extraction**: The plugin scans user prompts for Linear issue URLs. It uses a regex pattern to identify URLs that match the Linear issue format.
12
- - **Issue Data Retrieval**: For each detected URL, the plugin fetches detailed information about the corresponding Linear issue, including its identifier, title, URL, and description.
13
-
14
- ### Contextual Enhancements
15
-
16
- - **Issue Embedding**: The plugin generates embeddings for each detected Linear issue. These embeddings include:
17
- - **ID**: The URL of the issue.
18
- - **Text**: A formatted string containing the issue's identifier, title, URL, and description.
19
- - **Metadata**: Additional metadata (currently empty but can be extended).
20
-
21
- ### Embedding Generation
22
-
23
- - **Minimal Embedding**: The plugin creates minimal embeddings that encapsulate essential information about each Linear issue. These embeddings can be used to enrich chat interactions with relevant issue details, making it easier for team members to discuss and resolve issues directly within the chat environment.
24
-
25
- ## Environment Variables
26
-
27
- To function correctly, the Linear Plugin requires the following environment variable to be set:
28
-
29
- - **LINEAR_API_KEY**: This API key is used to authenticate requests to the Linear API. Ensure that this environment variable is set with a valid Linear API key before using the plugin.
30
-
31
- ## Usage
32
-
33
- The Linear Plugin can be integrated into chat applications to provide real-time issue tracking and context. When a user includes a Linear issue URL in their message, the plugin automatically detects the URL, retrieves the issue details, and embeds the information into the chat. This allows team members to quickly access and discuss relevant issue details without leaving the chat environment.
34
-
35
- By leveraging the Linear Plugin, teams can improve their workflow efficiency, enhance communication, and maintain better visibility over their project management tasks directly within their chat applications.
@@ -1,38 +0,0 @@
1
- # Notion Plugin Executive Summary
2
-
3
- ## Overview
4
-
5
- The Notion Plugin is designed to enhance chat interactions by integrating Notion content directly into conversations. It detects Notion URLs within user inputs, retrieves the corresponding Notion pages and their child blocks, and generates embeddings that can be used to provide additional context in chats. This plugin is particularly useful for users who frequently reference Notion documents and wish to seamlessly incorporate their content into discussions.
6
-
7
- ## Key Features
8
-
9
- ### Input Detection and Resolution
10
-
11
- - **URL Extraction**: The plugin scans user inputs for Notion URLs using a regular expression pattern. It identifies and extracts URLs that point to Notion pages.
12
- - **Page Retrieval**: For each detected URL, the plugin retrieves the corresponding Notion page and its child blocks. This includes handling nested blocks up to a specified depth.
13
-
14
- ### Contextual Enhancements
15
-
16
- - **Content Embedding**: The plugin generates embeddings from the retrieved Notion pages and their child blocks. These embeddings include the text content and metadata, which can be used to enrich chat interactions with relevant information from Notion.
17
- - **Hierarchical Data Handling**: The plugin processes hierarchical data structures within Notion pages, ensuring that nested blocks and child pages are included in the embeddings.
18
-
19
- ### Embedding Generation
20
-
21
- - **Minimal Embeddings**: The plugin creates minimal embeddings that encapsulate the essential content and metadata of Notion pages and blocks. These embeddings are structured to facilitate easy integration into chat systems.
22
- - **Comprehensive Data**: The embeddings include text content extracted from various block types within Notion, ensuring a comprehensive representation of the page's information.
23
-
24
- ## Environment Variables
25
-
26
- To function correctly, the Notion Plugin requires the following environment variable to be set:
27
-
28
- - **NOTION_TOKEN**: This token is used to authenticate requests to the Notion API. It must be set in the environment where the plugin is running.
29
-
30
- ## Usage
31
-
32
- The Notion Plugin can be used in various scenarios where integrating Notion content into chat interactions is beneficial. For example:
33
-
34
- - **Customer Support**: Support agents can quickly reference and share relevant Notion documentation with customers during chat sessions.
35
- - **Team Collaboration**: Team members can embed and discuss specific Notion pages within chat platforms, facilitating more informed and context-rich conversations.
36
- - **Knowledge Management**: Users can pull in detailed information from Notion pages to answer questions or provide explanations in chat environments.
37
-
38
- By leveraging the Notion Plugin, users can enhance their chat interactions with rich, contextual information from their Notion workspace, improving communication efficiency and effectiveness.
@@ -1,59 +0,0 @@
1
- # Plugin Service Executive Summary
2
-
3
- ## Overview
4
-
5
- The Plugin Service is a comprehensive system designed to enhance chat interactions by detecting and resolving various types of inputs, adding contextual information, and generating embeddings. This service integrates multiple specialized plugins, each contributing unique functionalities to improve user experience and productivity.
6
-
7
- ## Input Detection and Resolution
8
-
9
- The Plugin Service is capable of detecting and resolving a wide range of inputs through its diverse set of plugins. Each plugin is tailored to handle specific types of data and interactions:
10
-
11
- - **VimPlugin**: Enhances text editing capabilities with Vim-like commands.
12
- - **GitHubPlugin**: Manages GitHub repositories, issues, and pull requests.
13
- - **AsanaPlugin**: Integrates with Asana for task and project management.
14
- - **LinearPlugin**: Connects with Linear for issue tracking and project management.
15
- - **JiraPlugin**: Interfaces with Jira for comprehensive project tracking.
16
- - **NotionPlugin**: Syncs with Notion for note-taking and project organization.
17
- - **DownloaderPlugin**: Facilitates downloading of files and resources.
18
- - **FigmaPlugin**: Integrates with Figma for design collaboration.
19
- - **LanguagePlugin**: Provides language processing capabilities.
20
- - **EmbeddingPlugin**: Generates embeddings for various types of data.
21
-
22
- ## Contextual Enhancements
23
-
24
- The Plugin Service adds valuable context to chat interactions by leveraging the capabilities of its integrated plugins. For example:
25
-
26
- - **GitHubPlugin** can provide context about recent commits, open issues, and pull requests.
27
- - **AsanaPlugin** and **LinearPlugin** can offer insights into task statuses and project timelines.
28
- - **JiraPlugin** can deliver updates on project progress and issue resolutions.
29
- - **NotionPlugin** can share notes and project documentation.
30
- - **FigmaPlugin** can present design updates and feedback.
31
-
32
- These contextual enhancements ensure that users have access to relevant information directly within their chat environment, streamlining workflows and improving decision-making.
33
-
34
- ## Embedding Generation
35
-
36
- The Plugin Service supports the generation of embeddings through the **EmbeddingPlugin**. Embeddings are vector representations of data that can be used for various purposes, such as:
37
-
38
- - **Text Embeddings**: Representing textual data in a numerical format for natural language processing tasks.
39
- - **Image Embeddings**: Converting visual data into vectors for image recognition and analysis.
40
- - **Custom Embeddings**: Generating embeddings for domain-specific data to enhance search and recommendation systems.
41
-
42
- These embeddings enable advanced data processing and machine learning applications, making the Plugin Service a powerful tool for data-driven tasks.
43
-
44
- ## Environment Variables
45
-
46
- To ensure the proper functioning of the Plugin Service, certain environment variables need to be set. These variables are used to configure the plugins and provide necessary credentials and settings. The required environment variables include:
47
-
48
- - **GITHUB_TOKEN**: Required for the **GitHubPlugin** to authenticate and interact with GitHub APIs.
49
- - **ASANA_TOKEN**: Required for the **AsanaPlugin** to access Asana's API.
50
- - **LINEAR_API_KEY**: Required for the **LinearPlugin** to connect with Linear's services.
51
- - **JIRA_API_TOKEN**: Required for the **JiraPlugin** to authenticate with Jira.
52
- - **NOTION_API_KEY**: Required for the **NotionPlugin** to interact with Notion's API.
53
- - **FIGMA_API_KEY**: Required for the **FigmaPlugin** to access Figma's API.
54
-
55
- These environment variables should be set in the system where the Plugin Service is deployed to ensure seamless integration and functionality.
56
-
57
- ## Conclusion
58
-
59
- The Plugin Service is a versatile and powerful system that enhances chat interactions by detecting and resolving various inputs, adding contextual information, and generating embeddings. By integrating with multiple specialized plugins, it provides a comprehensive solution for improving productivity and user experience in chat environments. Proper configuration of environment variables is essential for the optimal performance of the service.
@@ -1,51 +0,0 @@
1
- # Executive Summary: Chat Enhancement Plugin
2
-
3
- ## Overview
4
-
5
- The Chat Enhancement Plugin is designed to augment chat interactions by detecting and resolving specific types of user inputs, adding valuable context to conversations, and generating various types of embeddings. This plugin is particularly useful for applications that require advanced text processing, contextual understanding, and semantic embedding capabilities.
6
-
7
- ## Key Features
8
-
9
- ### Input Detection and Resolution
10
-
11
- The plugin is capable of detecting and resolving a wide range of user inputs. This includes, but is not limited to:
12
-
13
- - **Natural Language Queries:** The plugin can interpret and respond to user questions and commands.
14
- - **Contextual Prompts:** It can understand and provide relevant information based on the context of the conversation.
15
- - **Data Extraction:** The plugin can identify and extract key pieces of information from user inputs.
16
-
17
- ### Contextual Enhancements
18
-
19
- One of the standout features of this plugin is its ability to add extra context to chats. This includes:
20
-
21
- - **Contextual Responses:** The plugin can generate responses that are contextually relevant to the ongoing conversation.
22
- - **Information Augmentation:** It can provide additional information that enhances the user's understanding of the topic being discussed.
23
- - **Dynamic Context Updates:** The plugin can dynamically update the context as the conversation progresses, ensuring that responses remain relevant.
24
-
25
- ### Embedding Generation
26
-
27
- The plugin supports the generation of various types of embeddings, which are essential for tasks such as semantic search, recommendation systems, and more. The types of embeddings it can generate include:
28
-
29
- - **Minimal Embeddings:** These are lightweight embeddings that capture the essential semantics of the user input.
30
- - **Contextual Embeddings:** These embeddings take into account the context of the conversation, providing a richer representation of the input.
31
-
32
- ## Environment Variables
33
-
34
- To ensure the plugin functions correctly, certain environment variables need to be set. These variables are used to configure the plugin and provide necessary credentials or settings. The required environment variables include:
35
-
36
- - **API_KEY:** This variable should be set to the API key provided by the service the plugin interacts with. It is essential for authenticating requests.
37
- - **ENVIRONMENT:** This variable specifies the environment in which the plugin is running (e.g., 'development', 'production') and can affect how the plugin behaves.
38
-
39
- ## Usage
40
-
41
- The Chat Enhancement Plugin can be integrated into various applications to improve user interactions. It is particularly useful for:
42
-
43
- - **Customer Support Systems:** Enhancing automated responses and providing relevant information to customer queries.
44
- - **Virtual Assistants:** Improving the contextual understanding and response generation of virtual assistants.
45
- - **Content Recommendation:** Generating embeddings that can be used to recommend relevant content based on user inputs.
46
-
47
- By leveraging this plugin, developers can create more intelligent and responsive chat systems that provide a better user experience.
48
-
49
- ---
50
-
51
- This executive summary provides a high-level overview of the Chat Enhancement Plugin, focusing on its key features, required environment variables, and potential use cases. For detailed implementation and integration instructions, please refer to the full documentation.
@@ -1,39 +0,0 @@
1
- # Vim Plugin Executive Summary
2
-
3
- ## Overview
4
-
5
- The Vim Plugin is designed to enhance the functionality of chat applications by detecting and resolving Vim swap files. It provides additional context to chats by identifying which files are currently open in Vim and retrieving their contents. This plugin is particularly useful for developers who frequently use Vim as their text editor and need to keep track of their open files within a collaborative environment.
6
-
7
- ## Key Features
8
-
9
- ### Input Detection and Resolution
10
-
11
- - **Vim Swap Files**: The plugin scans the file system for Vim swap files (`*.swp`). These files are temporary files created by Vim to store changes made to a file that is currently being edited.
12
- - **Source Path Resolution**: For each detected swap file, the plugin attempts to resolve the original source file path. It checks both the standard file path and the hidden dot file path to ensure accurate resolution.
13
-
14
- ### Context Addition to Chats
15
-
16
- - **File Status**: The plugin provides detailed information about the status of each file, including whether the file exists, if it is a directory, or if it is too large to be processed.
17
- - **File Contents**: For existing files, the plugin reads and returns the file contents, adding valuable context to chats about what files are currently being edited in Vim.
18
-
19
- ### Embeddings
20
-
21
- - **Empty Embeddings**: Currently, the plugin's `embed` function returns an empty array. This indicates that the plugin does not generate any specific embeddings for the detected files at this time.
22
-
23
- ## Environment Variables
24
-
25
- The following environment variables are required for the plugin to function correctly:
26
-
27
- - **None**: The current implementation of the Vim Plugin does not require any environment variables to be set. All necessary configurations and paths are handled internally within the plugin.
28
-
29
- ## Usage
30
-
31
- The Vim Plugin can be integrated into chat applications to provide real-time updates on files being edited in Vim. This can be particularly useful in collaborative development environments where team members need to stay informed about each other's work. By detecting Vim swap files and resolving their source paths, the plugin ensures that users have access to the most up-to-date information about their open files.
32
-
33
- ### Example Use Cases
34
-
35
- - **Collaborative Coding**: Team members can see which files are currently being edited in Vim, helping to avoid conflicts and improve coordination.
36
- - **Code Reviews**: Reviewers can access the latest changes made to files directly from the chat, streamlining the review process.
37
- - **Debugging Sessions**: Developers can quickly identify which files are being modified during debugging, making it easier to track changes and resolve issues.
38
-
39
- In summary, the Vim Plugin enhances chat applications by providing real-time insights into files being edited in Vim, adding valuable context to collaborative development efforts.
@@ -1 +0,0 @@
1
- This function allows an AI agent to add new internal tools (functions) to its existing set of tools. It also enables the AI to call multiple tools in parallel by adding a special function (`multi_tool_use.parallel`) that can execute several tools at the same time and return their results together.
@@ -1 +0,0 @@
1
- This function allows an AI agent to receive a name and user input, then use a service to process or respond to that input.
@@ -1,10 +0,0 @@
1
- This function set allows an AI agent to manage tasks in Asana. It can:
2
-
3
- 1. **Create tasks** in a project.
4
- 2. **Update existing tasks** with new information.
5
- 3. **Search for tasks** using keywords.
6
- 4. **List all projects** in Asana.
7
- 5. **Find specific tasks** by their ID.
8
- 6. **Retrieve tasks assigned to the user** that are not completed.
9
- 7. **Get subtasks** for a specific task.
10
- 8. **Create subtasks** under a parent task.
@@ -1,12 +0,0 @@
1
- This function enables an AI agent to interact with Asana, a project management tool. Specifically, it allows the AI to:
2
-
3
- 1. **Create Tasks**: Add new tasks to a project.
4
- 2. **Update Tasks**: Modify existing tasks.
5
- 3. **Search Tasks**: Find tasks based on a search term.
6
- 4. **Find Specific Tasks**: Retrieve details of a specific task by its ID.
7
- 5. **Get Subtasks**: List subtasks of a given task.
8
- 6. **Create Subtasks**: Add subtasks to an existing task.
9
- 7. **List My Tasks**: Retrieve tasks assigned to the AI's user.
10
- 8. **List Projects**: Get a list of all projects in the workspace.
11
-
12
- This makes the AI capable of managing tasks and projects within Asana.
@@ -1 +0,0 @@
1
- This function allows an AI agent to ask a human a question. It displays the question in a formatted way and then waits for the human to respond.
@@ -1 +0,0 @@
1
- This function allows an AI agent to use a specific plugin to process user input. It takes the name of the plugin and the user's input, then calls the plugin to get a result.
@@ -1 +0,0 @@
1
- This function helps an AI agent find files related to a user's goal by searching for keywords. It uses a plugin to perform the search and returns the results.
@@ -1 +0,0 @@
1
- This function allows an AI agent to run commands in the system's command line and get the results.
@@ -1 +0,0 @@
1
- This function helps an AI agent find files on a computer that contain a specific search term in their names. It converts the search term to lowercase, creates a search command, and runs it to locate matching files.
@@ -1 +0,0 @@
1
- This function allows an AI agent to complete its task and give the final answer back to the user.
@@ -1,6 +0,0 @@
1
- This function allows an AI agent to:
2
-
3
- 1. **Fetch a pull request** from GitHub using a URL.
4
- 2. **Get build statuses** for a pull request using a URL.
5
- 3. **Retrieve run logs** for a specific GitHub Actions run by providing the run ID, repository owner, and repository name.
6
- 4. **Fetch build failure logs** for a pull request using a URL.