@opensearch-project/agent-health 0.3.0 → 0.5.2

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 (518) hide show
  1. package/README.md +77 -6
  2. package/cli/dist/index.js +10072 -4502
  3. package/deployment/cloudformation/agent-health-observability.yaml +762 -0
  4. package/dist/assets/index-CCQRDlO0.js +243 -0
  5. package/dist/assets/index-CNHQVbcj.css +1 -0
  6. package/dist/index.html +2 -2
  7. package/docs/ARCHITECTURE.md +450 -0
  8. package/docs/BACKEND_JOB_QUEUE.md +405 -0
  9. package/docs/CLAUDE_CODE_TELEMETRY.md +283 -0
  10. package/docs/CLI.md +431 -0
  11. package/docs/CODING_AGENT_ANALYTICS.md +298 -0
  12. package/docs/CONFIGURATION.md +388 -0
  13. package/docs/CONNECTORS.md +536 -0
  14. package/docs/INSTRUMENT_WITH_OTEL.md +390 -0
  15. package/docs/ML-COMMONS-SETUP.md +289 -0
  16. package/docs/NPX_PACKAGING.md +195 -0
  17. package/docs/PERFORMANCE-MONITORING.md +200 -0
  18. package/docs/PERFORMANCE.md +390 -0
  19. package/docs/PI_PROFILING.md +169 -0
  20. package/docs/PLAN-non-agui-agent-support.md +525 -0
  21. package/docs/SDK.md +577 -0
  22. package/docs/SKILLS.md +264 -0
  23. package/docs/blogs/2026-02-28-opensearch-agent-health.md +200 -0
  24. package/docs/blogs/getting-started-blog.md +608 -0
  25. package/docs/diagrams/Agent-health.excalidraw +5656 -0
  26. package/docs/diagrams/architecture.png +0 -0
  27. package/docs/plans/field-redesign.md +468 -0
  28. package/docs/rfcs/001-coding-agent-analytics.md +374 -0
  29. package/docs/rfcs/002-enterprise-leaderboard.md +267 -0
  30. package/docs/rfcs/003-remote-aggregation.md +146 -0
  31. package/docs/rfcs/004-test-sdk-v2.md +599 -0
  32. package/docs/skills/AGENT_HEALTH.md +598 -0
  33. package/docs/skills/AGENT_PROFILE.md +191 -0
  34. package/docs/skills/add-connector/SKILL.md +68 -0
  35. package/docs/skills/agent-health-profile/SKILL.md +40 -0
  36. package/docs/skills/config-auth/SKILL.md +194 -0
  37. package/docs/skills/config-auth/evals/evals.json +35 -0
  38. package/docs/skills/create-pr/SKILL.md +73 -0
  39. package/docs/skills/instrument-otel/SKILL.md +84 -0
  40. package/docs/skills/write-test/SKILL.md +124 -0
  41. package/docs/ui prd.md +376 -0
  42. package/examples/README.md +53 -0
  43. package/examples/config/agent-health.config.example.ts +155 -0
  44. package/examples/connectors/echo-connector.ts +131 -0
  45. package/examples/eval-files/demo.eval.js +128 -0
  46. package/examples/eval-files/sdk-hooks-demo.eval.js +99 -0
  47. package/examples/pi-profiling/README.md +77 -0
  48. package/examples/pi-profiling/agent-health-profile.ts +417 -0
  49. package/lib/dist/lib/agentUtils.d.ts +29 -0
  50. package/lib/dist/lib/agentUtils.d.ts.map +1 -0
  51. package/lib/dist/lib/agentUtils.js +43 -0
  52. package/lib/dist/lib/agentUtils.js.map +1 -0
  53. package/lib/dist/lib/benchmarkExport.d.ts +14 -0
  54. package/lib/dist/lib/benchmarkExport.d.ts.map +1 -0
  55. package/lib/dist/lib/benchmarkExport.js +41 -0
  56. package/lib/dist/lib/benchmarkExport.js.map +1 -0
  57. package/lib/dist/lib/benchmarkVersionUtils.d.ts +37 -0
  58. package/lib/dist/lib/benchmarkVersionUtils.d.ts.map +1 -0
  59. package/lib/dist/lib/benchmarkVersionUtils.js +68 -0
  60. package/lib/dist/lib/benchmarkVersionUtils.js.map +1 -0
  61. package/lib/dist/lib/config/defineConfig.d.ts +27 -0
  62. package/lib/dist/lib/config/defineConfig.d.ts.map +1 -0
  63. package/lib/dist/lib/config/defineConfig.js +28 -0
  64. package/lib/dist/lib/config/defineConfig.js.map +1 -0
  65. package/lib/dist/lib/config/index.d.ts +9 -0
  66. package/lib/dist/lib/config/index.d.ts.map +1 -0
  67. package/lib/dist/lib/config/index.js +8 -0
  68. package/lib/dist/lib/config/index.js.map +1 -0
  69. package/lib/dist/lib/config/loader.d.ts +39 -0
  70. package/lib/dist/lib/config/loader.d.ts.map +1 -0
  71. package/lib/dist/lib/config/loader.js +258 -0
  72. package/lib/dist/lib/config/loader.js.map +1 -0
  73. package/lib/dist/lib/config/statePaths.d.ts +61 -0
  74. package/lib/dist/lib/config/statePaths.d.ts.map +1 -0
  75. package/lib/dist/lib/config/statePaths.js +188 -0
  76. package/lib/dist/lib/config/statePaths.js.map +1 -0
  77. package/lib/dist/lib/config/types.d.ts +231 -0
  78. package/lib/dist/lib/config/types.d.ts.map +1 -0
  79. package/lib/dist/lib/config/types.js +6 -0
  80. package/lib/dist/lib/config/types.js.map +1 -0
  81. package/lib/dist/lib/config.d.ts +39 -0
  82. package/lib/dist/lib/config.d.ts.map +1 -0
  83. package/lib/dist/lib/config.js +118 -0
  84. package/lib/dist/lib/config.js.map +1 -0
  85. package/lib/dist/lib/constants.d.ts +70 -0
  86. package/lib/dist/lib/constants.d.ts.map +1 -0
  87. package/lib/dist/lib/constants.js +365 -0
  88. package/lib/dist/lib/constants.js.map +1 -0
  89. package/lib/dist/lib/contextUtilization.d.ts +23 -0
  90. package/lib/dist/lib/contextUtilization.d.ts.map +1 -0
  91. package/lib/dist/lib/contextUtilization.js +72 -0
  92. package/lib/dist/lib/contextUtilization.js.map +1 -0
  93. package/lib/dist/lib/dashboardMetrics.d.ts +87 -0
  94. package/lib/dist/lib/dashboardMetrics.d.ts.map +1 -0
  95. package/lib/dist/lib/dashboardMetrics.js +242 -0
  96. package/lib/dist/lib/dashboardMetrics.js.map +1 -0
  97. package/lib/dist/lib/dataSourceConfig.d.ts +108 -0
  98. package/lib/dist/lib/dataSourceConfig.d.ts.map +1 -0
  99. package/lib/dist/lib/dataSourceConfig.js +166 -0
  100. package/lib/dist/lib/dataSourceConfig.js.map +1 -0
  101. package/lib/dist/lib/debug.d.ts +26 -0
  102. package/lib/dist/lib/debug.d.ts.map +1 -0
  103. package/lib/dist/lib/debug.js +132 -0
  104. package/lib/dist/lib/debug.js.map +1 -0
  105. package/lib/dist/lib/diagnostics.d.ts +28 -0
  106. package/lib/dist/lib/diagnostics.d.ts.map +1 -0
  107. package/lib/dist/lib/diagnostics.js +65 -0
  108. package/lib/dist/lib/diagnostics.js.map +1 -0
  109. package/lib/dist/lib/envCompat.d.ts +27 -0
  110. package/lib/dist/lib/envCompat.d.ts.map +1 -0
  111. package/lib/dist/lib/envCompat.js +73 -0
  112. package/lib/dist/lib/envCompat.js.map +1 -0
  113. package/lib/dist/lib/findPackageRoot.d.ts +7 -0
  114. package/lib/dist/lib/findPackageRoot.d.ts.map +1 -0
  115. package/lib/dist/lib/findPackageRoot.js +57 -0
  116. package/lib/dist/lib/findPackageRoot.js.map +1 -0
  117. package/lib/dist/lib/hooks.d.ts +36 -0
  118. package/lib/dist/lib/hooks.d.ts.map +1 -0
  119. package/lib/dist/lib/hooks.js +112 -0
  120. package/lib/dist/lib/hooks.js.map +1 -0
  121. package/lib/dist/lib/index.d.ts +47 -0
  122. package/lib/dist/lib/index.d.ts.map +1 -0
  123. package/lib/dist/lib/index.js +62 -0
  124. package/lib/dist/lib/index.js.map +1 -0
  125. package/lib/dist/lib/labels.d.ts +90 -0
  126. package/lib/dist/lib/labels.d.ts.map +1 -0
  127. package/lib/dist/lib/labels.js +158 -0
  128. package/lib/dist/lib/labels.js.map +1 -0
  129. package/lib/dist/lib/markdown.d.ts +16 -0
  130. package/lib/dist/lib/markdown.d.ts.map +1 -0
  131. package/lib/dist/lib/markdown.js +42 -0
  132. package/lib/dist/lib/markdown.js.map +1 -0
  133. package/lib/dist/lib/matchers/expect.d.ts +3 -0
  134. package/lib/dist/lib/matchers/expect.d.ts.map +1 -0
  135. package/lib/dist/lib/matchers/expect.js +225 -0
  136. package/lib/dist/lib/matchers/expect.js.map +1 -0
  137. package/lib/dist/lib/matchers/index.d.ts +8 -0
  138. package/lib/dist/lib/matchers/index.d.ts.map +1 -0
  139. package/lib/dist/lib/matchers/index.js +9 -0
  140. package/lib/dist/lib/matchers/index.js.map +1 -0
  141. package/lib/dist/lib/matchers/judgeAccessor.d.ts +113 -0
  142. package/lib/dist/lib/matchers/judgeAccessor.d.ts.map +1 -0
  143. package/lib/dist/lib/matchers/judgeAccessor.js +183 -0
  144. package/lib/dist/lib/matchers/judgeAccessor.js.map +1 -0
  145. package/lib/dist/lib/matchers/session.d.ts +39 -0
  146. package/lib/dist/lib/matchers/session.d.ts.map +1 -0
  147. package/lib/dist/lib/matchers/session.js +116 -0
  148. package/lib/dist/lib/matchers/session.js.map +1 -0
  149. package/lib/dist/lib/matchers/traces.d.ts +55 -0
  150. package/lib/dist/lib/matchers/traces.d.ts.map +1 -0
  151. package/lib/dist/lib/matchers/traces.js +116 -0
  152. package/lib/dist/lib/matchers/traces.js.map +1 -0
  153. package/lib/dist/lib/matchers/types.d.ts +75 -0
  154. package/lib/dist/lib/matchers/types.d.ts.map +1 -0
  155. package/lib/dist/lib/matchers/types.js +6 -0
  156. package/lib/dist/lib/matchers/types.js.map +1 -0
  157. package/lib/dist/lib/packagePaths.d.ts +29 -0
  158. package/lib/dist/lib/packagePaths.d.ts.map +1 -0
  159. package/lib/dist/lib/packagePaths.js +63 -0
  160. package/lib/dist/lib/packagePaths.js.map +1 -0
  161. package/lib/dist/lib/performance.d.ts +51 -0
  162. package/lib/dist/lib/performance.d.ts.map +1 -0
  163. package/lib/dist/lib/performance.js +159 -0
  164. package/lib/dist/lib/performance.js.map +1 -0
  165. package/lib/dist/lib/portConfig.d.ts +29 -0
  166. package/lib/dist/lib/portConfig.d.ts.map +1 -0
  167. package/lib/dist/lib/portConfig.js +64 -0
  168. package/lib/dist/lib/portConfig.js.map +1 -0
  169. package/lib/dist/lib/preferences.d.ts +63 -0
  170. package/lib/dist/lib/preferences.d.ts.map +1 -0
  171. package/lib/dist/lib/preferences.js +117 -0
  172. package/lib/dist/lib/preferences.js.map +1 -0
  173. package/lib/dist/lib/resolveAgentModel.d.ts +22 -0
  174. package/lib/dist/lib/resolveAgentModel.d.ts.map +1 -0
  175. package/lib/dist/lib/resolveAgentModel.js +37 -0
  176. package/lib/dist/lib/resolveAgentModel.js.map +1 -0
  177. package/lib/dist/lib/runStats.d.ts +92 -0
  178. package/lib/dist/lib/runStats.d.ts.map +1 -0
  179. package/lib/dist/lib/runStats.js +160 -0
  180. package/lib/dist/lib/runStats.js.map +1 -0
  181. package/lib/dist/lib/telemetry/constants.d.ts +60 -0
  182. package/lib/dist/lib/telemetry/constants.d.ts.map +1 -0
  183. package/lib/dist/lib/telemetry/constants.js +87 -0
  184. package/lib/dist/lib/telemetry/constants.js.map +1 -0
  185. package/lib/dist/lib/telemetry/evalSpans.d.ts +61 -0
  186. package/lib/dist/lib/telemetry/evalSpans.d.ts.map +1 -0
  187. package/lib/dist/lib/telemetry/evalSpans.js +254 -0
  188. package/lib/dist/lib/telemetry/evalSpans.js.map +1 -0
  189. package/lib/dist/lib/telemetry/index.d.ts +11 -0
  190. package/lib/dist/lib/telemetry/index.d.ts.map +1 -0
  191. package/lib/dist/lib/telemetry/index.js +15 -0
  192. package/lib/dist/lib/telemetry/index.js.map +1 -0
  193. package/lib/dist/lib/telemetry/opensearchExporter.d.ts +43 -0
  194. package/lib/dist/lib/telemetry/opensearchExporter.d.ts.map +1 -0
  195. package/lib/dist/lib/telemetry/opensearchExporter.js +217 -0
  196. package/lib/dist/lib/telemetry/opensearchExporter.js.map +1 -0
  197. package/lib/dist/lib/telemetry/provider.d.ts +55 -0
  198. package/lib/dist/lib/telemetry/provider.d.ts.map +1 -0
  199. package/lib/dist/lib/telemetry/provider.js +140 -0
  200. package/lib/dist/lib/telemetry/provider.js.map +1 -0
  201. package/lib/dist/lib/testCaseLabels.d.ts +34 -0
  202. package/lib/dist/lib/testCaseLabels.d.ts.map +1 -0
  203. package/lib/dist/lib/testCaseLabels.js +88 -0
  204. package/lib/dist/lib/testCaseLabels.js.map +1 -0
  205. package/lib/dist/lib/testCaseValidation.d.ts +140 -0
  206. package/lib/dist/lib/testCaseValidation.d.ts.map +1 -0
  207. package/lib/dist/lib/testCaseValidation.js +162 -0
  208. package/lib/dist/lib/testCaseValidation.js.map +1 -0
  209. package/lib/dist/lib/testCases/agentFixture.d.ts +80 -0
  210. package/lib/dist/lib/testCases/agentFixture.d.ts.map +1 -0
  211. package/lib/dist/lib/testCases/agentFixture.js +43 -0
  212. package/lib/dist/lib/testCases/agentFixture.js.map +1 -0
  213. package/lib/dist/lib/testCases/authoringSurface.d.ts +10 -0
  214. package/lib/dist/lib/testCases/authoringSurface.d.ts.map +1 -0
  215. package/lib/dist/lib/testCases/authoringSurface.js +54 -0
  216. package/lib/dist/lib/testCases/authoringSurface.js.map +1 -0
  217. package/lib/dist/lib/testCases/codemod.d.ts +13 -0
  218. package/lib/dist/lib/testCases/codemod.d.ts.map +1 -0
  219. package/lib/dist/lib/testCases/codemod.js +169 -0
  220. package/lib/dist/lib/testCases/codemod.js.map +1 -0
  221. package/lib/dist/lib/testCases/define.d.ts +114 -0
  222. package/lib/dist/lib/testCases/define.d.ts.map +1 -0
  223. package/lib/dist/lib/testCases/define.js +253 -0
  224. package/lib/dist/lib/testCases/define.js.map +1 -0
  225. package/lib/dist/lib/testCases/evaluators.d.ts +80 -0
  226. package/lib/dist/lib/testCases/evaluators.d.ts.map +1 -0
  227. package/lib/dist/lib/testCases/evaluators.js +105 -0
  228. package/lib/dist/lib/testCases/evaluators.js.map +1 -0
  229. package/lib/dist/lib/testCases/index.d.ts +14 -0
  230. package/lib/dist/lib/testCases/index.d.ts.map +1 -0
  231. package/lib/dist/lib/testCases/index.js +12 -0
  232. package/lib/dist/lib/testCases/index.js.map +1 -0
  233. package/lib/dist/lib/testCases/judge.d.ts +165 -0
  234. package/lib/dist/lib/testCases/judge.d.ts.map +1 -0
  235. package/lib/dist/lib/testCases/judge.js +359 -0
  236. package/lib/dist/lib/testCases/judge.js.map +1 -0
  237. package/lib/dist/lib/testCases/loader.d.ts +26 -0
  238. package/lib/dist/lib/testCases/loader.d.ts.map +1 -0
  239. package/lib/dist/lib/testCases/loader.js +149 -0
  240. package/lib/dist/lib/testCases/loader.js.map +1 -0
  241. package/lib/dist/lib/testCases/types.d.ts +242 -0
  242. package/lib/dist/lib/testCases/types.d.ts.map +1 -0
  243. package/lib/dist/lib/testCases/types.js +6 -0
  244. package/lib/dist/lib/testCases/types.js.map +1 -0
  245. package/lib/dist/lib/theme.d.ts +6 -0
  246. package/lib/dist/lib/theme.d.ts.map +1 -0
  247. package/lib/dist/lib/theme.js +36 -0
  248. package/lib/dist/lib/theme.js.map +1 -0
  249. package/lib/dist/lib/uiTelemetry.d.ts +7 -0
  250. package/lib/dist/lib/uiTelemetry.d.ts.map +1 -0
  251. package/lib/dist/lib/uiTelemetry.js +25 -0
  252. package/lib/dist/lib/uiTelemetry.js.map +1 -0
  253. package/lib/dist/lib/utils.d.ts +96 -0
  254. package/lib/dist/lib/utils.d.ts.map +1 -0
  255. package/lib/dist/lib/utils.js +232 -0
  256. package/lib/dist/lib/utils.js.map +1 -0
  257. package/lib/dist/lib/workflow/consolidate.d.ts +12 -0
  258. package/lib/dist/lib/workflow/consolidate.d.ts.map +1 -0
  259. package/lib/dist/lib/workflow/consolidate.js +33 -0
  260. package/lib/dist/lib/workflow/consolidate.js.map +1 -0
  261. package/lib/dist/lib/workflow/index.d.ts +13 -0
  262. package/lib/dist/lib/workflow/index.d.ts.map +1 -0
  263. package/lib/dist/lib/workflow/index.js +12 -0
  264. package/lib/dist/lib/workflow/index.js.map +1 -0
  265. package/lib/dist/lib/workflow/ledger.d.ts +30 -0
  266. package/lib/dist/lib/workflow/ledger.d.ts.map +1 -0
  267. package/lib/dist/lib/workflow/ledger.js +41 -0
  268. package/lib/dist/lib/workflow/ledger.js.map +1 -0
  269. package/lib/dist/lib/workflow/pool.d.ts +13 -0
  270. package/lib/dist/lib/workflow/pool.d.ts.map +1 -0
  271. package/lib/dist/lib/workflow/pool.js +44 -0
  272. package/lib/dist/lib/workflow/pool.js.map +1 -0
  273. package/lib/dist/lib/workflow/source.d.ts +22 -0
  274. package/lib/dist/lib/workflow/source.d.ts.map +1 -0
  275. package/lib/dist/lib/workflow/source.js +29 -0
  276. package/lib/dist/lib/workflow/source.js.map +1 -0
  277. package/lib/dist/lib/workflow/stepB.d.ts +71 -0
  278. package/lib/dist/lib/workflow/stepB.d.ts.map +1 -0
  279. package/lib/dist/lib/workflow/stepB.js +99 -0
  280. package/lib/dist/lib/workflow/stepB.js.map +1 -0
  281. package/lib/dist/lib/workflow/types.d.ts +86 -0
  282. package/lib/dist/lib/workflow/types.d.ts.map +1 -0
  283. package/lib/dist/lib/workflow/types.js +6 -0
  284. package/lib/dist/lib/workflow/types.js.map +1 -0
  285. package/lib/dist/lib/workflow/workflow.d.ts +119 -0
  286. package/lib/dist/lib/workflow/workflow.d.ts.map +1 -0
  287. package/lib/dist/lib/workflow/workflow.js +195 -0
  288. package/lib/dist/lib/workflow/workflow.js.map +1 -0
  289. package/lib/dist/services/agent/aguiConverter.d.ts +50 -0
  290. package/lib/dist/services/agent/aguiConverter.d.ts.map +1 -0
  291. package/lib/dist/services/agent/aguiConverter.js +449 -0
  292. package/lib/dist/services/agent/aguiConverter.js.map +1 -0
  293. package/lib/dist/services/agent/index.d.ts +10 -0
  294. package/lib/dist/services/agent/index.d.ts.map +1 -0
  295. package/lib/dist/services/agent/index.js +12 -0
  296. package/lib/dist/services/agent/index.js.map +1 -0
  297. package/lib/dist/services/agent/payloadBuilder.d.ts +33 -0
  298. package/lib/dist/services/agent/payloadBuilder.d.ts.map +1 -0
  299. package/lib/dist/services/agent/payloadBuilder.js +75 -0
  300. package/lib/dist/services/agent/payloadBuilder.js.map +1 -0
  301. package/lib/dist/services/agent/sseStream.d.ts +43 -0
  302. package/lib/dist/services/agent/sseStream.d.ts.map +1 -0
  303. package/lib/dist/services/agent/sseStream.js +223 -0
  304. package/lib/dist/services/agent/sseStream.js.map +1 -0
  305. package/lib/dist/services/connectors/agui/AGUIStreamingConnector.d.ts +44 -0
  306. package/lib/dist/services/connectors/agui/AGUIStreamingConnector.d.ts.map +1 -0
  307. package/lib/dist/services/connectors/agui/AGUIStreamingConnector.js +95 -0
  308. package/lib/dist/services/connectors/agui/AGUIStreamingConnector.js.map +1 -0
  309. package/lib/dist/services/connectors/base/BaseConnector.d.ts +81 -0
  310. package/lib/dist/services/connectors/base/BaseConnector.d.ts.map +1 -0
  311. package/lib/dist/services/connectors/base/BaseConnector.js +170 -0
  312. package/lib/dist/services/connectors/base/BaseConnector.js.map +1 -0
  313. package/lib/dist/services/connectors/claude-code/ClaudeCodeConnector.d.ts +116 -0
  314. package/lib/dist/services/connectors/claude-code/ClaudeCodeConnector.d.ts.map +1 -0
  315. package/lib/dist/services/connectors/claude-code/ClaudeCodeConnector.js +403 -0
  316. package/lib/dist/services/connectors/claude-code/ClaudeCodeConnector.js.map +1 -0
  317. package/lib/dist/services/connectors/index.d.ts +13 -0
  318. package/lib/dist/services/connectors/index.d.ts.map +1 -0
  319. package/lib/dist/services/connectors/index.js +32 -0
  320. package/lib/dist/services/connectors/index.js.map +1 -0
  321. package/lib/dist/services/connectors/kiro/KiroConnector.d.ts +48 -0
  322. package/lib/dist/services/connectors/kiro/KiroConnector.d.ts.map +1 -0
  323. package/lib/dist/services/connectors/kiro/KiroConnector.js +158 -0
  324. package/lib/dist/services/connectors/kiro/KiroConnector.js.map +1 -0
  325. package/lib/dist/services/connectors/langgraph/LangGraphConnector.d.ts +36 -0
  326. package/lib/dist/services/connectors/langgraph/LangGraphConnector.d.ts.map +1 -0
  327. package/lib/dist/services/connectors/langgraph/LangGraphConnector.js +175 -0
  328. package/lib/dist/services/connectors/langgraph/LangGraphConnector.js.map +1 -0
  329. package/lib/dist/services/connectors/mock/MockConnector.d.ts +37 -0
  330. package/lib/dist/services/connectors/mock/MockConnector.d.ts.map +1 -0
  331. package/lib/dist/services/connectors/mock/MockConnector.js +120 -0
  332. package/lib/dist/services/connectors/mock/MockConnector.js.map +1 -0
  333. package/lib/dist/services/connectors/openai-compatible/OpenAICompatibleConnector.d.ts +42 -0
  334. package/lib/dist/services/connectors/openai-compatible/OpenAICompatibleConnector.d.ts.map +1 -0
  335. package/lib/dist/services/connectors/openai-compatible/OpenAICompatibleConnector.js +133 -0
  336. package/lib/dist/services/connectors/openai-compatible/OpenAICompatibleConnector.js.map +1 -0
  337. package/lib/dist/services/connectors/pi/PiConnector.d.ts +87 -0
  338. package/lib/dist/services/connectors/pi/PiConnector.d.ts.map +1 -0
  339. package/lib/dist/services/connectors/pi/PiConnector.js +274 -0
  340. package/lib/dist/services/connectors/pi/PiConnector.js.map +1 -0
  341. package/lib/dist/services/connectors/registry.d.ts +57 -0
  342. package/lib/dist/services/connectors/registry.d.ts.map +1 -0
  343. package/lib/dist/services/connectors/registry.js +106 -0
  344. package/lib/dist/services/connectors/registry.js.map +1 -0
  345. package/lib/dist/services/connectors/rest/RESTConnector.d.ts +38 -0
  346. package/lib/dist/services/connectors/rest/RESTConnector.d.ts.map +1 -0
  347. package/lib/dist/services/connectors/rest/RESTConnector.js +117 -0
  348. package/lib/dist/services/connectors/rest/RESTConnector.js.map +1 -0
  349. package/lib/dist/services/connectors/server.d.ts +13 -0
  350. package/lib/dist/services/connectors/server.d.ts.map +1 -0
  351. package/lib/dist/services/connectors/server.js +34 -0
  352. package/lib/dist/services/connectors/server.js.map +1 -0
  353. package/lib/dist/services/connectors/strands/StrandsConnector.d.ts +48 -0
  354. package/lib/dist/services/connectors/strands/StrandsConnector.d.ts.map +1 -0
  355. package/lib/dist/services/connectors/strands/StrandsConnector.js +221 -0
  356. package/lib/dist/services/connectors/strands/StrandsConnector.js.map +1 -0
  357. package/lib/dist/services/connectors/subprocess/SubprocessConnector.d.ts +88 -0
  358. package/lib/dist/services/connectors/subprocess/SubprocessConnector.d.ts.map +1 -0
  359. package/lib/dist/services/connectors/subprocess/SubprocessConnector.js +418 -0
  360. package/lib/dist/services/connectors/subprocess/SubprocessConnector.js.map +1 -0
  361. package/lib/dist/services/connectors/types.d.ts +213 -0
  362. package/lib/dist/services/connectors/types.d.ts.map +1 -0
  363. package/lib/dist/services/connectors/types.js +6 -0
  364. package/lib/dist/services/connectors/types.js.map +1 -0
  365. package/lib/dist/services/evaluation/bedrockJudge.d.ts +64 -0
  366. package/lib/dist/services/evaluation/bedrockJudge.d.ts.map +1 -0
  367. package/lib/dist/services/evaluation/bedrockJudge.js +167 -0
  368. package/lib/dist/services/evaluation/bedrockJudge.js.map +1 -0
  369. package/lib/dist/services/evaluation/evaluatorError.d.ts +56 -0
  370. package/lib/dist/services/evaluation/evaluatorError.d.ts.map +1 -0
  371. package/lib/dist/services/evaluation/evaluatorError.js +56 -0
  372. package/lib/dist/services/evaluation/evaluatorError.js.map +1 -0
  373. package/lib/dist/services/evaluation/index.d.ts +106 -0
  374. package/lib/dist/services/evaluation/index.d.ts.map +1 -0
  375. package/lib/dist/services/evaluation/index.js +684 -0
  376. package/lib/dist/services/evaluation/index.js.map +1 -0
  377. package/lib/dist/services/evaluation/mockTrajectory.d.ts +3 -0
  378. package/lib/dist/services/evaluation/mockTrajectory.d.ts.map +1 -0
  379. package/lib/dist/services/evaluation/mockTrajectory.js +72 -0
  380. package/lib/dist/services/evaluation/mockTrajectory.js.map +1 -0
  381. package/lib/dist/services/opensearch/client.d.ts +26 -0
  382. package/lib/dist/services/opensearch/client.d.ts.map +1 -0
  383. package/lib/dist/services/opensearch/client.js +131 -0
  384. package/lib/dist/services/opensearch/client.js.map +1 -0
  385. package/lib/dist/services/opensearch/index.d.ts +16 -0
  386. package/lib/dist/services/opensearch/index.d.ts.map +1 -0
  387. package/lib/dist/services/opensearch/index.js +25 -0
  388. package/lib/dist/services/opensearch/index.js.map +1 -0
  389. package/lib/dist/services/storage/asyncBenchmarkStorage.d.ts +123 -0
  390. package/lib/dist/services/storage/asyncBenchmarkStorage.d.ts.map +1 -0
  391. package/lib/dist/services/storage/asyncBenchmarkStorage.js +429 -0
  392. package/lib/dist/services/storage/asyncBenchmarkStorage.js.map +1 -0
  393. package/lib/dist/services/storage/asyncRunStorage.d.ts +127 -0
  394. package/lib/dist/services/storage/asyncRunStorage.d.ts.map +1 -0
  395. package/lib/dist/services/storage/asyncRunStorage.js +448 -0
  396. package/lib/dist/services/storage/asyncRunStorage.js.map +1 -0
  397. package/lib/dist/services/storage/asyncTestCaseStorage.d.ts +156 -0
  398. package/lib/dist/services/storage/asyncTestCaseStorage.d.ts.map +1 -0
  399. package/lib/dist/services/storage/asyncTestCaseStorage.js +285 -0
  400. package/lib/dist/services/storage/asyncTestCaseStorage.js.map +1 -0
  401. package/lib/dist/services/storage/index.d.ts +17 -0
  402. package/lib/dist/services/storage/index.d.ts.map +1 -0
  403. package/lib/dist/services/storage/index.js +20 -0
  404. package/lib/dist/services/storage/index.js.map +1 -0
  405. package/lib/dist/services/storage/migration.d.ts +54 -0
  406. package/lib/dist/services/storage/migration.d.ts.map +1 -0
  407. package/lib/dist/services/storage/migration.js +296 -0
  408. package/lib/dist/services/storage/migration.js.map +1 -0
  409. package/lib/dist/services/storage/opensearchClient.d.ts +924 -0
  410. package/lib/dist/services/storage/opensearchClient.d.ts.map +1 -0
  411. package/lib/dist/services/storage/opensearchClient.js +435 -0
  412. package/lib/dist/services/storage/opensearchClient.js.map +1 -0
  413. package/lib/dist/services/traces/browserRecovery.d.ts +26 -0
  414. package/lib/dist/services/traces/browserRecovery.d.ts.map +1 -0
  415. package/lib/dist/services/traces/browserRecovery.js +81 -0
  416. package/lib/dist/services/traces/browserRecovery.js.map +1 -0
  417. package/lib/dist/services/traces/categoryStyles.d.ts +21 -0
  418. package/lib/dist/services/traces/categoryStyles.d.ts.map +1 -0
  419. package/lib/dist/services/traces/categoryStyles.js +56 -0
  420. package/lib/dist/services/traces/categoryStyles.js.map +1 -0
  421. package/lib/dist/services/traces/executionOrderTransform.d.ts +35 -0
  422. package/lib/dist/services/traces/executionOrderTransform.d.ts.map +1 -0
  423. package/lib/dist/services/traces/executionOrderTransform.js +313 -0
  424. package/lib/dist/services/traces/executionOrderTransform.js.map +1 -0
  425. package/lib/dist/services/traces/fetchSpansForRun.d.ts +86 -0
  426. package/lib/dist/services/traces/fetchSpansForRun.d.ts.map +1 -0
  427. package/lib/dist/services/traces/fetchSpansForRun.js +69 -0
  428. package/lib/dist/services/traces/fetchSpansForRun.js.map +1 -0
  429. package/lib/dist/services/traces/flowTransform.d.ts +24 -0
  430. package/lib/dist/services/traces/flowTransform.d.ts.map +1 -0
  431. package/lib/dist/services/traces/flowTransform.js +228 -0
  432. package/lib/dist/services/traces/flowTransform.js.map +1 -0
  433. package/lib/dist/services/traces/index.d.ts +121 -0
  434. package/lib/dist/services/traces/index.d.ts.map +1 -0
  435. package/lib/dist/services/traces/index.js +255 -0
  436. package/lib/dist/services/traces/index.js.map +1 -0
  437. package/lib/dist/services/traces/intentTransform.d.ts +20 -0
  438. package/lib/dist/services/traces/intentTransform.d.ts.map +1 -0
  439. package/lib/dist/services/traces/intentTransform.js +131 -0
  440. package/lib/dist/services/traces/intentTransform.js.map +1 -0
  441. package/lib/dist/services/traces/judgeAgentsHints.d.ts +63 -0
  442. package/lib/dist/services/traces/judgeAgentsHints.d.ts.map +1 -0
  443. package/lib/dist/services/traces/judgeAgentsHints.js +89 -0
  444. package/lib/dist/services/traces/judgeAgentsHints.js.map +1 -0
  445. package/lib/dist/services/traces/messageExtraction.d.ts +15 -0
  446. package/lib/dist/services/traces/messageExtraction.d.ts.map +1 -0
  447. package/lib/dist/services/traces/messageExtraction.js +251 -0
  448. package/lib/dist/services/traces/messageExtraction.js.map +1 -0
  449. package/lib/dist/services/traces/spanCategorization.d.ts +63 -0
  450. package/lib/dist/services/traces/spanCategorization.d.ts.map +1 -0
  451. package/lib/dist/services/traces/spanCategorization.js +276 -0
  452. package/lib/dist/services/traces/spanCategorization.js.map +1 -0
  453. package/lib/dist/services/traces/spanPreprocessing.d.ts +37 -0
  454. package/lib/dist/services/traces/spanPreprocessing.d.ts.map +1 -0
  455. package/lib/dist/services/traces/spanPreprocessing.js +102 -0
  456. package/lib/dist/services/traces/spanPreprocessing.js.map +1 -0
  457. package/lib/dist/services/traces/spansToTrajectory.d.ts +36 -0
  458. package/lib/dist/services/traces/spansToTrajectory.d.ts.map +1 -0
  459. package/lib/dist/services/traces/spansToTrajectory.js +387 -0
  460. package/lib/dist/services/traces/spansToTrajectory.js.map +1 -0
  461. package/lib/dist/services/traces/toolSimilarity.d.ts +35 -0
  462. package/lib/dist/services/traces/toolSimilarity.d.ts.map +1 -0
  463. package/lib/dist/services/traces/toolSimilarity.js +203 -0
  464. package/lib/dist/services/traces/toolSimilarity.js.map +1 -0
  465. package/lib/dist/services/traces/traceComparison.d.ts +31 -0
  466. package/lib/dist/services/traces/traceComparison.d.ts.map +1 -0
  467. package/lib/dist/services/traces/traceComparison.js +318 -0
  468. package/lib/dist/services/traces/traceComparison.js.map +1 -0
  469. package/lib/dist/services/traces/traceGrouping.d.ts +19 -0
  470. package/lib/dist/services/traces/traceGrouping.d.ts.map +1 -0
  471. package/lib/dist/services/traces/traceGrouping.js +107 -0
  472. package/lib/dist/services/traces/traceGrouping.js.map +1 -0
  473. package/lib/dist/services/traces/tracePoller.d.ts +84 -0
  474. package/lib/dist/services/traces/tracePoller.d.ts.map +1 -0
  475. package/lib/dist/services/traces/tracePoller.js +309 -0
  476. package/lib/dist/services/traces/tracePoller.js.map +1 -0
  477. package/lib/dist/services/traces/traceStats.d.ts +45 -0
  478. package/lib/dist/services/traces/traceStats.d.ts.map +1 -0
  479. package/lib/dist/services/traces/traceStats.js +114 -0
  480. package/lib/dist/services/traces/traceStats.js.map +1 -0
  481. package/lib/dist/services/traces/traceSummary.d.ts +47 -0
  482. package/lib/dist/services/traces/traceSummary.d.ts.map +1 -0
  483. package/lib/dist/services/traces/traceSummary.js +68 -0
  484. package/lib/dist/services/traces/traceSummary.js.map +1 -0
  485. package/lib/dist/services/traces/utils.d.ts +33 -0
  486. package/lib/dist/services/traces/utils.d.ts.map +1 -0
  487. package/lib/dist/services/traces/utils.js +114 -0
  488. package/lib/dist/services/traces/utils.js.map +1 -0
  489. package/lib/dist/types/agui.d.ts +13 -0
  490. package/lib/dist/types/agui.d.ts.map +1 -0
  491. package/lib/dist/types/agui.js +16 -0
  492. package/lib/dist/types/agui.js.map +1 -0
  493. package/lib/dist/types/index.d.ts +1175 -0
  494. package/lib/dist/types/index.d.ts.map +1 -0
  495. package/lib/dist/types/index.js +12 -0
  496. package/lib/dist/types/index.js.map +1 -0
  497. package/lib/dist/types/skills.d.ts +146 -0
  498. package/lib/dist/types/skills.d.ts.map +1 -0
  499. package/lib/dist/types/skills.js +6 -0
  500. package/lib/dist/types/skills.js.map +1 -0
  501. package/observio-sample-agent/pi-package/README.md +112 -0
  502. package/observio-sample-agent/pi-package/extensions/agent-health.ts +373 -0
  503. package/observio-sample-agent/pi-package/package.json +17 -0
  504. package/observio-sample-agent/pi-package/prompts/agent-health.md +37 -0
  505. package/observio-sample-agent/pi-package/skills/create-pr/SKILL.md +88 -0
  506. package/observio-sample-agent/pi-package/skills/fix-bug/SKILL.md +71 -0
  507. package/observio-sample-agent/pi-package/skills/implement-feature/SKILL.md +156 -0
  508. package/observio-sample-agent/pi-package/skills/instrument-otel/SKILL.md +208 -0
  509. package/observio-sample-agent/pi-package/skills/setup-collector/SKILL.md +146 -0
  510. package/observio-sample-agent/pi-package/skills/write-test/SKILL.md +115 -0
  511. package/package.json +64 -13
  512. package/server/dist/app.js +32651 -17637
  513. package/server/dist/index.js +29875 -14638
  514. package/tsconfig.lib.json +71 -0
  515. package/dist/assets/index-EvPLSTAS.js +0 -267
  516. package/dist/assets/index-RXasQKUs.css +0 -1
  517. package/lib/dist/config/index.js +0 -404
  518. package/lib/dist/index.js +0 -1665
@@ -0,0 +1,449 @@
1
+ /*
2
+ * Copyright OpenSearch Contributors
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ /**
6
+ * AG UI Event to TrajectoryStep Converter
7
+ * Converts streaming AG UI events from the agent into TrajectoryStep format
8
+ */
9
+ import { v4 as uuidv4 } from 'uuid';
10
+ import { ToolCallStatus } from '../../types/index.js';
11
+ import { debug } from '../../lib/debug.js';
12
+ import { AGUIEventType } from '../../types/agui.js';
13
+ export class AGUIToTrajectoryConverter {
14
+ constructor() {
15
+ this.currentTextMessage = null;
16
+ this.activeTools = new Map();
17
+ this.hasEmittedAction = false;
18
+ this.runFinished = false;
19
+ this.pendingTextIsResponse = false;
20
+ this.runId = null;
21
+ this.threadId = null;
22
+ // Thinking state tracking
23
+ this.isThinking = false;
24
+ this.currentThinkingMessage = null;
25
+ }
26
+ /**
27
+ * Process a single AG UI event and convert it to TrajectoryStep(s)
28
+ * Returns an array of steps (usually 0 or 1, sometimes more)
29
+ */
30
+ processEvent(event) {
31
+ debug('Converter', `Event: ${event.type}`, JSON.stringify(event).substring(0, 300));
32
+ let steps = [];
33
+ switch (event.type) {
34
+ case AGUIEventType.RUN_STARTED:
35
+ steps = this.handleRunStarted(event);
36
+ break;
37
+ case AGUIEventType.RUN_FINISHED:
38
+ steps = this.handleRunFinished(event);
39
+ break;
40
+ case AGUIEventType.RUN_ERROR:
41
+ steps = this.handleRunError(event);
42
+ break;
43
+ case AGUIEventType.TEXT_MESSAGE_START:
44
+ steps = this.handleTextMessageStart(event);
45
+ break;
46
+ case AGUIEventType.TEXT_MESSAGE_CONTENT:
47
+ steps = this.handleTextMessageContent(event);
48
+ break;
49
+ case AGUIEventType.TEXT_MESSAGE_END:
50
+ steps = this.handleTextMessageEnd(event);
51
+ break;
52
+ case AGUIEventType.ACTIVITY_SNAPSHOT:
53
+ steps = this.handleActivitySnapshot(event);
54
+ break;
55
+ case AGUIEventType.ACTIVITY_DELTA:
56
+ steps = this.handleActivityDelta(event);
57
+ break;
58
+ case AGUIEventType.TOOL_CALL_START:
59
+ steps = this.handleToolCallStart(event);
60
+ break;
61
+ case AGUIEventType.TOOL_CALL_ARGS:
62
+ steps = this.handleToolCallArgs(event);
63
+ break;
64
+ case AGUIEventType.TOOL_CALL_END:
65
+ steps = this.handleToolCallEnd(event);
66
+ break;
67
+ case AGUIEventType.TOOL_CALL_RESULT:
68
+ steps = this.handleToolCallResult(event);
69
+ break;
70
+ // Thinking events - extended reasoning from the model
71
+ case AGUIEventType.THINKING_START:
72
+ steps = this.handleThinkingStart(event);
73
+ break;
74
+ case AGUIEventType.THINKING_END:
75
+ steps = this.handleThinkingEnd(event);
76
+ break;
77
+ case AGUIEventType.THINKING_TEXT_MESSAGE_START:
78
+ steps = this.handleThinkingTextMessageStart(event);
79
+ break;
80
+ case AGUIEventType.THINKING_TEXT_MESSAGE_CONTENT:
81
+ steps = this.handleThinkingTextMessageContent(event);
82
+ break;
83
+ case AGUIEventType.THINKING_TEXT_MESSAGE_END:
84
+ steps = this.handleThinkingTextMessageEnd(event);
85
+ break;
86
+ default:
87
+ debug('Converter', `Skipped unhandled event: ${event.type}`);
88
+ break;
89
+ }
90
+ if (steps.length > 0) {
91
+ debug('Converter', `Generated ${steps.length} step(s):`, steps.map(s => `${s.type}${s.toolName ? `:${s.toolName}` : ''}`).join(', '));
92
+ }
93
+ return steps;
94
+ }
95
+ handleRunStarted(event) {
96
+ this.runId = event.runId;
97
+ this.threadId = event.threadId;
98
+ debug('Converter', `Run started - runId: ${this.runId}, threadId: ${this.threadId}`);
99
+ // Reset state for new run
100
+ this.currentTextMessage = null;
101
+ this.activeTools.clear();
102
+ this.hasEmittedAction = false;
103
+ this.runFinished = false;
104
+ this.pendingTextIsResponse = false;
105
+ this.isThinking = false;
106
+ this.currentThinkingMessage = null;
107
+ return [];
108
+ }
109
+ getRunId() {
110
+ return this.runId;
111
+ }
112
+ getThreadId() {
113
+ return this.threadId;
114
+ }
115
+ handleRunFinished(event) {
116
+ this.runFinished = true;
117
+ if (this.currentTextMessage) {
118
+ this.pendingTextIsResponse = true;
119
+ }
120
+ return [];
121
+ }
122
+ handleRunError(event) {
123
+ console.error('[Converter] Run error:', event.message);
124
+ return [{
125
+ id: uuidv4(),
126
+ timestamp: event.timestamp,
127
+ type: 'tool_result',
128
+ content: `Error: ${event.message}`,
129
+ status: ToolCallStatus.FAILURE,
130
+ }];
131
+ }
132
+ handleTextMessageStart(event) {
133
+ debug('Converter', `Text message start: ${event.messageId}`);
134
+ this.currentTextMessage = {
135
+ messageId: event.messageId,
136
+ startTime: event.timestamp,
137
+ content: '',
138
+ };
139
+ return [];
140
+ }
141
+ handleTextMessageContent(event) {
142
+ if (this.currentTextMessage && this.currentTextMessage.messageId === event.messageId) {
143
+ this.currentTextMessage.content += event.delta;
144
+ }
145
+ return [];
146
+ }
147
+ handleTextMessageEnd(event) {
148
+ if (!this.currentTextMessage || this.currentTextMessage.messageId !== event.messageId) {
149
+ debug('Converter', `Text end for unknown message: ${event.messageId}`);
150
+ return [];
151
+ }
152
+ const latencyMs = event.timestamp - this.currentTextMessage.startTime;
153
+ const content = this.currentTextMessage.content.trim();
154
+ // Determine step type based on context
155
+ let stepType;
156
+ if (this.pendingTextIsResponse || this.runFinished) {
157
+ stepType = 'response';
158
+ }
159
+ else {
160
+ stepType = 'assistant';
161
+ }
162
+ debug('Converter', `Classification: ${stepType} (runFinished=${this.runFinished}, pendingResponse=${this.pendingTextIsResponse}, hasAction=${this.hasEmittedAction})`);
163
+ // Skip empty assistant messages
164
+ if (stepType === 'assistant' && content.length === 0) {
165
+ debug('Converter', 'Skipping empty assistant message');
166
+ this.currentTextMessage = null;
167
+ return [];
168
+ }
169
+ const step = {
170
+ id: uuidv4(),
171
+ timestamp: event.timestamp,
172
+ type: stepType,
173
+ content,
174
+ latencyMs,
175
+ };
176
+ this.currentTextMessage = null;
177
+ return [step];
178
+ }
179
+ handleActivitySnapshot(event) {
180
+ const toolName = this.extractToolName(event.content.title);
181
+ const toolArgs = this.parseToolArgs(event.content.description);
182
+ const actionStepId = uuidv4();
183
+ this.activeTools.set(event.messageId, {
184
+ messageId: event.messageId,
185
+ toolName,
186
+ toolArgs,
187
+ argsAccumulator: '',
188
+ startTime: event.timestamp,
189
+ actionStepId,
190
+ });
191
+ this.hasEmittedAction = true;
192
+ debug('Converter', `Tool action: ${toolName}`, toolArgs);
193
+ return [{
194
+ id: actionStepId,
195
+ timestamp: event.timestamp,
196
+ type: 'action',
197
+ content: `Calling ${toolName}...`,
198
+ toolName,
199
+ toolArgs,
200
+ }];
201
+ }
202
+ handleActivityDelta(event) {
203
+ const toolState = this.activeTools.get(event.messageId);
204
+ if (!toolState)
205
+ return [];
206
+ const isCompletion = event.patch.some(op => op.path === '/icon' && (op.value === 'CheckCircle' || op.value === 'Check'));
207
+ if (!isCompletion)
208
+ return [];
209
+ const descriptionPatch = event.patch.find(op => op.path === '/description');
210
+ const resultContent = descriptionPatch?.value || 'Tool execution completed';
211
+ const latencyMs = event.timestamp - toolState.startTime;
212
+ this.activeTools.delete(event.messageId);
213
+ return [{
214
+ id: uuidv4(),
215
+ timestamp: event.timestamp,
216
+ type: 'tool_result',
217
+ content: resultContent,
218
+ status: ToolCallStatus.SUCCESS,
219
+ latencyMs,
220
+ }];
221
+ }
222
+ handleToolCallStart(event) {
223
+ const actionStepId = uuidv4();
224
+ // Set up tool state but DON'T emit action step yet
225
+ // We'll emit it when we have complete args (after all TOOL_CALL_ARGS deltas)
226
+ this.activeTools.set(event.toolCallId, {
227
+ messageId: event.toolCallId,
228
+ toolName: event.toolCallName,
229
+ toolArgs: {},
230
+ argsAccumulator: '', // Will accumulate delta strings
231
+ startTime: event.timestamp,
232
+ actionStepId,
233
+ });
234
+ this.hasEmittedAction = true;
235
+ debug('Converter', `Tool call started: ${event.toolCallName} (${event.toolCallId})`);
236
+ // Don't emit action step here - wait until we have complete args
237
+ return [];
238
+ }
239
+ handleToolCallArgs(event) {
240
+ const toolState = this.activeTools.get(event.toolCallId);
241
+ if (toolState) {
242
+ // Accumulate delta strings - don't try to parse yet
243
+ // The deltas are streamed partial strings that form complete JSON when concatenated
244
+ toolState.argsAccumulator += event.delta;
245
+ debug('Converter', `Tool args delta accumulated (${toolState.argsAccumulator.length} chars total)`);
246
+ }
247
+ return [];
248
+ }
249
+ /**
250
+ * Handle TOOL_CALL_END - emits the action step with complete args
251
+ * This is called when the agent is done sending tool call arguments
252
+ * and expects the client to execute the tool
253
+ */
254
+ handleToolCallEnd(event) {
255
+ const toolState = this.activeTools.get(event.toolCallId);
256
+ if (!toolState) {
257
+ debug('Converter', `Tool call end for unknown tool: ${event.toolCallId}`);
258
+ return [];
259
+ }
260
+ // Parse accumulated args now that we have all deltas
261
+ let parsedArgs = {};
262
+ if (toolState.argsAccumulator) {
263
+ try {
264
+ parsedArgs = JSON.parse(toolState.argsAccumulator);
265
+ debug('Converter', `Tool args parsed: ${JSON.stringify(parsedArgs).substring(0, 200)}`);
266
+ }
267
+ catch {
268
+ // Store the raw string as a fallback
269
+ parsedArgs = { _raw: toolState.argsAccumulator };
270
+ }
271
+ }
272
+ toolState.toolArgs = parsedArgs;
273
+ const latencyMs = event.timestamp - toolState.startTime;
274
+ // Emit the action step now with complete args
275
+ const actionStep = {
276
+ id: toolState.actionStepId,
277
+ timestamp: toolState.startTime,
278
+ type: 'action',
279
+ content: `Calling ${toolState.toolName}...`,
280
+ toolName: toolState.toolName,
281
+ toolArgs: parsedArgs,
282
+ latencyMs,
283
+ };
284
+ debug('Converter', `Tool call end: ${toolState.toolName} - action step emitted with args`);
285
+ // Mark that we've emitted the action (so handleToolCallResult doesn't duplicate)
286
+ toolState.actionStepId = ''; // Clear to indicate action was already emitted
287
+ return [actionStep];
288
+ }
289
+ handleToolCallResult(event) {
290
+ const toolState = this.activeTools.get(event.toolCallId);
291
+ if (!toolState)
292
+ return [];
293
+ const latencyMs = event.timestamp - toolState.startTime;
294
+ const steps = [];
295
+ // Check if action step was already emitted by handleToolCallEnd
296
+ const actionAlreadyEmitted = !toolState.actionStepId;
297
+ if (!actionAlreadyEmitted) {
298
+ // Parse accumulated args now that we have all deltas
299
+ let parsedArgs = {};
300
+ if (toolState.argsAccumulator) {
301
+ try {
302
+ parsedArgs = JSON.parse(toolState.argsAccumulator);
303
+ debug('Converter', `Tool args parsed: ${JSON.stringify(parsedArgs).substring(0, 200)}`);
304
+ }
305
+ catch {
306
+ // Store the raw string as a fallback
307
+ parsedArgs = { _raw: toolState.argsAccumulator };
308
+ }
309
+ }
310
+ toolState.toolArgs = parsedArgs;
311
+ // Emit the action step now that we have complete args
312
+ steps.push({
313
+ id: toolState.actionStepId,
314
+ timestamp: toolState.startTime,
315
+ type: 'action',
316
+ content: `Calling ${toolState.toolName}...`,
317
+ toolName: toolState.toolName,
318
+ toolArgs: parsedArgs,
319
+ });
320
+ }
321
+ // Parse result content
322
+ let resultContent;
323
+ try {
324
+ const parsed = JSON.parse(event.content);
325
+ resultContent = typeof parsed === 'string' ? parsed : JSON.stringify(parsed, null, 2);
326
+ }
327
+ catch (e) {
328
+ resultContent = event.content;
329
+ }
330
+ // Emit the tool_result step
331
+ steps.push({
332
+ id: uuidv4(),
333
+ timestamp: event.timestamp,
334
+ type: 'tool_result',
335
+ content: resultContent,
336
+ status: ToolCallStatus.SUCCESS,
337
+ latencyMs,
338
+ });
339
+ this.activeTools.delete(event.toolCallId);
340
+ debug('Converter', `Tool call result: ${toolState.toolName} -> ${steps.length} steps emitted (action already emitted: ${actionAlreadyEmitted})`);
341
+ return steps;
342
+ }
343
+ // ============ THINKING Event Handlers ============
344
+ handleThinkingStart(event) {
345
+ this.isThinking = true;
346
+ debug('Converter', 'Thinking started');
347
+ return [];
348
+ }
349
+ handleThinkingEnd(event) {
350
+ this.isThinking = false;
351
+ debug('Converter', 'Thinking ended');
352
+ return [];
353
+ }
354
+ handleThinkingTextMessageStart(event) {
355
+ this.currentThinkingMessage = {
356
+ startTime: event.timestamp || Date.now(),
357
+ content: '',
358
+ };
359
+ debug('Converter', 'Thinking text message started');
360
+ return [];
361
+ }
362
+ handleThinkingTextMessageContent(event) {
363
+ if (this.currentThinkingMessage) {
364
+ this.currentThinkingMessage.content += event.delta;
365
+ }
366
+ return [];
367
+ }
368
+ handleThinkingTextMessageEnd(event) {
369
+ if (!this.currentThinkingMessage) {
370
+ debug('Converter', 'Thinking text end with no active thinking message');
371
+ return [];
372
+ }
373
+ const content = this.currentThinkingMessage.content.trim();
374
+ if (content.length === 0) {
375
+ debug('Converter', 'Skipping empty thinking message');
376
+ this.currentThinkingMessage = null;
377
+ return [];
378
+ }
379
+ const latencyMs = (event.timestamp || Date.now()) - this.currentThinkingMessage.startTime;
380
+ const step = {
381
+ id: uuidv4(),
382
+ timestamp: this.currentThinkingMessage.startTime,
383
+ type: 'thinking',
384
+ content,
385
+ latencyMs,
386
+ };
387
+ debug('Converter', `Thinking message completed: ${content.length} chars`);
388
+ this.currentThinkingMessage = null;
389
+ return [step];
390
+ }
391
+ extractToolName(title) {
392
+ const runningMatch = title.match(/^Running\s+(.+)$/);
393
+ if (runningMatch)
394
+ return runningMatch[1];
395
+ const completedMatch = title.match(/^(.+)\s+completed$/i);
396
+ if (completedMatch)
397
+ return completedMatch[1];
398
+ return title;
399
+ }
400
+ parseToolArgs(description) {
401
+ try {
402
+ const args = {};
403
+ const pairs = description.match(/(\w+):\s*("(?:[^"]|\\")*"|\w+)/g);
404
+ if (pairs) {
405
+ pairs.forEach(pair => {
406
+ const [key, rawValue] = pair.split(':').map(s => s.trim());
407
+ let value = rawValue;
408
+ if (rawValue.startsWith('"') && rawValue.endsWith('"')) {
409
+ value = rawValue.slice(1, -1);
410
+ }
411
+ else if (rawValue === 'true') {
412
+ value = true;
413
+ }
414
+ else if (rawValue === 'false') {
415
+ value = false;
416
+ }
417
+ else if (!isNaN(Number(rawValue))) {
418
+ value = Number(rawValue);
419
+ }
420
+ args[key] = value;
421
+ });
422
+ return args;
423
+ }
424
+ return { description };
425
+ }
426
+ catch (e) {
427
+ return { description };
428
+ }
429
+ }
430
+ }
431
+ /**
432
+ * Compute trajectory from raw AG-UI events
433
+ * Use this to derive trajectory on-demand instead of storing both
434
+ */
435
+ export function computeTrajectoryFromRawEvents(rawEvents) {
436
+ const converter = new AGUIToTrajectoryConverter();
437
+ const trajectory = [];
438
+ for (const event of rawEvents) {
439
+ const steps = converter.processEvent(event);
440
+ trajectory.push(...steps);
441
+ }
442
+ // Sort by timestamp to ensure correct chronological order
443
+ // This is necessary because some events (like THINKING_TEXT_MESSAGE_END)
444
+ // arrive after other events (like ACTIVITY_SNAPSHOT) even though they
445
+ // logically occurred earlier based on their timestamps
446
+ trajectory.sort((a, b) => a.timestamp - b.timestamp);
447
+ return trajectory;
448
+ }
449
+ //# sourceMappingURL=aguiConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aguiConverter.js","sourceRoot":"","sources":["../../../../services/agent/aguiConverter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Agent Communication Module
3
+ * Exports clean API for interacting with the Ampabhi-SOAP agent
4
+ */
5
+ export { AGUIToTrajectoryConverter, computeTrajectoryFromRawEvents } from './aguiConverter.js';
6
+ export { SSEClient, consumeSSEStream } from './sseStream.js';
7
+ export { buildAgentPayload, buildMultiTurnPayload } from './payloadBuilder.js';
8
+ export type { SSEClientOptions } from './sseStream.js';
9
+ export type { AgentMessage, AgentRequestPayload } from './payloadBuilder.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../services/agent/index.ts"],"names":[],"mappings":"AAKA;;;GAGG;AAEH,OAAO,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /*
2
+ * Copyright OpenSearch Contributors
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ /**
6
+ * Agent Communication Module
7
+ * Exports clean API for interacting with the Ampabhi-SOAP agent
8
+ */
9
+ export { AGUIToTrajectoryConverter, computeTrajectoryFromRawEvents } from './aguiConverter.js';
10
+ export { SSEClient, consumeSSEStream } from './sseStream.js';
11
+ export { buildAgentPayload, buildMultiTurnPayload } from './payloadBuilder.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../services/agent/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AAEH,OAAO,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Agent Request Payload Builder
3
+ * Constructs the request payload for the OpenSearch ML agent endpoint
4
+ */
5
+ import { TestCase, AgentContextItem, AgentToolDefinition } from '../../types/index.js';
6
+ export interface AgentMessage {
7
+ id: string;
8
+ role: 'user' | 'assistant';
9
+ content: string;
10
+ }
11
+ export interface AgentRequestPayload {
12
+ threadId: string;
13
+ runId: string;
14
+ messages: AgentMessage[];
15
+ tools: AgentToolDefinition[];
16
+ context: AgentContextItem[];
17
+ state: Record<string, any>;
18
+ forwardedProps: Record<string, any>;
19
+ }
20
+ /**
21
+ * Default tool for PPL query execution (matches client-side definition)
22
+ */
23
+ export declare const DEFAULT_PPL_TOOL: AgentToolDefinition;
24
+ /**
25
+ * Build agent request payload from test case
26
+ * Tools are passed from test case or default to PPL tool
27
+ */
28
+ export declare function buildAgentPayload(testCase: TestCase, modelId: string, threadId?: string, runId?: string): AgentRequestPayload;
29
+ /**
30
+ * Build agent payload for multi-turn conversation
31
+ */
32
+ export declare function buildMultiTurnPayload(messages: AgentMessage[], threadId?: string, runId?: string, context?: AgentContextItem[], tools?: AgentToolDefinition[]): AgentRequestPayload;
33
+ //# sourceMappingURL=payloadBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payloadBuilder.d.ts","sourceRoot":"","sources":["../../../../services/agent/payloadBuilder.ts"],"names":[],"mappings":"AAKA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE1E,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,mBAqB9B,CAAC;AAWF;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,mBAAmB,CAmBrB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,YAAY,EAAE,EACxB,QAAQ,CAAC,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,gBAAgB,EAAE,EAC5B,KAAK,CAAC,EAAE,mBAAmB,EAAE,GAC5B,mBAAmB,CAUrB"}
@@ -0,0 +1,75 @@
1
+ /*
2
+ * Copyright OpenSearch Contributors
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ /**
6
+ * Default tool for PPL query execution (matches client-side definition)
7
+ */
8
+ export const DEFAULT_PPL_TOOL = {
9
+ name: 'execute_ppl_query',
10
+ description: 'Update the query bar with a PPL query and optionally execute it',
11
+ parameters: {
12
+ type: 'object',
13
+ properties: {
14
+ query: {
15
+ type: 'string',
16
+ description: 'The PPL query to set in the query bar',
17
+ },
18
+ autoExecute: {
19
+ type: 'boolean',
20
+ description: 'Whether to automatically execute the query (default: true)',
21
+ },
22
+ description: {
23
+ type: 'string',
24
+ description: 'Optional description of what the query does',
25
+ },
26
+ },
27
+ required: ['query'],
28
+ },
29
+ };
30
+ /**
31
+ * Generate a unique ID with prefix (matching AG-UI format)
32
+ */
33
+ function generateId(prefix) {
34
+ const timestamp = Date.now();
35
+ const random = Math.random().toString(36).substring(2, 11);
36
+ return `${prefix}-${timestamp}-${random}`;
37
+ }
38
+ /**
39
+ * Build agent request payload from test case
40
+ * Tools are passed from test case or default to PPL tool
41
+ */
42
+ export function buildAgentPayload(testCase, modelId, threadId, runId) {
43
+ // Use tools from test case, or default to PPL tool for Smart Contextual Menu tests
44
+ const tools = testCase.tools || [DEFAULT_PPL_TOOL];
45
+ return {
46
+ threadId: threadId || generateId('thread'),
47
+ runId: runId || generateId('run'),
48
+ messages: [
49
+ {
50
+ id: generateId('msg'),
51
+ role: 'user',
52
+ content: testCase.initialPrompt,
53
+ },
54
+ ],
55
+ tools,
56
+ context: testCase.context || [],
57
+ state: {},
58
+ forwardedProps: {},
59
+ };
60
+ }
61
+ /**
62
+ * Build agent payload for multi-turn conversation
63
+ */
64
+ export function buildMultiTurnPayload(messages, threadId, runId, context, tools) {
65
+ return {
66
+ threadId: threadId || generateId('thread'),
67
+ runId: runId || generateId('run'),
68
+ messages,
69
+ tools: tools || [DEFAULT_PPL_TOOL],
70
+ context: context || [],
71
+ state: {},
72
+ forwardedProps: {},
73
+ };
74
+ }
75
+ //# sourceMappingURL=payloadBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payloadBuilder.js","sourceRoot":"","sources":["../../../../services/agent/payloadBuilder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAyBH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAwB;IACnD,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,iEAAiE;IAC9E,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uCAAuC;aACrD;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,4DAA4D;aAC1E;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6CAA6C;aAC3D;SACF;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB;CACF,CAAC;AAEF;;GAEG;AACH,SAAS,UAAU,CAAC,MAAc;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3D,OAAO,GAAG,MAAM,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAkB,EAClB,OAAe,EACf,QAAiB,EACjB,KAAc;IAEd,mFAAmF;IACnF,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAEnD,OAAO;QACL,QAAQ,EAAE,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC;QAC1C,KAAK,EAAE,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;QACjC,QAAQ,EAAE;YACR;gBACE,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC;gBACrB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,QAAQ,CAAC,aAAa;aAChC;SACF;QACD,KAAK;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;QAC/B,KAAK,EAAE,EAAE;QACT,cAAc,EAAE,EAAE;KACnB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAwB,EACxB,QAAiB,EACjB,KAAc,EACd,OAA4B,EAC5B,KAA6B;IAE7B,OAAO;QACL,QAAQ,EAAE,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC;QAC1C,KAAK,EAAE,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;QACjC,QAAQ;QACR,KAAK,EAAE,KAAK,IAAI,CAAC,gBAAgB,CAAC;QAClC,OAAO,EAAE,OAAO,IAAI,EAAE;QACtB,KAAK,EAAE,EAAE;QACT,cAAc,EAAE,EAAE;KACnB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Server-Sent Events (SSE) Stream Consumer
3
+ * Handles streaming connections to the agent endpoint
4
+ */
5
+ import { AGUIEvent } from '../../types/agui.js';
6
+ export interface SSEClientOptions {
7
+ url: string;
8
+ method?: 'GET' | 'POST';
9
+ headers?: Record<string, string>;
10
+ body?: any;
11
+ timeoutMs?: number;
12
+ onEvent: (event: AGUIEvent) => void;
13
+ onError?: (error: Error) => void;
14
+ onComplete?: () => void;
15
+ /** Complete stream when RUN_FINISHED or RUN_ERROR event is received */
16
+ completeOnRunEnd?: boolean;
17
+ /** Timeout (ms) after last event to assume stream is complete (default: 120000) */
18
+ idleTimeoutMs?: number;
19
+ }
20
+ export declare class SSEClient {
21
+ private abortController;
22
+ /**
23
+ * Start consuming SSE stream from the agent endpoint
24
+ */
25
+ consume(options: SSEClientOptions): Promise<void>;
26
+ /**
27
+ * Process the ReadableStream and parse SSE events
28
+ * @returns Reason for stream completion
29
+ */
30
+ private processStream;
31
+ /**
32
+ * Abort the current stream connection
33
+ */
34
+ abort(): void;
35
+ }
36
+ /**
37
+ * Convenience function for simple SSE consumption
38
+ * Completes when RUN_FINISHED/RUN_ERROR event is received, or when connection closes
39
+ */
40
+ export declare function consumeSSEStream(url: string, payload: any, onEvent: (event: AGUIEvent) => void, headers?: Record<string, string>, options?: {
41
+ idleTimeoutMs?: number;
42
+ }): Promise<void>;
43
+ //# sourceMappingURL=sseStream.d.ts.map