@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,128 @@
1
+ /**
2
+ * @agntk/core - Durable Agent Factory
3
+ *
4
+ * Creates agents with workflow durability features.
5
+ * Uses the Workflow DevKit ("use workflow" / "use step" directives)
6
+ * for crash recovery, auto-retry, and step-level observability.
7
+ *
8
+ * When the `workflow` package is installed and the app runs under the
9
+ * Workflow runtime, every LLM call and tool execution becomes a
10
+ * discrete, checkpointed step. Without the runtime, the directives
11
+ * are inert string literals and the agent operates normally.
12
+ *
13
+ * @see https://useworkflow.dev
14
+ */
15
+ import type { Agent } from '../agent.js';
16
+ import type { AgentOptions, WorkflowOptions } from '../types/agent.js';
17
+ /**
18
+ * Extended options for creating a durable agent.
19
+ * Includes all standard AgentOptions plus workflow-specific config.
20
+ */
21
+ export interface DurableAgentOptions extends AgentOptions {
22
+ /** Force durability even if detection is uncertain. Default: true */
23
+ durable?: boolean;
24
+ /** Workflow-specific configuration. */
25
+ workflowOptions?: WorkflowOptions;
26
+ }
27
+ /**
28
+ * Result from a durable generation.
29
+ */
30
+ export interface DurableGenerateResult {
31
+ text: string;
32
+ workflowRunId?: string;
33
+ steps?: Array<{
34
+ name: string;
35
+ status: 'completed' | 'failed' | 'skipped';
36
+ durationMs?: number;
37
+ }>;
38
+ usage?: {
39
+ promptTokens: number;
40
+ completionTokens: number;
41
+ totalTokens: number;
42
+ };
43
+ }
44
+ /**
45
+ * Webhook response for approval workflows.
46
+ */
47
+ export interface WebhookResponse {
48
+ approved: boolean;
49
+ feedback?: string;
50
+ modifiedContent?: string;
51
+ }
52
+ /**
53
+ * Extended agent interface with durable workflow capabilities.
54
+ * Extends the base Agent interface with workflow-specific methods.
55
+ */
56
+ export interface DurableAgent extends Agent {
57
+ /**
58
+ * Durable generate that wraps the LLM call as a workflow step.
59
+ * Survives crashes — the workflow runtime checkpoints progress.
60
+ */
61
+ durableGenerate: (prompt: string) => Promise<DurableGenerateResult>;
62
+ /**
63
+ * Generate with approval workflow.
64
+ * Pauses execution (zero compute) until webhook approval is received.
65
+ */
66
+ withApproval: (prompt: string, webhookPath: string) => Promise<DurableGenerateResult>;
67
+ /**
68
+ * Scheduled generation with durable delay.
69
+ * Uses workflow sleep() — doesn't hold compute during the delay.
70
+ */
71
+ scheduled: (prompt: string, delay: string) => Promise<DurableGenerateResult>;
72
+ /** Whether workflows are actually active (runtime detected). */
73
+ readonly isWorkflowActive: boolean;
74
+ /** The workflow run ID (set after first workflow execution). */
75
+ readonly workflowRunId: string | undefined;
76
+ }
77
+ /**
78
+ * Check if the Workflow DevKit runtime is available.
79
+ * Result is cached after first check.
80
+ */
81
+ export declare function checkWorkflowAvailability(): Promise<boolean>;
82
+ /**
83
+ * Reset workflow availability cache (for testing).
84
+ * @internal
85
+ */
86
+ export declare function _resetWorkflowCache(): void;
87
+ /**
88
+ * Create a durable agent with workflow integration.
89
+ *
90
+ * The durable agent wraps a standard Agent with workflow directives
91
+ * that make every LLM call and tool execution a recoverable step.
92
+ *
93
+ * @param baseAgent - The base agent to wrap with durability
94
+ * @param options - Durable agent options
95
+ * @returns DurableAgent instance with both standard and durable methods
96
+ *
97
+ * @example
98
+ * ```typescript
99
+ * import { createAgent } from '@agntk/core';
100
+ * import { createDurableAgent } from '@agntk/core/workflow';
101
+ *
102
+ * const base = createAgent({ role: 'coder', toolPreset: 'standard' });
103
+ * const agent = createDurableAgent(base);
104
+ *
105
+ * // Standard generation (no durability)
106
+ * const result = await agent.generate({ prompt: 'Hello' });
107
+ *
108
+ * // Durable generation (survives crashes)
109
+ * const durable = await agent.durableGenerate('Create a component');
110
+ *
111
+ * // With approval workflow
112
+ * const approved = await agent.withApproval('Draft email', '/api/approve');
113
+ *
114
+ * // Scheduled generation
115
+ * const delayed = await agent.scheduled('Send reminder', '1h');
116
+ * ```
117
+ */
118
+ export declare function createDurableAgent(baseAgent: Agent, options?: DurableAgentOptions): DurableAgent;
119
+ /**
120
+ * Parse a duration string into milliseconds.
121
+ * Supports: 30s, 5m, 1h, 1d
122
+ */
123
+ export declare function parseDuration(duration: string): number;
124
+ /**
125
+ * Format milliseconds as a human-readable duration.
126
+ */
127
+ export declare function formatDuration(ms: number): string;
128
+ //# sourceMappingURL=durable-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"durable-agent.d.ts","sourceRoot":"","sources":["../../src/workflow/durable-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAQpE;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;QAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,KAAK;IACzC;;;OAGG;IACH,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEpE;;;OAGG;IACH,YAAY,EAAE,CACZ,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,KAChB,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEpC;;;OAGG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAE7E,gEAAgE;IAChE,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IAEnC,gEAAgE;IAChE,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5C;AAgBD;;;GAGG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC,CAalE;AAeD;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AA4KD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,KAAK,EAChB,OAAO,GAAE,mBAAwB,GAChC,YAAY,CAsEd;AAMD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAqBtD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAMjD"}
@@ -0,0 +1,323 @@
1
+ /**
2
+ * @agntk/core - Durable Agent Factory
3
+ *
4
+ * Creates agents with workflow durability features.
5
+ * Uses the Workflow DevKit ("use workflow" / "use step" directives)
6
+ * for crash recovery, auto-retry, and step-level observability.
7
+ *
8
+ * When the `workflow` package is installed and the app runs under the
9
+ * Workflow runtime, every LLM call and tool execution becomes a
10
+ * discrete, checkpointed step. Without the runtime, the directives
11
+ * are inert string literals and the agent operates normally.
12
+ *
13
+ * @see https://useworkflow.dev
14
+ */
15
+ import { createLogger } from '@agntk/logger';
16
+ const log = createLogger('@agntk/core:workflow:durable');
17
+ // ============================================================================
18
+ // Workflow Runtime Detection
19
+ // ============================================================================
20
+ /** Cached availability result */
21
+ let _workflowAvailable = null;
22
+ let _workflowModule = null;
23
+ /**
24
+ * Check if the Workflow DevKit runtime is available.
25
+ * Result is cached after first check.
26
+ */
27
+ export async function checkWorkflowAvailability() {
28
+ if (_workflowAvailable !== null)
29
+ return _workflowAvailable;
30
+ try {
31
+ _workflowModule = await import('workflow');
32
+ _workflowAvailable = true;
33
+ log.info('Workflow runtime detected');
34
+ return true;
35
+ }
36
+ catch (_e) {
37
+ _workflowAvailable = false;
38
+ log.debug('Workflow runtime not available — durable features disabled');
39
+ return false;
40
+ }
41
+ }
42
+ /**
43
+ * Get the workflow module (throws if not available).
44
+ */
45
+ function getWorkflowModule() {
46
+ if (!_workflowModule) {
47
+ throw new Error('Workflow package is not installed. Install it with: npm install workflow\n' +
48
+ 'See https://useworkflow.dev for documentation.');
49
+ }
50
+ return _workflowModule;
51
+ }
52
+ /**
53
+ * Reset workflow availability cache (for testing).
54
+ * @internal
55
+ */
56
+ export function _resetWorkflowCache() {
57
+ _workflowAvailable = null;
58
+ _workflowModule = null;
59
+ }
60
+ // ============================================================================
61
+ // Durable Execution Wrappers
62
+ // ============================================================================
63
+ /**
64
+ * Wrap an agent's generate call as a workflow.
65
+ * The "use workflow" directive marks the entire function as a durable workflow.
66
+ * Named step functions give the workflow inspector descriptive labels.
67
+ *
68
+ * Inspector view: durableGenerateWorkflow → llmGenerate
69
+ */
70
+ async function durableGenerateWorkflow(agent, prompt) {
71
+ "use workflow";
72
+ log.info('durableGenerateWorkflow started', { promptLength: prompt.length });
73
+ // Named step function — inspector displays "llmGenerate"
74
+ async function llmGenerate() {
75
+ "use step";
76
+ log.debug('step:llmGenerate — executing LLM call');
77
+ return agent.generate({ prompt });
78
+ }
79
+ const result = await llmGenerate();
80
+ const text = await result.text;
81
+ const totalUsage = result.totalUsage;
82
+ log.info('durableGenerateWorkflow completed', { textLength: text?.length ?? 0 });
83
+ return {
84
+ text: text ?? '',
85
+ steps: [{
86
+ name: 'llm-generate',
87
+ status: 'completed',
88
+ }],
89
+ usage: totalUsage ? {
90
+ promptTokens: totalUsage.inputTokens ?? 0,
91
+ completionTokens: totalUsage.outputTokens ?? 0,
92
+ totalTokens: totalUsage.totalTokens ?? 0,
93
+ } : undefined,
94
+ };
95
+ }
96
+ /**
97
+ * Wrap an agent's generate call with approval workflow.
98
+ * The function suspends (zero compute) while waiting for webhook approval.
99
+ *
100
+ * Inspector view: durableWithApprovalWorkflow → llmDraft → webhookApproval → llmFinalize
101
+ */
102
+ async function durableWithApprovalWorkflow(agent, prompt, _webhookPath) {
103
+ "use workflow";
104
+ log.info('durableWithApprovalWorkflow started', { prompt: prompt.slice(0, 100) });
105
+ // Step 1: Generate draft — inspector displays "llmDraft"
106
+ async function llmDraft() {
107
+ "use step";
108
+ log.debug('step:llmDraft — generating draft');
109
+ return agent.generate({ prompt });
110
+ }
111
+ const draftResult = await llmDraft();
112
+ const draftText = await draftResult.text;
113
+ // Step 2: Wait for approval — inspector displays "webhookApproval"
114
+ log.info('Waiting for approval webhook');
115
+ async function webhookApproval() {
116
+ "use step";
117
+ log.debug('step:webhookApproval — suspending for webhook');
118
+ // The workflow runtime handles webhook suspension here.
119
+ // This stub returns approved=true when not running under the runtime.
120
+ return { approved: true };
121
+ }
122
+ const approval = await webhookApproval();
123
+ if (!approval.approved) {
124
+ log.warn('Approval rejected', { feedback: approval.feedback });
125
+ throw new Error(`Approval rejected: ${approval.feedback || 'No reason provided'}`);
126
+ }
127
+ // Step 3: Finalize — inspector displays "llmFinalize"
128
+ const finalPrompt = approval.modifiedContent
129
+ ? `Finalize with modifications: ${approval.modifiedContent}. Original: ${draftText}`
130
+ : prompt;
131
+ async function llmFinalize() {
132
+ "use step";
133
+ log.debug('step:llmFinalize — finalizing after approval');
134
+ return agent.generate({ prompt: finalPrompt });
135
+ }
136
+ const finalResult = await llmFinalize();
137
+ const finalText = await finalResult.text;
138
+ return {
139
+ text: finalText ?? '',
140
+ steps: [
141
+ { name: 'llm-draft', status: 'completed' },
142
+ { name: 'webhook-approval', status: 'completed' },
143
+ { name: 'llm-finalize', status: 'completed' },
144
+ ],
145
+ };
146
+ }
147
+ /**
148
+ * Wrap an agent's generate call with a durable delay.
149
+ * Uses workflow sleep() — doesn't hold compute during the delay.
150
+ *
151
+ * Inspector view: durableScheduledWorkflow → durableSleep → llmGenerate
152
+ */
153
+ async function durableScheduledWorkflow(agent, prompt, delay) {
154
+ "use workflow";
155
+ log.info('durableScheduledWorkflow started', { delay });
156
+ // Step 1: Sleep (zero compute) — inspector displays "durableSleep"
157
+ async function durableSleep() {
158
+ "use step";
159
+ log.debug('step:durableSleep — sleeping', { delay });
160
+ try {
161
+ const wf = getWorkflowModule();
162
+ await wf.sleep(delay);
163
+ }
164
+ catch (_e) {
165
+ // If workflow not available, use regular setTimeout as fallback
166
+ const ms = parseDuration(delay);
167
+ log.warn('Workflow sleep unavailable, using setTimeout fallback', { ms });
168
+ await new Promise(resolve => setTimeout(resolve, ms));
169
+ }
170
+ }
171
+ await durableSleep();
172
+ log.info('Sleep completed, executing prompt');
173
+ // Step 2: Generate — inspector displays "llmGenerate"
174
+ async function llmGenerate() {
175
+ "use step";
176
+ log.debug('step:llmGenerate — executing LLM call after sleep');
177
+ return agent.generate({ prompt });
178
+ }
179
+ const result = await llmGenerate();
180
+ const text = await result.text;
181
+ return {
182
+ text: text ?? '',
183
+ steps: [
184
+ { name: 'sleep', status: 'completed' },
185
+ { name: 'llm-generate', status: 'completed' },
186
+ ],
187
+ };
188
+ }
189
+ // ============================================================================
190
+ // Durable Agent Factory
191
+ // ============================================================================
192
+ /**
193
+ * Create a durable agent with workflow integration.
194
+ *
195
+ * The durable agent wraps a standard Agent with workflow directives
196
+ * that make every LLM call and tool execution a recoverable step.
197
+ *
198
+ * @param baseAgent - The base agent to wrap with durability
199
+ * @param options - Durable agent options
200
+ * @returns DurableAgent instance with both standard and durable methods
201
+ *
202
+ * @example
203
+ * ```typescript
204
+ * import { createAgent } from '@agntk/core';
205
+ * import { createDurableAgent } from '@agntk/core/workflow';
206
+ *
207
+ * const base = createAgent({ role: 'coder', toolPreset: 'standard' });
208
+ * const agent = createDurableAgent(base);
209
+ *
210
+ * // Standard generation (no durability)
211
+ * const result = await agent.generate({ prompt: 'Hello' });
212
+ *
213
+ * // Durable generation (survives crashes)
214
+ * const durable = await agent.durableGenerate('Create a component');
215
+ *
216
+ * // With approval workflow
217
+ * const approved = await agent.withApproval('Draft email', '/api/approve');
218
+ *
219
+ * // Scheduled generation
220
+ * const delayed = await agent.scheduled('Send reminder', '1h');
221
+ * ```
222
+ */
223
+ export function createDurableAgent(baseAgent, options = {}) {
224
+ log.info('Creating durable agent', {
225
+ agentId: baseAgent.agentId,
226
+ role: baseAgent.role,
227
+ workflowOptions: options.workflowOptions,
228
+ });
229
+ let workflowRunId = options.workflowOptions?.workflowRunId;
230
+ /**
231
+ * Guard: ensure workflow is available before executing a durable method.
232
+ * Throws a clear, actionable error if the workflow package isn't installed.
233
+ * Standard Agent methods (generate, stream) still work without workflow.
234
+ */
235
+ async function ensureWorkflowAvailable() {
236
+ const available = await checkWorkflowAvailability();
237
+ if (!available) {
238
+ throw new Error('Workflow package is not installed. Durable agent features require the workflow package.\n' +
239
+ 'Install with: npm install workflow\n' +
240
+ 'See https://useworkflow.dev for documentation.');
241
+ }
242
+ }
243
+ const durableAgent = {
244
+ // Delegate standard Agent interface to the base agent
245
+ agentId: baseAgent.agentId,
246
+ role: baseAgent.role,
247
+ init: () => baseAgent.init(),
248
+ getToolLoopAgent: () => baseAgent.getToolLoopAgent(),
249
+ getSystemPrompt: () => baseAgent.getSystemPrompt(),
250
+ // Standard methods — pass through to base agent (work without workflow)
251
+ stream: (input) => baseAgent.stream(input),
252
+ generate: (input) => baseAgent.generate(input),
253
+ // Durable methods — require workflow package
254
+ durableGenerate: async (prompt) => {
255
+ await ensureWorkflowAvailable();
256
+ log.info('durableGenerate() called', { promptLength: prompt.length });
257
+ const result = await durableGenerateWorkflow(baseAgent, prompt);
258
+ if (result.workflowRunId)
259
+ workflowRunId = result.workflowRunId;
260
+ return result;
261
+ },
262
+ withApproval: async (prompt, webhookPath) => {
263
+ await ensureWorkflowAvailable();
264
+ log.info('withApproval() called', { promptLength: prompt.length, webhookPath });
265
+ return durableWithApprovalWorkflow(baseAgent, prompt, webhookPath);
266
+ },
267
+ scheduled: async (prompt, delay) => {
268
+ await ensureWorkflowAvailable();
269
+ log.info('scheduled() called', { promptLength: prompt.length, delay });
270
+ return durableScheduledWorkflow(baseAgent, prompt, delay);
271
+ },
272
+ get isWorkflowActive() {
273
+ return _workflowAvailable === true;
274
+ },
275
+ get workflowRunId() {
276
+ return workflowRunId;
277
+ },
278
+ };
279
+ log.info('Durable agent created', { agentId: baseAgent.agentId });
280
+ return durableAgent;
281
+ }
282
+ // ============================================================================
283
+ // Workflow Helpers
284
+ // ============================================================================
285
+ /**
286
+ * Parse a duration string into milliseconds.
287
+ * Supports: 30s, 5m, 1h, 1d
288
+ */
289
+ export function parseDuration(duration) {
290
+ const match = duration.match(/^(\d+)(s|m|h|d)$/);
291
+ if (!match) {
292
+ throw new Error(`Invalid duration format: ${duration}. Use format like '30s', '5m', '1h', '1d'`);
293
+ }
294
+ const value = parseInt(match[1], 10);
295
+ const unit = match[2];
296
+ switch (unit) {
297
+ case 's':
298
+ return value * 1000;
299
+ case 'm':
300
+ return value * 60 * 1000;
301
+ case 'h':
302
+ return value * 60 * 60 * 1000;
303
+ case 'd':
304
+ return value * 24 * 60 * 60 * 1000;
305
+ default:
306
+ throw new Error(`Unknown duration unit: ${unit}`);
307
+ }
308
+ }
309
+ /**
310
+ * Format milliseconds as a human-readable duration.
311
+ */
312
+ export function formatDuration(ms) {
313
+ if (ms < 1000)
314
+ return `${ms}ms`;
315
+ if (ms < 60000)
316
+ return `${Math.round(ms / 1000)}s`;
317
+ if (ms < 3600000)
318
+ return `${Math.round(ms / 60000)}m`;
319
+ if (ms < 86400000)
320
+ return `${Math.round(ms / 3600000)}h`;
321
+ return `${Math.round(ms / 86400000)}d`;
322
+ }
323
+ //# sourceMappingURL=durable-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"durable-agent.js","sourceRoot":"","sources":["../../src/workflow/durable-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * @agntk/core - Durable Tool Wrapper
3
+ *
4
+ * Wraps tools with durability directives for crash recovery.
5
+ * Uses the Workflow DevKit's "use step" directive to checkpoint tool executions.
6
+ * Each tool step gets a descriptive name for observability in the workflow inspector.
7
+ *
8
+ * @see https://useworkflow.dev
9
+ */
10
+ import type { Tool } from 'ai';
11
+ type ToolSet = Record<string, Tool>;
12
+ export interface DurabilityConfig {
13
+ /** Enable durability for this tool. Default: true */
14
+ enabled?: boolean;
15
+ /** Whether this tool can run independently in parallel. Default: false */
16
+ independent?: boolean;
17
+ /** Number of retry attempts on failure. Default: 3 */
18
+ retryCount?: number;
19
+ /** Timeout duration string (e.g., "30s", "5m"). Default: "5m" */
20
+ timeout?: string;
21
+ /** Custom step name for the workflow inspector. Default: "tool-exec-{toolName}" */
22
+ stepName?: string;
23
+ }
24
+ /**
25
+ * Wrap a single tool with durability directives.
26
+ *
27
+ * When wrapped, the tool's execute function uses the "use step" directive
28
+ * to create a checkpoint. If the process crashes, the workflow runtime
29
+ * resumes from the last checkpoint.
30
+ *
31
+ * Each wrapped tool gets a descriptive step name for the workflow inspector:
32
+ * - Default: "tool-exec-{toolName}"
33
+ * - Custom via `config.stepName`
34
+ *
35
+ * @param tool - The tool to wrap
36
+ * @param config - Durability configuration
37
+ * @param toolName - Name of the tool (used for step naming)
38
+ * @returns Wrapped tool with durability enabled
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * const durableReadFile = wrapToolAsDurableStep(readFileTool, {
43
+ * retryCount: 3,
44
+ * timeout: '30s',
45
+ * }, 'read_file');
46
+ * ```
47
+ */
48
+ export declare function wrapToolAsDurableStep(tool: Tool, config?: DurabilityConfig, toolName?: string): Tool;
49
+ /**
50
+ * Wrap all tools in a set with durability directives.
51
+ * Each tool gets a step name based on its key in the record.
52
+ *
53
+ * @param tools - Record of tools to wrap
54
+ * @param config - Durability configuration applied to all tools
55
+ * @returns Record of wrapped tools
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * const durableTools = wrapToolsAsDurable(myTools, {
60
+ * retryCount: 3,
61
+ * timeout: '5m',
62
+ * });
63
+ * ```
64
+ */
65
+ export declare function wrapToolsAsDurable(tools: ToolSet, config?: DurabilityConfig): ToolSet;
66
+ /**
67
+ * Wrap only specified tools with durability, leaving others unchanged.
68
+ *
69
+ * @param tools - All tools
70
+ * @param toolNames - Names of tools to wrap
71
+ * @param config - Durability configuration
72
+ * @returns Tools with selective durability applied
73
+ */
74
+ export declare function wrapSelectedToolsAsDurable(tools: ToolSet, toolNames: string[], config?: DurabilityConfig): ToolSet;
75
+ /**
76
+ * Wrap a tool as an independent durable step.
77
+ *
78
+ * Independent steps can be executed in parallel with other independent steps.
79
+ * The workflow runtime optimizes by running these concurrently.
80
+ *
81
+ * @param tool - The tool to wrap
82
+ * @param toolName - Name of the tool (used for step naming)
83
+ * @returns Wrapped tool marked as independent
84
+ */
85
+ export declare function wrapToolAsIndependentStep(tool: Tool, toolName?: string): Tool;
86
+ /**
87
+ * Symbol for storing durability metadata on tools.
88
+ */
89
+ export declare const DURABILITY_CONFIG: unique symbol;
90
+ /**
91
+ * Get durability configuration from a tool (if set).
92
+ */
93
+ export declare function getDurabilityConfig(tool: Tool): DurabilityConfig | undefined;
94
+ /**
95
+ * Set durability configuration on a tool.
96
+ */
97
+ export declare function setDurabilityConfig(tool: Tool, config: DurabilityConfig): Tool;
98
+ /**
99
+ * Get the step name assigned to a durable tool.
100
+ */
101
+ export declare function getStepName(tool: Tool): string | undefined;
102
+ export {};
103
+ //# sourceMappingURL=durable-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"durable-tool.d.ts","sourceRoot":"","sources":["../../src/workflow/durable-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAS/B,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAEpC,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,IAAI,EACV,MAAM,GAAE,gBAAqB,EAC7B,QAAQ,CAAC,EAAE,MAAM,GAChB,IAAI,CAgDN;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,MAAM,GAAE,gBAAqB,GAC5B,OAAO,CAST;AAMD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,EAAE,EACnB,MAAM,GAAE,gBAAqB,GAC5B,OAAO,CAaT;AAMD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAE7E;AAMD;;GAEG;AACH,eAAO,MAAM,iBAAiB,eAA6B,CAAC;AAE5D;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,gBAAgB,GAAG,SAAS,CAG5E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAI9E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAE1D"}