@agntk/core 0.3.5 → 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 (479) 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-v2.d.ts +48 -0
  6. package/dist/agent-v2.d.ts.map +1 -0
  7. package/dist/agent-v2.js +365 -0
  8. package/dist/agent-v2.js.map +1 -0
  9. package/dist/agent.d.ts +0 -40
  10. package/dist/agent.d.ts.map +1 -1
  11. package/dist/agent.js +101 -101
  12. package/dist/agent.js.map +1 -1
  13. package/dist/config/defaults.d.ts +1 -5
  14. package/dist/config/defaults.d.ts.map +1 -1
  15. package/dist/config/defaults.js +1 -11
  16. package/dist/config/defaults.js.map +1 -1
  17. package/dist/config/index.d.ts +5 -1
  18. package/dist/config/index.d.ts.map +1 -1
  19. package/dist/config/index.js +7 -7
  20. package/dist/config/index.js.map +1 -1
  21. package/dist/config/loader.d.ts +0 -40
  22. package/dist/config/loader.d.ts.map +1 -1
  23. package/dist/config/loader.js +3 -80
  24. package/dist/config/loader.js.map +1 -1
  25. package/dist/config/schema.d.ts +117 -788
  26. package/dist/config/schema.d.ts.map +1 -1
  27. package/dist/config/schema.js +52 -63
  28. package/dist/config/schema.js.map +1 -1
  29. package/dist/constants.d.ts +0 -11
  30. package/dist/constants.d.ts.map +1 -1
  31. package/dist/constants.js +0 -17
  32. package/dist/constants.js.map +1 -1
  33. package/dist/evals/assertions.d.ts +0 -35
  34. package/dist/evals/assertions.d.ts.map +1 -1
  35. package/dist/evals/assertions.js +0 -51
  36. package/dist/evals/assertions.js.map +1 -1
  37. package/dist/evals/index.d.ts +0 -5
  38. package/dist/evals/index.d.ts.map +1 -1
  39. package/dist/evals/index.js +0 -5
  40. package/dist/evals/index.js.map +1 -1
  41. package/dist/evals/runner.d.ts +0 -27
  42. package/dist/evals/runner.d.ts.map +1 -1
  43. package/dist/evals/runner.js +3 -45
  44. package/dist/evals/runner.js.map +1 -1
  45. package/dist/evals/types.d.ts +0 -14
  46. package/dist/evals/types.d.ts.map +1 -1
  47. package/dist/evals/types.js +0 -3
  48. package/dist/evals/types.js.map +1 -1
  49. package/dist/guardrails/built-ins.d.ts +0 -28
  50. package/dist/guardrails/built-ins.d.ts.map +1 -1
  51. package/dist/guardrails/built-ins.js +21 -47
  52. package/dist/guardrails/built-ins.js.map +1 -1
  53. package/dist/guardrails/index.d.ts +1 -4
  54. package/dist/guardrails/index.d.ts.map +1 -1
  55. package/dist/guardrails/index.js +1 -4
  56. package/dist/guardrails/index.js.map +1 -1
  57. package/dist/guardrails/runner.d.ts +0 -30
  58. package/dist/guardrails/runner.d.ts.map +1 -1
  59. package/dist/guardrails/runner.js +1 -46
  60. package/dist/guardrails/runner.js.map +1 -1
  61. package/dist/guardrails/types.d.ts +0 -35
  62. package/dist/guardrails/types.d.ts.map +1 -1
  63. package/dist/guardrails/types.js +4 -7
  64. package/dist/guardrails/types.js.map +1 -1
  65. package/dist/index.d.ts +1 -9
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +0 -29
  68. package/dist/index.js.map +1 -1
  69. package/dist/memory/engine.d.ts +130 -0
  70. package/dist/memory/engine.d.ts.map +1 -0
  71. package/dist/memory/engine.js +227 -0
  72. package/dist/memory/engine.js.map +1 -0
  73. package/dist/memory/loader.d.ts +0 -17
  74. package/dist/memory/loader.d.ts.map +1 -1
  75. package/dist/memory/loader.js +5 -27
  76. package/dist/memory/loader.js.map +1 -1
  77. package/dist/memory/store.d.ts +8 -16
  78. package/dist/memory/store.d.ts.map +1 -1
  79. package/dist/memory/store.js +101 -32
  80. package/dist/memory/store.js.map +1 -1
  81. package/dist/memory/types.d.ts +10 -30
  82. package/dist/memory/types.d.ts.map +1 -1
  83. package/dist/memory/types.js +0 -6
  84. package/dist/memory/types.js.map +1 -1
  85. package/dist/memory/vectra-store.d.ts +31 -0
  86. package/dist/memory/vectra-store.d.ts.map +1 -0
  87. package/dist/memory/vectra-store.js +122 -0
  88. package/dist/memory/vectra-store.js.map +1 -0
  89. package/dist/models.d.ts +9 -32
  90. package/dist/models.d.ts.map +1 -1
  91. package/dist/models.js +25 -68
  92. package/dist/models.js.map +1 -1
  93. package/dist/observability/index.d.ts +0 -3
  94. package/dist/observability/index.d.ts.map +1 -1
  95. package/dist/observability/index.js +0 -3
  96. package/dist/observability/index.js.map +1 -1
  97. package/dist/observability/langfuse.d.ts +0 -38
  98. package/dist/observability/langfuse.d.ts.map +1 -1
  99. package/dist/observability/langfuse.js +6 -55
  100. package/dist/observability/langfuse.js.map +1 -1
  101. package/dist/observability/types.d.ts +0 -21
  102. package/dist/observability/types.d.ts.map +1 -1
  103. package/dist/observability/types.js +0 -3
  104. package/dist/observability/types.js.map +1 -1
  105. package/dist/pool/index.d.ts +7 -0
  106. package/dist/pool/index.d.ts.map +1 -0
  107. package/dist/pool/index.js +6 -0
  108. package/dist/pool/index.js.map +1 -0
  109. package/dist/pool/specialist-pool.d.ts +59 -0
  110. package/dist/pool/specialist-pool.d.ts.map +1 -0
  111. package/dist/pool/specialist-pool.js +224 -0
  112. package/dist/pool/specialist-pool.js.map +1 -0
  113. package/dist/pool/tools.d.ts +63 -0
  114. package/dist/pool/tools.d.ts.map +1 -0
  115. package/dist/pool/tools.js +83 -0
  116. package/dist/pool/tools.js.map +1 -0
  117. package/dist/pool/types.d.ts +79 -0
  118. package/dist/pool/types.d.ts.map +1 -0
  119. package/dist/pool/types.js +5 -0
  120. package/dist/pool/types.js.map +1 -0
  121. package/dist/presets/index.d.ts +5 -0
  122. package/dist/presets/index.d.ts.map +1 -0
  123. package/dist/presets/index.js +5 -0
  124. package/dist/presets/index.js.map +1 -0
  125. package/dist/presets/role-registry.d.ts +41 -0
  126. package/dist/presets/role-registry.d.ts.map +1 -0
  127. package/dist/presets/role-registry.js +213 -0
  128. package/dist/presets/role-registry.js.map +1 -0
  129. package/dist/presets/roles.d.ts +105 -0
  130. package/dist/presets/roles.d.ts.map +1 -0
  131. package/dist/presets/roles.js +207 -0
  132. package/dist/presets/roles.js.map +1 -0
  133. package/dist/presets/tool-preset-registry.d.ts +0 -21
  134. package/dist/presets/tool-preset-registry.d.ts.map +1 -1
  135. package/dist/presets/tool-preset-registry.js +15 -34
  136. package/dist/presets/tool-preset-registry.js.map +1 -1
  137. package/dist/presets/tools.d.ts +41 -39
  138. package/dist/presets/tools.d.ts.map +1 -1
  139. package/dist/presets/tools.js +46 -40
  140. package/dist/presets/tools.js.map +1 -1
  141. package/dist/prompts/context.d.ts +0 -4
  142. package/dist/prompts/context.d.ts.map +1 -1
  143. package/dist/prompts/context.js +21 -33
  144. package/dist/prompts/context.js.map +1 -1
  145. package/dist/prompts/template.d.ts +0 -11
  146. package/dist/prompts/template.d.ts.map +1 -1
  147. package/dist/prompts/template.js +4 -14
  148. package/dist/prompts/template.js.map +1 -1
  149. package/dist/prompts/templates.d.ts +11 -0
  150. package/dist/prompts/templates.d.ts.map +1 -0
  151. package/dist/prompts/templates.js +115 -0
  152. package/dist/prompts/templates.js.map +1 -0
  153. package/dist/provider-resolver.d.ts +0 -29
  154. package/dist/provider-resolver.d.ts.map +1 -1
  155. package/dist/provider-resolver.js +17 -61
  156. package/dist/provider-resolver.js.map +1 -1
  157. package/dist/reflection.d.ts +0 -34
  158. package/dist/reflection.d.ts.map +1 -1
  159. package/dist/reflection.js +0 -40
  160. package/dist/reflection.js.map +1 -1
  161. package/dist/skills/index.d.ts +0 -3
  162. package/dist/skills/index.d.ts.map +1 -1
  163. package/dist/skills/index.js +0 -3
  164. package/dist/skills/index.js.map +1 -1
  165. package/dist/skills/loader.d.ts +0 -69
  166. package/dist/skills/loader.d.ts.map +1 -1
  167. package/dist/skills/loader.js +38 -130
  168. package/dist/skills/loader.js.map +1 -1
  169. package/dist/skills/types.d.ts +0 -36
  170. package/dist/skills/types.d.ts.map +1 -1
  171. package/dist/skills/types.js +0 -4
  172. package/dist/skills/types.js.map +1 -1
  173. package/dist/streaming/data-parts.d.ts +163 -0
  174. package/dist/streaming/data-parts.d.ts.map +1 -0
  175. package/dist/streaming/data-parts.js +14 -0
  176. package/dist/streaming/data-parts.js.map +1 -0
  177. package/dist/streaming/index.d.ts +8 -0
  178. package/dist/streaming/index.d.ts.map +1 -0
  179. package/dist/streaming/index.js +10 -0
  180. package/dist/streaming/index.js.map +1 -0
  181. package/dist/streaming/transient.d.ts +136 -0
  182. package/dist/streaming/transient.d.ts.map +1 -0
  183. package/dist/streaming/transient.js +201 -0
  184. package/dist/streaming/transient.js.map +1 -0
  185. package/dist/system-detect.d.ts +0 -57
  186. package/dist/system-detect.d.ts.map +1 -1
  187. package/dist/system-detect.js +9 -114
  188. package/dist/system-detect.js.map +1 -1
  189. package/dist/tools/approval.d.ts +0 -47
  190. package/dist/tools/approval.d.ts.map +1 -1
  191. package/dist/tools/approval.js +0 -46
  192. package/dist/tools/approval.js.map +1 -1
  193. package/dist/tools/ast-grep/cli.d.ts.map +1 -1
  194. package/dist/tools/ast-grep/cli.js +10 -4
  195. package/dist/tools/ast-grep/cli.js.map +1 -1
  196. package/dist/tools/ast-grep/constants.d.ts.map +1 -1
  197. package/dist/tools/ast-grep/constants.js +7 -14
  198. package/dist/tools/ast-grep/constants.js.map +1 -1
  199. package/dist/tools/ast-grep/downloader.d.ts.map +1 -1
  200. package/dist/tools/ast-grep/downloader.js +1 -4
  201. package/dist/tools/ast-grep/downloader.js.map +1 -1
  202. package/dist/tools/ast-grep/index.d.ts +2 -2
  203. package/dist/tools/ast-grep/index.d.ts.map +1 -1
  204. package/dist/tools/ast-grep/index.js +1 -1
  205. package/dist/tools/ast-grep/index.js.map +1 -1
  206. package/dist/tools/ast-grep/tools.d.ts +4 -4
  207. package/dist/tools/ast-grep/tools.d.ts.map +1 -1
  208. package/dist/tools/ast-grep/tools.js +2 -8
  209. package/dist/tools/ast-grep/tools.js.map +1 -1
  210. package/dist/tools/browser/index.d.ts +4 -4
  211. package/dist/tools/browser/index.d.ts.map +1 -1
  212. package/dist/tools/browser/index.js +2 -3
  213. package/dist/tools/browser/index.js.map +1 -1
  214. package/dist/tools/browser/stream.d.ts +0 -32
  215. package/dist/tools/browser/stream.d.ts.map +1 -1
  216. package/dist/tools/browser/stream.js +0 -53
  217. package/dist/tools/browser/stream.js.map +1 -1
  218. package/dist/tools/browser/tool.d.ts +10 -15
  219. package/dist/tools/browser/tool.d.ts.map +1 -1
  220. package/dist/tools/browser/tool.js +2 -26
  221. package/dist/tools/browser/tool.js.map +1 -1
  222. package/dist/tools/browser/types.d.ts +31 -156
  223. package/dist/tools/browser/types.d.ts.map +1 -1
  224. package/dist/tools/browser/types.js +22 -17
  225. package/dist/tools/browser/types.js.map +1 -1
  226. package/dist/tools/deep-reasoning/constants.d.ts +0 -6
  227. package/dist/tools/deep-reasoning/constants.d.ts.map +1 -1
  228. package/dist/tools/deep-reasoning/constants.js +0 -6
  229. package/dist/tools/deep-reasoning/constants.js.map +1 -1
  230. package/dist/tools/deep-reasoning/engine.d.ts.map +1 -1
  231. package/dist/tools/deep-reasoning/engine.js +0 -1
  232. package/dist/tools/deep-reasoning/engine.js.map +1 -1
  233. package/dist/tools/deep-reasoning/index.d.ts +4 -0
  234. package/dist/tools/deep-reasoning/index.d.ts.map +1 -1
  235. package/dist/tools/deep-reasoning/index.js +4 -3
  236. package/dist/tools/deep-reasoning/index.js.map +1 -1
  237. package/dist/tools/deep-reasoning/tools.d.ts.map +1 -1
  238. package/dist/tools/deep-reasoning/tools.js +8 -1
  239. package/dist/tools/deep-reasoning/tools.js.map +1 -1
  240. package/dist/tools/deep-reasoning/types.d.ts +5 -30
  241. package/dist/tools/deep-reasoning/types.d.ts.map +1 -1
  242. package/dist/tools/deep-reasoning/types.js +10 -1
  243. package/dist/tools/deep-reasoning/types.js.map +1 -1
  244. package/dist/tools/factory.d.ts +109 -0
  245. package/dist/tools/factory.d.ts.map +1 -0
  246. package/dist/tools/factory.js +166 -0
  247. package/dist/tools/factory.js.map +1 -0
  248. package/dist/tools/file/index.d.ts +3 -5
  249. package/dist/tools/file/index.d.ts.map +1 -1
  250. package/dist/tools/file/index.js +2 -4
  251. package/dist/tools/file/index.js.map +1 -1
  252. package/dist/tools/file/tools.d.ts +8 -11
  253. package/dist/tools/file/tools.d.ts.map +1 -1
  254. package/dist/tools/file/tools.js +45 -59
  255. package/dist/tools/file/tools.js.map +1 -1
  256. package/dist/tools/glob/cli.d.ts.map +1 -1
  257. package/dist/tools/glob/cli.js +8 -6
  258. package/dist/tools/glob/cli.js.map +1 -1
  259. package/dist/tools/glob/tools.d.ts.map +1 -1
  260. package/dist/tools/glob/tools.js +7 -10
  261. package/dist/tools/glob/tools.js.map +1 -1
  262. package/dist/tools/grep/cli.d.ts.map +1 -1
  263. package/dist/tools/grep/cli.js +0 -2
  264. package/dist/tools/grep/cli.js.map +1 -1
  265. package/dist/tools/grep/constants.d.ts.map +1 -1
  266. package/dist/tools/grep/constants.js +3 -5
  267. package/dist/tools/grep/constants.js.map +1 -1
  268. package/dist/tools/grep/downloader.d.ts.map +1 -1
  269. package/dist/tools/grep/downloader.js +3 -3
  270. package/dist/tools/grep/downloader.js.map +1 -1
  271. package/dist/tools/grep/tools.d.ts +2 -2
  272. package/dist/tools/grep/tools.d.ts.map +1 -1
  273. package/dist/tools/grep/tools.js +8 -14
  274. package/dist/tools/grep/tools.js.map +1 -1
  275. package/dist/tools/index.d.ts +10 -11
  276. package/dist/tools/index.d.ts.map +1 -1
  277. package/dist/tools/index.js +9 -22
  278. package/dist/tools/index.js.map +1 -1
  279. package/dist/tools/model-retry.d.ts +0 -40
  280. package/dist/tools/model-retry.d.ts.map +1 -1
  281. package/dist/tools/model-retry.js +1 -49
  282. package/dist/tools/model-retry.js.map +1 -1
  283. package/dist/tools/plan/constants.d.ts +0 -6
  284. package/dist/tools/plan/constants.d.ts.map +1 -1
  285. package/dist/tools/plan/constants.js +9 -6
  286. package/dist/tools/plan/constants.js.map +1 -1
  287. package/dist/tools/plan/index.d.ts +1 -1
  288. package/dist/tools/plan/index.d.ts.map +1 -1
  289. package/dist/tools/plan/index.js +1 -4
  290. package/dist/tools/plan/index.js.map +1 -1
  291. package/dist/tools/plan/tools.d.ts +2 -2
  292. package/dist/tools/plan/tools.d.ts.map +1 -1
  293. package/dist/tools/plan/tools.js +10 -11
  294. package/dist/tools/plan/tools.js.map +1 -1
  295. package/dist/tools/plan/types.d.ts +22 -32
  296. package/dist/tools/plan/types.d.ts.map +1 -1
  297. package/dist/tools/plan/types.js +11 -3
  298. package/dist/tools/plan/types.js.map +1 -1
  299. package/dist/tools/progress/index.d.ts +3 -22
  300. package/dist/tools/progress/index.d.ts.map +1 -1
  301. package/dist/tools/progress/index.js +19 -34
  302. package/dist/tools/progress/index.js.map +1 -1
  303. package/dist/tools/provider.d.ts +97 -0
  304. package/dist/tools/provider.d.ts.map +1 -0
  305. package/dist/tools/provider.js +178 -0
  306. package/dist/tools/provider.js.map +1 -0
  307. package/dist/tools/search-skills.d.ts +0 -23
  308. package/dist/tools/search-skills.d.ts.map +1 -1
  309. package/dist/tools/search-skills.js +3 -32
  310. package/dist/tools/search-skills.js.map +1 -1
  311. package/dist/tools/shell/background.d.ts +2 -18
  312. package/dist/tools/shell/background.d.ts.map +1 -1
  313. package/dist/tools/shell/background.js +45 -48
  314. package/dist/tools/shell/background.js.map +1 -1
  315. package/dist/tools/shell/constants.d.ts +0 -3
  316. package/dist/tools/shell/constants.d.ts.map +1 -1
  317. package/dist/tools/shell/constants.js +16 -6
  318. package/dist/tools/shell/constants.js.map +1 -1
  319. package/dist/tools/shell/index.d.ts +1 -1
  320. package/dist/tools/shell/index.d.ts.map +1 -1
  321. package/dist/tools/shell/index.js +1 -1
  322. package/dist/tools/shell/index.js.map +1 -1
  323. package/dist/tools/shell/tools.d.ts +3 -3
  324. package/dist/tools/shell/tools.d.ts.map +1 -1
  325. package/dist/tools/shell/tools.js +0 -2
  326. package/dist/tools/shell/tools.js.map +1 -1
  327. package/dist/tools/shell/types.d.ts +5 -13
  328. package/dist/tools/shell/types.d.ts.map +1 -1
  329. package/dist/tools/shell/types.js +10 -1
  330. package/dist/tools/shell/types.js.map +1 -1
  331. package/dist/tools/spawn-agent/check-agent.d.ts +45 -0
  332. package/dist/tools/spawn-agent/check-agent.d.ts.map +1 -0
  333. package/dist/tools/spawn-agent/check-agent.js +84 -0
  334. package/dist/tools/spawn-agent/check-agent.js.map +1 -0
  335. package/dist/tools/spawn-agent/index.d.ts +44 -51
  336. package/dist/tools/spawn-agent/index.d.ts.map +1 -1
  337. package/dist/tools/spawn-agent/index.js +196 -84
  338. package/dist/tools/spawn-agent/index.js.map +1 -1
  339. package/dist/tools/spawn-agent/registry.d.ts +36 -0
  340. package/dist/tools/spawn-agent/registry.d.ts.map +1 -0
  341. package/dist/tools/spawn-agent/registry.js +88 -0
  342. package/dist/tools/spawn-agent/registry.js.map +1 -0
  343. package/dist/tools/utils/errors.d.ts +2 -1
  344. package/dist/tools/utils/errors.d.ts.map +1 -1
  345. package/dist/tools/utils/errors.js +2 -1
  346. package/dist/tools/utils/errors.js.map +1 -1
  347. package/dist/tools/utils/shell.d.ts +0 -11
  348. package/dist/tools/utils/shell.d.ts.map +1 -1
  349. package/dist/tools/utils/shell.js +10 -78
  350. package/dist/tools/utils/shell.js.map +1 -1
  351. package/dist/tools/utils/tool-result.d.ts +0 -3
  352. package/dist/tools/utils/tool-result.d.ts.map +1 -1
  353. package/dist/tools/utils/tool-result.js +4 -4
  354. package/dist/tools/utils/tool-result.js.map +1 -1
  355. package/dist/tools/web-search/index.d.ts +4 -0
  356. package/dist/tools/web-search/index.d.ts.map +1 -0
  357. package/dist/tools/web-search/index.js +3 -0
  358. package/dist/tools/web-search/index.js.map +1 -0
  359. package/dist/tools/web-search/tools.d.ts +17 -0
  360. package/dist/tools/web-search/tools.d.ts.map +1 -0
  361. package/dist/tools/web-search/tools.js +81 -0
  362. package/dist/tools/web-search/tools.js.map +1 -0
  363. package/dist/tools/web-search/types.d.ts +16 -0
  364. package/dist/tools/web-search/types.d.ts.map +1 -0
  365. package/dist/tools/web-search/types.js +29 -0
  366. package/dist/tools/web-search/types.js.map +1 -0
  367. package/dist/tools/workspace-middleware.d.ts +14 -0
  368. package/dist/tools/workspace-middleware.d.ts.map +1 -0
  369. package/dist/tools/workspace-middleware.js +97 -0
  370. package/dist/tools/workspace-middleware.js.map +1 -0
  371. package/dist/types/agent-v2.d.ts +83 -0
  372. package/dist/types/agent-v2.d.ts.map +1 -0
  373. package/dist/types/agent-v2.js +8 -0
  374. package/dist/types/agent-v2.js.map +1 -0
  375. package/dist/types/agent.d.ts +1 -66
  376. package/dist/types/agent.d.ts.map +1 -1
  377. package/dist/types/agent.js +0 -6
  378. package/dist/types/agent.js.map +1 -1
  379. package/dist/types/index.d.ts +4 -3
  380. package/dist/types/index.d.ts.map +1 -1
  381. package/dist/types/index.js +3 -3
  382. package/dist/types/index.js.map +1 -1
  383. package/dist/types/lifecycle.d.ts +0 -141
  384. package/dist/types/lifecycle.d.ts.map +1 -1
  385. package/dist/types/lifecycle.js +4 -54
  386. package/dist/types/lifecycle.js.map +1 -1
  387. package/dist/types/streaming.d.ts +0 -4
  388. package/dist/types/streaming.d.ts.map +1 -1
  389. package/dist/types/streaming.js +0 -4
  390. package/dist/types/streaming.js.map +1 -1
  391. package/dist/usage-limits.d.ts +0 -37
  392. package/dist/usage-limits.d.ts.map +1 -1
  393. package/dist/usage-limits.js +1 -40
  394. package/dist/usage-limits.js.map +1 -1
  395. package/dist/utils/logger.d.ts +35 -0
  396. package/dist/utils/logger.d.ts.map +1 -0
  397. package/dist/utils/logger.js +149 -0
  398. package/dist/utils/logger.js.map +1 -0
  399. package/dist/workflow/builders/adapt.d.ts +20 -0
  400. package/dist/workflow/builders/adapt.d.ts.map +1 -0
  401. package/dist/workflow/builders/adapt.js +33 -0
  402. package/dist/workflow/builders/adapt.js.map +1 -0
  403. package/dist/workflow/builders/index.d.ts +8 -0
  404. package/dist/workflow/builders/index.d.ts.map +1 -0
  405. package/dist/workflow/builders/index.js +7 -0
  406. package/dist/workflow/builders/index.js.map +1 -0
  407. package/dist/workflow/builders/parallel.d.ts +25 -0
  408. package/dist/workflow/builders/parallel.d.ts.map +1 -0
  409. package/dist/workflow/builders/parallel.js +60 -0
  410. package/dist/workflow/builders/parallel.js.map +1 -0
  411. package/dist/workflow/builders/pipeline.d.ts +22 -0
  412. package/dist/workflow/builders/pipeline.d.ts.map +1 -0
  413. package/dist/workflow/builders/pipeline.js +48 -0
  414. package/dist/workflow/builders/pipeline.js.map +1 -0
  415. package/dist/workflow/builders/types.d.ts +54 -0
  416. package/dist/workflow/builders/types.d.ts.map +1 -0
  417. package/dist/workflow/builders/types.js +5 -0
  418. package/dist/workflow/builders/types.js.map +1 -0
  419. package/dist/workflow/durable-agent.d.ts +128 -0
  420. package/dist/workflow/durable-agent.d.ts.map +1 -0
  421. package/dist/workflow/durable-agent.js +323 -0
  422. package/dist/workflow/durable-agent.js.map +1 -0
  423. package/dist/workflow/durable-tool.d.ts +0 -84
  424. package/dist/workflow/durable-tool.d.ts.map +1 -1
  425. package/dist/workflow/durable-tool.js +2 -104
  426. package/dist/workflow/durable-tool.js.map +1 -1
  427. package/dist/workflow/hooks.d.ts +0 -215
  428. package/dist/workflow/hooks.d.ts.map +1 -1
  429. package/dist/workflow/hooks.js +15 -221
  430. package/dist/workflow/hooks.js.map +1 -1
  431. package/dist/workflow/index.d.ts +0 -9
  432. package/dist/workflow/index.d.ts.map +1 -1
  433. package/dist/workflow/index.js +0 -12
  434. package/dist/workflow/index.js.map +1 -1
  435. package/dist/workflow/schedulers.d.ts +231 -0
  436. package/dist/workflow/schedulers.d.ts.map +1 -0
  437. package/dist/workflow/schedulers.js +250 -0
  438. package/dist/workflow/schedulers.js.map +1 -0
  439. package/dist/workflow/team/create-team.d.ts +34 -0
  440. package/dist/workflow/team/create-team.d.ts.map +1 -0
  441. package/dist/workflow/team/create-team.js +242 -0
  442. package/dist/workflow/team/create-team.js.map +1 -0
  443. package/dist/workflow/team/index.d.ts +9 -0
  444. package/dist/workflow/team/index.d.ts.map +1 -0
  445. package/dist/workflow/team/index.js +8 -0
  446. package/dist/workflow/team/index.js.map +1 -0
  447. package/dist/workflow/team/machines.d.ts +152 -0
  448. package/dist/workflow/team/machines.d.ts.map +1 -0
  449. package/dist/workflow/team/machines.js +197 -0
  450. package/dist/workflow/team/machines.js.map +1 -0
  451. package/dist/workflow/team/task-board.d.ts +47 -0
  452. package/dist/workflow/team/task-board.d.ts.map +1 -0
  453. package/dist/workflow/team/task-board.js +111 -0
  454. package/dist/workflow/team/task-board.js.map +1 -0
  455. package/dist/workflow/team/tools.d.ts +66 -0
  456. package/dist/workflow/team/tools.d.ts.map +1 -0
  457. package/dist/workflow/team/tools.js +100 -0
  458. package/dist/workflow/team/tools.js.map +1 -0
  459. package/dist/workflow/team/types.d.ts +109 -0
  460. package/dist/workflow/team/types.d.ts.map +1 -0
  461. package/dist/workflow/team/types.js +5 -0
  462. package/dist/workflow/team/types.js.map +1 -0
  463. package/dist/workflow/templates.d.ts +71 -0
  464. package/dist/workflow/templates.d.ts.map +1 -0
  465. package/dist/workflow/templates.js +132 -0
  466. package/dist/workflow/templates.js.map +1 -0
  467. package/dist/workflow/utils.d.ts +0 -24
  468. package/dist/workflow/utils.d.ts.map +1 -1
  469. package/dist/workflow/utils.js +1 -32
  470. package/dist/workflow/utils.js.map +1 -1
  471. package/dist/wrappers/best-of-n.d.ts +0 -35
  472. package/dist/wrappers/best-of-n.d.ts.map +1 -1
  473. package/dist/wrappers/best-of-n.js +4 -53
  474. package/dist/wrappers/best-of-n.js.map +1 -1
  475. package/dist/wrappers/refine-loop.d.ts +36 -0
  476. package/dist/wrappers/refine-loop.d.ts.map +1 -0
  477. package/dist/wrappers/refine-loop.js +135 -0
  478. package/dist/wrappers/refine-loop.js.map +1 -0
  479. package/package.json +13 -7
@@ -1,93 +1,43 @@
1
1
  import { spawn } from 'node:child_process';
2
2
  import * as path from 'node:path';
3
3
  import * as fs from 'node:fs';
4
- // ============================================================================
5
- // Dangerous Command Detection (S-1, S-2, S-3, S-4, S-5, S-6)
6
- // ============================================================================
7
- /**
8
- * Patterns that are unconditionally blocked.
9
- *
10
- * Covers:
11
- * S-1: rm with any target (not just absolute paths)
12
- * S-2: Nested interpreter invocation (bash -c, python -c, node -e, etc.)
13
- * S-3: Destructive git operations
14
- * S-4: Fork bomb (multiple forms)
15
- * S-5: chmod with dangerous modes (666, setuid, world-writable)
16
- * S-6: Pipe-to-shell / download-and-execute bypass
17
- */
18
4
  const DANGEROUS_PATTERNS = [
19
- // S-1: rm -r/-rf targeting dangerous targets.
20
- //
21
- // Dangerous targets: bare `.` (current dir), `..` (parent), `*` (glob all),
22
- // `/` (root), `~` (home), `$(...)` or `${...}` or `` ` `` (command sub)
23
- // Safe targets: `./dist`, `./node_modules`, `./build`, etc. (explicit relative path)
24
- //
25
- // Strategy: after flags, match a target that is NOT `.` followed by `/`.
26
- // `(?!\.[/\w])` means: NOT `.` followed by slash or word char — i.e. not `./dist`.
27
- // We then explicitly enumerate dangerous patterns.
28
5
  /\brm\s+(-[^\s]*r[^\s]*\s+|--recursive\s+)((?<!\.)\.\.(?![^\s])|(?<=\s)\.(?=[\s$])|(?<=\s)\.(?=\s|$)|\*|\/|~|\$[({`])/i,
29
- // Simpler, more readable alternative that splits into two patterns:
30
- // Pattern A: rm -r targeting .. or * or / or ~ or command sub
31
6
  /\brm\s+-[^\s]*r[^\s]*\s+(\*|\/|~|\$[({]|`|\.\.(\s|$|\/))/i,
32
- // Pattern B: rm -r targeting bare . (not followed by / or word char meaning ./dist)
33
- /\brm\s+-[^\s]*r[^\s]*\s+\.(?![\w\/])/i,
34
- // Pattern C: rm without -r but with -f targeting absolute or dangerous paths
7
+ /\brm\s+-[^\s]*r[^\s]*\s+\.(?![\w/])/i,
35
8
  /\brm\s+-[^\s]*f[^\s]*\s+(\*|~|\$[({]|`|\.\.(\s|$|\/)|\/(?!tmp|var\/tmp))/i,
36
- // S-2: Nested interpreter invocation
37
9
  /\b(bash|sh|zsh|dash|ksh|fish|tcsh)\s+(-[ce]|--[a-z]+\s)/i,
38
10
  /\b(python3?|python3\.[0-9]+|pypy3?)\s+-[cC]/i,
39
11
  /\b(node|nodejs|deno|bun)\s+-[eE]/i,
40
12
  /\b(perl|ruby|php|lua|Rscript|groovy)\s+-[e]/i,
41
- // S-3: Destructive git operations
42
13
  /\bgit\s+(push\s+[^\n]*--?force|push\s+-f\b)/i,
43
14
  /\bgit\s+reset\s+--hard/i,
44
15
  /\bgit\s+clean\s+-[fdxXqn]*[fF][fdxXqn]*/i,
45
16
  /\bgit\s+rebase\s+(-i|--interactive)/i,
46
- // S-4: Fork bomb — colon function form and nohup infinite loop, but NOT normal while loops
47
17
  /:\(\s*\)\s*\{/,
48
18
  /:\s*\(\s*\)\s*\{.*:\s*\|\s*:/,
49
- // S-5: chmod dangerous modes (setuid, setgid, world-write, 666, 777)
50
- // Allows: 644, 755, 600, 700, u+x, go-w etc.
51
- // Blocks: 666, 777, 4xxx (setuid), 2xxx (setgid), +s, o+w, a+w, u+s, g+s
52
19
  /\bchmod\s+(-R\s+)?(666|777|4[0-9]{3}|2[0-9]{3}|\+s|o\+w|a\+w|u\+s|g\+s)/i,
53
- // S-6: Pipe-to-shell and download-execute bypasses
54
20
  /\b(curl|wget)\b.*\|\s*(bash|sh|zsh|dash|python3?|node)/i,
55
21
  /\b(curl|wget)\b.*>\s*\S+.*&&\s*(bash|sh|chmod)/i,
56
- // Disk/device destruction
57
22
  />\s*\/dev\/(sd[a-z]|nvme[0-9]|hd[a-z]|vd[a-z])/i,
58
23
  /\bmkfs\./i,
59
24
  /\bdd\s+if=/i,
60
- // Privilege escalation
61
25
  /\b(sudo|su)\s/i,
62
26
  /\b(shutdown|reboot|halt|poweroff)\b/i,
63
- // Shell eval builtin — `eval <string>` or `eval "..."`, not English words like 'evaluate'
64
27
  /\beval\s*["'`(]/i,
65
28
  /^eval\s/,
66
29
  /;\s*eval\s/,
67
30
  /&&\s*eval\s/,
68
31
  /\|\s*eval\s/,
69
- // MITRE T1027.010: Decode-then-execute bypass patterns
70
- // base64 -d / --decode / openssl base64 decode → piped to shell
71
32
  /\b(base64\s+-d|base64\s+--decode|openssl\s+enc\s+-d)\b.*\|\s*(bash|sh|zsh|dash|node|python3?)/i,
72
- // xxd hex-decode → piped to shell
73
33
  /\b(xxd\s+-r|xxd\s+--reverse)\b.*\|\s*(bash|sh|zsh|dash|node|python3?)/i,
74
- // gzip decompress → piped to shell
75
34
  /\bgzip\s+(-d|--decompress)\b.*\|\s*(bash|sh|zsh|dash)/i,
76
- // printf with hex escapes → piped to shell
77
35
  /\bprintf\b.*\\x[0-9a-fA-F]{2}.*\|\s*(bash|sh|zsh|dash)/i,
78
- // ANSI-C quoting with octal escapes: $'\173\40...' | sh
79
36
  /\$'\\[0-7]{3,}'.*\|\s*(bash|sh|zsh|dash)/i,
80
37
  ];
81
38
  export function isDangerousCommand(command) {
82
39
  return DANGEROUS_PATTERNS.some((pattern) => pattern.test(command));
83
40
  }
84
- // ============================================================================
85
- // CWD Validation (S-13)
86
- // ============================================================================
87
- /**
88
- * Ensure the requested cwd is within workspaceRoot (or is workspaceRoot itself).
89
- * Returns the resolved cwd, or throws if the path escapes the workspace.
90
- */
91
41
  export function validateCwd(cwd, workspaceRoot) {
92
42
  const resolvedCwd = path.resolve(cwd);
93
43
  let realWorkspace;
@@ -102,10 +52,6 @@ export function validateCwd(cwd, workspaceRoot) {
102
52
  }
103
53
  return resolvedCwd;
104
54
  }
105
- // ============================================================================
106
- // Env Var Filtering (A-3)
107
- // ============================================================================
108
- /** Key patterns that indicate credentials — stripped from child process env. */
109
55
  const SENSITIVE_ENV_PATTERNS = [
110
56
  /API[_-]?KEY/i,
111
57
  /SECRET/i,
@@ -127,10 +73,6 @@ const SENSITIVE_ENV_PATTERNS = [
127
73
  /MONGO(DB)?_URI/i,
128
74
  /REDIS_URL/i,
129
75
  ];
130
- /**
131
- * Build a sanitized copy of process.env suitable for child processes.
132
- * Strips all credential-like keys; always preserves PATH, HOME, USER, TERM, LANG, etc.
133
- */
134
76
  export function buildSanitizedEnv(extra = {}) {
135
77
  const safe = {};
136
78
  for (const [key, value] of Object.entries(process.env)) {
@@ -140,32 +82,23 @@ export function buildSanitizedEnv(extra = {}) {
140
82
  continue;
141
83
  safe[key] = value;
142
84
  }
143
- // Merge caller-supplied extras, but also filter those
144
85
  for (const [key, value] of Object.entries(extra)) {
145
86
  if (SENSITIVE_ENV_PATTERNS.some((p) => p.test(key)))
146
87
  continue;
147
88
  safe[key] = value;
148
89
  }
149
- // Always ensure PATH is present
150
90
  if (process.env.PATH)
151
91
  safe.PATH = process.env.PATH;
152
92
  return safe;
153
93
  }
154
- // ============================================================================
155
- // Output Sanitization (A-1)
156
- // ============================================================================
157
94
  const SENSITIVE_OUTPUT_PATTERNS = [
158
95
  [/\bsk-[a-zA-Z0-9]{16,}\b/g, '[OPENAI_KEY REDACTED]'],
159
- [/\bsk-ant-[a-zA-Z0-9\-]{20,}\b/g, '[ANTHROPIC_KEY REDACTED]'],
96
+ [/\bsk-ant-[a-zA-Z0-9-]{20,}\b/g, '[ANTHROPIC_KEY REDACTED]'],
160
97
  [/\bghp_[a-zA-Z0-9]{36}\b/g, '[GITHUB_TOKEN REDACTED]'],
161
- [/\bxoxb-[a-zA-Z0-9\-]+\b/g, '[SLACK_TOKEN REDACTED]'],
162
- [/Bearer\s+[a-zA-Z0-9._\-]{20,}/g, '[BEARER_TOKEN REDACTED]'],
163
- // Generic: KEY=value and SECRET=value patterns on a line
164
- [/(?:api[_\-]?key|secret|token|password|api_secret)\s*[=:]\s*[^\s'"]{8,}/gi, '[SECRET REDACTED]'],
98
+ [/\bxoxb-[a-zA-Z0-9-]+\b/g, '[SLACK_TOKEN REDACTED]'],
99
+ [/Bearer\s+[a-zA-Z0-9._-]{20,}/g, '[BEARER_TOKEN REDACTED]'],
100
+ [/(?:api[_-]?key|secret|token|password|api_secret)\s*[=:]\s*[^\s'"]{8,}/gi, '[SECRET REDACTED]'],
165
101
  ];
166
- /**
167
- * Redact API keys and secrets from command output before returning to the LLM.
168
- */
169
102
  export function sanitizeOutput(output) {
170
103
  let sanitized = output;
171
104
  for (const [pattern, replacement] of SENSITIVE_OUTPUT_PATTERNS) {
@@ -174,7 +107,7 @@ export function sanitizeOutput(output) {
174
107
  return sanitized;
175
108
  }
176
109
  export async function executeCommand(command, options = {}) {
177
- const { cwd = process.cwd(), timeout = 30000, maxBuffer = 1024 * 1024, env, } = options;
110
+ const { cwd = process.cwd(), timeout = 30000, maxBuffer = 1024 * 1024, env } = options;
178
111
  const startTime = performance.now();
179
112
  return new Promise((resolve) => {
180
113
  let stdout = '';
@@ -191,7 +124,8 @@ export async function executeCommand(command, options = {}) {
191
124
  try {
192
125
  proc.kill('SIGKILL');
193
126
  }
194
- catch (_e) {
127
+ catch {
128
+ void 0;
195
129
  }
196
130
  }, 5000);
197
131
  }, timeout);
@@ -207,10 +141,8 @@ export async function executeCommand(command, options = {}) {
207
141
  stderr += chunk;
208
142
  }
209
143
  });
210
- proc.stdout.on('error', () => {
211
- });
212
- proc.stderr.on('error', () => {
213
- });
144
+ proc.stdout.on('error', () => { });
145
+ proc.stderr.on('error', () => { });
214
146
  proc.on('close', (code) => {
215
147
  clearTimeout(timer);
216
148
  resolve({
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/tools/utils/shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/tools/utils/shell.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,3 @@
1
- /**
2
- * @fileoverview Standard tool result formatters.
3
- */
4
1
  export declare function success<T extends Record<string, unknown>>(data?: T, message?: string): string;
5
2
  export declare function error(err: Error | string, context?: Record<string, unknown>): string;
6
3
  //# sourceMappingURL=tool-result.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-result.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/tool-result.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvD,IAAI,CAAC,EAAE,CAAC,EACR,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CASR;AAED,wBAAgB,KAAK,CACnB,GAAG,EAAE,KAAK,GAAG,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,MAAM,CAOR"}
1
+ {"version":3,"file":"tool-result.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/tool-result.ts"],"names":[],"mappings":"AAAA,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAS7F;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAUpF"}
@@ -1,6 +1,3 @@
1
- /**
2
- * @fileoverview Standard tool result formatters.
3
- */
4
1
  export function success(data, message) {
5
2
  const result = { success: true };
6
3
  if (data) {
@@ -13,7 +10,10 @@ export function success(data, message) {
13
10
  }
14
11
  export function error(err, context) {
15
12
  const message = err instanceof Error ? err.message : err;
16
- const result = { success: false, error: message };
13
+ const result = {
14
+ success: false,
15
+ error: message,
16
+ };
17
17
  if (context) {
18
18
  Object.assign(result, context);
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tool-result.js","sourceRoot":"","sources":["../../../src/tools/utils/tool-result.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,UAAU,OAAO,CACrB,IAAQ,EACR,OAAgB;IAEhB,MAAM,MAAM,GAAkD,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAChF,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,KAAK,CACnB,GAAmB,EACnB,OAAiC;IAEjC,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACzD,MAAM,MAAM,GAAyE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACxH,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"tool-result.js","sourceRoot":"","sources":["../../../src/tools/utils/tool-result.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,OAAO,CAAoC,IAAQ,EAAE,OAAgB;IACnF,MAAM,MAAM,GAAkD,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAChF,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAmB,EAAE,OAAiC;IAC1E,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACzD,MAAM,MAAM,GAAyE;QACnF,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,OAAO;KACf,CAAC;IACF,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { webSearchTool, createWebSearchTool } from './tools.js';
2
+ export { webSearchInputSchema, WEB_SEARCH_DESCRIPTION } from './types.js';
3
+ export type { WebSearchInput } from './types.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/web-search/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAC1E,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { webSearchTool, createWebSearchTool } from './tools.js';
2
+ export { webSearchInputSchema, WEB_SEARCH_DESCRIPTION } from './types.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/web-search/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,17 @@
1
+ export declare const webSearchTool: import("ai").Tool<{
2
+ query: string;
3
+ maxResults?: number | undefined;
4
+ timeRange?: "day" | "week" | "month" | "year" | undefined;
5
+ extractContent?: boolean | undefined;
6
+ extractTop?: number | undefined;
7
+ }, string>;
8
+ export declare function createWebSearchTool(): {
9
+ web_search: import("ai").Tool<{
10
+ query: string;
11
+ maxResults?: number | undefined;
12
+ timeRange?: "day" | "week" | "month" | "year" | undefined;
13
+ extractContent?: boolean | undefined;
14
+ extractTop?: number | undefined;
15
+ }, string>;
16
+ };
17
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/tools/web-search/tools.ts"],"names":[],"mappings":"AAgDA,eAAO,MAAM,aAAa;;;;;;UAsDxB,CAAC;AAEH,wBAAgB,mBAAmB;;;;;;;;EAElC"}
@@ -0,0 +1,81 @@
1
+ import { tool } from 'ai';
2
+ import { createLogger } from '@agntk/logger';
3
+ import { search, extractContent, } from '@agntk/search';
4
+ import { success, error } from '../utils/tool-result.js';
5
+ import { webSearchInputSchema, WEB_SEARCH_DESCRIPTION } from './types.js';
6
+ const log = createLogger('@agntk/core:web-search');
7
+ function formatSearchOutput(response, extracted) {
8
+ const lines = [];
9
+ lines.push(`Search: "${response.query}" (${response.provider}, ${response.durationMs}ms)`);
10
+ lines.push('');
11
+ for (let i = 0; i < response.results.length; i++) {
12
+ const r = response.results[i];
13
+ lines.push(`${i + 1}. ${r.title}`);
14
+ lines.push(` ${r.url}`);
15
+ if (r.snippet) {
16
+ lines.push(` ${r.snippet}`);
17
+ }
18
+ lines.push('');
19
+ }
20
+ if (extracted.length > 0) {
21
+ lines.push('--- Extracted Content ---');
22
+ lines.push('');
23
+ for (const e of extracted) {
24
+ lines.push(`### ${e.title}`);
25
+ lines.push(`Source: ${e.url}`);
26
+ lines.push('');
27
+ lines.push(e.content);
28
+ lines.push('');
29
+ }
30
+ }
31
+ return lines.join('\n');
32
+ }
33
+ export const webSearchTool = tool({
34
+ description: WEB_SEARCH_DESCRIPTION,
35
+ inputSchema: webSearchInputSchema,
36
+ execute: async (args) => {
37
+ log.debug('web_search execute', { query: args.query, maxResults: args.maxResults });
38
+ try {
39
+ const searchOptions = {
40
+ maxResults: args.maxResults,
41
+ timeRange: args.timeRange,
42
+ };
43
+ const response = await search(args.query, searchOptions);
44
+ let extracted = [];
45
+ if (args.extractContent) {
46
+ const top = args.extractTop ?? 3;
47
+ const urls = response.results.slice(0, top);
48
+ const extractions = await Promise.allSettled(urls.map((r) => extractContent(r.url, { maxLength: 10_000 })));
49
+ extracted = extractions
50
+ .filter((e) => e.status === 'fulfilled')
51
+ .map((e) => ({
52
+ url: e.value.url,
53
+ title: e.value.title,
54
+ content: e.value.content,
55
+ }));
56
+ }
57
+ const output = formatSearchOutput(response, extracted);
58
+ log.info('web_search complete', {
59
+ query: args.query,
60
+ results: response.results.length,
61
+ provider: response.provider,
62
+ extracted: extracted.length,
63
+ });
64
+ return success({
65
+ output,
66
+ results: response.results,
67
+ provider: response.provider,
68
+ durationMs: response.durationMs,
69
+ ...(extracted.length > 0 ? { extracted } : {}),
70
+ });
71
+ }
72
+ catch (err) {
73
+ log.error('web_search failed', { query: args.query, error: err });
74
+ return error(err instanceof Error ? err.message : String(err));
75
+ }
76
+ },
77
+ });
78
+ export function createWebSearchTool() {
79
+ return { web_search: webSearchTool };
80
+ }
81
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/tools/web-search/tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ export declare const webSearchInputSchema: z.ZodObject<{
3
+ query: z.ZodString;
4
+ maxResults: z.ZodOptional<z.ZodNumber>;
5
+ timeRange: z.ZodOptional<z.ZodEnum<{
6
+ day: "day";
7
+ week: "week";
8
+ month: "month";
9
+ year: "year";
10
+ }>>;
11
+ extractContent: z.ZodOptional<z.ZodBoolean>;
12
+ extractTop: z.ZodOptional<z.ZodNumber>;
13
+ }, z.core.$strip>;
14
+ export type WebSearchInput = z.infer<typeof webSearchInputSchema>;
15
+ export declare const WEB_SEARCH_DESCRIPTION: string;
16
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tools/web-search/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB;;;;;;;;;;;iBAwB/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,sBAAsB,QAI6B,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { z } from 'zod';
2
+ export const webSearchInputSchema = z.object({
3
+ query: z.string().describe('Search query string'),
4
+ maxResults: z
5
+ .number()
6
+ .min(1)
7
+ .max(20)
8
+ .optional()
9
+ .describe('Maximum number of results to return (default: 10)'),
10
+ timeRange: z
11
+ .enum(['day', 'week', 'month', 'year'])
12
+ .optional()
13
+ .describe('Filter results by recency'),
14
+ extractContent: z
15
+ .boolean()
16
+ .optional()
17
+ .describe('If true, fetch and extract text content from top results'),
18
+ extractTop: z
19
+ .number()
20
+ .min(1)
21
+ .max(5)
22
+ .optional()
23
+ .describe('Number of top results to extract content from (default: 3, requires extractContent)'),
24
+ });
25
+ export const WEB_SEARCH_DESCRIPTION = 'Search the web for current information. ' +
26
+ 'Returns titles, URLs, and snippets from web search results. ' +
27
+ 'Optionally extracts full page content from top results for deeper analysis. ' +
28
+ 'Use for up-to-date information, research, and fact-checking.';
29
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/tools/web-search/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACjD,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,EAAE;SACV,QAAQ,CAAC,mDAAmD,CAAC;IAChE,SAAS,EAAE,CAAC;SACT,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;SACtC,QAAQ,EAAE;SACV,QAAQ,CAAC,2BAA2B,CAAC;IACxC,cAAc,EAAE,CAAC;SACd,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;IACvE,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,qFAAqF,CACtF;CACJ,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,sBAAsB,GACjC,0CAA0C;IAC1C,8DAA8D;IAC9D,8EAA8E;IAC9E,8DAA8D,CAAC"}
@@ -0,0 +1,14 @@
1
+ interface ToolLike {
2
+ description?: string;
3
+ execute?: Function;
4
+ [key: string]: unknown;
5
+ }
6
+ export interface WorkspaceMiddlewareOptions {
7
+ getWorkspacePath: () => string | null;
8
+ tokenThreshold?: number;
9
+ summaryMaxChars?: number;
10
+ excludeTools?: string[];
11
+ }
12
+ export declare function wrapAllToolsWithWorkspace<T extends Record<string, ToolLike>>(tools: T, options: WorkspaceMiddlewareOptions): T;
13
+ export {};
14
+ //# sourceMappingURL=workspace-middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-middleware.d.ts","sourceRoot":"","sources":["../../src/tools/workspace-middleware.ts"],"names":[],"mappings":"AAOA,UAAU,QAAQ;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAEtC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAsFD,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC1E,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,0BAA0B,GAClC,CAAC,CAaH"}
@@ -0,0 +1,97 @@
1
+ import { writeFile, mkdir } from 'node:fs/promises';
2
+ import { existsSync } from 'node:fs';
3
+ import { join, dirname } from 'node:path';
4
+ import { createLogger } from '@agntk/logger';
5
+ const log = createLogger('@agntk/core:workspace-middleware');
6
+ const CHARS_PER_TOKEN = 4;
7
+ const DEFAULT_TOKEN_THRESHOLD = 2000;
8
+ const DEFAULT_SUMMARY_MAX_CHARS = 500;
9
+ const DEFAULT_EXCLUDE_TOOLS = [
10
+ 'plan',
11
+ 'deep_reasoning',
12
+ 'check_agent',
13
+ 'spawn_agent',
14
+ 'remember',
15
+ 'recall',
16
+ 'update_context',
17
+ 'forget',
18
+ ];
19
+ function wrapToolWithWorkspace(toolName, toolDef, options) {
20
+ const originalExecute = toolDef.execute;
21
+ if (!originalExecute)
22
+ return toolDef;
23
+ const tokenThreshold = options.tokenThreshold ?? DEFAULT_TOKEN_THRESHOLD;
24
+ const summaryMaxChars = options.summaryMaxChars ?? DEFAULT_SUMMARY_MAX_CHARS;
25
+ const charThreshold = tokenThreshold * CHARS_PER_TOKEN;
26
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
+ const wrappedExecute = async (...args) => {
28
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
29
+ const result = await originalExecute(...args);
30
+ if (typeof result !== 'string')
31
+ return result;
32
+ if (result.length <= charThreshold)
33
+ return result;
34
+ const workspacePath = options.getWorkspacePath();
35
+ if (!workspacePath)
36
+ return result;
37
+ try {
38
+ const hash = simpleHash(result).slice(0, 6);
39
+ const fileName = `${toolName}-${hash}.md`;
40
+ const filePath = join(workspacePath, fileName);
41
+ const dir = dirname(filePath);
42
+ if (!existsSync(dir)) {
43
+ await mkdir(dir, { recursive: true });
44
+ }
45
+ await writeFile(filePath, result, 'utf-8');
46
+ const estimatedTokens = Math.ceil(result.length / CHARS_PER_TOKEN);
47
+ const truncated = result.slice(0, summaryMaxChars);
48
+ const lastNewline = truncated.lastIndexOf('\n');
49
+ const cleanTruncation = lastNewline > summaryMaxChars * 0.5 ? truncated.slice(0, lastNewline) : truncated;
50
+ log.info('Tool result offloaded to workspace', {
51
+ tool: toolName,
52
+ tokens: estimatedTokens,
53
+ file: fileName,
54
+ });
55
+ return JSON.stringify({
56
+ _workspaceOffloaded: true,
57
+ savedTo: filePath,
58
+ estimatedTokens,
59
+ summary: cleanTruncation + '\n\n... (truncated)',
60
+ hint: `Full result (${estimatedTokens} tokens) saved to ${filePath}. Read the file for complete output.`,
61
+ });
62
+ }
63
+ catch (err) {
64
+ log.warn('Workspace offload failed, returning full result', {
65
+ tool: toolName,
66
+ error: err instanceof Error ? err.message : String(err),
67
+ });
68
+ return result;
69
+ }
70
+ };
71
+ return {
72
+ ...toolDef,
73
+ execute: wrappedExecute,
74
+ };
75
+ }
76
+ export function wrapAllToolsWithWorkspace(tools, options) {
77
+ const exclude = new Set(options.excludeTools ?? DEFAULT_EXCLUDE_TOOLS);
78
+ const wrapped = {};
79
+ for (const [name, toolDef] of Object.entries(tools)) {
80
+ if (exclude.has(name)) {
81
+ wrapped[name] = toolDef;
82
+ }
83
+ else {
84
+ wrapped[name] = wrapToolWithWorkspace(name, toolDef, options);
85
+ }
86
+ }
87
+ return wrapped;
88
+ }
89
+ function simpleHash(str) {
90
+ let hash = 0;
91
+ for (let i = 0; i < Math.min(str.length, 1000); i++) {
92
+ const char = str.charCodeAt(i);
93
+ hash = ((hash << 5) - hash + char) | 0;
94
+ }
95
+ return Math.abs(hash).toString(36);
96
+ }
97
+ //# sourceMappingURL=workspace-middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-middleware.js","sourceRoot":"","sources":["../../src/tools/workspace-middleware.ts"],"names":[],"mappings":"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"}