@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,116 @@
1
+ /**
2
+ * Claude Code Connector
3
+ * Specialized subprocess connector for Claude Code CLI
4
+ */
5
+ import type { TrajectoryStep } from '../../../types/index.js';
6
+ import { SubprocessConnector } from '../../../services/connectors/subprocess/SubprocessConnector.js';
7
+ import type { ConnectorAuth, ConnectorRequest, ConnectorProgressCallback, SubprocessConfig } from '../../../services/connectors/types.js';
8
+ /**
9
+ * MCP server definition for Claude Code --mcp-config flag
10
+ */
11
+ export interface ClaudeCodeMCPServer {
12
+ command: string;
13
+ args?: string[];
14
+ env?: Record<string, string>;
15
+ }
16
+ /**
17
+ * Configuration options for Claude Code connector
18
+ * Passed via agent.connectorConfig in agent-health.config.ts
19
+ */
20
+ export interface ClaudeCodeConnectorConfig {
21
+ env?: Record<string, string>;
22
+ dangerouslySkipPermissions?: boolean;
23
+ allowedTools?: string[];
24
+ disallowedTools?: string[];
25
+ appendSystemPrompt?: string;
26
+ systemPrompt?: string;
27
+ /** Path to a standard MCP config JSON file (passed to --mcp-config) */
28
+ mcpConfigPath?: string;
29
+ /** Inline MCP server definitions (used when mcpConfigPath is not set) */
30
+ mcpServers?: Record<string, ClaudeCodeMCPServer>;
31
+ strictMcpConfig?: boolean;
32
+ usePromptArg?: boolean;
33
+ workingDir?: string;
34
+ timeout?: number;
35
+ additionalArgs?: string[];
36
+ }
37
+ /**
38
+ * Claude Code CLI Connector
39
+ * Invokes Claude Code as a subprocess for agent evaluation
40
+ */
41
+ export declare class ClaudeCodeConnector extends SubprocessConnector {
42
+ readonly type: "claude-code";
43
+ readonly name = "Claude Code CLI";
44
+ traceContext: {
45
+ propagateEnv: boolean;
46
+ serviceName: string;
47
+ };
48
+ private outputBuffer;
49
+ private thinkingBuffer;
50
+ private textBuffer;
51
+ private isInThinking;
52
+ /**
53
+ * Claude Code's `session_id` (present on every stream-json event). Captured
54
+ * for Strategy D trace correlation — it equals the `session.id` attribute
55
+ * Claude Code stamps on its OTel spans. Surfaced to the report via
56
+ * {@link extraResultMetadata}.
57
+ */
58
+ private sessionId?;
59
+ constructor(config?: Partial<SubprocessConfig>);
60
+ /**
61
+ * Build prompt for Claude Code
62
+ * Structures the input to get the best RCA results
63
+ */
64
+ buildPayload(request: ConnectorRequest): string;
65
+ /**
66
+ * Parse Claude Code streaming output (stream-json format)
67
+ * Each line is a JSON object with type and content
68
+ */
69
+ protected parseStreamingOutput(chunk: string, trajectory: TrajectoryStep[], onProgress?: ConnectorProgressCallback): void;
70
+ /**
71
+ * Parse a single JSON event from stream-json output
72
+ */
73
+ private parseJsonEvent;
74
+ /**
75
+ * Parse final output for Claude Code
76
+ */
77
+ parseResponse(data: {
78
+ stdout: string;
79
+ stderr: string;
80
+ exitCode: number;
81
+ }): TrajectoryStep[];
82
+ /**
83
+ * Reset state for new execution
84
+ */
85
+ private resetState;
86
+ /**
87
+ * Flush remaining buffers when the subprocess stream ends.
88
+ */
89
+ protected onBeforeStreamEnd(trajectory: TrajectoryStep[], onProgress?: ConnectorProgressCallback): void;
90
+ /**
91
+ * Build CLI args from ClaudeCodeConnectorConfig
92
+ */
93
+ private buildConfigArgs;
94
+ /**
95
+ * Override execute to reset state and apply connectorConfig
96
+ */
97
+ execute(endpoint: string, request: ConnectorRequest, auth: ConnectorAuth, onProgress?: ConnectorProgressCallback, onRawEvent?: (event: any) => void): Promise<import('../types.js').ConnectorResponse>;
98
+ /**
99
+ * Health check - verify claude command exists
100
+ */
101
+ healthCheck(endpoint: string, auth: ConnectorAuth): Promise<boolean>;
102
+ /**
103
+ * Surface the captured Claude Code `session_id` so the runner can persist it
104
+ * as `report.sessionId` for Strategy D trace correlation.
105
+ */
106
+ protected extraResultMetadata(): Record<string, any>;
107
+ }
108
+ /**
109
+ * Create a Claude Code connector with specific Bedrock configuration
110
+ */
111
+ export declare function createBedrockClaudeCodeConnector(): ClaudeCodeConnector;
112
+ /**
113
+ * Default instance for convenience
114
+ */
115
+ export declare const claudeCodeConnector: ClaudeCodeConnector;
116
+ //# sourceMappingURL=ClaudeCodeConnector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClaudeCodeConnector.d.ts","sourceRoot":"","sources":["../../../../../services/connectors/claude-code/ClaudeCodeConnector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,403 @@
1
+ /*
2
+ * Copyright OpenSearch Contributors
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { ToolCallStatus } from '../../../types/index.js';
6
+ import { SubprocessConnector } from '../../../services/connectors/subprocess/SubprocessConnector.js';
7
+ /**
8
+ * Default Claude Code configuration
9
+ *
10
+ * Telemetry: Set OTEL_EXPORTER_OTLP_ENDPOINT in your environment to enable
11
+ * OpenTelemetry traces. Claude Code respects standard OTEL env vars.
12
+ */
13
+ const CLAUDE_CODE_DEFAULT_CONFIG = {
14
+ command: 'claude',
15
+ args: ['--print', '--verbose', '--output-format', 'stream-json'], // Structured JSON output (--verbose required with stream-json)
16
+ env: {
17
+ // These can be overridden by agent config or environment
18
+ DISABLE_PROMPT_CACHING: '1',
19
+ DISABLE_ERROR_REPORTING: '1',
20
+ // Note: DISABLE_TELEMETRY removed - telemetry enabled by default
21
+ // Configure OTEL_EXPORTER_OTLP_ENDPOINT in .env to send traces
22
+ },
23
+ inputMode: 'stdin',
24
+ outputParser: 'streaming',
25
+ timeout: 600000, // 10 minutes for Claude Code
26
+ };
27
+ /**
28
+ * Claude Code CLI Connector
29
+ * Invokes Claude Code as a subprocess for agent evaluation
30
+ */
31
+ export class ClaudeCodeConnector extends SubprocessConnector {
32
+ constructor(config) {
33
+ super({ ...CLAUDE_CODE_DEFAULT_CONFIG, ...config });
34
+ this.type = 'claude-code';
35
+ this.name = 'Claude Code CLI';
36
+ this.traceContext = { propagateEnv: true, serviceName: 'claude-code-agent' };
37
+ this.outputBuffer = '';
38
+ this.thinkingBuffer = '';
39
+ this.textBuffer = '';
40
+ this.isInThinking = false;
41
+ }
42
+ /**
43
+ * Build prompt for Claude Code
44
+ * Structures the input to get the best RCA results
45
+ */
46
+ buildPayload(request) {
47
+ const parts = [];
48
+ // Add system context if available
49
+ if (request.testCase.context && request.testCase.context.length > 0) {
50
+ parts.push('## Context');
51
+ for (const ctx of request.testCase.context) {
52
+ parts.push(`**${ctx.description}:**`);
53
+ parts.push(ctx.value);
54
+ parts.push('');
55
+ }
56
+ }
57
+ // Add the main prompt
58
+ parts.push('## Task');
59
+ parts.push(request.testCase.initialPrompt);
60
+ return parts.join('\n');
61
+ }
62
+ /**
63
+ * Parse Claude Code streaming output (stream-json format)
64
+ * Each line is a JSON object with type and content
65
+ */
66
+ parseStreamingOutput(chunk, trajectory, onProgress) {
67
+ this.outputBuffer += chunk;
68
+ // Parse complete JSON lines (NDJSON format)
69
+ const lines = this.outputBuffer.split('\n');
70
+ this.outputBuffer = lines.pop() || ''; // Keep incomplete line
71
+ for (const line of lines) {
72
+ const trimmed = line.trim();
73
+ if (!trimmed)
74
+ continue;
75
+ try {
76
+ const event = JSON.parse(trimmed);
77
+ const steps = this.parseJsonEvent(event);
78
+ for (const step of steps) {
79
+ trajectory.push(step);
80
+ onProgress?.(step);
81
+ }
82
+ }
83
+ catch {
84
+ // Not JSON, treat as plain text
85
+ if (trimmed) {
86
+ const step = this.createStep('assistant', trimmed);
87
+ trajectory.push(step);
88
+ onProgress?.(step);
89
+ }
90
+ }
91
+ }
92
+ }
93
+ /**
94
+ * Parse a single JSON event from stream-json output
95
+ */
96
+ parseJsonEvent(event) {
97
+ const steps = [];
98
+ // Capture the session id (present on system/init, assistant, user, result
99
+ // events). Used for Strategy D trace correlation (attributes.session.id).
100
+ if (typeof event.session_id === 'string' && event.session_id) {
101
+ this.sessionId = event.session_id;
102
+ }
103
+ // Handle different event types from Claude Code stream-json
104
+ if (event.type === 'assistant' && event.message?.content) {
105
+ for (const block of event.message.content) {
106
+ if (block.type === 'thinking' && block.thinking) {
107
+ steps.push(this.createStep('thinking', block.thinking));
108
+ }
109
+ else if (block.type === 'text' && block.text) {
110
+ steps.push(this.createStep('assistant', block.text));
111
+ }
112
+ else if (block.type === 'tool_use') {
113
+ steps.push(this.createStep('action', JSON.stringify(block.input || {}), {
114
+ toolName: block.name,
115
+ toolArgs: block.input,
116
+ }));
117
+ }
118
+ }
119
+ }
120
+ else if (event.type === 'user' && event.message?.content) {
121
+ // Claude Code emits tool results as user-role messages with tool_result
122
+ // content blocks (referenced back to the assistant's tool_use_id).
123
+ // Without this branch, tool outputs are silently dropped — the trajectory
124
+ // shows the tool calls but not their results.
125
+ for (const block of event.message.content) {
126
+ if (block.type === 'tool_result') {
127
+ const content = typeof block.content === 'string'
128
+ ? block.content
129
+ : JSON.stringify(block.content);
130
+ steps.push(this.createStep('tool_result', content, {
131
+ status: block.is_error ? ToolCallStatus.FAILURE : ToolCallStatus.SUCCESS,
132
+ }));
133
+ }
134
+ else if (block.type === 'text' && block.text) {
135
+ // Rare: plain text in a user message (e.g., tool-orchestrator follow-ups)
136
+ steps.push(this.createStep('assistant', block.text));
137
+ }
138
+ }
139
+ }
140
+ else if (event.type === 'content_block_delta') {
141
+ // Streaming delta updates — accumulate into buffers
142
+ if (event.delta?.type === 'thinking_delta' && event.delta.thinking) {
143
+ this.thinkingBuffer += event.delta.thinking;
144
+ }
145
+ else if (event.delta?.type === 'text_delta' && event.delta.text) {
146
+ // Accumulate text deltas; the 'result' event will emit the final response
147
+ this.textBuffer += event.delta.text;
148
+ }
149
+ }
150
+ else if (event.type === 'content_block_stop') {
151
+ // Flush thinking buffer when block ends
152
+ if (this.thinkingBuffer) {
153
+ steps.push(this.createStep('thinking', this.thinkingBuffer));
154
+ this.thinkingBuffer = '';
155
+ }
156
+ // Flush text buffer when block ends (consolidated assistant step)
157
+ if (this.textBuffer) {
158
+ steps.push(this.createStep('assistant', this.textBuffer));
159
+ this.textBuffer = '';
160
+ }
161
+ }
162
+ else if (event.type === 'result' && event.result) {
163
+ // Final result message
164
+ steps.push(this.createStep('response', typeof event.result === 'string' ? event.result : JSON.stringify(event.result)));
165
+ }
166
+ return steps;
167
+ }
168
+ /**
169
+ * Parse final output for Claude Code
170
+ */
171
+ parseResponse(data) {
172
+ const steps = [];
173
+ let content = data.stdout;
174
+ // Extract thinking blocks
175
+ const thinkingMatches = content.matchAll(/<thinking>([\s\S]*?)<\/thinking>/g);
176
+ for (const match of thinkingMatches) {
177
+ const thinking = match[1].trim();
178
+ if (thinking) {
179
+ steps.push(this.createStep('thinking', thinking));
180
+ }
181
+ content = content.replace(match[0], '');
182
+ }
183
+ // The remaining content is the response
184
+ const response = content.trim();
185
+ if (response) {
186
+ steps.push(this.createStep('response', response));
187
+ }
188
+ // Add error if there was stderr
189
+ if (data.exitCode !== 0 && data.stderr.trim()) {
190
+ steps.push(this.createStep('tool_result', `Error: ${data.stderr.trim()}`, {
191
+ status: ToolCallStatus.FAILURE,
192
+ }));
193
+ }
194
+ return steps;
195
+ }
196
+ /**
197
+ * Reset state for new execution
198
+ */
199
+ resetState() {
200
+ this.outputBuffer = '';
201
+ this.thinkingBuffer = '';
202
+ this.textBuffer = '';
203
+ this.isInThinking = false;
204
+ }
205
+ /**
206
+ * Flush remaining buffers when the subprocess stream ends.
207
+ */
208
+ onBeforeStreamEnd(trajectory, onProgress) {
209
+ // Flush outputBuffer (incomplete NDJSON line)
210
+ if (this.outputBuffer.trim()) {
211
+ try {
212
+ const event = JSON.parse(this.outputBuffer.trim());
213
+ const steps = this.parseJsonEvent(event);
214
+ for (const step of steps) {
215
+ trajectory.push(step);
216
+ onProgress?.(step);
217
+ }
218
+ }
219
+ catch {
220
+ const step = this.createStep('assistant', this.outputBuffer.trim());
221
+ trajectory.push(step);
222
+ onProgress?.(step);
223
+ }
224
+ this.outputBuffer = '';
225
+ }
226
+ // Flush thinkingBuffer
227
+ if (this.thinkingBuffer) {
228
+ const step = this.createStep('thinking', this.thinkingBuffer);
229
+ trajectory.push(step);
230
+ onProgress?.(step);
231
+ this.thinkingBuffer = '';
232
+ }
233
+ // Flush textBuffer (text deltas received without a result event)
234
+ if (this.textBuffer) {
235
+ const step = this.createStep('response', this.textBuffer);
236
+ trajectory.push(step);
237
+ onProgress?.(step);
238
+ this.textBuffer = '';
239
+ }
240
+ }
241
+ /**
242
+ * Build CLI args from ClaudeCodeConnectorConfig
243
+ */
244
+ buildConfigArgs(config) {
245
+ const args = [];
246
+ if (config.dangerouslySkipPermissions) {
247
+ args.push('--dangerously-skip-permissions');
248
+ }
249
+ if (config.systemPrompt) {
250
+ args.push('--system-prompt', config.systemPrompt);
251
+ }
252
+ else if (config.appendSystemPrompt) {
253
+ args.push('--append-system-prompt', config.appendSystemPrompt);
254
+ }
255
+ if (config.allowedTools?.length) {
256
+ args.push('--allowed-tools', ...config.allowedTools);
257
+ }
258
+ if (config.disallowedTools?.length) {
259
+ args.push('--disallowed-tools', ...config.disallowedTools);
260
+ }
261
+ if (config.mcpConfigPath) {
262
+ args.push('--mcp-config', config.mcpConfigPath);
263
+ }
264
+ else if (config.mcpServers && Object.keys(config.mcpServers).length > 0) {
265
+ args.push('--mcp-config', JSON.stringify({ mcpServers: config.mcpServers }));
266
+ }
267
+ if (config.strictMcpConfig) {
268
+ args.push('--strict-mcp-config');
269
+ }
270
+ if (config.additionalArgs) {
271
+ args.push(...config.additionalArgs);
272
+ }
273
+ return args;
274
+ }
275
+ /**
276
+ * Override execute to reset state and apply connectorConfig
277
+ */
278
+ async execute(endpoint, request, auth, onProgress, onRawEvent) {
279
+ this.debug('========== execute() STARTED ==========');
280
+ this.debug('Endpoint:', endpoint);
281
+ this.debug('Test case:', request.testCase.name);
282
+ this.debug('Config:', this['config']);
283
+ this.resetState();
284
+ // Save original config for restoration after execution.
285
+ // Uses structured clone for env to prevent leaking nested mutations
286
+ // between consecutive executions in a benchmark run.
287
+ const originalEnv = this.config.env ? structuredClone(this.config.env) : {};
288
+ const originalArgs = this.config.args ? [...this.config.args] : [];
289
+ const originalInputMode = this.config.inputMode;
290
+ const originalTimeout = this.config.timeout;
291
+ const originalWorkingDir = this.config.workingDir;
292
+ // Apply connectorConfig if provided
293
+ const ccConfig = request.connectorConfig;
294
+ if (ccConfig) {
295
+ this.debug('Applying connectorConfig:', Object.keys(ccConfig));
296
+ // Merge environment variables
297
+ if (ccConfig.env) {
298
+ this.config.env = { ...this.config.env, ...ccConfig.env };
299
+ }
300
+ // Switch input mode if requested
301
+ if (ccConfig.usePromptArg) {
302
+ this.config.inputMode = 'arg';
303
+ }
304
+ // Override timeout if specified
305
+ if (ccConfig.timeout !== undefined) {
306
+ this.config.timeout = ccConfig.timeout;
307
+ }
308
+ // Override working directory if specified
309
+ if (ccConfig.workingDir) {
310
+ this.config.workingDir = ccConfig.workingDir;
311
+ }
312
+ }
313
+ // When using Bedrock, clear any Anthropic API key to prevent
314
+ // login-managed key from taking precedence and triggering a credit
315
+ // balance check instead of routing through Bedrock.
316
+ if (this.config.env?.CLAUDE_CODE_USE_BEDROCK === '1') {
317
+ this.config.env = { ...this.config.env, ANTHROPIC_API_KEY: '' };
318
+ this.debug('Bedrock mode: cleared ANTHROPIC_API_KEY to bypass credit check');
319
+ }
320
+ // The agent's model is owned by its agent-health.config.ts connector
321
+ // config (env.ANTHROPIC_MODEL, or a `--model` flag in connectorConfig.args)
322
+ // — there is no run-level / user-selected agent model. We intentionally do
323
+ // NOT inject a model from the run here.
324
+ // Append config-driven args
325
+ if (ccConfig) {
326
+ const configArgs = this.buildConfigArgs(ccConfig);
327
+ if (configArgs.length > 0) {
328
+ this.config.args = [...(this.config.args || []), ...configArgs];
329
+ this.debug('Config args added:', configArgs);
330
+ }
331
+ }
332
+ try {
333
+ this.debug('State reset, calling super.execute()...');
334
+ this.sessionId = undefined;
335
+ const result = await super.execute(endpoint, request, auth, onProgress, onRawEvent);
336
+ this.debug('super.execute() returned with', result.trajectory.length, 'steps');
337
+ this.debug('========== execute() COMPLETED ==========');
338
+ return result;
339
+ }
340
+ finally {
341
+ // Restore config to pre-execution state. Uses deep copies to prevent
342
+ // config pollution between consecutive executions in a benchmark run.
343
+ this.config.env = originalEnv;
344
+ this.config.args = originalArgs;
345
+ this.config.inputMode = originalInputMode;
346
+ this.config.timeout = originalTimeout;
347
+ this.config.workingDir = originalWorkingDir;
348
+ }
349
+ }
350
+ /**
351
+ * Health check - verify claude command exists
352
+ */
353
+ async healthCheck(endpoint, auth) {
354
+ return super.healthCheck(endpoint || 'claude', auth);
355
+ }
356
+ /**
357
+ * Surface the captured Claude Code `session_id` so the runner can persist it
358
+ * as `report.sessionId` for Strategy D trace correlation.
359
+ */
360
+ extraResultMetadata() {
361
+ return this.sessionId ? { sessionId: this.sessionId } : {};
362
+ }
363
+ }
364
+ /**
365
+ * Create a Claude Code connector with specific Bedrock configuration
366
+ */
367
+ export function createBedrockClaudeCodeConnector() {
368
+ const env = {
369
+ AWS_PROFILE: process.env.AWS_PROFILE || 'Bedrock',
370
+ CLAUDE_CODE_USE_BEDROCK: '1',
371
+ ANTHROPIC_API_KEY: '', // Prevent login-managed key from overriding Bedrock
372
+ AWS_REGION: process.env.AWS_REGION || 'us-west-2',
373
+ DISABLE_PROMPT_CACHING: '1',
374
+ DISABLE_ERROR_REPORTING: '1',
375
+ };
376
+ const telemetryEnabled = process.env.CLAUDE_CODE_TELEMETRY_ENABLED === 'true';
377
+ const otelEndpoint = process.env.OTEL_EXPORTER_OTLP_ENDPOINT;
378
+ if (telemetryEnabled && otelEndpoint) {
379
+ env.CLAUDE_CODE_ENABLE_TELEMETRY = '1';
380
+ env.OTEL_EXPORTER_OTLP_ENDPOINT = otelEndpoint;
381
+ env.OTEL_TRACES_EXPORTER = 'otlp';
382
+ env.OTEL_METRICS_EXPORTER = 'otlp';
383
+ env.OTEL_LOGS_EXPORTER = 'otlp';
384
+ // Log the user prompt as a log record attribute so the run's prompt is
385
+ // visible in the Traces view. Opt-out via OTEL_LOG_USER_PROMPTS=0.
386
+ env.OTEL_LOG_USER_PROMPTS = process.env.OTEL_LOG_USER_PROMPTS ?? '1';
387
+ if (process.env.OTEL_SERVICE_NAME)
388
+ env.OTEL_SERVICE_NAME = process.env.OTEL_SERVICE_NAME;
389
+ if (process.env.OTEL_EXPORTER_OTLP_PROTOCOL)
390
+ env.OTEL_EXPORTER_OTLP_PROTOCOL = process.env.OTEL_EXPORTER_OTLP_PROTOCOL;
391
+ if (process.env.OTEL_EXPORTER_OTLP_HEADERS)
392
+ env.OTEL_EXPORTER_OTLP_HEADERS = process.env.OTEL_EXPORTER_OTLP_HEADERS;
393
+ }
394
+ else {
395
+ env.DISABLE_TELEMETRY = '1';
396
+ }
397
+ return new ClaudeCodeConnector({ env });
398
+ }
399
+ /**
400
+ * Default instance for convenience
401
+ */
402
+ export const claudeCodeConnector = new ClaudeCodeConnector();
403
+ //# sourceMappingURL=ClaudeCodeConnector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClaudeCodeConnector.js","sourceRoot":"","sources":["../../../../../services/connectors/claude-code/ClaudeCodeConnector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Connector System
3
+ * Provides a pluggable abstraction for different agent communication protocols
4
+ */
5
+ export type { ConnectorProtocol, ConnectorAuthType, ConnectorAuth, ConnectorRequest, ConnectorResponse, ConnectorProgressCallback, ConnectorRawEventCallback, AgentConnector, SubprocessInputMode, SubprocessOutputParser, SubprocessConfig, AgentConfigWithConnector, ConnectorRegistry, ConnectorExecuteOptions, } from './types.js';
6
+ export { connectorRegistry, getConnectorForAgent, registerConnector, } from './registry.js';
7
+ export { BaseConnector } from './base/BaseConnector.js';
8
+ export { AGUIStreamingConnector, aguiStreamingConnector } from './agui/AGUIStreamingConnector.js';
9
+ export { MockConnector, mockConnector } from './mock/MockConnector.js';
10
+ export { RESTConnector, restConnector } from './rest/RESTConnector.js';
11
+ export { OpenAICompatibleConnector, openaiCompatibleConnector } from './openai-compatible/OpenAICompatibleConnector.js';
12
+ export { LangGraphConnector, langgraphConnector } from './langgraph/LangGraphConnector.js';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../services/connectors/index.ts"],"names":[],"mappings":"AAKA;;;GAGG;AAGH,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIrD,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AACrH,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,32 @@
1
+ /*
2
+ * Copyright OpenSearch Contributors
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ // ============ Registry Exports ============
6
+ export { connectorRegistry, getConnectorForAgent, registerConnector, } from './registry.js';
7
+ // ============ Base Class Export ============
8
+ export { BaseConnector } from './base/BaseConnector.js';
9
+ // ============ Browser-safe Connector Exports ============
10
+ // These connectors work in browser environments (no Node.js dependencies)
11
+ export { AGUIStreamingConnector, aguiStreamingConnector } from './agui/AGUIStreamingConnector.js';
12
+ export { MockConnector, mockConnector } from './mock/MockConnector.js';
13
+ export { RESTConnector, restConnector } from './rest/RESTConnector.js';
14
+ export { OpenAICompatibleConnector, openaiCompatibleConnector } from './openai-compatible/OpenAICompatibleConnector.js';
15
+ export { LangGraphConnector, langgraphConnector } from './langgraph/LangGraphConnector.js';
16
+ // ============ Auto-register Browser-safe Connectors ============
17
+ import { connectorRegistry } from './registry.js';
18
+ import { logStartupDiagnostic } from '../../lib/diagnostics.js';
19
+ import { aguiStreamingConnector } from './agui/AGUIStreamingConnector.js';
20
+ import { mockConnector } from './mock/MockConnector.js';
21
+ import { restConnector } from './rest/RESTConnector.js';
22
+ import { openaiCompatibleConnector } from './openai-compatible/OpenAICompatibleConnector.js';
23
+ import { langgraphConnector } from './langgraph/LangGraphConnector.js';
24
+ // Register browser-compatible connectors on module load
25
+ // Server-only connectors (subprocess, claude-code, strands) are registered via server.ts
26
+ connectorRegistry.register(aguiStreamingConnector);
27
+ connectorRegistry.register(mockConnector);
28
+ connectorRegistry.register(restConnector);
29
+ connectorRegistry.register(openaiCompatibleConnector);
30
+ connectorRegistry.register(langgraphConnector);
31
+ logStartupDiagnostic('[Connectors] Browser-safe connectors registered:', connectorRegistry.getRegisteredTypes().join(', '));
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../services/connectors/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAyBH,6CAA6C;AAC7C,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,8CAA8C;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,2DAA2D;AAC3D,0EAA0E;AAC1E,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AACrH,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAExF,kEAAkE;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,wDAAwD;AACxD,yFAAyF;AACzF,iBAAiB,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;AACnD,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAC1C,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAC1C,iBAAiB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;AACtD,iBAAiB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AAE/C,oBAAoB,CAAC,kDAAkD,EAAE,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC"}
@@ -0,0 +1,48 @@
1
+ import type { TrajectoryStep } from '../../../types/index.js';
2
+ import { SubprocessConnector } from '../../../services/connectors/subprocess/SubprocessConnector.js';
3
+ import type { ConnectorAuth, ConnectorProgressCallback, SubprocessConfig } from '../../../services/connectors/types.js';
4
+ export declare class KiroConnector extends SubprocessConnector {
5
+ readonly type: "kiro";
6
+ readonly name = "Kiro CLI";
7
+ traceContext: {
8
+ propagateEnv: boolean;
9
+ serviceName: string;
10
+ };
11
+ /** Carry-over for a partial last line on stderr stream */
12
+ private stderrLineBuffer;
13
+ /** Tool name from the last unmatched `[tool] Running:` line, used to
14
+ * attach the same toolName to the corresponding `[tool] status:` row. */
15
+ private pendingToolName;
16
+ constructor(config?: Partial<SubprocessConfig>);
17
+ /**
18
+ * Convert kiro-cli's stderr `[tool]` markers into trajectory steps.
19
+ *
20
+ * Each chunk may straddle line boundaries, so we accumulate into
21
+ * `stderrLineBuffer` and only consume complete lines (the trailing
22
+ * partial line is held until the next chunk or `onBeforeStreamEnd`).
23
+ */
24
+ protected parseStderrChunk(chunk: string, trajectory: TrajectoryStep[], onProgress?: ConnectorProgressCallback): void;
25
+ /**
26
+ * Drain any held partial line from the stderr buffer and reset
27
+ * per-run state, then defer to the base class to flush the
28
+ * consolidated stdout response step.
29
+ */
30
+ protected onBeforeStreamEnd(trajectory: TrajectoryStep[], onProgress?: ConnectorProgressCallback): void;
31
+ /**
32
+ * Parse a single stderr line. Recognised forms:
33
+ *
34
+ * [tool] Running: <command> -> emit `action` step
35
+ * [tool] status: Completed -> emit `tool_result` (SUCCESS)
36
+ * [tool] status: Failed -> emit `tool_result` (FAILURE)
37
+ * [tool] status: <anything else> -> emit `tool_result` (FAILURE)
38
+ *
39
+ * Other stderr lines (AWS SDK warnings, telemetry info, etc.) are ignored.
40
+ */
41
+ private processStderrLine;
42
+ healthCheck(endpoint: string, auth: ConnectorAuth): Promise<boolean>;
43
+ }
44
+ /**
45
+ * Default instance for convenience.
46
+ */
47
+ export declare const kiroConnector: KiroConnector;
48
+ //# sourceMappingURL=KiroConnector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KiroConnector.d.ts","sourceRoot":"","sources":["../../../../../services/connectors/kiro/KiroConnector.ts"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EACV,aAAa,EACb,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,6BAA6B,CAAC;AA2BrC,qBAAa,aAAc,SAAQ,mBAAmB;IACpD,SAAkB,IAAI,EAAG,MAAM,CAAU;IACzC,SAAkB,IAAI,cAAc;IAE3B,YAAY;;;MAAqD;IAE1E,0DAA0D;IAC1D,OAAO,CAAC,gBAAgB,CAAM;IAE9B;8EAC0E;IAC1E,OAAO,CAAC,eAAe,CAAuB;gBAElC,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAI9C;;;;;;OAMG;cACgB,gBAAgB,CACjC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,cAAc,EAAE,EAC5B,UAAU,CAAC,EAAE,yBAAyB,GACrC,IAAI;IAUP;;;;OAIG;cACgB,iBAAiB,CAClC,UAAU,EAAE,cAAc,EAAE,EAC5B,UAAU,CAAC,EAAE,yBAAyB,GACrC,IAAI;IAWP;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;IAkDV,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;CAGpF;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,eAAsB,CAAC"}