distill-mcp 0.6.0-beta

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 (440) hide show
  1. package/bin/cli.js +133 -0
  2. package/dist/analytics/session-tracker.d.ts +74 -0
  3. package/dist/analytics/session-tracker.d.ts.map +1 -0
  4. package/dist/analytics/session-tracker.js +123 -0
  5. package/dist/ast/benchmark.test.d.ts +7 -0
  6. package/dist/ast/benchmark.test.d.ts.map +1 -0
  7. package/dist/ast/benchmark.test.js +175 -0
  8. package/dist/ast/go/index.d.ts +9 -0
  9. package/dist/ast/go/index.d.ts.map +1 -0
  10. package/dist/ast/go/index.js +8 -0
  11. package/dist/ast/go/parser.d.ts +31 -0
  12. package/dist/ast/go/parser.d.ts.map +1 -0
  13. package/dist/ast/go/parser.js +428 -0
  14. package/dist/ast/go/parser.test.d.ts +5 -0
  15. package/dist/ast/go/parser.test.d.ts.map +1 -0
  16. package/dist/ast/go/parser.test.js +241 -0
  17. package/dist/ast/go/queries.d.ts +51 -0
  18. package/dist/ast/go/queries.d.ts.map +1 -0
  19. package/dist/ast/go/queries.js +114 -0
  20. package/dist/ast/go/utils.d.ts +66 -0
  21. package/dist/ast/go/utils.d.ts.map +1 -0
  22. package/dist/ast/go/utils.js +140 -0
  23. package/dist/ast/index.d.ts +39 -0
  24. package/dist/ast/index.d.ts.map +1 -0
  25. package/dist/ast/index.js +245 -0
  26. package/dist/ast/php/index.d.ts +9 -0
  27. package/dist/ast/php/index.d.ts.map +1 -0
  28. package/dist/ast/php/index.js +8 -0
  29. package/dist/ast/php/parser.d.ts +31 -0
  30. package/dist/ast/php/parser.d.ts.map +1 -0
  31. package/dist/ast/php/parser.js +388 -0
  32. package/dist/ast/php/parser.test.d.ts +5 -0
  33. package/dist/ast/php/parser.test.d.ts.map +1 -0
  34. package/dist/ast/php/parser.test.js +328 -0
  35. package/dist/ast/php/queries.d.ts +61 -0
  36. package/dist/ast/php/queries.d.ts.map +1 -0
  37. package/dist/ast/php/queries.js +117 -0
  38. package/dist/ast/php/utils.d.ts +83 -0
  39. package/dist/ast/php/utils.d.ts.map +1 -0
  40. package/dist/ast/php/utils.js +246 -0
  41. package/dist/ast/python/index.d.ts +9 -0
  42. package/dist/ast/python/index.d.ts.map +1 -0
  43. package/dist/ast/python/index.js +8 -0
  44. package/dist/ast/python/parser.d.ts +32 -0
  45. package/dist/ast/python/parser.d.ts.map +1 -0
  46. package/dist/ast/python/parser.js +422 -0
  47. package/dist/ast/python/parser.test.d.ts +5 -0
  48. package/dist/ast/python/parser.test.d.ts.map +1 -0
  49. package/dist/ast/python/parser.test.js +186 -0
  50. package/dist/ast/python/queries.d.ts +73 -0
  51. package/dist/ast/python/queries.d.ts.map +1 -0
  52. package/dist/ast/python/queries.js +137 -0
  53. package/dist/ast/python/utils.d.ts +63 -0
  54. package/dist/ast/python/utils.d.ts.map +1 -0
  55. package/dist/ast/python/utils.js +159 -0
  56. package/dist/ast/quick-scan.d.ts +40 -0
  57. package/dist/ast/quick-scan.d.ts.map +1 -0
  58. package/dist/ast/quick-scan.js +287 -0
  59. package/dist/ast/rust/index.d.ts +9 -0
  60. package/dist/ast/rust/index.d.ts.map +1 -0
  61. package/dist/ast/rust/index.js +8 -0
  62. package/dist/ast/rust/parser.d.ts +31 -0
  63. package/dist/ast/rust/parser.d.ts.map +1 -0
  64. package/dist/ast/rust/parser.js +416 -0
  65. package/dist/ast/rust/parser.test.d.ts +5 -0
  66. package/dist/ast/rust/parser.test.d.ts.map +1 -0
  67. package/dist/ast/rust/parser.test.js +329 -0
  68. package/dist/ast/rust/queries.d.ts +66 -0
  69. package/dist/ast/rust/queries.d.ts.map +1 -0
  70. package/dist/ast/rust/queries.js +132 -0
  71. package/dist/ast/rust/utils.d.ts +91 -0
  72. package/dist/ast/rust/utils.d.ts.map +1 -0
  73. package/dist/ast/rust/utils.js +254 -0
  74. package/dist/ast/swift/index.d.ts +10 -0
  75. package/dist/ast/swift/index.d.ts.map +1 -0
  76. package/dist/ast/swift/index.js +8 -0
  77. package/dist/ast/swift/parser.d.ts +31 -0
  78. package/dist/ast/swift/parser.d.ts.map +1 -0
  79. package/dist/ast/swift/parser.js +554 -0
  80. package/dist/ast/swift/parser.test.d.ts +5 -0
  81. package/dist/ast/swift/parser.test.d.ts.map +1 -0
  82. package/dist/ast/swift/parser.test.js +398 -0
  83. package/dist/ast/swift/queries.d.ts +71 -0
  84. package/dist/ast/swift/queries.d.ts.map +1 -0
  85. package/dist/ast/swift/queries.js +137 -0
  86. package/dist/ast/swift/utils.d.ts +94 -0
  87. package/dist/ast/swift/utils.d.ts.map +1 -0
  88. package/dist/ast/swift/utils.js +411 -0
  89. package/dist/ast/types.d.ts +96 -0
  90. package/dist/ast/types.d.ts.map +1 -0
  91. package/dist/ast/types.js +21 -0
  92. package/dist/ast/typescript.d.ts +24 -0
  93. package/dist/ast/typescript.d.ts.map +1 -0
  94. package/dist/ast/typescript.js +357 -0
  95. package/dist/cache/file-hash.d.ts +33 -0
  96. package/dist/cache/file-hash.d.ts.map +1 -0
  97. package/dist/cache/file-hash.js +59 -0
  98. package/dist/cache/index.d.ts +9 -0
  99. package/dist/cache/index.d.ts.map +1 -0
  100. package/dist/cache/index.js +8 -0
  101. package/dist/cache/smart-cache.d.ts +68 -0
  102. package/dist/cache/smart-cache.d.ts.map +1 -0
  103. package/dist/cache/smart-cache.js +266 -0
  104. package/dist/cache/types.d.ts +102 -0
  105. package/dist/cache/types.d.ts.map +1 -0
  106. package/dist/cache/types.js +6 -0
  107. package/dist/cli/analyze.d.ts +43 -0
  108. package/dist/cli/analyze.d.ts.map +1 -0
  109. package/dist/cli/analyze.js +250 -0
  110. package/dist/cli/doctor.d.ts +2 -0
  111. package/dist/cli/doctor.d.ts.map +1 -0
  112. package/dist/cli/doctor.js +127 -0
  113. package/dist/cli/hooks.d.ts +14 -0
  114. package/dist/cli/hooks.d.ts.map +1 -0
  115. package/dist/cli/hooks.js +229 -0
  116. package/dist/cli/index.d.ts +5 -0
  117. package/dist/cli/index.d.ts.map +1 -0
  118. package/dist/cli/index.js +4 -0
  119. package/dist/cli/setup.d.ts +10 -0
  120. package/dist/cli/setup.d.ts.map +1 -0
  121. package/dist/cli/setup.js +117 -0
  122. package/dist/cli/utils.d.ts +30 -0
  123. package/dist/cli/utils.d.ts.map +1 -0
  124. package/dist/cli/utils.js +116 -0
  125. package/dist/compressors/config.d.ts +9 -0
  126. package/dist/compressors/config.d.ts.map +1 -0
  127. package/dist/compressors/config.js +183 -0
  128. package/dist/compressors/conversation.d.ts +109 -0
  129. package/dist/compressors/conversation.d.ts.map +1 -0
  130. package/dist/compressors/conversation.js +404 -0
  131. package/dist/compressors/diff.d.ts +35 -0
  132. package/dist/compressors/diff.d.ts.map +1 -0
  133. package/dist/compressors/diff.js +389 -0
  134. package/dist/compressors/generic.d.ts +9 -0
  135. package/dist/compressors/generic.d.ts.map +1 -0
  136. package/dist/compressors/generic.js +188 -0
  137. package/dist/compressors/index.d.ts +31 -0
  138. package/dist/compressors/index.d.ts.map +1 -0
  139. package/dist/compressors/index.js +82 -0
  140. package/dist/compressors/logs.d.ts +9 -0
  141. package/dist/compressors/logs.d.ts.map +1 -0
  142. package/dist/compressors/logs.js +245 -0
  143. package/dist/compressors/multifile.d.ts +106 -0
  144. package/dist/compressors/multifile.d.ts.map +1 -0
  145. package/dist/compressors/multifile.js +498 -0
  146. package/dist/compressors/semantic.d.ts +33 -0
  147. package/dist/compressors/semantic.d.ts.map +1 -0
  148. package/dist/compressors/semantic.js +233 -0
  149. package/dist/compressors/stacktrace.d.ts +9 -0
  150. package/dist/compressors/stacktrace.d.ts.map +1 -0
  151. package/dist/compressors/stacktrace.js +259 -0
  152. package/dist/compressors/types.d.ts +146 -0
  153. package/dist/compressors/types.d.ts.map +1 -0
  154. package/dist/compressors/types.js +6 -0
  155. package/dist/config/output-config.d.ts +56 -0
  156. package/dist/config/output-config.d.ts.map +1 -0
  157. package/dist/config/output-config.js +78 -0
  158. package/dist/index.d.ts +21 -0
  159. package/dist/index.d.ts.map +1 -0
  160. package/dist/index.js +27 -0
  161. package/dist/middleware/chain.d.ts +49 -0
  162. package/dist/middleware/chain.d.ts.map +1 -0
  163. package/dist/middleware/chain.js +126 -0
  164. package/dist/middleware/index.d.ts +4 -0
  165. package/dist/middleware/index.d.ts.map +1 -0
  166. package/dist/middleware/index.js +3 -0
  167. package/dist/middleware/logging.d.ts +8 -0
  168. package/dist/middleware/logging.d.ts.map +1 -0
  169. package/dist/middleware/logging.js +71 -0
  170. package/dist/middleware/types.d.ts +58 -0
  171. package/dist/middleware/types.d.ts.map +1 -0
  172. package/dist/middleware/types.js +7 -0
  173. package/dist/parsers/eslint.d.ts +8 -0
  174. package/dist/parsers/eslint.d.ts.map +1 -0
  175. package/dist/parsers/eslint.js +132 -0
  176. package/dist/parsers/generic.d.ts +8 -0
  177. package/dist/parsers/generic.d.ts.map +1 -0
  178. package/dist/parsers/generic.js +234 -0
  179. package/dist/parsers/index.d.ts +34 -0
  180. package/dist/parsers/index.d.ts.map +1 -0
  181. package/dist/parsers/index.js +216 -0
  182. package/dist/parsers/types.d.ts +84 -0
  183. package/dist/parsers/types.d.ts.map +1 -0
  184. package/dist/parsers/types.js +6 -0
  185. package/dist/parsers/typescript.d.ts +8 -0
  186. package/dist/parsers/typescript.d.ts.map +1 -0
  187. package/dist/parsers/typescript.js +107 -0
  188. package/dist/pipelines/definitions.d.ts +50 -0
  189. package/dist/pipelines/definitions.d.ts.map +1 -0
  190. package/dist/pipelines/definitions.js +206 -0
  191. package/dist/sandbox/executor.d.ts +12 -0
  192. package/dist/sandbox/executor.d.ts.map +1 -0
  193. package/dist/sandbox/executor.js +191 -0
  194. package/dist/sandbox/index.d.ts +11 -0
  195. package/dist/sandbox/index.d.ts.map +1 -0
  196. package/dist/sandbox/index.js +9 -0
  197. package/dist/sandbox/sandbox.test.d.ts +7 -0
  198. package/dist/sandbox/sandbox.test.d.ts.map +1 -0
  199. package/dist/sandbox/sandbox.test.js +202 -0
  200. package/dist/sandbox/sdk/analyze.d.ts +36 -0
  201. package/dist/sandbox/sdk/analyze.d.ts.map +1 -0
  202. package/dist/sandbox/sdk/analyze.js +413 -0
  203. package/dist/sandbox/sdk/analyze.test.d.ts +7 -0
  204. package/dist/sandbox/sdk/analyze.test.d.ts.map +1 -0
  205. package/dist/sandbox/sdk/analyze.test.js +191 -0
  206. package/dist/sandbox/sdk/code.d.ts +20 -0
  207. package/dist/sandbox/sdk/code.d.ts.map +1 -0
  208. package/dist/sandbox/sdk/code.js +104 -0
  209. package/dist/sandbox/sdk/compress.d.ts +23 -0
  210. package/dist/sandbox/sdk/compress.d.ts.map +1 -0
  211. package/dist/sandbox/sdk/compress.js +107 -0
  212. package/dist/sandbox/sdk/conversation.d.ts +148 -0
  213. package/dist/sandbox/sdk/conversation.d.ts.map +1 -0
  214. package/dist/sandbox/sdk/conversation.js +177 -0
  215. package/dist/sandbox/sdk/files.d.ts +29 -0
  216. package/dist/sandbox/sdk/files.d.ts.map +1 -0
  217. package/dist/sandbox/sdk/files.js +41 -0
  218. package/dist/sandbox/sdk/git.d.ts +37 -0
  219. package/dist/sandbox/sdk/git.d.ts.map +1 -0
  220. package/dist/sandbox/sdk/git.js +313 -0
  221. package/dist/sandbox/sdk/git.test.d.ts +8 -0
  222. package/dist/sandbox/sdk/git.test.d.ts.map +1 -0
  223. package/dist/sandbox/sdk/git.test.js +160 -0
  224. package/dist/sandbox/sdk/index.d.ts +16 -0
  225. package/dist/sandbox/sdk/index.d.ts.map +1 -0
  226. package/dist/sandbox/sdk/index.js +15 -0
  227. package/dist/sandbox/sdk/multifile.d.ts +63 -0
  228. package/dist/sandbox/sdk/multifile.d.ts.map +1 -0
  229. package/dist/sandbox/sdk/multifile.js +130 -0
  230. package/dist/sandbox/sdk/pipeline.d.ts +16 -0
  231. package/dist/sandbox/sdk/pipeline.d.ts.map +1 -0
  232. package/dist/sandbox/sdk/pipeline.js +454 -0
  233. package/dist/sandbox/sdk/pipeline.test.d.ts +7 -0
  234. package/dist/sandbox/sdk/pipeline.test.d.ts.map +1 -0
  235. package/dist/sandbox/sdk/pipeline.test.js +197 -0
  236. package/dist/sandbox/sdk/search.d.ts +36 -0
  237. package/dist/sandbox/sdk/search.d.ts.map +1 -0
  238. package/dist/sandbox/sdk/search.js +338 -0
  239. package/dist/sandbox/sdk/search.test.d.ts +7 -0
  240. package/dist/sandbox/sdk/search.test.d.ts.map +1 -0
  241. package/dist/sandbox/sdk/search.test.js +183 -0
  242. package/dist/sandbox/sdk/utils.d.ts +18 -0
  243. package/dist/sandbox/sdk/utils.d.ts.map +1 -0
  244. package/dist/sandbox/sdk/utils.js +24 -0
  245. package/dist/sandbox/security/code-analyzer.d.ts +15 -0
  246. package/dist/sandbox/security/code-analyzer.d.ts.map +1 -0
  247. package/dist/sandbox/security/code-analyzer.js +87 -0
  248. package/dist/sandbox/security/index.d.ts +6 -0
  249. package/dist/sandbox/security/index.d.ts.map +1 -0
  250. package/dist/sandbox/security/index.js +5 -0
  251. package/dist/sandbox/security/path-validator.d.ts +23 -0
  252. package/dist/sandbox/security/path-validator.d.ts.map +1 -0
  253. package/dist/sandbox/security/path-validator.js +113 -0
  254. package/dist/sandbox/types.d.ts +577 -0
  255. package/dist/sandbox/types.d.ts.map +1 -0
  256. package/dist/sandbox/types.js +14 -0
  257. package/dist/server.d.ts +36 -0
  258. package/dist/server.d.ts.map +1 -0
  259. package/dist/server.js +133 -0
  260. package/dist/summarizers/build-logs.d.ts +11 -0
  261. package/dist/summarizers/build-logs.d.ts.map +1 -0
  262. package/dist/summarizers/build-logs.js +234 -0
  263. package/dist/summarizers/generic.d.ts +11 -0
  264. package/dist/summarizers/generic.d.ts.map +1 -0
  265. package/dist/summarizers/generic.js +93 -0
  266. package/dist/summarizers/index.d.ts +20 -0
  267. package/dist/summarizers/index.d.ts.map +1 -0
  268. package/dist/summarizers/index.js +43 -0
  269. package/dist/summarizers/server-logs.d.ts +11 -0
  270. package/dist/summarizers/server-logs.d.ts.map +1 -0
  271. package/dist/summarizers/server-logs.js +215 -0
  272. package/dist/summarizers/test-logs.d.ts +11 -0
  273. package/dist/summarizers/test-logs.d.ts.map +1 -0
  274. package/dist/summarizers/test-logs.js +258 -0
  275. package/dist/summarizers/types.d.ts +146 -0
  276. package/dist/summarizers/types.d.ts.map +1 -0
  277. package/dist/summarizers/types.js +21 -0
  278. package/dist/tools/analyze-build-output.d.ts +30 -0
  279. package/dist/tools/analyze-build-output.d.ts.map +1 -0
  280. package/dist/tools/analyze-build-output.js +45 -0
  281. package/dist/tools/analyze-context.d.ts +23 -0
  282. package/dist/tools/analyze-context.d.ts.map +1 -0
  283. package/dist/tools/analyze-context.js +78 -0
  284. package/dist/tools/auto-optimize.d.ts +9 -0
  285. package/dist/tools/auto-optimize.d.ts.map +1 -0
  286. package/dist/tools/auto-optimize.js +191 -0
  287. package/dist/tools/code-execute.d.ts +9 -0
  288. package/dist/tools/code-execute.d.ts.map +1 -0
  289. package/dist/tools/code-execute.js +84 -0
  290. package/dist/tools/code-skeleton.d.ts +33 -0
  291. package/dist/tools/code-skeleton.d.ts.map +1 -0
  292. package/dist/tools/code-skeleton.js +206 -0
  293. package/dist/tools/compress-context.d.ts +33 -0
  294. package/dist/tools/compress-context.d.ts.map +1 -0
  295. package/dist/tools/compress-context.js +64 -0
  296. package/dist/tools/context-budget.d.ts +43 -0
  297. package/dist/tools/context-budget.d.ts.map +1 -0
  298. package/dist/tools/context-budget.js +260 -0
  299. package/dist/tools/context-budget.test.d.ts +5 -0
  300. package/dist/tools/context-budget.test.d.ts.map +1 -0
  301. package/dist/tools/context-budget.test.js +219 -0
  302. package/dist/tools/conversation-compress.d.ts +46 -0
  303. package/dist/tools/conversation-compress.d.ts.map +1 -0
  304. package/dist/tools/conversation-compress.js +78 -0
  305. package/dist/tools/conversation-memory.d.ts +75 -0
  306. package/dist/tools/conversation-memory.d.ts.map +1 -0
  307. package/dist/tools/conversation-memory.js +289 -0
  308. package/dist/tools/deduplicate-errors.d.ts +30 -0
  309. package/dist/tools/deduplicate-errors.d.ts.map +1 -0
  310. package/dist/tools/deduplicate-errors.js +72 -0
  311. package/dist/tools/detect-retry-loop.d.ts +40 -0
  312. package/dist/tools/detect-retry-loop.d.ts.map +1 -0
  313. package/dist/tools/detect-retry-loop.js +212 -0
  314. package/dist/tools/diff-compress.d.ts +40 -0
  315. package/dist/tools/diff-compress.d.ts.map +1 -0
  316. package/dist/tools/diff-compress.js +94 -0
  317. package/dist/tools/discover-tools.d.ts +11 -0
  318. package/dist/tools/discover-tools.d.ts.map +1 -0
  319. package/dist/tools/discover-tools.js +163 -0
  320. package/dist/tools/dynamic-loader.d.ts +131 -0
  321. package/dist/tools/dynamic-loader.d.ts.map +1 -0
  322. package/dist/tools/dynamic-loader.js +378 -0
  323. package/dist/tools/dynamic-loader.test.d.ts +10 -0
  324. package/dist/tools/dynamic-loader.test.d.ts.map +1 -0
  325. package/dist/tools/dynamic-loader.test.js +164 -0
  326. package/dist/tools/lazy-mcp.d.ts +31 -0
  327. package/dist/tools/lazy-mcp.d.ts.map +1 -0
  328. package/dist/tools/lazy-mcp.js +151 -0
  329. package/dist/tools/lazy-mcp.test.d.ts +10 -0
  330. package/dist/tools/lazy-mcp.test.d.ts.map +1 -0
  331. package/dist/tools/lazy-mcp.test.js +172 -0
  332. package/dist/tools/multifile-compress.d.ts +36 -0
  333. package/dist/tools/multifile-compress.d.ts.map +1 -0
  334. package/dist/tools/multifile-compress.js +223 -0
  335. package/dist/tools/optimization-tips.d.ts +18 -0
  336. package/dist/tools/optimization-tips.d.ts.map +1 -0
  337. package/dist/tools/optimization-tips.js +133 -0
  338. package/dist/tools/registry.d.ts +70 -0
  339. package/dist/tools/registry.d.ts.map +1 -0
  340. package/dist/tools/registry.js +169 -0
  341. package/dist/tools/semantic-compress.d.ts +39 -0
  342. package/dist/tools/semantic-compress.d.ts.map +1 -0
  343. package/dist/tools/semantic-compress.js +113 -0
  344. package/dist/tools/semantic-compress.test.d.ts +5 -0
  345. package/dist/tools/semantic-compress.test.d.ts.map +1 -0
  346. package/dist/tools/semantic-compress.test.js +182 -0
  347. package/dist/tools/session-stats.d.ts +34 -0
  348. package/dist/tools/session-stats.d.ts.map +1 -0
  349. package/dist/tools/session-stats.js +194 -0
  350. package/dist/tools/set-output-config.d.ts +38 -0
  351. package/dist/tools/set-output-config.d.ts.map +1 -0
  352. package/dist/tools/set-output-config.js +122 -0
  353. package/dist/tools/smart-cache-tool.d.ts +38 -0
  354. package/dist/tools/smart-cache-tool.d.ts.map +1 -0
  355. package/dist/tools/smart-cache-tool.js +224 -0
  356. package/dist/tools/smart-file-read.d.ts +52 -0
  357. package/dist/tools/smart-file-read.d.ts.map +1 -0
  358. package/dist/tools/smart-file-read.js +481 -0
  359. package/dist/tools/smart-pipeline.d.ts +40 -0
  360. package/dist/tools/smart-pipeline.d.ts.map +1 -0
  361. package/dist/tools/smart-pipeline.js +295 -0
  362. package/dist/tools/summarize-logs.d.ts +36 -0
  363. package/dist/tools/summarize-logs.d.ts.map +1 -0
  364. package/dist/tools/summarize-logs.js +184 -0
  365. package/dist/tools/token-budget.test.d.ts +11 -0
  366. package/dist/tools/token-budget.test.d.ts.map +1 -0
  367. package/dist/tools/token-budget.test.js +275 -0
  368. package/dist/utils/bm25.d.ts +86 -0
  369. package/dist/utils/bm25.d.ts.map +1 -0
  370. package/dist/utils/bm25.js +153 -0
  371. package/dist/utils/bm25.test.d.ts +5 -0
  372. package/dist/utils/bm25.test.d.ts.map +1 -0
  373. package/dist/utils/bm25.test.js +156 -0
  374. package/dist/utils/command-normalizer.d.ts +39 -0
  375. package/dist/utils/command-normalizer.d.ts.map +1 -0
  376. package/dist/utils/command-normalizer.js +90 -0
  377. package/dist/utils/content-detector.d.ts +27 -0
  378. package/dist/utils/content-detector.d.ts.map +1 -0
  379. package/dist/utils/content-detector.js +127 -0
  380. package/dist/utils/embeddings.d.ts +54 -0
  381. package/dist/utils/embeddings.d.ts.map +1 -0
  382. package/dist/utils/embeddings.js +97 -0
  383. package/dist/utils/embeddings.test.d.ts +8 -0
  384. package/dist/utils/embeddings.test.d.ts.map +1 -0
  385. package/dist/utils/embeddings.test.js +96 -0
  386. package/dist/utils/error-normalizer.d.ts +39 -0
  387. package/dist/utils/error-normalizer.d.ts.map +1 -0
  388. package/dist/utils/error-normalizer.js +233 -0
  389. package/dist/utils/hybrid-search.d.ts +79 -0
  390. package/dist/utils/hybrid-search.d.ts.map +1 -0
  391. package/dist/utils/hybrid-search.js +146 -0
  392. package/dist/utils/hybrid-search.test.d.ts +5 -0
  393. package/dist/utils/hybrid-search.test.d.ts.map +1 -0
  394. package/dist/utils/hybrid-search.test.js +172 -0
  395. package/dist/utils/index.d.ts +13 -0
  396. package/dist/utils/index.d.ts.map +1 -0
  397. package/dist/utils/index.js +12 -0
  398. package/dist/utils/language-detector.d.ts +27 -0
  399. package/dist/utils/language-detector.d.ts.map +1 -0
  400. package/dist/utils/language-detector.js +94 -0
  401. package/dist/utils/log-parser.d.ts +46 -0
  402. package/dist/utils/log-parser.d.ts.map +1 -0
  403. package/dist/utils/log-parser.js +287 -0
  404. package/dist/utils/output-estimator.d.ts +54 -0
  405. package/dist/utils/output-estimator.d.ts.map +1 -0
  406. package/dist/utils/output-estimator.js +119 -0
  407. package/dist/utils/output-estimator.test.d.ts +5 -0
  408. package/dist/utils/output-estimator.test.d.ts.map +1 -0
  409. package/dist/utils/output-estimator.test.js +115 -0
  410. package/dist/utils/output-similarity.d.ts +48 -0
  411. package/dist/utils/output-similarity.d.ts.map +1 -0
  412. package/dist/utils/output-similarity.js +140 -0
  413. package/dist/utils/project-detector.d.ts +16 -0
  414. package/dist/utils/project-detector.d.ts.map +1 -0
  415. package/dist/utils/project-detector.js +119 -0
  416. package/dist/utils/segment-scorer.d.ts +99 -0
  417. package/dist/utils/segment-scorer.d.ts.map +1 -0
  418. package/dist/utils/segment-scorer.js +148 -0
  419. package/dist/utils/signature-grouper.d.ts +58 -0
  420. package/dist/utils/signature-grouper.d.ts.map +1 -0
  421. package/dist/utils/signature-grouper.js +185 -0
  422. package/dist/utils/tfidf.d.ts +45 -0
  423. package/dist/utils/tfidf.d.ts.map +1 -0
  424. package/dist/utils/tfidf.js +204 -0
  425. package/dist/utils/tfidf.test.d.ts +5 -0
  426. package/dist/utils/tfidf.test.d.ts.map +1 -0
  427. package/dist/utils/tfidf.test.js +115 -0
  428. package/dist/utils/token-counter.d.ts +35 -0
  429. package/dist/utils/token-counter.d.ts.map +1 -0
  430. package/dist/utils/token-counter.js +83 -0
  431. package/dist/utils/toon-serializer.d.ts +120 -0
  432. package/dist/utils/toon-serializer.d.ts.map +1 -0
  433. package/dist/utils/toon-serializer.js +472 -0
  434. package/dist/utils/toon-serializer.test.d.ts +7 -0
  435. package/dist/utils/toon-serializer.test.d.ts.map +1 -0
  436. package/dist/utils/toon-serializer.test.js +290 -0
  437. package/package.json +63 -0
  438. package/scripts/install.ps1 +133 -0
  439. package/scripts/install.sh +183 -0
  440. package/scripts/pre-commit-hook.sh +86 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-build-output.d.ts","sourceRoot":"","sources":["../../src/tools/analyze-build-output.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;CAQpC,CAAC;AAUF,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAgB7D;AAED,eAAO,MAAM,sBAAsB,EAAE,cAKpC,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Analyze Build Output Tool
3
+ *
4
+ * Analyzes and compresses build tool outputs (tsc, webpack, eslint, etc.)
5
+ * to dramatically reduce tokens while preserving critical information.
6
+ */
7
+ import { z } from "zod";
8
+ import { analyzeBuildOutput } from "../parsers/index.js";
9
+ // Minimal schema
10
+ export const analyzeBuildOutputSchema = {
11
+ type: "object",
12
+ properties: {
13
+ output: { type: "string" },
14
+ buildTool: { enum: ["tsc", "eslint", "webpack", "vite", "esbuild", "rust", "go", "generic"] },
15
+ verbosity: { enum: ["minimal", "normal", "detailed"] },
16
+ },
17
+ required: ["output"],
18
+ };
19
+ const inputSchema = z.object({
20
+ output: z.string(),
21
+ buildTool: z
22
+ .enum(["tsc", "eslint", "webpack", "vite", "esbuild", "rust", "go", "generic"])
23
+ .optional(),
24
+ verbosity: z.enum(["minimal", "normal", "detailed"]).optional().default("normal"),
25
+ });
26
+ export async function executeAnalyzeBuildOutput(args) {
27
+ const { output, buildTool, verbosity } = inputSchema.parse(args);
28
+ // Analyze the build output
29
+ const result = analyzeBuildOutput(output, {
30
+ buildTool: buildTool,
31
+ verbosity,
32
+ });
33
+ // Format with minimal header
34
+ const header = `[build] ${result.stats.tokensOriginal}→${result.stats.tokensCompressed} tokens (-${result.stats.reductionPercent}%)`;
35
+ const formatted = `${header}\n${result.summary}`;
36
+ return {
37
+ content: [{ type: "text", text: formatted }],
38
+ };
39
+ }
40
+ export const analyzeBuildOutputTool = {
41
+ name: "analyze_build_output",
42
+ description: "Parse and group build errors (tsc, eslint, webpack). 90%+ token reduction.",
43
+ inputSchema: analyzeBuildOutputSchema,
44
+ execute: executeAnalyzeBuildOutput,
45
+ };
@@ -0,0 +1,23 @@
1
+ import type { ServerConfig } from "../server";
2
+ export declare const analyzeContextSchema: {
3
+ type: "object";
4
+ properties: {
5
+ content: {
6
+ type: string;
7
+ description: string;
8
+ };
9
+ model: {
10
+ type: string;
11
+ description: string;
12
+ enum: string[];
13
+ };
14
+ };
15
+ required: string[];
16
+ };
17
+ export declare function analyzeContext(args: unknown, _config: ServerConfig): Promise<{
18
+ content: Array<{
19
+ type: "text";
20
+ text: string;
21
+ }>;
22
+ }>;
23
+ //# sourceMappingURL=analyze-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-context.d.ts","sourceRoot":"","sources":["../../src/tools/analyze-context.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;CAchC,CAAC;AAOF,wBAAsB,cAAc,CAClC,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA8E7D"}
@@ -0,0 +1,78 @@
1
+ import { encodingForModel } from "js-tiktoken";
2
+ import { z } from "zod";
3
+ import { ANTHROPIC_MODELS, calculateCost, formatCost, calculateContextUsage, } from "@ctxopt/shared";
4
+ export const analyzeContextSchema = {
5
+ type: "object",
6
+ properties: {
7
+ content: {
8
+ type: "string",
9
+ description: "The prompt or context content to analyze",
10
+ },
11
+ model: {
12
+ type: "string",
13
+ description: "The target model (default: claude-sonnet-4-20250514)",
14
+ enum: Object.keys(ANTHROPIC_MODELS),
15
+ },
16
+ },
17
+ required: ["content"],
18
+ };
19
+ const inputSchema = z.object({
20
+ content: z.string(),
21
+ model: z.string().optional().default("claude-sonnet-4-20250514"),
22
+ });
23
+ export async function analyzeContext(args, _config) {
24
+ const { content, model } = inputSchema.parse(args);
25
+ // Count tokens using tiktoken (cl100k_base is compatible with Claude)
26
+ const encoding = encodingForModel("gpt-4");
27
+ const tokens = encoding.encode(content);
28
+ const tokenCount = tokens.length;
29
+ // Calculate costs (assuming this is input)
30
+ const costs = calculateCost(model, tokenCount, 0);
31
+ const contextUsage = calculateContextUsage(tokenCount, model);
32
+ // Analyze content for optimization opportunities
33
+ const suggestions = [];
34
+ // Check context size
35
+ if (contextUsage > 80) {
36
+ suggestions.push(`- **Critical**: Context uses ${contextUsage}% of the window. Consider summarizing older messages.`);
37
+ }
38
+ else if (contextUsage > 50) {
39
+ suggestions.push(`- **Warning**: Context uses ${contextUsage}% of the window. Monitor growth.`);
40
+ }
41
+ // Check for potential redundancy (simple heuristic)
42
+ const lines = content.split("\n").filter((l) => l.trim().length > 0);
43
+ const uniqueLines = new Set(lines);
44
+ if (uniqueLines.size < lines.length * 0.9) {
45
+ const duplicatePercent = Math.round(((lines.length - uniqueLines.size) / lines.length) * 100);
46
+ suggestions.push(`- **Redundancy detected**: ~${duplicatePercent}% duplicate lines found. Consider deduplication.`);
47
+ }
48
+ // Check for long system prompts
49
+ const systemPromptMatch = content.match(/system[:\s]/i);
50
+ if (systemPromptMatch && tokenCount > 2000) {
51
+ suggestions.push(`- **Tip**: Long system prompt detected. Consider extracting reusable parts to reduce per-request tokens.`);
52
+ }
53
+ // Check for verbose formatting
54
+ if (content.includes("```") && tokenCount > 5000) {
55
+ const codeBlockCount = (content.match(/```/g) || []).length / 2;
56
+ if (codeBlockCount > 3) {
57
+ suggestions.push(`- **Tip**: ${Math.floor(codeBlockCount)} code blocks detected. Consider including only relevant snippets.`);
58
+ }
59
+ }
60
+ const modelInfo = ANTHROPIC_MODELS[model];
61
+ const modelName = modelInfo?.name || model;
62
+ const result = `## Context Analysis
63
+
64
+ **Token Count:** ${tokenCount.toLocaleString()} tokens
65
+ **Model:** ${modelName}
66
+ **Estimated Input Cost:** ${formatCost(costs.inputCostMicros)}
67
+ **Context Window Usage:** ${contextUsage}%
68
+
69
+ ${suggestions.length > 0
70
+ ? `### Optimization Suggestions\n\n${suggestions.join("\n")}`
71
+ : "### Status\n\n Context looks well-optimized!"}
72
+
73
+ ---
74
+ *Analyzed by CtxOpt*`;
75
+ return {
76
+ content: [{ type: "text", text: result }],
77
+ };
78
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Auto-Optimize Tool
3
+ *
4
+ * Unified tool that auto-detects content type and applies
5
+ * the appropriate optimization automatically.
6
+ */
7
+ import type { ToolDefinition } from "./registry.js";
8
+ export declare const autoOptimizeTool: ToolDefinition;
9
+ //# sourceMappingURL=auto-optimize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-optimize.d.ts","sourceRoot":"","sources":["../../src/tools/auto-optimize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AA8NpD,eAAO,MAAM,gBAAgB,EAAE,cAK9B,CAAC"}
@@ -0,0 +1,191 @@
1
+ /**
2
+ * Auto-Optimize Tool
3
+ *
4
+ * Unified tool that auto-detects content type and applies
5
+ * the appropriate optimization automatically.
6
+ */
7
+ import { detectContentType } from "../utils/content-detector.js";
8
+ import { compressContent } from "../compressors/index.js";
9
+ import { getSummarizer } from "../summarizers/index.js";
10
+ import { analyzeBuildOutput } from "../parsers/index.js";
11
+ import { groupBySignature, formatGroups, calculateStats } from "../utils/signature-grouper.js";
12
+ import { countTokens } from "../utils/token-counter.js";
13
+ // Minimal schema - format rarely used, keep only essential properties
14
+ const autoOptimizeSchema = {
15
+ type: "object",
16
+ properties: {
17
+ content: { type: "string" },
18
+ hint: { enum: ["build", "logs", "errors", "code", "auto"] },
19
+ aggressive: { type: "boolean" },
20
+ format: { enum: ["plain", "markdown"] },
21
+ },
22
+ required: ["content"],
23
+ };
24
+ function isBuildOutput(content) {
25
+ // Detect if content is build output
26
+ return (content.includes("error TS") ||
27
+ content.includes("warning TS") ||
28
+ content.includes("error[E") ||
29
+ content.includes("error:") ||
30
+ /\d+:\d+.*error/i.test(content) ||
31
+ content.includes("npm ERR") ||
32
+ content.includes("ERROR in"));
33
+ }
34
+ function optimizeBuildOutput(content) {
35
+ const originalTokens = countTokens(content);
36
+ const result = analyzeBuildOutput(content);
37
+ return {
38
+ optimizedContent: result.summary,
39
+ detectedType: `build-${result.buildTool}`,
40
+ originalTokens,
41
+ optimizedTokens: result.stats.tokensCompressed,
42
+ savingsPercent: result.stats.reductionPercent,
43
+ method: "error-grouping",
44
+ };
45
+ }
46
+ function optimizeLogs(content, format = "plain") {
47
+ const originalTokens = countTokens(content);
48
+ const summarizer = getSummarizer(content);
49
+ const summaryResult = summarizer.summarize(content, { detail: "normal" });
50
+ // Format summary as text
51
+ const summaryText = formatLogSummary(summaryResult, format);
52
+ const optimizedTokens = countTokens(summaryText);
53
+ return {
54
+ optimizedContent: summaryText,
55
+ detectedType: `logs-${summarizer.logType}`,
56
+ originalTokens,
57
+ optimizedTokens,
58
+ savingsPercent: Math.round((1 - optimizedTokens / originalTokens) * 100),
59
+ method: "log-summarization",
60
+ };
61
+ }
62
+ function formatLogSummary(summary, format = "plain") {
63
+ const parts = [];
64
+ const md = format === "markdown";
65
+ parts.push(md ? `## ${summary.overview}` : summary.overview);
66
+ if (md)
67
+ parts.push("");
68
+ if (summary.errors.length > 0) {
69
+ if (md)
70
+ parts.push("### Errors");
71
+ else
72
+ parts.push("ERRORS:");
73
+ for (const error of summary.errors.slice(0, 10)) {
74
+ const count = error.count > 1 ? ` (×${error.count})` : "";
75
+ const ts = error.timestamp ? `${error.timestamp} ` : "";
76
+ parts.push(md ? `- ${ts}${error.message}${count}` : ` ${ts}${error.message}${count}`);
77
+ }
78
+ if (md)
79
+ parts.push("");
80
+ }
81
+ if (summary.warnings.length > 0) {
82
+ if (md)
83
+ parts.push("### Warnings");
84
+ else
85
+ parts.push("WARNINGS:");
86
+ for (const warning of summary.warnings.slice(0, 5)) {
87
+ const count = warning.count > 1 ? ` (×${warning.count})` : "";
88
+ const ts = warning.timestamp ? `${warning.timestamp} ` : "";
89
+ parts.push(md ? `- ${ts}${warning.message}${count}` : ` ${ts}${warning.message}${count}`);
90
+ }
91
+ if (md)
92
+ parts.push("");
93
+ }
94
+ if (summary.keyEvents.length > 0) {
95
+ if (md)
96
+ parts.push("### Key Events");
97
+ else
98
+ parts.push("KEY EVENTS:");
99
+ for (const event of summary.keyEvents.slice(0, 5)) {
100
+ const ts = event.timestamp ? `${event.timestamp} ` : "";
101
+ parts.push(md ? `- ${ts}${event.message}` : ` ${ts}${event.message}`);
102
+ }
103
+ }
104
+ return parts.join("\n");
105
+ }
106
+ function optimizeErrors(content, format = "plain") {
107
+ const originalTokens = countTokens(content);
108
+ const lines = content.split("\n").filter((l) => l.trim());
109
+ const md = format === "markdown";
110
+ // Group errors by signature
111
+ const result = groupBySignature(lines);
112
+ const stats = calculateStats(result);
113
+ const formatted = formatGroups(result, format);
114
+ const header = md
115
+ ? `**${stats.originalLines} lines → ${stats.uniqueErrors} unique patterns** (${stats.totalDuplicates} duplicates removed)\n\n`
116
+ : `${stats.originalLines} lines -> ${stats.uniqueErrors} unique patterns (${stats.totalDuplicates} duplicates removed)\n\n`;
117
+ const optimizedContent = header + formatted;
118
+ const optimizedTokens = countTokens(optimizedContent);
119
+ return {
120
+ optimizedContent,
121
+ detectedType: "errors",
122
+ originalTokens,
123
+ optimizedTokens,
124
+ savingsPercent: stats.reductionPercent,
125
+ method: "error-deduplication",
126
+ };
127
+ }
128
+ function optimizeGeneric(content, aggressive) {
129
+ const originalTokens = countTokens(content);
130
+ const result = compressContent(content, {
131
+ detail: aggressive ? "minimal" : "normal",
132
+ });
133
+ return {
134
+ optimizedContent: result.compressed,
135
+ detectedType: "generic",
136
+ originalTokens,
137
+ optimizedTokens: result.stats.compressedTokens,
138
+ savingsPercent: result.stats.reductionPercent,
139
+ method: result.stats.technique,
140
+ };
141
+ }
142
+ async function autoOptimize(args) {
143
+ const { content, hint = "auto", aggressive = false, format = "plain" } = args;
144
+ const md = format === "markdown";
145
+ // Minimum threshold for optimization (500 chars ~ 125 tokens)
146
+ if (content.length < 500) {
147
+ const msg = md
148
+ ? `## Already Optimal\n\nContent is too short (${content.length} chars) to benefit from optimization.\n\n${content}`
149
+ : `Already Optimal: Content too short (${content.length} chars)\n\n${content}`;
150
+ return {
151
+ content: [{ type: "text", text: msg }],
152
+ };
153
+ }
154
+ let result;
155
+ // Determine content type
156
+ if (hint === "build" || (hint === "auto" && isBuildOutput(content))) {
157
+ result = optimizeBuildOutput(content);
158
+ }
159
+ else if (hint === "logs" || (hint === "auto" && detectContentType(content) === "logs")) {
160
+ result = optimizeLogs(content, format);
161
+ }
162
+ else if (hint === "errors") {
163
+ result = optimizeErrors(content, format);
164
+ }
165
+ else {
166
+ // Use automatic type detection
167
+ const detectedType = detectContentType(content);
168
+ switch (detectedType) {
169
+ case "logs":
170
+ result = optimizeLogs(content, format);
171
+ break;
172
+ case "stacktrace":
173
+ result = optimizeErrors(content, format);
174
+ break;
175
+ default:
176
+ result = optimizeGeneric(content, aggressive);
177
+ }
178
+ }
179
+ // Format output - minimal header to save tokens
180
+ const stats = `[${result.detectedType}] ${result.originalTokens}→${result.optimizedTokens} tokens (-${result.savingsPercent}%)`;
181
+ const output = `${stats}\n${result.optimizedContent}`;
182
+ return {
183
+ content: [{ type: "text", text: output }],
184
+ };
185
+ }
186
+ export const autoOptimizeTool = {
187
+ name: "auto_optimize",
188
+ description: "Auto-compress verbose output (build errors, logs). 80-95% token reduction.",
189
+ inputSchema: autoOptimizeSchema,
190
+ execute: async (args) => autoOptimize(args),
191
+ };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Code Execute Tool
3
+ *
4
+ * Executes TypeScript code with ctxopt SDK in a sandboxed environment.
5
+ * Reduces MCP token overhead by ~98% compared to individual tool calls.
6
+ */
7
+ import type { ToolDefinition } from "./registry.js";
8
+ export declare const codeExecuteTool: ToolDefinition;
9
+ //# sourceMappingURL=code-execute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-execute.d.ts","sourceRoot":"","sources":["../../src/tools/code-execute.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAyFpD,eAAO,MAAM,eAAe,EAAE,cAK7B,CAAC"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Code Execute Tool
3
+ *
4
+ * Executes TypeScript code with ctxopt SDK in a sandboxed environment.
5
+ * Reduces MCP token overhead by ~98% compared to individual tool calls.
6
+ */
7
+ import { executeSandbox, DEFAULT_LIMITS } from "../sandbox/index.js";
8
+ /**
9
+ * Minimal schema for token efficiency
10
+ */
11
+ const codeExecuteSchema = {
12
+ type: "object",
13
+ properties: {
14
+ code: { type: "string" },
15
+ timeout: { type: "number" },
16
+ },
17
+ required: ["code"],
18
+ };
19
+ /**
20
+ * Execute code in sandbox
21
+ */
22
+ async function executeCodeExecute(args) {
23
+ const { code, timeout = DEFAULT_LIMITS.timeout } = args;
24
+ // Validate timeout
25
+ const safeTimeout = Math.min(Math.max(timeout, 1000), // Min 1 second
26
+ DEFAULT_LIMITS.maxTimeout // Max 30 seconds
27
+ );
28
+ // Execute in sandbox
29
+ const result = await executeSandbox(code, {
30
+ workingDir: process.cwd(),
31
+ timeout: safeTimeout,
32
+ memoryLimit: DEFAULT_LIMITS.memoryLimit,
33
+ maxOutputTokens: DEFAULT_LIMITS.maxOutputTokens,
34
+ });
35
+ if (!result.success) {
36
+ return {
37
+ content: [
38
+ {
39
+ type: "text",
40
+ text: `[ERR] ${result.error}\n\nExecution time: ${result.stats.executionTimeMs}ms`,
41
+ },
42
+ ],
43
+ isError: true,
44
+ };
45
+ }
46
+ // Format output
47
+ let output;
48
+ if (typeof result.output === "string") {
49
+ output = result.output;
50
+ }
51
+ else if (result.output === null || result.output === undefined) {
52
+ output = "(no output)";
53
+ }
54
+ else {
55
+ output = JSON.stringify(result.output, null, 2);
56
+ }
57
+ const header = `[OK] ${result.stats.executionTimeMs}ms, ${result.stats.tokensUsed} tokens`;
58
+ return {
59
+ content: [
60
+ {
61
+ type: "text",
62
+ text: `${header}\n\n${output}`,
63
+ },
64
+ ],
65
+ };
66
+ }
67
+ /**
68
+ * Tool description with SDK reference
69
+ */
70
+ const DESCRIPTION = `Execute TypeScript with ctxopt SDK. 98% fewer tokens than tool calls.
71
+
72
+ SDK (ctx):
73
+ compress: auto(content,hint?) logs(logs) diff(diff) semantic(content,ratio?)
74
+ code: parse(content,lang) extract(content,lang,{type,name}) skeleton(content,lang)
75
+ files: read(path) exists(path) glob(pattern)
76
+ utils: countTokens(text) detectType(content) detectLanguage(path)
77
+
78
+ Example: return ctx.compress.auto(ctx.files.read("logs.txt"))`;
79
+ export const codeExecuteTool = {
80
+ name: "code_execute",
81
+ description: DESCRIPTION,
82
+ inputSchema: codeExecuteSchema,
83
+ execute: executeCodeExecute,
84
+ };
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Code Skeleton Tool
3
+ *
4
+ * Extracts code skeleton (signatures only) from source files.
5
+ * Provides configurable depth levels and token statistics.
6
+ */
7
+ import type { ToolDefinition } from "./registry.js";
8
+ export declare const codeSkeletonSchema: {
9
+ type: "object";
10
+ properties: {
11
+ filePath: {
12
+ type: string;
13
+ };
14
+ depth: {
15
+ enum: number[];
16
+ };
17
+ };
18
+ required: string[];
19
+ };
20
+ /**
21
+ * Execute code-skeleton tool
22
+ */
23
+ export declare function executeCodeSkeleton(args: unknown): Promise<{
24
+ content: Array<{
25
+ type: "text";
26
+ text: string;
27
+ }>;
28
+ }>;
29
+ /**
30
+ * Code Skeleton Tool Definition
31
+ */
32
+ export declare const codeSkeletonTool: ToolDefinition;
33
+ //# sourceMappingURL=code-skeleton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-skeleton.d.ts","sourceRoot":"","sources":["../../src/tools/code-skeleton.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAOpD,eAAO,MAAM,kBAAkB;;;;;;;;;;;CAO9B,CAAC;AAsIF;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAoE7D;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,cAK9B,CAAC"}