@od-oneapp/ai-platform 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (872) hide show
  1. package/README.md +235 -0
  2. package/dist/agents-base.d.mts +12 -0
  3. package/dist/agents-base.d.mts.map +1 -0
  4. package/dist/agents-base.mjs +20 -0
  5. package/dist/agents-base.mjs.map +1 -0
  6. package/dist/agents-control-flow.d.mts +115 -0
  7. package/dist/agents-control-flow.d.mts.map +1 -0
  8. package/dist/agents-control-flow.mjs +514 -0
  9. package/dist/agents-control-flow.mjs.map +1 -0
  10. package/dist/agents-coordinator.d.mts +11 -0
  11. package/dist/agents-coordinator.d.mts.map +1 -0
  12. package/dist/agents-coordinator.mjs +12 -0
  13. package/dist/agents-coordinator.mjs.map +1 -0
  14. package/dist/agents-experimental.d.mts +153 -0
  15. package/dist/agents-experimental.d.mts.map +1 -0
  16. package/dist/agents-experimental.mjs +580 -0
  17. package/dist/agents-experimental.mjs.map +1 -0
  18. package/dist/agents-fallback.d.mts +10 -0
  19. package/dist/agents-fallback.d.mts.map +1 -0
  20. package/dist/agents-fallback.mjs +15 -0
  21. package/dist/agents-fallback.mjs.map +1 -0
  22. package/dist/agents-multi-swarm.d.mts +9 -0
  23. package/dist/agents-multi-swarm.d.mts.map +1 -0
  24. package/dist/agents-multi-swarm.mjs +44 -0
  25. package/dist/agents-multi-swarm.mjs.map +1 -0
  26. package/dist/agents-multi.d.mts +10 -0
  27. package/dist/agents-multi.d.mts.map +1 -0
  28. package/dist/agents-multi.mjs +44 -0
  29. package/dist/agents-multi.mjs.map +1 -0
  30. package/dist/agents-observability.d.mts +161 -0
  31. package/dist/agents-observability.d.mts.map +1 -0
  32. package/dist/agents-observability.mjs +550 -0
  33. package/dist/agents-observability.mjs.map +1 -0
  34. package/dist/agents-patterns.d.mts +9 -0
  35. package/dist/agents-patterns.d.mts.map +1 -0
  36. package/dist/agents-patterns.mjs +18 -0
  37. package/dist/agents-patterns.mjs.map +1 -0
  38. package/dist/agents-persistence.d.mts +234 -0
  39. package/dist/agents-persistence.d.mts.map +1 -0
  40. package/dist/agents-persistence.mjs +447 -0
  41. package/dist/agents-persistence.mjs.map +1 -0
  42. package/dist/agents-triage.d.mts +11 -0
  43. package/dist/agents-triage.d.mts.map +1 -0
  44. package/dist/agents-triage.mjs +13 -0
  45. package/dist/agents-triage.mjs.map +1 -0
  46. package/dist/agents-workflows.d.mts +9 -0
  47. package/dist/agents-workflows.d.mts.map +1 -0
  48. package/dist/agents-workflows.mjs +9 -0
  49. package/dist/agents-workflows.mjs.map +1 -0
  50. package/dist/agents.d.mts +30 -0
  51. package/dist/agents.d.mts.map +1 -0
  52. package/dist/agents.mjs +50 -0
  53. package/dist/agents.mjs.map +1 -0
  54. package/dist/aggregation-8KJF1uzp.d.mts +276 -0
  55. package/dist/aggregation-8KJF1uzp.d.mts.map +1 -0
  56. package/dist/aggregation-BDop87kL.mjs +1180 -0
  57. package/dist/aggregation-BDop87kL.mjs.map +1 -0
  58. package/dist/ai-runtime-CDzQztTt.mjs +85 -0
  59. package/dist/ai-runtime-CDzQztTt.mjs.map +1 -0
  60. package/dist/ai-runtime-DIwOEc6g.d.mts +56 -0
  61. package/dist/ai-runtime-DIwOEc6g.d.mts.map +1 -0
  62. package/dist/ai-sdk-error-integration-D0GDqrM0.d.mts +553 -0
  63. package/dist/ai-sdk-error-integration-D0GDqrM0.d.mts.map +1 -0
  64. package/dist/approval-queue-BcDDQ4oQ.mjs +104 -0
  65. package/dist/approval-queue-BcDDQ4oQ.mjs.map +1 -0
  66. package/dist/approval-queue-CiKiFT9z.d.mts +21 -0
  67. package/dist/approval-queue-CiKiFT9z.d.mts.map +1 -0
  68. package/dist/audio-BzvN7r10.d.mts +79 -0
  69. package/dist/audio-BzvN7r10.d.mts.map +1 -0
  70. package/dist/audio-vBG_62ME.mjs +226 -0
  71. package/dist/audio-vBG_62ME.mjs.map +1 -0
  72. package/dist/audit-logger-Bb2JIcIk.d.mts +12 -0
  73. package/dist/audit-logger-Bb2JIcIk.d.mts.map +1 -0
  74. package/dist/audit-logger-CHIP8bRO.mjs +596 -0
  75. package/dist/audit-logger-CHIP8bRO.mjs.map +1 -0
  76. package/dist/auto-resume-BpUNbPtp.d.mts +160 -0
  77. package/dist/auto-resume-BpUNbPtp.d.mts.map +1 -0
  78. package/dist/auto-resume-BuFRNvAX.mjs +638 -0
  79. package/dist/auto-resume-BuFRNvAX.mjs.map +1 -0
  80. package/dist/budget-guard-C83KCH9V.d.mts +52 -0
  81. package/dist/budget-guard-C83KCH9V.d.mts.map +1 -0
  82. package/dist/budget-guard-d_b5rq4u.mjs +158 -0
  83. package/dist/budget-guard-d_b5rq4u.mjs.map +1 -0
  84. package/dist/budget-guard-gyhJS00s.mjs +234 -0
  85. package/dist/budget-guard-gyhJS00s.mjs.map +1 -0
  86. package/dist/buffer-BC8mvXHE.d.mts +98 -0
  87. package/dist/buffer-BC8mvXHE.d.mts.map +1 -0
  88. package/dist/buffer-CefJGbRy.mjs +289 -0
  89. package/dist/buffer-CefJGbRy.mjs.map +1 -0
  90. package/dist/caching-adapters.d.mts +5 -0
  91. package/dist/caching-adapters.mjs +3 -0
  92. package/dist/caching-strategies.d.mts +52 -0
  93. package/dist/caching-strategies.d.mts.map +1 -0
  94. package/dist/caching-strategies.mjs +703 -0
  95. package/dist/caching-strategies.mjs.map +1 -0
  96. package/dist/caching.d.mts +14 -0
  97. package/dist/caching.d.mts.map +1 -0
  98. package/dist/caching.mjs +15 -0
  99. package/dist/caching.mjs.map +1 -0
  100. package/dist/catalog.d.mts +19 -0
  101. package/dist/catalog.d.mts.map +1 -0
  102. package/dist/catalog.mjs +1114 -0
  103. package/dist/catalog.mjs.map +1 -0
  104. package/dist/chunk-CkzbjWQW.mjs +20 -0
  105. package/dist/circuit-breaker-DoKWPORd.mjs +262 -0
  106. package/dist/circuit-breaker-DoKWPORd.mjs.map +1 -0
  107. package/dist/circuit-breaker-Mey3E7tW.d.mts +64 -0
  108. package/dist/circuit-breaker-Mey3E7tW.d.mts.map +1 -0
  109. package/dist/citation-generator-C-9RpbHq.mjs +103 -0
  110. package/dist/citation-generator-C-9RpbHq.mjs.map +1 -0
  111. package/dist/citation-generator-CDSymDs_.d.mts +18 -0
  112. package/dist/citation-generator-CDSymDs_.d.mts.map +1 -0
  113. package/dist/client-CpacYDIE.mjs +882 -0
  114. package/dist/client-CpacYDIE.mjs.map +1 -0
  115. package/dist/client.d.mts +103 -0
  116. package/dist/client.d.mts.map +1 -0
  117. package/dist/client.mjs +470 -0
  118. package/dist/client.mjs.map +1 -0
  119. package/dist/compliance-approval-queue-DQGLojAm.mjs +172 -0
  120. package/dist/compliance-approval-queue-DQGLojAm.mjs.map +1 -0
  121. package/dist/compliance-approval-queue-IrMxFfSJ.d.mts +99 -0
  122. package/dist/compliance-approval-queue-IrMxFfSJ.d.mts.map +1 -0
  123. package/dist/compliance-wrapper-CrOMHhHN.mjs +528 -0
  124. package/dist/compliance-wrapper-CrOMHhHN.mjs.map +1 -0
  125. package/dist/conditions-DmQ6Y1Wt.mjs +179 -0
  126. package/dist/conditions-DmQ6Y1Wt.mjs.map +1 -0
  127. package/dist/conditions-zDrKfrc3.d.mts +42 -0
  128. package/dist/conditions-zDrKfrc3.d.mts.map +1 -0
  129. package/dist/console-BGMxxPZN.mjs +181 -0
  130. package/dist/console-BGMxxPZN.mjs.map +1 -0
  131. package/dist/console-DqEqZd4A.d.mts +76 -0
  132. package/dist/console-DqEqZd4A.d.mts.map +1 -0
  133. package/dist/controller-BOy3-xbC.mjs +501 -0
  134. package/dist/controller-BOy3-xbC.mjs.map +1 -0
  135. package/dist/controller-Y0NGosbJ.d.mts +104 -0
  136. package/dist/controller-Y0NGosbJ.d.mts.map +1 -0
  137. package/dist/coordinator-agent-BglqZLwo.d.mts +54 -0
  138. package/dist/coordinator-agent-BglqZLwo.d.mts.map +1 -0
  139. package/dist/coordinator-agent-WFWBRL-G.mjs +236 -0
  140. package/dist/coordinator-agent-WFWBRL-G.mjs.map +1 -0
  141. package/dist/crypto-8ABhc3TD.mjs +40 -0
  142. package/dist/crypto-8ABhc3TD.mjs.map +1 -0
  143. package/dist/environment-CSoJb0SW.mjs +255 -0
  144. package/dist/environment-CSoJb0SW.mjs.map +1 -0
  145. package/dist/error-handling-DNVkm6RY.mjs +1334 -0
  146. package/dist/error-handling-DNVkm6RY.mjs.map +1 -0
  147. package/dist/errors-CQ8tF4dP.mjs +985 -0
  148. package/dist/errors-CQ8tF4dP.mjs.map +1 -0
  149. package/dist/errors-CfYdVeum.d.mts +212 -0
  150. package/dist/errors-CfYdVeum.d.mts.map +1 -0
  151. package/dist/errors-Dtn-UeRi.mjs +61 -0
  152. package/dist/errors-Dtn-UeRi.mjs.map +1 -0
  153. package/dist/evaluator-Cs84qkr8.mjs +91 -0
  154. package/dist/evaluator-Cs84qkr8.mjs.map +1 -0
  155. package/dist/evaluator-optimizer-De67_mJC.mjs +1086 -0
  156. package/dist/evaluator-optimizer-De67_mJC.mjs.map +1 -0
  157. package/dist/evaluator-optimizer-pattern-B5939s2Z.mjs +367 -0
  158. package/dist/evaluator-optimizer-pattern-B5939s2Z.mjs.map +1 -0
  159. package/dist/evaluator-optimizer-pattern-D1AJrzBD.d.mts +72 -0
  160. package/dist/evaluator-optimizer-pattern-D1AJrzBD.d.mts.map +1 -0
  161. package/dist/factory-DP6VSl8C.mjs +307 -0
  162. package/dist/factory-DP6VSl8C.mjs.map +1 -0
  163. package/dist/generative-ui-catalog.d.mts +8 -0
  164. package/dist/generative-ui-catalog.d.mts.map +1 -0
  165. package/dist/generative-ui-catalog.mjs +679 -0
  166. package/dist/generative-ui-catalog.mjs.map +1 -0
  167. package/dist/generative-ui-registry.d.mts +195 -0
  168. package/dist/generative-ui-registry.d.mts.map +1 -0
  169. package/dist/generative-ui-registry.mjs +250 -0
  170. package/dist/generative-ui-registry.mjs.map +1 -0
  171. package/dist/generative-ui-stream.d.mts +23 -0
  172. package/dist/generative-ui-stream.d.mts.map +1 -0
  173. package/dist/generative-ui-stream.mjs +219 -0
  174. package/dist/generative-ui-stream.mjs.map +1 -0
  175. package/dist/generative-ui-types.d.mts +123 -0
  176. package/dist/generative-ui-types.d.mts.map +1 -0
  177. package/dist/generative-ui-types.mjs +1 -0
  178. package/dist/generative-ui.d.mts +13 -0
  179. package/dist/generative-ui.d.mts.map +1 -0
  180. package/dist/generative-ui.mjs +21 -0
  181. package/dist/generative-ui.mjs.map +1 -0
  182. package/dist/governance-audit.d.mts +3 -0
  183. package/dist/governance-audit.mjs +3 -0
  184. package/dist/governance-compliance.d.mts +5 -0
  185. package/dist/governance-compliance.mjs +4 -0
  186. package/dist/governance-policies.d.mts +4 -0
  187. package/dist/governance-policies.mjs +4 -0
  188. package/dist/governance-tenancy.d.mts +3 -0
  189. package/dist/governance-tenancy.mjs +3 -0
  190. package/dist/governance.d.mts +88 -0
  191. package/dist/governance.d.mts.map +1 -0
  192. package/dist/governance.mjs +432 -0
  193. package/dist/governance.mjs.map +1 -0
  194. package/dist/grounding-attribution.d.mts +63 -0
  195. package/dist/grounding-attribution.d.mts.map +1 -0
  196. package/dist/grounding-attribution.mjs +259 -0
  197. package/dist/grounding-attribution.mjs.map +1 -0
  198. package/dist/grounding-citation.d.mts +2 -0
  199. package/dist/grounding-citation.mjs +3 -0
  200. package/dist/grounding-context.d.mts +9 -0
  201. package/dist/grounding-context.d.mts.map +1 -0
  202. package/dist/grounding-context.mjs +19 -0
  203. package/dist/grounding-context.mjs.map +1 -0
  204. package/dist/grounding-embed.d.mts +102 -0
  205. package/dist/grounding-embed.d.mts.map +1 -0
  206. package/dist/grounding-embed.mjs +417 -0
  207. package/dist/grounding-embed.mjs.map +1 -0
  208. package/dist/grounding-hallucination.d.mts +44 -0
  209. package/dist/grounding-hallucination.d.mts.map +1 -0
  210. package/dist/grounding-hallucination.mjs +115 -0
  211. package/dist/grounding-hallucination.mjs.map +1 -0
  212. package/dist/grounding-proof-map.d.mts +9 -0
  213. package/dist/grounding-proof-map.d.mts.map +1 -0
  214. package/dist/grounding-proof-map.mjs +26 -0
  215. package/dist/grounding-proof-map.mjs.map +1 -0
  216. package/dist/grounding-rag.d.mts +10 -0
  217. package/dist/grounding-rag.d.mts.map +1 -0
  218. package/dist/grounding-rag.mjs +27 -0
  219. package/dist/grounding-rag.mjs.map +1 -0
  220. package/dist/grounding-verification.d.mts +48 -0
  221. package/dist/grounding-verification.d.mts.map +1 -0
  222. package/dist/grounding-verification.mjs +224 -0
  223. package/dist/grounding-verification.mjs.map +1 -0
  224. package/dist/grounding.d.mts +24 -0
  225. package/dist/grounding.d.mts.map +1 -0
  226. package/dist/grounding.mjs +77 -0
  227. package/dist/grounding.mjs.map +1 -0
  228. package/dist/hitl-active-learning.d.mts +41 -0
  229. package/dist/hitl-active-learning.d.mts.map +1 -0
  230. package/dist/hitl-active-learning.mjs +178 -0
  231. package/dist/hitl-active-learning.mjs.map +1 -0
  232. package/dist/hitl-annotation.d.mts +74 -0
  233. package/dist/hitl-annotation.d.mts.map +1 -0
  234. package/dist/hitl-annotation.mjs +170 -0
  235. package/dist/hitl-annotation.mjs.map +1 -0
  236. package/dist/hitl-approval.d.mts +2 -0
  237. package/dist/hitl-approval.mjs +3 -0
  238. package/dist/hitl-feedback.d.mts +59 -0
  239. package/dist/hitl-feedback.d.mts.map +1 -0
  240. package/dist/hitl-feedback.mjs +137 -0
  241. package/dist/hitl-feedback.mjs.map +1 -0
  242. package/dist/hitl-review.d.mts +2 -0
  243. package/dist/hitl-review.mjs +3 -0
  244. package/dist/hitl.d.mts +14 -0
  245. package/dist/hitl.d.mts.map +1 -0
  246. package/dist/hitl.mjs +22 -0
  247. package/dist/hitl.mjs.map +1 -0
  248. package/dist/index-B17HT-VL.d.mts +285 -0
  249. package/dist/index-B17HT-VL.d.mts.map +1 -0
  250. package/dist/index-BDwgsK9B.d.mts +101 -0
  251. package/dist/index-BDwgsK9B.d.mts.map +1 -0
  252. package/dist/index-BGgMn_Ev.d.mts +2615 -0
  253. package/dist/index-BGgMn_Ev.d.mts.map +1 -0
  254. package/dist/index-DOqe5r9G.d.mts +318 -0
  255. package/dist/index-DOqe5r9G.d.mts.map +1 -0
  256. package/dist/index-DotINT7o.d.mts +1004 -0
  257. package/dist/index-DotINT7o.d.mts.map +1 -0
  258. package/dist/index-URlW7aD1.d.mts +67 -0
  259. package/dist/index-URlW7aD1.d.mts.map +1 -0
  260. package/dist/index.d.mts +64 -0
  261. package/dist/index.d.mts.map +1 -0
  262. package/dist/index.mjs +46 -0
  263. package/dist/index.mjs.map +1 -0
  264. package/dist/integrations-blob-storage.d.mts +25 -0
  265. package/dist/integrations-blob-storage.d.mts.map +1 -0
  266. package/dist/integrations-blob-storage.mjs +3 -0
  267. package/dist/integrations-notifications.d.mts +2 -0
  268. package/dist/integrations-notifications.mjs +3 -0
  269. package/dist/integrations-rate-limit.d.mts +27 -0
  270. package/dist/integrations-rate-limit.d.mts.map +1 -0
  271. package/dist/integrations-rate-limit.mjs +30 -0
  272. package/dist/integrations-rate-limit.mjs.map +1 -0
  273. package/dist/integrations-redis.d.mts +3 -0
  274. package/dist/integrations-redis.mjs +3 -0
  275. package/dist/integrations-stream.d.mts +14 -0
  276. package/dist/integrations-stream.d.mts.map +1 -0
  277. package/dist/integrations-stream.mjs +3 -0
  278. package/dist/integrations.d.mts +7 -0
  279. package/dist/integrations.mjs +7 -0
  280. package/dist/log-adapter-BLegSZtz.d.mts +16 -0
  281. package/dist/log-adapter-BLegSZtz.d.mts.map +1 -0
  282. package/dist/log-adapter-PPe_2Pwv.mjs +28 -0
  283. package/dist/log-adapter-PPe_2Pwv.mjs.map +1 -0
  284. package/dist/loop-BOYEtr2g.mjs +520 -0
  285. package/dist/loop-BOYEtr2g.mjs.map +1 -0
  286. package/dist/loop-C-tBBOqi.d.mts +219 -0
  287. package/dist/loop-C-tBBOqi.d.mts.map +1 -0
  288. package/dist/middleware-5wQ9bANW.mjs +306 -0
  289. package/dist/middleware-5wQ9bANW.mjs.map +1 -0
  290. package/dist/middleware-C1apSrj0.mjs +613 -0
  291. package/dist/middleware-C1apSrj0.mjs.map +1 -0
  292. package/dist/middleware-C7k0uItW.d.mts +9 -0
  293. package/dist/middleware-C7k0uItW.d.mts.map +1 -0
  294. package/dist/middleware-CZQCTHfl.mjs +366 -0
  295. package/dist/middleware-CZQCTHfl.mjs.map +1 -0
  296. package/dist/models.d.mts +11 -0
  297. package/dist/models.d.mts.map +1 -0
  298. package/dist/models.mjs +32 -0
  299. package/dist/models.mjs.map +1 -0
  300. package/dist/observability-analytics.d.mts +107 -0
  301. package/dist/observability-analytics.d.mts.map +1 -0
  302. package/dist/observability-analytics.mjs +409 -0
  303. package/dist/observability-analytics.mjs.map +1 -0
  304. package/dist/observability-cost.d.mts +10 -0
  305. package/dist/observability-cost.d.mts.map +1 -0
  306. package/dist/observability-cost.mjs +15 -0
  307. package/dist/observability-cost.mjs.map +1 -0
  308. package/dist/observability-telemetry.d.mts +111 -0
  309. package/dist/observability-telemetry.d.mts.map +1 -0
  310. package/dist/observability-telemetry.mjs +343 -0
  311. package/dist/observability-telemetry.mjs.map +1 -0
  312. package/dist/observability-tracing.d.mts +10 -0
  313. package/dist/observability-tracing.d.mts.map +1 -0
  314. package/dist/observability-tracing.mjs +17 -0
  315. package/dist/observability-tracing.mjs.map +1 -0
  316. package/dist/observability.d.mts +15 -0
  317. package/dist/observability.d.mts.map +1 -0
  318. package/dist/observability.mjs +17 -0
  319. package/dist/observability.mjs.map +1 -0
  320. package/dist/optimizer-DhXXpci6.mjs +97 -0
  321. package/dist/optimizer-DhXXpci6.mjs.map +1 -0
  322. package/dist/output-multimodal.d.mts +9 -0
  323. package/dist/output-multimodal.d.mts.map +1 -0
  324. package/dist/output-multimodal.mjs +18 -0
  325. package/dist/output-multimodal.mjs.map +1 -0
  326. package/dist/output.d.mts +11 -0
  327. package/dist/output.d.mts.map +1 -0
  328. package/dist/output.mjs +40 -0
  329. package/dist/output.mjs.map +1 -0
  330. package/dist/pii-filter-3AxmYSiu.d.mts +23 -0
  331. package/dist/pii-filter-3AxmYSiu.d.mts.map +1 -0
  332. package/dist/pipelines.d.mts +448 -0
  333. package/dist/pipelines.d.mts.map +1 -0
  334. package/dist/pipelines.mjs +1534 -0
  335. package/dist/pipelines.mjs.map +1 -0
  336. package/dist/prompt-injection-DQXchzsV.d.mts +8 -0
  337. package/dist/prompt-injection-DQXchzsV.d.mts.map +1 -0
  338. package/dist/prompt-injection-RpoLPwSa.mjs +52 -0
  339. package/dist/prompt-injection-RpoLPwSa.mjs.map +1 -0
  340. package/dist/prompts.d.mts +192 -0
  341. package/dist/prompts.d.mts.map +1 -0
  342. package/dist/prompts.mjs +732 -0
  343. package/dist/prompts.mjs.map +1 -0
  344. package/dist/protocol-DfBiEsnl.d.mts +112 -0
  345. package/dist/protocol-DfBiEsnl.d.mts.map +1 -0
  346. package/dist/quota-manager-0iPMkQWN.d.mts +62 -0
  347. package/dist/quota-manager-0iPMkQWN.d.mts.map +1 -0
  348. package/dist/quota-manager-D_N7FuQ2.mjs +180 -0
  349. package/dist/quota-manager-D_N7FuQ2.mjs.map +1 -0
  350. package/dist/redaction-utils-DcQwsiNh.mjs +438 -0
  351. package/dist/redaction-utils-DcQwsiNh.mjs.map +1 -0
  352. package/dist/redis-CpsSrF8K.mjs +102 -0
  353. package/dist/redis-CpsSrF8K.mjs.map +1 -0
  354. package/dist/redis-CwguYFGh.d.mts +33 -0
  355. package/dist/redis-CwguYFGh.d.mts.map +1 -0
  356. package/dist/registry-CsD3iTIx.mjs +190 -0
  357. package/dist/registry-CsD3iTIx.mjs.map +1 -0
  358. package/dist/registry-DVPWzkXR.d.mts +36 -0
  359. package/dist/registry-DVPWzkXR.d.mts.map +1 -0
  360. package/dist/reranking-BpWYhYzl.d.mts +72 -0
  361. package/dist/reranking-BpWYhYzl.d.mts.map +1 -0
  362. package/dist/reranking-Ck8aKZW7.mjs +331 -0
  363. package/dist/reranking-Ck8aKZW7.mjs.map +1 -0
  364. package/dist/resumable-adapter-CO1HtsgJ.mjs +21 -0
  365. package/dist/resumable-adapter-CO1HtsgJ.mjs.map +1 -0
  366. package/dist/review-trigger-DmAsiQlM.d.mts +24 -0
  367. package/dist/review-trigger-DmAsiQlM.d.mts.map +1 -0
  368. package/dist/review-trigger-DwXfpww9.mjs +112 -0
  369. package/dist/review-trigger-DwXfpww9.mjs.map +1 -0
  370. package/dist/safe-context-BynhkTKR.d.mts +54 -0
  371. package/dist/safe-context-BynhkTKR.d.mts.map +1 -0
  372. package/dist/safe-context-C5A3Wv3b.mjs +143 -0
  373. package/dist/safe-context-C5A3Wv3b.mjs.map +1 -0
  374. package/dist/schema-Bu2noOZ4.mjs +27 -0
  375. package/dist/schema-Bu2noOZ4.mjs.map +1 -0
  376. package/dist/schema-CwFvuCnA.mjs +97 -0
  377. package/dist/schema-CwFvuCnA.mjs.map +1 -0
  378. package/dist/schema-Wz-1-ro9.d.mts +37 -0
  379. package/dist/schema-Wz-1-ro9.d.mts.map +1 -0
  380. package/dist/schemas-CxQtxIga.mjs +62 -0
  381. package/dist/schemas-CxQtxIga.mjs.map +1 -0
  382. package/dist/schemas-DBOhxgW7.d.mts +32 -0
  383. package/dist/schemas-DBOhxgW7.d.mts.map +1 -0
  384. package/dist/schemas-Dp_OCqBt.d.mts +63 -0
  385. package/dist/schemas-Dp_OCqBt.d.mts.map +1 -0
  386. package/dist/schemas-SwCsnT0z.mjs +83 -0
  387. package/dist/schemas-SwCsnT0z.mjs.map +1 -0
  388. package/dist/sdk-errors.d.mts +2 -0
  389. package/dist/sdk-errors.mjs +3 -0
  390. package/dist/sdk-experimental.d.mts +59 -0
  391. package/dist/sdk-experimental.d.mts.map +1 -0
  392. package/dist/sdk-experimental.mjs +193 -0
  393. package/dist/sdk-experimental.mjs.map +1 -0
  394. package/dist/sdk-stop-conditions.d.mts +3 -0
  395. package/dist/sdk-stop-conditions.mjs +3 -0
  396. package/dist/sdk.d.mts +15 -0
  397. package/dist/sdk.d.mts.map +1 -0
  398. package/dist/sdk.mjs +50 -0
  399. package/dist/sdk.mjs.map +1 -0
  400. package/dist/security-guardrails.d.mts +3 -0
  401. package/dist/security-guardrails.mjs +3 -0
  402. package/dist/security-injection.d.mts +2 -0
  403. package/dist/security-injection.mjs +3 -0
  404. package/dist/security.d.mts +12 -0
  405. package/dist/security.d.mts.map +1 -0
  406. package/dist/security.mjs +18 -0
  407. package/dist/security.mjs.map +1 -0
  408. package/dist/server.d.mts +420 -0
  409. package/dist/server.d.mts.map +1 -0
  410. package/dist/server.mjs +2225 -0
  411. package/dist/server.mjs.map +1 -0
  412. package/dist/shared.d.mts +2 -0
  413. package/dist/shared.mjs +3 -0
  414. package/dist/streaming-control.d.mts +2 -0
  415. package/dist/streaming-control.mjs +4 -0
  416. package/dist/streaming-core.d.mts +4 -0
  417. package/dist/streaming-core.mjs +3 -0
  418. package/dist/streaming-infra-resilience.d.mts +120 -0
  419. package/dist/streaming-infra-resilience.d.mts.map +1 -0
  420. package/dist/streaming-infra-resilience.mjs +358 -0
  421. package/dist/streaming-infra-resilience.mjs.map +1 -0
  422. package/dist/streaming-infra-transport.d.mts +57 -0
  423. package/dist/streaming-infra-transport.d.mts.map +1 -0
  424. package/dist/streaming-infra-transport.mjs +488 -0
  425. package/dist/streaming-infra-transport.mjs.map +1 -0
  426. package/dist/streaming-infra.d.mts +5 -0
  427. package/dist/streaming-infra.mjs +5 -0
  428. package/dist/streaming.d.mts +17 -0
  429. package/dist/streaming.d.mts.map +1 -0
  430. package/dist/streaming.mjs +71 -0
  431. package/dist/streaming.mjs.map +1 -0
  432. package/dist/telemetry-2eKMojIb.mjs +1046 -0
  433. package/dist/telemetry-2eKMojIb.mjs.map +1 -0
  434. package/dist/telemetry-C2t03dwD.d.mts +59 -0
  435. package/dist/telemetry-C2t03dwD.d.mts.map +1 -0
  436. package/dist/tool-Btbththq.d.mts +253 -0
  437. package/dist/tool-Btbththq.d.mts.map +1 -0
  438. package/dist/tool-JSf8JXZ8.mjs +1150 -0
  439. package/dist/tool-JSf8JXZ8.mjs.map +1 -0
  440. package/dist/tool-safety-CZO8a4D4.d.mts +60 -0
  441. package/dist/tool-safety-CZO8a4D4.d.mts.map +1 -0
  442. package/dist/tool-safety-DXtYDXod.mjs +319 -0
  443. package/dist/tool-safety-DXtYDXod.mjs.map +1 -0
  444. package/dist/tools-BuS2Uv0q.mjs +1708 -0
  445. package/dist/tools-BuS2Uv0q.mjs.map +1 -0
  446. package/dist/tools-approval.d.mts +99 -0
  447. package/dist/tools-approval.d.mts.map +1 -0
  448. package/dist/tools-approval.mjs +395 -0
  449. package/dist/tools-approval.mjs.map +1 -0
  450. package/dist/tools-compliance.d.mts +67 -0
  451. package/dist/tools-compliance.d.mts.map +1 -0
  452. package/dist/tools-compliance.mjs +330 -0
  453. package/dist/tools-compliance.mjs.map +1 -0
  454. package/dist/tools-computer.d.mts +25 -0
  455. package/dist/tools-computer.d.mts.map +1 -0
  456. package/dist/tools-computer.mjs +64 -0
  457. package/dist/tools-computer.mjs.map +1 -0
  458. package/dist/tools-core.d.mts +3 -0
  459. package/dist/tools-core.mjs +3 -0
  460. package/dist/tools-mcp.d.mts +3 -0
  461. package/dist/tools-mcp.mjs +5 -0
  462. package/dist/tools-superpowers.d.mts +2 -0
  463. package/dist/tools-superpowers.mjs +3 -0
  464. package/dist/tools.d.mts +401 -0
  465. package/dist/tools.d.mts.map +1 -0
  466. package/dist/tools.mjs +1921 -0
  467. package/dist/tools.mjs.map +1 -0
  468. package/dist/transport-selector-D-Ib05X1.mjs +1936 -0
  469. package/dist/transport-selector-D-Ib05X1.mjs.map +1 -0
  470. package/dist/triage-agent-BEsXg5sw.d.mts +63 -0
  471. package/dist/triage-agent-BEsXg5sw.d.mts.map +1 -0
  472. package/dist/triage-agent-CBsfX-HW.mjs +167 -0
  473. package/dist/triage-agent-CBsfX-HW.mjs.map +1 -0
  474. package/dist/types-BPnq3GQo.d.mts +23 -0
  475. package/dist/types-BPnq3GQo.d.mts.map +1 -0
  476. package/dist/types-BjWgimpY.d.mts +16 -0
  477. package/dist/types-BjWgimpY.d.mts.map +1 -0
  478. package/dist/types-BxD-5btB.d.mts +41 -0
  479. package/dist/types-BxD-5btB.d.mts.map +1 -0
  480. package/dist/types-By-r93bE.d.mts +36 -0
  481. package/dist/types-By-r93bE.d.mts.map +1 -0
  482. package/dist/types-CLBWFRZN.d.mts +69 -0
  483. package/dist/types-CLBWFRZN.d.mts.map +1 -0
  484. package/dist/types-CQ0HFd0u.d.mts +62 -0
  485. package/dist/types-CQ0HFd0u.d.mts.map +1 -0
  486. package/dist/types-D3zJb59_.d.mts +47 -0
  487. package/dist/types-D3zJb59_.d.mts.map +1 -0
  488. package/dist/types-DJnugQX0.d.mts +80 -0
  489. package/dist/types-DJnugQX0.d.mts.map +1 -0
  490. package/dist/types-DbUfMCnT.d.mts +70 -0
  491. package/dist/types-DbUfMCnT.d.mts.map +1 -0
  492. package/dist/upstash-adapter-D96Caq2O.mjs +22 -0
  493. package/dist/upstash-adapter-D96Caq2O.mjs.map +1 -0
  494. package/dist/upstash-adapter-DD4433dx.d.mts +8 -0
  495. package/dist/upstash-adapter-DD4433dx.d.mts.map +1 -0
  496. package/dist/utils-BlYhcD6M.mjs +319 -0
  497. package/dist/utils-BlYhcD6M.mjs.map +1 -0
  498. package/dist/utils-DpJGOb3y.d.mts +120 -0
  499. package/dist/utils-DpJGOb3y.d.mts.map +1 -0
  500. package/dist/vercel-blob-adapter-CkOXLT2D.mjs +25 -0
  501. package/dist/vercel-blob-adapter-CkOXLT2D.mjs.map +1 -0
  502. package/dist/xai-CbV_dCnP.mjs +1600 -0
  503. package/dist/xai-CbV_dCnP.mjs.map +1 -0
  504. package/package.json +479 -0
  505. package/src/agents/base/factory.ts +382 -0
  506. package/src/agents/base/index.ts +8 -0
  507. package/src/agents/base/schemas.ts +117 -0
  508. package/src/agents/base/types.ts +192 -0
  509. package/src/agents/control-flow/index.ts +683 -0
  510. package/src/agents/coordinator/coordinator-agent.ts +381 -0
  511. package/src/agents/coordinator/index.ts +6 -0
  512. package/src/agents/default-agent.ts +211 -0
  513. package/src/agents/evaluator-optimizer/README.md +612 -0
  514. package/src/agents/evaluator-optimizer/evaluator-optimizer.example.ts +437 -0
  515. package/src/agents/evaluator-optimizer/evaluator.ts +282 -0
  516. package/src/agents/evaluator-optimizer/index.test.ts +416 -0
  517. package/src/agents/evaluator-optimizer/index.ts +519 -0
  518. package/src/agents/evaluator-optimizer/optimizer.ts +322 -0
  519. package/src/agents/evaluator-optimizer/schema.ts +302 -0
  520. package/src/agents/evaluator-optimizer/utils.ts +42 -0
  521. package/src/agents/experimental/index.ts +1095 -0
  522. package/src/agents/experimental/types.ts +212 -0
  523. package/src/agents/fallback/index.ts +18 -0
  524. package/src/agents/fallback/recovery/circuit-breaker.ts +166 -0
  525. package/src/agents/fallback/strategies/model-fallback.ts +192 -0
  526. package/src/agents/fallback/types.ts +87 -0
  527. package/src/agents/governance-agent.ts +446 -0
  528. package/src/agents/index.ts +79 -0
  529. package/src/agents/multi/coordination/index.ts +6 -0
  530. package/src/agents/multi/coordination/message-bus.ts +144 -0
  531. package/src/agents/multi/index.ts +6 -0
  532. package/src/agents/multi/state/index.ts +162 -0
  533. package/src/agents/multi/supervisor/index.ts +7 -0
  534. package/src/agents/multi/supervisor/supervisor.ts +254 -0
  535. package/src/agents/multi/swarm/aggregation.ts +466 -0
  536. package/src/agents/multi/swarm/communication.ts +388 -0
  537. package/src/agents/multi/swarm/coordination.ts +380 -0
  538. package/src/agents/multi/swarm/index.ts +73 -0
  539. package/src/agents/multi/swarm/swarm-executor.ts +479 -0
  540. package/src/agents/multi/types.ts +181 -0
  541. package/src/agents/observability/index.ts +914 -0
  542. package/src/agents/orchestrator.ts +218 -0
  543. package/src/agents/patterns/README.md +512 -0
  544. package/src/agents/patterns/evaluator-optimizer-pattern.example.ts +455 -0
  545. package/src/agents/patterns/evaluator-optimizer-pattern.ts +653 -0
  546. package/src/agents/patterns/index.ts +26 -0
  547. package/src/agents/persistence/index.ts +726 -0
  548. package/src/agents/tools/index.ts +291 -0
  549. package/src/agents/tools/mcp.ts +188 -0
  550. package/src/agents/triage/index.ts +6 -0
  551. package/src/agents/triage/triage-agent.ts +280 -0
  552. package/src/agents/workflows/index.ts +6 -0
  553. package/src/agents/workflows/interfaces.ts +36 -0
  554. package/src/agents/workflows/schema.ts +20 -0
  555. package/src/caching/adapters/index.ts +7 -0
  556. package/src/caching/adapters/memory.ts +77 -0
  557. package/src/caching/adapters/redis.ts +60 -0
  558. package/src/caching/index.ts +17 -0
  559. package/src/caching/middleware.ts +452 -0
  560. package/src/caching/strategies/index.ts +1008 -0
  561. package/src/caching/types.ts +47 -0
  562. package/src/catalog.ts +921 -0
  563. package/src/client/chat-usage.ts +53 -0
  564. package/src/client/hooks.ts +343 -0
  565. package/src/client/index.ts +36 -0
  566. package/src/client/message-utils.ts +29 -0
  567. package/src/client/use-generative-ui.ts +174 -0
  568. package/src/client/utils.ts +66 -0
  569. package/src/generative-ui/catalog.ts +653 -0
  570. package/src/generative-ui/index.ts +82 -0
  571. package/src/generative-ui/registry.ts +273 -0
  572. package/src/generative-ui/stream.ts +324 -0
  573. package/src/generative-ui/types.ts +376 -0
  574. package/src/governance/audit/audit-logger.ts +239 -0
  575. package/src/governance/audit/audit-schema.ts +82 -0
  576. package/src/governance/audit/index.ts +6 -0
  577. package/src/governance/compliance/abac/policy-engine.ts +175 -0
  578. package/src/governance/compliance/abac/types.ts +40 -0
  579. package/src/governance/compliance/approval/compliance-approval-queue.ts +217 -0
  580. package/src/governance/compliance/index.ts +16 -0
  581. package/src/governance/compliance/schemas.ts +68 -0
  582. package/src/governance/compliance/types.ts +143 -0
  583. package/src/governance/compliance/validators/phi-detector.ts +145 -0
  584. package/src/governance/compliance/validators/redaction-utils.ts +176 -0
  585. package/src/governance/compliance/validators/safe-harbor.ts +135 -0
  586. package/src/governance/entitlements/index.ts +585 -0
  587. package/src/governance/entitlements/middleware.ts +651 -0
  588. package/src/governance/entitlements/rate-limiter.ts +711 -0
  589. package/src/governance/index.ts +32 -0
  590. package/src/governance/policies/guardrails.ts +1121 -0
  591. package/src/governance/policies/index.ts +42 -0
  592. package/src/governance/policies/loop-controls.ts +136 -0
  593. package/src/governance/policies/telemetry.ts +63 -0
  594. package/src/governance/tenancy/index.ts +30 -0
  595. package/src/governance/tenancy/isolation/context.ts +92 -0
  596. package/src/governance/tenancy/isolation/index.ts +13 -0
  597. package/src/governance/tenancy/quotas/index.ts +11 -0
  598. package/src/governance/tenancy/quotas/quota-manager.ts +180 -0
  599. package/src/governance/tenancy/types.ts +66 -0
  600. package/src/governance/types.ts +16 -0
  601. package/src/governance/versioning/index.ts +573 -0
  602. package/src/grounding/attribution/index.ts +424 -0
  603. package/src/grounding/citation/citation-generator.ts +174 -0
  604. package/src/grounding/citation/index.ts +12 -0
  605. package/src/grounding/context/index.ts +32 -0
  606. package/src/grounding/context/safe-context.ts +116 -0
  607. package/src/grounding/context/types.ts +62 -0
  608. package/src/grounding/context-engineering/error-handling.ts +359 -0
  609. package/src/grounding/context-engineering/index.ts +23 -0
  610. package/src/grounding/context-engineering/memory.ts +559 -0
  611. package/src/grounding/context-engineering/tool-masking.ts +338 -0
  612. package/src/grounding/embed/index.ts +704 -0
  613. package/src/grounding/embed/reranking.ts +604 -0
  614. package/src/grounding/hallucination/index.ts +223 -0
  615. package/src/grounding/index.ts +82 -0
  616. package/src/grounding/proof-map/applyPatch.ts +172 -0
  617. package/src/grounding/proof-map/index.ts +41 -0
  618. package/src/grounding/proof-map/loop.ts +275 -0
  619. package/src/grounding/proof-map/schema.ts +217 -0
  620. package/src/grounding/rag/__tests__/pipeline.test.ts +274 -0
  621. package/src/grounding/rag/__tests__/tool.test.ts +202 -0
  622. package/src/grounding/rag/__tests__/trace.test.ts +229 -0
  623. package/src/grounding/rag/circuit-breaker.ts +152 -0
  624. package/src/grounding/rag/index.ts +64 -0
  625. package/src/grounding/rag/pipeline.ts +602 -0
  626. package/src/grounding/rag/tool.ts +281 -0
  627. package/src/grounding/rag/trace.ts +503 -0
  628. package/src/grounding/rag/types.ts +284 -0
  629. package/src/grounding/retrieval/in-memory-store.ts +107 -0
  630. package/src/grounding/sources/index.ts +943 -0
  631. package/src/grounding/tests/applyPatch.test.ts +194 -0
  632. package/src/grounding/tests/loop.test.ts +141 -0
  633. package/src/grounding/tests/schema.test.ts +160 -0
  634. package/src/grounding/types.ts +100 -0
  635. package/src/grounding/verification/index.ts +419 -0
  636. package/src/hitl/active-learning/index.ts +332 -0
  637. package/src/hitl/annotation/index.ts +362 -0
  638. package/src/hitl/approval/approval-queue.ts +132 -0
  639. package/src/hitl/approval/index.ts +5 -0
  640. package/src/hitl/feedback/index.ts +284 -0
  641. package/src/hitl/index.ts +69 -0
  642. package/src/hitl/review/index.ts +6 -0
  643. package/src/hitl/review/review-trigger.ts +162 -0
  644. package/src/hitl/types.ts +126 -0
  645. package/src/index.ts +125 -0
  646. package/src/integrations/blob-storage/index.ts +7 -0
  647. package/src/integrations/blob-storage/types.ts +28 -0
  648. package/src/integrations/blob-storage/vercel-blob-adapter.ts +35 -0
  649. package/src/integrations/index.ts +15 -0
  650. package/src/integrations/notifications/index.ts +7 -0
  651. package/src/integrations/notifications/log-adapter.ts +30 -0
  652. package/src/integrations/notifications/types.ts +27 -0
  653. package/src/integrations/rate-limit/index.ts +7 -0
  654. package/src/integrations/rate-limit/types.ts +26 -0
  655. package/src/integrations/rate-limit/upstash-adapter.ts +45 -0
  656. package/src/integrations/redis/index.ts +7 -0
  657. package/src/integrations/redis/types.ts +67 -0
  658. package/src/integrations/redis/upstash-adapter.ts +18 -0
  659. package/src/integrations/stream/index.ts +7 -0
  660. package/src/integrations/stream/resumable-adapter.ts +20 -0
  661. package/src/integrations/stream/types.ts +21 -0
  662. package/src/internal/__tests__/hallucination.test.ts +162 -0
  663. package/src/internal/__tests__/models.test.ts +104 -0
  664. package/src/internal/__tests__/sdk-errors.test.ts +201 -0
  665. package/src/internal/__tests__/stop-conditions.test.ts +210 -0
  666. package/src/internal/shared/ai-types.ts +942 -0
  667. package/src/internal/testing/evaluators.ts +575 -0
  668. package/src/internal/testing/index.ts +960 -0
  669. package/src/internal/ui/data-parts.ts +511 -0
  670. package/src/internal/ui/type-guards.ts +344 -0
  671. package/src/internal/ui-factories/__tests__/ui-factories.test.ts +548 -0
  672. package/src/internal/ui-factories/artifact-factory.ts +667 -0
  673. package/src/internal/ui-factories/index.ts +82 -0
  674. package/src/internal/ui-factories/shimmer-manager.ts +220 -0
  675. package/src/internal/ui-factories/status-helpers.ts +149 -0
  676. package/src/internal/ui-factories/tool-renderer.ts +167 -0
  677. package/src/internal/ui-factories/types.ts +235 -0
  678. package/src/models/capabilities.ts +88 -0
  679. package/src/models/index.ts +16 -0
  680. package/src/models/provider-factory.ts +229 -0
  681. package/src/models/providers/anthropic.ts +539 -0
  682. package/src/models/providers/google.ts +354 -0
  683. package/src/models/providers/index.ts +21 -0
  684. package/src/models/providers/openai.ts +346 -0
  685. package/src/models/providers/perplexity.ts +276 -0
  686. package/src/models/providers/shared.ts +90 -0
  687. package/src/models/providers/xai.ts +269 -0
  688. package/src/models/registry.ts +208 -0
  689. package/src/models/routing/index.ts +45 -0
  690. package/src/models/routing/intent-router.ts +143 -0
  691. package/src/models/routing/model-router.ts +300 -0
  692. package/src/models/routing/types.ts +106 -0
  693. package/src/models/types.ts +23 -0
  694. package/src/observability/analytics/index.ts +593 -0
  695. package/src/observability/cost/index.ts +16 -0
  696. package/src/observability/cost/tracking/budget-guard.ts +110 -0
  697. package/src/observability/cost/tracking/usage-tracker.ts +120 -0
  698. package/src/observability/cost/types.ts +85 -0
  699. package/src/observability/index.ts +17 -0
  700. package/src/observability/telemetry/index.ts +508 -0
  701. package/src/observability/tracing/index.ts +30 -0
  702. package/src/observability/tracing/otel/ai-instrumentation.ts +193 -0
  703. package/src/observability/tracing/otel/exporters/console.ts +58 -0
  704. package/src/observability/tracing/otel/exporters/index.ts +6 -0
  705. package/src/observability/tracing/provenance.ts +769 -0
  706. package/src/observability/tracing/types.ts +92 -0
  707. package/src/output/__tests__/output.test.ts +737 -0
  708. package/src/output/element-stream.ts +678 -0
  709. package/src/output/errors.ts +108 -0
  710. package/src/output/factories.ts +392 -0
  711. package/src/output/index.ts +98 -0
  712. package/src/output/multimodal/EXPORTS.md +306 -0
  713. package/src/output/multimodal/IMPLEMENTATION_SUMMARY.md +421 -0
  714. package/src/output/multimodal/README.md +349 -0
  715. package/src/output/multimodal/SETUP_GUIDE.md +472 -0
  716. package/src/output/multimodal/audio.ts +650 -0
  717. package/src/output/multimodal/image.ts +22 -0
  718. package/src/output/multimodal/index.ts +32 -0
  719. package/src/output/multimodal/providers.example.ts +375 -0
  720. package/src/output/validator.ts +495 -0
  721. package/src/pipelines/adapters/trace-storage-blob.ts +458 -0
  722. package/src/pipelines/adapters/trace-storage-memory.ts +319 -0
  723. package/src/pipelines/defaults.ts +109 -0
  724. package/src/pipelines/index.ts +24 -0
  725. package/src/pipelines/message-transforms.ts +107 -0
  726. package/src/pipelines/multi-step-wrapper.ts +433 -0
  727. package/src/pipelines/pipeline-presets.ts +339 -0
  728. package/src/pipelines/step-executor.ts +257 -0
  729. package/src/pipelines/storage-factory.ts +85 -0
  730. package/src/pipelines/trace-storage-interface.ts +216 -0
  731. package/src/pipelines/types.ts +255 -0
  732. package/src/pipelines/validation.ts +323 -0
  733. package/src/prompts/index.ts +271 -0
  734. package/src/prompts/model-variants.ts +410 -0
  735. package/src/prompts/templates.ts +327 -0
  736. package/src/sdk/errors/base.ts +296 -0
  737. package/src/sdk/errors/index.ts +31 -0
  738. package/src/sdk/errors/utils.ts +148 -0
  739. package/src/sdk/experimental/index.ts +286 -0
  740. package/src/sdk/index.ts +25 -0
  741. package/src/sdk/middleware/ai-middleware.ts +95 -0
  742. package/src/sdk/middleware/cache.ts +154 -0
  743. package/src/sdk/middleware/circuit-breaker.ts +388 -0
  744. package/src/sdk/middleware/compose.ts +81 -0
  745. package/src/sdk/middleware/deduplication.ts +307 -0
  746. package/src/sdk/middleware/index.ts +660 -0
  747. package/src/sdk/middleware/model-middleware.ts +200 -0
  748. package/src/sdk/stop-conditions/conditions.ts +209 -0
  749. package/src/sdk/stop-conditions/index.ts +35 -0
  750. package/src/sdk/stop-conditions/types.ts +59 -0
  751. package/src/security/guardrails/index.ts +6 -0
  752. package/src/security/guardrails/middleware.ts +465 -0
  753. package/src/security/guardrails/pii-filter.ts +396 -0
  754. package/src/security/index.ts +33 -0
  755. package/src/security/injection/index.ts +5 -0
  756. package/src/security/injection/prompt-injection.ts +64 -0
  757. package/src/security/types.ts +85 -0
  758. package/src/server/cache/crypto.ts +47 -0
  759. package/src/server/cache/performance.ts +79 -0
  760. package/src/server/error-handler.ts +93 -0
  761. package/src/server/errors.ts +73 -0
  762. package/src/server/helpers.ts +944 -0
  763. package/src/server/http.ts +156 -0
  764. package/src/server/index.ts +12 -0
  765. package/src/server/messages/__tests__/messages.test.ts +720 -0
  766. package/src/server/messages/converter.ts +245 -0
  767. package/src/server/messages/data-parts.ts +338 -0
  768. package/src/server/messages/extraction.ts +328 -0
  769. package/src/server/messages/index.ts +126 -0
  770. package/src/server/messages/types.ts +355 -0
  771. package/src/server/messages/window.ts +450 -0
  772. package/src/server/rate-limit/env.ts +8 -0
  773. package/src/server/rate-limit/rate-limit.ts +165 -0
  774. package/src/server/routes/HEALTH_CHECK.md +502 -0
  775. package/src/server/routes/IMPLEMENTATION_SUMMARY.md +432 -0
  776. package/src/server/routes/QUICK_START.md +327 -0
  777. package/src/server/routes/README.md +357 -0
  778. package/src/server/routes/__tests__/routes.test.ts +628 -0
  779. package/src/server/routes/agent-route.ts +224 -0
  780. package/src/server/routes/agent-routes.ts +191 -0
  781. package/src/server/routes/embed-config.ts +181 -0
  782. package/src/server/routes/health-check.example.ts +507 -0
  783. package/src/server/routes/health-check.test.ts +533 -0
  784. package/src/server/routes/health-check.ts +639 -0
  785. package/src/server/routes/health-check.types.ts +217 -0
  786. package/src/server/routes/index.ts +32 -0
  787. package/src/server/routes/types.ts +274 -0
  788. package/src/shared/__tests__/schemas.test.ts +317 -0
  789. package/src/shared/ai-runtime.ts +139 -0
  790. package/src/shared/ai-types.ts +133 -0
  791. package/src/shared/index.ts +30 -0
  792. package/src/shared/sdk-runtime.ts +198 -0
  793. package/src/shared/sdk-types.ts +301 -0
  794. package/src/streaming/control/__tests__/streaming-control.test.ts +708 -0
  795. package/src/streaming/control/budget-guard.ts +264 -0
  796. package/src/streaming/control/controller.ts +255 -0
  797. package/src/streaming/control/index.ts +105 -0
  798. package/src/streaming/control/smoothing.ts +201 -0
  799. package/src/streaming/control/step-limit.ts +215 -0
  800. package/src/streaming/control/types.ts +234 -0
  801. package/src/streaming/core/auto-resume.ts +276 -0
  802. package/src/streaming/core/index.ts +85 -0
  803. package/src/streaming/core/multi-step.ts +471 -0
  804. package/src/streaming/core/protocol.ts +194 -0
  805. package/src/streaming/core/types.ts +182 -0
  806. package/src/streaming/index.ts +97 -0
  807. package/src/streaming/infra/backpressure/buffer.ts +210 -0
  808. package/src/streaming/infra/backpressure/index.ts +6 -0
  809. package/src/streaming/infra/index.ts +75 -0
  810. package/src/streaming/infra/multiplexing/index.ts +311 -0
  811. package/src/streaming/infra/resilience/index.ts +684 -0
  812. package/src/streaming/infra/transform/index.ts +15 -0
  813. package/src/streaming/infra/transform/stream-transforms.ts +166 -0
  814. package/src/streaming/infra/transport/index.ts +774 -0
  815. package/src/streaming/infra/types.ts +118 -0
  816. package/src/streaming/infra-extra/types.ts +118 -0
  817. package/src/tools/advanced/caching.ts +299 -0
  818. package/src/tools/advanced/generator.ts +267 -0
  819. package/src/tools/advanced/hitl.ts +251 -0
  820. package/src/tools/advanced/index.ts +9 -0
  821. package/src/tools/advanced/llm-tool.ts +208 -0
  822. package/src/tools/approval/FILES.md +449 -0
  823. package/src/tools/approval/IMPLEMENTATION_SUMMARY.md +567 -0
  824. package/src/tools/approval/QUICK_START.md +362 -0
  825. package/src/tools/approval/README.md +514 -0
  826. package/src/tools/approval/advanced-approval-queue.ts +7 -0
  827. package/src/tools/approval/approval.example.ts +571 -0
  828. package/src/tools/approval/in-memory-queue.ts +405 -0
  829. package/src/tools/approval/index.ts +737 -0
  830. package/src/tools/approval/middleware.ts +590 -0
  831. package/src/tools/approval/queue-factory.ts +162 -0
  832. package/src/tools/approval/redis-queue.ts +327 -0
  833. package/src/tools/approval/testing.ts +493 -0
  834. package/src/tools/approval/types.ts +221 -0
  835. package/src/tools/approval/with-approval.ts +366 -0
  836. package/src/tools/artifacts/artifact-tools.ts +273 -0
  837. package/src/tools/artifacts/index.ts +6 -0
  838. package/src/tools/compliance/compliance-wrapper.ts +789 -0
  839. package/src/tools/compliance/create-compliant-stream.ts +226 -0
  840. package/src/tools/compliance/index.ts +8 -0
  841. package/src/tools/compliance/phi-redaction.ts +406 -0
  842. package/src/tools/compliance/tool-wrapper.ts +306 -0
  843. package/src/tools/computer/index.ts +99 -0
  844. package/src/tools/computer/types.ts +41 -0
  845. package/src/tools/core/abort.ts +202 -0
  846. package/src/tools/core/factory.ts +197 -0
  847. package/src/tools/core/index.ts +8 -0
  848. package/src/tools/core/tool-safety.ts +112 -0
  849. package/src/tools/generic/index.ts +9 -0
  850. package/src/tools/generic/json-schema-tool.ts +301 -0
  851. package/src/tools/generic/tiptap-context.ts +619 -0
  852. package/src/tools/generic/web-search-tool.ts +82 -0
  853. package/src/tools/generic/web-search.ts +142 -0
  854. package/src/tools/index.ts +36 -0
  855. package/src/tools/mcp/ai-sdk-error-integration.ts +401 -0
  856. package/src/tools/mcp/client.ts +988 -0
  857. package/src/tools/mcp/connection-manager.ts +380 -0
  858. package/src/tools/mcp/connection-pool.ts +408 -0
  859. package/src/tools/mcp/edge-runtime.ts +318 -0
  860. package/src/tools/mcp/environment.ts +310 -0
  861. package/src/tools/mcp/index.ts +20 -0
  862. package/src/tools/mcp/next-pattern.ts +401 -0
  863. package/src/tools/mcp/stream-lifecycle-integration.ts +617 -0
  864. package/src/tools/mcp/tool-cache.ts +359 -0
  865. package/src/tools/mcp/transport-selector.ts +492 -0
  866. package/src/tools/mcp/transports.ts +99 -0
  867. package/src/tools/simple-factory.ts +55 -0
  868. package/src/tools/superpowers/index.ts +122 -0
  869. package/src/tools/superpowers/prompts/index.ts +533 -0
  870. package/src/tools/superpowers/schemas/index.ts +701 -0
  871. package/src/tools/superpowers/tools/index.ts +721 -0
  872. package/src/tools/validation-wrapper.ts +97 -0
@@ -0,0 +1,882 @@
1
+ import { t as __exportAll } from "./chunk-CkzbjWQW.mjs";
2
+ import { r as getErrorCode } from "./errors-Dtn-UeRi.mjs";
3
+ import { createMCPClient } from "@ai-sdk/mcp";
4
+ import { Experimental_StdioMCPTransport } from "@ai-sdk/mcp/mcp-stdio";
5
+ import { logError, logInfo, logWarn } from "@od-oneapp/shared/logs";
6
+ import "server-only";
7
+
8
+ //#region src/tools/mcp/ai-sdk-error-integration.ts
9
+ /**
10
+ * @fileoverview ai-sdk-error-integration.ts
11
+ */
12
+ /**
13
+ * Enhanced error class that conforms to AI SDK v6 error handling patterns
14
+ */
15
+ var AISDKCompatibleMCPError = class AISDKCompatibleMCPError extends Error {
16
+ errorType;
17
+ timestamp;
18
+ recoverable;
19
+ metadata;
20
+ constructor(message, errorType = "unknown-error", originalError, metadata = {}, recoverable = false) {
21
+ super(message);
22
+ this.name = "AISDKCompatibleMCPError";
23
+ this.errorType = errorType;
24
+ this.timestamp = /* @__PURE__ */ new Date();
25
+ this.recoverable = recoverable;
26
+ this.metadata = {
27
+ ...metadata,
28
+ originalError: originalError?.message,
29
+ originalStack: originalError?.stack
30
+ };
31
+ if (Error.captureStackTrace) Error.captureStackTrace(this, AISDKCompatibleMCPError);
32
+ }
33
+ /**
34
+ * Convert to AI SDK error format for logging
35
+ */
36
+ toAISDKFormat() {
37
+ return {
38
+ name: this.name,
39
+ message: this.message,
40
+ errorType: this.errorType,
41
+ timestamp: this.timestamp.toISOString(),
42
+ recoverable: this.recoverable,
43
+ metadata: this.metadata,
44
+ stack: this.stack
45
+ };
46
+ }
47
+ };
48
+ /**
49
+ * Error handler factory for MCP operations
50
+ * Creates standardized error handlers that integrate with AI SDK v6 patterns
51
+ */
52
+ var MCPErrorHandlerFactory = class {
53
+ clientName;
54
+ operationContext;
55
+ constructor(clientName, operationContext = "mcp-operation") {
56
+ this.clientName = clientName;
57
+ this.operationContext = operationContext;
58
+ }
59
+ /**
60
+ * Create an onUncaughtError handler for AI SDK v6 integration
61
+ */
62
+ createUncaughtErrorHandler(cleanupFn, options = {}) {
63
+ const { enableRecovery = false, maxRecoveryAttempts = 1, logLevel = "error" } = options;
64
+ let recoveryAttempts = 0;
65
+ return (error) => {
66
+ const aiError = this.convertToAISDKError(error);
67
+ (logLevel === "warn" ? logWarn : logLevel === "info" ? logInfo : logError)(`MCP uncaught error in ${this.operationContext}`, {
68
+ operation: "mcp_uncaught_error_handler",
69
+ metadata: {
70
+ clientName: this.clientName,
71
+ errorType: aiError.errorType,
72
+ recoverable: aiError.recoverable,
73
+ recoveryAttempts,
74
+ maxRecoveryAttempts,
75
+ ...aiError.metadata
76
+ },
77
+ error: aiError
78
+ });
79
+ if (enableRecovery && aiError.recoverable && recoveryAttempts < maxRecoveryAttempts) {
80
+ recoveryAttempts++;
81
+ logInfo(`Attempting recovery for MCP error (attempt ${recoveryAttempts}/${maxRecoveryAttempts})`, {
82
+ operation: "mcp_error_recovery_attempt",
83
+ metadata: {
84
+ clientName: this.clientName,
85
+ recoveryAttempt: recoveryAttempts,
86
+ errorType: aiError.errorType
87
+ }
88
+ });
89
+ return;
90
+ }
91
+ (async () => {
92
+ try {
93
+ await cleanupFn();
94
+ } catch (cleanupError) {
95
+ logError(`Failed to cleanup after uncaught error in ${this.operationContext}`, {
96
+ operation: "mcp_cleanup_after_uncaught_error",
97
+ metadata: {
98
+ clientName: this.clientName,
99
+ originalError: aiError.message,
100
+ cleanupError: cleanupError instanceof Error ? cleanupError.message : String(cleanupError)
101
+ },
102
+ error: cleanupError instanceof Error ? cleanupError : new Error(String(cleanupError))
103
+ });
104
+ }
105
+ })();
106
+ };
107
+ }
108
+ /**
109
+ * Create a stream error handler for AI SDK v6 streaming integration
110
+ */
111
+ createStreamErrorHandler(cleanupFn, onStreamError) {
112
+ return (error) => {
113
+ const aiError = this.convertToAISDKError(error, "transport-error");
114
+ logError(`MCP stream error in ${this.operationContext}`, {
115
+ operation: "mcp_stream_error_handler",
116
+ metadata: {
117
+ clientName: this.clientName,
118
+ errorType: aiError.errorType,
119
+ streamContext: this.operationContext,
120
+ ...aiError.metadata
121
+ },
122
+ error: aiError
123
+ });
124
+ if (onStreamError) try {
125
+ onStreamError(aiError);
126
+ } catch (callbackError) {
127
+ logError(`Stream error callback failed in ${this.operationContext}`, {
128
+ operation: "mcp_stream_error_callback_failure",
129
+ metadata: {
130
+ clientName: this.clientName,
131
+ callbackError: callbackError instanceof Error ? callbackError.message : String(callbackError)
132
+ },
133
+ error: callbackError instanceof Error ? callbackError : new Error(String(callbackError))
134
+ });
135
+ }
136
+ (async () => {
137
+ try {
138
+ await cleanupFn();
139
+ } catch (cleanupError) {
140
+ logError(`Failed to cleanup after stream error in ${this.operationContext}`, {
141
+ operation: "mcp_stream_cleanup_error",
142
+ metadata: {
143
+ clientName: this.clientName,
144
+ originalError: aiError.message,
145
+ cleanupError: cleanupError instanceof Error ? cleanupError.message : String(cleanupError)
146
+ },
147
+ error: cleanupError instanceof Error ? cleanupError : new Error(String(cleanupError))
148
+ });
149
+ }
150
+ })();
151
+ };
152
+ }
153
+ /**
154
+ * Create a finish handler for proper AI SDK v6 lifecycle management
155
+ */
156
+ createFinishHandler(cleanupFn, successCallback) {
157
+ return async () => {
158
+ try {
159
+ await cleanupFn();
160
+ logInfo(`MCP operation completed successfully in ${this.operationContext}`, {
161
+ operation: "mcp_finish_handler_success",
162
+ metadata: {
163
+ clientName: this.clientName,
164
+ operationContext: this.operationContext
165
+ }
166
+ });
167
+ if (successCallback) try {
168
+ successCallback();
169
+ } catch (callbackError) {
170
+ logWarn(`Success callback failed in ${this.operationContext}`, {
171
+ operation: "mcp_success_callback_failure",
172
+ metadata: {
173
+ clientName: this.clientName,
174
+ callbackError: callbackError instanceof Error ? callbackError.message : String(callbackError)
175
+ }
176
+ });
177
+ }
178
+ } catch (error) {
179
+ const aiError = this.convertToAISDKError(error instanceof Error ? error : new Error(String(error)));
180
+ logError(`MCP finish handler failed in ${this.operationContext}`, {
181
+ operation: "mcp_finish_handler_error",
182
+ metadata: {
183
+ clientName: this.clientName,
184
+ errorType: aiError.errorType,
185
+ ...aiError.metadata
186
+ },
187
+ error: aiError
188
+ });
189
+ throw aiError;
190
+ }
191
+ };
192
+ }
193
+ /**
194
+ * Convert generic error to AI SDK compatible error
195
+ */
196
+ convertToAISDKError(error, defaultType = "unknown-error") {
197
+ if (error instanceof AISDKCompatibleMCPError) return error;
198
+ let errorType = defaultType;
199
+ let recoverable = false;
200
+ if (error.message.includes("ECONNREFUSED") || error.message.includes("ENOTFOUND")) {
201
+ errorType = "connection-error";
202
+ recoverable = true;
203
+ } else if (error.message.includes("timeout") || error.message.includes("TIMEOUT")) {
204
+ errorType = "timeout-error";
205
+ recoverable = true;
206
+ } else if (error.message.includes("transport") || error.message.includes("Transport")) {
207
+ errorType = "transport-error";
208
+ recoverable = true;
209
+ } else if (error.message.includes("validation") || error.message.includes("invalid")) {
210
+ errorType = "validation-error";
211
+ recoverable = false;
212
+ } else if (error.message.includes("resource") || error.message.includes("limit")) {
213
+ errorType = "resource-exhausted";
214
+ recoverable = true;
215
+ } else if (error.message.includes("tool") || error.message.includes("execution")) {
216
+ errorType = "tool-execution-error";
217
+ recoverable = false;
218
+ }
219
+ return new AISDKCompatibleMCPError(error.message, errorType, error, {
220
+ clientName: this.clientName,
221
+ operationContext: this.operationContext,
222
+ originalErrorName: error.name
223
+ }, recoverable);
224
+ }
225
+ };
226
+ /**
227
+ * Utility functions for AI SDK v6 error integration
228
+ */
229
+ const MCPErrorUtils = {
230
+ createErrorContext(clientName, operation) {
231
+ return new MCPErrorHandlerFactory(clientName, operation);
232
+ },
233
+ isRecoverableError(error) {
234
+ if (error instanceof AISDKCompatibleMCPError) return error.recoverable;
235
+ return [
236
+ "ECONNREFUSED",
237
+ "ENOTFOUND",
238
+ "TIMEOUT",
239
+ "timeout",
240
+ "network",
241
+ "temporary",
242
+ "rate limit",
243
+ "throttle"
244
+ ].some((pattern) => error.message.toLowerCase().includes(pattern.toLowerCase()));
245
+ },
246
+ extractErrorMetadata(error) {
247
+ const metadata = {
248
+ errorName: error.name,
249
+ errorMessage: error.message,
250
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
251
+ };
252
+ if (error instanceof AISDKCompatibleMCPError) {
253
+ metadata.errorType = error.errorType;
254
+ metadata.recoverable = error.recoverable;
255
+ metadata.customMetadata = error.metadata;
256
+ }
257
+ const errorCode = getErrorCode(error);
258
+ if (errorCode) metadata.errorCode = errorCode;
259
+ const errorDetails = error;
260
+ if (typeof errorDetails.errno === "string" || typeof errorDetails.errno === "number") metadata.errno = errorDetails.errno;
261
+ if (typeof errorDetails.syscall === "string") metadata.syscall = errorDetails.syscall;
262
+ return metadata;
263
+ }
264
+ };
265
+
266
+ //#endregion
267
+ //#region src/tools/mcp/client.ts
268
+ /**
269
+ * @fileoverview client.ts
270
+ */
271
+ var client_exports = /* @__PURE__ */ __exportAll({
272
+ DEFAULT_HEALTH_CHECK_CONFIG: () => DEFAULT_HEALTH_CHECK_CONFIG,
273
+ DEFAULT_RETRY_CONFIG: () => DEFAULT_RETRY_CONFIG,
274
+ MCPConnectionError: () => MCPConnectionError,
275
+ MCPHealthMonitor: () => MCPHealthMonitor,
276
+ MCPHealthStatus: () => MCPHealthStatus,
277
+ MCPRequestManager: () => MCPRequestManager,
278
+ MCPRetryableError: () => MCPRetryableError,
279
+ MCPTransportError: () => MCPTransportError,
280
+ createMCPToolsForRequest: () => createMCPToolsForRequest,
281
+ createMCPToolsFromConfigs: () => createMCPToolsFromConfigs,
282
+ createTransportFromConfig: () => createTransportFromConfig,
283
+ globalMCPHealthMonitor: () => globalMCPHealthMonitor,
284
+ withRetryAndTimeout: () => withRetryAndTimeout
285
+ });
286
+ /**
287
+ * Default retry configuration
288
+ */
289
+ const DEFAULT_RETRY_CONFIG = {
290
+ maxAttempts: 3,
291
+ initialDelayMs: 1e3,
292
+ maxDelayMs: 1e4,
293
+ backoffMultiplier: 2,
294
+ retryableErrors: [
295
+ "ECONNREFUSED",
296
+ "ENOTFOUND",
297
+ "TIMEOUT",
298
+ "NETWORK_ERROR",
299
+ "CONNECTION_LOST"
300
+ ]
301
+ };
302
+ /**
303
+ * Default health check configuration
304
+ */
305
+ const DEFAULT_HEALTH_CHECK_CONFIG = {
306
+ enabled: true,
307
+ intervalMs: 6e4,
308
+ timeoutMs: 5e3,
309
+ failureThreshold: 3,
310
+ recoveryThreshold: 2
311
+ };
312
+ /**
313
+ * Health status for MCP servers
314
+ */
315
+ let MCPHealthStatus = /* @__PURE__ */ function(MCPHealthStatus) {
316
+ MCPHealthStatus["HEALTHY"] = "healthy";
317
+ MCPHealthStatus["DEGRADED"] = "degraded";
318
+ MCPHealthStatus["UNHEALTHY"] = "unhealthy";
319
+ MCPHealthStatus["UNKNOWN"] = "unknown";
320
+ return MCPHealthStatus;
321
+ }({});
322
+ /**
323
+ * MCP Error types for better error handling
324
+ */
325
+ var MCPConnectionError = class extends Error {
326
+ constructor(message, clientName, transportType, originalError) {
327
+ super(message);
328
+ this.clientName = clientName;
329
+ this.transportType = transportType;
330
+ this.originalError = originalError;
331
+ this.name = "MCPConnectionError";
332
+ }
333
+ };
334
+ var MCPTransportError = class extends Error {
335
+ constructor(message, transportType, originalError) {
336
+ super(message);
337
+ this.transportType = transportType;
338
+ this.originalError = originalError;
339
+ this.name = "MCPTransportError";
340
+ }
341
+ };
342
+ var MCPRetryableError = class extends Error {
343
+ constructor(message, attempt, maxAttempts, originalError) {
344
+ super(message);
345
+ this.attempt = attempt;
346
+ this.maxAttempts = maxAttempts;
347
+ this.originalError = originalError;
348
+ this.name = "MCPRetryableError";
349
+ }
350
+ };
351
+ /**
352
+ * Utility function to check if an error is retryable
353
+ */
354
+ function isRetryableError(error, retryableErrors) {
355
+ const errorMessage = error.message.toUpperCase();
356
+ const errorCode = getErrorCode(error);
357
+ return retryableErrors.some((pattern) => errorMessage.includes(pattern.toUpperCase()) || errorCode === pattern);
358
+ }
359
+ /**
360
+ * Utility function to calculate exponential backoff delay
361
+ */
362
+ function calculateDelay(attempt, config) {
363
+ const delay = config.initialDelayMs * Math.pow(config.backoffMultiplier, attempt - 1);
364
+ return Math.min(delay, config.maxDelayMs);
365
+ }
366
+ /**
367
+ * Utility function to sleep for a given duration
368
+ */
369
+ function sleep(ms) {
370
+ return new Promise((resolve) => setTimeout(resolve, ms));
371
+ }
372
+ /**
373
+ * Timeout wrapper that cancels operations after a specified duration
374
+ */
375
+ async function withTimeout(operation, timeoutMs, context = "MCP operation") {
376
+ const timeoutPromise = new Promise((resolve, reject) => {
377
+ setTimeout(() => {
378
+ reject(/* @__PURE__ */ new Error(`${context} timed out after ${timeoutMs}ms`));
379
+ }, timeoutMs);
380
+ });
381
+ return Promise.race([operation(), timeoutPromise]);
382
+ }
383
+ /**
384
+ * Enhanced retry wrapper with exponential backoff
385
+ */
386
+ async function withRetry(operation, config = DEFAULT_RETRY_CONFIG, context = "MCP operation") {
387
+ let lastError;
388
+ for (let attempt = 1; attempt <= config.maxAttempts; attempt++) try {
389
+ return await operation();
390
+ } catch (error) {
391
+ lastError = error instanceof Error ? error : new Error(String(error));
392
+ if (attempt === config.maxAttempts || !isRetryableError(lastError, config.retryableErrors)) {
393
+ logError(`${context} failed after ${attempt} attempts`, {
394
+ operation: "mcp_retry_exhausted",
395
+ metadata: {
396
+ context,
397
+ attempt,
398
+ maxAttempts: config.maxAttempts,
399
+ error: lastError.message
400
+ },
401
+ error: lastError
402
+ });
403
+ throw lastError;
404
+ }
405
+ const delay = calculateDelay(attempt, config);
406
+ logWarn(`${context} failed, retrying in ${delay}ms (attempt ${attempt}/${config.maxAttempts})`, {
407
+ operation: "mcp_retry_attempt",
408
+ metadata: {
409
+ context,
410
+ attempt,
411
+ maxAttempts: config.maxAttempts,
412
+ delayMs: delay,
413
+ error: lastError.message
414
+ }
415
+ });
416
+ await sleep(delay);
417
+ }
418
+ throw lastError || /* @__PURE__ */ new Error(`${context} failed after all retry attempts`);
419
+ }
420
+ /**
421
+ * Combined retry and timeout wrapper
422
+ */
423
+ async function withRetryAndTimeout(operation, retryConfig = DEFAULT_RETRY_CONFIG, timeoutMs, context = "MCP operation") {
424
+ return withRetry(timeoutMs ? () => withTimeout(operation, timeoutMs, context) : operation, retryConfig, context);
425
+ }
426
+ /**
427
+ * MCP Server Health Monitor
428
+ * Tracks health status of MCP servers and provides graceful degradation
429
+ */
430
+ var MCPHealthMonitor = class {
431
+ healthStatuses = /* @__PURE__ */ new Map();
432
+ healthCheckIntervals = /* @__PURE__ */ new Map();
433
+ /**
434
+ * Start health monitoring for a client configuration
435
+ */
436
+ startMonitoring(config) {
437
+ const healthConfig = config.healthCheck ?? DEFAULT_HEALTH_CHECK_CONFIG;
438
+ if (!healthConfig.enabled) return;
439
+ this.healthStatuses.set(config.name, {
440
+ status: MCPHealthStatus.UNKNOWN,
441
+ lastCheck: /* @__PURE__ */ new Date(),
442
+ consecutiveFailures: 0,
443
+ consecutiveSuccesses: 0
444
+ });
445
+ const intervalId = setInterval(() => {
446
+ this.performHealthCheck(config);
447
+ }, healthConfig.intervalMs);
448
+ this.healthCheckIntervals.set(config.name, intervalId);
449
+ this.performHealthCheck(config);
450
+ }
451
+ /**
452
+ * Stop health monitoring for a client
453
+ */
454
+ stopMonitoring(clientName) {
455
+ const intervalId = this.healthCheckIntervals.get(clientName);
456
+ if (intervalId) {
457
+ clearInterval(intervalId);
458
+ this.healthCheckIntervals.delete(clientName);
459
+ }
460
+ this.healthStatuses.delete(clientName);
461
+ }
462
+ /**
463
+ * Get current health status for a client
464
+ */
465
+ getHealthStatus(clientName) {
466
+ return this.healthStatuses.get(clientName);
467
+ }
468
+ /**
469
+ * Check if a client is currently healthy
470
+ */
471
+ isHealthy(clientName) {
472
+ return this.healthStatuses.get(clientName)?.status === MCPHealthStatus.HEALTHY;
473
+ }
474
+ /**
475
+ * Check if a client should be excluded due to poor health
476
+ */
477
+ shouldExclude(clientName) {
478
+ return this.healthStatuses.get(clientName)?.status === MCPHealthStatus.UNHEALTHY;
479
+ }
480
+ /**
481
+ * Perform a health check for a specific client
482
+ */
483
+ async performHealthCheck(config) {
484
+ const healthConfig = config.healthCheck ?? DEFAULT_HEALTH_CHECK_CONFIG;
485
+ const startTime = Date.now();
486
+ let result;
487
+ try {
488
+ await withTimeout(async () => {
489
+ const tempClient = await createMCPClient({ transport: createTransportFromConfig(config.transport) });
490
+ try {
491
+ await tempClient.tools();
492
+ await tempClient.close();
493
+ } catch (toolError) {
494
+ await tempClient.close();
495
+ throw toolError;
496
+ }
497
+ }, healthConfig.timeoutMs, `Health check for ${config.name}`);
498
+ const responseTime = Date.now() - startTime;
499
+ const currentStatus = this.healthStatuses.get(config.name);
500
+ result = {
501
+ status: MCPHealthStatus.HEALTHY,
502
+ lastCheck: /* @__PURE__ */ new Date(),
503
+ consecutiveFailures: 0,
504
+ consecutiveSuccesses: (currentStatus?.consecutiveSuccesses ?? 0) + 1,
505
+ responseTimeMs: responseTime
506
+ };
507
+ } catch (error) {
508
+ const consecutiveFailures = (this.healthStatuses.get(config.name)?.consecutiveFailures ?? 0) + 1;
509
+ let newStatus;
510
+ if (consecutiveFailures >= healthConfig.failureThreshold) newStatus = MCPHealthStatus.UNHEALTHY;
511
+ else if (consecutiveFailures > 1) newStatus = MCPHealthStatus.DEGRADED;
512
+ else newStatus = MCPHealthStatus.DEGRADED;
513
+ result = {
514
+ status: newStatus,
515
+ lastCheck: /* @__PURE__ */ new Date(),
516
+ consecutiveFailures,
517
+ consecutiveSuccesses: 0,
518
+ error: error instanceof Error ? error.message : String(error)
519
+ };
520
+ logWarn(`Health check failed for MCP client '${config.name}'`, {
521
+ operation: "mcp_health_check_failed",
522
+ metadata: {
523
+ clientName: config.name,
524
+ consecutiveFailures,
525
+ status: newStatus,
526
+ error: result.error
527
+ }
528
+ });
529
+ }
530
+ const previousStatus = this.healthStatuses.get(config.name);
531
+ this.healthStatuses.set(config.name, result);
532
+ if (previousStatus && previousStatus.status !== result.status) logWarn(`MCP client '${config.name}' health status changed: ${previousStatus.status} → ${result.status}`, {
533
+ operation: "mcp_health_status_change",
534
+ metadata: {
535
+ clientName: config.name,
536
+ previousStatus: previousStatus.status,
537
+ newStatus: result.status,
538
+ consecutiveFailures: result.consecutiveFailures,
539
+ consecutiveSuccesses: result.consecutiveSuccesses
540
+ }
541
+ });
542
+ }
543
+ /**
544
+ * Get summary of all client health statuses
545
+ */
546
+ getHealthSummary() {
547
+ return Object.fromEntries(this.healthStatuses);
548
+ }
549
+ /**
550
+ * Cleanup all monitoring
551
+ */
552
+ cleanup() {
553
+ for (const intervalId of this.healthCheckIntervals.values()) clearInterval(intervalId);
554
+ this.healthCheckIntervals.clear();
555
+ this.healthStatuses.clear();
556
+ }
557
+ };
558
+ /**
559
+ * Global health monitor instance
560
+ */
561
+ const globalMCPHealthMonitor = new MCPHealthMonitor();
562
+ /**
563
+ * Validate transport configuration at runtime
564
+ */
565
+ function validateTransportConfig(transportConfig) {
566
+ switch (transportConfig.type) {
567
+ case "stdio":
568
+ if (!transportConfig.command) throw new MCPTransportError("Command is required for stdio transport", "stdio");
569
+ break;
570
+ case "sse": {
571
+ const url = resolveRemoteUrl(transportConfig);
572
+ if (!url) throw new MCPTransportError("URL is required for SSE transport", "sse");
573
+ try {
574
+ new URL(url);
575
+ } catch {
576
+ throw new MCPTransportError("Invalid URL format for SSE transport", "sse");
577
+ }
578
+ break;
579
+ }
580
+ case "http": {
581
+ const url = resolveRemoteUrl(transportConfig);
582
+ if (!url) throw new MCPTransportError("HTTP URL is required for HTTP transport", "http");
583
+ try {
584
+ new URL(url);
585
+ } catch {
586
+ throw new MCPTransportError("Invalid HTTP URL format for HTTP transport", "http");
587
+ }
588
+ break;
589
+ }
590
+ default: throw new MCPTransportError(`Unsupported transport type: ${getTransportTypeLabel(transportConfig)}`, "unknown");
591
+ }
592
+ }
593
+ /**
594
+ * Create transport instance from configuration with proper typing and validation
595
+ */
596
+ function createTransportFromConfig(transportConfig) {
597
+ validateTransportConfig(transportConfig);
598
+ switch (transportConfig.type) {
599
+ case "stdio":
600
+ const baseEnv = Object.entries(process.env).reduce((acc, [key, value]) => {
601
+ if (typeof value === "string") acc[key] = value;
602
+ return acc;
603
+ }, {});
604
+ return new Experimental_StdioMCPTransport({
605
+ command: transportConfig.command ?? "node",
606
+ args: transportConfig.args ?? [],
607
+ cwd: transportConfig.cwd,
608
+ stderr: transportConfig.stderr,
609
+ env: {
610
+ ...baseEnv,
611
+ ...process.env.PERPLEXITY_API_KEY && { PERPLEXITY_API_KEY: process.env.PERPLEXITY_API_KEY },
612
+ ...process.env.OPENAI_API_KEY && { OPENAI_API_KEY: process.env.OPENAI_API_KEY },
613
+ ...process.env.ANTHROPIC_API_KEY && { ANTHROPIC_API_KEY: process.env.ANTHROPIC_API_KEY },
614
+ ...transportConfig.env
615
+ }
616
+ });
617
+ case "sse": return buildRemoteTransport("sse", transportConfig);
618
+ case "http": return buildRemoteTransport("http", transportConfig);
619
+ default: throw new MCPTransportError(`Unsupported transport type: ${getTransportTypeLabel(transportConfig)}`, "unknown");
620
+ }
621
+ }
622
+ function resolveRemoteUrl(transportConfig) {
623
+ return transportConfig.url ?? transportConfig.httpUrl;
624
+ }
625
+ function getTransportTypeLabel(transportConfig) {
626
+ return typeof transportConfig.type === "string" ? transportConfig.type : "unknown";
627
+ }
628
+ function buildRemoteTransport(type, transportConfig) {
629
+ const url = resolveRemoteUrl(transportConfig);
630
+ if (!url) throw new MCPTransportError(`URL is required for ${type} transport`, type);
631
+ const headers = { ...transportConfig.headers };
632
+ if (type === "http" && transportConfig.sessionId) headers["x-mcp-session-id"] = transportConfig.sessionId;
633
+ return {
634
+ type,
635
+ url,
636
+ headers: Object.keys(headers).length > 0 ? headers : void 0,
637
+ authProvider: transportConfig.authProvider
638
+ };
639
+ }
640
+ /**
641
+ * Per-request MCP client manager following Next.js documentation pattern with AI SDK v6 integration
642
+ * Creates clients per request and cleans them up automatically with proper error handling
643
+ */
644
+ var MCPRequestManager = class {
645
+ clients = [];
646
+ tools = {};
647
+ errorHandlers = /* @__PURE__ */ new Map();
648
+ async addClient(config) {
649
+ const retryConfig = config.retry ?? DEFAULT_RETRY_CONFIG;
650
+ const timeoutMs = config.timeoutMs || 3e4;
651
+ const context = `MCP client creation (${config.name})`;
652
+ const errorHandler = new MCPErrorHandlerFactory(config.name, context);
653
+ this.errorHandlers.set(config.name, errorHandler);
654
+ if (globalMCPHealthMonitor.shouldExclude(config.name)) if (config.gracefulDegradation) {
655
+ logWarn(`Skipping unhealthy MCP client '${config.name}'`, {
656
+ operation: "mcp_skip_unhealthy",
657
+ metadata: {
658
+ clientName: config.name,
659
+ healthStatus: globalMCPHealthMonitor.getHealthStatus(config.name)
660
+ }
661
+ });
662
+ return;
663
+ } else throw new AISDKCompatibleMCPError(`MCP client '${config.name}' is marked as unhealthy`, "connection-error", void 0, {
664
+ clientName: config.name,
665
+ transportType: config.transport.type,
666
+ healthStatus: globalMCPHealthMonitor.getHealthStatus(config.name)
667
+ }, true);
668
+ try {
669
+ await withRetryAndTimeout(async () => {
670
+ const client = await createMCPClient({ transport: createTransportFromConfig(config.transport) });
671
+ this.clients.push(client);
672
+ const clientTools = await withRetryAndTimeout(() => client.tools(), retryConfig, timeoutMs, `MCP tools retrieval (${config.name})`);
673
+ Object.assign(this.tools, clientTools);
674
+ globalMCPHealthMonitor.startMonitoring(config);
675
+ }, retryConfig, timeoutMs, context);
676
+ } catch (error) {
677
+ const originalError = error instanceof Error ? error : new Error(String(error));
678
+ const aiError = new AISDKCompatibleMCPError(`Failed to create MCP client '${config.name}' after retries`, "connection-error", originalError, {
679
+ clientName: config.name,
680
+ transportType: config.transport.type,
681
+ retryAttempts: retryConfig.maxAttempts,
682
+ timeoutMs
683
+ }, MCPErrorUtils.isRecoverableError(originalError));
684
+ if (config.gracefulDegradation) {
685
+ logWarn(`MCP client '${config.name}' failed, continuing with degraded functionality`, {
686
+ operation: "mcp_graceful_degradation",
687
+ metadata: {
688
+ clientName: config.name,
689
+ transportType: config.transport.type,
690
+ error: aiError.message,
691
+ errorType: aiError.errorType,
692
+ recoverable: aiError.recoverable,
693
+ ...MCPErrorUtils.extractErrorMetadata(originalError)
694
+ }
695
+ });
696
+ return;
697
+ }
698
+ throw aiError;
699
+ }
700
+ }
701
+ getTools() {
702
+ return this.tools;
703
+ }
704
+ async close() {
705
+ const closePromises = this.clients.map(async (client, index) => {
706
+ try {
707
+ await client.close();
708
+ } catch (error) {
709
+ logWarn(`Failed to close MCP client ${index}`, {
710
+ operation: "mcp_client_close",
711
+ metadata: {
712
+ clientIndex: index,
713
+ error: error instanceof Error ? error.message : String(error)
714
+ }
715
+ });
716
+ }
717
+ });
718
+ await Promise.all(closePromises);
719
+ this.clients = [];
720
+ this.tools = {};
721
+ }
722
+ /**
723
+ * Get health summary for all managed clients
724
+ */
725
+ getHealthSummary() {
726
+ return globalMCPHealthMonitor.getHealthSummary();
727
+ }
728
+ /**
729
+ * Create AI SDK v6 compatible error handlers for all managed clients
730
+ */
731
+ createAISDKErrorHandlers() {
732
+ const onUncaughtError = (error) => {
733
+ for (const [, errorHandler] of this.errorHandlers.entries()) errorHandler.createUncaughtErrorHandler(() => this.close(), {
734
+ enableRecovery: true,
735
+ maxRecoveryAttempts: 1
736
+ })(error);
737
+ };
738
+ const onFinish = async () => {
739
+ try {
740
+ await this.close();
741
+ } catch (error) {
742
+ throw new AISDKCompatibleMCPError("Failed to close MCP clients on finish", "resource-exhausted", error instanceof Error ? error : new Error(String(error)), {
743
+ clientCount: this.clients.length,
744
+ operation: "finish_cleanup"
745
+ }, false);
746
+ }
747
+ };
748
+ const onStreamError = (error) => {
749
+ for (const [, errorHandler] of this.errorHandlers.entries()) errorHandler.createStreamErrorHandler(() => this.close())(error);
750
+ };
751
+ return {
752
+ onUncaughtError,
753
+ onFinish,
754
+ onStreamError
755
+ };
756
+ }
757
+ };
758
+ /**
759
+ * Create MCP tools for a single request (following Next.js docs pattern)
760
+ * This creates clients per request and returns cleanup functions
761
+ */
762
+ async function createMCPToolsForRequest(configs) {
763
+ const manager = new MCPRequestManager();
764
+ for (const config of configs) await manager.addClient(config);
765
+ return {
766
+ tools: manager.getTools(),
767
+ clients: manager.clients,
768
+ cleanup: () => manager.close()
769
+ };
770
+ }
771
+ /**
772
+ * Create MCP tools following the exact Next.js documentation pattern
773
+ * This function matches the pattern shown in the official AI SDK docs:
774
+ * https://sdk.vercel.ai/docs/ai-sdk-ui/mcp-tools (Next.js usage)
775
+ * https://sdk.vercel.ai/docs/ai-sdk-core/mcp-tools (Node.js usage)
776
+ *
777
+ * Next.js streamText example from official docs:
778
+ * ```typescript
779
+ * const toolSetOne = await stdioClient.tools();
780
+ * const toolSetTwo = await sseClient.tools();
781
+ * const toolSetThree = await customClient.tools();
782
+ * const tools = {
783
+ * ...toolSetOne,
784
+ * ...toolSetTwo,
785
+ * ...toolSetThree, // note: this approach causes subsequent tool sets to override tools with the same name
786
+ * };
787
+ *
788
+ * const response = streamText({
789
+ * model: openai('gpt-4o'),
790
+ * tools,
791
+ * prompt,
792
+ * onFinish: async () => {
793
+ * await stdioClient.close();
794
+ * await sseClient.close();
795
+ * await customClient.close();
796
+ * },
797
+ * });
798
+ * ```
799
+ */
800
+ async function createMCPToolsFromConfigs(configs, options = {}) {
801
+ const clients = [];
802
+ const toolSets = [];
803
+ const clientPromises = configs.map(async (config) => {
804
+ const retryConfig = config.retry ?? DEFAULT_RETRY_CONFIG;
805
+ const timeoutMs = config.timeoutMs || 3e4;
806
+ const enableGracefulDegradation = config.gracefulDegradation ?? options.gracefulDegradation ?? false;
807
+ try {
808
+ return await withRetryAndTimeout(async () => {
809
+ const client = await createMCPClient({ transport: createTransportFromConfig(config.transport) });
810
+ try {
811
+ return {
812
+ client,
813
+ toolSet: await withRetryAndTimeout(() => client.tools(), retryConfig, timeoutMs, `MCP tools retrieval (${config.name})`),
814
+ config
815
+ };
816
+ } catch (error) {
817
+ try {
818
+ await client.close();
819
+ } catch (closeError) {
820
+ logError(`Failed to close failed client ${config.name}`, {
821
+ operation: "mcp_client_cleanup",
822
+ metadata: { clientName: config.name },
823
+ error: closeError instanceof Error ? closeError : new Error(String(closeError))
824
+ });
825
+ }
826
+ throw error;
827
+ }
828
+ }, retryConfig, timeoutMs, `MCP client creation (${config.name})`);
829
+ } catch (error) {
830
+ const mcpError = new MCPConnectionError(`Failed to create MCP client '${config.name}' after retries`, config.name, config.transport.type, error instanceof Error ? error : new Error(String(error)));
831
+ if (enableGracefulDegradation) {
832
+ logWarn(`Failed to create MCP client ${config.name}, continuing with degraded functionality`, {
833
+ operation: "mcp_client_creation_degraded",
834
+ metadata: {
835
+ clientName: config.name,
836
+ transportType: config.transport.type,
837
+ retryAttempts: retryConfig.maxAttempts,
838
+ timeoutMs,
839
+ error: mcpError.message
840
+ }
841
+ });
842
+ return null;
843
+ } else throw mcpError;
844
+ }
845
+ });
846
+ const results = await Promise.all(clientPromises);
847
+ for (const result of results) if (result) {
848
+ clients.push(result.client);
849
+ toolSets.push(result.toolSet);
850
+ }
851
+ const tools = mergeToolSets(toolSets);
852
+ const closeAllClients = async () => {
853
+ const closePromises = clients.map(async (client, index) => {
854
+ try {
855
+ await client.close();
856
+ } catch (error) {
857
+ logWarn(`Failed to close MCP client ${index}`, {
858
+ operation: "mcp_client_close",
859
+ metadata: {
860
+ clientIndex: index,
861
+ error: error instanceof Error ? error.message : String(error)
862
+ }
863
+ });
864
+ }
865
+ });
866
+ await Promise.all(closePromises);
867
+ };
868
+ return {
869
+ tools,
870
+ clients,
871
+ closeAllClients
872
+ };
873
+ }
874
+ function mergeToolSets(toolSets) {
875
+ const merged = {};
876
+ for (const toolSet of toolSets) Object.assign(merged, toolSet);
877
+ return merged;
878
+ }
879
+
880
+ //#endregion
881
+ export { MCPErrorUtils as _, MCPHealthStatus as a, MCPTransportError as c, createMCPToolsFromConfigs as d, createTransportFromConfig as f, MCPErrorHandlerFactory as g, AISDKCompatibleMCPError as h, MCPHealthMonitor as i, client_exports as l, withRetryAndTimeout as m, DEFAULT_RETRY_CONFIG as n, MCPRequestManager as o, globalMCPHealthMonitor as p, MCPConnectionError as r, MCPRetryableError as s, DEFAULT_HEALTH_CHECK_CONFIG as t, createMCPToolsForRequest as u };
882
+ //# sourceMappingURL=client-CpacYDIE.mjs.map