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,516 @@
1
+ /**
2
+ * Agentic QE v3 - Performance Benchmark Suite
3
+ * Comprehensive benchmarks for AG-UI, A2A, and A2UI protocols
4
+ *
5
+ * Issue #177 Targets:
6
+ * - AG-UI streaming: <100ms p95
7
+ * - A2A task submission: <200ms p95
8
+ * - A2UI surface generation: <150ms p95
9
+ */
10
+ import { EventEmitter } from 'events';
11
+ import * as os from 'os';
12
+ import { createProfiler } from './profiler.js';
13
+ import { CircularBuffer } from '../shared/utils/index.js';
14
+ // ============================================================================
15
+ // Performance Targets (Issue #177)
16
+ // ============================================================================
17
+ /**
18
+ * Performance targets from Issue #177
19
+ */
20
+ export const PERFORMANCE_TARGETS = {
21
+ // AG-UI Protocol
22
+ aguiEventEmission: { p95: 10 }, // ms per event
23
+ aguiStateSync: { p95: 50 }, // ms per sync
24
+ aguiSSEStreaming: { p95: 100 }, // ms overall (Issue #177)
25
+ // A2A Protocol
26
+ a2aTaskSubmission: { p95: 200 }, // ms (Issue #177)
27
+ a2aAgentDiscovery: { p95: 100 }, // ms
28
+ a2aJSONRPCParsing: { p95: 5 }, // ms per message
29
+ // A2UI Protocol
30
+ a2uiSurfaceGeneration: { p95: 150 }, // ms (Issue #177)
31
+ a2uiDataBinding: { p95: 20 }, // ms per binding
32
+ a2uiComponentValidation: { p95: 10 }, // ms per component
33
+ // System
34
+ memoryPeak: 4 * 1024 * 1024 * 1024, // 4GB
35
+ throughput: 1000, // ops/sec
36
+ };
37
+ // ============================================================================
38
+ // Default Configuration
39
+ // ============================================================================
40
+ const DEFAULT_CONFIG = {
41
+ iterations: 1000,
42
+ warmupIterations: 100,
43
+ timeout: 30000,
44
+ forceGC: true,
45
+ trackMemory: true,
46
+ };
47
+ // ============================================================================
48
+ // Benchmark Suite Implementation
49
+ // ============================================================================
50
+ /**
51
+ * BenchmarkSuite - Comprehensive performance benchmark runner
52
+ *
53
+ * Features:
54
+ * - Configurable iterations and warmup
55
+ * - Memory tracking
56
+ * - P50/P95/P99 percentile calculations
57
+ * - Target validation
58
+ * - System info collection
59
+ */
60
+ export class BenchmarkSuite {
61
+ config;
62
+ profiler;
63
+ results = [];
64
+ constructor(config = {}) {
65
+ this.config = { ...DEFAULT_CONFIG, ...config };
66
+ this.profiler = createProfiler({
67
+ enabled: true,
68
+ trackMemory: this.config.trackMemory,
69
+ ...this.config.profilerConfig,
70
+ });
71
+ this.profiler.enable();
72
+ }
73
+ // ============================================================================
74
+ // Core Benchmark Methods
75
+ // ============================================================================
76
+ /**
77
+ * Run all defined benchmarks
78
+ */
79
+ async runAll() {
80
+ const startedAt = Date.now();
81
+ // AG-UI benchmarks
82
+ await this.benchmarkAGUIEventEmission();
83
+ await this.benchmarkAGUIStateSync();
84
+ await this.benchmarkAGUISSEStreaming();
85
+ // A2A benchmarks
86
+ await this.benchmarkA2ATaskSubmission();
87
+ await this.benchmarkA2AAgentDiscovery();
88
+ await this.benchmarkA2AJSONRPCParsing();
89
+ // A2UI benchmarks
90
+ await this.benchmarkA2UISurfaceGeneration();
91
+ await this.benchmarkA2UIDataBinding();
92
+ await this.benchmarkA2UIComponentValidation();
93
+ // Cross-protocol benchmarks
94
+ await this.benchmarkEndToEndFlow();
95
+ await this.benchmarkMemoryUnderLoad();
96
+ const endedAt = Date.now();
97
+ return {
98
+ results: [...this.results],
99
+ allPassed: this.results.every((r) => r.passed),
100
+ totalDuration: endedAt - startedAt,
101
+ startedAt,
102
+ endedAt,
103
+ system: this.getSystemInfo(),
104
+ };
105
+ }
106
+ /**
107
+ * Run a specific benchmark by name
108
+ */
109
+ async run(name) {
110
+ const method = this[`benchmark${name}`];
111
+ if (!method || typeof method !== 'function') {
112
+ throw new Error(`Benchmark '${name}' not found`);
113
+ }
114
+ return method.call(this);
115
+ }
116
+ // ============================================================================
117
+ // AG-UI Benchmarks
118
+ // ============================================================================
119
+ /**
120
+ * Benchmark AG-UI event emission
121
+ */
122
+ async benchmarkAGUIEventEmission() {
123
+ const emitter = new EventEmitter();
124
+ let received = 0;
125
+ emitter.on('event', () => received++);
126
+ return this.runBenchmark('AGUI Event Emission', () => {
127
+ emitter.emit('event', { type: 'TEST', data: { value: Math.random() } });
128
+ }, PERFORMANCE_TARGETS.aguiEventEmission.p95);
129
+ }
130
+ /**
131
+ * Benchmark AG-UI state synchronization
132
+ */
133
+ async benchmarkAGUIStateSync() {
134
+ const state = {};
135
+ let version = 0;
136
+ return this.runBenchmark('AGUI State Sync', () => {
137
+ // Simulate state sync with JSON patch
138
+ const delta = {
139
+ op: 'replace',
140
+ path: `/field${version % 10}`,
141
+ value: { timestamp: Date.now(), version: ++version },
142
+ };
143
+ state[`field${version % 10}`] = delta.value;
144
+ }, PERFORMANCE_TARGETS.aguiStateSync.p95);
145
+ }
146
+ /**
147
+ * Benchmark AG-UI SSE streaming
148
+ */
149
+ async benchmarkAGUISSEStreaming() {
150
+ const events = [];
151
+ const emitter = new EventEmitter();
152
+ // Simulate SSE buffer
153
+ emitter.on('data', (data) => {
154
+ events.push(data);
155
+ if (events.length > 1000)
156
+ events.shift();
157
+ });
158
+ return this.runBenchmark('AGUI SSE Streaming', () => {
159
+ // Simulate SSE event formatting and emission
160
+ const event = {
161
+ id: Date.now().toString(36),
162
+ type: 'TEXT_MESSAGE_CONTENT',
163
+ data: JSON.stringify({ delta: 'a'.repeat(100) }),
164
+ };
165
+ const sseFormat = `id: ${event.id}\nevent: ${event.type}\ndata: ${event.data}\n\n`;
166
+ emitter.emit('data', sseFormat);
167
+ }, PERFORMANCE_TARGETS.aguiSSEStreaming.p95);
168
+ }
169
+ // ============================================================================
170
+ // A2A Benchmarks
171
+ // ============================================================================
172
+ /**
173
+ * Benchmark A2A task submission
174
+ */
175
+ async benchmarkA2ATaskSubmission() {
176
+ const tasks = new Map();
177
+ let taskId = 0;
178
+ return this.runBenchmark('A2A Task Submission', () => {
179
+ const id = `task-${++taskId}`;
180
+ const task = {
181
+ id,
182
+ status: 'submitted',
183
+ message: {
184
+ role: 'user',
185
+ parts: [{ type: 'text', text: 'Test task' }],
186
+ },
187
+ contextId: `ctx-${taskId % 10}`,
188
+ createdAt: new Date(),
189
+ };
190
+ tasks.set(id, task);
191
+ if (tasks.size > 1000) {
192
+ const firstKey = tasks.keys().next().value;
193
+ if (firstKey)
194
+ tasks.delete(firstKey);
195
+ }
196
+ }, PERFORMANCE_TARGETS.a2aTaskSubmission.p95);
197
+ }
198
+ /**
199
+ * Benchmark A2A agent discovery
200
+ */
201
+ async benchmarkA2AAgentDiscovery() {
202
+ const agentCards = new Map();
203
+ // Pre-populate with 100 agents
204
+ for (let i = 0; i < 100; i++) {
205
+ agentCards.set(`agent-${i}`, {
206
+ name: `Agent ${i}`,
207
+ version: '1.0.0',
208
+ url: `http://localhost:300${i}`,
209
+ capabilities: {
210
+ streaming: true,
211
+ pushNotifications: false,
212
+ },
213
+ });
214
+ }
215
+ return this.runBenchmark('A2A Agent Discovery', () => {
216
+ // Simulate discovery lookup
217
+ const agentId = `agent-${Math.floor(Math.random() * 100)}`;
218
+ const card = agentCards.get(agentId);
219
+ // Simulate capability matching
220
+ const matches = card && card.capabilities;
221
+ }, PERFORMANCE_TARGETS.a2aAgentDiscovery.p95);
222
+ }
223
+ /**
224
+ * Benchmark A2A JSON-RPC parsing
225
+ */
226
+ async benchmarkA2AJSONRPCParsing() {
227
+ const sampleRequest = JSON.stringify({
228
+ jsonrpc: '2.0',
229
+ id: 1,
230
+ method: 'message/send',
231
+ params: {
232
+ message: {
233
+ role: 'user',
234
+ parts: [{ type: 'text', text: 'Hello, agent!' }],
235
+ },
236
+ },
237
+ });
238
+ return this.runBenchmark('A2A JSON-RPC Parsing', () => {
239
+ const parsed = JSON.parse(sampleRequest);
240
+ // Validate structure
241
+ const valid = parsed.jsonrpc === '2.0' &&
242
+ typeof parsed.id === 'number' &&
243
+ typeof parsed.method === 'string';
244
+ }, PERFORMANCE_TARGETS.a2aJSONRPCParsing.p95);
245
+ }
246
+ // ============================================================================
247
+ // A2UI Benchmarks
248
+ // ============================================================================
249
+ /**
250
+ * Benchmark A2UI surface generation
251
+ */
252
+ async benchmarkA2UISurfaceGeneration() {
253
+ const surfaces = new Map();
254
+ let surfaceId = 0;
255
+ return this.runBenchmark('A2UI Surface Generation', () => {
256
+ const id = `surface-${++surfaceId}`;
257
+ const components = Array.from({ length: 20 }, (_, i) => ({
258
+ id: `comp-${i}`,
259
+ type: i % 3 === 0 ? 'Text' : i % 3 === 1 ? 'Button' : 'Card',
260
+ properties: {
261
+ text: `Component ${i}`,
262
+ variant: 'primary',
263
+ },
264
+ children: i < 5 ? [`comp-${i + 10}`] : undefined,
265
+ }));
266
+ const surface = {
267
+ id,
268
+ version: 1,
269
+ components,
270
+ rootComponentId: 'comp-0',
271
+ };
272
+ surfaces.set(id, surface);
273
+ if (surfaces.size > 100) {
274
+ const firstKey = surfaces.keys().next().value;
275
+ if (firstKey)
276
+ surfaces.delete(firstKey);
277
+ }
278
+ }, PERFORMANCE_TARGETS.a2uiSurfaceGeneration.p95);
279
+ }
280
+ /**
281
+ * Benchmark A2UI data binding
282
+ */
283
+ async benchmarkA2UIDataBinding() {
284
+ const dataModel = {
285
+ users: Array.from({ length: 100 }, (_, i) => ({
286
+ id: i,
287
+ name: `User ${i}`,
288
+ email: `user${i}@example.com`,
289
+ })),
290
+ };
291
+ return this.runBenchmark('A2UI Data Binding', () => {
292
+ // Simulate JSON Pointer resolution
293
+ const pointer = `/users/${Math.floor(Math.random() * 100)}/name`;
294
+ const parts = pointer.split('/').filter(Boolean);
295
+ let value = dataModel;
296
+ for (const part of parts) {
297
+ if (value && typeof value === 'object') {
298
+ value = value[part];
299
+ }
300
+ }
301
+ }, PERFORMANCE_TARGETS.a2uiDataBinding.p95);
302
+ }
303
+ /**
304
+ * Benchmark A2UI component validation
305
+ */
306
+ async benchmarkA2UIComponentValidation() {
307
+ const schemas = {
308
+ Text: ['text', 'variant', 'style'],
309
+ Button: ['text', 'onPress', 'disabled', 'variant'],
310
+ Card: ['title', 'children', 'elevation'],
311
+ };
312
+ const componentTypes = ['Text', 'Button', 'Card'];
313
+ return this.runBenchmark('A2UI Component Validation', () => {
314
+ const type = componentTypes[Math.floor(Math.random() * 3)];
315
+ const component = {
316
+ id: `comp-${Date.now()}`,
317
+ type,
318
+ properties: {
319
+ text: 'Sample',
320
+ variant: 'primary',
321
+ onPress: 'action:submit',
322
+ },
323
+ };
324
+ // Validate properties
325
+ const schema = schemas[type];
326
+ const props = Object.keys(component.properties);
327
+ const valid = props.every((p) => schema.includes(p) || p.startsWith('aria-'));
328
+ }, PERFORMANCE_TARGETS.a2uiComponentValidation.p95);
329
+ }
330
+ // ============================================================================
331
+ // Cross-Protocol Benchmarks
332
+ // ============================================================================
333
+ /**
334
+ * Benchmark end-to-end flow across all protocols
335
+ */
336
+ async benchmarkEndToEndFlow() {
337
+ const emitter = new EventEmitter();
338
+ const tasks = new Map();
339
+ const surfaces = new Map();
340
+ let counter = 0;
341
+ return this.runBenchmark('End-to-End Flow', () => {
342
+ const id = ++counter;
343
+ // 1. A2A: Submit task
344
+ const task = {
345
+ id: `task-${id}`,
346
+ status: 'submitted',
347
+ message: { role: 'user', parts: [{ type: 'text', text: 'Test' }] },
348
+ };
349
+ tasks.set(task.id, task);
350
+ // 2. AG-UI: Emit events
351
+ emitter.emit('RUN_STARTED', { runId: `run-${id}` });
352
+ emitter.emit('STEP_STARTED', { stepId: `step-${id}` });
353
+ // 3. A2UI: Generate surface
354
+ const surface = {
355
+ id: `surface-${id}`,
356
+ components: [{ id: 'root', type: 'Card', children: [] }],
357
+ };
358
+ surfaces.set(surface.id, surface);
359
+ // 4. AG-UI: Complete
360
+ emitter.emit('STEP_FINISHED', { stepId: `step-${id}` });
361
+ emitter.emit('RUN_FINISHED', { runId: `run-${id}` });
362
+ // Cleanup
363
+ if (tasks.size > 100)
364
+ tasks.delete(`task-${id - 100}`);
365
+ if (surfaces.size > 100)
366
+ surfaces.delete(`surface-${id - 100}`);
367
+ }, 250 // Combined target
368
+ );
369
+ }
370
+ /**
371
+ * Benchmark memory under load
372
+ */
373
+ async benchmarkMemoryUnderLoad() {
374
+ const buffer = new CircularBuffer(10000);
375
+ const startMemory = process.memoryUsage().heapUsed;
376
+ const result = await this.runBenchmark('Memory Under Load', () => {
377
+ // Create objects that would normally cause memory pressure
378
+ const obj = {
379
+ id: Date.now().toString(36),
380
+ data: Array.from({ length: 100 }, (_, i) => ({
381
+ key: `key-${i}`,
382
+ value: Math.random(),
383
+ })),
384
+ timestamp: new Date().toISOString(),
385
+ };
386
+ buffer.push(obj);
387
+ }, 50, // ms target
388
+ {
389
+ iterations: 10000, // More iterations for memory test
390
+ });
391
+ const endMemory = process.memoryUsage().heapUsed;
392
+ const memoryTarget = PERFORMANCE_TARGETS.memoryPeak;
393
+ return {
394
+ ...result,
395
+ memoryDelta: endMemory - startMemory,
396
+ passed: result.passed && endMemory < memoryTarget,
397
+ metadata: {
398
+ ...result.metadata,
399
+ memoryUsed: endMemory,
400
+ memoryTarget,
401
+ },
402
+ };
403
+ }
404
+ // ============================================================================
405
+ // Benchmark Runner
406
+ // ============================================================================
407
+ /**
408
+ * Run a single benchmark function
409
+ */
410
+ async runBenchmark(name, fn, target, options) {
411
+ const config = { ...this.config, ...options };
412
+ const timings = [];
413
+ let memoryStart = 0;
414
+ let memoryEnd = 0;
415
+ // Force GC if available and enabled
416
+ if (config.forceGC && global.gc) {
417
+ global.gc();
418
+ }
419
+ // Warmup
420
+ for (let i = 0; i < config.warmupIterations; i++) {
421
+ await fn();
422
+ }
423
+ // Record start memory
424
+ if (config.trackMemory) {
425
+ memoryStart = process.memoryUsage().heapUsed;
426
+ }
427
+ // Run benchmark
428
+ for (let i = 0; i < config.iterations; i++) {
429
+ const start = process.hrtime.bigint();
430
+ await fn();
431
+ const end = process.hrtime.bigint();
432
+ const durationMs = Number(end - start) / 1_000_000;
433
+ timings.push(durationMs);
434
+ }
435
+ // Record end memory
436
+ if (config.trackMemory) {
437
+ memoryEnd = process.memoryUsage().heapUsed;
438
+ }
439
+ // Calculate statistics
440
+ const sorted = [...timings].sort((a, b) => a - b);
441
+ const sum = sorted.reduce((a, b) => a + b, 0);
442
+ const avgTime = sum / sorted.length;
443
+ const totalTime = sum;
444
+ const opsPerSecond = (config.iterations / totalTime) * 1000;
445
+ const result = {
446
+ name,
447
+ iterations: config.iterations,
448
+ opsPerSecond,
449
+ avgTime,
450
+ p50: this.percentile(sorted, 0.5),
451
+ p95: this.percentile(sorted, 0.95),
452
+ p99: this.percentile(sorted, 0.99),
453
+ maxTime: sorted[sorted.length - 1],
454
+ minTime: sorted[0],
455
+ memoryDelta: memoryEnd - memoryStart,
456
+ passed: target !== undefined ? this.percentile(sorted, 0.95) <= target : true,
457
+ target,
458
+ timestamp: Date.now(),
459
+ };
460
+ this.results.push(result);
461
+ return result;
462
+ }
463
+ percentile(sorted, p) {
464
+ if (sorted.length === 0)
465
+ return 0;
466
+ const index = Math.ceil(sorted.length * p) - 1;
467
+ return sorted[Math.max(0, index)];
468
+ }
469
+ getSystemInfo() {
470
+ return {
471
+ nodeVersion: process.version,
472
+ platform: process.platform,
473
+ arch: process.arch,
474
+ cpus: os.cpus().length,
475
+ memory: os.totalmem(),
476
+ };
477
+ }
478
+ // ============================================================================
479
+ // Results Access
480
+ // ============================================================================
481
+ /**
482
+ * Get all benchmark results
483
+ */
484
+ getResults() {
485
+ return [...this.results];
486
+ }
487
+ /**
488
+ * Get result by name
489
+ */
490
+ getResult(name) {
491
+ return this.results.find((r) => r.name === name);
492
+ }
493
+ /**
494
+ * Clear all results
495
+ */
496
+ clearResults() {
497
+ this.results.length = 0;
498
+ }
499
+ /**
500
+ * Destroy the benchmark suite
501
+ */
502
+ destroy() {
503
+ this.profiler.destroy();
504
+ this.clearResults();
505
+ }
506
+ }
507
+ // ============================================================================
508
+ // Factory Function
509
+ // ============================================================================
510
+ /**
511
+ * Create a new BenchmarkSuite instance
512
+ */
513
+ export function createBenchmarkSuite(config) {
514
+ return new BenchmarkSuite(config);
515
+ }
516
+ //# sourceMappingURL=benchmarks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmarks.js","sourceRoot":"","sources":["../../src/performance/benchmarks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,149 @@
1
+ /**
2
+ * Agentic QE v3 - CI Performance Gates
3
+ * Performance gates for continuous integration
4
+ *
5
+ * Issue #177 Targets:
6
+ * - AG-UI streaming: <100ms p95
7
+ * - A2A task submission: <200ms p95
8
+ * - A2UI surface generation: <150ms p95
9
+ */
10
+ import { BenchmarkResults, BenchmarkResult } from './benchmarks.js';
11
+ /**
12
+ * Gate check result
13
+ */
14
+ export interface GateCheckResult {
15
+ /** Whether the gate passed */
16
+ readonly passed: boolean;
17
+ /** Gate name */
18
+ readonly gate: string;
19
+ /** Actual measured value */
20
+ readonly actual: number;
21
+ /** Target value */
22
+ readonly target: number;
23
+ /** Margin percentage above/below target (positive = under, negative = over) */
24
+ readonly margin: number;
25
+ /** Human-readable message */
26
+ readonly message: string;
27
+ /** Severity level */
28
+ readonly severity: 'pass' | 'warn' | 'fail';
29
+ }
30
+ /**
31
+ * CI Report
32
+ */
33
+ export interface CIReport {
34
+ /** Summary text */
35
+ readonly summary: string;
36
+ /** All gate check results */
37
+ readonly gates: GateCheckResult[];
38
+ /** Prioritized recommendations */
39
+ readonly recommendations: string[];
40
+ /** Exit code (0 = success, 1 = failure, 2 = warning) */
41
+ readonly exitCode: number;
42
+ /** Timestamp */
43
+ readonly timestamp: number;
44
+ /** Environment info */
45
+ readonly environment: {
46
+ readonly nodeVersion: string;
47
+ readonly platform: string;
48
+ readonly ci: boolean;
49
+ };
50
+ /** Performance summary */
51
+ readonly performance: {
52
+ readonly totalTests: number;
53
+ readonly passed: number;
54
+ readonly failed: number;
55
+ readonly warnings: number;
56
+ };
57
+ }
58
+ /**
59
+ * Gate configuration
60
+ */
61
+ export interface GateConfig {
62
+ /** AG-UI latency target in ms */
63
+ readonly aguiLatencyTarget: number;
64
+ /** A2A latency target in ms */
65
+ readonly a2aLatencyTarget: number;
66
+ /** A2UI latency target in ms */
67
+ readonly a2uiLatencyTarget: number;
68
+ /** Memory usage target in bytes */
69
+ readonly memoryTarget: number;
70
+ /** Throughput target in ops/sec */
71
+ readonly throughputTarget: number;
72
+ /** Warning threshold percentage (below target) */
73
+ readonly warningThreshold: number;
74
+ }
75
+ declare const DEFAULT_GATE_CONFIG: GateConfig;
76
+ /**
77
+ * CIPerformanceGates - Validates benchmark results against targets
78
+ *
79
+ * Features:
80
+ * - Individual gate checks for each protocol
81
+ * - Memory and throughput validation
82
+ * - Warning thresholds
83
+ * - CI report generation
84
+ * - Exit code determination
85
+ */
86
+ export declare class CIPerformanceGates {
87
+ private readonly config;
88
+ constructor(config?: Partial<GateConfig>);
89
+ /**
90
+ * Check all gates against benchmark results
91
+ */
92
+ checkAll(results: BenchmarkResults): GateCheckResult[];
93
+ /**
94
+ * Check AG-UI latency gate
95
+ */
96
+ checkAGUILatency(p95: number): GateCheckResult;
97
+ /**
98
+ * Check A2A latency gate
99
+ */
100
+ checkA2ALatency(p95: number): GateCheckResult;
101
+ /**
102
+ * Check A2UI latency gate
103
+ */
104
+ checkA2UILatency(p95: number): GateCheckResult;
105
+ /**
106
+ * Check memory usage gate
107
+ */
108
+ checkMemoryUsage(peak: number): GateCheckResult;
109
+ /**
110
+ * Check throughput gate
111
+ */
112
+ checkThroughput(opsPerSec: number): GateCheckResult;
113
+ /**
114
+ * Check a specific benchmark result
115
+ */
116
+ checkBenchmark(result: BenchmarkResult): GateCheckResult;
117
+ /**
118
+ * Generate CI report from benchmark results
119
+ */
120
+ generateReport(results: BenchmarkResults): CIReport;
121
+ /**
122
+ * Get exit code based on results
123
+ */
124
+ getExitCode(results: BenchmarkResults): number;
125
+ /**
126
+ * Format report as text
127
+ */
128
+ formatReportText(report: CIReport): string;
129
+ /**
130
+ * Format report as markdown
131
+ */
132
+ formatReportMarkdown(report: CIReport): string;
133
+ /**
134
+ * Format report as JSON
135
+ */
136
+ formatReportJSON(report: CIReport): string;
137
+ private findResult;
138
+ private calculateMargin;
139
+ private getSeverity;
140
+ private formatMessage;
141
+ private generateSummary;
142
+ private generateRecommendations;
143
+ }
144
+ /**
145
+ * Create a new CIPerformanceGates instance
146
+ */
147
+ export declare function createCIGates(config?: Partial<GateConfig>): CIPerformanceGates;
148
+ export { DEFAULT_GATE_CONFIG };
149
+ //# sourceMappingURL=ci-gates.d.ts.map