@tyvm/knowhow 0.0.90 → 0.0.92

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 (272) hide show
  1. package/.depcheckrc +30 -0
  2. package/bin/knowhow.js +1 -1
  3. package/package.json +8 -34
  4. package/src/agents/configurable/ConfigAgent.ts +2 -2
  5. package/src/agents/tools/executeScript/index.ts +5 -0
  6. package/src/agents/tools/googleSearch.ts +2 -2
  7. package/src/agents/tools/index.ts +0 -3
  8. package/src/agents/tools/list.ts +0 -147
  9. package/src/agents/tools/loadWebpage.ts +3 -113
  10. package/src/auth/browserLogin.ts +10 -13
  11. package/src/chat/modules/AgentModule.ts +0 -1
  12. package/src/chat/types.ts +1 -1
  13. package/src/cli.ts +63 -3
  14. package/src/clients/gemini.ts +96 -25
  15. package/src/clients/http.ts +7 -11
  16. package/src/clients/pricing/google.ts +122 -26
  17. package/src/conversion.ts +24 -54
  18. package/src/index.ts +15 -20
  19. package/src/login.ts +5 -6
  20. package/src/plugins/language.ts +0 -4
  21. package/src/plugins/plugins.ts +0 -14
  22. package/src/plugins/url.ts +31 -12
  23. package/src/services/EmbeddingsService.ts +70 -0
  24. package/src/services/KnowhowClient.ts +34 -34
  25. package/src/{plugins/downloader/downloader.ts → services/MediaProcessorService.ts} +109 -267
  26. package/src/services/S3.ts +19 -87
  27. package/src/services/index.ts +8 -8
  28. package/src/services/modules/index.ts +12 -3
  29. package/src/services/modules/types.ts +8 -2
  30. package/src/services/script-execution/ScriptExecutor.ts +29 -10
  31. package/src/services/script-execution/ScriptPolicy.ts +6 -2
  32. package/src/types.ts +1 -0
  33. package/src/utils/http.ts +127 -0
  34. package/src/workers/auth/PasskeySetup.ts +7 -11
  35. package/tests/clients/AIClient.test.ts +24 -21
  36. package/tests/manual/file-edits/figma.test.ts +3 -70
  37. package/tests/plugins/language/languagePlugin-content-triggers.test.ts +2 -0
  38. package/tests/plugins/language/languagePlugin.test.ts +2 -0
  39. package/tests/processors/ToolResponseCache.test.ts +2 -2
  40. package/tests/test.spec.ts +0 -14
  41. package/tests/unit/modules/moduleLoading.test.ts +12 -4
  42. package/tests/unit/plugins/pluginLoading.test.ts +6 -6
  43. package/ts_build/package.json +8 -34
  44. package/ts_build/src/agents/tools/ast/astAppendNode.d.ts +1 -1
  45. package/ts_build/src/agents/tools/ast/astAppendNode.js +2 -90
  46. package/ts_build/src/agents/tools/ast/astAppendNode.js.map +1 -1
  47. package/ts_build/src/agents/tools/ast/astDeleteNode.d.ts +1 -1
  48. package/ts_build/src/agents/tools/ast/astDeleteNode.js +2 -88
  49. package/ts_build/src/agents/tools/ast/astDeleteNode.js.map +1 -1
  50. package/ts_build/src/agents/tools/ast/astEditNode.d.ts +1 -1
  51. package/ts_build/src/agents/tools/ast/astEditNode.js +2 -90
  52. package/ts_build/src/agents/tools/ast/astEditNode.js.map +1 -1
  53. package/ts_build/src/agents/tools/ast/astGetPathForLine.d.ts +1 -1
  54. package/ts_build/src/agents/tools/ast/astGetPathForLine.js +2 -72
  55. package/ts_build/src/agents/tools/ast/astGetPathForLine.js.map +1 -1
  56. package/ts_build/src/agents/tools/ast/astListPaths.d.ts +1 -1
  57. package/ts_build/src/agents/tools/ast/astListPaths.js +2 -72
  58. package/ts_build/src/agents/tools/ast/astListPaths.js.map +1 -1
  59. package/ts_build/src/agents/tools/executeScript/index.d.ts +3 -2
  60. package/ts_build/src/agents/tools/executeScript/index.js +4 -1
  61. package/ts_build/src/agents/tools/executeScript/index.js.map +1 -1
  62. package/ts_build/src/agents/tools/googleSearch.js +2 -2
  63. package/ts_build/src/agents/tools/googleSearch.js.map +1 -1
  64. package/ts_build/src/agents/tools/index.d.ts +0 -3
  65. package/ts_build/src/agents/tools/index.js +0 -3
  66. package/ts_build/src/agents/tools/index.js.map +1 -1
  67. package/ts_build/src/agents/tools/list.js +0 -138
  68. package/ts_build/src/agents/tools/list.js.map +1 -1
  69. package/ts_build/src/agents/tools/loadWebpage.js +1 -89
  70. package/ts_build/src/agents/tools/loadWebpage.js.map +1 -1
  71. package/ts_build/src/agents/tools/textSearch.d.ts +1 -1
  72. package/ts_build/src/auth/browserLogin.js +7 -7
  73. package/ts_build/src/auth/browserLogin.js.map +1 -1
  74. package/ts_build/src/chat/modules/AgentModule.js.map +1 -1
  75. package/ts_build/src/chat/types.d.ts +1 -1
  76. package/ts_build/src/cli.d.ts +1 -1
  77. package/ts_build/src/cli.js +47 -1
  78. package/ts_build/src/cli.js.map +1 -1
  79. package/ts_build/src/clients/gemini.d.ts +1 -73
  80. package/ts_build/src/clients/gemini.js +57 -19
  81. package/ts_build/src/clients/gemini.js.map +1 -1
  82. package/ts_build/src/clients/http.js +5 -9
  83. package/ts_build/src/clients/http.js.map +1 -1
  84. package/ts_build/src/clients/pricing/google.d.ts +17 -73
  85. package/ts_build/src/clients/pricing/google.js +47 -10
  86. package/ts_build/src/clients/pricing/google.js.map +1 -1
  87. package/ts_build/src/conversion.d.ts +1 -4
  88. package/ts_build/src/conversion.js +12 -27
  89. package/ts_build/src/conversion.js.map +1 -1
  90. package/ts_build/src/index.d.ts +4 -0
  91. package/ts_build/src/index.js +15 -14
  92. package/ts_build/src/index.js.map +1 -1
  93. package/ts_build/src/login.js +5 -4
  94. package/ts_build/src/login.js.map +1 -1
  95. package/ts_build/src/plugins/downloader/downloader.js +3 -3
  96. package/ts_build/src/plugins/downloader/downloader.js.map +1 -1
  97. package/ts_build/src/plugins/language.js.map +1 -1
  98. package/ts_build/src/plugins/plugins.js +0 -14
  99. package/ts_build/src/plugins/plugins.js.map +1 -1
  100. package/ts_build/src/plugins/tree-sitter/editor.d.ts +3 -32
  101. package/ts_build/src/plugins/tree-sitter/editor.js +6 -208
  102. package/ts_build/src/plugins/tree-sitter/editor.js.map +1 -1
  103. package/ts_build/src/plugins/tree-sitter/parser.d.ts +19 -54
  104. package/ts_build/src/plugins/tree-sitter/parser.js +19 -293
  105. package/ts_build/src/plugins/tree-sitter/parser.js.map +1 -1
  106. package/ts_build/src/plugins/tree-sitter/simple-paths.d.ts +2 -15
  107. package/ts_build/src/plugins/tree-sitter/simple-paths.js +2 -324
  108. package/ts_build/src/plugins/tree-sitter/simple-paths.js.map +1 -1
  109. package/ts_build/src/plugins/url.js +27 -8
  110. package/ts_build/src/plugins/url.js.map +1 -1
  111. package/ts_build/src/services/EmbeddingsService.d.ts +14 -0
  112. package/ts_build/src/services/EmbeddingsService.js +33 -0
  113. package/ts_build/src/services/EmbeddingsService.js.map +1 -0
  114. package/ts_build/src/services/GitHub.js +2 -2
  115. package/ts_build/src/services/GitHub.js.map +1 -1
  116. package/ts_build/src/services/KnowhowClient.d.ts +29 -29
  117. package/ts_build/src/services/KnowhowClient.js +33 -33
  118. package/ts_build/src/services/KnowhowClient.js.map +1 -1
  119. package/ts_build/src/services/MediaProcessorService.d.ts +22 -0
  120. package/ts_build/src/services/MediaProcessorService.js +215 -0
  121. package/ts_build/src/services/MediaProcessorService.js.map +1 -0
  122. package/ts_build/src/services/S3.d.ts +0 -4
  123. package/ts_build/src/services/S3.js +14 -60
  124. package/ts_build/src/services/S3.js.map +1 -1
  125. package/ts_build/src/services/index.d.ts +6 -5
  126. package/ts_build/src/services/index.js +6 -6
  127. package/ts_build/src/services/index.js.map +1 -1
  128. package/ts_build/src/services/modules/index.js +12 -3
  129. package/ts_build/src/services/modules/index.js.map +1 -1
  130. package/ts_build/src/services/modules/types.d.ts +8 -2
  131. package/ts_build/src/services/script-execution/ScriptExecutor.js +22 -7
  132. package/ts_build/src/services/script-execution/ScriptExecutor.js.map +1 -1
  133. package/ts_build/src/services/script-execution/ScriptPolicy.d.ts +1 -1
  134. package/ts_build/src/services/script-execution/ScriptPolicy.js +4 -2
  135. package/ts_build/src/services/script-execution/ScriptPolicy.js.map +1 -1
  136. package/ts_build/src/types.d.ts +1 -0
  137. package/ts_build/src/types.js +1 -0
  138. package/ts_build/src/types.js.map +1 -1
  139. package/ts_build/src/utils/http.d.ts +27 -0
  140. package/ts_build/src/utils/http.js +98 -0
  141. package/ts_build/src/utils/http.js.map +1 -0
  142. package/ts_build/src/workers/auth/PasskeySetup.js +6 -7
  143. package/ts_build/src/workers/auth/PasskeySetup.js.map +1 -1
  144. package/ts_build/tests/clients/AIClient.test.js +11 -14
  145. package/ts_build/tests/clients/AIClient.test.js.map +1 -1
  146. package/ts_build/tests/manual/file-edits/figma.test.d.ts +0 -1
  147. package/ts_build/tests/manual/file-edits/figma.test.js +1 -46
  148. package/ts_build/tests/manual/file-edits/figma.test.js.map +1 -1
  149. package/ts_build/tests/plugins/language/languagePlugin-content-triggers.test.js +2 -0
  150. package/ts_build/tests/plugins/language/languagePlugin-content-triggers.test.js.map +1 -1
  151. package/ts_build/tests/plugins/language/languagePlugin.test.js +2 -0
  152. package/ts_build/tests/plugins/language/languagePlugin.test.js.map +1 -1
  153. package/ts_build/tests/processors/ToolResponseCache.test.js +2 -2
  154. package/ts_build/tests/processors/ToolResponseCache.test.js.map +1 -1
  155. package/ts_build/tests/test.spec.js +0 -14
  156. package/ts_build/tests/test.spec.js.map +1 -1
  157. package/ts_build/tests/tree-sitter/tree-sitter.test.d.ts +0 -1
  158. package/ts_build/tests/tree-sitter/tree-sitter.test.js +2 -183
  159. package/ts_build/tests/tree-sitter/tree-sitter.test.js.map +1 -1
  160. package/ts_build/tests/unit/modules/moduleLoading.test.js +11 -4
  161. package/ts_build/tests/unit/modules/moduleLoading.test.js.map +1 -1
  162. package/ts_build/tests/unit/plugins/pluginLoading.test.js +4 -4
  163. package/ts_build/tests/unit/plugins/pluginLoading.test.js.map +1 -1
  164. package/benchmarks/.dockerignore +0 -7
  165. package/benchmarks/README.md +0 -166
  166. package/benchmarks/docker/Dockerfile +0 -68
  167. package/benchmarks/example-config.yml +0 -27
  168. package/benchmarks/jest.config.js +0 -13
  169. package/benchmarks/package-lock.json +0 -4297
  170. package/benchmarks/package.json +0 -39
  171. package/benchmarks/results/27b0a06/2025-09-27/xai/xai-grok-code-fast-1.json +0 -2909
  172. package/benchmarks/results/4057aed/2025-08-14/anthropic/anthropic-claude-sonnet-4-20250514.json +0 -1671
  173. package/benchmarks/results/4542435/2025-08-05/lms/lms-openai-gpt-oss-20b.json +0 -2814
  174. package/benchmarks/results/4542435/2025-08-05/lms/lms-qwen-qwen3-30b-a3b-2507.json +0 -2014
  175. package/benchmarks/results/4fb9125/2025-08-07/anthropic/anthropic-claude-sonnet-4-20250514.json +0 -3121
  176. package/benchmarks/results/5766aee/2025-08-02/lms-qwen/qwen3-coder-30b.json +0 -98
  177. package/benchmarks/results/6d73808/2025-08-07/openai/openai-gpt-5.json +0 -3256
  178. package/benchmarks/results/77bf0a6/2025-08-02/lms-qwen/qwen3-30b-a3b-2507.json +0 -4298
  179. package/benchmarks/results/8c0d445/2025-08-03/anthropic/anthropic-claude-sonnet-4-20250514.json +0 -3031
  180. package/benchmarks/results/8c0d445/2025-08-03/openai/openai-gpt-4.1-2025-04-14.json +0 -2990
  181. package/benchmarks/results/ac6b2ab/2025-08-03/anthropic/anthropic-claude-sonnet-4-20250514.json +0 -3256
  182. package/benchmarks/results/ac6b2ab/2025-08-03/lms/lms-qwen-qwen3-coder-30b.json +0 -3007
  183. package/benchmarks/results/ac6b2ab/2025-08-03/openai/openai-gpt-4.1-2025-04-14.json +0 -3256
  184. package/benchmarks/results/ac6b2ab/2025-08-03/openai/openai-gpt-4.1-mini-2025-04-14.json +0 -3036
  185. package/benchmarks/results/ac6b2ab/2025-08-03/openai/openai-gpt-4.1-nano-2025-04-14.json +0 -3280
  186. package/benchmarks/results/adff675/2025-08-04/lms/lms-qwen-qwen3-30b-a3b-2507.json +0 -1920
  187. package/benchmarks/results/adff675/2025-08-04/lms/lms-qwen-qwen3-coder-30b.json +0 -3281
  188. package/benchmarks/results/b502ed9/2025-08-03/lms-qwen/qwen3-coder-30b.json +0 -2896
  189. package/benchmarks/results/d1a8129/2025-08-03/lms/lms-qwen-qwen3-coder-30b.json +0 -3011
  190. package/benchmarks/results/e60471c/2025-08-03/lms/qwen3-30b-a3b-2507.json +0 -3003
  191. package/benchmarks/scripts/build-and-run.sh +0 -47
  192. package/benchmarks/scripts/clone-exercism.sh +0 -92
  193. package/benchmarks/scripts/validate.sh +0 -48
  194. package/benchmarks/src/__tests__/runner.test.ts +0 -27
  195. package/benchmarks/src/cli.ts +0 -90
  196. package/benchmarks/src/evaluators/EvaluatorRegistry.ts +0 -64
  197. package/benchmarks/src/evaluators/JavaScriptEvaluator.ts +0 -183
  198. package/benchmarks/src/evaluators/index.ts +0 -3
  199. package/benchmarks/src/evaluators/types.ts +0 -22
  200. package/benchmarks/src/index.ts +0 -3
  201. package/benchmarks/src/providers.ts +0 -13
  202. package/benchmarks/src/runner.ts +0 -824
  203. package/benchmarks/src/types.ts +0 -63
  204. package/benchmarks/tsconfig.json +0 -19
  205. package/leaderboard/README.md +0 -148
  206. package/leaderboard/app/api/benchmark-data/route.ts +0 -131
  207. package/leaderboard/app/api/benchmark-detail/route.ts +0 -172
  208. package/leaderboard/app/details/[model]/[provider]/[language]/page.tsx +0 -501
  209. package/leaderboard/app/exercise/[model]/[provider]/[language]/[exercise]/page.tsx +0 -375
  210. package/leaderboard/app/globals.css +0 -27
  211. package/leaderboard/app/layout.tsx +0 -21
  212. package/leaderboard/app/page.tsx +0 -170
  213. package/leaderboard/components/LeaderboardTable.tsx +0 -168
  214. package/leaderboard/components/PerformanceChart.tsx +0 -109
  215. package/leaderboard/next-env.d.ts +0 -5
  216. package/leaderboard/next.config.js +0 -4
  217. package/leaderboard/package-lock.json +0 -6363
  218. package/leaderboard/package.json +0 -28
  219. package/leaderboard/postcss.config.js +0 -6
  220. package/leaderboard/tailwind.config.js +0 -17
  221. package/leaderboard/tsconfig.json +0 -28
  222. package/leaderboard/types/benchmark.ts +0 -67
  223. package/leaderboard/utils/dataProcessor.ts +0 -33
  224. package/src/agents/tools/asana/definitions.ts +0 -199
  225. package/src/agents/tools/asana/index.ts +0 -108
  226. package/src/agents/tools/ast/astAppendNode.ts +0 -90
  227. package/src/agents/tools/ast/astDeleteNode.ts +0 -88
  228. package/src/agents/tools/ast/astEditNode.ts +0 -95
  229. package/src/agents/tools/ast/astGetPathForLine.ts +0 -73
  230. package/src/agents/tools/ast/astListPaths.ts +0 -66
  231. package/src/agents/tools/ast/index.ts +0 -7
  232. package/src/agents/tools/github/definitions.ts +0 -89
  233. package/src/agents/tools/github/index.ts +0 -67
  234. package/src/chat-old.ts +0 -446
  235. package/src/plugins/asana.ts +0 -146
  236. package/src/plugins/downloader/plugin.ts +0 -103
  237. package/src/plugins/downloader/types.ts +0 -92
  238. package/src/plugins/figma.ts +0 -158
  239. package/src/plugins/github.ts +0 -219
  240. package/src/plugins/jira.ts +0 -115
  241. package/src/plugins/linear.ts +0 -230
  242. package/src/plugins/notion.ts +0 -179
  243. package/src/plugins/tree-sitter/editor.ts +0 -369
  244. package/src/plugins/tree-sitter/lang-packs/index.ts +0 -23
  245. package/src/plugins/tree-sitter/lang-packs/java.ts +0 -59
  246. package/src/plugins/tree-sitter/lang-packs/javascript.ts +0 -57
  247. package/src/plugins/tree-sitter/lang-packs/python.ts +0 -45
  248. package/src/plugins/tree-sitter/lang-packs/types.ts +0 -79
  249. package/src/plugins/tree-sitter/lang-packs/typescript.ts +0 -49
  250. package/src/plugins/tree-sitter/parser.ts +0 -470
  251. package/src/plugins/tree-sitter/simple-paths.ts +0 -467
  252. package/src/services/GitHub.ts +0 -59
  253. package/tests/tree-sitter/editor.test.ts +0 -113
  254. package/tests/tree-sitter/invalid.test.ts +0 -299
  255. package/tests/tree-sitter/paths/common-edits.test.ts +0 -564
  256. package/tests/tree-sitter/paths/debug-exact-position.test.ts +0 -44
  257. package/tests/tree-sitter/paths/debug-line-indexing.test.ts +0 -49
  258. package/tests/tree-sitter/paths/debug-paths.test.ts +0 -90
  259. package/tests/tree-sitter/paths/paths.test.ts +0 -170
  260. package/tests/tree-sitter/paths/simple-paths.test.ts +0 -367
  261. package/tests/tree-sitter/sample-after.ts +0 -48
  262. package/tests/tree-sitter/sample-before.ts +0 -25
  263. package/tests/tree-sitter/test-files/completely-broken.ts +0 -7
  264. package/tests/tree-sitter/test-files/duplicate-braces.ts +0 -39
  265. package/tests/tree-sitter/test-files/invalid-nesting.ts +0 -39
  266. package/tests/tree-sitter/test-files/malformed-signature.ts +0 -39
  267. package/tests/tree-sitter/test-files/mismatched-parens.ts +0 -39
  268. package/tests/tree-sitter/test-files/missing-semicolon.ts +0 -39
  269. package/tests/tree-sitter/test-files/partially-broken.ts +0 -20
  270. package/tests/tree-sitter/test-files/specific-errors.ts +0 -14
  271. package/tests/tree-sitter/test-files/unclosed-string.ts +0 -39
  272. package/tests/tree-sitter/tree-sitter.test.ts +0 -251
@@ -1,331 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SimplePathResolver = void 0;
4
- const tree_sitter_1 = require("tree-sitter");
5
4
  class SimplePathResolver {
6
- parser;
7
- languagePack;
8
- constructor(parser) {
9
- this.parser = parser;
10
- this.languagePack = parser.getLanguagePack();
11
- }
12
- executeQuery(tree, queryString) {
13
- try {
14
- const language = this.parser.parser.getLanguage();
15
- if (!language)
16
- return [];
17
- const query = new tree_sitter_1.Query(language, queryString);
18
- const matches = query.matches(tree.rootNode);
19
- return matches.map((match) => {
20
- const captures = {};
21
- for (const capture of match.captures) {
22
- captures[capture.name] = capture.node;
23
- }
24
- return {
25
- node: match.captures[0]?.node,
26
- captures,
27
- };
28
- });
29
- }
30
- catch (error) {
31
- console.warn("Failed to execute tree-sitter query:", error);
32
- console.warn("Query that failed:", JSON.stringify(queryString));
33
- return [];
34
- }
35
- }
36
- findNodesByQuery(tree, queryType) {
37
- if (!this.languagePack || !this.languagePack.queries[queryType]) {
38
- return [];
39
- }
40
- return this.executeQuery(tree, this.languagePack.queries[queryType]);
41
- }
42
- parseSimplePath(simplePath) {
43
- const blockPattern = /^(\w+)\s*\(\s*["'`]([^"'`]*)["'`]\s*\)$/;
44
- const blockMatch = simplePath.match(blockPattern);
45
- if (blockMatch) {
46
- return {
47
- type: "block",
48
- functionName: blockMatch[1],
49
- argument: blockMatch[2],
50
- parts: [blockMatch[1]],
51
- };
52
- }
53
- const parameterlessBlockPattern = /^(\w+)\s*\(\s*\)$/;
54
- const parameterlessMatch = simplePath.match(parameterlessBlockPattern);
55
- if (parameterlessMatch) {
56
- return {
57
- type: "block",
58
- functionName: parameterlessMatch[1],
59
- parts: [parameterlessMatch[1]],
60
- };
61
- }
62
- return {
63
- type: "regular",
64
- parts: simplePath.split("."),
65
- };
66
- }
67
- findBlockMatches(tree, functionName, argument, simplePath) {
68
- const matches = [];
69
- const blockMatches = this.findNodesByQuery(tree, "blocks");
70
- for (const match of blockMatches) {
71
- const calleeNode = match.captures.callee;
72
- const nameNode = match.captures.name;
73
- if (!calleeNode || calleeNode.text !== functionName) {
74
- continue;
75
- }
76
- if (!argument) {
77
- matches.push({
78
- node: match.node,
79
- path: this.getNodePath(tree.rootNode, match.node),
80
- simplePath,
81
- description: `${functionName} block`,
82
- });
83
- continue;
84
- }
85
- if (nameNode) {
86
- let nameText = nameNode.text;
87
- if ((nameText.startsWith('"') && nameText.endsWith('"')) ||
88
- (nameText.startsWith("'") && nameText.endsWith("'")) ||
89
- (nameText.startsWith("`") && nameText.endsWith("`"))) {
90
- nameText = nameText.slice(1, -1);
91
- }
92
- if (nameText === argument) {
93
- matches.push({
94
- node: match.node,
95
- path: this.getNodePath(tree.rootNode, match.node),
96
- simplePath,
97
- description: `${functionName} block: ${argument}`,
98
- });
99
- }
100
- }
101
- }
102
- return matches;
103
- }
104
- findBySimplePath(tree, simplePath) {
105
- if (!tree.rootNode) {
106
- return [];
107
- }
108
- const matches = [];
109
- const pathInfo = this.parseSimplePath(simplePath);
110
- const parts = pathInfo.parts;
111
- if (pathInfo.type === "block") {
112
- return this.findBlockMatches(tree, pathInfo.functionName, pathInfo.argument, simplePath);
113
- }
114
- if (parts.length === 1) {
115
- const singleName = parts[0];
116
- const classMatches = this.findNodesByQuery(tree, "classes");
117
- for (const match of classMatches) {
118
- const nameNode = match.captures.name;
119
- if (nameNode && nameNode.text === singleName) {
120
- matches.push({
121
- node: match.node,
122
- path: this.getNodePath(tree.rootNode, match.node),
123
- simplePath,
124
- description: `Class declaration: ${singleName}`,
125
- });
126
- }
127
- }
128
- const methodMatches = this.findNodesByQuery(tree, "methods");
129
- for (const match of methodMatches) {
130
- const nameNode = match.captures.name;
131
- if (nameNode && nameNode.text === singleName) {
132
- const className = this.findContainingClassName(tree, match.node);
133
- const description = className
134
- ? `${singleName} method in class ${className}`
135
- : `Method declaration: ${singleName}`;
136
- matches.push({
137
- node: match.node,
138
- path: this.getNodePath(tree.rootNode, match.node),
139
- simplePath,
140
- description,
141
- });
142
- }
143
- }
144
- const propertyMatches = this.findNodesByQuery(tree, "properties");
145
- for (const match of propertyMatches) {
146
- const nameNode = match.captures.name;
147
- if (nameNode && nameNode.text === singleName) {
148
- matches.push({
149
- node: match.node,
150
- path: this.getNodePath(tree.rootNode, match.node),
151
- simplePath,
152
- description: `Property declaration: ${singleName}`,
153
- });
154
- }
155
- }
156
- const blockMatches = this.findNodesByQuery(tree, "blocks");
157
- for (const match of blockMatches) {
158
- const calleeNode = match.captures.callee;
159
- const nameNode = match.captures.name;
160
- if (calleeNode && calleeNode.text === singleName) {
161
- matches.push({
162
- node: match.node,
163
- path: this.getNodePath(tree.rootNode, match.node),
164
- simplePath,
165
- description: `${singleName} block`,
166
- });
167
- continue;
168
- }
169
- if (nameNode && nameNode.text === singleName && calleeNode) {
170
- matches.push({
171
- node: match.node,
172
- path: this.getNodePath(tree.rootNode, match.node),
173
- simplePath,
174
- description: `${calleeNode.text} block: ${singleName}`,
175
- });
176
- }
177
- }
178
- }
179
- else if (parts.length === 2) {
180
- const [className, memberName] = parts;
181
- const classMatches = this.findNodesByQuery(tree, "classes");
182
- for (const classMatch of classMatches) {
183
- const classNameNode = classMatch.captures.name;
184
- if (classNameNode && classNameNode.text === className) {
185
- const methodMatches = this.findNodesByQuery(tree, "methods");
186
- for (const methodMatch of methodMatches) {
187
- const methodNameNode = methodMatch.captures.name;
188
- if (methodNameNode && methodNameNode.text === memberName) {
189
- if (this.isNodeWithinNode(methodMatch.node, classMatch.node)) {
190
- matches.push({
191
- node: methodMatch.node,
192
- path: this.getNodePath(tree.rootNode, methodMatch.node),
193
- simplePath,
194
- description: `${memberName} method in class ${className}`,
195
- });
196
- }
197
- }
198
- }
199
- const propertyMatches = this.findNodesByQuery(tree, "properties");
200
- for (const propertyMatch of propertyMatches) {
201
- const propertyNameNode = propertyMatch.captures.name;
202
- if (propertyNameNode && propertyNameNode.text === memberName) {
203
- if (this.isNodeWithinNode(propertyMatch.node, classMatch.node)) {
204
- matches.push({
205
- node: propertyMatch.node,
206
- path: this.getNodePath(tree.rootNode, propertyMatch.node),
207
- simplePath,
208
- description: `Property ${memberName} in class ${className}`,
209
- });
210
- }
211
- }
212
- }
213
- }
214
- }
215
- }
216
- return matches;
217
- }
218
- findContainingClassName(tree, methodNode) {
219
- if (!this.languagePack)
220
- return null;
221
- const classMatches = this.findNodesByQuery(tree, "classes");
222
- for (const classMatch of classMatches) {
223
- if (this.isNodeWithinNode(methodNode, classMatch.node)) {
224
- const nameNode = classMatch.captures.name;
225
- return nameNode ? nameNode.text : null;
226
- }
227
- }
228
- return null;
229
- }
230
- getParser() {
231
- return this.parser;
232
- }
233
- getNodePath(rootNode, targetNode) {
234
- const path = [];
235
- let current = targetNode;
236
- while (current && current !== rootNode) {
237
- if (current.parent) {
238
- const siblings = current.parent.children;
239
- const index = siblings.indexOf(current);
240
- path.unshift(`${current.type}[${index}]`);
241
- current = current.parent;
242
- }
243
- else {
244
- break;
245
- }
246
- }
247
- return path.join("/");
248
- }
249
- getAllSimplePaths(tree) {
250
- const paths = [];
251
- if (!this.languagePack || !tree.rootNode) {
252
- return paths;
253
- }
254
- const classMatches = this.findNodesByQuery(tree, "classes");
255
- for (const classMatch of classMatches) {
256
- const classNameNode = classMatch.captures.name;
257
- if (classNameNode && classNameNode.text) {
258
- const className = classNameNode.text;
259
- paths.push(className);
260
- const methodMatches = this.findNodesByQuery(tree, "methods");
261
- for (const methodMatch of methodMatches) {
262
- const methodNameNode = methodMatch.captures.name;
263
- if (methodNameNode &&
264
- methodNameNode.text &&
265
- this.isNodeWithinNode(methodMatch.node, classMatch.node)) {
266
- const methodName = methodNameNode.text;
267
- paths.push(`${className}.${methodName}`);
268
- }
269
- }
270
- const propertyMatches = this.findNodesByQuery(tree, "properties");
271
- for (const propertyMatch of propertyMatches) {
272
- const propertyNameNode = propertyMatch.captures.name;
273
- if (propertyNameNode &&
274
- propertyNameNode.text &&
275
- this.isNodeWithinNode(propertyMatch.node, classMatch.node)) {
276
- const propertyName = propertyNameNode.text;
277
- paths.push(`${className}.${propertyName}`);
278
- }
279
- }
280
- }
281
- }
282
- const standaloneMethods = this.findNodesByQuery(tree, "methods");
283
- for (const methodMatch of standaloneMethods) {
284
- const methodNameNode = methodMatch.captures.name;
285
- if (methodNameNode && methodNameNode.text) {
286
- const methodName = methodNameNode.text;
287
- let isWithinClass = false;
288
- for (const classMatch of classMatches) {
289
- if (this.isNodeWithinNode(methodMatch.node, classMatch.node)) {
290
- isWithinClass = true;
291
- break;
292
- }
293
- }
294
- if (!isWithinClass) {
295
- paths.push(methodName);
296
- }
297
- }
298
- }
299
- const blockMatches = this.findNodesByQuery(tree, "blocks");
300
- for (const blockMatch of blockMatches) {
301
- const calleeNode = blockMatch.captures.callee;
302
- const nameNode = blockMatch.captures.name;
303
- if (calleeNode && calleeNode.text) {
304
- const callee = calleeNode.text;
305
- if (nameNode && nameNode.text) {
306
- let name = nameNode.text;
307
- if ((name.startsWith('"') && name.endsWith('"')) ||
308
- (name.startsWith("'") && name.endsWith("'"))) {
309
- name = name.slice(1, -1);
310
- }
311
- paths.push(`${callee}("${name}")`);
312
- }
313
- else {
314
- paths.push(`${callee}()`);
315
- }
316
- }
317
- }
318
- return paths;
319
- }
320
- isNodeWithinNode(childNode, parentNode) {
321
- let current = childNode.parent;
322
- while (current) {
323
- if (current === parentNode) {
324
- return true;
325
- }
326
- current = current.parent;
327
- }
328
- return false;
5
+ constructor(..._args) {
6
+ throw new Error("Tree-sitter SimplePathResolver has been moved to @tyvm/knowhow-module-ast. Install that package and add it to your knowhow.json modules.");
329
7
  }
330
8
  }
331
9
  exports.SimplePathResolver = SimplePathResolver;
@@ -1 +1 @@
1
- {"version":3,"file":"simple-paths.js","sourceRoot":"","sources":["../../../../src/plugins/tree-sitter/simple-paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simple-paths.js","sourceRoot":"","sources":["../../../../src/plugins/tree-sitter/simple-paths.ts"],"names":[],"mappings":";;;AAYA,MAAa,kBAAkB;IAC7B,YAAY,GAAG,KAAY;QACzB,MAAM,IAAI,KAAK,CACb,0IAA0I,CAC3I,CAAC;IACJ,CAAC;CACF;AAND,gDAMC"}
@@ -1,11 +1,7 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.UrlPlugin = void 0;
7
4
  const PluginBase_1 = require("./PluginBase");
8
- const loadWebpage_1 = __importDefault(require("../agents/tools/loadWebpage"));
9
5
  class UrlPlugin extends PluginBase_1.PluginBase {
10
6
  static meta = {
11
7
  key: "url",
@@ -18,7 +14,7 @@ class UrlPlugin extends PluginBase_1.PluginBase {
18
14
  }
19
15
  async embed(userPrompt) {
20
16
  const urls = this.extractUrls(userPrompt);
21
- const embeddings = await Promise.all(urls.map(this.fetchAndParseUrl));
17
+ const embeddings = await Promise.all(urls.map((url) => this.fetchAndParseUrl(url)));
22
18
  return embeddings.filter((e) => e !== null);
23
19
  }
24
20
  extractUrls(userPrompt) {
@@ -28,8 +24,31 @@ class UrlPlugin extends PluginBase_1.PluginBase {
28
24
  }
29
25
  async fetchAndParseUrl(url) {
30
26
  try {
31
- const text = await (0, loadWebpage_1.default)(url);
32
- this.log(`URL PLUGIN: Fetched content from ${url}: ${text}`);
27
+ const response = await fetch(url, {
28
+ headers: {
29
+ "User-Agent": "Mozilla/5.0 (compatible; KnowhowBot/1.0)",
30
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
31
+ },
32
+ });
33
+ if (!response.ok) {
34
+ this.log(`URL PLUGIN: Failed to fetch ${url}: ${response.status}`, "warn");
35
+ return null;
36
+ }
37
+ const contentType = response.headers.get("content-type") || "";
38
+ let text = "";
39
+ if (contentType.includes("text/html") || contentType.includes("text/plain")) {
40
+ const html = await response.text();
41
+ text = html
42
+ .replace(/<script[^>]*>[\s\S]*?<\/script>/gi, "")
43
+ .replace(/<style[^>]*>[\s\S]*?<\/style>/gi, "")
44
+ .replace(/<[^>]+>/g, " ")
45
+ .replace(/\s+/g, " ")
46
+ .trim();
47
+ }
48
+ else {
49
+ text = await response.text();
50
+ }
51
+ this.log(`URL PLUGIN: Fetched content from ${url}: ${text.substring(0, 100)}`);
33
52
  return {
34
53
  id: url + "-url",
35
54
  text,
@@ -49,7 +68,7 @@ class UrlPlugin extends PluginBase_1.PluginBase {
49
68
  if (urls.length > 10) {
50
69
  return "URL PLUGIN: Too many URLs detected. Skipping like unintentional bulk browse.";
51
70
  }
52
- const results = await Promise.all(urls.map(this.fetchAndParseUrl));
71
+ const results = await Promise.all(urls.map((url) => this.fetchAndParseUrl(url)));
53
72
  const validResults = results.filter((r) => r !== null);
54
73
  if (validResults.length === 0) {
55
74
  return "URL PLUGIN: Failed to fetch or parse any URLs.";
@@ -1 +1 @@
1
- {"version":3,"file":"url.js","sourceRoot":"","sources":["../../../src/plugins/url.ts"],"names":[],"mappings":";;;;;;AAAA,6CAAsD;AAKtD,8EAAsD;AAEtD,MAAa,SAAU,SAAQ,uBAAU;IACvC,MAAM,CAAU,IAAI,GAAe;QACjC,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;IAEtB,YAAY,OAAsB;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,UAAkB;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACtE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAyB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,WAAW,CAAC,UAAkB;QAC5B,MAAM,QAAQ,GAAG,sBAAsB,CAAC;QACxC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAE9C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAW;QAChC,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAW,EAAC,GAAG,CAAC,CAAC;YAEpC,IAAI,CAAC,GAAG,CAAC,oCAAoC,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC;YAE7D,OAAO;gBACL,EAAE,EAAE,GAAG,GAAG,MAAM;gBAChB,IAAI;gBACJ,QAAQ,EAAE,EAAE,GAAG,EAAE;aAClB,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,GAAG,CAAC,iCAAiC,GAAG,KAAK,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,UAAkB;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,OAAO,+BAA+B,CAAC;SACxC;QAED,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE;YACpB,OAAO,8EAA8E,CAAC;SACvF;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACnE,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CACjC,CAAC,CAAC,EAAyB,EAAE,CAAC,CAAC,KAAK,IAAI,CACzC,CAAC;QAEF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7B,OAAO,gDAAgD,CAAC;SACzD;QAED,MAAM,gBAAgB,GAAG,YAAY;aAClC,GAAG,CACF,CAAC,MAAM,EAAE,EAAE,CACT,QAAQ,MAAM,CAAC,QAAQ,CAAC,GAAG,iBAAiB,MAAM,CAAC,IAAI,CAAC,SAAS,CAC/D,CAAC,EACD,GAAG,CACJ,KAAK,CACT;aACA,IAAI,CAAC,aAAa,CAAC,CAAC;QAEvB,OAAO,sEAAsE,gBAAgB,EAAE,CAAC;IAClG,CAAC;;AAzEH,8BA0EC"}
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../../src/plugins/url.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ type DownloaderFn = (remote: string, filePath: string, destinationPath: string) => Promise<void>;
2
+ type UploaderFn = (localPath: string, remote: string, remoteKey: string) => Promise<void>;
3
+ export interface EmbeddingsResolver {
4
+ download: DownloaderFn;
5
+ upload?: UploaderFn;
6
+ }
7
+ export declare class EmbeddingsService {
8
+ private resolvers;
9
+ registerResolver(remoteType: string, resolver: EmbeddingsResolver): void;
10
+ hasResolver(remoteType: string): boolean;
11
+ download(remoteType: string, remote: string, filePath: string, destinationPath: string): Promise<void>;
12
+ upload(remoteType: string, localPath: string, remote: string, remoteKey: string): Promise<void>;
13
+ }
14
+ export {};
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmbeddingsService = void 0;
4
+ class EmbeddingsService {
5
+ resolvers = new Map();
6
+ registerResolver(remoteType, resolver) {
7
+ this.resolvers.set(remoteType, resolver);
8
+ }
9
+ hasResolver(remoteType) {
10
+ return this.resolvers.has(remoteType);
11
+ }
12
+ async download(remoteType, remote, filePath, destinationPath) {
13
+ const resolver = this.resolvers.get(remoteType);
14
+ if (!resolver) {
15
+ throw new Error(`No resolver registered for remoteType: "${remoteType}". ` +
16
+ `Install and configure the appropriate knowhow module (e.g. @tyvm/knowhow-module-github).`);
17
+ }
18
+ await resolver.download(remote, filePath, destinationPath);
19
+ }
20
+ async upload(remoteType, localPath, remote, remoteKey) {
21
+ const resolver = this.resolvers.get(remoteType);
22
+ if (!resolver) {
23
+ throw new Error(`No resolver registered for remoteType: "${remoteType}". ` +
24
+ `Install and configure the appropriate knowhow module (e.g. @tyvm/knowhow-module-s3).`);
25
+ }
26
+ if (!resolver.upload) {
27
+ throw new Error(`Resolver for remoteType: "${remoteType}" does not support uploads.`);
28
+ }
29
+ await resolver.upload(localPath, remote, remoteKey);
30
+ }
31
+ }
32
+ exports.EmbeddingsService = EmbeddingsService;
33
+ //# sourceMappingURL=EmbeddingsService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmbeddingsService.js","sourceRoot":"","sources":["../../../src/services/EmbeddingsService.ts"],"names":[],"mappings":";;;AAsBA,MAAa,iBAAiB;IACpB,SAAS,GAAG,IAAI,GAAG,EAA8B,CAAC;IAE1D,gBAAgB,CAAC,UAAkB,EAAE,QAA4B;QAC/D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW,CAAC,UAAkB;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,UAAkB,EAClB,MAAc,EACd,QAAgB,EAChB,eAAuB;QAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CACb,2CAA2C,UAAU,KAAK;gBACxD,0FAA0F,CAC7F,CAAC;SACH;QACD,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,MAAM,CACV,UAAkB,EAClB,SAAiB,EACjB,MAAc,EACd,SAAiB;QAEjB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CACb,2CAA2C,UAAU,KAAK;gBACxD,sFAAsF,CACzF,CAAC;SACH;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACpB,MAAM,IAAI,KAAK,CACb,6BAA6B,UAAU,6BAA6B,CACrE,CAAC;SACH;QACD,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;CACF;AA/CD,8CA+CC"}
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.GitHubService = void 0;
7
7
  const rest_1 = require("@octokit/rest");
8
- const axios_1 = __importDefault(require("axios"));
8
+ const http_1 = __importDefault(require("../utils/http"));
9
9
  class GitHubService {
10
10
  octokit;
11
11
  constructor() {
@@ -23,7 +23,7 @@ class GitHubService {
23
23
  return sha;
24
24
  }
25
25
  async getLfsContent(downloadUrl) {
26
- const response = await axios_1.default.get(downloadUrl);
26
+ const response = await http_1.default.get(downloadUrl);
27
27
  return JSON.stringify(response.data);
28
28
  }
29
29
  async getFileContent(owner, repo, path) {
@@ -1 +1 @@
1
- {"version":3,"file":"GitHub.js","sourceRoot":"","sources":["../../../src/services/GitHub.ts"],"names":[],"mappings":";;;;;;AAAA,wCAAwC;AACxC,kDAA0B;AAE1B,MAAa,aAAa;IACxB,OAAO,CAAU;IAEjB;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,cAAO,CAAC;YACzB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;SAC/B,CAAC,CAAC;IACL,CAAC;IAEO,SAAS,CAAC,OAAe;QAC/B,OAAO,OAAO,CAAC,UAAU,CAAC,4CAA4C,CAAC,CAAC;IAC1E,CAAC;IAEO,oBAAoB,CAAC,OAAe;QAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,WAAmB;QAC7C,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,KAAa,EACb,IAAY,EACZ,IAAY;QAEZ,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;YACnD,KAAK;YACL,IAAI;YACJ,IAAI;SACL,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;SAClE;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC5B,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7C,CAAC,CAAC,OAAO,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,UAAkB,EAClB,QAAgB,EAChB,eAAuB;QAEvB,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACjE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACzB,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;CACF;AAtDD,sCAsDC"}
1
+ {"version":3,"file":"GitHub.js","sourceRoot":"","sources":["../../../src/services/GitHub.ts"],"names":[],"mappings":";;;;;;AAAA,wCAAwC;AACxC,yDAAiC;AAEjC,MAAa,aAAa;IACxB,OAAO,CAAU;IAEjB;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,cAAO,CAAC;YACzB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;SAC/B,CAAC,CAAC;IACL,CAAC;IAEO,SAAS,CAAC,OAAe;QAC/B,OAAO,OAAO,CAAC,UAAU,CAAC,4CAA4C,CAAC,CAAC;IAC1E,CAAC;IAEO,oBAAoB,CAAC,OAAe;QAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,WAAmB;QAC7C,MAAM,QAAQ,GAAG,MAAM,cAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,KAAa,EACb,IAAY,EACZ,IAAY;QAEZ,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;YACnD,KAAK;YACL,IAAI;YACJ,IAAI;SACL,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;SAClE;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC5B,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7C,CAAC,CAAC,OAAO,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,UAAkB,EAClB,QAAgB,EAChB,eAAuB;QAEvB,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACjE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACzB,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;CACF;AAtDD,sCAsDC"}
@@ -65,12 +65,12 @@ export declare const KNOWHOW_API_URL: string;
65
65
  export declare class KnowhowSimpleClient {
66
66
  private baseUrl;
67
67
  private jwt;
68
- headers: {};
68
+ headers: Record<string, string>;
69
69
  jwtValidated: boolean;
70
70
  constructor(baseUrl?: string, jwt?: string);
71
71
  setJwt(jwt: string): void;
72
72
  checkJwt(): Promise<void>;
73
- me(): Promise<import("axios").AxiosResponse<any, any>>;
73
+ me(): Promise<import("../utils/http").HttpResponse<any>>;
74
74
  getPresignedUploadUrl(source: Config["embedSources"][0]): Promise<any>;
75
75
  getPresignedDownloadUrl(source: Config["embedSources"][0]): Promise<any>;
76
76
  updateEmbeddingMetadata(id: string, data: {
@@ -78,42 +78,42 @@ export declare class KnowhowSimpleClient {
78
78
  outputPath?: string;
79
79
  chunkSize?: number;
80
80
  remoteType?: string;
81
- }): Promise<import("axios").AxiosResponse<any, any>>;
82
- createChatCompletion(options: CompletionOptions): Promise<import("axios").AxiosResponse<CompletionResponse, any>>;
83
- createEmbedding(options: EmbeddingOptions): Promise<import("axios").AxiosResponse<EmbeddingResponse, any>>;
84
- getModels(): Promise<import("axios").AxiosResponse<any, any>>;
85
- createAudioTranscription(options: AudioTranscriptionOptions): Promise<import("axios").AxiosResponse<AudioTranscriptionResponse, any>>;
86
- createAudioGeneration(options: AudioGenerationOptions): Promise<import("axios").AxiosResponse<AudioGenerationResponse, any>>;
87
- createImageGeneration(options: ImageGenerationOptions): Promise<import("axios").AxiosResponse<ImageGenerationResponse, any>>;
88
- createVideoGeneration(options: VideoGenerationOptions): Promise<import("axios").AxiosResponse<VideoGenerationResponse, any>>;
89
- getVideoStatus(options: VideoStatusOptions): Promise<import("axios").AxiosResponse<VideoStatusResponse, any>>;
90
- downloadVideo(options: FileDownloadOptions): Promise<import("axios").AxiosResponse<ArrayBuffer, any>>;
91
- uploadFile(options: FileUploadOptions): Promise<import("axios").AxiosResponse<FileUploadResponse, any>>;
92
- downloadFile(options: FileDownloadOptions): Promise<import("axios").AxiosResponse<ArrayBuffer, any>>;
93
- createChatTask(request: CreateMessageTaskRequest): Promise<import("axios").AxiosResponse<CreateMessageTaskResponse, any>>;
94
- updateChatTask(taskId: string, updates: UpdateOrgTaskRequest): Promise<import("axios").AxiosResponse<UpdateOrgTaskResponse, any>>;
95
- getTaskDetails(taskId: string): Promise<import("axios").AxiosResponse<TaskDetailsResponse, any>>;
96
- getPendingMessages(taskId: string): Promise<import("axios").AxiosResponse<PendingMessage[], any>>;
97
- markMessagesAsProcessed(taskId: string, messageIds: string[]): Promise<import("axios").AxiosResponse<MarkProcessedResponse, any>>;
98
- sendMessageToAgent(taskId: string, message: string, role?: "user" | "system"): Promise<import("axios").AxiosResponse<SendMessageResponse, any>>;
99
- pauseAgent(taskId: string): Promise<import("axios").AxiosResponse<StatusResponse, any>>;
100
- resumeAgent(taskId: string): Promise<import("axios").AxiosResponse<StatusResponse, any>>;
81
+ }): Promise<import("../utils/http").HttpResponse<any>>;
82
+ createChatCompletion(options: CompletionOptions): Promise<import("../utils/http").HttpResponse<CompletionResponse>>;
83
+ createEmbedding(options: EmbeddingOptions): Promise<import("../utils/http").HttpResponse<EmbeddingResponse>>;
84
+ getModels(): Promise<import("../utils/http").HttpResponse<any>>;
85
+ createAudioTranscription(options: AudioTranscriptionOptions): Promise<import("../utils/http").HttpResponse<AudioTranscriptionResponse>>;
86
+ createAudioGeneration(options: AudioGenerationOptions): Promise<import("../utils/http").HttpResponse<AudioGenerationResponse>>;
87
+ createImageGeneration(options: ImageGenerationOptions): Promise<import("../utils/http").HttpResponse<ImageGenerationResponse>>;
88
+ createVideoGeneration(options: VideoGenerationOptions): Promise<import("../utils/http").HttpResponse<VideoGenerationResponse>>;
89
+ getVideoStatus(options: VideoStatusOptions): Promise<import("../utils/http").HttpResponse<VideoStatusResponse>>;
90
+ downloadVideo(options: FileDownloadOptions): Promise<import("../utils/http").HttpResponse<ArrayBuffer>>;
91
+ uploadFile(options: FileUploadOptions): Promise<import("../utils/http").HttpResponse<FileUploadResponse>>;
92
+ downloadFile(options: FileDownloadOptions): Promise<import("../utils/http").HttpResponse<ArrayBuffer>>;
93
+ createChatTask(request: CreateMessageTaskRequest): Promise<import("../utils/http").HttpResponse<CreateMessageTaskResponse>>;
94
+ updateChatTask(taskId: string, updates: UpdateOrgTaskRequest): Promise<import("../utils/http").HttpResponse<UpdateOrgTaskResponse>>;
95
+ getTaskDetails(taskId: string): Promise<import("../utils/http").HttpResponse<TaskDetailsResponse>>;
96
+ getPendingMessages(taskId: string): Promise<import("../utils/http").HttpResponse<PendingMessage[]>>;
97
+ markMessagesAsProcessed(taskId: string, messageIds: string[]): Promise<import("../utils/http").HttpResponse<MarkProcessedResponse>>;
98
+ sendMessageToAgent(taskId: string, message: string, role?: "user" | "system"): Promise<import("../utils/http").HttpResponse<SendMessageResponse>>;
99
+ pauseAgent(taskId: string): Promise<import("../utils/http").HttpResponse<StatusResponse>>;
100
+ resumeAgent(taskId: string): Promise<import("../utils/http").HttpResponse<StatusResponse>>;
101
101
  getTaskThreads(taskId: string): Promise<any[][]>;
102
- killAgent(taskId: string): Promise<import("axios").AxiosResponse<StatusResponse, any>>;
103
- listOrgFiles(): Promise<import("axios").AxiosResponse<{
102
+ killAgent(taskId: string): Promise<import("../utils/http").HttpResponse<StatusResponse>>;
103
+ listOrgFiles(): Promise<import("../utils/http").HttpResponse<{
104
104
  id: string;
105
105
  fileName: string;
106
106
  folderPath: string;
107
107
  name: string;
108
- }[], any>>;
109
- createOrgFile(fileName: string, folderPath: string): Promise<import("axios").AxiosResponse<{
108
+ }[]>>;
109
+ createOrgFile(fileName: string, folderPath: string): Promise<import("../utils/http").HttpResponse<{
110
110
  id: string;
111
111
  fileName: string;
112
112
  folderPath: string;
113
113
  name: string;
114
- }, any>>;
115
- getOrgFileText(fileId: string): Promise<import("axios").AxiosResponse<string, any>>;
116
- updateOrgFileText(fileId: string, text: string): Promise<import("axios").AxiosResponse<any, any>>;
114
+ }>>;
115
+ getOrgFileText(fileId: string): Promise<import("../utils/http").HttpResponse<string>>;
116
+ updateOrgFileText(fileId: string, text: string): Promise<import("../utils/http").HttpResponse<any>>;
117
117
  findOrgFileByPath(remotePath: string): Promise<{
118
118
  id: string;
119
119
  fileName: string;