@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,173 @@
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 { createLogger } from '@agntk/logger';
11
+ const log = createLogger('@agntk/core:workflow:tool');
12
+ // ============================================================================
13
+ // Single Tool Wrapper
14
+ // ============================================================================
15
+ /**
16
+ * Wrap a single tool with durability directives.
17
+ *
18
+ * When wrapped, the tool's execute function uses the "use step" directive
19
+ * to create a checkpoint. If the process crashes, the workflow runtime
20
+ * resumes from the last checkpoint.
21
+ *
22
+ * Each wrapped tool gets a descriptive step name for the workflow inspector:
23
+ * - Default: "tool-exec-{toolName}"
24
+ * - Custom via `config.stepName`
25
+ *
26
+ * @param tool - The tool to wrap
27
+ * @param config - Durability configuration
28
+ * @param toolName - Name of the tool (used for step naming)
29
+ * @returns Wrapped tool with durability enabled
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * const durableReadFile = wrapToolAsDurableStep(readFileTool, {
34
+ * retryCount: 3,
35
+ * timeout: '30s',
36
+ * }, 'read_file');
37
+ * ```
38
+ */
39
+ export function wrapToolAsDurableStep(tool, config = {}, toolName) {
40
+ const { enabled = true } = config;
41
+ if (!enabled) {
42
+ return tool;
43
+ }
44
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
45
+ const originalExecute = tool.execute;
46
+ if (!originalExecute) {
47
+ return tool;
48
+ }
49
+ const stepName = config.stepName ?? (toolName ? `tool-exec-${toolName}` : 'tool-exec');
50
+ const wrappedTool = {
51
+ ...tool,
52
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
53
+ execute: async (input, options) => {
54
+ // The "use step" directive tells the workflow runtime to checkpoint here.
55
+ // When the workflow resumes after a crash, it skips to this point
56
+ // and returns the cached result instead of re-executing.
57
+ "use step";
58
+ log.debug(`Executing durable step: ${stepName}`, {
59
+ stepName,
60
+ retryCount: config.retryCount,
61
+ timeout: config.timeout,
62
+ });
63
+ try {
64
+ const result = await originalExecute(input, options);
65
+ log.debug(`Durable step completed: ${stepName}`);
66
+ return result;
67
+ }
68
+ catch (error) {
69
+ log.error(`Durable step failed: ${stepName}`, {
70
+ error: error instanceof Error ? error.message : String(error),
71
+ });
72
+ // Re-throw to let the workflow runtime handle retries
73
+ throw error;
74
+ }
75
+ },
76
+ };
77
+ // Store step name and config as metadata
78
+ setDurabilityConfig(wrappedTool, { ...config, stepName });
79
+ return wrappedTool;
80
+ }
81
+ // ============================================================================
82
+ // Batch Tool Wrapper
83
+ // ============================================================================
84
+ /**
85
+ * Wrap all tools in a set with durability directives.
86
+ * Each tool gets a step name based on its key in the record.
87
+ *
88
+ * @param tools - Record of tools to wrap
89
+ * @param config - Durability configuration applied to all tools
90
+ * @returns Record of wrapped tools
91
+ *
92
+ * @example
93
+ * ```typescript
94
+ * const durableTools = wrapToolsAsDurable(myTools, {
95
+ * retryCount: 3,
96
+ * timeout: '5m',
97
+ * });
98
+ * ```
99
+ */
100
+ export function wrapToolsAsDurable(tools, config = {}) {
101
+ log.debug('Wrapping all tools as durable', { count: Object.keys(tools).length });
102
+ return Object.fromEntries(Object.entries(tools).map(([name, tool]) => [
103
+ name,
104
+ wrapToolAsDurableStep(tool, config, name),
105
+ ]));
106
+ }
107
+ // ============================================================================
108
+ // Selective Wrapping
109
+ // ============================================================================
110
+ /**
111
+ * Wrap only specified tools with durability, leaving others unchanged.
112
+ *
113
+ * @param tools - All tools
114
+ * @param toolNames - Names of tools to wrap
115
+ * @param config - Durability configuration
116
+ * @returns Tools with selective durability applied
117
+ */
118
+ export function wrapSelectedToolsAsDurable(tools, toolNames, config = {}) {
119
+ const nameSet = new Set(toolNames);
120
+ log.debug('Selectively wrapping tools as durable', {
121
+ total: Object.keys(tools).length,
122
+ selected: toolNames,
123
+ });
124
+ return Object.fromEntries(Object.entries(tools).map(([name, tool]) => [
125
+ name,
126
+ nameSet.has(name) ? wrapToolAsDurableStep(tool, config, name) : tool,
127
+ ]));
128
+ }
129
+ // ============================================================================
130
+ // Independent Step Wrapper
131
+ // ============================================================================
132
+ /**
133
+ * Wrap a tool as an independent durable step.
134
+ *
135
+ * Independent steps can be executed in parallel with other independent steps.
136
+ * The workflow runtime optimizes by running these concurrently.
137
+ *
138
+ * @param tool - The tool to wrap
139
+ * @param toolName - Name of the tool (used for step naming)
140
+ * @returns Wrapped tool marked as independent
141
+ */
142
+ export function wrapToolAsIndependentStep(tool, toolName) {
143
+ return wrapToolAsDurableStep(tool, { independent: true }, toolName);
144
+ }
145
+ // ============================================================================
146
+ // Durability Metadata
147
+ // ============================================================================
148
+ /**
149
+ * Symbol for storing durability metadata on tools.
150
+ */
151
+ export const DURABILITY_CONFIG = Symbol('durabilityConfig');
152
+ /**
153
+ * Get durability configuration from a tool (if set).
154
+ */
155
+ export function getDurabilityConfig(tool) {
156
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
157
+ return tool[DURABILITY_CONFIG];
158
+ }
159
+ /**
160
+ * Set durability configuration on a tool.
161
+ */
162
+ export function setDurabilityConfig(tool, config) {
163
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
164
+ tool[DURABILITY_CONFIG] = config;
165
+ return tool;
166
+ }
167
+ /**
168
+ * Get the step name assigned to a durable tool.
169
+ */
170
+ export function getStepName(tool) {
171
+ return getDurabilityConfig(tool)?.stepName;
172
+ }
173
+ //# sourceMappingURL=durable-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"durable-tool.js","sourceRoot":"","sources":["../../src/workflow/durable-tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,318 @@
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
+ /**
20
+ * Reset WDK cache (for testing).
21
+ * When `forceNoWdk` is true, marks WDK as already checked but unavailable,
22
+ * preventing the dynamic import from running.
23
+ * @internal
24
+ */
25
+ export declare function _resetWdkCache(forceNoWdk?: boolean): void;
26
+ /** Status of a hook instance. */
27
+ export type HookStatus = 'pending' | 'resolved' | 'rejected' | 'timed_out';
28
+ /** Configuration for defining a hook factory. */
29
+ export interface HookDefinition<TPayload = unknown, TResult = unknown> {
30
+ /** Human-readable name for this hook type. */
31
+ name: string;
32
+ /** Description of what this hook does / what the human should decide. */
33
+ description?: string;
34
+ /**
35
+ * Timeout duration string (e.g., "30m", "1h").
36
+ * After this time, the hook resolves with `defaultValue`.
37
+ * If no timeout is specified, the hook waits indefinitely.
38
+ */
39
+ timeout?: string;
40
+ /**
41
+ * Default value returned when the hook times out.
42
+ * Required if `timeout` is specified.
43
+ */
44
+ defaultValue?: TResult;
45
+ /**
46
+ * Optional validation function for the resume payload.
47
+ * Throw to reject the resume attempt.
48
+ */
49
+ validate?: (payload: TResult) => void | Promise<void>;
50
+ }
51
+ /** A live hook instance that is waiting for resolution. */
52
+ export interface HookInstance<TPayload = unknown, TResult = unknown> {
53
+ /** Unique ID for this hook instance (maps to WDK token when available). */
54
+ id: string;
55
+ /** Name from the hook definition. */
56
+ name: string;
57
+ /** Description from the hook definition. */
58
+ description?: string;
59
+ /** The payload passed when the hook was created (context for the human). */
60
+ payload: TPayload;
61
+ /** Current status. */
62
+ status: HookStatus;
63
+ /** When this hook was created. */
64
+ createdAt: Date;
65
+ /** When this hook was resolved/rejected/timed out (if applicable). */
66
+ resolvedAt?: Date;
67
+ /** Timeout in ms (undefined = no timeout). */
68
+ timeoutMs?: number;
69
+ /** The result value once resolved. */
70
+ result?: TResult;
71
+ }
72
+ /** A typed hook factory returned by `defineHook()`. */
73
+ export interface Hook<TPayload = unknown, TResult = unknown> {
74
+ /** The hook definition name. */
75
+ readonly name: string;
76
+ /** The hook definition description. */
77
+ readonly description?: string;
78
+ /**
79
+ * Create a suspension point in the workflow.
80
+ * Suspends execution and waits for external input.
81
+ * Under WDK: uses createHook with auto-generated token.
82
+ * Without WDK: uses in-memory HookRegistry.
83
+ *
84
+ * @param payload - Context sent to the human (what they're approving/deciding)
85
+ * @returns The result from the human (or default value on timeout)
86
+ */
87
+ wait: (payload: TPayload) => Promise<TResult>;
88
+ /**
89
+ * Create a suspension point with an explicit hook ID/token.
90
+ * Useful for deterministic testing or resuming by known ID.
91
+ */
92
+ waitWithId: (id: string, payload: TPayload) => Promise<TResult>;
93
+ }
94
+ /** Options for creating a webhook suspension point. */
95
+ export interface WebhookOptions {
96
+ /** Unique webhook ID/token. Auto-generated if not provided. */
97
+ id?: string;
98
+ /** URL path for the webhook callback (informational without WDK, auto-generated with WDK). */
99
+ callbackPath?: string;
100
+ /** Timeout for the webhook response. */
101
+ timeout?: string;
102
+ /** Default value if webhook times out. */
103
+ defaultValue?: unknown;
104
+ }
105
+ /** Result from a webhook suspension. */
106
+ export interface WebhookResult<T = unknown> {
107
+ /** The payload received from the webhook callback. */
108
+ data: T;
109
+ /** Whether this was a timeout (data = defaultValue). */
110
+ timedOut: boolean;
111
+ /** The webhook URL (only available when WDK is active). */
112
+ url?: string;
113
+ }
114
+ /** Options for the sleep() function. */
115
+ export interface SleepOptions {
116
+ /** Reason for the sleep (logged for observability). */
117
+ reason?: string;
118
+ }
119
+ /**
120
+ * In-memory registry that tracks active hook instances.
121
+ * Used when WDK is not available. When WDK is active, hooks are managed
122
+ * by the WDK runtime and this registry is only used for tracking metadata.
123
+ */
124
+ export declare class HookRegistry {
125
+ private hooks;
126
+ private resolvers;
127
+ private validators;
128
+ private timeouts;
129
+ /** Get a hook instance by ID. */
130
+ get(id: string): HookInstance | undefined;
131
+ /** Check if a hook exists. */
132
+ has(id: string): boolean;
133
+ /** Get all hooks, optionally filtered by status. */
134
+ list(status?: HookStatus): HookInstance[];
135
+ /** Get all pending hooks. */
136
+ listPending(): HookInstance[];
137
+ /**
138
+ * Register a new hook instance and return a promise that resolves
139
+ * when the hook is resumed.
140
+ */
141
+ register<TPayload, TResult>(id: string, name: string, payload: TPayload, options?: {
142
+ description?: string;
143
+ timeoutMs?: number;
144
+ defaultValue?: TResult;
145
+ validate?: (payload: TResult) => void | Promise<void>;
146
+ }): Promise<TResult>;
147
+ /**
148
+ * Resume a suspended hook with a payload.
149
+ *
150
+ * Uses a status guard to prevent double resolution (race between
151
+ * resume and timeout). Only the first to transition from 'pending' wins.
152
+ *
153
+ * @throws If hook not found, not pending, or validation fails
154
+ */
155
+ resume(id: string, result: unknown): Promise<HookInstance>;
156
+ /**
157
+ * Reject a suspended hook with a reason.
158
+ * Useful for cancellation flows.
159
+ */
160
+ reject(id: string, reason: string): HookInstance;
161
+ /** Clean up resolver and timeout for a hook. */
162
+ private cleanup;
163
+ /** Clear all hooks (for testing). */
164
+ clear(): void;
165
+ /** Number of registered hooks. */
166
+ get size(): number;
167
+ }
168
+ /** Thrown when a hook ID is not found in the registry. */
169
+ export declare class HookNotFoundError extends Error {
170
+ readonly hookId: string;
171
+ constructor(hookId: string);
172
+ }
173
+ /** Thrown when attempting to resume a hook that is not pending. */
174
+ export declare class HookNotPendingError extends Error {
175
+ readonly hookId: string;
176
+ readonly currentStatus: HookStatus;
177
+ constructor(hookId: string, currentStatus: HookStatus);
178
+ }
179
+ /** Thrown when a hook is rejected. */
180
+ export declare class HookRejectedError extends Error {
181
+ readonly hookId: string;
182
+ readonly reason: string;
183
+ constructor(hookId: string, reason: string);
184
+ }
185
+ /**
186
+ * FatalError — a non-retryable error that permanently fails a workflow step.
187
+ * When WDK is available, this is the real WDK FatalError class.
188
+ * Without WDK, falls back to a simple Error subclass.
189
+ */
190
+ export declare class FatalError extends Error {
191
+ readonly fatal = true;
192
+ constructor(message: string);
193
+ static is(value: unknown): value is FatalError;
194
+ }
195
+ /**
196
+ * RetryableError — an error that allows the WDK runtime to retry a step.
197
+ * When WDK is available, prefer using the WDK version directly.
198
+ * Without WDK, this provides the same interface.
199
+ */
200
+ export declare class RetryableError extends Error {
201
+ readonly retryAfter: Date;
202
+ constructor(message: string, options?: {
203
+ retryAfter?: number | string | Date;
204
+ });
205
+ static is(value: unknown): value is RetryableError;
206
+ }
207
+ /**
208
+ * Get WDK error classes if available, otherwise return our fallbacks.
209
+ * Use these in durable-agent.ts for step-level error handling.
210
+ */
211
+ export declare function getWdkErrors(): {
212
+ FatalError: typeof FatalError;
213
+ RetryableError: typeof RetryableError;
214
+ };
215
+ /** Get or create the global hook registry. */
216
+ export declare function getHookRegistry(): HookRegistry;
217
+ /**
218
+ * Reset the global hook registry (for testing).
219
+ * @internal
220
+ */
221
+ export declare function _resetHookRegistry(): void;
222
+ /**
223
+ * Reset the hook counter (for testing).
224
+ * @internal
225
+ */
226
+ export declare function _resetHookCounter(): void;
227
+ /**
228
+ * Define a typed hook factory.
229
+ *
230
+ * When WDK is available, creates hooks using `wdk.defineHook()` and
231
+ * `wdk.createHook()` for durable suspension with auto-generated webhook tokens.
232
+ *
233
+ * Without WDK, falls back to in-memory HookRegistry.
234
+ *
235
+ * @param definition - Hook configuration
236
+ * @returns A typed hook factory
237
+ *
238
+ * @example
239
+ * ```typescript
240
+ * const approvalHook = defineHook<
241
+ * { action: string; details: string },
242
+ * { approved: boolean; reason?: string }
243
+ * >({
244
+ * name: 'approval',
245
+ * description: 'Approve dangerous agent actions',
246
+ * timeout: '30m',
247
+ * defaultValue: { approved: false, reason: 'Timed out' },
248
+ * });
249
+ *
250
+ * // In a workflow:
251
+ * const result = await approvalHook.wait({
252
+ * action: 'delete files',
253
+ * details: '50 files will be removed',
254
+ * });
255
+ *
256
+ * if (result.approved) {
257
+ * // proceed with deletion
258
+ * }
259
+ * ```
260
+ */
261
+ export declare function defineHook<TPayload = unknown, TResult = unknown>(definition: HookDefinition<TPayload, TResult>): Hook<TPayload, TResult>;
262
+ /**
263
+ * Create a webhook-backed suspension point.
264
+ *
265
+ * When WDK is available, uses `wdk.createWebhook()` for auto-generated
266
+ * webhook URLs (pattern: /.well-known/workflow/v1/webhook/:token).
267
+ *
268
+ * Without WDK, falls back to in-memory HookRegistry.
269
+ *
270
+ * @param options - Webhook configuration
271
+ * @returns Object with id, promise, and url (if WDK is available)
272
+ *
273
+ * @example
274
+ * ```typescript
275
+ * const result = await createWebhook<{ approved: boolean }>({
276
+ * callbackPath: '/api/approve',
277
+ * timeout: '1h',
278
+ * defaultValue: { approved: false },
279
+ * });
280
+ *
281
+ * if (result.data.approved) {
282
+ * // proceed
283
+ * }
284
+ * ```
285
+ */
286
+ export declare function createWebhook<T = unknown>(options?: WebhookOptions): {
287
+ id: string;
288
+ promise: Promise<WebhookResult<T>>;
289
+ url?: string;
290
+ };
291
+ /**
292
+ * Resume a hook by its token/ID.
293
+ *
294
+ * When WDK is available, delegates to `wdk.resumeHook()`.
295
+ * Without WDK, uses the in-memory HookRegistry.
296
+ *
297
+ * @param tokenOrId - The hook token or ID
298
+ * @param payload - The payload to send to the hook
299
+ */
300
+ export declare function resumeHook<T = unknown>(tokenOrId: string, payload: T): Promise<void>;
301
+ /**
302
+ * Pause workflow execution with zero compute cost.
303
+ *
304
+ * Under WDK, this uses durable sleep — the process is suspended and
305
+ * resumed by the runtime after the delay. Without WDK, falls back to
306
+ * `setTimeout`.
307
+ *
308
+ * @param duration - Duration string (e.g., "30s", "5m", "1h")
309
+ * @param options - Optional configuration
310
+ *
311
+ * @example
312
+ * ```typescript
313
+ * // Pause for 5 minutes (zero compute under WDK runtime)
314
+ * await sleep('5m', { reason: 'Rate limit cooldown' });
315
+ * ```
316
+ */
317
+ export declare function sleep(duration: string, options?: SleepOptions): Promise<void>;
318
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/workflow/hooks.ts"],"names":[],"mappings":"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"}