@agntk/core 0.3.3 → 1.0.0

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 (351) hide show
  1. package/dist/advanced/index.d.ts +13 -22
  2. package/dist/advanced/index.d.ts.map +1 -1
  3. package/dist/advanced/index.js +10 -55
  4. package/dist/advanced/index.js.map +1 -1
  5. package/dist/agent.d.ts +2 -35
  6. package/dist/agent.d.ts.map +1 -1
  7. package/dist/agent.js +113 -111
  8. package/dist/agent.js.map +1 -1
  9. package/dist/config/defaults.d.ts +1 -5
  10. package/dist/config/defaults.d.ts.map +1 -1
  11. package/dist/config/defaults.js +1 -11
  12. package/dist/config/defaults.js.map +1 -1
  13. package/dist/config/index.d.ts +5 -1
  14. package/dist/config/index.d.ts.map +1 -1
  15. package/dist/config/index.js +7 -7
  16. package/dist/config/index.js.map +1 -1
  17. package/dist/config/loader.d.ts +0 -40
  18. package/dist/config/loader.d.ts.map +1 -1
  19. package/dist/config/loader.js +3 -80
  20. package/dist/config/loader.js.map +1 -1
  21. package/dist/config/schema.d.ts +117 -788
  22. package/dist/config/schema.d.ts.map +1 -1
  23. package/dist/config/schema.js +52 -63
  24. package/dist/config/schema.js.map +1 -1
  25. package/dist/constants.d.ts +0 -11
  26. package/dist/constants.d.ts.map +1 -1
  27. package/dist/constants.js +0 -17
  28. package/dist/constants.js.map +1 -1
  29. package/dist/evals/assertions.d.ts +0 -35
  30. package/dist/evals/assertions.d.ts.map +1 -1
  31. package/dist/evals/assertions.js +0 -51
  32. package/dist/evals/assertions.js.map +1 -1
  33. package/dist/evals/index.d.ts +0 -5
  34. package/dist/evals/index.d.ts.map +1 -1
  35. package/dist/evals/index.js +0 -5
  36. package/dist/evals/index.js.map +1 -1
  37. package/dist/evals/runner.d.ts +0 -27
  38. package/dist/evals/runner.d.ts.map +1 -1
  39. package/dist/evals/runner.js +3 -45
  40. package/dist/evals/runner.js.map +1 -1
  41. package/dist/evals/types.d.ts +0 -14
  42. package/dist/evals/types.d.ts.map +1 -1
  43. package/dist/evals/types.js +0 -3
  44. package/dist/evals/types.js.map +1 -1
  45. package/dist/guardrails/built-ins.d.ts +0 -28
  46. package/dist/guardrails/built-ins.d.ts.map +1 -1
  47. package/dist/guardrails/built-ins.js +21 -47
  48. package/dist/guardrails/built-ins.js.map +1 -1
  49. package/dist/guardrails/index.d.ts +1 -4
  50. package/dist/guardrails/index.d.ts.map +1 -1
  51. package/dist/guardrails/index.js +1 -4
  52. package/dist/guardrails/index.js.map +1 -1
  53. package/dist/guardrails/runner.d.ts +0 -30
  54. package/dist/guardrails/runner.d.ts.map +1 -1
  55. package/dist/guardrails/runner.js +1 -46
  56. package/dist/guardrails/runner.js.map +1 -1
  57. package/dist/guardrails/types.d.ts +0 -35
  58. package/dist/guardrails/types.d.ts.map +1 -1
  59. package/dist/guardrails/types.js +4 -7
  60. package/dist/guardrails/types.js.map +1 -1
  61. package/dist/index.d.ts +4 -12
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +2 -31
  64. package/dist/index.js.map +1 -1
  65. package/dist/memory/loader.d.ts +0 -17
  66. package/dist/memory/loader.d.ts.map +1 -1
  67. package/dist/memory/loader.js +5 -27
  68. package/dist/memory/loader.js.map +1 -1
  69. package/dist/memory/store.d.ts +8 -16
  70. package/dist/memory/store.d.ts.map +1 -1
  71. package/dist/memory/store.js +101 -32
  72. package/dist/memory/store.js.map +1 -1
  73. package/dist/memory/types.d.ts +10 -30
  74. package/dist/memory/types.d.ts.map +1 -1
  75. package/dist/memory/types.js +0 -6
  76. package/dist/memory/types.js.map +1 -1
  77. package/dist/models.d.ts +9 -32
  78. package/dist/models.d.ts.map +1 -1
  79. package/dist/models.js +25 -68
  80. package/dist/models.js.map +1 -1
  81. package/dist/observability/index.d.ts +0 -3
  82. package/dist/observability/index.d.ts.map +1 -1
  83. package/dist/observability/index.js +0 -3
  84. package/dist/observability/index.js.map +1 -1
  85. package/dist/observability/langfuse.d.ts +0 -38
  86. package/dist/observability/langfuse.d.ts.map +1 -1
  87. package/dist/observability/langfuse.js +6 -55
  88. package/dist/observability/langfuse.js.map +1 -1
  89. package/dist/observability/types.d.ts +0 -21
  90. package/dist/observability/types.d.ts.map +1 -1
  91. package/dist/observability/types.js +0 -3
  92. package/dist/observability/types.js.map +1 -1
  93. package/dist/presets/tool-preset-registry.d.ts +0 -21
  94. package/dist/presets/tool-preset-registry.d.ts.map +1 -1
  95. package/dist/presets/tool-preset-registry.js +15 -34
  96. package/dist/presets/tool-preset-registry.js.map +1 -1
  97. package/dist/presets/tools.d.ts +41 -39
  98. package/dist/presets/tools.d.ts.map +1 -1
  99. package/dist/presets/tools.js +46 -40
  100. package/dist/presets/tools.js.map +1 -1
  101. package/dist/prompts/context.d.ts +0 -4
  102. package/dist/prompts/context.d.ts.map +1 -1
  103. package/dist/prompts/context.js +21 -33
  104. package/dist/prompts/context.js.map +1 -1
  105. package/dist/prompts/template.d.ts +0 -11
  106. package/dist/prompts/template.d.ts.map +1 -1
  107. package/dist/prompts/template.js +4 -14
  108. package/dist/prompts/template.js.map +1 -1
  109. package/dist/provider-resolver.d.ts +0 -29
  110. package/dist/provider-resolver.d.ts.map +1 -1
  111. package/dist/provider-resolver.js +17 -61
  112. package/dist/provider-resolver.js.map +1 -1
  113. package/dist/reflection.d.ts +0 -34
  114. package/dist/reflection.d.ts.map +1 -1
  115. package/dist/reflection.js +0 -40
  116. package/dist/reflection.js.map +1 -1
  117. package/dist/skills/index.d.ts +0 -3
  118. package/dist/skills/index.d.ts.map +1 -1
  119. package/dist/skills/index.js +0 -3
  120. package/dist/skills/index.js.map +1 -1
  121. package/dist/skills/loader.d.ts +0 -69
  122. package/dist/skills/loader.d.ts.map +1 -1
  123. package/dist/skills/loader.js +38 -130
  124. package/dist/skills/loader.js.map +1 -1
  125. package/dist/skills/types.d.ts +0 -36
  126. package/dist/skills/types.d.ts.map +1 -1
  127. package/dist/skills/types.js +0 -4
  128. package/dist/skills/types.js.map +1 -1
  129. package/dist/system-detect.d.ts +0 -57
  130. package/dist/system-detect.d.ts.map +1 -1
  131. package/dist/system-detect.js +9 -114
  132. package/dist/system-detect.js.map +1 -1
  133. package/dist/tools/approval.d.ts +0 -47
  134. package/dist/tools/approval.d.ts.map +1 -1
  135. package/dist/tools/approval.js +0 -46
  136. package/dist/tools/approval.js.map +1 -1
  137. package/dist/tools/ast-grep/cli.d.ts.map +1 -1
  138. package/dist/tools/ast-grep/cli.js +10 -4
  139. package/dist/tools/ast-grep/cli.js.map +1 -1
  140. package/dist/tools/ast-grep/constants.d.ts.map +1 -1
  141. package/dist/tools/ast-grep/constants.js +7 -14
  142. package/dist/tools/ast-grep/constants.js.map +1 -1
  143. package/dist/tools/ast-grep/downloader.d.ts.map +1 -1
  144. package/dist/tools/ast-grep/downloader.js +1 -4
  145. package/dist/tools/ast-grep/downloader.js.map +1 -1
  146. package/dist/tools/ast-grep/index.d.ts +2 -2
  147. package/dist/tools/ast-grep/index.d.ts.map +1 -1
  148. package/dist/tools/ast-grep/index.js +1 -1
  149. package/dist/tools/ast-grep/index.js.map +1 -1
  150. package/dist/tools/ast-grep/tools.d.ts +4 -4
  151. package/dist/tools/ast-grep/tools.d.ts.map +1 -1
  152. package/dist/tools/ast-grep/tools.js +2 -8
  153. package/dist/tools/ast-grep/tools.js.map +1 -1
  154. package/dist/tools/browser/index.d.ts +4 -4
  155. package/dist/tools/browser/index.d.ts.map +1 -1
  156. package/dist/tools/browser/index.js +2 -3
  157. package/dist/tools/browser/index.js.map +1 -1
  158. package/dist/tools/browser/stream.d.ts +0 -32
  159. package/dist/tools/browser/stream.d.ts.map +1 -1
  160. package/dist/tools/browser/stream.js +0 -53
  161. package/dist/tools/browser/stream.js.map +1 -1
  162. package/dist/tools/browser/tool.d.ts +10 -15
  163. package/dist/tools/browser/tool.d.ts.map +1 -1
  164. package/dist/tools/browser/tool.js +2 -26
  165. package/dist/tools/browser/tool.js.map +1 -1
  166. package/dist/tools/browser/types.d.ts +31 -156
  167. package/dist/tools/browser/types.d.ts.map +1 -1
  168. package/dist/tools/browser/types.js +22 -17
  169. package/dist/tools/browser/types.js.map +1 -1
  170. package/dist/tools/deep-reasoning/constants.d.ts +0 -6
  171. package/dist/tools/deep-reasoning/constants.d.ts.map +1 -1
  172. package/dist/tools/deep-reasoning/constants.js +0 -6
  173. package/dist/tools/deep-reasoning/constants.js.map +1 -1
  174. package/dist/tools/deep-reasoning/engine.d.ts.map +1 -1
  175. package/dist/tools/deep-reasoning/engine.js +0 -1
  176. package/dist/tools/deep-reasoning/engine.js.map +1 -1
  177. package/dist/tools/deep-reasoning/index.d.ts +4 -0
  178. package/dist/tools/deep-reasoning/index.d.ts.map +1 -1
  179. package/dist/tools/deep-reasoning/index.js +4 -3
  180. package/dist/tools/deep-reasoning/index.js.map +1 -1
  181. package/dist/tools/deep-reasoning/tools.d.ts.map +1 -1
  182. package/dist/tools/deep-reasoning/tools.js +8 -1
  183. package/dist/tools/deep-reasoning/tools.js.map +1 -1
  184. package/dist/tools/deep-reasoning/types.d.ts +5 -30
  185. package/dist/tools/deep-reasoning/types.d.ts.map +1 -1
  186. package/dist/tools/deep-reasoning/types.js +10 -1
  187. package/dist/tools/deep-reasoning/types.js.map +1 -1
  188. package/dist/tools/file/index.d.ts +3 -5
  189. package/dist/tools/file/index.d.ts.map +1 -1
  190. package/dist/tools/file/index.js +2 -4
  191. package/dist/tools/file/index.js.map +1 -1
  192. package/dist/tools/file/tools.d.ts +8 -11
  193. package/dist/tools/file/tools.d.ts.map +1 -1
  194. package/dist/tools/file/tools.js +45 -59
  195. package/dist/tools/file/tools.js.map +1 -1
  196. package/dist/tools/glob/cli.d.ts.map +1 -1
  197. package/dist/tools/glob/cli.js +8 -6
  198. package/dist/tools/glob/cli.js.map +1 -1
  199. package/dist/tools/glob/tools.d.ts.map +1 -1
  200. package/dist/tools/glob/tools.js +7 -10
  201. package/dist/tools/glob/tools.js.map +1 -1
  202. package/dist/tools/grep/cli.d.ts.map +1 -1
  203. package/dist/tools/grep/cli.js +0 -2
  204. package/dist/tools/grep/cli.js.map +1 -1
  205. package/dist/tools/grep/constants.d.ts.map +1 -1
  206. package/dist/tools/grep/constants.js +3 -5
  207. package/dist/tools/grep/constants.js.map +1 -1
  208. package/dist/tools/grep/downloader.d.ts.map +1 -1
  209. package/dist/tools/grep/downloader.js +3 -3
  210. package/dist/tools/grep/downloader.js.map +1 -1
  211. package/dist/tools/grep/tools.d.ts +2 -2
  212. package/dist/tools/grep/tools.d.ts.map +1 -1
  213. package/dist/tools/grep/tools.js +8 -14
  214. package/dist/tools/grep/tools.js.map +1 -1
  215. package/dist/tools/index.d.ts +10 -11
  216. package/dist/tools/index.d.ts.map +1 -1
  217. package/dist/tools/index.js +9 -22
  218. package/dist/tools/index.js.map +1 -1
  219. package/dist/tools/model-retry.d.ts +0 -40
  220. package/dist/tools/model-retry.d.ts.map +1 -1
  221. package/dist/tools/model-retry.js +1 -49
  222. package/dist/tools/model-retry.js.map +1 -1
  223. package/dist/tools/plan/constants.d.ts +0 -6
  224. package/dist/tools/plan/constants.d.ts.map +1 -1
  225. package/dist/tools/plan/constants.js +9 -6
  226. package/dist/tools/plan/constants.js.map +1 -1
  227. package/dist/tools/plan/index.d.ts +1 -1
  228. package/dist/tools/plan/index.d.ts.map +1 -1
  229. package/dist/tools/plan/index.js +1 -4
  230. package/dist/tools/plan/index.js.map +1 -1
  231. package/dist/tools/plan/tools.d.ts +2 -2
  232. package/dist/tools/plan/tools.d.ts.map +1 -1
  233. package/dist/tools/plan/tools.js +10 -11
  234. package/dist/tools/plan/tools.js.map +1 -1
  235. package/dist/tools/plan/types.d.ts +22 -32
  236. package/dist/tools/plan/types.d.ts.map +1 -1
  237. package/dist/tools/plan/types.js +11 -3
  238. package/dist/tools/plan/types.js.map +1 -1
  239. package/dist/tools/progress/index.d.ts +3 -22
  240. package/dist/tools/progress/index.d.ts.map +1 -1
  241. package/dist/tools/progress/index.js +19 -34
  242. package/dist/tools/progress/index.js.map +1 -1
  243. package/dist/tools/search-skills.d.ts +0 -23
  244. package/dist/tools/search-skills.d.ts.map +1 -1
  245. package/dist/tools/search-skills.js +3 -32
  246. package/dist/tools/search-skills.js.map +1 -1
  247. package/dist/tools/shell/background.d.ts +2 -18
  248. package/dist/tools/shell/background.d.ts.map +1 -1
  249. package/dist/tools/shell/background.js +45 -48
  250. package/dist/tools/shell/background.js.map +1 -1
  251. package/dist/tools/shell/constants.d.ts +0 -3
  252. package/dist/tools/shell/constants.d.ts.map +1 -1
  253. package/dist/tools/shell/constants.js +16 -6
  254. package/dist/tools/shell/constants.js.map +1 -1
  255. package/dist/tools/shell/index.d.ts +1 -1
  256. package/dist/tools/shell/index.d.ts.map +1 -1
  257. package/dist/tools/shell/index.js +1 -1
  258. package/dist/tools/shell/index.js.map +1 -1
  259. package/dist/tools/shell/tools.d.ts +3 -3
  260. package/dist/tools/shell/tools.d.ts.map +1 -1
  261. package/dist/tools/shell/tools.js +0 -2
  262. package/dist/tools/shell/tools.js.map +1 -1
  263. package/dist/tools/shell/types.d.ts +5 -13
  264. package/dist/tools/shell/types.d.ts.map +1 -1
  265. package/dist/tools/shell/types.js +10 -1
  266. package/dist/tools/shell/types.js.map +1 -1
  267. package/dist/tools/spawn-agent/check-agent.d.ts +45 -0
  268. package/dist/tools/spawn-agent/check-agent.d.ts.map +1 -0
  269. package/dist/tools/spawn-agent/check-agent.js +84 -0
  270. package/dist/tools/spawn-agent/check-agent.js.map +1 -0
  271. package/dist/tools/spawn-agent/index.d.ts +44 -51
  272. package/dist/tools/spawn-agent/index.d.ts.map +1 -1
  273. package/dist/tools/spawn-agent/index.js +196 -84
  274. package/dist/tools/spawn-agent/index.js.map +1 -1
  275. package/dist/tools/spawn-agent/registry.d.ts +36 -0
  276. package/dist/tools/spawn-agent/registry.d.ts.map +1 -0
  277. package/dist/tools/spawn-agent/registry.js +88 -0
  278. package/dist/tools/spawn-agent/registry.js.map +1 -0
  279. package/dist/tools/utils/errors.d.ts +2 -1
  280. package/dist/tools/utils/errors.d.ts.map +1 -1
  281. package/dist/tools/utils/errors.js +2 -1
  282. package/dist/tools/utils/errors.js.map +1 -1
  283. package/dist/tools/utils/shell.d.ts +0 -11
  284. package/dist/tools/utils/shell.d.ts.map +1 -1
  285. package/dist/tools/utils/shell.js +10 -78
  286. package/dist/tools/utils/shell.js.map +1 -1
  287. package/dist/tools/utils/tool-result.d.ts +0 -3
  288. package/dist/tools/utils/tool-result.d.ts.map +1 -1
  289. package/dist/tools/utils/tool-result.js +4 -4
  290. package/dist/tools/utils/tool-result.js.map +1 -1
  291. package/dist/tools/web-search/index.d.ts +4 -0
  292. package/dist/tools/web-search/index.d.ts.map +1 -0
  293. package/dist/tools/web-search/index.js +3 -0
  294. package/dist/tools/web-search/index.js.map +1 -0
  295. package/dist/tools/web-search/tools.d.ts +17 -0
  296. package/dist/tools/web-search/tools.d.ts.map +1 -0
  297. package/dist/tools/web-search/tools.js +81 -0
  298. package/dist/tools/web-search/tools.js.map +1 -0
  299. package/dist/tools/web-search/types.d.ts +16 -0
  300. package/dist/tools/web-search/types.d.ts.map +1 -0
  301. package/dist/tools/web-search/types.js +29 -0
  302. package/dist/tools/web-search/types.js.map +1 -0
  303. package/dist/tools/workspace-middleware.d.ts +14 -0
  304. package/dist/tools/workspace-middleware.d.ts.map +1 -0
  305. package/dist/tools/workspace-middleware.js +97 -0
  306. package/dist/tools/workspace-middleware.js.map +1 -0
  307. package/dist/types/agent.d.ts +1 -66
  308. package/dist/types/agent.d.ts.map +1 -1
  309. package/dist/types/agent.js +0 -6
  310. package/dist/types/agent.js.map +1 -1
  311. package/dist/types/index.d.ts +4 -3
  312. package/dist/types/index.d.ts.map +1 -1
  313. package/dist/types/index.js +3 -3
  314. package/dist/types/index.js.map +1 -1
  315. package/dist/types/lifecycle.d.ts +0 -141
  316. package/dist/types/lifecycle.d.ts.map +1 -1
  317. package/dist/types/lifecycle.js +4 -54
  318. package/dist/types/lifecycle.js.map +1 -1
  319. package/dist/types/streaming.d.ts +0 -4
  320. package/dist/types/streaming.d.ts.map +1 -1
  321. package/dist/types/streaming.js +0 -4
  322. package/dist/types/streaming.js.map +1 -1
  323. package/dist/usage-limits.d.ts +0 -37
  324. package/dist/usage-limits.d.ts.map +1 -1
  325. package/dist/usage-limits.js +1 -40
  326. package/dist/usage-limits.js.map +1 -1
  327. package/dist/workflow/durable-tool.d.ts +0 -84
  328. package/dist/workflow/durable-tool.d.ts.map +1 -1
  329. package/dist/workflow/durable-tool.js +2 -104
  330. package/dist/workflow/durable-tool.js.map +1 -1
  331. package/dist/workflow/hooks.d.ts +0 -215
  332. package/dist/workflow/hooks.d.ts.map +1 -1
  333. package/dist/workflow/hooks.js +15 -221
  334. package/dist/workflow/hooks.js.map +1 -1
  335. package/dist/workflow/index.d.ts +0 -9
  336. package/dist/workflow/index.d.ts.map +1 -1
  337. package/dist/workflow/index.js +0 -12
  338. package/dist/workflow/index.js.map +1 -1
  339. package/dist/workflow/utils.d.ts +0 -24
  340. package/dist/workflow/utils.d.ts.map +1 -1
  341. package/dist/workflow/utils.js +1 -32
  342. package/dist/workflow/utils.js.map +1 -1
  343. package/dist/wrappers/best-of-n.d.ts +0 -35
  344. package/dist/wrappers/best-of-n.d.ts.map +1 -1
  345. package/dist/wrappers/best-of-n.js +4 -53
  346. package/dist/wrappers/best-of-n.js.map +1 -1
  347. package/dist/wrappers/refine-loop.d.ts +36 -0
  348. package/dist/wrappers/refine-loop.d.ts.map +1 -0
  349. package/dist/wrappers/refine-loop.js +135 -0
  350. package/dist/wrappers/refine-loop.js.map +1 -0
  351. package/package.json +14 -8
@@ -1 +1 @@
1
- {"version":3,"file":"system-detect.d.ts","sourceRoot":"","sources":["../src/system-detect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAYH,MAAM,WAAW,aAAa;IAC5B,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,cAAc,EAAE,OAAO,CAAC;IACxB,qCAAqC;IACrC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,yBAAyB;IACxC,uBAAuB;IACvB,IAAI,EAAE,eAAe,CAAC;IACtB,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAMD,8FAA8F;AAC9F,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGjD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAMjD;AA2FD;;GAEG;AACH,wBAAgB,YAAY,IAAI,aAAa,CAuC5C;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,CAAC,EAAE,aAAa,EACvB,eAAe,CAAC,EAAE,MAAM,EAAE,GACzB,yBAAyB,CA4E3B;AAiCD;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAqBzE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAKtF"}
1
+ {"version":3,"file":"system-detect.d.ts","sourceRoot":"","sources":["../src/system-detect.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IAEnB,iBAAiB,EAAE,MAAM,CAAC;IAE1B,QAAQ,EAAE,MAAM,CAAC;IAEjB,cAAc,EAAE,OAAO,CAAC;IAExB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,eAAe,CAAC;IAEtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IAEjB,MAAM,EAAE,MAAM,CAAC;IAEf,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGjD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAMjD;AAuED,wBAAgB,YAAY,IAAI,aAAa,CA6B5C;AAED,wBAAgB,qBAAqB,CACnC,OAAO,CAAC,EAAE,aAAa,EACvB,eAAe,CAAC,EAAE,MAAM,EAAE,GACzB,yBAAyB,CAoE3B;AAkBD,wBAAsB,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAqBzE;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAKtF"}
@@ -1,48 +1,19 @@
1
- /**
2
- * @fileoverview System hardware detection for automatic Ollama model selection.
3
- *
4
- * Detects available RAM/VRAM and selects the best model the system can
5
- * comfortably run. Falls back conservatively — better to run a smaller
6
- * model fast than a larger model that swaps to disk.
7
- *
8
- * Supports both local models and Ollama cloud models (-cloud suffix).
9
- * Cloud models are always preferred when available since they run on
10
- * remote infrastructure regardless of local hardware.
11
- *
12
- * Memory thresholds (Q4_K_M quantization, local models):
13
- * qwen3:8b ~5-6 GB → needs ≥8 GB total RAM
14
- * qwen3-coder:30b ~17 GB → needs ≥24 GB total RAM (MoE, fast inference)
15
- * qwen3.5:35b ~20 GB → needs ≥32 GB total RAM
16
- */
17
1
  import { createLogger } from '@agntk/logger';
18
2
  import os from 'node:os';
19
3
  import { execSync } from 'node:child_process';
20
4
  const log = createLogger('@agntk/core:system-detect');
21
- // ============================================================================
22
- // Model Classification
23
- // ============================================================================
24
- /** Cloud models run on remote infrastructure — always usable regardless of local hardware. */
25
5
  export function isCloudModel(tag) {
26
6
  const lower = tag.toLowerCase();
27
7
  return lower.includes('-cloud') || lower.endsWith(':cloud');
28
8
  }
29
- /**
30
- * Check if a model is large enough for reliable agent tool-calling.
31
- * Models need >= 8b parameters. Cloud models are always usable.
32
- * Unknown sizes (e.g. "deepseek-coder:latest") are assumed usable.
33
- */
34
9
  export function isUsableSize(tag) {
35
10
  if (isCloudModel(tag))
36
11
  return true;
37
- // Parse size from tags like "qwen3:14b", "llama3.1:70b", "qwen3-coder:30b"
38
12
  const match = tag.match(/(\d+(?:\.\d+)?)b/i);
39
13
  if (!match)
40
- return true; // unknown size → assume usable
14
+ return true;
41
15
  return parseFloat(match[1]) >= 8;
42
16
  }
43
- // ============================================================================
44
- // Model Tier Definitions
45
- // ============================================================================
46
17
  const MODEL_TIERS = {
47
18
  small: {
48
19
  tier: 'small',
@@ -66,17 +37,11 @@ const MODEL_TIERS = {
66
37
  powerful: 'qwen3.5:35b',
67
38
  },
68
39
  };
69
- /**
70
- * Preferred models ordered from best to least preferred.
71
- * Cloud models first (run on remote infra), then best local models.
72
- */
73
40
  const MODEL_PREFERENCE = [
74
- // Cloud (always top priority)
75
41
  'qwen3-coder:480b-cloud',
76
42
  'qwen3.5:cloud',
77
43
  'qwen3.5:397b-cloud',
78
44
  'gpt-oss:120b-cloud',
79
- // Local (newest/best first)
80
45
  'qwen3-coder:30b',
81
46
  'qwen3.5:35b',
82
47
  'qwen3.5:27b',
@@ -84,12 +49,6 @@ const MODEL_PREFERENCE = [
84
49
  'qwen3:14b',
85
50
  'qwen3:8b',
86
51
  ];
87
- // ============================================================================
88
- // System Detection
89
- // ============================================================================
90
- /**
91
- * Detect whether this is an Apple Silicon Mac.
92
- */
93
52
  function detectAppleSilicon() {
94
53
  if (os.platform() !== 'darwin')
95
54
  return false;
@@ -101,21 +60,19 @@ function detectAppleSilicon() {
101
60
  return brand.includes('Apple');
102
61
  }
103
62
  catch {
104
- // Fallback: check arch
105
63
  return os.arch() === 'arm64';
106
64
  }
107
65
  }
108
- /**
109
- * Try to detect NVIDIA GPU VRAM via nvidia-smi.
110
- * Returns VRAM in GB or null if no NVIDIA GPU / nvidia-smi not found.
111
- */
112
66
  function detectNvidiaVRAM() {
113
67
  try {
114
- const output = execSync('nvidia-smi --query-gpu=memory.total --format=csv,noheader,nounits', { encoding: 'utf-8', timeout: 3000, stdio: ['pipe', 'pipe', 'pipe'] }).trim();
115
- // nvidia-smi returns MB, could have multiple GPUs — take the first
68
+ const output = execSync('nvidia-smi --query-gpu=memory.total --format=csv,noheader,nounits', {
69
+ encoding: 'utf-8',
70
+ timeout: 3000,
71
+ stdio: ['pipe', 'pipe', 'pipe'],
72
+ }).trim();
116
73
  const mb = parseInt(output.split('\n')[0], 10);
117
74
  if (!isNaN(mb) && mb > 0) {
118
- return Math.round(mb / 1024 * 10) / 10; // GB with 1 decimal
75
+ return Math.round((mb / 1024) * 10) / 10;
119
76
  }
120
77
  return null;
121
78
  }
@@ -123,33 +80,20 @@ function detectNvidiaVRAM() {
123
80
  return null;
124
81
  }
125
82
  }
126
- /**
127
- * Detect system hardware profile.
128
- */
129
83
  export function detectSystem() {
130
84
  const totalBytes = os.totalmem();
131
- const totalRAMGb = Math.round(totalBytes / (1024 ** 3) * 10) / 10;
85
+ const totalRAMGb = Math.round((totalBytes / 1024 ** 3) * 10) / 10;
132
86
  const platform = os.platform();
133
87
  const isAppleSilicon = detectAppleSilicon();
134
88
  const nvidiaVRAMGb = detectNvidiaVRAM();
135
- // Calculate usable memory for models:
136
- // - Reserve ~3 GB for OS + Ollama server overhead
137
- // - On Apple Silicon: GPU gets ~75% of unified memory, but we're more conservative
138
- // - On NVIDIA: model loads into VRAM, which is separate from system RAM
139
89
  let usableForModelsGb;
140
90
  if (nvidiaVRAMGb !== null) {
141
- // NVIDIA GPU: model goes into VRAM. Use that as the constraint.
142
- usableForModelsGb = nvidiaVRAMGb - 1; // reserve 1 GB for GPU driver/overhead
91
+ usableForModelsGb = nvidiaVRAMGb - 1;
143
92
  }
144
93
  else if (isAppleSilicon) {
145
- // Apple Silicon: unified memory shared between CPU and GPU.
146
- // Ollama uses Metal — model sits in unified memory.
147
- // Reserve ~25% for OS + apps + KV cache growth.
148
94
  usableForModelsGb = totalRAMGb * 0.65;
149
95
  }
150
96
  else {
151
- // CPU-only inference: slower but uses system RAM.
152
- // Reserve 3 GB for OS overhead.
153
97
  usableForModelsGb = totalRAMGb - 3;
154
98
  }
155
99
  usableForModelsGb = Math.max(0, usableForModelsGb);
@@ -163,30 +107,9 @@ export function detectSystem() {
163
107
  log.debug('System profile', { ...profile });
164
108
  return profile;
165
109
  }
166
- // ============================================================================
167
- // Model Recommendation
168
- // ============================================================================
169
- /**
170
- * Select the best Ollama model tier based on system capabilities
171
- * and (optionally) which models are actually installed.
172
- *
173
- * When installedModels is provided, the recommendation is constrained
174
- * to models the user already has pulled — the best available model is
175
- * used for every tier rather than recommending something that would 404.
176
- *
177
- * If only sub-8b models are installed (and no cloud models), sets
178
- * `noUsableModels: true` so the caller can skip Ollama entirely.
179
- *
180
- * Hardware thresholds (usable memory for model weights):
181
- * < 6 GB → too small, warn user
182
- * 6-10 GB → small (qwen3:8b everywhere)
183
- * 10-20 GB → medium (qwen3-coder:30b for standard+)
184
- * 20+ GB → large (qwen3.5:35b for reasoning/powerful)
185
- */
186
110
  export function recommendOllamaModels(profile, installedModels) {
187
111
  const sys = profile || detectSystem();
188
112
  const mem = sys.usableForModelsGb;
189
- // Determine the hardware-ideal tier
190
113
  let ideal;
191
114
  if (mem < 4) {
192
115
  log.warn('Very limited memory for local models', { usableGb: mem });
@@ -213,15 +136,12 @@ export function recommendOllamaModels(profile, installedModels) {
213
136
  reason: `${sys.totalRAMGb} GB RAM → qwen3.5:35b for reasoning/powerful, qwen3-coder:30b for standard`,
214
137
  };
215
138
  }
216
- // If we don't know what's installed, return the hardware-ideal recommendation
217
139
  if (!installedModels || installedModels.length === 0) {
218
140
  return ideal;
219
141
  }
220
- // Constrain to what's actually pulled — pick the best available model
221
142
  const installed = new Set(installedModels.map((m) => m.toLowerCase()));
222
143
  const bestAvailable = pickBestAvailable(installed);
223
144
  if (!bestAvailable) {
224
- // No usable models installed (all sub-8b, no cloud)
225
145
  log.info('No usable models installed', { installed: [...installed] });
226
146
  return {
227
147
  ...ideal,
@@ -229,9 +149,6 @@ export function recommendOllamaModels(profile, installedModels) {
229
149
  reason: 'No usable models found (need 8b+ local or cloud model)',
230
150
  };
231
151
  }
232
- // Clamp each tier to what's installed.
233
- // Cloud models always win over local — they run on remote infrastructure
234
- // so they're faster and more capable regardless of local hardware.
235
152
  const bestIsCloud = isCloudModel(bestAvailable);
236
153
  const clamp = (model) => {
237
154
  if (bestIsCloud)
@@ -250,41 +167,23 @@ export function recommendOllamaModels(profile, installedModels) {
250
167
  powerful: clamp(ideal.powerful),
251
168
  reason: '',
252
169
  };
253
- // Build reason showing what standard tier will actually use
254
170
  const unique = [...new Set([result.fast, result.standard, result.reasoning, result.powerful])];
255
171
  result.reason = `${sys.totalRAMGb} GB RAM → ${unique.join(', ')}`;
256
172
  return result;
257
173
  }
258
- /**
259
- * Pick the best usable model from what's installed.
260
- *
261
- * Priority:
262
- * 1. Preferred models in order (cloud first, then best local)
263
- * 2. Any other installed model that passes isUsableSize()
264
- * 3. null if nothing qualifies
265
- */
266
174
  function pickBestAvailable(installed) {
267
- // Check preferred models in order
268
175
  for (const model of MODEL_PREFERENCE) {
269
176
  if (installed.has(model) || [...installed].some((m) => m.startsWith(model))) {
270
177
  return model;
271
178
  }
272
179
  }
273
- // Check for any other usable model (non-qwen, non-preferred but >= 8b or cloud)
274
180
  for (const model of installed) {
275
181
  if (isUsableSize(model)) {
276
182
  return model;
277
183
  }
278
184
  }
279
- // Nothing qualifies
280
185
  return null;
281
186
  }
282
- // ============================================================================
283
- // Ollama Model Availability
284
- // ============================================================================
285
- /**
286
- * Check which models Ollama already has pulled.
287
- */
288
187
  export async function getOllamaModels(baseUrl) {
289
188
  const rawUrl = baseUrl || process.env['OLLAMA_BASE_URL'] || 'http://localhost:11434';
290
189
  const url = rawUrl.replace(/\/(api|v1)\/?$/, '');
@@ -306,12 +205,8 @@ export async function getOllamaModels(baseUrl) {
306
205
  return [];
307
206
  }
308
207
  }
309
- /**
310
- * Check if a specific model is available in Ollama.
311
- */
312
208
  export async function hasOllamaModel(model, baseUrl) {
313
209
  const models = await getOllamaModels(baseUrl);
314
- // Normalize: "qwen3:8b" should match "qwen3:8b" and "qwen3:8b-q4_K_M"
315
210
  const normalized = model.toLowerCase();
316
211
  return models.some((m) => m.toLowerCase().startsWith(normalized));
317
212
  }
@@ -1 +1 @@
1
- {"version":3,"file":"system-detect.js","sourceRoot":"","sources":["../src/system-detect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,GAAG,GAAG,YAAY,CAAC,2BAA2B,CAAC,CAAC;AAmCtD,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E,8FAA8F;AAC9F,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAChC,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,IAAI,YAAY,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,2EAA2E;IAC3E,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC7C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC,CAAC,+BAA+B;IACxD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E,MAAM,WAAW,GAAuE;IACtF,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,UAAU;KACrB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,iBAAiB;QAC3B,SAAS,EAAE,iBAAiB;QAC5B,QAAQ,EAAE,iBAAiB;KAC5B;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,iBAAiB;QAC3B,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE,aAAa;KACxB;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,gBAAgB,GAAG;IACvB,8BAA8B;IAC9B,wBAAwB;IACxB,eAAe;IACf,oBAAoB;IACpB,oBAAoB;IACpB,4BAA4B;IAC5B,iBAAiB;IACjB,aAAa;IACb,aAAa;IACb,WAAW;IACX,WAAW;IACX,UAAU;CACX,CAAC;AAEF,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;GAEG;AACH,SAAS,kBAAkB;IACzB,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,QAAQ,CAAC,oCAAoC,EAAE;YAC3D,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;QACvB,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC;IAC/B,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB;IACvB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CACrB,mEAAmE,EACnE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CACtE,CAAC,IAAI,EAAE,CAAC;QACT,mEAAmE;QACnE,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,oBAAoB;QAC9D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IAClE,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC/B,MAAM,cAAc,GAAG,kBAAkB,EAAE,CAAC;IAC5C,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;IAExC,sCAAsC;IACtC,kDAAkD;IAClD,mFAAmF;IACnF,wEAAwE;IACxE,IAAI,iBAAyB,CAAC;IAE9B,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,gEAAgE;QAChE,iBAAiB,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,uCAAuC;IAC/E,CAAC;SAAM,IAAI,cAAc,EAAE,CAAC;QAC1B,4DAA4D;QAC5D,oDAAoD;QACpD,gDAAgD;QAChD,iBAAiB,GAAG,UAAU,GAAG,IAAI,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,kDAAkD;QAClD,gCAAgC;QAChC,iBAAiB,GAAG,UAAU,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAEnD,MAAM,OAAO,GAAkB;QAC7B,UAAU;QACV,iBAAiB;QACjB,QAAQ;QACR,cAAc;QACd,YAAY;KACb,CAAC;IAEF,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAuB,EACvB,eAA0B;IAE1B,MAAM,GAAG,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IACtC,MAAM,GAAG,GAAG,GAAG,CAAC,iBAAiB,CAAC;IAElC,oCAAoC;IACpC,IAAI,KAAgC,CAAC;IAErC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACZ,GAAG,CAAC,IAAI,CAAC,sCAAsC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QACpE,KAAK,GAAG;YACN,GAAG,WAAW,CAAC,KAAK;YACpB,MAAM,EAAE,QAAQ,GAAG,CAAC,UAAU,gFAAgF;SAC/G,CAAC;IACJ,CAAC;SAAM,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC;QACpB,KAAK,GAAG;YACN,GAAG,WAAW,CAAC,KAAK;YACpB,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,iDAAiD;SAC3E,CAAC;IACJ,CAAC;SAAM,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC;QACpB,KAAK,GAAG;YACN,GAAG,WAAW,CAAC,MAAM;YACrB,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,uEAAuE;SACjG,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,GAAG;YACN,GAAG,WAAW,CAAC,KAAK;YACpB,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,4EAA4E;SACtG,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,sEAAsE;IACtE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACvE,MAAM,aAAa,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAEnD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,oDAAoD;QACpD,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;QACtE,OAAO;YACL,GAAG,KAAK;YACR,cAAc,EAAE,IAAI;YACpB,MAAM,EAAE,wDAAwD;SACjE,CAAC;IACJ,CAAC;IAED,uCAAuC;IACvC,yEAAyE;IACzE,mEAAmE;IACnE,MAAM,WAAW,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE;QAC9B,IAAI,WAAW;YAAE,OAAO,aAAa,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC1E,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;QACvB,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC/B,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;QACjC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC/B,MAAM,EAAE,EAAE;KACX,CAAC;IAEF,4DAA4D;IAC5D,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC/F,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,aAAa,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAElE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,iBAAiB,CAAC,SAAsB;IAC/C,kCAAkC;IAClC,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;QACrC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC5E,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAgB;IACpD,MAAM,MAAM,GAAG,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,wBAAwB,CAAC;IACrF,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;IAE3D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,WAAW,EAAE;YACzC,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QACH,YAAY,CAAC,OAAO,CAAC,CAAC;QAEtB,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,EAAE,CAAC;QAEvB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAa,EAAE,OAAgB;IAClE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IAC9C,sEAAsE;IACtE,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"system-detect.js","sourceRoot":"","sources":["../src/system-detect.ts"],"names":[],"mappings":"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"}
@@ -1,67 +1,20 @@
1
- /**
2
- * @agntk/core - Tool Approval System
3
- *
4
- * Wraps tools with AI SDK's native `needsApproval` flag for human-in-the-loop
5
- * safety. When `approval: true` is set on the agent, dangerous tools
6
- * (shell, browser, file_write, file_edit) automatically require approval.
7
- *
8
- * Supports:
9
- * - Auto-flagging dangerous tools
10
- * - Typed approval payloads via Zod schemas
11
- * - Timeout with default values (approve/deny after N ms)
12
- * - Custom approval handlers
13
- */
14
1
  import type { Tool, ToolSet } from 'ai';
15
- /** Configuration for the approval system. */
16
2
  export interface ApprovalConfig {
17
- /** Enable approval for dangerous tools. Default: false */
18
3
  enabled: boolean;
19
- /** Tool names that require approval. If not set, uses DANGEROUS_TOOLS. */
20
4
  tools?: string[];
21
- /** Default timeout in ms before auto-resolution. Default: none (wait forever) */
22
5
  timeout?: number;
23
- /** Default action when timeout expires. Default: 'deny' */
24
6
  timeoutAction?: 'approve' | 'deny';
25
- /** Custom handler called when a tool needs approval.
26
- * Return true to approve, false to deny.
27
- * If not provided, uses the AI SDK's built-in approval mechanism. */
28
7
  handler?: ApprovalHandler;
29
8
  }
30
- /** Custom approval handler function. */
31
9
  export type ApprovalHandler = (request: ApprovalRequest) => Promise<boolean> | boolean;
32
- /** Details about a tool call requiring approval. */
33
10
  export interface ApprovalRequest {
34
11
  toolName: string;
35
12
  input: unknown;
36
13
  toolCallId: string;
37
14
  }
38
- /** Default set of tool names considered dangerous and requiring approval. */
39
15
  export declare const DANGEROUS_TOOLS: Set<string>;
40
- /**
41
- * Check if a tool name is considered dangerous.
42
- */
43
16
  export declare function isDangerousTool(toolName: string, customList?: string[]): boolean;
44
- /**
45
- * Wrap a single tool with `needsApproval`, applying timeout + default action
46
- * if configured.
47
- */
48
17
  export declare function wrapToolWithApproval<T extends Tool>(toolName: string, tool: T, config: ApprovalConfig): T;
49
- /**
50
- * Apply approval to all dangerous tools in a toolset.
51
- *
52
- * @example
53
- * ```typescript
54
- * const tools = createToolPreset('standard', { workspaceRoot });
55
- * const approvedTools = applyApproval(tools, { enabled: true });
56
- * ```
57
- */
58
18
  export declare function applyApproval(tools: ToolSet, config: ApprovalConfig): ToolSet;
59
- /**
60
- * Create an approval config from agent options shorthand.
61
- *
62
- * Supports:
63
- * - `approval: true` → enable with defaults
64
- * - `approval: { tools: [...], timeout: 30000 }` → custom config
65
- */
66
19
  export declare function resolveApprovalConfig(input: boolean | ApprovalConfig | undefined): ApprovalConfig | undefined;
67
20
  //# sourceMappingURL=approval.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../src/tools/approval.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AASxC,6CAA6C;AAC7C,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,OAAO,EAAE,OAAO,CAAC;IAEjB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAEnC;;yEAEqE;IACrE,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,wCAAwC;AACxC,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAEvF,oDAAoD;AACpD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD,6EAA6E;AAC7E,eAAO,MAAM,eAAe,aAM1B,CAAC;AAMH;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAKhF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,IAAI,EACjD,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,cAAc,GACrB,CAAC,CAoCH;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,cAAc,GACrB,OAAO,CAgBT;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,GAAG,cAAc,GAAG,SAAS,GAC1C,cAAc,GAAG,SAAS,CAI5B"}
1
+ {"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../src/tools/approval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAKxC,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IAEjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,aAAa,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAEnC,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAEvF,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,eAAe,aAM1B,CAAC;AAEH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAKhF;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,IAAI,EACjD,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,cAAc,GACrB,CAAC,CAiCH;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAgB7E;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,GAAG,cAAc,GAAG,SAAS,GAC1C,cAAc,GAAG,SAAS,CAI5B"}
@@ -1,22 +1,5 @@
1
- /**
2
- * @agntk/core - Tool Approval System
3
- *
4
- * Wraps tools with AI SDK's native `needsApproval` flag for human-in-the-loop
5
- * safety. When `approval: true` is set on the agent, dangerous tools
6
- * (shell, browser, file_write, file_edit) automatically require approval.
7
- *
8
- * Supports:
9
- * - Auto-flagging dangerous tools
10
- * - Typed approval payloads via Zod schemas
11
- * - Timeout with default values (approve/deny after N ms)
12
- * - Custom approval handlers
13
- */
14
1
  import { createLogger } from '@agntk/logger';
15
2
  const log = createLogger('@agntk/core:approval');
16
- // ============================================================================
17
- // Constants
18
- // ============================================================================
19
- /** Default set of tool names considered dangerous and requiring approval. */
20
3
  export const DANGEROUS_TOOLS = new Set([
21
4
  'shell',
22
5
  'browser',
@@ -24,26 +7,15 @@ export const DANGEROUS_TOOLS = new Set([
24
7
  'file_edit',
25
8
  'file_create',
26
9
  ]);
27
- // ============================================================================
28
- // Core Functions
29
- // ============================================================================
30
- /**
31
- * Check if a tool name is considered dangerous.
32
- */
33
10
  export function isDangerousTool(toolName, customList) {
34
11
  if (customList) {
35
12
  return customList.includes(toolName);
36
13
  }
37
14
  return DANGEROUS_TOOLS.has(toolName);
38
15
  }
39
- /**
40
- * Wrap a single tool with `needsApproval`, applying timeout + default action
41
- * if configured.
42
- */
43
16
  export function wrapToolWithApproval(toolName, tool, config) {
44
17
  const { handler, timeout, timeoutAction = 'deny' } = config;
45
18
  if (handler) {
46
- // Use a custom handler via needsApproval function
47
19
  const wrappedTool = {
48
20
  ...tool,
49
21
  needsApproval: async (input) => {
@@ -53,7 +25,6 @@ export function wrapToolWithApproval(toolName, tool, config) {
53
25
  toolCallId: `approval-${Date.now()}`,
54
26
  };
55
27
  if (timeout) {
56
- // Race handler against timeout
57
28
  const result = await Promise.race([
58
29
  handler(request),
59
30
  new Promise((resolve) => setTimeout(() => {
@@ -68,18 +39,8 @@ export function wrapToolWithApproval(toolName, tool, config) {
68
39
  };
69
40
  return wrappedTool;
70
41
  }
71
- // Use simple boolean flag — the AI SDK will handle the approval UI
72
42
  return { ...tool, needsApproval: true };
73
43
  }
74
- /**
75
- * Apply approval to all dangerous tools in a toolset.
76
- *
77
- * @example
78
- * ```typescript
79
- * const tools = createToolPreset('standard', { workspaceRoot });
80
- * const approvedTools = applyApproval(tools, { enabled: true });
81
- * ```
82
- */
83
44
  export function applyApproval(tools, config) {
84
45
  if (!config.enabled)
85
46
  return tools;
@@ -96,13 +57,6 @@ export function applyApproval(tools, config) {
96
57
  }
97
58
  return result;
98
59
  }
99
- /**
100
- * Create an approval config from agent options shorthand.
101
- *
102
- * Supports:
103
- * - `approval: true` → enable with defaults
104
- * - `approval: { tools: [...], timeout: 30000 }` → custom config
105
- */
106
60
  export function resolveApprovalConfig(input) {
107
61
  if (!input)
108
62
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"approval.js","sourceRoot":"","sources":["../../src/tools/approval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"approval.js","sourceRoot":"","sources":["../../src/tools/approval.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,GAAG,GAAG,YAAY,CAAC,sBAAsB,CAAC,CAAC;AAsBjD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IACrC,OAAO;IACP,SAAS;IACT,YAAY;IACZ,WAAW;IACX,aAAa;CACd,CAAC,CAAC;AAEH,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,UAAqB;IACrE,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,QAAgB,EAChB,IAAO,EACP,MAAsB;IAEtB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC;IAE5D,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,WAAW,GAAG;YAClB,GAAG,IAAI;YACP,aAAa,EAAE,KAAK,EAAE,KAAc,EAAE,EAAE;gBACtC,MAAM,OAAO,GAAoB;oBAC/B,QAAQ;oBACR,KAAK;oBACL,UAAU,EAAE,YAAY,IAAI,CAAC,GAAG,EAAE,EAAE;iBACrC,CAAC;gBAEF,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;wBAChC,OAAO,CAAC,OAAO,CAAC;wBAChB,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE,CAC/B,UAAU,CAAC,GAAG,EAAE;4BACd,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;4BAC7E,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC;wBACvC,CAAC,EAAE,OAAO,CAAC,CACZ;qBACF,CAAC,CAAC;oBACH,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAED,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;SACF,CAAC;QACF,OAAO,WAAgB,CAAC;IAC1B,CAAC;IAED,OAAO,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,IAAI,EAAO,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAc,EAAE,MAAsB;IAClE,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAElC,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;IAEnC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAA2C;IAE3C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7C,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/tools/ast-grep/cli.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAY,QAAQ,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE/D,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAKD,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4B7D;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAK1C;AAED,wBAAsB,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CA8KlE;AAED,wBAAgB,cAAc,IAAI,OAAO,CAGxC;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAG3D"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/tools/ast-grep/cli.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAY,QAAQ,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE/D,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAKD,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4B7D;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAK1C;AAED,wBAAsB,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAoLlE;AAED,wBAAgB,cAAc,IAAI,OAAO,CAGxC;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAG3D"}
@@ -108,12 +108,14 @@ export async function runSg(options) {
108
108
  return;
109
109
  }
110
110
  const outputTruncated = stdout.length >= DEFAULT_MAX_OUTPUT_BYTES;
111
- const outputToProcess = outputTruncated ? stdout.substring(0, DEFAULT_MAX_OUTPUT_BYTES) : stdout;
111
+ const outputToProcess = outputTruncated
112
+ ? stdout.substring(0, DEFAULT_MAX_OUTPUT_BYTES)
113
+ : stdout;
112
114
  let matches = [];
113
115
  try {
114
116
  matches = JSON.parse(outputToProcess);
115
117
  }
116
- catch (_e) {
118
+ catch {
117
119
  if (outputTruncated) {
118
120
  try {
119
121
  const lastValidIndex = outputToProcess.lastIndexOf('}');
@@ -125,7 +127,7 @@ export async function runSg(options) {
125
127
  }
126
128
  }
127
129
  }
128
- catch (_e) {
130
+ catch {
129
131
  resolve({
130
132
  matches: [],
131
133
  totalMatches: 0,
@@ -148,7 +150,11 @@ export async function runSg(options) {
148
150
  matches: finalMatches,
149
151
  totalMatches,
150
152
  truncated: outputTruncated || matchesTruncated,
151
- truncatedReason: outputTruncated ? 'max_output_bytes' : matchesTruncated ? 'max_matches' : undefined,
153
+ truncatedReason: outputTruncated
154
+ ? 'max_output_bytes'
155
+ : matchesTruncated
156
+ ? 'max_matches'
157
+ : undefined,
152
158
  });
153
159
  });
154
160
  proc.on('error', async (err) => {
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/tools/ast-grep/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/tools/ast-grep/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/tools/ast-grep/constants.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,aAAa,qOA0BhB,CAAC;AAEX,eAAO,MAAM,cAAc,6DAA8D,CAAC;AAE1F,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CA0BpD,CAAC;AAEF,eAAO,MAAM,kBAAkB,SAAU,CAAC;AAC1C,eAAO,MAAM,wBAAwB,QAAkB,CAAC;AACxD,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAsCvC,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAmF7C;AAED,wBAAgB,YAAY,IAAI,MAAM,CAGrC;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAGD,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE;QACH,SAAS,EAAE,OAAO,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,IAAI,EAAE;QACJ,SAAS,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,wBAAgB,gBAAgB,IAAI,sBAAsB,CAoCzD;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM,CA4B7E"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/tools/ast-grep/constants.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,aAAa,qOA0BhB,CAAC;AAEX,eAAO,MAAM,cAAc,6DAA8D,CAAC;AAE1F,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CA0BpD,CAAC;AAEF,eAAO,MAAM,kBAAkB,SAAU,CAAC;AAC1C,eAAO,MAAM,wBAAwB,QAAkB,CAAC;AACxD,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAsCvC,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CA6E7C;AAED,wBAAgB,YAAY,IAAI,MAAM,CAGrC;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE;QACH,SAAS,EAAE,OAAO,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,IAAI,EAAE;QACJ,SAAS,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,wBAAgB,gBAAgB,IAAI,sBAAsB,CAmCzD;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM,CA4B7E"}
@@ -66,7 +66,7 @@ function isValidBinary(filePath) {
66
66
  try {
67
67
  return statSync(filePath).size > 10000;
68
68
  }
69
- catch (_e) {
69
+ catch {
70
70
  return false;
71
71
  }
72
72
  }
@@ -98,19 +98,16 @@ export function findSgCliPath() {
98
98
  return cachedCliPath;
99
99
  }
100
100
  const binaryName = process.platform === 'win32' ? 'sg.exe' : 'sg';
101
- // Check cached binary first (from downloader)
102
101
  const cachedPath = getCachedBinaryPath();
103
102
  if (cachedPath && isValidBinary(cachedPath)) {
104
103
  cachedCliPath = cachedPath;
105
104
  return cachedPath;
106
105
  }
107
- // Check agent data directory
108
106
  const agentBinPath = join(getDataDir(), 'agent', 'bin', binaryName);
109
107
  if (existsSync(agentBinPath) && isValidBinary(agentBinPath)) {
110
108
  cachedCliPath = agentBinPath;
111
109
  return agentBinPath;
112
110
  }
113
- // Check @ast-grep/cli npm package
114
111
  try {
115
112
  const require = createRequire(import.meta.url);
116
113
  const cliPkgPath = require.resolve('@ast-grep/cli/package.json');
@@ -121,10 +118,9 @@ export function findSgCliPath() {
121
118
  return sgPath;
122
119
  }
123
120
  }
124
- catch (_e) {
125
- // @ast-grep/cli not installed
121
+ catch {
122
+ void 0;
126
123
  }
127
- // Check platform-specific npm package
128
124
  const platformPkg = getPlatformPackageName();
129
125
  if (platformPkg) {
130
126
  try {
@@ -138,11 +134,10 @@ export function findSgCliPath() {
138
134
  return binaryPath;
139
135
  }
140
136
  }
141
- catch (_e) {
142
- // Platform-specific package not installed
137
+ catch {
138
+ void 0;
143
139
  }
144
140
  }
145
- // Check homebrew paths on macOS
146
141
  if (process.platform === 'darwin') {
147
142
  const homebrewPaths = ['/opt/homebrew/bin/sg', '/usr/local/bin/sg'];
148
143
  for (const path of homebrewPaths) {
@@ -152,7 +147,6 @@ export function findSgCliPath() {
152
147
  }
153
148
  }
154
149
  }
155
- // Check system PATH
156
150
  try {
157
151
  const isWindows = process.platform === 'win32';
158
152
  const cmd = isWindows ? 'where' : 'which';
@@ -165,8 +159,8 @@ export function findSgCliPath() {
165
159
  }
166
160
  }
167
161
  }
168
- catch (_e) {
169
- // sg not in PATH
162
+ catch {
163
+ void 0;
170
164
  }
171
165
  return null;
172
166
  }
@@ -206,7 +200,6 @@ export function checkEnvironment() {
206
200
  else {
207
201
  result.cli.error = `Binary not found: ${cliPath}`;
208
202
  }
209
- // Check NAPI availability
210
203
  try {
211
204
  createRequire(import.meta.url)('@ast-grep/napi');
212
205
  result.napi.available = true;