@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,629 @@
1
+ /**
2
+ * @agntk/core - Workflow Hooks & Human-in-the-Loop
3
+ *
4
+ * Provides typed suspension points for workflow execution.
5
+ * When a hook fires, the workflow pauses (zero compute) and waits for
6
+ * external input — typically a human approval via the `/hooks/:id/resume` endpoint.
7
+ *
8
+ * Uses Vercel's Workflow DevKit (WDK) primitives when available:
9
+ * - `defineHook` → WDK defineHook with Standard Schema validation
10
+ * - `createWebhook` → WDK createWebhook with auto-generated URLs
11
+ * - `sleep` → WDK sleep with zero-compute durable delay
12
+ * - `FatalError` / `RetryableError` → WDK error classes
13
+ *
14
+ * Falls back to in-memory implementation when WDK is not installed.
15
+ *
16
+ * @see SDK-HOOKS-008
17
+ * @see https://useworkflow.dev
18
+ */
19
+ import { createLogger } from '@agntk/logger';
20
+ import { parseDuration } from './utils.js';
21
+ const log = createLogger('@agntk/core:workflow:hooks');
22
+ // ============================================================================
23
+ // WDK Runtime Detection
24
+ // ============================================================================
25
+ /** Cached WDK module reference */
26
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
+ let _wdk = null;
28
+ let _wdkChecked = false;
29
+ /**
30
+ * Attempt to load the WDK module. Returns null if not available.
31
+ * Result is cached after first check.
32
+ */
33
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
34
+ async function getWdk() {
35
+ if (_wdkChecked)
36
+ return _wdk;
37
+ _wdkChecked = true;
38
+ try {
39
+ _wdk = await import('workflow');
40
+ log.info('WDK runtime detected for hooks');
41
+ }
42
+ catch (_e) {
43
+ _wdk = null;
44
+ log.debug('WDK runtime not available — using in-memory hook registry');
45
+ }
46
+ return _wdk;
47
+ }
48
+ /** Synchronous check for WDK availability (only valid after first async check). */
49
+ function isWdkAvailable() {
50
+ return _wdk !== null;
51
+ }
52
+ /**
53
+ * Reset WDK cache (for testing).
54
+ * When `forceNoWdk` is true, marks WDK as already checked but unavailable,
55
+ * preventing the dynamic import from running.
56
+ * @internal
57
+ */
58
+ export function _resetWdkCache(forceNoWdk = false) {
59
+ _wdk = null;
60
+ _wdkChecked = forceNoWdk;
61
+ }
62
+ // ============================================================================
63
+ // Hook Registry (Fallback for non-WDK environments)
64
+ // ============================================================================
65
+ /**
66
+ * In-memory registry that tracks active hook instances.
67
+ * Used when WDK is not available. When WDK is active, hooks are managed
68
+ * by the WDK runtime and this registry is only used for tracking metadata.
69
+ */
70
+ export class HookRegistry {
71
+ hooks = new Map();
72
+ resolvers = new Map();
73
+ validators = new Map();
74
+ timeouts = new Map();
75
+ /** Get a hook instance by ID. */
76
+ get(id) {
77
+ return this.hooks.get(id);
78
+ }
79
+ /** Check if a hook exists. */
80
+ has(id) {
81
+ return this.hooks.has(id);
82
+ }
83
+ /** Get all hooks, optionally filtered by status. */
84
+ list(status) {
85
+ const all = Array.from(this.hooks.values());
86
+ return status ? all.filter(h => h.status === status) : all;
87
+ }
88
+ /** Get all pending hooks. */
89
+ listPending() {
90
+ return this.list('pending');
91
+ }
92
+ /**
93
+ * Register a new hook instance and return a promise that resolves
94
+ * when the hook is resumed.
95
+ */
96
+ register(id, name, payload, options = {}) {
97
+ if (this.hooks.has(id)) {
98
+ throw new Error(`Hook with ID "${id}" already exists`);
99
+ }
100
+ const instance = {
101
+ id,
102
+ name,
103
+ description: options.description,
104
+ payload,
105
+ status: 'pending',
106
+ createdAt: new Date(),
107
+ timeoutMs: options.timeoutMs,
108
+ };
109
+ this.hooks.set(id, instance);
110
+ if (options.validate) {
111
+ this.validators.set(id, options.validate);
112
+ }
113
+ log.info('Hook registered', {
114
+ hookId: id,
115
+ name,
116
+ timeoutMs: options.timeoutMs,
117
+ });
118
+ return new Promise((resolve, reject) => {
119
+ this.resolvers.set(id, {
120
+ resolve: resolve,
121
+ reject,
122
+ });
123
+ // Set up timeout if configured
124
+ if (options.timeoutMs && options.timeoutMs > 0) {
125
+ const timer = setTimeout(() => {
126
+ if (this.hooks.get(id)?.status === 'pending') {
127
+ log.info('Hook timed out, using default value', { hookId: id, name });
128
+ const hook = this.hooks.get(id);
129
+ hook.status = 'timed_out';
130
+ hook.resolvedAt = new Date();
131
+ hook.result = options.defaultValue;
132
+ this.resolvers.get(id)?.resolve(options.defaultValue);
133
+ this.cleanup(id);
134
+ }
135
+ }, options.timeoutMs);
136
+ this.timeouts.set(id, timer);
137
+ }
138
+ });
139
+ }
140
+ /**
141
+ * Resume a suspended hook with a payload.
142
+ *
143
+ * Uses a status guard to prevent double resolution (race between
144
+ * resume and timeout). Only the first to transition from 'pending' wins.
145
+ *
146
+ * @throws If hook not found, not pending, or validation fails
147
+ */
148
+ async resume(id, result) {
149
+ const hook = this.hooks.get(id);
150
+ if (!hook) {
151
+ throw new HookNotFoundError(id);
152
+ }
153
+ // Status guard: atomically check-and-set to prevent race with timeout
154
+ if (hook.status !== 'pending') {
155
+ throw new HookNotPendingError(id, hook.status);
156
+ }
157
+ hook.status = 'resolved'; // Claim the transition immediately
158
+ // Run validation if defined
159
+ const validator = this.validators.get(id);
160
+ if (validator) {
161
+ try {
162
+ await validator(result);
163
+ }
164
+ catch (validationError) {
165
+ // Rollback status on validation failure
166
+ hook.status = 'pending';
167
+ throw validationError;
168
+ }
169
+ }
170
+ hook.resolvedAt = new Date();
171
+ hook.result = result;
172
+ log.info('Hook resumed', { hookId: id, name: hook.name });
173
+ this.resolvers.get(id)?.resolve(result);
174
+ this.cleanup(id);
175
+ return hook;
176
+ }
177
+ /**
178
+ * Reject a suspended hook with a reason.
179
+ * Useful for cancellation flows.
180
+ */
181
+ reject(id, reason) {
182
+ const hook = this.hooks.get(id);
183
+ if (!hook) {
184
+ throw new HookNotFoundError(id);
185
+ }
186
+ if (hook.status !== 'pending') {
187
+ throw new HookNotPendingError(id, hook.status);
188
+ }
189
+ hook.status = 'rejected';
190
+ hook.resolvedAt = new Date();
191
+ log.info('Hook rejected', { hookId: id, name: hook.name, reason });
192
+ this.resolvers.get(id)?.reject(new HookRejectedError(id, reason));
193
+ this.cleanup(id);
194
+ return hook;
195
+ }
196
+ /** Clean up resolver and timeout for a hook. */
197
+ cleanup(id) {
198
+ this.resolvers.delete(id);
199
+ this.validators.delete(id);
200
+ const timer = this.timeouts.get(id);
201
+ if (timer) {
202
+ clearTimeout(timer);
203
+ this.timeouts.delete(id);
204
+ }
205
+ }
206
+ /** Clear all hooks (for testing). */
207
+ clear() {
208
+ for (const timer of this.timeouts.values()) {
209
+ clearTimeout(timer);
210
+ }
211
+ this.hooks.clear();
212
+ this.resolvers.clear();
213
+ this.validators.clear();
214
+ this.timeouts.clear();
215
+ }
216
+ /** Number of registered hooks. */
217
+ get size() {
218
+ return this.hooks.size;
219
+ }
220
+ }
221
+ // ============================================================================
222
+ // Error Classes
223
+ // ============================================================================
224
+ /** Thrown when a hook ID is not found in the registry. */
225
+ export class HookNotFoundError extends Error {
226
+ hookId;
227
+ constructor(hookId) {
228
+ super(`Hook "${hookId}" not found`);
229
+ this.name = 'HookNotFoundError';
230
+ this.hookId = hookId;
231
+ }
232
+ }
233
+ /** Thrown when attempting to resume a hook that is not pending. */
234
+ export class HookNotPendingError extends Error {
235
+ hookId;
236
+ currentStatus;
237
+ constructor(hookId, currentStatus) {
238
+ super(`Hook "${hookId}" is not pending (status: ${currentStatus})`);
239
+ this.name = 'HookNotPendingError';
240
+ this.hookId = hookId;
241
+ this.currentStatus = currentStatus;
242
+ }
243
+ }
244
+ /** Thrown when a hook is rejected. */
245
+ export class HookRejectedError extends Error {
246
+ hookId;
247
+ reason;
248
+ constructor(hookId, reason) {
249
+ super(`Hook "${hookId}" was rejected: ${reason}`);
250
+ this.name = 'HookRejectedError';
251
+ this.hookId = hookId;
252
+ this.reason = reason;
253
+ }
254
+ }
255
+ // ============================================================================
256
+ // WDK Error Re-exports
257
+ // ============================================================================
258
+ /**
259
+ * FatalError — a non-retryable error that permanently fails a workflow step.
260
+ * When WDK is available, this is the real WDK FatalError class.
261
+ * Without WDK, falls back to a simple Error subclass.
262
+ */
263
+ export class FatalError extends Error {
264
+ fatal = true;
265
+ constructor(message) {
266
+ super(message);
267
+ this.name = 'FatalError';
268
+ }
269
+ static is(value) {
270
+ return value instanceof FatalError ||
271
+ (value instanceof Error && 'fatal' in value && value.fatal === true);
272
+ }
273
+ }
274
+ /**
275
+ * RetryableError — an error that allows the WDK runtime to retry a step.
276
+ * When WDK is available, prefer using the WDK version directly.
277
+ * Without WDK, this provides the same interface.
278
+ */
279
+ export class RetryableError extends Error {
280
+ retryAfter;
281
+ constructor(message, options) {
282
+ super(message);
283
+ this.name = 'RetryableError';
284
+ if (options?.retryAfter instanceof Date) {
285
+ this.retryAfter = options.retryAfter;
286
+ }
287
+ else if (typeof options?.retryAfter === 'string') {
288
+ this.retryAfter = new Date(Date.now() + parseDuration(options.retryAfter));
289
+ }
290
+ else if (typeof options?.retryAfter === 'number') {
291
+ this.retryAfter = new Date(Date.now() + options.retryAfter);
292
+ }
293
+ else {
294
+ this.retryAfter = new Date(Date.now() + 1000); // Default: 1 second
295
+ }
296
+ }
297
+ static is(value) {
298
+ return value instanceof RetryableError;
299
+ }
300
+ }
301
+ /**
302
+ * Get WDK error classes if available, otherwise return our fallbacks.
303
+ * Use these in durable-agent.ts for step-level error handling.
304
+ */
305
+ export function getWdkErrors() {
306
+ if (isWdkAvailable() && _wdk) {
307
+ return {
308
+ FatalError: _wdk.FatalError ?? FatalError,
309
+ RetryableError: _wdk.RetryableError ?? RetryableError,
310
+ };
311
+ }
312
+ return { FatalError, RetryableError };
313
+ }
314
+ // ============================================================================
315
+ // Singleton Registry
316
+ // ============================================================================
317
+ /** Global hook registry instance. */
318
+ let _registry = null;
319
+ /** Get or create the global hook registry. */
320
+ export function getHookRegistry() {
321
+ if (!_registry) {
322
+ _registry = new HookRegistry();
323
+ }
324
+ return _registry;
325
+ }
326
+ /**
327
+ * Reset the global hook registry (for testing).
328
+ * @internal
329
+ */
330
+ export function _resetHookRegistry() {
331
+ _registry?.clear();
332
+ _registry = null;
333
+ }
334
+ // ============================================================================
335
+ // Hook Factory
336
+ // ============================================================================
337
+ let _hookCounter = 0;
338
+ /** Generate a unique hook instance ID. */
339
+ function generateHookId(name) {
340
+ _hookCounter++;
341
+ const ts = Date.now().toString(36);
342
+ const rand = Math.random().toString(36).slice(2, 8);
343
+ return `hook-${name}-${ts}-${rand}-${_hookCounter}`;
344
+ }
345
+ /**
346
+ * Reset the hook counter (for testing).
347
+ * @internal
348
+ */
349
+ export function _resetHookCounter() {
350
+ _hookCounter = 0;
351
+ }
352
+ /**
353
+ * Define a typed hook factory.
354
+ *
355
+ * When WDK is available, creates hooks using `wdk.defineHook()` and
356
+ * `wdk.createHook()` for durable suspension with auto-generated webhook tokens.
357
+ *
358
+ * Without WDK, falls back to in-memory HookRegistry.
359
+ *
360
+ * @param definition - Hook configuration
361
+ * @returns A typed hook factory
362
+ *
363
+ * @example
364
+ * ```typescript
365
+ * const approvalHook = defineHook<
366
+ * { action: string; details: string },
367
+ * { approved: boolean; reason?: string }
368
+ * >({
369
+ * name: 'approval',
370
+ * description: 'Approve dangerous agent actions',
371
+ * timeout: '30m',
372
+ * defaultValue: { approved: false, reason: 'Timed out' },
373
+ * });
374
+ *
375
+ * // In a workflow:
376
+ * const result = await approvalHook.wait({
377
+ * action: 'delete files',
378
+ * details: '50 files will be removed',
379
+ * });
380
+ *
381
+ * if (result.approved) {
382
+ * // proceed with deletion
383
+ * }
384
+ * ```
385
+ */
386
+ export function defineHook(definition) {
387
+ const { name, description, timeout, defaultValue, validate } = definition;
388
+ const timeoutMs = timeout ? parseDuration(timeout) : undefined;
389
+ if (timeout && defaultValue === undefined) {
390
+ log.warn('Hook has timeout but no defaultValue — will resolve with undefined on timeout', { name });
391
+ }
392
+ log.debug('Hook defined', { name, description, timeoutMs });
393
+ const wait = async (payload) => {
394
+ const id = generateHookId(name);
395
+ return waitWithId(id, payload);
396
+ };
397
+ const waitWithId = async (id, payload) => {
398
+ log.info('Hook suspension created', { hookId: id, name, payload });
399
+ const wdk = await getWdk();
400
+ // WDK path: use defineHook().create() for durable hooks
401
+ if (wdk?.createHook) {
402
+ log.debug('Using WDK createHook', { hookId: id, name });
403
+ // Track in our registry for metadata access
404
+ const registry = getHookRegistry();
405
+ const instance = {
406
+ id,
407
+ name,
408
+ description,
409
+ payload,
410
+ status: 'pending',
411
+ createdAt: new Date(),
412
+ timeoutMs,
413
+ };
414
+ registry['hooks'].set(id, instance);
415
+ try {
416
+ // Create WDK hook with our token
417
+ const wdkHook = wdk.createHook({ token: id, metadata: { name, description, payload } });
418
+ // Race against timeout if configured
419
+ let result;
420
+ if (timeoutMs && timeoutMs > 0) {
421
+ const timeoutPromise = new Promise((resolve) => {
422
+ setTimeout(() => {
423
+ instance.status = 'timed_out';
424
+ instance.resolvedAt = new Date();
425
+ instance.result = defaultValue;
426
+ resolve(defaultValue);
427
+ }, timeoutMs);
428
+ });
429
+ result = await Promise.race([wdkHook, timeoutPromise]);
430
+ }
431
+ else {
432
+ result = await wdkHook;
433
+ }
434
+ // Validate if needed
435
+ if (validate) {
436
+ await validate(result);
437
+ }
438
+ instance.status = instance.status === 'timed_out' ? 'timed_out' : 'resolved';
439
+ instance.resolvedAt = instance.resolvedAt ?? new Date();
440
+ instance.result = result;
441
+ return result;
442
+ }
443
+ catch (err) {
444
+ instance.status = 'rejected';
445
+ instance.resolvedAt = new Date();
446
+ throw err;
447
+ }
448
+ }
449
+ // Fallback: in-memory registry
450
+ const registry = getHookRegistry();
451
+ return registry.register(id, name, payload, {
452
+ description,
453
+ timeoutMs,
454
+ defaultValue,
455
+ validate,
456
+ });
457
+ };
458
+ return {
459
+ name,
460
+ description,
461
+ wait,
462
+ waitWithId,
463
+ };
464
+ }
465
+ // ============================================================================
466
+ // Webhook Factory
467
+ // ============================================================================
468
+ /**
469
+ * Create a webhook-backed suspension point.
470
+ *
471
+ * When WDK is available, uses `wdk.createWebhook()` for auto-generated
472
+ * webhook URLs (pattern: /.well-known/workflow/v1/webhook/:token).
473
+ *
474
+ * Without WDK, falls back to in-memory HookRegistry.
475
+ *
476
+ * @param options - Webhook configuration
477
+ * @returns Object with id, promise, and url (if WDK is available)
478
+ *
479
+ * @example
480
+ * ```typescript
481
+ * const result = await createWebhook<{ approved: boolean }>({
482
+ * callbackPath: '/api/approve',
483
+ * timeout: '1h',
484
+ * defaultValue: { approved: false },
485
+ * });
486
+ *
487
+ * if (result.data.approved) {
488
+ * // proceed
489
+ * }
490
+ * ```
491
+ */
492
+ export function createWebhook(options = {}) {
493
+ const id = options.id ?? generateHookId('webhook');
494
+ const timeoutMs = options.timeout ? parseDuration(options.timeout) : undefined;
495
+ log.info('Webhook created', {
496
+ webhookId: id,
497
+ callbackPath: options.callbackPath,
498
+ timeoutMs,
499
+ });
500
+ // Try WDK path synchronously (only works if WDK was already loaded)
501
+ if (isWdkAvailable() && _wdk?.createWebhook) {
502
+ log.debug('Using WDK createWebhook', { webhookId: id });
503
+ const wdkWebhook = _wdk.createWebhook({ token: id });
504
+ const url = wdkWebhook.url;
505
+ // Track in registry for metadata
506
+ const registry = getHookRegistry();
507
+ const instance = {
508
+ id,
509
+ name: 'webhook',
510
+ description: `Webhook callback: ${url}`,
511
+ payload: { callbackPath: options.callbackPath, url },
512
+ status: 'pending',
513
+ createdAt: new Date(),
514
+ timeoutMs,
515
+ };
516
+ registry['hooks'].set(id, instance);
517
+ const promise = (async () => {
518
+ let data;
519
+ let timedOut = false;
520
+ if (timeoutMs && timeoutMs > 0) {
521
+ const timeoutPromise = new Promise((resolve) => {
522
+ setTimeout(() => {
523
+ instance.status = 'timed_out';
524
+ instance.resolvedAt = new Date();
525
+ timedOut = true;
526
+ resolve(options.defaultValue);
527
+ }, timeoutMs);
528
+ });
529
+ data = await Promise.race([wdkWebhook, timeoutPromise]);
530
+ }
531
+ else {
532
+ data = await wdkWebhook;
533
+ }
534
+ if (!timedOut) {
535
+ instance.status = 'resolved';
536
+ instance.resolvedAt = new Date();
537
+ }
538
+ instance.result = data;
539
+ return { data, timedOut, url };
540
+ })();
541
+ return { id, promise, url };
542
+ }
543
+ // Fallback: in-memory registry
544
+ const registry = getHookRegistry();
545
+ const promise = registry.register(id, 'webhook', { callbackPath: options.callbackPath }, {
546
+ description: `Webhook callback: ${options.callbackPath ?? 'N/A'}`,
547
+ timeoutMs,
548
+ defaultValue: options.defaultValue,
549
+ }).then((data) => {
550
+ const hook = registry.get(id);
551
+ return {
552
+ data,
553
+ timedOut: hook?.status === 'timed_out',
554
+ };
555
+ });
556
+ return { id, promise };
557
+ }
558
+ /**
559
+ * Resume a hook by its token/ID.
560
+ *
561
+ * When WDK is available, delegates to `wdk.resumeHook()`.
562
+ * Without WDK, uses the in-memory HookRegistry.
563
+ *
564
+ * @param tokenOrId - The hook token or ID
565
+ * @param payload - The payload to send to the hook
566
+ */
567
+ export async function resumeHook(tokenOrId, payload) {
568
+ const wdk = await getWdk();
569
+ if (wdk?.resumeHook) {
570
+ log.info('Resuming hook via WDK', { token: tokenOrId });
571
+ await wdk.resumeHook(tokenOrId, payload);
572
+ // Also update our registry metadata
573
+ const registry = getHookRegistry();
574
+ const instance = registry.get(tokenOrId);
575
+ if (instance) {
576
+ instance.status = 'resolved';
577
+ instance.resolvedAt = new Date();
578
+ instance.result = payload;
579
+ }
580
+ return;
581
+ }
582
+ // Fallback: in-memory registry
583
+ const registry = getHookRegistry();
584
+ await registry.resume(tokenOrId, payload);
585
+ }
586
+ // ============================================================================
587
+ // Sleep (Durable Delay)
588
+ // ============================================================================
589
+ /**
590
+ * Pause workflow execution with zero compute cost.
591
+ *
592
+ * Under WDK, this uses durable sleep — the process is suspended and
593
+ * resumed by the runtime after the delay. Without WDK, falls back to
594
+ * `setTimeout`.
595
+ *
596
+ * @param duration - Duration string (e.g., "30s", "5m", "1h")
597
+ * @param options - Optional configuration
598
+ *
599
+ * @example
600
+ * ```typescript
601
+ * // Pause for 5 minutes (zero compute under WDK runtime)
602
+ * await sleep('5m', { reason: 'Rate limit cooldown' });
603
+ * ```
604
+ */
605
+ export async function sleep(duration, options = {}) {
606
+ const ms = parseDuration(duration);
607
+ log.info('Sleep started', {
608
+ duration,
609
+ ms,
610
+ reason: options.reason,
611
+ });
612
+ try {
613
+ const wdk = await getWdk();
614
+ if (wdk?.sleep) {
615
+ // WDK sleep accepts ms, string duration, or Date
616
+ await wdk.sleep(ms);
617
+ log.info('WDK sleep completed', { duration });
618
+ return;
619
+ }
620
+ }
621
+ catch (_e) {
622
+ // Fall through to setTimeout fallback
623
+ }
624
+ // Fallback: regular setTimeout
625
+ log.debug('Using setTimeout fallback for sleep', { ms });
626
+ await new Promise((resolve) => setTimeout(resolve, ms));
627
+ log.info('Sleep completed (setTimeout fallback)', { duration });
628
+ }
629
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/workflow/hooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @agntk/core - Workflow Module
3
+ *
4
+ * Exports for workflow durability and orchestration.
5
+ * Provides durable agent wrapping and tool checkpointing
6
+ * via the Workflow DevKit.
7
+ *
8
+ * @see https://useworkflow.dev
9
+ */
10
+ export { wrapToolAsDurableStep, wrapToolsAsDurable, wrapSelectedToolsAsDurable, wrapToolAsIndependentStep, getDurabilityConfig, setDurabilityConfig, getStepName, DURABILITY_CONFIG, type DurabilityConfig, } from './durable-tool.js';
11
+ export { checkWorkflowAvailability, parseDuration, formatDuration, _resetWorkflowCache, } from './utils.js';
12
+ export { withApproval, withSchedule, type WorkflowTemplateResult, type ApprovalResponse, type WithApprovalOptions, type WithScheduleOptions, } from './templates.js';
13
+ export { defineHook, createWebhook, resumeHook, sleep, getHookRegistry, getWdkErrors, _resetHookRegistry, _resetHookCounter, _resetWdkCache, HookRegistry, HookNotFoundError, HookNotPendingError, HookRejectedError, FatalError, RetryableError, type Hook, type HookDefinition, type HookInstance, type HookStatus, type WebhookOptions, type WebhookResult, type SleepOptions, } from './hooks.js';
14
+ export { createPipeline, createParallel, asStep, type Workflow, type WorkflowStep, type WorkflowInput, type WorkflowOutput, type SynthesizeFn, type PipelineConfig, type ParallelConfig, } from './builders/index.js';
15
+ export { createScheduledWorkflow, createDailyBriefing, createWeeklyReport, type ScheduledWorkflowConfig, type ScheduledWorkflow, type ScheduleTickResult, type ScheduleResult, type DailyBriefingOptions, type WeeklyReportOptions, } from './schedulers.js';
16
+ export { createTeam, TaskBoard, createTeamTools, teamCoordinationMachine, teammateMachine, type TeamConfig, type TeamMemberConfig, type Team, type TeamPhase, type TeammatePhase, type TeamMessage, type TeamOutput, type TaskDefinition, type TaskState, type TeamSnapshot, } from './team/index.js';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,cAAc,EACd,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,GACzB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,UAAU,EACV,aAAa,EACb,UAAU,EACV,KAAK,EACL,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,KAAK,IAAI,EACT,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,cAAc,EACd,cAAc,EACd,MAAM,EACN,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,cAAc,GACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,UAAU,EACV,SAAS,EACT,eAAe,EACf,uBAAuB,EACvB,eAAe,EACf,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,YAAY,GAClB,MAAM,QAAQ,CAAC"}