agentic-qe 3.3.5 → 3.4.1

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 (424) hide show
  1. package/.claude/helpers/statusline-v3.cjs +47 -0
  2. package/.claude/skills/qcsd-ideation-swarm/SKILL.md +7 -4
  3. package/CHANGELOG.md +23 -0
  4. package/README.md +69 -0
  5. package/package.json +1 -1
  6. package/v3/CHANGELOG.md +91 -0
  7. package/v3/README.md +117 -0
  8. package/v3/assets/skills/qcsd-ideation-swarm/SKILL.md +7 -4
  9. package/v3/dist/adapters/a2a/agent-cards/generator.d.ts +153 -0
  10. package/v3/dist/adapters/a2a/agent-cards/generator.d.ts.map +1 -0
  11. package/v3/dist/adapters/a2a/agent-cards/generator.js +478 -0
  12. package/v3/dist/adapters/a2a/agent-cards/generator.js.map +1 -0
  13. package/v3/dist/adapters/a2a/agent-cards/schema.d.ts +274 -0
  14. package/v3/dist/adapters/a2a/agent-cards/schema.d.ts.map +1 -0
  15. package/v3/dist/adapters/a2a/agent-cards/schema.js +135 -0
  16. package/v3/dist/adapters/a2a/agent-cards/schema.js.map +1 -0
  17. package/v3/dist/adapters/a2a/agent-cards/validator.d.ts +514 -0
  18. package/v3/dist/adapters/a2a/agent-cards/validator.d.ts.map +1 -0
  19. package/v3/dist/adapters/a2a/agent-cards/validator.js +555 -0
  20. package/v3/dist/adapters/a2a/agent-cards/validator.js.map +1 -0
  21. package/v3/dist/adapters/a2a/auth/index.d.ts +23 -0
  22. package/v3/dist/adapters/a2a/auth/index.d.ts.map +1 -0
  23. package/v3/dist/adapters/a2a/auth/index.js +85 -0
  24. package/v3/dist/adapters/a2a/auth/index.js.map +1 -0
  25. package/v3/dist/adapters/a2a/auth/jwt-utils.d.ts +215 -0
  26. package/v3/dist/adapters/a2a/auth/jwt-utils.d.ts.map +1 -0
  27. package/v3/dist/adapters/a2a/auth/jwt-utils.js +314 -0
  28. package/v3/dist/adapters/a2a/auth/jwt-utils.js.map +1 -0
  29. package/v3/dist/adapters/a2a/auth/middleware.d.ts +173 -0
  30. package/v3/dist/adapters/a2a/auth/middleware.d.ts.map +1 -0
  31. package/v3/dist/adapters/a2a/auth/middleware.js +300 -0
  32. package/v3/dist/adapters/a2a/auth/middleware.js.map +1 -0
  33. package/v3/dist/adapters/a2a/auth/oauth-provider.d.ts +308 -0
  34. package/v3/dist/adapters/a2a/auth/oauth-provider.d.ts.map +1 -0
  35. package/v3/dist/adapters/a2a/auth/oauth-provider.js +573 -0
  36. package/v3/dist/adapters/a2a/auth/oauth-provider.js.map +1 -0
  37. package/v3/dist/adapters/a2a/auth/routes.d.ts +244 -0
  38. package/v3/dist/adapters/a2a/auth/routes.d.ts.map +1 -0
  39. package/v3/dist/adapters/a2a/auth/routes.js +496 -0
  40. package/v3/dist/adapters/a2a/auth/routes.js.map +1 -0
  41. package/v3/dist/adapters/a2a/auth/scopes.d.ts +219 -0
  42. package/v3/dist/adapters/a2a/auth/scopes.d.ts.map +1 -0
  43. package/v3/dist/adapters/a2a/auth/scopes.js +292 -0
  44. package/v3/dist/adapters/a2a/auth/scopes.js.map +1 -0
  45. package/v3/dist/adapters/a2a/auth/token-store.d.ts +278 -0
  46. package/v3/dist/adapters/a2a/auth/token-store.d.ts.map +1 -0
  47. package/v3/dist/adapters/a2a/auth/token-store.js +453 -0
  48. package/v3/dist/adapters/a2a/auth/token-store.js.map +1 -0
  49. package/v3/dist/adapters/a2a/discovery/agent-health.d.ts +226 -0
  50. package/v3/dist/adapters/a2a/discovery/agent-health.d.ts.map +1 -0
  51. package/v3/dist/adapters/a2a/discovery/agent-health.js +426 -0
  52. package/v3/dist/adapters/a2a/discovery/agent-health.js.map +1 -0
  53. package/v3/dist/adapters/a2a/discovery/discovery-service.d.ts +296 -0
  54. package/v3/dist/adapters/a2a/discovery/discovery-service.d.ts.map +1 -0
  55. package/v3/dist/adapters/a2a/discovery/discovery-service.js +520 -0
  56. package/v3/dist/adapters/a2a/discovery/discovery-service.js.map +1 -0
  57. package/v3/dist/adapters/a2a/discovery/file-watcher.d.ts +166 -0
  58. package/v3/dist/adapters/a2a/discovery/file-watcher.d.ts.map +1 -0
  59. package/v3/dist/adapters/a2a/discovery/file-watcher.js +385 -0
  60. package/v3/dist/adapters/a2a/discovery/file-watcher.js.map +1 -0
  61. package/v3/dist/adapters/a2a/discovery/hot-reload-service.d.ts +226 -0
  62. package/v3/dist/adapters/a2a/discovery/hot-reload-service.d.ts.map +1 -0
  63. package/v3/dist/adapters/a2a/discovery/hot-reload-service.js +433 -0
  64. package/v3/dist/adapters/a2a/discovery/hot-reload-service.js.map +1 -0
  65. package/v3/dist/adapters/a2a/discovery/index.d.ts +18 -0
  66. package/v3/dist/adapters/a2a/discovery/index.d.ts.map +1 -0
  67. package/v3/dist/adapters/a2a/discovery/index.js +54 -0
  68. package/v3/dist/adapters/a2a/discovery/index.js.map +1 -0
  69. package/v3/dist/adapters/a2a/discovery/metrics.d.ts +200 -0
  70. package/v3/dist/adapters/a2a/discovery/metrics.d.ts.map +1 -0
  71. package/v3/dist/adapters/a2a/discovery/metrics.js +371 -0
  72. package/v3/dist/adapters/a2a/discovery/metrics.js.map +1 -0
  73. package/v3/dist/adapters/a2a/discovery/routes.d.ts +184 -0
  74. package/v3/dist/adapters/a2a/discovery/routes.d.ts.map +1 -0
  75. package/v3/dist/adapters/a2a/discovery/routes.js +453 -0
  76. package/v3/dist/adapters/a2a/discovery/routes.js.map +1 -0
  77. package/v3/dist/adapters/a2a/index.d.ts +18 -0
  78. package/v3/dist/adapters/a2a/index.d.ts.map +1 -0
  79. package/v3/dist/adapters/a2a/index.js +139 -0
  80. package/v3/dist/adapters/a2a/index.js.map +1 -0
  81. package/v3/dist/adapters/a2a/jsonrpc/envelope.d.ts +312 -0
  82. package/v3/dist/adapters/a2a/jsonrpc/envelope.d.ts.map +1 -0
  83. package/v3/dist/adapters/a2a/jsonrpc/envelope.js +554 -0
  84. package/v3/dist/adapters/a2a/jsonrpc/envelope.js.map +1 -0
  85. package/v3/dist/adapters/a2a/jsonrpc/errors.d.ts +244 -0
  86. package/v3/dist/adapters/a2a/jsonrpc/errors.d.ts.map +1 -0
  87. package/v3/dist/adapters/a2a/jsonrpc/errors.js +365 -0
  88. package/v3/dist/adapters/a2a/jsonrpc/errors.js.map +1 -0
  89. package/v3/dist/adapters/a2a/jsonrpc/index.d.ts +14 -0
  90. package/v3/dist/adapters/a2a/jsonrpc/index.d.ts.map +1 -0
  91. package/v3/dist/adapters/a2a/jsonrpc/index.js +59 -0
  92. package/v3/dist/adapters/a2a/jsonrpc/index.js.map +1 -0
  93. package/v3/dist/adapters/a2a/jsonrpc/methods.d.ts +400 -0
  94. package/v3/dist/adapters/a2a/jsonrpc/methods.d.ts.map +1 -0
  95. package/v3/dist/adapters/a2a/jsonrpc/methods.js +249 -0
  96. package/v3/dist/adapters/a2a/jsonrpc/methods.js.map +1 -0
  97. package/v3/dist/adapters/a2a/notifications/index.d.ts +60 -0
  98. package/v3/dist/adapters/a2a/notifications/index.d.ts.map +1 -0
  99. package/v3/dist/adapters/a2a/notifications/index.js +99 -0
  100. package/v3/dist/adapters/a2a/notifications/index.js.map +1 -0
  101. package/v3/dist/adapters/a2a/notifications/retry-queue.d.ts +225 -0
  102. package/v3/dist/adapters/a2a/notifications/retry-queue.d.ts.map +1 -0
  103. package/v3/dist/adapters/a2a/notifications/retry-queue.js +449 -0
  104. package/v3/dist/adapters/a2a/notifications/retry-queue.js.map +1 -0
  105. package/v3/dist/adapters/a2a/notifications/signature.d.ts +133 -0
  106. package/v3/dist/adapters/a2a/notifications/signature.d.ts.map +1 -0
  107. package/v3/dist/adapters/a2a/notifications/signature.js +244 -0
  108. package/v3/dist/adapters/a2a/notifications/signature.js.map +1 -0
  109. package/v3/dist/adapters/a2a/notifications/subscription-store.d.ts +243 -0
  110. package/v3/dist/adapters/a2a/notifications/subscription-store.d.ts.map +1 -0
  111. package/v3/dist/adapters/a2a/notifications/subscription-store.js +486 -0
  112. package/v3/dist/adapters/a2a/notifications/subscription-store.js.map +1 -0
  113. package/v3/dist/adapters/a2a/notifications/webhook-service.d.ts +257 -0
  114. package/v3/dist/adapters/a2a/notifications/webhook-service.d.ts.map +1 -0
  115. package/v3/dist/adapters/a2a/notifications/webhook-service.js +542 -0
  116. package/v3/dist/adapters/a2a/notifications/webhook-service.js.map +1 -0
  117. package/v3/dist/adapters/a2a/tasks/index.d.ts +16 -0
  118. package/v3/dist/adapters/a2a/tasks/index.d.ts.map +1 -0
  119. package/v3/dist/adapters/a2a/tasks/index.js +33 -0
  120. package/v3/dist/adapters/a2a/tasks/index.js.map +1 -0
  121. package/v3/dist/adapters/a2a/tasks/task-manager.d.ts +306 -0
  122. package/v3/dist/adapters/a2a/tasks/task-manager.d.ts.map +1 -0
  123. package/v3/dist/adapters/a2a/tasks/task-manager.js +562 -0
  124. package/v3/dist/adapters/a2a/tasks/task-manager.js.map +1 -0
  125. package/v3/dist/adapters/a2a/tasks/task-router.d.ts +270 -0
  126. package/v3/dist/adapters/a2a/tasks/task-router.d.ts.map +1 -0
  127. package/v3/dist/adapters/a2a/tasks/task-router.js +574 -0
  128. package/v3/dist/adapters/a2a/tasks/task-router.js.map +1 -0
  129. package/v3/dist/adapters/a2a/tasks/task-store.d.ts +251 -0
  130. package/v3/dist/adapters/a2a/tasks/task-store.d.ts.map +1 -0
  131. package/v3/dist/adapters/a2a/tasks/task-store.js +468 -0
  132. package/v3/dist/adapters/a2a/tasks/task-store.js.map +1 -0
  133. package/v3/dist/adapters/a2ui/accessibility/aria-attributes.d.ts +294 -0
  134. package/v3/dist/adapters/a2ui/accessibility/aria-attributes.d.ts.map +1 -0
  135. package/v3/dist/adapters/a2ui/accessibility/aria-attributes.js +447 -0
  136. package/v3/dist/adapters/a2ui/accessibility/aria-attributes.js.map +1 -0
  137. package/v3/dist/adapters/a2ui/accessibility/index.d.ts +83 -0
  138. package/v3/dist/adapters/a2ui/accessibility/index.d.ts.map +1 -0
  139. package/v3/dist/adapters/a2ui/accessibility/index.js +155 -0
  140. package/v3/dist/adapters/a2ui/accessibility/index.js.map +1 -0
  141. package/v3/dist/adapters/a2ui/accessibility/keyboard-nav.d.ts +177 -0
  142. package/v3/dist/adapters/a2ui/accessibility/keyboard-nav.d.ts.map +1 -0
  143. package/v3/dist/adapters/a2ui/accessibility/keyboard-nav.js +638 -0
  144. package/v3/dist/adapters/a2ui/accessibility/keyboard-nav.js.map +1 -0
  145. package/v3/dist/adapters/a2ui/accessibility/wcag-validator.d.ts +186 -0
  146. package/v3/dist/adapters/a2ui/accessibility/wcag-validator.d.ts.map +1 -0
  147. package/v3/dist/adapters/a2ui/accessibility/wcag-validator.js +816 -0
  148. package/v3/dist/adapters/a2ui/accessibility/wcag-validator.js.map +1 -0
  149. package/v3/dist/adapters/a2ui/catalog/component-schemas.d.ts +227 -0
  150. package/v3/dist/adapters/a2ui/catalog/component-schemas.d.ts.map +1 -0
  151. package/v3/dist/adapters/a2ui/catalog/component-schemas.js +1090 -0
  152. package/v3/dist/adapters/a2ui/catalog/component-schemas.js.map +1 -0
  153. package/v3/dist/adapters/a2ui/catalog/index.d.ts +55 -0
  154. package/v3/dist/adapters/a2ui/catalog/index.d.ts.map +1 -0
  155. package/v3/dist/adapters/a2ui/catalog/index.js +100 -0
  156. package/v3/dist/adapters/a2ui/catalog/index.js.map +1 -0
  157. package/v3/dist/adapters/a2ui/catalog/qe-catalog.d.ts +456 -0
  158. package/v3/dist/adapters/a2ui/catalog/qe-catalog.d.ts.map +1 -0
  159. package/v3/dist/adapters/a2ui/catalog/qe-catalog.js +413 -0
  160. package/v3/dist/adapters/a2ui/catalog/qe-catalog.js.map +1 -0
  161. package/v3/dist/adapters/a2ui/catalog/standard-catalog.d.ts +581 -0
  162. package/v3/dist/adapters/a2ui/catalog/standard-catalog.d.ts.map +1 -0
  163. package/v3/dist/adapters/a2ui/catalog/standard-catalog.js +409 -0
  164. package/v3/dist/adapters/a2ui/catalog/standard-catalog.js.map +1 -0
  165. package/v3/dist/adapters/a2ui/data/bound-value.d.ts +252 -0
  166. package/v3/dist/adapters/a2ui/data/bound-value.d.ts.map +1 -0
  167. package/v3/dist/adapters/a2ui/data/bound-value.js +403 -0
  168. package/v3/dist/adapters/a2ui/data/bound-value.js.map +1 -0
  169. package/v3/dist/adapters/a2ui/data/index.d.ts +14 -0
  170. package/v3/dist/adapters/a2ui/data/index.d.ts.map +1 -0
  171. package/v3/dist/adapters/a2ui/data/index.js +41 -0
  172. package/v3/dist/adapters/a2ui/data/index.js.map +1 -0
  173. package/v3/dist/adapters/a2ui/data/json-pointer-resolver.d.ts +187 -0
  174. package/v3/dist/adapters/a2ui/data/json-pointer-resolver.d.ts.map +1 -0
  175. package/v3/dist/adapters/a2ui/data/json-pointer-resolver.js +425 -0
  176. package/v3/dist/adapters/a2ui/data/json-pointer-resolver.js.map +1 -0
  177. package/v3/dist/adapters/a2ui/data/reactive-store.d.ts +241 -0
  178. package/v3/dist/adapters/a2ui/data/reactive-store.d.ts.map +1 -0
  179. package/v3/dist/adapters/a2ui/data/reactive-store.js +461 -0
  180. package/v3/dist/adapters/a2ui/data/reactive-store.js.map +1 -0
  181. package/v3/dist/adapters/a2ui/index.d.ts +17 -0
  182. package/v3/dist/adapters/a2ui/index.d.ts.map +1 -0
  183. package/v3/dist/adapters/a2ui/index.js +119 -0
  184. package/v3/dist/adapters/a2ui/index.js.map +1 -0
  185. package/v3/dist/adapters/a2ui/integration/agui-sync.d.ts +259 -0
  186. package/v3/dist/adapters/a2ui/integration/agui-sync.d.ts.map +1 -0
  187. package/v3/dist/adapters/a2ui/integration/agui-sync.js +559 -0
  188. package/v3/dist/adapters/a2ui/integration/agui-sync.js.map +1 -0
  189. package/v3/dist/adapters/a2ui/integration/index.d.ts +11 -0
  190. package/v3/dist/adapters/a2ui/integration/index.d.ts.map +1 -0
  191. package/v3/dist/adapters/a2ui/integration/index.js +23 -0
  192. package/v3/dist/adapters/a2ui/integration/index.js.map +1 -0
  193. package/v3/dist/adapters/a2ui/integration/surface-state-bridge.d.ts +209 -0
  194. package/v3/dist/adapters/a2ui/integration/surface-state-bridge.d.ts.map +1 -0
  195. package/v3/dist/adapters/a2ui/integration/surface-state-bridge.js +545 -0
  196. package/v3/dist/adapters/a2ui/integration/surface-state-bridge.js.map +1 -0
  197. package/v3/dist/adapters/a2ui/renderer/component-builder.d.ts +227 -0
  198. package/v3/dist/adapters/a2ui/renderer/component-builder.d.ts.map +1 -0
  199. package/v3/dist/adapters/a2ui/renderer/component-builder.js +488 -0
  200. package/v3/dist/adapters/a2ui/renderer/component-builder.js.map +1 -0
  201. package/v3/dist/adapters/a2ui/renderer/index.d.ts +16 -0
  202. package/v3/dist/adapters/a2ui/renderer/index.d.ts.map +1 -0
  203. package/v3/dist/adapters/a2ui/renderer/index.js +50 -0
  204. package/v3/dist/adapters/a2ui/renderer/index.js.map +1 -0
  205. package/v3/dist/adapters/a2ui/renderer/message-types.d.ts +299 -0
  206. package/v3/dist/adapters/a2ui/renderer/message-types.d.ts.map +1 -0
  207. package/v3/dist/adapters/a2ui/renderer/message-types.js +187 -0
  208. package/v3/dist/adapters/a2ui/renderer/message-types.js.map +1 -0
  209. package/v3/dist/adapters/a2ui/renderer/surface-generator.d.ts +210 -0
  210. package/v3/dist/adapters/a2ui/renderer/surface-generator.d.ts.map +1 -0
  211. package/v3/dist/adapters/a2ui/renderer/surface-generator.js +586 -0
  212. package/v3/dist/adapters/a2ui/renderer/surface-generator.js.map +1 -0
  213. package/v3/dist/adapters/a2ui/renderer/templates/accessibility-surface.d.ts +149 -0
  214. package/v3/dist/adapters/a2ui/renderer/templates/accessibility-surface.d.ts.map +1 -0
  215. package/v3/dist/adapters/a2ui/renderer/templates/accessibility-surface.js +414 -0
  216. package/v3/dist/adapters/a2ui/renderer/templates/accessibility-surface.js.map +1 -0
  217. package/v3/dist/adapters/a2ui/renderer/templates/coverage-surface.d.ts +95 -0
  218. package/v3/dist/adapters/a2ui/renderer/templates/coverage-surface.d.ts.map +1 -0
  219. package/v3/dist/adapters/a2ui/renderer/templates/coverage-surface.js +231 -0
  220. package/v3/dist/adapters/a2ui/renderer/templates/coverage-surface.js.map +1 -0
  221. package/v3/dist/adapters/a2ui/renderer/templates/index.d.ts +12 -0
  222. package/v3/dist/adapters/a2ui/renderer/templates/index.d.ts.map +1 -0
  223. package/v3/dist/adapters/a2ui/renderer/templates/index.js +16 -0
  224. package/v3/dist/adapters/a2ui/renderer/templates/index.js.map +1 -0
  225. package/v3/dist/adapters/a2ui/renderer/templates/security-surface.d.ts +121 -0
  226. package/v3/dist/adapters/a2ui/renderer/templates/security-surface.d.ts.map +1 -0
  227. package/v3/dist/adapters/a2ui/renderer/templates/security-surface.js +367 -0
  228. package/v3/dist/adapters/a2ui/renderer/templates/security-surface.js.map +1 -0
  229. package/v3/dist/adapters/a2ui/renderer/templates/test-results-surface.d.ts +104 -0
  230. package/v3/dist/adapters/a2ui/renderer/templates/test-results-surface.d.ts.map +1 -0
  231. package/v3/dist/adapters/a2ui/renderer/templates/test-results-surface.js +294 -0
  232. package/v3/dist/adapters/a2ui/renderer/templates/test-results-surface.js.map +1 -0
  233. package/v3/dist/adapters/ag-ui/backpressure-handler.d.ts +201 -0
  234. package/v3/dist/adapters/ag-ui/backpressure-handler.d.ts.map +1 -0
  235. package/v3/dist/adapters/ag-ui/backpressure-handler.js +399 -0
  236. package/v3/dist/adapters/ag-ui/backpressure-handler.js.map +1 -0
  237. package/v3/dist/adapters/ag-ui/event-adapter.d.ts +360 -0
  238. package/v3/dist/adapters/ag-ui/event-adapter.d.ts.map +1 -0
  239. package/v3/dist/adapters/ag-ui/event-adapter.js +1083 -0
  240. package/v3/dist/adapters/ag-ui/event-adapter.js.map +1 -0
  241. package/v3/dist/adapters/ag-ui/event-batcher.d.ts +242 -0
  242. package/v3/dist/adapters/ag-ui/event-batcher.d.ts.map +1 -0
  243. package/v3/dist/adapters/ag-ui/event-batcher.js +444 -0
  244. package/v3/dist/adapters/ag-ui/event-batcher.js.map +1 -0
  245. package/v3/dist/adapters/ag-ui/event-types.d.ts +450 -0
  246. package/v3/dist/adapters/ag-ui/event-types.d.ts.map +1 -0
  247. package/v3/dist/adapters/ag-ui/event-types.js +173 -0
  248. package/v3/dist/adapters/ag-ui/event-types.js.map +1 -0
  249. package/v3/dist/adapters/ag-ui/index.d.ts +17 -0
  250. package/v3/dist/adapters/ag-ui/index.d.ts.map +1 -0
  251. package/v3/dist/adapters/ag-ui/index.js +47 -0
  252. package/v3/dist/adapters/ag-ui/index.js.map +1 -0
  253. package/v3/dist/adapters/ag-ui/json-patch-utils.d.ts +136 -0
  254. package/v3/dist/adapters/ag-ui/json-patch-utils.d.ts.map +1 -0
  255. package/v3/dist/adapters/ag-ui/json-patch-utils.js +574 -0
  256. package/v3/dist/adapters/ag-ui/json-patch-utils.js.map +1 -0
  257. package/v3/dist/adapters/ag-ui/json-patch.d.ts +241 -0
  258. package/v3/dist/adapters/ag-ui/json-patch.d.ts.map +1 -0
  259. package/v3/dist/adapters/ag-ui/json-patch.js +726 -0
  260. package/v3/dist/adapters/ag-ui/json-patch.js.map +1 -0
  261. package/v3/dist/adapters/ag-ui/state-delta-cache.d.ts +218 -0
  262. package/v3/dist/adapters/ag-ui/state-delta-cache.d.ts.map +1 -0
  263. package/v3/dist/adapters/ag-ui/state-delta-cache.js +422 -0
  264. package/v3/dist/adapters/ag-ui/state-delta-cache.js.map +1 -0
  265. package/v3/dist/adapters/ag-ui/state-manager.d.ts +249 -0
  266. package/v3/dist/adapters/ag-ui/state-manager.d.ts.map +1 -0
  267. package/v3/dist/adapters/ag-ui/state-manager.js +511 -0
  268. package/v3/dist/adapters/ag-ui/state-manager.js.map +1 -0
  269. package/v3/dist/adapters/ag-ui/stream-controller.d.ts +195 -0
  270. package/v3/dist/adapters/ag-ui/stream-controller.d.ts.map +1 -0
  271. package/v3/dist/adapters/ag-ui/stream-controller.js +481 -0
  272. package/v3/dist/adapters/ag-ui/stream-controller.js.map +1 -0
  273. package/v3/dist/adapters/index.d.ts +4 -0
  274. package/v3/dist/adapters/index.d.ts.map +1 -1
  275. package/v3/dist/adapters/index.js +89 -0
  276. package/v3/dist/adapters/index.js.map +1 -1
  277. package/v3/dist/cli/bundle.js +7412 -3749
  278. package/v3/dist/init/init-wizard.d.ts.map +1 -1
  279. package/v3/dist/init/init-wizard.js +16 -1
  280. package/v3/dist/init/init-wizard.js.map +1 -1
  281. package/v3/dist/init/migration/config-migrator.d.ts.map +1 -1
  282. package/v3/dist/init/migration/config-migrator.js +15 -1
  283. package/v3/dist/init/migration/config-migrator.js.map +1 -1
  284. package/v3/dist/init/self-configurator.d.ts +7 -0
  285. package/v3/dist/init/self-configurator.d.ts.map +1 -1
  286. package/v3/dist/init/self-configurator.js +23 -27
  287. package/v3/dist/init/self-configurator.js.map +1 -1
  288. package/v3/dist/kernel/plugin-loader.d.ts.map +1 -1
  289. package/v3/dist/kernel/plugin-loader.js +6 -1
  290. package/v3/dist/kernel/plugin-loader.js.map +1 -1
  291. package/v3/dist/kernel/unified-memory.d.ts +97 -0
  292. package/v3/dist/kernel/unified-memory.d.ts.map +1 -1
  293. package/v3/dist/kernel/unified-memory.js +204 -0
  294. package/v3/dist/kernel/unified-memory.js.map +1 -1
  295. package/v3/dist/mcp/bundle.js +121759 -105597
  296. package/v3/dist/mcp/entry.d.ts +5 -0
  297. package/v3/dist/mcp/entry.d.ts.map +1 -1
  298. package/v3/dist/mcp/entry.js +36 -0
  299. package/v3/dist/mcp/entry.js.map +1 -1
  300. package/v3/dist/mcp/http-server.d.ts +95 -0
  301. package/v3/dist/mcp/http-server.d.ts.map +1 -0
  302. package/v3/dist/mcp/http-server.js +833 -0
  303. package/v3/dist/mcp/http-server.js.map +1 -0
  304. package/v3/dist/mcp/protocol-server.d.ts +6 -0
  305. package/v3/dist/mcp/protocol-server.d.ts.map +1 -1
  306. package/v3/dist/mcp/protocol-server.js +40 -0
  307. package/v3/dist/mcp/protocol-server.js.map +1 -1
  308. package/v3/dist/mcp/transport/index.d.ts +25 -3
  309. package/v3/dist/mcp/transport/index.d.ts.map +1 -1
  310. package/v3/dist/mcp/transport/index.js +22 -4
  311. package/v3/dist/mcp/transport/index.js.map +1 -1
  312. package/v3/dist/mcp/transport/sse/connection-manager.d.ts +84 -0
  313. package/v3/dist/mcp/transport/sse/connection-manager.d.ts.map +1 -0
  314. package/v3/dist/mcp/transport/sse/connection-manager.js +271 -0
  315. package/v3/dist/mcp/transport/sse/connection-manager.js.map +1 -0
  316. package/v3/dist/mcp/transport/sse/index.d.ts +10 -0
  317. package/v3/dist/mcp/transport/sse/index.d.ts.map +1 -0
  318. package/v3/dist/mcp/transport/sse/index.js +15 -0
  319. package/v3/dist/mcp/transport/sse/index.js.map +1 -0
  320. package/v3/dist/mcp/transport/sse/sse-transport.d.ts +56 -0
  321. package/v3/dist/mcp/transport/sse/sse-transport.d.ts.map +1 -0
  322. package/v3/dist/mcp/transport/sse/sse-transport.js +381 -0
  323. package/v3/dist/mcp/transport/sse/sse-transport.js.map +1 -0
  324. package/v3/dist/mcp/transport/sse/types.d.ts +237 -0
  325. package/v3/dist/mcp/transport/sse/types.d.ts.map +1 -0
  326. package/v3/dist/mcp/transport/sse/types.js +37 -0
  327. package/v3/dist/mcp/transport/sse/types.js.map +1 -0
  328. package/v3/dist/mcp/transport/websocket/connection-manager.d.ts +143 -0
  329. package/v3/dist/mcp/transport/websocket/connection-manager.d.ts.map +1 -0
  330. package/v3/dist/mcp/transport/websocket/connection-manager.js +522 -0
  331. package/v3/dist/mcp/transport/websocket/connection-manager.js.map +1 -0
  332. package/v3/dist/mcp/transport/websocket/index.d.ts +10 -0
  333. package/v3/dist/mcp/transport/websocket/index.d.ts.map +1 -0
  334. package/v3/dist/mcp/transport/websocket/index.js +19 -0
  335. package/v3/dist/mcp/transport/websocket/index.js.map +1 -0
  336. package/v3/dist/mcp/transport/websocket/types.d.ts +354 -0
  337. package/v3/dist/mcp/transport/websocket/types.d.ts.map +1 -0
  338. package/v3/dist/mcp/transport/websocket/types.js +49 -0
  339. package/v3/dist/mcp/transport/websocket/types.js.map +1 -0
  340. package/v3/dist/mcp/transport/websocket/websocket-transport.d.ts +77 -0
  341. package/v3/dist/mcp/transport/websocket/websocket-transport.d.ts.map +1 -0
  342. package/v3/dist/mcp/transport/websocket/websocket-transport.js +622 -0
  343. package/v3/dist/mcp/transport/websocket/websocket-transport.js.map +1 -0
  344. package/v3/dist/memory/crdt/convergence-tracker.d.ts +59 -0
  345. package/v3/dist/memory/crdt/convergence-tracker.d.ts.map +1 -0
  346. package/v3/dist/memory/crdt/convergence-tracker.js +325 -0
  347. package/v3/dist/memory/crdt/convergence-tracker.js.map +1 -0
  348. package/v3/dist/memory/crdt/crdt-store.d.ts +55 -0
  349. package/v3/dist/memory/crdt/crdt-store.d.ts.map +1 -0
  350. package/v3/dist/memory/crdt/crdt-store.js +582 -0
  351. package/v3/dist/memory/crdt/crdt-store.js.map +1 -0
  352. package/v3/dist/memory/crdt/g-counter.d.ts +47 -0
  353. package/v3/dist/memory/crdt/g-counter.d.ts.map +1 -0
  354. package/v3/dist/memory/crdt/g-counter.js +134 -0
  355. package/v3/dist/memory/crdt/g-counter.js.map +1 -0
  356. package/v3/dist/memory/crdt/index.d.ts +52 -0
  357. package/v3/dist/memory/crdt/index.d.ts.map +1 -0
  358. package/v3/dist/memory/crdt/index.js +66 -0
  359. package/v3/dist/memory/crdt/index.js.map +1 -0
  360. package/v3/dist/memory/crdt/lww-register.d.ts +40 -0
  361. package/v3/dist/memory/crdt/lww-register.d.ts.map +1 -0
  362. package/v3/dist/memory/crdt/lww-register.js +133 -0
  363. package/v3/dist/memory/crdt/lww-register.js.map +1 -0
  364. package/v3/dist/memory/crdt/or-set.d.ts +62 -0
  365. package/v3/dist/memory/crdt/or-set.d.ts.map +1 -0
  366. package/v3/dist/memory/crdt/or-set.js +336 -0
  367. package/v3/dist/memory/crdt/or-set.js.map +1 -0
  368. package/v3/dist/memory/crdt/pn-counter.d.ts +53 -0
  369. package/v3/dist/memory/crdt/pn-counter.d.ts.map +1 -0
  370. package/v3/dist/memory/crdt/pn-counter.js +147 -0
  371. package/v3/dist/memory/crdt/pn-counter.js.map +1 -0
  372. package/v3/dist/memory/crdt/types.d.ts +397 -0
  373. package/v3/dist/memory/crdt/types.d.ts.map +1 -0
  374. package/v3/dist/memory/crdt/types.js +12 -0
  375. package/v3/dist/memory/crdt/types.js.map +1 -0
  376. package/v3/dist/memory/index.d.ts +5 -2
  377. package/v3/dist/memory/index.d.ts.map +1 -1
  378. package/v3/dist/memory/index.js +5 -2
  379. package/v3/dist/memory/index.js.map +1 -1
  380. package/v3/dist/performance/benchmarks.d.ts +215 -0
  381. package/v3/dist/performance/benchmarks.d.ts.map +1 -0
  382. package/v3/dist/performance/benchmarks.js +516 -0
  383. package/v3/dist/performance/benchmarks.js.map +1 -0
  384. package/v3/dist/performance/ci-gates.d.ts +149 -0
  385. package/v3/dist/performance/ci-gates.d.ts.map +1 -0
  386. package/v3/dist/performance/ci-gates.js +425 -0
  387. package/v3/dist/performance/ci-gates.js.map +1 -0
  388. package/v3/dist/performance/index.d.ts +18 -0
  389. package/v3/dist/performance/index.d.ts.map +1 -0
  390. package/v3/dist/performance/index.js +26 -0
  391. package/v3/dist/performance/index.js.map +1 -0
  392. package/v3/dist/performance/optimizer.d.ts +323 -0
  393. package/v3/dist/performance/optimizer.d.ts.map +1 -0
  394. package/v3/dist/performance/optimizer.js +592 -0
  395. package/v3/dist/performance/optimizer.js.map +1 -0
  396. package/v3/dist/performance/profiler.d.ts +195 -0
  397. package/v3/dist/performance/profiler.d.ts.map +1 -0
  398. package/v3/dist/performance/profiler.js +369 -0
  399. package/v3/dist/performance/profiler.js.map +1 -0
  400. package/v3/dist/performance/run-gates.d.ts +23 -0
  401. package/v3/dist/performance/run-gates.d.ts.map +1 -0
  402. package/v3/dist/performance/run-gates.js +122 -0
  403. package/v3/dist/performance/run-gates.js.map +1 -0
  404. package/v3/dist/testing/index.d.ts +6 -0
  405. package/v3/dist/testing/index.d.ts.map +1 -0
  406. package/v3/dist/testing/index.js +7 -0
  407. package/v3/dist/testing/index.js.map +1 -0
  408. package/v3/dist/testing/load/agent-load-tester.d.ts +221 -0
  409. package/v3/dist/testing/load/agent-load-tester.d.ts.map +1 -0
  410. package/v3/dist/testing/load/agent-load-tester.js +566 -0
  411. package/v3/dist/testing/load/agent-load-tester.js.map +1 -0
  412. package/v3/dist/testing/load/bottleneck-analyzer.d.ts +150 -0
  413. package/v3/dist/testing/load/bottleneck-analyzer.d.ts.map +1 -0
  414. package/v3/dist/testing/load/bottleneck-analyzer.js +442 -0
  415. package/v3/dist/testing/load/bottleneck-analyzer.js.map +1 -0
  416. package/v3/dist/testing/load/index.d.ts +17 -0
  417. package/v3/dist/testing/load/index.d.ts.map +1 -0
  418. package/v3/dist/testing/load/index.js +23 -0
  419. package/v3/dist/testing/load/index.js.map +1 -0
  420. package/v3/dist/testing/load/metrics-collector.d.ts +275 -0
  421. package/v3/dist/testing/load/metrics-collector.d.ts.map +1 -0
  422. package/v3/dist/testing/load/metrics-collector.js +475 -0
  423. package/v3/dist/testing/load/metrics-collector.js.map +1 -0
  424. package/v3/package.json +5 -1
@@ -0,0 +1,195 @@
1
+ /**
2
+ * Agentic QE v3 - Performance Profiler
3
+ * Performance profiling utilities with section timing and memory tracking
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
+ /**
11
+ * Active profiling section
12
+ */
13
+ export interface ProfileSection {
14
+ /** Section name */
15
+ readonly name: string;
16
+ /** High-resolution start time */
17
+ readonly startTime: bigint;
18
+ /** Start memory in bytes */
19
+ readonly startMemory: number;
20
+ /** Unique section instance ID */
21
+ readonly id: string;
22
+ }
23
+ /**
24
+ * Completed section timing
25
+ */
26
+ export interface SectionTiming {
27
+ /** Section name */
28
+ readonly name: string;
29
+ /** Duration in milliseconds */
30
+ readonly duration: number;
31
+ /** Memory delta in bytes */
32
+ readonly memoryDelta: number;
33
+ /** Timestamp when completed */
34
+ readonly timestamp: number;
35
+ }
36
+ /**
37
+ * Section statistics
38
+ */
39
+ export interface SectionStats {
40
+ /** Section name */
41
+ readonly name: string;
42
+ /** Number of times this section was profiled */
43
+ readonly count: number;
44
+ /** Total time in milliseconds */
45
+ readonly totalTime: number;
46
+ /** Average time in milliseconds */
47
+ readonly avgTime: number;
48
+ /** Minimum time in milliseconds */
49
+ readonly minTime: number;
50
+ /** Maximum time in milliseconds */
51
+ readonly maxTime: number;
52
+ /** P50 (median) in milliseconds */
53
+ readonly p50: number;
54
+ /** P95 in milliseconds */
55
+ readonly p95: number;
56
+ /** P99 in milliseconds */
57
+ readonly p99: number;
58
+ /** Total memory allocated in bytes */
59
+ readonly totalMemory: number;
60
+ /** Average memory per call in bytes */
61
+ readonly avgMemory: number;
62
+ }
63
+ /**
64
+ * Complete profiling results
65
+ */
66
+ export interface ProfileResults {
67
+ /** Per-section statistics */
68
+ readonly sections: SectionStats[];
69
+ /** Total profiling duration in milliseconds */
70
+ readonly totalDuration: number;
71
+ /** Peak memory usage in bytes */
72
+ readonly peakMemory: number;
73
+ /** Average memory usage in bytes */
74
+ readonly avgMemory: number;
75
+ /** Number of sections profiled */
76
+ readonly sectionCount: number;
77
+ /** Enabled status */
78
+ readonly enabled: boolean;
79
+ /** Start timestamp */
80
+ readonly startedAt: number;
81
+ /** End timestamp */
82
+ readonly endedAt: number;
83
+ }
84
+ /**
85
+ * Profiler configuration
86
+ */
87
+ export interface ProfilerConfig {
88
+ /** Maximum timings to store per section */
89
+ readonly maxTimingsPerSection: number;
90
+ /** Maximum memory samples to store */
91
+ readonly maxMemorySamples: number;
92
+ /** Enable memory tracking (may impact performance) */
93
+ readonly trackMemory: boolean;
94
+ /** Initial enabled state */
95
+ readonly enabled: boolean;
96
+ /** Memory sample interval in ms (0 = disabled) */
97
+ readonly memorySampleInterval: number;
98
+ }
99
+ /**
100
+ * PerformanceProfiler - High-precision performance profiling
101
+ *
102
+ * Features:
103
+ * - Nanosecond-precision timing via process.hrtime.bigint()
104
+ * - Memory tracking per section
105
+ * - Percentile calculations (P50, P95, P99)
106
+ * - Async operation measurement
107
+ * - Section nesting support
108
+ * - Enable/disable for production
109
+ */
110
+ export declare class PerformanceProfiler {
111
+ private readonly config;
112
+ private enabled;
113
+ private readonly activeSections;
114
+ private readonly sectionTimings;
115
+ private sectionCounter;
116
+ private readonly memorySamples;
117
+ private peakMemory;
118
+ private memorySum;
119
+ private memorySampleCount;
120
+ private memorySamplerTimer;
121
+ private startedAt;
122
+ private endedAt;
123
+ constructor(config?: Partial<ProfilerConfig>);
124
+ /**
125
+ * Enable the profiler
126
+ */
127
+ enable(): void;
128
+ /**
129
+ * Disable the profiler
130
+ */
131
+ disable(): void;
132
+ /**
133
+ * Check if profiler is enabled
134
+ */
135
+ isEnabled(): boolean;
136
+ /**
137
+ * Start profiling a section
138
+ */
139
+ startSection(name: string): ProfileSection;
140
+ /**
141
+ * End profiling a section
142
+ */
143
+ endSection(section: ProfileSection): SectionTiming;
144
+ /**
145
+ * Measure an async operation
146
+ */
147
+ measure<T>(name: string, fn: () => Promise<T>): Promise<T>;
148
+ /**
149
+ * Measure a sync operation
150
+ */
151
+ measureSync<T>(name: string, fn: () => T): T;
152
+ /**
153
+ * Wrap a function to measure its execution
154
+ */
155
+ wrap<T extends (...args: unknown[]) => unknown>(name: string, fn: T): T;
156
+ /**
157
+ * Get profiling results
158
+ */
159
+ getResults(): ProfileResults;
160
+ /**
161
+ * Get results for a specific section
162
+ */
163
+ getSectionResults(name: string): SectionStats | null;
164
+ /**
165
+ * Get raw timings for a section
166
+ */
167
+ getRawTimings(name: string): SectionTiming[];
168
+ /**
169
+ * Reset all profiling data
170
+ */
171
+ reset(): void;
172
+ /**
173
+ * Stop profiler and cleanup
174
+ */
175
+ destroy(): void;
176
+ private recordTiming;
177
+ private getCurrentMemory;
178
+ private startMemorySampling;
179
+ private stopMemorySampling;
180
+ private calculatePercentile;
181
+ private calculateAverage;
182
+ }
183
+ /**
184
+ * Create a new PerformanceProfiler instance
185
+ */
186
+ export declare function createProfiler(config?: Partial<ProfilerConfig>): PerformanceProfiler;
187
+ /**
188
+ * Get the global profiler instance
189
+ */
190
+ export declare function getGlobalProfiler(): PerformanceProfiler;
191
+ /**
192
+ * Reset the global profiler instance
193
+ */
194
+ export declare function resetGlobalProfiler(): void;
195
+ //# sourceMappingURL=profiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profiler.d.ts","sourceRoot":"","sources":["../../src/performance/profiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,369 @@
1
+ /**
2
+ * Agentic QE v3 - Performance Profiler
3
+ * Performance profiling utilities with section timing and memory tracking
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 { CircularBuffer } from '../shared/utils/index.js';
11
+ // ============================================================================
12
+ // Default Configuration
13
+ // ============================================================================
14
+ const DEFAULT_CONFIG = {
15
+ maxTimingsPerSection: 10000,
16
+ maxMemorySamples: 1000,
17
+ trackMemory: true,
18
+ enabled: true,
19
+ memorySampleInterval: 100,
20
+ };
21
+ // ============================================================================
22
+ // Performance Profiler Implementation
23
+ // ============================================================================
24
+ /**
25
+ * PerformanceProfiler - High-precision performance profiling
26
+ *
27
+ * Features:
28
+ * - Nanosecond-precision timing via process.hrtime.bigint()
29
+ * - Memory tracking per section
30
+ * - Percentile calculations (P50, P95, P99)
31
+ * - Async operation measurement
32
+ * - Section nesting support
33
+ * - Enable/disable for production
34
+ */
35
+ export class PerformanceProfiler {
36
+ config;
37
+ enabled;
38
+ // Section tracking
39
+ activeSections = new Map();
40
+ sectionTimings = new Map();
41
+ sectionCounter = 0;
42
+ // Memory tracking
43
+ memorySamples;
44
+ peakMemory = 0;
45
+ memorySum = 0;
46
+ memorySampleCount = 0;
47
+ memorySamplerTimer = null;
48
+ // Timing
49
+ startedAt = 0;
50
+ endedAt = 0;
51
+ constructor(config = {}) {
52
+ this.config = { ...DEFAULT_CONFIG, ...config };
53
+ this.enabled = this.config.enabled;
54
+ this.memorySamples = new CircularBuffer(this.config.maxMemorySamples);
55
+ }
56
+ // ============================================================================
57
+ // Enable/Disable
58
+ // ============================================================================
59
+ /**
60
+ * Enable the profiler
61
+ */
62
+ enable() {
63
+ this.enabled = true;
64
+ this.startedAt = Date.now();
65
+ if (this.config.trackMemory && this.config.memorySampleInterval > 0) {
66
+ this.startMemorySampling();
67
+ }
68
+ }
69
+ /**
70
+ * Disable the profiler
71
+ */
72
+ disable() {
73
+ this.enabled = false;
74
+ this.endedAt = Date.now();
75
+ this.stopMemorySampling();
76
+ }
77
+ /**
78
+ * Check if profiler is enabled
79
+ */
80
+ isEnabled() {
81
+ return this.enabled;
82
+ }
83
+ // ============================================================================
84
+ // Section Profiling
85
+ // ============================================================================
86
+ /**
87
+ * Start profiling a section
88
+ */
89
+ startSection(name) {
90
+ const section = {
91
+ name,
92
+ startTime: process.hrtime.bigint(),
93
+ startMemory: this.config.trackMemory ? this.getCurrentMemory() : 0,
94
+ id: `${name}_${++this.sectionCounter}`,
95
+ };
96
+ if (this.enabled) {
97
+ this.activeSections.set(section.id, section);
98
+ }
99
+ return section;
100
+ }
101
+ /**
102
+ * End profiling a section
103
+ */
104
+ endSection(section) {
105
+ const endTime = process.hrtime.bigint();
106
+ const endMemory = this.config.trackMemory ? this.getCurrentMemory() : 0;
107
+ // Calculate duration in milliseconds
108
+ const durationNs = Number(endTime - section.startTime);
109
+ const duration = durationNs / 1_000_000; // Convert to ms
110
+ const timing = {
111
+ name: section.name,
112
+ duration,
113
+ memoryDelta: endMemory - section.startMemory,
114
+ timestamp: Date.now(),
115
+ };
116
+ if (this.enabled) {
117
+ this.activeSections.delete(section.id);
118
+ this.recordTiming(timing);
119
+ }
120
+ return timing;
121
+ }
122
+ // ============================================================================
123
+ // Measurement Methods
124
+ // ============================================================================
125
+ /**
126
+ * Measure an async operation
127
+ */
128
+ async measure(name, fn) {
129
+ if (!this.enabled) {
130
+ return fn();
131
+ }
132
+ const section = this.startSection(name);
133
+ try {
134
+ const result = await fn();
135
+ this.endSection(section);
136
+ return result;
137
+ }
138
+ catch (error) {
139
+ this.endSection(section);
140
+ throw error;
141
+ }
142
+ }
143
+ /**
144
+ * Measure a sync operation
145
+ */
146
+ measureSync(name, fn) {
147
+ if (!this.enabled) {
148
+ return fn();
149
+ }
150
+ const section = this.startSection(name);
151
+ try {
152
+ const result = fn();
153
+ this.endSection(section);
154
+ return result;
155
+ }
156
+ catch (error) {
157
+ this.endSection(section);
158
+ throw error;
159
+ }
160
+ }
161
+ /**
162
+ * Wrap a function to measure its execution
163
+ */
164
+ wrap(name, fn) {
165
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
166
+ const profiler = this;
167
+ const wrapped = function (...args) {
168
+ const section = profiler.startSection(name);
169
+ try {
170
+ const result = fn.apply(this, args);
171
+ if (result instanceof Promise) {
172
+ return result.finally(() => profiler.endSection(section));
173
+ }
174
+ profiler.endSection(section);
175
+ return result;
176
+ }
177
+ catch (error) {
178
+ profiler.endSection(section);
179
+ throw error;
180
+ }
181
+ };
182
+ return wrapped;
183
+ }
184
+ // ============================================================================
185
+ // Results
186
+ // ============================================================================
187
+ /**
188
+ * Get profiling results
189
+ */
190
+ getResults() {
191
+ const sections = [];
192
+ for (const [name, buffer] of this.sectionTimings.entries()) {
193
+ const timings = buffer.toArray();
194
+ if (timings.length === 0)
195
+ continue;
196
+ const durations = timings.map((t) => t.duration);
197
+ const memories = timings.map((t) => t.memoryDelta);
198
+ sections.push({
199
+ name,
200
+ count: timings.length,
201
+ totalTime: durations.reduce((a, b) => a + b, 0),
202
+ avgTime: this.calculateAverage(durations),
203
+ minTime: Math.min(...durations),
204
+ maxTime: Math.max(...durations),
205
+ p50: this.calculatePercentile(durations, 0.5),
206
+ p95: this.calculatePercentile(durations, 0.95),
207
+ p99: this.calculatePercentile(durations, 0.99),
208
+ totalMemory: memories.reduce((a, b) => a + b, 0),
209
+ avgMemory: this.calculateAverage(memories),
210
+ });
211
+ }
212
+ // Sort by total time descending
213
+ sections.sort((a, b) => b.totalTime - a.totalTime);
214
+ return {
215
+ sections,
216
+ totalDuration: this.endedAt > 0
217
+ ? this.endedAt - this.startedAt
218
+ : Date.now() - this.startedAt,
219
+ peakMemory: this.peakMemory,
220
+ avgMemory: this.memorySampleCount > 0
221
+ ? this.memorySum / this.memorySampleCount
222
+ : 0,
223
+ sectionCount: this.sectionTimings.size,
224
+ enabled: this.enabled,
225
+ startedAt: this.startedAt,
226
+ endedAt: this.endedAt || Date.now(),
227
+ };
228
+ }
229
+ /**
230
+ * Get results for a specific section
231
+ */
232
+ getSectionResults(name) {
233
+ const buffer = this.sectionTimings.get(name);
234
+ if (!buffer)
235
+ return null;
236
+ const timings = buffer.toArray();
237
+ if (timings.length === 0)
238
+ return null;
239
+ const durations = timings.map((t) => t.duration);
240
+ const memories = timings.map((t) => t.memoryDelta);
241
+ return {
242
+ name,
243
+ count: timings.length,
244
+ totalTime: durations.reduce((a, b) => a + b, 0),
245
+ avgTime: this.calculateAverage(durations),
246
+ minTime: Math.min(...durations),
247
+ maxTime: Math.max(...durations),
248
+ p50: this.calculatePercentile(durations, 0.5),
249
+ p95: this.calculatePercentile(durations, 0.95),
250
+ p99: this.calculatePercentile(durations, 0.99),
251
+ totalMemory: memories.reduce((a, b) => a + b, 0),
252
+ avgMemory: this.calculateAverage(memories),
253
+ };
254
+ }
255
+ /**
256
+ * Get raw timings for a section
257
+ */
258
+ getRawTimings(name) {
259
+ const buffer = this.sectionTimings.get(name);
260
+ return buffer ? buffer.toArray() : [];
261
+ }
262
+ // ============================================================================
263
+ // Reset
264
+ // ============================================================================
265
+ /**
266
+ * Reset all profiling data
267
+ */
268
+ reset() {
269
+ this.activeSections.clear();
270
+ this.sectionTimings.clear();
271
+ this.memorySamples.clear();
272
+ this.peakMemory = 0;
273
+ this.memorySum = 0;
274
+ this.memorySampleCount = 0;
275
+ this.sectionCounter = 0;
276
+ this.startedAt = Date.now();
277
+ this.endedAt = 0;
278
+ }
279
+ /**
280
+ * Stop profiler and cleanup
281
+ */
282
+ destroy() {
283
+ this.disable();
284
+ this.reset();
285
+ }
286
+ // ============================================================================
287
+ // Private Methods
288
+ // ============================================================================
289
+ recordTiming(timing) {
290
+ let buffer = this.sectionTimings.get(timing.name);
291
+ if (!buffer) {
292
+ buffer = new CircularBuffer(this.config.maxTimingsPerSection);
293
+ this.sectionTimings.set(timing.name, buffer);
294
+ }
295
+ buffer.push(timing);
296
+ }
297
+ getCurrentMemory() {
298
+ const memUsage = process.memoryUsage();
299
+ const heapUsed = memUsage.heapUsed;
300
+ // Track peak
301
+ if (heapUsed > this.peakMemory) {
302
+ this.peakMemory = heapUsed;
303
+ }
304
+ // Track average
305
+ this.memorySum += heapUsed;
306
+ this.memorySampleCount++;
307
+ return heapUsed;
308
+ }
309
+ startMemorySampling() {
310
+ if (this.memorySamplerTimer)
311
+ return;
312
+ this.memorySamplerTimer = setInterval(() => {
313
+ if (!this.enabled)
314
+ return;
315
+ const memory = this.getCurrentMemory();
316
+ this.memorySamples.push(memory);
317
+ }, this.config.memorySampleInterval);
318
+ }
319
+ stopMemorySampling() {
320
+ if (this.memorySamplerTimer) {
321
+ clearInterval(this.memorySamplerTimer);
322
+ this.memorySamplerTimer = null;
323
+ }
324
+ }
325
+ calculatePercentile(values, percentile) {
326
+ if (values.length === 0)
327
+ return 0;
328
+ const sorted = [...values].sort((a, b) => a - b);
329
+ const index = Math.ceil(sorted.length * percentile) - 1;
330
+ return sorted[Math.max(0, index)];
331
+ }
332
+ calculateAverage(values) {
333
+ if (values.length === 0)
334
+ return 0;
335
+ return values.reduce((a, b) => a + b, 0) / values.length;
336
+ }
337
+ }
338
+ // ============================================================================
339
+ // Factory Function
340
+ // ============================================================================
341
+ /**
342
+ * Create a new PerformanceProfiler instance
343
+ */
344
+ export function createProfiler(config) {
345
+ return new PerformanceProfiler(config);
346
+ }
347
+ // ============================================================================
348
+ // Singleton Instance
349
+ // ============================================================================
350
+ let globalProfiler = null;
351
+ /**
352
+ * Get the global profiler instance
353
+ */
354
+ export function getGlobalProfiler() {
355
+ if (!globalProfiler) {
356
+ globalProfiler = createProfiler();
357
+ }
358
+ return globalProfiler;
359
+ }
360
+ /**
361
+ * Reset the global profiler instance
362
+ */
363
+ export function resetGlobalProfiler() {
364
+ if (globalProfiler) {
365
+ globalProfiler.destroy();
366
+ }
367
+ globalProfiler = null;
368
+ }
369
+ //# sourceMappingURL=profiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profiler.js","sourceRoot":"","sources":["../../src/performance/profiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env npx tsx
2
+ /**
3
+ * Agentic QE v3 - Performance Gate Runner
4
+ *
5
+ * CI script to run performance benchmarks and validate against targets.
6
+ * Returns exit codes:
7
+ * - 0: All gates passed
8
+ * - 1: One or more gates failed
9
+ * - 2: Warnings (gates passed but approaching limits)
10
+ *
11
+ * Usage:
12
+ * npm run performance:gate
13
+ * npx tsx src/performance/run-gates.ts
14
+ *
15
+ * Environment Variables:
16
+ * PERF_OUTPUT_FORMAT: 'text' | 'markdown' | 'json' (default: 'markdown')
17
+ * PERF_ITERATIONS: Number of benchmark iterations (default: 1000)
18
+ * PERF_WARMUP: Number of warmup iterations (default: 100)
19
+ *
20
+ * @module performance/run-gates
21
+ */
22
+ export {};
23
+ //# sourceMappingURL=run-gates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-gates.d.ts","sourceRoot":"","sources":["../../src/performance/run-gates.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;GAmBG"}