agentic-qe 3.3.4 → 3.4.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 (457) hide show
  1. package/.claude/agents/v3/qe-queen-coordinator.md +332 -166
  2. package/.claude/helpers/statusline-v3.cjs +85 -42
  3. package/.claude/skills/qcsd-ideation-swarm/SKILL.md +7 -4
  4. package/README.md +71 -2
  5. package/package.json +1 -1
  6. package/scripts/cloud-db-config.json +10 -5
  7. package/scripts/merge-v3-to-root.sql +48 -0
  8. package/v3/CHANGELOG.md +156 -0
  9. package/v3/README.md +118 -1
  10. package/v3/assets/agents/v3/qe-queen-coordinator.md +332 -166
  11. package/v3/assets/skills/qcsd-ideation-swarm/SKILL.md +7 -4
  12. package/v3/dist/adapters/a2a/agent-cards/generator.d.ts +153 -0
  13. package/v3/dist/adapters/a2a/agent-cards/generator.d.ts.map +1 -0
  14. package/v3/dist/adapters/a2a/agent-cards/generator.js +478 -0
  15. package/v3/dist/adapters/a2a/agent-cards/generator.js.map +1 -0
  16. package/v3/dist/adapters/a2a/agent-cards/schema.d.ts +274 -0
  17. package/v3/dist/adapters/a2a/agent-cards/schema.d.ts.map +1 -0
  18. package/v3/dist/adapters/a2a/agent-cards/schema.js +135 -0
  19. package/v3/dist/adapters/a2a/agent-cards/schema.js.map +1 -0
  20. package/v3/dist/adapters/a2a/agent-cards/validator.d.ts +514 -0
  21. package/v3/dist/adapters/a2a/agent-cards/validator.d.ts.map +1 -0
  22. package/v3/dist/adapters/a2a/agent-cards/validator.js +555 -0
  23. package/v3/dist/adapters/a2a/agent-cards/validator.js.map +1 -0
  24. package/v3/dist/adapters/a2a/auth/index.d.ts +23 -0
  25. package/v3/dist/adapters/a2a/auth/index.d.ts.map +1 -0
  26. package/v3/dist/adapters/a2a/auth/index.js +85 -0
  27. package/v3/dist/adapters/a2a/auth/index.js.map +1 -0
  28. package/v3/dist/adapters/a2a/auth/jwt-utils.d.ts +215 -0
  29. package/v3/dist/adapters/a2a/auth/jwt-utils.d.ts.map +1 -0
  30. package/v3/dist/adapters/a2a/auth/jwt-utils.js +314 -0
  31. package/v3/dist/adapters/a2a/auth/jwt-utils.js.map +1 -0
  32. package/v3/dist/adapters/a2a/auth/middleware.d.ts +173 -0
  33. package/v3/dist/adapters/a2a/auth/middleware.d.ts.map +1 -0
  34. package/v3/dist/adapters/a2a/auth/middleware.js +300 -0
  35. package/v3/dist/adapters/a2a/auth/middleware.js.map +1 -0
  36. package/v3/dist/adapters/a2a/auth/oauth-provider.d.ts +308 -0
  37. package/v3/dist/adapters/a2a/auth/oauth-provider.d.ts.map +1 -0
  38. package/v3/dist/adapters/a2a/auth/oauth-provider.js +573 -0
  39. package/v3/dist/adapters/a2a/auth/oauth-provider.js.map +1 -0
  40. package/v3/dist/adapters/a2a/auth/routes.d.ts +244 -0
  41. package/v3/dist/adapters/a2a/auth/routes.d.ts.map +1 -0
  42. package/v3/dist/adapters/a2a/auth/routes.js +496 -0
  43. package/v3/dist/adapters/a2a/auth/routes.js.map +1 -0
  44. package/v3/dist/adapters/a2a/auth/scopes.d.ts +219 -0
  45. package/v3/dist/adapters/a2a/auth/scopes.d.ts.map +1 -0
  46. package/v3/dist/adapters/a2a/auth/scopes.js +292 -0
  47. package/v3/dist/adapters/a2a/auth/scopes.js.map +1 -0
  48. package/v3/dist/adapters/a2a/auth/token-store.d.ts +278 -0
  49. package/v3/dist/adapters/a2a/auth/token-store.d.ts.map +1 -0
  50. package/v3/dist/adapters/a2a/auth/token-store.js +453 -0
  51. package/v3/dist/adapters/a2a/auth/token-store.js.map +1 -0
  52. package/v3/dist/adapters/a2a/discovery/agent-health.d.ts +226 -0
  53. package/v3/dist/adapters/a2a/discovery/agent-health.d.ts.map +1 -0
  54. package/v3/dist/adapters/a2a/discovery/agent-health.js +426 -0
  55. package/v3/dist/adapters/a2a/discovery/agent-health.js.map +1 -0
  56. package/v3/dist/adapters/a2a/discovery/discovery-service.d.ts +296 -0
  57. package/v3/dist/adapters/a2a/discovery/discovery-service.d.ts.map +1 -0
  58. package/v3/dist/adapters/a2a/discovery/discovery-service.js +520 -0
  59. package/v3/dist/adapters/a2a/discovery/discovery-service.js.map +1 -0
  60. package/v3/dist/adapters/a2a/discovery/file-watcher.d.ts +166 -0
  61. package/v3/dist/adapters/a2a/discovery/file-watcher.d.ts.map +1 -0
  62. package/v3/dist/adapters/a2a/discovery/file-watcher.js +385 -0
  63. package/v3/dist/adapters/a2a/discovery/file-watcher.js.map +1 -0
  64. package/v3/dist/adapters/a2a/discovery/hot-reload-service.d.ts +226 -0
  65. package/v3/dist/adapters/a2a/discovery/hot-reload-service.d.ts.map +1 -0
  66. package/v3/dist/adapters/a2a/discovery/hot-reload-service.js +433 -0
  67. package/v3/dist/adapters/a2a/discovery/hot-reload-service.js.map +1 -0
  68. package/v3/dist/adapters/a2a/discovery/index.d.ts +18 -0
  69. package/v3/dist/adapters/a2a/discovery/index.d.ts.map +1 -0
  70. package/v3/dist/adapters/a2a/discovery/index.js +54 -0
  71. package/v3/dist/adapters/a2a/discovery/index.js.map +1 -0
  72. package/v3/dist/adapters/a2a/discovery/metrics.d.ts +200 -0
  73. package/v3/dist/adapters/a2a/discovery/metrics.d.ts.map +1 -0
  74. package/v3/dist/adapters/a2a/discovery/metrics.js +371 -0
  75. package/v3/dist/adapters/a2a/discovery/metrics.js.map +1 -0
  76. package/v3/dist/adapters/a2a/discovery/routes.d.ts +184 -0
  77. package/v3/dist/adapters/a2a/discovery/routes.d.ts.map +1 -0
  78. package/v3/dist/adapters/a2a/discovery/routes.js +453 -0
  79. package/v3/dist/adapters/a2a/discovery/routes.js.map +1 -0
  80. package/v3/dist/adapters/a2a/index.d.ts +18 -0
  81. package/v3/dist/adapters/a2a/index.d.ts.map +1 -0
  82. package/v3/dist/adapters/a2a/index.js +139 -0
  83. package/v3/dist/adapters/a2a/index.js.map +1 -0
  84. package/v3/dist/adapters/a2a/jsonrpc/envelope.d.ts +312 -0
  85. package/v3/dist/adapters/a2a/jsonrpc/envelope.d.ts.map +1 -0
  86. package/v3/dist/adapters/a2a/jsonrpc/envelope.js +554 -0
  87. package/v3/dist/adapters/a2a/jsonrpc/envelope.js.map +1 -0
  88. package/v3/dist/adapters/a2a/jsonrpc/errors.d.ts +244 -0
  89. package/v3/dist/adapters/a2a/jsonrpc/errors.d.ts.map +1 -0
  90. package/v3/dist/adapters/a2a/jsonrpc/errors.js +365 -0
  91. package/v3/dist/adapters/a2a/jsonrpc/errors.js.map +1 -0
  92. package/v3/dist/adapters/a2a/jsonrpc/index.d.ts +14 -0
  93. package/v3/dist/adapters/a2a/jsonrpc/index.d.ts.map +1 -0
  94. package/v3/dist/adapters/a2a/jsonrpc/index.js +59 -0
  95. package/v3/dist/adapters/a2a/jsonrpc/index.js.map +1 -0
  96. package/v3/dist/adapters/a2a/jsonrpc/methods.d.ts +400 -0
  97. package/v3/dist/adapters/a2a/jsonrpc/methods.d.ts.map +1 -0
  98. package/v3/dist/adapters/a2a/jsonrpc/methods.js +249 -0
  99. package/v3/dist/adapters/a2a/jsonrpc/methods.js.map +1 -0
  100. package/v3/dist/adapters/a2a/notifications/index.d.ts +60 -0
  101. package/v3/dist/adapters/a2a/notifications/index.d.ts.map +1 -0
  102. package/v3/dist/adapters/a2a/notifications/index.js +99 -0
  103. package/v3/dist/adapters/a2a/notifications/index.js.map +1 -0
  104. package/v3/dist/adapters/a2a/notifications/retry-queue.d.ts +225 -0
  105. package/v3/dist/adapters/a2a/notifications/retry-queue.d.ts.map +1 -0
  106. package/v3/dist/adapters/a2a/notifications/retry-queue.js +449 -0
  107. package/v3/dist/adapters/a2a/notifications/retry-queue.js.map +1 -0
  108. package/v3/dist/adapters/a2a/notifications/signature.d.ts +133 -0
  109. package/v3/dist/adapters/a2a/notifications/signature.d.ts.map +1 -0
  110. package/v3/dist/adapters/a2a/notifications/signature.js +244 -0
  111. package/v3/dist/adapters/a2a/notifications/signature.js.map +1 -0
  112. package/v3/dist/adapters/a2a/notifications/subscription-store.d.ts +243 -0
  113. package/v3/dist/adapters/a2a/notifications/subscription-store.d.ts.map +1 -0
  114. package/v3/dist/adapters/a2a/notifications/subscription-store.js +486 -0
  115. package/v3/dist/adapters/a2a/notifications/subscription-store.js.map +1 -0
  116. package/v3/dist/adapters/a2a/notifications/webhook-service.d.ts +257 -0
  117. package/v3/dist/adapters/a2a/notifications/webhook-service.d.ts.map +1 -0
  118. package/v3/dist/adapters/a2a/notifications/webhook-service.js +542 -0
  119. package/v3/dist/adapters/a2a/notifications/webhook-service.js.map +1 -0
  120. package/v3/dist/adapters/a2a/tasks/index.d.ts +16 -0
  121. package/v3/dist/adapters/a2a/tasks/index.d.ts.map +1 -0
  122. package/v3/dist/adapters/a2a/tasks/index.js +33 -0
  123. package/v3/dist/adapters/a2a/tasks/index.js.map +1 -0
  124. package/v3/dist/adapters/a2a/tasks/task-manager.d.ts +306 -0
  125. package/v3/dist/adapters/a2a/tasks/task-manager.d.ts.map +1 -0
  126. package/v3/dist/adapters/a2a/tasks/task-manager.js +562 -0
  127. package/v3/dist/adapters/a2a/tasks/task-manager.js.map +1 -0
  128. package/v3/dist/adapters/a2a/tasks/task-router.d.ts +270 -0
  129. package/v3/dist/adapters/a2a/tasks/task-router.d.ts.map +1 -0
  130. package/v3/dist/adapters/a2a/tasks/task-router.js +574 -0
  131. package/v3/dist/adapters/a2a/tasks/task-router.js.map +1 -0
  132. package/v3/dist/adapters/a2a/tasks/task-store.d.ts +251 -0
  133. package/v3/dist/adapters/a2a/tasks/task-store.d.ts.map +1 -0
  134. package/v3/dist/adapters/a2a/tasks/task-store.js +468 -0
  135. package/v3/dist/adapters/a2a/tasks/task-store.js.map +1 -0
  136. package/v3/dist/adapters/a2ui/accessibility/aria-attributes.d.ts +294 -0
  137. package/v3/dist/adapters/a2ui/accessibility/aria-attributes.d.ts.map +1 -0
  138. package/v3/dist/adapters/a2ui/accessibility/aria-attributes.js +447 -0
  139. package/v3/dist/adapters/a2ui/accessibility/aria-attributes.js.map +1 -0
  140. package/v3/dist/adapters/a2ui/accessibility/index.d.ts +83 -0
  141. package/v3/dist/adapters/a2ui/accessibility/index.d.ts.map +1 -0
  142. package/v3/dist/adapters/a2ui/accessibility/index.js +155 -0
  143. package/v3/dist/adapters/a2ui/accessibility/index.js.map +1 -0
  144. package/v3/dist/adapters/a2ui/accessibility/keyboard-nav.d.ts +177 -0
  145. package/v3/dist/adapters/a2ui/accessibility/keyboard-nav.d.ts.map +1 -0
  146. package/v3/dist/adapters/a2ui/accessibility/keyboard-nav.js +638 -0
  147. package/v3/dist/adapters/a2ui/accessibility/keyboard-nav.js.map +1 -0
  148. package/v3/dist/adapters/a2ui/accessibility/wcag-validator.d.ts +186 -0
  149. package/v3/dist/adapters/a2ui/accessibility/wcag-validator.d.ts.map +1 -0
  150. package/v3/dist/adapters/a2ui/accessibility/wcag-validator.js +816 -0
  151. package/v3/dist/adapters/a2ui/accessibility/wcag-validator.js.map +1 -0
  152. package/v3/dist/adapters/a2ui/catalog/component-schemas.d.ts +227 -0
  153. package/v3/dist/adapters/a2ui/catalog/component-schemas.d.ts.map +1 -0
  154. package/v3/dist/adapters/a2ui/catalog/component-schemas.js +1090 -0
  155. package/v3/dist/adapters/a2ui/catalog/component-schemas.js.map +1 -0
  156. package/v3/dist/adapters/a2ui/catalog/index.d.ts +55 -0
  157. package/v3/dist/adapters/a2ui/catalog/index.d.ts.map +1 -0
  158. package/v3/dist/adapters/a2ui/catalog/index.js +100 -0
  159. package/v3/dist/adapters/a2ui/catalog/index.js.map +1 -0
  160. package/v3/dist/adapters/a2ui/catalog/qe-catalog.d.ts +456 -0
  161. package/v3/dist/adapters/a2ui/catalog/qe-catalog.d.ts.map +1 -0
  162. package/v3/dist/adapters/a2ui/catalog/qe-catalog.js +413 -0
  163. package/v3/dist/adapters/a2ui/catalog/qe-catalog.js.map +1 -0
  164. package/v3/dist/adapters/a2ui/catalog/standard-catalog.d.ts +581 -0
  165. package/v3/dist/adapters/a2ui/catalog/standard-catalog.d.ts.map +1 -0
  166. package/v3/dist/adapters/a2ui/catalog/standard-catalog.js +409 -0
  167. package/v3/dist/adapters/a2ui/catalog/standard-catalog.js.map +1 -0
  168. package/v3/dist/adapters/a2ui/data/bound-value.d.ts +252 -0
  169. package/v3/dist/adapters/a2ui/data/bound-value.d.ts.map +1 -0
  170. package/v3/dist/adapters/a2ui/data/bound-value.js +403 -0
  171. package/v3/dist/adapters/a2ui/data/bound-value.js.map +1 -0
  172. package/v3/dist/adapters/a2ui/data/index.d.ts +14 -0
  173. package/v3/dist/adapters/a2ui/data/index.d.ts.map +1 -0
  174. package/v3/dist/adapters/a2ui/data/index.js +41 -0
  175. package/v3/dist/adapters/a2ui/data/index.js.map +1 -0
  176. package/v3/dist/adapters/a2ui/data/json-pointer-resolver.d.ts +187 -0
  177. package/v3/dist/adapters/a2ui/data/json-pointer-resolver.d.ts.map +1 -0
  178. package/v3/dist/adapters/a2ui/data/json-pointer-resolver.js +425 -0
  179. package/v3/dist/adapters/a2ui/data/json-pointer-resolver.js.map +1 -0
  180. package/v3/dist/adapters/a2ui/data/reactive-store.d.ts +241 -0
  181. package/v3/dist/adapters/a2ui/data/reactive-store.d.ts.map +1 -0
  182. package/v3/dist/adapters/a2ui/data/reactive-store.js +461 -0
  183. package/v3/dist/adapters/a2ui/data/reactive-store.js.map +1 -0
  184. package/v3/dist/adapters/a2ui/index.d.ts +17 -0
  185. package/v3/dist/adapters/a2ui/index.d.ts.map +1 -0
  186. package/v3/dist/adapters/a2ui/index.js +119 -0
  187. package/v3/dist/adapters/a2ui/index.js.map +1 -0
  188. package/v3/dist/adapters/a2ui/integration/agui-sync.d.ts +259 -0
  189. package/v3/dist/adapters/a2ui/integration/agui-sync.d.ts.map +1 -0
  190. package/v3/dist/adapters/a2ui/integration/agui-sync.js +559 -0
  191. package/v3/dist/adapters/a2ui/integration/agui-sync.js.map +1 -0
  192. package/v3/dist/adapters/a2ui/integration/index.d.ts +11 -0
  193. package/v3/dist/adapters/a2ui/integration/index.d.ts.map +1 -0
  194. package/v3/dist/adapters/a2ui/integration/index.js +23 -0
  195. package/v3/dist/adapters/a2ui/integration/index.js.map +1 -0
  196. package/v3/dist/adapters/a2ui/integration/surface-state-bridge.d.ts +209 -0
  197. package/v3/dist/adapters/a2ui/integration/surface-state-bridge.d.ts.map +1 -0
  198. package/v3/dist/adapters/a2ui/integration/surface-state-bridge.js +545 -0
  199. package/v3/dist/adapters/a2ui/integration/surface-state-bridge.js.map +1 -0
  200. package/v3/dist/adapters/a2ui/renderer/component-builder.d.ts +227 -0
  201. package/v3/dist/adapters/a2ui/renderer/component-builder.d.ts.map +1 -0
  202. package/v3/dist/adapters/a2ui/renderer/component-builder.js +488 -0
  203. package/v3/dist/adapters/a2ui/renderer/component-builder.js.map +1 -0
  204. package/v3/dist/adapters/a2ui/renderer/index.d.ts +16 -0
  205. package/v3/dist/adapters/a2ui/renderer/index.d.ts.map +1 -0
  206. package/v3/dist/adapters/a2ui/renderer/index.js +50 -0
  207. package/v3/dist/adapters/a2ui/renderer/index.js.map +1 -0
  208. package/v3/dist/adapters/a2ui/renderer/message-types.d.ts +299 -0
  209. package/v3/dist/adapters/a2ui/renderer/message-types.d.ts.map +1 -0
  210. package/v3/dist/adapters/a2ui/renderer/message-types.js +187 -0
  211. package/v3/dist/adapters/a2ui/renderer/message-types.js.map +1 -0
  212. package/v3/dist/adapters/a2ui/renderer/surface-generator.d.ts +210 -0
  213. package/v3/dist/adapters/a2ui/renderer/surface-generator.d.ts.map +1 -0
  214. package/v3/dist/adapters/a2ui/renderer/surface-generator.js +586 -0
  215. package/v3/dist/adapters/a2ui/renderer/surface-generator.js.map +1 -0
  216. package/v3/dist/adapters/a2ui/renderer/templates/accessibility-surface.d.ts +149 -0
  217. package/v3/dist/adapters/a2ui/renderer/templates/accessibility-surface.d.ts.map +1 -0
  218. package/v3/dist/adapters/a2ui/renderer/templates/accessibility-surface.js +414 -0
  219. package/v3/dist/adapters/a2ui/renderer/templates/accessibility-surface.js.map +1 -0
  220. package/v3/dist/adapters/a2ui/renderer/templates/coverage-surface.d.ts +95 -0
  221. package/v3/dist/adapters/a2ui/renderer/templates/coverage-surface.d.ts.map +1 -0
  222. package/v3/dist/adapters/a2ui/renderer/templates/coverage-surface.js +231 -0
  223. package/v3/dist/adapters/a2ui/renderer/templates/coverage-surface.js.map +1 -0
  224. package/v3/dist/adapters/a2ui/renderer/templates/index.d.ts +12 -0
  225. package/v3/dist/adapters/a2ui/renderer/templates/index.d.ts.map +1 -0
  226. package/v3/dist/adapters/a2ui/renderer/templates/index.js +16 -0
  227. package/v3/dist/adapters/a2ui/renderer/templates/index.js.map +1 -0
  228. package/v3/dist/adapters/a2ui/renderer/templates/security-surface.d.ts +121 -0
  229. package/v3/dist/adapters/a2ui/renderer/templates/security-surface.d.ts.map +1 -0
  230. package/v3/dist/adapters/a2ui/renderer/templates/security-surface.js +367 -0
  231. package/v3/dist/adapters/a2ui/renderer/templates/security-surface.js.map +1 -0
  232. package/v3/dist/adapters/a2ui/renderer/templates/test-results-surface.d.ts +104 -0
  233. package/v3/dist/adapters/a2ui/renderer/templates/test-results-surface.d.ts.map +1 -0
  234. package/v3/dist/adapters/a2ui/renderer/templates/test-results-surface.js +294 -0
  235. package/v3/dist/adapters/a2ui/renderer/templates/test-results-surface.js.map +1 -0
  236. package/v3/dist/adapters/ag-ui/backpressure-handler.d.ts +201 -0
  237. package/v3/dist/adapters/ag-ui/backpressure-handler.d.ts.map +1 -0
  238. package/v3/dist/adapters/ag-ui/backpressure-handler.js +399 -0
  239. package/v3/dist/adapters/ag-ui/backpressure-handler.js.map +1 -0
  240. package/v3/dist/adapters/ag-ui/event-adapter.d.ts +360 -0
  241. package/v3/dist/adapters/ag-ui/event-adapter.d.ts.map +1 -0
  242. package/v3/dist/adapters/ag-ui/event-adapter.js +1083 -0
  243. package/v3/dist/adapters/ag-ui/event-adapter.js.map +1 -0
  244. package/v3/dist/adapters/ag-ui/event-batcher.d.ts +242 -0
  245. package/v3/dist/adapters/ag-ui/event-batcher.d.ts.map +1 -0
  246. package/v3/dist/adapters/ag-ui/event-batcher.js +444 -0
  247. package/v3/dist/adapters/ag-ui/event-batcher.js.map +1 -0
  248. package/v3/dist/adapters/ag-ui/event-types.d.ts +450 -0
  249. package/v3/dist/adapters/ag-ui/event-types.d.ts.map +1 -0
  250. package/v3/dist/adapters/ag-ui/event-types.js +173 -0
  251. package/v3/dist/adapters/ag-ui/event-types.js.map +1 -0
  252. package/v3/dist/adapters/ag-ui/index.d.ts +17 -0
  253. package/v3/dist/adapters/ag-ui/index.d.ts.map +1 -0
  254. package/v3/dist/adapters/ag-ui/index.js +47 -0
  255. package/v3/dist/adapters/ag-ui/index.js.map +1 -0
  256. package/v3/dist/adapters/ag-ui/json-patch-utils.d.ts +136 -0
  257. package/v3/dist/adapters/ag-ui/json-patch-utils.d.ts.map +1 -0
  258. package/v3/dist/adapters/ag-ui/json-patch-utils.js +574 -0
  259. package/v3/dist/adapters/ag-ui/json-patch-utils.js.map +1 -0
  260. package/v3/dist/adapters/ag-ui/json-patch.d.ts +241 -0
  261. package/v3/dist/adapters/ag-ui/json-patch.d.ts.map +1 -0
  262. package/v3/dist/adapters/ag-ui/json-patch.js +726 -0
  263. package/v3/dist/adapters/ag-ui/json-patch.js.map +1 -0
  264. package/v3/dist/adapters/ag-ui/state-delta-cache.d.ts +218 -0
  265. package/v3/dist/adapters/ag-ui/state-delta-cache.d.ts.map +1 -0
  266. package/v3/dist/adapters/ag-ui/state-delta-cache.js +422 -0
  267. package/v3/dist/adapters/ag-ui/state-delta-cache.js.map +1 -0
  268. package/v3/dist/adapters/ag-ui/state-manager.d.ts +249 -0
  269. package/v3/dist/adapters/ag-ui/state-manager.d.ts.map +1 -0
  270. package/v3/dist/adapters/ag-ui/state-manager.js +511 -0
  271. package/v3/dist/adapters/ag-ui/state-manager.js.map +1 -0
  272. package/v3/dist/adapters/ag-ui/stream-controller.d.ts +195 -0
  273. package/v3/dist/adapters/ag-ui/stream-controller.d.ts.map +1 -0
  274. package/v3/dist/adapters/ag-ui/stream-controller.js +481 -0
  275. package/v3/dist/adapters/ag-ui/stream-controller.js.map +1 -0
  276. package/v3/dist/adapters/index.d.ts +4 -0
  277. package/v3/dist/adapters/index.d.ts.map +1 -1
  278. package/v3/dist/adapters/index.js +89 -0
  279. package/v3/dist/adapters/index.js.map +1 -1
  280. package/v3/dist/cli/bundle.js +1507 -425
  281. package/v3/dist/coordination/consensus/providers/claude-provider.js +1 -1
  282. package/v3/dist/coordination/consensus/providers/gemini-provider.js +1 -1
  283. package/v3/dist/coordination/consensus/providers/openai-provider.js +1 -1
  284. package/v3/dist/init/init-wizard.d.ts.map +1 -1
  285. package/v3/dist/init/init-wizard.js +19 -4
  286. package/v3/dist/init/init-wizard.js.map +1 -1
  287. package/v3/dist/init/migration/config-migrator.d.ts.map +1 -1
  288. package/v3/dist/init/migration/config-migrator.js +15 -1
  289. package/v3/dist/init/migration/config-migrator.js.map +1 -1
  290. package/v3/dist/init/phases/05-learning.js +1 -1
  291. package/v3/dist/init/phases/05-learning.js.map +1 -1
  292. package/v3/dist/init/self-configurator.d.ts +7 -0
  293. package/v3/dist/init/self-configurator.d.ts.map +1 -1
  294. package/v3/dist/init/self-configurator.js +23 -27
  295. package/v3/dist/init/self-configurator.js.map +1 -1
  296. package/v3/dist/integrations/ruvector/interfaces.js +1 -1
  297. package/v3/dist/integrations/ruvector/interfaces.js.map +1 -1
  298. package/v3/dist/kernel/index.d.ts +1 -1
  299. package/v3/dist/kernel/index.d.ts.map +1 -1
  300. package/v3/dist/kernel/index.js +3 -1
  301. package/v3/dist/kernel/index.js.map +1 -1
  302. package/v3/dist/kernel/plugin-loader.d.ts.map +1 -1
  303. package/v3/dist/kernel/plugin-loader.js +6 -1
  304. package/v3/dist/kernel/plugin-loader.js.map +1 -1
  305. package/v3/dist/kernel/unified-memory.d.ts +123 -0
  306. package/v3/dist/kernel/unified-memory.d.ts.map +1 -1
  307. package/v3/dist/kernel/unified-memory.js +258 -2
  308. package/v3/dist/kernel/unified-memory.js.map +1 -1
  309. package/v3/dist/learning/qe-unified-memory.js +1 -1
  310. package/v3/dist/learning/qe-unified-memory.js.map +1 -1
  311. package/v3/dist/learning/real-qe-reasoning-bank.js +2 -2
  312. package/v3/dist/learning/real-qe-reasoning-bank.js.map +1 -1
  313. package/v3/dist/learning/sqlite-persistence.d.ts +1 -1
  314. package/v3/dist/learning/sqlite-persistence.js +1 -1
  315. package/v3/dist/learning/sqlite-persistence.js.map +1 -1
  316. package/v3/dist/learning/v2-to-v3-migration.d.ts +2 -2
  317. package/v3/dist/learning/v2-to-v3-migration.d.ts.map +1 -1
  318. package/v3/dist/learning/v2-to-v3-migration.js +2 -2
  319. package/v3/dist/learning/v2-to-v3-migration.js.map +1 -1
  320. package/v3/dist/mcp/bundle.js +63075 -53304
  321. package/v3/dist/mcp/entry.d.ts +5 -0
  322. package/v3/dist/mcp/entry.d.ts.map +1 -1
  323. package/v3/dist/mcp/entry.js +36 -0
  324. package/v3/dist/mcp/entry.js.map +1 -1
  325. package/v3/dist/mcp/http-server.d.ts +95 -0
  326. package/v3/dist/mcp/http-server.d.ts.map +1 -0
  327. package/v3/dist/mcp/http-server.js +833 -0
  328. package/v3/dist/mcp/http-server.js.map +1 -0
  329. package/v3/dist/mcp/protocol-server.d.ts +6 -0
  330. package/v3/dist/mcp/protocol-server.d.ts.map +1 -1
  331. package/v3/dist/mcp/protocol-server.js +40 -0
  332. package/v3/dist/mcp/protocol-server.js.map +1 -1
  333. package/v3/dist/mcp/transport/index.d.ts +25 -3
  334. package/v3/dist/mcp/transport/index.d.ts.map +1 -1
  335. package/v3/dist/mcp/transport/index.js +22 -4
  336. package/v3/dist/mcp/transport/index.js.map +1 -1
  337. package/v3/dist/mcp/transport/sse/connection-manager.d.ts +84 -0
  338. package/v3/dist/mcp/transport/sse/connection-manager.d.ts.map +1 -0
  339. package/v3/dist/mcp/transport/sse/connection-manager.js +271 -0
  340. package/v3/dist/mcp/transport/sse/connection-manager.js.map +1 -0
  341. package/v3/dist/mcp/transport/sse/index.d.ts +10 -0
  342. package/v3/dist/mcp/transport/sse/index.d.ts.map +1 -0
  343. package/v3/dist/mcp/transport/sse/index.js +15 -0
  344. package/v3/dist/mcp/transport/sse/index.js.map +1 -0
  345. package/v3/dist/mcp/transport/sse/sse-transport.d.ts +56 -0
  346. package/v3/dist/mcp/transport/sse/sse-transport.d.ts.map +1 -0
  347. package/v3/dist/mcp/transport/sse/sse-transport.js +381 -0
  348. package/v3/dist/mcp/transport/sse/sse-transport.js.map +1 -0
  349. package/v3/dist/mcp/transport/sse/types.d.ts +237 -0
  350. package/v3/dist/mcp/transport/sse/types.d.ts.map +1 -0
  351. package/v3/dist/mcp/transport/sse/types.js +37 -0
  352. package/v3/dist/mcp/transport/sse/types.js.map +1 -0
  353. package/v3/dist/mcp/transport/websocket/connection-manager.d.ts +143 -0
  354. package/v3/dist/mcp/transport/websocket/connection-manager.d.ts.map +1 -0
  355. package/v3/dist/mcp/transport/websocket/connection-manager.js +522 -0
  356. package/v3/dist/mcp/transport/websocket/connection-manager.js.map +1 -0
  357. package/v3/dist/mcp/transport/websocket/index.d.ts +10 -0
  358. package/v3/dist/mcp/transport/websocket/index.d.ts.map +1 -0
  359. package/v3/dist/mcp/transport/websocket/index.js +19 -0
  360. package/v3/dist/mcp/transport/websocket/index.js.map +1 -0
  361. package/v3/dist/mcp/transport/websocket/types.d.ts +354 -0
  362. package/v3/dist/mcp/transport/websocket/types.d.ts.map +1 -0
  363. package/v3/dist/mcp/transport/websocket/types.js +49 -0
  364. package/v3/dist/mcp/transport/websocket/types.js.map +1 -0
  365. package/v3/dist/mcp/transport/websocket/websocket-transport.d.ts +77 -0
  366. package/v3/dist/mcp/transport/websocket/websocket-transport.d.ts.map +1 -0
  367. package/v3/dist/mcp/transport/websocket/websocket-transport.js +622 -0
  368. package/v3/dist/mcp/transport/websocket/websocket-transport.js.map +1 -0
  369. package/v3/dist/memory/crdt/convergence-tracker.d.ts +59 -0
  370. package/v3/dist/memory/crdt/convergence-tracker.d.ts.map +1 -0
  371. package/v3/dist/memory/crdt/convergence-tracker.js +325 -0
  372. package/v3/dist/memory/crdt/convergence-tracker.js.map +1 -0
  373. package/v3/dist/memory/crdt/crdt-store.d.ts +55 -0
  374. package/v3/dist/memory/crdt/crdt-store.d.ts.map +1 -0
  375. package/v3/dist/memory/crdt/crdt-store.js +582 -0
  376. package/v3/dist/memory/crdt/crdt-store.js.map +1 -0
  377. package/v3/dist/memory/crdt/g-counter.d.ts +47 -0
  378. package/v3/dist/memory/crdt/g-counter.d.ts.map +1 -0
  379. package/v3/dist/memory/crdt/g-counter.js +134 -0
  380. package/v3/dist/memory/crdt/g-counter.js.map +1 -0
  381. package/v3/dist/memory/crdt/index.d.ts +52 -0
  382. package/v3/dist/memory/crdt/index.d.ts.map +1 -0
  383. package/v3/dist/memory/crdt/index.js +66 -0
  384. package/v3/dist/memory/crdt/index.js.map +1 -0
  385. package/v3/dist/memory/crdt/lww-register.d.ts +40 -0
  386. package/v3/dist/memory/crdt/lww-register.d.ts.map +1 -0
  387. package/v3/dist/memory/crdt/lww-register.js +133 -0
  388. package/v3/dist/memory/crdt/lww-register.js.map +1 -0
  389. package/v3/dist/memory/crdt/or-set.d.ts +62 -0
  390. package/v3/dist/memory/crdt/or-set.d.ts.map +1 -0
  391. package/v3/dist/memory/crdt/or-set.js +336 -0
  392. package/v3/dist/memory/crdt/or-set.js.map +1 -0
  393. package/v3/dist/memory/crdt/pn-counter.d.ts +53 -0
  394. package/v3/dist/memory/crdt/pn-counter.d.ts.map +1 -0
  395. package/v3/dist/memory/crdt/pn-counter.js +147 -0
  396. package/v3/dist/memory/crdt/pn-counter.js.map +1 -0
  397. package/v3/dist/memory/crdt/types.d.ts +397 -0
  398. package/v3/dist/memory/crdt/types.d.ts.map +1 -0
  399. package/v3/dist/memory/crdt/types.js +12 -0
  400. package/v3/dist/memory/crdt/types.js.map +1 -0
  401. package/v3/dist/memory/index.d.ts +5 -2
  402. package/v3/dist/memory/index.d.ts.map +1 -1
  403. package/v3/dist/memory/index.js +5 -2
  404. package/v3/dist/memory/index.js.map +1 -1
  405. package/v3/dist/performance/benchmarks.d.ts +215 -0
  406. package/v3/dist/performance/benchmarks.d.ts.map +1 -0
  407. package/v3/dist/performance/benchmarks.js +516 -0
  408. package/v3/dist/performance/benchmarks.js.map +1 -0
  409. package/v3/dist/performance/ci-gates.d.ts +149 -0
  410. package/v3/dist/performance/ci-gates.d.ts.map +1 -0
  411. package/v3/dist/performance/ci-gates.js +425 -0
  412. package/v3/dist/performance/ci-gates.js.map +1 -0
  413. package/v3/dist/performance/index.d.ts +18 -0
  414. package/v3/dist/performance/index.d.ts.map +1 -0
  415. package/v3/dist/performance/index.js +26 -0
  416. package/v3/dist/performance/index.js.map +1 -0
  417. package/v3/dist/performance/optimizer.d.ts +323 -0
  418. package/v3/dist/performance/optimizer.d.ts.map +1 -0
  419. package/v3/dist/performance/optimizer.js +592 -0
  420. package/v3/dist/performance/optimizer.js.map +1 -0
  421. package/v3/dist/performance/profiler.d.ts +195 -0
  422. package/v3/dist/performance/profiler.d.ts.map +1 -0
  423. package/v3/dist/performance/profiler.js +369 -0
  424. package/v3/dist/performance/profiler.js.map +1 -0
  425. package/v3/dist/performance/run-gates.d.ts +23 -0
  426. package/v3/dist/performance/run-gates.d.ts.map +1 -0
  427. package/v3/dist/performance/run-gates.js +122 -0
  428. package/v3/dist/performance/run-gates.js.map +1 -0
  429. package/v3/dist/sync/claude-flow-bridge.d.ts +1 -1
  430. package/v3/dist/sync/claude-flow-bridge.js +1 -1
  431. package/v3/dist/sync/interfaces.d.ts +6 -0
  432. package/v3/dist/sync/interfaces.d.ts.map +1 -1
  433. package/v3/dist/sync/interfaces.js +34 -47
  434. package/v3/dist/sync/interfaces.js.map +1 -1
  435. package/v3/dist/sync/readers/sqlite-reader.d.ts +1 -1
  436. package/v3/dist/sync/readers/sqlite-reader.js +1 -1
  437. package/v3/dist/testing/index.d.ts +6 -0
  438. package/v3/dist/testing/index.d.ts.map +1 -0
  439. package/v3/dist/testing/index.js +7 -0
  440. package/v3/dist/testing/index.js.map +1 -0
  441. package/v3/dist/testing/load/agent-load-tester.d.ts +221 -0
  442. package/v3/dist/testing/load/agent-load-tester.d.ts.map +1 -0
  443. package/v3/dist/testing/load/agent-load-tester.js +566 -0
  444. package/v3/dist/testing/load/agent-load-tester.js.map +1 -0
  445. package/v3/dist/testing/load/bottleneck-analyzer.d.ts +150 -0
  446. package/v3/dist/testing/load/bottleneck-analyzer.d.ts.map +1 -0
  447. package/v3/dist/testing/load/bottleneck-analyzer.js +442 -0
  448. package/v3/dist/testing/load/bottleneck-analyzer.js.map +1 -0
  449. package/v3/dist/testing/load/index.d.ts +17 -0
  450. package/v3/dist/testing/load/index.d.ts.map +1 -0
  451. package/v3/dist/testing/load/index.js +23 -0
  452. package/v3/dist/testing/load/index.js.map +1 -0
  453. package/v3/dist/testing/load/metrics-collector.d.ts +275 -0
  454. package/v3/dist/testing/load/metrics-collector.d.ts.map +1 -0
  455. package/v3/dist/testing/load/metrics-collector.js +475 -0
  456. package/v3/dist/testing/load/metrics-collector.js.map +1 -0
  457. package/v3/package.json +5 -1
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Agentic QE v3 - Bottleneck Analyzer
3
+ * Detects performance bottlenecks during load testing
4
+ *
5
+ * Issue #177 Targets:
6
+ * - 100+ agents coordinated simultaneously
7
+ * - Memory usage < 4GB at scale
8
+ * - No agent starvation or deadlocks
9
+ * - Queen Coordinator handles load
10
+ * - Gossip protocol stable at scale
11
+ */
12
+ import { MetricsCollector, LoadTestReport } from './metrics-collector.js';
13
+ /**
14
+ * Severity levels for bottleneck detection
15
+ */
16
+ export type BottleneckSeverity = 'low' | 'medium' | 'high' | 'critical';
17
+ /**
18
+ * Result of a single bottleneck check
19
+ */
20
+ export interface BottleneckResult {
21
+ /** Whether the bottleneck was detected */
22
+ readonly detected: boolean;
23
+ /** Severity of the bottleneck */
24
+ readonly severity: BottleneckSeverity;
25
+ /** Name of the metric being checked */
26
+ readonly metric: string;
27
+ /** Threshold that was exceeded */
28
+ readonly threshold: number;
29
+ /** Actual measured value */
30
+ readonly actual: number;
31
+ /** Recommendation for addressing the bottleneck */
32
+ readonly recommendation: string;
33
+ /** Additional context */
34
+ readonly context?: Record<string, unknown>;
35
+ }
36
+ /**
37
+ * Complete bottleneck analysis report
38
+ */
39
+ export interface BottleneckReport {
40
+ /** Overall assessment */
41
+ readonly overallSeverity: BottleneckSeverity;
42
+ /** Whether any critical bottlenecks were found */
43
+ readonly hasCritical: boolean;
44
+ /** Individual bottleneck results */
45
+ readonly bottlenecks: BottleneckResult[];
46
+ /** Summary statistics */
47
+ readonly summary: {
48
+ readonly totalChecks: number;
49
+ readonly detected: number;
50
+ readonly critical: number;
51
+ readonly high: number;
52
+ readonly medium: number;
53
+ readonly low: number;
54
+ };
55
+ /** Prioritized recommendations */
56
+ readonly recommendations: string[];
57
+ /** Timestamp of analysis */
58
+ readonly timestamp: Date;
59
+ }
60
+ /**
61
+ * Thresholds for bottleneck detection
62
+ */
63
+ export interface BottleneckThresholds {
64
+ readonly memoryWarning: number;
65
+ readonly memoryCritical: number;
66
+ readonly latencyP95Warning: number;
67
+ readonly latencyP95Critical: number;
68
+ readonly latencyP99Warning: number;
69
+ readonly latencyP99Critical: number;
70
+ readonly agentStarvationTime: number;
71
+ readonly deadlockTimeout: number;
72
+ readonly minTasksPerSecond: number;
73
+ readonly minAgentUtilization: number;
74
+ readonly gossipConvergenceTime: number;
75
+ readonly gossipMaxPartitions: number;
76
+ }
77
+ /**
78
+ * Configuration for bottleneck analyzer
79
+ */
80
+ export interface BottleneckAnalyzerConfig {
81
+ readonly thresholds: BottleneckThresholds;
82
+ readonly enableDetailedAnalysis: boolean;
83
+ }
84
+ declare const DEFAULT_THRESHOLDS: BottleneckThresholds;
85
+ declare const DEFAULT_CONFIG: BottleneckAnalyzerConfig;
86
+ /**
87
+ * BottleneckAnalyzer - Detects and analyzes performance bottlenecks
88
+ *
89
+ * Checks for:
90
+ * - Memory pressure
91
+ * - Coordination latency
92
+ * - Agent starvation
93
+ * - Deadlocks
94
+ * - Gossip protocol stability
95
+ * - Throughput issues
96
+ */
97
+ export declare class BottleneckAnalyzer {
98
+ private readonly config;
99
+ constructor(config?: Partial<BottleneckAnalyzerConfig>);
100
+ /**
101
+ * Perform complete bottleneck analysis on collected metrics
102
+ */
103
+ analyze(metrics: MetricsCollector): BottleneckReport;
104
+ /**
105
+ * Analyze from a load test report
106
+ */
107
+ analyzeReport(report: LoadTestReport): BottleneckReport;
108
+ /**
109
+ * Check for memory pressure
110
+ */
111
+ checkMemoryPressure(metrics?: MetricsCollector): BottleneckResult;
112
+ /**
113
+ * Check coordination latency P95
114
+ */
115
+ checkCoordinationLatency(): BottleneckResult;
116
+ private checkCoordinationLatencyP95;
117
+ private checkCoordinationLatencyP99;
118
+ /**
119
+ * Check for agent starvation
120
+ */
121
+ checkAgentStarvation(metrics?: MetricsCollector): BottleneckResult;
122
+ /**
123
+ * Check for deadlocks
124
+ */
125
+ checkDeadlocks(metrics?: MetricsCollector): BottleneckResult;
126
+ /**
127
+ * Check gossip protocol stability
128
+ */
129
+ checkGossipStability(): BottleneckResult;
130
+ /**
131
+ * Check throughput
132
+ */
133
+ private checkThroughput;
134
+ private checkMemoryFromReport;
135
+ private checkLatencyP95FromReport;
136
+ private checkLatencyP99FromReport;
137
+ private checkThroughputFromReport;
138
+ private checkSuccessCriteria;
139
+ private generatePrioritizedRecommendations;
140
+ }
141
+ /**
142
+ * Create a new BottleneckAnalyzer instance
143
+ */
144
+ export declare function createBottleneckAnalyzer(config?: Partial<BottleneckAnalyzerConfig>): BottleneckAnalyzer;
145
+ /**
146
+ * Create analyzer with custom thresholds
147
+ */
148
+ export declare function createBottleneckAnalyzerWithThresholds(thresholds: Partial<BottleneckThresholds>): BottleneckAnalyzer;
149
+ export { DEFAULT_THRESHOLDS, DEFAULT_CONFIG };
150
+ //# sourceMappingURL=bottleneck-analyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bottleneck-analyzer.d.ts","sourceRoot":"","sources":["../../../src/testing/load/bottleneck-analyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,gBAAgB,EAEhB,cAAc,EACf,MAAM,wBAAwB,CAAC;AAMhC;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,iCAAiC;IACjC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,uCAAuC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,kCAAkC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,4BAA4B;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,yBAAyB;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yBAAyB;IACzB,QAAQ,CAAC,eAAe,EAAE,kBAAkB,CAAC;IAC7C,kDAAkD;IAClD,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,oCAAoC;IACpC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,EAAE,CAAC;IACzC,yBAAyB;IACzB,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,kCAAkC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IACnC,4BAA4B;IAC5B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IAEnC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAGhC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAGpC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAGjC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAGrC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;CAC1C;AAMD,QAAA,MAAM,kBAAkB,EAAE,oBAsBzB,CAAC;AAEF,QAAA,MAAM,cAAc,EAAE,wBAGrB,CAAC;AAMF;;;;;;;;;;GAUG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;gBAEtC,MAAM,GAAE,OAAO,CAAC,wBAAwB,CAAM;IAe1D;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB;IA6CpD;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,gBAAgB;IAoDvD;;OAEG;IACH,mBAAmB,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,gBAAgB;IAmCjE;;OAEG;IACH,wBAAwB,IAAI,gBAAgB;IAI5C,OAAO,CAAC,2BAA2B;IA8BnC,OAAO,CAAC,2BAA2B;IA6BnC;;OAEG;IACH,oBAAoB,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,gBAAgB;IAgBlE;;OAEG;IACH,cAAc,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,gBAAgB;IAgB5D;;OAEG;IACH,oBAAoB,IAAI,gBAAgB;IAaxC;;OAEG;IACH,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,yBAAyB;IAgBjC,OAAO,CAAC,yBAAyB;IAgBjC,OAAO,CAAC,yBAAyB;IAiBjC,OAAO,CAAC,oBAAoB;IAwB5B,OAAO,CAAC,kCAAkC;CA8B3C;AAMD;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,GACzC,kBAAkB,CAEpB;AAED;;GAEG;AACH,wBAAgB,sCAAsC,CACpD,UAAU,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACxC,kBAAkB,CAIpB;AAMD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,442 @@
1
+ /**
2
+ * Agentic QE v3 - Bottleneck Analyzer
3
+ * Detects performance bottlenecks during load testing
4
+ *
5
+ * Issue #177 Targets:
6
+ * - 100+ agents coordinated simultaneously
7
+ * - Memory usage < 4GB at scale
8
+ * - No agent starvation or deadlocks
9
+ * - Queen Coordinator handles load
10
+ * - Gossip protocol stable at scale
11
+ */
12
+ // ============================================================================
13
+ // Default Configuration
14
+ // ============================================================================
15
+ const DEFAULT_THRESHOLDS = {
16
+ // Memory (Issue #177: <4GB)
17
+ memoryWarning: 3 * 1024 * 1024 * 1024, // 3GB
18
+ memoryCritical: 4 * 1024 * 1024 * 1024, // 4GB
19
+ // Coordination latency (Issue #177: <100ms p95)
20
+ latencyP95Warning: 75,
21
+ latencyP95Critical: 100,
22
+ latencyP99Warning: 150,
23
+ latencyP99Critical: 200,
24
+ // Agent health
25
+ agentStarvationTime: 30000, // 30 seconds
26
+ deadlockTimeout: 60000, // 60 seconds
27
+ // Throughput
28
+ minTasksPerSecond: 5,
29
+ minAgentUtilization: 0.5,
30
+ // Gossip protocol
31
+ gossipConvergenceTime: 5000,
32
+ gossipMaxPartitions: 0,
33
+ };
34
+ const DEFAULT_CONFIG = {
35
+ thresholds: DEFAULT_THRESHOLDS,
36
+ enableDetailedAnalysis: true,
37
+ };
38
+ // ============================================================================
39
+ // Bottleneck Analyzer Implementation
40
+ // ============================================================================
41
+ /**
42
+ * BottleneckAnalyzer - Detects and analyzes performance bottlenecks
43
+ *
44
+ * Checks for:
45
+ * - Memory pressure
46
+ * - Coordination latency
47
+ * - Agent starvation
48
+ * - Deadlocks
49
+ * - Gossip protocol stability
50
+ * - Throughput issues
51
+ */
52
+ export class BottleneckAnalyzer {
53
+ config;
54
+ constructor(config = {}) {
55
+ this.config = {
56
+ ...DEFAULT_CONFIG,
57
+ ...config,
58
+ thresholds: {
59
+ ...DEFAULT_THRESHOLDS,
60
+ ...config.thresholds,
61
+ },
62
+ };
63
+ }
64
+ // ============================================================================
65
+ // Main Analysis Methods
66
+ // ============================================================================
67
+ /**
68
+ * Perform complete bottleneck analysis on collected metrics
69
+ */
70
+ analyze(metrics) {
71
+ const bottlenecks = [];
72
+ // Run all checks
73
+ bottlenecks.push(this.checkMemoryPressure(metrics));
74
+ bottlenecks.push(this.checkCoordinationLatencyP95(metrics));
75
+ bottlenecks.push(this.checkCoordinationLatencyP99(metrics));
76
+ bottlenecks.push(this.checkAgentStarvation(metrics));
77
+ bottlenecks.push(this.checkDeadlocks(metrics));
78
+ bottlenecks.push(this.checkThroughput(metrics));
79
+ // Calculate summary
80
+ const detected = bottlenecks.filter(b => b.detected);
81
+ const summary = {
82
+ totalChecks: bottlenecks.length,
83
+ detected: detected.length,
84
+ critical: detected.filter(b => b.severity === 'critical').length,
85
+ high: detected.filter(b => b.severity === 'high').length,
86
+ medium: detected.filter(b => b.severity === 'medium').length,
87
+ low: detected.filter(b => b.severity === 'low').length,
88
+ };
89
+ // Determine overall severity
90
+ let overallSeverity = 'low';
91
+ if (summary.critical > 0) {
92
+ overallSeverity = 'critical';
93
+ }
94
+ else if (summary.high > 0) {
95
+ overallSeverity = 'high';
96
+ }
97
+ else if (summary.medium > 0) {
98
+ overallSeverity = 'medium';
99
+ }
100
+ // Generate prioritized recommendations
101
+ const recommendations = this.generatePrioritizedRecommendations(detected);
102
+ return {
103
+ overallSeverity,
104
+ hasCritical: summary.critical > 0,
105
+ bottlenecks,
106
+ summary,
107
+ recommendations,
108
+ timestamp: new Date(),
109
+ };
110
+ }
111
+ /**
112
+ * Analyze from a load test report
113
+ */
114
+ analyzeReport(report) {
115
+ const bottlenecks = [];
116
+ // Memory check
117
+ bottlenecks.push(this.checkMemoryFromReport(report));
118
+ // Latency checks
119
+ bottlenecks.push(this.checkLatencyP95FromReport(report));
120
+ bottlenecks.push(this.checkLatencyP99FromReport(report));
121
+ // Throughput check
122
+ bottlenecks.push(this.checkThroughputFromReport(report));
123
+ // Success criteria checks
124
+ bottlenecks.push(this.checkSuccessCriteria(report));
125
+ // Calculate summary
126
+ const detected = bottlenecks.filter(b => b.detected);
127
+ const summary = {
128
+ totalChecks: bottlenecks.length,
129
+ detected: detected.length,
130
+ critical: detected.filter(b => b.severity === 'critical').length,
131
+ high: detected.filter(b => b.severity === 'high').length,
132
+ medium: detected.filter(b => b.severity === 'medium').length,
133
+ low: detected.filter(b => b.severity === 'low').length,
134
+ };
135
+ let overallSeverity = 'low';
136
+ if (summary.critical > 0) {
137
+ overallSeverity = 'critical';
138
+ }
139
+ else if (summary.high > 0) {
140
+ overallSeverity = 'high';
141
+ }
142
+ else if (summary.medium > 0) {
143
+ overallSeverity = 'medium';
144
+ }
145
+ const recommendations = this.generatePrioritizedRecommendations(detected);
146
+ return {
147
+ overallSeverity,
148
+ hasCritical: summary.critical > 0,
149
+ bottlenecks,
150
+ summary,
151
+ recommendations,
152
+ timestamp: new Date(),
153
+ };
154
+ }
155
+ // ============================================================================
156
+ // Individual Check Methods
157
+ // ============================================================================
158
+ /**
159
+ * Check for memory pressure
160
+ */
161
+ checkMemoryPressure(metrics) {
162
+ const actual = metrics?.getMaxMemoryUsage() ?? process.memoryUsage().heapUsed;
163
+ const { memoryWarning, memoryCritical } = this.config.thresholds;
164
+ const detected = actual >= memoryWarning;
165
+ let severity = 'low';
166
+ let recommendation = 'Memory usage is within acceptable limits.';
167
+ if (actual >= memoryCritical) {
168
+ severity = 'critical';
169
+ recommendation =
170
+ 'Memory usage exceeds 4GB limit. Implement agent pooling, reduce per-agent state, ' +
171
+ 'or decrease concurrent agent count.';
172
+ }
173
+ else if (actual >= memoryWarning) {
174
+ severity = 'high';
175
+ recommendation =
176
+ 'Memory usage approaching critical threshold. Consider optimizing agent memory ' +
177
+ 'footprint or implementing memory pressure relief mechanisms.';
178
+ }
179
+ return {
180
+ detected,
181
+ severity,
182
+ metric: 'memory_pressure',
183
+ threshold: memoryCritical,
184
+ actual,
185
+ recommendation,
186
+ context: {
187
+ usedGB: actual / 1024 / 1024 / 1024,
188
+ warningThresholdGB: memoryWarning / 1024 / 1024 / 1024,
189
+ criticalThresholdGB: memoryCritical / 1024 / 1024 / 1024,
190
+ },
191
+ };
192
+ }
193
+ /**
194
+ * Check coordination latency P95
195
+ */
196
+ checkCoordinationLatency() {
197
+ return this.checkCoordinationLatencyP95();
198
+ }
199
+ checkCoordinationLatencyP95(metrics) {
200
+ const actual = metrics?.getP95CoordinationLatency() ?? 0;
201
+ const { latencyP95Warning, latencyP95Critical } = this.config.thresholds;
202
+ const detected = actual >= latencyP95Warning;
203
+ let severity = 'low';
204
+ let recommendation = 'P95 coordination latency is within acceptable limits.';
205
+ if (actual >= latencyP95Critical) {
206
+ severity = 'critical';
207
+ recommendation =
208
+ 'P95 coordination latency exceeds 100ms target. Optimize gossip protocol, ' +
209
+ 'reduce message size, or implement batching.';
210
+ }
211
+ else if (actual >= latencyP95Warning) {
212
+ severity = 'medium';
213
+ recommendation =
214
+ 'P95 coordination latency approaching target. Monitor closely and consider ' +
215
+ 'proactive optimization.';
216
+ }
217
+ return {
218
+ detected,
219
+ severity,
220
+ metric: 'coordination_latency_p95',
221
+ threshold: latencyP95Critical,
222
+ actual,
223
+ recommendation,
224
+ };
225
+ }
226
+ checkCoordinationLatencyP99(metrics) {
227
+ const actual = metrics?.getP99CoordinationLatency() ?? 0;
228
+ const { latencyP99Warning, latencyP99Critical } = this.config.thresholds;
229
+ const detected = actual >= latencyP99Warning;
230
+ let severity = 'low';
231
+ let recommendation = 'P99 coordination latency is within acceptable limits.';
232
+ if (actual >= latencyP99Critical) {
233
+ severity = 'high';
234
+ recommendation =
235
+ 'P99 coordination latency indicates outliers. Investigate specific agents ' +
236
+ 'or network conditions causing delays.';
237
+ }
238
+ else if (actual >= latencyP99Warning) {
239
+ severity = 'medium';
240
+ recommendation =
241
+ 'P99 coordination latency elevated. Some agents may be experiencing delays.';
242
+ }
243
+ return {
244
+ detected,
245
+ severity,
246
+ metric: 'coordination_latency_p99',
247
+ threshold: latencyP99Critical,
248
+ actual,
249
+ recommendation,
250
+ };
251
+ }
252
+ /**
253
+ * Check for agent starvation
254
+ */
255
+ checkAgentStarvation(metrics) {
256
+ const hasStarvation = metrics?.hasAgentStarvation() ?? false;
257
+ return {
258
+ detected: hasStarvation,
259
+ severity: hasStarvation ? 'high' : 'low',
260
+ metric: 'agent_starvation',
261
+ threshold: this.config.thresholds.agentStarvationTime,
262
+ actual: hasStarvation ? 1 : 0,
263
+ recommendation: hasStarvation
264
+ ? 'Agent starvation detected. Agents are idle without tasks. ' +
265
+ 'Review task distribution algorithm and work stealing configuration.'
266
+ : 'No agent starvation detected.',
267
+ };
268
+ }
269
+ /**
270
+ * Check for deadlocks
271
+ */
272
+ checkDeadlocks(metrics) {
273
+ const hasDeadlocks = metrics?.hasDeadlocks() ?? false;
274
+ return {
275
+ detected: hasDeadlocks,
276
+ severity: hasDeadlocks ? 'critical' : 'low',
277
+ metric: 'deadlock_detection',
278
+ threshold: this.config.thresholds.deadlockTimeout,
279
+ actual: hasDeadlocks ? 1 : 0,
280
+ recommendation: hasDeadlocks
281
+ ? 'Potential deadlock detected. Tasks running for extended period. ' +
282
+ 'Review lock ordering and add timeout mechanisms.'
283
+ : 'No deadlocks detected.',
284
+ };
285
+ }
286
+ /**
287
+ * Check gossip protocol stability
288
+ */
289
+ checkGossipStability() {
290
+ // This would integrate with actual gossip protocol metrics
291
+ // For now, return a placeholder that can be overridden
292
+ return {
293
+ detected: false,
294
+ severity: 'low',
295
+ metric: 'gossip_stability',
296
+ threshold: this.config.thresholds.gossipMaxPartitions,
297
+ actual: 0,
298
+ recommendation: 'Gossip protocol stability check requires integration with gossip metrics.',
299
+ };
300
+ }
301
+ /**
302
+ * Check throughput
303
+ */
304
+ checkThroughput(metrics) {
305
+ const throughput = metrics?.getThroughput();
306
+ const actual = throughput?.tasksPerSecond ?? 0;
307
+ const threshold = this.config.thresholds.minTasksPerSecond;
308
+ const detected = actual < threshold && actual > 0;
309
+ return {
310
+ detected,
311
+ severity: detected ? 'medium' : 'low',
312
+ metric: 'throughput',
313
+ threshold,
314
+ actual,
315
+ recommendation: detected
316
+ ? `Task throughput (${actual.toFixed(1)}/s) below minimum (${threshold}/s). ` +
317
+ 'Consider parallelizing task execution or optimizing task handlers.'
318
+ : 'Task throughput is acceptable.',
319
+ };
320
+ }
321
+ // ============================================================================
322
+ // Report-based Check Methods
323
+ // ============================================================================
324
+ checkMemoryFromReport(report) {
325
+ const actual = report.resources.memoryPeak;
326
+ const { memoryCritical } = this.config.thresholds;
327
+ return {
328
+ detected: actual >= memoryCritical,
329
+ severity: actual >= memoryCritical ? 'critical' : 'low',
330
+ metric: 'memory_pressure',
331
+ threshold: memoryCritical,
332
+ actual,
333
+ recommendation: actual >= memoryCritical
334
+ ? 'Memory exceeded 4GB limit during test.'
335
+ : 'Memory usage within limits.',
336
+ };
337
+ }
338
+ checkLatencyP95FromReport(report) {
339
+ const actual = report.performance.coordinationLatency.p95;
340
+ const { latencyP95Critical } = this.config.thresholds;
341
+ return {
342
+ detected: actual >= latencyP95Critical,
343
+ severity: actual >= latencyP95Critical ? 'critical' : 'low',
344
+ metric: 'coordination_latency_p95',
345
+ threshold: latencyP95Critical,
346
+ actual,
347
+ recommendation: actual >= latencyP95Critical
348
+ ? 'P95 coordination latency exceeded 100ms target.'
349
+ : 'P95 latency within target.',
350
+ };
351
+ }
352
+ checkLatencyP99FromReport(report) {
353
+ const actual = report.performance.coordinationLatency.p99;
354
+ const { latencyP99Critical } = this.config.thresholds;
355
+ return {
356
+ detected: actual >= latencyP99Critical,
357
+ severity: actual >= latencyP99Critical ? 'high' : 'low',
358
+ metric: 'coordination_latency_p99',
359
+ threshold: latencyP99Critical,
360
+ actual,
361
+ recommendation: actual >= latencyP99Critical
362
+ ? 'P99 coordination latency indicates significant outliers.'
363
+ : 'P99 latency acceptable.',
364
+ };
365
+ }
366
+ checkThroughputFromReport(report) {
367
+ const actual = report.performance.throughput.tasksPerSecond;
368
+ const threshold = this.config.thresholds.minTasksPerSecond;
369
+ return {
370
+ detected: actual < threshold && actual > 0,
371
+ severity: actual < threshold ? 'medium' : 'low',
372
+ metric: 'throughput',
373
+ threshold,
374
+ actual,
375
+ recommendation: actual < threshold
376
+ ? 'Throughput below minimum target.'
377
+ : 'Throughput acceptable.',
378
+ };
379
+ }
380
+ checkSuccessCriteria(report) {
381
+ const criteria = report.summary.successCriteria;
382
+ const failedCriteria = Object.entries(criteria)
383
+ .filter(([_, passed]) => !passed)
384
+ .map(([name]) => name);
385
+ return {
386
+ detected: failedCriteria.length > 0,
387
+ severity: failedCriteria.length > 0 ? 'high' : 'low',
388
+ metric: 'success_criteria',
389
+ threshold: 0,
390
+ actual: failedCriteria.length,
391
+ recommendation: failedCriteria.length > 0
392
+ ? `Failed criteria: ${failedCriteria.join(', ')}`
393
+ : 'All success criteria met.',
394
+ context: { failedCriteria },
395
+ };
396
+ }
397
+ // ============================================================================
398
+ // Private Methods
399
+ // ============================================================================
400
+ generatePrioritizedRecommendations(detectedBottlenecks) {
401
+ // Sort by severity (critical first)
402
+ const priorityMap = {
403
+ critical: 0,
404
+ high: 1,
405
+ medium: 2,
406
+ low: 3,
407
+ };
408
+ const sorted = [...detectedBottlenecks].sort((a, b) => priorityMap[a.severity] - priorityMap[b.severity]);
409
+ // Extract unique recommendations
410
+ const seen = new Set();
411
+ const recommendations = [];
412
+ for (const bottleneck of sorted) {
413
+ if (!seen.has(bottleneck.recommendation)) {
414
+ seen.add(bottleneck.recommendation);
415
+ recommendations.push(`[${bottleneck.severity.toUpperCase()}] ${bottleneck.metric}: ${bottleneck.recommendation}`);
416
+ }
417
+ }
418
+ return recommendations;
419
+ }
420
+ }
421
+ // ============================================================================
422
+ // Factory Functions
423
+ // ============================================================================
424
+ /**
425
+ * Create a new BottleneckAnalyzer instance
426
+ */
427
+ export function createBottleneckAnalyzer(config) {
428
+ return new BottleneckAnalyzer(config);
429
+ }
430
+ /**
431
+ * Create analyzer with custom thresholds
432
+ */
433
+ export function createBottleneckAnalyzerWithThresholds(thresholds) {
434
+ return new BottleneckAnalyzer({
435
+ thresholds: { ...DEFAULT_THRESHOLDS, ...thresholds },
436
+ });
437
+ }
438
+ // ============================================================================
439
+ // Exports
440
+ // ============================================================================
441
+ export { DEFAULT_THRESHOLDS, DEFAULT_CONFIG };
442
+ //# sourceMappingURL=bottleneck-analyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bottleneck-analyzer.js","sourceRoot":"","sources":["../../../src/testing/load/bottleneck-analyzer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Agentic QE v3 - Load Testing Framework
3
+ * Barrel export for load testing utilities
4
+ *
5
+ * Issue #177 Targets:
6
+ * - 100+ agents coordinated simultaneously
7
+ * - Memory usage < 4GB at scale
8
+ * - No agent starvation or deadlocks
9
+ * - Coordination latency < 100ms p95
10
+ */
11
+ export { AgentLoadTester, createAgentLoadTester, createLoadTesterForTarget, DEFAULT_LOAD_TEST_CONFIG, DEFAULT_SUCCESS_CRITERIA, WORKLOAD_PROFILES, SCENARIO_RAMP_UP_100, SCENARIO_BURST_100, SCENARIO_CHURN_100, SCENARIO_STRESS_150, } from './agent-load-tester.js';
12
+ export type { WorkloadProfile, AgentWorkload, LoadTestConfig, LoadTestResult, LoadTestStep, LoadTestScenario, SuccessCriteria, } from './agent-load-tester.js';
13
+ export { MetricsCollector, createMetricsCollector, } from './metrics-collector.js';
14
+ export type { AgentLifecycleEvent, TaskEvent, CoordinationEvent, MemorySnapshot, LatencyPercentiles, ThroughputMetrics, ResourceMetrics, LoadTestReport, MetricsCollectorConfig, } from './metrics-collector.js';
15
+ export { BottleneckAnalyzer, createBottleneckAnalyzer, createBottleneckAnalyzerWithThresholds, DEFAULT_THRESHOLDS, DEFAULT_CONFIG as DEFAULT_ANALYZER_CONFIG, } from './bottleneck-analyzer.js';
16
+ export type { BottleneckSeverity, BottleneckResult, BottleneckReport, BottleneckThresholds, BottleneckAnalyzerConfig, } from './bottleneck-analyzer.js';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/testing/load/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,eAAe,EACf,aAAa,EACb,cAAc,EACd,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EACL,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,mBAAmB,EACnB,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,sCAAsC,EACtC,kBAAkB,EAClB,cAAc,IAAI,uBAAuB,GAC1C,MAAM,0BAA0B,CAAC;AAElC,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Agentic QE v3 - Load Testing Framework
3
+ * Barrel export for load testing utilities
4
+ *
5
+ * Issue #177 Targets:
6
+ * - 100+ agents coordinated simultaneously
7
+ * - Memory usage < 4GB at scale
8
+ * - No agent starvation or deadlocks
9
+ * - Coordination latency < 100ms p95
10
+ */
11
+ // ============================================================================
12
+ // Agent Load Tester
13
+ // ============================================================================
14
+ export { AgentLoadTester, createAgentLoadTester, createLoadTesterForTarget, DEFAULT_LOAD_TEST_CONFIG, DEFAULT_SUCCESS_CRITERIA, WORKLOAD_PROFILES, SCENARIO_RAMP_UP_100, SCENARIO_BURST_100, SCENARIO_CHURN_100, SCENARIO_STRESS_150, } from './agent-load-tester.js';
15
+ // ============================================================================
16
+ // Metrics Collector
17
+ // ============================================================================
18
+ export { MetricsCollector, createMetricsCollector, } from './metrics-collector.js';
19
+ // ============================================================================
20
+ // Bottleneck Analyzer
21
+ // ============================================================================
22
+ export { BottleneckAnalyzer, createBottleneckAnalyzer, createBottleneckAnalyzerWithThresholds, DEFAULT_THRESHOLDS, DEFAULT_CONFIG as DEFAULT_ANALYZER_CONFIG, } from './bottleneck-analyzer.js';
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/testing/load/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAYhC,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,OAAO,EACL,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAchC,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,sCAAsC,EACtC,kBAAkB,EAClB,cAAc,IAAI,uBAAuB,GAC1C,MAAM,0BAA0B,CAAC"}