@agntk/core 0.1.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 (502) hide show
  1. package/README.md +227 -0
  2. package/dist/advanced/index.d.ts +35 -0
  3. package/dist/advanced/index.d.ts.map +1 -0
  4. package/dist/advanced/index.js +52 -0
  5. package/dist/advanced/index.js.map +1 -0
  6. package/dist/agent.d.ts +46 -0
  7. package/dist/agent.d.ts.map +1 -0
  8. package/dist/agent.js +381 -0
  9. package/dist/agent.js.map +1 -0
  10. package/dist/config/defaults.d.ts +10 -0
  11. package/dist/config/defaults.d.ts.map +1 -0
  12. package/dist/config/defaults.js +34 -0
  13. package/dist/config/defaults.js.map +1 -0
  14. package/dist/config/index.d.ts +7 -0
  15. package/dist/config/index.d.ts.map +1 -0
  16. package/dist/config/index.js +11 -0
  17. package/dist/config/index.js.map +1 -0
  18. package/dist/config/loader.d.ts +54 -0
  19. package/dist/config/loader.d.ts.map +1 -0
  20. package/dist/config/loader.js +222 -0
  21. package/dist/config/loader.js.map +1 -0
  22. package/dist/config/schema.d.ts +912 -0
  23. package/dist/config/schema.d.ts.map +1 -0
  24. package/dist/config/schema.js +119 -0
  25. package/dist/config/schema.js.map +1 -0
  26. package/dist/constants.d.ts +17 -0
  27. package/dist/constants.d.ts.map +1 -0
  28. package/dist/constants.js +23 -0
  29. package/dist/constants.js.map +1 -0
  30. package/dist/evals/assertions.d.ts +54 -0
  31. package/dist/evals/assertions.d.ts.map +1 -0
  32. package/dist/evals/assertions.js +200 -0
  33. package/dist/evals/assertions.js.map +1 -0
  34. package/dist/evals/index.d.ts +9 -0
  35. package/dist/evals/index.d.ts.map +1 -0
  36. package/dist/evals/index.js +8 -0
  37. package/dist/evals/index.js.map +1 -0
  38. package/dist/evals/runner.d.ts +34 -0
  39. package/dist/evals/runner.d.ts.map +1 -0
  40. package/dist/evals/runner.js +186 -0
  41. package/dist/evals/runner.js.map +1 -0
  42. package/dist/evals/types.d.ts +68 -0
  43. package/dist/evals/types.d.ts.map +1 -0
  44. package/dist/evals/types.js +5 -0
  45. package/dist/evals/types.js.map +1 -0
  46. package/dist/guardrails/built-ins.d.ts +48 -0
  47. package/dist/guardrails/built-ins.d.ts.map +1 -0
  48. package/dist/guardrails/built-ins.js +149 -0
  49. package/dist/guardrails/built-ins.js.map +1 -0
  50. package/dist/guardrails/index.d.ts +8 -0
  51. package/dist/guardrails/index.d.ts.map +1 -0
  52. package/dist/guardrails/index.js +7 -0
  53. package/dist/guardrails/index.js.map +1 -0
  54. package/dist/guardrails/runner.d.ts +49 -0
  55. package/dist/guardrails/runner.d.ts.map +1 -0
  56. package/dist/guardrails/runner.js +148 -0
  57. package/dist/guardrails/runner.js.map +1 -0
  58. package/dist/guardrails/types.d.ts +63 -0
  59. package/dist/guardrails/types.d.ts.map +1 -0
  60. package/dist/guardrails/types.js +22 -0
  61. package/dist/guardrails/types.js.map +1 -0
  62. package/dist/index.d.ts +31 -0
  63. package/dist/index.d.ts.map +1 -0
  64. package/dist/index.js +35 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/memory/engine.d.ts +130 -0
  67. package/dist/memory/engine.d.ts.map +1 -0
  68. package/dist/memory/engine.js +227 -0
  69. package/dist/memory/engine.js.map +1 -0
  70. package/dist/memory/extraction.d.ts +24 -0
  71. package/dist/memory/extraction.d.ts.map +1 -0
  72. package/dist/memory/extraction.js +130 -0
  73. package/dist/memory/extraction.js.map +1 -0
  74. package/dist/memory/loader.d.ts +20 -0
  75. package/dist/memory/loader.d.ts.map +1 -0
  76. package/dist/memory/loader.js +73 -0
  77. package/dist/memory/loader.js.map +1 -0
  78. package/dist/memory/store.d.ts +42 -0
  79. package/dist/memory/store.d.ts.map +1 -0
  80. package/dist/memory/store.js +120 -0
  81. package/dist/memory/store.js.map +1 -0
  82. package/dist/memory/tools.d.ts +39 -0
  83. package/dist/memory/tools.d.ts.map +1 -0
  84. package/dist/memory/tools.js +225 -0
  85. package/dist/memory/tools.js.map +1 -0
  86. package/dist/memory/types.d.ts +46 -0
  87. package/dist/memory/types.d.ts.map +1 -0
  88. package/dist/memory/types.js +8 -0
  89. package/dist/memory/types.js.map +1 -0
  90. package/dist/memory/vectra-store.d.ts +31 -0
  91. package/dist/memory/vectra-store.d.ts.map +1 -0
  92. package/dist/memory/vectra-store.js +122 -0
  93. package/dist/memory/vectra-store.js.map +1 -0
  94. package/dist/models.d.ts +37 -0
  95. package/dist/models.d.ts.map +1 -0
  96. package/dist/models.js +131 -0
  97. package/dist/models.js.map +1 -0
  98. package/dist/observability/index.d.ts +6 -0
  99. package/dist/observability/index.d.ts.map +1 -0
  100. package/dist/observability/index.js +5 -0
  101. package/dist/observability/index.js.map +1 -0
  102. package/dist/observability/langfuse.d.ts +47 -0
  103. package/dist/observability/langfuse.d.ts.map +1 -0
  104. package/dist/observability/langfuse.js +112 -0
  105. package/dist/observability/langfuse.js.map +1 -0
  106. package/dist/observability/types.d.ts +37 -0
  107. package/dist/observability/types.d.ts.map +1 -0
  108. package/dist/observability/types.js +5 -0
  109. package/dist/observability/types.js.map +1 -0
  110. package/dist/pool/index.d.ts +7 -0
  111. package/dist/pool/index.d.ts.map +1 -0
  112. package/dist/pool/index.js +6 -0
  113. package/dist/pool/index.js.map +1 -0
  114. package/dist/pool/specialist-pool.d.ts +59 -0
  115. package/dist/pool/specialist-pool.d.ts.map +1 -0
  116. package/dist/pool/specialist-pool.js +224 -0
  117. package/dist/pool/specialist-pool.js.map +1 -0
  118. package/dist/pool/tools.d.ts +63 -0
  119. package/dist/pool/tools.d.ts.map +1 -0
  120. package/dist/pool/tools.js +83 -0
  121. package/dist/pool/tools.js.map +1 -0
  122. package/dist/pool/types.d.ts +79 -0
  123. package/dist/pool/types.d.ts.map +1 -0
  124. package/dist/pool/types.js +5 -0
  125. package/dist/pool/types.js.map +1 -0
  126. package/dist/presets/index.d.ts +5 -0
  127. package/dist/presets/index.d.ts.map +1 -0
  128. package/dist/presets/index.js +5 -0
  129. package/dist/presets/index.js.map +1 -0
  130. package/dist/presets/role-registry.d.ts +41 -0
  131. package/dist/presets/role-registry.d.ts.map +1 -0
  132. package/dist/presets/role-registry.js +213 -0
  133. package/dist/presets/role-registry.js.map +1 -0
  134. package/dist/presets/roles.d.ts +105 -0
  135. package/dist/presets/roles.d.ts.map +1 -0
  136. package/dist/presets/roles.js +207 -0
  137. package/dist/presets/roles.js.map +1 -0
  138. package/dist/presets/sub-agent-configs.d.ts +19 -0
  139. package/dist/presets/sub-agent-configs.d.ts.map +1 -0
  140. package/dist/presets/sub-agent-configs.js +71 -0
  141. package/dist/presets/sub-agent-configs.js.map +1 -0
  142. package/dist/presets/tool-preset-registry.d.ts +34 -0
  143. package/dist/presets/tool-preset-registry.d.ts.map +1 -0
  144. package/dist/presets/tool-preset-registry.js +107 -0
  145. package/dist/presets/tool-preset-registry.js.map +1 -0
  146. package/dist/presets/tools.d.ts +278 -0
  147. package/dist/presets/tools.d.ts.map +1 -0
  148. package/dist/presets/tools.js +108 -0
  149. package/dist/presets/tools.js.map +1 -0
  150. package/dist/prompts/context.d.ts +47 -0
  151. package/dist/prompts/context.d.ts.map +1 -0
  152. package/dist/prompts/context.js +187 -0
  153. package/dist/prompts/context.js.map +1 -0
  154. package/dist/prompts/template.d.ts +17 -0
  155. package/dist/prompts/template.d.ts.map +1 -0
  156. package/dist/prompts/template.js +32 -0
  157. package/dist/prompts/template.js.map +1 -0
  158. package/dist/prompts/templates.d.ts +11 -0
  159. package/dist/prompts/templates.d.ts.map +1 -0
  160. package/dist/prompts/templates.js +115 -0
  161. package/dist/prompts/templates.js.map +1 -0
  162. package/dist/reflection.d.ts +48 -0
  163. package/dist/reflection.d.ts.map +1 -0
  164. package/dist/reflection.js +91 -0
  165. package/dist/reflection.js.map +1 -0
  166. package/dist/skills/index.d.ts +6 -0
  167. package/dist/skills/index.d.ts.map +1 -0
  168. package/dist/skills/index.js +5 -0
  169. package/dist/skills/index.js.map +1 -0
  170. package/dist/skills/loader.d.ts +84 -0
  171. package/dist/skills/loader.d.ts.map +1 -0
  172. package/dist/skills/loader.js +400 -0
  173. package/dist/skills/loader.js.map +1 -0
  174. package/dist/skills/types.d.ts +66 -0
  175. package/dist/skills/types.d.ts.map +1 -0
  176. package/dist/skills/types.js +6 -0
  177. package/dist/skills/types.js.map +1 -0
  178. package/dist/streaming/data-parts.d.ts +163 -0
  179. package/dist/streaming/data-parts.d.ts.map +1 -0
  180. package/dist/streaming/data-parts.js +14 -0
  181. package/dist/streaming/data-parts.js.map +1 -0
  182. package/dist/streaming/index.d.ts +8 -0
  183. package/dist/streaming/index.d.ts.map +1 -0
  184. package/dist/streaming/index.js +10 -0
  185. package/dist/streaming/index.js.map +1 -0
  186. package/dist/streaming/transient.d.ts +136 -0
  187. package/dist/streaming/transient.d.ts.map +1 -0
  188. package/dist/streaming/transient.js +201 -0
  189. package/dist/streaming/transient.js.map +1 -0
  190. package/dist/tools/approval.d.ts +67 -0
  191. package/dist/tools/approval.d.ts.map +1 -0
  192. package/dist/tools/approval.js +113 -0
  193. package/dist/tools/approval.js.map +1 -0
  194. package/dist/tools/ast-grep/cli.d.ts +16 -0
  195. package/dist/tools/ast-grep/cli.d.ts.map +1 -0
  196. package/dist/tools/ast-grep/cli.js +198 -0
  197. package/dist/tools/ast-grep/cli.js.map +1 -0
  198. package/dist/tools/ast-grep/constants.d.ts +24 -0
  199. package/dist/tools/ast-grep/constants.d.ts.map +1 -0
  200. package/dist/tools/ast-grep/constants.js +247 -0
  201. package/dist/tools/ast-grep/constants.js.map +1 -0
  202. package/dist/tools/ast-grep/downloader.d.ts +6 -0
  203. package/dist/tools/ast-grep/downloader.d.ts.map +1 -0
  204. package/dist/tools/ast-grep/downloader.js +137 -0
  205. package/dist/tools/ast-grep/downloader.js.map +1 -0
  206. package/dist/tools/ast-grep/index.d.ts +7 -0
  207. package/dist/tools/ast-grep/index.d.ts.map +1 -0
  208. package/dist/tools/ast-grep/index.js +6 -0
  209. package/dist/tools/ast-grep/index.js.map +1 -0
  210. package/dist/tools/ast-grep/tools.d.ts +33 -0
  211. package/dist/tools/ast-grep/tools.d.ts.map +1 -0
  212. package/dist/tools/ast-grep/tools.js +140 -0
  213. package/dist/tools/ast-grep/tools.js.map +1 -0
  214. package/dist/tools/ast-grep/types.d.ts +68 -0
  215. package/dist/tools/ast-grep/types.d.ts.map +1 -0
  216. package/dist/tools/ast-grep/types.js +2 -0
  217. package/dist/tools/ast-grep/types.js.map +1 -0
  218. package/dist/tools/ast-grep/utils.d.ts +4 -0
  219. package/dist/tools/ast-grep/utils.d.ts.map +1 -0
  220. package/dist/tools/ast-grep/utils.js +55 -0
  221. package/dist/tools/ast-grep/utils.js.map +1 -0
  222. package/dist/tools/browser/index.d.ts +6 -0
  223. package/dist/tools/browser/index.d.ts.map +1 -0
  224. package/dist/tools/browser/index.js +5 -0
  225. package/dist/tools/browser/index.js.map +1 -0
  226. package/dist/tools/browser/stream.d.ts +112 -0
  227. package/dist/tools/browser/stream.d.ts.map +1 -0
  228. package/dist/tools/browser/stream.js +228 -0
  229. package/dist/tools/browser/stream.js.map +1 -0
  230. package/dist/tools/browser/tool.d.ts +144 -0
  231. package/dist/tools/browser/tool.d.ts.map +1 -0
  232. package/dist/tools/browser/tool.js +214 -0
  233. package/dist/tools/browser/tool.js.map +1 -0
  234. package/dist/tools/browser/types.d.ts +216 -0
  235. package/dist/tools/browser/types.d.ts.map +1 -0
  236. package/dist/tools/browser/types.js +146 -0
  237. package/dist/tools/browser/types.js.map +1 -0
  238. package/dist/tools/deep-reasoning/constants.d.ts +11 -0
  239. package/dist/tools/deep-reasoning/constants.d.ts.map +1 -0
  240. package/dist/tools/deep-reasoning/constants.js +35 -0
  241. package/dist/tools/deep-reasoning/constants.js.map +1 -0
  242. package/dist/tools/deep-reasoning/engine.d.ts +20 -0
  243. package/dist/tools/deep-reasoning/engine.d.ts.map +1 -0
  244. package/dist/tools/deep-reasoning/engine.js +77 -0
  245. package/dist/tools/deep-reasoning/engine.js.map +1 -0
  246. package/dist/tools/deep-reasoning/index.d.ts +5 -0
  247. package/dist/tools/deep-reasoning/index.d.ts.map +1 -0
  248. package/dist/tools/deep-reasoning/index.js +7 -0
  249. package/dist/tools/deep-reasoning/index.js.map +1 -0
  250. package/dist/tools/deep-reasoning/tools.d.ts +12 -0
  251. package/dist/tools/deep-reasoning/tools.d.ts.map +1 -0
  252. package/dist/tools/deep-reasoning/tools.js +23 -0
  253. package/dist/tools/deep-reasoning/tools.js.map +1 -0
  254. package/dist/tools/deep-reasoning/types.d.ts +66 -0
  255. package/dist/tools/deep-reasoning/types.d.ts.map +1 -0
  256. package/dist/tools/deep-reasoning/types.js +13 -0
  257. package/dist/tools/deep-reasoning/types.js.map +1 -0
  258. package/dist/tools/factory.d.ts +109 -0
  259. package/dist/tools/factory.d.ts.map +1 -0
  260. package/dist/tools/factory.js +166 -0
  261. package/dist/tools/factory.js.map +1 -0
  262. package/dist/tools/file/index.d.ts +8 -0
  263. package/dist/tools/file/index.d.ts.map +1 -0
  264. package/dist/tools/file/index.js +8 -0
  265. package/dist/tools/file/index.js.map +1 -0
  266. package/dist/tools/file/tools.d.ts +45 -0
  267. package/dist/tools/file/tools.d.ts.map +1 -0
  268. package/dist/tools/file/tools.js +206 -0
  269. package/dist/tools/file/tools.js.map +1 -0
  270. package/dist/tools/glob/cli.d.ts +8 -0
  271. package/dist/tools/glob/cli.d.ts.map +1 -0
  272. package/dist/tools/glob/cli.js +168 -0
  273. package/dist/tools/glob/cli.js.map +1 -0
  274. package/dist/tools/glob/constants.d.ts +7 -0
  275. package/dist/tools/glob/constants.d.ts.map +1 -0
  276. package/dist/tools/glob/constants.js +17 -0
  277. package/dist/tools/glob/constants.js.map +1 -0
  278. package/dist/tools/glob/index.d.ts +6 -0
  279. package/dist/tools/glob/index.d.ts.map +1 -0
  280. package/dist/tools/glob/index.js +5 -0
  281. package/dist/tools/glob/index.js.map +1 -0
  282. package/dist/tools/glob/tools.d.ts +15 -0
  283. package/dist/tools/glob/tools.d.ts.map +1 -0
  284. package/dist/tools/glob/tools.js +74 -0
  285. package/dist/tools/glob/tools.js.map +1 -0
  286. package/dist/tools/glob/types.d.ts +20 -0
  287. package/dist/tools/glob/types.d.ts.map +1 -0
  288. package/dist/tools/glob/types.js +2 -0
  289. package/dist/tools/glob/types.js.map +1 -0
  290. package/dist/tools/glob/utils.d.ts +3 -0
  291. package/dist/tools/glob/utils.d.ts.map +1 -0
  292. package/dist/tools/glob/utils.js +20 -0
  293. package/dist/tools/glob/utils.js.map +1 -0
  294. package/dist/tools/grep/cli.d.ts +4 -0
  295. package/dist/tools/grep/cli.d.ts.map +1 -0
  296. package/dist/tools/grep/cli.js +224 -0
  297. package/dist/tools/grep/cli.js.map +1 -0
  298. package/dist/tools/grep/constants.d.ts +19 -0
  299. package/dist/tools/grep/constants.d.ts.map +1 -0
  300. package/dist/tools/grep/constants.js +115 -0
  301. package/dist/tools/grep/constants.js.map +1 -0
  302. package/dist/tools/grep/downloader.d.ts +3 -0
  303. package/dist/tools/grep/downloader.d.ts.map +1 -0
  304. package/dist/tools/grep/downloader.js +164 -0
  305. package/dist/tools/grep/downloader.js.map +1 -0
  306. package/dist/tools/grep/index.d.ts +7 -0
  307. package/dist/tools/grep/index.d.ts.map +1 -0
  308. package/dist/tools/grep/index.js +6 -0
  309. package/dist/tools/grep/index.js.map +1 -0
  310. package/dist/tools/grep/tools.d.ts +19 -0
  311. package/dist/tools/grep/tools.d.ts.map +1 -0
  312. package/dist/tools/grep/tools.js +82 -0
  313. package/dist/tools/grep/tools.js.map +1 -0
  314. package/dist/tools/grep/types.d.ts +37 -0
  315. package/dist/tools/grep/types.d.ts.map +1 -0
  316. package/dist/tools/grep/types.js +2 -0
  317. package/dist/tools/grep/types.js.map +1 -0
  318. package/dist/tools/grep/utils.d.ts +4 -0
  319. package/dist/tools/grep/utils.d.ts.map +1 -0
  320. package/dist/tools/grep/utils.js +41 -0
  321. package/dist/tools/grep/utils.js.map +1 -0
  322. package/dist/tools/index.d.ts +21 -0
  323. package/dist/tools/index.d.ts.map +1 -0
  324. package/dist/tools/index.js +33 -0
  325. package/dist/tools/index.js.map +1 -0
  326. package/dist/tools/model-retry.d.ts +54 -0
  327. package/dist/tools/model-retry.d.ts.map +1 -0
  328. package/dist/tools/model-retry.js +110 -0
  329. package/dist/tools/model-retry.js.map +1 -0
  330. package/dist/tools/plan/constants.d.ts +18 -0
  331. package/dist/tools/plan/constants.d.ts.map +1 -0
  332. package/dist/tools/plan/constants.js +13 -0
  333. package/dist/tools/plan/constants.js.map +1 -0
  334. package/dist/tools/plan/index.d.ts +5 -0
  335. package/dist/tools/plan/index.d.ts.map +1 -0
  336. package/dist/tools/plan/index.js +7 -0
  337. package/dist/tools/plan/index.js.map +1 -0
  338. package/dist/tools/plan/tools.d.ts +16 -0
  339. package/dist/tools/plan/tools.d.ts.map +1 -0
  340. package/dist/tools/plan/tools.js +217 -0
  341. package/dist/tools/plan/tools.js.map +1 -0
  342. package/dist/tools/plan/types.d.ts +75 -0
  343. package/dist/tools/plan/types.d.ts.map +1 -0
  344. package/dist/tools/plan/types.js +16 -0
  345. package/dist/tools/plan/types.js.map +1 -0
  346. package/dist/tools/plan/utils.d.ts +9 -0
  347. package/dist/tools/plan/utils.d.ts.map +1 -0
  348. package/dist/tools/plan/utils.js +27 -0
  349. package/dist/tools/plan/utils.js.map +1 -0
  350. package/dist/tools/progress/index.d.ts +53 -0
  351. package/dist/tools/progress/index.d.ts.map +1 -0
  352. package/dist/tools/progress/index.js +144 -0
  353. package/dist/tools/progress/index.js.map +1 -0
  354. package/dist/tools/provider.d.ts +97 -0
  355. package/dist/tools/provider.d.ts.map +1 -0
  356. package/dist/tools/provider.js +178 -0
  357. package/dist/tools/provider.js.map +1 -0
  358. package/dist/tools/search-skills.d.ts +44 -0
  359. package/dist/tools/search-skills.d.ts.map +1 -0
  360. package/dist/tools/search-skills.js +134 -0
  361. package/dist/tools/search-skills.js.map +1 -0
  362. package/dist/tools/shell/background.d.ts +38 -0
  363. package/dist/tools/shell/background.d.ts.map +1 -0
  364. package/dist/tools/shell/background.js +229 -0
  365. package/dist/tools/shell/background.js.map +1 -0
  366. package/dist/tools/shell/constants.d.ts +10 -0
  367. package/dist/tools/shell/constants.d.ts.map +1 -0
  368. package/dist/tools/shell/constants.js +55 -0
  369. package/dist/tools/shell/constants.js.map +1 -0
  370. package/dist/tools/shell/index.d.ts +7 -0
  371. package/dist/tools/shell/index.d.ts.map +1 -0
  372. package/dist/tools/shell/index.js +5 -0
  373. package/dist/tools/shell/index.js.map +1 -0
  374. package/dist/tools/shell/tools.d.ts +22 -0
  375. package/dist/tools/shell/tools.d.ts.map +1 -0
  376. package/dist/tools/shell/tools.js +70 -0
  377. package/dist/tools/shell/tools.js.map +1 -0
  378. package/dist/tools/shell/types.d.ts +30 -0
  379. package/dist/tools/shell/types.d.ts.map +1 -0
  380. package/dist/tools/shell/types.js +10 -0
  381. package/dist/tools/shell/types.js.map +1 -0
  382. package/dist/tools/shell/utils.d.ts +7 -0
  383. package/dist/tools/shell/utils.d.ts.map +1 -0
  384. package/dist/tools/shell/utils.js +26 -0
  385. package/dist/tools/shell/utils.js.map +1 -0
  386. package/dist/tools/spawn-agent/index.d.ts +96 -0
  387. package/dist/tools/spawn-agent/index.d.ts.map +1 -0
  388. package/dist/tools/spawn-agent/index.js +168 -0
  389. package/dist/tools/spawn-agent/index.js.map +1 -0
  390. package/dist/tools/utils/errors.d.ts +21 -0
  391. package/dist/tools/utils/errors.d.ts.map +1 -0
  392. package/dist/tools/utils/errors.js +29 -0
  393. package/dist/tools/utils/errors.js.map +1 -0
  394. package/dist/tools/utils/shell.d.ts +23 -0
  395. package/dist/tools/utils/shell.d.ts.map +1 -0
  396. package/dist/tools/utils/shell.js +99 -0
  397. package/dist/tools/utils/shell.js.map +1 -0
  398. package/dist/tools/utils/tool-result.d.ts +6 -0
  399. package/dist/tools/utils/tool-result.d.ts.map +1 -0
  400. package/dist/tools/utils/tool-result.js +22 -0
  401. package/dist/tools/utils/tool-result.js.map +1 -0
  402. package/dist/types/agent.d.ts +218 -0
  403. package/dist/types/agent.d.ts.map +1 -0
  404. package/dist/types/agent.js +6 -0
  405. package/dist/types/agent.js.map +1 -0
  406. package/dist/types/index.d.ts +7 -0
  407. package/dist/types/index.d.ts.map +1 -0
  408. package/dist/types/index.js +6 -0
  409. package/dist/types/index.js.map +1 -0
  410. package/dist/types/lifecycle.d.ts +218 -0
  411. package/dist/types/lifecycle.d.ts.map +1 -0
  412. package/dist/types/lifecycle.js +99 -0
  413. package/dist/types/lifecycle.js.map +1 -0
  414. package/dist/types/streaming.d.ts +120 -0
  415. package/dist/types/streaming.d.ts.map +1 -0
  416. package/dist/types/streaming.js +6 -0
  417. package/dist/types/streaming.js.map +1 -0
  418. package/dist/usage-limits.d.ts +63 -0
  419. package/dist/usage-limits.d.ts.map +1 -0
  420. package/dist/usage-limits.js +88 -0
  421. package/dist/usage-limits.js.map +1 -0
  422. package/dist/utils/logger.d.ts +35 -0
  423. package/dist/utils/logger.d.ts.map +1 -0
  424. package/dist/utils/logger.js +149 -0
  425. package/dist/utils/logger.js.map +1 -0
  426. package/dist/workflow/builders/adapt.d.ts +20 -0
  427. package/dist/workflow/builders/adapt.d.ts.map +1 -0
  428. package/dist/workflow/builders/adapt.js +33 -0
  429. package/dist/workflow/builders/adapt.js.map +1 -0
  430. package/dist/workflow/builders/index.d.ts +8 -0
  431. package/dist/workflow/builders/index.d.ts.map +1 -0
  432. package/dist/workflow/builders/index.js +7 -0
  433. package/dist/workflow/builders/index.js.map +1 -0
  434. package/dist/workflow/builders/parallel.d.ts +25 -0
  435. package/dist/workflow/builders/parallel.d.ts.map +1 -0
  436. package/dist/workflow/builders/parallel.js +60 -0
  437. package/dist/workflow/builders/parallel.js.map +1 -0
  438. package/dist/workflow/builders/pipeline.d.ts +22 -0
  439. package/dist/workflow/builders/pipeline.d.ts.map +1 -0
  440. package/dist/workflow/builders/pipeline.js +48 -0
  441. package/dist/workflow/builders/pipeline.js.map +1 -0
  442. package/dist/workflow/builders/types.d.ts +54 -0
  443. package/dist/workflow/builders/types.d.ts.map +1 -0
  444. package/dist/workflow/builders/types.js +5 -0
  445. package/dist/workflow/builders/types.js.map +1 -0
  446. package/dist/workflow/durable-agent.d.ts +128 -0
  447. package/dist/workflow/durable-agent.d.ts.map +1 -0
  448. package/dist/workflow/durable-agent.js +323 -0
  449. package/dist/workflow/durable-agent.js.map +1 -0
  450. package/dist/workflow/durable-tool.d.ts +103 -0
  451. package/dist/workflow/durable-tool.d.ts.map +1 -0
  452. package/dist/workflow/durable-tool.js +173 -0
  453. package/dist/workflow/durable-tool.js.map +1 -0
  454. package/dist/workflow/hooks.d.ts +318 -0
  455. package/dist/workflow/hooks.d.ts.map +1 -0
  456. package/dist/workflow/hooks.js +629 -0
  457. package/dist/workflow/hooks.js.map +1 -0
  458. package/dist/workflow/index.d.ts +17 -0
  459. package/dist/workflow/index.d.ts.map +1 -0
  460. package/dist/workflow/index.js +24 -0
  461. package/dist/workflow/index.js.map +1 -0
  462. package/dist/workflow/schedulers.d.ts +231 -0
  463. package/dist/workflow/schedulers.d.ts.map +1 -0
  464. package/dist/workflow/schedulers.js +250 -0
  465. package/dist/workflow/schedulers.js.map +1 -0
  466. package/dist/workflow/team/create-team.d.ts +34 -0
  467. package/dist/workflow/team/create-team.d.ts.map +1 -0
  468. package/dist/workflow/team/create-team.js +242 -0
  469. package/dist/workflow/team/create-team.js.map +1 -0
  470. package/dist/workflow/team/index.d.ts +9 -0
  471. package/dist/workflow/team/index.d.ts.map +1 -0
  472. package/dist/workflow/team/index.js +8 -0
  473. package/dist/workflow/team/index.js.map +1 -0
  474. package/dist/workflow/team/machines.d.ts +152 -0
  475. package/dist/workflow/team/machines.d.ts.map +1 -0
  476. package/dist/workflow/team/machines.js +197 -0
  477. package/dist/workflow/team/machines.js.map +1 -0
  478. package/dist/workflow/team/task-board.d.ts +47 -0
  479. package/dist/workflow/team/task-board.d.ts.map +1 -0
  480. package/dist/workflow/team/task-board.js +111 -0
  481. package/dist/workflow/team/task-board.js.map +1 -0
  482. package/dist/workflow/team/tools.d.ts +66 -0
  483. package/dist/workflow/team/tools.d.ts.map +1 -0
  484. package/dist/workflow/team/tools.js +100 -0
  485. package/dist/workflow/team/tools.js.map +1 -0
  486. package/dist/workflow/team/types.d.ts +109 -0
  487. package/dist/workflow/team/types.d.ts.map +1 -0
  488. package/dist/workflow/team/types.js +5 -0
  489. package/dist/workflow/team/types.js.map +1 -0
  490. package/dist/workflow/templates.d.ts +71 -0
  491. package/dist/workflow/templates.d.ts.map +1 -0
  492. package/dist/workflow/templates.js +132 -0
  493. package/dist/workflow/templates.js.map +1 -0
  494. package/dist/workflow/utils.d.ts +29 -0
  495. package/dist/workflow/utils.d.ts.map +1 -0
  496. package/dist/workflow/utils.js +84 -0
  497. package/dist/workflow/utils.js.map +1 -0
  498. package/dist/wrappers/best-of-n.d.ts +69 -0
  499. package/dist/wrappers/best-of-n.d.ts.map +1 -0
  500. package/dist/wrappers/best-of-n.js +242 -0
  501. package/dist/wrappers/best-of-n.js.map +1 -0
  502. package/package.json +101 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/spawn-agent/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,KAAK;QACJ,MAAM,EAAE,CAAC,KAAK,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,KAAK;YACrC,UAAU,EAAE,aAAa,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,SAAS,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;YAChE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;SACvB,CAAC;KACH,CAAC;IAEF;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,GAAG,UAAU,CAAC;CAClC;AAmBD,eAAO,MAAM,0BAA0B;;;;;;;;;;;;EAIrC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEzE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA0JD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,iBAAsB;;;;;;;;;;;;;;;qBAI/C,eAAe;EAEnC;AAED,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,168 @@
1
+ /**
2
+ * @agntk/core - Spawn Agent Tool
3
+ * Tool for spawning sub-agents with streaming output
4
+ */
5
+ import { generateId, generateText } from 'ai';
6
+ import { z } from 'zod';
7
+ import { getSubAgentConfig, subAgentRoles } from '../../presets/sub-agent-configs.js';
8
+ import { resolveModel } from '../../models.js';
9
+ const DESCRIPTION = `Spawn a sub-agent for a specific task.
10
+
11
+ Use this tool when you need to delegate complex work that requires:
12
+ - Independent reasoning and decision-making
13
+ - Specialized role focus (coder, researcher, analyst)
14
+ - Autonomous task completion
15
+
16
+ The sub-agent will work independently and stream its output. You will receive a summary of the results.
17
+
18
+ Roles:
19
+ - coder: Code implementation specialist - best for writing, refactoring, debugging code
20
+ - researcher: Research specialist - best for gathering and synthesizing information
21
+ - analyst: Analysis specialist - best for data analysis and insights
22
+ - generic: General-purpose (default)
23
+
24
+ Note: Sub-agents cannot spawn their own sub-agents (prevents infinite recursion).`;
25
+ export const spawnAgentParametersSchema = z.object({
26
+ task: z.string().describe('The task for the sub-agent to accomplish'),
27
+ role: z.enum(subAgentRoles).default('generic').describe('The specialized role for the sub-agent'),
28
+ context: z.string().optional().describe('Additional context to provide to the sub-agent'),
29
+ });
30
+ /**
31
+ * Execute function for spawn agent tool
32
+ */
33
+ async function executeSpawnAgent(input, options) {
34
+ const { maxSpawnDepth = 1, currentDepth = 0, createAgent, onStream, } = options;
35
+ const { task, role, context } = input;
36
+ // Prevent spawning if at max depth or no factory
37
+ if (currentDepth >= maxSpawnDepth) {
38
+ return {
39
+ success: false,
40
+ error: 'Maximum spawn depth reached. Sub-agents cannot spawn further sub-agents.',
41
+ suggestion: 'Complete this task directly instead of delegating.',
42
+ };
43
+ }
44
+ if (!createAgent) {
45
+ return {
46
+ success: false,
47
+ error: 'Agent factory not configured. Sub-agent spawning is disabled.',
48
+ };
49
+ }
50
+ const agentId = generateId();
51
+ const roleConfig = getSubAgentConfig(role);
52
+ // Build the sub-agent prompt
53
+ const fullPrompt = context
54
+ ? `Context:\n${context}\n\nTask:\n${task}`
55
+ : task;
56
+ // Stream start event
57
+ if (onStream) {
58
+ onStream({
59
+ type: 'sub-agent-stream',
60
+ agentId,
61
+ role,
62
+ text: '',
63
+ status: 'streaming',
64
+ });
65
+ }
66
+ try {
67
+ // Create and run the sub-agent
68
+ const subAgent = createAgent({
69
+ role,
70
+ instructions: roleConfig.instructions,
71
+ tools: roleConfig.tools,
72
+ maxSpawnDepth: 0, // Sub-agents can't spawn further
73
+ });
74
+ const stream = subAgent.stream({ prompt: fullPrompt });
75
+ // Stream sub-agent output
76
+ for await (const chunk of stream.fullStream) {
77
+ if (chunk.type === 'text-delta' && chunk.textDelta) {
78
+ if (onStream) {
79
+ onStream({
80
+ type: 'sub-agent-stream',
81
+ agentId,
82
+ role,
83
+ text: chunk.textDelta,
84
+ status: 'streaming',
85
+ });
86
+ }
87
+ }
88
+ }
89
+ // Get final result
90
+ const result = await stream.text;
91
+ // Stream completion event
92
+ if (onStream) {
93
+ onStream({
94
+ type: 'sub-agent-stream',
95
+ agentId,
96
+ role,
97
+ text: result,
98
+ status: 'complete',
99
+ });
100
+ }
101
+ // Extract semantic summary using LLM instead of blind truncation
102
+ const summary = await extractSummary(result, role, task);
103
+ return {
104
+ success: true,
105
+ agentId,
106
+ role,
107
+ summary,
108
+ message: `Sub-agent (${role}) completed the task.`,
109
+ };
110
+ }
111
+ catch (error) {
112
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
113
+ // Stream error event
114
+ if (onStream) {
115
+ onStream({
116
+ type: 'sub-agent-stream',
117
+ agentId,
118
+ role,
119
+ text: `Error: ${errorMessage}`,
120
+ status: 'complete',
121
+ });
122
+ }
123
+ return {
124
+ success: false,
125
+ agentId,
126
+ role,
127
+ error: errorMessage,
128
+ };
129
+ }
130
+ }
131
+ /**
132
+ * Extract a semantic summary from sub-agent output using a fast model.
133
+ * Falls back to first 500 chars if the summarization call fails.
134
+ */
135
+ async function extractSummary(fullOutput, role, originalTask) {
136
+ // Short outputs don't need summarization
137
+ if (fullOutput.length <= 500) {
138
+ return fullOutput;
139
+ }
140
+ try {
141
+ const { text } = await generateText({
142
+ model: resolveModel({ tier: 'fast' }),
143
+ system: `You are summarizing the output of a sub-agent (role: ${role}). Write a clear, actionable summary that captures the key findings, decisions, and results. Be concise but preserve critical details.`,
144
+ prompt: `Original task: ${originalTask}\n\nSub-agent output:\n${fullOutput}`,
145
+ maxRetries: 1,
146
+ });
147
+ return text;
148
+ }
149
+ catch (_e) {
150
+ // Fallback: return the beginning of the output if summarization fails
151
+ return `${fullOutput.slice(0, 500)}...\n[Summary extraction failed, showing first 500 chars]`;
152
+ }
153
+ }
154
+ /**
155
+ * Creates a spawn agent tool definition for use with AI SDK
156
+ *
157
+ * @param options - Spawn options including depth limits, agent factory, and stream callback
158
+ * @returns Tool definition object compatible with AI SDK
159
+ */
160
+ export function createSpawnAgentTool(options = {}) {
161
+ return {
162
+ description: DESCRIPTION,
163
+ inputSchema: spawnAgentParametersSchema,
164
+ execute: (input) => executeSpawnAgent(input, options),
165
+ };
166
+ }
167
+ export default createSpawnAgentTool;
168
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/spawn-agent/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Tool Error utilities
3
+ */
4
+ export declare enum ToolErrorType {
5
+ COMMAND_BLOCKED = "COMMAND_BLOCKED",
6
+ VALIDATION_FAILED = "VALIDATION_FAILED",
7
+ EXECUTION_FAILED = "EXECUTION_FAILED",
8
+ TIMEOUT = "TIMEOUT",
9
+ NOT_FOUND = "NOT_FOUND"
10
+ }
11
+ export declare class ToolError extends Error {
12
+ readonly type: ToolErrorType;
13
+ readonly context?: Record<string, unknown> | undefined;
14
+ constructor(message: string, type: ToolErrorType, context?: Record<string, unknown> | undefined);
15
+ toJSON(): {
16
+ error: ToolErrorType;
17
+ message: string;
18
+ context: Record<string, unknown> | undefined;
19
+ };
20
+ }
21
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,oBAAY,aAAa;IACvB,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAED,qBAAa,SAAU,SAAQ,KAAK;aAGhB,IAAI,EAAE,aAAa;aACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjD,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,aAAa,EACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;IAMnD,MAAM;;;;;CAOP"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Tool Error utilities
3
+ */
4
+ export var ToolErrorType;
5
+ (function (ToolErrorType) {
6
+ ToolErrorType["COMMAND_BLOCKED"] = "COMMAND_BLOCKED";
7
+ ToolErrorType["VALIDATION_FAILED"] = "VALIDATION_FAILED";
8
+ ToolErrorType["EXECUTION_FAILED"] = "EXECUTION_FAILED";
9
+ ToolErrorType["TIMEOUT"] = "TIMEOUT";
10
+ ToolErrorType["NOT_FOUND"] = "NOT_FOUND";
11
+ })(ToolErrorType || (ToolErrorType = {}));
12
+ export class ToolError extends Error {
13
+ type;
14
+ context;
15
+ constructor(message, type, context) {
16
+ super(message);
17
+ this.type = type;
18
+ this.context = context;
19
+ this.name = 'ToolError';
20
+ }
21
+ toJSON() {
22
+ return {
23
+ error: this.type,
24
+ message: this.message,
25
+ context: this.context,
26
+ };
27
+ }
28
+ }
29
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/tools/utils/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,oDAAmC,CAAA;IACnC,wDAAuC,CAAA;IACvC,sDAAqC,CAAA;IACrC,oCAAmB,CAAA;IACnB,wCAAuB,CAAA;AACzB,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB;AAED,MAAM,OAAO,SAAU,SAAQ,KAAK;IAGhB;IACA;IAHlB,YACE,OAAe,EACC,IAAmB,EACnB,OAAiC;QAEjD,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAe;QACnB,YAAO,GAAP,OAAO,CAA0B;QAGjD,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;IAED,MAAM;QACJ,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,IAAI;YAChB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,23 @@
1
+ export declare function isDangerousCommand(command: string): boolean;
2
+ export interface ShellOptions {
3
+ cwd?: string;
4
+ timeout?: number;
5
+ maxBuffer?: number;
6
+ env?: Record<string, string>;
7
+ }
8
+ export interface ShellResult {
9
+ stdout: string;
10
+ stderr: string;
11
+ exitCode: number;
12
+ killed: boolean;
13
+ durationMs: number;
14
+ error?: string;
15
+ }
16
+ export declare function executeCommand(command: string, options?: ShellOptions): Promise<ShellResult>;
17
+ export declare function executeCommandSafe(command: string, options?: ShellOptions): Promise<{
18
+ success: boolean;
19
+ result?: ShellResult;
20
+ error?: string;
21
+ blocked?: boolean;
22
+ }>;
23
+ //# sourceMappingURL=shell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/shell.ts"],"names":[],"mappings":"AAeA,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,CA2EtB;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC,CAuBD"}
@@ -0,0 +1,99 @@
1
+ import { spawn } from 'node:child_process';
2
+ const DANGEROUS_PATTERNS = [
3
+ /rm\s+(-rf?|--recursive)?\s*[\/~]/i,
4
+ />\s*\/dev\/sd[a-z]/i,
5
+ /mkfs\./i,
6
+ /dd\s+if=/i,
7
+ /:(){ :|:& };:/,
8
+ /\b(sudo|su)\b/i,
9
+ /\b(shutdown|reboot|halt|poweroff)\b/i,
10
+ /\b(curl|wget)\b.*\|\s*(bash|sh|zsh)\b/i,
11
+ /\beval\b/i,
12
+ /\bchmod\s+(-R\s+)?(777|755)\b/i, // Basic check for dangerous permissions
13
+ ];
14
+ export function isDangerousCommand(command) {
15
+ return DANGEROUS_PATTERNS.some((pattern) => pattern.test(command));
16
+ }
17
+ export async function executeCommand(command, options = {}) {
18
+ const { cwd = process.cwd(), timeout = 30000, maxBuffer = 1024 * 1024, env, } = options;
19
+ const startTime = performance.now();
20
+ return new Promise((resolve) => {
21
+ let stdout = '';
22
+ let stderr = '';
23
+ let killed = false;
24
+ const proc = spawn('bash', ['-c', command], {
25
+ cwd,
26
+ env: { ...process.env, ...env, TERM: 'dumb' },
27
+ });
28
+ const timer = setTimeout(() => {
29
+ killed = true;
30
+ proc.kill('SIGTERM');
31
+ setTimeout(() => {
32
+ try {
33
+ proc.kill('SIGKILL');
34
+ }
35
+ catch (_e) {
36
+ }
37
+ }, 5000);
38
+ }, timeout);
39
+ proc.stdout.on('data', (data) => {
40
+ const chunk = data.toString();
41
+ if (stdout.length + chunk.length <= maxBuffer) {
42
+ stdout += chunk;
43
+ }
44
+ });
45
+ proc.stderr.on('data', (data) => {
46
+ const chunk = data.toString();
47
+ if (stderr.length + chunk.length <= maxBuffer) {
48
+ stderr += chunk;
49
+ }
50
+ });
51
+ proc.stdout.on('error', () => {
52
+ });
53
+ proc.stderr.on('error', () => {
54
+ });
55
+ proc.on('close', (code) => {
56
+ clearTimeout(timer);
57
+ resolve({
58
+ stdout: stdout.trim(),
59
+ stderr: stderr.trim(),
60
+ exitCode: code ?? 1,
61
+ killed,
62
+ durationMs: performance.now() - startTime,
63
+ });
64
+ });
65
+ proc.on('error', (err) => {
66
+ clearTimeout(timer);
67
+ resolve({
68
+ stdout: '',
69
+ stderr: '',
70
+ exitCode: 1,
71
+ killed: false,
72
+ durationMs: performance.now() - startTime,
73
+ error: err.message,
74
+ });
75
+ });
76
+ });
77
+ }
78
+ export async function executeCommandSafe(command, options = {}) {
79
+ if (isDangerousCommand(command)) {
80
+ return {
81
+ success: false,
82
+ error: 'Command blocked for safety',
83
+ blocked: true,
84
+ };
85
+ }
86
+ const result = await executeCommand(command, options);
87
+ if (result.error) {
88
+ return {
89
+ success: false,
90
+ error: result.error,
91
+ result,
92
+ };
93
+ }
94
+ return {
95
+ success: result.exitCode === 0,
96
+ result,
97
+ };
98
+ }
99
+ //# sourceMappingURL=shell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/tools/utils/shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,MAAM,kBAAkB,GAAG;IACzB,mCAAmC;IACnC,qBAAqB;IACrB,SAAS;IACT,WAAW;IACX,eAAe;IACf,gBAAgB;IAChB,sCAAsC;IACtC,wCAAwC;IACxC,WAAW;IACX,gCAAgC,EAAE,wCAAwC;CAC3E,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACrE,CAAC;AAkBD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAe,EACf,UAAwB,EAAE;IAE1B,MAAM,EACJ,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,EACnB,OAAO,GAAG,KAAK,EACf,SAAS,GAAG,IAAI,GAAG,IAAI,EACvB,GAAG,GACJ,GAAG,OAAO,CAAC;IAEZ,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAEpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;YAC1C,GAAG;YACH,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE;SAC9C,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,GAAG,IAAI,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAErB,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC;oBACH,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACvB,CAAC;gBAAC,OAAO,EAAW,EAAE,CAAC;gBACvB,CAAC;YACH,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QAC7B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QAC7B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC;gBACN,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;gBACrB,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;gBACrB,QAAQ,EAAE,IAAI,IAAI,CAAC;gBACnB,MAAM;gBACN,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;aAC1C,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACvB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC;gBACN,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE,KAAK;gBACb,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;gBACzC,KAAK,EAAE,GAAG,CAAC,OAAO;aACnB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAe,EACf,UAAwB,EAAE;IAO1B,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,4BAA4B;YACnC,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEtD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM;SACP,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,QAAQ,KAAK,CAAC;QAC9B,MAAM;KACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @fileoverview Standard tool result formatters.
3
+ */
4
+ export declare function success<T extends Record<string, unknown>>(data?: T, message?: string): string;
5
+ export declare function error(err: Error | string, context?: Record<string, unknown>): string;
6
+ //# sourceMappingURL=tool-result.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @fileoverview Standard tool result formatters.
3
+ */
4
+ export function success(data, message) {
5
+ const result = { success: true };
6
+ if (data) {
7
+ Object.assign(result, data);
8
+ }
9
+ if (message) {
10
+ result.message = message;
11
+ }
12
+ return JSON.stringify(result);
13
+ }
14
+ export function error(err, context) {
15
+ const message = err instanceof Error ? err.message : err;
16
+ const result = { success: false, error: message };
17
+ if (context) {
18
+ Object.assign(result, context);
19
+ }
20
+ return JSON.stringify(result);
21
+ }
22
+ //# sourceMappingURL=tool-result.js.map
@@ -0,0 +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"}
@@ -0,0 +1,218 @@
1
+ /**
2
+ * @fileoverview Core type definitions for AgentOptions and related configuration types.
3
+ * These types define the interface for the createAgent() factory function.
4
+ */
5
+ import type { LanguageModel, Tool, StepResult, ToolSet } from 'ai';
6
+ import type { SkillsConfig } from '../skills/types.js';
7
+ import type { UsageLimits } from '../usage-limits.js';
8
+ import type { ReflectionConfig } from '../reflection.js';
9
+ import type { ApprovalConfig } from '../tools/approval.js';
10
+ import type { GuardrailsConfig } from '../guardrails/types.js';
11
+ import type { StreamEventCallback } from './streaming.js';
12
+ import type { ObservabilityConfig } from '../observability/types.js';
13
+ /**
14
+ * Configuration options for creating an agent via createAgent().
15
+ */
16
+ export interface AgentOptions {
17
+ /** System prompt/instructions for the agent. Overrides role-based defaults. */
18
+ systemPrompt?: string;
19
+ /** Context to prepend to the system prompt without overriding role defaults.
20
+ * Useful for injecting environment context (OS, shell, project type, etc.).
21
+ */
22
+ systemPromptPrefix?: string;
23
+ /** Predefined role with associated system prompt and call options. */
24
+ role?: AgentRole;
25
+ /** Unique identifier for the agent instance. */
26
+ agentId?: string;
27
+ /** Maximum number of tool execution steps. Default: 10 */
28
+ maxSteps?: number;
29
+ /** Token and request caps. Throws UsageLimitExceeded when exceeded.
30
+ * @example
31
+ * ```typescript
32
+ * const agent = createAgent({
33
+ * usageLimits: { maxRequests: 20, maxTotalTokens: 100_000 },
34
+ * });
35
+ * ```
36
+ */
37
+ usageLimits?: UsageLimits;
38
+ /** Condition to stop agent execution. */
39
+ stopWhen?: 'task_complete' | 'max_steps' | StopFunction;
40
+ /** Reflection strategy injected between tool steps.
41
+ * 'reflact' injects goal-state reflection after every step.
42
+ * 'periodic' injects reflection every N steps (configurable via frequency).
43
+ * 'none' preserves default behavior (no reflection).
44
+ * @example
45
+ * ```typescript
46
+ * const agent = createAgent({
47
+ * reflection: { strategy: 'reflact' },
48
+ * });
49
+ * ```
50
+ */
51
+ reflection?: ReflectionConfig;
52
+ /** Language model instance. Takes precedence over provider/name. */
53
+ model?: LanguageModel;
54
+ /** Model provider to use for automatic model resolution. */
55
+ modelProvider?: ModelProvider;
56
+ /** Model name/identifier within the provider. */
57
+ modelName?: string;
58
+ /** Custom tools to add to the agent. Merged with preset tools. */
59
+ tools?: Record<string, Tool>;
60
+ /** Predefined tool preset to use. Default: 'standard' */
61
+ toolPreset?: ToolPreset;
62
+ /** Specific tools to enable (whitelist). If set, only these tools are active. */
63
+ enableTools?: string[];
64
+ /** Specific tools to disable (blacklist). Removed from preset/custom tools. */
65
+ disableTools?: string[];
66
+ /** Maximum retries per tool when a ModelRetry error is thrown. Default: 3 */
67
+ maxToolRetries?: number;
68
+ /** Require human approval before executing dangerous tools.
69
+ * `true` enables approval for default dangerous tools (shell, browser, file_write, file_edit).
70
+ * Provide an ApprovalConfig object for fine-grained control.
71
+ * @example
72
+ * ```typescript
73
+ * const agent = createAgent({
74
+ * approval: true, // enable for default dangerous tools
75
+ * });
76
+ * // or
77
+ * const agent = createAgent({
78
+ * approval: { enabled: true, tools: ['shell'], timeout: 30000 },
79
+ * });
80
+ * ```
81
+ */
82
+ approval?: boolean | ApprovalConfig;
83
+ /** Guardrails for input/output validation.
84
+ * Input guardrails run before the agent; output guardrails run after.
85
+ * Both phases execute their guardrails in parallel with fast-fail.
86
+ * @example
87
+ * ```typescript
88
+ * const agent = createAgent({
89
+ * guardrails: {
90
+ * output: [contentFilter(), lengthLimit({ maxChars: 5000 })],
91
+ * onBlock: 'retry',
92
+ * },
93
+ * });
94
+ * ```
95
+ */
96
+ guardrails?: GuardrailsConfig;
97
+ /** Enable spawn_agent tool for sub-agent delegation. Default: false */
98
+ enableSubAgents?: boolean;
99
+ /** Custom configurations for specific sub-agent roles. */
100
+ subAgentRoles?: Record<string, SubAgentConfig>;
101
+ /** Maximum depth of sub-agent spawning to prevent infinite recursion. Default: 2 */
102
+ maxSpawnDepth?: number;
103
+ /** Enable transient streaming for tool data (file contents, shell output, etc). Default: true */
104
+ enableTransientStreaming?: boolean;
105
+ /** Enable durable workflow wrapping for tool executions. Default: true */
106
+ durable?: boolean;
107
+ /** Configuration for workflow durability. */
108
+ workflowOptions?: WorkflowOptions;
109
+ /** Enable persistent memory for the agent. Default: false
110
+ * When true, creates a MarkdownMemoryStore that reads/writes .agntk/ files.
111
+ * @example
112
+ * ```typescript
113
+ * const agent = createAgent({ enableMemory: true });
114
+ * ```
115
+ */
116
+ enableMemory?: boolean;
117
+ /** Configuration for memory system. */
118
+ memoryOptions?: MemoryOptions;
119
+ /** Skills to inject into the agent's system prompt.
120
+ * Skills are discovered from SKILL.md files in configured directories.
121
+ * @example
122
+ * ```typescript
123
+ * const agent = createAgent({
124
+ * skills: { directories: ['.agents/skills'] },
125
+ * });
126
+ * ```
127
+ */
128
+ skills?: SkillsConfig;
129
+ /** Root directory for file operations. Used for path security. */
130
+ workspaceRoot?: string;
131
+ /** Handler for agent asking user questions. */
132
+ askUserHandler?: AskUserHandler;
133
+ /** Callback fired after each tool execution step. */
134
+ onStepFinish?: StepFinishCallback;
135
+ /** Callback for streaming events. */
136
+ onEvent?: StreamEventCallback;
137
+ /** Telemetry configuration for OpenTelemetry-based tracing.
138
+ * When provided, initializes observability and passes telemetry settings
139
+ * to the underlying AI SDK ToolLoopAgent.
140
+ *
141
+ * Requires `langfuse-vercel` and `@vercel/otel` as optional peer dependencies.
142
+ * Gracefully degrades (no-op) if not installed.
143
+ *
144
+ * @example
145
+ * ```typescript
146
+ * const agent = createAgent({
147
+ * telemetry: {
148
+ * provider: { provider: 'langfuse' },
149
+ * functionId: 'my-agent',
150
+ * },
151
+ * });
152
+ * ```
153
+ */
154
+ telemetry?: {
155
+ /** Observability provider config (e.g., Langfuse keys/URL). */
156
+ provider?: ObservabilityConfig;
157
+ /** Identifier for this agent function in traces. Defaults to `agent:<agentId>`. */
158
+ functionId?: string;
159
+ /** Additional metadata to include in traces. */
160
+ metadata?: Record<string, unknown>;
161
+ };
162
+ }
163
+ /** Predefined agent roles with associated configurations. */
164
+ export type AgentRole = 'generic' | 'coder' | 'researcher' | 'analyst';
165
+ /** Supported model providers. */
166
+ export type ModelProvider = 'openrouter' | 'ollama' | 'openai' | (string & {});
167
+ /** Predefined tool presets. */
168
+ export type ToolPreset = 'none' | 'minimal' | 'standard' | 'full';
169
+ /** Custom stop condition function. */
170
+ export type StopFunction = (ctx: StopContext) => boolean;
171
+ /** Context passed to stop condition function. */
172
+ export interface StopContext {
173
+ steps: StepResult<ToolSet>[];
174
+ stepCount: number;
175
+ }
176
+ /** Handler for user interaction requests. */
177
+ export type AskUserHandler = (question: string) => Promise<string>;
178
+ /** Callback for step completion. */
179
+ export type StepFinishCallback = (step: StepResult<ToolSet>, index: number) => void | Promise<void>;
180
+ /**
181
+ * Callback for streaming events.
182
+ * Re-exported from types/streaming.ts — the canonical source with full type safety.
183
+ */
184
+ export type { StreamEvent, StreamEventCallback } from './streaming.js';
185
+ /** Configuration for a sub-agent role. */
186
+ export interface SubAgentConfig {
187
+ /** Custom instructions for this sub-agent role. */
188
+ instructions?: string;
189
+ /** Tools available to this sub-agent. */
190
+ tools?: string[];
191
+ /** Model name/identifier for this sub-agent. */
192
+ model?: string;
193
+ /** Maximum steps for the sub-agent. Default: 5 */
194
+ maxSteps?: number;
195
+ }
196
+ /** Configuration for workflow durability. */
197
+ export interface WorkflowOptions {
198
+ /** Default retry count for failed tool executions. Default: 3 */
199
+ defaultRetryCount?: number;
200
+ /** Default timeout for tool executions. Format: "30s", "5m", "1h". Default: "5m" */
201
+ defaultTimeout?: string;
202
+ /** Whether independent tools should run in parallel. Default: true */
203
+ parallelIndependent?: boolean;
204
+ /** Storage backend for workflow state. Default: 'memory' */
205
+ storage?: 'vercel' | 'sqlite' | 'memory';
206
+ /** Workflow run ID for resumption. */
207
+ workflowRunId?: string;
208
+ }
209
+ /** Configuration for the markdown-based memory system. */
210
+ export interface MemoryOptions {
211
+ /** Directory for project-local memory files. Default: '.agntk' */
212
+ projectDir?: string;
213
+ /** Directory for global (cross-project) memory files. Default: '~/.agntk' */
214
+ globalDir?: string;
215
+ /** Custom MemoryStore implementation. Overrides file-based defaults. */
216
+ store?: import('../memory/types').MemoryStore;
217
+ }
218
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @fileoverview Core type definitions for AgentOptions and related configuration types.
3
+ * These types define the interface for the createAgent() factory function.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":"AAAA;;;GAGG"}