@opensearch-project/agent-health 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (551) hide show
  1. package/README.md +36 -5
  2. package/cli/dist/index.js +8292 -2938
  3. package/deployment/cloudformation/agent-health-observability.yaml +223 -32
  4. package/dist/assets/index-BfxtxmKc.css +1 -0
  5. package/dist/assets/index-CrjAfDHu.js +243 -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 +474 -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 +397 -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 +626 -0
  22. package/docs/SKILLS.md +264 -0
  23. package/docs/STORAGE_INDEX_FIELD_LIMITS.md +216 -0
  24. package/docs/blogs/2026-02-28-opensearch-agent-health.md +200 -0
  25. package/docs/blogs/getting-started-blog.md +608 -0
  26. package/docs/diagrams/Agent-health.excalidraw +5656 -0
  27. package/docs/diagrams/architecture.png +0 -0
  28. package/docs/plans/field-redesign.md +468 -0
  29. package/docs/rfcs/001-coding-agent-analytics.md +374 -0
  30. package/docs/rfcs/002-enterprise-leaderboard.md +267 -0
  31. package/docs/rfcs/003-remote-aggregation.md +146 -0
  32. package/docs/rfcs/004-test-sdk-v2.md +599 -0
  33. package/docs/skills/AGENT_HEALTH.md +652 -0
  34. package/docs/skills/AGENT_PROFILE.md +191 -0
  35. package/docs/skills/add-connector/SKILL.md +68 -0
  36. package/docs/skills/agent-health-profile/SKILL.md +40 -0
  37. package/docs/skills/config-auth/SKILL.md +194 -0
  38. package/docs/skills/config-auth/evals/evals.json +35 -0
  39. package/docs/skills/create-pr/SKILL.md +73 -0
  40. package/docs/skills/instrument-otel/SKILL.md +84 -0
  41. package/docs/skills/write-test/SKILL.md +124 -0
  42. package/docs/ui prd.md +376 -0
  43. package/examples/README.md +53 -0
  44. package/examples/config/agent-health.config.example.ts +155 -0
  45. package/examples/connectors/echo-connector.ts +131 -0
  46. package/examples/eval-files/demo.eval.js +128 -0
  47. package/examples/eval-files/ops-rca-classification.eval.js +71 -0
  48. package/examples/eval-files/ops-rca-evaluator.json +15 -0
  49. package/examples/eval-files/sdk-demo.eval.js +72 -0
  50. package/examples/eval-files/sdk-describe-demo.eval.js +50 -0
  51. package/examples/eval-files/sdk-hooks-demo.eval.js +99 -0
  52. package/examples/pi-profiling/README.md +77 -0
  53. package/examples/pi-profiling/agent-health-profile.ts +417 -0
  54. package/lib/dist/lib/agentUtils.d.ts +29 -0
  55. package/lib/dist/lib/agentUtils.d.ts.map +1 -0
  56. package/lib/dist/lib/agentUtils.js +43 -0
  57. package/lib/dist/lib/agentUtils.js.map +1 -0
  58. package/lib/dist/lib/bedrockCompat.d.ts +27 -0
  59. package/lib/dist/lib/bedrockCompat.d.ts.map +1 -0
  60. package/lib/dist/lib/bedrockCompat.js +83 -0
  61. package/lib/dist/lib/bedrockCompat.js.map +1 -0
  62. package/lib/dist/lib/benchmarkExport.d.ts +14 -0
  63. package/lib/dist/lib/benchmarkExport.d.ts.map +1 -0
  64. package/lib/dist/lib/benchmarkExport.js +41 -0
  65. package/lib/dist/lib/benchmarkExport.js.map +1 -0
  66. package/lib/dist/lib/benchmarkImage.d.ts +52 -0
  67. package/lib/dist/lib/benchmarkImage.d.ts.map +1 -0
  68. package/lib/dist/lib/benchmarkImage.js +113 -0
  69. package/lib/dist/lib/benchmarkImage.js.map +1 -0
  70. package/lib/dist/lib/benchmarkVersionUtils.d.ts +50 -0
  71. package/lib/dist/lib/benchmarkVersionUtils.d.ts.map +1 -0
  72. package/lib/dist/lib/benchmarkVersionUtils.js +89 -0
  73. package/lib/dist/lib/benchmarkVersionUtils.js.map +1 -0
  74. package/lib/dist/lib/chunkedFetch.d.ts +18 -0
  75. package/lib/dist/lib/chunkedFetch.d.ts.map +1 -0
  76. package/lib/dist/lib/chunkedFetch.js +40 -0
  77. package/lib/dist/lib/chunkedFetch.js.map +1 -0
  78. package/lib/dist/lib/comparisonInsights.d.ts +104 -0
  79. package/lib/dist/lib/comparisonInsights.d.ts.map +1 -0
  80. package/lib/dist/lib/comparisonInsights.js +212 -0
  81. package/lib/dist/lib/comparisonInsights.js.map +1 -0
  82. package/lib/dist/lib/config/defineConfig.d.ts +27 -0
  83. package/lib/dist/lib/config/defineConfig.d.ts.map +1 -0
  84. package/lib/dist/lib/config/defineConfig.js +28 -0
  85. package/lib/dist/lib/config/defineConfig.js.map +1 -0
  86. package/lib/dist/lib/config/index.d.ts +9 -0
  87. package/lib/dist/lib/config/index.d.ts.map +1 -0
  88. package/lib/dist/lib/config/index.js +8 -0
  89. package/lib/dist/lib/config/index.js.map +1 -0
  90. package/lib/dist/lib/config/loader.d.ts +39 -0
  91. package/lib/dist/lib/config/loader.d.ts.map +1 -0
  92. package/lib/dist/lib/config/loader.js +263 -0
  93. package/lib/dist/lib/config/loader.js.map +1 -0
  94. package/lib/dist/lib/config/statePaths.d.ts +61 -0
  95. package/lib/dist/lib/config/statePaths.d.ts.map +1 -0
  96. package/lib/dist/lib/config/statePaths.js +188 -0
  97. package/lib/dist/lib/config/statePaths.js.map +1 -0
  98. package/lib/dist/lib/config/types.d.ts +245 -0
  99. package/lib/dist/lib/config/types.d.ts.map +1 -0
  100. package/lib/dist/lib/config/types.js +6 -0
  101. package/lib/dist/lib/config/types.js.map +1 -0
  102. package/lib/dist/lib/config.d.ts +39 -0
  103. package/lib/dist/lib/config.d.ts.map +1 -0
  104. package/lib/dist/lib/config.js +118 -0
  105. package/lib/dist/lib/config.js.map +1 -0
  106. package/lib/dist/lib/constants.d.ts +81 -0
  107. package/lib/dist/lib/constants.d.ts.map +1 -0
  108. package/lib/dist/lib/constants.js +374 -0
  109. package/lib/dist/lib/constants.js.map +1 -0
  110. package/lib/dist/lib/contextFormat.d.ts +26 -0
  111. package/lib/dist/lib/contextFormat.d.ts.map +1 -0
  112. package/lib/dist/lib/contextFormat.js +28 -0
  113. package/lib/dist/lib/contextFormat.js.map +1 -0
  114. package/lib/dist/lib/contextUtilization.d.ts +23 -0
  115. package/lib/dist/lib/contextUtilization.d.ts.map +1 -0
  116. package/lib/dist/lib/contextUtilization.js +72 -0
  117. package/lib/dist/lib/contextUtilization.js.map +1 -0
  118. package/lib/dist/lib/dashboardMetrics.d.ts +87 -0
  119. package/lib/dist/lib/dashboardMetrics.d.ts.map +1 -0
  120. package/lib/dist/lib/dashboardMetrics.js +242 -0
  121. package/lib/dist/lib/dashboardMetrics.js.map +1 -0
  122. package/lib/dist/lib/dataSourceConfig.d.ts +108 -0
  123. package/lib/dist/lib/dataSourceConfig.d.ts.map +1 -0
  124. package/lib/dist/lib/dataSourceConfig.js +166 -0
  125. package/lib/dist/lib/dataSourceConfig.js.map +1 -0
  126. package/lib/dist/lib/debug.d.ts +26 -0
  127. package/lib/dist/lib/debug.d.ts.map +1 -0
  128. package/lib/dist/lib/debug.js +132 -0
  129. package/lib/dist/lib/debug.js.map +1 -0
  130. package/lib/dist/lib/diagnostics.d.ts +28 -0
  131. package/lib/dist/lib/diagnostics.d.ts.map +1 -0
  132. package/lib/dist/lib/diagnostics.js +65 -0
  133. package/lib/dist/lib/diagnostics.js.map +1 -0
  134. package/lib/dist/lib/envCompat.d.ts +27 -0
  135. package/lib/dist/lib/envCompat.d.ts.map +1 -0
  136. package/lib/dist/lib/envCompat.js +82 -0
  137. package/lib/dist/lib/envCompat.js.map +1 -0
  138. package/lib/dist/lib/evaluationRerun.d.ts +63 -0
  139. package/lib/dist/lib/evaluationRerun.d.ts.map +1 -0
  140. package/lib/dist/lib/evaluationRerun.js +85 -0
  141. package/lib/dist/lib/evaluationRerun.js.map +1 -0
  142. package/lib/dist/lib/findPackageRoot.d.ts +7 -0
  143. package/lib/dist/lib/findPackageRoot.d.ts.map +1 -0
  144. package/lib/dist/lib/findPackageRoot.js +57 -0
  145. package/lib/dist/lib/findPackageRoot.js.map +1 -0
  146. package/lib/dist/lib/hooks.d.ts +36 -0
  147. package/lib/dist/lib/hooks.d.ts.map +1 -0
  148. package/lib/dist/lib/hooks.js +112 -0
  149. package/lib/dist/lib/hooks.js.map +1 -0
  150. package/lib/dist/lib/index.d.ts +47 -0
  151. package/lib/dist/lib/index.d.ts.map +1 -0
  152. package/lib/dist/lib/index.js +62 -0
  153. package/lib/dist/lib/index.js.map +1 -0
  154. package/lib/dist/lib/labels.d.ts +90 -0
  155. package/lib/dist/lib/labels.d.ts.map +1 -0
  156. package/lib/dist/lib/labels.js +158 -0
  157. package/lib/dist/lib/labels.js.map +1 -0
  158. package/lib/dist/lib/markdown.d.ts +16 -0
  159. package/lib/dist/lib/markdown.d.ts.map +1 -0
  160. package/lib/dist/lib/markdown.js +42 -0
  161. package/lib/dist/lib/markdown.js.map +1 -0
  162. package/lib/dist/lib/matchers/expect.d.ts +3 -0
  163. package/lib/dist/lib/matchers/expect.d.ts.map +1 -0
  164. package/lib/dist/lib/matchers/expect.js +225 -0
  165. package/lib/dist/lib/matchers/expect.js.map +1 -0
  166. package/lib/dist/lib/matchers/index.d.ts +8 -0
  167. package/lib/dist/lib/matchers/index.d.ts.map +1 -0
  168. package/lib/dist/lib/matchers/index.js +9 -0
  169. package/lib/dist/lib/matchers/index.js.map +1 -0
  170. package/lib/dist/lib/matchers/judgeAccessor.d.ts +113 -0
  171. package/lib/dist/lib/matchers/judgeAccessor.d.ts.map +1 -0
  172. package/lib/dist/lib/matchers/judgeAccessor.js +183 -0
  173. package/lib/dist/lib/matchers/judgeAccessor.js.map +1 -0
  174. package/lib/dist/lib/matchers/session.d.ts +39 -0
  175. package/lib/dist/lib/matchers/session.d.ts.map +1 -0
  176. package/lib/dist/lib/matchers/session.js +116 -0
  177. package/lib/dist/lib/matchers/session.js.map +1 -0
  178. package/lib/dist/lib/matchers/traces.d.ts +70 -0
  179. package/lib/dist/lib/matchers/traces.d.ts.map +1 -0
  180. package/lib/dist/lib/matchers/traces.js +236 -0
  181. package/lib/dist/lib/matchers/traces.js.map +1 -0
  182. package/lib/dist/lib/matchers/tracesPricing.d.ts +38 -0
  183. package/lib/dist/lib/matchers/tracesPricing.d.ts.map +1 -0
  184. package/lib/dist/lib/matchers/tracesPricing.js +64 -0
  185. package/lib/dist/lib/matchers/tracesPricing.js.map +1 -0
  186. package/lib/dist/lib/matchers/types.d.ts +75 -0
  187. package/lib/dist/lib/matchers/types.d.ts.map +1 -0
  188. package/lib/dist/lib/matchers/types.js +6 -0
  189. package/lib/dist/lib/matchers/types.js.map +1 -0
  190. package/lib/dist/lib/packagePaths.d.ts +29 -0
  191. package/lib/dist/lib/packagePaths.d.ts.map +1 -0
  192. package/lib/dist/lib/packagePaths.js +63 -0
  193. package/lib/dist/lib/packagePaths.js.map +1 -0
  194. package/lib/dist/lib/performance.d.ts +51 -0
  195. package/lib/dist/lib/performance.d.ts.map +1 -0
  196. package/lib/dist/lib/performance.js +159 -0
  197. package/lib/dist/lib/performance.js.map +1 -0
  198. package/lib/dist/lib/portConfig.d.ts +29 -0
  199. package/lib/dist/lib/portConfig.d.ts.map +1 -0
  200. package/lib/dist/lib/portConfig.js +64 -0
  201. package/lib/dist/lib/portConfig.js.map +1 -0
  202. package/lib/dist/lib/preferences.d.ts +63 -0
  203. package/lib/dist/lib/preferences.d.ts.map +1 -0
  204. package/lib/dist/lib/preferences.js +117 -0
  205. package/lib/dist/lib/preferences.js.map +1 -0
  206. package/lib/dist/lib/resolveAgentModel.d.ts +22 -0
  207. package/lib/dist/lib/resolveAgentModel.d.ts.map +1 -0
  208. package/lib/dist/lib/resolveAgentModel.js +37 -0
  209. package/lib/dist/lib/resolveAgentModel.js.map +1 -0
  210. package/lib/dist/lib/runStats.d.ts +116 -0
  211. package/lib/dist/lib/runStats.d.ts.map +1 -0
  212. package/lib/dist/lib/runStats.js +192 -0
  213. package/lib/dist/lib/runStats.js.map +1 -0
  214. package/lib/dist/lib/telemetry/constants.d.ts +60 -0
  215. package/lib/dist/lib/telemetry/constants.d.ts.map +1 -0
  216. package/lib/dist/lib/telemetry/constants.js +87 -0
  217. package/lib/dist/lib/telemetry/constants.js.map +1 -0
  218. package/lib/dist/lib/telemetry/evalSpans.d.ts +61 -0
  219. package/lib/dist/lib/telemetry/evalSpans.d.ts.map +1 -0
  220. package/lib/dist/lib/telemetry/evalSpans.js +254 -0
  221. package/lib/dist/lib/telemetry/evalSpans.js.map +1 -0
  222. package/lib/dist/lib/telemetry/index.d.ts +11 -0
  223. package/lib/dist/lib/telemetry/index.d.ts.map +1 -0
  224. package/lib/dist/lib/telemetry/index.js +15 -0
  225. package/lib/dist/lib/telemetry/index.js.map +1 -0
  226. package/lib/dist/lib/telemetry/opensearchExporter.d.ts +43 -0
  227. package/lib/dist/lib/telemetry/opensearchExporter.d.ts.map +1 -0
  228. package/lib/dist/lib/telemetry/opensearchExporter.js +217 -0
  229. package/lib/dist/lib/telemetry/opensearchExporter.js.map +1 -0
  230. package/lib/dist/lib/telemetry/provider.d.ts +55 -0
  231. package/lib/dist/lib/telemetry/provider.d.ts.map +1 -0
  232. package/lib/dist/lib/telemetry/provider.js +140 -0
  233. package/lib/dist/lib/telemetry/provider.js.map +1 -0
  234. package/lib/dist/lib/testCaseLabels.d.ts +34 -0
  235. package/lib/dist/lib/testCaseLabels.d.ts.map +1 -0
  236. package/lib/dist/lib/testCaseLabels.js +88 -0
  237. package/lib/dist/lib/testCaseLabels.js.map +1 -0
  238. package/lib/dist/lib/testCaseValidation.d.ts +140 -0
  239. package/lib/dist/lib/testCaseValidation.d.ts.map +1 -0
  240. package/lib/dist/lib/testCaseValidation.js +162 -0
  241. package/lib/dist/lib/testCaseValidation.js.map +1 -0
  242. package/lib/dist/lib/testCases/agentFixture.d.ts +80 -0
  243. package/lib/dist/lib/testCases/agentFixture.d.ts.map +1 -0
  244. package/lib/dist/lib/testCases/agentFixture.js +43 -0
  245. package/lib/dist/lib/testCases/agentFixture.js.map +1 -0
  246. package/lib/dist/lib/testCases/authoringSurface.d.ts +10 -0
  247. package/lib/dist/lib/testCases/authoringSurface.d.ts.map +1 -0
  248. package/lib/dist/lib/testCases/authoringSurface.js +54 -0
  249. package/lib/dist/lib/testCases/authoringSurface.js.map +1 -0
  250. package/lib/dist/lib/testCases/codemod.d.ts +13 -0
  251. package/lib/dist/lib/testCases/codemod.d.ts.map +1 -0
  252. package/lib/dist/lib/testCases/codemod.js +169 -0
  253. package/lib/dist/lib/testCases/codemod.js.map +1 -0
  254. package/lib/dist/lib/testCases/define.d.ts +114 -0
  255. package/lib/dist/lib/testCases/define.d.ts.map +1 -0
  256. package/lib/dist/lib/testCases/define.js +253 -0
  257. package/lib/dist/lib/testCases/define.js.map +1 -0
  258. package/lib/dist/lib/testCases/evaluators.d.ts +80 -0
  259. package/lib/dist/lib/testCases/evaluators.d.ts.map +1 -0
  260. package/lib/dist/lib/testCases/evaluators.js +105 -0
  261. package/lib/dist/lib/testCases/evaluators.js.map +1 -0
  262. package/lib/dist/lib/testCases/index.d.ts +14 -0
  263. package/lib/dist/lib/testCases/index.d.ts.map +1 -0
  264. package/lib/dist/lib/testCases/index.js +12 -0
  265. package/lib/dist/lib/testCases/index.js.map +1 -0
  266. package/lib/dist/lib/testCases/judge.d.ts +165 -0
  267. package/lib/dist/lib/testCases/judge.d.ts.map +1 -0
  268. package/lib/dist/lib/testCases/judge.js +359 -0
  269. package/lib/dist/lib/testCases/judge.js.map +1 -0
  270. package/lib/dist/lib/testCases/loader.d.ts +36 -0
  271. package/lib/dist/lib/testCases/loader.d.ts.map +1 -0
  272. package/lib/dist/lib/testCases/loader.js +179 -0
  273. package/lib/dist/lib/testCases/loader.js.map +1 -0
  274. package/lib/dist/lib/testCases/types.d.ts +242 -0
  275. package/lib/dist/lib/testCases/types.d.ts.map +1 -0
  276. package/lib/dist/lib/testCases/types.js +6 -0
  277. package/lib/dist/lib/testCases/types.js.map +1 -0
  278. package/lib/dist/lib/theme.d.ts +6 -0
  279. package/lib/dist/lib/theme.d.ts.map +1 -0
  280. package/lib/dist/lib/theme.js +36 -0
  281. package/lib/dist/lib/theme.js.map +1 -0
  282. package/lib/dist/lib/uiTelemetry.d.ts +7 -0
  283. package/lib/dist/lib/uiTelemetry.d.ts.map +1 -0
  284. package/lib/dist/lib/uiTelemetry.js +25 -0
  285. package/lib/dist/lib/uiTelemetry.js.map +1 -0
  286. package/lib/dist/lib/utils.d.ts +111 -0
  287. package/lib/dist/lib/utils.d.ts.map +1 -0
  288. package/lib/dist/lib/utils.js +254 -0
  289. package/lib/dist/lib/utils.js.map +1 -0
  290. package/lib/dist/lib/workflow/consolidate.d.ts +12 -0
  291. package/lib/dist/lib/workflow/consolidate.d.ts.map +1 -0
  292. package/lib/dist/lib/workflow/consolidate.js +33 -0
  293. package/lib/dist/lib/workflow/consolidate.js.map +1 -0
  294. package/lib/dist/lib/workflow/index.d.ts +13 -0
  295. package/lib/dist/lib/workflow/index.d.ts.map +1 -0
  296. package/lib/dist/lib/workflow/index.js +12 -0
  297. package/lib/dist/lib/workflow/index.js.map +1 -0
  298. package/lib/dist/lib/workflow/ledger.d.ts +30 -0
  299. package/lib/dist/lib/workflow/ledger.d.ts.map +1 -0
  300. package/lib/dist/lib/workflow/ledger.js +41 -0
  301. package/lib/dist/lib/workflow/ledger.js.map +1 -0
  302. package/lib/dist/lib/workflow/pool.d.ts +13 -0
  303. package/lib/dist/lib/workflow/pool.d.ts.map +1 -0
  304. package/lib/dist/lib/workflow/pool.js +44 -0
  305. package/lib/dist/lib/workflow/pool.js.map +1 -0
  306. package/lib/dist/lib/workflow/source.d.ts +22 -0
  307. package/lib/dist/lib/workflow/source.d.ts.map +1 -0
  308. package/lib/dist/lib/workflow/source.js +29 -0
  309. package/lib/dist/lib/workflow/source.js.map +1 -0
  310. package/lib/dist/lib/workflow/stepB.d.ts +71 -0
  311. package/lib/dist/lib/workflow/stepB.d.ts.map +1 -0
  312. package/lib/dist/lib/workflow/stepB.js +99 -0
  313. package/lib/dist/lib/workflow/stepB.js.map +1 -0
  314. package/lib/dist/lib/workflow/types.d.ts +86 -0
  315. package/lib/dist/lib/workflow/types.d.ts.map +1 -0
  316. package/lib/dist/lib/workflow/types.js +6 -0
  317. package/lib/dist/lib/workflow/types.js.map +1 -0
  318. package/lib/dist/lib/workflow/workflow.d.ts +119 -0
  319. package/lib/dist/lib/workflow/workflow.d.ts.map +1 -0
  320. package/lib/dist/lib/workflow/workflow.js +195 -0
  321. package/lib/dist/lib/workflow/workflow.js.map +1 -0
  322. package/lib/dist/services/agent/aguiConverter.d.ts +50 -0
  323. package/lib/dist/services/agent/aguiConverter.d.ts.map +1 -0
  324. package/lib/dist/services/agent/aguiConverter.js +449 -0
  325. package/lib/dist/services/agent/aguiConverter.js.map +1 -0
  326. package/lib/dist/services/agent/index.d.ts +10 -0
  327. package/lib/dist/services/agent/index.d.ts.map +1 -0
  328. package/lib/dist/services/agent/index.js +12 -0
  329. package/lib/dist/services/agent/index.js.map +1 -0
  330. package/lib/dist/services/agent/payloadBuilder.d.ts +33 -0
  331. package/lib/dist/services/agent/payloadBuilder.d.ts.map +1 -0
  332. package/lib/dist/services/agent/payloadBuilder.js +75 -0
  333. package/lib/dist/services/agent/payloadBuilder.js.map +1 -0
  334. package/lib/dist/services/agent/sseStream.d.ts +43 -0
  335. package/lib/dist/services/agent/sseStream.d.ts.map +1 -0
  336. package/lib/dist/services/agent/sseStream.js +223 -0
  337. package/lib/dist/services/agent/sseStream.js.map +1 -0
  338. package/lib/dist/services/connectors/agui/AGUIStreamingConnector.d.ts +44 -0
  339. package/lib/dist/services/connectors/agui/AGUIStreamingConnector.d.ts.map +1 -0
  340. package/lib/dist/services/connectors/agui/AGUIStreamingConnector.js +95 -0
  341. package/lib/dist/services/connectors/agui/AGUIStreamingConnector.js.map +1 -0
  342. package/lib/dist/services/connectors/base/BaseConnector.d.ts +81 -0
  343. package/lib/dist/services/connectors/base/BaseConnector.d.ts.map +1 -0
  344. package/lib/dist/services/connectors/base/BaseConnector.js +170 -0
  345. package/lib/dist/services/connectors/base/BaseConnector.js.map +1 -0
  346. package/lib/dist/services/connectors/claude-code/ClaudeCodeConnector.d.ts +126 -0
  347. package/lib/dist/services/connectors/claude-code/ClaudeCodeConnector.d.ts.map +1 -0
  348. package/lib/dist/services/connectors/claude-code/ClaudeCodeConnector.js +417 -0
  349. package/lib/dist/services/connectors/claude-code/ClaudeCodeConnector.js.map +1 -0
  350. package/lib/dist/services/connectors/index.d.ts +13 -0
  351. package/lib/dist/services/connectors/index.d.ts.map +1 -0
  352. package/lib/dist/services/connectors/index.js +32 -0
  353. package/lib/dist/services/connectors/index.js.map +1 -0
  354. package/lib/dist/services/connectors/kiro/KiroConnector.d.ts +48 -0
  355. package/lib/dist/services/connectors/kiro/KiroConnector.d.ts.map +1 -0
  356. package/lib/dist/services/connectors/kiro/KiroConnector.js +158 -0
  357. package/lib/dist/services/connectors/kiro/KiroConnector.js.map +1 -0
  358. package/lib/dist/services/connectors/langgraph/LangGraphConnector.d.ts +36 -0
  359. package/lib/dist/services/connectors/langgraph/LangGraphConnector.d.ts.map +1 -0
  360. package/lib/dist/services/connectors/langgraph/LangGraphConnector.js +175 -0
  361. package/lib/dist/services/connectors/langgraph/LangGraphConnector.js.map +1 -0
  362. package/lib/dist/services/connectors/mock/MockConnector.d.ts +37 -0
  363. package/lib/dist/services/connectors/mock/MockConnector.d.ts.map +1 -0
  364. package/lib/dist/services/connectors/mock/MockConnector.js +120 -0
  365. package/lib/dist/services/connectors/mock/MockConnector.js.map +1 -0
  366. package/lib/dist/services/connectors/openai-compatible/OpenAICompatibleConnector.d.ts +42 -0
  367. package/lib/dist/services/connectors/openai-compatible/OpenAICompatibleConnector.d.ts.map +1 -0
  368. package/lib/dist/services/connectors/openai-compatible/OpenAICompatibleConnector.js +133 -0
  369. package/lib/dist/services/connectors/openai-compatible/OpenAICompatibleConnector.js.map +1 -0
  370. package/lib/dist/services/connectors/pi/PiConnector.d.ts +87 -0
  371. package/lib/dist/services/connectors/pi/PiConnector.d.ts.map +1 -0
  372. package/lib/dist/services/connectors/pi/PiConnector.js +274 -0
  373. package/lib/dist/services/connectors/pi/PiConnector.js.map +1 -0
  374. package/lib/dist/services/connectors/registry.d.ts +57 -0
  375. package/lib/dist/services/connectors/registry.d.ts.map +1 -0
  376. package/lib/dist/services/connectors/registry.js +106 -0
  377. package/lib/dist/services/connectors/registry.js.map +1 -0
  378. package/lib/dist/services/connectors/rest/RESTConnector.d.ts +38 -0
  379. package/lib/dist/services/connectors/rest/RESTConnector.d.ts.map +1 -0
  380. package/lib/dist/services/connectors/rest/RESTConnector.js +117 -0
  381. package/lib/dist/services/connectors/rest/RESTConnector.js.map +1 -0
  382. package/lib/dist/services/connectors/server.d.ts +13 -0
  383. package/lib/dist/services/connectors/server.d.ts.map +1 -0
  384. package/lib/dist/services/connectors/server.js +34 -0
  385. package/lib/dist/services/connectors/server.js.map +1 -0
  386. package/lib/dist/services/connectors/strands/StrandsConnector.d.ts +48 -0
  387. package/lib/dist/services/connectors/strands/StrandsConnector.d.ts.map +1 -0
  388. package/lib/dist/services/connectors/strands/StrandsConnector.js +221 -0
  389. package/lib/dist/services/connectors/strands/StrandsConnector.js.map +1 -0
  390. package/lib/dist/services/connectors/subprocess/SubprocessConnector.d.ts +88 -0
  391. package/lib/dist/services/connectors/subprocess/SubprocessConnector.d.ts.map +1 -0
  392. package/lib/dist/services/connectors/subprocess/SubprocessConnector.js +426 -0
  393. package/lib/dist/services/connectors/subprocess/SubprocessConnector.js.map +1 -0
  394. package/lib/dist/services/connectors/types.d.ts +213 -0
  395. package/lib/dist/services/connectors/types.d.ts.map +1 -0
  396. package/lib/dist/services/connectors/types.js +6 -0
  397. package/lib/dist/services/connectors/types.js.map +1 -0
  398. package/lib/dist/services/evaluation/bedrockJudge.d.ts +71 -0
  399. package/lib/dist/services/evaluation/bedrockJudge.d.ts.map +1 -0
  400. package/lib/dist/services/evaluation/bedrockJudge.js +169 -0
  401. package/lib/dist/services/evaluation/bedrockJudge.js.map +1 -0
  402. package/lib/dist/services/evaluation/evaluatorError.d.ts +56 -0
  403. package/lib/dist/services/evaluation/evaluatorError.d.ts.map +1 -0
  404. package/lib/dist/services/evaluation/evaluatorError.js +56 -0
  405. package/lib/dist/services/evaluation/evaluatorError.js.map +1 -0
  406. package/lib/dist/services/evaluation/index.d.ts +106 -0
  407. package/lib/dist/services/evaluation/index.d.ts.map +1 -0
  408. package/lib/dist/services/evaluation/index.js +684 -0
  409. package/lib/dist/services/evaluation/index.js.map +1 -0
  410. package/lib/dist/services/evaluation/mockTrajectory.d.ts +3 -0
  411. package/lib/dist/services/evaluation/mockTrajectory.d.ts.map +1 -0
  412. package/lib/dist/services/evaluation/mockTrajectory.js +72 -0
  413. package/lib/dist/services/evaluation/mockTrajectory.js.map +1 -0
  414. package/lib/dist/services/opensearch/client.d.ts +26 -0
  415. package/lib/dist/services/opensearch/client.d.ts.map +1 -0
  416. package/lib/dist/services/opensearch/client.js +131 -0
  417. package/lib/dist/services/opensearch/client.js.map +1 -0
  418. package/lib/dist/services/opensearch/index.d.ts +16 -0
  419. package/lib/dist/services/opensearch/index.d.ts.map +1 -0
  420. package/lib/dist/services/opensearch/index.js +25 -0
  421. package/lib/dist/services/opensearch/index.js.map +1 -0
  422. package/lib/dist/services/storage/asyncBenchmarkStorage.d.ts +123 -0
  423. package/lib/dist/services/storage/asyncBenchmarkStorage.d.ts.map +1 -0
  424. package/lib/dist/services/storage/asyncBenchmarkStorage.js +440 -0
  425. package/lib/dist/services/storage/asyncBenchmarkStorage.js.map +1 -0
  426. package/lib/dist/services/storage/asyncRunStorage.d.ts +135 -0
  427. package/lib/dist/services/storage/asyncRunStorage.d.ts.map +1 -0
  428. package/lib/dist/services/storage/asyncRunStorage.js +524 -0
  429. package/lib/dist/services/storage/asyncRunStorage.js.map +1 -0
  430. package/lib/dist/services/storage/asyncTestCaseStorage.d.ts +170 -0
  431. package/lib/dist/services/storage/asyncTestCaseStorage.d.ts.map +1 -0
  432. package/lib/dist/services/storage/asyncTestCaseStorage.js +301 -0
  433. package/lib/dist/services/storage/asyncTestCaseStorage.js.map +1 -0
  434. package/lib/dist/services/storage/index.d.ts +17 -0
  435. package/lib/dist/services/storage/index.d.ts.map +1 -0
  436. package/lib/dist/services/storage/index.js +20 -0
  437. package/lib/dist/services/storage/index.js.map +1 -0
  438. package/lib/dist/services/storage/migration.d.ts +54 -0
  439. package/lib/dist/services/storage/migration.d.ts.map +1 -0
  440. package/lib/dist/services/storage/migration.js +296 -0
  441. package/lib/dist/services/storage/migration.js.map +1 -0
  442. package/lib/dist/services/storage/opensearchClient.d.ts +947 -0
  443. package/lib/dist/services/storage/opensearchClient.d.ts.map +1 -0
  444. package/lib/dist/services/storage/opensearchClient.js +442 -0
  445. package/lib/dist/services/storage/opensearchClient.js.map +1 -0
  446. package/lib/dist/services/traces/browserRecovery.d.ts +37 -0
  447. package/lib/dist/services/traces/browserRecovery.d.ts.map +1 -0
  448. package/lib/dist/services/traces/browserRecovery.js +108 -0
  449. package/lib/dist/services/traces/browserRecovery.js.map +1 -0
  450. package/lib/dist/services/traces/categoryStyles.d.ts +21 -0
  451. package/lib/dist/services/traces/categoryStyles.d.ts.map +1 -0
  452. package/lib/dist/services/traces/categoryStyles.js +56 -0
  453. package/lib/dist/services/traces/categoryStyles.js.map +1 -0
  454. package/lib/dist/services/traces/executionOrderTransform.d.ts +35 -0
  455. package/lib/dist/services/traces/executionOrderTransform.d.ts.map +1 -0
  456. package/lib/dist/services/traces/executionOrderTransform.js +313 -0
  457. package/lib/dist/services/traces/executionOrderTransform.js.map +1 -0
  458. package/lib/dist/services/traces/fetchSpansForRun.d.ts +86 -0
  459. package/lib/dist/services/traces/fetchSpansForRun.d.ts.map +1 -0
  460. package/lib/dist/services/traces/fetchSpansForRun.js +69 -0
  461. package/lib/dist/services/traces/fetchSpansForRun.js.map +1 -0
  462. package/lib/dist/services/traces/flowTransform.d.ts +24 -0
  463. package/lib/dist/services/traces/flowTransform.d.ts.map +1 -0
  464. package/lib/dist/services/traces/flowTransform.js +228 -0
  465. package/lib/dist/services/traces/flowTransform.js.map +1 -0
  466. package/lib/dist/services/traces/index.d.ts +121 -0
  467. package/lib/dist/services/traces/index.d.ts.map +1 -0
  468. package/lib/dist/services/traces/index.js +255 -0
  469. package/lib/dist/services/traces/index.js.map +1 -0
  470. package/lib/dist/services/traces/intentTransform.d.ts +20 -0
  471. package/lib/dist/services/traces/intentTransform.d.ts.map +1 -0
  472. package/lib/dist/services/traces/intentTransform.js +131 -0
  473. package/lib/dist/services/traces/intentTransform.js.map +1 -0
  474. package/lib/dist/services/traces/judgeAgentsHints.d.ts +63 -0
  475. package/lib/dist/services/traces/judgeAgentsHints.d.ts.map +1 -0
  476. package/lib/dist/services/traces/judgeAgentsHints.js +89 -0
  477. package/lib/dist/services/traces/judgeAgentsHints.js.map +1 -0
  478. package/lib/dist/services/traces/messageExtraction.d.ts +15 -0
  479. package/lib/dist/services/traces/messageExtraction.d.ts.map +1 -0
  480. package/lib/dist/services/traces/messageExtraction.js +313 -0
  481. package/lib/dist/services/traces/messageExtraction.js.map +1 -0
  482. package/lib/dist/services/traces/spanCategorization.d.ts +63 -0
  483. package/lib/dist/services/traces/spanCategorization.d.ts.map +1 -0
  484. package/lib/dist/services/traces/spanCategorization.js +276 -0
  485. package/lib/dist/services/traces/spanCategorization.js.map +1 -0
  486. package/lib/dist/services/traces/spanPreprocessing.d.ts +37 -0
  487. package/lib/dist/services/traces/spanPreprocessing.d.ts.map +1 -0
  488. package/lib/dist/services/traces/spanPreprocessing.js +102 -0
  489. package/lib/dist/services/traces/spanPreprocessing.js.map +1 -0
  490. package/lib/dist/services/traces/spansToTrajectory.d.ts +36 -0
  491. package/lib/dist/services/traces/spansToTrajectory.d.ts.map +1 -0
  492. package/lib/dist/services/traces/spansToTrajectory.js +425 -0
  493. package/lib/dist/services/traces/spansToTrajectory.js.map +1 -0
  494. package/lib/dist/services/traces/toolSimilarity.d.ts +35 -0
  495. package/lib/dist/services/traces/toolSimilarity.d.ts.map +1 -0
  496. package/lib/dist/services/traces/toolSimilarity.js +203 -0
  497. package/lib/dist/services/traces/toolSimilarity.js.map +1 -0
  498. package/lib/dist/services/traces/traceComparison.d.ts +31 -0
  499. package/lib/dist/services/traces/traceComparison.d.ts.map +1 -0
  500. package/lib/dist/services/traces/traceComparison.js +318 -0
  501. package/lib/dist/services/traces/traceComparison.js.map +1 -0
  502. package/lib/dist/services/traces/traceGrouping.d.ts +19 -0
  503. package/lib/dist/services/traces/traceGrouping.d.ts.map +1 -0
  504. package/lib/dist/services/traces/traceGrouping.js +107 -0
  505. package/lib/dist/services/traces/traceGrouping.js.map +1 -0
  506. package/lib/dist/services/traces/tracePoller.d.ts +108 -0
  507. package/lib/dist/services/traces/tracePoller.d.ts.map +1 -0
  508. package/lib/dist/services/traces/tracePoller.js +475 -0
  509. package/lib/dist/services/traces/tracePoller.js.map +1 -0
  510. package/lib/dist/services/traces/traceStats.d.ts +45 -0
  511. package/lib/dist/services/traces/traceStats.d.ts.map +1 -0
  512. package/lib/dist/services/traces/traceStats.js +114 -0
  513. package/lib/dist/services/traces/traceStats.js.map +1 -0
  514. package/lib/dist/services/traces/traceSummary.d.ts +47 -0
  515. package/lib/dist/services/traces/traceSummary.d.ts.map +1 -0
  516. package/lib/dist/services/traces/traceSummary.js +68 -0
  517. package/lib/dist/services/traces/traceSummary.js.map +1 -0
  518. package/lib/dist/services/traces/utils.d.ts +33 -0
  519. package/lib/dist/services/traces/utils.d.ts.map +1 -0
  520. package/lib/dist/services/traces/utils.js +114 -0
  521. package/lib/dist/services/traces/utils.js.map +1 -0
  522. package/lib/dist/types/agui.d.ts +13 -0
  523. package/lib/dist/types/agui.d.ts.map +1 -0
  524. package/lib/dist/types/agui.js +16 -0
  525. package/lib/dist/types/agui.js.map +1 -0
  526. package/lib/dist/types/index.d.ts +1229 -0
  527. package/lib/dist/types/index.d.ts.map +1 -0
  528. package/lib/dist/types/index.js +12 -0
  529. package/lib/dist/types/index.js.map +1 -0
  530. package/lib/dist/types/skills.d.ts +146 -0
  531. package/lib/dist/types/skills.d.ts.map +1 -0
  532. package/lib/dist/types/skills.js +6 -0
  533. package/lib/dist/types/skills.js.map +1 -0
  534. package/observio-sample-agent/pi-package/README.md +112 -0
  535. package/observio-sample-agent/pi-package/extensions/agent-health.ts +373 -0
  536. package/observio-sample-agent/pi-package/package.json +17 -0
  537. package/observio-sample-agent/pi-package/prompts/agent-health.md +37 -0
  538. package/observio-sample-agent/pi-package/skills/create-pr/SKILL.md +88 -0
  539. package/observio-sample-agent/pi-package/skills/fix-bug/SKILL.md +71 -0
  540. package/observio-sample-agent/pi-package/skills/implement-feature/SKILL.md +156 -0
  541. package/observio-sample-agent/pi-package/skills/instrument-otel/SKILL.md +208 -0
  542. package/observio-sample-agent/pi-package/skills/setup-collector/SKILL.md +146 -0
  543. package/observio-sample-agent/pi-package/skills/write-test/SKILL.md +115 -0
  544. package/package.json +45 -9
  545. package/server/dist/app.js +34031 -18731
  546. package/server/dist/index.js +30737 -15338
  547. package/tsconfig.lib.json +71 -0
  548. package/dist/assets/index-BOIP5L7h.js +0 -246
  549. package/dist/assets/index-CU9YKpAL.css +0 -1
  550. package/lib/dist/config/index.js +0 -452
  551. package/lib/dist/index.js +0 -1725
@@ -0,0 +1,126 @@
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
+ /**
60
+ * The connector's pristine constructor-time args, captured on first execute.
61
+ * The registry hands out a SINGLETON connector instance shared by all
62
+ * concurrent benchmark tasks; building per-execution args by appending to
63
+ * `this.config.args` compounded another in-flight execution's appended
64
+ * config args (spawns were observed with --append-system-prompt /
65
+ * --allowed-tools duplicated up to 5× at concurrency 3). Every execution
66
+ * must build from this immutable base instead.
67
+ */
68
+ private pristineArgs?;
69
+ constructor(config?: Partial<SubprocessConfig>);
70
+ /**
71
+ * Build prompt for Claude Code
72
+ * Structures the input to get the best RCA results
73
+ */
74
+ buildPayload(request: ConnectorRequest): string;
75
+ /**
76
+ * Parse Claude Code streaming output (stream-json format)
77
+ * Each line is a JSON object with type and content
78
+ */
79
+ protected parseStreamingOutput(chunk: string, trajectory: TrajectoryStep[], onProgress?: ConnectorProgressCallback): void;
80
+ /**
81
+ * Parse a single JSON event from stream-json output
82
+ */
83
+ private parseJsonEvent;
84
+ /**
85
+ * Parse final output for Claude Code
86
+ */
87
+ parseResponse(data: {
88
+ stdout: string;
89
+ stderr: string;
90
+ exitCode: number;
91
+ }): TrajectoryStep[];
92
+ /**
93
+ * Reset state for new execution
94
+ */
95
+ private resetState;
96
+ /**
97
+ * Flush remaining buffers when the subprocess stream ends.
98
+ */
99
+ protected onBeforeStreamEnd(trajectory: TrajectoryStep[], onProgress?: ConnectorProgressCallback): void;
100
+ /**
101
+ * Build CLI args from ClaudeCodeConnectorConfig
102
+ */
103
+ private buildConfigArgs;
104
+ /**
105
+ * Override execute to reset state and apply connectorConfig
106
+ */
107
+ execute(endpoint: string, request: ConnectorRequest, auth: ConnectorAuth, onProgress?: ConnectorProgressCallback, onRawEvent?: (event: any) => void): Promise<import('../types.js').ConnectorResponse>;
108
+ /**
109
+ * Health check - verify claude command exists
110
+ */
111
+ healthCheck(endpoint: string, auth: ConnectorAuth): Promise<boolean>;
112
+ /**
113
+ * Surface the captured Claude Code `session_id` so the runner can persist it
114
+ * as `report.sessionId` for Strategy D trace correlation.
115
+ */
116
+ protected extraResultMetadata(): Record<string, any>;
117
+ }
118
+ /**
119
+ * Create a Claude Code connector with specific Bedrock configuration
120
+ */
121
+ export declare function createBedrockClaudeCodeConnector(): ClaudeCodeConnector;
122
+ /**
123
+ * Default instance for convenience
124
+ */
125
+ export declare const claudeCodeConnector: ClaudeCodeConnector;
126
+ //# 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,417 @@
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
+ // Capture the pristine base args once (first execution wins — constructor
285
+ // args never change). See `pristineArgs` doc for why we must not snapshot
286
+ // `this.config.args` per-execution under concurrency.
287
+ this.pristineArgs ??= this.config.args ? [...this.config.args] : [];
288
+ // Save original config for restoration after execution.
289
+ // Uses structured clone for env to prevent leaking nested mutations
290
+ // between consecutive executions in a benchmark run.
291
+ const originalEnv = this.config.env ? structuredClone(this.config.env) : {};
292
+ const originalArgs = [...this.pristineArgs];
293
+ const originalInputMode = this.config.inputMode;
294
+ const originalTimeout = this.config.timeout;
295
+ const originalWorkingDir = this.config.workingDir;
296
+ // Apply connectorConfig if provided
297
+ const ccConfig = request.connectorConfig;
298
+ if (ccConfig) {
299
+ this.debug('Applying connectorConfig:', Object.keys(ccConfig));
300
+ // Merge environment variables
301
+ if (ccConfig.env) {
302
+ this.config.env = { ...this.config.env, ...ccConfig.env };
303
+ }
304
+ // Switch input mode if requested
305
+ if (ccConfig.usePromptArg) {
306
+ this.config.inputMode = 'arg';
307
+ }
308
+ // Override timeout if specified
309
+ if (ccConfig.timeout !== undefined) {
310
+ this.config.timeout = ccConfig.timeout;
311
+ }
312
+ // Override working directory if specified
313
+ if (ccConfig.workingDir) {
314
+ this.config.workingDir = ccConfig.workingDir;
315
+ }
316
+ }
317
+ // When using Bedrock, clear any Anthropic API key to prevent
318
+ // login-managed key from taking precedence and triggering a credit
319
+ // balance check instead of routing through Bedrock.
320
+ if (this.config.env?.CLAUDE_CODE_USE_BEDROCK === '1') {
321
+ this.config.env = { ...this.config.env, ANTHROPIC_API_KEY: '' };
322
+ this.debug('Bedrock mode: cleared ANTHROPIC_API_KEY to bypass credit check');
323
+ }
324
+ // The agent's model is owned by its agent-health.config.ts connector
325
+ // config (env.ANTHROPIC_MODEL, or a `--model` flag in connectorConfig.args)
326
+ // — there is no run-level / user-selected agent model. We intentionally do
327
+ // NOT inject a model from the run here.
328
+ // Build per-execution args from the PRISTINE base (never from the live
329
+ // `this.config.args`, which may carry another in-flight execution's
330
+ // appended config args). `super.execute()` (SubprocessConnector) reads
331
+ // `this.config.args` synchronously at its very top (`const args =
332
+ // this.config.args || []`, before any `await`) — traced end-to-end: there
333
+ // is no `await` anywhere between this write and that read, so no other
334
+ // concurrent `execute()` call can interleave in between (JS run-to-
335
+ // completion semantics). This DOES depend on that base-class read staying
336
+ // synchronous-before-first-await; if `SubprocessConnector.execute()` is
337
+ // ever refactored to do async work before reading `config.args`, this
338
+ // invariant breaks silently — the concurrency test below is the guard.
339
+ if (ccConfig) {
340
+ const configArgs = this.buildConfigArgs(ccConfig);
341
+ this.config.args = [...this.pristineArgs, ...configArgs];
342
+ if (configArgs.length > 0) {
343
+ this.debug('Config args added:', configArgs);
344
+ }
345
+ }
346
+ try {
347
+ this.debug('State reset, calling super.execute()...');
348
+ this.sessionId = undefined;
349
+ const result = await super.execute(endpoint, request, auth, onProgress, onRawEvent);
350
+ this.debug('super.execute() returned with', result.trajectory.length, 'steps');
351
+ this.debug('========== execute() COMPLETED ==========');
352
+ return result;
353
+ }
354
+ finally {
355
+ // Restore config to pre-execution state. Uses deep copies to prevent
356
+ // config pollution between consecutive executions in a benchmark run.
357
+ this.config.env = originalEnv;
358
+ this.config.args = originalArgs;
359
+ this.config.inputMode = originalInputMode;
360
+ this.config.timeout = originalTimeout;
361
+ this.config.workingDir = originalWorkingDir;
362
+ }
363
+ }
364
+ /**
365
+ * Health check - verify claude command exists
366
+ */
367
+ async healthCheck(endpoint, auth) {
368
+ return super.healthCheck(endpoint || 'claude', auth);
369
+ }
370
+ /**
371
+ * Surface the captured Claude Code `session_id` so the runner can persist it
372
+ * as `report.sessionId` for Strategy D trace correlation.
373
+ */
374
+ extraResultMetadata() {
375
+ return this.sessionId ? { sessionId: this.sessionId } : {};
376
+ }
377
+ }
378
+ /**
379
+ * Create a Claude Code connector with specific Bedrock configuration
380
+ */
381
+ export function createBedrockClaudeCodeConnector() {
382
+ const env = {
383
+ AWS_PROFILE: process.env.AWS_PROFILE || 'Bedrock',
384
+ CLAUDE_CODE_USE_BEDROCK: '1',
385
+ ANTHROPIC_API_KEY: '', // Prevent login-managed key from overriding Bedrock
386
+ AWS_REGION: process.env.AWS_REGION || 'us-west-2',
387
+ DISABLE_PROMPT_CACHING: '1',
388
+ DISABLE_ERROR_REPORTING: '1',
389
+ };
390
+ const telemetryEnabled = process.env.CLAUDE_CODE_TELEMETRY_ENABLED === 'true';
391
+ const otelEndpoint = process.env.OTEL_EXPORTER_OTLP_ENDPOINT;
392
+ if (telemetryEnabled && otelEndpoint) {
393
+ env.CLAUDE_CODE_ENABLE_TELEMETRY = '1';
394
+ env.OTEL_EXPORTER_OTLP_ENDPOINT = otelEndpoint;
395
+ env.OTEL_TRACES_EXPORTER = 'otlp';
396
+ env.OTEL_METRICS_EXPORTER = 'otlp';
397
+ env.OTEL_LOGS_EXPORTER = 'otlp';
398
+ // Log the user prompt as a log record attribute so the run's prompt is
399
+ // visible in the Traces view. Opt-out via OTEL_LOG_USER_PROMPTS=0.
400
+ env.OTEL_LOG_USER_PROMPTS = process.env.OTEL_LOG_USER_PROMPTS ?? '1';
401
+ if (process.env.OTEL_SERVICE_NAME)
402
+ env.OTEL_SERVICE_NAME = process.env.OTEL_SERVICE_NAME;
403
+ if (process.env.OTEL_EXPORTER_OTLP_PROTOCOL)
404
+ env.OTEL_EXPORTER_OTLP_PROTOCOL = process.env.OTEL_EXPORTER_OTLP_PROTOCOL;
405
+ if (process.env.OTEL_EXPORTER_OTLP_HEADERS)
406
+ env.OTEL_EXPORTER_OTLP_HEADERS = process.env.OTEL_EXPORTER_OTLP_HEADERS;
407
+ }
408
+ else {
409
+ env.DISABLE_TELEMETRY = '1';
410
+ }
411
+ return new ClaudeCodeConnector({ env });
412
+ }
413
+ /**
414
+ * Default instance for convenience
415
+ */
416
+ export const claudeCodeConnector = new ClaudeCodeConnector();
417
+ //# 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"}