@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 @@
1
+ {"version":3,"file":"client-CpacYDIE.mjs","names":[],"sources":["../src/tools/mcp/ai-sdk-error-integration.ts","../src/tools/mcp/client.ts"],"sourcesContent":["/**\n * @fileoverview ai-sdk-error-integration.ts\n */\n\nimport { logError, logInfo, logWarn } from '@repo/shared/logs';\n\nimport 'server-only';\nimport { getErrorCode } from '../../server/errors';\n\n/**\n * AI SDK v6 Error Integration for MCP\n * Provides standardized error handling patterns that integrate with AI SDK v6 error callbacks\n *\n * Key Features:\n * - onUncaughtError handler integration\n * - Stream error forwarding\n * - Proper error type conformance with AI SDK conventions\n * - Resource cleanup coordination\n * - Error recovery mechanisms\n */\n\n/**\n * AI SDK v6 compatible error types\n * These align with the error types expected by AI SDK callbacks\n */\nexport type AISDKErrorType =\n | 'connection-error'\n | 'transport-error'\n | 'tool-execution-error'\n | 'timeout-error'\n | 'validation-error'\n | 'resource-exhausted'\n | 'unknown-error';\n\n/**\n * Enhanced error class that conforms to AI SDK v6 error handling patterns\n */\nexport class AISDKCompatibleMCPError extends Error {\n public readonly errorType: AISDKErrorType;\n public readonly timestamp: Date;\n public readonly recoverable: boolean;\n public readonly metadata: Record<string, unknown>;\n\n constructor(\n message: string,\n errorType: AISDKErrorType = 'unknown-error',\n originalError?: Error,\n metadata: Record<string, unknown> = {},\n recoverable: boolean = false,\n ) {\n super(message);\n this.name = 'AISDKCompatibleMCPError';\n this.errorType = errorType;\n this.timestamp = new Date();\n this.recoverable = recoverable;\n this.metadata = {\n ...metadata,\n originalError: originalError?.message,\n originalStack: originalError?.stack,\n };\n\n // Maintain stack trace\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, AISDKCompatibleMCPError);\n }\n }\n\n /**\n * Convert to AI SDK error format for logging\n */\n toAISDKFormat() {\n return {\n name: this.name,\n message: this.message,\n errorType: this.errorType,\n timestamp: this.timestamp.toISOString(),\n recoverable: this.recoverable,\n metadata: this.metadata,\n stack: this.stack,\n };\n }\n}\n\n/**\n * Error handler factory for MCP operations\n * Creates standardized error handlers that integrate with AI SDK v6 patterns\n */\nexport class MCPErrorHandlerFactory {\n private clientName: string;\n private operationContext: string;\n\n constructor(clientName: string, operationContext: string = 'mcp-operation') {\n this.clientName = clientName;\n this.operationContext = operationContext;\n }\n\n /**\n * Create an onUncaughtError handler for AI SDK v6 integration\n */\n createUncaughtErrorHandler(\n cleanupFn: () => Promise<void>,\n options: {\n enableRecovery?: boolean;\n maxRecoveryAttempts?: number;\n logLevel?: 'error' | 'warn' | 'info';\n } = {},\n ): (error: Error) => void {\n const { enableRecovery = false, maxRecoveryAttempts = 1, logLevel = 'error' } = options;\n let recoveryAttempts = 0;\n\n return (error: Error) => {\n const aiError = this.convertToAISDKError(error);\n\n // Log the error according to AI SDK patterns\n const logFn = logLevel === 'warn' ? logWarn : logLevel === 'info' ? logInfo : logError;\n logFn(`MCP uncaught error in ${this.operationContext}`, {\n operation: 'mcp_uncaught_error_handler',\n metadata: {\n clientName: this.clientName,\n errorType: aiError.errorType,\n recoverable: aiError.recoverable,\n recoveryAttempts,\n maxRecoveryAttempts,\n ...aiError.metadata,\n },\n error: aiError,\n });\n\n // Attempt recovery if enabled and error is recoverable\n if (enableRecovery && aiError.recoverable && recoveryAttempts < maxRecoveryAttempts) {\n recoveryAttempts++;\n logInfo(\n `Attempting recovery for MCP error (attempt ${recoveryAttempts}/${maxRecoveryAttempts})`,\n {\n operation: 'mcp_error_recovery_attempt',\n metadata: {\n clientName: this.clientName,\n recoveryAttempt: recoveryAttempts,\n errorType: aiError.errorType,\n },\n },\n );\n\n // Recovery is handled by not calling cleanup immediately\n // The caller should implement retry logic\n return;\n }\n\n // Perform cleanup for non-recoverable errors or exhausted recovery attempts\n void (async () => {\n try {\n await cleanupFn();\n } catch (cleanupError) {\n logError(`Failed to cleanup after uncaught error in ${this.operationContext}`, {\n operation: 'mcp_cleanup_after_uncaught_error',\n metadata: {\n clientName: this.clientName,\n originalError: aiError.message,\n cleanupError:\n cleanupError instanceof Error ? cleanupError.message : String(cleanupError),\n },\n error: cleanupError instanceof Error ? cleanupError : new Error(String(cleanupError)),\n });\n }\n })();\n };\n }\n\n /**\n * Create a stream error handler for AI SDK v6 streaming integration\n */\n createStreamErrorHandler(\n cleanupFn: () => Promise<void>,\n onStreamError?: (error: AISDKCompatibleMCPError) => void,\n ): (error: Error) => void {\n return (error: Error) => {\n const aiError = this.convertToAISDKError(error, 'transport-error');\n\n logError(`MCP stream error in ${this.operationContext}`, {\n operation: 'mcp_stream_error_handler',\n metadata: {\n clientName: this.clientName,\n errorType: aiError.errorType,\n streamContext: this.operationContext,\n ...aiError.metadata,\n },\n error: aiError,\n });\n\n // Notify stream error callback if provided\n if (onStreamError) {\n try {\n onStreamError(aiError);\n } catch (callbackError) {\n logError(`Stream error callback failed in ${this.operationContext}`, {\n operation: 'mcp_stream_error_callback_failure',\n metadata: {\n clientName: this.clientName,\n callbackError:\n callbackError instanceof Error ? callbackError.message : String(callbackError),\n },\n error:\n callbackError instanceof Error ? callbackError : new Error(String(callbackError)),\n });\n }\n }\n\n // Always attempt cleanup for stream errors\n void (async () => {\n try {\n await cleanupFn();\n } catch (cleanupError) {\n logError(`Failed to cleanup after stream error in ${this.operationContext}`, {\n operation: 'mcp_stream_cleanup_error',\n metadata: {\n clientName: this.clientName,\n originalError: aiError.message,\n cleanupError:\n cleanupError instanceof Error ? cleanupError.message : String(cleanupError),\n },\n error: cleanupError instanceof Error ? cleanupError : new Error(String(cleanupError)),\n });\n }\n })();\n };\n }\n\n /**\n * Create a finish handler for proper AI SDK v6 lifecycle management\n */\n createFinishHandler(\n cleanupFn: () => Promise<void>,\n successCallback?: () => void,\n ): () => Promise<void> {\n return async () => {\n try {\n await cleanupFn();\n\n logInfo(`MCP operation completed successfully in ${this.operationContext}`, {\n operation: 'mcp_finish_handler_success',\n metadata: {\n clientName: this.clientName,\n operationContext: this.operationContext,\n },\n });\n\n // Call success callback if provided\n if (successCallback) {\n try {\n successCallback();\n } catch (callbackError) {\n logWarn(`Success callback failed in ${this.operationContext}`, {\n operation: 'mcp_success_callback_failure',\n metadata: {\n clientName: this.clientName,\n callbackError:\n callbackError instanceof Error ? callbackError.message : String(callbackError),\n },\n });\n }\n }\n } catch (error) {\n const aiError = this.convertToAISDKError(\n error instanceof Error ? error : new Error(String(error)),\n );\n\n logError(`MCP finish handler failed in ${this.operationContext}`, {\n operation: 'mcp_finish_handler_error',\n metadata: {\n clientName: this.clientName,\n errorType: aiError.errorType,\n ...aiError.metadata,\n },\n error: aiError,\n });\n\n // Re-throw to maintain AI SDK error handling flow\n throw aiError;\n }\n };\n }\n\n /**\n * Convert generic error to AI SDK compatible error\n */\n private convertToAISDKError(\n error: Error,\n defaultType: AISDKErrorType = 'unknown-error',\n ): AISDKCompatibleMCPError {\n // Check if already an AI SDK compatible error\n if (error instanceof AISDKCompatibleMCPError) {\n return error;\n }\n\n // Map common error patterns to AI SDK error types\n let errorType: AISDKErrorType = defaultType;\n let recoverable = false;\n\n if (error.message.includes('ECONNREFUSED') || error.message.includes('ENOTFOUND')) {\n errorType = 'connection-error';\n recoverable = true;\n } else if (error.message.includes('timeout') || error.message.includes('TIMEOUT')) {\n errorType = 'timeout-error';\n recoverable = true;\n } else if (error.message.includes('transport') || error.message.includes('Transport')) {\n errorType = 'transport-error';\n recoverable = true;\n } else if (error.message.includes('validation') || error.message.includes('invalid')) {\n errorType = 'validation-error';\n recoverable = false;\n } else if (error.message.includes('resource') || error.message.includes('limit')) {\n errorType = 'resource-exhausted';\n recoverable = true;\n } else if (error.message.includes('tool') || error.message.includes('execution')) {\n errorType = 'tool-execution-error';\n recoverable = false;\n }\n\n return new AISDKCompatibleMCPError(\n error.message,\n errorType,\n error,\n {\n clientName: this.clientName,\n operationContext: this.operationContext,\n originalErrorName: error.name,\n },\n recoverable,\n );\n }\n}\n\n/**\n * Utility functions for AI SDK v6 error integration\n */\nexport const MCPErrorUtils = {\n /**\n * Create a standardized error context for MCP operations\n */\n createErrorContext(clientName: string, operation: string): MCPErrorHandlerFactory {\n return new MCPErrorHandlerFactory(clientName, operation);\n },\n\n /**\n * Check if an error is recoverable according to AI SDK patterns\n */\n isRecoverableError(error: Error): boolean {\n if (error instanceof AISDKCompatibleMCPError) {\n return error.recoverable;\n }\n\n // Common recoverable error patterns\n const recoverablePatterns = [\n 'ECONNREFUSED',\n 'ENOTFOUND',\n 'TIMEOUT',\n 'timeout',\n 'network',\n 'temporary',\n 'rate limit',\n 'throttle',\n ];\n\n return recoverablePatterns.some(pattern =>\n error.message.toLowerCase().includes(pattern.toLowerCase()),\n );\n },\n\n /**\n * Extract error metadata for AI SDK logging\n */\n extractErrorMetadata(error: Error): Record<string, unknown> {\n const metadata: Record<string, unknown> = {\n errorName: error.name,\n errorMessage: error.message,\n timestamp: new Date().toISOString(),\n };\n\n if (error instanceof AISDKCompatibleMCPError) {\n metadata.errorType = error.errorType;\n metadata.recoverable = error.recoverable;\n metadata.customMetadata = error.metadata;\n }\n\n // Extract common error properties\n const errorCode = getErrorCode(error);\n if (errorCode) {\n metadata.errorCode = errorCode;\n }\n\n const errorDetails = error as { errno?: unknown; syscall?: unknown };\n if (typeof errorDetails.errno === 'string' || typeof errorDetails.errno === 'number') {\n metadata.errno = errorDetails.errno;\n }\n if (typeof errorDetails.syscall === 'string') {\n metadata.syscall = errorDetails.syscall;\n }\n\n return metadata;\n },\n};\n","/**\n * @fileoverview client.ts\n */\n\nimport {\n createMCPClient,\n type OAuthClientProvider,\n type MCPClient as SDKMCPClient,\n} from '@ai-sdk/mcp';\nimport { Experimental_StdioMCPTransport } from '@ai-sdk/mcp/mcp-stdio';\nimport { logError, logWarn } from '@repo/shared/logs';\n\nimport { getErrorCode } from '../../server/errors';\n\nimport {\n AISDKCompatibleMCPError,\n MCPErrorHandlerFactory,\n MCPErrorUtils,\n} from './ai-sdk-error-integration';\n\nimport type { SDKToolSet } from '../../shared';\nimport type { IOType } from 'node:child_process';\nimport type { Stream } from 'node:stream';\n\n\n\nexport interface MCPClientConfig {\n name: string;\n transport: MCPTransportConfig;\n retry?: MCPRetryConfig;\n timeoutMs?: number;\n gracefulDegradation?: boolean;\n healthCheck?: MCPHealthCheckConfig;\n}\n\nexport interface MCPTransportConfig {\n type: 'stdio' | 'sse' | 'http';\n // For stdio transport\n command?: string;\n args?: string[];\n env?: Record<string, string>;\n cwd?: string;\n stderr?: IOType | Stream | number;\n // For SSE transport\n url?: string;\n headers?: Record<string, string>;\n // For HTTP transport\n httpUrl?: string;\n sessionId?: string;\n authProvider?: OAuthClientProvider;\n}\n\n/**\n * MCP Client wrapper with proper typing\n * Uses AI SDK tool format instead of MCP SDK format\n */\nexport type MCPClient = SDKMCPClient;\n\n/**\n * MCP Transport union type for better type safety\n */\ntype MCPRemoteTransport = {\n type: 'sse' | 'http';\n url: string;\n headers?: Record<string, string>;\n authProvider?: OAuthClientProvider;\n};\n\nexport type MCPTransport = Experimental_StdioMCPTransport | MCPRemoteTransport;\n\n/**\n * Retry configuration for MCP operations\n */\nexport interface MCPRetryConfig {\n maxAttempts: number;\n initialDelayMs: number;\n maxDelayMs: number;\n backoffMultiplier: number;\n retryableErrors: string[];\n}\n\n/**\n * Default retry configuration\n */\nexport const DEFAULT_RETRY_CONFIG: MCPRetryConfig = {\n maxAttempts: 3,\n initialDelayMs: 1000,\n maxDelayMs: 10000,\n backoffMultiplier: 2,\n retryableErrors: ['ECONNREFUSED', 'ENOTFOUND', 'TIMEOUT', 'NETWORK_ERROR', 'CONNECTION_LOST'],\n};\n\n/**\n * Health check configuration for MCP servers\n */\nexport interface MCPHealthCheckConfig {\n enabled: boolean;\n intervalMs: number;\n timeoutMs: number;\n failureThreshold: number;\n recoveryThreshold: number;\n}\n\n/**\n * Default health check configuration\n */\nexport const DEFAULT_HEALTH_CHECK_CONFIG: MCPHealthCheckConfig = {\n enabled: true,\n intervalMs: 60000, // 1 minute\n timeoutMs: 5000, // 5 seconds\n failureThreshold: 3,\n recoveryThreshold: 2,\n};\n\n/**\n * Health status for MCP servers\n */\nexport enum MCPHealthStatus {\n HEALTHY = 'healthy',\n DEGRADED = 'degraded',\n UNHEALTHY = 'unhealthy',\n UNKNOWN = 'unknown',\n}\n\n/**\n * Health check result\n */\nexport interface MCPHealthCheckResult {\n status: MCPHealthStatus;\n lastCheck: Date;\n consecutiveFailures: number;\n consecutiveSuccesses: number;\n responseTimeMs?: number;\n error?: string;\n}\n\n/**\n * Result type for MCP client creation\n */\nexport interface MCPClientResult {\n client: MCPClient;\n toolSet: SDKToolSet;\n config: MCPClientConfig;\n}\n\n/**\n * MCP Error types for better error handling\n */\nexport class MCPConnectionError extends Error {\n constructor(\n message: string,\n public readonly clientName: string,\n public readonly transportType: string,\n public readonly originalError?: Error,\n ) {\n super(message);\n this.name = 'MCPConnectionError';\n }\n}\n\nexport class MCPTransportError extends Error {\n constructor(\n message: string,\n public readonly transportType: string,\n public readonly originalError?: Error,\n ) {\n super(message);\n this.name = 'MCPTransportError';\n }\n}\n\nexport class MCPRetryableError extends Error {\n constructor(\n message: string,\n public readonly attempt: number,\n public readonly maxAttempts: number,\n public readonly originalError?: Error,\n ) {\n super(message);\n this.name = 'MCPRetryableError';\n }\n}\n\n/**\n * Utility function to check if an error is retryable\n */\nfunction isRetryableError(error: Error, retryableErrors: string[]): boolean {\n // Check error message for known patterns\n const errorMessage = error.message.toUpperCase();\n const errorCode = getErrorCode(error);\n\n return retryableErrors.some(\n pattern => errorMessage.includes(pattern.toUpperCase()) || errorCode === pattern,\n );\n}\n\n/**\n * Utility function to calculate exponential backoff delay\n */\nfunction calculateDelay(attempt: number, config: MCPRetryConfig): number {\n const delay = config.initialDelayMs * Math.pow(config.backoffMultiplier, attempt - 1);\n return Math.min(delay, config.maxDelayMs);\n}\n\n/**\n * Utility function to sleep for a given duration\n */\nfunction sleep(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n\n/**\n * Timeout wrapper that cancels operations after a specified duration\n */\nasync function withTimeout<T>(\n operation: () => Promise<T>,\n timeoutMs: number,\n context: string = 'MCP operation',\n): Promise<T> {\n const timeoutPromise = new Promise<never>((resolve, reject) => {\n void resolve;\n setTimeout(() => {\n reject(new Error(`${context} timed out after ${timeoutMs}ms`));\n }, timeoutMs);\n });\n\n return Promise.race([operation(), timeoutPromise]);\n}\n\n/**\n * Enhanced retry wrapper with exponential backoff\n */\nasync function withRetry<T>(\n operation: () => Promise<T>,\n config: MCPRetryConfig = DEFAULT_RETRY_CONFIG,\n context: string = 'MCP operation',\n): Promise<T> {\n let lastError: Error | undefined;\n\n for (let attempt = 1; attempt <= config.maxAttempts; attempt++) {\n try {\n return await operation();\n } catch (error) {\n lastError = error instanceof Error ? error : new Error(String(error));\n\n // If this is the last attempt or error is not retryable, throw\n if (attempt === config.maxAttempts || !isRetryableError(lastError, config.retryableErrors)) {\n logError(`${context} failed after ${attempt} attempts`, {\n operation: 'mcp_retry_exhausted',\n metadata: {\n context,\n attempt,\n maxAttempts: config.maxAttempts,\n error: lastError.message,\n },\n error: lastError,\n });\n throw lastError;\n }\n\n // Calculate delay and wait before retry\n const delay = calculateDelay(attempt, config);\n logWarn(\n `${context} failed, retrying in ${delay}ms (attempt ${attempt}/${config.maxAttempts})`,\n {\n operation: 'mcp_retry_attempt',\n metadata: {\n context,\n attempt,\n maxAttempts: config.maxAttempts,\n delayMs: delay,\n error: lastError.message,\n },\n },\n );\n\n await sleep(delay);\n }\n }\n\n // This should never be reached, but TypeScript needs this\n throw lastError || new Error(`${context} failed after all retry attempts`);\n}\n\n/**\n * Combined retry and timeout wrapper\n */\nexport async function withRetryAndTimeout<T>(\n operation: () => Promise<T>,\n retryConfig: MCPRetryConfig = DEFAULT_RETRY_CONFIG,\n timeoutMs?: number,\n context: string = 'MCP operation',\n): Promise<T> {\n const wrappedOperation = timeoutMs ? () => withTimeout(operation, timeoutMs, context) : operation;\n\n return withRetry(wrappedOperation, retryConfig, context);\n}\n\n/**\n * MCP Server Health Monitor\n * Tracks health status of MCP servers and provides graceful degradation\n */\nexport class MCPHealthMonitor {\n private healthStatuses = new Map<string, MCPHealthCheckResult>();\n private healthCheckIntervals = new Map<string, NodeJS.Timeout>();\n\n /**\n * Start health monitoring for a client configuration\n */\n startMonitoring(config: MCPClientConfig): void {\n const healthConfig = config.healthCheck ?? DEFAULT_HEALTH_CHECK_CONFIG;\n if (!healthConfig.enabled) return;\n\n // Initialize health status\n this.healthStatuses.set(config.name, {\n status: MCPHealthStatus.UNKNOWN,\n lastCheck: new Date(),\n consecutiveFailures: 0,\n consecutiveSuccesses: 0,\n });\n\n // Set up periodic health checks\n const intervalId = setInterval(() => {\n void this.performHealthCheck(config);\n }, healthConfig.intervalMs);\n\n this.healthCheckIntervals.set(config.name, intervalId);\n\n // Perform initial health check\n void this.performHealthCheck(config);\n }\n\n /**\n * Stop health monitoring for a client\n */\n stopMonitoring(clientName: string): void {\n const intervalId = this.healthCheckIntervals.get(clientName);\n if (intervalId) {\n clearInterval(intervalId);\n this.healthCheckIntervals.delete(clientName);\n }\n this.healthStatuses.delete(clientName);\n }\n\n /**\n * Get current health status for a client\n */\n getHealthStatus(clientName: string): MCPHealthCheckResult | undefined {\n return this.healthStatuses.get(clientName);\n }\n\n /**\n * Check if a client is currently healthy\n */\n isHealthy(clientName: string): boolean {\n const status = this.healthStatuses.get(clientName);\n return status?.status === MCPHealthStatus.HEALTHY;\n }\n\n /**\n * Check if a client should be excluded due to poor health\n */\n shouldExclude(clientName: string): boolean {\n const status = this.healthStatuses.get(clientName);\n return status?.status === MCPHealthStatus.UNHEALTHY;\n }\n\n /**\n * Perform a health check for a specific client\n */\n private async performHealthCheck(config: MCPClientConfig): Promise<void> {\n const healthConfig = config.healthCheck ?? DEFAULT_HEALTH_CHECK_CONFIG;\n const startTime = Date.now();\n let result: MCPHealthCheckResult;\n\n try {\n // Attempt to create a temporary client and get tools\n await withTimeout(\n async () => {\n const transport = createTransportFromConfig(config.transport);\n const tempClient = await createMCPClient({ transport });\n\n try {\n await tempClient.tools();\n await tempClient.close();\n } catch (toolError) {\n await tempClient.close();\n throw toolError;\n }\n },\n healthConfig.timeoutMs,\n `Health check for ${config.name}`,\n );\n\n // Health check succeeded\n const responseTime = Date.now() - startTime;\n const currentStatus = this.healthStatuses.get(config.name);\n\n result = {\n status: MCPHealthStatus.HEALTHY,\n lastCheck: new Date(),\n consecutiveFailures: 0,\n consecutiveSuccesses: (currentStatus?.consecutiveSuccesses ?? 0) + 1,\n responseTimeMs: responseTime,\n };\n } catch (error) {\n // Health check failed\n const currentStatus = this.healthStatuses.get(config.name);\n const consecutiveFailures = (currentStatus?.consecutiveFailures ?? 0) + 1;\n\n let newStatus: MCPHealthStatus;\n if (consecutiveFailures >= healthConfig.failureThreshold) {\n newStatus = MCPHealthStatus.UNHEALTHY;\n } else if (consecutiveFailures > 1) {\n newStatus = MCPHealthStatus.DEGRADED;\n } else {\n newStatus = MCPHealthStatus.DEGRADED;\n }\n\n result = {\n status: newStatus,\n lastCheck: new Date(),\n consecutiveFailures,\n consecutiveSuccesses: 0,\n error: error instanceof Error ? error.message : String(error),\n };\n\n logWarn(`Health check failed for MCP client '${config.name}'`, {\n operation: 'mcp_health_check_failed',\n metadata: {\n clientName: config.name,\n consecutiveFailures,\n status: newStatus,\n error: result.error,\n },\n });\n }\n\n // Log health status changes\n const previousStatus = this.healthStatuses.get(config.name);\n\n // Update health status\n this.healthStatuses.set(config.name, result);\n if (previousStatus && previousStatus.status !== result.status) {\n logWarn(\n `MCP client '${config.name}' health status changed: ${previousStatus.status} → ${result.status}`,\n {\n operation: 'mcp_health_status_change',\n metadata: {\n clientName: config.name,\n previousStatus: previousStatus.status,\n newStatus: result.status,\n consecutiveFailures: result.consecutiveFailures,\n consecutiveSuccesses: result.consecutiveSuccesses,\n },\n },\n );\n }\n }\n\n /**\n * Get summary of all client health statuses\n */\n getHealthSummary(): Record<string, MCPHealthCheckResult> {\n return Object.fromEntries(this.healthStatuses);\n }\n\n /**\n * Cleanup all monitoring\n */\n cleanup(): void {\n // Clear all intervals\n for (const intervalId of this.healthCheckIntervals.values()) {\n clearInterval(intervalId);\n }\n this.healthCheckIntervals.clear();\n this.healthStatuses.clear();\n }\n}\n\n/**\n * Global health monitor instance\n */\nexport const globalMCPHealthMonitor = new MCPHealthMonitor();\n\n/**\n * Validate transport configuration at runtime\n */\nfunction validateTransportConfig(transportConfig: MCPTransportConfig): void {\n switch (transportConfig.type) {\n case 'stdio':\n if (!transportConfig.command) {\n throw new MCPTransportError('Command is required for stdio transport', 'stdio');\n }\n break;\n case 'sse': {\n const url = resolveRemoteUrl(transportConfig);\n if (!url) {\n throw new MCPTransportError('URL is required for SSE transport', 'sse');\n }\n try {\n new URL(url);\n } catch {\n throw new MCPTransportError('Invalid URL format for SSE transport', 'sse');\n }\n break;\n }\n case 'http': {\n const url = resolveRemoteUrl(transportConfig);\n if (!url) {\n throw new MCPTransportError('HTTP URL is required for HTTP transport', 'http');\n }\n try {\n new URL(url);\n } catch {\n throw new MCPTransportError('Invalid HTTP URL format for HTTP transport', 'http');\n }\n break;\n }\n default:\n throw new MCPTransportError(\n `Unsupported transport type: ${getTransportTypeLabel(transportConfig)}`,\n 'unknown',\n );\n }\n}\n\n/**\n * Create transport instance from configuration with proper typing and validation\n */\nexport function createTransportFromConfig(transportConfig: MCPTransportConfig): MCPTransport {\n // Validate configuration first\n validateTransportConfig(transportConfig);\n\n switch (transportConfig.type) {\n case 'stdio':\n const baseEnv = Object.entries(process.env).reduce<Record<string, string>>(\n (acc, [key, value]) => {\n if (typeof value === 'string') {\n acc[key] = value;\n }\n return acc;\n },\n {},\n );\n\n return new Experimental_StdioMCPTransport({\n command: transportConfig.command ?? 'node',\n args: transportConfig.args ?? [],\n cwd: transportConfig.cwd,\n stderr: transportConfig.stderr,\n env: {\n ...baseEnv,\n // Ensure API keys are passed to child processes\n ...(process.env.PERPLEXITY_API_KEY && {\n PERPLEXITY_API_KEY: process.env.PERPLEXITY_API_KEY,\n }),\n ...(process.env.OPENAI_API_KEY && {\n OPENAI_API_KEY: process.env.OPENAI_API_KEY,\n }),\n ...(process.env.ANTHROPIC_API_KEY && {\n ANTHROPIC_API_KEY: process.env.ANTHROPIC_API_KEY,\n }),\n ...transportConfig.env,\n },\n });\n\n case 'sse':\n return buildRemoteTransport('sse', transportConfig);\n\n case 'http':\n return buildRemoteTransport('http', transportConfig);\n\n default:\n // TypeScript should catch this, but runtime safety\n throw new MCPTransportError(\n `Unsupported transport type: ${getTransportTypeLabel(transportConfig)}`,\n 'unknown',\n );\n }\n}\n\nfunction resolveRemoteUrl(transportConfig: MCPTransportConfig): string | undefined {\n return transportConfig.url ?? transportConfig.httpUrl;\n}\n\nfunction getTransportTypeLabel(transportConfig: MCPTransportConfig): string {\n return typeof transportConfig.type === 'string' ? transportConfig.type : 'unknown';\n}\n\nfunction buildRemoteTransport(\n type: 'sse' | 'http',\n transportConfig: MCPTransportConfig,\n): MCPRemoteTransport {\n const url = resolveRemoteUrl(transportConfig);\n if (!url) {\n throw new MCPTransportError(`URL is required for ${type} transport`, type);\n }\n\n const headers = { ...transportConfig.headers };\n if (type === 'http' && transportConfig.sessionId) {\n headers['x-mcp-session-id'] = transportConfig.sessionId;\n }\n\n return {\n type,\n url,\n headers: Object.keys(headers).length > 0 ? headers : undefined,\n authProvider: transportConfig.authProvider,\n };\n}\n\n/**\n * Per-request MCP client manager following Next.js documentation pattern with AI SDK v6 integration\n * Creates clients per request and cleans them up automatically with proper error handling\n */\nexport class MCPRequestManager {\n public clients: MCPClient[] = [];\n private tools: SDKToolSet = {};\n private errorHandlers: Map<string, MCPErrorHandlerFactory> = new Map();\n\n async addClient(config: MCPClientConfig): Promise<void> {\n const retryConfig = config.retry ?? DEFAULT_RETRY_CONFIG;\n const timeoutMs = config.timeoutMs || 30000; // 30 second default timeout\n const context = `MCP client creation (${config.name})`;\n\n // Create AI SDK error handler for this client\n const errorHandler = new MCPErrorHandlerFactory(config.name, context);\n this.errorHandlers.set(config.name, errorHandler);\n\n // Check health status if health monitoring is enabled\n if (globalMCPHealthMonitor.shouldExclude(config.name)) {\n if (config.gracefulDegradation) {\n logWarn(`Skipping unhealthy MCP client '${config.name}'`, {\n operation: 'mcp_skip_unhealthy',\n metadata: {\n clientName: config.name,\n healthStatus: globalMCPHealthMonitor.getHealthStatus(config.name),\n },\n });\n return;\n } else {\n throw new AISDKCompatibleMCPError(\n `MCP client '${config.name}' is marked as unhealthy`,\n 'connection-error',\n undefined,\n {\n clientName: config.name,\n transportType: config.transport.type,\n healthStatus: globalMCPHealthMonitor.getHealthStatus(config.name),\n },\n true, // This is recoverable - health might improve\n );\n }\n }\n\n try {\n await withRetryAndTimeout(\n async () => {\n const transport = createTransportFromConfig(config.transport);\n const client = await createMCPClient({ transport });\n this.clients.push(client);\n\n // Get tools from this client and merge them with retry\n const clientTools = await withRetryAndTimeout<SDKToolSet>(\n () => client.tools(),\n retryConfig,\n timeoutMs,\n `MCP tools retrieval (${config.name})`,\n );\n\n // Merge tools directly (later tools override earlier ones with same name)\n Object.assign(this.tools, clientTools);\n\n // Start health monitoring for this client\n globalMCPHealthMonitor.startMonitoring(config);\n },\n retryConfig,\n timeoutMs,\n context,\n );\n } catch (error) {\n const originalError = error instanceof Error ? error : new Error(String(error));\n const aiError = new AISDKCompatibleMCPError(\n `Failed to create MCP client '${config.name}' after retries`,\n 'connection-error',\n originalError,\n {\n clientName: config.name,\n transportType: config.transport.type,\n retryAttempts: retryConfig.maxAttempts,\n timeoutMs,\n },\n MCPErrorUtils.isRecoverableError(originalError),\n );\n\n // If graceful degradation is enabled, log and continue\n if (config.gracefulDegradation) {\n logWarn(`MCP client '${config.name}' failed, continuing with degraded functionality`, {\n operation: 'mcp_graceful_degradation',\n metadata: {\n clientName: config.name,\n transportType: config.transport.type,\n error: aiError.message,\n errorType: aiError.errorType,\n recoverable: aiError.recoverable,\n ...MCPErrorUtils.extractErrorMetadata(originalError),\n },\n });\n return;\n }\n\n throw aiError;\n }\n }\n\n getTools(): SDKToolSet {\n return this.tools;\n }\n\n async close(): Promise<void> {\n const closePromises = this.clients.map(async (client, index) => {\n try {\n await client.close();\n } catch (error) {\n logWarn(`Failed to close MCP client ${index}`, {\n operation: 'mcp_client_close',\n metadata: {\n clientIndex: index,\n error: error instanceof Error ? error.message : String(error),\n },\n });\n }\n });\n\n await Promise.all(closePromises);\n this.clients = [];\n this.tools = {};\n }\n\n /**\n * Get health summary for all managed clients\n */\n getHealthSummary(): Record<string, MCPHealthCheckResult> {\n return globalMCPHealthMonitor.getHealthSummary();\n }\n\n /**\n * Create AI SDK v6 compatible error handlers for all managed clients\n */\n createAISDKErrorHandlers(): {\n onUncaughtError: (error: Error) => void;\n onFinish: () => Promise<void>;\n onStreamError: (error: Error) => void;\n } {\n const onUncaughtError = (error: Error) => {\n // Create a composite error handler that handles all clients\n for (const [, errorHandler] of this.errorHandlers.entries()) {\n const handler = errorHandler.createUncaughtErrorHandler(() => this.close(), {\n enableRecovery: true,\n maxRecoveryAttempts: 1,\n });\n handler(error);\n }\n };\n\n const onFinish = async () => {\n try {\n await this.close();\n } catch (error) {\n // Convert to AI SDK compatible error\n const aiError = new AISDKCompatibleMCPError(\n 'Failed to close MCP clients on finish',\n 'resource-exhausted',\n error instanceof Error ? error : new Error(String(error)),\n {\n clientCount: this.clients.length,\n operation: 'finish_cleanup',\n },\n false,\n );\n throw aiError;\n }\n };\n\n const onStreamError = (error: Error) => {\n // Handle stream errors for all clients\n for (const [, errorHandler] of this.errorHandlers.entries()) {\n const handler = errorHandler.createStreamErrorHandler(() => this.close());\n handler(error);\n }\n };\n\n return {\n onUncaughtError,\n onFinish,\n onStreamError,\n };\n }\n}\n\n/**\n * Create MCP tools for a single request (following Next.js docs pattern)\n * This creates clients per request and returns cleanup functions\n */\nexport async function createMCPToolsForRequest(configs: MCPClientConfig[]): Promise<{\n tools: SDKToolSet;\n clients: MCPClient[];\n cleanup: () => Promise<void>;\n}> {\n const manager = new MCPRequestManager();\n\n for (const config of configs) {\n await manager.addClient(config);\n }\n\n return {\n tools: manager.getTools(),\n clients: manager.clients,\n cleanup: () => manager.close(),\n };\n}\n\n/**\n * Create MCP tools following the exact Next.js documentation pattern\n * This function matches the pattern shown in the official AI SDK docs:\n * https://sdk.vercel.ai/docs/ai-sdk-ui/mcp-tools (Next.js usage)\n * https://sdk.vercel.ai/docs/ai-sdk-core/mcp-tools (Node.js usage)\n *\n * Next.js streamText example from official docs:\n * ```typescript\n * const toolSetOne = await stdioClient.tools();\n * const toolSetTwo = await sseClient.tools();\n * const toolSetThree = await customClient.tools();\n * const tools = {\n * ...toolSetOne,\n * ...toolSetTwo,\n * ...toolSetThree, // note: this approach causes subsequent tool sets to override tools with the same name\n * };\n *\n * const response = streamText({\n * model: openai('gpt-4o'),\n * tools,\n * prompt,\n * onFinish: async () => {\n * await stdioClient.close();\n * await sseClient.close();\n * await customClient.close();\n * },\n * });\n * ```\n */\nexport async function createMCPToolsFromConfigs(\n configs: MCPClientConfig[],\n options: { gracefulDegradation?: boolean } = {},\n): Promise<{\n tools: SDKToolSet;\n clients: MCPClient[];\n closeAllClients: () => Promise<void>;\n}> {\n const clients: MCPClient[] = [];\n const toolSets: SDKToolSet[] = [];\n\n // Create all clients in parallel for better performance\n const clientPromises = configs.map(async (config): Promise<MCPClientResult | null> => {\n const retryConfig = config.retry ?? DEFAULT_RETRY_CONFIG;\n const timeoutMs = config.timeoutMs || 30000;\n const enableGracefulDegradation =\n config.gracefulDegradation ?? options.gracefulDegradation ?? false;\n\n try {\n const result = await withRetryAndTimeout(\n async (): Promise<MCPClientResult> => {\n const transport = createTransportFromConfig(config.transport);\n\n // Create MCP client with transport (following official docs pattern)\n const client = await createMCPClient({ transport });\n\n try {\n const toolSet = await withRetryAndTimeout<SDKToolSet>(\n () => client.tools(),\n retryConfig,\n timeoutMs,\n `MCP tools retrieval (${config.name})`,\n );\n\n return { client, toolSet, config };\n } catch (error) {\n try {\n await client.close();\n } catch (closeError) {\n logError(`Failed to close failed client ${config.name}`, {\n operation: 'mcp_client_cleanup',\n metadata: { clientName: config.name },\n error: closeError instanceof Error ? closeError : new Error(String(closeError)),\n });\n }\n\n throw error;\n }\n },\n retryConfig,\n timeoutMs,\n `MCP client creation (${config.name})`,\n );\n\n return result;\n } catch (error) {\n const mcpError = new MCPConnectionError(\n `Failed to create MCP client '${config.name}' after retries`,\n config.name,\n config.transport.type,\n error instanceof Error ? error : new Error(String(error)),\n );\n\n if (enableGracefulDegradation) {\n logWarn(\n `Failed to create MCP client ${config.name}, continuing with degraded functionality`,\n {\n operation: 'mcp_client_creation_degraded',\n metadata: {\n clientName: config.name,\n transportType: config.transport.type,\n retryAttempts: retryConfig.maxAttempts,\n timeoutMs,\n error: mcpError.message,\n },\n },\n );\n // Return null to filter out later\n return null;\n } else {\n // Re-throw error if not using graceful degradation\n throw mcpError;\n }\n }\n });\n\n // Wait for all clients to be created\n const results = await Promise.all(clientPromises);\n\n // Filter out failed clients and populate arrays\n for (const result of results) {\n if (result) {\n clients.push(result.client);\n toolSets.push(result.toolSet);\n }\n }\n\n // Merge all tool sets using explicit spread operator (following Next.js docs pattern)\n // Note: this approach causes subsequent tool sets to override tools with the same name\n const tools = mergeToolSets(toolSets);\n\n // Enhanced cleanup function with better error handling\n const closeAllClients = async (): Promise<void> => {\n const closePromises = clients.map(async (client, index) => {\n try {\n await client.close();\n } catch (error) {\n logWarn(`Failed to close MCP client ${index}`, {\n operation: 'mcp_client_close',\n metadata: {\n clientIndex: index,\n error: error instanceof Error ? error.message : String(error),\n },\n });\n }\n });\n\n await Promise.all(closePromises);\n };\n\n return {\n tools,\n clients,\n closeAllClients,\n };\n}\n\nfunction mergeToolSets(toolSets: SDKToolSet[]): SDKToolSet {\n const merged: SDKToolSet = {};\n\n for (const toolSet of toolSets) {\n Object.assign(merged, toolSet);\n }\n\n return merged;\n}\n"],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ import { Lr as SDKLanguageModelUsage, xa as SDKUIMessage } from "./ai-runtime-DIwOEc6g.mjs";
2
+ import "./shared.mjs";
3
+ import { UIElement, UITree, UseGenerativeUIConfig, UseGenerativeUIReturn } from "./generative-ui-types.mjs";
4
+
5
+ //#region src/client/hooks.d.ts
6
+ interface VectorSearchResult {
7
+ id: string;
8
+ score: number;
9
+ content?: string;
10
+ metadata?: Record<string, unknown>;
11
+ embedding?: number[];
12
+ }
13
+ interface VectorEnrichedMessage {
14
+ role: 'user' | 'assistant' | 'system';
15
+ content: string;
16
+ vectorContext?: VectorSearchResult[];
17
+ metadata?: Record<string, unknown>;
18
+ }
19
+ interface UseVectorSearchConfig {
20
+ apiRoute?: string;
21
+ apiKey?: string;
22
+ timeout?: number;
23
+ }
24
+ declare function useVectorSearch(config: UseVectorSearchConfig): {
25
+ search: (query: string, options?: {
26
+ topK?: number;
27
+ filter?: Record<string, unknown>;
28
+ threshold?: number;
29
+ }) => Promise<VectorSearchResult[]>;
30
+ results: VectorSearchResult[];
31
+ isLoading: boolean;
32
+ error: string | null;
33
+ clearResults: () => void;
34
+ };
35
+ interface UseVectorChatConfig {
36
+ apiRoute?: string;
37
+ chatRoute?: string;
38
+ apiKey?: string;
39
+ autoEnrichContext?: boolean;
40
+ contextTopK?: number;
41
+ similarityThreshold?: number;
42
+ }
43
+ declare function useVectorChat(config: UseVectorChatConfig): {
44
+ messages: VectorEnrichedMessage[];
45
+ vectorContext: VectorSearchResult[];
46
+ sendMessage: (content: string) => Promise<void>;
47
+ isLoading: boolean;
48
+ clearChat: () => void;
49
+ hasContext: boolean;
50
+ };
51
+ interface UseEmbeddingsConfig {
52
+ apiRoute?: string;
53
+ apiKey?: string;
54
+ embeddingModel?: string;
55
+ }
56
+ declare function useEmbeddings(config: UseEmbeddingsConfig): {
57
+ generateEmbeddings: (content: string | string[]) => Promise<{
58
+ embeddings: number[][];
59
+ }>;
60
+ isGenerating: boolean;
61
+ lastEmbeddings: number[][];
62
+ };
63
+ interface UseVectorRecommendationsConfig {
64
+ apiRoute?: string;
65
+ apiKey?: string;
66
+ }
67
+ declare function useVectorRecommendations(config: UseVectorRecommendationsConfig): {
68
+ recommendations: VectorSearchResult[];
69
+ getRecommendations: (targetId: string, options?: {
70
+ topK?: number;
71
+ threshold?: number;
72
+ }) => Promise<VectorSearchResult[]>;
73
+ isLoading: boolean;
74
+ };
75
+ //#endregion
76
+ //#region src/client/utils.d.ts
77
+ declare const CLIENT_CONSTANTS: {
78
+ readonly DEFAULT_TIMEOUT: 30000;
79
+ readonly MAX_RETRIES: 3;
80
+ readonly DEFAULT_MODEL: "gpt-4o";
81
+ };
82
+ declare class ClientAIError extends Error {
83
+ code?: string | undefined;
84
+ statusCode?: number | undefined;
85
+ constructor(message: string, code?: string | undefined, statusCode?: number | undefined);
86
+ }
87
+ declare const clientUtils: {
88
+ generateId: () => string;
89
+ delay: (ms: number) => Promise<void>;
90
+ formatBytes: (bytes: number, decimals?: number) => string;
91
+ };
92
+ //#endregion
93
+ //#region src/client/message-utils.d.ts
94
+ declare function extractTextContent(message: SDKUIMessage): string;
95
+ //#endregion
96
+ //#region src/client/chat-usage.d.ts
97
+ declare function aggregateUsage(current: Partial<SDKLanguageModelUsage>, addition: Partial<SDKLanguageModelUsage>): SDKLanguageModelUsage;
98
+ //#endregion
99
+ //#region src/client/use-generative-ui.d.ts
100
+ declare function useGenerativeUI(config?: UseGenerativeUIConfig): UseGenerativeUIReturn;
101
+ //#endregion
102
+ export { CLIENT_CONSTANTS, ClientAIError, type UIElement, type UITree, type UseEmbeddingsConfig, type UseGenerativeUIConfig, type UseGenerativeUIReturn, type UseVectorChatConfig, type UseVectorRecommendationsConfig, type UseVectorSearchConfig, type VectorEnrichedMessage, type VectorSearchResult, aggregateUsage, clientUtils, extractTextContent, useEmbeddings, useGenerativeUI, useVectorChat, useVectorRecommendations, useVectorSearch };
103
+ //# sourceMappingURL=client.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.mts","names":[],"sources":["../src/client/hooks.ts","../src/client/utils.ts","../src/client/message-utils.ts","../src/client/chat-usage.ts","../src/client/use-generative-ui.ts"],"mappings":";;;;;UAmBiB,kBAAA;EACf,EAAA;EACA,KAAA;EACA,OAAA;EACA,QAAA,GAAW,MAAA;EACX,SAAA;AAAA;AAAA,UAIe,qBAAA;EACf,IAAA;EACA,OAAA;EACA,aAAA,GAAgB,kBAAA;EAChB,QAAA,GAAW,MAAA;AAAA;AAAA,UAQI,qBAAA;EACf,QAAA;EACA,MAAA;EACA,OAAA;AAAA;AAAA,iBAYc,eAAA,CAAgB,MAAA,EAAQ,qBAAA;0BAOrB,OAAA;IAEX,IAAA;IACA,MAAA,GAAS,MAAA;IACT,SAAA;EAAA,MAED,OAAA,CAAQ,kBAAA;;;;;;UAqDE,mBAAA;EACf,QAAA;EACA,SAAA;EACA,MAAA;EACA,iBAAA;EACA,WAAA;EACA,mBAAA;AAAA;AAAA,iBAiBc,aAAA,CAAc,MAAA,EAAQ,mBAAA;;;oCAMZ,OAAA;;;;;UAiFT,mBAAA;EACf,QAAA;EACA,MAAA;EACA,cAAA;AAAA;AAAA,iBAYc,aAAA,CAAc,MAAA,EAAQ,mBAAA;sDAKD,OAAA;;;;;;UAsCpB,8BAAA;EACf,QAAA;EACA,MAAA;AAAA;AAAA,iBAYc,wBAAA,CAAyB,MAAA,EAAQ,8BAAA;;yCAM3B,OAAA;IACJ,IAAA;IAAe,SAAA;EAAA,MAC1B,OAAA,CAAQ,kBAAA;;;;;cCvSF,gBAAA;EAAA;;;;cAWA,aAAA,SAAsB,KAAA;EAGxB,IAAA;EACA,UAAA;cAFP,OAAA,UACO,IAAA,uBACA,UAAA;AAAA;AAAA,cAYE,WAAA;;yBAWU,OAAA;+BAGM,QAAA;AAAA;;;iBCvCb,kBAAA,CAAmB,OAAA,EAAS,YAAA;;;iBCH5B,cAAA,CACd,OAAA,EAAS,OAAA,CAAQ,qBAAA,GACjB,QAAA,EAAU,OAAA,CAAQ,qBAAA,IACjB,qBAAA;;;iBC+Ba,eAAA,CAAgB,MAAA,GAAQ,qBAAA,GAA6B,qBAAA"}