@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,111 @@
1
+ declare namespace index_d_exports {
2
+ export { AggregatedUsage, ModelPricing, SpanAttributes, SpanEvent, SpanStatus, TelemetryExporter, TelemetrySpan, Tracer, TracerSpan, UsageMetrics, UsageTracker, createBatchExporter, createConsoleExporter, createTracer, createUsageTracker, recordFromResponse, withTracing };
3
+ }
4
+ type SpanStatus = 'running' | 'completed' | 'error';
5
+ interface SpanAttributes {
6
+ readonly model?: string;
7
+ readonly provider?: string;
8
+ readonly operation?: string;
9
+ readonly promptTokens?: number;
10
+ readonly completionTokens?: number;
11
+ readonly totalTokens?: number;
12
+ readonly cost?: number;
13
+ readonly [key: string]: unknown;
14
+ }
15
+ interface TelemetrySpan {
16
+ readonly id: string;
17
+ readonly traceId: string;
18
+ readonly parentId?: string;
19
+ readonly name: string;
20
+ readonly startTime: number;
21
+ endTime?: number;
22
+ status: SpanStatus;
23
+ attributes: SpanAttributes;
24
+ events: SpanEvent[];
25
+ }
26
+ interface SpanEvent {
27
+ readonly name: string;
28
+ readonly timestamp: number;
29
+ readonly attributes?: Record<string, unknown>;
30
+ }
31
+ interface UsageMetrics {
32
+ readonly promptTokens: number;
33
+ readonly completionTokens: number;
34
+ readonly totalTokens: number;
35
+ readonly cost: number;
36
+ readonly latencyMs: number;
37
+ readonly model: string;
38
+ readonly timestamp: number;
39
+ }
40
+ interface AggregatedUsage {
41
+ readonly totalPromptTokens: number;
42
+ readonly totalCompletionTokens: number;
43
+ readonly totalTokens: number;
44
+ readonly totalCost: number;
45
+ readonly avgLatencyMs: number;
46
+ readonly requestCount: number;
47
+ readonly byModel: Record<string, UsageMetrics>;
48
+ }
49
+ interface TelemetryExporter {
50
+ exportSpan: (span: TelemetrySpan) => Promise<void>;
51
+ exportUsage: (usage: UsageMetrics) => Promise<void>;
52
+ flush: () => Promise<void>;
53
+ }
54
+ interface ModelPricing {
55
+ readonly inputPer1k: number;
56
+ readonly outputPer1k: number;
57
+ }
58
+ declare function createTracer(options: {
59
+ serviceName: string;
60
+ exporter?: TelemetryExporter;
61
+ }): Tracer;
62
+ interface Tracer {
63
+ readonly serviceName: string;
64
+ startSpan: (name: string, attributes?: SpanAttributes, parentId?: string) => TracerSpan;
65
+ getSpan: (id: string) => TelemetrySpan | undefined;
66
+ getAllSpans: () => TelemetrySpan[];
67
+ clear: () => void;
68
+ }
69
+ interface TracerSpan {
70
+ readonly id: string;
71
+ readonly traceId: string;
72
+ setAttributes: (attrs: SpanAttributes) => void;
73
+ addEvent: (name: string, attrs?: Record<string, unknown>) => void;
74
+ recordError: (error: unknown) => void;
75
+ end: () => void;
76
+ startChild: (name: string, attrs?: SpanAttributes) => TracerSpan;
77
+ }
78
+ declare function createUsageTracker(options?: {
79
+ customPricing?: Record<string, ModelPricing>;
80
+ exporter?: TelemetryExporter;
81
+ maxHistory?: number;
82
+ }): UsageTracker;
83
+ interface UsageTracker {
84
+ record: (input: {
85
+ model: string;
86
+ promptTokens: number;
87
+ completionTokens: number;
88
+ latencyMs: number;
89
+ }) => UsageMetrics;
90
+ getAggregated: (since?: number) => AggregatedUsage;
91
+ getHistory: (limit?: number) => UsageMetrics[];
92
+ calculateCost: (model: string, promptTokens: number, completionTokens: number) => number;
93
+ clear: () => void;
94
+ }
95
+ declare function createConsoleExporter(): TelemetryExporter;
96
+ declare function createBatchExporter(options: {
97
+ onExportSpans: (spans: TelemetrySpan[]) => Promise<void>;
98
+ onExportUsage: (usage: UsageMetrics[]) => Promise<void>;
99
+ batchSize?: number;
100
+ flushInterval?: number;
101
+ }): TelemetryExporter;
102
+ declare function withTracing<TArgs extends unknown[], TResult>(tracer: Tracer, spanName: string, fn: (...args: TArgs) => Promise<TResult>, getAttributes?: (...args: TArgs) => SpanAttributes): (...args: TArgs) => Promise<TResult>;
103
+ declare function recordFromResponse(tracker: UsageTracker, model: string, response: {
104
+ usage?: {
105
+ promptTokens?: number;
106
+ completionTokens?: number;
107
+ };
108
+ }, latencyMs: number): UsageMetrics | null;
109
+ //#endregion
110
+ export { AggregatedUsage, ModelPricing, SpanAttributes, SpanEvent, SpanStatus, TelemetryExporter, TelemetrySpan, Tracer, TracerSpan, UsageMetrics, UsageTracker, createBatchExporter, createConsoleExporter, createTracer, createUsageTracker, recordFromResponse, index_d_exports as t, withTracing };
111
+ //# sourceMappingURL=observability-telemetry.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observability-telemetry.d.mts","names":[],"sources":["../src/observability/telemetry/index.ts"],"mappings":"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"}
@@ -0,0 +1,343 @@
1
+ import { t as __exportAll } from "./chunk-CkzbjWQW.mjs";
2
+ import { Z as generateId } from "./ai-runtime-CDzQztTt.mjs";
3
+ import { logInfo } from "@od-oneapp/shared/logs";
4
+
5
+ //#region src/observability/telemetry/index.ts
6
+ /**
7
+ * Telemetry System
8
+ *
9
+ * AI SDK v6 telemetry patterns:
10
+ * - Tracing with spans
11
+ * - Token usage tracking
12
+ * - Cost estimation
13
+ * - Latency metrics
14
+ *
15
+ * @module telemetry
16
+ */
17
+ var telemetry_exports = /* @__PURE__ */ __exportAll({
18
+ createBatchExporter: () => createBatchExporter,
19
+ createConsoleExporter: () => createConsoleExporter,
20
+ createTracer: () => createTracer,
21
+ createUsageTracker: () => createUsageTracker,
22
+ recordFromResponse: () => recordFromResponse,
23
+ withTracing: () => withTracing
24
+ });
25
+ /**
26
+ * Creates a tracer for AI operations.
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * const tracer = createTracer({ serviceName: 'oneapp-ai' });
31
+ *
32
+ * const span = tracer.startSpan('generateText', { model: 'gpt-4' });
33
+ * try {
34
+ * const result = await generateText({ ... });
35
+ * span.setAttributes({ promptTokens: result.usage.promptTokens });
36
+ * span.end();
37
+ * } catch (error) {
38
+ * span.recordError(error);
39
+ * }
40
+ * ```
41
+ */
42
+ function createTracer(options) {
43
+ const { serviceName, exporter } = options;
44
+ const spans = /* @__PURE__ */ new Map();
45
+ let currentTraceId = null;
46
+ function startSpan(name, attributes, parentId) {
47
+ const id = generateId();
48
+ const traceId = currentTraceId ?? generateId();
49
+ if (!currentTraceId) currentTraceId = traceId;
50
+ const span = {
51
+ id,
52
+ traceId,
53
+ parentId,
54
+ name,
55
+ startTime: Date.now(),
56
+ status: "running",
57
+ attributes: {
58
+ service: serviceName,
59
+ ...attributes
60
+ },
61
+ events: []
62
+ };
63
+ spans.set(id, span);
64
+ return {
65
+ id,
66
+ traceId,
67
+ setAttributes: (attrs) => {
68
+ const s = spans.get(id);
69
+ if (s) s.attributes = {
70
+ ...s.attributes,
71
+ ...attrs
72
+ };
73
+ },
74
+ addEvent: (eventName, eventAttrs) => {
75
+ const s = spans.get(id);
76
+ if (s) s.events.push({
77
+ name: eventName,
78
+ timestamp: Date.now(),
79
+ attributes: eventAttrs
80
+ });
81
+ },
82
+ recordError: (error) => {
83
+ const s = spans.get(id);
84
+ if (s) {
85
+ s.status = "error";
86
+ s.events.push({
87
+ name: "exception",
88
+ timestamp: Date.now(),
89
+ attributes: {
90
+ message: error instanceof Error ? error.message : String(error),
91
+ stack: error instanceof Error ? error.stack : void 0
92
+ }
93
+ });
94
+ }
95
+ },
96
+ end: () => {
97
+ const s = spans.get(id);
98
+ if (s) {
99
+ s.endTime = Date.now();
100
+ if (s.status === "running") s.status = "completed";
101
+ exporter?.exportSpan(s);
102
+ if (!s.parentId && s.traceId === currentTraceId) currentTraceId = null;
103
+ }
104
+ },
105
+ startChild: (childName, childAttrs) => {
106
+ return startSpan(childName, childAttrs, id);
107
+ }
108
+ };
109
+ }
110
+ function getSpan(id) {
111
+ return spans.get(id);
112
+ }
113
+ function getAllSpans() {
114
+ return Array.from(spans.values());
115
+ }
116
+ function clear() {
117
+ spans.clear();
118
+ currentTraceId = null;
119
+ }
120
+ return {
121
+ serviceName,
122
+ startSpan,
123
+ getSpan,
124
+ getAllSpans,
125
+ clear
126
+ };
127
+ }
128
+ const DEFAULT_PRICING = {
129
+ "gpt-4": {
130
+ inputPer1k: .03,
131
+ outputPer1k: .06
132
+ },
133
+ "gpt-4-turbo": {
134
+ inputPer1k: .01,
135
+ outputPer1k: .03
136
+ },
137
+ "gpt-4o": {
138
+ inputPer1k: .005,
139
+ outputPer1k: .015
140
+ },
141
+ "gpt-4o-mini": {
142
+ inputPer1k: 15e-5,
143
+ outputPer1k: 6e-4
144
+ },
145
+ "gpt-3.5-turbo": {
146
+ inputPer1k: 5e-4,
147
+ outputPer1k: .0015
148
+ },
149
+ "claude-3-opus": {
150
+ inputPer1k: .015,
151
+ outputPer1k: .075
152
+ },
153
+ "claude-3-sonnet": {
154
+ inputPer1k: .003,
155
+ outputPer1k: .015
156
+ },
157
+ "claude-3-haiku": {
158
+ inputPer1k: 25e-5,
159
+ outputPer1k: .00125
160
+ },
161
+ "claude-3.5-sonnet": {
162
+ inputPer1k: .003,
163
+ outputPer1k: .015
164
+ }
165
+ };
166
+ /**
167
+ * Creates a usage tracker for token and cost monitoring.
168
+ *
169
+ * @example
170
+ * ```typescript
171
+ * const tracker = createUsageTracker();
172
+ *
173
+ * tracker.record({
174
+ * model: 'gpt-4',
175
+ * promptTokens: 100,
176
+ * completionTokens: 50,
177
+ * latencyMs: 1200
178
+ * });
179
+ *
180
+ * const usage = tracker.getAggregated();
181
+ * console.log(`Total cost: $${usage.totalCost.toFixed(4)}`);
182
+ * ```
183
+ */
184
+ function createUsageTracker(options) {
185
+ const { customPricing = {}, exporter, maxHistory = 1e3 } = options ?? {};
186
+ const pricing = {
187
+ ...DEFAULT_PRICING,
188
+ ...customPricing
189
+ };
190
+ const history = [];
191
+ function calculateCost(model, promptTokens, completionTokens) {
192
+ const modelPricing = pricing[model] ?? {
193
+ inputPer1k: 0,
194
+ outputPer1k: 0
195
+ };
196
+ return promptTokens / 1e3 * modelPricing.inputPer1k + completionTokens / 1e3 * modelPricing.outputPer1k;
197
+ }
198
+ function record(input) {
199
+ const { model, promptTokens, completionTokens, latencyMs } = input;
200
+ const metrics = {
201
+ model,
202
+ promptTokens,
203
+ completionTokens,
204
+ totalTokens: promptTokens + completionTokens,
205
+ cost: calculateCost(model, promptTokens, completionTokens),
206
+ latencyMs,
207
+ timestamp: Date.now()
208
+ };
209
+ history.push(metrics);
210
+ if (history.length > maxHistory) history.shift();
211
+ exporter?.exportUsage(metrics);
212
+ return metrics;
213
+ }
214
+ function getAggregated(since) {
215
+ const filtered = since ? history.filter((m) => m.timestamp >= since) : history;
216
+ const byModel = {};
217
+ let totalPromptTokens = 0;
218
+ let totalCompletionTokens = 0;
219
+ let totalCost = 0;
220
+ let totalLatency = 0;
221
+ for (const m of filtered) {
222
+ totalPromptTokens += m.promptTokens;
223
+ totalCompletionTokens += m.completionTokens;
224
+ totalCost += m.cost;
225
+ totalLatency += m.latencyMs;
226
+ const existing = byModel[m.model];
227
+ if (existing) byModel[m.model] = {
228
+ ...existing,
229
+ promptTokens: existing.promptTokens + m.promptTokens,
230
+ completionTokens: existing.completionTokens + m.completionTokens,
231
+ totalTokens: existing.totalTokens + m.totalTokens,
232
+ cost: existing.cost + m.cost,
233
+ latencyMs: existing.latencyMs + m.latencyMs
234
+ };
235
+ else byModel[m.model] = { ...m };
236
+ }
237
+ return {
238
+ totalPromptTokens,
239
+ totalCompletionTokens,
240
+ totalTokens: totalPromptTokens + totalCompletionTokens,
241
+ totalCost,
242
+ avgLatencyMs: filtered.length > 0 ? totalLatency / filtered.length : 0,
243
+ requestCount: filtered.length,
244
+ byModel
245
+ };
246
+ }
247
+ function getHistory(limit) {
248
+ return limit ? history.slice(-limit) : [...history];
249
+ }
250
+ function clear() {
251
+ history.length = 0;
252
+ }
253
+ return {
254
+ record,
255
+ getAggregated,
256
+ getHistory,
257
+ calculateCost,
258
+ clear
259
+ };
260
+ }
261
+ /**
262
+ * Creates a console exporter for debugging.
263
+ */
264
+ function createConsoleExporter() {
265
+ return {
266
+ exportSpan: async (span) => {
267
+ logInfo("[Telemetry] Span", { span });
268
+ },
269
+ exportUsage: async (usage) => {
270
+ logInfo("[Telemetry] Usage", { usage });
271
+ },
272
+ flush: async () => {}
273
+ };
274
+ }
275
+ /**
276
+ * Creates a batch exporter that buffers and sends in batches.
277
+ */
278
+ function createBatchExporter(options) {
279
+ const { onExportSpans, onExportUsage, batchSize = 100, flushInterval = 5e3 } = options;
280
+ const spanBuffer = [];
281
+ const usageBuffer = [];
282
+ const intervalId = setInterval(() => {
283
+ flush();
284
+ }, flushInterval);
285
+ async function flush() {
286
+ if (spanBuffer.length > 0) await onExportSpans(spanBuffer.splice(0, spanBuffer.length));
287
+ if (usageBuffer.length > 0) await onExportUsage(usageBuffer.splice(0, usageBuffer.length));
288
+ }
289
+ return {
290
+ exportSpan: async (span) => {
291
+ spanBuffer.push(span);
292
+ if (spanBuffer.length >= batchSize) await onExportSpans(spanBuffer.splice(0, batchSize));
293
+ },
294
+ exportUsage: async (usage) => {
295
+ usageBuffer.push(usage);
296
+ if (usageBuffer.length >= batchSize) await onExportUsage(usageBuffer.splice(0, batchSize));
297
+ },
298
+ flush: async () => {
299
+ clearInterval(intervalId);
300
+ await flush();
301
+ }
302
+ };
303
+ }
304
+ /**
305
+ * Wraps an async function with automatic tracing.
306
+ *
307
+ * @example
308
+ * ```typescript
309
+ * const tracedGenerate = withTracing(tracer, 'generate', async (prompt: string) => {
310
+ * return generateText({ model, prompt });
311
+ * });
312
+ * ```
313
+ */
314
+ function withTracing(tracer, spanName, fn, getAttributes) {
315
+ return async (...args) => {
316
+ const span = tracer.startSpan(spanName, getAttributes?.(...args));
317
+ try {
318
+ const result = await fn(...args);
319
+ span.end();
320
+ return result;
321
+ } catch (error) {
322
+ span.recordError(error);
323
+ span.end();
324
+ throw error;
325
+ }
326
+ };
327
+ }
328
+ /**
329
+ * Records usage from AI SDK response.
330
+ */
331
+ function recordFromResponse(tracker, model, response, latencyMs) {
332
+ if (!response.usage) return null;
333
+ return tracker.record({
334
+ model,
335
+ promptTokens: response.usage.promptTokens ?? 0,
336
+ completionTokens: response.usage.completionTokens ?? 0,
337
+ latencyMs
338
+ });
339
+ }
340
+
341
+ //#endregion
342
+ export { createBatchExporter, createConsoleExporter, createTracer, createUsageTracker, recordFromResponse, telemetry_exports as t, withTracing };
343
+ //# sourceMappingURL=observability-telemetry.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observability-telemetry.mjs","names":[],"sources":["../src/observability/telemetry/index.ts"],"sourcesContent":["/**\n * Telemetry System\n *\n * AI SDK v6 telemetry patterns:\n * - Tracing with spans\n * - Token usage tracking\n * - Cost estimation\n * - Latency metrics\n *\n * @module telemetry\n */\n\nimport { logInfo } from '@repo/shared/logs';\n\nimport { generateId } from '../../shared';\n\n// -----------------------------------------------------------------------------\n// Types\n// -----------------------------------------------------------------------------\n\n/** Span status */\nexport type SpanStatus = 'running' | 'completed' | 'error';\n\n/** Span attributes */\nexport interface SpanAttributes {\n readonly model?: string;\n readonly provider?: string;\n readonly operation?: string;\n readonly promptTokens?: number;\n readonly completionTokens?: number;\n readonly totalTokens?: number;\n readonly cost?: number;\n readonly [key: string]: unknown;\n}\n\n/** Telemetry span */\nexport interface TelemetrySpan {\n readonly id: string;\n readonly traceId: string;\n readonly parentId?: string;\n readonly name: string;\n readonly startTime: number;\n endTime?: number;\n status: SpanStatus;\n attributes: SpanAttributes;\n events: SpanEvent[];\n}\n\n/** Span event */\nexport interface SpanEvent {\n readonly name: string;\n readonly timestamp: number;\n readonly attributes?: Record<string, unknown>;\n}\n\n/** Usage metrics */\nexport interface UsageMetrics {\n readonly promptTokens: number;\n readonly completionTokens: number;\n readonly totalTokens: number;\n readonly cost: number;\n readonly latencyMs: number;\n readonly model: string;\n readonly timestamp: number;\n}\n\n/** Aggregated usage */\nexport interface AggregatedUsage {\n readonly totalPromptTokens: number;\n readonly totalCompletionTokens: number;\n readonly totalTokens: number;\n readonly totalCost: number;\n readonly avgLatencyMs: number;\n readonly requestCount: number;\n readonly byModel: Record<string, UsageMetrics>;\n}\n\n/** Telemetry exporter */\nexport interface TelemetryExporter {\n exportSpan: (span: TelemetrySpan) => Promise<void>;\n exportUsage: (usage: UsageMetrics) => Promise<void>;\n flush: () => Promise<void>;\n}\n\n/** Model pricing */\nexport interface ModelPricing {\n readonly inputPer1k: number;\n readonly outputPer1k: number;\n}\n\n// -----------------------------------------------------------------------------\n// Tracer\n// -----------------------------------------------------------------------------\n\n/**\n * Creates a tracer for AI operations.\n *\n * @example\n * ```typescript\n * const tracer = createTracer({ serviceName: 'oneapp-ai' });\n *\n * const span = tracer.startSpan('generateText', { model: 'gpt-4' });\n * try {\n * const result = await generateText({ ... });\n * span.setAttributes({ promptTokens: result.usage.promptTokens });\n * span.end();\n * } catch (error) {\n * span.recordError(error);\n * }\n * ```\n */\nexport function createTracer(options: {\n serviceName: string;\n exporter?: TelemetryExporter;\n}): Tracer {\n const { serviceName, exporter } = options;\n const spans = new Map<string, TelemetrySpan>();\n let currentTraceId: string | null = null;\n\n function startSpan(name: string, attributes?: SpanAttributes, parentId?: string): TracerSpan {\n const id = generateId();\n const traceId = currentTraceId ?? generateId();\n if (!currentTraceId) currentTraceId = traceId;\n\n const span: TelemetrySpan = {\n id,\n traceId,\n parentId,\n name,\n startTime: Date.now(),\n status: 'running',\n attributes: { service: serviceName, ...attributes },\n events: [],\n };\n\n spans.set(id, span);\n\n return {\n id,\n traceId,\n\n setAttributes: (attrs: SpanAttributes) => {\n const s = spans.get(id);\n if (s) {\n s.attributes = { ...s.attributes, ...attrs };\n }\n },\n\n addEvent: (eventName: string, eventAttrs?: Record<string, unknown>) => {\n const s = spans.get(id);\n if (s) {\n s.events.push({\n name: eventName,\n timestamp: Date.now(),\n attributes: eventAttrs,\n });\n }\n },\n\n recordError: (error: unknown) => {\n const s = spans.get(id);\n if (s) {\n s.status = 'error';\n s.events.push({\n name: 'exception',\n timestamp: Date.now(),\n attributes: {\n message: error instanceof Error ? error.message : String(error),\n stack: error instanceof Error ? error.stack : undefined,\n },\n });\n }\n },\n\n end: () => {\n const s = spans.get(id);\n if (s) {\n s.endTime = Date.now();\n if (s.status === 'running') s.status = 'completed';\n void exporter?.exportSpan(s);\n\n // Clear trace if this was root span\n if (!s.parentId && s.traceId === currentTraceId) {\n currentTraceId = null;\n }\n }\n },\n\n startChild: (childName: string, childAttrs?: SpanAttributes) => {\n return startSpan(childName, childAttrs, id);\n },\n };\n }\n\n function getSpan(id: string): TelemetrySpan | undefined {\n return spans.get(id);\n }\n\n function getAllSpans(): TelemetrySpan[] {\n return Array.from(spans.values());\n }\n\n function clear(): void {\n spans.clear();\n currentTraceId = null;\n }\n\n return {\n serviceName,\n startSpan,\n getSpan,\n getAllSpans,\n clear,\n };\n}\n\nexport interface Tracer {\n readonly serviceName: string;\n startSpan: (name: string, attributes?: SpanAttributes, parentId?: string) => TracerSpan;\n getSpan: (id: string) => TelemetrySpan | undefined;\n getAllSpans: () => TelemetrySpan[];\n clear: () => void;\n}\n\nexport interface TracerSpan {\n readonly id: string;\n readonly traceId: string;\n setAttributes: (attrs: SpanAttributes) => void;\n addEvent: (name: string, attrs?: Record<string, unknown>) => void;\n recordError: (error: unknown) => void;\n end: () => void;\n startChild: (name: string, attrs?: SpanAttributes) => TracerSpan;\n}\n\n// -----------------------------------------------------------------------------\n// Usage Tracker\n// -----------------------------------------------------------------------------\n\nconst DEFAULT_PRICING: Record<string, ModelPricing> = {\n 'gpt-4': { inputPer1k: 0.03, outputPer1k: 0.06 },\n 'gpt-4-turbo': { inputPer1k: 0.01, outputPer1k: 0.03 },\n 'gpt-4o': { inputPer1k: 0.005, outputPer1k: 0.015 },\n 'gpt-4o-mini': { inputPer1k: 0.00015, outputPer1k: 0.0006 },\n 'gpt-3.5-turbo': { inputPer1k: 0.0005, outputPer1k: 0.0015 },\n 'claude-3-opus': { inputPer1k: 0.015, outputPer1k: 0.075 },\n 'claude-3-sonnet': { inputPer1k: 0.003, outputPer1k: 0.015 },\n 'claude-3-haiku': { inputPer1k: 0.00025, outputPer1k: 0.00125 },\n 'claude-3.5-sonnet': { inputPer1k: 0.003, outputPer1k: 0.015 },\n};\n\n/**\n * Creates a usage tracker for token and cost monitoring.\n *\n * @example\n * ```typescript\n * const tracker = createUsageTracker();\n *\n * tracker.record({\n * model: 'gpt-4',\n * promptTokens: 100,\n * completionTokens: 50,\n * latencyMs: 1200\n * });\n *\n * const usage = tracker.getAggregated();\n * console.log(`Total cost: $${usage.totalCost.toFixed(4)}`);\n * ```\n */\nexport function createUsageTracker(options?: {\n customPricing?: Record<string, ModelPricing>;\n exporter?: TelemetryExporter;\n maxHistory?: number;\n}): UsageTracker {\n const { customPricing = {}, exporter, maxHistory = 1000 } = options ?? {};\n const pricing = { ...DEFAULT_PRICING, ...customPricing };\n const history: UsageMetrics[] = [];\n\n function calculateCost(model: string, promptTokens: number, completionTokens: number): number {\n const modelPricing = pricing[model] ?? { inputPer1k: 0, outputPer1k: 0 };\n return (\n (promptTokens / 1000) * modelPricing.inputPer1k +\n (completionTokens / 1000) * modelPricing.outputPer1k\n );\n }\n\n function record(input: {\n model: string;\n promptTokens: number;\n completionTokens: number;\n latencyMs: number;\n }): UsageMetrics {\n const { model, promptTokens, completionTokens, latencyMs } = input;\n const totalTokens = promptTokens + completionTokens;\n const cost = calculateCost(model, promptTokens, completionTokens);\n\n const metrics: UsageMetrics = {\n model,\n promptTokens,\n completionTokens,\n totalTokens,\n cost,\n latencyMs,\n timestamp: Date.now(),\n };\n\n history.push(metrics);\n if (history.length > maxHistory) {\n history.shift();\n }\n\n void exporter?.exportUsage(metrics);\n return metrics;\n }\n\n function getAggregated(since?: number): AggregatedUsage {\n const filtered = since ? history.filter(m => m.timestamp >= since) : history;\n\n const byModel: Record<string, UsageMetrics> = {};\n let totalPromptTokens = 0;\n let totalCompletionTokens = 0;\n let totalCost = 0;\n let totalLatency = 0;\n\n for (const m of filtered) {\n totalPromptTokens += m.promptTokens;\n totalCompletionTokens += m.completionTokens;\n totalCost += m.cost;\n totalLatency += m.latencyMs;\n\n const existing = byModel[m.model];\n if (existing) {\n byModel[m.model] = {\n ...existing,\n promptTokens: existing.promptTokens + m.promptTokens,\n completionTokens: existing.completionTokens + m.completionTokens,\n totalTokens: existing.totalTokens + m.totalTokens,\n cost: existing.cost + m.cost,\n latencyMs: existing.latencyMs + m.latencyMs,\n };\n } else {\n byModel[m.model] = { ...m };\n }\n }\n\n return {\n totalPromptTokens,\n totalCompletionTokens,\n totalTokens: totalPromptTokens + totalCompletionTokens,\n totalCost,\n avgLatencyMs: filtered.length > 0 ? totalLatency / filtered.length : 0,\n requestCount: filtered.length,\n byModel,\n };\n }\n\n function getHistory(limit?: number): UsageMetrics[] {\n return limit ? history.slice(-limit) : [...history];\n }\n\n function clear(): void {\n history.length = 0;\n }\n\n return {\n record,\n getAggregated,\n getHistory,\n calculateCost,\n clear,\n };\n}\n\nexport interface UsageTracker {\n record: (input: {\n model: string;\n promptTokens: number;\n completionTokens: number;\n latencyMs: number;\n }) => UsageMetrics;\n getAggregated: (since?: number) => AggregatedUsage;\n getHistory: (limit?: number) => UsageMetrics[];\n calculateCost: (model: string, promptTokens: number, completionTokens: number) => number;\n clear: () => void;\n}\n\n// -----------------------------------------------------------------------------\n// Exporters\n// -----------------------------------------------------------------------------\n\n/**\n * Creates a console exporter for debugging.\n */\nexport function createConsoleExporter(): TelemetryExporter {\n return {\n exportSpan: async span => {\n logInfo('[Telemetry] Span', { span });\n },\n exportUsage: async usage => {\n logInfo('[Telemetry] Usage', { usage });\n },\n flush: async () => {},\n };\n}\n\n/**\n * Creates a batch exporter that buffers and sends in batches.\n */\nexport function createBatchExporter(options: {\n onExportSpans: (spans: TelemetrySpan[]) => Promise<void>;\n onExportUsage: (usage: UsageMetrics[]) => Promise<void>;\n batchSize?: number;\n flushInterval?: number;\n}): TelemetryExporter {\n const { onExportSpans, onExportUsage, batchSize = 100, flushInterval = 5000 } = options;\n\n const spanBuffer: TelemetrySpan[] = [];\n const usageBuffer: UsageMetrics[] = [];\n\n const intervalId = setInterval(() => {\n void flush();\n }, flushInterval);\n\n async function flush(): Promise<void> {\n if (spanBuffer.length > 0) {\n const spans = spanBuffer.splice(0, spanBuffer.length);\n await onExportSpans(spans);\n }\n if (usageBuffer.length > 0) {\n const usage = usageBuffer.splice(0, usageBuffer.length);\n await onExportUsage(usage);\n }\n }\n\n return {\n exportSpan: async span => {\n spanBuffer.push(span);\n if (spanBuffer.length >= batchSize) {\n const spans = spanBuffer.splice(0, batchSize);\n await onExportSpans(spans);\n }\n },\n exportUsage: async usage => {\n usageBuffer.push(usage);\n if (usageBuffer.length >= batchSize) {\n const batch = usageBuffer.splice(0, batchSize);\n await onExportUsage(batch);\n }\n },\n flush: async () => {\n clearInterval(intervalId);\n await flush();\n },\n };\n}\n\n// -----------------------------------------------------------------------------\n// Instrumentation Helpers\n// -----------------------------------------------------------------------------\n\n/**\n * Wraps an async function with automatic tracing.\n *\n * @example\n * ```typescript\n * const tracedGenerate = withTracing(tracer, 'generate', async (prompt: string) => {\n * return generateText({ model, prompt });\n * });\n * ```\n */\nexport function withTracing<TArgs extends unknown[], TResult>(\n tracer: Tracer,\n spanName: string,\n fn: (...args: TArgs) => Promise<TResult>,\n getAttributes?: (...args: TArgs) => SpanAttributes,\n): (...args: TArgs) => Promise<TResult> {\n return async (...args: TArgs): Promise<TResult> => {\n const span = tracer.startSpan(spanName, getAttributes?.(...args));\n\n try {\n const result = await fn(...args);\n span.end();\n return result;\n } catch (error) {\n span.recordError(error);\n span.end();\n throw error;\n }\n };\n}\n\n/**\n * Records usage from AI SDK response.\n */\nexport function recordFromResponse(\n tracker: UsageTracker,\n model: string,\n response: { usage?: { promptTokens?: number; completionTokens?: number } },\n latencyMs: number,\n): UsageMetrics | null {\n if (!response.usage) return null;\n\n return tracker.record({\n model,\n promptTokens: response.usage.promptTokens ?? 0,\n completionTokens: response.usage.completionTokens ?? 0,\n latencyMs,\n });\n}\n"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import "./ai-runtime-DIwOEc6g.mjs";
2
+ import { a as getTraceContext, c as AIInstrumentationConfig, d as TelemetryExporter, f as TraceContext, i as endSpan, l as AISpan, n as createSpan, o as setTraceContext, r as createTracingMiddleware, s as setupAIInstrumentation, t as ConsoleExporter, u as AISpanAttributes } from "./console-DqEqZd4A.mjs";
3
+
4
+ //#region src/observability/tracing/index.d.ts
5
+ declare namespace index_d_exports {
6
+ export { AIInstrumentationConfig, AISpan, AISpanAttributes, ConsoleExporter, TelemetryExporter, TraceContext, createSpan, createTracingMiddleware, endSpan, getTraceContext, setTraceContext, setupAIInstrumentation };
7
+ }
8
+ //#endregion
9
+ export { type AIInstrumentationConfig, type AISpan, type AISpanAttributes, ConsoleExporter, type TelemetryExporter, type TraceContext, createSpan, createTracingMiddleware, endSpan, getTraceContext, setTraceContext, setupAIInstrumentation, index_d_exports as t };
10
+ //# sourceMappingURL=observability-tracing.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observability-tracing.d.mts","names":[],"sources":["../src/observability/tracing/index.ts"],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import { t as __exportAll } from "./chunk-CkzbjWQW.mjs";
2
+ import { a as getTraceContext, i as endSpan, n as createSpan, o as setTraceContext, r as createTracingMiddleware, s as setupAIInstrumentation, t as ConsoleExporter } from "./console-BGMxxPZN.mjs";
3
+
4
+ //#region src/observability/tracing/index.ts
5
+ var tracing_exports = /* @__PURE__ */ __exportAll({
6
+ ConsoleExporter: () => ConsoleExporter,
7
+ createSpan: () => createSpan,
8
+ createTracingMiddleware: () => createTracingMiddleware,
9
+ endSpan: () => endSpan,
10
+ getTraceContext: () => getTraceContext,
11
+ setTraceContext: () => setTraceContext,
12
+ setupAIInstrumentation: () => setupAIInstrumentation
13
+ });
14
+
15
+ //#endregion
16
+ export { ConsoleExporter, createSpan, createTracingMiddleware, endSpan, getTraceContext, setTraceContext, setupAIInstrumentation, tracing_exports as t };
17
+ //# sourceMappingURL=observability-tracing.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observability-tracing.mjs","names":[],"sources":["../src/observability/tracing/index.ts"],"sourcesContent":["/**\n * Tracing and observability module\n *\n * Provides OpenTelemetry-compatible instrumentation for AI SDK,\n * with support for multiple exporters (Langfuse, Axiom, Datadog, etc.)\n *\n * @module @od-oneapp/ai-platform/tracing\n */\n\n// Types\nexport type {\n TelemetryExporter,\n AISpan,\n AISpanAttributes,\n TraceContext,\n AIInstrumentationConfig,\n} from './types';\n\n// Instrumentation\nexport {\n setupAIInstrumentation,\n createTracingMiddleware,\n getTraceContext,\n setTraceContext,\n createSpan,\n endSpan,\n} from './otel/ai-instrumentation';\n\n// Exporters\nexport * from \"./otel/exporters\";\n"],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import "./ai-runtime-DIwOEc6g.mjs";
2
+ import { t as index_d_exports$2 } from "./observability-telemetry.mjs";
3
+ import "./console-DqEqZd4A.mjs";
4
+ import { t as index_d_exports$3 } from "./observability-tracing.mjs";
5
+ import { t as index_d_exports } from "./observability-analytics.mjs";
6
+ import "./budget-guard-C83KCH9V.mjs";
7
+ import { t as index_d_exports$1 } from "./observability-cost.mjs";
8
+
9
+ //#region src/observability/index.d.ts
10
+ declare namespace index_d_exports$4 {
11
+ export { index_d_exports as analytics, index_d_exports$1 as cost, index_d_exports$2 as telemetry, index_d_exports$3 as tracing };
12
+ }
13
+ //#endregion
14
+ export { index_d_exports as analytics, index_d_exports$1 as cost, index_d_exports$4 as t, index_d_exports$2 as telemetry, index_d_exports$3 as tracing };
15
+ //# sourceMappingURL=observability.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observability.d.mts","names":[],"sources":["../src/observability/index.ts"],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import { t as __exportAll } from "./chunk-CkzbjWQW.mjs";
2
+ import { t as telemetry_exports } from "./observability-telemetry.mjs";
3
+ import { t as tracing_exports } from "./observability-tracing.mjs";
4
+ import { t as analytics_exports } from "./observability-analytics.mjs";
5
+ import { t as cost_exports } from "./observability-cost.mjs";
6
+
7
+ //#region src/observability/index.ts
8
+ var observability_exports = /* @__PURE__ */ __exportAll({
9
+ analytics: () => analytics_exports,
10
+ cost: () => cost_exports,
11
+ telemetry: () => telemetry_exports,
12
+ tracing: () => tracing_exports
13
+ });
14
+
15
+ //#endregion
16
+ export { analytics_exports as analytics, cost_exports as cost, observability_exports as t, telemetry_exports as telemetry, tracing_exports as tracing };
17
+ //# sourceMappingURL=observability.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observability.mjs","names":[],"sources":["../src/observability/index.ts"],"sourcesContent":["/**\n * Observability Module\n *\n * Monitoring, tracing, and cost management:\n * - Telemetry (OpenTelemetry integration)\n * - Distributed tracing\n * - Usage analytics\n * - Cost tracking and attribution\n *\n * @module observability\n */\n\n// Namespaced exports to avoid symbol collisions across modules\nexport * as telemetry from \"./telemetry\";\nexport * as tracing from \"./tracing\";\nexport * as analytics from \"./analytics\";\nexport * as cost from \"./cost\";\n"],"mappings":""}
@@ -0,0 +1,97 @@
1
+ import { et as generateText } from "./ai-runtime-CDzQztTt.mjs";
2
+
3
+ //#region src/agents/evaluator-optimizer/optimizer.ts
4
+ /**
5
+ * Optimizer Module
6
+ * Implements content optimization strategies based on evaluation feedback
7
+ * Based on VERCEL_AI_SDK_V6_PATTERNS.md section 4.2
8
+ */
9
+ /**
10
+ * Prompt Optimizer
11
+ * Refines input prompts and generation instructions based on evaluation feedback
12
+ * Used to iteratively improve generation quality
13
+ */
14
+ var PromptOptimizer = class {
15
+ /**
16
+ * Model identifier for optimization (typically a high-quality model)
17
+ * @default 'anthropic/claude-3-5-sonnet-20241022'
18
+ */
19
+ modelId;
20
+ constructor(modelId = "anthropic/claude-3-5-sonnet-20241022") {
21
+ this.modelId = modelId;
22
+ }
23
+ /**
24
+ * Optimize content by generating improved version based on feedback
25
+ * Focuses on addressing specific issues while preserving strengths
26
+ *
27
+ * @param input - Optimizer input containing content and evaluation feedback
28
+ * @returns Promise resolving to improved content
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const optimizer = new PromptOptimizer();
33
+ * const improved = await optimizer.optimize({
34
+ * content: "Original content",
35
+ * evaluationFeedback: evaluationResult,
36
+ * originalRequest: "User request",
37
+ * iterationNumber: 1
38
+ * });
39
+ * ```
40
+ */
41
+ async optimize(input) {
42
+ const { content, evaluationFeedback, originalRequest, iterationNumber = 1 } = input;
43
+ const systemPrompt = `You are an expert content optimizer. Your role is to improve content based on evaluation feedback.
44
+
45
+ CRITICAL GUIDELINES:
46
+ 1. Address ALL specific issues mentioned in the feedback
47
+ 2. Implement the top improvement suggestions
48
+ 3. PRESERVE all identified strengths - do not change what works
49
+ 4. Maintain the original intent and core message
50
+ 5. Keep the same format and style unless feedback suggests otherwise
51
+ 6. Make the content more concise and clear without losing nuance
52
+
53
+ Remember: You are enhancing, not rewriting. The goal is to reach the quality threshold (${evaluationFeedback.qualityScore + (9 - evaluationFeedback.qualityScore) / 2}/10 minimum).`;
54
+ const userPrompt = `${iterationNumber > 1 ? `[Optimization Iteration ${iterationNumber}]\n` : ""}ORIGINAL USER REQUEST:
55
+ ${originalRequest}
56
+
57
+ CURRENT CONTENT:
58
+ ${content}
59
+
60
+ EVALUATION FEEDBACK (Score: ${evaluationFeedback.qualityScore}/10):
61
+
62
+ ISSUES TO FIX:
63
+ ${evaluationFeedback.specificIssues.map((issue) => `• ${issue}`).join("\n")}
64
+
65
+ IMPROVEMENT SUGGESTIONS:
66
+ ${evaluationFeedback.improvementSuggestions.map((suggestion) => `• ${suggestion}`).join("\n")}
67
+
68
+ STRENGTHS TO PRESERVE:
69
+ ${evaluationFeedback.strengths.map((strength) => `• ${strength}`).join("\n")}
70
+
71
+ OVERALL ASSESSMENT:
72
+ ${evaluationFeedback.overallAssessment}
73
+
74
+ Please improve this content. Address each issue specifically, implement the suggestions, and ensure all strengths are preserved.
75
+ Provide the optimized content directly without explanation.`;
76
+ try {
77
+ const { text: improvedContent } = await generateText({
78
+ model: this.modelId,
79
+ system: systemPrompt,
80
+ prompt: userPrompt
81
+ });
82
+ return improvedContent;
83
+ } catch (error) {
84
+ throw new Error(`Optimization failed: ${error instanceof Error ? error.message : String(error)}`);
85
+ }
86
+ }
87
+ };
88
+ /**
89
+ * Factory function to create prompt optimizer
90
+ */
91
+ function createPromptOptimizer(modelId) {
92
+ return new PromptOptimizer(modelId);
93
+ }
94
+
95
+ //#endregion
96
+ export { createPromptOptimizer };
97
+ //# sourceMappingURL=optimizer-DhXXpci6.mjs.map