@cuylabs/agent-core 4.9.0 → 4.10.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 (667) hide show
  1. package/README.md +11 -12
  2. package/dist/agent/chat-loop/commit-batch.d.ts +10 -0
  3. package/dist/agent/chat-loop/commit-batch.d.ts.map +1 -0
  4. package/dist/agent/chat-loop/context-recovery.d.ts +29 -0
  5. package/dist/agent/chat-loop/context-recovery.d.ts.map +1 -0
  6. package/dist/agent/chat-loop/finalize-turn.d.ts +19 -0
  7. package/dist/agent/chat-loop/finalize-turn.d.ts.map +1 -0
  8. package/dist/agent/chat-loop/index.d.ts +7 -0
  9. package/dist/agent/chat-loop/index.d.ts.map +1 -0
  10. package/dist/agent/chat-loop/loop.d.ts +8 -0
  11. package/dist/agent/chat-loop/loop.d.ts.map +1 -0
  12. package/dist/agent/chat-loop/model-step-runner.d.ts +26 -0
  13. package/dist/agent/chat-loop/model-step-runner.d.ts.map +1 -0
  14. package/dist/agent/chat-loop/model-step-snapshot.d.ts +49 -0
  15. package/dist/agent/chat-loop/model-step-snapshot.d.ts.map +1 -0
  16. package/dist/agent/chat-loop/turn-tools.d.ts +19 -0
  17. package/dist/agent/chat-loop/turn-tools.d.ts.map +1 -0
  18. package/dist/agent/chat-loop/types.d.ts +60 -0
  19. package/dist/agent/chat-loop/types.d.ts.map +1 -0
  20. package/dist/agent/defaults.d.ts +69 -0
  21. package/dist/agent/defaults.d.ts.map +1 -0
  22. package/dist/agent/event-printer.d.ts +94 -0
  23. package/dist/agent/event-printer.d.ts.map +1 -0
  24. package/dist/agent/fork.d.ts +59 -0
  25. package/dist/agent/fork.d.ts.map +1 -0
  26. package/dist/agent/index.d.ts +17 -0
  27. package/dist/agent/index.d.ts.map +1 -0
  28. package/dist/agent/instance/context-management.d.ts +29 -0
  29. package/dist/agent/instance/context-management.d.ts.map +1 -0
  30. package/dist/agent/instance/forking.d.ts +26 -0
  31. package/dist/agent/instance/forking.d.ts.map +1 -0
  32. package/dist/agent/instance/index.d.ts +170 -0
  33. package/dist/agent/instance/index.d.ts.map +1 -0
  34. package/dist/agent/instance/interventions.d.ts +10 -0
  35. package/dist/agent/instance/interventions.d.ts.map +1 -0
  36. package/dist/agent/instance/mcp.d.ts +21 -0
  37. package/dist/agent/instance/mcp.d.ts.map +1 -0
  38. package/dist/agent/instance/sessions.d.ts +8 -0
  39. package/dist/agent/instance/sessions.d.ts.map +1 -0
  40. package/dist/agent/instance/tools.d.ts +16 -0
  41. package/dist/agent/instance/tools.d.ts.map +1 -0
  42. package/dist/agent/instance/turn-lifecycle.d.ts +61 -0
  43. package/dist/agent/instance/turn-lifecycle.d.ts.map +1 -0
  44. package/dist/agent/session.d.ts +16 -0
  45. package/dist/agent/session.d.ts.map +1 -0
  46. package/dist/agent/setup/config.d.ts +8 -0
  47. package/dist/agent/setup/config.d.ts.map +1 -0
  48. package/dist/agent/setup/context-window.d.ts +4 -0
  49. package/dist/agent/setup/context-window.d.ts.map +1 -0
  50. package/dist/agent/setup/environment.d.ts +5 -0
  51. package/dist/agent/setup/environment.d.ts.map +1 -0
  52. package/dist/agent/setup/middleware.d.ts +9 -0
  53. package/dist/agent/setup/middleware.d.ts.map +1 -0
  54. package/dist/agent/setup/runtime-config.d.ts +9 -0
  55. package/dist/agent/setup/runtime-config.d.ts.map +1 -0
  56. package/dist/agent/setup/state.d.ts +4 -0
  57. package/dist/agent/setup/state.d.ts.map +1 -0
  58. package/dist/agent/setup/tools.d.ts +8 -0
  59. package/dist/agent/setup/tools.d.ts.map +1 -0
  60. package/dist/agent/setup.d.ts +47 -0
  61. package/dist/agent/setup.d.ts.map +1 -0
  62. package/dist/agent/stream-provider.d.ts +27 -0
  63. package/dist/agent/stream-provider.d.ts.map +1 -0
  64. package/dist/agent/turn-context/compaction/agent-context.d.ts +53 -0
  65. package/dist/agent/turn-context/compaction/agent-context.d.ts.map +1 -0
  66. package/dist/agent/turn-context/compaction/budget.d.ts +4 -0
  67. package/dist/agent/turn-context/compaction/budget.d.ts.map +1 -0
  68. package/dist/agent/turn-context/compaction/check.d.ts +39 -0
  69. package/dist/agent/turn-context/compaction/check.d.ts.map +1 -0
  70. package/dist/agent/turn-context/compaction/fragments.d.ts +4 -0
  71. package/dist/agent/turn-context/compaction/fragments.d.ts.map +1 -0
  72. package/dist/agent/turn-context/compaction/index.d.ts +5 -0
  73. package/dist/agent/turn-context/compaction/index.d.ts.map +1 -0
  74. package/dist/agent/turn-context/compaction/memory.d.ts +17 -0
  75. package/dist/agent/turn-context/compaction/memory.d.ts.map +1 -0
  76. package/dist/agent/turn-context/compaction/results.d.ts +19 -0
  77. package/dist/agent/turn-context/compaction/results.d.ts.map +1 -0
  78. package/dist/agent/turn-context/compaction/summary.d.ts +3 -0
  79. package/dist/agent/turn-context/compaction/summary.d.ts.map +1 -0
  80. package/dist/agent/turn-context/compaction/types.d.ts +24 -0
  81. package/dist/agent/turn-context/compaction/types.d.ts.map +1 -0
  82. package/dist/agent/turn-context/fit-model-context.d.ts +29 -0
  83. package/dist/agent/turn-context/fit-model-context.d.ts.map +1 -0
  84. package/dist/agent/turn-context/index.d.ts +5 -0
  85. package/dist/agent/turn-context/index.d.ts.map +1 -0
  86. package/dist/agent/turn-context/system-prompts.d.ts +12 -0
  87. package/dist/agent/turn-context/system-prompts.d.ts.map +1 -0
  88. package/dist/agent/types/config.d.ts +199 -0
  89. package/dist/agent/types/config.d.ts.map +1 -0
  90. package/dist/agent/types/index.d.ts +11 -0
  91. package/dist/agent/types/index.d.ts.map +1 -0
  92. package/dist/agent/types/state.d.ts +16 -0
  93. package/dist/agent/types/state.d.ts.map +1 -0
  94. package/dist/agent/types/tracing.d.ts +12 -0
  95. package/dist/agent/types/tracing.d.ts.map +1 -0
  96. package/dist/{chunk-KYLPMBHD.js → chunk-336EDIBL.js} +1 -1
  97. package/dist/chunk-AAGKWUXR.js +539 -0
  98. package/dist/chunk-AHDCR7SX.js +83 -0
  99. package/dist/{chunk-CSR75JVC.js → chunk-ASXF5AC6.js} +1 -1
  100. package/dist/{chunk-2TTOLHBT.js → chunk-CFBSQLP5.js} +1 -1
  101. package/dist/{chunk-GJFP5L2V.js → chunk-CNM6OROH.js} +15 -3
  102. package/dist/chunk-E66PKKDL.js +772 -0
  103. package/dist/{chunk-HSUPTXNV.js → chunk-EBVSPHXA.js} +13 -10
  104. package/dist/chunk-EEAGM5MS.js +257 -0
  105. package/dist/chunk-IQA64CAO.js +84 -0
  106. package/dist/chunk-JFH6HBUG.js +227 -0
  107. package/dist/{chunk-MWPU2EVV.js → chunk-JUIL2NJC.js} +4 -81
  108. package/dist/{chunk-NS7D7JJU.js → chunk-K453AFTL.js} +35 -16
  109. package/dist/chunk-LX4AHGI3.js +960 -0
  110. package/dist/chunk-MJRZ2ZRI.js +498 -0
  111. package/dist/chunk-NMJNN6LS.js +1155 -0
  112. package/dist/{chunk-UMIVJDEJ.js → chunk-SAWRDGBE.js} +30 -7
  113. package/dist/{chunk-GEBFHREI.js → chunk-TU5KDFWI.js} +30 -5
  114. package/dist/{chunk-QJV5XPPS.js → chunk-UEEHZ4QH.js} +1 -1
  115. package/dist/chunk-UG5PVNZV.js +53 -0
  116. package/dist/{chunk-BGG2HVIR.js → chunk-V4MIDL5B.js} +9 -0
  117. package/dist/{chunk-BJC46FIF.js → chunk-V4YQ6MBK.js} +2 -2
  118. package/dist/{chunk-H3GRHFFG.js → chunk-VMGZKIFT.js} +30 -9
  119. package/dist/chunk-W6LWIMIX.js +8 -0
  120. package/dist/context/assembly/index.d.ts +3 -0
  121. package/dist/context/assembly/index.d.ts.map +1 -0
  122. package/dist/context/assembly/prepare.d.ts +11 -0
  123. package/dist/context/assembly/prepare.d.ts.map +1 -0
  124. package/dist/context/assembly/types.d.ts +60 -0
  125. package/dist/context/assembly/types.d.ts.map +1 -0
  126. package/dist/context/config.d.ts +11 -0
  127. package/dist/context/config.d.ts.map +1 -0
  128. package/dist/context/fragments/index.d.ts +4 -0
  129. package/dist/context/fragments/index.d.ts.map +1 -0
  130. package/dist/context/fragments/messages.d.ts +10 -0
  131. package/dist/context/fragments/messages.d.ts.map +1 -0
  132. package/dist/context/fragments/render.d.ts +16 -0
  133. package/dist/context/fragments/render.d.ts.map +1 -0
  134. package/dist/context/fragments/types.d.ts +87 -0
  135. package/dist/context/fragments/types.d.ts.map +1 -0
  136. package/dist/context/index.d.ts +13 -0
  137. package/dist/context/index.d.ts.map +1 -0
  138. package/dist/context/index.js +90 -0
  139. package/dist/context/text/truncation.d.ts +13 -0
  140. package/dist/context/text/truncation.d.ts.map +1 -0
  141. package/dist/context/window/budget.d.ts +108 -0
  142. package/dist/context/window/budget.d.ts.map +1 -0
  143. package/dist/context/window/compactor.d.ts +74 -0
  144. package/dist/context/window/compactor.d.ts.map +1 -0
  145. package/dist/context/window/cut-planner.d.ts +64 -0
  146. package/dist/context/window/cut-planner.d.ts.map +1 -0
  147. package/dist/context/window/decision.d.ts +41 -0
  148. package/dist/context/window/decision.d.ts.map +1 -0
  149. package/dist/context/window/estimation.d.ts +45 -0
  150. package/dist/context/window/estimation.d.ts.map +1 -0
  151. package/dist/context/window/index.d.ts +26 -0
  152. package/dist/context/window/index.d.ts.map +1 -0
  153. package/dist/context/window/manager.d.ts +80 -0
  154. package/dist/context/window/manager.d.ts.map +1 -0
  155. package/dist/context/window/summary-policy.d.ts +50 -0
  156. package/dist/context/window/summary-policy.d.ts.map +1 -0
  157. package/dist/context/window/summary.d.ts +56 -0
  158. package/dist/context/window/summary.d.ts.map +1 -0
  159. package/dist/context/window/tool-pruning.d.ts +62 -0
  160. package/dist/context/window/tool-pruning.d.ts.map +1 -0
  161. package/dist/dispatch/executor.d.ts +56 -0
  162. package/dist/dispatch/executor.d.ts.map +1 -0
  163. package/dist/dispatch/index.d.ts +7 -95
  164. package/dist/dispatch/index.d.ts.map +1 -0
  165. package/dist/dispatch/index.js +4 -3
  166. package/dist/dispatch/results.d.ts +9 -0
  167. package/dist/dispatch/results.d.ts.map +1 -0
  168. package/dist/dispatch/runtime.d.ts +19 -0
  169. package/dist/dispatch/runtime.d.ts.map +1 -0
  170. package/dist/dispatch/tool-factories.d.ts +8 -0
  171. package/dist/dispatch/tool-factories.d.ts.map +1 -0
  172. package/dist/dispatch/tools.d.ts +10 -0
  173. package/dist/dispatch/tools.d.ts.map +1 -0
  174. package/dist/dispatch/types.d.ts +131 -0
  175. package/dist/dispatch/types.d.ts.map +1 -0
  176. package/dist/events/event-bus/index.d.ts +13 -0
  177. package/dist/events/event-bus/index.d.ts.map +1 -0
  178. package/dist/events/event-bus/index.js +6 -0
  179. package/dist/events/event-bus/local.d.ts +14 -0
  180. package/dist/events/event-bus/local.d.ts.map +1 -0
  181. package/dist/events/event-bus/types.d.ts +78 -0
  182. package/dist/events/event-bus/types.d.ts.map +1 -0
  183. package/dist/events/index.d.ts +10 -89
  184. package/dist/events/index.d.ts.map +1 -0
  185. package/dist/events/index.js +6 -1
  186. package/dist/events/signal/index.d.ts +18 -0
  187. package/dist/events/signal/index.d.ts.map +1 -0
  188. package/dist/events/signal/index.js +6 -0
  189. package/dist/events/signal/local.d.ts +22 -0
  190. package/dist/events/signal/local.d.ts.map +1 -0
  191. package/dist/events/signal/types.d.ts +69 -0
  192. package/dist/events/signal/types.d.ts.map +1 -0
  193. package/dist/execution/index.d.ts +33 -481
  194. package/dist/execution/index.d.ts.map +1 -0
  195. package/dist/execution/index.js +45 -19
  196. package/dist/execution/scope/index.d.ts +10 -0
  197. package/dist/execution/scope/index.d.ts.map +1 -0
  198. package/dist/execution/scope/index.js +12 -0
  199. package/dist/execution/scope/run.d.ts +8 -0
  200. package/dist/execution/scope/run.d.ts.map +1 -0
  201. package/dist/execution/scope/store.d.ts +6 -0
  202. package/dist/execution/scope/store.d.ts.map +1 -0
  203. package/dist/execution/scope/types.d.ts +28 -0
  204. package/dist/execution/scope/types.d.ts.map +1 -0
  205. package/dist/execution/shared/usage.d.ts +9 -0
  206. package/dist/execution/shared/usage.d.ts.map +1 -0
  207. package/dist/execution/task/index.d.ts +6 -0
  208. package/dist/execution/task/index.d.ts.map +1 -0
  209. package/dist/execution/task/observer.d.ts +80 -0
  210. package/dist/execution/task/observer.d.ts.map +1 -0
  211. package/dist/execution/task/runner.d.ts +39 -0
  212. package/dist/execution/task/runner.d.ts.map +1 -0
  213. package/dist/execution/task/types.d.ts +85 -0
  214. package/dist/execution/task/types.d.ts.map +1 -0
  215. package/dist/execution/turn/engine/commit-batch.d.ts +16 -0
  216. package/dist/execution/turn/engine/commit-batch.d.ts.map +1 -0
  217. package/dist/execution/turn/engine/engine.d.ts +32 -0
  218. package/dist/execution/turn/engine/engine.d.ts.map +1 -0
  219. package/dist/execution/turn/engine/index.d.ts +12 -0
  220. package/dist/execution/turn/engine/index.d.ts.map +1 -0
  221. package/dist/execution/turn/engine/types.d.ts +67 -0
  222. package/dist/execution/turn/engine/types.d.ts.map +1 -0
  223. package/dist/execution/turn/index.d.ts +18 -0
  224. package/dist/execution/turn/index.d.ts.map +1 -0
  225. package/dist/execution/turn/index.js +52 -0
  226. package/dist/execution/turn/runner/commit.d.ts +11 -0
  227. package/dist/execution/turn/runner/commit.d.ts.map +1 -0
  228. package/dist/execution/turn/runner/index.d.ts +16 -0
  229. package/dist/execution/turn/runner/index.d.ts.map +1 -0
  230. package/dist/execution/turn/runner/prepare.d.ts +6 -0
  231. package/dist/execution/turn/runner/prepare.d.ts.map +1 -0
  232. package/dist/execution/turn/runner/stream-step.d.ts +8 -0
  233. package/dist/execution/turn/runner/stream-step.d.ts.map +1 -0
  234. package/dist/execution/turn/runner/tool-batch.d.ts +13 -0
  235. package/dist/execution/turn/runner/tool-batch.d.ts.map +1 -0
  236. package/dist/execution/turn/runner/types.d.ts +111 -0
  237. package/dist/execution/turn/runner/types.d.ts.map +1 -0
  238. package/dist/execution/turn/state.d.ts +110 -0
  239. package/dist/execution/turn/state.d.ts.map +1 -0
  240. package/dist/execution/turn/step-ledger.d.ts +89 -0
  241. package/dist/execution/turn/step-ledger.d.ts.map +1 -0
  242. package/dist/execution/turn/step-processing/doom-loop.d.ts +28 -0
  243. package/dist/execution/turn/step-processing/doom-loop.d.ts.map +1 -0
  244. package/dist/execution/turn/step-processing/index.d.ts +14 -0
  245. package/dist/execution/turn/step-processing/index.d.ts.map +1 -0
  246. package/dist/execution/turn/step-processing/overflow.d.ts +17 -0
  247. package/dist/execution/turn/step-processing/overflow.d.ts.map +1 -0
  248. package/dist/execution/turn/step-processing/process.d.ts +7 -0
  249. package/dist/execution/turn/step-processing/process.d.ts.map +1 -0
  250. package/dist/execution/turn/step-processing/types.d.ts +65 -0
  251. package/dist/execution/turn/step-processing/types.d.ts.map +1 -0
  252. package/dist/execution/workflow/index.d.ts +12 -0
  253. package/dist/execution/workflow/index.d.ts.map +1 -0
  254. package/dist/execution/workflow/index.js +39 -0
  255. package/dist/execution/workflow/planner/apply.d.ts +30 -0
  256. package/dist/execution/workflow/planner/apply.d.ts.map +1 -0
  257. package/dist/execution/workflow/planner/helpers.d.ts +6 -0
  258. package/dist/execution/workflow/planner/helpers.d.ts.map +1 -0
  259. package/dist/execution/workflow/planner/index.d.ts +13 -0
  260. package/dist/execution/workflow/planner/index.d.ts.map +1 -0
  261. package/dist/execution/workflow/planner/plan.d.ts +7 -0
  262. package/dist/execution/workflow/planner/plan.d.ts.map +1 -0
  263. package/dist/execution/workflow/planner/types.d.ts +49 -0
  264. package/dist/execution/workflow/planner/types.d.ts.map +1 -0
  265. package/dist/execution/workflow/snapshot.d.ts +11 -0
  266. package/dist/execution/workflow/snapshot.d.ts.map +1 -0
  267. package/dist/execution/workflow/state.d.ts +161 -0
  268. package/dist/execution/workflow/state.d.ts.map +1 -0
  269. package/dist/human/controller.d.ts +24 -0
  270. package/dist/human/controller.d.ts.map +1 -0
  271. package/dist/human/handler.d.ts +15 -0
  272. package/dist/human/handler.d.ts.map +1 -0
  273. package/dist/human/index.d.ts +5 -0
  274. package/dist/human/index.d.ts.map +1 -0
  275. package/dist/human/tool.d.ts +17 -0
  276. package/dist/human/tool.d.ts.map +1 -0
  277. package/dist/human/types.d.ts +62 -0
  278. package/dist/human/types.d.ts.map +1 -0
  279. package/dist/index.d.ts +66 -567
  280. package/dist/index.d.ts.map +1 -0
  281. package/dist/index.js +2482 -1846
  282. package/dist/inference/defaults.d.ts +8 -0
  283. package/dist/inference/defaults.d.ts.map +1 -0
  284. package/dist/inference/errors/classify.d.ts +5 -0
  285. package/dist/inference/errors/classify.d.ts.map +1 -0
  286. package/dist/inference/errors/extract.d.ts +3 -0
  287. package/dist/inference/errors/extract.d.ts.map +1 -0
  288. package/dist/inference/errors/index.d.ts +8 -11
  289. package/dist/inference/errors/index.d.ts.map +1 -0
  290. package/dist/inference/errors/llm-error.d.ts +14 -0
  291. package/dist/inference/errors/llm-error.d.ts.map +1 -0
  292. package/dist/inference/errors/types.d.ts +18 -0
  293. package/dist/inference/errors/types.d.ts.map +1 -0
  294. package/dist/inference/errors/utils.d.ts +5 -0
  295. package/dist/inference/errors/utils.d.ts.map +1 -0
  296. package/dist/inference/index.d.ts +17 -49
  297. package/dist/inference/index.d.ts.map +1 -0
  298. package/dist/inference/index.js +7 -7
  299. package/dist/inference/middleware-support.d.ts +14 -0
  300. package/dist/inference/middleware-support.d.ts.map +1 -0
  301. package/dist/{model-messages-n_ZMZwIm.d.ts → inference/model-messages.d.ts} +4 -6
  302. package/dist/inference/model-messages.d.ts.map +1 -0
  303. package/dist/inference/retry.d.ts +73 -0
  304. package/dist/inference/retry.d.ts.map +1 -0
  305. package/dist/inference/stream.d.ts +16 -0
  306. package/dist/inference/stream.d.ts.map +1 -0
  307. package/dist/inference/toolset.d.ts +26 -0
  308. package/dist/inference/toolset.d.ts.map +1 -0
  309. package/dist/inference/types.d.ts +129 -0
  310. package/dist/inference/types.d.ts.map +1 -0
  311. package/dist/intervention/follow-up-policy.d.ts +41 -0
  312. package/dist/intervention/follow-up-policy.d.ts.map +1 -0
  313. package/dist/intervention/index.d.ts +5 -0
  314. package/dist/intervention/index.d.ts.map +1 -0
  315. package/dist/intervention/intervention.d.ts +130 -0
  316. package/dist/intervention/intervention.d.ts.map +1 -0
  317. package/dist/intervention/types.d.ts +74 -0
  318. package/dist/intervention/types.d.ts.map +1 -0
  319. package/dist/logger/index.d.ts +5 -47
  320. package/dist/logger/index.d.ts.map +1 -0
  321. package/dist/logger/logger.d.ts +46 -0
  322. package/dist/logger/logger.d.ts.map +1 -0
  323. package/dist/{types-RSCv7nQ4.d.ts → logger/types.d.ts} +6 -7
  324. package/dist/logger/types.d.ts.map +1 -0
  325. package/dist/mcp/auth.d.ts +109 -0
  326. package/dist/mcp/auth.d.ts.map +1 -0
  327. package/dist/mcp/diagnostics.d.ts +23 -0
  328. package/dist/mcp/diagnostics.d.ts.map +1 -0
  329. package/dist/mcp/factories.d.ts +47 -0
  330. package/dist/mcp/factories.d.ts.map +1 -0
  331. package/dist/mcp/index.d.ts +14 -175
  332. package/dist/mcp/index.d.ts.map +1 -0
  333. package/dist/mcp/index.js +1 -1
  334. package/dist/mcp/manager.d.ts +45 -0
  335. package/dist/mcp/manager.d.ts.map +1 -0
  336. package/dist/mcp/modules.d.ts +6 -0
  337. package/dist/mcp/modules.d.ts.map +1 -0
  338. package/dist/{types-DMjoFKKv.d.ts → mcp/types.d.ts} +18 -19
  339. package/dist/mcp/types.d.ts.map +1 -0
  340. package/dist/memory/config.d.ts +4 -0
  341. package/dist/memory/config.d.ts.map +1 -0
  342. package/dist/memory/format.d.ts +8 -0
  343. package/dist/memory/format.d.ts.map +1 -0
  344. package/dist/memory/index.d.ts +5 -0
  345. package/dist/memory/index.d.ts.map +1 -0
  346. package/dist/memory/index.js +14 -0
  347. package/dist/memory/middleware.d.ts +14 -0
  348. package/dist/memory/middleware.d.ts.map +1 -0
  349. package/dist/memory/types.d.ts +232 -0
  350. package/dist/memory/types.d.ts.map +1 -0
  351. package/dist/middleware/approval.d.ts +70 -0
  352. package/dist/middleware/approval.d.ts.map +1 -0
  353. package/dist/middleware/index.d.ts +24 -110
  354. package/dist/middleware/index.d.ts.map +1 -0
  355. package/dist/middleware/index.js +2 -2
  356. package/dist/middleware/prompt-cache/cache.d.ts +44 -0
  357. package/dist/middleware/prompt-cache/cache.d.ts.map +1 -0
  358. package/dist/middleware/prompt-cache/index.d.ts +14 -0
  359. package/dist/middleware/prompt-cache/index.d.ts.map +1 -0
  360. package/dist/middleware/prompt-cache/types.d.ts +50 -0
  361. package/dist/middleware/prompt-cache/types.d.ts.map +1 -0
  362. package/dist/middleware/runner.d.ts +100 -0
  363. package/dist/middleware/runner.d.ts.map +1 -0
  364. package/dist/middleware/telemetry/index.d.ts +12 -0
  365. package/dist/middleware/telemetry/index.d.ts.map +1 -0
  366. package/dist/middleware/telemetry/otel.d.ts +4 -0
  367. package/dist/middleware/telemetry/otel.d.ts.map +1 -0
  368. package/dist/middleware/telemetry/provider.d.ts +3 -0
  369. package/dist/middleware/telemetry/provider.d.ts.map +1 -0
  370. package/dist/middleware/telemetry/types.d.ts +150 -0
  371. package/dist/middleware/telemetry/types.d.ts.map +1 -0
  372. package/dist/middleware/types.d.ts +371 -0
  373. package/dist/middleware/types.d.ts.map +1 -0
  374. package/dist/models/cache/adapters.d.ts +4 -0
  375. package/dist/models/cache/adapters.d.ts.map +1 -0
  376. package/dist/models/cache/index.d.ts +5 -0
  377. package/dist/models/cache/index.d.ts.map +1 -0
  378. package/dist/models/cache/manager.d.ts +32 -0
  379. package/dist/models/cache/manager.d.ts.map +1 -0
  380. package/dist/models/cache/types.d.ts +17 -0
  381. package/dist/models/cache/types.d.ts.map +1 -0
  382. package/dist/models/capability-resolver.d.ts +104 -0
  383. package/dist/models/capability-resolver.d.ts.map +1 -0
  384. package/dist/models/identifiers.d.ts +23 -0
  385. package/dist/models/identifiers.d.ts.map +1 -0
  386. package/dist/models/index.d.ts +35 -256
  387. package/dist/models/index.d.ts.map +1 -0
  388. package/dist/models/index.js +1 -1
  389. package/dist/models/overrides.d.ts +10 -0
  390. package/dist/models/overrides.d.ts.map +1 -0
  391. package/dist/models/profiles.d.ts +38 -0
  392. package/dist/models/profiles.d.ts.map +1 -0
  393. package/dist/models/reasoning/config.d.ts +49 -0
  394. package/dist/models/reasoning/config.d.ts.map +1 -0
  395. package/dist/models/reasoning/index.d.ts +12 -4
  396. package/dist/models/reasoning/index.d.ts.map +1 -0
  397. package/dist/models/reasoning/index.js +1 -1
  398. package/dist/models/reasoning/providers.d.ts +63 -0
  399. package/dist/models/reasoning/providers.d.ts.map +1 -0
  400. package/dist/{types-CQaXbRsS.d.ts → models/reasoning/types.d.ts} +7 -8
  401. package/dist/models/reasoning/types.d.ts.map +1 -0
  402. package/dist/models/remote/fetcher.d.ts +13 -0
  403. package/dist/models/remote/fetcher.d.ts.map +1 -0
  404. package/dist/models/remote/index.d.ts +8 -0
  405. package/dist/models/remote/index.d.ts.map +1 -0
  406. package/dist/models/remote/network.d.ts +6 -0
  407. package/dist/models/remote/network.d.ts.map +1 -0
  408. package/dist/models/remote/source.d.ts +16 -0
  409. package/dist/models/remote/source.d.ts.map +1 -0
  410. package/dist/models/remote/transform.d.ts +4 -0
  411. package/dist/models/remote/transform.d.ts.map +1 -0
  412. package/dist/models/remote/types.d.ts +28 -0
  413. package/dist/models/remote/types.d.ts.map +1 -0
  414. package/dist/models/resolver.d.ts +26 -0
  415. package/dist/models/resolver.d.ts.map +1 -0
  416. package/dist/models/types.d.ts +137 -0
  417. package/dist/models/types.d.ts.map +1 -0
  418. package/dist/plugin/compatibility.d.ts +11 -0
  419. package/dist/plugin/compatibility.d.ts.map +1 -0
  420. package/dist/plugin/define.d.ts +77 -0
  421. package/dist/plugin/define.d.ts.map +1 -0
  422. package/dist/plugin/event-bus.d.ts +31 -0
  423. package/dist/plugin/event-bus.d.ts.map +1 -0
  424. package/dist/plugin/index.d.ts +9 -458
  425. package/dist/plugin/index.d.ts.map +1 -0
  426. package/dist/plugin/loader.d.ts +63 -0
  427. package/dist/plugin/loader.d.ts.map +1 -0
  428. package/dist/plugin/registry.d.ts +81 -0
  429. package/dist/plugin/registry.d.ts.map +1 -0
  430. package/dist/plugin/settings.d.ts +36 -0
  431. package/dist/plugin/settings.d.ts.map +1 -0
  432. package/dist/plugin/types.d.ts +168 -0
  433. package/dist/plugin/types.d.ts.map +1 -0
  434. package/dist/profiles/apply.d.ts +17 -0
  435. package/dist/profiles/apply.d.ts.map +1 -0
  436. package/dist/profiles/builtins.d.ts +18 -0
  437. package/dist/profiles/builtins.d.ts.map +1 -0
  438. package/dist/profiles/index.d.ts +12 -55
  439. package/dist/profiles/index.d.ts.map +1 -0
  440. package/dist/profiles/patterns.d.ts +12 -0
  441. package/dist/profiles/patterns.d.ts.map +1 -0
  442. package/dist/profiles/types.d.ts +48 -0
  443. package/dist/profiles/types.d.ts.map +1 -0
  444. package/dist/prompt/builder/builder.d.ts +27 -0
  445. package/dist/prompt/builder/builder.d.ts.map +1 -0
  446. package/dist/prompt/builder/index.d.ts +11 -0
  447. package/dist/prompt/builder/index.d.ts.map +1 -0
  448. package/dist/prompt/builder/priorities.d.ts +13 -0
  449. package/dist/prompt/builder/priorities.d.ts.map +1 -0
  450. package/dist/prompt/builder/sections.d.ts +30 -0
  451. package/dist/prompt/builder/sections.d.ts.map +1 -0
  452. package/dist/prompt/environment.d.ts +46 -0
  453. package/dist/prompt/environment.d.ts.map +1 -0
  454. package/dist/prompt/index.d.ts +31 -220
  455. package/dist/prompt/index.d.ts.map +1 -0
  456. package/dist/prompt/index.js +3 -1
  457. package/dist/prompt/instructions.d.ts +104 -0
  458. package/dist/prompt/instructions.d.ts.map +1 -0
  459. package/dist/prompt/templates.d.ts +56 -0
  460. package/dist/prompt/templates.d.ts.map +1 -0
  461. package/dist/prompt/types.d.ts +218 -0
  462. package/dist/prompt/types.d.ts.map +1 -0
  463. package/dist/safety/errors.d.ts +18 -0
  464. package/dist/safety/errors.d.ts.map +1 -0
  465. package/dist/safety/handler.d.ts +16 -0
  466. package/dist/safety/handler.d.ts.map +1 -0
  467. package/dist/safety/index.d.ts +11 -133
  468. package/dist/safety/index.d.ts.map +1 -0
  469. package/dist/safety/patterns.d.ts +17 -0
  470. package/dist/safety/patterns.d.ts.map +1 -0
  471. package/dist/safety/policy.d.ts +31 -0
  472. package/dist/safety/policy.d.ts.map +1 -0
  473. package/dist/safety/presets.d.ts +43 -0
  474. package/dist/safety/presets.d.ts.map +1 -0
  475. package/dist/safety/risk.d.ts +14 -0
  476. package/dist/safety/risk.d.ts.map +1 -0
  477. package/dist/safety/types.d.ts +165 -0
  478. package/dist/safety/types.d.ts.map +1 -0
  479. package/dist/sandbox/index.d.ts +2 -81
  480. package/dist/sandbox/index.d.ts.map +1 -0
  481. package/dist/sandbox/types.d.ts +79 -0
  482. package/dist/sandbox/types.d.ts.map +1 -0
  483. package/dist/skill/discovery/constants.d.ts +6 -0
  484. package/dist/skill/discovery/constants.d.ts.map +1 -0
  485. package/dist/skill/discovery/dedupe.d.ts +3 -0
  486. package/dist/skill/discovery/dedupe.d.ts.map +1 -0
  487. package/dist/skill/discovery/discover.d.ts +3 -0
  488. package/dist/skill/discovery/discover.d.ts.map +1 -0
  489. package/dist/skill/discovery/fs.d.ts +4 -0
  490. package/dist/skill/discovery/fs.d.ts.map +1 -0
  491. package/dist/skill/discovery/index.d.ts +6 -0
  492. package/dist/skill/discovery/index.d.ts.map +1 -0
  493. package/dist/skill/discovery/scan.d.ts +3 -0
  494. package/dist/skill/discovery/scan.d.ts.map +1 -0
  495. package/dist/skill/discovery/types.d.ts +15 -0
  496. package/dist/skill/discovery/types.d.ts.map +1 -0
  497. package/dist/skill/index.d.ts +67 -89
  498. package/dist/skill/index.d.ts.map +1 -0
  499. package/dist/skill/index.js +2 -2
  500. package/dist/skill/loader/constants.d.ts +5 -0
  501. package/dist/skill/loader/constants.d.ts.map +1 -0
  502. package/dist/skill/loader/frontmatter.d.ts +5 -0
  503. package/dist/skill/loader/frontmatter.d.ts.map +1 -0
  504. package/dist/skill/loader/index.d.ts +8 -0
  505. package/dist/skill/loader/index.d.ts.map +1 -0
  506. package/dist/skill/loader/metadata.d.ts +3 -0
  507. package/dist/skill/loader/metadata.d.ts.map +1 -0
  508. package/dist/skill/loader/resources.d.ts +5 -0
  509. package/dist/skill/loader/resources.d.ts.map +1 -0
  510. package/dist/skill/registry.d.ts +177 -0
  511. package/dist/skill/registry.d.ts.map +1 -0
  512. package/dist/skill/tools.d.ts +77 -0
  513. package/dist/skill/tools.d.ts.map +1 -0
  514. package/dist/skill/types.d.ts +291 -0
  515. package/dist/skill/types.d.ts.map +1 -0
  516. package/dist/storage/file/helpers.d.ts +16 -0
  517. package/dist/storage/file/helpers.d.ts.map +1 -0
  518. package/dist/storage/file/index.d.ts +6 -0
  519. package/dist/storage/file/index.d.ts.map +1 -0
  520. package/dist/storage/file/storage.d.ts +29 -0
  521. package/dist/storage/file/storage.d.ts.map +1 -0
  522. package/dist/storage/file/types.d.ts +6 -0
  523. package/dist/storage/file/types.d.ts.map +1 -0
  524. package/dist/storage/index.d.ts +11 -188
  525. package/dist/storage/index.d.ts.map +1 -0
  526. package/dist/storage/index.js +2 -1
  527. package/dist/storage/lock.d.ts +18 -0
  528. package/dist/storage/lock.d.ts.map +1 -0
  529. package/dist/storage/manager/default.d.ts +11 -0
  530. package/dist/storage/manager/default.d.ts.map +1 -0
  531. package/dist/storage/manager/index.d.ts +12 -0
  532. package/dist/storage/manager/index.d.ts.map +1 -0
  533. package/dist/storage/manager/session-manager.d.ts +57 -0
  534. package/dist/storage/manager/session-manager.d.ts.map +1 -0
  535. package/dist/storage/manager/types.d.ts +42 -0
  536. package/dist/storage/manager/types.d.ts.map +1 -0
  537. package/dist/storage/memory.d.ts +22 -0
  538. package/dist/storage/memory.d.ts.map +1 -0
  539. package/dist/storage/paths.d.ts +37 -0
  540. package/dist/storage/paths.d.ts.map +1 -0
  541. package/dist/storage/types.d.ts +205 -0
  542. package/dist/storage/types.d.ts.map +1 -0
  543. package/dist/storage/utils.d.ts +77 -0
  544. package/dist/storage/utils.d.ts.map +1 -0
  545. package/dist/subagents/index.d.ts +8 -179
  546. package/dist/subagents/index.d.ts.map +1 -0
  547. package/dist/subagents/index.js +5 -4
  548. package/dist/subagents/installation.d.ts +23 -0
  549. package/dist/subagents/installation.d.ts.map +1 -0
  550. package/dist/subagents/results.d.ts +15 -0
  551. package/dist/subagents/results.d.ts.map +1 -0
  552. package/dist/subagents/roles/discovery.d.ts +38 -0
  553. package/dist/subagents/roles/discovery.d.ts.map +1 -0
  554. package/dist/subagents/roles/index.d.ts +5 -0
  555. package/dist/subagents/roles/index.d.ts.map +1 -0
  556. package/dist/subagents/roles/markdown-profile.d.ts +61 -0
  557. package/dist/subagents/roles/markdown-profile.d.ts.map +1 -0
  558. package/dist/subagents/tool-factories.d.ts +11 -0
  559. package/dist/subagents/tool-factories.d.ts.map +1 -0
  560. package/dist/subagents/tools.d.ts +13 -0
  561. package/dist/subagents/tools.d.ts.map +1 -0
  562. package/dist/subagents/types.d.ts +21 -0
  563. package/dist/subagents/types.d.ts.map +1 -0
  564. package/dist/team/coordinator/coordinator.d.ts +342 -0
  565. package/dist/team/coordinator/coordinator.d.ts.map +1 -0
  566. package/dist/team/coordinator/inbox.d.ts +99 -0
  567. package/dist/team/coordinator/inbox.d.ts.map +1 -0
  568. package/dist/team/coordinator/index.d.ts +19 -0
  569. package/dist/team/coordinator/index.d.ts.map +1 -0
  570. package/dist/team/coordinator/planning.d.ts +33 -0
  571. package/dist/team/coordinator/planning.d.ts.map +1 -0
  572. package/dist/team/coordinator/policy.d.ts +31 -0
  573. package/dist/team/coordinator/policy.d.ts.map +1 -0
  574. package/dist/team/coordinator/round-engine.d.ts +25 -0
  575. package/dist/team/coordinator/round-engine.d.ts.map +1 -0
  576. package/dist/team/coordinator/synthesis.d.ts +20 -0
  577. package/dist/team/coordinator/synthesis.d.ts.map +1 -0
  578. package/dist/team/coordinator/turn.d.ts +107 -0
  579. package/dist/team/coordinator/turn.d.ts.map +1 -0
  580. package/dist/team/coordinator/types.d.ts +344 -0
  581. package/dist/team/coordinator/types.d.ts.map +1 -0
  582. package/dist/team/events.d.ts +148 -0
  583. package/dist/team/events.d.ts.map +1 -0
  584. package/dist/team/execution.d.ts +51 -0
  585. package/dist/team/execution.d.ts.map +1 -0
  586. package/dist/team/index.d.ts +23 -545
  587. package/dist/team/index.d.ts.map +1 -0
  588. package/dist/team/index.js +2 -2
  589. package/dist/team/mailbox.d.ts +91 -0
  590. package/dist/team/mailbox.d.ts.map +1 -0
  591. package/dist/team/notifications.d.ts +23 -0
  592. package/dist/team/notifications.d.ts.map +1 -0
  593. package/dist/team/permissions.d.ts +88 -0
  594. package/dist/team/permissions.d.ts.map +1 -0
  595. package/dist/team/shutdown.d.ts +38 -0
  596. package/dist/team/shutdown.d.ts.map +1 -0
  597. package/dist/team/task-board.d.ts +161 -0
  598. package/dist/team/task-board.d.ts.map +1 -0
  599. package/dist/team/types.d.ts +233 -0
  600. package/dist/team/types.d.ts.map +1 -0
  601. package/dist/team/work-loop.d.ts +30 -0
  602. package/dist/team/work-loop.d.ts.map +1 -0
  603. package/dist/tool/executor.d.ts +59 -0
  604. package/dist/tool/executor.d.ts.map +1 -0
  605. package/dist/tool/host/index.d.ts +7 -38
  606. package/dist/tool/host/index.d.ts.map +1 -0
  607. package/dist/tool/host/local.d.ts +15 -0
  608. package/dist/tool/host/local.d.ts.map +1 -0
  609. package/dist/tool/host/registry.d.ts +17 -0
  610. package/dist/tool/host/registry.d.ts.map +1 -0
  611. package/dist/{types-C_LCeYNg.d.ts → tool/host/types.d.ts} +6 -7
  612. package/dist/tool/host/types.d.ts.map +1 -0
  613. package/dist/tool/index.d.ts +21 -285
  614. package/dist/tool/index.d.ts.map +1 -0
  615. package/dist/tool/index.js +4 -3
  616. package/dist/tool/registry.d.ts +130 -0
  617. package/dist/tool/registry.d.ts.map +1 -0
  618. package/dist/tool/replay.d.ts +11 -0
  619. package/dist/tool/replay.d.ts.map +1 -0
  620. package/dist/tool/tool-search.d.ts +50 -0
  621. package/dist/tool/tool-search.d.ts.map +1 -0
  622. package/dist/tool/tool.d.ts +308 -0
  623. package/dist/tool/tool.d.ts.map +1 -0
  624. package/dist/tool/truncation.d.ts +34 -0
  625. package/dist/tool/truncation.d.ts.map +1 -0
  626. package/dist/tool/turn-tools.d.ts +71 -0
  627. package/dist/tool/turn-tools.d.ts.map +1 -0
  628. package/dist/tracking/file-tracking.d.ts +25 -0
  629. package/dist/tracking/file-tracking.d.ts.map +1 -0
  630. package/dist/tracking/index.d.ts +9 -0
  631. package/dist/tracking/index.d.ts.map +1 -0
  632. package/dist/tracking/turn-tracker/diff.d.ts +11 -0
  633. package/dist/tracking/turn-tracker/diff.d.ts.map +1 -0
  634. package/dist/tracking/turn-tracker/index.d.ts +11 -0
  635. package/dist/tracking/turn-tracker/index.d.ts.map +1 -0
  636. package/dist/tracking/turn-tracker/tracker.d.ts +31 -0
  637. package/dist/tracking/turn-tracker/tracker.d.ts.map +1 -0
  638. package/dist/tracking/turn-tracker/types.d.ts +66 -0
  639. package/dist/tracking/turn-tracker/types.d.ts.map +1 -0
  640. package/dist/types/compaction.d.ts +142 -0
  641. package/dist/types/compaction.d.ts.map +1 -0
  642. package/dist/types/doom-loop.d.ts +25 -0
  643. package/dist/types/doom-loop.d.ts.map +1 -0
  644. package/dist/types/events.d.ts +194 -0
  645. package/dist/types/events.d.ts.map +1 -0
  646. package/dist/types/index.d.ts +17 -0
  647. package/dist/types/index.d.ts.map +1 -0
  648. package/dist/types/messages.d.ts +119 -0
  649. package/dist/types/messages.d.ts.map +1 -0
  650. package/dist/types/stream.d.ts +172 -0
  651. package/dist/types/stream.d.ts.map +1 -0
  652. package/dist/types/tool.d.ts +309 -0
  653. package/dist/types/tool.d.ts.map +1 -0
  654. package/dist/types/turn-source.d.ts +36 -0
  655. package/dist/types/turn-source.d.ts.map +1 -0
  656. package/dist/utils/sleep.d.ts +7 -0
  657. package/dist/utils/sleep.d.ts.map +1 -0
  658. package/package.json +45 -8
  659. package/dist/chunk-CJI7PVS2.js +0 -58
  660. package/dist/chunk-V6ETEYST.js +0 -2091
  661. package/dist/index-BCqEGzBj.d.ts +0 -251
  662. package/dist/instance-Bg61WSyz.d.ts +0 -6004
  663. package/dist/llm-error-D93FNNLY.d.ts +0 -32
  664. package/dist/turn-tools/index.d.ts +0 -12
  665. package/dist/turn-tools/index.js +0 -1
  666. package/dist/{chunk-O2WCYSXQ.js → chunk-3NBTQHVV.js} +0 -0
  667. package/dist/{chunk-Q742PSH3.js → chunk-MJML3A2F.js} +36 -36
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Tool registry for @cuylabs/agent-core
3
+ *
4
+ * Manages available tools, named groups, and resolution from specs.
5
+ */
6
+ import type { Tool } from "./tool.js";
7
+ /**
8
+ * A tool spec that can be resolved to an array of tools.
9
+ *
10
+ * - `string` — group name (`"read-only"`), single tool ID (`"bash"`),
11
+ * or comma-separated list (`"read,grep,glob"`).
12
+ * Prefix with `-` to exclude: `"all,-bash"`.
13
+ * - `string[]` — array of tool IDs and/or group names.
14
+ * - `Tool.AnyInfo[]` — pass-through (already resolved).
15
+ * - `true` — all registered tools.
16
+ * - `false` — no tools.
17
+ */
18
+ export type ToolSpec = string | string[] | Tool.AnyInfo[] | boolean;
19
+ /**
20
+ * Tool registry — manages available tools and named groups.
21
+ *
22
+ * Tools are registered individually. Groups are named collections of tool IDs
23
+ * that resolve against the registry at lookup time.
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * const reg = new ToolRegistry();
28
+ * reg.registerAll([readTool, grepTool, bashTool]);
29
+ * reg.registerGroup("read-only", ["read", "grep", "glob"]);
30
+ *
31
+ * // Resolve a spec to a tool array
32
+ * reg.resolve("read-only"); // → [readTool, grepTool]
33
+ * reg.resolve("all,-bash"); // → [readTool, grepTool]
34
+ * reg.resolve(["read", "grep"]); // → [readTool, grepTool]
35
+ * reg.resolve(true); // → all tools
36
+ * ```
37
+ */
38
+ export declare class ToolRegistry {
39
+ private tools;
40
+ private groups;
41
+ /**
42
+ * Register a tool. Throws if a tool with the same ID is already registered.
43
+ * Use `set()` for upsert semantics.
44
+ */
45
+ register(tool: Tool.AnyInfo): void;
46
+ /** Register multiple tools (throws on duplicates). */
47
+ registerAll(tools: Tool.AnyInfo[]): void;
48
+ /** Register or replace a tool (upsert). */
49
+ set(tool: Tool.AnyInfo): void;
50
+ /** Unregister a tool by ID. Returns `true` if it existed. */
51
+ unregister(id: string): boolean;
52
+ /** Get a tool by ID. */
53
+ get(id: string): Tool.AnyInfo | undefined;
54
+ /** Check if a tool is registered. */
55
+ has(id: string): boolean;
56
+ /** Get all tool IDs. */
57
+ ids(): string[];
58
+ /** Get all tools. */
59
+ all(): Tool.AnyInfo[];
60
+ /** Clear all tools and groups. */
61
+ clear(): void;
62
+ /** Number of registered tools. */
63
+ get size(): number;
64
+ /**
65
+ * Register a named group of tool IDs.
66
+ * The group name can be used in `resolve()` specs.
67
+ * Tool IDs don't need to be registered yet — resolution is lazy.
68
+ */
69
+ registerGroup(name: string, toolIds: string[]): void;
70
+ /** Get tools in a group (only returns registered tools). */
71
+ getGroup(name: string): Tool.AnyInfo[] | undefined;
72
+ /** Check if a group is registered. */
73
+ hasGroup(name: string): boolean;
74
+ /** List all group names. */
75
+ listGroups(): string[];
76
+ /**
77
+ * Partition registered tools into eager and deferred sets.
78
+ *
79
+ * Eager tools have their full schemas sent to the LLM on turn 1.
80
+ * Deferred tools are held back — the model discovers them via a
81
+ * search mechanism when needed, saving context window space.
82
+ *
83
+ * @returns `{ eager, deferred }` arrays of tool infos.
84
+ */
85
+ partition(): {
86
+ eager: Tool.AnyInfo[];
87
+ deferred: Tool.AnyInfo[];
88
+ };
89
+ /**
90
+ * Search deferred tools by keyword with multi-signal weighted scoring.
91
+ *
92
+ * Scoring per term:
93
+ * - Exact tool ID match: +10
94
+ * - Partial tool ID match (substring): +5
95
+ * - Keyword word-boundary match: +4
96
+ * - Keyword substring match: +2
97
+ *
98
+ * @param query - Space-separated search terms
99
+ * @param maxResults - Maximum results to return (default: 5)
100
+ * @returns Matching deferred tools sorted by relevance (highest score first)
101
+ */
102
+ searchDeferred(query: string, maxResults?: number): Tool.AnyInfo[];
103
+ /**
104
+ * Resolve a `ToolSpec` to an array of tools.
105
+ *
106
+ * Supports group names, individual tool IDs, comma-separated strings,
107
+ * exclusions with `-` prefix, booleans, and pass-through arrays.
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * registry.resolve("read-only"); // group name
112
+ * registry.resolve("read,grep,glob"); // comma-separated IDs
113
+ * registry.resolve("all,-bash"); // all except bash
114
+ * registry.resolve(["read", "grep"]); // array of IDs
115
+ * registry.resolve(true); // all registered tools
116
+ * registry.resolve(false); // empty array
117
+ * ```
118
+ */
119
+ resolve(spec: ToolSpec): Tool.AnyInfo[];
120
+ }
121
+ /**
122
+ * Default tool registry instance.
123
+ * Shared across the application — register tools here for global access.
124
+ *
125
+ * **Single-process only.** In multi-agent or multi-tenant setups where
126
+ * agents share a process, create a dedicated `new ToolRegistry()` per
127
+ * agent to avoid cross-contamination of tool registrations.
128
+ */
129
+ export declare const defaultRegistry: ToolRegistry;
130
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tool/registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAWtC;;;;;;;;;;GAUG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC;AAMpE;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,MAAM,CAA+B;IAM7C;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI;IAOlC,sDAAsD;IACtD,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI;IAMxC,2CAA2C;IAC3C,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI;IAI7B,6DAA6D;IAC7D,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI/B,wBAAwB;IACxB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,SAAS;IAIzC,qCAAqC;IACrC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIxB,wBAAwB;IACxB,GAAG,IAAI,MAAM,EAAE;IAIf,qBAAqB;IACrB,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;IAIrB,kCAAkC;IAClC,KAAK,IAAI,IAAI;IAKb,kCAAkC;IAClC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAMD;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAIpD,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,SAAS;IAQlD,sCAAsC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B,4BAA4B;IAC5B,UAAU,IAAI,MAAM,EAAE;IAQtB;;;;;;;;OAQG;IACH,SAAS,IAAI;QAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAA;KAAE;IAahE;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,IAAI,CAAC,OAAO,EAAE;IAkD7D;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE;CA0ExC;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,cAAqB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { FileOperationMeta, NormalizedToolReplayPolicy, ToolReplayPolicy } from "../types/tool.js";
2
+ /**
3
+ * Normalize a tool replay policy into explicit, infrastructure-agnostic
4
+ * recovery semantics.
5
+ *
6
+ * The defaults are intentionally conservative:
7
+ * - read-only tools default to `replay`
8
+ * - mutating or unknown tools default to `manual`
9
+ */
10
+ export declare function normalizeToolReplayPolicy(policy?: ToolReplayPolicy, fileOps?: FileOperationMeta): NormalizedToolReplayPolicy;
11
+ //# sourceMappingURL=replay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../src/tool/replay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,0BAA0B,EAC1B,gBAAgB,EAGjB,MAAM,kBAAkB,CAAC;AAiC1B;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,CAAC,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,0BAA0B,CAY5B"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Tool Search — lets the model discover deferred tools at runtime.
3
+ *
4
+ * When an agent has many tools, sending all schemas on turn 1 wastes
5
+ * context window. Tools marked `deferred: true` are held back. The
6
+ * model calls `tool_search` to find them by keyword, and the matching
7
+ * schemas are added to subsequent turns.
8
+ *
9
+ * The search tool itself is always eager (never deferred).
10
+ */
11
+ import { Tool } from "./tool.js";
12
+ import type { ToolRegistry } from "./registry.js";
13
+ /**
14
+ * Options for creating a tool_search tool.
15
+ */
16
+ export interface ToolSearchOptions {
17
+ /** Registry to search. Falls back to the default registry if not provided. */
18
+ registry: ToolRegistry;
19
+ /** Maximum results per search (default: 5). */
20
+ maxResults?: number;
21
+ /**
22
+ * Callback invoked with the matched tools after each search.
23
+ *
24
+ * The agent setup should use this to add the discovered tools
25
+ * to the active tool set for subsequent model calls.
26
+ */
27
+ onMatch: (tools: Tool.AnyInfo[]) => void;
28
+ }
29
+ /**
30
+ * Create a `tool_search` tool that the model can call to discover
31
+ * deferred tools by keyword.
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * import { createToolSearchTool, ToolRegistry } from "@cuylabs/agent-core";
36
+ *
37
+ * const registry = new ToolRegistry();
38
+ * // ... register tools including deferred ones ...
39
+ *
40
+ * const activeTools = new Map<string, Tool.AnyInfo>();
41
+ * const search = createToolSearchTool({
42
+ * registry,
43
+ * onMatch: (tools) => {
44
+ * for (const t of tools) activeTools.set(t.id, t);
45
+ * },
46
+ * });
47
+ * ```
48
+ */
49
+ export declare function createToolSearchTool(options: ToolSearchOptions): Tool.Info;
50
+ //# sourceMappingURL=tool-search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-search.d.ts","sourceRoot":"","sources":["../../src/tool/tool-search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,8EAA8E;IAC9E,QAAQ,EAAE,YAAY,CAAC;IACvB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC;CAC1C;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC,IAAI,CA6G1E"}
@@ -0,0 +1,308 @@
1
+ /**
2
+ * Tool definition namespace for @cuylabs/agent-core
3
+ *
4
+ * Provides consistent tool creation via Tool.define.
5
+ */
6
+ import { z } from "zod";
7
+ import type { ToolContext, ToolMetadata, FileOperationMeta, ToolCapabilities, ToolHostRequirements, InputCheckResult } from "../types/index.js";
8
+ import type { ToolReplayPolicy } from "../types/index.js";
9
+ /**
10
+ * A schema type compatible with both Zod 3 and Zod 4.
11
+ *
12
+ * Uses structural typing so that schemas from either Zod version satisfy
13
+ * the constraint. This avoids the problem where Zod 3's `ZodType` class
14
+ * and Zod 4's `ZodType` class have incompatible internal shapes, causing
15
+ * type errors when a library compiled against one version is consumed with
16
+ * the other.
17
+ *
18
+ * Both Zod 3 and Zod 4 (classic API) schemas have `parse()` and `_output`.
19
+ */
20
+ export interface CompatibleSchema<T = any> {
21
+ /** Parse and validate input data. Present in both Zod 3 and Zod 4. */
22
+ parse(data: unknown): T;
23
+ /**
24
+ * Type-level output marker used by both Zod versions:
25
+ * - Zod 3: `readonly _output!: T` (definite assignment assertion)
26
+ * - Zod 4 classic: `get _output(): T` (getter)
27
+ */
28
+ readonly _output: T;
29
+ }
30
+ /**
31
+ * Infer the output type from a compatible schema.
32
+ * Equivalent to `z.infer<T>` but works with both Zod 3 and Zod 4 schemas.
33
+ */
34
+ export type InferSchemaOutput<T extends CompatibleSchema> = T["_output"];
35
+ /**
36
+ * Tool namespace - tool definition utilities
37
+ */
38
+ export declare namespace Tool {
39
+ type ProviderOptionValue = null | string | number | boolean | ProviderOptionValue[] | {
40
+ [key: string]: ProviderOptionValue;
41
+ };
42
+ type ProviderOptions = Record<string, {
43
+ [key: string]: ProviderOptionValue;
44
+ }>;
45
+ /**
46
+ * Tool info interface - the shape of a defined tool
47
+ */
48
+ interface Info<TParams extends CompatibleSchema = any, TMeta extends ToolMetadata = ToolMetadata> {
49
+ /** Unique tool identifier */
50
+ id: string;
51
+ /** Static capability hints for inventory and runtime routing. */
52
+ capabilitiesHint?: ToolCapabilities;
53
+ /** Recovery semantics for resume-capable runtimes. */
54
+ replayPolicy?: ToolReplayPolicy;
55
+ /**
56
+ * When `true`, this tool's full schema is NOT sent to the LLM on the
57
+ * first turn. The model must discover it via a tool-search mechanism.
58
+ * Use for rarely-needed tools to save context window space.
59
+ */
60
+ deferred?: boolean;
61
+ /**
62
+ * Short keyword phrases (3-10 words) that help a tool-search mechanism
63
+ * find this tool when it is deferred. Include terms NOT already in the
64
+ * tool id (e.g. `["jupyter", "notebook cells"]` for a notebook editor).
65
+ */
66
+ searchKeywords?: string[];
67
+ /** Initialize the tool (can be async for dynamic descriptions) */
68
+ init: (ctx?: InitContext) => Promise<InitResult<TParams, TMeta>> | InitResult<TParams, TMeta>;
69
+ }
70
+ /**
71
+ * Any tool info - for use in arrays and collections where generic types vary
72
+ */
73
+ type AnyInfo = Info<any, any>;
74
+ /**
75
+ * Context passed during tool initialization
76
+ */
77
+ interface InitContext {
78
+ /** Working directory */
79
+ cwd?: string;
80
+ /** Agent name (if known) */
81
+ agent?: string;
82
+ }
83
+ /**
84
+ * Result of tool initialization
85
+ */
86
+ interface InitResult<TParams extends CompatibleSchema = any, TMeta extends ToolMetadata = ToolMetadata> {
87
+ /** Tool description for the LLM */
88
+ description: string;
89
+ /** Zod schema for parameters */
90
+ parameters: TParams;
91
+ /** Execute the tool */
92
+ execute: (params: InferSchemaOutput<TParams>, ctx: ToolContext) => Promise<ExecuteResult<TMeta>>;
93
+ /** Optional custom validation error formatter */
94
+ formatValidationError?: (error: z.ZodError) => string;
95
+ /**
96
+ * File operation metadata for automatic turn tracking.
97
+ * When set, the agent will automatically capture file baselines
98
+ * before tool execution for undo/diff capabilities.
99
+ *
100
+ * @example
101
+ * ```typescript
102
+ * // For a write tool
103
+ * fileOps: {
104
+ * pathArgs: ['path'],
105
+ * operationType: 'write'
106
+ * }
107
+ * ```
108
+ */
109
+ fileOps?: FileOperationMeta;
110
+ /** Optional replay metadata for resume-capable runtimes. */
111
+ replayPolicy?: ToolReplayPolicy;
112
+ /**
113
+ * Runtime capability declarations.
114
+ *
115
+ * Tells the framework how this tool behaves so it can make informed
116
+ * decisions about parallelism, approval, truncation, and interruption.
117
+ *
118
+ * @example
119
+ * ```typescript
120
+ * capabilities: {
121
+ * parallelSafe: true,
122
+ * readOnly: true,
123
+ * riskLevel: "safe",
124
+ * }
125
+ * ```
126
+ */
127
+ capabilities?: ToolCapabilities;
128
+ /**
129
+ * Describe whether the tool depends on the configured execution host.
130
+ *
131
+ * Use this for tools that call `ctx.host.*` so inventories and runtimes
132
+ * can distinguish host-backed tools from pure in-process tools.
133
+ */
134
+ hostRequirements?: ToolHostRequirements;
135
+ /**
136
+ * Validate tool input before any middleware hooks or approval checks run.
137
+ *
138
+ * Use this for structural/semantic checks that should fail fast
139
+ * (file exists, argument constraints, size limits). The executor
140
+ * calls this before `beforeToolCall` middleware so a bad input
141
+ * never triggers side effects or user prompts.
142
+ *
143
+ * @example
144
+ * ```typescript
145
+ * validate: async (params) => {
146
+ * if (params.old_string === params.new_string) {
147
+ * return { ok: false, reason: "No changes to apply" };
148
+ * }
149
+ * return { ok: true };
150
+ * }
151
+ * ```
152
+ */
153
+ validate?: (params: InferSchemaOutput<TParams>, ctx: ToolContext) => Promise<InputCheckResult> | InputCheckResult;
154
+ /**
155
+ * Extract permission patterns from tool input for the approval system.
156
+ *
157
+ * When set, the approval handler uses these patterns instead of the
158
+ * generic heuristic in `extractApprovalPatterns`. This lets each tool
159
+ * control how its inputs map to glob-matchable strings.
160
+ *
161
+ * @example
162
+ * ```typescript
163
+ * // bash: match the first word of the command
164
+ * permissionPatterns: (input) => {
165
+ * const cmd = input.command.split(/\s+/)[0];
166
+ * return [cmd];
167
+ * },
168
+ *
169
+ * // edit: match the file path
170
+ * permissionPatterns: (input) => [input.path],
171
+ * ```
172
+ */
173
+ permissionPatterns?: (params: InferSchemaOutput<TParams>) => string[];
174
+ /**
175
+ * Enable strict tool calling when supported by the provider.
176
+ *
177
+ * When `true`, providers like OpenAI enforce JSON schema conformance
178
+ * on the generated tool call arguments — the model is guaranteed to
179
+ * produce valid inputs. Not all schemas are supported in strict mode;
180
+ * unsupported schemas are silently downgraded by the provider.
181
+ *
182
+ * @default false
183
+ */
184
+ strict?: boolean;
185
+ /**
186
+ * Example inputs that help guide the model on how to call this tool.
187
+ *
188
+ * Passed directly to the AI SDK's `tool({ inputExamples })`.
189
+ * Currently only Anthropic uses these natively; other providers
190
+ * ignore the setting.
191
+ *
192
+ * @example
193
+ * ```typescript
194
+ * inputExamples: [
195
+ * { input: { location: "San Francisco" } },
196
+ * { input: { location: "London" } },
197
+ * ]
198
+ * ```
199
+ */
200
+ inputExamples?: Array<{
201
+ input: InferSchemaOutput<TParams>;
202
+ }>;
203
+ /**
204
+ * Human-readable title for the tool, surfaced in AI SDK metadata and UIs.
205
+ *
206
+ * Forwarded to the AI SDK's `tool({ title })`. This is runtime/UI
207
+ * metadata; provider tool-definition payloads still use the tool id
208
+ * plus description/schema for model-facing selection.
209
+ */
210
+ title?: string;
211
+ /**
212
+ * Provider-specific tool metadata forwarded to the AI SDK.
213
+ *
214
+ * Use this for provider features that attach to one tool definition
215
+ * rather than to the whole model call.
216
+ */
217
+ providerOptions?: ProviderOptions;
218
+ /**
219
+ * Custom function that controls how this tool's output is presented
220
+ * to the model. Use this to wrap or annotate the tool result that
221
+ * flows through the AI SDK with structured multi-part content.
222
+ *
223
+ * Forwarded to the AI SDK's `tool({ toModelOutput })`.
224
+ *
225
+ * Note: framework tools still return `ExecuteResult.output` as text at
226
+ * the execution boundary. This hook customizes the AI SDK-facing
227
+ * representation of that result; it does not currently widen the
228
+ * framework's own stored tool-result contract.
229
+ *
230
+ * The return value must conform to the AI SDK's `ToolResultOutput`
231
+ * type. Import it from `"ai"` for full type safety, or use the
232
+ * simplified union below.
233
+ *
234
+ * @example
235
+ * ```typescript
236
+ * toModelOutput: ({ output }) => ({
237
+ * type: "json" as const,
238
+ * value: output,
239
+ * })
240
+ * ```
241
+ */
242
+ toModelOutput?: (options: {
243
+ toolCallId: string;
244
+ input: InferSchemaOutput<TParams>;
245
+ output: unknown;
246
+ }) => unknown | Promise<unknown>;
247
+ }
248
+ /**
249
+ * Result of tool execution.
250
+ *
251
+ * `metadata` is optional — omit it when the tool has nothing extra to
252
+ * report. The framework defaults it to `{}` at the execution boundary
253
+ * so downstream middleware and consumers always see a defined object.
254
+ */
255
+ interface ExecuteResult<TMeta extends ToolMetadata = ToolMetadata> {
256
+ /** Short title for display */
257
+ title: string;
258
+ /** Main output text */
259
+ output: string;
260
+ /**
261
+ * Arbitrary key/value bag surfaced in events and middleware.
262
+ * Defaults to `{}` when omitted.
263
+ */
264
+ metadata?: TMeta;
265
+ }
266
+ interface DefineOptions {
267
+ /** Static replay metadata exposed to higher-level runtimes. */
268
+ replayPolicy?: ToolReplayPolicy;
269
+ /**
270
+ * When `true`, this tool's schema is not sent to the LLM initially.
271
+ * The model must discover it via tool-search. Saves context window
272
+ * space when you have many tools but only a few are used per turn.
273
+ */
274
+ deferred?: boolean;
275
+ /**
276
+ * Keywords that help the tool-search mechanism find this tool.
277
+ * Only meaningful when `deferred` is `true`.
278
+ */
279
+ searchKeywords?: string[];
280
+ /**
281
+ * Static capability hints exposed without calling `init()`.
282
+ *
283
+ * Use this when a runtime needs to route tools by capability before
284
+ * running initialization, for example durable human-input detection.
285
+ */
286
+ capabilitiesHint?: ToolCapabilities;
287
+ }
288
+ /**
289
+ * Define a tool with standard patterns
290
+ *
291
+ * @example
292
+ * ```typescript
293
+ * const myTool = Tool.define("my_tool", {
294
+ * description: "Does something useful",
295
+ * parameters: z.object({
296
+ * input: z.string().describe("The input to process"),
297
+ * }),
298
+ * execute: async (params, ctx) => ({
299
+ * title: "Processed",
300
+ * output: `Result: ${params.input}`,
301
+ * metadata: {},
302
+ * }),
303
+ * });
304
+ * ```
305
+ */
306
+ function define<TParams extends CompatibleSchema, TMeta extends ToolMetadata = ToolMetadata>(id: string, init: Info<TParams, TMeta>["init"] | Awaited<ReturnType<Info<TParams, TMeta>["init"]>>, options?: DefineOptions): Info<TParams, TMeta>;
307
+ }
308
+ //# sourceMappingURL=tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/tool/tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Output truncation utilities for @cuylabs/agent-core
3
+ */
4
+ /** Maximum lines before truncation */
5
+ export declare const MAX_LINES = 2000;
6
+ /** Maximum bytes before truncation */
7
+ export declare const MAX_BYTES = 100000;
8
+ /** Directory for storing truncated outputs */
9
+ export declare const TRUNCATE_DIR: string;
10
+ /** Glob pattern for truncation directory */
11
+ export declare const TRUNCATE_GLOB: string;
12
+ export interface TruncateResult {
13
+ /** The (possibly truncated) content */
14
+ content: string;
15
+ /** Whether the content was truncated */
16
+ truncated: boolean;
17
+ /** Path to full output if truncated */
18
+ outputPath?: string;
19
+ }
20
+ /**
21
+ * Truncate output if it exceeds limits.
22
+ *
23
+ * When truncation occurs the full output is written to a temp file
24
+ * **synchronously** so the path is valid immediately.
25
+ */
26
+ export declare function truncateOutput(output: string, options?: {
27
+ maxLines?: number;
28
+ maxBytes?: number;
29
+ }): TruncateResult;
30
+ /**
31
+ * Format file size for display
32
+ */
33
+ export declare function formatSize(bytes: number): string;
34
+ //# sourceMappingURL=truncation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truncation.d.ts","sourceRoot":"","sources":["../../src/tool/truncation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,sCAAsC;AACtC,eAAO,MAAM,SAAS,OAAO,CAAC;AAE9B,sCAAsC;AACtC,eAAO,MAAM,SAAS,SAAU,CAAC;AAEjC,8CAA8C;AAC9C,eAAO,MAAM,YAAY,QAAkD,CAAC;AAE5E,4CAA4C;AAC5C,eAAO,MAAM,aAAa,QAA+B,CAAC;AAE1D,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACd,GACL,cAAc,CA2DhB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIhD"}
@@ -0,0 +1,71 @@
1
+ import type { ToolSet } from "ai";
2
+ import type { Tool } from "./tool.js";
3
+ /**
4
+ * Context provided to turn-scoped tool providers.
5
+ *
6
+ * This is intentionally platform-neutral. Channel packages can expose richer
7
+ * ambient context through their own AsyncLocalStorage helpers while the core
8
+ * package stays independent of Teams, Slack, M365, or Agent365 SDK types.
9
+ *
10
+ * Providers that need platform state such as a Microsoft `TurnContext`,
11
+ * authorization object, Slack client, tenant metadata, or request-scoped
12
+ * tokens should read that state from their channel package's ambient context at
13
+ * `resolveTools()` time. Do not close over per-request platform objects when
14
+ * constructing a provider, because providers may be inherited by forked agents.
15
+ */
16
+ export interface AgentTurnToolContext {
17
+ sessionId: string;
18
+ turnId: string;
19
+ /**
20
+ * Current user message. Use this only for local tool selection/gating. Avoid
21
+ * forwarding it to external services unless the provider explicitly owns that
22
+ * data flow.
23
+ */
24
+ message: string;
25
+ cwd: string;
26
+ /**
27
+ * Providers should observe this signal when doing network or token-exchange
28
+ * work. Agent-core passes the signal through but does not forcibly cancel
29
+ * provider code.
30
+ */
31
+ abort: AbortSignal;
32
+ }
33
+ export interface AgentTurnToolProviderResult {
34
+ /**
35
+ * Framework tools available only for the active turn.
36
+ */
37
+ tools?: Tool.AnyInfo[];
38
+ /**
39
+ * AI SDK-compatible MCP tools available only for the active turn.
40
+ */
41
+ mcpTools?: ToolSet;
42
+ /**
43
+ * Called after the turn completes or errors.
44
+ *
45
+ * Use this to close per-turn MCP clients, revoke short-lived resources, or
46
+ * clean up temporary transport state. Cleanup callbacks run in reverse
47
+ * provider resolution order, matching stack semantics. If provider B depends
48
+ * on resources from provider A, register B after A so B is cleaned up first.
49
+ */
50
+ cleanup?: () => void | Promise<void>;
51
+ }
52
+ export interface AgentTurnToolProvider {
53
+ name: string;
54
+ /**
55
+ * Resolve tools for the active chat turn only.
56
+ *
57
+ * Returned tools are not added to the agent's global tool registry and are
58
+ * cleaned up after the turn completes or fails.
59
+ *
60
+ * Resolution happens before chat lifecycle middleware starts. If resolution
61
+ * fails, agent-core emits structured `status: "error"` and `error` events,
62
+ * then rejects the turn; chat lifecycle middleware is not called for that
63
+ * failed resolution. Subscribe to `AgentEvent`s for full failure coverage.
64
+ *
65
+ * `resolveTools()` may be called concurrently for different sessions. Provider
66
+ * implementations must be reentrant or key mutable state by `sessionId` and
67
+ * `turnId`.
68
+ */
69
+ resolveTools(context: AgentTurnToolContext): AgentTurnToolProviderResult | Promise<AgentTurnToolProviderResult>;
70
+ }
71
+ //# sourceMappingURL=turn-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-tools.d.ts","sourceRoot":"","sources":["../../src/tool/turn-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;;;;;;;;OAcG;IACH,YAAY,CACV,OAAO,EAAE,oBAAoB,GAC5B,2BAA2B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;CACvE"}
@@ -0,0 +1,25 @@
1
+ import type { FileOperationMeta } from "../types/tool.js";
2
+ import type { TurnChangeTracker } from "./turn-tracker/index.js";
3
+ export type { FileOperationMeta };
4
+ /**
5
+ * Extended tool metadata with file operation info.
6
+ */
7
+ export interface TrackedToolMetadata {
8
+ /** File operation metadata for auto-tracking */
9
+ fileOps?: FileOperationMeta;
10
+ /** Other metadata */
11
+ [key: string]: unknown;
12
+ }
13
+ /**
14
+ * Extract file paths from tool arguments based on metadata.
15
+ */
16
+ export declare function extractFilePathsFromArgs(args: Record<string, unknown>, meta: FileOperationMeta): string[];
17
+ /**
18
+ * Check whether a tool operation should trigger baseline capture.
19
+ */
20
+ export declare function shouldCaptureBaseline(meta: FileOperationMeta): boolean;
21
+ /**
22
+ * Wrap a tool execute function with automatic file tracking.
23
+ */
24
+ export declare function withFileTracking<T extends (...args: unknown[]) => Promise<unknown>>(tracker: TurnChangeTracker, meta: FileOperationMeta, execute: T): T;
25
+ //# sourceMappingURL=file-tracking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-tracking.d.ts","sourceRoot":"","sources":["../../src/tracking/file-tracking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,gDAAgD;IAChD,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,qBAAqB;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,EAAE,iBAAiB,GACtB,MAAM,EAAE,CAoBV;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAEtE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,EAClD,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAapE"}