@tyvm/knowhow 0.0.90 → 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 (262) hide show
  1. package/.depcheckrc +31 -0
  2. package/bin/knowhow.js +1 -1
  3. package/package.json +4 -32
  4. package/src/agents/tools/executeScript/index.ts +5 -0
  5. package/src/agents/tools/googleSearch.ts +2 -2
  6. package/src/agents/tools/index.ts +0 -3
  7. package/src/agents/tools/list.ts +0 -147
  8. package/src/agents/tools/loadWebpage.ts +3 -113
  9. package/src/auth/browserLogin.ts +10 -13
  10. package/src/cli.ts +63 -3
  11. package/src/clients/gemini.ts +96 -25
  12. package/src/clients/http.ts +7 -11
  13. package/src/clients/pricing/google.ts +122 -26
  14. package/src/conversion.ts +24 -54
  15. package/src/index.ts +8 -1
  16. package/src/login.ts +5 -6
  17. package/src/plugins/language.ts +0 -4
  18. package/src/plugins/plugins.ts +0 -14
  19. package/src/plugins/url.ts +31 -12
  20. package/src/services/GitHub.ts +2 -2
  21. package/src/services/KnowhowClient.ts +34 -34
  22. package/src/{plugins/downloader/downloader.ts → services/MediaProcessorService.ts} +109 -267
  23. package/src/services/S3.ts +16 -16
  24. package/src/services/index.ts +4 -4
  25. package/src/services/modules/index.ts +10 -2
  26. package/src/services/modules/types.ts +5 -2
  27. package/src/services/script-execution/ScriptExecutor.ts +29 -10
  28. package/src/services/script-execution/ScriptPolicy.ts +6 -2
  29. package/src/types.ts +1 -0
  30. package/src/utils/http.ts +127 -0
  31. package/src/workers/auth/PasskeySetup.ts +7 -11
  32. package/tests/clients/AIClient.test.ts +24 -21
  33. package/tests/manual/file-edits/figma.test.ts +3 -70
  34. package/tests/plugins/language/languagePlugin-content-triggers.test.ts +2 -0
  35. package/tests/plugins/language/languagePlugin.test.ts +2 -0
  36. package/tests/processors/ToolResponseCache.test.ts +2 -2
  37. package/tests/test.spec.ts +0 -14
  38. package/tests/unit/modules/moduleLoading.test.ts +7 -4
  39. package/tests/unit/plugins/pluginLoading.test.ts +6 -6
  40. package/ts_build/package.json +4 -32
  41. package/ts_build/src/agents/tools/ast/astAppendNode.d.ts +1 -1
  42. package/ts_build/src/agents/tools/ast/astAppendNode.js +2 -90
  43. package/ts_build/src/agents/tools/ast/astAppendNode.js.map +1 -1
  44. package/ts_build/src/agents/tools/ast/astDeleteNode.d.ts +1 -1
  45. package/ts_build/src/agents/tools/ast/astDeleteNode.js +2 -88
  46. package/ts_build/src/agents/tools/ast/astDeleteNode.js.map +1 -1
  47. package/ts_build/src/agents/tools/ast/astEditNode.d.ts +1 -1
  48. package/ts_build/src/agents/tools/ast/astEditNode.js +2 -90
  49. package/ts_build/src/agents/tools/ast/astEditNode.js.map +1 -1
  50. package/ts_build/src/agents/tools/ast/astGetPathForLine.d.ts +1 -1
  51. package/ts_build/src/agents/tools/ast/astGetPathForLine.js +2 -72
  52. package/ts_build/src/agents/tools/ast/astGetPathForLine.js.map +1 -1
  53. package/ts_build/src/agents/tools/ast/astListPaths.d.ts +1 -1
  54. package/ts_build/src/agents/tools/ast/astListPaths.js +2 -72
  55. package/ts_build/src/agents/tools/ast/astListPaths.js.map +1 -1
  56. package/ts_build/src/agents/tools/executeScript/index.d.ts +3 -2
  57. package/ts_build/src/agents/tools/executeScript/index.js +4 -1
  58. package/ts_build/src/agents/tools/executeScript/index.js.map +1 -1
  59. package/ts_build/src/agents/tools/googleSearch.js +2 -2
  60. package/ts_build/src/agents/tools/googleSearch.js.map +1 -1
  61. package/ts_build/src/agents/tools/index.d.ts +0 -3
  62. package/ts_build/src/agents/tools/index.js +0 -3
  63. package/ts_build/src/agents/tools/index.js.map +1 -1
  64. package/ts_build/src/agents/tools/list.js +0 -138
  65. package/ts_build/src/agents/tools/list.js.map +1 -1
  66. package/ts_build/src/agents/tools/loadWebpage.js +1 -89
  67. package/ts_build/src/agents/tools/loadWebpage.js.map +1 -1
  68. package/ts_build/src/agents/tools/textSearch.d.ts +1 -1
  69. package/ts_build/src/auth/browserLogin.js +7 -7
  70. package/ts_build/src/auth/browserLogin.js.map +1 -1
  71. package/ts_build/src/cli.d.ts +1 -1
  72. package/ts_build/src/cli.js +47 -1
  73. package/ts_build/src/cli.js.map +1 -1
  74. package/ts_build/src/clients/gemini.d.ts +1 -73
  75. package/ts_build/src/clients/gemini.js +57 -19
  76. package/ts_build/src/clients/gemini.js.map +1 -1
  77. package/ts_build/src/clients/http.js +5 -9
  78. package/ts_build/src/clients/http.js.map +1 -1
  79. package/ts_build/src/clients/pricing/google.d.ts +17 -73
  80. package/ts_build/src/clients/pricing/google.js +47 -10
  81. package/ts_build/src/clients/pricing/google.js.map +1 -1
  82. package/ts_build/src/conversion.d.ts +1 -4
  83. package/ts_build/src/conversion.js +12 -27
  84. package/ts_build/src/conversion.js.map +1 -1
  85. package/ts_build/src/index.d.ts +4 -0
  86. package/ts_build/src/index.js +7 -1
  87. package/ts_build/src/index.js.map +1 -1
  88. package/ts_build/src/login.js +5 -4
  89. package/ts_build/src/login.js.map +1 -1
  90. package/ts_build/src/plugins/downloader/downloader.js +3 -3
  91. package/ts_build/src/plugins/downloader/downloader.js.map +1 -1
  92. package/ts_build/src/plugins/language.js.map +1 -1
  93. package/ts_build/src/plugins/plugins.js +0 -14
  94. package/ts_build/src/plugins/plugins.js.map +1 -1
  95. package/ts_build/src/plugins/tree-sitter/editor.d.ts +3 -32
  96. package/ts_build/src/plugins/tree-sitter/editor.js +6 -208
  97. package/ts_build/src/plugins/tree-sitter/editor.js.map +1 -1
  98. package/ts_build/src/plugins/tree-sitter/parser.d.ts +19 -54
  99. package/ts_build/src/plugins/tree-sitter/parser.js +19 -293
  100. package/ts_build/src/plugins/tree-sitter/parser.js.map +1 -1
  101. package/ts_build/src/plugins/tree-sitter/simple-paths.d.ts +2 -15
  102. package/ts_build/src/plugins/tree-sitter/simple-paths.js +2 -324
  103. package/ts_build/src/plugins/tree-sitter/simple-paths.js.map +1 -1
  104. package/ts_build/src/plugins/url.js +27 -8
  105. package/ts_build/src/plugins/url.js.map +1 -1
  106. package/ts_build/src/services/GitHub.js +2 -2
  107. package/ts_build/src/services/GitHub.js.map +1 -1
  108. package/ts_build/src/services/KnowhowClient.d.ts +29 -29
  109. package/ts_build/src/services/KnowhowClient.js +33 -33
  110. package/ts_build/src/services/KnowhowClient.js.map +1 -1
  111. package/ts_build/src/services/MediaProcessorService.d.ts +22 -0
  112. package/ts_build/src/services/MediaProcessorService.js +215 -0
  113. package/ts_build/src/services/MediaProcessorService.js.map +1 -0
  114. package/ts_build/src/services/S3.js +12 -18
  115. package/ts_build/src/services/S3.js.map +1 -1
  116. package/ts_build/src/services/index.d.ts +3 -2
  117. package/ts_build/src/services/index.js +3 -3
  118. package/ts_build/src/services/index.js.map +1 -1
  119. package/ts_build/src/services/modules/index.js +10 -2
  120. package/ts_build/src/services/modules/index.js.map +1 -1
  121. package/ts_build/src/services/modules/types.d.ts +5 -2
  122. package/ts_build/src/services/script-execution/ScriptExecutor.js +22 -7
  123. package/ts_build/src/services/script-execution/ScriptExecutor.js.map +1 -1
  124. package/ts_build/src/services/script-execution/ScriptPolicy.d.ts +1 -1
  125. package/ts_build/src/services/script-execution/ScriptPolicy.js +4 -2
  126. package/ts_build/src/services/script-execution/ScriptPolicy.js.map +1 -1
  127. package/ts_build/src/types.d.ts +1 -0
  128. package/ts_build/src/types.js +1 -0
  129. package/ts_build/src/types.js.map +1 -1
  130. package/ts_build/src/utils/http.d.ts +27 -0
  131. package/ts_build/src/utils/http.js +98 -0
  132. package/ts_build/src/utils/http.js.map +1 -0
  133. package/ts_build/src/workers/auth/PasskeySetup.js +6 -7
  134. package/ts_build/src/workers/auth/PasskeySetup.js.map +1 -1
  135. package/ts_build/tests/clients/AIClient.test.js +11 -14
  136. package/ts_build/tests/clients/AIClient.test.js.map +1 -1
  137. package/ts_build/tests/manual/file-edits/figma.test.d.ts +0 -1
  138. package/ts_build/tests/manual/file-edits/figma.test.js +1 -46
  139. package/ts_build/tests/manual/file-edits/figma.test.js.map +1 -1
  140. package/ts_build/tests/plugins/language/languagePlugin-content-triggers.test.js +2 -0
  141. package/ts_build/tests/plugins/language/languagePlugin-content-triggers.test.js.map +1 -1
  142. package/ts_build/tests/plugins/language/languagePlugin.test.js +2 -0
  143. package/ts_build/tests/plugins/language/languagePlugin.test.js.map +1 -1
  144. package/ts_build/tests/processors/ToolResponseCache.test.js +2 -2
  145. package/ts_build/tests/processors/ToolResponseCache.test.js.map +1 -1
  146. package/ts_build/tests/test.spec.js +0 -14
  147. package/ts_build/tests/test.spec.js.map +1 -1
  148. package/ts_build/tests/tree-sitter/tree-sitter.test.d.ts +0 -1
  149. package/ts_build/tests/tree-sitter/tree-sitter.test.js +2 -183
  150. package/ts_build/tests/tree-sitter/tree-sitter.test.js.map +1 -1
  151. package/ts_build/tests/unit/modules/moduleLoading.test.js +6 -4
  152. package/ts_build/tests/unit/modules/moduleLoading.test.js.map +1 -1
  153. package/ts_build/tests/unit/plugins/pluginLoading.test.js +4 -4
  154. package/ts_build/tests/unit/plugins/pluginLoading.test.js.map +1 -1
  155. package/benchmarks/.dockerignore +0 -7
  156. package/benchmarks/README.md +0 -166
  157. package/benchmarks/docker/Dockerfile +0 -68
  158. package/benchmarks/example-config.yml +0 -27
  159. package/benchmarks/jest.config.js +0 -13
  160. package/benchmarks/package-lock.json +0 -4297
  161. package/benchmarks/package.json +0 -39
  162. package/benchmarks/results/27b0a06/2025-09-27/xai/xai-grok-code-fast-1.json +0 -2909
  163. package/benchmarks/results/4057aed/2025-08-14/anthropic/anthropic-claude-sonnet-4-20250514.json +0 -1671
  164. package/benchmarks/results/4542435/2025-08-05/lms/lms-openai-gpt-oss-20b.json +0 -2814
  165. package/benchmarks/results/4542435/2025-08-05/lms/lms-qwen-qwen3-30b-a3b-2507.json +0 -2014
  166. package/benchmarks/results/4fb9125/2025-08-07/anthropic/anthropic-claude-sonnet-4-20250514.json +0 -3121
  167. package/benchmarks/results/5766aee/2025-08-02/lms-qwen/qwen3-coder-30b.json +0 -98
  168. package/benchmarks/results/6d73808/2025-08-07/openai/openai-gpt-5.json +0 -3256
  169. package/benchmarks/results/77bf0a6/2025-08-02/lms-qwen/qwen3-30b-a3b-2507.json +0 -4298
  170. package/benchmarks/results/8c0d445/2025-08-03/anthropic/anthropic-claude-sonnet-4-20250514.json +0 -3031
  171. package/benchmarks/results/8c0d445/2025-08-03/openai/openai-gpt-4.1-2025-04-14.json +0 -2990
  172. package/benchmarks/results/ac6b2ab/2025-08-03/anthropic/anthropic-claude-sonnet-4-20250514.json +0 -3256
  173. package/benchmarks/results/ac6b2ab/2025-08-03/lms/lms-qwen-qwen3-coder-30b.json +0 -3007
  174. package/benchmarks/results/ac6b2ab/2025-08-03/openai/openai-gpt-4.1-2025-04-14.json +0 -3256
  175. package/benchmarks/results/ac6b2ab/2025-08-03/openai/openai-gpt-4.1-mini-2025-04-14.json +0 -3036
  176. package/benchmarks/results/ac6b2ab/2025-08-03/openai/openai-gpt-4.1-nano-2025-04-14.json +0 -3280
  177. package/benchmarks/results/adff675/2025-08-04/lms/lms-qwen-qwen3-30b-a3b-2507.json +0 -1920
  178. package/benchmarks/results/adff675/2025-08-04/lms/lms-qwen-qwen3-coder-30b.json +0 -3281
  179. package/benchmarks/results/b502ed9/2025-08-03/lms-qwen/qwen3-coder-30b.json +0 -2896
  180. package/benchmarks/results/d1a8129/2025-08-03/lms/lms-qwen-qwen3-coder-30b.json +0 -3011
  181. package/benchmarks/results/e60471c/2025-08-03/lms/qwen3-30b-a3b-2507.json +0 -3003
  182. package/benchmarks/scripts/build-and-run.sh +0 -47
  183. package/benchmarks/scripts/clone-exercism.sh +0 -92
  184. package/benchmarks/scripts/validate.sh +0 -48
  185. package/benchmarks/src/__tests__/runner.test.ts +0 -27
  186. package/benchmarks/src/cli.ts +0 -90
  187. package/benchmarks/src/evaluators/EvaluatorRegistry.ts +0 -64
  188. package/benchmarks/src/evaluators/JavaScriptEvaluator.ts +0 -183
  189. package/benchmarks/src/evaluators/index.ts +0 -3
  190. package/benchmarks/src/evaluators/types.ts +0 -22
  191. package/benchmarks/src/index.ts +0 -3
  192. package/benchmarks/src/providers.ts +0 -13
  193. package/benchmarks/src/runner.ts +0 -824
  194. package/benchmarks/src/types.ts +0 -63
  195. package/benchmarks/tsconfig.json +0 -19
  196. package/leaderboard/README.md +0 -148
  197. package/leaderboard/app/api/benchmark-data/route.ts +0 -131
  198. package/leaderboard/app/api/benchmark-detail/route.ts +0 -172
  199. package/leaderboard/app/details/[model]/[provider]/[language]/page.tsx +0 -501
  200. package/leaderboard/app/exercise/[model]/[provider]/[language]/[exercise]/page.tsx +0 -375
  201. package/leaderboard/app/globals.css +0 -27
  202. package/leaderboard/app/layout.tsx +0 -21
  203. package/leaderboard/app/page.tsx +0 -170
  204. package/leaderboard/components/LeaderboardTable.tsx +0 -168
  205. package/leaderboard/components/PerformanceChart.tsx +0 -109
  206. package/leaderboard/next-env.d.ts +0 -5
  207. package/leaderboard/next.config.js +0 -4
  208. package/leaderboard/package-lock.json +0 -6363
  209. package/leaderboard/package.json +0 -28
  210. package/leaderboard/postcss.config.js +0 -6
  211. package/leaderboard/tailwind.config.js +0 -17
  212. package/leaderboard/tsconfig.json +0 -28
  213. package/leaderboard/types/benchmark.ts +0 -67
  214. package/leaderboard/utils/dataProcessor.ts +0 -33
  215. package/src/agents/tools/asana/definitions.ts +0 -199
  216. package/src/agents/tools/asana/index.ts +0 -108
  217. package/src/agents/tools/ast/astAppendNode.ts +0 -90
  218. package/src/agents/tools/ast/astDeleteNode.ts +0 -88
  219. package/src/agents/tools/ast/astEditNode.ts +0 -95
  220. package/src/agents/tools/ast/astGetPathForLine.ts +0 -73
  221. package/src/agents/tools/ast/astListPaths.ts +0 -66
  222. package/src/agents/tools/ast/index.ts +0 -7
  223. package/src/agents/tools/github/definitions.ts +0 -89
  224. package/src/agents/tools/github/index.ts +0 -67
  225. package/src/chat-old.ts +0 -446
  226. package/src/plugins/asana.ts +0 -146
  227. package/src/plugins/downloader/plugin.ts +0 -103
  228. package/src/plugins/downloader/types.ts +0 -92
  229. package/src/plugins/figma.ts +0 -158
  230. package/src/plugins/github.ts +0 -219
  231. package/src/plugins/jira.ts +0 -115
  232. package/src/plugins/linear.ts +0 -230
  233. package/src/plugins/notion.ts +0 -179
  234. package/src/plugins/tree-sitter/editor.ts +0 -369
  235. package/src/plugins/tree-sitter/lang-packs/index.ts +0 -23
  236. package/src/plugins/tree-sitter/lang-packs/java.ts +0 -59
  237. package/src/plugins/tree-sitter/lang-packs/javascript.ts +0 -57
  238. package/src/plugins/tree-sitter/lang-packs/python.ts +0 -45
  239. package/src/plugins/tree-sitter/lang-packs/types.ts +0 -79
  240. package/src/plugins/tree-sitter/lang-packs/typescript.ts +0 -49
  241. package/src/plugins/tree-sitter/parser.ts +0 -470
  242. package/src/plugins/tree-sitter/simple-paths.ts +0 -467
  243. package/tests/tree-sitter/editor.test.ts +0 -113
  244. package/tests/tree-sitter/invalid.test.ts +0 -299
  245. package/tests/tree-sitter/paths/common-edits.test.ts +0 -564
  246. package/tests/tree-sitter/paths/debug-exact-position.test.ts +0 -44
  247. package/tests/tree-sitter/paths/debug-line-indexing.test.ts +0 -49
  248. package/tests/tree-sitter/paths/debug-paths.test.ts +0 -90
  249. package/tests/tree-sitter/paths/paths.test.ts +0 -170
  250. package/tests/tree-sitter/paths/simple-paths.test.ts +0 -367
  251. package/tests/tree-sitter/sample-after.ts +0 -48
  252. package/tests/tree-sitter/sample-before.ts +0 -25
  253. package/tests/tree-sitter/test-files/completely-broken.ts +0 -7
  254. package/tests/tree-sitter/test-files/duplicate-braces.ts +0 -39
  255. package/tests/tree-sitter/test-files/invalid-nesting.ts +0 -39
  256. package/tests/tree-sitter/test-files/malformed-signature.ts +0 -39
  257. package/tests/tree-sitter/test-files/mismatched-parens.ts +0 -39
  258. package/tests/tree-sitter/test-files/missing-semicolon.ts +0 -39
  259. package/tests/tree-sitter/test-files/partially-broken.ts +0 -20
  260. package/tests/tree-sitter/test-files/specific-errors.ts +0 -14
  261. package/tests/tree-sitter/test-files/unclosed-string.ts +0 -39
  262. package/tests/tree-sitter/tree-sitter.test.ts +0 -251
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tyvm/knowhow",
3
- "version": "0.0.90",
3
+ "version": "0.0.91",
4
4
  "description": "ai cli with plugins and agents",
5
5
  "main": "ts_build/src/index.js",
6
6
  "bin": {
@@ -14,18 +14,18 @@
14
14
  "dataset:diffs:generate": "ts-node src/dataset/diffs/generate.ts",
15
15
  "dataset:diffs:jsonl": "ts-node src/dataset/diffs/jsonl.ts",
16
16
  "prepublishOnly": "npm run compile",
17
- "lint": "tslint ./src/**/*.ts"
17
+ "lint": "tslint ./src/**/*.ts",
18
+ "lint:deps": "depcheck --config=.depcheckrc",
19
+ "lint:all": "npm run lint && npm run lint:deps"
18
20
  },
19
21
  "keywords": [],
20
22
  "author": "Micah Riggan",
21
23
  "license": "MIT",
22
24
  "devDependencies": {
23
25
  "@babel/preset-typescript": "^7.23.3",
24
- "@types/asana": "^0.18.16",
25
26
  "@types/diff": "^5.2.1",
26
27
  "@types/express": "^4.17.13",
27
28
  "@types/jest": "^29.5.13",
28
- "@types/jira-client": "^7.1.9",
29
29
  "@types/mocha": "^10.0.8",
30
30
  "@types/node": "^20.6.3",
31
31
  "@types/pdf-parse": "^1.1.4",
@@ -42,52 +42,24 @@
42
42
  "@aws-sdk/client-s3": "^3.588.0",
43
43
  "@google/genai": "^0.14.1",
44
44
  "@inquirer/editor": "^4.2.18",
45
- "@linear/sdk": "^12.0.0",
46
45
  "@modelcontextprotocol/sdk": "^1.13.3",
47
- "@notionhq/client": "^2.2.14",
48
- "@octokit/rest": "^20.0.2",
49
46
  "@simplewebauthn/server": "^13.3.0",
50
- "@types/react": "^19.1.8",
51
47
  "@tyvm/knowhow-tunnel": "0.0.4",
52
- "asana": "^3.0.16",
53
- "axios": "^1.5.0",
54
- "cheerio": "^1.0.0",
55
48
  "commander": "^14.0.0",
56
49
  "diff": "^5.2.0",
57
- "esbuild": "^0.25.8",
58
50
  "express": "^4.19.2",
59
- "figma-js": "^1.16.1-0",
60
51
  "gitignore-to-glob": "^0.3.0",
61
52
  "glob": "11.0.3",
62
- "ink": "^6.0.1",
63
53
  "isolated-vm": "^5.0.4",
64
- "jira-client": "^8.2.2",
65
54
  "jiti": "^2.6.1",
66
55
  "marked": "^10.0.0",
67
56
  "marked-terminal": "^6.2.0",
68
57
  "minimatch": "^10.1.2",
69
- "morgan": "^1.10.0",
70
- "node-fetch": "^3.2.3",
71
58
  "node-jq": "^6.0.1",
72
- "node-pty": "^1.0.0",
73
- "node-record-lpcm16": "^1.0.1",
74
59
  "openai": "4.89.1",
75
- "ora": "^5.4.1",
76
- "parse-diff": "^0.11.1",
77
60
  "pdf-parse": "^1.1.1",
78
- "playwright": "^1.52.0",
79
- "playwright-extra": "^4.3.6",
80
- "progress-estimator": "^0.3.1",
81
- "puppeteer": "^24.4.0",
82
- "puppeteer-extra-plugin-stealth": "^2.11.2",
83
- "react": "^19.1.0",
84
- "source-map-support": "^0.5.21",
85
- "tree-sitter": "^0.21.1",
86
- "tree-sitter-javascript": "^0.23.1",
87
- "tree-sitter-typescript": "^0.23.1",
88
61
  "typescript": "^4.6.3",
89
62
  "ws": "^8.18.1",
90
- "youtube-dl-exec": "^2.5.5",
91
63
  "zod": "^3.24.2"
92
64
  },
93
65
  "directories": {
@@ -1 +1 @@
1
- export declare function astAppendNode(filePath: string, parentPath: string, newContent: string): Promise<string>;
1
+ export declare function astAppendNode(...args: any[]): Promise<string>;
@@ -1,96 +1,8 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.astAppendNode = void 0;
27
- const fs = __importStar(require("fs"));
28
- const utils_1 = require("../../../utils");
29
- const services_1 = require("../../../services");
30
- const parser_1 = require("../../../plugins/tree-sitter/parser");
31
- const editor_1 = require("../../../plugins/tree-sitter/editor");
32
- async function astAppendNode(filePath, parentPath, newContent) {
33
- const toolService = (this instanceof services_1.ToolsService ? this : (0, services_1.services)().Tools);
34
- const context = toolService.getContext();
35
- const exists = await (0, utils_1.fileExists)(filePath);
36
- if (!exists) {
37
- throw new Error(`File not found: ${filePath}`);
38
- }
39
- let originalContent = "";
40
- try {
41
- originalContent = fs.readFileSync(filePath, "utf8");
42
- }
43
- catch (error) {
44
- throw new Error(`Failed to read file ${filePath}: ${error.message}`);
45
- }
46
- if (context.Events) {
47
- await context.Events.emitBlocking("file:pre-edit", {
48
- filePath,
49
- operation: "ast-append-node",
50
- content: newContent,
51
- originalContent,
52
- astParentPath: parentPath,
53
- });
54
- }
55
- try {
56
- if (!parser_1.LanguageAgnosticParser.supportsFile(filePath)) {
57
- throw new Error(`Unsupported file type for AST parsing: ${filePath}`);
58
- }
59
- const parser = parser_1.LanguageAgnosticParser.createParserForFile(filePath);
60
- const editor = new editor_1.TreeEditor(parser, originalContent);
61
- const updatedEditor = editor.appendChild(parentPath, newContent);
62
- const updatedContent = updatedEditor.getCurrentText();
63
- fs.writeFileSync(filePath, updatedContent, "utf8");
64
- let eventResults = [];
65
- if (context.Events) {
66
- eventResults = await context.Events.emitBlocking("file:post-edit", {
67
- filePath,
68
- operation: "ast-append-node",
69
- content: newContent,
70
- originalContent,
71
- updatedContent,
72
- astParentPath: parentPath,
73
- success: true,
74
- });
75
- }
76
- const result = {
77
- file: filePath,
78
- parentPath,
79
- action: "appendChild",
80
- success: true,
81
- message: `Successfully appended child node to path: ${parentPath}`,
82
- };
83
- let eventResultsText = "";
84
- if (eventResults && eventResults.length > 0) {
85
- eventResultsText =
86
- "\n\nAdditional Information:\n" +
87
- JSON.stringify(eventResults, null, 2);
88
- }
89
- return JSON.stringify(result, null, 2) + eventResultsText;
90
- }
91
- catch (error) {
92
- throw new Error(`Failed to append node in ${filePath}: ${error.message}`);
93
- }
4
+ async function astAppendNode(...args) {
5
+ throw new Error("AST tools require @tyvm/knowhow-module-ast to be installed and configured in knowhow.json modules.");
94
6
  }
95
7
  exports.astAppendNode = astAppendNode;
96
8
  //# sourceMappingURL=astAppendNode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"astAppendNode.js","sourceRoot":"","sources":["../../../../../src/agents/tools/ast/astAppendNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"astAppendNode.js","sourceRoot":"","sources":["../../../../../src/agents/tools/ast/astAppendNode.ts"],"names":[],"mappings":";;;AAIO,KAAK,UAAU,aAAa,CAAC,GAAG,IAAW;IAChD,MAAM,IAAI,KAAK,CACb,oGAAoG,CACrG,CAAC;AACJ,CAAC;AAJD,sCAIC"}
@@ -1 +1 @@
1
- export declare function astDeleteNode(filePath: string, path: string): Promise<string>;
1
+ export declare function astDeleteNode(...args: any[]): Promise<string>;
@@ -1,94 +1,8 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.astDeleteNode = void 0;
27
- const fs = __importStar(require("fs"));
28
- const utils_1 = require("../../../utils");
29
- const services_1 = require("../../../services");
30
- const parser_1 = require("../../../plugins/tree-sitter/parser");
31
- const editor_1 = require("../../../plugins/tree-sitter/editor");
32
- async function astDeleteNode(filePath, path) {
33
- const toolService = (this instanceof services_1.ToolsService ? this : (0, services_1.services)().Tools);
34
- const context = toolService.getContext();
35
- const exists = await (0, utils_1.fileExists)(filePath);
36
- if (!exists) {
37
- throw new Error(`File not found: ${filePath}`);
38
- }
39
- let originalContent = "";
40
- try {
41
- originalContent = fs.readFileSync(filePath, "utf8");
42
- }
43
- catch (error) {
44
- throw new Error(`Failed to read file ${filePath}: ${error.message}`);
45
- }
46
- if (context.Events) {
47
- await context.Events.emitBlocking("file:pre-edit", {
48
- filePath,
49
- operation: "ast-delete-node",
50
- originalContent,
51
- astPath: path,
52
- });
53
- }
54
- try {
55
- if (!parser_1.LanguageAgnosticParser.supportsFile(filePath)) {
56
- throw new Error(`Unsupported file type for AST parsing: ${filePath}`);
57
- }
58
- const parser = parser_1.LanguageAgnosticParser.createParserForFile(filePath);
59
- const editor = new editor_1.TreeEditor(parser, originalContent);
60
- const updatedEditor = editor.deleteNodeByPath(path);
61
- const updatedContent = updatedEditor.getCurrentText();
62
- fs.writeFileSync(filePath, updatedContent, "utf8");
63
- let eventResults = [];
64
- if (context.Events) {
65
- eventResults = await context.Events.emitBlocking("file:post-edit", {
66
- filePath,
67
- operation: "ast-delete-node",
68
- originalContent,
69
- updatedContent,
70
- astPath: path,
71
- success: true,
72
- });
73
- }
74
- const result = {
75
- file: filePath,
76
- path,
77
- action: "delete",
78
- success: true,
79
- message: `Successfully deleted node at path: ${path}`,
80
- };
81
- let eventResultsText = "";
82
- if (eventResults && eventResults.length > 0) {
83
- eventResultsText =
84
- "\n\nAdditional Information:\n" +
85
- JSON.stringify(eventResults, null, 2);
86
- }
87
- return JSON.stringify(result, null, 2) + eventResultsText;
88
- }
89
- catch (error) {
90
- throw new Error(`Failed to delete node in ${filePath}: ${error.message}`);
91
- }
4
+ async function astDeleteNode(...args) {
5
+ throw new Error("AST tools require @tyvm/knowhow-module-ast to be installed and configured in knowhow.json modules.");
92
6
  }
93
7
  exports.astDeleteNode = astDeleteNode;
94
8
  //# sourceMappingURL=astDeleteNode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"astDeleteNode.js","sourceRoot":"","sources":["../../../../../src/agents/tools/ast/astDeleteNode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,0CAA4C;AAC5C,gDAA2D;AAC3D,gEAA6E;AAC7E,gEAAiE;AAK1D,KAAK,UAAU,aAAa,CAAC,QAAgB,EAAE,IAAY;IAEhE,MAAM,WAAW,GAAG,CAClB,IAAI,YAAY,uBAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,mBAAQ,GAAE,CAAC,KAAK,CACvC,CAAC;IAElB,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC;IAEzC,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAU,EAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;KAChD;IAGD,IAAI,eAAe,GAAG,EAAE,CAAC;IACzB,IAAI;QACF,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;KACrD;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;KACtE;IAGD,IAAI,OAAO,CAAC,MAAM,EAAE;QAClB,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE;YACjD,QAAQ;YACR,SAAS,EAAE,iBAAiB;YAC5B,eAAe;YACf,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;KACJ;IAED,IAAI;QACF,IAAI,CAAC,+BAAsB,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;YAClD,MAAM,IAAI,KAAK,CAAC,0CAA0C,QAAQ,EAAE,CAAC,CAAC;SACvE;QAED,MAAM,MAAM,GAAG,+BAAsB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,IAAI,mBAAU,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,cAAc,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;QAGtD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QAGnD,IAAI,YAAY,GAAU,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,YAAY,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAAE;gBACjE,QAAQ;gBACR,SAAS,EAAE,iBAAiB;gBAC5B,eAAe;gBACf,cAAc;gBACd,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;SACJ;QAED,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,QAAQ;YACd,IAAI;YACJ,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,sCAAsC,IAAI,EAAE;SACtD,CAAC;QAGF,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAC1B,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,gBAAgB;gBACd,+BAA+B;oBAC/B,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;SACzC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,gBAAgB,CAAC;KAC3D;IAAC,OAAO,KAAU,EAAE;QAEnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;KAC3E;AACH,CAAC;AA9ED,sCA8EC"}
1
+ {"version":3,"file":"astDeleteNode.js","sourceRoot":"","sources":["../../../../../src/agents/tools/ast/astDeleteNode.ts"],"names":[],"mappings":";;;AAIO,KAAK,UAAU,aAAa,CAAC,GAAG,IAAW;IAChD,MAAM,IAAI,KAAK,CACb,oGAAoG,CACrG,CAAC;AACJ,CAAC;AAJD,sCAIC"}
@@ -1 +1 @@
1
- export declare function astEditNode(filePath: string, path: string, newContent: string): Promise<string>;
1
+ export declare function astEditNode(...args: any[]): Promise<string>;
@@ -1,96 +1,8 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.astEditNode = void 0;
27
- const fs = __importStar(require("fs"));
28
- const utils_1 = require("../../../utils");
29
- const services_1 = require("../../../services");
30
- const parser_1 = require("../../../plugins/tree-sitter/parser");
31
- const editor_1 = require("../../../plugins/tree-sitter/editor");
32
- async function astEditNode(filePath, path, newContent) {
33
- const toolService = (this instanceof services_1.ToolsService ? this : (0, services_1.services)().Tools);
34
- const context = toolService.getContext();
35
- const exists = await (0, utils_1.fileExists)(filePath);
36
- if (!exists) {
37
- throw new Error(`File not found: ${filePath}`);
38
- }
39
- let originalContent = "";
40
- try {
41
- originalContent = fs.readFileSync(filePath, "utf8");
42
- }
43
- catch (error) {
44
- throw new Error(`Failed to read file ${filePath}: ${error.message}`);
45
- }
46
- if (context.Events) {
47
- await context.Events.emitBlocking("file:pre-edit", {
48
- filePath,
49
- operation: "ast-edit-node",
50
- content: newContent,
51
- originalContent,
52
- astPath: path,
53
- });
54
- }
55
- try {
56
- if (!parser_1.LanguageAgnosticParser.supportsFile(filePath)) {
57
- throw new Error(`Unsupported file type for AST parsing: ${filePath}`);
58
- }
59
- const parser = parser_1.LanguageAgnosticParser.createParserForFile(filePath);
60
- const editor = new editor_1.TreeEditor(parser, originalContent);
61
- const updatedEditor = editor.updateNodeByPath(path, newContent);
62
- const updatedContent = updatedEditor.getCurrentText();
63
- fs.writeFileSync(filePath, updatedContent, "utf8");
64
- let eventResults = [];
65
- if (context.Events) {
66
- eventResults = await context.Events.emitBlocking("file:post-edit", {
67
- filePath,
68
- operation: "ast-edit-node",
69
- content: newContent,
70
- originalContent,
71
- updatedContent,
72
- astPath: path,
73
- success: true,
74
- });
75
- }
76
- const result = {
77
- file: filePath,
78
- path,
79
- action: "update",
80
- success: true,
81
- message: `Successfully updated node at path: ${path}`,
82
- };
83
- let eventResultsText = "";
84
- if (eventResults && eventResults.length > 0) {
85
- eventResultsText =
86
- "\n\nAdditional Information:\n" +
87
- JSON.stringify(eventResults, null, 2);
88
- }
89
- return JSON.stringify(result, null, 2) + eventResultsText;
90
- }
91
- catch (error) {
92
- throw new Error(`Failed to edit node in ${filePath}: ${error.message}`);
93
- }
4
+ async function astEditNode(...args) {
5
+ throw new Error("AST tools require @tyvm/knowhow-module-ast to be installed and configured in knowhow.json modules.");
94
6
  }
95
7
  exports.astEditNode = astEditNode;
96
8
  //# sourceMappingURL=astEditNode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"astEditNode.js","sourceRoot":"","sources":["../../../../../src/agents/tools/ast/astEditNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"astEditNode.js","sourceRoot":"","sources":["../../../../../src/agents/tools/ast/astEditNode.ts"],"names":[],"mappings":";;;AAIO,KAAK,UAAU,WAAW,CAAC,GAAG,IAAW;IAC9C,MAAM,IAAI,KAAK,CACb,oGAAoG,CACrG,CAAC;AACJ,CAAC;AAJD,kCAIC"}
@@ -1 +1 @@
1
- export declare function astGetPathForLine(filePath: string, searchText: string): Promise<string>;
1
+ export declare function astGetPathForLine(...args: any[]): Promise<string>;
@@ -1,78 +1,8 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.astGetPathForLine = void 0;
27
- const fs = __importStar(require("fs"));
28
- const utils_1 = require("../../../utils");
29
- const services_1 = require("../../../services");
30
- const parser_1 = require("../../../plugins/tree-sitter/parser");
31
- async function astGetPathForLine(filePath, searchText) {
32
- const toolService = (this instanceof services_1.ToolsService ? this : (0, services_1.services)().Tools);
33
- const context = toolService.getContext();
34
- if (context.Events) {
35
- await context.Events.emitBlocking("ast:pre-get-path-for-line", {
36
- filePath,
37
- searchText,
38
- });
39
- }
40
- const exists = await (0, utils_1.fileExists)(filePath);
41
- if (!exists) {
42
- throw new Error(`File not found: ${filePath}`);
43
- }
44
- try {
45
- const content = fs.readFileSync(filePath, "utf8");
46
- if (!parser_1.LanguageAgnosticParser.supportsFile(filePath)) {
47
- throw new Error(`Unsupported file type for AST parsing: ${filePath}`);
48
- }
49
- const parser = parser_1.LanguageAgnosticParser.createParserForFile(filePath);
50
- const tree = parser.parseString(content);
51
- const pathLocations = parser.findPathsForLine(tree, searchText);
52
- if (context.Events) {
53
- await context.Events.emitNonBlocking("ast:post-get-path-for-line", {
54
- filePath,
55
- searchText,
56
- pathCount: pathLocations.length,
57
- });
58
- }
59
- const result = {
60
- file: filePath,
61
- searchText,
62
- language: parser.getLanguage(),
63
- totalMatches: pathLocations.length,
64
- matches: pathLocations.map((loc) => ({
65
- path: loc.path,
66
- line: loc.row + 1,
67
- column: loc.column + 1,
68
- text: loc.text,
69
- })),
70
- };
71
- return JSON.stringify(result, null, 2);
72
- }
73
- catch (error) {
74
- throw new Error(`Failed to get path for line in ${filePath}: ${error.message}`);
75
- }
4
+ async function astGetPathForLine(...args) {
5
+ throw new Error("AST tools require @tyvm/knowhow-module-ast to be installed and configured in knowhow.json modules.");
76
6
  }
77
7
  exports.astGetPathForLine = astGetPathForLine;
78
8
  //# sourceMappingURL=astGetPathForLine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"astGetPathForLine.js","sourceRoot":"","sources":["../../../../../src/agents/tools/ast/astGetPathForLine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,0CAA4C;AAC5C,gDAA2D;AAC3D,gEAA6E;AAMtE,KAAK,UAAU,iBAAiB,CACrC,QAAgB,EAChB,UAAkB;IAGlB,MAAM,WAAW,GAAG,CAClB,IAAI,YAAY,uBAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,mBAAQ,GAAE,CAAC,KAAK,CACvC,CAAC;IAElB,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC;IAGzC,IAAI,OAAO,CAAC,MAAM,EAAE;QAClB,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,2BAA2B,EAAE;YAC7D,QAAQ;YACR,UAAU;SACX,CAAC,CAAC;KACJ;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAU,EAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;KAChD;IAED,IAAI;QACF,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAElD,IAAI,CAAC,+BAAsB,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;YAClD,MAAM,IAAI,KAAK,CAAC,0CAA0C,QAAQ,EAAE,CAAC,CAAC;SACvE;QAED,MAAM,MAAM,GAAG,+BAAsB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAGhE,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,MAAM,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,4BAA4B,EAAE;gBACjE,QAAQ;gBACR,UAAU;gBACV,SAAS,EAAE,aAAa,CAAC,MAAM;aAChC,CAAC,CAAC;SACJ;QAED,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,QAAQ;YACd,UAAU;YACV,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE;YAC9B,YAAY,EAAE,aAAa,CAAC,MAAM;YAClC,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACnC,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;gBACjB,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC;gBACtB,IAAI,EAAE,GAAG,CAAC,IAAI;aACf,CAAC,CAAC;SACJ,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;KACxC;IAAC,OAAO,KAAU,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,kCAAkC,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAC/D,CAAC;KACH;AACH,CAAC;AA/DD,8CA+DC"}
1
+ {"version":3,"file":"astGetPathForLine.js","sourceRoot":"","sources":["../../../../../src/agents/tools/ast/astGetPathForLine.ts"],"names":[],"mappings":";;;AAIO,KAAK,UAAU,iBAAiB,CAAC,GAAG,IAAW;IACpD,MAAM,IAAI,KAAK,CACb,oGAAoG,CACrG,CAAC;AACJ,CAAC;AAJD,8CAIC"}
@@ -1 +1 @@
1
- export declare function astListPaths(filePath: string): Promise<string>;
1
+ export declare function astListPaths(...args: any[]): Promise<string>;
@@ -1,78 +1,8 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.astListPaths = void 0;
27
- const fs = __importStar(require("fs"));
28
- const utils_1 = require("../../../utils");
29
- const services_1 = require("../../../services");
30
- const parser_1 = require("../../../plugins/tree-sitter/parser");
31
- const editor_1 = require("../../../plugins/tree-sitter/editor");
32
- async function astListPaths(filePath) {
33
- const toolService = (this instanceof services_1.ToolsService ? this : (0, services_1.services)().Tools);
34
- const context = toolService.getContext();
35
- if (context.Events) {
36
- await context.Events.emitBlocking("file:pre-read", {
37
- filePath,
38
- });
39
- await context.Events.emitNonBlocking("ast:pre-list-paths", {
40
- filePath,
41
- });
42
- }
43
- const exists = await (0, utils_1.fileExists)(filePath);
44
- if (!exists) {
45
- throw new Error(`File not found: ${filePath}`);
46
- }
47
- try {
48
- const content = fs.readFileSync(filePath, "utf8");
49
- if (!parser_1.LanguageAgnosticParser.supportsFile(filePath)) {
50
- throw new Error(`Unsupported file type for AST parsing: ${filePath}`);
51
- }
52
- const parser = parser_1.LanguageAgnosticParser.createParserForFile(filePath);
53
- const editor = new editor_1.TreeEditor(parser, content);
54
- const paths = editor.getAllSimplePaths();
55
- if (context.Events) {
56
- await context.Events.emitNonBlocking("file:post-read", {
57
- filePath,
58
- content,
59
- });
60
- await context.Events.emitNonBlocking("ast:post-list-paths", {
61
- filePath,
62
- paths,
63
- });
64
- }
65
- const result = {
66
- file: filePath,
67
- language: parser.getLanguage(),
68
- totalPaths: paths.length,
69
- paths: paths.sort(),
70
- };
71
- return JSON.stringify(result, null, 2);
72
- }
73
- catch (error) {
74
- throw new Error(`Failed to parse file ${filePath}: ${error.message}`);
75
- }
4
+ async function astListPaths(...args) {
5
+ throw new Error("AST tools require @tyvm/knowhow-module-ast to be installed and configured in knowhow.json modules.");
76
6
  }
77
7
  exports.astListPaths = astListPaths;
78
8
  //# sourceMappingURL=astListPaths.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"astListPaths.js","sourceRoot":"","sources":["../../../../../src/agents/tools/ast/astListPaths.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,0CAA4C;AAC5C,gDAA2D;AAC3D,gEAA6E;AAC7E,gEAAiE;AAK1D,KAAK,UAAU,YAAY,CAAC,QAAgB;IAEjD,MAAM,WAAW,GAAG,CAClB,IAAI,YAAY,uBAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,mBAAQ,GAAE,CAAC,KAAK,CACvC,CAAC;IAElB,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC;IAEzC,IAAI,OAAO,CAAC,MAAM,EAAE;QAClB,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE;YACjD,QAAQ;SACT,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,oBAAoB,EAAE;YACzD,QAAQ;SACT,CAAC,CAAC;KACJ;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAU,EAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;KAChD;IAED,IAAI;QACF,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAElD,IAAI,CAAC,+BAAsB,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;YAClD,MAAM,IAAI,KAAK,CAAC,0CAA0C,QAAQ,EAAE,CAAC,CAAC;SACvE;QAED,MAAM,MAAM,GAAG,+BAAsB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,IAAI,mBAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAGzC,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,MAAM,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,gBAAgB,EAAE;gBACrD,QAAQ;gBACR,OAAO;aACR,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,qBAAqB,EAAE;gBAC1D,QAAQ;gBACR,KAAK;aACN,CAAC,CAAC;SACJ;QAED,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE;YAC9B,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;SACpB,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;KACxC;IAAC,OAAO,KAAU,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;KACvE;AACH,CAAC;AAxDD,oCAwDC"}
1
+ {"version":3,"file":"astListPaths.js","sourceRoot":"","sources":["../../../../../src/agents/tools/ast/astListPaths.ts"],"names":[],"mappings":";;;AAIO,KAAK,UAAU,YAAY,CAAC,GAAG,IAAW;IAC/C,MAAM,IAAI,KAAK,CACb,oGAAoG,CACrG,CAAC;AACJ,CAAC;AAJD,oCAIC"}
@@ -1,9 +1,10 @@
1
- export declare function executeScript({ script, maxToolCalls, maxTokens, maxExecutionTimeMs, maxCostUsd, }: {
1
+ export declare function executeScript({ script, maxToolCalls, maxTokens, maxExecutionTimeMs, maxCostUsd, allowNetworkAccess, }: {
2
2
  script: string;
3
3
  maxToolCalls?: number;
4
4
  maxTokens?: number;
5
5
  maxExecutionTimeMs?: number;
6
6
  maxCostUsd?: number;
7
+ allowNetworkAccess?: boolean;
7
8
  }): Promise<{
8
9
  success: boolean;
9
10
  result: any;
@@ -11,7 +12,7 @@ export declare function executeScript({ script, maxToolCalls, maxTokens, maxExec
11
12
  artifacts: {
12
13
  id: string;
13
14
  name: string;
14
- type: "text" | "json" | "html" | "csv" | "markdown";
15
+ type: "text" | "json" | "csv" | "html" | "markdown";
15
16
  contentLength: number;
16
17
  createdAt: string;
17
18
  }[];
@@ -4,7 +4,7 @@ exports.executeScript = void 0;
4
4
  const ScriptExecutor_1 = require("../../../services/script-execution/ScriptExecutor");
5
5
  const Tools_1 = require("../../../services/Tools");
6
6
  const services_1 = require("../../../services");
7
- async function executeScript({ script, maxToolCalls, maxTokens, maxExecutionTimeMs, maxCostUsd, }) {
7
+ async function executeScript({ script, maxToolCalls, maxTokens, maxExecutionTimeMs, maxCostUsd, allowNetworkAccess, }) {
8
8
  try {
9
9
  const toolService = (this instanceof Tools_1.ToolsService ? this : (0, services_1.services)().Tools);
10
10
  const toolContext = toolService.getContext();
@@ -22,6 +22,9 @@ async function executeScript({ script, maxToolCalls, maxTokens, maxExecutionTime
22
22
  maxCostUsd: maxCostUsd || 1.0,
23
23
  maxMemoryMb: 100,
24
24
  },
25
+ policy: {
26
+ allowNetworkAccess: allowNetworkAccess ?? false,
27
+ },
25
28
  });
26
29
  const violations = result.trace.events
27
30
  .filter((e) => e.type.includes("violation") || e.type.includes("error"))