@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,245 @@
1
+ /**
2
+ * Configuration Types
3
+ * Type definitions for agent-health.config.ts files
4
+ */
5
+ import type { AgentConfig, ModelConfig, ConnectorProtocol, AgentHooks, StorageClusterConfig, ObservabilityClusterConfig } from '../../types/index.js';
6
+ import type { AgentConnector } from '../../services/connectors/types.js';
7
+ /**
8
+ * Agent configuration for user config files
9
+ * Extends AgentConfig with optional fields that have defaults
10
+ */
11
+ export interface UserAgentConfig {
12
+ key: string;
13
+ name: string;
14
+ endpoint: string;
15
+ description?: string;
16
+ enabled?: boolean;
17
+ headers?: Record<string, string>;
18
+ useTraces?: boolean;
19
+ /**
20
+ * OTel `service.name` this agent's spans are emitted under — used by the
21
+ * trace poller / Traces tab for service-window correlation (Strategy C).
22
+ * Without it, correlation falls back to the connector-protocol default
23
+ * (e.g. `pi-agent`), which can collide with OTHER emitters sharing that
24
+ * service name on the same observability cluster.
25
+ */
26
+ traceServiceName?: string;
27
+ /** Trace-poll overrides (attempts × interval) for slow ingestion pipelines. */
28
+ tracePolling?: {
29
+ maxAttempts?: number;
30
+ intervalMs?: number;
31
+ };
32
+ connectorType?: ConnectorProtocol;
33
+ connectorConfig?: Record<string, any>;
34
+ hooks?: AgentHooks;
35
+ }
36
+ /**
37
+ * Model configuration for user config files
38
+ */
39
+ export interface UserModelConfig {
40
+ key: string;
41
+ model_id: string;
42
+ display_name: string;
43
+ provider?: 'bedrock' | 'demo' | 'openai-compatible' | 'litellm' | 'claude-code' | 'agentic' | 'pi' | 'agent';
44
+ context_window?: number;
45
+ max_output_tokens?: number;
46
+ }
47
+ /**
48
+ * Reporter configuration
49
+ */
50
+ export type ReporterConfig = 'console' | ['console'] | ['json', {
51
+ output: string;
52
+ }] | ['html', {
53
+ output: string;
54
+ }];
55
+ /**
56
+ * Judge configuration
57
+ */
58
+ export interface JudgeConfig {
59
+ provider?: 'bedrock' | 'demo' | 'openai-compatible' | 'litellm' | 'claude-code' | 'agentic' | 'pi' | 'agent';
60
+ model?: string;
61
+ region?: string;
62
+ /** Endpoint for custom/agentic judge (e.g., REST endpoint or subprocess command) */
63
+ endpoint?: string;
64
+ /** Connector type for agentic judge (reuses agent connector infrastructure) */
65
+ connectorType?: 'rest' | 'openai-compatible' | 'subprocess' | 'claude-code';
66
+ }
67
+ /**
68
+ * Telemetry configuration for OTel span emission
69
+ */
70
+ export interface TelemetryConfig {
71
+ /**
72
+ * Enable evaluation telemetry (OTel span emission)
73
+ * @default false (can also be set via OTEL_EVAL_ENABLED env var)
74
+ */
75
+ enabled?: boolean;
76
+ /**
77
+ * OTLP exporter endpoint
78
+ * @default 'http://localhost:4318/v1/traces' (can also be set via OTEL_EVAL_EXPORTER_ENDPOINT)
79
+ */
80
+ exporterEndpoint?: string;
81
+ /**
82
+ * Headers for the OTLP exporter (e.g., auth tokens)
83
+ * Can also be set via OTEL_EVAL_EXPORTER_HEADERS (JSON string)
84
+ */
85
+ exporterHeaders?: Record<string, string>;
86
+ /**
87
+ * Service name for resource attributes
88
+ * @default 'agent-health' (can also be set via OTEL_SERVICE_NAME)
89
+ */
90
+ serviceName?: string;
91
+ }
92
+ /**
93
+ * Server configuration for CLI lifecycle management
94
+ * Follows Playwright's webServer pattern
95
+ */
96
+ export interface ServerConfig {
97
+ /**
98
+ * Port to run server on
99
+ * @default 4001
100
+ */
101
+ port?: number;
102
+ /**
103
+ * Whether to reuse an existing server if one is running
104
+ * - true: Reuse existing server (default in dev)
105
+ * - false: Error if server already running (default in CI)
106
+ * @default !process.env.CI
107
+ */
108
+ reuseExistingServer?: boolean;
109
+ /**
110
+ * Timeout in ms to wait for server to start
111
+ * @default 30000
112
+ */
113
+ startTimeout?: number;
114
+ }
115
+ /**
116
+ * Resolved server configuration with all defaults applied
117
+ */
118
+ export interface ResolvedServerConfig {
119
+ port: number;
120
+ reuseExistingServer: boolean;
121
+ startTimeout: number;
122
+ readOnly?: boolean;
123
+ }
124
+ /**
125
+ * User configuration file structure
126
+ * This is what users define in agent-health.config.ts
127
+ */
128
+ export interface UserConfig {
129
+ /**
130
+ * Server lifecycle configuration (Playwright-style)
131
+ * Controls how CLI starts/reuses the Agent Health server
132
+ */
133
+ server?: ServerConfig;
134
+ /**
135
+ * Custom connectors to register
136
+ * Users can provide instances of custom connector classes
137
+ */
138
+ connectors?: AgentConnector[];
139
+ /**
140
+ * Agent configurations
141
+ * Can include custom agents or override built-in agents
142
+ */
143
+ agents?: UserAgentConfig[];
144
+ /**
145
+ * Model configurations
146
+ * Can include custom models or override built-in models
147
+ */
148
+ models?: UserModelConfig[];
149
+ /**
150
+ * Test case file patterns (glob)
151
+ * e.g., './test-cases/*.yaml'
152
+ */
153
+ testCases?: string | string[];
154
+ /**
155
+ * Output reporters
156
+ */
157
+ reporters?: ReporterConfig[];
158
+ /**
159
+ * Judge configuration
160
+ */
161
+ judge?: JudgeConfig;
162
+ /**
163
+ * Telemetry configuration for OTel evaluation span emission
164
+ */
165
+ telemetry?: TelemetryConfig;
166
+ /**
167
+ * OpenSearch storage cluster for persisting test cases, benchmarks, runs and
168
+ * analytics. When omitted, file-based storage is used.
169
+ *
170
+ * Resolution precedence (highest wins):
171
+ * agent-health.config.json (UI-written) -> this TS field ->
172
+ * OPENSEARCH_STORAGE_* env vars -> file-based fallback.
173
+ *
174
+ * Keep secrets/environment-specific values out of committed config by
175
+ * reading them from `process.env`, e.g.:
176
+ * storage: { endpoint: process.env.OPENSEARCH_STORAGE_ENDPOINT!, authType: 'sigv4', awsRegion: 'us-east-1' }
177
+ */
178
+ storage?: StorageClusterConfig;
179
+ /**
180
+ * OpenSearch observability cluster for traces/logs/metrics. When omitted,
181
+ * the Traces/Logs views require either the JSON config or OPENSEARCH_LOGS_*
182
+ * env vars (or remain empty).
183
+ *
184
+ * Same resolution precedence as `storage`:
185
+ * agent-health.config.json -> this TS field -> OPENSEARCH_LOGS_* env -> none.
186
+ */
187
+ observability?: ObservabilityClusterConfig;
188
+ /**
189
+ * Remote servers for aggregating coding agent data from multiple machines.
190
+ * Each remote runs `agent-health serve --headless` and this dashboard
191
+ * fetches + merges their session data into a unified view.
192
+ */
193
+ remoteServers?: RemoteServerConfig[];
194
+ /**
195
+ * Enable or disable the Coding Agent Analytics feature.
196
+ * When false, no coding agent routes are mounted, no background timers
197
+ * run, and the "Coding Agents" nav tab is hidden.
198
+ * Can also be disabled via AH_DISABLE_CODING_ANALYTICS=true env var
199
+ * (legacy AGENT_HEALTH_DISABLE_CODING_ANALYTICS=true is still accepted).
200
+ * @default true
201
+ */
202
+ codingAgentAnalytics?: boolean;
203
+ /**
204
+ * Whether to extend default config or replace entirely
205
+ * Default: true (extends)
206
+ */
207
+ extends?: boolean;
208
+ }
209
+ /**
210
+ * Remote server connection configuration
211
+ */
212
+ export interface RemoteServerConfig {
213
+ /** Display name (e.g. "ec2-build-1") */
214
+ name: string;
215
+ /** Server URL (e.g. "http://10.0.1.50:4001") */
216
+ url: string;
217
+ /** Bearer token for API key auth (matches --api-key on remote) */
218
+ apiKey?: string;
219
+ }
220
+ /**
221
+ * Resolved configuration after loading and merging
222
+ */
223
+ export interface ResolvedConfig {
224
+ server: ResolvedServerConfig;
225
+ agents: AgentConfig[];
226
+ models: Record<string, ModelConfig>;
227
+ connectors: AgentConnector[];
228
+ testCases: string[];
229
+ reporters: ReporterConfig[];
230
+ judge: JudgeConfig;
231
+ telemetry: TelemetryConfig;
232
+ /** OpenSearch storage cluster config authored in the TS config (optional). */
233
+ storage?: StorageClusterConfig;
234
+ /** OpenSearch observability cluster config authored in the TS config (optional). */
235
+ observability?: ObservabilityClusterConfig;
236
+ }
237
+ /**
238
+ * Config file metadata
239
+ */
240
+ export interface ConfigFileInfo {
241
+ path: string;
242
+ format: 'typescript' | 'javascript';
243
+ exists: boolean;
244
+ }
245
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../config/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /*
2
+ * Copyright OpenSearch Contributors
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../config/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,39 @@
1
+ export interface EnvConfig {
2
+ backendUrl: string;
3
+ judgeApiUrl: string;
4
+ storageApiUrl: string;
5
+ agentProxyUrl: string;
6
+ openSearchProxyUrl: string;
7
+ awsRegion: string;
8
+ awsProfile: string;
9
+ bedrockModelId: string;
10
+ openSearchLogsEndpoint: string;
11
+ openSearchLogsUsername: string;
12
+ openSearchLogsPassword: string;
13
+ openSearchLogsTracesIndex: string;
14
+ openSearchLogsIndex: string;
15
+ mlcommonsEndpoint: string;
16
+ mlcommonsHeaderOpenSearchUrl: string;
17
+ mlcommonsHeaderAuthorization: string;
18
+ mlcommonsHeaderAwsRegion: string;
19
+ mlcommonsHeaderAwsServiceName: string;
20
+ mlcommonsHeaderAwsAccessKeyId: string;
21
+ mlcommonsHeaderAwsSecretAccessKey: string;
22
+ mlcommonsHeaderAwsSessionToken: string;
23
+ travelPlannerEndpoint: string;
24
+ openaiCompatibleApiKey: string;
25
+ openaiCompatibleEndpoint: string;
26
+ observioEndpoint: string;
27
+ claudeCodeTelemetryEnabled: boolean;
28
+ otelExporterEndpoint: string;
29
+ otelServiceName: string;
30
+ otelExporterProtocol: string;
31
+ otelExporterHeaders: string;
32
+ }
33
+ export declare const ENV_CONFIG: EnvConfig;
34
+ /**
35
+ * Build ML-Commons request headers from environment variables.
36
+ * Supports both Basic Auth and AWS SigV4 authentication.
37
+ */
38
+ export declare function buildMLCommonsHeaders(): Record<string, string>;
39
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../config.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,SAAS;IAExB,UAAU,EAAE,MAAM,CAAC;IAGnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAG3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IAGvB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,yBAAyB,EAAE,MAAM,CAAC;IAClC,mBAAmB,EAAE,MAAM,CAAC;IAG5B,iBAAiB,EAAE,MAAM,CAAC;IAG1B,4BAA4B,EAAE,MAAM,CAAC;IACrC,4BAA4B,EAAE,MAAM,CAAC;IACrC,wBAAwB,EAAE,MAAM,CAAC;IACjC,6BAA6B,EAAE,MAAM,CAAC;IACtC,6BAA6B,EAAE,MAAM,CAAC;IACtC,iCAAiC,EAAE,MAAM,CAAC;IAC1C,8BAA8B,EAAE,MAAM,CAAC;IAGvC,qBAAqB,EAAE,MAAM,CAAC;IAG9B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wBAAwB,EAAE,MAAM,CAAC;IAGjC,gBAAgB,EAAE,MAAM,CAAC;IAGzB,0BAA0B,EAAE,OAAO,CAAC;IACpC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AA0BD,eAAO,MAAM,UAAU,EAAE,SAkDxB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA8B9D"}
@@ -0,0 +1,118 @@
1
+ /*
2
+ * Copyright OpenSearch Contributors
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ /**
6
+ * Environment Configuration
7
+ *
8
+ * Environment variables are manually exposed via vite.config.ts using loadEnv()
9
+ * This allows us to use variables without the VITE_ prefix
10
+ * See: vite.config.ts and https://vitejs.dev/guide/env-and-mode.html
11
+ */
12
+ import { readEnv } from './envCompat.js';
13
+ // =============================================================================
14
+ // Backend URL Configuration (single source of truth)
15
+ // =============================================================================
16
+ // Detect if running server-side (Node.js) vs browser
17
+ const isServerSide = typeof window === 'undefined';
18
+ // Empty string = relative URLs (works in browser)
19
+ // Full URL needed for server-side (Node.js) since fetch() has no base URL context
20
+ const SERVER_PORT = isServerSide ? (readEnv('AH_PORT', 'AGENT_HEALTH_PORT') || '4001') : '4001';
21
+ const BACKEND_URL = isServerSide ? `http://localhost:${SERVER_PORT}` : '';
22
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
+ let browserEnv = {};
24
+ // Only access import.meta in browser context (Vite bundles this)
25
+ // In Node.js/Jest, this block is skipped and browserEnv stays empty
26
+ if (typeof window !== 'undefined' && typeof document !== 'undefined') {
27
+ try {
28
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
+ browserEnv = import.meta?.env || {};
30
+ }
31
+ catch {
32
+ // Ignore - we're in a test environment
33
+ }
34
+ }
35
+ const getEnvVar = (key, defaultValue) => {
36
+ // Server: use process.env (Node.js native)
37
+ // Client: use import.meta.env (Vite replaces at build time, see vite.config.ts)
38
+ if (isServerSide) {
39
+ return process.env?.[key] || defaultValue || '';
40
+ }
41
+ // Browser: use pre-loaded env
42
+ return browserEnv[key] || defaultValue || '';
43
+ };
44
+ export const ENV_CONFIG = {
45
+ // Backend server - empty string means relative URLs
46
+ backendUrl: BACKEND_URL,
47
+ // API endpoints (derived from backend URL)
48
+ judgeApiUrl: `${BACKEND_URL}/api/judge`,
49
+ storageApiUrl: `${BACKEND_URL}/api/storage`,
50
+ agentProxyUrl: `${BACKEND_URL}/api/agent`,
51
+ openSearchProxyUrl: `${BACKEND_URL}/api/opensearch/logs`,
52
+ // AWS/Bedrock
53
+ awsRegion: getEnvVar('AWS_REGION', 'us-east-1'),
54
+ awsProfile: getEnvVar('AWS_PROFILE', 'default'),
55
+ bedrockModelId: getEnvVar('BEDROCK_MODEL_ID', 'anthropic.claude-3-5-sonnet-20241022-v2:0'),
56
+ // OpenSearch Logs (for fetching agent observability data)
57
+ openSearchLogsEndpoint: getEnvVar('OPENSEARCH_LOGS_ENDPOINT', ''),
58
+ openSearchLogsUsername: getEnvVar('OPENSEARCH_LOGS_USERNAME', ''),
59
+ openSearchLogsPassword: getEnvVar('OPENSEARCH_LOGS_PASSWORD', ''),
60
+ openSearchLogsTracesIndex: getEnvVar('OPENSEARCH_LOGS_TRACES_INDEX', 'otel-v1-apm-span-*'),
61
+ openSearchLogsIndex: getEnvVar('OPENSEARCH_LOGS_INDEX', 'ml-commons-logs-*'),
62
+ // ML-Commons agent endpoint
63
+ mlcommonsEndpoint: getEnvVar('MLCOMMONS_ENDPOINT', 'http://localhost:9200/_plugins/_ml/agents/{agent_id}/_execute/stream'),
64
+ // ML-Commons agent headers
65
+ mlcommonsHeaderOpenSearchUrl: getEnvVar('MLCOMMONS_HEADER_OPENSEARCH_URL', ''),
66
+ mlcommonsHeaderAuthorization: getEnvVar('MLCOMMONS_HEADER_AUTHORIZATION', ''),
67
+ mlcommonsHeaderAwsRegion: getEnvVar('MLCOMMONS_HEADER_AWS_REGION', ''),
68
+ mlcommonsHeaderAwsServiceName: getEnvVar('MLCOMMONS_HEADER_AWS_SERVICE_NAME', 'es'),
69
+ mlcommonsHeaderAwsAccessKeyId: getEnvVar('MLCOMMONS_HEADER_AWS_ACCESS_KEY_ID', ''),
70
+ mlcommonsHeaderAwsSecretAccessKey: getEnvVar('MLCOMMONS_HEADER_AWS_SECRET_ACCESS_KEY', ''),
71
+ mlcommonsHeaderAwsSessionToken: getEnvVar('MLCOMMONS_HEADER_AWS_SESSION_TOKEN', ''),
72
+ // Travel Planner multi-agent endpoint (OTel Demo in Docker)
73
+ travelPlannerEndpoint: getEnvVar('TRAVEL_PLANNER_ENDPOINT', 'http://localhost:3000'),
74
+ // OpenAI-compatible (optional - for OpenAI-compatible judge/agent endpoints)
75
+ openaiCompatibleApiKey: getEnvVar('OPENAI_COMPATIBLE_API_KEY', ''),
76
+ openaiCompatibleEndpoint: getEnvVar('OPENAI_COMPATIBLE_ENDPOINT', 'http://localhost:4000/v1/chat/completions'),
77
+ // Observio Sample Agent endpoint
78
+ observioEndpoint: getEnvVar('OBSERVIO_ENDPOINT', 'http://localhost:3001/run-agent'),
79
+ // Claude Code Telemetry (optional - for OTEL traces from Claude Code)
80
+ claudeCodeTelemetryEnabled: getEnvVar('CLAUDE_CODE_TELEMETRY_ENABLED', 'false') === 'true',
81
+ otelExporterEndpoint: getEnvVar('OTEL_EXPORTER_OTLP_ENDPOINT', ''),
82
+ otelServiceName: getEnvVar('OTEL_SERVICE_NAME', 'claude-code-agent'),
83
+ otelExporterProtocol: getEnvVar('OTEL_EXPORTER_OTLP_PROTOCOL', ''),
84
+ otelExporterHeaders: getEnvVar('OTEL_EXPORTER_OTLP_HEADERS', ''),
85
+ };
86
+ /**
87
+ * Build ML-Commons request headers from environment variables.
88
+ * Supports both Basic Auth and AWS SigV4 authentication.
89
+ */
90
+ export function buildMLCommonsHeaders() {
91
+ const headers = {};
92
+ if (ENV_CONFIG.mlcommonsHeaderOpenSearchUrl) {
93
+ headers['opensearch-url'] = ENV_CONFIG.mlcommonsHeaderOpenSearchUrl;
94
+ }
95
+ if (ENV_CONFIG.mlcommonsHeaderAwsRegion) {
96
+ headers['aws-region'] = ENV_CONFIG.mlcommonsHeaderAwsRegion;
97
+ }
98
+ if (ENV_CONFIG.mlcommonsHeaderAuthorization) {
99
+ headers['Authorization'] = ENV_CONFIG.mlcommonsHeaderAuthorization;
100
+ }
101
+ else {
102
+ // Fall back to SigV4 authentication
103
+ if (ENV_CONFIG.mlcommonsHeaderAwsServiceName) {
104
+ headers['aws-service-name'] = ENV_CONFIG.mlcommonsHeaderAwsServiceName;
105
+ }
106
+ if (ENV_CONFIG.mlcommonsHeaderAwsAccessKeyId) {
107
+ headers['aws-access-key-id'] = ENV_CONFIG.mlcommonsHeaderAwsAccessKeyId;
108
+ }
109
+ if (ENV_CONFIG.mlcommonsHeaderAwsSecretAccessKey) {
110
+ headers['aws-secret-access-key'] = ENV_CONFIG.mlcommonsHeaderAwsSecretAccessKey;
111
+ }
112
+ if (ENV_CONFIG.mlcommonsHeaderAwsSessionToken) {
113
+ headers['aws-session-token'] = ENV_CONFIG.mlcommonsHeaderAwsSessionToken;
114
+ }
115
+ }
116
+ return headers;
117
+ }
118
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,gFAAgF;AAChF,qDAAqD;AACrD,gFAAgF;AAEhF,qDAAqD;AACrD,MAAM,YAAY,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;AAEnD,kDAAkD;AAClD,kFAAkF;AAClF,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAChG,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,oBAAoB,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAsD1E,8DAA8D;AAC9D,IAAI,UAAU,GAA2B,EAAE,CAAC;AAE5C,iEAAiE;AACjE,oEAAoE;AACpE,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;IACrE,IAAI,CAAC;QACH,8DAA8D;QAC9D,UAAU,GAAI,MAAM,CAAC,IAAY,EAAE,GAAG,IAAI,EAAE,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,uCAAuC;IACzC,CAAC;AACH,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,YAAqB,EAAU,EAAE;IAC/D,2CAA2C;IAC3C,gFAAgF;IAChF,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,YAAY,IAAI,EAAE,CAAC;IAClD,CAAC;IACD,8BAA8B;IAC9B,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,YAAY,IAAI,EAAE,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAc;IACnC,oDAAoD;IACpD,UAAU,EAAE,WAAW;IAEvB,2CAA2C;IAC3C,WAAW,EAAE,GAAG,WAAW,YAAY;IACvC,aAAa,EAAE,GAAG,WAAW,cAAc;IAC3C,aAAa,EAAE,GAAG,WAAW,YAAY;IACzC,kBAAkB,EAAE,GAAG,WAAW,sBAAsB;IAExD,cAAc;IACd,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC;IAC/C,UAAU,EAAE,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC;IAC/C,cAAc,EAAE,SAAS,CAAC,kBAAkB,EAAE,2CAA2C,CAAC;IAE1F,0DAA0D;IAC1D,sBAAsB,EAAE,SAAS,CAAC,0BAA0B,EAAE,EAAE,CAAC;IACjE,sBAAsB,EAAE,SAAS,CAAC,0BAA0B,EAAE,EAAE,CAAC;IACjE,sBAAsB,EAAE,SAAS,CAAC,0BAA0B,EAAE,EAAE,CAAC;IACjE,yBAAyB,EAAE,SAAS,CAAC,8BAA8B,EAAE,oBAAoB,CAAC;IAC1F,mBAAmB,EAAE,SAAS,CAAC,uBAAuB,EAAE,mBAAmB,CAAC;IAE5E,4BAA4B;IAC5B,iBAAiB,EAAE,SAAS,CAAC,oBAAoB,EAAE,sEAAsE,CAAC;IAE1H,2BAA2B;IAC3B,4BAA4B,EAAE,SAAS,CAAC,iCAAiC,EAAE,EAAE,CAAC;IAC9E,4BAA4B,EAAE,SAAS,CAAC,gCAAgC,EAAE,EAAE,CAAC;IAC7E,wBAAwB,EAAE,SAAS,CAAC,6BAA6B,EAAE,EAAE,CAAC;IACtE,6BAA6B,EAAE,SAAS,CAAC,mCAAmC,EAAE,IAAI,CAAC;IACnF,6BAA6B,EAAE,SAAS,CAAC,oCAAoC,EAAE,EAAE,CAAC;IAClF,iCAAiC,EAAE,SAAS,CAAC,wCAAwC,EAAE,EAAE,CAAC;IAC1F,8BAA8B,EAAE,SAAS,CAAC,oCAAoC,EAAE,EAAE,CAAC;IAEnF,4DAA4D;IAC5D,qBAAqB,EAAE,SAAS,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;IAEpF,6EAA6E;IAC7E,sBAAsB,EAAE,SAAS,CAAC,2BAA2B,EAAE,EAAE,CAAC;IAClE,wBAAwB,EAAE,SAAS,CAAC,4BAA4B,EAAE,2CAA2C,CAAC;IAE9G,iCAAiC;IACjC,gBAAgB,EAAE,SAAS,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;IAEnF,sEAAsE;IACtE,0BAA0B,EAAE,SAAS,CAAC,+BAA+B,EAAE,OAAO,CAAC,KAAK,MAAM;IAC1F,oBAAoB,EAAE,SAAS,CAAC,6BAA6B,EAAE,EAAE,CAAC;IAClE,eAAe,EAAE,SAAS,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IACpE,oBAAoB,EAAE,SAAS,CAAC,6BAA6B,EAAE,EAAE,CAAC;IAClE,mBAAmB,EAAE,SAAS,CAAC,4BAA4B,EAAE,EAAE,CAAC;CACjE,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,IAAI,UAAU,CAAC,4BAA4B,EAAE,CAAC;QAC5C,OAAO,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAC,4BAA4B,CAAC;IACtE,CAAC;IAED,IAAI,UAAU,CAAC,wBAAwB,EAAE,CAAC;QACxC,OAAO,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC,wBAAwB,CAAC;IAC9D,CAAC;IAED,IAAI,UAAU,CAAC,4BAA4B,EAAE,CAAC;QAC5C,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC,4BAA4B,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,oCAAoC;QACpC,IAAI,UAAU,CAAC,6BAA6B,EAAE,CAAC;YAC7C,OAAO,CAAC,kBAAkB,CAAC,GAAG,UAAU,CAAC,6BAA6B,CAAC;QACzE,CAAC;QACD,IAAI,UAAU,CAAC,6BAA6B,EAAE,CAAC;YAC7C,OAAO,CAAC,mBAAmB,CAAC,GAAG,UAAU,CAAC,6BAA6B,CAAC;QAC1E,CAAC;QACD,IAAI,UAAU,CAAC,iCAAiC,EAAE,CAAC;YACjD,OAAO,CAAC,uBAAuB,CAAC,GAAG,UAAU,CAAC,iCAAiC,CAAC;QAClF,CAAC;QACD,IAAI,UAAU,CAAC,8BAA8B,EAAE,CAAC;YAC9C,OAAO,CAAC,mBAAmB,CAAC,GAAG,UAAU,CAAC,8BAA8B,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,81 @@
1
+ import { AppConfig, ConnectorProtocol } from '../types/index.js';
2
+ /**
3
+ * Single source of truth for connector type metadata.
4
+ * Used by Settings UI (dropdown + descriptions), server validation, and browser-safety checks.
5
+ */
6
+ export interface ConnectorTypeInfo {
7
+ label: string;
8
+ description: string;
9
+ serverOnly: boolean;
10
+ }
11
+ export declare const CONNECTOR_TYPE_INFO: Record<ConnectorProtocol, ConnectorTypeInfo>;
12
+ /** All valid connector protocol types, derived from CONNECTOR_TYPE_INFO. */
13
+ export declare const VALID_CONNECTOR_TYPES: ConnectorProtocol[];
14
+ /** Connector types that work in the browser (non-serverOnly). */
15
+ export declare const BROWSER_SAFE_CONNECTORS: ConnectorProtocol[];
16
+ /** Keys of built-in agents shipped with the tool. */
17
+ export declare const BUILT_IN_AGENT_KEYS: Set<string>;
18
+ /**
19
+ * True when an agent is one of the tool's shipped built-ins — as opposed to an
20
+ * agent authored in agent-health.config.ts or a UI-added custom endpoint.
21
+ * Prefers the server-computed `builtIn` flag (from /api/agents); falls back to
22
+ * BUILT_IN_AGENT_KEYS for the hardcoded defaults used before refreshConfig().
23
+ */
24
+ export declare function isBuiltInAgent(a: {
25
+ key: string;
26
+ builtIn?: boolean;
27
+ isCustom?: boolean;
28
+ }): boolean;
29
+ /**
30
+ * Ordered list of preferred default agent keys, used when picking an initial
31
+ * agent for popups/forms (e.g. QuickRunModal). The first entry that exists in
32
+ * `DEFAULT_CONFIG.agents` (and is enabled) wins.
33
+ *
34
+ * `observio` is preferred because it's a fully-featured local sample agent
35
+ * users can run end-to-end without external infra.
36
+ */
37
+ export declare const PREFERRED_DEFAULT_AGENT_KEYS: readonly ["observio", "demo"];
38
+ /**
39
+ * Pick a sensible default agent key.
40
+ *
41
+ * Resolution order:
42
+ * 1. First entry in PREFERRED_DEFAULT_AGENT_KEYS that exists and is enabled
43
+ * 2. First enabled agent in DEFAULT_CONFIG.agents
44
+ * 3. First agent in DEFAULT_CONFIG.agents (even if disabled)
45
+ * 4. Empty string
46
+ */
47
+ export declare function getPreferredDefaultAgentKey(): string;
48
+ export declare const MODEL_PRICING: Record<string, {
49
+ input: number;
50
+ output: number;
51
+ }>;
52
+ export declare const DEFAULT_CONFIG: AppConfig;
53
+ export declare const MOCK_TOOLS: {
54
+ name: string;
55
+ description: string;
56
+ }[];
57
+ /**
58
+ * Metadata about agents, updated when refreshConfig() succeeds.
59
+ */
60
+ export declare let agentsMeta: {
61
+ hasCustomAgents: boolean;
62
+ customCount: number;
63
+ builtInCount: number;
64
+ };
65
+ /**
66
+ * Config change listeners.
67
+ * App.tsx subscribes so that any refreshConfig() call triggers a
68
+ * React re-render, making updated agents/models visible in all components.
69
+ */
70
+ type ConfigChangeListener = () => void;
71
+ /**
72
+ * Subscribe to config changes. Returns an unsubscribe function.
73
+ */
74
+ export declare function subscribeConfigChange(listener: ConfigChangeListener): () => void;
75
+ /**
76
+ * Fetch agent and model config from the server and update DEFAULT_CONFIG in place.
77
+ * Notifies subscribers so React trees re-render with the new values.
78
+ */
79
+ export declare function refreshConfig(): Promise<void>;
80
+ export {};
81
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../constants.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAe,MAAM,SAAS,CAAC;AAGpE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CA8C5E,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,qBAAqB,EAAuC,iBAAiB,EAAE,CAAC;AAE7F,iEAAiE;AACjE,eAAO,MAAM,uBAAuB,qBAEZ,CAAC;AAEzB,qDAAqD;AACrD,eAAO,MAAM,mBAAmB,aAAkF,CAAC;AAEnH;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAEjG;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,+BAAgC,CAAC;AAE1E;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAUpD;AAiCD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAe3E,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAwK5B,CAAC;AAEF,eAAO,MAAM,UAAU;;;GAStB,CAAC;AAEF;;GAEG;AACH,eAAO,IAAI,UAAU,EAAE;IAAE,eAAe,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAE3F,CAAC;AAEF;;;;GAIG;AACH,KAAK,oBAAoB,GAAG,MAAM,IAAI,CAAC;AAGvC;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,IAAI,CAGhF;AAED;;;GAGG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA6BnD"}