@cuylabs/agent-core 4.8.1 → 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,90 @@
1
+ import {
2
+ assembleModelContext
3
+ } from "../chunk-IQA64CAO.js";
4
+ import {
5
+ ContextSummaryModelRequiredError,
6
+ ContextWindowManager,
7
+ DEFAULT_COMPACTION_EFFECTIVE_MIN_SAVINGS_RATIO,
8
+ DEFAULT_CONTEXT_LIMITS,
9
+ DEFAULT_SUMMARY_MAX_INPUT_TOKENS,
10
+ DEFAULT_SUMMARY_MAX_OUTPUT_TOKENS,
11
+ canGenerateCompactionSummary,
12
+ createCompactionEffectiveness,
13
+ createCompactionSummaryContent,
14
+ decideContextCompaction,
15
+ extractCompactionSummaryText,
16
+ generateSplitTurnSummary,
17
+ generateSummary,
18
+ getUsableTokenLimit,
19
+ isContextOverflowing,
20
+ planCompactionCut,
21
+ pruneContext,
22
+ pruneToolContext,
23
+ pruneToolContextWithReport,
24
+ redactSummaryText,
25
+ resolveContextSummaryPolicy,
26
+ resolveSummaryOutputTokens,
27
+ serializeMessagesForSummary,
28
+ shouldFallbackOnSummaryFailure,
29
+ shouldPruneContext
30
+ } from "../chunk-NMJNN6LS.js";
31
+ import {
32
+ AGENT_CONTEXT_FRAGMENT_CLOSE,
33
+ AGENT_CONTEXT_FRAGMENT_OPEN,
34
+ AGENT_CONTEXT_FRAGMENT_TAG,
35
+ applyAgentContextFragments,
36
+ applyAgentContextFragmentsWithReport,
37
+ createAgentContextFragmentMessage,
38
+ estimateConversationTokens,
39
+ estimateMessageTokens,
40
+ estimateTokens,
41
+ getAgentContextFragmentMetadata,
42
+ isAgentContextFragmentMessage,
43
+ isRenderedAgentContextFragment,
44
+ normalizeAgentContextFragment,
45
+ parseRenderedAgentContextFragment,
46
+ renderAgentContextFragment
47
+ } from "../chunk-AAGKWUXR.js";
48
+ export {
49
+ AGENT_CONTEXT_FRAGMENT_CLOSE,
50
+ AGENT_CONTEXT_FRAGMENT_OPEN,
51
+ AGENT_CONTEXT_FRAGMENT_TAG,
52
+ ContextSummaryModelRequiredError,
53
+ ContextWindowManager,
54
+ DEFAULT_COMPACTION_EFFECTIVE_MIN_SAVINGS_RATIO,
55
+ DEFAULT_CONTEXT_LIMITS,
56
+ DEFAULT_SUMMARY_MAX_INPUT_TOKENS,
57
+ DEFAULT_SUMMARY_MAX_OUTPUT_TOKENS,
58
+ applyAgentContextFragments,
59
+ applyAgentContextFragmentsWithReport,
60
+ assembleModelContext,
61
+ canGenerateCompactionSummary,
62
+ createAgentContextFragmentMessage,
63
+ createCompactionEffectiveness,
64
+ createCompactionSummaryContent,
65
+ decideContextCompaction,
66
+ estimateConversationTokens,
67
+ estimateMessageTokens,
68
+ estimateTokens,
69
+ extractCompactionSummaryText,
70
+ generateSplitTurnSummary,
71
+ generateSummary,
72
+ getAgentContextFragmentMetadata,
73
+ getUsableTokenLimit,
74
+ isAgentContextFragmentMessage,
75
+ isContextOverflowing,
76
+ isRenderedAgentContextFragment,
77
+ normalizeAgentContextFragment,
78
+ parseRenderedAgentContextFragment,
79
+ planCompactionCut,
80
+ pruneContext,
81
+ pruneToolContext,
82
+ pruneToolContextWithReport,
83
+ redactSummaryText,
84
+ renderAgentContextFragment,
85
+ resolveContextSummaryPolicy,
86
+ resolveSummaryOutputTokens,
87
+ serializeMessagesForSummary,
88
+ shouldFallbackOnSummaryFailure,
89
+ shouldPruneContext
90
+ };
@@ -0,0 +1,13 @@
1
+ export type TextTruncationBoundary = "semantic" | "word" | "grapheme";
2
+ export interface PrefixTruncationOptions {
3
+ boundary?: TextTruncationBoundary;
4
+ marker?: string;
5
+ separator?: string;
6
+ }
7
+ export interface MiddleTruncationOptions {
8
+ headRatio?: number;
9
+ marker?: (omittedChars: number) => string;
10
+ }
11
+ export declare function truncateTextPrefix(text: string, maxChars: number | undefined, options?: PrefixTruncationOptions): string;
12
+ export declare function truncateTextMiddle(text: string, maxChars: number | undefined, options?: MiddleTruncationOptions): string;
13
+ //# sourceMappingURL=truncation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truncation.d.ts","sourceRoot":"","sources":["../../../src/context/text/truncation.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;AAEtE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;CAC3C;AAwKD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,GAAE,uBAA4B,GACpC,MAAM,CAcR;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,GAAE,uBAA4B,GACpC,MAAM,CAoCR"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Context window budgets.
3
+ *
4
+ * Centralizes the token formulas used by overflow detection, pruning, and
5
+ * summary generation. Keeping these formulas together makes it harder for the
6
+ * chat loop, Dapr workflow, and direct window-manager paths to drift.
7
+ */
8
+ import type { CompactionEffectiveness } from "../../types/compaction.js";
9
+ /**
10
+ * Context limits configuration.
11
+ *
12
+ * All values are in estimated tokens.
13
+ */
14
+ export interface ContextLimits {
15
+ /** Maximum context window size in tokens */
16
+ contextWindow: number;
17
+ /** Reserve tokens for output generation */
18
+ reserveTokens: number;
19
+ /** Protect this many recent tokens from pruning */
20
+ protectedTokens: number;
21
+ /** Minimum tokens to trigger pruning (avoid pruning tiny contexts) */
22
+ pruneMinimum: number;
23
+ }
24
+ /**
25
+ * Default context limits.
26
+ * Based on typical 128 k context-window models.
27
+ */
28
+ export declare const DEFAULT_CONTEXT_LIMITS: ContextLimits;
29
+ /**
30
+ * Default summary output cap.
31
+ *
32
+ * This is intentionally conservative. Larger summaries can be enabled by
33
+ * configuration, but they are still clamped by the reserved output budget.
34
+ */
35
+ export declare const DEFAULT_SUMMARY_MAX_OUTPUT_TOKENS = 2000;
36
+ /**
37
+ * Default cap for the serialized transcript sent to the summary model.
38
+ *
39
+ * This bounds compaction's own prompt independently from the main model's
40
+ * context window. It is intentionally generous enough to preserve useful
41
+ * technical detail while preventing old tool context from making the summary
42
+ * request fail.
43
+ */
44
+ export declare const DEFAULT_SUMMARY_MAX_INPUT_TOKENS = 24000;
45
+ /**
46
+ * Minimum proportional savings before a compaction pass is considered
47
+ * effective.
48
+ */
49
+ export declare const DEFAULT_COMPACTION_EFFECTIVE_MIN_SAVINGS_RATIO = 0.02;
50
+ /**
51
+ * Compute the usable token budget: the context window minus reserved output
52
+ * tokens.
53
+ *
54
+ * This is the single formula for the safe input threshold used by overflow
55
+ * detection, auto-compaction event emission, and step-processing limits.
56
+ */
57
+ export declare function getUsableTokenLimit(limits: Pick<ContextLimits, "contextWindow" | "reserveTokens">): number;
58
+ /**
59
+ * Check whether the context is overflowing.
60
+ *
61
+ * @param tokens - Current estimated token count
62
+ * @param limits - Context limits (defaults to 128 k window)
63
+ * @returns `true` if context exceeds context window minus reserve
64
+ */
65
+ export declare function isContextOverflowing(tokens: number, limits?: ContextLimits): boolean;
66
+ /**
67
+ * Check whether pruning should be triggered.
68
+ *
69
+ * Returns `false` when the conversation is still small enough that pruning
70
+ * would be wasteful (below `pruneMinimum`).
71
+ */
72
+ export declare function shouldPruneContext(tokens: number, limits?: ContextLimits): boolean;
73
+ /**
74
+ * Build the shared compaction-effectiveness report used by direct and durable
75
+ * runtimes.
76
+ */
77
+ export declare function createCompactionEffectiveness(tokensBefore: number, tokensAfter: number, minSavingsRatio?: number): CompactionEffectiveness;
78
+ export interface SummaryOutputBudgetOptions {
79
+ /** Estimated tokens in the messages being summarized. */
80
+ inputTokens: number;
81
+ /** Context limits for the active model. */
82
+ limits?: ContextLimits;
83
+ /**
84
+ * Maximum tokens the compaction summary is allowed to request.
85
+ *
86
+ * Use this as the model output cap when the provider does not expose one
87
+ * through the model object.
88
+ */
89
+ summaryMaxOutputTokens?: number;
90
+ /**
91
+ * Optional proportional target based on the removed content size.
92
+ *
93
+ * When unset, the resolver returns the configured cap. When set, the
94
+ * computed target is clamped to the configured cap and the reserved output
95
+ * budget.
96
+ */
97
+ summaryTargetRatio?: number;
98
+ }
99
+ /**
100
+ * Resolve the max output tokens for a compaction summary.
101
+ *
102
+ * The resolver has two safety caps:
103
+ * - explicit `summaryMaxOutputTokens`, defaulting to 2,000
104
+ * - 80% of `reserveTokens`, so summary generation cannot consume the full
105
+ * output reserve needed by the next model response
106
+ */
107
+ export declare function resolveSummaryOutputTokens(options: SummaryOutputBudgetOptions): number;
108
+ //# sourceMappingURL=budget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"budget.d.ts","sourceRoot":"","sources":["../../../src/context/window/budget.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAMzE;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,eAAe,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,aAKpC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,OAAQ,CAAC;AAEvD;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC,QAAS,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,8CAA8C,OAAO,CAAC;AAMnE;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,eAAe,GAAG,eAAe,CAAC,GAC7D,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,aAAsC,GAC7C,OAAO,CAET;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,aAAsC,GAC7C,OAAO,CAGT;AAWD;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,eAAe,GAAE,MAAuD,GACvE,uBAAuB,CAiBzB;AAMD,MAAM,WAAW,0BAA0B;IACzC,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAcD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,0BAA0B,GAClC,MAAM,CAgBR"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Context compaction orchestration.
3
+ *
4
+ * Combines deterministic decisions, tool-context pruning, safe cut planning,
5
+ * and summary generation into one operation over a message array.
6
+ */
7
+ import type { Message } from "../../types/index.js";
8
+ import type { CompactionCutReason } from "../../types/compaction.js";
9
+ import { type ContextLimits } from "./budget.js";
10
+ import { type ContextCompactionDecision } from "./decision.js";
11
+ import { type ToolContextPruneReport } from "./tool-pruning.js";
12
+ import type { CompactionEffectiveness } from "../../types/compaction.js";
13
+ import { type ContextSummaryPolicy, type ResolvedContextSummaryPolicy } from "./summary-policy.js";
14
+ /**
15
+ * Options for {@link pruneContext}.
16
+ */
17
+ export interface PruneContextOptions {
18
+ /** Context limits to enforce */
19
+ limits?: ContextLimits;
20
+ /** Summary behavior for conversation cuts. */
21
+ summary?: ContextSummaryPolicy | ResolvedContextSummaryPolicy;
22
+ /**
23
+ * Force a best-effort compaction pass after the provider reports context
24
+ * overflow.
25
+ */
26
+ force?: boolean;
27
+ }
28
+ /**
29
+ * Result of a pruning operation.
30
+ */
31
+ export interface PruneResult {
32
+ /** Messages after pruning (may include a summary message) */
33
+ messages: Message[];
34
+ /** Deterministic policy decision that caused or skipped compaction */
35
+ decision: ContextCompactionDecision;
36
+ /** Measured compaction savings */
37
+ effectiveness: CompactionEffectiveness;
38
+ /** Number of messages removed */
39
+ removedCount: number;
40
+ /** Estimated tokens removed */
41
+ tokensRemoved: number;
42
+ /** Whether summarization was used */
43
+ summarized: boolean;
44
+ /** The summary content, if generated */
45
+ summary?: string;
46
+ /** Summary policy resolved for this pruning operation */
47
+ summaryPolicy: ResolvedContextSummaryPolicy;
48
+ /** Messages removed by conversation cutting, when applicable */
49
+ removedMessages?: Message[];
50
+ /** Messages kept after conversation cutting, before summary insertion */
51
+ keptMessages?: Message[];
52
+ /** Safe cut index used for conversation cutting, when applicable */
53
+ cutIndex?: number;
54
+ /** Why the cut boundary was selected */
55
+ cutReason?: CompactionCutReason;
56
+ /** Output token budget used for the summary request, if generated */
57
+ summaryOutputTokens?: number;
58
+ /** Details from the cheap tool-context pruning pass */
59
+ toolContext?: ToolContextPruneReport;
60
+ }
61
+ /**
62
+ * Prune a conversation to fit within context-window limits.
63
+ *
64
+ * Strategy, in order:
65
+ * 1. Prune old tool context without a model call.
66
+ * 2. If still overflowing, find a safe cut point and remove older messages.
67
+ * 3. If conversation history is cut, apply the configured summary policy.
68
+ *
69
+ * @param messages - Current message array
70
+ * @param options - Limits, model, and prompt overrides
71
+ * @returns A `PruneResult` with the trimmed messages
72
+ */
73
+ export declare function pruneContext(messages: Message[], options?: PruneContextOptions): Promise<PruneResult>;
74
+ //# sourceMappingURL=compactor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compactor.d.ts","sourceRoot":"","sources":["../../../src/context/window/compactor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EAEL,KAAK,aAAa,EAKnB,MAAM,aAAa,CAAC;AAErB,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,eAAe,CAAC;AACvB,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,mBAAmB,CAAC;AAO3B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,EAClC,MAAM,qBAAqB,CAAC;AAM7B;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,gCAAgC;IAChC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,oBAAoB,GAAG,4BAA4B,CAAC;IAC9D;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,6DAA6D;IAC7D,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,sEAAsE;IACtE,QAAQ,EAAE,yBAAyB,CAAC;IACpC,kCAAkC;IAClC,aAAa,EAAE,uBAAuB,CAAC;IACvC,iCAAiC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,UAAU,EAAE,OAAO,CAAC;IACpB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,aAAa,EAAE,4BAA4B,CAAC;IAC5C,gEAAgE;IAChE,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;IAC5B,yEAAyE;IACzE,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC;IACzB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uDAAuD;IACvD,WAAW,CAAC,EAAE,sBAAsB,CAAC;CACtC;AAyBD;;;;;;;;;;;GAWG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,WAAW,CAAC,CA+KtB"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Context cut planning.
3
+ *
4
+ * Finds a safe message boundary for replacing old conversation history with a
5
+ * summary. The planner validates the entire kept suffix so the next model call
6
+ * does not receive orphaned tool results or incomplete tool-call groups.
7
+ */
8
+ import type { Message } from "../../types/messages.js";
9
+ import type { CompactionCutReason } from "../../types/compaction.js";
10
+ /**
11
+ * Rich planning result for conversation cutting.
12
+ */
13
+ export interface CompactionCutPlan {
14
+ /**
15
+ * Shape of the cut.
16
+ *
17
+ * `conversation` removes a contiguous conversation prefix. `split-turn-prefix`
18
+ * removes the early part of the active turn so the latest suffix can remain
19
+ * verbatim when the active turn is too large to fit as a unit.
20
+ */
21
+ kind: "conversation" | "split-turn-prefix";
22
+ /** Cut index (exclusive: remove messages before this index) */
23
+ cutIndex: number;
24
+ /** Messages that would be removed and summarized */
25
+ removedMessages: Message[];
26
+ /** Messages that would remain visible after the summary */
27
+ keptMessages: Message[];
28
+ /** Estimated tokens removed by the cut */
29
+ tokensRemoved: number;
30
+ /** Estimated tokens kept after the cut */
31
+ tokensKept: number;
32
+ /** Protected suffix target used while planning */
33
+ protectedTokens: number;
34
+ /** Why the cut boundary was selected */
35
+ reason: CompactionCutReason;
36
+ /** Historical messages before the active turn, used as summary input */
37
+ historyMessages: Message[];
38
+ /** Removed early messages from the active turn, used as summary input */
39
+ currentTurnPrefixMessages: Message[];
40
+ /** Index of the active turn start when `kind` is `split-turn-prefix` */
41
+ currentTurnStartIndex?: number;
42
+ }
43
+ export interface PlanCompactionCutOptions {
44
+ /**
45
+ * Allow the planner to cut inside the active turn when a normal turn-safe cut
46
+ * still leaves too much context.
47
+ */
48
+ allowSplitTurn?: boolean;
49
+ /**
50
+ * Desired upper bound for the kept suffix. Used only to decide whether the
51
+ * planner should try split-turn prefix compaction.
52
+ */
53
+ maxKeptTokens?: number;
54
+ }
55
+ /**
56
+ * Plan a safe conversation cut.
57
+ *
58
+ * The plan preserves a recent token suffix, avoids keeping orphaned tool
59
+ * results, and prefers boundaries where the kept suffix starts with a new user
60
+ * or system message. It returns the exact removed/kept slices so callers can
61
+ * summarize and persist without recomputing the boundary.
62
+ */
63
+ export declare function planCompactionCut(messages: Message[], protectedTokens?: number, options?: PlanCompactionCutOptions): CompactionCutPlan;
64
+ //# sourceMappingURL=cut-planner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cut-planner.d.ts","sourceRoot":"","sources":["../../../src/context/window/cut-planner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAoB,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAYrE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,IAAI,EAAE,cAAc,GAAG,mBAAmB,CAAC;IAC3C,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,2DAA2D;IAC3D,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,0CAA0C;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,eAAe,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,wEAAwE;IACxE,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,yEAAyE;IACzE,yBAAyB,EAAE,OAAO,EAAE,CAAC;IACrC,wEAAwE;IACxE,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAuPD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,OAAO,EAAE,EACnB,eAAe,GAAE,MAA+C,EAChE,OAAO,GAAE,wBAA6B,GACrC,iBAAiB,CAoInB"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Deterministic context compaction decisions.
3
+ *
4
+ * This module answers whether the context-window layer should attempt
5
+ * compaction. It does not mutate messages and never calls a model; LLM usage is
6
+ * reserved for the later summary-generation step after a safe cut is selected.
7
+ */
8
+ import type { Message } from "../../types/messages.js";
9
+ import { type ContextLimits } from "./budget.js";
10
+ export type ContextCompactionDecisionReason = "below-prune-minimum" | "under-limit" | "overflow" | "forced-recovery";
11
+ export type ContextCompactionDecisionStrategy = "none" | "tool-context-first";
12
+ export interface ContextCompactionDecision {
13
+ /** Whether the compactor should run. */
14
+ needed: boolean;
15
+ /** Why this decision was made. */
16
+ reason: ContextCompactionDecisionReason;
17
+ /** First execution strategy selected by deterministic policy. */
18
+ strategy: ContextCompactionDecisionStrategy;
19
+ /** Whether the caller forced compaction after provider overflow. */
20
+ forced: boolean;
21
+ /** Whether a summary model is available if history must be cut. */
22
+ canSummarize: boolean;
23
+ /** Estimated input tokens before compaction. */
24
+ inputTokens: number;
25
+ /** Usable input limit: context window minus reserved output tokens. */
26
+ limit: number;
27
+ /** Estimated tokens above the usable limit. */
28
+ overflowTokens: number;
29
+ /** Recent token suffix protected from compaction. */
30
+ protectedTokens: number;
31
+ /** Minimum estimated context size before automatic compaction runs. */
32
+ pruneMinimum: number;
33
+ }
34
+ export interface DecideContextCompactionOptions {
35
+ limits?: ContextLimits;
36
+ force?: boolean;
37
+ canSummarize?: boolean;
38
+ inputTokens?: number;
39
+ }
40
+ export declare function decideContextCompaction(messages: readonly Message[], options?: DecideContextCompactionOptions): ContextCompactionDecision;
41
+ //# sourceMappingURL=decision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decision.d.ts","sourceRoot":"","sources":["../../../src/context/window/decision.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EACL,KAAK,aAAa,EAInB,MAAM,aAAa,CAAC;AAGrB,MAAM,MAAM,+BAA+B,GACvC,qBAAqB,GACrB,aAAa,GACb,UAAU,GACV,iBAAiB,CAAC;AAEtB,MAAM,MAAM,iCAAiC,GAAG,MAAM,GAAG,oBAAoB,CAAC;AAE9E,MAAM,WAAW,yBAAyB;IACxC,wCAAwC;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,kCAAkC;IAClC,MAAM,EAAE,+BAA+B,CAAC;IACxC,iEAAiE;IACjE,QAAQ,EAAE,iCAAiC,CAAC;IAC5C,oEAAoE;IACpE,MAAM,EAAE,OAAO,CAAC;IAChB,mEAAmE;IACnE,YAAY,EAAE,OAAO,CAAC;IACtB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,cAAc,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,eAAe,EAAE,MAAM,CAAC;IACxB,uEAAuE;IACvE,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,8BAA8B;IAC7C,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,OAAO,GAAE,8BAAmC,GAC3C,yBAAyB,CAkE3B"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Token Estimation Utilities
3
+ *
4
+ * Provides lightweight heuristic-based token counting for messages
5
+ * and conversations. Uses the chars/4 approximation — simple but
6
+ * effective for context-window planning decisions.
7
+ *
8
+ * These are *estimates*, not exact counts. For billing or hard limits,
9
+ * use the provider's native tokeniser instead.
10
+ */
11
+ import type { Message } from "../../types/messages.js";
12
+ import type { ModelMessage } from "ai";
13
+ /**
14
+ * Estimate token count for a plain string.
15
+ *
16
+ * Uses the widely-accepted `chars / 4` heuristic.
17
+ *
18
+ * @param text - Text to estimate
19
+ * @returns Estimated token count (always ≥ 1 for non-empty input)
20
+ */
21
+ export declare function estimateTokens(text: string): number;
22
+ /**
23
+ * Estimate token count for a single message.
24
+ *
25
+ * Handles:
26
+ * - Plain string content
27
+ * - Multi-part / multimodal arrays (text parts + images)
28
+ *
29
+ * @param message - A `Message` (internal) or `ModelMessage` (AI SDK)
30
+ * @returns Estimated token count
31
+ */
32
+ export declare function estimateMessageTokens(message: Message | ModelMessage): number;
33
+ /**
34
+ * Estimate total tokens for an entire conversation.
35
+ *
36
+ * Adds a small per-message overhead (≈ 4 tokens) for message
37
+ * framing (`role`, delimiters, etc.). When a recent assistant message has
38
+ * provider usage metadata, use it as a lower bound so planning follows the
39
+ * provider-observed context size instead of only the character heuristic.
40
+ *
41
+ * @param messages - Array of messages to estimate
42
+ * @returns Estimated total token count
43
+ */
44
+ export declare function estimateConversationTokens(messages: readonly (Message | ModelMessage)[]): number;
45
+ //# sourceMappingURL=estimation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"estimation.d.ts","sourceRoot":"","sources":["../../../src/context/window/estimation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAMvC;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAmCD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,MAAM,CAwB7E;AA4CD;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,SAAS,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,GAC5C,MAAM,CAOR"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Context Management — Barrel Export
3
+ *
4
+ * Re-exports the public surface of context-window primitives while keeping the
5
+ * implementation split into focused files.
6
+ */
7
+ export { estimateTokens, estimateMessageTokens, estimateConversationTokens, } from "./estimation.js";
8
+ export { DEFAULT_CONTEXT_LIMITS, DEFAULT_COMPACTION_EFFECTIVE_MIN_SAVINGS_RATIO, DEFAULT_SUMMARY_MAX_INPUT_TOKENS, DEFAULT_SUMMARY_MAX_OUTPUT_TOKENS, createCompactionEffectiveness, getUsableTokenLimit, isContextOverflowing, resolveSummaryOutputTokens, shouldPruneContext, } from "./budget.js";
9
+ export type { ContextLimits, SummaryOutputBudgetOptions } from "./budget.js";
10
+ export { planCompactionCut } from "./cut-planner.js";
11
+ export type { CompactionCutPlan, PlanCompactionCutOptions, } from "./cut-planner.js";
12
+ export { decideContextCompaction } from "./decision.js";
13
+ export type { ContextCompactionDecision, ContextCompactionDecisionReason, ContextCompactionDecisionStrategy, DecideContextCompactionOptions, } from "./decision.js";
14
+ export { pruneToolContext, pruneToolContextWithReport, } from "./tool-pruning.js";
15
+ export type { ToolContextPruneReport, ToolContextPruneResult, } from "./tool-pruning.js";
16
+ export { createCompactionSummaryContent, extractCompactionSummaryText, generateSummary, generateSplitTurnSummary, redactSummaryText, serializeMessagesForSummary, } from "./summary.js";
17
+ export type { SplitTurnSummarizationOptions, SummarizationOptions, } from "./summary.js";
18
+ export type { SummarySerializationOptions } from "./summary.js";
19
+ export { pruneContext } from "./compactor.js";
20
+ export type { PruneContextOptions, PruneResult } from "./compactor.js";
21
+ export { ContextWindowManager } from "./manager.js";
22
+ export type { ContextWindowStats } from "./manager.js";
23
+ export { canGenerateCompactionSummary, ContextSummaryModelRequiredError, resolveContextSummaryPolicy, shouldFallbackOnSummaryFailure, } from "./summary-policy.js";
24
+ export type { ContextSummaryPolicy, ResolvedContextSummaryPolicy, } from "./summary-policy.js";
25
+ export type { ContextSummaryMode } from "../../types/compaction.js";
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/context/window/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,sBAAsB,EACtB,8CAA8C,EAC9C,gCAAgC,EAChC,iCAAiC,EACjC,6BAA6B,EAC7B,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,aAAa,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAE7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,YAAY,EACV,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,YAAY,EACV,yBAAyB,EACzB,+BAA+B,EAC/B,iCAAiC,EACjC,8BAA8B,GAC/B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,EAC5B,eAAe,EACf,wBAAwB,EACxB,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,6BAA6B,EAC7B,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EACL,4BAA4B,EAC5B,gCAAgC,EAChC,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Context Window Manager
3
+ *
4
+ * Stateful wrapper around the context-window primitives.
5
+ * Tracks per-session context limits and provides a single entry
6
+ * point for token estimation, overflow detection, and pruning.
7
+ */
8
+ import type { LanguageModel, ModelMessage } from "ai";
9
+ import type { Message } from "../../types/index.js";
10
+ import { type ContextLimits } from "./budget.js";
11
+ import { type PruneResult } from "./compactor.js";
12
+ import { type ContextCompactionDecision } from "./decision.js";
13
+ import { type ContextSummaryPolicy, type ResolvedContextSummaryPolicy } from "./summary-policy.js";
14
+ export interface ContextWindowStats {
15
+ tokens: number;
16
+ limit: number;
17
+ available: number;
18
+ utilizationPercent: number;
19
+ isOverflowing: boolean;
20
+ shouldPrune: boolean;
21
+ }
22
+ /**
23
+ * Per-session context-window manager.
24
+ *
25
+ * Holds the active context-window limits and provides convenience
26
+ * methods for checking, reporting, and pruning context.
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * const ctx = new ContextWindowManager({ limits: { contextWindow: 200_000 } });
31
+ *
32
+ * if (ctx.shouldPrune(messages)) {
33
+ * const result = await ctx.prune(messages);
34
+ * console.log(`Removed ${result.removedCount} messages`);
35
+ * }
36
+ * ```
37
+ */
38
+ export declare class ContextWindowManager {
39
+ private limits;
40
+ private activeModel?;
41
+ private summaryPolicy?;
42
+ constructor(options?: {
43
+ limits?: Partial<ContextLimits>;
44
+ /** Active agent model. Used for summaries unless `summary.model` overrides it. */
45
+ model?: LanguageModel;
46
+ summary?: ContextSummaryPolicy;
47
+ });
48
+ /** Get a copy of the current context limits. */
49
+ getLimits(): ContextLimits;
50
+ /** Update context limits (e.g. when switching models). */
51
+ setLimits(limits: Partial<ContextLimits>): void;
52
+ /** Set the active agent model used for summaries unless overridden. */
53
+ setModel(model: LanguageModel): void;
54
+ /** Set the summary policy used when conversation history must be cut. */
55
+ setSummaryPolicy(policy: ContextSummaryPolicy): void;
56
+ /** Resolve summary policy against the active agent model. */
57
+ getSummaryPolicy(): ResolvedContextSummaryPolicy;
58
+ /** Estimate total tokens for a message array. */
59
+ estimateTokens(messages: readonly (Message | ModelMessage)[]): number;
60
+ /** Check whether the context is overflowing. */
61
+ isOverflowing(messages: readonly (Message | ModelMessage)[]): boolean;
62
+ /** Check whether pruning should be triggered. */
63
+ shouldPrune(messages: readonly (Message | ModelMessage)[]): boolean;
64
+ /** Explain whether context compaction should run. */
65
+ decide(messages: readonly Message[], options?: {
66
+ force?: boolean;
67
+ inputTokens?: number;
68
+ }): ContextCompactionDecision;
69
+ /** Prune context to fit within limits. */
70
+ prune(messages: Message[], options?: {
71
+ force?: boolean;
72
+ }): Promise<PruneResult>;
73
+ /**
74
+ * Get a snapshot of token statistics.
75
+ *
76
+ * Useful for dashboards, logging, or deciding whether to prune.
77
+ */
78
+ getStats(messages: readonly (Message | ModelMessage)[]): ContextWindowStats;
79
+ }
80
+ //# sourceMappingURL=manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/context/window/manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EACL,KAAK,aAAa,EAKnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,eAAe,CAAC;AACvB,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,EAClC,MAAM,qBAAqB,CAAC;AAM7B,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,WAAW,CAAC,CAAgB;IACpC,OAAO,CAAC,aAAa,CAAC,CAAuB;gBAEjC,OAAO,CAAC,EAAE;QACpB,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAChC,kFAAkF;QAClF,KAAK,CAAC,EAAE,aAAa,CAAC;QACtB,OAAO,CAAC,EAAE,oBAAoB,CAAC;KAChC;IAMD,gDAAgD;IAChD,SAAS,IAAI,aAAa;IAI1B,0DAA0D;IAC1D,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAI/C,uEAAuE;IACvE,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAIpC,yEAAyE;IACzE,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAIpD,6DAA6D;IAC7D,gBAAgB,IAAI,4BAA4B;IAIhD,iDAAiD;IACjD,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,GAAG,MAAM;IAIrE,gDAAgD;IAChD,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,GAAG,OAAO;IAKrE,iDAAiD;IACjD,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,GAAG,OAAO;IAKnE,qDAAqD;IACrD,MAAM,CACJ,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAClD,yBAAyB;IAU5B,0CAA0C;IACpC,KAAK,CACT,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5B,OAAO,CAAC,WAAW,CAAC;IAQvB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,GAAG,kBAAkB;CAa5E"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Summary model policy for context compaction.
3
+ *
4
+ * The compaction decision and cut planner are deterministic. This policy only
5
+ * controls what happens after a conversation slice must be removed.
6
+ */
7
+ import type { LanguageModel } from "ai";
8
+ import type { ContextSummaryMode } from "../../types/compaction.js";
9
+ export interface ContextSummaryPolicy {
10
+ /**
11
+ * `required` means conversation cuts must produce an LLM summary.
12
+ * `best-effort` allows deterministic fallback summaries if the model fails.
13
+ * `disabled` permits conversation cuts without LLM summarization.
14
+ *
15
+ * Default: `required`.
16
+ */
17
+ mode?: ContextSummaryMode;
18
+ /**
19
+ * Summary model override. When omitted, the active agent model is used.
20
+ */
21
+ model?: LanguageModel;
22
+ /** Custom summarization prompt. */
23
+ prompt?: string;
24
+ /** Maximum estimated input tokens sent to the summary model. */
25
+ maxInputTokens?: number;
26
+ /** Maximum output tokens requested for compaction summaries. */
27
+ maxOutputTokens?: number;
28
+ /**
29
+ * Optional proportional summary budget based on removed content size.
30
+ */
31
+ targetRatio?: number;
32
+ }
33
+ export interface ResolvedContextSummaryPolicy {
34
+ mode: ContextSummaryMode;
35
+ model?: LanguageModel;
36
+ prompt?: string;
37
+ maxInputTokens?: number;
38
+ maxOutputTokens?: number;
39
+ targetRatio?: number;
40
+ }
41
+ export declare class ContextSummaryModelRequiredError extends Error {
42
+ constructor();
43
+ }
44
+ export declare function resolveContextSummaryPolicy(policy: ContextSummaryPolicy | undefined, activeModel?: LanguageModel): ResolvedContextSummaryPolicy;
45
+ export declare function canGenerateCompactionSummary(policy: ResolvedContextSummaryPolicy): boolean;
46
+ export declare function shouldFallbackOnSummaryFailure(options: {
47
+ policy: ResolvedContextSummaryPolicy;
48
+ force?: boolean;
49
+ }): boolean;
50
+ //# sourceMappingURL=summary-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary-policy.d.ts","sourceRoot":"","sources":["../../../src/context/window/summary-policy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,WAAW,oBAAoB;IACnC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,gCAAiC,SAAQ,KAAK;;CAO1D;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,oBAAoB,GAAG,SAAS,EACxC,WAAW,CAAC,EAAE,aAAa,GAC1B,4BAA4B,CAa9B;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,4BAA4B,GACnC,OAAO,CAET;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE;IACtD,MAAM,EAAE,4BAA4B,CAAC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,OAAO,CAEV"}