@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,539 @@
1
+ // src/context/text/truncation.ts
2
+ var graphemeSegmenter;
3
+ function getGraphemeSegmenter() {
4
+ if (graphemeSegmenter !== void 0) {
5
+ return graphemeSegmenter ?? void 0;
6
+ }
7
+ const Segmenter = Intl.Segmenter;
8
+ graphemeSegmenter = Segmenter ? new Segmenter(void 0, { granularity: "grapheme" }) : null;
9
+ return graphemeSegmenter ?? void 0;
10
+ }
11
+ function normalizeLimit(maxChars) {
12
+ if (maxChars === void 0 || !Number.isFinite(maxChars) || maxChars <= 0) {
13
+ return void 0;
14
+ }
15
+ return Math.floor(maxChars);
16
+ }
17
+ function needsGraphemeSafeSlice(text) {
18
+ for (let i = 0; i < text.length; i++) {
19
+ const charCode = text.charCodeAt(i);
20
+ if (isSurrogate(charCode) || isCombiningMark(charCode) || charCode === 8205 || charCode === 65038 || charCode === 65039) {
21
+ return true;
22
+ }
23
+ }
24
+ return false;
25
+ }
26
+ function isSurrogate(charCode) {
27
+ return charCode >= 55296 && charCode <= 57343;
28
+ }
29
+ function isCombiningMark(charCode) {
30
+ return charCode >= 768 && charCode <= 879 || charCode >= 6832 && charCode <= 6911 || charCode >= 7616 && charCode <= 7679 || charCode >= 8400 && charCode <= 8447 || charCode >= 65056 && charCode <= 65071;
31
+ }
32
+ function slicePrefixAtGraphemeBoundary(text, maxChars) {
33
+ if (text.length <= maxChars) return text;
34
+ if (!needsGraphemeSafeSlice(text)) return text.slice(0, maxChars);
35
+ const segmenter = getGraphemeSegmenter();
36
+ if (segmenter) {
37
+ let end2 = 0;
38
+ for (const part of segmenter.segment(text)) {
39
+ const nextEnd = part.index + part.segment.length;
40
+ if (nextEnd > maxChars) break;
41
+ end2 = nextEnd;
42
+ }
43
+ return text.slice(0, end2);
44
+ }
45
+ let end = 0;
46
+ for (const char of text) {
47
+ const nextEnd = end + char.length;
48
+ if (nextEnd > maxChars) break;
49
+ end = nextEnd;
50
+ }
51
+ return text.slice(0, end);
52
+ }
53
+ function sliceSuffixAtGraphemeBoundary(text, maxChars) {
54
+ if (maxChars <= 0) return "";
55
+ if (text.length <= maxChars) return text;
56
+ if (!needsGraphemeSafeSlice(text)) return text.slice(-maxChars);
57
+ const segmenter = getGraphemeSegmenter();
58
+ if (segmenter) {
59
+ let start2 = text.length;
60
+ for (const part of segmenter.segment(text)) {
61
+ if (text.length - part.index <= maxChars) {
62
+ start2 = part.index;
63
+ break;
64
+ }
65
+ }
66
+ return text.slice(start2);
67
+ }
68
+ let used = 0;
69
+ let start = text.length;
70
+ const chars = Array.from(text);
71
+ for (let i = chars.length - 1; i >= 0; i--) {
72
+ const char = chars[i];
73
+ const nextUsed = used + char.length;
74
+ if (nextUsed > maxChars) break;
75
+ used = nextUsed;
76
+ start -= char.length;
77
+ }
78
+ return text.slice(start);
79
+ }
80
+ function findLastBoundary(content, pattern, options = {}) {
81
+ let best = -1;
82
+ let match;
83
+ while ((match = pattern.exec(content)) !== null) {
84
+ const end = match.index + match[0].length;
85
+ if (options.after !== void 0 && end < options.after) continue;
86
+ best = end;
87
+ }
88
+ return best;
89
+ }
90
+ function sliceAtPreferredPrefixBoundary(text, limit, boundary) {
91
+ const prefix = slicePrefixAtGraphemeBoundary(text, limit);
92
+ if (boundary === "grapheme") return prefix;
93
+ const wordBoundary = () => findLastBoundary(prefix, /\s+/g);
94
+ if (boundary === "word") {
95
+ const index2 = wordBoundary();
96
+ return index2 > 0 ? prefix.slice(0, index2) : prefix;
97
+ }
98
+ const boundarySearchStart = Math.floor(prefix.length * 0.65);
99
+ const paragraphBoundary = findLastBoundary(prefix, /\n\s*\n/g, {
100
+ after: boundarySearchStart
101
+ });
102
+ if (paragraphBoundary > 0) return prefix.slice(0, paragraphBoundary);
103
+ const sentenceBoundary = findLastBoundary(prefix, /[.!?](?:\s+|$)/g, {
104
+ after: boundarySearchStart
105
+ });
106
+ if (sentenceBoundary > 0) return prefix.slice(0, sentenceBoundary);
107
+ const index = wordBoundary();
108
+ return index > 0 ? prefix.slice(0, index) : prefix;
109
+ }
110
+ function truncateTextPrefix(text, maxChars, options = {}) {
111
+ const limit = normalizeLimit(maxChars);
112
+ if (limit === void 0 || text.length <= limit) return text;
113
+ const marker = options.marker ?? "[truncated]";
114
+ const separator = options.separator ?? "\n";
115
+ const boundary = options.boundary ?? "semantic";
116
+ const prefix = sliceAtPreferredPrefixBoundary(
117
+ text,
118
+ limit,
119
+ boundary
120
+ ).trimEnd();
121
+ if (prefix.length === 0) return marker;
122
+ return `${prefix}${separator}${marker}`;
123
+ }
124
+ function truncateTextMiddle(text, maxChars, options = {}) {
125
+ const limit = normalizeLimit(maxChars);
126
+ if (limit === void 0 || text.length <= limit) return text;
127
+ const markerFor = options.marker ?? ((omittedChars) => `
128
+
129
+ [...${omittedChars} characters omitted...]
130
+
131
+ `);
132
+ const headRatio = Math.min(0.9, Math.max(0.1, options.headRatio ?? 0.5));
133
+ let marker = markerFor(Math.max(0, text.length - limit));
134
+ for (let attempt = 0; attempt < 3; attempt++) {
135
+ const available2 = limit - marker.length;
136
+ if (available2 <= 0) return marker;
137
+ const headChars2 = Math.max(1, Math.floor(available2 * headRatio));
138
+ const tailChars2 = Math.max(0, available2 - headChars2);
139
+ const head = slicePrefixAtGraphemeBoundary(text, headChars2);
140
+ const tail = sliceSuffixAtGraphemeBoundary(text, tailChars2);
141
+ const omittedChars = Math.max(0, text.length - head.length - tail.length);
142
+ const nextMarker = markerFor(omittedChars);
143
+ if (nextMarker.length === marker.length) {
144
+ return `${head}${nextMarker}${tail}`;
145
+ }
146
+ marker = nextMarker;
147
+ }
148
+ const available = limit - marker.length;
149
+ if (available <= 0) return marker;
150
+ const headChars = Math.max(1, Math.floor(available * headRatio));
151
+ const tailChars = Math.max(0, available - headChars);
152
+ return `${slicePrefixAtGraphemeBoundary(
153
+ text,
154
+ headChars
155
+ )}${marker}${sliceSuffixAtGraphemeBoundary(text, tailChars)}`;
156
+ }
157
+
158
+ // src/context/fragments/render.ts
159
+ var AGENT_CONTEXT_FRAGMENT_TAG = "agent-context-fragment";
160
+ var AGENT_CONTEXT_FRAGMENT_OPEN = `<${AGENT_CONTEXT_FRAGMENT_TAG}`;
161
+ var AGENT_CONTEXT_FRAGMENT_CLOSE = `</${AGENT_CONTEXT_FRAGMENT_TAG}>`;
162
+ function normalizeCreatedAt(value) {
163
+ if (value instanceof Date) return value.toISOString();
164
+ if (typeof value === "string" && value.trim().length > 0) return value;
165
+ return (/* @__PURE__ */ new Date()).toISOString();
166
+ }
167
+ function normalizeAgentContextFragment(input) {
168
+ const content = truncateTextPrefix(input.content.trim(), input.maxChars);
169
+ const createdAt = normalizeCreatedAt(input.createdAt);
170
+ return {
171
+ content,
172
+ metadata: {
173
+ id: input.id ?? crypto.randomUUID(),
174
+ kind: input.kind,
175
+ role: input.role ?? "user",
176
+ placement: input.placement ?? "after-latest-user",
177
+ lifetime: input.lifetime ?? "turn",
178
+ createdAt,
179
+ ...input.source ? { source: input.source } : {},
180
+ ...input.title ? { title: input.title } : {},
181
+ ...input.dedupeKey ? { dedupeKey: input.dedupeKey } : {},
182
+ ...input.budgetBehavior ? { budgetBehavior: input.budgetBehavior } : {},
183
+ ...input.metadata ? { metadata: structuredClone(input.metadata) } : {}
184
+ }
185
+ };
186
+ }
187
+ function escapeAttribute(value) {
188
+ return value.replaceAll("&", "&amp;").replaceAll('"', "&quot;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replaceAll("\n", " ").replaceAll("\r", " ").replaceAll(" ", " ");
189
+ }
190
+ function unescapeAttribute(value) {
191
+ return value.replaceAll("&quot;", '"').replaceAll("&gt;", ">").replaceAll("&lt;", "<").replaceAll("&amp;", "&");
192
+ }
193
+ function renderAgentContextFragment(options) {
194
+ const attrs = [
195
+ ["id", options.metadata.id],
196
+ ["kind", options.metadata.kind],
197
+ ["role", options.metadata.role],
198
+ ["placement", options.metadata.placement],
199
+ ["lifetime", options.metadata.lifetime],
200
+ ["created-at", options.metadata.createdAt],
201
+ ["source", options.metadata.source],
202
+ ["title", options.metadata.title],
203
+ ["dedupe-key", options.metadata.dedupeKey],
204
+ ["budget-behavior", options.metadata.budgetBehavior]
205
+ ];
206
+ const renderedAttrs = attrs.filter((attr) => attr[1] !== void 0).map(([key, value]) => `${key}="${escapeAttribute(value)}"`).join(" ");
207
+ return `${AGENT_CONTEXT_FRAGMENT_OPEN} ${renderedAttrs}>
208
+ ${options.content}
209
+ ${AGENT_CONTEXT_FRAGMENT_CLOSE}`;
210
+ }
211
+ function isRenderedAgentContextFragment(content) {
212
+ const trimmed = content.trim();
213
+ return trimmed.startsWith(AGENT_CONTEXT_FRAGMENT_OPEN) && trimmed.endsWith(AGENT_CONTEXT_FRAGMENT_CLOSE);
214
+ }
215
+ function parseRenderedAgentContextFragment(content) {
216
+ const trimmed = content.trim();
217
+ if (!isRenderedAgentContextFragment(trimmed)) return void 0;
218
+ const openEnd = trimmed.indexOf(">");
219
+ if (openEnd < 0) return void 0;
220
+ const openTag = trimmed.slice(0, openEnd + 1);
221
+ const attrs = /* @__PURE__ */ new Map();
222
+ const attrPattern = /([a-zA-Z0-9_-]+)="([^"]*)"/g;
223
+ let match;
224
+ while ((match = attrPattern.exec(openTag)) !== null) {
225
+ attrs.set(match[1], unescapeAttribute(match[2]));
226
+ }
227
+ const id = attrs.get("id");
228
+ const kind = attrs.get("kind");
229
+ const role = attrs.get("role");
230
+ const placement = attrs.get("placement");
231
+ const lifetime = attrs.get("lifetime");
232
+ const createdAt = attrs.get("created-at");
233
+ const budgetBehavior = attrs.get("budget-behavior");
234
+ if (!id || !kind || !createdAt || role !== "system" && role !== "user" || placement !== "before-history" && placement !== "after-latest-user" && placement !== "after-history" || lifetime !== "turn" && lifetime !== "session" || budgetBehavior !== void 0 && budgetBehavior !== "required" && budgetBehavior !== "droppable") {
235
+ return void 0;
236
+ }
237
+ return {
238
+ id,
239
+ kind,
240
+ role,
241
+ placement,
242
+ lifetime,
243
+ createdAt,
244
+ ...attrs.get("source") ? { source: attrs.get("source") } : {},
245
+ ...attrs.get("title") ? { title: attrs.get("title") } : {},
246
+ ...attrs.get("dedupe-key") ? { dedupeKey: attrs.get("dedupe-key") } : {},
247
+ ...budgetBehavior ? { budgetBehavior } : {}
248
+ };
249
+ }
250
+
251
+ // src/context/window/estimation.ts
252
+ function estimateTokens(text) {
253
+ return Math.ceil(text.length / 4);
254
+ }
255
+ function stringifyStructuredValue(value) {
256
+ if (typeof value === "string") return value;
257
+ if (value === void 0) return "";
258
+ try {
259
+ return JSON.stringify(value);
260
+ } catch {
261
+ return String(value);
262
+ }
263
+ }
264
+ function estimateInternalToolCalls(message) {
265
+ if (message.role !== "assistant" || !("toolCalls" in message) || !Array.isArray(message.toolCalls)) {
266
+ return 0;
267
+ }
268
+ return message.toolCalls.reduce((total, toolCall) => {
269
+ return total + estimateTokens(toolCall.toolName) + estimateTokens(toolCall.toolCallId) + estimateTokens(stringifyStructuredValue(toolCall.args));
270
+ }, 0);
271
+ }
272
+ function estimateMessageTokens(message) {
273
+ const toolCallTokens = estimateInternalToolCalls(message);
274
+ if (typeof message.content === "string") {
275
+ return estimateTokens(message.content) + toolCallTokens;
276
+ }
277
+ if (Array.isArray(message.content)) {
278
+ let total = 0;
279
+ for (const part of message.content) {
280
+ if (typeof part === "string") {
281
+ total += estimateTokens(part);
282
+ } else if ("text" in part && typeof part.text === "string") {
283
+ total += estimateTokens(part.text);
284
+ } else if ("type" in part && part.type === "image") {
285
+ total += 765;
286
+ }
287
+ }
288
+ return total + toolCallTokens;
289
+ }
290
+ return toolCallTokens;
291
+ }
292
+ function estimateMessageWithOverhead(message) {
293
+ return estimateMessageTokens(message) + 4;
294
+ }
295
+ function estimateFromRecentUsage(messages) {
296
+ for (let i = messages.length - 1; i >= 0; i--) {
297
+ const message = messages[i];
298
+ if (message.role !== "assistant" || !("tokens" in message) || !message.tokens) {
299
+ continue;
300
+ }
301
+ const inputTokens = message.tokens.inputTokens;
302
+ if (inputTokens === void 0) {
303
+ continue;
304
+ }
305
+ const usageTokens = Math.max(
306
+ inputTokens + (message.tokens.outputTokens ?? 0),
307
+ message.tokens.totalTokens ?? 0
308
+ );
309
+ const trailingTokens = messages.slice(i + 1).reduce((total, trailingMessage) => {
310
+ return total + estimateMessageWithOverhead(trailingMessage);
311
+ }, 0);
312
+ return usageTokens + trailingTokens;
313
+ }
314
+ return void 0;
315
+ }
316
+ function estimateConversationTokens(messages) {
317
+ const heuristic = messages.reduce((total, message) => {
318
+ return total + estimateMessageWithOverhead(message);
319
+ }, 0);
320
+ const usageEstimate = estimateFromRecentUsage(messages);
321
+ return Math.max(heuristic, usageEstimate ?? 0);
322
+ }
323
+
324
+ // src/context/fragments/messages.ts
325
+ function uniqueSorted(values) {
326
+ return [...new Set(values)].sort();
327
+ }
328
+ function createAgentContextFragmentMessage(input) {
329
+ const contextFragment = normalizeAgentContextFragment(input);
330
+ const content = renderAgentContextFragment(contextFragment);
331
+ return {
332
+ id: contextFragment.metadata.id,
333
+ role: contextFragment.metadata.role,
334
+ content,
335
+ createdAt: new Date(contextFragment.metadata.createdAt),
336
+ contextFragment: contextFragment.metadata
337
+ };
338
+ }
339
+ function getAgentContextFragmentMetadata(message) {
340
+ if (message.contextFragment) return message.contextFragment;
341
+ if ((message.role === "system" || message.role === "user") && typeof message.content === "string") {
342
+ return parseRenderedAgentContextFragment(message.content);
343
+ }
344
+ return void 0;
345
+ }
346
+ function isAgentContextFragmentMessage(message) {
347
+ return getAgentContextFragmentMetadata(message) !== void 0;
348
+ }
349
+ function collectExistingDedupeKeys(messages) {
350
+ const keys = /* @__PURE__ */ new Set();
351
+ for (const message of messages) {
352
+ const metadata = getAgentContextFragmentMetadata(message);
353
+ if (metadata?.dedupeKey) {
354
+ keys.add(metadata.dedupeKey);
355
+ }
356
+ }
357
+ return keys;
358
+ }
359
+ function findLatestRealUserMessageIndex(messages) {
360
+ for (let i = messages.length - 1; i >= 0; i--) {
361
+ const message = messages[i];
362
+ if (message.role === "user" && !isAgentContextFragmentMessage(message)) {
363
+ return i;
364
+ }
365
+ }
366
+ return -1;
367
+ }
368
+ function incrementSkipped(skippedByReason, reason) {
369
+ skippedByReason[reason] = (skippedByReason[reason] ?? 0) + 1;
370
+ }
371
+ function contextFragmentBudgetBehavior(message) {
372
+ return message.contextFragment?.budgetBehavior ?? "droppable";
373
+ }
374
+ function applyContextFragmentBudget(candidates, budget, skippedByReason) {
375
+ const requestedEstimatedTokens = candidates.reduce(
376
+ (total, candidate) => total + candidate.estimatedTokenCount,
377
+ 0
378
+ );
379
+ if (!budget) {
380
+ return void 0;
381
+ }
382
+ const maxEstimatedTokens = Math.max(0, Math.floor(budget.maxEstimatedTokens));
383
+ if (requestedEstimatedTokens <= maxEstimatedTokens) {
384
+ return {
385
+ selected: candidates,
386
+ report: {
387
+ applied: true,
388
+ maxEstimatedTokens,
389
+ requestedEstimatedTokens,
390
+ insertedEstimatedTokens: requestedEstimatedTokens,
391
+ skippedEstimatedTokens: 0
392
+ }
393
+ };
394
+ }
395
+ const selectedIds = /* @__PURE__ */ new Set();
396
+ let insertedEstimatedTokens = 0;
397
+ let skippedEstimatedTokens = 0;
398
+ const choose = (budgetBehavior) => {
399
+ for (const candidate of candidates) {
400
+ if (candidate.budgetBehavior !== budgetBehavior) continue;
401
+ const nextEstimatedTokens = insertedEstimatedTokens + candidate.estimatedTokenCount;
402
+ const mustKeep = budgetBehavior === "required";
403
+ if (mustKeep || nextEstimatedTokens <= maxEstimatedTokens) {
404
+ selectedIds.add(candidate.message.id);
405
+ insertedEstimatedTokens = nextEstimatedTokens;
406
+ continue;
407
+ }
408
+ skippedEstimatedTokens += candidate.estimatedTokenCount;
409
+ incrementSkipped(skippedByReason, "budget-exceeded");
410
+ }
411
+ };
412
+ choose("required");
413
+ choose("droppable");
414
+ const selected = candidates.filter(
415
+ (candidate) => selectedIds.has(candidate.message.id)
416
+ );
417
+ return {
418
+ selected,
419
+ report: {
420
+ applied: true,
421
+ maxEstimatedTokens,
422
+ requestedEstimatedTokens,
423
+ insertedEstimatedTokens,
424
+ skippedEstimatedTokens
425
+ }
426
+ };
427
+ }
428
+ function applyAgentContextFragmentsWithReport(messages, contextFragments = [], options = {}) {
429
+ const existingDedupeKeys = collectExistingDedupeKeys(messages);
430
+ const seenIncomingDedupeKeys = /* @__PURE__ */ new Set();
431
+ const skippedDedupeKeys = [];
432
+ const skippedByReason = {};
433
+ const candidates = [];
434
+ for (const [inputIndex, contextFragment] of contextFragments.entries()) {
435
+ if (contextFragment.content.trim().length === 0) {
436
+ incrementSkipped(skippedByReason, "empty");
437
+ continue;
438
+ }
439
+ const message = createAgentContextFragmentMessage(contextFragment);
440
+ const dedupeKey = message.contextFragment?.dedupeKey;
441
+ if (dedupeKey && existingDedupeKeys.has(dedupeKey)) {
442
+ incrementSkipped(skippedByReason, "duplicate-existing");
443
+ skippedDedupeKeys.push(dedupeKey);
444
+ continue;
445
+ }
446
+ if (dedupeKey && seenIncomingDedupeKeys.has(dedupeKey)) {
447
+ incrementSkipped(skippedByReason, "duplicate-incoming");
448
+ skippedDedupeKeys.push(dedupeKey);
449
+ continue;
450
+ }
451
+ if (dedupeKey) {
452
+ seenIncomingDedupeKeys.add(dedupeKey);
453
+ }
454
+ candidates.push({
455
+ inputIndex,
456
+ message,
457
+ budgetBehavior: contextFragmentBudgetBehavior(message),
458
+ estimatedTokenCount: estimateConversationTokens([message])
459
+ });
460
+ }
461
+ const budgeted = applyContextFragmentBudget(
462
+ candidates,
463
+ options.budget,
464
+ skippedByReason
465
+ );
466
+ const selectedCandidates = budgeted?.selected ?? candidates;
467
+ const selectedMessages = selectedCandidates.sort((left, right) => left.inputIndex - right.inputIndex).map((candidate) => candidate.message);
468
+ const beforeHistory = [];
469
+ const afterLatestUser = [];
470
+ const afterHistory = [];
471
+ for (const message of selectedMessages) {
472
+ switch (message.contextFragment?.placement) {
473
+ case "before-history":
474
+ beforeHistory.push(message);
475
+ break;
476
+ case "after-history":
477
+ afterHistory.push(message);
478
+ break;
479
+ case "after-latest-user":
480
+ default:
481
+ afterLatestUser.push(message);
482
+ break;
483
+ }
484
+ }
485
+ const baseMessages = [...messages];
486
+ const latestUserIndex = findLatestRealUserMessageIndex(baseMessages);
487
+ const insertAt = latestUserIndex >= 0 ? latestUserIndex + 1 : baseMessages.length;
488
+ const assembledMessages = [
489
+ ...beforeHistory,
490
+ ...baseMessages.slice(0, insertAt),
491
+ ...afterLatestUser,
492
+ ...baseMessages.slice(insertAt),
493
+ ...afterHistory
494
+ ];
495
+ const insertedCount = beforeHistory.length + afterLatestUser.length + afterHistory.length;
496
+ const report = {
497
+ requestedCount: contextFragments.length,
498
+ insertedCount,
499
+ skippedCount: Math.max(0, contextFragments.length - insertedCount),
500
+ skippedByReason,
501
+ insertedKinds: uniqueSorted(
502
+ selectedMessages.map((message) => message.contextFragment?.kind).filter((kind) => kind !== void 0)
503
+ ),
504
+ insertedPlacements: uniqueSorted(
505
+ selectedMessages.map((message) => message.contextFragment?.placement).filter(
506
+ (placement) => placement !== void 0
507
+ )
508
+ ),
509
+ insertedDedupeKeys: uniqueSorted(
510
+ selectedMessages.map((message) => message.contextFragment?.dedupeKey).filter((key) => key !== void 0)
511
+ ),
512
+ skippedDedupeKeys: uniqueSorted(skippedDedupeKeys),
513
+ ...budgeted?.report ? { budget: budgeted.report } : {}
514
+ };
515
+ return { messages: assembledMessages, report };
516
+ }
517
+ function applyAgentContextFragments(messages, contextFragments = []) {
518
+ return applyAgentContextFragmentsWithReport(messages, contextFragments).messages;
519
+ }
520
+
521
+ export {
522
+ truncateTextPrefix,
523
+ truncateTextMiddle,
524
+ AGENT_CONTEXT_FRAGMENT_TAG,
525
+ AGENT_CONTEXT_FRAGMENT_OPEN,
526
+ AGENT_CONTEXT_FRAGMENT_CLOSE,
527
+ normalizeAgentContextFragment,
528
+ renderAgentContextFragment,
529
+ isRenderedAgentContextFragment,
530
+ parseRenderedAgentContextFragment,
531
+ estimateTokens,
532
+ estimateMessageTokens,
533
+ estimateConversationTokens,
534
+ createAgentContextFragmentMessage,
535
+ getAgentContextFragmentMetadata,
536
+ isAgentContextFragmentMessage,
537
+ applyAgentContextFragmentsWithReport,
538
+ applyAgentContextFragments
539
+ };
@@ -0,0 +1,83 @@
1
+ // src/execution/scope/store.ts
2
+ import { AsyncLocalStorage } from "async_hooks";
3
+ import { randomUUID } from "crypto";
4
+ var scopeStore = new AsyncLocalStorage();
5
+ function cloneAttributes(attributes) {
6
+ return { ...attributes };
7
+ }
8
+ function cloneScope(scope) {
9
+ return {
10
+ ...scope,
11
+ attributes: cloneAttributes(scope.attributes)
12
+ };
13
+ }
14
+ function getStoredScope() {
15
+ return scopeStore.getStore();
16
+ }
17
+ function buildScope(options, current) {
18
+ const parent = options.parent === void 0 ? current : options.parent ?? void 0;
19
+ const id = options.id ?? randomUUID();
20
+ return {
21
+ id,
22
+ rootId: parent?.rootId ?? id,
23
+ kind: options.kind,
24
+ name: options.name,
25
+ parentId: parent?.id,
26
+ depth: (parent?.depth ?? -1) + 1,
27
+ startedAt: (/* @__PURE__ */ new Date()).toISOString(),
28
+ sessionId: options.sessionId ?? parent?.sessionId,
29
+ taskId: options.taskId ?? parent?.taskId,
30
+ step: options.step ?? parent?.step,
31
+ attributes: cloneAttributes(options.attributes ?? {})
32
+ };
33
+ }
34
+ function runWithScope(scope, fn) {
35
+ return Promise.resolve(scopeStore.run(scope, fn));
36
+ }
37
+
38
+ // src/execution/scope/run.ts
39
+ function currentScope() {
40
+ const scope = getStoredScope();
41
+ return scope ? cloneScope(scope) : void 0;
42
+ }
43
+ function snapshotScope(scope = getStoredScope()) {
44
+ return scope ? cloneScope(scope) : void 0;
45
+ }
46
+ function withinScope(options, fn) {
47
+ return runWithScope(buildScope(options, getStoredScope()), fn);
48
+ }
49
+ function restoreScope(snapshot, fn) {
50
+ if (!snapshot) {
51
+ return Promise.resolve(fn());
52
+ }
53
+ return runWithScope(cloneScope(snapshot), fn);
54
+ }
55
+ async function* streamWithinScope(options, iterable) {
56
+ const scope = buildScope(options, getStoredScope());
57
+ const iterator = await runWithScope(
58
+ scope,
59
+ () => iterable[Symbol.asyncIterator]()
60
+ );
61
+ try {
62
+ while (true) {
63
+ const next = await runWithScope(scope, () => iterator.next());
64
+ if (next.done) {
65
+ return next.value;
66
+ }
67
+ yield next.value;
68
+ }
69
+ } finally {
70
+ const returnFn = iterator.return?.bind(iterator);
71
+ if (returnFn) {
72
+ await runWithScope(scope, () => returnFn(void 0));
73
+ }
74
+ }
75
+ }
76
+
77
+ export {
78
+ currentScope,
79
+ snapshotScope,
80
+ withinScope,
81
+ restoreScope,
82
+ streamWithinScope
83
+ };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Tool
3
- } from "./chunk-Q742PSH3.js";
3
+ } from "./chunk-MJML3A2F.js";
4
4
 
5
5
  // src/skill/tools.ts
6
6
  import { z } from "zod";
@@ -1,4 +1,4 @@
1
- // src/events/local.ts
1
+ // src/events/event-bus/local.ts
2
2
  function createEventBus(options = {}) {
3
3
  const channels = /* @__PURE__ */ new Map();
4
4
  const maxHistoryMessages = Math.max(1, options.maxHistoryMessages ?? 1024);
@@ -910,7 +910,13 @@ function shouldIncludeReasoningSummary() {
910
910
  // src/models/reasoning/providers.ts
911
911
  function buildOpenAIOptions(level, compat) {
912
912
  if (level === "off") return void 0;
913
- const options = {};
913
+ const options = {
914
+ // The OpenAI SDK only enables reasoning options for model IDs it recognizes.
915
+ // We may intentionally run OpenAI-compatible gateways or prefixed IDs such
916
+ // as "openai/gpt-5.4", so force the SDK's reasoning path once our resolver
917
+ // has already classified the model as reasoning-capable.
918
+ forceReasoning: true
919
+ };
914
920
  if (compat?.supportsReasoningEffort !== false) {
915
921
  options.reasoningEffort = level;
916
922
  }
@@ -1128,7 +1134,10 @@ function getReasoningConfigSync(model) {
1128
1134
  getProviderOptions: (level) => {
1129
1135
  if (level === "off") return void 0;
1130
1136
  if (isOpenAI) {
1131
- const opts = { reasoningEffort: level };
1137
+ const opts = {
1138
+ forceReasoning: true,
1139
+ reasoningEffort: level
1140
+ };
1132
1141
  if (shouldIncludeReasoningSummary()) opts.reasoningSummary = "auto";
1133
1142
  return opts;
1134
1143
  }
@@ -1138,7 +1147,10 @@ function getReasoningConfigSync(model) {
1138
1147
  if (isBedrock) return buildBedrockOptions(level, modelId);
1139
1148
  if (isGroq) return buildGroqOptions(level);
1140
1149
  if (isOpenRouter) return buildOpenRouterOptions(level);
1141
- const defaultOpts = { reasoningEffort: level };
1150
+ const defaultOpts = {
1151
+ forceReasoning: true,
1152
+ reasoningEffort: level
1153
+ };
1142
1154
  if (shouldIncludeReasoningSummary())
1143
1155
  defaultOpts.reasoningSummary = "auto";
1144
1156
  return defaultOpts;